.auth-card,.card,.ds-table-wrap,.section-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r)}.card-pad,.section-card{padding:var(--space-4h)}.section-card{margin-bottom:var(--space-4h)}.auth-card{border-radius:var(--r-lg);padding:clamp(var(--space-6),5vw,var(--space-9));box-shadow:var(--shadow-2)}.list-row,.pay-method,.q-token,.svc-row{display:flex;align-items:center;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface)}.list-row{gap:var(--space-3h);padding:var(--space-4)}.q-token{gap:var(--space-3)}.q-token,.svc-row{padding:var(--space-3h) var(--space-4)}.svc-row{gap:var(--space-3h);cursor:pointer;transition:border-color var(--dur-lift) var(--ease)}.pay-method{padding:var(--space-3h);margin-bottom:var(--space-2h);cursor:pointer;width:100%;text-align:left}.list,.pay-method{gap:var(--space-3)}.list{display:flex;flex-direction:column}.list-row>*{min-width:0}.list-row .grow{flex:1 1;min-width:0}.list-row .r-title{font-weight:600}.list-row .r-sub{font-size:var(--fs-caption);color:var(--ink-3);margin-top:2px}.badge,.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);font-weight:600;padding:var(--space-1) var(--space-2h);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);border:1px solid var(--hairline);min-width:0;overflow-wrap:anywhere}.status-pill{text-transform:capitalize}.badge svg,.status-pill svg{width:13px;height:13px}.badge.ok,.status-pill.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge.warn,.status-pill.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.danger,.status-pill.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge.info,.status-pill.info{background:var(--info-soft);color:var(--info);border-color:transparent}.badge.accent,.status-pill.accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.badge.muted,.status-pill.muted{background:var(--surface);color:var(--ink-3);border-color:var(--hairline)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.danger{background:var(--danger)}.dot.info{background:var(--info)}.verified{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-micro);font-weight:600;padding:3px var(--space-2);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent)}.verified svg{width:12px;height:12px}.chip-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.field{display:flex;flex-direction:column;gap:var(--space-1h);margin-bottom:var(--space-4)}.field label,.field-label{font-size:var(--fs-caption);font-weight:600;color:var(--ink-2)}.field-label .req{color:var(--danger)}.field-area,.field-input,.field-select,.input{width:100%;background:var(--surface);border:1px solid var(--hairline-2);color:var(--ink);border-radius:var(--r-sm);padding:var(--space-3) var(--space-3h);font-size:var(--fs-card);font-family:inherit;min-height:48px;outline:none;transition:border-color var(--dur-lift) var(--ease),box-shadow var(--dur-lift) var(--ease)}.field-area:focus,.field-input:focus,.field-select:focus,.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-area::placeholder,.field-input::placeholder,.input::placeholder{color:var(--ink-3)}.field.invalid .field-input,.field.invalid .input{border-color:var(--danger)}.field-err{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);color:var(--danger)}.field-hint{color:var(--ink-3);font-size:var(--fs-caption)}.input-group,.phone-row{display:flex;align-items:stretch}.phone-row{gap:var(--space-2)}.input-prefix,.phone-prefix{display:flex;align-items:center;padding:0 var(--space-3h);border:1px solid var(--hairline-2);background:var(--elevated);color:var(--ink-2);font-weight:600}.phone-prefix{border-radius:var(--r-sm)}.input-prefix{border-right:none;border-radius:var(--r-sm) 0 0 var(--r-sm)}.input-group .field-input,.input-group .input{border-radius:0 var(--r-sm) var(--r-sm) 0}.empty,.state{text-align:center;padding:var(--space-15) var(--space-5)}.state{color:var(--ink-3)}.empty{max-width:420px;margin:0 auto}.state .state-emoji{font-size:var(--fs-h1);margin-bottom:var(--space-2h)}.empty-ic{width:var(--space-16);height:var(--space-16);border-radius:var(--r);display:grid;place-items:center;margin:0 auto var(--space-4h);background:var(--surface);border:1px solid var(--hairline);color:var(--ink-3)}.empty-ic svg{width:var(--space-7);height:var(--space-7)}.empty h3{font-size:var(--fs-h4);margin-bottom:var(--space-2)}.empty p{color:var(--ink-2);margin:0 0 var(--space-4h)}.spinner{width:var(--space-5h);height:var(--space-5h);border:2.5px solid var(--hairline-2);border-top-color:var(--accent);border-radius:50%;animation:spin var(--dur-long) linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.alert-inline,.banner-error{padding:var(--space-3) var(--space-3h);border-radius:var(--r-sm);font-size:var(--fs-sm)}.alert-inline{display:flex;align-items:center;gap:var(--space-2h)}.banner-error{background:var(--danger-soft);color:var(--danger);margin-bottom:var(--space-4)}.app-shell{min-height:100svh;display:flex;flex-direction:column}.app-top{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);min-height:var(--app-top-h);border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-top,.app-top .wrap{display:flex;align-items:center}.app-top .wrap{gap:var(--space-3h);width:100%;flex-wrap:wrap;row-gap:var(--space-2);padding-block:var(--space-2)}.app-top .logo{margin-right:auto}.app-top .icon-btn,.app-top .notif-wrap{flex:none}.app-main{flex:1 1;padding:clamp(var(--space-5),4vw,var(--space-10)) 0 var(--space-20)}.page-head{margin-bottom:var(--space-6)}.page-head h1{font-size:clamp(var(--fs-h2),4vw,34px);font-weight:800;letter-spacing:var(--ls-title)}.page-head p{color:var(--ink-2);margin-top:var(--space-1h)}.help-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:var(--space-10);gap:var(--space-10);align-items:start}.help-layout.rail-wide{grid-template-columns:minmax(0,1fr) 320px}.help-layout>*{min-width:0}.help-layout>aside{grid-template-columns:minmax(0,1fr)}@media (max-width:760px){.help-layout,.help-layout.rail-wide{grid-template-columns:minmax(0,1fr);gap:var(--space-7)}}.auth-wrap{max-width:440px;margin:0 auto;padding:0 var(--space-5)}.auth-h{font-size:var(--fs-screen);font-weight:800;letter-spacing:var(--ls-title);margin-bottom:var(--space-2)}.auth-sub{color:var(--ink-2);font-size:var(--fs-body);margin-bottom:var(--space-6h)}.auth-foot{text-align:center;color:var(--ink-3);font-size:var(--fs-caption);margin-top:var(--space-4h)}.otp-row{display:flex;gap:var(--space-2h);justify-content:space-between}.otp-cell{width:100%;aspect-ratio:1;text-align:center;font-size:var(--fs-h3);font-weight:700;background:var(--surface);border:1.5px solid var(--hairline-2);border-radius:var(--r-sm);color:var(--ink);font-family:var(--font-mono)}.otp-cell:focus{outline:none;border-color:var(--accent)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.svc-list{display:flex;flex-direction:column;gap:var(--space-2h)}.svc-row.sel{border-color:var(--accent);background:var(--accent-soft)}.svc-row .svc-meta{flex:1 1}.svc-row .svc-name{font-weight:600}.svc-row .svc-dur{font-size:var(--fs-caption);color:var(--ink-3)}.svc-row .svc-price{font-family:var(--font-mono);font-weight:700}.svc-check{width:var(--space-5h);height:var(--space-5h);border-radius:var(--space-1h);border:1.5px solid var(--hairline-2);display:grid;place-items:center;color:var(--accent-ink)}.svc-row.sel .svc-check{background:var(--accent);border-color:var(--accent)}.summary-bar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;gap:var(--space-3h);padding:var(--space-4);margin-top:var(--space-6);border-top:1px solid var(--hairline);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.summary-total{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h3)}.summary-bar .btn{margin-left:auto}.book-layout{display:grid;grid-template-columns:1fr 320px;grid-gap:var(--space-7);gap:var(--space-7);align-items:start}.book-summary{position:-webkit-sticky;position:sticky;top:calc(var(--app-top-h) + var(--space-4h))}.datestrip{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1h);margin-bottom:var(--space-4h)}.date-pill{flex:none;width:66px;text-align:center;padding:var(--space-2h) 0;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface);cursor:pointer}.date-pill.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.date-pill .d{font-size:var(--fs-micro);opacity:.7}.date-pill .n{font-weight:800;font-size:var(--fs-title);font-family:var(--font-display)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));grid-gap:var(--space-2h);gap:var(--space-2h)}.slot{padding:var(--space-2h);text-align:center;border:1px solid var(--hairline);border-radius:11px;font-weight:600;font-size:var(--fs-sm);background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color var(--dur-lift) var(--ease)}.slot:hover{border-color:var(--hairline-2)}.slot.on{background:var(--accent);color:var(--accent-ink)}.pay-method.on,.slot.on{border-color:var(--accent)}.pay-method.on{background:var(--accent-soft)}.pay-method .radio{width:var(--space-5);height:var(--space-5);border-radius:50%;border:2px solid var(--hairline-2);flex:none}.pay-method.on .radio{border-color:var(--accent);border-width:var(--space-1h)}.pay-method .pm-ic{width:38px;height:38px;border-radius:var(--space-2h);display:grid;place-items:center;background:var(--elevated);flex:none;color:var(--ink-2)}.token-card{min-width:0;overflow-wrap:anywhere;text-align:center;background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-lg);padding:var(--space-8);box-shadow:var(--shadow-2)}.token-num{font-family:var(--font-display);font-weight:800;font-size:var(--fs-mega);line-height:var(--lh-tight);color:var(--accent)}.token-meta{display:flex;justify-content:center;gap:var(--space-8);margin-top:var(--space-5)}.token-meta .v{font-size:var(--fs-screen);font-weight:800;font-family:var(--font-display)}.token-meta .l{font-size:var(--fs-xs);color:var(--ink-3)}.partner-subnav{border-bottom:1px solid var(--hairline);background:var(--bg);position:-webkit-sticky;position:sticky;top:var(--app-top-h);z-index:var(--z-sticky)}.partner-subnav .wrap{display:flex;gap:var(--space-1);overflow-x:auto}.psub{padding:var(--space-3h) var(--space-4);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;white-space:nowrap}.psub:hover{color:var(--ink)}.psub.active{color:var(--accent);border-bottom-color:var(--accent)}.q-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--space-6);gap:var(--space-6)}.q-col{display:flex;flex-direction:column;gap:var(--space-2h)}.q-token .num{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h2);color:var(--accent);min-width:44px}.q-actions{margin-left:auto;display:flex;gap:var(--space-2)}.notif-btn,.notif-wrap{position:relative}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 var(--space-1);border-radius:var(--r-pill);background:var(--danger);color:var(--accent-ink);font-size:var(--fs-nano);font-weight:800;display:grid;place-items:center;line-height:var(--lh-tight)}.notif-panel{position:absolute;top:calc(100% + var(--space-2));right:0;width:340px;max-width:90vw;background:var(--elevated);border:1px solid var(--hairline-2);border-radius:var(--r-sm);box-shadow:var(--shadow-3);z-index:var(--z-popover);overflow:hidden;animation:pop var(--dur-micro) var(--ease)}.notif-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-3h);border-bottom:1px solid var(--hairline)}.notif-readall{font-size:var(--fs-xs);font-weight:600;color:var(--accent);background:none}.notif-list{max-height:60vh;overflow-y:auto}.notif-empty{padding:var(--space-7) var(--space-3h);text-align:center;color:var(--ink-3);font-size:var(--fs-sm)}.notif-item{padding:var(--space-3) var(--space-3h);border-bottom:1px solid var(--hairline)}.notif-item.unread{background:var(--accent-soft)}.notif-title{font-weight:600;font-size:var(--fs-sm)}.notif-body{font-size:var(--fs-caption);color:var(--ink-2);margin-top:2px}.notif-time{font-size:var(--fs-micro);color:var(--ink-3);margin-top:var(--space-1)}.account{position:relative;display:inline-flex}.account-btn{width:38px;height:38px;border-radius:var(--r-pill);display:grid;place-items:center;background:var(--surface);border:1px solid var(--hairline-2);color:var(--accent);transition:border-color var(--dur-micro) var(--ease)}.account-btn:hover{border-color:var(--accent)}.account-avatar{font-size:var(--fs-caption);font-weight:800;letter-spacing:.02em;line-height:var(--lh-tight)}.account-menu{min-width:244px;padding:var(--space-2)}.account-menu button{display:flex;align-items:center;gap:var(--space-2h);width:100%}.account-menu button[disabled]{opacity:.5}.account-head{padding:var(--space-1h) var(--space-3) var(--space-2h);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-1h)}.account-name{font-weight:700;font-size:var(--fs-sm);color:var(--ink)}.account-phone{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}.account-section{margin-top:var(--space-1h);padding-top:var(--space-1h);border-top:1px solid var(--hairline)}.account-label{text-transform:uppercase;letter-spacing:var(--ls-wide);padding:var(--space-1) var(--space-3)}.account-label,.account-role{font-size:var(--fs-micro);color:var(--ink-3)}.account-role{margin-left:auto;text-transform:capitalize}.account-div{height:1px;background:var(--hairline);margin:var(--space-1h) 0}.account-menu .account-logout{color:var(--danger)}.account-menu .account-logout:hover{background:var(--danger-soft);color:var(--danger)}.mobile-auth-row{display:flex;gap:var(--space-2h);margin-bottom:var(--space-2h)}@media (max-width:760px){.book-layout{grid-template-columns:1fr}.book-summary{order:2;position:static}.q-board{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.q-token{flex-wrap:wrap}.q-actions{margin-left:0;width:100%}}.disc-search{display:flex;gap:var(--space-2);max-width:620px;background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-pill);padding:7px 7px 7px var(--space-2)}.ds-f{display:flex;align-items:center;gap:9px;padding:var(--space-1h) var(--space-2h);color:var(--ink-3)}.ds-f,.ds-f input{flex:1 1;min-width:0}.ds-f input{border:none;background:none;outline:none;color:var(--ink);font-size:var(--fs-body)}.ds-f:focus-within{border-radius:var(--r-pill);box-shadow:var(--focus-ring)}.map-pin{position:absolute;transform:translate(-50%,-100%);cursor:pointer}.map-pin .bub{padding:var(--space-1h) 11px;border-radius:var(--r-pill);background:var(--surface);border:1.5px solid var(--hairline-2);font-weight:700;font-size:var(--fs-xs);white-space:nowrap}.map-pin.active .bub{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.map-pin .stem{display:block;width:2px;height:var(--space-2);background:var(--hairline-2);margin:0 auto}.sec{margin-bottom:var(--space-6h)}.sec-h{font-family:var(--font-body);font-weight:400;line-height:var(--lh-body);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:0 0 var(--space-2h)}.set-list{display:flex;flex-direction:column}.set-row{border-radius:0;border-bottom:none;padding:15px var(--space-4);transition:background .15s}.set-row:first-child{border-radius:var(--r) var(--r) 0 0}.set-row:last-child{border-radius:0 0 var(--r) var(--r);border-bottom:1px solid var(--hairline)}a.set-row:hover{background:var(--elevated)}.set-text{min-width:0}.set-row .lbl{font-weight:600;font-size:var(--fs-sm)}.set-row .sub{font-size:var(--fs-xs);color:var(--ink-3);margin-top:2px}.set-row .val{margin-left:auto;color:var(--ink-3);font-size:var(--fs-caption);flex:none}.set-row .set-ctl{margin-left:auto;flex:none;display:flex;align-items:center;gap:var(--space-2)}.set-row .set-ctl .local-only{color:var(--ink-3);opacity:.7}.set-row .chev{margin-left:auto;color:var(--ink-3);flex:none}.set-row.is-static{opacity:.85}.chev-next,.chev-right{transform:rotate(-90deg)}.chev-left,.chev-prev,[dir=rtl] .chev-next,[dir=rtl] .chev-right{transform:rotate(90deg)}[dir=rtl] .chev-left,[dir=rtl] .chev-prev{transform:rotate(-90deg)}.arrow-back{transform:rotate(180deg)}[dir=rtl] .arrow-back{transform:none}.addr-ic,.set-ic{width:38px;height:38px;border-radius:var(--space-2h);display:grid;place-items:center;background:var(--bg-2);color:var(--accent);flex:none}.chips-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.note{font-size:var(--fs-xs);color:var(--ink-3);margin-top:var(--space-3h)}@media (prefers-reduced-motion:reduce){.set-row{transition:none}}.bill-line{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-sm);padding:var(--space-1h) 0;color:var(--ink-2)}.bill-line .num{font-family:var(--font-mono);color:var(--ink)}.bill-line.total{color:var(--ink);border-top:1px solid var(--hairline);margin-top:var(--space-2);padding-top:var(--space-3);font-weight:700;font-size:var(--fs-lg)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100svh}.ds-sidebar{position:-webkit-sticky;position:sticky;top:0;height:100svh;display:flex;flex-direction:column;gap:var(--space-1h);background:var(--bg-2);border-right:1px solid var(--hairline);padding:var(--space-4h) var(--space-3h);overflow-y:auto}.sb-brand{display:flex;align-items:center;gap:var(--space-2h);padding:var(--space-1h) var(--space-2) var(--space-4);font-family:var(--font-display);font-weight:800;font-size:var(--fs-h4);letter-spacing:var(--ls-display)}.sb-brand .logo-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.sb-brand .logo-mark svg{width:18px;height:18px}.sb-tag{letter-spacing:.1em;background:var(--surface);padding:2px var(--space-1h);border-radius:var(--space-1h);margin-left:auto}.sb-group,.sb-tag{font-size:var(--fs-nano);font-family:var(--font-mono);color:var(--ink-3)}.sb-group{letter-spacing:.14em;text-transform:uppercase;padding:var(--space-3h) var(--space-2h) var(--space-1h)}.sb-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2h) var(--space-3);border-radius:11px;color:var(--ink-2);font-weight:500;font-size:var(--fs-sm);position:relative}.sb-link svg{width:19px;height:19px;flex:none}.sb-link:hover{background:var(--surface);color:var(--ink)}.sb-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sb-link.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--accent);border-radius:0 3px 3px 0}.sb-link .sb-count{margin-left:auto;font-size:var(--fs-micro);font-weight:700;padding:2px var(--space-2);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2)}.sb-link.active .sb-count{background:var(--accent);color:var(--accent-ink)}.sb-foot{margin-top:auto;padding-top:var(--space-3h);border-top:1px solid var(--hairline)}.sb-user{display:flex;align-items:center;gap:var(--space-2h);padding:var(--space-2);border-radius:var(--space-3)}.sb-user:hover{background:var(--surface)}.sb-avatar{width:38px;height:38px;border-radius:50%;flex:none}.sb-user .nm{font-size:var(--fs-caption);font-weight:600}.sb-user .rl{font-size:var(--fs-micro);color:var(--ink-3)}.ds-main{display:flex;flex-direction:column;min-width:0}.ds-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3h);padding:var(--space-3h) clamp(var(--space-4h),3vw,var(--space-7h));background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline);min-height:68px}.tb-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h4);letter-spacing:var(--ls-title)}.tb-sub{font-size:var(--fs-xs);color:var(--ink-3)}.tb-burger{display:none}.tb-spacer{margin-left:auto}.ds-content{padding:clamp(var(--space-4h),3vw,var(--space-7h));flex:1 1;max-width:1400px;width:100%}.tb-search{display:flex;align-items:center;gap:var(--space-2);flex:1 1;max-width:380px;padding:var(--space-2) var(--space-3h);border-radius:11px;background:var(--surface);border:1px solid var(--hairline);color:var(--ink-3)}.tb-search input{border:none;background:none;outline:none;color:var(--ink);width:100%;font-size:var(--fs-sm)}.tb-search:focus-within{box-shadow:var(--focus-ring);border-color:var(--accent)}.tb-search svg{width:17px;height:17px}.cnav{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-nav);display:flex;gap:var(--space-3h);height:var(--nav-h);padding:0 clamp(var(--space-4),3vw,var(--space-7));background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline)}.cnav,.cnav .logo{align-items:center}.cnav .logo{display:inline-flex;gap:var(--space-2);font-family:var(--font-display);font-weight:800;font-size:var(--fs-title);letter-spacing:var(--ls-display)}.cnav .logo-mark{width:30px;height:30px;border-radius:var(--space-2);display:grid;place-items:center;background:var(--accent);color:var(--accent-ink)}.cnav .logo-mark svg{width:17px;height:17px}.cnav-links{display:flex;gap:var(--space-5);margin-left:var(--space-2)}.cnav-links a{font-size:var(--fs-sm);font-weight:500;color:var(--ink-2)}.cnav-links a.active,.cnav-links a:hover{color:var(--ink)}.cnav-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-2h)}.botnav{display:none;position:fixed;z-index:var(--z-botnav);left:0;right:0;bottom:0;height:var(--botnav-h);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--hairline)}.botnav-in{display:flex;height:100%}.botnav a{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:var(--fs-nano);font-weight:600;color:var(--ink-3)}.botnav a svg{width:22px;height:22px}.botnav a span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.botnav a.active{color:var(--accent)}.seg{display:inline-flex;padding:var(--space-1);gap:3px;border-radius:var(--space-3);background:var(--surface);border:1px solid var(--hairline)}.seg button{font-size:var(--fs-caption);font-weight:600;padding:var(--space-1h) var(--space-3h);border-radius:9px;color:var(--ink-2)}.seg button.active{background:var(--accent-soft);color:var(--accent)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--space-3h);gap:var(--space-3h);margin-bottom:var(--space-6h)}.kpi{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:var(--space-4h)}.kpi-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3h)}.kpi-ic{width:var(--space-10);height:var(--space-10);border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.kpi-ic svg{width:var(--space-5);height:var(--space-5)}.kpi-delta{font-size:var(--fs-xs);font-weight:700;padding:3px var(--space-2);border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:3px}.kpi-delta.up{background:var(--ok-soft);color:var(--ok)}.kpi-delta.down{background:var(--danger-soft);color:var(--danger)}.kpi .v,.kpi-val{font-family:var(--font-display);font-weight:800;font-size:var(--fs-h1);letter-spacing:var(--ls-title);line-height:var(--lh-tight)}.kpi .l,.kpi-label{font-size:var(--fs-caption);color:var(--ink-3);margin-top:var(--space-1h)}.kpi-spark{display:flex;align-items:flex-end;gap:3px;height:var(--space-7h);margin-top:var(--space-3h)}.kpi-spark span{flex:1 1;background:var(--accent);opacity:.5;border-radius:3px 3px 0 0;min-height:3px}.kpi-spark span:last-child{opacity:1}.ds-table-wrap{overflow-x:auto;--tbl-fade:28px;background-image:linear-gradient(to right,var(--surface),var(--surface) var(--tbl-fade),transparent),linear-gradient(to left,var(--surface),var(--surface) var(--tbl-fade),transparent),linear-gradient(to right,var(--hairline-2),transparent),linear-gradient(to left,var(--hairline-2),transparent);background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:calc(var(--tbl-fade) * 2) 100%,calc(var(--tbl-fade) * 2) 100%,var(--tbl-fade) 100%,var(--tbl-fade) 100%;background-attachment:local,local,scroll,scroll;background-clip:padding-box}.ds-table-wrap.in-card{border:0;border-radius:0;background-color:transparent}.ds-table,.dtable{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.ds-table th,.dtable th{text-align:left;font-size:var(--fs-micro);font-weight:600;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--ink-3);padding:var(--space-3h) var(--space-4);border-bottom:1px solid var(--hairline);white-space:nowrap;background:var(--bg-2)}.ds-table th.sortable,.dtable th.sortable{cursor:pointer}.ds-table th.sortable:hover,.dtable th.sortable:hover{color:var(--ink)}.ds-table td,.dtable td{padding:var(--space-3h) var(--space-4);border-bottom:1px solid var(--hairline);color:var(--ink-2);vertical-align:middle}.ds-table tbody tr:last-child td,.dtable tbody tr:last-child td{border-bottom:none}.ds-table tbody tr,.dtable tbody tr{transition:background var(--dur-micro) var(--ease)}.ds-table tbody tr:hover,.dtable tbody tr:hover{background:var(--bg-2)}.ds-table .strong,.dtable .strong{color:var(--ink);font-weight:600}.ds-table .num,.dtable .num{font-family:var(--font-mono);color:var(--ink)}.switch{width:46px;height:27px;border-radius:var(--r-pill);background:var(--hairline-2);position:relative;cursor:pointer;transition:background var(--dur-short) var(--ease);flex:none;border:none;padding:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:var(--knob);transition:transform var(--dur-short) var(--ease);box-shadow:var(--knob-shadow)}.switch.on{background:var(--accent)}.switch.on:after{transform:translateX(19px)}.stepper{flex-wrap:wrap;row-gap:var(--space-2h);gap:0;margin-bottom:var(--space-7h)}.step,.stepper{display:flex;align-items:center}.step{gap:var(--space-2h);flex:none}.step-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:var(--fs-sm);background:var(--surface);border:1.5px solid var(--hairline-2);color:var(--ink-3);flex:none}.step.active .step-num{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.step.done .step-num{background:var(--accent-soft);color:var(--accent);border-color:transparent}.step-label{font-size:var(--fs-caption);font-weight:600;color:var(--ink-3);white-space:nowrap}.step.active .step-label,.step.done .step-label{color:var(--ink)}.step-line{flex:1 1;height:2px;background:var(--hairline);margin:0 var(--space-3);border-radius:2px;position:relative;overflow:hidden;min-width:var(--space-4h)}.step-line .fill{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-reveal) var(--ease)}.step-line.done .fill{transform:scaleX(1)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--hairline);margin-bottom:var(--space-5h)}.tab{padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);font-weight:600;color:var(--ink-3);position:relative;background:none}.tab.active,.tab:hover{color:var(--ink)}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px}.scrim{position:fixed;inset:0;z-index:var(--z-scrim);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity var(--dur-sheet) var(--ease)}.scrim.open{opacity:1;pointer-events:auto}.modal{position:fixed;z-index:var(--z-dialog);top:50%;left:50%;transform:translate(-50%,-46%);width:min(520px,calc(100vw - var(--space-8)));max-height:88vh;overflow:auto;background:var(--elevated);border:1px solid var(--hairline-2);border-radius:var(--r-lg);box-shadow:var(--shadow-3);opacity:0;pointer-events:none;transition:opacity var(--dur-sheet) var(--ease),transform var(--dur-sheet) var(--ease)}.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5h);border-bottom:1px solid var(--hairline)}.modal-body{padding:var(--space-5h)}.modal-foot{padding:var(--space-4) var(--space-5h);border-top:1px solid var(--hairline);display:flex;gap:var(--space-2h);justify-content:flex-end}.drawer{position:fixed;z-index:var(--z-dialog);top:0;right:0;height:100svh;width:min(440px,100vw);background:var(--elevated);border-left:1px solid var(--hairline-2);box-shadow:var(--shadow-3);transform:translateX(100%);transition:transform var(--dur-sheet) var(--ease);display:flex;flex-direction:column}.drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5h);border-bottom:1px solid var(--hairline)}.drawer-body{flex:1 1}.drawer-body,.sheet{padding:var(--space-5h);overflow:auto}.sheet{position:fixed;z-index:var(--z-dialog);left:0;right:0;bottom:0;background:var(--elevated);border-top:1px solid var(--hairline-2);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-3);transform:translateY(100%);transition:transform var(--dur-sheet) var(--ease);max-height:88svh}.sheet.open{transform:none}.sheet-grip{width:var(--space-10);height:4px;border-radius:var(--r-pill);background:var(--hairline-2);margin:0 auto var(--space-3h)}.toast-wrap{position:fixed;z-index:var(--z-toast);top:var(--space-4h);right:var(--space-4h);flex-direction:column}.toast,.toast-wrap{display:flex;gap:var(--space-2h)}.toast{align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--space-3h);background:var(--elevated);border:1px solid var(--hairline-2);box-shadow:var(--shadow-3);font-size:var(--fs-sm);font-weight:500;transform:translateX(120%);animation:toastin var(--dur-screen) var(--ease) forwards}.toast.out{animation:toastout var(--dur-exit) var(--ease) forwards}@keyframes toastin{to{transform:none}}@keyframes toastout{to{transform:translateX(120%);opacity:0}}.toast .t-ic{width:30px;height:30px;border-radius:var(--space-2);display:grid;place-items:center;flex:none}.toast.ok .t-ic{background:var(--ok-soft);color:var(--ok)}.toast.err .t-ic{background:var(--danger-soft);color:var(--danger)}.toast.info .t-ic{background:var(--info-soft);color:var(--info)}.skel{background:var(--elevated);border-radius:var(--space-2);position:relative;overflow:hidden}.skel:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--sweep),transparent);animation:shimmer var(--dur-shimmer) infinite}.skel-line{height:var(--space-3);border-radius:var(--space-1h);background:var(--elevated);margin:var(--space-2) 0}.bars{display:flex;align-items:flex-end;gap:var(--space-2h);height:180px;padding:var(--space-2h) 0}.bars .bar-col{flex:1 1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:var(--space-2);height:100%}.bars .bar-fill{width:100%;max-width:38px;background:linear-gradient(180deg,var(--accent),var(--accent-700));border-radius:var(--space-1h) var(--space-1h) 0 0;min-height:4px;transition:height var(--dur-success) var(--ease)}.bars .bar-x{font-size:var(--fs-micro);color:var(--ink-3)}.hbar{display:flex;flex-direction:column}.hbar,.hbar-row{gap:var(--space-3)}.hbar-row{display:grid;grid-template-columns:120px 1fr 54px;align-items:center;grid-gap:var(--space-3);font-size:var(--fs-caption)}.hbar-track{height:var(--space-3);background:var(--hairline);overflow:hidden}.hbar-fill,.hbar-track{border-radius:var(--r-pill)}.hbar-fill{height:100%;background:var(--accent);transition:width var(--dur-success) var(--ease)}@media (max-width:1000px){.app{grid-template-columns:1fr}.ds-sidebar{position:fixed;z-index:var(--z-offcanvas);left:0;top:0;width:var(--sidebar-w);transform:translateX(-100%);visibility:hidden;transition:transform var(--dur-sheet) var(--ease),visibility 0s linear var(--dur-sheet)}.ds-sidebar.open{transform:none;visibility:visible;transition:transform var(--dur-sheet) var(--ease),visibility 0s linear 0s}.tb-burger{display:grid}}@media (max-width:760px){.cnav-links{display:none}.botnav{display:block}body.has-botnav{padding-bottom:var(--botnav-h)}.hbar-row{grid-template-columns:90px 1fr 44px}}@media (max-width:560px){.step-line{margin:0 var(--space-2);min-width:var(--space-3)}.step:not(.active) .step-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}}@media (prefers-reduced-motion:reduce){.skel:after,.toast{animation:none}.toast{transform:none}.toast.out{transform:translateX(120%);opacity:0}.bars .bar-fill,.drawer,.hbar-fill,.modal,.scrim,.sheet,.step-line .fill{transition:none}.ds-sidebar{transition-delay:0s}}.ds-split{display:grid;grid-template-columns:380px minmax(0,1fr);border:1px solid var(--hairline);border-radius:var(--r);overflow:hidden;min-height:560px}.ds-split-list{border-right:1px solid var(--hairline);overflow-y:auto;max-height:70vh}.ds-split-item{display:block;width:100%;padding:var(--space-3h);border-bottom:1px solid var(--hairline);background:none;text-align:left;cursor:pointer}.ds-split-item:hover{background:var(--bg-2)}.ds-split-item.active{background:var(--accent-soft)}.ds-split-detail{padding:var(--space-6);overflow-y:auto}.rail-split{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w,320px);grid-gap:var(--space-6);gap:var(--space-6);align-items:start}@media (max-width:900px){.ds-split,.rail-split{grid-template-columns:1fr}}.outlet-switch{flex:0 1 auto;min-width:0}.outlet-switch-btn{display:flex;align-items:center;gap:var(--space-2);max-width:260px;min-width:0;padding:var(--space-2) var(--space-3);border-radius:11px;background:var(--surface);border:1px solid var(--hairline);color:var(--ink-2);font-size:var(--fs-sm);font-weight:600;transition:border-color var(--dur-micro) var(--ease),color var(--dur-micro) var(--ease)}.outlet-switch-btn:hover:not([disabled]){border-color:var(--accent);color:var(--ink)}.outlet-switch-btn[disabled]{opacity:.6}.outlet-switch-btn svg{flex:none}.outlet-switch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outlet-switch .account-menu{min-width:280px}.outlet-switch .account-menu button{justify-content:space-between;gap:var(--space-3)}@media (max-width:760px){.outlet-switch-name{display:none}.outlet-switch-btn{max-width:none;padding:var(--space-2)}}.print-only{display:none}@media print{:root,html[data-theme=dark],html[data-theme=light]{color-scheme:light;--bg:#FFFFFF;--bg-2:#FFFFFF;--surface:#FFFFFF;--elevated:#FFFFFF;--sand:#FFFFFF;--cream:#FFFFFF;--hairline:rgba(0,0,0,0.28);--hairline-2:rgba(0,0,0,0.45);--ink:#000000;--ink-2:#1A1A1A;--ink-3:#3A3A3A;--accent:#000000;--accent-600:#000000;--accent-700:#000000;--accent-ink:#FFFFFF;--accent-soft:transparent;--accent-glow:transparent;--accent-glow-i:0;--ok:#000000;--ok-soft:transparent;--warn:#000000;--warn-soft:transparent;--danger:#000000;--danger-soft:transparent;--info:#000000;--info-soft:transparent;--hover-wash:transparent;--pressed-wash:transparent;--sweep:transparent}@page{size:A4;margin:14mm 12mm 16mm}body,html{background:#FFFFFF!important;color:#000000;font-size:9.5pt;line-height:1.4}body.has-botnav{padding-bottom:0!important}.botnav,.btn,.cnav,.ds-sidebar,.ds-topbar,.iconbtn,.no-print,.skip-link,.spinner,.tb-burger,.toast,.toast-viewport{display:none!important}.print-only{display:block}.app{display:block!important;min-height:0}.app-main,.ds-content,.ds-main,.wrap{display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}.card,.ds-table-wrap,.kpi,.section-card{box-shadow:none!important;border-radius:0!important;background:#FFFFFF!important;overflow:visible!important}.card,.section-card{border:1px solid var(--hairline)!important;padding:6mm!important;margin-bottom:4mm!important}.kpi-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;grid-gap:0!important;gap:0!important;margin-bottom:5mm!important;border:1px solid var(--hairline)}.kpi{border:0!important;border-right:1px solid var(--hairline)!important;padding:3mm 4mm!important}.kpi:last-child{border-right:0!important}.kpi .v,.kpi-val{font-size:13pt!important}.kpi .l,.kpi-label{font-size:7.5pt!important}.kpi-delta,.kpi-ic,.kpi-spark{display:none!important}.ds-table,.dtable{width:100%!important;border-collapse:collapse;font-size:8.5pt;page-break-inside:auto}.ds-table thead,.dtable thead{display:table-header-group}.ds-table tfoot,.dtable tfoot{display:table-footer-group}.ds-table tr,.dtable tr{page-break-inside:avoid;break-inside:avoid}.ds-table th,.dtable th{background:#FFFFFF!important;color:#000000!important;border-bottom:1.2pt solid #000000!important;padding:2mm 2.5mm!important}.ds-table td,.dtable td{color:#000000!important;border-bottom:.4pt solid var(--hairline)!important;padding:1.8mm 2.5mm!important}.badge,.ds-table tbody tr:hover,.dtable tbody tr:hover,.status-pill{background:transparent!important}.badge,.status-pill{color:#000000!important;border:.6pt solid #000000!important;padding:.4mm 1.4mm!important;border-radius:0!important;font-size:7.5pt!important}.page-head{margin-bottom:4mm!important}.page-head h1{font-size:16pt!important;margin:0 0 1mm!important}.page-head p{font-size:9pt!important;color:var(--ink-2)!important}h1,h2,h3{page-break-after:avoid;break-after:avoid}.print-masthead{display:flex;align-items:baseline;justify-content:space-between;gap:6mm;padding-bottom:2.5mm;margin-bottom:5mm;border-bottom:1.2pt solid #000000}.print-masthead .print-wordmark{font-family:var(--font-display);font-weight:800;font-size:14pt;letter-spacing:-.01em}.print-masthead .print-meta{font-size:8pt;color:var(--ink-2);text-align:right}.print-footnote{margin-top:5mm;padding-top:2mm;border-top:.4pt solid var(--hairline);font-size:7.5pt;color:var(--ink-3)}*,:after,:before{animation:none!important;transition:none!important;transform:none!important;opacity:1!important;filter:none!important}}