:root{--paper:#f5f3ee;--paper-2:#edeae3;--surface:#fff;--ink:#18181b;--ink-2:#3f3f46;--muted:#74747c;--line:#18181b14;--line-2:#18181b24;--brass:#b8932e;--gold:#d4af37;--danger:#b3261e;--st-available:#d8a64c;--st-available-ink:#8f6a1c;--st-available-bg:#f8edd4;--ok:#1f9d55;--ok-bg:#d7f2e1;--st-reserved:#7b4fa8;--st-reserved-bg:#efe8f7;--st-exchanged:#8a8a92;--st-exchanged-bg:#ececee;--st-completed:#18181b;--st-completed-bg:#d9d8dc;--font:"Outfit Variable", "Outfit", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--font-display:var(--font);--ease:cubic-bezier(.2, .8, .2, 1);--radius:10px;--shadow:0 1px 0 #18181b0a, 0 8px 24px -16px #18181b40}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01";font-size:15px;line-height:1.5}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}.mono{font-family:var(--font-mono);font-feature-settings:"zero"}.muted{color:var(--muted)}.strong{font-weight:700}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);font-size:11.5px;display:block}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn{letter-spacing:.01em;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .12s,box-shadow .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--ink);color:#fff;box-shadow:inset 0 -1px #ffffff14}.btn-primary:hover:not(:disabled){background:#2a2a2f}.btn-ghost{background:var(--surface);border:1px solid var(--line-2)}.btn-ghost:hover{border-color:var(--ink-2)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{height:30px;padding:0 11px;font-size:13px}.btn-block{width:100%;height:46px;font-size:15px}.link{color:var(--ink-2);align-items:center;gap:5px;font-size:14px;font-weight:600;display:inline-flex}.link:disabled{color:var(--muted);cursor:default}.link:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.link.danger{color:var(--danger)}.icon-btn{width:34px;height:34px;color:var(--ink-2);border-radius:8px;place-items:center;transition:background .2s,color .2s;display:grid}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span{color:var(--ink-2);font-size:13px;font-weight:600}.field input,.field select,.filters select{background:var(--surface);border:1px solid var(--line-2);border-radius:8px;min-width:0;height:42px;padding:0 12px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.filters select:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #d4af3740}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.boot,.loading{height:100%;color:var(--muted);place-items:center;gap:10px;display:grid}.loading{justify-content:center;align-items:center;height:40vh;display:flex}.login{grid-template-columns:minmax(0,1.25fr) minmax(380px,1fr);min-height:100%;display:grid}.login-art-pane{color:#fff;background:radial-gradient(120% 90% at 20% 10%,#24242a 0%,#141417 60%,#0f0f11 100%);flex-direction:column;justify-content:space-between;padding:40px 48px;display:flex;position:relative;overflow:hidden}.login-art-pane:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 80%);mask-image:radial-gradient(circle,#000 30%,#0000 80%)}.login-brand{z-index:1;letter-spacing:-.03em;text-transform:uppercase;font-size:21.5px;font-weight:700;position:relative}.login-brand span{font-weight:300}.login-plan{z-index:1;width:100%;height:auto;margin:24px 0;position:relative}.login-unit{fill:#d4af3700;stroke:var(--gold);stroke-width:3px;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.2s var(--ease) forwards, unit-fill 1.6s ease forwards}.login-unit:nth-child(3n){animation-name:draw,unit-fill-strong}@keyframes draw{to{stroke-dashoffset:0}}@keyframes unit-fill{60%{fill:#d4af3700}to{fill:#d4af3712}}@keyframes unit-fill-strong{60%{fill:#d4af3700}to{fill:#d4af3729}}.login-art{opacity:0;filter:invert();mix-blend-mode:screen;animation:1.6s 1.6s forwards art-in}@keyframes art-in{to{opacity:.55}}.login-caption{z-index:1;position:relative}.login-caption p{color:#fff9;margin-top:8px;font-size:16px}.login-form-pane{background:var(--surface);flex-direction:column;justify-content:center;align-items:center;padding:48px 32px 24px;display:flex}.login-card{width:100%;max-width:360px;animation:rise .6s var(--ease) both;margin:auto 0}.login-card h1{letter-spacing:-.03em;margin:10px 0 28px;font-size:32.5px;font-weight:700}.login-form{flex-direction:column;gap:16px;display:flex}.login-form.shake{animation:.42s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.login-note{color:var(--muted)}.code-input{font-family:var(--font-mono);letter-spacing:.5em;text-align:center;height:54px!important;font-size:24px!important}.login-links{justify-content:space-between;gap:12px;display:flex}.login-error{min-height:20px;color:var(--danger);margin-top:14px;font-size:14px}.login-foot{color:var(--muted);letter-spacing:.04em;font-size:12px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100%;display:grid}.rail{background:var(--ink);color:#ffffffb8;flex-direction:column;gap:28px;height:100vh;padding:22px 14px 16px;display:flex;position:sticky;top:0}.rail-brand{color:#fff;letter-spacing:-.03em;text-transform:uppercase;padding:0 10px;font-size:18.5px;font-weight:700}.rail-brand span{font-weight:300}.rail-brand small{font-family:var(--font-mono);letter-spacing:.16em;color:var(--gold);margin-top:4px;font-size:11px;font-weight:500;display:block}.rail-nav{flex-direction:column;gap:2px;display:flex}.rail-nav button{text-align:left;border-radius:8px;align-items:center;gap:12px;height:40px;padding:0 12px;font-size:14.5px;font-weight:500;transition:background .2s,color .2s;display:flex;position:relative}.rail-nav button:hover{color:#fff;background:#ffffff0f}.rail-nav button.is-on{color:#fff;background:#ffffff17}.rail-nav button.is-on:before{content:"";background:var(--gold);width:3px;animation:grow .3s var(--ease);border-radius:0 3px 3px 0;position:absolute;top:9px;bottom:9px;left:-14px}@keyframes grow{0%{transform:scaleY(0)}to{transform:none}}.rail-user{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:auto;padding:12px 8px 0;display:flex}.rail-user .icon-btn{color:#fff9;margin-left:auto}.rail-user .icon-btn:hover{color:#fff;background:#ffffff14}.rail-user-text{flex-direction:column;min-width:0;display:flex}.rail-user-text strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.rail-user-text small{font-size:12px}.avatar{background:linear-gradient(135deg, #e9d48f, var(--brass));width:32px;height:32px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f5f3eedb;justify-content:space-between;align-items:center;gap:16px;padding:18px 32px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.025em;animation:rise .35s var(--ease) both;font-size:24px;font-weight:700}.topbar-actions{align-items:center;gap:10px;display:flex}.jump{background:var(--surface);border:1px solid var(--line-2);width:250px;height:38px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 10px 0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.jump:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #d4af3740}.jump input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:14px}.jump kbd{font-family:var(--font-mono);border:1px solid var(--line-2);border-radius:4px;padding:1px 6px;font-size:12px}.content{padding:28px 32px 56px}.view{animation:rise .4s var(--ease) both;flex-direction:column;gap:20px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.card-head h2{letter-spacing:-.01em;font-size:16px;font-weight:650}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.pill i,.legend-key i,.kpi-label i,.status-opt i{background:currentColor;border-radius:3px;flex:none;width:12px;height:12px;display:inline-block}.pill i{border-radius:2px;width:10px;height:10px}.legend-key{gap:8px}.pill-available{background:var(--st-available-bg);color:var(--st-available-ink)}.pill-available i{background:var(--st-available)}.pill-reserved{background:var(--st-reserved-bg);color:var(--st-reserved)}.pill-exchanged{background:var(--st-exchanged-bg);color:var(--st-exchanged)}.pill-completed{background:var(--st-completed);color:#fff}.legend{flex-wrap:wrap;gap:6px 16px;margin-top:14px;display:flex}.legend-key{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.legend-key b{color:var(--ink);margin-left:2px}.key-available i{background:var(--st-available)}.key-reserved i{background:var(--st-reserved)}.key-exchanged i{background:var(--st-exchanged)}.key-completed i{background:var(--st-completed)}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);animation:rise .5s var(--ease) both;flex-direction:column;gap:2px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.kpi:after{content:"";opacity:.9;background:currentColor;height:3px;position:absolute;top:0;left:0;right:0}.kpi-available{color:var(--st-available-ink)}.kpi-available .kpi-label i{background:var(--st-available)}.kpi-reserved{color:var(--st-reserved)}.kpi-exchanged{color:var(--st-exchanged)}.kpi-completed{color:var(--st-completed)}.kpi-label{letter-spacing:.02em;align-items:center;gap:7px;font-size:13px;font-weight:600;display:inline-flex}.kpi-value{font-family:var(--font-mono);letter-spacing:-.04em;color:var(--ink);font-size:41px;font-weight:600;line-height:1.15}.kpi-sub{color:var(--muted);font-size:13px}.progress{background:var(--st-available);border-radius:6px;height:12px;display:flex;overflow:hidden}.progress-seg{transform-origin:0;height:100%;animation:bar-in .9s var(--ease) both}.seg-reserved{background:var(--st-reserved)}.seg-exchanged{background:var(--st-exchanged);animation-delay:80ms}.seg-completed{background:var(--st-completed);animation-delay:.16s}@keyframes bar-in{0%{transform:scaleX(0)}to{transform:none}}.beds-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.beds-cell{flex-direction:column;gap:4px;display:flex}.beds-label{color:var(--ink-2);font-size:13px;font-weight:600}.beds-cell .mono{color:var(--muted);font-size:14px}.beds-cell strong{color:var(--ink)}.mini-bar{background:var(--paper-2);border-radius:2px;height:4px;overflow:hidden}.mini-bar span{background:var(--st-available);transform-origin:0;height:100%;animation:bar-in .9s var(--ease) both;display:block}.overview-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.stack-hover{font-size:13.5px}.stack{flex-direction:column;gap:5px;padding:4px 2px 8px;display:flex;overflow-x:auto}.stack-row{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;display:grid}.stack-floor{color:var(--muted);font-size:12px}.stack-cells{grid-auto-columns:33px;grid-auto-flow:column;gap:3px;display:grid}.stack-cell{min-width:0;height:30px;font-family:var(--font-mono);letter-spacing:-.04em;animation:cell-in .45s var(--ease) both;transition:transform .15s var(--ease), box-shadow .15s;border-radius:4px;place-items:center;font-size:10.5px;font-weight:600;display:grid;position:relative}.stack-cell:hover,.stack-cell:focus-visible{z-index:1;outline:none;transform:scale(1.18);box-shadow:0 6px 16px -6px #18181b73}@keyframes cell-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.cell-available{background:var(--st-available);color:#18181b}.cell-reserved{background:var(--st-reserved);color:#fff}.cell-exchanged{background:var(--st-exchanged);color:#fff}.cell-completed{background:var(--st-completed);color:#fff}.recent{flex-direction:column;list-style:none;display:flex}.recent li+li{border-top:1px solid var(--line)}.recent button{text-align:left;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:12px;width:100%;padding:10px 6px;transition:background .2s;display:grid}.recent button:hover{background:var(--paper)}.recent-unit{grid-row:span 2;align-self:center;font-size:14px;font-weight:700}.recent-text{font-size:14px}.recent-meta{color:var(--muted);font-size:12.5px}.plans-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.floor-switch{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-self:flex-start;gap:4px;padding:4px;display:inline-flex}.floor-switch button{min-width:74px;transition:background .25s var(--ease), color .25s;border-radius:7px;flex-direction:column;align-items:center;padding:7px 12px;display:flex}.floor-switch button .mono{font-size:15px;font-weight:700}.floor-switch button small{color:var(--muted);font-size:11.5px}.floor-switch button:hover{background:var(--paper)}.floor-switch button.is-on{background:var(--ink);color:#fff}.floor-switch button.is-on small{color:var(--gold)}.plan-hover{min-height:19px;margin-top:2px;font-size:13.5px}.plan-counts{flex-wrap:wrap;gap:6px 14px;display:flex}.plan-stage{animation:rise .45s var(--ease) both;background:#fbfaf7;border-radius:8px;padding:12px;overflow-x:auto}.plan-stage .fp{min-width:820px}.fp-status{--fp-available:#f1dfaf;--fp-reserved-fill:#c6b0e3;--fp-accent:var(--gold)}.fp-status .fp-fill.fp-st-exchanged{fill:#b9b9c0}.fp-status .fp-fill.fp-st-completed{fill:#4a4a52}.filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search{background:var(--surface);border:1px solid var(--line-2);min-width:240px;height:42px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #d4af3740}.search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1}.seg{background:var(--surface);border:1px solid var(--line-2);border-radius:9px;padding:3px;display:inline-flex}.seg button{height:34px;color:var(--ink-2);border-radius:6px;padding:0 12px;font-size:13.5px;font-weight:600;transition:background .2s,color .2s}.seg button.is-on{background:var(--ink);color:#fff}.result-count{margin-left:auto;font-size:13px}.table-card{padding:0;overflow:auto}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{background:var(--surface);text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line-2);padding:12px 16px;font-size:12px;font-weight:600;position:sticky;top:0}.table th button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;align-items:center;gap:4px;display:inline-flex}.sort-ind{opacity:0;transition:opacity .2s,transform .2s}.sort-ind.is-on{opacity:1;color:var(--ink)}.sort-ind.is-desc{transform:rotate(180deg)}.table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 16px}.table tbody tr{cursor:pointer;transition:background .15s}.table tbody tr:hover,.table tbody tr:focus-visible{background:#faf8f3;outline:none}.empty{text-align:center;color:var(--muted);padding:28px}.day-label{letter-spacing:.04em;color:var(--muted);margin:6px 0 10px;font-size:13px;font-weight:600}.feed{padding:4px 0;list-style:none}.feed li{grid-template-columns:52px 64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 20px;display:grid}.feed li+li{border-top:1px solid var(--line)}.feed-time{color:var(--muted);font-size:13px}.feed-unit{text-align:left;font-weight:700}.feed-unit:hover{color:var(--brass)}.feed-change{text-transform:capitalize;flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.feed-from{color:var(--muted);-webkit-text-decoration:line-through #74747c80;text-decoration:line-through #74747c80}.feed-to{font-weight:600}.to-available{color:var(--st-available-ink)}.to-reserved{color:var(--st-reserved)}.to-exchanged{color:var(--st-exchanged)}.to-completed{color:var(--st-completed)}.feed-by{color:var(--muted);font-size:13px}.people{list-style:none}.people li{align-items:center;gap:12px;padding:12px 0;display:flex}.people li+li{border-top:1px solid var(--line)}.person{flex-direction:column;flex:1;min-width:0;display:flex}.person strong{font-weight:600}.person em{color:var(--muted);font-style:normal;font-weight:400}.person small{color:var(--muted)}.role{background:var(--paper-2);border-radius:999px;padding:3px 9px;font-size:12.5px;font-weight:600}.role-admin{color:#7a5e12;background:#f3e9c6}.inline-confirm{animation:rise .25s var(--ease);gap:6px;display:inline-flex}.invite{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.invite-foot{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;display:flex}.scrim{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#18181b52;animation:.25s both fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.panel{z-index:21;background:var(--surface);width:min(480px,100%);animation:slide .38s var(--ease) both;outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-24px 0 48px -24px #18181b66}@keyframes slide{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:none}}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 24px 16px;display:flex}.panel-head-actions{align-items:center;gap:6px;display:flex}.panel-head h2{letter-spacing:-.03em;margin-top:4px;font-size:26px;font-weight:700}.panel-body{flex:1;padding:0 24px 32px;overflow:hidden auto}.panel-plan{border:1px solid var(--line);background:#fbfaf7;border-radius:10px;margin:18px 0 6px;padding:14px;position:relative}.panel-plan .fp{max-height:260px}.panel-plan .pill{position:absolute;top:12px;left:12px}.panel-section{padding:20px 0 0}.panel-section+.panel-section{border-top:1px solid var(--line);margin-top:18px}.panel-section h3{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-size:12px;font-weight:600}.section-head{justify-content:space-between;align-items:baseline;display:flex}.status-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.status-opt{border:1px solid var(--line-2);text-align:left;border-radius:9px;align-items:center;gap:9px;height:46px;padding:0 14px;font-size:14.5px;font-weight:600;transition:border-color .2s,background .2s,box-shadow .2s,transform .12s;display:flex}.status-opt:hover:not(:disabled){border-color:var(--ink-2)}.status-opt:active:not(:disabled){transform:scale(.98)}.opt-available i{color:var(--st-available)}.opt-reserved i{color:var(--st-reserved)}.opt-exchanged i{color:var(--st-exchanged)}.opt-completed i{color:var(--st-completed)}.status-opt.is-current{background:var(--paper);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.status-opt.is-current:after{content:"Current";font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-left:auto;font-size:11px}.status-opt.is-pending{border-color:var(--gold);box-shadow:0 0 0 3px #d4af374d}.confirm{transition:grid-template-rows .35s var(--ease);grid-template-rows:0fr;display:grid}.confirm.is-open{grid-template-rows:1fr}.confirm-inner{overflow:hidden}.confirm-inner p{border-top:2px solid var(--gold);background:#fcf8ec;border-radius:0;margin-top:14px;padding:14px 16px 0;font-size:14.5px}.confirm-inner p span{color:var(--muted);margin-top:2px;font-size:13.5px;display:block}.confirm-actions{background:#fcf8ec;border-radius:0 0 9px 9px;justify-content:flex-end;gap:8px;padding:12px 16px 14px;display:flex}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.facts dt{color:var(--muted);font-size:12.5px}.facts dd{margin-top:2px;font-weight:600}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.field input:not([type=checkbox]):not([type=radio]),.field select{width:100%}.field-wide,.edit-actions{grid-column:1/-1}.edit-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.timeline{padding-left:18px;list-style:none;position:relative}.timeline:before{content:"";background:var(--line-2);width:1px;position:absolute;top:6px;bottom:6px;left:4px}.timeline li{padding-bottom:14px;position:relative}.timeline-dot{background:var(--surface);border:2px solid var(--brass);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:-18px}.timeline p{font-size:14px;font-weight:500}.timeline small{color:var(--muted);font-size:12.5px}.skeleton-lines{flex-direction:column;gap:10px;display:flex}.skeleton-lines span{background:linear-gradient(90deg, var(--paper-2) 25%, var(--paper) 50%, var(--paper-2) 75%) 0 0 / 200% 100%;border-radius:6px;height:12px;animation:1.4s linear infinite shimmer}.skeleton-lines span:nth-child(2){width:80%}.skeleton-lines span:nth-child(3){width:60%}@keyframes shimmer{to{background-position:-200% 0}}.toasts{z-index:40;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--ink);color:#fff;max-width:420px;animation:toast-in .4s var(--ease) both;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;font-size:14.5px;display:flex;box-shadow:0 16px 32px -16px #00000080}.toast-ok .ic{color:var(--gold)}.toast-error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}@media (width<=1180px){.overview-grid{grid-template-columns:1fr}}@media (width<=900px){.login{grid-template-columns:1fr}.login-art-pane{min-height:280px;padding:28px}.login-plan{margin:12px 0}.shell{grid-template-columns:1fr;padding-bottom:64px}.rail{z-index:10;flex-direction:row;align-items:center;gap:0;height:64px;padding:0 6px;position:fixed;inset:auto 0 0}.rail-brand,.rail-user-text,.rail-user .avatar{display:none}.rail-nav{flex-direction:row;flex:1;justify-content:space-around}.rail-nav button{flex-direction:column;justify-content:center;gap:3px;height:54px;padding:0 6px;font-size:11.5px}.rail-nav button.is-on:before{border-radius:0 0 3px 3px;width:auto;height:3px;inset:-5px 18% auto}.rail-user{border:0;margin:0;padding:0}.topbar{flex-wrap:wrap;padding:14px 16px}.topbar-actions{width:100%}.jump{flex:1;width:auto}.topbar .btn span{display:none}.content{padding:18px 16px 40px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.beds-row{grid-template-columns:1fr}.floor-switch{width:100%;overflow-x:auto}.feed li{grid-template-columns:46px 56px minmax(0,1fr)}.feed-by{grid-column:3}.invite{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}.login-unit{stroke-dashoffset:0}.login-art{opacity:.55}}.kpi-plain{color:var(--ink-2)}.kpi-plain:after{background:var(--line-2)}.kpi-alert{color:var(--danger)}.kpi-alert:after{background:var(--danger)}.kpi-alert .kpi-value{color:var(--danger)}.table tbody tr.no-click{cursor:default}.cell-sub{color:var(--muted);font-size:12.5px;display:block}.ev{background:var(--paper-2);height:22px;color:var(--ink-2);border-radius:999px;align-items:center;margin-right:6px;padding:0 8px;font-size:12.5px;font-weight:600;display:inline-flex}.ev-tag-signed_in{background:var(--ok-bg);color:var(--ok)}.ev-tag-sign_in_failed{color:var(--danger);background:#f8e1df}.ev-tag-signed_out_everywhere{color:#7a5e12;background:#f3e9c6}.ev-new{color:#8a5a12;background:#fcf1d6}tr.ev-sign_in_failed td{background:#fdf6f5}.pad{padding:20px}.device{color:var(--muted);font-size:12.5px;display:block}.person-seen{color:var(--muted);font-size:12.5px}.person-seen b{color:var(--ink-2);font-weight:600}.pace{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:6px;height:120px;margin-top:6px;display:grid}.pace-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.pace-bar{background:var(--paper-2);width:100%;max-width:28px;min-height:2px;animation:bar-up .8s var(--ease) both;transform-origin:bottom;border-radius:4px 4px 0 0;flex-direction:column-reverse;display:flex;overflow:hidden}.pace-bar span{flex-basis:0;display:block}.pace-bar .p-reserved{background:var(--st-reserved)}.pace-bar .p-exchanged{background:var(--st-exchanged)}.pace-bar .p-completed{background:var(--st-completed)}.pace-bar .p-available{background:var(--st-available)}.pace-col small{font-family:var(--font-mono);color:var(--muted);font-size:11px}@keyframes bar-up{0%{transform:scaleY(0)}to{transform:none}}.pace-legend{flex-wrap:wrap;gap:6px 14px;margin-top:10px;display:flex}.account-card{max-width:640px}.account-form{flex-direction:column;gap:14px;display:flex}.account-form input:disabled{background:var(--paper);color:var(--muted)}.form-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.meter{align-items:center;gap:4px;margin-top:6px;display:flex}.meter i{background:var(--paper-2);border-radius:2px;flex:1;height:4px;transition:background .25s}.meter b{color:var(--muted);min-width:64px;margin-left:8px;font-size:12.5px;font-weight:600}.meter-1 i:nth-child(-n+1){background:var(--danger)}.meter-2 i:nth-child(-n+2){background:#c28a2c}.meter-3 i:nth-child(-n+3){background:#8fa95a}.meter-4 i:nth-child(-n+4){background:var(--ok)}.people li{display:block}.person-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.reset-row{background:var(--paper);animation:rise .25s var(--ease);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:12px 0 2px 44px;padding:12px;display:flex}.reset-row .field{flex:1;min-width:220px}.role-owner{background:var(--ink);color:var(--gold)}.avatar-owner{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--gold)}.role-select{border:1px solid var(--line-2);background:var(--surface);border-radius:999px;height:30px;padding:0 8px;font-size:13px;font-weight:600}.rail-user-text{cursor:pointer}.ev-tag-password_changed,.ev-tag-password_reset,.ev-tag-role_changed,.ev-tag-password_reset_requested{color:#34507a;background:#e6ecf5}.login-ok{border-left:3px solid var(--ok);background:var(--ok-bg);border-radius:0 6px 6px 0;margin:0 0 18px;padding:12px 14px;font-size:14.5px}.login-forgot{align-self:flex-end;margin-top:-6px;font-size:13.5px}.panel-plan{padding-top:50px}.plan-toggle{z-index:1;padding:2px;position:absolute;top:10px;right:10px}.plan-toggle button{height:28px;padding:0 10px;font-size:13px}.panel-plan-stage{animation:rise .3s var(--ease) both}.steps{flex-direction:column;gap:6px;list-style:none;display:flex}.steps li{border:1px solid var(--line);border-radius:8px;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:8px 10px;transition:border-color .2s,background .2s;display:grid}.steps li.is-done{background:#f4f8f5;border-color:#4f7a5c40}.step-dot{background:var(--paper-2);width:24px;height:24px;font-family:var(--font-mono);color:var(--muted);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.steps li.is-done .step-dot{background:var(--ok);color:#fff}.step-label{font-size:14px;font-weight:600}.step-date{border:1px solid var(--line-2);background:var(--surface);border-radius:6px;height:32px;padding:0 8px;font-size:13.5px}.step-hint{margin-top:8px;font-size:12.5px}.note-form{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.note-form textarea{resize:vertical;border:1px solid var(--line-2);background:var(--surface);width:100%;min-height:64px;font:inherit;border-radius:8px;padding:10px 12px;font-size:14.5px}.note-form textarea:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #d4af3740}.notes{flex-direction:column;gap:8px;margin-top:12px;list-style:none;display:flex}.notes li{border:1px solid var(--line);border-left:3px solid var(--gold);animation:rise .25s var(--ease);background:#fbfaf6;border-radius:0 8px 8px 0;padding:10px 12px}.notes p{white-space:pre-wrap;font-size:14.5px}.notes small{color:var(--muted);align-items:center;gap:10px;margin-top:4px;font-size:12.5px;display:flex}.notes .link{font-size:12.5px}.overview-grid{grid-template-columns:minmax(0,1fr)}.overview-side{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;min-width:0;display:grid}@media (width<=900px){.overview-side{grid-template-columns:1fr}}.mini-steps{vertical-align:middle;gap:3px;margin-right:8px;display:inline-flex}.mini-steps i{background:var(--paper-2);border-radius:2px;width:14px;height:4px}.mini-steps i.on{background:var(--ok)}.recent-meta.is-quiet{color:var(--danger);font-weight:600}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;margin-top:8px;display:grid}.settings-h{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:600}.settings-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-row select{border:1px solid var(--line-2);background:var(--surface);border-radius:8px;height:38px;padding:0 10px}.settings-meta{margin-top:10px;font-size:13px}.recipients{flex-direction:column;gap:4px;max-height:280px;list-style:none;display:flex;overflow:auto}.recipients label{cursor:pointer;border-radius:8px;grid-template-columns:18px 1fr;align-items:center;column-gap:10px;padding:8px 10px;transition:background .15s;display:grid}.recipients label:hover{background:var(--paper)}.recipients input{accent-color:var(--ink);grid-row:span 2;width:16px;height:16px}.recipient-name{font-size:14.5px;font-weight:600}.recipients small{font-size:12.5px}.settings-actions{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.switch{cursor:pointer;align-items:center;gap:10px;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:var(--paper-2);width:44px;height:26px;box-shadow:inset 0 0 0 1px var(--line-2);transition:background .25s var(--ease);border-radius:13px;position:relative}.switch-thumb{width:20px;height:20px;transition:transform .25s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch input:checked+.switch-track{background:var(--ok)}.switch input:checked+.switch-track .switch-thumb{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--gold);outline-offset:2px}.switch-label{min-width:24px;font-size:14px;font-weight:600}.preview-card{padding-bottom:0;overflow:hidden}.email-preview{border:0;border-top:1px solid var(--line);background:#f5f3ee;width:calc(100% + 44px);height:760px;margin:0 -22px;display:block}.floor-switch-bottom{z-index:4;align-self:center;position:sticky;bottom:16px;box-shadow:0 12px 28px -14px #18181b73}.print-head,.print-only,.print-all{display:none}@media (width<=900px){.settings-grid{grid-template-columns:1fr}.floor-switch-bottom{bottom:76px}}@media print{@page plans{size:A4 landscape;margin:12mm}.shell{page:plans}body{background:#fff}.rail,.topbar,.no-print,.scrim,.panel,.toasts,.floor-switch-bottom,.plan-hover,.plan-counts{display:none!important}.shell{display:block}.content{padding:0}.view{gap:0;animation:none}.card{box-shadow:none;border:0;padding:0}.plan-card .card-head{display:none}.plan-stage{background:0 0;padding:0;overflow:visible}.plan-stage .fp{min-width:0}.print-head{color:#3f3f46;border-bottom:2px solid #d4af37;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:8px;font-size:11pt;display:flex}.print-brand{text-transform:uppercase;letter-spacing:-.02em;color:#18181b;font-size:15pt;font-weight:700}.print-brand span{font-weight:300}.print-only,.print-all{display:block}.print-sheet{break-after:page;page-break-after:always}.print-sheet:last-child{break-after:auto;page-break-after:auto}.print-legend{margin-top:8px}.fp-fill,.fp-badge rect,.legend-key i{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.docs-tabs{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.seg .count{background:var(--paper-2);color:var(--ink-2);font-family:var(--font-mono);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:12px}.seg .is-on .count{color:#fff;background:#ffffff2e}.dropzone{border:1.5px dashed var(--line-2);border-radius:var(--radius);background:var(--surface);transition:border-color .2s,background .2s,box-shadow .2s}.dropzone.is-over{border-color:var(--gold);background:#fcf8ec;box-shadow:0 0 0 4px #d4af372e}.dropzone.has-files{border-style:solid;padding:14px}.dropzone-empty{width:100%;color:var(--ink-2);flex-direction:column;align-items:center;gap:6px;padding:30px 16px;display:flex}.dropzone-empty .ic{color:var(--brass);margin-bottom:4px}.dropzone-empty strong{font-size:15.5px}.queue{flex-direction:column;gap:8px;display:flex}.queue-row{border:1px solid var(--line);animation:rise .25s var(--ease);border-radius:8px;grid-template-columns:44px minmax(0,1fr) 150px 120px 70px 34px;align-items:center;gap:8px;padding:8px 10px;display:grid}.queue-row input,.queue-row select,.doc-edit input,.doc-edit select{border:1px solid var(--line-2);background:var(--surface);border-radius:7px;min-width:0;height:36px;padding:0 10px}.queue-row input:focus,.doc-edit input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #d4af3738}.queue-size{color:var(--muted);text-align:right;font-size:13px}.queue-ok{color:var(--ok);place-items:center;display:grid}.queue-bar{background:var(--paper-2);border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.queue-bar span{background:var(--gold);height:100%;transition:width .2s linear;display:block}.q-done .queue-bar span{background:var(--ok)}.q-error{border-color:#b3261e59}.q-error .queue-bar span{background:var(--danger)}.queue-error{color:var(--danger);grid-column:1/-1;font-size:13px}.queue-actions{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.file-badge{width:40px;height:46px;font-family:var(--font-mono);letter-spacing:.04em;color:#fff;background:#71717a;border-radius:6px;flex:none;place-items:center;font-size:10.5px;font-weight:700;display:inline-grid;position:relative}.file-badge:after{content:"";border-style:solid;border-width:0 10px 10px 0;border-color:var(--surface) #ffffff59 #ffffff59 var(--surface);border-radius:0 6px 0 3px;position:absolute;top:0;right:0}.fb-pdf{background:#c2382f}.fb-img{background:#3f7fbf}.fb-doc{background:#2b5797}.fb-sheet{background:#1e7a45}.fb-slides{background:#c4622d}.doc-list{list-style:none}.doc-row{border-bottom:1px solid var(--line);animation:rise .3s var(--ease) both;align-items:center;gap:14px;padding:12px 18px;transition:background .15s;display:flex}.doc-row:last-child{border-bottom:0}.doc-row:hover{background:#fbfaf6}.doc-main{text-align:left;flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}button.doc-main:hover .doc-name{text-underline-offset:3px;text-decoration:underline}.doc-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.doc-meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.doc-cat{color:var(--brass);font-weight:600}.doc-actions{opacity:.55;flex:none;align-items:center;gap:2px;transition:opacity .15s;display:flex}.doc-row:hover .doc-actions,.doc-actions:focus-within{opacity:1}.icon-btn.danger:hover{color:var(--danger);background:#fbedec}.doc-edit{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.doc-edit input:first-child{flex:1;min-width:200px}.doc-edit .queue-unit{width:90px}.doc-row.is-deleted .file-badge{filter:grayscale();opacity:.6}.doc-row.is-deleted .doc-name{color:var(--muted)}.countdown{color:var(--danger);font-weight:600}.bin-note{border-bottom:1px solid var(--line);color:var(--ink-2);background:#fcf8ec;align-items:center;gap:8px;padding:12px 18px;font-size:13.5px;display:flex}.undo-bar{background:var(--ink);color:#fff;animation:rise .3s var(--ease);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14.5px;display:flex}.undo-bar .btn-ghost{color:#fff;background:0 0;border-color:#ffffff59}.unit-docs{flex-direction:column;gap:6px;list-style:none;display:flex}.unit-docs button{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:6px 8px;transition:background .15s;display:flex}.unit-docs button:hover{background:var(--paper)}.unit-docs .file-badge{width:30px;height:36px;font-size:8.5px}.unit-docs span{flex-direction:column;min-width:0;display:flex}.unit-docs strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.unit-docs small{color:var(--muted);font-size:12.5px}@media (width<=900px){.queue-row{grid-template-columns:40px minmax(0,1fr) 34px}.queue-row select,.queue-row .queue-unit,.queue-size{grid-column:2}.doc-actions{opacity:1}}.plan-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:16px;display:grid}.plan-layout .fsum{position:sticky;top:90px}@media (width<=1180px){.plan-layout{grid-template-columns:1fr}.plan-layout .fsum{position:static}}.sales-card{padding-bottom:8px}.sales-scroll{margin:0 -22px;padding:0 22px;overflow-x:auto}.sales{border-collapse:collapse;width:100%;min-width:980px;font-size:14.5px}.sales th,.sales td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:11px 10px}.sales thead th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);vertical-align:bottom;white-space:normal;font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap!important;vertical-align:top!important}.sales thead th .th-key{text-align:right;align-items:flex-start;gap:7px;display:inline-flex}.sales thead th .th-key .fsum-dot{margin:1px 0 0}.sales th[scope=row],.sales thead th:first-child{text-align:left;color:var(--ink);font-weight:700}.sales td{font-family:var(--font-mono)}.sales td.c-sold{color:#55555d;font-weight:700}.sales td.c-reserved{color:var(--st-reserved);font-weight:700}.sales td.c-free{color:var(--st-available-ink);font-weight:700}.sales td.strong{color:var(--ink);font-weight:700}.sales tbody tr{transition:background .15s}.sales tbody tr:hover{background:#faf8f3}.sales tfoot tr.is-total th,.sales tfoot tr.is-total td{border-top:2px solid var(--ink);color:var(--ink);background:#f1f5fa;border-bottom:0;font-weight:700}.num-col{text-align:right;width:44px}.table td.right,.table th.right{text-align:right}.table th.right button{margin-left:auto}.table-total td{border-top:2px solid var(--line-2);background:#faf8f3;font-weight:700}.facts dd.price{font-family:var(--font-mono)}.space-note{color:#4d2f78;background:#efe8f7;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.pin-badge{background:var(--gold);color:#fff;vertical-align:-3px;border-radius:50%;place-items:center;width:18px;height:18px;margin-right:6px;display:inline-grid}.icon-btn.is-pinned{color:var(--brass)}.menu-wrap{position:relative}.menu{z-index:6;background:var(--surface);border:1px solid var(--line-2);min-width:220px;animation:rise .18s var(--ease);border-radius:10px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 16px 32px -16px #18181b59}.menu-fixed{z-index:35;position:fixed}.menu-fixed.is-up{animation:none;transform:translateY(-100%)}.menu-catch{z-index:34;position:fixed;inset:0}.menu button{text-align:left;border-radius:6px;padding:9px 12px;font-size:14px;font-weight:500}.menu button:hover{background:var(--paper)}.storage{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}.storage-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:14px;display:flex}.storage-head .mono{color:var(--muted);font-size:13px}.storage-bar{background:var(--paper-2);border-radius:5px;height:10px;display:flex;overflow:hidden}.storage-bar span{height:100%;transition:width .6s var(--ease)}.st-internal{background:var(--ink)}.st-agency{background:var(--st-reserved)}.st-deleted{background:#c7c7cd}.storage-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:13px;display:flex}.storage-legend i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:6px;display:inline-block}.agent-form{grid-template-columns:repeat(4,minmax(0,1fr))}.agent-state{border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600;display:inline-flex}.as-active{background:var(--ok-bg);color:var(--ok)}.as-revoked{color:var(--danger);background:#f8e1df}.as-expired{background:var(--paper-2);color:var(--muted)}.agents-table td{vertical-align:middle}.row-actions{text-align:right}.row-actions .inline-confirm{flex-wrap:wrap;justify-content:flex-end}.modal{z-index:30;background:var(--surface);width:min(520px,100% - 32px);animation:modal-in .35s var(--ease) both;border-radius:14px;padding:26px 26px 22px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 60px -20px #00000080}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)}}.modal h2{letter-spacing:-.02em;margin:6px 0;font-size:24px}.code-reveal{background:var(--ink);color:var(--gold);letter-spacing:.08em;text-align:center;-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:10px;margin:18px 0;padding:18px;font-size:28px;font-weight:700}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.agentplan-bar{border-radius:var(--radius);background:#fcf8ec;border:1px solid #efe2bc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14.5px;display:flex}.diff-count{background:var(--danger);color:#fff;min-width:22px;height:22px;font-family:var(--font-mono);border-radius:11px;place-items:center;padding:0 6px;font-size:13px;display:inline-grid}.check-inline{cursor:pointer;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.compare>div{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;font-size:13px;display:flex}.compare strong{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;display:flex}.agent-edit{align-items:end;margin-top:14px}.agent-switch{align-self:center}@media (width<=900px){.agent-form{grid-template-columns:1fr}.agents-table{min-width:860px}.table-card{overflow-x:auto}}.rail-more{display:none!important}.sheet{display:none}@media (hover:none){.doc-actions{opacity:1}}@media (width<=1024px){.shell{grid-template-columns:200px minmax(0,1fr)}.content{padding:24px 22px 48px}.topbar{padding:16px 22px}.jump{width:210px}}@media (width<=900px){.shell{padding-bottom:calc(68px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr)}.rail{height:calc(64px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);border-top:1px solid #d4af3740}.rail-user{display:none}.rail-nav{gap:0}.rail-nav button{flex:1 1 0;min-width:0;padding:0 2px;font-size:11px}.rail-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.rail-nav .rail-secondary{display:none}.rail-more{display:flex!important}.sheet{z-index:25;max-height:80vh;padding:8px 12px calc(16px + env(safe-area-inset-bottom));background:var(--ink);color:#fffc;animation:sheet-up .32s var(--ease) both;border-radius:18px 18px 0 0;flex-direction:column;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -20px 40px -20px #00000080}.sheet-scrim{z-index:24}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}.sheet-grip{background:#ffffff40;border-radius:2px;width:40px;height:4px;margin:4px auto 10px}.sheet-user{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;margin-bottom:4px;padding:6px 10px 14px;display:flex}.sheet-user strong{color:#fff;font-size:15px;display:block}.sheet-user small{color:var(--gold);font-size:12.5px}.sheet button{text-align:left;border-radius:10px;align-items:center;gap:14px;height:50px;padding:0 12px;font-size:16px;font-weight:500;display:flex}.sheet button.is-on{color:#fff;background:#ffffff17}.sheet button:active{background:#ffffff1f}.sheet-signout{color:#f0a7a0;border-top:1px solid #ffffff14;margin-top:6px;border-radius:0!important}.topbar{gap:10px;padding:12px 16px}.topbar h1{font-size:21px}.topbar-actions{gap:8px}.jump kbd{display:none}.topbar .btn{padding:0 12px}.content{padding:16px 14px 32px}.card{padding:16px}.view{gap:14px}input,select,textarea{font-size:16px!important}.toasts{left:12px;right:12px;bottom:calc(80px + env(safe-area-inset-bottom));align-items:stretch}.toast{max-width:none}.floor-switch-bottom{bottom:calc(76px + env(safe-area-inset-bottom));scrollbar-width:none;width:auto;max-width:calc(100vw - 28px);overflow-x:auto}.floor-switch button{padding:6px 10px}.plan-stage{-webkit-overflow-scrolling:touch;padding:8px}.plan-stage .fp{min-width:640px}.plan-card .card-head{margin-bottom:10px}.plan-counts{gap:4px 10px}.panel{border-radius:0;width:100%}.panel-head{padding:16px 16px 12px;padding-top:calc(16px + env(safe-area-inset-top))}.panel-head h2{font-size:22px}.panel-head-actions .btn{padding:0 10px}.panel-body{padding:0 16px calc(28px + env(safe-area-inset-bottom))}.panel-plan .fp{max-height:220px}.status-opt{height:48px}.modal{padding:22px 18px 18px}.modal-actions .btn{flex:auto}.table th,.table td{padding-left:10px;padding-right:10px}.hide-sm{display:none}.sales-scroll{margin:0 -16px;padding:0 16px}.sales th[scope=row],.sales thead th:first-child{background:var(--surface);z-index:1;position:sticky;left:-16px}.sales tfoot tr.is-total th{background:#f1f5fa}.doc-row{flex-wrap:wrap;gap:10px;padding:12px 14px}.doc-main{flex:calc(100% - 60px)}.doc-actions{justify-content:flex-end;width:100%}.docs-tabs .seg{max-width:100%;overflow-x:auto}.docs-tabs>.btn{width:100%}.afilter-bar .search{flex-basis:100%}.afilter-panel-inner{grid-template-columns:1fr}.chip{height:38px}.agentplan-bar{flex-direction:column;align-items:stretch}}@media (width<=420px){.hide-xs{display:none}.kpis{gap:10px}.kpi-value{font-size:30px}.kpi{padding:14px}.topbar .btn span{display:none}}.view,.ap-main{animation:.16s ease-out both view-in}@keyframes view-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.topbar h1,.ap-hero h1{animation:none}.kpi,.stack-cell,.pace-bar,.doc-row,.ap-card,.fsum,.card{animation:none!important}.view .plan-stage{animation:.16s ease-out both view-in}.progress-seg,.mini-bar span{animation-duration:.45s}.panel{animation-duration:.24s}.scrim{animation-duration:.16s}.modal{animation-duration:.2s}.panel-plan-stage{animation-duration:.18s}.rail-nav button,.ap-tabs button{transition-duration:.12s}.table th,.seg button,.chip,.btn,.pill,.legend-key,.tabs button,.floor-switch button{white-space:nowrap}.lbl-short{display:none}.apt-list{list-style:none;display:none}@media (width<=640px){.lbl-long{display:none}.lbl-short{display:inline}.seg{scrollbar-width:none;width:100%;display:flex;overflow-x:auto}.seg button{flex:1 0 auto;padding:0 10px}.docs-tabs{flex-direction:column;align-items:stretch}.apt-table{display:none}.apt-list{display:block}.apt-list li+li{border-top:1px solid var(--line)}.apt-list button{text-align:left;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:13px 14px;display:grid}.apt-list button:active{background:#faf8f3}.apt-num{color:var(--muted);font-size:12px}.apt-main{flex-direction:column;gap:4px;min-width:0;display:flex}.apt-top{align-items:center;gap:8px;display:flex}.apt-top strong{font-size:17px}.apt-meta{color:var(--muted);font-size:13px;line-height:1.35}.apt-price{font-size:14.5px;font-weight:700}.apt-total{background:#faf8f3;justify-content:space-between;padding:13px 14px;font-weight:700;display:flex;border-top:2px solid var(--line-2)!important}.table-card .table:not(.apt-table){min-width:720px}.card-head{flex-direction:column;align-items:flex-start;gap:6px}.afilter-bar{gap:8px}.afilter-bar .btn{flex:auto}.afilter-count{width:100%}}a.btn{color:inherit;text-decoration:none}@media (width<=640px){.table-card .log-table,.table-card .agents-table{min-width:0!important}.log-table thead,.agents-table thead{display:none}.log-table,.log-table tbody,.agents-table,.agents-table tbody{display:block}.log-table tr,.agents-table tr{border-bottom:1px solid var(--line);gap:4px 12px;padding:12px 14px;display:grid}.log-table td,.agents-table td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.log-table td:first-child{color:var(--muted);text-align:right;font-size:12.5px}.log-table td.mono,.log-table td:nth-child(5),.log-table td:nth-child(6){color:var(--muted);font-size:12.5px}.sec-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"event when""person person""device ip""detail detail"}.sec-table td:first-child{grid-area:when}.sec-table td:nth-child(2){grid-area:event}.sec-table td:nth-child(3){grid-area:person}.sec-table td:nth-child(4){text-align:right;grid-area:ip}.sec-table td:nth-child(5){grid-area:device}.sec-table td:nth-child(6){grid-area:detail}.agent-log-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"what when""agency agency""detail detail""device ip"}.agent-log-table td:first-child{grid-area:when}.agent-log-table td:nth-child(2){grid-area:agency}.agent-log-table td:nth-child(3){grid-area:what}.agent-log-table td:nth-child(4){grid-area:detail;font-size:13.5px}.agent-log-table td:nth-child(5){text-align:right;grid-area:ip}.agent-log-table td:nth-child(6){grid-area:device}.agents-table tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"agency status""code visits""expires expires""seen seen""actions actions";padding:14px}.agents-table td:first-child{grid-area:agency}.agents-table td:nth-child(2){grid-area:code}.agents-table td:nth-child(3){text-align:right;grid-area:status}.agents-table td:nth-child(4){color:var(--muted);grid-area:expires;font-size:13px}.agents-table td:nth-child(4):before{content:"Expires "}.agents-table td:nth-child(5){grid-area:seen;font-size:13px}.agents-table td:nth-child(6){text-align:right;color:var(--muted);grid-area:visits;font-size:13px}.agents-table td:nth-child(6):after{content:" visits"}.agents-table td:nth-child(7){grid-area:actions;margin-top:8px}.agents-table .row-actions .inline-confirm{justify-content:flex-start}.plan-stage .fp,.ap-shell .plan-stage .fp{min-width:0!important}.floor-switch button small{display:none}.floor-switch button{padding:8px 12px}.dropzone:not(.has-files){display:none}.filters .search{flex:100%}.topbar{position:static}.pace-col small{letter-spacing:-.02em;font-size:10px;line-height:1.15}.pace-col:nth-child(2n) small{visibility:hidden}.floor-switch-bottom,.ap-shell .floor-switch-bottom{width:100%;max-width:none;box-shadow:none;order:-1;align-self:stretch;display:flex;position:static;overflow:visible}.floor-switch-bottom button{flex:1 1 0;min-width:0;padding:8px 0}.floor-switch-bottom button .mono{font-size:14px}.panel-plan{padding:10px}.plan-toggle{width:100%;margin-bottom:8px;display:flex;position:static}.plan-toggle button{flex:1 1 0}.panel-plan .pill{margin-top:8px;position:static}}.search svg,.jump svg{flex:none}.login-or{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.login-or:before,.login-or:after{content:"";background:var(--line-2);flex:1;height:1px}.main{overflow-x:clip}.log-table{width:100%}.log-table td:nth-child(4),.sec-table td:nth-child(6){white-space:normal;overflow-wrap:anywhere;min-width:220px}.agent-log-table td:nth-child(6),.sec-table td:nth-child(5){white-space:nowrap}.table th:last-child,.table td:last-child{padding-right:22px}.field-hint{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.45;display:block}.status-opt:disabled{opacity:.4;cursor:not-allowed}.cell-reserved{background-image:repeating-linear-gradient(135deg,#ffffff38 0 3px,#0000 3px 7px)}.cell-completed{box-shadow:inset 0 0 0 2px #ffffff59}.empty-state{color:var(--ink-2);flex-direction:column;align-items:flex-start;gap:12px;padding:22px;display:flex}.confirm-field{margin-top:14px}.pad-head{padding:18px 20px 0}.eng-table{min-width:0}.quiet-list{flex-direction:column;gap:8px;font-size:14.5px;list-style:none;display:flex}.health-list{flex-direction:column;gap:10px;margin-bottom:18px;list-style:none;display:flex}.health-list li{grid-template-columns:12px 140px minmax(0,1fr);align-items:center;gap:10px;font-size:14.5px;display:grid}.health-dot{border-radius:3px;width:10px;height:10px}.health-dot.is-ok{background:var(--ok)}.health-dot.is-bad{background:var(--danger)}.email-budget .eb-ok{background:var(--ink)}.email-budget .eb-high{background:var(--danger)}@media (width<=640px){.health-list li{grid-template-columns:12px minmax(0,1fr)}.health-list li .muted{grid-column:2}}.enq-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.enq-kpis div{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.enq-kpis b{letter-spacing:-.03em;font-size:26px;font-weight:600}.enq-kpis span{color:var(--muted);font-size:13px}.enq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.enq-h{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:600}.enq-bars{flex-direction:column;gap:8px;list-style:none;display:flex}.enq-bars li{grid-template-columns:minmax(0,150px) minmax(0,1fr) 36px;align-items:center;gap:10px;font-size:14px;display:grid}.enq-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.enq-bar{background:var(--paper-2);border-radius:4px;height:8px;overflow:hidden}.enq-bar i{background:var(--st-available);border-radius:4px;height:100%;display:block}.enq-bars b{text-align:right}@media (width<=640px){.enq-grid,.enq-kpis{grid-template-columns:1fr}.enq-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.enq-kpis b{font-size:20px}}.enq-source{margin-bottom:18px}.enq-bars li{grid-template-columns:minmax(0,220px) minmax(0,1fr) 36px 44px}.enq-bars-lg li{font-size:15px}.enq-bars-lg .enq-bar{height:10px}.enq-bars li.is-zero{color:var(--muted)}.enq-pct{color:var(--muted);text-align:right;font-size:12.5px}.enq-bar-muted i{background:var(--ink-2)}.enq-empty{margin-bottom:14px}@media (width<=640px){.enq-bars li{grid-template-columns:minmax(0,1fr) 70px 30px 38px}}
