/* Prompt-first workspace. Shared base styles remain local and framework-free. */
.editor-layout{grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:26px}
.editor-form{min-width:0;padding:28px}.preview-panel{min-width:0}.steps{gap:26px}.steps button{font-size:13px}
.prompt-block{border:1px solid var(--line);border-radius:13px;padding:18px;margin:20px 0;background:#fff}
.prompt-block:focus-within{border-color:#8aa0ba;box-shadow:0 0 0 3px #436b9710}
.prompt-block textarea{font-size:13px;line-height:1.7;tab-size:2;resize:vertical}.prompt-block label{font-size:12px}
.mini-number{display:inline-grid;place-items:center;border-radius:7px;background:#eaf0f7;color:#335882;width:26px;height:26px;margin-right:6px;font-size:12px}
.prompt-block h3{font-size:14px}.prompt-block .section-heading{margin-top:0}.prompt-block .button-row{flex-wrap:wrap;gap:8px;margin:10px 0 0}
.prompt-block .text-button{font-size:12px}.prompt-block small{font-size:11px;overflow-wrap:anywhere}
#customer-content{font-size:14px;line-height:1.75;min-height:180px}#customer-notes{font-size:13px;line-height:1.6}
.prompt-inspect{margin:12px 0;padding:12px 15px;border:1px solid #e1e7ef;border-radius:10px;background:#fafbfd}
summary{cursor:pointer;font-size:13px;line-height:1.6;font-weight:600}
pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:420px;overflow:auto;padding:14px;background:#f4f7fa;border-radius:8px;color:#34465e}
#final-prompt,#revision-prompt{font-size:12px;line-height:1.6;background:white}#review-result{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
#review-status{font-size:12px;color:var(--muted);margin-top:10px}.reference-row{grid-template-columns:64px minmax(0,1fr) 28px;align-items:start;border-bottom:1px solid #edf1f5;padding:10px 0;margin:0}
.reference-row img{width:64px;height:64px}.reference-row small{font-size:11px;display:block;overflow-wrap:anywhere;margin-bottom:5px}.reference-row .check{font-size:11px;margin:7px 0 0;gap:6px}.reference-row input[type=checkbox]{width:14px;height:14px;flex-shrink:0}.reference-row input[data-note]{padding:9px;font-size:12px!important}
#references,#revision-references{max-height:500px;overflow:auto}.draft-actions{margin:0;flex-wrap:wrap;justify-content:end;gap:7px}.draft-actions button{white-space:nowrap;font-size:12px}
#preset-dialog{max-width:780px}#preset-save-dialog{max-width:500px}.preset-card{border:1px solid var(--line);border-radius:12px;padding:17px;margin:12px 0}.preset-card h3{font-size:15px;overflow-wrap:anywhere}.preset-card p{font-size:12px;line-height:1.6;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.preset-card .button-row{margin-bottom:0;flex-wrap:wrap}.preset-card .tag{white-space:normal;text-align:right;font-size:10px}
#revision-dialog{max-width:1050px}.revision-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:25px}.revision-layout>div{min-width:0}.revision-source{border:1px solid var(--line);border-radius:12px;overflow:hidden;aspect-ratio:1;position:sticky;top:0}.revision-source img{width:100%;height:100%;object-fit:contain}.revision-layout textarea{font-size:13px;line-height:1.7}#revision-submit{margin-top:16px}#revision-preview-wrap{margin-top:14px}
#result-prompt-wrap{margin:15px 0}.variant-grid:has(.variant-card:only-child){grid-template-columns:minmax(0,640px);justify-content:center}.variant-details button[data-reuse-variant]{margin-top:12px;padding:10px 14px;border:1px solid #9caec7;background:#f0f5fb;border-radius:8px;color:#244a7b;font-size:12px;width:100%}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #83a7d4;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}.notice{line-height:1.65}#replacement-status.error{color:#a34040}
@media(min-width:1650px){.editor-layout{grid-template-columns:minmax(580px,720px) minmax(380px,1fr)}}
@media(max-width:1100px){.editor-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:18px}.editor-form{padding:20px}.prompt-block{padding:14px}.steps{gap:15px}.draft-actions{max-width:220px}}
@media(max-width:800px){.editor-layout{grid-template-columns:1fr}.preview-panel{grid-row:auto;position:static}.intro{flex-wrap:wrap}.draft-actions{max-width:none}.revision-layout{grid-template-columns:1fr}.revision-source{max-height:300px;aspect-ratio:auto;position:static}.revision-source img{height:280px}.steps button{font-size:11px}.prompt-block .section-heading{flex-wrap:wrap}.editor-form{padding:17px}}
@media(max-width:480px){.two-col,.three-col{grid-template-columns:1fr}.sketch-grid{grid-template-columns:repeat(2,1fr)}.preset-card .section-heading{flex-wrap:wrap}.sidebar{width:58px;padding-left:3px;padding-right:3px}main{margin-left:58px;padding:0 10px}nav button{padding:12px 6px}.sidebar .brand{padding-left:5px}.draft-actions{justify-content:start}.steps{gap:13px}.editor-form{padding:14px}.prompt-block{padding:12px}.preview-panel{padding:12px}.reference-row{grid-template-columns:48px minmax(0,1fr) 22px;gap:7px}.reference-row img{width:48px;height:48px}dialog{padding:18px}}
.team-panel{max-width:1100px}.table-scroll{overflow:auto;margin:15px 0}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th,td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f3f6fa;font-weight:600;color:#54657d;white-space:nowrap}td:not(:first-child){text-align:center}td small{display:block;font-size:10px;color:var(--muted);margin-top:5px}#permissions-dialog{max-width:740px}#permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:20px 0}.permission-group{border:1px solid var(--line);border-radius:12px;padding:12px 16px}.permission-group legend{font-size:13px;font-weight:700;padding:0 5px}.permission-group .check{font-size:12px;margin:10px 0}.permission-group input{flex-shrink:0}.top-right{flex-wrap:wrap;justify-content:end;max-width:460px}.list-row{flex-wrap:wrap}@media(max-width:560px){#permissions-grid{grid-template-columns:1fr}.top-right{max-width:180px}}
@media(max-width:560px){.topbar{flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:16px 0;min-height:0}.topbar h1{font-size:20px}.top-right{max-width:none;justify-content:flex-start;font-size:10px}.topbar .eyebrow{font-size:8px}.intro h2{font-size:19px}}

/* History selection stays independent from image generation and file storage. */
.history-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff;margin:0 0 18px}
.history-actions .check{margin:0;font-size:12px}.history-actions .button-row{margin:0 0 0 auto;flex-wrap:wrap}.history-actions>p{flex-basis:100%;margin:0}.history-actions .micro{margin-top:0}
.job-select{width:18px;height:18px;flex:0 0 18px;padding:0;margin:0;accent-color:#284d83;cursor:pointer}.job-select:disabled{opacity:.4;cursor:not-allowed}.job-row.history-selected{border-color:#7095c6;background:#f5f8fd}.danger-text{color:#a9363d}.danger-button{background:#a9363d}.danger-button:hover{background:#8d2830}#history-confirm-dialog{max-width:620px}#history-confirm-dialog h2{font-size:20px}#history-confirm-summary{font-weight:700}#history-confirm-dialog .button-row{justify-content:flex-end;flex-wrap:wrap}#history-confirm-scope{line-height:1.6}
@media(max-width:650px){.history-actions{padding:13px;gap:10px}.history-actions .button-row{margin:0;width:100%}.history-actions .button-row button{font-size:11px}.job-info{min-width:0}.job-info b{overflow-wrap:anywhere}.job-row{gap:10px}.job-row .job-icon{width:32px;height:32px;flex-shrink:0}}
.wedding-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}.wedding-style{border:1px solid var(--line);border-radius:12px;background:#fff;padding:13px;text-align:left;display:flex;flex-direction:column;align-items:stretch;min-width:0;color:#244d84}.wedding-style:hover{border-color:#7e9ec8;background:#f7faff}.wedding-style.active{border-color:#355d90;background:#eff5fd;box-shadow:0 0 0 1px #355d90}.wedding-style svg{width:100%;height:64px}.wedding-style b{font-size:12px;color:var(--text);line-height:1.5;margin:4px 0}.wedding-style span{font-size:11px;font-weight:400;color:var(--muted);line-height:1.6}.wedding-style small{font-size:9px;font-weight:400;margin-top:6px;color:#637c99}@media(max-width:420px){.wedding-style-grid{grid-template-columns:1fr}}
/* Named policies add to the existing individual permissions editor. */
#access-group-dialog{width:min(1000px,96vw)}#access-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.access-action{padding:10px 0;border-bottom:1px solid #e7ecf4}.access-scope{padding-left:28px}.access-scope details{max-height:240px;overflow:auto;background:#f5f7fb;border-radius:10px;padding:10px}.access-scope .check{margin:8px 0}.access-scope select{max-width:100%}#access-group-list{margin-bottom:24px}#style-variant-plan{line-height:1.8}.variant-details pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}@media(max-width:680px){#access-policy-grid{grid-template-columns:1fr}.access-scope{padding-left:8px}}

#access-group-dialog{width:1000px;max-width:96vw}#access-policy-grid{display:block}.access-resource{margin:12px 0!important}.access-resource>summary{font-weight:700;cursor:pointer;padding:8px 0}.access-resource>summary small{float:right;color:var(--muted);font-size:12px;font-weight:400}.access-action{display:grid;grid-template-columns:minmax(200px,.85fr) minmax(0,1.4fr);gap:18px;align-items:start}.access-action>label{line-height:1.7}.access-scope{padding-left:0}.access-scope select{width:100%}.access-scope details{margin:8px 0}.access-resource .check{margin:10px 0}@media(max-width:680px){.access-action{grid-template-columns:1fr;gap:0}.access-resource>summary small{float:none;display:block;padding-left:20px}}
/* Shared folder controls: selections stay local to the visible page. */
.bulk-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;margin:8px 0;border-bottom:1px solid var(--line,#e6e2dc)}
.bulk-toolbar .check{margin:0}.bulk-toolbar>span{color:#666;font-size:13px}.danger-text{color:#a52b35!important}
.item-select{display:flex;gap:7px;align-items:center;font-size:12px;padding:8px 12px;margin:0;background:#f8f7f4}
.item-select input,.folder-row>input{width:17px;height:17px;flex-shrink:0}
.folder-row{display:flex;align-items:center;gap:14px;padding:16px 6px;border-bottom:1px solid #e7e3dc}.folder-row .grow{min-width:0;flex:1}.folder-row b{display:block;overflow-wrap:anywhere}.folder-row small{display:block;margin-top:6px;color:#6a6c70}.folder-row .item-select{background:transparent;flex-shrink:0}
.recolor-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.recolor-layout canvas{display:block;width:100%;height:auto;cursor:crosshair}.recolor-layout>.checker{align-self:start;overflow:hidden;border-radius:12px}
#library-prompt-editor,#recolor-dialog{width:min(950px,94vw)}#draft-read-content{white-space:pre-wrap;max-height:65vh;overflow:auto}
@media(max-width:700px){.recolor-layout{grid-template-columns:1fr}.folder-row{flex-wrap:wrap}.bulk-toolbar{gap:8px}.folder-row .grow{flex-basis:60%}}
.personal-style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin:14px 0}.personal-style-option{padding:10px;text-align:left;border:1px solid #dedbd5;border-radius:12px;background:#fff;color:inherit}.personal-style-option img,.personal-style-card>img{width:100%;aspect-ratio:1;object-fit:contain;background:white;border-radius:8px}.personal-style-option b,.personal-style-option small{display:block;margin-top:6px}.personal-style-option.active{border:2px solid #245447;background:#eef5f1}.personal-style-card{border:1px solid #e1ddd7;border-radius:12px;overflow:hidden}.personal-style-card .info{padding:12px}.personal-style-card small{display:block;color:#666;margin-top:6px}.personal-style-card p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.style-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.style-image-list figure{margin:0}.style-image-list img{width:100%;aspect-ratio:1;object-fit:contain;background:white}.style-image-list figcaption{display:flex;justify-content:space-between;align-items:center;font-size:12px}.style-tags{display:flex;gap:20px;flex-wrap:wrap;border:1px solid #e2ded7;border-radius:10px;margin:16px 0;padding:12px}#style-editor{width:min(880px,94vw)}#built-in-styles{border:1px solid #e3e0d9;border-radius:12px;padding:14px;margin:16px 0}#built-in-styles>summary{cursor:pointer;font-weight:600}

#view-styles>.panel,#view-drafts>.panel,#view-trash>.panel{padding:24px}.personal-style-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media(max-width:700px){#view-styles>.panel,#view-drafts>.panel,#view-trash>.panel{padding:16px}.personal-style-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
/* 0.3.3: image records replace the old thumbnail-only style list. */
#style-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
#style-image-list .style-file{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:12px;min-width:0}
#style-image-list img{width:72px;height:72px;aspect-ratio:auto;object-fit:contain}
#style-image-list figcaption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;overflow-wrap:anywhere;gap:5px}
#style-image-list .style-file button{grid-column:1/-1;text-align:left;width:100%;padding:8px}
#style-image-list .style-file>.tag,#style-image-list .style-file>small{grid-column:1/-1}
@media(max-width:600px){#style-image-list{grid-template-columns:1fr}}

.result-bg{flex-wrap:wrap}.result-bg button[aria-pressed="true"]{background:#284d83;color:#fff;border-color:#284d83}
#result-mockup-panel .section-heading{align-items:end;gap:16px;flex-wrap:wrap}.result-mockup-card .variant-details{min-width:0}.result-mockup-card h3{overflow-wrap:anywhere}.result-mockup-card .empty{min-height:210px}.result-mockup-card .empty small{display:block}
.mockup-zoom-image{padding:0;border:0;border-radius:12px 12px 0 0;background:#f3f5f7;width:100%;aspect-ratio:1;display:block;cursor:zoom-in;overflow:hidden}.mockup-zoom-image img{width:100%;height:100%;object-fit:contain;display:block}
#mockup-result-photo{cursor:zoom-in}#image-viewer-dialog{width:96vw;max-width:1500px;max-height:96vh;padding:20px}#image-viewer-title{font-size:18px;overflow-wrap:anywhere}#image-viewer-stage{height:66vh;overflow:auto;background:#e9edf2;border-radius:10px}#image-viewer-photo{display:block;max-width:none;height:auto;margin:0 auto;cursor:zoom-in}#image-viewer-dialog .button-row{align-items:center;flex-wrap:wrap}#image-viewer-scale{min-width:50px;text-align:center}
@media(max-width:560px){#image-viewer-dialog{padding:12px}#image-viewer-stage{height:60vh}.result-bg button{padding:10px 12px}}

/* Keep the title and close button out of every dialog's scrolling region. */
dialog.dialog-shell{--dialog-gutter:28px;padding:0!important;overflow:hidden;max-height:90dvh}
dialog.dialog-shell[open]{display:flex;flex-direction:column}
dialog.dialog-shell>.dialog-top{flex:0 0 auto;position:relative;top:auto;z-index:3;align-items:flex-start;margin:0;padding:18px var(--dialog-gutter);background:#fff;border-bottom:1px solid var(--line)}
.dialog-shell>.dialog-top>:first-child{min-width:0}.dialog-shell>.dialog-top h2{overflow-wrap:anywhere;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dialog-shell>.dialog-top button[data-close]{flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;line-height:1;padding:0;margin:-4px -8px -4px 0;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc;color:#526277}
.dialog-shell>.dialog-top button[data-close]:hover{background:#edf2f7;color:#172a37}
.dialog-shell>.dialog-body{flex:1 1 auto;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:20px var(--dialog-gutter) var(--dialog-gutter);scroll-padding-block:20px}
#image-viewer-dialog.dialog-shell{--dialog-gutter:20px;max-height:96dvh}
@media(max-width:560px){dialog.dialog-shell{--dialog-gutter:16px}.dialog-shell>.dialog-top{padding-block:12px}.dialog-shell>.dialog-top h2{font-size:18px}#image-viewer-dialog.dialog-shell{--dialog-gutter:12px}}

/* Shared navigation stays visible, while long forms and image lists scroll. */
html{scroll-padding-top:calc(var(--workspace-header,76px) + var(--workspace-tools,100px) + 16px)}
main>.topbar{position:sticky;top:0;z-index:12;background:#f7f9fc;min-height:76px;padding-block:12px}
.view-tools{position:sticky;top:var(--workspace-header,76px);z-index:10;background:#fff;border:1px solid var(--line);border-radius:0 0 10px 10px;padding:12px 16px;margin-bottom:20px;box-shadow:0 5px 14px #17233a08}
.view-tools .intro,.view-tools .section-heading{margin:0 0 10px}.view-tools .intro h2,.view-tools .section-heading h2{font-size:17px;margin:0}.view-tools .filterbar,.view-tools .two-col{margin:0 0 8px}.view-tools .bulk-toolbar,.view-tools .history-actions{margin:6px 0 0;padding:8px 0;border:0}.view-tools .steps,.view-tools .settings-tabs{margin:0;border:0}.view-tools .steps button{padding:8px 0}.view-tools label{margin:0}.view-tools input,.view-tools select{margin:0}.view-tools .button-row{margin:0;gap:6px;flex-wrap:wrap}.view-help:empty{display:none}.view-help p{margin:-8px 0 18px;font-size:12px}
.dialog-tools{flex:0 0 auto;background:#fff;padding:10px var(--dialog-gutter);border-bottom:1px solid var(--line);max-height:32dvh;overflow:auto;overscroll-behavior:contain}
.dialog-tools .button-row,.dialog-tools .bulk-toolbar,.dialog-tools .two-col{margin:6px 0}.dialog-tools .bulk-toolbar{padding:6px 0;border:0}.dialog-tools input,.dialog-tools select{margin:0;min-height:40px;padding:8px 10px}.dialog-tools label{font-size:11px;margin:0}.dialog-tools>input{margin-top:6px}.dialog-tools>.result-bg{margin:0}.dialog-tools .two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#result-mockup-panel>.section-heading{position:sticky;top:-20px;background:white;z-index:2;padding-block:12px;margin-top:-20px}
.preview-panel{top:calc(var(--workspace-header,76px) + var(--workspace-tools,100px) + 16px)}
@media(max-width:680px){main>.topbar{min-height:62px;padding-block:8px}.view-tools{padding:10px;margin-bottom:14px;max-height:38dvh;overflow:auto}.view-tools .intro h2{display:none}.view-tools .intro{display:block}.view-tools .steps{overflow:auto;gap:18px}.view-tools .two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.view-tools .primary,.view-tools .secondary,.dialog-tools .primary,.dialog-tools .secondary{padding:9px 10px;font-size:11px}.view-tools .history-actions{gap:6px}.view-tools .history-actions .check{font-size:11px}.dialog-tools{padding:8px var(--dialog-gutter)}.dialog-tools .result-bg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.dialog-tools .result-bg button{min-width:0;padding:10px 4px;font-size:11px}.preview-panel{position:static}}
@media(max-width:650px){.job-row{display:grid;grid-template-columns:18px 32px minmax(0,1fr);gap:8px;padding:14px 12px;align-items:start}.job-row>.job-select{grid-column:1;grid-row:1;margin-top:7px}.job-row>.job-icon{grid-column:2;grid-row:1}.job-row>.job-info{grid-column:3;grid-row:1}.job-row>.badge{grid-column:3;justify-self:start}.job-row>.job-actions{grid-column:2/-1;flex-wrap:wrap;gap:8px}.job-row .job-actions>*{max-width:100%;white-space:normal}.job-row .creator-tag{word-break:normal}}
#image-viewer-dialog .dialog-tools button{min-width:40px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}#image-viewer-download{flex:0 0 auto;margin-left:auto}

.resource-lock-badge{display:inline-flex;align-items:center;gap:5px;background:#fff4d8;color:#755016;padding:6px 9px;border-radius:7px;font-size:11px;margin:8px;line-height:1.4}.bulk-toolbar{flex-wrap:wrap}.bulk-toolbar .secondary{font-size:12px;padding:8px 12px}

.resource-lock-icon{display:inline-block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex-shrink:0}

/* Result actions are a dialog flex child, not a sticky descendant of a card. */
#result-dialog>.dialog-footer{flex:0 0 auto;display:flex;align-items:end;gap:16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 18px #17233a0a;padding:12px var(--dialog-gutter) max(12px,env(safe-area-inset-bottom));z-index:4}
#result-dialog>.dialog-footer[hidden]{display:none}
.result-action-select{display:flex;flex:1 1 240px;flex-direction:column;gap:5px;font-size:12px;min-width:0;margin:0}
.result-action-select select{width:100%;min-height:43px;padding:9px 12px;margin:0}
.result-action-buttons{display:flex;flex:0 1 auto;gap:8px;margin:0;flex-wrap:wrap}
.result-action-buttons>*{white-space:nowrap;min-height:43px}
#result-dialog:has(>#result-actionbar:not([hidden])) .variant-inline-actions{display:none}
.variant-action-choice{margin-top:8px;color:var(--accent)}
.variant-action-choice[aria-pressed=true]{font-weight:700}
.result-audit-note{margin-top:8px;font-size:12px}.result-audit-note>summary{color:var(--muted)}
@media(max-width:740px){#result-dialog>.dialog-footer{flex-wrap:wrap;gap:8px;padding-top:8px}.result-action-select{flex-basis:100%}.result-action-buttons{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.result-action-buttons>*{white-space:normal;min-width:0;padding:9px 5px;font-size:11px}}
