:root{--muted:var(--ink-3);--green:var(--iris);--line:var(--hair);--lime:var(--peri-lt);--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.5 var(--ui)}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--peri);outline-offset:3px}a{color:inherit;text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;background:#fff;border-right:1px solid var(--line);padding:32px 22px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:3}.wordmark{font-size:32px;font-weight:650;letter-spacing:-1.8px;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.wordmark span{font-size:34px;font-weight:300;color:var(--peri)}.workspace{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px 9px;margin:32px 0 29px}.workspace img{width:33px;height:33px;object-fit:contain}.workspace strong,.profile strong{display:block;font-size:12px}.workspace small,.profile small{display:block;color:var(--muted);font-size:10px;margin-top:1px}.workspace-chevron{margin-left:auto;color:var(--muted)}nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:12px 15px;color:var(--ink-2);text-align:left;border-radius:9px;font-weight:550}.nav-item>span:first-child{font-size:20px;line-height:20px;width:20px;text-align:center}.nav-item.active{background:var(--peri-soft);color:var(--iris-dk)}.nav-count{font-size:10px!important;margin-left:auto;background:var(--paper-3);padding:2px 6px;border-radius:4px;width:auto!important}.sidebar-note{margin-top:auto;font-size:11px;padding:25px 10px 24px}.sidebar-note p{color:var(--muted);font-size:11px;line-height:1.7;padding-left:14px}.green-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--sage);margin-right:8px}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:20px 8px 0}.avatar{display:grid;place-items:center;background:var(--peri-soft);width:34px;height:34px;font-size:11px;border-radius:50%}.body-shell{margin-left:246px;width:calc(100% - 246px)}.topbar{height:79px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:var(--paper);font-size:12px;color:var(--ink-3)}#breadcrumb span{margin:0 13px;color:var(--ink-3)}.preview-badge{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1px;background:var(--paper-2);border:1px solid var(--hair);border-radius:20px;padding:6px 12px;color:var(--ink-3)}.preview-badge i{width:5px;height:5px;background:var(--peri);border-radius:50%}main{max-width:1600px;margin:auto;padding:38px 42px 50px}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:20px}h1{font-size:30px;font-weight:570;letter-spacing:-1px;line-height:1.2;margin:0 0 10px}h2{font-size:18px;font-weight:600;letter-spacing:-.3px;margin:0 0 7px}h3{font-size:14px;margin:0 0 8px;font-weight:600}p{margin:0}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.dark{background:var(--ink);color:white;border-color:var(--ink)}.btn.small{padding:7px 11px;font-size:11px}.btn.ghost{background:transparent}.intro{display:flex;align-items:center;justify-content:space-between;padding:26px 30px;border:1px solid var(--hair);background:var(--peri-soft);border-radius:12px;margin-bottom:30px;gap:24px}.intro h2{font-size:20px;letter-spacing:-.5px}.intro p{font-size:12px;color:var(--ink-2);margin-top:6px}.intro-mark{font-size:46px;color:var(--peri);margin-right:8px}.intro-copy{flex:1}.summary{display:flex;gap:27px;margin-top:19px;font-size:11px;color:var(--ink-2)}.summary strong{color:var(--iris-dk);margin-right:5px;font-size:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.tabs{display:flex;gap:5px}.tab{border:0;background:transparent;color:var(--muted);font-size:12px;padding:8px 12px;border-radius:6px}.tab.active{background:var(--peri-soft);color:var(--iris-dk);font-weight:600}.search{background:white;border:1px solid var(--line);border-radius:7px;padding:9px 13px;min-width:220px;font-size:12px;color:var(--ink)}.production-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.production-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .18s,border-color .18s}.production-card:hover{transform:translateY(-3px);border-color:var(--peri)}.collage{height:220px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:var(--paper-2);overflow:hidden}.collage img{width:100%;height:100%;object-fit:cover}.collage img:only-child{grid-column:1/-1}.draft-cover{height:220px;background:linear-gradient(130deg,var(--paper-2),var(--peri-soft));display:grid;place-items:center;color:var(--peri);font-size:45px}.card-body{padding:17px 18px}.card-top{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--ink-3);margin-bottom:8px}.pill{display:inline-flex;align-items:center;padding:3px 8px;font-size:10px;border-radius:4px;background:var(--paper-2);color:var(--ink-2)}.pill.approved{background:var(--sage-soft);color:var(--sage-dk)}.pill.draft{background:var(--caramel-soft);color:var(--caramel-dk)}.card-body h3{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px;margin-bottom:16px}.card-bottom{border-top:1px solid var(--hair-soft);padding-top:12px;display:flex;justify-content:space-between;font-size:10px;color:var(--ink-3)}.card-bottom strong{font-weight:500;color:var(--iris-dk)}.catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.product-card{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;text-align:left;position:relative;padding:0;color:var(--ink)}.product-card img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--paper-2);display:block}.product-info{padding:12px}.product-info small{font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-3)}.product-info strong{display:block;font-size:11px;line-height:1.4;margin-top:5px}.placeholder{aspect-ratio:3/4;display:grid;place-items:center;background:var(--paper-2);color:var(--ink-3);font-size:25px}.empty{padding:65px 20px;text-align:center;background:white;border:1px dashed var(--hair-2);border-radius:12px;color:var(--muted)}.empty h2{color:var(--ink);margin-bottom:10px}.empty .btn{margin-top:20px}.create-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}.form-section{background:#fff;border:1px solid var(--line);padding:25px;border-radius:10px;margin-bottom:18px}.step-label{display:flex;gap:10px;align-items:center;margin-bottom:19px}.step-label span{font-size:10px;background:var(--peri-soft);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;color:var(--iris-dk)}.step-label h2{font-size:15px;margin:0}.input{width:100%;border:1px solid var(--line);border-radius:7px;padding:11px 12px;background:#fff;font-size:12px}.field-label{display:block;font-size:11px;font-weight:550;margin:15px 0 7px}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.type-option{border:1px solid var(--line);background:#fff;text-align:left;padding:14px 12px;border-radius:8px;font-size:11px;color:var(--ink-2)}.type-option.selected{border-color:var(--iris);background:var(--peri-soft);color:var(--iris-dk);box-shadow:0 0 0 1px var(--iris)}.type-icon{display:block;font-size:21px;margin-bottom:10px}.picker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:380px;overflow:auto;margin-top:14px;padding:2px}.picker-grid .product-info{padding:8px}.picker-grid .product-info strong{font-size:9px}.picker-grid .product-info small{font-size:8px}.product-card.selected{border-color:var(--iris);box-shadow:0 0 0 2px var(--iris)}.check-dot{position:absolute;top:7px;right:7px;width:19px;height:19px;background:#fff;border:1px solid var(--hair-2);border-radius:50%;font-size:10px;display:grid;place-items:center;color:transparent}.selected .check-dot{background:var(--iris);border-color:var(--iris);color:white}.selection-count{font-size:10px;color:var(--iris)}.upload-zone{position:relative;border:1px dashed var(--hair-2);background:var(--paper);border-radius:8px;padding:25px 15px;text-align:center;color:var(--ink-2);font-size:12px;display:block;cursor:pointer}.upload-zone strong{display:block;color:var(--iris-dk);font-size:12px}.upload-zone small{display:block;font-size:10px;color:var(--ink-3);margin-top:5px}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.reference-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.reference-item{border:1px solid var(--line);border-radius:7px;width:110px;overflow:hidden;position:relative}.reference-item img,.reference-item video{width:110px;height:90px;object-fit:cover;display:block;background:var(--paper-2)}.reference-item small{display:block;padding:5px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-item button{position:absolute;top:4px;right:4px;background:white;border:0;border-radius:50%;width:20px;height:20px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}textarea{resize:vertical;min-height:95px}.cast-picker{display:flex;gap:13px;overflow:auto;padding:4px 2px}.cast-option{background:transparent;border:0;padding:2px;text-align:center;font-size:10px;color:var(--ink-2)}.cast-option img{display:block;width:57px;height:57px;object-fit:cover;object-position:top;border-radius:50%;border:2px solid transparent;margin-bottom:7px}.cast-option.selected img{border-color:var(--iris);box-shadow:0 0 0 2px var(--peri-soft)}.production-summary{position:sticky;top:24px;padding:24px;background:var(--paper-2);border:1px solid var(--hair);border-radius:10px}.production-summary h3{font-size:15px;margin-bottom:21px}.summary-row{display:flex;justify-content:space-between;font-size:11px;padding:10px 0;border-bottom:1px solid var(--hair);color:var(--ink-3)}.summary-row strong{color:var(--iris-dk);font-weight:550}.summary-message{font-size:11px;color:var(--ink-2);line-height:1.7;margin:18px 0}.production-summary .btn{width:100%}.no-cost{font-size:9px;color:var(--ink-3);text-align:center;margin-top:9px}.error-note{font-size:11px;color:var(--brick);background:var(--caramel-soft);border-radius:6px;padding:12px;margin-top:12px}.back{font-size:11px;color:var(--ink-3);background:transparent;border:0;padding:0;margin-bottom:20px}.detail-meta{display:flex;gap:10px;align-items:center;color:var(--ink-3);font-size:11px;margin-bottom:25px;flex-wrap:wrap}.image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.output-card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.output-image{padding:0;border:0;background:var(--paper-2);display:block;width:100%}.output-image img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.output-actions{display:flex;gap:5px;padding:9px;align-items:center}.output-actions .btn{padding:6px 8px;font-size:9px}.output-actions .download{margin-left:auto}.output-label{padding:0 10px 10px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--ink-3)}.info-callout{border:1px solid var(--hair);background:var(--peri-soft);padding:13px 17px;border-radius:7px;margin-bottom:23px;font-size:11px;color:var(--ink-2)}.brief-panel{background:white;border:1px solid var(--line);border-radius:10px;padding:25px;max-width:750px}.brief-panel p{font-size:13px;line-height:1.8;white-space:pre-wrap}.brief-products{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}.brief-products img{height:110px;width:85px;object-fit:cover;border-radius:6px}footer{max-width:1600px;margin:auto;padding:0 42px 22px;color:var(--ink-3);font-size:10px;display:flex;justify-content:space-between}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--dock-bg);color:white;border-radius:8px;padding:12px 20px;font-size:12px;box-shadow:0 8px 20px #0002;display:none;z-index:20}#toast.visible{display:block}dialog{border:0;border-radius:12px;padding:0;max-width:90vw;max-height:92vh;overflow:hidden;background:var(--ink)}dialog::backdrop{background:rgba(21,19,24,.8)}dialog>img{max-width:85vw;max-height:80vh;object-fit:contain;display:block;margin:auto}.close-viewer{position:absolute;right:12px;top:12px;background:#fff;border:0;border-radius:50%;height:32px;width:32px;font-size:24px}.viewer-bar{display:flex;gap:10px;padding:14px;justify-content:center}.result-total{font-size:11px;color:var(--ink-3);margin-top:15px}.model-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.model-grid img{aspect-ratio:3/4;object-position:top}@media(min-width:1600px){.collage,.draft-cover{height:280px}.production-grid{gap:26px}.catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.create-layout{grid-template-columns:minmax(0,1fr) 310px}.picker-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:440px}}@media(max-width:1100px){.sidebar{width:205px;padding-left:14px;padding-right:14px}.body-shell{margin-left:205px;width:calc(100% - 205px)}main{padding:28px}.topbar{padding:0 28px}.production-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.create-layout{grid-template-columns:minmax(0,1fr) 230px;gap:15px}.form-section{padding:18px}.type-grid{grid-template-columns:repeat(2,1fr)}.image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.model-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:740px){.sidebar{position:static;width:auto;padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}.app-shell{display:block}.wordmark{font-size:24px;max-width:150px;padding:0}.wordmark span{font-size:28px}.workspace,.sidebar-note,.profile{display:none}nav{display:flex;margin-top:12px;gap:4px;overflow:auto}.nav-item{padding:8px;font-size:10px;gap:5px}.nav-item>span:first-child{font-size:15px;width:15px}.nav-count{display:none}.body-shell{margin:0;width:100%}.topbar{height:52px;padding:0 18px;font-size:9px}.preview-badge{padding:4px 6px;font-size:8px}#breadcrumb span{margin:0 5px}main{padding:25px 18px}.page-title{align-items:flex-start;gap:10px}h1{font-size:25px}.page-title p{font-size:11px}.btn{font-size:10px;padding:9px 12px}.intro{padding:20px;gap:12px}.intro-mark{display:none}.intro h2{font-size:17px}.intro p{font-size:11px}.summary{gap:15px;font-size:9px}.summary strong{font-size:12px}.production-grid{gap:12px}.collage,.draft-cover{height:170px}.card-body{padding:12px}.card-body h3{font-size:11px}.card-top,.card-bottom{font-size:8px}.section-head{flex-wrap:wrap}.search{min-width:0;width:100%}.tabs{gap:0}.tab{font-size:10px;padding:7px 10px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.product-info{padding:8px}.product-info strong{font-size:9px}.create-layout{display:block}.production-summary{position:static}.type-grid{grid-template-columns:repeat(2,1fr)}.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.output-actions{padding:7px;flex-wrap:wrap}.output-actions .btn{font-size:8px;padding:5px 6px}.output-label{font-size:8px}.intro .btn{display:none}.model-grid{grid-template-columns:repeat(3,minmax(0,1fr))}footer{padding:0 18px 20px}.detail-meta{font-size:10px}.page-title>.btn{flex-shrink:0}.production-card:hover{transform:none}}

/* Ephoria product identity: same mark, dark shell, iris accents and type as the current OS. */
.sidebar{background:var(--ink);color:var(--paper);border-color:var(--dock-line)}
.wordmark{justify-content:flex-start;gap:10px;letter-spacing:0;color:var(--paper)}
.wordmark img{width:26px;height:24px;filter:brightness(1.25)}
.wordmark span{font-family:var(--disp);font-size:21px;font-weight:400;letter-spacing:-.2px;color:var(--paper)}
.wordmark b{font:500 11px var(--mono);color:var(--peri-lt);background:rgba(131,132,184,.22);padding:2px 6px;border-radius:5px}
.workspace{background:var(--dock-2);border-color:var(--dock-line)}
.workspace img{background:white;border-radius:5px;padding:3px}
.workspace small,.profile small,.workspace-chevron,.sidebar-note p{color:var(--dock-muted)}
.nav-item{color:#C8C5CE}.nav-item:hover{background:var(--dock-2);color:var(--paper)}
.nav-item.active{background:rgba(131,132,184,.22);color:var(--paper)}
.nav-count{background:var(--dock-2);color:var(--dock-muted)}
.sidebar-note{color:var(--dock-text)}.profile{border-color:var(--dock-line)}.avatar{background:var(--dock-2);color:var(--peri-lt)}
h1{font-family:var(--disp);font-weight:400;font-size:32px;letter-spacing:-.5px}
.intro h2{font-family:var(--disp);font-weight:400;font-size:25px}
.intro-mark img{width:44px;height:42px}.draft-cover img{width:48px;height:45px;opacity:.65}
.btn.primary:hover{background:var(--iris-dk);border-color:var(--iris-dk)}
.pill,.product-info small,.summary-row,.preview-badge{font-family:var(--mono)}
@media(max-width:740px){h1{font-size:27px}.intro h2{font-size:21px}.wordmark{max-width:none}.wordmark span{font-size:21px}.wordmark b{font-size:10px}}
/* Plain client navigation and account preferences. */
.sidebar nav{display:flex;flex-direction:column;flex:1;gap:6px}.sidebar .settings-nav{margin-top:auto}.sidebar .profile{width:100%;text-align:left;background:transparent;border-right:0;border-left:0;border-bottom:0;border-radius:0;cursor:pointer}.profile>span:last-child{display:flex;flex-direction:column;gap:4px}.profile small{display:block}.settings-form{max-width:640px}.settings-form .form-section{margin-bottom:20px}.settings-form h2{font:500 21px var(--disp);margin:0 0 22px}#settings-status{margin-left:14px;color:var(--ink-2)}.type-icon{display:none}.step-label>span{display:none}.step-label h2{margin:0}.production-summary h3{font-family:var(--ui)}
@media(max-width:700px){.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:4px}.sidebar .nav-item{justify-content:center;padding:10px 5px;font-size:12px}.sidebar .settings-nav{margin-top:0}.sidebar .profile{display:none}}
.sidebar .profile{color:var(--dock-text)}.production-summary #save-draft{margin-top:8px;width:100%}.production-summary button:disabled{cursor:not-allowed;opacity:.5}

@media(max-width:700px){.sidebar .profile{display:flex;width:auto;margin:8px 0 0;padding:4px 0;border:0}.sidebar .profile .avatar{width:26px;height:26px;font-size:10px}.sidebar .profile strong{font-size:11px}.sidebar .profile small{display:none}}
/* Bounded catalog pages, exact colour selections and outfit controls. */
.catalog-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:20px}.catalog-filters>input{grid-column:1/-1}.catalog-filters label{font-size:10px;color:var(--ink-3)}.catalog-filters select{display:block;margin-top:5px;padding:9px;min-width:0}.product-photo{display:block;width:100%;padding:0;border:0;background:var(--paper-2)}.product-info .color-name{display:block;font-size:12px;font-weight:600;color:var(--iris-dk);margin:8px 0 4px}.product-meta{display:block;font-size:10px;color:var(--ink-3);margin-bottom:10px}.product-info .btn{width:100%}.product-info strong{min-height:31px}.picker-grid{max-height:none;overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr))}.picker-grid .product-info strong{font-size:11px}.picker-grid .product-info small{font-size:9px}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:22px 0 5px;font-size:11px;color:var(--ink-3)}.pagination>span{margin-right:auto}.selected-products{display:grid;gap:8px;margin:16px 0}.selected-product{display:flex;gap:10px;align-items:center;border:1px solid var(--hair);border-radius:7px;padding:8px;background:var(--paper)}.selected-product img{width:44px;height:52px;object-fit:cover;border-radius:4px}.selected-product strong,.selected-product small{display:block;font-size:11px}.selected-product small{color:var(--ink-3);margin-top:3px}.selected-product .btn{margin-left:auto}.review-filter{max-width:160px}.output-label>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-dialog-head{position:sticky;top:0;background:var(--paper);padding:18px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--hair)}#product-viewer{background:var(--paper);color:var(--ink);width:min(900px,92vw);max-height:90vh;overflow:auto}.product-dialog-body{padding:22px}.product-dialog-body>h3{margin:18px 0 8px}.product-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.product-gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:6px}.variant-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.variant-list>div{display:grid;gap:4px;border:1px solid var(--hair);padding:10px;border-radius:6px;overflow-wrap:anywhere}.variant-list small{color:var(--ink-3)}.brief-products small{display:block;font-size:10px;max-width:120px}.catalog-grid .empty,.image-grid .empty{grid-column:1/-1}.catalog-grid[aria-busy=true],.picker-grid[aria-busy=true]{opacity:.6;pointer-events:none}.summary-row{gap:10px}.summary-row strong{text-align:right}.product-card .placeholder{font-size:12px}.output-actions{flex-wrap:wrap}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:1600px){.catalog-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-layout{grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:740px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid,.picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.create-layout{display:block}.product-info strong{font-size:11px}.product-info small{font-size:9px}.product-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.variant-list{grid-template-columns:1fr}.product-dialog-head{padding:15px}.product-dialog-head h2{font-size:15px}.product-dialog-body{padding:15px}.pagination{gap:6px}.selected-product strong{font-size:10px}.selected-product .btn{padding:7px}.two-col{gap:10px}.output-actions .btn{min-height:32px}.profile{max-width:100%}}
.style-colours{display:flex;flex-wrap:wrap;gap:8px}.style-colours .btn{white-space:normal}
.catalog-filters{grid-template-columns:repeat(7,minmax(0,1fr))}.form-section .catalog-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.source-warning{padding:12px;background:var(--caramel-soft);border-radius:7px;margin-top:14px;font-size:12px}.source-warning summary{cursor:pointer;font-weight:600}.source-warning p{margin-top:10px;overflow-wrap:anywhere}
@media(max-width:1100px){.catalog-filters{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:740px){.catalog-filters,.form-section .catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.product-gallery a{display:block;min-width:0}.product-gallery img{object-fit:contain;background:var(--paper-2)}#photo-pager,#family-pager{flex-wrap:wrap}
/* Customer workspace: familiar conversations, attached context and actions beside images. */
.chat-main{padding:0;max-width:none;height:calc(100dvh - 79px);min-height:560px}.chat-main~footer{display:none}.chat-layout{display:grid;grid-template-columns:220px minmax(0,1fr);height:100%}.conversation-panel{border-right:1px solid var(--hair);padding:24px 15px;display:flex;flex-direction:column;gap:12px;min-width:0;background:var(--paper-2);overflow:auto}.new-chat{width:100%;justify-content:flex-start;background:transparent;font-weight:500}.conversation-heading{font-size:10px;color:var(--ink-3);margin:14px 10px 0;text-transform:uppercase;letter-spacing:.8px}.conversation-item{display:block;width:100%;text-align:left;padding:11px 10px;background:transparent;border:0;border-radius:7px;color:var(--ink-2);margin-bottom:3px}.conversation-item:hover,.conversation-item.active{background:var(--peri-soft);color:var(--iris-dk)}.conversation-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500}.conversation-item small{font-size:9px;color:var(--ink-3)}.empty-conversations{font-size:11px;color:var(--ink-3);padding:8px 10px;line-height:1.6}.conversation-foot{margin-top:auto;font-size:10px;color:var(--ink-3);padding:15px 8px 0}.conversation{min-width:0;display:flex;flex-direction:column;height:100%;position:relative}.conversation-header{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:22px 36px 15px;border-bottom:1px solid var(--hair-soft)}.conversation-header h1{font-family:var(--ui);font-size:16px;letter-spacing:-.2px;font-weight:600;line-height:1.4;margin:0}.conversation-header p{font-size:10px;color:var(--ink-3);margin-top:4px}.conversation-header .btn span{font-family:var(--mono);border-radius:4px;background:var(--peri-soft);padding:0 5px;min-width:18px}.messages{flex:1;min-height:100px;overflow:auto;padding:20px max(30px,calc((100% - 780px)/2));scroll-behavior:smooth;overscroll-behavior:contain}.chat-welcome{max-width:680px;margin:clamp(35px,10vh,115px) auto 30px;text-align:center}.chat-welcome>img{width:36px;height:34px;margin-bottom:24px;opacity:.8}.chat-welcome h2{font:400 34px var(--disp);letter-spacing:-.5px;margin:0 0 13px}.chat-welcome>p{max-width:420px;margin:auto;font-size:13px;color:var(--ink-3);line-height:1.7}.starter-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:32px auto 0;max-width:510px;text-align:left}.starter-prompts button{display:flex;flex-direction:column;gap:7px;text-align:left;border:1px solid var(--hair);border-radius:10px;background:#fff;padding:15px 17px;font-size:12px;color:var(--ink);font-weight:500}.starter-prompts button:hover{border-color:var(--peri);background:var(--peri-soft)}.starter-prompts span{color:var(--ink-3);font-size:10px;font-weight:400}.selection-chip{display:inline-flex;gap:7px;align-items:center;background:white;border:1px solid var(--hair);border-radius:7px;padding:4px 8px 4px 4px;max-width:180px;font-size:10px;color:var(--ink-2)}.selection-chip img{width:25px;height:30px;object-fit:cover;border-radius:3px}.selection-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-ref{display:flex;align-items:center;gap:7px;background:white;border:1px solid var(--hair);border-radius:7px;padding:4px;max-width:200px}.composer-ref img{height:40px;width:36px;object-fit:cover;border-radius:4px}.composer-ref>span{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-ref button{border:0;background:transparent;font-size:18px;color:var(--ink-3)}.video-ref-icon{background:var(--paper-2);padding:8px;font-size:9px}.source-context{display:flex;gap:10px;justify-content:space-between;align-items:center;background:var(--peri-soft);border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:11px;color:var(--iris-dk)}.chat-message{margin:8px 0 28px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.chat-message.user{max-width:85%;margin-left:auto;background:var(--paper-3);border-radius:14px 14px 3px 14px;padding:12px 17px}.message-author{font-size:11px;font-weight:600;color:var(--iris-dk);margin-bottom:7px}.chat-message.user .message-author{color:var(--ink-3);font-size:9px}.message-status{font:400 9px var(--mono);color:var(--ink-3);margin-left:10px}.message-text{white-space:pre-wrap}.message-details{font-size:11px;color:var(--ink-3);margin-top:12px;border-top:1px solid var(--hair);padding-top:10px}.message-details summary{cursor:pointer;display:list-item}.message-details pre{white-space:pre-wrap;max-height:300px;overflow:auto;font:10px/1.7 var(--mono);background:var(--paper-2);padding:14px;border-radius:7px}.message-details p{margin-top:8px;font-size:11px}.inline-link{color:var(--iris);font-size:12px;font-weight:600}.message-production{margin-top:14px}.inline-production-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.production-ready-note{font-size:11px;color:var(--ink-3);padding:10px 0}.inline-production-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.message-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.chat-output{border:1px solid var(--hair);border-radius:10px;overflow:hidden;background:white}.chat-output-image{display:block;border:0;background:var(--paper-2);padding:0;width:100%}.chat-output-image img{display:block;width:100%;height:280px;object-fit:contain}.chat-output-caption{padding:8px 10px 0;color:var(--ink-3);font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-output-actions{display:flex;gap:5px;flex-wrap:wrap;padding:8px 10px 10px}.chat-output-actions .btn{padding:6px 8px;font-size:9px}.message-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.message-product{display:flex;align-items:center;gap:10px;border:1px solid var(--hair);border-radius:7px;background:white;padding:6px;text-align:left;min-width:0}.message-product>img{width:45px;height:55px;object-fit:cover;border-radius:3px}.message-product>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.message-product strong{font-size:11px}.message-product small{font-size:10px;color:var(--ink-3)}.message-product>span:last-child{margin-left:auto;margin-right:5px;color:var(--iris)}.load-older{display:block;margin:0 auto 25px}#sku-picker{background:var(--paper);width:min(1080px,96vw);height:min(850px,94dvh);max-height:94dvh;color:var(--ink);overflow:hidden}.picker-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 26px;border-bottom:1px solid var(--hair);background:var(--paper)}.picker-head h2{font-size:18px}.picker-head p{font-size:11px;color:var(--ink-3)}.picker-body{padding:22px 26px;overflow:auto;height:calc(100% - 89px)}.picker-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.picker-selection-bar>strong{font-size:12px;color:var(--iris-dk)}.picker-selection-bar>div{display:flex;gap:6px;flex-wrap:wrap}.picker-selection-bar .btn{font-weight:400;font-size:10px}.picker-body .picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.picker-body .catalog-filters{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.picker-body .product-card img{aspect-ratio:4/5;object-fit:contain}.picker-body #selection-status{font-size:11px;color:var(--iris-dk);margin-top:10px}.outfit-controls{font-size:11px;color:var(--ink-3);margin-bottom:12px}.outfit-controls summary{cursor:pointer}.outfit-controls .two-col{max-width:500px}.outfit-controls .field-label{color:var(--ink-2)}
/* Non-destructive canvas editor. */
#image-editor{width:min(1300px,96vw);height:min(950px,96dvh);max-height:96dvh;color:var(--ink);background:var(--paper)}.editor-head{height:76px;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--hair)}.editor-head h2{margin:0}.editor-head span{font:10px var(--mono);color:var(--ink-3)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;height:calc(100% - 150px)}.editor-stage{display:flex;align-items:center;justify-content:center;background:var(--paper-3);padding:30px;overflow:hidden;min-height:100px}.editor-stage canvas{max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 5px 30px #15131820;object-fit:contain}.editor-tools{overflow:auto;padding:20px;background:white;border-left:1px solid var(--hair)}.editor-tools h3{margin:25px 0 9px}.editor-tools h3:first-of-type{margin-top:20px}.editor-history{display:flex;gap:5px}.editor-history .btn{padding:5px 9px}.editor-control{display:block;font-size:10px;color:var(--ink-2);margin:13px 0}.editor-control input{display:block;width:100%;accent-color:var(--iris);margin-top:7px}.editor-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;height:74px;max-width:none;padding:13px 22px;border-top:1px solid var(--hair);background:var(--paper)}.editor-footer p{margin-right:auto;font-size:11px;max-width:350px}.editor-footer .btn{font-size:11px;padding:10px 14px}.editor-tools .field-label{font-size:10px}
@media(min-width:1700px){.chat-layout{grid-template-columns:245px minmax(0,1fr)}.conversation-header{padding:24px 45px 18px}.messages{padding-top:28px}.chat-welcome{margin-top:12vh}.chat-welcome h2{font-size:39px}.starter-prompts{max-width:540px}.starter-prompts button{padding:18px 20px}}
@media(max-width:1150px){.chat-layout{grid-template-columns:170px minmax(0,1fr)}.conversation-panel{padding:20px 10px}.conversation-header{padding:20px}.messages{padding:20px}.picker-body .catalog-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.picker-body .picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.conversation-header h1{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:740px){.chat-main{height:calc(100dvh - 230px);min-height:570px}.chat-layout{display:flex;flex-direction:column}.conversation-panel{padding:8px 16px;flex-direction:row;align-items:center;flex-shrink:0;border-right:0;border-bottom:1px solid var(--hair);overflow:auto;gap:7px;max-height:60px}.conversation-panel .new-chat{width:auto;padding:7px 9px;flex-shrink:0;font-size:10px}.conversation-heading,.conversation-foot,.empty-conversations{display:none}#conversation-list{display:flex;gap:5px}.conversation-item{margin:0;max-width:130px;padding:5px 9px;flex-shrink:0}.conversation-item strong{font-size:10px}.conversation-item small{display:none}#more-chats{flex-shrink:0}.conversation{min-height:0}.conversation-header{padding:14px 18px 12px}.conversation-header h1{font-size:14px;max-width:200px}.conversation-header p{font-size:9px;max-width:230px}.conversation-header .btn{font-size:9px;padding:6px 8px}.chat-welcome{margin:25px auto}.chat-welcome>img{width:27px;height:25px;margin-bottom:12px}.chat-welcome h2{font-size:27px}.chat-welcome>p{font-size:11px;max-width:290px}.starter-prompts{gap:7px;margin-top:20px}.starter-prompts button{padding:12px;font-size:10px;gap:4px}.starter-prompts span{font-size:9px}.messages{padding:15px 18px}.selection-chip{max-width:135px;font-size:9px}.chat-message{font-size:12px}.chat-message.user{max-width:92%}.message-output-grid{gap:8px}.chat-output-image img{height:190px}.chat-output-actions .btn{font-size:8px;padding:5px 6px}.message-products{grid-template-columns:1fr}.picker-head{padding:15px}.picker-head p{font-size:10px;max-width:260px}.picker-body{padding:15px;height:calc(100% - 95px)}.picker-body .picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.picker-body .catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.picker-selection-bar{gap:8px}.picker-selection-bar .btn{font-size:9px;padding:6px 7px}.editor-head{height:65px;padding:12px 15px}.editor-layout{display:flex;flex-direction:column;height:calc(100% - 170px)}.editor-stage{height:50%;padding:15px;flex-shrink:0}.editor-tools{height:50%;padding:15px;border-left:0;border-top:1px solid var(--hair)}.editor-tools h3{margin:18px 0 8px}.editor-control{margin:10px 0}.editor-footer{height:105px;padding:10px 12px;flex-wrap:wrap;justify-content:flex-start;gap:5px}.editor-footer p{width:100%;max-width:none;font-size:10px}.editor-footer .btn{font-size:9px;padding:8px 9px}}
.speak-response{border:0;background:transparent;padding:5px 0;font-size:10px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px}.speak-response:hover{color:var(--iris)}
[hidden]{display:none!important}.batch-note{color:var(--iris-dk);font-weight:500}
/* One shared navigation and conversation sidebar. */
.app-shell{--sidebar-width:264px}
.sidebar{width:var(--sidebar-width);padding:16px 12px 12px;overflow:hidden;z-index:40}
.body-shell{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));min-width:0}
.sidebar-head{display:flex;align-items:center;gap:8px;min-height:38px;margin-bottom:16px;flex-shrink:0}
.sidebar .wordmark{padding:0 4px;gap:8px;flex:1;min-width:0;max-width:none}
.sidebar .wordmark img{width:25px;height:24px;flex-shrink:0}
.sidebar .wordmark span{font-size:21px}
.sidebar .wordmark b{font-size:9px;padding:2px 4px}
.sidebar-control{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:34px;padding:6px;border:0;border-radius:7px;background:transparent;color:var(--dock-muted)}
.sidebar-control:hover{background:var(--dock-2);color:var(--paper)}
.nav-icon{display:block;width:20px;height:20px;flex-shrink:0}
#close-navigation,.mobile-header,.navigation-backdrop,#show-chat-history{display:none}
.sidebar-content{display:flex;flex:1;min-height:0;flex-direction:column;overflow-y:auto;scrollbar-width:thin}
.sidebar .workspace{display:flex;flex-shrink:0;margin:0 0 16px;padding:8px 10px;min-height:50px;border-radius:8px}
.sidebar .workspace img{width:31px;height:31px;flex-shrink:0}
.sidebar .workspace strong{font-size:12px;font-weight:500}
.sidebar nav{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;flex:none;width:100%;margin:0}
.sidebar .nav-item{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-height:38px;width:100%;padding:9px 11px;font-size:12px;font-weight:400;text-align:left;border:0;border-radius:7px}
.sidebar .nav-label{font-size:12px;line-height:20px;white-space:nowrap;width:auto;text-align:left}
.sidebar .nav-count{font-size:9px!important;padding:1px 5px}
.sidebar .new-chat{border:1px solid var(--dock-line);margin-bottom:7px;color:var(--paper);background:var(--dock-2)}
.sidebar .new-chat:hover{border-color:var(--peri);background:rgba(131,132,184,.2)}
.sidebar-history{display:flex;flex:1;flex-direction:column;min-height:90px;overflow:hidden;margin-top:20px}
.sidebar-history h2{flex-shrink:0;margin:0;padding:0 11px 10px;font:500 10px var(--ui);color:var(--dock-muted);letter-spacing:.5px}
.history-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dock-line) transparent;padding:0 2px}
.sidebar #conversation-list{display:block}
.sidebar .conversation-item{width:100%;max-width:none;margin:0 0 2px;padding:9px 10px;flex-shrink:0;background:transparent;color:var(--dock-muted);text-align:left}
.sidebar .conversation-item strong{font-size:12px;font-weight:400;line-height:20px}
.sidebar .conversation-item:hover{background:var(--dock-2);color:var(--paper)}
.sidebar .conversation-item.active{background:rgba(131,132,184,.22);color:var(--paper)}
.sidebar .empty-conversations{display:block;color:var(--dock-muted);font-size:11px;padding:8px 10px}
.history-more{display:block;width:100%;border:0;border-top:1px solid var(--dock-line);background:transparent;padding:11px 10px;margin-top:6px;color:var(--peri-lt);font-size:11px;text-align:left;border-radius:0}
.history-more:hover{background:var(--dock-2)}
.sidebar-account{flex-shrink:0;border-top:1px solid var(--dock-line);margin-top:12px;padding-top:8px}
.sidebar .profile{display:flex;align-items:center;text-align:left;gap:10px;width:100%;max-width:none;padding:10px 11px 2px;margin:0;border:0;background:transparent;color:var(--paper);border-radius:7px}
.sidebar .profile:hover{background:var(--dock-2)}
.sidebar .avatar{width:30px;height:30px;flex-shrink:0}
.sidebar .profile-copy{min-width:0}
.sidebar .profile strong{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar .profile small{display:block;font-size:9px}
.topbar{height:64px;padding:0 36px}
.chat-main{height:calc(100dvh - 64px);min-height:0}
.chat-layout{display:block;height:100%;min-height:0;overflow:hidden}
.conversation{height:100%;min-height:0}
.conversation-header{flex-shrink:0}
.messages{min-height:0;padding-bottom:24px}
.sidebar-collapsed{--sidebar-width:72px}
.sidebar-collapsed .sidebar{padding-left:10px;padding-right:10px}
.sidebar-collapsed .sidebar-head{flex-direction:column;gap:12px;margin-bottom:12px}
.sidebar-collapsed .wordmark{flex:initial;padding:2px}
.sidebar-collapsed .wordmark span,.sidebar-collapsed .wordmark b,.sidebar-collapsed .workspace>div,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-count,.sidebar-collapsed .profile>.profile-copy,.sidebar-collapsed .sidebar-history{display:none}
.sidebar-collapsed .workspace{padding:8px 0;border:0;background:transparent;justify-content:center;margin-bottom:8px}
.sidebar-collapsed .nav-item{padding:11px;justify-content:center;min-height:42px}
.sidebar-collapsed .sidebar-account{margin-top:auto}
.sidebar-collapsed .profile{justify-content:center;padding:10px 0 2px}
.sidebar-collapsed #show-chat-history{display:flex;margin-top:14px}
.sidebar-collapsed #sidebar-toggle .nav-icon{transform:rotate(180deg)}
@media(max-width:740px){
  .app-shell{display:block;--sidebar-width:0px}
  .body-shell{margin-left:0;width:100%}
  .mobile-header{display:flex;height:60px;align-items:center;gap:12px;background:var(--ink);padding:0 16px;color:var(--paper)}
  .mobile-header .wordmark{padding:0;gap:8px;justify-content:flex-start}
  .mobile-header .wordmark img{width:24px;height:24px}
  .mobile-header .wordmark span{font-size:21px}
  .mobile-header .wordmark b{font-size:9px}
  .mobile-header .sidebar-control{color:var(--paper);width:32px;height:36px;padding:5px}
  .sidebar{position:fixed;inset:0 auto 0 0;width:min(300px,calc(100vw - 42px));height:100dvh;max-height:100dvh;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:16px 12px 12px;visibility:hidden;transform:translateX(-100%)}
  .sidebar.menu-open{visibility:visible;transform:translateX(0);box-shadow:10px 0 40px #0003}
  .sidebar-head{margin-bottom:16px;min-height:38px}
  #close-navigation{display:inline-flex}
  #sidebar-toggle{display:none}
  .sidebar.menu-open .sidebar-content{display:flex;position:static;inset:auto;max-height:none;overflow-y:auto;box-shadow:none;padding:0;border:0}
  .sidebar.menu-open .workspace{margin:0 0 16px;padding:8px 10px}
  .sidebar.menu-open nav{display:grid;gap:3px;flex:initial}
  .sidebar.menu-open nav .nav-item{font-size:12px;padding:9px 11px;min-height:38px}
  .sidebar.menu-open .profile{display:flex;width:100%;margin:0;padding:10px 11px 2px;border:0}
  .sidebar.menu-open .profile .avatar{width:30px;height:30px}
  .sidebar .conversation-item{max-width:none;padding:9px 10px}
  .sidebar .conversation-item strong{font-size:12px}
  .navigation-backdrop:not([hidden]){display:block;position:fixed;inset:0;border:0;background:#15131870;z-index:39;cursor:default}
  body.navigation-open{overflow:hidden}
  .topbar{display:none}
  main{padding:25px 18px 40px}
  .chat-main{height:calc(100dvh - 60px);min-height:0;padding:0}
  .chat-layout{display:block;height:100%;min-height:0;overflow:hidden}
  .conversation{height:100%;min-height:0;overflow:hidden}
  .messages{flex:1;min-height:0;overflow:auto;padding:15px 18px 24px}
  .chat-welcome{margin:20px auto 10px}
  .starter-prompts{margin-top:18px}
  
}
/* Role-scoped customer activity and billing status. */
.account-view{max-width:1200px;margin:0 auto}
.account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.account-heading h1{margin-bottom:8px}
.account-heading p{font-size:12px;color:var(--ink-3)}
.usage-period{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink-3);flex-shrink:0}
.usage-period select{min-width:175px;font-size:12px}
.usage-period-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:11px;color:var(--ink-3)}
.account-status{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:var(--peri-soft);color:var(--iris-dk);border-radius:5px;font-size:10px;line-height:1.5;white-space:nowrap}
.usage-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.usage-metric{background:var(--surface,#fff);border:1px solid var(--hair);border-radius:10px;padding:20px 22px;min-width:0}
.usage-metric span{display:block;color:var(--ink-3);font-size:11px;margin-bottom:14px}
.usage-metric strong{font:400 32px var(--disp);color:var(--ink);letter-spacing:-.6px;line-height:1.2}
.account-note{font-size:11px;color:var(--ink-3);line-height:1.7;margin-top:14px}
.account-section{margin-top:24px;border:1px solid var(--hair);border-radius:10px;background:var(--surface,#fff);overflow:hidden}
.account-section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 24px}
.account-section-head h2{font:400 22px var(--disp);margin:0}
.account-section-head p{color:var(--ink-3);font-size:11px;margin-top:6px}
.usage-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.usage-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}
.usage-table th,.usage-table td{padding:14px 24px;border-top:1px solid var(--hair-soft)}
.usage-table thead{background:var(--paper-2);font-size:10px;color:var(--ink-3)}
.usage-table th{font-weight:500}
.usage-table tbody th{color:var(--ink);font-weight:500}
.usage-table tbody td{color:var(--ink-2)}
.member-role{font-size:10px;color:var(--ink-3)}
.usage-facts,.billing-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0 24px 22px}
.usage-facts>div,.billing-facts>div{padding:12px 20px 6px 0;min-width:0}
.usage-facts dt,.billing-facts dt{font-size:11px;color:var(--ink-3);margin-bottom:7px}
.usage-facts dd,.billing-facts dd{font-size:15px;margin:0;color:var(--ink);overflow-wrap:anywhere}
.billing-facts{grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:14px}
.billing-section .account-note{padding:0 24px 22px;margin-top:0;max-width:700px}
.account-loading{color:var(--ink-3);font-size:13px;padding:32px 0}
.preview-access{max-width:760px}
.preview-access>.account-status{margin-bottom:12px}
.preview-access h2{margin:0 0 10px}
.preview-access>p{font-size:12px;color:var(--ink-3);line-height:1.7}
.preview-account-controls{display:flex;gap:10px}
.preview-account-controls select{min-width:0}
@media(max-width:1100px){.usage-metric{padding:18px}.usage-metrics{gap:10px}.usage-table th,.usage-table td{padding:13px 18px}.billing-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){
 .account-heading{flex-direction:column;gap:18px;margin-bottom:18px}
 .account-heading h1{font-size:29px}
 .usage-period{width:100%;justify-content:space-between}
 .usage-period select{max-width:230px;min-width:0}
 .usage-period-note{align-items:flex-start;font-size:10px;gap:10px}
 .usage-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .usage-metric{padding:16px}
 .usage-metric span{font-size:10px;margin-bottom:11px}
 .usage-metric strong{font-size:29px}
 .account-section{margin-top:18px}
 .account-section-head{padding:18px 16px;align-items:flex-start;flex-wrap:wrap}
 .account-section-head h2{font-size:21px}
 .usage-table th,.usage-table td{padding:13px 16px}
 .usage-facts,.billing-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 16px}
 .usage-facts>div,.billing-facts>div{padding-right:12px}
 .usage-facts dd,.billing-facts dd{font-size:13px}
 .billing-section .account-note{padding:0 16px 18px}
 .preview-account-controls{flex-direction:column}
 .preview-account-controls .btn{align-self:flex-start}
}
/* Organization reporting keeps source actions beside the monthly totals. */
.account-jump-links{display:flex;gap:6px;border-bottom:1px solid var(--hair);margin:0 0 22px;padding-bottom:12px}
.account-jump-links a{padding:8px 14px;border-radius:6px;font-size:12px;color:var(--ink-2);text-decoration:none}
.account-jump-links a:hover{background:var(--peri-soft);color:var(--iris-dk)}
.usage-sort{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left;min-height:24px}
.usage-table small{display:block;color:var(--ink-3);font-size:10px;margin-top:5px;font-weight:400;max-width:280px;overflow:hidden;text-overflow:ellipsis}
.work-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.work-filters label{font-size:10px;color:var(--ink-3);display:grid;gap:6px}
.work-filters .input{font-size:11px;min-width:145px;max-width:220px}
.account-empty{padding:24px;color:var(--ink-3);font-size:12px;line-height:1.7}
.account-empty h3{font-size:15px;font-weight:500;color:var(--ink);margin-bottom:6px}
.account-empty>div{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
#activity-items>.account-loading{padding:24px}
.account-work-pager{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:14px 24px;border-top:1px solid var(--hair);font-size:11px;color:var(--ink-3)}
.account-work-pager>span{margin-right:auto}
.proposal-price{padding:0 24px 22px}
.proposal-price strong{font:400 28px var(--disp);color:var(--ink)}
.proposal-price strong span{font:400 12px var(--ui);color:var(--ink-3)}
.proposal-price p{font-size:11px;margin-top:10px;color:var(--ink-3)}
.credit-policy .account-note{padding:0 24px 22px;max-width:900px}
.account-source-note{margin-top:22px;font-size:11px;line-height:1.8;color:var(--ink-3)}
.account-source-note summary{cursor:pointer}
.account-source-note p{margin-top:8px;max-width:820px}
#organization-usage,#organization-people,#organization-billing,#recorded-work{scroll-margin-top:24px}
@media(max-width:740px){
 .account-jump-links{margin-bottom:18px;gap:4px}
 .account-jump-links a{padding:7px 12px}
 .work-filters{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .work-filters .input{min-width:0;max-width:100%;width:100%}
 .usage-table small{max-width:190px}
 .proposal-price{padding:0 16px 20px}
 .proposal-price strong{font-size:27px}
 .proposal-price strong span{display:block;font-size:11px;margin-top:6px}
 .credit-policy .account-note{padding:0 16px 18px}
 .account-work-pager{padding:14px 16px;flex-wrap:wrap}
}

.current-organization{background:var(--peri-soft)}
.organization-library-note{padding:0 24px 20px;margin-top:0}
.owner-view #organization-table .usage-table{font-size:11px}
.owner-view #organization-table th,.owner-view #organization-table td{padding:14px 18px}
@media(max-width:740px){.organization-library-note{padding:0 16px 18px}.owner-view #organization-table th,.owner-view #organization-table td{padding:13px 16px}}

.organization-library-link{display:flex;align-items:center;gap:16px;justify-content:space-between;border:1px solid var(--hair);border-radius:8px;padding:16px 20px;margin-top:20px;color:var(--ink);text-decoration:none;font-size:12px;background:var(--surface,#fff)}
.organization-library-link span{font-size:10px;color:var(--ink-3)}
@media(max-width:740px){.organization-library-link{align-items:flex-start;flex-direction:column;gap:8px;padding:15px 16px}}

.offer-summary{border:1px solid var(--peri);background:var(--peri-soft);border-radius:10px;padding:18px 22px;display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 22px}
.offer-summary p{font-size:12px;margin:10px 0 6px;color:var(--ink-2)}
.offer-summary p strong{font:400 25px var(--disp);color:var(--ink);margin-right:4px}
.offer-summary small{font-size:10px;color:var(--ink-3)}
@media(max-width:740px){.offer-summary{padding:16px;align-items:flex-start;flex-direction:column;gap:14px}.offer-summary p strong{font-size:26px}.offer-summary small{line-height:1.8;display:block}}

@media(max-width:740px){
 .credit-policy .usage-table{table-layout:fixed;white-space:normal}
 .credit-policy .usage-table th,.credit-policy .usage-table td{padding:12px 10px;overflow-wrap:anywhere;line-height:1.65;font-size:11px}
 .credit-policy .usage-table th:first-child{width:65%}
 .credit-policy.priced .usage-table th:first-child{width:45%}
 .credit-policy.priced .usage-table th:nth-child(2){width:23%}
 .credit-policy.priced .usage-table th:nth-child(3){width:32%}
 .credit-policy .usage-table small{max-width:none}
}

/* A direct-image pilot is explicit; provider setup stays outside the customer brief. */

.inline-production-head{flex-wrap:wrap}.production-elapsed{font-size:10px;color:var(--ink-3);margin-left:auto;white-space:nowrap}

/* Pending feedback stays in the conversation through preparation and rendering. */
.pending-response {display:flex;align-items:center;gap:9px;color:var(--muted,#6d7470)}
.pending-response::before,.production-progress::before {content:"";display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%;background:var(--green,#1e6852);animation:kimo-pulse 1.4s ease-in-out infinite}
@keyframes kimo-pulse {50%{opacity:.35;transform:scale(.8)}}
@media (prefers-reduced-motion:reduce) {.pending-response::before,.production-progress::before {animation:none}}

/* Production titles and export actions must fit a320px page without clipping. */
.production-page-title{flex-wrap:wrap;align-items:flex-start}
.production-page-title>div{min-width:0;flex:1 1 14rem}
.production-page-title h1{overflow-wrap:anywhere}
.production-page-title>.btn{max-width:100%;white-space:normal;text-align:center;flex:0 1 auto}

@media(max-width:480px){#image-grid{grid-template-columns:minmax(0,1fr)}}

.image-origin-label{font-size:10px;color:var(--ink-3);padding:6px 10px;overflow-wrap:anywhere}
.upscale-control{padding:0 10px 10px;min-width:0}
.upscale-panel{margin-top:8px;padding:10px;border:1px solid var(--hair);border-radius:8px;background:var(--paper-2);font-size:11px;overflow-wrap:anywhere}
.upscale-panel p{margin:0 0 8px}.upscale-panel .btn{white-space:normal;max-width:100%;margin:3px 4px 3px 0;text-align:center}.upscale-result img{display:block;width:100%;max-height:220px;object-fit:contain}.upscale-result a{display:inline-block;margin-top:5px}.upscale-qualification{color:var(--ink-3)}.upscale-test-note{font-weight:600;color:var(--iris)}.upscale-error{color:var(--brick)}
.product-readiness{margin:20px 0;padding:16px;border:1px solid var(--border,#ddd);border-radius:12px;overflow-wrap:anywhere}.product-readiness h3{margin-top:0}.product-readiness details{margin-top:12px}.product-readiness summary{cursor:pointer}.product-readiness ul{padding-left:20px}.product-readiness li{margin:16px 0}.product-readiness li p{margin:6px 0}.product-readiness small{display:block;color:var(--muted,#666)}
.delivery-export{margin:12px 0 20px;padding:14px;border:1px solid var(--border,#ddd);border-radius:12px;overflow-wrap:anywhere}.delivery-export summary{cursor:pointer;font-weight:600}.delivery-export-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.delivery-export-actions label,.delivery-image-select{display:flex;align-items:center;gap:7px;font-size:13px}.delivery-image-select{padding:10px 12px}.delivery-image-select input,.delivery-export input{width:18px;height:18px}.delivery-export [data-delivery-status]{margin-top:10px}.delivery-export a{overflow-wrap:anywhere}

.output-card .output-used-products{padding:12px;border-top:1px solid var(--hair);font-size:11px;overflow-wrap:anywhere}.output-card .output-used-product{margin-top:8px;min-width:0}.output-card .output-used-product small{color:var(--ink-3)}.output-card .output-used-photos{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.output-card .output-used-photos a{display:block;width:48px;max-width:100%;border-radius:4px}.output-card .output-used-photos img{display:block;width:48px;max-width:100%;height:58px;object-fit:contain;background:var(--paper-2);border-radius:4px}

.product-revisions{margin-top:1rem;border-top:1px solid var(--line,#ddd);padding-top:1rem;overflow-wrap:anywhere}.product-revisions label{display:block;margin:.75rem 0}.product-revisions input,.product-revisions select,.product-revisions textarea{display:block;max-width:100%;width:100%;box-sizing:border-box}.product-revisions article{padding:.75rem 0;border-top:1px solid var(--line,#ddd)}.product-revisions button{white-space:normal;margin:.25rem}
/* Optional recorded request details: readable customer facts, sources and instructions. */
.message-details .request-details-content{font:14px/1.6 var(--ui);color:var(--ink);padding-top:12px;overflow-wrap:anywhere}
.message-details .request-details-content h4{font-size:15px;margin:0 0 8px;font-weight:600}.message-details .request-details-content h5{font-size:13px;margin:14px 0 6px;font-weight:600}
.message-details .request-details-content p{font-size:13px;line-height:1.6;margin:7px 0;color:var(--ink-2)}
.message-details .request-details-content dl{display:grid;grid-template-columns:minmax(100px,30%) minmax(0,1fr);gap:6px 14px;margin:8px 0}.message-details .request-details-content dt{color:var(--ink-3);font-size:13px}.message-details .request-details-content dd{margin:0;min-width:0;font-size:14px}
.message-details .request-summary,.message-details .request-product-details,.message-details .request-image-details{padding:14px;border:1px solid var(--hair);border-radius:8px;margin:12px 0;background:var(--surface)}
.message-details .request-identities,.message-details .request-variants{margin-top:12px;padding-top:9px;border-top:1px solid var(--hair-soft)}.message-details .request-identities summary,.message-details .request-variants summary{font-size:13px;color:var(--ink-2)}.message-details .request-identities dd{font:12px/1.6 var(--mono)}.message-details .request-variants article+article{margin-top:14px;border-top:1px solid var(--hair-soft)}
.message-details .request-instruction{margin:14px 0}.message-details .request-instruction pre{font:14px/1.6 var(--ui);white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;padding:12px;margin:8px 0;color:var(--ink);background:var(--paper-2)}.message-details .request-instruction [role=status]{font-size:13px;margin-left:10px;color:var(--ink-2)}
.message-details .request-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;margin:10px 0}.message-details .request-source-grid figure{margin:0;min-width:0;border:1px solid var(--hair);border-radius:7px;overflow:hidden}.message-details .request-source-grid a{display:block;color:var(--ink);text-decoration:none}.message-details .request-source-grid img{width:100%;height:180px;object-fit:contain;display:block;background:var(--paper-2)}.message-details .request-source-grid figcaption{padding:9px;font-size:13px;line-height:1.5}.message-details .request-source-grid figcaption span{display:block;color:var(--ink-3);font-size:12px}.message-details .request-details-content button:focus-visible,.message-details .request-instruction pre:focus-visible,.message-details .request-source-grid a:focus-visible{outline:3px solid var(--iris);outline-offset:3px}
@media(max-width:480px){.message-details .request-details-content dl{grid-template-columns:1fr;gap:2px}.message-details .request-details-content dd{margin-bottom:7px}.message-details .request-summary,.message-details .request-product-details,.message-details .request-image-details{padding:11px}.message-details .request-source-grid img{height:170px}}

/* Exact saved-image context shared by discussion and explicit editing. */
.source-image-context{align-items:flex-start;gap:10px;flex-wrap:wrap}.source-image-context>a{flex:0 0 64px}.source-image-context>a img{display:block;width:64px;height:72px;object-fit:contain;border-radius:5px}.source-image-context>div{flex:1 1 180px;min-width:0;overflow-wrap:anywhere}.source-image-context strong,.source-image-context small{display:block}.source-image-context small{font-size:12px;line-height:1.5;color:var(--ink-3)}.source-image-context .inline-link{display:inline-block;margin:4px 0}.source-image-context>button{flex:0 0 auto}

.message-source-context{display:flex;gap:10px;margin:12px 0;padding:10px;border:1px solid var(--hair);border-radius:8px;background:var(--paper-2)}.source-image-identity{margin-top:5px;font-size:12px}.source-image-identity summary{cursor:pointer;color:var(--ink-3)}.source-image-identity small{overflow-wrap:anywhere}.source-context-unavailable{font-size:12px;color:var(--ink-3)}
/* Explicit local repair guidance; no editing action runs on open. */
.logo-repair-guidance{padding:12px;border:1px solid var(--line);border-radius:10px;margin-bottom:14px;font-size:14px;line-height:1.5}.logo-repair-guidance:focus{outline:2px solid currentColor;outline-offset:2px}.local-logo-action{margin-top:10px}
/* Shared request controls: explicit choices, no submission on change. */

/* Compact shared controls and exact source context on narrow screens. */
@media(max-width:480px){

#source-context .source-image-context{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:8px;align-items:start}#source-context .source-image-context>a{width:42px}#source-context .source-image-context>a img{width:42px;height:48px}#source-context .source-image-context>div{min-width:0;font-size:12px}#source-context .source-image-context strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}#source-context .source-image-context>button{min-height:40px;padding:6px 9px}#source-context .source-image-context .inline-link{margin:3px 0;font-size:12px}#source-context .source-context-help{display:none}#source-context .source-image-identity{margin:1px 0;font-size:12px}
}

/* Saved-version links must have one real pointer target, even after long proof status. */
#image-editor .editor-footer{height:auto;min-height:74px;flex-wrap:wrap}
#image-editor .editor-footer #edit-status{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.4;margin-top:0;margin-bottom:0}
#image-editor .editor-footer #edit-status .inline-link{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:40px;padding:6px 10px;white-space:nowrap;border:1px solid var(--hair);border-radius:6px;font-size:12px;text-decoration:none}
#image-editor .editor-footer #edit-status .inline-link:focus-visible{outline:3px solid var(--iris);outline-offset:2px}
@media(max-width:740px){#image-editor .editor-footer{min-height:105px}#image-editor .editor-footer #edit-status{flex-basis:100%;max-width:100%}}
/* Expanded proof feedback must not clip footer controls on short/narrow screens. */
#image-editor{overflow-y:auto;overflow-x:hidden}
/* Independent prepared-logo layers; existing source and editing tools stay shared. */
.logo-layers-panel{margin:16px 0;padding:10px;border:1px solid var(--hair);border-radius:8px;font-size:12px}.logo-layers-panel>summary{cursor:pointer;font-weight:600;min-height:32px}.logo-layers-panel>summary span{font-weight:400;margin-left:8px}.logo-layer-row{display:flex;flex-wrap:wrap;gap:5px;padding:8px 0;border-top:1px solid var(--hair)}.logo-layer-row>.btn:first-child{flex-basis:100%;justify-content:flex-start;overflow-wrap:anywhere;white-space:normal;min-width:0}.logo-layer-row [aria-pressed=true]{border-color:var(--iris);background:var(--peri-soft)}.logo-layers-panel .btn{font-size:12px;min-height:40px;padding:7px 9px}.logo-layers-panel p{font-size:12px;line-height:1.5;margin-top:8px}.logo-layers-panel>button{margin:5px 0}.logo-layers-panel [hidden]{display:none}
/* Native disclosure keeps image defaults available without crowding conversation. */

/* Keep archive error actions separate from the search row, including wrapped copy. */
#archive-summary{margin-bottom:16px}#archive-summary.archive-error{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}#archive-summary.archive-error .btn{flex:0 0 auto}
/* Authentication surfaces never retain a prior account's workspace chrome. */
html[data-workspace-auth="signed-out"] .sidebar,html[data-workspace-auth="signed-out"] .mobile-header,html[data-workspace-auth="signed-out"] .topbar,html[data-workspace-auth="signed-out"] .navigation-backdrop{display:none!important}html[data-workspace-auth="signed-out"] .body-shell{margin-left:0;width:100%}html[data-workspace-auth="signed-out"] #main{max-width:none;padding:0}html[data-workspace-auth="signed-out"] .body-shell>footer{display:none}

/* Keep compact composer controls top/left aligned when image options expand. */

/* Contextual task disclosures keep readable control spacing. */
/* Native task approval: one decision card. Hooks unchanged; see docs/ui-design-brief-2026-11-08.md D8. */
#native-task-actions{margin:8px 0 28px}#native-task-actions .message-author .message-status{color:var(--caramel-dk)}
.native-task-card{border:1px solid var(--hair-2);border-radius:14px;background:var(--surface);padding:14px 16px 12px;max-width:640px;box-shadow:var(--shadow)}
.native-task-terms{margin:0 0 12px;font-size:13px;line-height:1.6;color:var(--ink)}.native-task-terms:empty{display:none}
.native-task-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.native-task-actions .btn{margin:0;min-height:40px}.native-task-actions:empty{display:none}
.native-task-limits,.native-task-more{margin:10px 0 0;font-size:12px;color:var(--ink-3)}.native-task-limits>summary,.native-task-more>summary{display:inline-flex;align-items:center;min-height:40px;padding:0 4px;cursor:pointer;color:var(--ink-2);font-weight:500;list-style:none}.native-task-limits>summary::-webkit-details-marker,.native-task-more>summary::-webkit-details-marker{display:none}.native-task-limits>summary::before,.native-task-more>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin:0 10px 0 4px;transition:transform .15s}.native-task-limits[open]>summary::before,.native-task-more[open]>summary::before{transform:rotate(45deg)}
.native-task-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px 16px;padding:8px 4px 4px}.native-task-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ink-2);margin:0}.native-task-fields label>.input{margin:0;min-height:40px}.native-task-fields .native-task-check{flex-direction:row;align-items:center;gap:8px;grid-column:1/-1}.native-task-fields .native-task-check input{margin:0;width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent-button)}
#native-task-actions [data-native-review],#native-task-actions [data-native-revoke]{margin:10px 4px 4px;min-height:40px}
.native-task-cancel{margin-top:12px;padding:12px;border:1px solid var(--hair);border-radius:10px;background:var(--paper-2)}.native-task-cancel label{display:flex;flex-direction:column;gap:6px;font-size:12px;margin:0 0 8px}.native-task-cancel label>.input{margin:0}
.native-task-more p{margin:6px 4px 0;line-height:1.5}
@media(prefers-reduced-motion:reduce){.native-task-limits>summary::before,.native-task-more>summary::before{transition:none}}

/* ===== Composer — 8 November 2026 redesign. One card, "+" menu, compact pills, popovers. See docs/ui-design-brief-2026-11-08.md (D1–D7). ===== */
.composer-wrap{width:min(100% - 48px,780px);margin:0 auto;padding:6px 0 18px;flex-shrink:0;position:relative}
.composer-card{position:relative;background:var(--surface);border:1px solid var(--hair-2);border-radius:18px;box-shadow:var(--shadow);padding:8px 10px 6px;transition:border-color .15s,box-shadow .15s}
.composer-card:focus-within{border-color:var(--peri);box-shadow:0 0 0 3px var(--peri-soft),var(--shadow)}
.composer-card>#source-context:empty,.composer-card>#reference-role-panel:empty,.composer-card>#registered-reference-status:empty{display:none}
.composer-card .source-context{margin:2px 2px 8px}
.composer-selection,.composer-references{display:flex;gap:6px;flex-wrap:wrap;max-height:120px;overflow:auto;padding:4px 4px 6px}
.composer-selection:empty,.composer-references:empty{display:none}
.composer{display:flex;flex-direction:column;gap:4px;margin:0}
.composer textarea{display:block;width:100%;min-height:34px;max-height:168px;border:0;outline:0;box-shadow:none;resize:none;background:transparent;color:var(--ink);font:15px/1.6 var(--ui);padding:7px 6px 3px;overflow-y:auto}
.composer textarea::placeholder{color:var(--ink-3)}
.composer textarea:focus-visible{outline:0}
.composer-options{display:flex;align-items:center;gap:2px;flex-wrap:wrap;min-height:38px}
.composer-spacer{flex:1 1 auto;min-width:4px}
.composer-plus-wrap{position:relative;display:inline-flex;margin-right:4px}
.composer-plus{width:34px;height:34px;border-radius:50%;border:1px solid var(--hair-2);background:transparent;color:var(--ink-2);font:300 22px/1 var(--ui);display:inline-flex;align-items:center;justify-content:center;padding:0 0 2px;cursor:pointer}
.composer-plus:hover,.composer-plus[aria-expanded="true"]{background:var(--peri-soft);color:var(--iris-dk);border-color:var(--peri)}
.composer-menu{position:absolute;left:0;bottom:calc(100% + 10px);min-width:272px;max-width:min(360px,calc(100vw - 40px));background:var(--surface);border:1px solid var(--hair-2);border-radius:14px;box-shadow:0 14px 44px -14px rgba(21,19,24,.28),var(--shadow);padding:6px;z-index:6}
.composer-menu .composer-tool{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:0;border-radius:9px;background:transparent;padding:9px 11px;color:var(--ink);font:500 13px/1.35 var(--ui);cursor:pointer;position:relative}
.composer-menu .composer-tool small{font-size:11px;font-weight:400;color:var(--ink-3);line-height:1.4}
.composer-menu .composer-tool:hover,.composer-menu .composer-tool:focus-visible{background:var(--peri-soft);outline:0}
.composer-menu .file-button input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.composer-menu-foot{margin:6px 11px 4px;font:11px/1.5 var(--mono);color:var(--ink-3);border-top:1px solid var(--hair-soft);padding-top:8px}
.composer-menu-foot:empty{display:none}
.composer-options>.creative-task-control,.composer-options>.request-image-options{display:inline-flex;align-items:center;height:32px;border:1px solid transparent;border-radius:999px;padding:0 4px 0 10px;color:var(--ink-2);font:500 12.5px/1 var(--ui);background:transparent;gap:6px}
.composer-options>.creative-task-control:hover,.composer-options>.request-image-options:hover{background:var(--paper-2);border-color:var(--hair)}
.composer-options>.creative-task-control select{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0 16px 0 0;color:inherit;font:inherit;max-width:190px;text-overflow:ellipsis;cursor:pointer;height:30px}
.composer-options>.creative-task-control{position:relative}.composer-options>.creative-task-control::after{content:"";position:absolute;right:9px;top:calc(50% - 5px);width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);opacity:.75;pointer-events:none}
.composer-options>.creative-task-control select:focus-visible{outline:2px solid var(--peri);outline-offset:2px;border-radius:6px}
.composer-options>.request-image-options{position:relative;padding:0}
.request-image-options>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;cursor:pointer;border-radius:999px;white-space:nowrap;font:500 12.5px/1 var(--ui);color:inherit}
.request-image-options>summary::-webkit-details-marker{display:none}
.request-image-options>summary::before{content:"";display:inline-block;width:11px;aspect-ratio:var(--request-aspect,4 / 5);max-height:14px;border:1.5px solid currentColor;border-radius:2px;flex-shrink:0}
.request-image-options[open]>summary{background:var(--peri-soft);color:var(--iris-dk)}
.request-image-options .image-option-fields{position:absolute;left:0;bottom:calc(100% + 10px);width:300px;max-width:calc(100vw - 40px);display:grid;gap:14px;background:var(--surface);border:1px solid var(--hair-2);border-radius:14px;box-shadow:0 14px 44px -14px rgba(21,19,24,.28),var(--shadow);padding:14px;z-index:6;color:var(--ink);font-size:13px;text-align:left}
.image-option-fields .request-creation-control,.image-option-fields .creative-task-control{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;color:var(--ink-2);min-width:0}
.image-count-stepper{display:inline-flex;align-items:center;border:1px solid var(--hair-2);border-radius:10px;overflow:hidden;width:max-content;background:var(--paper)}
.image-count-stepper button{width:36px;height:36px;border:0;background:transparent;color:var(--ink);font-size:18px;line-height:1}
.image-count-stepper button:disabled{opacity:.35}
.image-count-stepper input{width:48px;height:36px;border:0;text-align:center;background:transparent;color:var(--ink);font:500 14px var(--ui);-moz-appearance:textfield}
.image-count-stepper input::-webkit-inner-spin-button,.image-count-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.image-option-fields select{width:100%;min-height:36px;border:1px solid var(--hair-2);border-radius:9px;background:var(--paper);color:var(--ink);padding:0 10px;font:13px var(--ui)}
.image-option-fields .aspect-preview{display:inline-block;width:16px;aspect-ratio:var(--request-aspect,4 / 5);max-height:20px;border:1.5px solid currentColor;border-radius:3px;vertical-align:middle;margin:0 6px 0 4px}
.image-count-help{font-size:11px;color:var(--ink-3);line-height:1.5}
#compose-format-option[hidden]{display:none}
#creative-preference-control[hidden],#creative-choice-help[hidden]{display:none}
.composer-icon,.send-button{width:34px;height:34px;border-radius:50%;border:0;display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;font-size:0;line-height:0;cursor:pointer}
.composer-icon{background:transparent;color:var(--ink-2);margin-right:2px}
.composer-icon:hover{background:var(--paper-2);color:var(--ink)}
.composer-icon[aria-pressed="true"]{background:var(--caramel-soft);color:var(--brick)}
.composer-icon svg,.send-button svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#voice-input .icon-stop{display:none}#voice-input[aria-pressed="true"] .icon-mic{display:none}#voice-input[aria-pressed="true"] .icon-stop{display:block;fill:currentColor;stroke:none}
.send-button{background:var(--accent-button);color:#fff}.send-button svg{stroke-width:2.4}
.send-button:hover{background:var(--iris-dk)}
.send-button:disabled{opacity:.45}
.composer-foot{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:6px 8px 0;font-size:12px;color:var(--ink-3)}
.composer-foot:not(:has(> :not([hidden]):not(:empty):not([data-default="true"]))){display:none}
.composer-foot .batch-note{font-size:12px}
.composer-foot .batch-note:empty{display:none}
.creative-task-help{margin:0;font-size:12px;line-height:1.5;color:var(--ink-3);max-width:720px}
.creative-task-help:empty,.creative-task-help[data-default="true"]{display:none}
.composer-error{margin:0;font-size:12px;color:var(--brick);line-height:1.5}
.composer-error:empty{display:none}
.voice-status{font-size:12px;padding:8px 12px;background:var(--peri-soft);color:var(--iris-dk);border-radius:9px;line-height:1.5}
.voice-status button{border:0;background:transparent;text-decoration:underline;color:inherit;padding:0;font:inherit}
.pilot-limits{font-size:11px;color:var(--ink-3);line-height:1.6}
.pilot-limits summary{cursor:pointer}
.pilot-limits p{padding-top:4px;max-width:600px}
:root[data-theme="dark"] .composer-options option,:root[data-theme="dark"] .image-option-fields option{background:var(--surface);color:var(--ink)}
@media(max-width:1150px){.composer-wrap{width:calc(100% - 36px)}}
@media(max-width:740px){.composer-wrap{width:calc(100% - 20px);padding:4px 0 10px}.composer-card{border-radius:16px;padding:6px 8px 5px}.composer textarea{font-size:16px}.composer-options>.creative-task-control select{max-width:132px}.composer-menu{min-width:240px}.request-image-options .image-option-fields{left:auto;right:0}}
@media(max-width:480px){.composer-options{gap:0;flex-wrap:nowrap}.composer-plus-wrap{margin-right:2px}.composer-options>.creative-task-control,.composer-options>.request-image-options{padding-left:5px;min-width:0}.composer-options>.creative-task-control select{max-width:88px;font-size:12px;padding-right:18px}.composer-options>.creative-task-control::after{right:7px}.request-image-options>summary{padding:0 7px;gap:5px}.composer-icon{margin-right:0}.composer-spacer{min-width:0}.request-image-options .image-option-fields{width:min(300px,calc(100vw - 32px))}}
@media(max-width:360px){.composer-options>.creative-task-control select{max-width:72px}.request-image-options>summary{padding:0 5px}}

/* Owner / admin account view: one heading, a tablist, the active pane; panes mounted embedded (no standalone chrome). */
.account-tabs{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--hair-2);border-radius:999px;background:var(--paper-2);margin:4px 0 18px}
.account-tab{border:0;background:transparent;color:var(--ink-2);border-radius:999px;padding:8px 16px;font:500 13px/1 var(--ui);cursor:pointer;min-height:36px}
.account-tab:hover{color:var(--ink)}.account-tab[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.account-tab:focus-visible{outline:2px solid var(--peri);outline-offset:2px}
.account-pane .nativeAdmin>header{display:none}
@media(max-width:480px){.account-tabs{width:100%;justify-content:stretch}.account-tab{flex:1;padding:8px 10px;font-size:12px}}

/* Products / picker filters: search always visible; the facet set is a disclosure (open on desktop, collapsed on phones). */
.catalog-filters{display:block}
.catalog-filters>input{width:100%;margin-bottom:10px}
.catalog-filter-set{margin:0}
.catalog-filter-toggle{display:none;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--hair-2);border-radius:10px;background:var(--surface);color:var(--ink);font:500 13px var(--ui);cursor:pointer;list-style:none;width:max-content}
.catalog-filter-toggle::-webkit-details-marker{display:none}
.catalog-filter-toggle::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);margin-right:2px;transition:transform .15s}
.catalog-filter-set[open]>.catalog-filter-toggle::before{transform:rotate(45deg)}
.catalog-filter-count{min-width:20px;height:20px;border-radius:10px;background:var(--iris);color:#fff;font:600 11px/20px var(--mono);text-align:center;padding:0 6px}
.catalog-filter-fields{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.form-section .catalog-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.picker-body .catalog-filter-fields{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
@media(max-width:1150px){.picker-body .catalog-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.catalog-filter-fields{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:740px){.catalog-filter-toggle{display:inline-flex}.catalog-filter-set{margin-bottom:12px}.catalog-filter-fields,.form-section .catalog-filter-fields,.picker-body .catalog-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:10px}}
@media(prefers-reduced-motion:reduce){.catalog-filter-toggle::before{transition:none}}

/* Generated images (native delivered outputs) in My work. */
#generated-images{margin-bottom:24px}#generated-images .section-title{font:500 14px/1.4 var(--sans,inherit);color:var(--ink-3);margin:0 0 10px}.native-output .collage.single{display:block;width:100%;overflow:hidden;background:var(--surface-2,#0f1117)}.native-output .collage.single img{width:100%;height:100%;object-fit:cover;display:block}
/* Empty states with the next action (My work / Library), and bounded thumbnail placeholders inside collection collages. */
.empty-productions{display:grid;justify-items:center;gap:8px;padding:48px 20px}
.empty-productions h2{font:400 24px var(--disp);letter-spacing:-.3px;margin:0}
.empty-productions p{margin:0;max-width:360px;font-size:13px;line-height:1.6;color:var(--ink-3)}
.empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.empty-productions .btn{margin-top:0}
.collage{position:relative}
.collage .placeholder{aspect-ratio:auto;width:100%;height:100%;min-height:0;font-size:11px;line-height:1.3;padding:8px;text-align:center;border-radius:0}
.collage>.btn{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);z-index:1;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.collage>.btn~.btn{display:none}
.production-card .collage img{display:block}
@media(max-width:740px){.empty-productions{padding:36px 16px}.empty-productions h2{font-size:20px}}
.production-grid .empty{grid-column:1/-1}
/* Metrics page (10 Nov 2026): owner/admin usage, tokens and money. */
.nativeMetrics .metrics-controls{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.nativeMetrics .metrics-controls label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--ink-3)}
.nativeMetrics .metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:22px}
.nativeMetrics .metrics-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-bottom:22px}
.nativeMetrics .usage-table small{display:block;font-size:10px;color:var(--ink-3);white-space:nowrap}
.nativeMetrics [data-metrics-status]{font-size:12px;color:var(--ink-3);margin:0 0 14px}
.nativeMetrics [data-metrics-error]:empty{display:none}
@media (max-width:720px){.nativeMetrics .account-heading{flex-direction:column}}
