/* Approved October 20 studio direction. Existing controls and visibility own behavior. */
@import url('https://fonts.googleapis.com/css2?family=Italiana&display=swap');
body.app-ready { --font-display:'Italiana',Georgia,serif; }
body.app-ready :is(#page-clients,#page-today,#page-client-detail,#page-client-wardrobe,#page-client-looks) { --font-display:'Italiana',Georgia,serif; --vu-paper:light-dark(#f6f3ea,#232820); --vu-surface:light-dark(#f6f3ea,#232820); --vu-linen:light-dark(#eeeee2,#30372b); --vu-ink:light-dark(#30382d,#ebe9df); --vu-muted:light-dark(#656e60,#b6bdad); --vu-line:light-dark(#d7d7c9,#48503f); --vu-olive:light-dark(#394c36,#b5c4a7); }
#page-clients,#page-client-detail,#page-client-wardrobe,#page-client-looks { max-width:1360px; margin-inline:auto; width:100%; }
#page-clients .page-title,#page-client-detail .client-name-large,#page-today .today-greeting { font-family:var(--font-display)!important; font-style:normal!important; font-weight:400; }
#page-clients .page-title { font-size:54px!important; }
#page-clients #clients-grid { display:block; }
#page-clients .vu-client-card { border:0; border-bottom:1px solid var(--vu-line); border-radius:0; background:transparent; padding:24px 0; }
#page-clients .vu-client-open { padding:0; gap:30px; grid-template-columns:130px minmax(0,1fr) 24px; }
#page-clients .vu-client-photo { width:130px; height:150px; border-radius:0; }
#page-clients .vu-client-copy strong { font:38px/1.15 var(--font-display); font-family:var(--font-display)!important; }
#page-clients .vu-client-actions { border:0; margin-left:160px; padding:12px 0 0; }
#page-clients .vu-client-copy { gap:9px; }
#page-clients .clients-roster-filter-btn[aria-pressed=true] { border-color:transparent!important; border-bottom-color:var(--vu-ink)!important; background:transparent!important; border-radius:0!important; }
#page-today .today-view { max-width:1360px; padding:40px 48px!important; }
#page-today .today-greeting { font-size:64px; }
#page-today .today-attention-list { gap:0; }
#page-today .today-attention-row { background:transparent; border:0; border-bottom:1px solid var(--vu-line); border-radius:0; padding:24px 0; grid-template-columns:100px minmax(0,1fr) auto; }
#page-today .today-attention-photo { width:100px; height:124px; border-radius:0; }
#page-today .today-attention-headline { font:32px/1.15 var(--font-display); font-family:var(--font-display)!important; }
#page-today .today-attention-label { font:30px/1.2 var(--font-display)!important; }
#page-today .today-synthesis-line { max-width:60ch; }
#page-client-wardrobe .vp-grid,#page-client-detail .wardrobe-grid { gap:24px; }

#page-client-looks .look-gallery-card { border-radius:0; box-shadow:none; }
body.app-ready :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(min-width:1200px){#page-clients{padding:40px 48px}#page-client-wardrobe .vp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){
 #page-clients { padding:28px 20px; }
 #page-clients .page-title { font-size:44px!important; }
 #page-clients .vu-client-open { grid-template-columns:74px minmax(0,1fr) 14px; gap:15px; }
 #page-clients .vu-client-photo { width:74px; height:100px; }
 #page-clients .vu-client-copy strong { font-size:29px; overflow-wrap:anywhere; }
 #page-clients .vu-client-actions { margin-left:89px; flex-wrap:wrap; }
 #page-today .today-view { padding:28px 20px!important; }
 #page-today .today-greeting { font-size:48px; }
 #page-today .today-attention-row { grid-template-columns:64px minmax(0,1fr); gap:16px; }
 #page-today .today-attention-photo { width:64px; height:84px; }
 #page-today .today-attention-headline { font-size:27px; }
 #page-today .today-attention-row>.vu-work-button { grid-column:2; justify-self:start; }
}
/* Existing closet and saved-look pages use background images, not image elements. */
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-nav,.vp-filters,.vp-grid,.vp-looks-grid) { background:var(--vu-paper);border-color:var(--vu-line); }
:is(#page-client-wardrobe,#page-client-looks) .vp-nav { flex-wrap:wrap; }
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-back,.vp-tab,.vp-filter-btn,.vp-item-brand,.vp-item-cat,.vp-look-date,.vp-empty) { color:var(--vu-muted); }
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-client-name,.vp-item-name,.vp-look-name) { color:var(--vu-ink); }
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-tab,.vp-filter-btn) { min-height:44px;background:transparent;border-radius:0;border-color:transparent; }
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-tab.active,.vp-filter-btn.active) { color:var(--vu-ink);background:var(--vu-linen);border-bottom:1px solid var(--vu-ink); }
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-item-card,.vp-look-card) { background:transparent;border:0;border-radius:0; }
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-item-img,.vp-look-img) { background-size:contain;background-repeat:no-repeat;background-color:var(--vu-linen); }
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-item-name,.vp-item-brand,.vp-item-cat) { white-space:normal;font-size:13px;overflow-wrap:anywhere; }
:is(#page-client-wardrobe,#page-client-looks) .vp-empty-btn { background:var(--vu-olive);color:var(--vu-paper);min-height:44px;border:0; }
@media(max-width:640px){
 :is(#page-client-wardrobe,#page-client-looks) .vp-nav {padding:20px;gap:14px}
 :is(#page-client-wardrobe,#page-client-looks) .vp-tabs {flex-basis:100%;flex-wrap:wrap}
 :is(#page-client-wardrobe,#page-client-looks) :is(.vp-grid,.vp-looks-grid){padding:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;min-height:0}
 #page-client-looks .vp-looks-grid{grid-template-columns:1fr}
 #page-client-wardrobe .vp-filters{padding:12px 20px}
}

:is(#page-client-wardrobe.active,#page-client-looks.active){background:var(--vu-paper)!important;color:var(--vu-ink)}

#page-client-wardrobe .vp-item-img{display:grid;place-items:center}
#page-client-wardrobe .vp-image-status{font:13px/1.5 var(--font-ui);color:var(--vu-muted);padding:16px;text-align:center}
:is(#page-client-wardrobe,#page-client-looks) .vp-fab{background:var(--vu-olive);color:var(--vu-paper);box-shadow:none;min-height:44px}
:is(#page-client-wardrobe,#page-client-looks) :is(.vp-grid,.vp-looks-grid){padding-bottom:120px}

/* Native Studio controls retain the existing numbered-row appearance. */
#page-outfits .outfit-slot-pick{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:44px;padding:0;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}
#page-outfits .outfit-item-remove{min-width:44px;min-height:44px}
#page-outfits .outfit-list-item{text-align:left;font-family:inherit;font-size:.85rem;line-height:inherit;width:100%;cursor:pointer}
#page-outfits .outfit-list-item:not(.active):not(:hover){background:transparent;color:inherit}
#slot-item-picker .item-thumb{text-align:left;color:inherit;font:inherit;padding:0}
#slot-item-picker .item-thumb-info,#slot-item-picker .item-thumb-name{display:block}
#page-outfits .outfit-save-status{font-size:12px;color:var(--vw-muted,var(--muted));margin:8px 0 0;line-height:1.5}
#page-outfits :is(.outfit-slot-pick,.outfit-list-item,.outfit-item-remove):focus-visible,#slot-item-picker .item-thumb:focus-visible{outline:2px solid var(--vw-accent,var(--accent));outline-offset:3px}

/* The Studio uses the same paired workspace colors in explicit and system themes. */
body.app-ready #page-outfits{
 --font-display:'Velvet Studio',Georgia,serif;
 --parchment:var(--vw-paper);--vellum:var(--vw-surface);--linen:var(--vw-paper);--seam:var(--vw-line);
 --charcoal:var(--vw-ink);--slate:var(--vw-muted);--ash:var(--vw-muted);
 --text:var(--vw-ink);--muted:var(--vw-muted);--surface:var(--vw-surface);--surface2:var(--vw-paper);--border:var(--vw-line);
 --olive:var(--vw-accent);--accent:var(--vw-accent);--olive-muted:var(--vw-surface);--ghost-bg:var(--vw-surface);--ghost-border:var(--vw-line);--danger:#b42318;
 color:var(--vw-ink);background:var(--vw-paper);width:100%;max-width:1360px;margin-inline:auto;min-width:0;
}
body.app-ready #page-outfits .page-header{flex-wrap:wrap;gap:16px}
body.app-ready #page-outfits .page-title{color:var(--vw-ink);min-width:0}
body.app-ready #page-outfits #outfits-body{width:100%;min-width:0;max-width:100%}
body.app-ready #page-outfits #outfit-editor{min-width:0;max-width:100%}
body.app-ready #page-outfits #outfit-editor .card{background:var(--vw-surface);color:var(--vw-ink);border-color:var(--vw-line)}
body.app-ready #page-outfits .outfit-list-item{color:var(--vw-ink)}
body.app-ready #page-outfits .outfit-list-item:is(.active,:hover){color:var(--vw-ink);background:var(--vw-surface);border-color:var(--vw-accent)}
body.app-ready #page-outfits :is(.outfit-editor-split,.outfit-items-list-col,.outfit-canvas-col){min-width:0;max-width:100%}
body.app-ready #page-outfits #outfit-commission{color:var(--vw-accent)!important}
@media(max-width:900px){
 body.app-ready #page-outfits #outfits-body{flex-direction:column;align-items:stretch!important}
 body.app-ready #page-outfits #outfits-body>div{width:100%!important;min-width:0;max-width:100%;flex:none!important}
 body.app-ready #page-outfits .outfit-editor-split{flex-direction:column;align-items:stretch}
 body.app-ready #page-outfits :is(.outfit-items-list-col,.outfit-canvas-col){width:100%;flex:auto}
}

:root[data-theme="dark"] body.app-ready #page-outfits{--danger:#fda4af}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) body.app-ready #page-outfits{--danger:#fda4af}}

/* Approved revision 2: canonical Closet images beside a deterministic outfit board. */
body.app-ready #page-outfits.studio-image-workspace{max-width:1600px;padding:24px 36px 80px}
body.app-ready #page-outfits.studio-image-workspace #outfits-body{display:grid!important;grid-template-columns:minmax(290px,30%) minmax(0,1fr);gap:12px;align-items:start!important}
body.app-ready #page-outfits.studio-image-workspace #outfits-body>.studio-closet{width:auto!important;min-width:0;max-width:none;padding:18px;border:1px solid var(--vw-line);border-radius:4px;background:var(--vw-surface)}
body.app-ready #page-outfits.studio-image-workspace #outfit-editor{padding:18px 14px 14px;border:1px solid var(--vw-line);border-radius:4px;background:var(--vw-surface);width:100%!important}
.studio-closet-heading{display:flex;gap:12px;justify-content:space-between;align-items:start;margin-bottom:14px}
.studio-closet-heading h2{font:400 38px/1.05 var(--font-display);letter-spacing:-.04em;margin:0 0 6px}
.studio-closet-heading p,.studio-compose-title p{font-size:14px;line-height:1.5;color:var(--vw-muted);margin:0}
.studio-closet-heading .btn{font-size:12px;white-space:nowrap;padding:10px 12px}
.studio-closet-filters{display:flex;gap:8px;overflow:auto;padding:0 0 12px;margin:0 0 2px;scrollbar-width:thin}
.studio-closet-filters button{border:1px solid var(--vw-line);border-radius:999px;background:transparent;color:var(--vw-ink);padding:7px 16px;min-height:36px;white-space:nowrap;cursor:pointer;font:13px var(--font-ui)}
.studio-closet-filters button[aria-pressed=true]{background:var(--vw-paper);border-color:var(--vw-accent)}
.studio-closet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:690px;overflow:auto;align-content:start;scrollbar-width:thin}
.studio-closet-piece{display:flex;flex-direction:column;min-width:0;max-width:100%;padding:0 0 8px;background:transparent;border:1px solid var(--vw-line);border-radius:4px;color:var(--vw-ink);text-align:left;overflow:hidden;cursor:pointer;font:14px/1.35 var(--font-ui)}
.studio-closet-piece[aria-pressed=true]{border:2px solid var(--vw-accent);padding-bottom:7px}
.studio-closet-image{display:block;position:relative;aspect-ratio:1;min-width:0;width:100%;background:var(--vw-paper)}
.studio-closet-image img{width:100%;height:100%;object-fit:contain;display:block}
.studio-closet-piece-name{display:block;padding:8px 10px 4px;overflow-wrap:anywhere}
.studio-piece-meta{display:block;margin-inline:10px;font-size:11px;color:var(--vw-muted)}
.studio-in-outfit{position:absolute;bottom:6px;left:6px;background:var(--vw-accent);color:var(--vw-on-accent);font-size:11px;line-height:1.3;padding:3px 6px;border-radius:2px}
.studio-image-unavailable{display:flex;align-items:center;justify-content:center;height:100%;padding:12px;font-size:12px;line-height:1.5;color:var(--vw-muted)}
.studio-closet-note{font-size:11px;color:var(--vw-muted);line-height:1.5;margin:12px 0}
.studio-saved-outfits{border-top:1px solid var(--vw-line);padding-top:12px;font-size:12px}
.studio-saved-outfits>summary{cursor:pointer;margin-bottom:10px}
.studio-compose-heading{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.studio-compose-title{flex:1 1 260px;min-width:0}
body.app-ready #page-outfits #outfit-name{font:400 clamp(28px,2.7vw,40px)/1.15 var(--font-display);letter-spacing:-.035em;padding:0;min-height:46px;border:0;background:transparent;width:100%;min-width:0!important;color:var(--vw-ink)}
.studio-occasion{display:flex;align-items:center;gap:10px;font-size:12px;flex:0 1 auto}
body.app-ready #page-outfits .studio-occasion select{min-width:100px!important;font-size:13px;max-width:150px}
.studio-save-area{display:flex;gap:14px;align-items:center}
#page-outfits .studio-save-area .outfit-save-status{max-width:180px;font-size:11px;line-height:1.4;margin:0}
.studio-save-area .btn{min-width:130px}
.studio-composition-notice{font-size:12px;color:var(--vw-muted);line-height:1.5;margin:0 0 10px}
.studio-composition-notice:empty{display:none}
.studio-composition{position:relative;isolation:isolate;min-width:0;height:520px;background:var(--vw-paper);border-radius:4px;overflow:hidden}
.studio-board-piece{position:absolute;display:flex;align-items:center;justify-content:center;min-width:0;padding:4px;border:1px solid transparent;background:transparent;border-radius:4px;color:var(--vw-muted);cursor:pointer;font:15px/1.4 var(--font-display)}
.studio-board-piece img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px #0001)}
.studio-board-piece small{display:block;font:11px/1.4 var(--font-ui)}
.studio-board-piece[aria-pressed=true]{border-color:var(--vw-accent)}
.studio-board-empty{border:1px dashed var(--vw-line);font-size:14px}
.studio-board-top{left:5%;top:8%;width:44%;height:57%;z-index:2}
.studio-board-bottom{left:49%;top:7%;width:30%;height:83%;z-index:1}
.studio-board-shoes{left:6%;top:67%;width:41%;height:30%;z-index:3}
.studio-board-bag{left:73%;top:58%;width:25%;height:37%;z-index:3}
.studio-board-accessory{left:80%;top:25%;width:18%;height:26%;z-index:2}
.studio-board-outerwear{left:2%;top:3%;width:43%;height:60%;z-index:1}
.studio-board-outerwear.studio-board-empty{left:80%;top:3%;width:18%;height:17%}
.studio-has-outerwear .studio-board-top{left:2%;width:32%;height:52%;top:12%}
.studio-has-outerwear .studio-board-outerwear{left:30%;width:32%;height:60%}
.studio-has-outerwear .studio-board-bottom{left:60%;width:23%}
.studio-piece-toolbar{position:absolute;top:12px;left:16px;right:16px;z-index:10;display:flex;gap:12px;align-items:center;width:max-content;max-width:calc(100% - 32px);padding:9px 12px;border:1px solid var(--vw-line);background:var(--vw-surface);color:var(--vw-ink);box-shadow:0 4px 14px #0001;border-radius:4px;font-size:12px}
.studio-piece-toolbar>span{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-piece-toolbar button{border:0;border-left:1px solid var(--vw-line);background:transparent;color:inherit;padding:4px 0 4px 12px;cursor:pointer;min-height:32px;font:inherit}
.studio-selected-pieces{padding:12px;background:var(--vw-paper);border-radius:4px;margin-top:0}
.studio-selected-pieces h3{font:400 16px/1.3 var(--font-display);margin:0 0 8px}
.studio-selected-strip{display:flex;gap:10px;flex-wrap:wrap}
.studio-selected-chip{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 145px;max-width:280px;border:1px solid var(--vw-line);border-radius:4px;padding:5px;font-size:11px}
.studio-selected-chip img{width:34px;height:38px;object-fit:contain}
.studio-selected-chip>span{flex:1;min-width:0;overflow-wrap:anywhere}
.studio-selected-chip button{font:11px var(--font-ui);background:transparent;border:0;color:var(--vw-muted);padding:6px;min-height:32px;cursor:pointer}
.studio-slot-details,.studio-optional-ai,.studio-more-actions{font-size:12px;border-top:1px solid var(--vw-line);padding-top:12px;margin-top:12px}
.studio-slot-details>summary,.studio-optional-ai>summary,.studio-more-actions>summary{cursor:pointer;min-height:32px;color:var(--vw-ink)}
.studio-optional-ai>summary{font:400 18px/1.5 var(--font-display)}
.studio-optional-ai .btn{margin:4px 8px 8px 0}
body.app-ready #page-outfits .studio-composition :is(button):focus-visible,body.app-ready #page-outfits .studio-closet-piece:focus-visible{outline:2px solid var(--vw-accent);outline-offset:-3px}
@media(min-width:1500px){.studio-composition{height:590px}.studio-closet-grid{max-height:760px}}
@media(max-width:1000px){body.app-ready #page-outfits.studio-image-workspace{padding:20px}.studio-compose-title{flex-basis:100%}.studio-composition{height:460px}.studio-save-area{flex:1;justify-content:flex-end}}
@media(max-width:760px){
 body.app-ready #page-outfits.studio-image-workspace #outfits-body{display:flex!important;flex-direction:column}
 body.app-ready #page-outfits.studio-image-workspace #outfits-body>.studio-closet{width:100%!important;padding:14px}
 .studio-closet-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:310px;gap:8px}
 .studio-closet-heading h2{font-size:32px}.studio-closet-piece-name{font-size:12px;padding:6px}.studio-piece-meta{margin-inline:6px}
 .studio-composition{height:400px}.studio-compose-title{flex-basis:100%}.studio-save-area{flex-wrap:wrap;justify-content:flex-start}.studio-save-area .btn{min-width:116px}
 .studio-piece-toolbar{left:8px;top:8px;gap:8px;padding:6px 8px;font-size:11px}.studio-piece-toolbar>span{max-width:135px}
}
@media(max-width:420px){.studio-closet-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px}.studio-composition{height:350px}.studio-selected-chip{flex-basis:130px}.studio-save-area .outfit-save-status{max-width:150px}}
.studio-outfit-empty{padding:48px 32px;border:1px solid var(--vw-line);background:var(--vw-surface);min-height:380px;border-radius:4px}
.studio-outfit-empty h2{font:400 40px/1.15 var(--font-display);margin:0 0 14px;color:var(--vw-ink)}
.studio-outfit-empty p{font-size:15px;line-height:1.6;color:var(--vw-muted);max-width:40ch;margin-bottom:20px}
.studio-composition.studio-drop-active{outline:2px dashed var(--vw-accent);outline-offset:-4px}
