/* Shared production glass materials. Structure and all action bindings remain in their feature modules. */
.vt{--bg-canvas:#eeeae7;--bg-surface:rgba(255,255,255,.72);--bg-raised:rgba(255,255,255,.88);--bg-item-tile:#e8e5e1;--text-primary:#28252d;--text-secondary:#625d69;--text-tertiary:#6d6672;--brand:#613e55;--brand-pressed:#4d2f43;--brand-subtle:#e5d7e0;--border-subtle:rgba(255,255,255,.8);--border-default:#c6bdc4;--glass:rgba(255,255,255,.52);--glass-line:rgba(255,255,255,.88);--dock:rgba(245,240,236,.3);--elevation-1:0 5px 18px rgba(68,46,60,.045);--elevation-2:0 18px 44px rgba(68,46,60,.09);background:radial-gradient(ellipse at 0% 5%,#eadce3 0,transparent 54%),radial-gradient(ellipse at 100% 80%,#e0e4dc 0,transparent 52%),var(--bg-canvas)}
.vt.dark{--bg-canvas:#201e24;--bg-surface:rgba(48,44,54,.78);--bg-raised:rgba(55,50,61,.94);--bg-item-tile:#35313a;--text-primary:#f3eeef;--text-secondary:#cdc2cd;--text-tertiary:#b8aebc;--brand:#dfb9d3;--brand-pressed:#cfa1bf;--on-brand:#35202f;--brand-subtle:#4a3545;--border-subtle:rgba(233,218,235,.15);--border-default:#756875;--glass:rgba(51,45,57,.65);--glass-line:rgba(240,224,241,.22);--dock:rgba(49,43,53,.48);background:radial-gradient(ellipse at 0% 0%,#3d2e3c 0,transparent 60%),radial-gradient(ellipse at 100% 80%,#28312f 0,transparent 55%),var(--bg-canvas)}
#app{max-width:none;box-shadow:none;width:100%;padding:0;isolation:isolate}
#app .screen{min-width:0}.screen>.vt-top{padding:calc(env(safe-area-inset-top,0px) + 18px) 22px 16px;gap:10px;background:transparent}.screen>.vt-body{padding:8px 22px calc(108px + env(safe-area-inset-bottom,0px));scrollbar-width:thin;scroll-padding-bottom:120px}.vt-top .t-h1{font-size:30px}.vt[dir=ltr] .t-h1{font-family:var(--font-display);font-weight:600}.home-top .home-date{margin-bottom:8px}.home-date .weather{background:var(--glass);border:1px solid var(--glass-line);border-radius:999px}
.card,.list,.stat,.ad-card,.ad-kpi{border:1px solid var(--glass-line);border-radius:26px;background:var(--bg-surface);box-shadow:var(--elevation-1)}.card,.list,.stat,.ad-card,.ad-kpi,.vt-nav,.ad-side,.sheet{backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%)}.card.hero{border-radius:32px}.card.flat{border-color:var(--glass-line)}.list.flat{background:transparent;box-shadow:none}.li{min-height:56px}.li:last-child{border-bottom:0}.tile{border-radius:20px}.item-cap{padding:9px 3px}.btn,.ad-btn,.chip{transition:background .2s,box-shadow .2s,transform .2s}.btn:active,.ad-btn:active,.icon-btn:active{transform:scale(.97)}.btn-secondary{background:var(--glass);border-color:var(--glass-line)}.icon-btn.filled,.avatar{background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--elevation-1)}.btn-sm{min-height:44px;height:auto;padding-top:8px;padding-bottom:8px}.input,.ad-input,.ad-select{border-radius:16px;background:var(--glass);min-height:48px}.input input,.input textarea,.ad-input,.ad-select{font-size:16px}.tabs{padding:5px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line)}.tabs button{min-height:44px;border-radius:999px}.tabs button.on{background:var(--brand-subtle);box-shadow:0 2px 8px #3825310a}.chip{min-height:44px;border-radius:999px}.chips{gap:8px}.search{border-radius:999px;background:var(--glass)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#app .vt-nav{position:absolute;z-index:15;bottom:max(6px,calc(env(safe-area-inset-bottom,0px) - 12px));left:20px;right:20px;height:76px;padding:7px 10px;gap:4px;border:1px solid var(--glass-line);border-radius:999px;background:var(--dock);box-shadow:0 12px 35px #40303b12;display:flex;align-items:center;justify-content:space-around;transform:none!important}
#app .vt-nav a{position:relative;flex:1;max-width:70px;min-width:44px;width:auto;height:60px;min-height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);padding:0;font-size:0}#app .vt-nav a.on{background:var(--brand-subtle);color:var(--brand)}#app .vt-nav .add{width:60px;height:60px;position:static;margin:0;transform:none;background:var(--brand);color:var(--on-brand);box-shadow:0 7px 22px #613e5520;display:grid;place-items:center;border-radius:50%}.nav-stylist-image{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--glass-line)}.vt-nav a.on .nav-stylist-image{outline:2px solid var(--brand);outline-offset:2px}
.overlay .sheet{border:1px solid var(--glass-line);background:var(--bg-raised);border-radius:30px 30px 0 0;max-width:640px;margin:auto;width:100%;box-shadow:var(--elevation-3)}.liquid-image-viewer .sheet{max-width:900px;max-height:94%;gap:12px}.liquid-full-look{display:block;max-width:100%;max-height:72dvh;object-fit:contain;border-radius:20px;align-self:center}.toast{z-index:60;bottom:calc(110px + env(safe-area-inset-bottom,0px));background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--glass-line);backdrop-filter:blur(20px)}.toast .act{color:inherit}.toast>svg{color:inherit;flex-shrink:0}
.liquid-home-grid,.liquid-item-grid,.liquid-calendar-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0}.liquid-primary,.liquid-secondary{display:flex;flex-direction:column;gap:20px;min-width:0}
/* The hero uses the existing preview request/cache; expanding a photo never generates another one. */
.today-card{position:relative;cursor:default;overflow:hidden;min-height:500px;padding:0!important;gap:0!important;background:var(--bg-item-tile)}.today-look{position:relative;min-height:500px;height:min(68dvh,700px);width:100%}.today-look>.cprev-wrap{height:100%;display:flex;flex-direction:column}.today-look .cprev{flex:1;min-height:0;position:relative}.today-look .cprev-grid{height:100%;padding:70px 18px 125px}.today-look .cprev-grid.under{display:none!important}.today-look .cprev-layer{position:absolute;inset:0;aspect-ratio:auto!important;border-radius:0}.today-look .cprev-layer img{object-fit:cover;cursor:zoom-in}.today-look .cprev-layer .badge{top:66px}.today-look .cprev-strip{display:none!important}.today-look .cprev-ctl{position:absolute;top:66px;left:18px;right:18px;z-index:2;background:var(--bg-raised);border-radius:14px;padding:8px;font-size:12px;line-height:18px}.today-look .cprev-ctl:empty{display:none}.liquid-look-title{position:absolute;top:20px;inset-inline-start:20px;max-width:calc(100% - 40px);z-index:3;border:1px solid var(--glass-line);background:var(--glass);backdrop-filter:blur(18px);border-radius:999px;padding:6px 16px;font-size:16px;font-weight:500}.liquid-piece-bar{position:absolute;bottom:18px;left:16px;right:16px;z-index:3;display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--glass-line);border-radius:25px;background:var(--glass);backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%)}.liquid-piece-bar .pieces{display:flex;flex:1;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:none}.liquid-piece-bar .tile-link{flex:1 0 44px;max-width:70px;min-width:44px;display:block}.liquid-piece-bar .tile{border-radius:13px;background:rgba(255,255,255,.72);border:1px solid white;aspect-ratio:1}.liquid-piece-bar>.icon-btn{background:var(--glass);border:1px solid var(--glass-line);flex-shrink:0;width:46px;height:46px}.today-menu{z-index:5;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);background:var(--glass);border-radius:inherit;gap:14px}.today-menu .btn{width:min(82%,340px);height:54px}.today-card.menu>.today-look,.today-card.menu>.liquid-look-title,.today-card.menu>.liquid-piece-bar{filter:blur(10px);pointer-events:none}.liquid-look-extras{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.liquid-look-extras .row{flex-wrap:wrap}.liquid-look-extras .btn{padding-inline:14px}
/* Expanded layouts keep controls on the same physical side for both text directions. */
#app.liquid-roomy .screen>.vt-body{padding-left:28px;padding-right:108px;padding-bottom:32px}#app.liquid-roomy .screen>.vt-top{padding-left:28px;padding-right:108px}#app.liquid-rail .vt-nav{left:auto;right:18px;width:64px;height:auto;top:50%;bottom:auto;transform:translateY(-50%)!important;flex-direction:column;padding:8px 4px;gap:10px}#app.liquid-rail .vt-nav a{flex:none;width:54px;height:54px}#app.liquid-rail .vt-nav .add{width:50px;height:50px}#app.liquid-roomy .liquid-home-grid,#app.liquid-roomy .liquid-item-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--fold-gap,24px);align-items:start}#app.liquid-roomy .liquid-primary{position:sticky;top:0}#app.liquid-roomy .liquid-secondary{padding-top:4px}#app.liquid-roomy .today-look{height:calc(var(--view-height,100dvh) - 150px);min-height:450px}#app.liquid-roomy .g3:not(.lay3){grid-template-columns:repeat(4,minmax(0,1fr))}#app.liquid-roomy .stat.c{min-width:0}#app.liquid-roomy .liquid-secondary .g3{grid-template-columns:repeat(3,minmax(0,1fr))}#app.liquid-roomy .stylist-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#app.liquid-roomy .screen[data-path="/login"] .vt-body,#app.liquid-roomy .screen[data-path="/register"] .vt-body,#app.liquid-roomy .screen[data-path="/onboarding"] .vt-body{width:min(100%,680px);align-self:center}
#app[data-layout=duo-tabletop].liquid-roomy .liquid-home-grid,#app[data-layout=duo-tabletop].liquid-roomy .liquid-item-grid{grid-template-columns:minmax(0,1fr);gap:var(--fold-gap)}#app[data-layout=duo-tabletop] .liquid-primary{position:relative;min-height:calc(var(--segment-a,45dvh) - 100px)}#app[data-layout=duo-tabletop] .today-look{height:calc(var(--segment-a,48dvh) - 100px);min-height:280px}#app[data-layout=duo-tabletop] .today-card{min-height:280px}#app[data-layout=duo-book][data-real-segments="1"] .liquid-home-grid,#app[data-layout=duo-book][data-real-segments="1"] .liquid-item-grid{grid-template-columns:calc(var(--segment-a) - 28px) minmax(0,1fr)}
@media(min-width:1400px){#app .screen>.vt-body{padding-left:max(28px,calc((100vw - 1400px)/2));padding-right:max(108px,calc((100vw - 1400px)/2 + 80px))}}@media(max-width:390px){.screen>.vt-body{padding-inline:14px}.screen>.vt-top{padding-inline:14px}#app .vt-nav{left:12px;right:12px}.today-look{min-height:460px}.today-card{min-height:460px}.liquid-piece-bar{left:10px;right:10px;padding:9px;gap:5px}.liquid-piece-bar .pieces{gap:4px}}
/* Admin uses the same materials, preserving its full navigation and operational tables. */
#admin{background-attachment:fixed;min-height:100dvh}.ad-shell{padding:18px;gap:14px;grid-template-columns:248px minmax(0,1fr)}.ad-side{border:1px solid var(--glass-line);border-radius:28px;background:var(--glass);top:18px;height:calc(100dvh - 36px);overflow-y:auto}.ad-nav{gap:5px}.ad-nav button{min-height:44px;border-radius:15px}.ad-nav button.on{background:var(--brand-subtle)}.ad-main{padding:14px 18px 40px;max-width:none}.ad-head h1{font-size:30px;line-height:42px}.ad-card{padding:22px;gap:16px}.ad-kpi{padding:20px}.ad-kpi .n{font-weight:500;font-size:34px;line-height:44px}.ad-btn,.ad-btn.sm{min-height:44px;height:auto;border-radius:999px;padding:8px 15px;background:var(--glass);border-color:var(--glass-line)}.ad-btn.primary{background:var(--brand);color:var(--on-brand)}.ad-seg{border-radius:999px;padding:4px;background:var(--glass)}.ad-seg button{height:44px;border-radius:999px}.ad-table-wrap{max-width:100%;overscroll-behavior-x:contain}.ad-table td{padding:14px 10px}.ad-modal{backdrop-filter:blur(6px)}.ad-modal .box{border-radius:28px;background:var(--bg-raised);border:1px solid var(--glass-line);box-shadow:var(--elevation-3)}.ad-auth .box{padding:28px;border:1px solid var(--glass-line);border-radius:30px;background:var(--bg-surface);box-shadow:var(--elevation-2)}
@media(max-width:900px){.ad-shell{padding:10px;grid-template-columns:minmax(0,1fr)}.ad-side{height:auto;position:static;border-radius:24px;overflow:visible}.ad-nav{padding-bottom:4px}.ad-nav button{flex-shrink:0}.ad-main{padding:12px 4px 30px}.ad-card{padding:16px}.ad-head h1{font-size:26px}.ad-row .ad-input{min-width:0}.ad-modal .box{max-width:calc(100vw - 20px)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.vt{--glass:#f5f0ed;--dock:#f5f0ed;--bg-surface:#f9f6f3}.vt.dark{--glass:#36303c;--dock:#36303c;--bg-surface:#36303c}.today-menu{background:var(--bg-raised)}}
@media(prefers-reduced-transparency:reduce){.vt{--glass:#f6f1ef;--dock:#f6f1ef;--bg-surface:#f9f6f3}.vt.dark{--glass:#36303c;--dock:#36303c;--bg-surface:#36303c}.card,.vt-nav,.ad-side,.sheet{backdrop-filter:none;-webkit-backdrop-filter:none}.today-menu{background:var(--bg-raised)}}
@media(prefers-reduced-motion:reduce){.vt *, .vt *:before,.vt *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.social-auth{display:flex;flex-direction:column;gap:10px}.social-auth .help{text-align:center}.social-google{font-family:system-ui;font-weight:700;font-size:22px}.onboarding-body{gap:18px}.onboarding-progress{display:flex;gap:7px}.onboarding-progress span{height:4px;flex:1;background:var(--border-default);border-radius:99px}.onboarding-progress .on{background:var(--brand)}.onboarding-options,.onboarding-brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.onboarding-option{text-align:start;min-height:82px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;color:var(--text-primary);font:inherit;cursor:pointer}.onboarding-option.selected{border-color:var(--brand);background:var(--brand-subtle);box-shadow:0 0 0 1px var(--brand)}.onboarding-options .onboarding-option svg{opacity:0}.onboarding-options .onboarding-option.selected svg{opacity:1}.onboarding-photo{min-height:180px;align-items:center;text-align:center;justify-content:center;color:var(--text-primary);font:inherit}.onboarding-photo label{align-items:flex-start;text-align:start}.onboarding-photo input{flex-shrink:0;width:22px;height:22px;accent-color:var(--brand)}@media(max-width:440px){.onboarding-options{grid-template-columns:1fr}.onboarding-brands .onboarding-option{padding:14px;font-size:14px;min-height:74px}}
#app{height:var(--view-height,100dvh);top:var(--view-top,0px);bottom:auto}.screen>.composer{flex-shrink:0;margin:0 16px calc(104px + env(safe-area-inset-bottom,0px));padding:8px;border:1px solid var(--glass-line);border-radius:999px;background:var(--glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}#app.liquid-roomy .screen>.composer{margin:8px 108px 22px 28px}#app .screen:has(>.composer)>.vt-body{padding-bottom:14px}.bubble.ai{background:var(--bg-surface);border:1px solid var(--glass-line);border-radius:24px 24px 24px 8px}.bubble.me{background:var(--brand);color:var(--on-brand);border-radius:24px 24px 8px 24px}.vt .tabs button.on{color:var(--text-primary)}#app[data-layout=duo-book][data-real-segments="1"] .liquid-home-grid,#app[data-layout=duo-book][data-real-segments="1"] .liquid-item-grid{direction:ltr}.vt[dir=rtl] .liquid-primary,.vt[dir=rtl] .liquid-secondary{direction:rtl}.vt[dir=ltr] .liquid-primary,.vt[dir=ltr] .liquid-secondary{direction:ltr}
#app.liquid-roomy:not(.liquid-rail) .screen>.vt-body,#app.liquid-roomy:not(.liquid-rail) .screen>.vt-top{padding-right:28px}
.vt .btn{max-width:100%;height:auto;min-height:48px;white-space:normal;text-align:center;padding-block:10px}.vt .btn-sm{min-height:44px}.vt .icon-btn{flex-shrink:0}@media(max-width:440px){.screen[data-path="/calendar"]>.vt-top{gap:2px;padding-inline:14px}.screen[data-path="/calendar"] .vt-top .t-h1{font-size:24px}.screen[data-path="/calendar"] .vt-top .nowrap{font-size:14px}.screen[data-path="/calendar"] .vt-top .icon-btn{width:44px}}
#admin .btn{border:1px solid var(--glass-line);background:var(--glass);border-radius:999px;min-height:44px}#admin .btn.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.ad-stylist-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.ad-stylist-grid article{align-items:stretch}.ad-stylist-photo{align-self:center;border-radius:50%;border:2px solid var(--glass-line)}
#app:not(:has(>.vt-nav)) .screen>.vt-body{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.ad-stylist-form textarea.ad-input{height:auto;min-height:110px;padding:12px}.social-google{color:#4285f4;font-family:system-ui;background:#fff;border-radius:50%;width:24px;height:24px;line-height:24px}

#app.liquid-roomy .liquid-calendar-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--fold-gap,24px);align-items:start}#app[data-layout=duo-book][data-real-segments="1"] .liquid-calendar-grid{direction:ltr;grid-template-columns:calc(var(--segment-a) - 28px) minmax(0,1fr)}#app[data-layout=duo-tabletop] .liquid-calendar-grid{grid-template-columns:minmax(0,1fr);gap:var(--fold-gap)}
