@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-ext-wght-normal.1dtltwig2y3wh.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-wght-normal.1hmx3sz6swr8m.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-greek-wght-normal.37b2k1x9f-55d.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-vietnamese-wght-normal.3xvzy9_grgcx4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-ext-wght-normal.0-hru0xfwhnbp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-wght-normal.1p_a2k8qd5zhp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--teal:#007779;--teal-soft:#8dc8ba;--amber:#e5771e;--sun:#fdb617;--mint:#f1faf7;--bg:var(--mint);--bg-deep:#e2f2ed;--surface:#fff;--surface-2:#f6fbf9;--card:#fff;--glass:#ffffffc7;--glass-strong:#fff;--glass-border:#005c5e1a;--glass-edge:#005c5e0d;--blur:saturate(160%) blur(18px);--ink:#12302f;--ink-2:#2f4c4a;--muted:#557270;--faint:#86a19d;--line:#0048481a;--line-strong:#0048482e;--brand:var(--teal);--brand-light:#12898b;--brand-dark:#005b5d;--brand-soft:#e0f2ec;--on-brand:#fff;--action:var(--amber);--action-dark:#cc6413;--on-action:#241200;--sage:var(--teal-soft);--sage-dark:#3f8e7d;--sage-soft:#e3f4ee;--sand:var(--sun);--stone:#9db3af;--logo-teal:#30a2a6;--logo-pink:#c05a92;--accent:#c98a00;--nav-bg:var(--teal);--nav-ink:#ffffffdb;--nav-muted:#ffffff8c;--nav-hover:#ffffff1a;--nav-active-bg:var(--teal-soft);--nav-active-ink:#06302f;--nav-line:#ffffff24;--danger:#b3261e;--danger-soft:#fdecea;--coral:#e0664f;--warn:#8a5300;--warn-soft:#fff4d6;--ok:#1d7a52;--ok-soft:#e2f5ec;--info:#1f6aa5;--info-soft:#e6f0f8;--purple:#6b46c1;--purple-soft:#efe9fb;--radius:14px;--radius-sm:10px;--radius-xs:8px;--shadow-c:#0b3b3a;--scrim:#000;--shadow:0 1px 2px #0b3b3a0d, 0 6px 18px -10px #0b3b3a24;--shadow-lift:0 2px 4px #0b3b3a0f, 0 14px 30px -14px #0b3b3a38;--shine:inset 0 1px 0 #fff9;--font:"Manrope Variable", "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", sans-serif;--font-display:var(--font);--w-body:400;--w-label:500;--w-head:600;--ease:cubic-bezier(.2, .8, .2, 1);--fast:.16s;--slow:.42s;--sidebar:252px;--rail:76px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--teal:#3fb3ae;--teal-soft:#5d9f92;--amber:#f08a33;--sun:#fdc240;--mint:#0b1918;--bg-deep:#081312;--surface:#112523;--surface-2:#16302e;--card:#112523;--glass:#0e211fcc;--glass-strong:#112523;--glass-border:#8dc8ba1f;--glass-edge:#8dc8ba0f;--ink:#e4f2ee;--ink-2:#c2d8d3;--muted:#94b0aa;--faint:#6f8c87;--line:#8dc8ba21;--line-strong:#8dc8ba3d;--brand-light:#57c3bd;--brand-dark:#9fd8cb;--brand-soft:#16393a;--on-brand:#04201f;--action-dark:#ff9d4d;--on-action:#1f0e00;--sage-dark:#8dc8ba;--sage-soft:#163731;--stone:#4d6965;--accent:#f5c04a;--nav-bg:#0c1f1e;--nav-ink:#e4f2eedb;--nav-muted:#e4f2ee80;--nav-hover:#8dc8ba1a;--nav-active-bg:#3fb3ae38;--nav-active-ink:#e4f2ee;--nav-line:#8dc8ba1f;--danger:#f2948a;--danger-soft:#3b1d1a;--coral:#f0846f;--warn:#f5c25b;--warn-soft:#362a0e;--ok:#72d4a3;--ok-soft:#10352a;--info:#84bcef;--info-soft:#132c42;--purple:#bba4f3;--purple-soft:#2a2141;--shadow-c:#000;--shadow:0 1px 2px #0000004d, 0 8px 22px -12px #00000080;--shadow-lift:0 2px 4px #0000004d, 0 16px 34px -14px #0009;--shine:inset 0 1px 0 #ffffff08;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=medium]){--teal:#3fb3ae;--teal-soft:#5d9f92;--amber:#f08a33;--sun:#fdc240;--mint:#0b1918;--bg-deep:#081312;--surface:#112523;--surface-2:#16302e;--card:#112523;--glass:#0e211fcc;--glass-strong:#112523;--glass-border:#8dc8ba1f;--glass-edge:#8dc8ba0f;--ink:#e4f2ee;--ink-2:#c2d8d3;--muted:#94b0aa;--faint:#6f8c87;--line:#8dc8ba21;--line-strong:#8dc8ba3d;--brand-light:#57c3bd;--brand-dark:#9fd8cb;--brand-soft:#16393a;--on-brand:#04201f;--action-dark:#ff9d4d;--on-action:#1f0e00;--sage-dark:#8dc8ba;--sage-soft:#163731;--stone:#4d6965;--accent:#f5c04a;--nav-bg:#0c1f1e;--nav-ink:#e4f2eedb;--nav-muted:#e4f2ee80;--nav-hover:#8dc8ba1a;--nav-active-bg:#3fb3ae38;--nav-active-ink:#e4f2ee;--nav-line:#8dc8ba1f;--danger:#f2948a;--danger-soft:#3b1d1a;--coral:#f0846f;--warn:#f5c25b;--warn-soft:#362a0e;--ok:#72d4a3;--ok-soft:#10352a;--info:#84bcef;--info-soft:#132c42;--purple:#bba4f3;--purple-soft:#2a2141;--shadow-c:#000;--shadow:0 1px 2px #0000004d, 0 8px 22px -12px #00000080;--shadow-lift:0 2px 4px #0000004d, 0 16px 34px -14px #0009;--shine:inset 0 1px 0 #ffffff08;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=medium]{--teal:#007779;--teal-soft:#7fb3a7;--amber:#e5771e;--sun:#fdb617;--mint:#a3b6b2;--bg-deep:#93a8a3;--surface:#b7c7c3;--surface-2:#aabcb8;--card:#b7c7c3;--field:#c6d3d0;--field-border:#748c87;--glass:#b7c7c3e6;--glass-strong:#b7c7c3;--glass-border:#18343624;--glass-edge:#1834360f;--ink:#10292a;--ink-2:#203b3a;--muted:#2f4a47;--faint:#3c5653;--line:#8a9f9a;--line-strong:#748c87;--brand:#00676a;--brand-light:#007779;--brand-dark:#00494b;--brand-soft:#9fc0b8;--on-brand:#fff;--action:var(--amber);--action-dark:#c9600f;--on-action:#241200;--sage:var(--teal-soft);--sage-dark:#2f6f61;--sage-soft:#a9c6bf;--stone:#8fa39e;--accent:#9a6a00;--nav-bg:#244b4d;--nav-ink:#ffffffe0;--nav-muted:#fff9;--nav-hover:#ffffff17;--nav-active-bg:var(--teal-soft);--nav-active-ink:#0d2b2c;--nav-line:#ffffff21;--danger:#a3221b;--danger-soft:#d9b4ae;--coral:#c9553f;--warn:#7a4a00;--warn-soft:#d9c58f;--ok:#17673f;--ok-soft:#a9cdb8;--info:#1a5d93;--info-soft:#a9c0d3;--purple:#5f3db0;--purple-soft:#c0b4dc;--shadow-c:#0f2a2b;--shadow:0 1px 2px #0f2a2b14, 0 6px 18px -10px #0f2a2b38;--shadow-lift:0 2px 4px #0f2a2b1a, 0 14px 30px -14px #0f2a2b4d;--shine:inset 0 1px 0 #ffffff38;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-size:15px;line-height:1.45}a{color:inherit;text-decoration:none}h1{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600}h2{letter-spacing:-.01em;margin:0 0 10px;font-size:16px;font-weight:600}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 6px;font-size:12px;font-weight:600}.display{font-weight:var(--w-head);letter-spacing:-.02em}.page-head h1{font-weight:var(--w-head);letter-spacing:-.025em;font-size:28px;line-height:1.15}.eyebrow{color:var(--muted);margin-bottom:2px;font-size:13px}.strong{font-weight:700}.glass{background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.glass,.topbar,.bottomnav,.approve-bar,.menu-pop,.search-pop{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}}.logo{letter-spacing:.01em;align-items:center;gap:10px;font-weight:700;display:flex}.logo .word{flex-direction:column;line-height:1.05;display:flex}.logo .word b{font-weight:var(--w-head);letter-spacing:-.01em;font-size:17px}.logo .word small{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600}.logo span{color:var(--brand-light)}.app{min-height:100vh}.content{min-width:0}.sidebar{display:none}.demo-banner{background:color-mix(in srgb, var(--warn-soft) 90%, transparent);color:var(--warn);text-align:center;padding:6px 16px;font-size:13px}main{max-width:1440px;margin:0 auto;padding:8px 16px 120px}.topbar{z-index:20;padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 72%, transparent);border-bottom:1px solid var(--line);align-items:center;gap:10px;display:flex;position:sticky;top:0}.topbar .logo{margin-right:auto}.topbar .search{display:none}.iconbtn{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 55%, transparent);width:42px;height:42px;color:var(--ink-2);cursor:pointer;box-shadow:var(--shine), 0 0 0 1px var(--glass-edge);transition:transform var(--fast) var(--ease), background-color var(--fast) var(--ease);border-radius:999px;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.iconbtn:hover{background:color-mix(in srgb, var(--surface) 85%, transparent)}.iconbtn:active{transform:scale(.94)}.iconbtn svg{width:20px;height:20px}.iconbtn em.unread{position:absolute;top:-2px;right:-2px}.avatar{width:36px;height:36px;color:var(--on-brand);letter-spacing:.02em;background:linear-gradient(140deg, var(--brand-light), var(--brand-dark));border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.avatar.sm{width:28px;height:28px;font-size:11px}.avatar.sage{background:linear-gradient(140deg, var(--sage), var(--sage-dark))}.avatar.sand{background:linear-gradient(140deg, var(--sand), var(--warn))}.profile-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:10px;padding:3px;display:inline-flex}.profile-btn .who{text-align:left;line-height:1.2;display:none}.profile-btn .who b{font-size:14px;font-weight:600;display:block}.profile-btn .who small{color:var(--muted);font-size:12px}.bottomnav{z-index:30;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--glass-border);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), 0 14px 40px -10px color-mix(in srgb, var(--shadow-c) 28%, transparent);border-radius:26px;grid-template-columns:repeat(5,1fr);padding:6px;display:grid;position:fixed}.bottomnav a,.bottomnav button{min-height:52px;font:inherit;color:var(--muted);cursor:pointer;transition:color var(--fast) var(--ease);background:0 0;border:0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:500;display:flex;position:relative}.bottomnav a:before,.bottomnav button:before{content:"";background:var(--brand-soft);opacity:0;transition:opacity var(--fast) var(--ease), transform var(--slow) var(--ease);border-radius:18px;position:absolute;inset:2px 6px;transform:scale(.7)}.bottomnav .active{color:var(--brand-dark);font-weight:600}.bottomnav .active:before{opacity:1;transform:scale(1)}.bottomnav svg,.bottomnav span{position:relative}.bottomnav svg{width:22px;height:22px}.sidebar{z-index:25;width:var(--rail);background:var(--glass);border-right:1px solid var(--glass-border);box-shadow:var(--shine), 1px 0 0 var(--glass-edge);transition:width var(--slow) var(--ease), box-shadow var(--slow) var(--ease);scrollbar-width:none;flex-direction:column;gap:6px;padding:16px 10px;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.sidebar::-webkit-scrollbar{display:none}.sidebar .logo{min-height:52px;padding:2px 6px 14px}.sidebar nav{flex:1;align-content:start;gap:2px;display:grid}.sidebar .group-title{text-transform:uppercase;letter-spacing:.1em;color:var(--faint);white-space:nowrap;padding:14px 12px 6px;font-size:10.5px}.sidebar a,.sidebar .soon,.sidebar .side-btn{width:100%;min-height:42px;font:inherit;color:var(--ink-2);text-align:left;cursor:pointer;white-space:nowrap;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease);background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;display:flex;position:relative}.sidebar svg{width:20px;height:20px;color:var(--muted);transition:color var(--fast) var(--ease);flex:none}.sidebar a.active{background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--ink);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), 0 4px 14px -6px color-mix(in srgb, var(--shadow-c) 18%, transparent);font-weight:600}.sidebar a.active:before{content:"";background:var(--brand-light);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-10px}.sidebar .soon{color:var(--faint);cursor:default}.sidebar .soon svg{color:var(--faint);opacity:.7}.sidebar em.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);border:1px solid var(--line-strong);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-style:normal;font-weight:600}.sidebar .label{text-overflow:ellipsis;transition:opacity var(--fast) var(--ease);overflow:hidden}.sidebar .foot{border-top:1px solid var(--line);gap:2px;padding-top:10px;display:grid}@media (min-width:768px){.sidebar{display:flex}.content{margin-left:var(--rail)}.bottomnav,.phone-only{display:none!important}.topbar{padding:14px 24px}.topbar .search{display:flex}main{padding:8px 24px 48px}}@media (min-width:768px) and (max-width:1279px){.wide-only{display:none!important}.app:not(.nav-open) .sidebar{width:var(--rail)}.app:not(.nav-open) .sidebar .label,.app:not(.nav-open) .sidebar em.tag,.app:not(.nav-open) .sidebar .logo .word,.app:not(.nav-open) .sidebar .promo{display:none}.app:not(.nav-open) .sidebar a,.app:not(.nav-open) .sidebar .soon,.app:not(.nav-open) .sidebar .side-btn{justify-content:center;padding:0}.app:not(.nav-open) .sidebar a em.unread{margin:0;position:absolute;top:4px;right:8px}.app:not(.nav-open) .sidebar .logo{justify-content:center;padding:2px 0 14px}.app.nav-open .sidebar{width:var(--sidebar);background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:var(--shine), 0 30px 80px -20px color-mix(in srgb, var(--shadow-c) 35%, transparent)}.scrim{z-index:24;background:color-mix(in srgb, var(--ink) 16%, transparent);animation:fade var(--fast) var(--ease);position:fixed;inset:0}}@media (min-width:1080px){.profile-btn .who{display:block}}@media (min-width:1280px){.tablet-only,.scrim{display:none!important}.content{margin-left:var(--sidebar);transition:margin-left var(--slow) var(--ease)}.sidebar{width:var(--sidebar)}.app.collapsed .sidebar{width:var(--rail)}.app.collapsed .sidebar .label,.app.collapsed .sidebar em.tag,.app.collapsed .sidebar .logo .word,.app.collapsed .sidebar .promo{display:none}.app.collapsed .sidebar a,.app.collapsed .sidebar .soon,.app.collapsed .sidebar .side-btn{justify-content:center;padding:0}.app.collapsed .sidebar a em.unread{margin:0;position:absolute;top:4px;right:8px}.app.collapsed .sidebar .logo{justify-content:center;padding:2px 0 14px}.app.collapsed .content{margin-left:var(--rail)}.topbar{padding:16px 32px 12px}main{padding:8px 32px 56px}}@media (max-width:767px){.topbar .search,.quick-slot{display:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.page-head .sub{color:var(--muted);margin-top:2px;font-size:13px}.grid{gap:12px;display:grid}.grid.two{grid-template-columns:minmax(0,1fr)}.grid>*,.stack>*{min-width:0}@media (min-width:760px){.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.stack>*+*{margin-top:12px}.muted{color:var(--muted)}.warn{color:var(--warn)}.small{font-size:13px}.right{text-align:right}.nowrap{white-space:nowrap}.card{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow);padding:18px}.card.flush{padding:0;overflow:hidden}.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}@media (min-width:1100px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}.kpi{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow);padding:16px 18px;display:block}a.kpi:hover{box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow-lift)}.kpi .l{color:var(--muted);font-size:12px;font-weight:500}.kpi .n{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:4px 0 2px;font-size:22px;font-weight:700;overflow:hidden}@media (min-width:900px){.kpi .n{font-size:28px}}.kpi .s{color:var(--muted);font-size:12px}.kpi.alert{background:color-mix(in srgb, var(--brand-soft) 88%, transparent)}.kpi.alert .n{color:var(--danger)}.dash{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.dash .col{align-content:start;gap:14px;display:grid}@media (min-width:900px){.dash{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:16px 18px;display:flex}.card-head h2{margin:0;font-size:15px}.card-head.flat{border:0;padding:0 0 12px}.card-head .count{color:var(--muted);background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.link{color:var(--brand);font-size:13px;font-weight:600}.bars{gap:4px;display:grid}.bar{border-radius:8px;grid-template-columns:112px minmax(0,1fr) 28px;align-items:center;gap:10px;margin:0 -6px;padding:4px 6px;font-size:13px;display:grid}.bar:hover{background:var(--surface-2)}.bar .name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bar .track{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.bar .track span{background:var(--brand);border-radius:999px;min-width:2px;height:100%;display:block}.bar .num{text-align:right;font-weight:600}.section-title{margin:28px 0 12px;font-size:15px}.modules{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}@media (min-width:640px){.modules{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.modules{grid-template-columns:repeat(4,minmax(0,1fr))}}.module{border-radius:var(--radius);background:var(--glass);border:1px solid var(--glass-border);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge);gap:4px;padding:16px 18px;display:grid}a.module:hover{box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow-lift)}.module.off{box-shadow:none;border:1px dashed var(--line-strong);background:0 0}.pill{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.pill.live{background:var(--ok-soft);color:var(--ok)}.pill.next{background:var(--warn-soft);color:var(--warn)}.pill.later{background:var(--surface-2);color:var(--muted)}.list{margin:0;padding:0;list-style:none}.list>li+li{border-top:1px solid var(--line)}.list a.item,.list .item{align-items:center;gap:12px;padding:12px 16px;display:flex}.list a.item:hover{background:color-mix(in srgb, var(--surface) 60%, transparent)}.item .main{flex:1;min-width:0}.item .title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.item .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.empty{text-align:center;color:var(--muted);padding:28px 16px}.badge{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.badge.new{background:var(--info-soft);color:var(--info)}.badge.contacting{background:var(--purple-soft);color:var(--purple)}.badge.requirements{background:color-mix(in srgb, var(--teal-soft) 45%, transparent);color:var(--brand-dark)}.badge.decision{background:var(--brand-soft);color:var(--brand-dark);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 35%, transparent)}.badge.on_hold{background:var(--warn-soft);color:var(--warn)}.badge.converted{background:var(--ok-soft);color:var(--ok)}.badge.tentative_quote,.badge.final_quote,.badge.sent{background:var(--sage-soft);color:var(--sage-dark)}.badge.site_visit{background:var(--warn-soft);color:var(--warn)}.badge.signed,.badge.design{background:var(--brand-soft);color:var(--brand-dark)}.badge.execution,.badge.accepted{background:var(--ok-soft);color:var(--ok)}.badge.design_only{background:var(--warn-soft);color:var(--warn)}.badge.kind{background:var(--surface);border:1px solid var(--line);color:var(--muted)}.badge.lost,.badge.rejected{background:var(--danger-soft);color:var(--danger)}.badge.draft{background:var(--surface-2);color:var(--ink-2)}.due{white-space:nowrap;font-size:12px;font-weight:600}.due.overdue{color:var(--danger)}.due.today{color:var(--warn)}.due.later{color:var(--muted)}label.field{display:block}label.field>span{color:var(--muted);margin-bottom:4px;font-size:13px;font-weight:500;display:block}input,select,textarea{width:100%;font:inherit;color:inherit;background:color-mix(in srgb, var(--surface) 85%, transparent);border:1px solid var(--line-strong);min-height:44px;transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border-radius:12px;padding:10px 12px}textarea{resize:vertical;min-height:80px}input:focus,select:focus,textarea:focus{border-color:var(--brand-light);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 16%, transparent);outline:none}.form-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}.check{align-items:center;gap:8px;display:flex}.check input{width:20px;min-height:20px}.btn{font:inherit;font-weight:var(--w-label);cursor:pointer;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface) 78%, transparent);min-height:42px;color:var(--ink);transition:background-color var(--fast) var(--ease), transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-size:14px;display:inline-flex}.btn:hover{background:var(--surface);box-shadow:0 4px 14px -6px color-mix(in srgb, var(--shadow-c) 20%, transparent)}.btn:active{transform:scale(.97)}.btn.primary:hover{background:var(--brand)}.btn.wa{color:#fff;background:#25d366;border-color:#25d366}.btn.small{min-height:34px;padding:6px 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font:inherit;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--surface) 70%, transparent);cursor:pointer;color:var(--ink-2);border-radius:999px;padding:6px 13px;font-size:13px}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.error{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:14px}dl.facts{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-top:1px solid var(--line);padding:10px 0;font-size:14px}.timeline li:first-child{border-top:0}.timeline .when{color:var(--muted);font-size:12px}.qitem{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:12px}.qitem .cols{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;display:grid}.qitem .cols label>span{font-size:12px}.qitem .amount{font-weight:700}.totals{border-collapse:collapse;width:100%;font-size:14px}.totals td{padding:4px 0}.totals td:last-child{text-align:right}.totals tr.grand td{border-top:1px solid var(--line);padding-top:8px;font-size:17px;font-weight:700}.sticky-actions{background:var(--bg);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 0;display:flex;position:sticky;bottom:64px}@media (min-width:900px){.sticky-actions{bottom:0}}.print-page{--brand:#1d6f73;--brand-dark:#12474a;--brand-soft:#e2f1f1;color:#111;background:#fff;max-width:820px;margin:0 auto;padding:32px;font-size:13px}.print-page h1{color:var(--brand);font-size:24px}.print-page table.items{border-collapse:collapse;width:100%;margin-top:16px}.print-page table.items th,.print-page table.items td{text-align:left;vertical-align:top;border-bottom:1px solid #ddd;padding:6px 4px}.print-page table.items th{background:#f3f1ec;font-size:12px}.print-page table.items td.num,.print-page table.items th.num{text-align:right;white-space:nowrap}.print-page .section-row td{background:#faf8f4;font-weight:700}.print-page .head{border-bottom:3px solid var(--brand);justify-content:space-between;gap:24px;padding-bottom:12px;display:flex}.print-page .boxes{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.print-page .pre{white-space:pre-wrap}.send-panel{max-width:820px;margin:0 auto 12px}.print-toolbar{flex-wrap:wrap;gap:8px;max-width:820px;margin:12px auto;padding:0 16px;display:flex}.boq{max-width:1120px;font-size:11.5px}.boq-head{text-align:center;border-bottom:3px solid var(--logo-teal);grid-template-columns:90px 1fr 90px;align-items:center;gap:12px;padding-bottom:8px;display:grid}.boq-head h1{color:var(--logo-teal)}.boq-logo{justify-self:start;width:auto;height:84px}@media print{.boq-logo{height:64px}}.pdf-render .boq-logo{height:64px}.boq-head h1{letter-spacing:.06em;font-size:22px}.boq-title{text-align:center;margin:10px 0;font-size:13px;font-weight:700}.boq-info{border-collapse:collapse;width:100%}.boq-info th,.boq-info td{text-align:left;vertical-align:top;border:1px solid #ccc;padding:5px 6px}.boq-info th{background:#f3f1ec;width:11%;font-weight:600}.boq-scroll{overflow-x:auto}.boq-items{table-layout:fixed;min-width:980px}.print-page table.boq-items td,.print-page table.boq-items th{border:1px solid #ddd;padding:4px 3px;font-size:10.5px}.boq-items td.desc{line-height:1.35;font-size:9.5px!important}.boq-items td.item-name{font-weight:700}.boq-items col.c-sr{width:3%}.boq-items col.c-item{width:9%}.boq-items col.c-fin{width:6.5%}.boq-items col.c-desc{width:38%}.boq-items col.c-dim{width:4.5%}.boq-items col.c-unit{width:4%}.boq-items col.c-rate{width:6%}.boq-items col.c-qty{width:4.5%}.boq-items col.c-no{width:3%}.boq-items col.c-disc{width:5%}.boq-items col.c-amt{width:7.5%}.print-page table.items th.boq-band,.boq-band{background:var(--brand);color:#fff;letter-spacing:.04em;text-align:left;padding:5px 8px;font-weight:700}.boq-block{break-inside:auto;margin-top:14px}.boq-block>.pre{padding:6px 2px}.boq-totals{max-width:420px;margin:14px 0 0 auto}.boq-sign{justify-content:space-between;gap:24px;margin-top:40px;display:flex}@page{size:A4 landscape;margin:10mm}@media print{.boq{font-size:9px}.print-page table.boq-items td,.print-page table.boq-items th{padding:2px 3px;font-size:8px}.boq-items td.desc{line-height:1.25;font-size:7.5px!important}.boq-info th,.boq-info td{padding:3px 5px}.boq-head h1{font-size:18px}.boq-band,.section-row td,.boq-info th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.boq-scroll{overflow:visible}.boq-items{min-width:0}.boq-items tr{break-inside:avoid}.no-print,.sidebar,.mobilebar,.bottomnav,.demo-banner{display:none!important}body{background:#fff}main,.print-page{max-width:none;padding:0}}.print-page.pdf-render{width:1040px;max-width:none;padding:0;font-size:9px}.pdf-render.boq .boq-scroll{overflow:visible}.pdf-render .boq-items{min-width:0}.print-page.pdf-render table.boq-items td,.print-page.pdf-render table.boq-items th{padding:2px 3px;font-size:8.5px}.pdf-render .boq-items td.desc{line-height:1.25;font-size:8px!important}.pdf-render .boq-info th,.pdf-render .boq-info td{padding:3px 5px}.pdf-render .boq-head h1{font-size:18px}.pdf-render .no-print{display:none!important}@media (max-width:600px){.print-page{padding:16px}.print-page .boxes{grid-template-columns:1fr}}@media screen and (max-width:600px){.print-page:not(.pdf-render) .boq-info tr{grid-template-columns:minmax(96px,38%) 1fr;display:grid}.print-page:not(.pdf-render) .boq-info th,.print-page:not(.pdf-render) .boq-info td{overflow-wrap:anywhere;width:auto;margin:0 0 -1px -1px;display:block}}.room-head{margin-top:8px}.room-name{text-transform:uppercase;letter-spacing:.03em;background:var(--brand-soft);border-color:#0000;font-weight:700}input.computed{background:var(--surface-2);color:var(--muted)}details summary{cursor:pointer;color:var(--brand);padding:4px 0;font-weight:600}details textarea{margin-top:6px;font-size:13px}.sheet-backdrop{background:color-mix(in srgb, var(--scrim) 40%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:640px;max-height:85vh;display:flex}@media (min-width:760px){.sheet-backdrop{align-items:center}.sheet{border-radius:16px}}button.item.pick{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 4px;display:flex}button.item.pick:hover{background:var(--surface-2)}.priority{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.priority.urgent{color:var(--surface);background:var(--danger);border-radius:4px;padding:1px 6px}.priority.high{color:var(--danger)}.priority.medium{color:var(--warn)}.priority.low{color:var(--muted)}.logo-badge{background:var(--surface);border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.toolbar{flex-wrap:wrap;gap:8px;display:flex}.toolbar>input{flex:2 220px}.toolbar>select{flex:160px;width:auto}.room-row{grid-template-columns:minmax(140px,1fr) auto;align-items:center;gap:8px 12px;padding:10px 0;display:grid}@media (min-width:760px){.room-row{grid-template-columns:minmax(160px,220px) 1fr auto auto}}.room-head{align-items:center;gap:12px;display:flex}.room-head .room-name{flex:1}.room-total{white-space:nowrap;font-weight:700}.room-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.master-notice{background:var(--warn-soft);color:var(--warn);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.perm-list>*+*{margin-top:8px}.print-page .room-total-row td{background:#f4f9f9;border-top:1px solid #cfe3e3;font-weight:700}.room-summary{border-collapse:collapse;width:100%;margin-bottom:10px;font-size:13px}.room-summary th,.room-summary td{border-bottom:1px solid var(--line);text-align:left;padding:3px 0}.room-summary .num{text-align:right}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack-tight>*+*{margin-top:6px}.note-box{background:var(--brand-soft);color:var(--brand-dark);border-radius:10px;padding:10px 12px}.badge.ts-not_started{background:var(--surface-2);color:var(--ink-2)}.badge.ts-in_progress{background:var(--brand-soft);color:var(--brand)}.badge.ts-waiting_client,.badge.ts-waiting_material{background:var(--warn-soft);color:var(--warn)}.badge.ts-blocked,.badge.ps-overdue{background:var(--danger-soft);color:var(--danger)}.badge.ts-done{background:var(--ok-soft);color:var(--ok)}.badge.move-later{background:var(--warn-soft);color:var(--warn)}.badge.move-earlier{background:var(--ok-soft);color:var(--ok)}.sched-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (min-width:760px){.sched-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.sched-stat{text-align:left;font:inherit;color:inherit;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-height:44px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:2px;padding:12px 16px;display:flex}.sched-stat:hover{box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow-lift)}.sched-stat .n{letter-spacing:-.01em;font-size:22px;font-weight:700}.sched-stat .l{color:var(--muted);font-size:12px;font-weight:500}.sched-stat.bad{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:var(--surface)}.sched-stat.bad .n{color:var(--danger)}.sched-stat.wait{border-color:var(--warn);background:var(--surface-2)}.sched-stat.wait .n{color:var(--warn)}.seg{background:var(--surface-2);border-radius:10px;padding:3px;display:inline-flex}.seg button{font:inherit;font-size:13px;font-weight:var(--w-label);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:34px;padding:6px 14px}.seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 12%, transparent)}.sched-list button.item{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;padding:14px 16px}.sched-list button.item:hover{background:var(--surface-2)}.sched-row.late{box-shadow:inset 3px 0 0 var(--danger)}.sched-row.done .title{color:var(--muted)}.sched-title{align-items:center;gap:6px;min-width:0;display:flex}.ms-mark{color:var(--accent);font-size:12px}.sched-flags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.flag{background:var(--surface-2);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.flag.wait{background:var(--warn-soft);color:var(--warn)}.flag.seen{background:var(--brand-soft);color:var(--brand)}.flag.hidden{border:1px dashed var(--line);background:0 0}.sched-side{flex-direction:column;flex:none;align-items:flex-end;gap:6px;width:128px;display:flex}.late-text{color:var(--danger);font-weight:600}.sched-progress{background:var(--surface-2);border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.sched-progress>span{background:var(--brand);border-radius:999px;height:100%;display:block}.sched-progress>span.late{background:var(--danger)}@media (max-width:559px){.sched-list button.item{flex-direction:column;gap:8px}.sched-side{flex-flow:wrap;align-items:center;width:100%}.sched-side .sched-progress{flex:100%}}.gantt-card{overflow:hidden}.gantt-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.gantt-scroll:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.gantt{position:relative}.gantt-row{border-top:1px solid var(--line);grid-template-columns:240px minmax(0,1fr);min-height:44px;display:grid}.gantt-row:first-child{border-top:0}.gantt-name{z-index:2;background:var(--card);border:0;border-right:1px solid var(--line);font:inherit;color:inherit;text-align:left;flex-direction:column;justify-content:center;min-width:0;padding:8px 12px;display:flex;position:sticky;left:0}button.gantt-name{cursor:pointer}button.gantt-name:hover{background:var(--surface-2)}.gantt-name .t{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.gantt-name .dep{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.gantt-head{background:var(--surface-2);min-height:36px}.gantt-head .gantt-name{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600}.gantt-track{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);position:relative}.gantt-head .gantt-track{background:0 0}.gantt-week{color:var(--muted);border-left:1px solid var(--line);white-space:nowrap;align-items:center;padding-left:6px;font-size:12px;display:flex;position:absolute;top:0;bottom:0}.gantt-today{background:var(--brand);opacity:.55;z-index:1;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.gantt-today-label{color:var(--on-brand);background:var(--brand);z-index:1;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700;position:absolute;top:2px;transform:translate(-50%)}.gantt-bar{cursor:pointer;background:var(--danger-soft);z-index:1;border:0;border-radius:6px;min-width:6px;height:18px;margin-top:-9px;padding:0;position:absolute;top:50%;overflow:hidden}.gantt-bar .fill{background:var(--brand);border-radius:6px 0 0 6px;position:absolute;inset:0 auto 0 0}.gantt-bar.ts-waiting_client,.gantt-bar.ts-waiting_material{background:var(--warn-soft)}.gantt-bar.ts-waiting_client .fill,.gantt-bar.ts-waiting_material .fill{background:var(--warn)}.gantt-bar.late{background:var(--danger-soft)}.gantt-bar.late .fill{background:var(--danger)}.gantt-bar.done{background:var(--surface-2)}.gantt-bar.done .fill{background:var(--faint)}.gantt-bar:focus-visible,.gantt-ms:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.gantt-ms{background:var(--accent);border:2px solid var(--line);cursor:pointer;z-index:1;width:16px;height:16px;box-shadow:0 0 0 1px var(--accent);border-radius:3px;margin:-8px 0 0 -8px;padding:0;position:absolute;top:50%;transform:rotate(45deg)}.gantt-ms.late{background:var(--danger);box-shadow:0 0 0 1px var(--danger)}.gantt-ms.done{background:var(--faint);box-shadow:0 0 0 1px var(--faint)}.gantt-nodate{position:absolute;top:50%;left:8px;transform:translateY(-50%)}.gantt-legend{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px;padding:10px 16px;display:flex}.gantt-legend span{align-items:center;gap:6px;display:inline-flex}.lg{border-radius:3px;width:16px;height:8px;display:inline-block}.lg.bar{background:var(--brand)}.lg.late{background:var(--danger)}.lg.done{background:var(--faint)}.lg.ms{background:var(--accent);border-radius:2px;width:9px;height:9px;transform:rotate(45deg)}.lg.today{background:var(--brand);width:2px;height:14px}.vtl{border-left:2px solid var(--line);margin:0;padding:0 0 0 14px;list-style:none}.vtl li{position:relative}.vtl li:before{content:"";background:var(--card);border:2px solid var(--brand);border-radius:50%;width:12px;height:12px;position:absolute;top:18px;left:-21px}.vtl li.done:before{background:var(--faint);border-color:var(--faint)}.vtl li.late:before{border-color:var(--danger);background:var(--danger)}.vtl li.ms:before{border-color:var(--accent);border-radius:2px;transform:rotate(45deg)}.vtl button{width:100%;min-height:44px;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 8px;display:flex}.vtl button:hover{background:var(--surface-2)}.vtl-title{font-weight:600}.vtl li.done .vtl-title{color:var(--muted)}.sheet.wide{max-width:760px}.sheet-body{min-height:0;overflow-y:auto}.task-editor h3{margin-top:4px}.dep-list{border:1px solid var(--line);border-radius:10px;gap:4px;max-height:220px;padding:8px 12px;display:grid;overflow-y:auto}.dep-list .check,.checklist .check{min-height:40px}.checklist{margin:0 0 8px;padding:0;list-style:none}.checklist li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;display:flex}.struck{color:var(--muted);text-decoration:line-through}textarea.team-notes{background:var(--surface-2);border-color:var(--warn)}.sheet-actions{border-top:1px solid var(--line);padding-top:12px}.list.moves .item{padding:10px 0}fieldset:disabled .check{color:var(--muted)}.setup-list{margin:0;padding:0;list-style:none}.setup-list>li+li{border-top:1px solid var(--line)}.setup-row{gap:10px;padding:14px 0;display:grid}.setup-row.inactive,.setup-templates .item.inactive{opacity:.65}.setup-templates .item{flex-wrap:wrap;padding:12px 0}.setup-num{background:var(--surface-2);width:28px;height:28px;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}@media (max-width:899px){.schedule .seg button,.schedule .chip,.schedule .btn.small,.task-editor .btn.small,.setup .btn.small{min-height:44px}}@media (prefers-reduced-motion:no-preference){.sched-stat,.seg button,.sched-progress>span,.gantt-bar .fill{transition:background-color .15s,border-color .15s,width .25s}}.money-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}@media (min-width:900px){.money-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}.var .money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:900px){.var .money-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.money-tile{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;min-width:0;padding:12px 14px}.money-tile .l{color:var(--muted);font-size:12px;font-weight:500}.money-tile .n{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:4px 0 2px;font-size:20px;font-weight:700;overflow:hidden}.money-tile .s{color:var(--muted);font-size:12px}.money-tile.strong-tile{background:var(--brand-soft);border-color:#0000}.money-tile.strong-tile .n{color:var(--brand-dark)}.money-tile.ok .n{color:var(--ok)}.money-tile.waiting{background:var(--surface-2);border-color:var(--warn)}.money-tile.waiting .n{color:var(--warn)}@media (min-width:900px){.money-tile .n{font-size:24px}}.calm-warn{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius);margin:0 0 12px;padding:12px 16px}.calm-warn strong{color:var(--warn);margin-bottom:4px;display:block}.calm-warn ul{margin:0;padding-left:18px}.calm-warn li+li{margin-top:4px}.pay-list,.var-list{margin:12px 0 0;padding:0;list-style:none}.pay-list>li+li{border-top:1px solid var(--line)}.pay-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 0;display:grid}@media (min-width:700px){.pay-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) auto;align-items:start;gap:16px}}.pay-row.dim{opacity:.6}.pay-main>*+*{margin-top:4px}.pay-amount{font-size:17px}.figs{flex-wrap:wrap;gap:8px 18px;margin:0;display:flex}.figs>div{min-width:92px}.figs dt{color:var(--muted);font-size:12px}.figs dd{white-space:nowrap;margin:0;font-weight:600}.pay-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (min-width:700px){.pay-actions{justify-content:flex-end;max-width:280px}}.sheet-foot{margin-top:16px}.alloc{margin-top:14px}.alloc-item{padding:10px 0}.alloc-item>*+*{margin-top:2px}.badge.rs-not_requested{background:var(--surface-2);color:var(--ink-2)}.badge.rs-due{background:var(--brand-soft);color:var(--brand)}.badge.rs-overdue{background:var(--danger-soft);color:var(--danger)}.badge.rs-awaiting_verification,.badge.rc-awaiting_verification{background:var(--warn-soft);color:var(--warn)}.badge.rs-part_paid{background:var(--info-soft);color:var(--info)}.badge.rs-paid,.badge.rc-verified{background:var(--ok-soft);color:var(--ok)}.badge.rc-rejected{background:var(--danger-soft);color:var(--danger)}.badge.from-client-tag{background:var(--purple-soft);color:var(--purple)}.badge.shown-tag{background:var(--brand-soft);color:var(--brand)}.var-list>li+li{margin-top:12px}.var-card>*+*{margin-top:10px}.var-card.locked{background:var(--surface-2)}.var-no{color:var(--brand);background:var(--brand-soft);border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.var-amount{white-space:nowrap;font-size:17px;font-weight:700}.var-amount.ct-credit{color:var(--ok)}.var-amount.ct-included{color:var(--muted);font-size:14px;font-weight:600}.var-badges{gap:6px}.badge.ct-included{background:var(--surface-2);color:var(--ink-2)}.badge.ct-additional{background:var(--warn-soft);color:var(--warn)}.badge.ct-credit{background:var(--ok-soft);color:var(--ok)}.badge.vi-requested{background:var(--purple-soft);color:var(--purple)}.badge.vi-under_review{background:var(--warn-soft);color:var(--warn)}.badge.vi-ready{background:var(--brand-soft);color:var(--brand)}.badge.vi-rejected,.badge.vc-rejected{background:var(--danger-soft);color:var(--danger)}.badge.vc-pending{background:var(--warn-soft);color:var(--warn)}.badge.vc-approved{background:var(--ok-soft);color:var(--ok)}.var-facts{font-size:14px}.var-facts .pre,.pay .pre{white-space:pre-wrap}@media (max-width:559px){.var-facts{grid-template-columns:1fr;gap:2px}.var-facts dd{margin-bottom:6px}}.approval-note{background:var(--ok-soft);color:var(--ok);border-radius:10px;padding:10px 12px}.approval-note>*+*{margin-top:4px}.var-thread{border-top:1px solid var(--line);padding-top:8px}.var-thread summary{align-items:center;min-height:44px;display:flex}@media (max-width:699px){.pay .btn,.pay .chip,.var .btn,.var .chip,.sheet .chip{min-height:44px}.pay-actions .action,.var-actions .action{flex:auto}}@media (prefers-reduced-motion:no-preference){.money-tile,.pay .chip,.var .chip{transition:background-color .15s,border-color .15s}}:focus-visible{outline:2px solid var(--brand-light);outline-offset:2px}.btn,.chip,.tabs button,.card,.item{transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.btn.ghost{border-color:color-mix(in srgb, var(--surface) 35%, transparent);color:inherit;background:0 0}.mobilebar{justify-content:space-between}.bell{color:inherit;padding:6px;display:inline-flex;position:relative}.bell svg{width:22px;height:22px}em.unread{background:var(--coral);min-width:17px;height:17px;color:var(--surface);box-shadow:0 0 0 2px var(--bg);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.bell em.unread{position:absolute;top:0;right:-2px}.sidebar a em.unread{margin-left:auto}.demo-banner{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;display:flex}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:2px;margin-bottom:18px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;min-height:44px;padding:10px 14px;font-size:14px;font-weight:500}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--ink);border-bottom-color:var(--brand-light);font-weight:600}.tab-count{background:var(--coral);color:var(--surface);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700}.action{flex-direction:column;align-items:flex-start;gap:6px;display:inline-flex}.done-tick{color:inherit}.btn .done-tick{animation:.3s pop}@keyframes pop{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.badge.ps-draft{background:var(--surface-2);color:var(--ink-2)}.badge.ps-published{background:var(--info-soft);color:var(--info)}.badge.ps-changes_requested{background:var(--warn-soft);color:var(--warn)}.badge.ps-approved{background:var(--ok-soft);color:var(--ok)}.badge.ps-superseded,.badge.ps-withdrawn{background:var(--surface-2);color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--scrim) 25%, transparent);text-decoration-color:color-mix(in srgb, var(--scrim) 25%, transparent)}.badge.ps-overdue{background:var(--danger-soft);color:var(--danger)}.badge.stage-badge{background:var(--brand-soft);color:var(--brand-dark)}.badge.internal-tag{background:var(--ink-2);color:var(--surface)}.badge.ck-change,.badge.ck-alternative{background:var(--warn-soft);color:var(--warn)}.badge.ck-question{background:var(--info-soft);color:var(--info)}.badge.cs-open{background:var(--warn-soft);color:var(--warn)}.badge.cs-answered,.badge.cs-resolved,.badge.rcpt-verified{background:var(--ok-soft);color:var(--ok)}.badge.rcpt-awaiting_verification{background:var(--warn-soft);color:var(--warn)}.ok-text{color:var(--ok)}.notice{background:var(--warn-soft);color:var(--warn);border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:14px}.notice.danger{background:var(--danger-soft);color:var(--danger)}.card.flush .notice{margin:12px 16px 0}.dot{background:var(--sage);border-radius:50%;flex:none;width:8px;height:8px}.dot.alert{background:var(--coral)}.dot.off{border:1px solid var(--line);background:0 0}button.item.pick-row,.pick-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px 16px;display:flex}button.pick-row:hover{background:var(--surface-2)}.list .item .pick-row{flex-direction:column;align-items:flex-start;gap:0;padding:0}.kpis.three{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}ul.plain{margin:0;padding:0;list-style:none}ul.plain>li{border-top:1px solid var(--line);padding:8px 0}ul.plain>li:first-child{border-top:0;padding-top:0}.link-plain{color:inherit}button.link{cursor:pointer;font:inherit;color:var(--brand);font-size:13px;font-weight:var(--w-label);background:0 0;border:0;padding:0}.quote-row{flex-wrap:wrap}.quote-row .actions{gap:6px}.approval-note.big{margin-bottom:12px}.card.soft{background:var(--surface-2);box-shadow:none}.internal-box{background:var(--surface-2);box-shadow:none;border-style:dashed}.steps{color:var(--muted);margin:16px 0 0;padding-left:20px}.steps li+li{margin-top:6px}.item.revoked{opacity:.6}.share-row{width:100%}.list .item{flex-wrap:wrap}.list .item>.main{flex:220px}.msg-group+.msg-group{margin-top:18px}.comments{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.comment{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.comment.from-client{background:var(--sage-soft);border-color:var(--line-strong)}.comment.internal{background:var(--surface-2);border-style:dashed}.comment.reply{margin-left:18px}.comment-body{white-space:pre-wrap;margin-top:4px;font-size:14px}.comment-box{gap:8px;display:grid}.comment-box.internal textarea{background:var(--surface-2);border-style:dashed}.thread+.thread{margin-top:12px}.fileview{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.fileview-bar{border-bottom:1px solid var(--line);background:var(--surface-2);padding:8px 10px}.fileview-scroll{background:var(--surface-2);max-height:70vh;overflow:auto}.pin-wrap{min-width:100%;position:relative}.pin-wrap img{width:100%;height:auto;display:block}.pin{background:var(--brand);width:24px;height:24px;color:var(--on-brand);box-shadow:0 2px 6px color-mix(in srgb, var(--shadow-c) 30%, transparent);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%)}.pdf-frame{border:0;width:100%;height:70vh;display:block}.doc-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.doc-card{text-align:left;font:inherit;color:inherit;cursor:pointer;gap:6px;display:grid}.doc-card:hover{border-color:var(--brand)}.doc-card .title{font-weight:600}.doc-detail{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}@media (min-width:900px){.doc-detail{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.sheet.wide:has(.doc-detail){max-width:1120px}}.versions .item.on{background:var(--brand-soft)}.portal-app{min-height:100vh}.quick{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-btn{font:inherit;font-weight:var(--w-label);border:1px solid var(--glass-border);background:var(--glass-strong);min-height:56px;color:var(--brand-dark);cursor:pointer;box-shadow:var(--shadow);border-radius:16px}.quick-btn:hover{border-color:var(--brand)}.month+.month{margin-top:18px}.client-timeline{border-left:2px solid var(--line);gap:14px;margin:0;padding:0 0 0 18px;list-style:none;display:grid}.client-timeline li{position:relative}.client-timeline li:before{content:"";background:var(--surface);border:2px solid var(--brand);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-25px}.client-timeline li.done:before{background:var(--brand)}.client-timeline li.milestone:before{border-color:var(--accent);border-radius:2px;transform:rotate(45deg)}.progress{background:var(--surface-2);border-radius:999px;height:6px;margin-top:6px;overflow:hidden}.progress span{background:var(--brand);height:100%;display:block}.room-card+.room-card,.portal-quote>*+*{margin-top:12px}.qline{border-top:1px solid var(--line)}.qline:first-child{border-top:0}.qline-head{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-height:56px;padding:12px 16px;display:flex}.qline-head:hover{background:var(--surface-2)}.qline-head .main{flex:1;min-width:0}.qline-head .title{font-weight:600}.qline-head .meta{color:var(--muted);font-size:13px}.qline-body{padding:0 16px 14px}.pre{white-space:pre-wrap}details.terms summary,.terms-box summary{padding:0}.approve-bar{background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);box-shadow:0 -2px 16px color-mix(in srgb, var(--shadow-c) 6%, transparent);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;bottom:0}dl.facts.big{font-size:16px}.notif.unread-row{background:color-mix(in srgb, var(--brand-soft) 50%, transparent)}@media print{.portal-bar,.tabs,.approve-bar,.demo-banner{display:none!important}.qline-body{display:none}}.boq-approved{border:1.5px solid var(--ok);color:var(--ok);text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:4px;margin-top:8px;padding:5px 8px;font-size:11px;font-weight:700}.topbar-gap{flex:1}.search{background:color-mix(in srgb, var(--surface) 62%, transparent);border:1px solid var(--glass-border);height:44px;box-shadow:var(--shine), 0 0 0 1px var(--glass-edge);color:var(--muted);border-radius:14px;flex:0 460px;align-items:center;gap:10px;padding:0 14px;position:relative}.search:focus-within{background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), 0 0 0 4px color-mix(in srgb, var(--brand) 14%, transparent)}.search>svg{flex:none;width:18px;height:18px}.search input{background:0 0;border:0;height:100%;min-height:0;padding:0;font-size:14px;box-shadow:none!important}.search input::-webkit-search-cancel-button{display:none}.kbd{font:inherit;color:var(--faint);border:1px solid var(--line-strong);border-radius:6px;flex:none;padding:1px 6px;font-size:11px;font-weight:600}.search-pop{max-height:60vh;padding:6px;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.search-hit{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:8px 10px;display:flex}.search-hit.on{background:var(--brand-soft)}.search-hit .main{flex:1;min-width:0;display:grid}.search-hit .title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.search-hit .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.hit-icon{background:color-mix(in srgb, var(--surface) 80%, transparent);width:32px;height:32px;color:var(--brand);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.hit-icon svg{width:17px;height:17px}.hit-kind{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.search-sheet{z-index:60;padding:max(12px, env(safe-area-inset-top)) 12px 12px;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:fade var(--fast) var(--ease);position:fixed;inset:0}.search-sheet .row{flex-wrap:nowrap}.search-sheet .search{flex:1;display:flex}.search-sheet .kbd{display:none}.dropdown{position:relative}.menu-pop{z-index:40;background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--glass-border);min-width:230px;box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), 0 24px 50px -16px color-mix(in srgb, var(--shadow-c) 30%, transparent);animation:rise var(--fast) var(--ease);transform-origin:100% 0;border-radius:16px;padding:6px;position:absolute;top:calc(100% + 8px)}.menu-pop.right{right:0}.menu-head{border-bottom:1px solid var(--line);margin-bottom:4px;padding:8px 10px 10px;display:grid}.menu-head small{color:var(--muted);font-size:12px}.menu-item{width:100%;min-height:40px;font:inherit;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:0 10px;font-size:14px;display:flex}.menu-item:hover{background:var(--brand-soft);color:var(--ink)}.menu-item svg{width:18px;height:18px;color:var(--muted)}.profile-btn .chev{width:16px;height:16px;color:var(--muted);display:none}@media (min-width:1080px){.profile-btn .chev{display:block}}.new-btn{border-radius:999px;min-height:42px;padding:0 16px 0 12px}.new-btn svg{width:18px;height:18px}@media (max-width:1079px){.new-btn span{display:none}.new-btn{width:42px;padding:0}}.logo-badge{background:var(--surface);width:38px;height:38px;box-shadow:0 0 0 1px var(--glass-edge), 0 4px 10px -4px color-mix(in srgb, var(--shadow-c) 20%, transparent);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.logo-badge img{width:30px;height:30px}.sidebar .promo{color:#fff;white-space:normal;background:linear-gradient(180deg, color-mix(in srgb, var(--shadow-c) 18%, transparent), color-mix(in srgb, var(--shadow-c) 55%, transparent)), url(/img/promo.jpg) center / cover;min-height:230px;box-shadow:0 0 0 1px var(--glass-edge), 0 14px 30px -14px color-mix(in srgb, var(--shadow-c) 45%, transparent);border-radius:18px;flex-direction:column;justify-content:space-between;margin:14px 0 10px;padding:18px 16px 14px;display:flex;position:relative;overflow:hidden}.sidebar .promo:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--shadow-c) 10%, transparent), color-mix(in srgb, var(--shadow-c) 50%, transparent)), url(/img/promo.jpg) center / cover}.sidebar .promo:before{display:none}.promo-text{gap:0;display:grid}.promo-text b{font-weight:var(--w-head);letter-spacing:-.02em;text-shadow:0 1px 12px color-mix(in srgb, var(--shadow-c) 30%, transparent);font-size:22px;line-height:1.15}.promo-text small{opacity:.92;margin-top:8px;font-size:12px}.promo-go{background:color-mix(in srgb, var(--surface) 90%, transparent);width:40px;height:40px;color:var(--ink);transition:transform var(--fast) var(--ease);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.promo:hover .promo-go{transform:translate(3px)}.promo-go svg{width:18px;height:18px;color:var(--ink)!important}@media (max-height:820px){.sidebar .promo{display:none}}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.more-tile{text-align:center;min-height:84px;color:var(--ink-2);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--glass-border);box-shadow:0 0 0 1px var(--glass-edge);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px 6px;font-size:13px;font-weight:500;display:flex;position:relative}.more-tile svg{width:22px;height:22px;color:var(--brand)}.more-tile.active{background:var(--brand-soft)}.more-tile.off,.more-tile.off svg{color:var(--faint)}.more-tile em.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-size:9.5px;font-style:normal}.demo-banner{border-bottom:1px solid color-mix(in srgb, var(--warn) 12%, transparent);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;display:flex}.demo-banner select{width:auto;min-height:30px;padding:2px 8px;font-size:13px}@media (min-width:768px){.demo-banner{border:0;border-radius:12px;margin:0 24px}}@media (min-width:1280px){.demo-banner{margin:0 32px}}.portal-bar{gap:10px}.portal-bar .logo{margin-right:auto}.portal-main{padding-top:16px}@media (max-width:767px){.wide-only,.tablet-only{display:none!important}}.panel{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow);min-width:0;animation:rise var(--slow) var(--ease) both;animation-delay:calc(var(--i,0) * 45ms);padding:16px 18px 14px}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.attention{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-height:32px;margin-bottom:12px;display:flex}.panel-head h2{letter-spacing:-.015em;margin:0;font-size:17px;font-weight:600}.panel-head .row{gap:10px}.view-all{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.view-all svg{width:15px;height:15px;transition:transform var(--fast) var(--ease)}.view-all:hover{color:var(--brand)}.view-all:hover svg{transform:translate(2px)}.panel-foot{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.panel .empty{padding:22px 8px}.hello{justify-content:space-between;align-items:flex-end;gap:16px;margin:6px 0 18px;display:flex}.hello h1{font-size:34px;line-height:1.12;font-weight:var(--w-head);letter-spacing:-.03em}.hello p{color:var(--ink-2);margin:6px 0 0;font-size:15px}.wave{transform-origin:70% 70%;animation:wave 1.8s var(--ease) .4s 1;display:inline-block}@keyframes wave{0%,to{transform:none}20%{transform:rotate(16deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(12deg)}}.motto{font-size:18px;font-weight:var(--w-label);letter-spacing:-.01em;color:var(--ink-2);text-align:right;margin:0;padding-bottom:12px;line-height:1.2;position:relative}.motto span{display:block}.motto:after{content:"";background:var(--brand-light);border-radius:2px;width:44px;height:2px;position:absolute;bottom:0;right:50%;transform:translate(50%)}.dash-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:16px;display:grid}.dash-grid>*{grid-column:span 12}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat{border-radius:var(--radius);min-width:0;color:inherit;background:var(--glass-strong);border:1px solid var(--glass-border);box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow);transition:transform var(--fast) var(--ease), box-shadow var(--fast) var(--ease);animation:rise var(--slow) var(--ease) both;animation-delay:calc(var(--i,0) * 45ms);grid-template-columns:auto 1fr;align-items:start;gap:4px 14px;padding:16px 16px 14px;display:grid;position:relative;overflow:hidden}a.stat:hover{box-shadow:var(--shine), 0 0 0 1px var(--glass-edge), var(--shadow-lift);transform:translateY(-2px)}.stat-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.stat-icon svg{width:22px;height:22px}.stat-icon.terra{background:var(--brand-soft);color:var(--brand);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 18%, transparent)}.stat-icon.sage{background:var(--brand);color:var(--on-brand)}.stat-text{z-index:1;min-width:0;position:relative}.stat-label{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:500;overflow:hidden}.stat-n{font-size:28px;font-weight:var(--w-head);letter-spacing:-.03em;white-space:nowrap;margin:4px 0;line-height:1.05}.delta{align-items:center;gap:2px;font-size:12.5px;font-weight:600;display:inline-flex}.delta svg{width:14px;height:14px}.delta.up{color:var(--ok)}.delta.down{color:var(--danger)}.delta.flat{color:var(--faint)}.stat-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12.5px;overflow:hidden}.spark{width:44%;max-width:130px;height:48px;position:absolute;bottom:30px;right:12px}.spark.terra{color:var(--brand-light)}.spark.sage{color:var(--sage-dark)}.spark-line{stroke-dasharray:1;stroke-dashoffset:0;animation:draw 1.1s var(--ease) .2s both}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.attention{background:color-mix(in srgb, var(--brand-soft) 86%, transparent);border:1px solid var(--glass-border);box-shadow:var(--shine), 0 0 0 1px color-mix(in srgb, var(--danger) 12%, transparent);border-radius:16px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;display:flex}.attention>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.attention>svg{width:18px;height:18px;color:var(--brand);flex:none}.attention .faces .initials{width:28px;height:28px;font-size:11px}.initials{letter-spacing:.02em;width:40px;height:40px;box-shadow:0 0 0 2px color-mix(in srgb, var(--surface) 90%, transparent);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:13.5px;font-weight:600;display:inline-flex}.initials.terra{background:var(--brand-soft);color:var(--brand-dark)}.initials.sage{background:var(--sage-soft);color:var(--sage-dark)}.initials.sand{background:var(--warn-soft);color:var(--warn)}.initials.stone{background:var(--surface-2);color:var(--ink-2)}.initials.lg{width:50px;height:50px;font-size:16px}.initials.more{background:color-mix(in srgb, var(--surface) 90%, transparent);color:var(--ink-2)}.pill{white-space:nowrap;border-radius:8px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill.amber{background:var(--warn-soft);color:var(--warn)}.pill.taupe{background:var(--surface-2);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}.pill.coral{background:var(--danger-soft);color:var(--danger)}.pill.green{background:var(--ok-soft);color:var(--ok)}.pill.sage{background:var(--sage-soft);color:var(--sage-dark)}.pill.terra{background:var(--brand-soft);color:var(--brand-dark)}.pill.blue{background:var(--info-soft);color:var(--info)}.pill.grey{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--muted)}.proj-head{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 60%, transparent);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:8px;display:flex}.proj-head .main{flex:1;min-width:0;display:grid}.proj-head .title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.proj-head .meta{color:var(--muted);font-size:12.5px}.proj-head .chev{width:18px;height:18px;color:var(--muted);flex:none}.proj-pick .menu-pop{left:0;right:0}.thumb{object-fit:cover;background:var(--bg-deep);border-radius:9px;flex:none;width:58px;height:42px}.pic-wait{background:var(--bg-deep);display:inline-block}.swap{animation:fade var(--slow) var(--ease)}.stepper{grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0 10px;padding:0;list-style:none;display:grid}.stepper li{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.stepper li:before{content:"";background:var(--line-strong);z-index:0;width:100%;height:2px;position:absolute;top:10px;left:-50%}.stepper li:first-child:before{display:none}.stepper li.done:before,.stepper li.current:before{background:var(--brand-light)}.stepper .dot{z-index:1;background:var(--surface);border:2px solid var(--line-strong);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex;position:relative}.stepper .done .dot{background:var(--brand-light);border-color:var(--brand-light);color:var(--on-brand)}.stepper .done .dot svg{stroke-width:2.6px;width:13px;height:13px}.stepper .current .dot{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 16%, transparent)}.stepper .current .dot:after{content:"";background:var(--brand);border-radius:999px;width:9px;height:9px}.stepper .none .dot{opacity:.6;border-style:dashed}.stepper .lbl{color:var(--muted);font-size:12px}.stepper .current .lbl{color:var(--ink);font-weight:600}.mini-table{border-collapse:collapse;width:100%;font-size:13px}.mini-table th{text-align:left;color:var(--muted);background:color-mix(in srgb, var(--ink) 4%, transparent);padding:8px 6px;font-size:12px;font-weight:500}.mini-table th:first-child{border-radius:8px 0 0 8px}.mini-table th:last-child{border-radius:0 8px 8px 0}.mini-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:7px 6px}.mini-table tr:last-child td{border-bottom:0}.room-cell{align-items:center;gap:10px;min-width:0;font-weight:500;display:flex}.room-cell .main{min-width:0;display:grid}.room-cell .title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room-cell .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:400;overflow:hidden}.room-thumb{object-fit:cover;background:var(--bg-deep);border-radius:5px;flex:none;width:32px;height:24px}.bar-cell{align-items:center;gap:10px;display:flex}.pbar{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:999px;flex:1;min-width:60px;height:8px;overflow:hidden}.pbar>span{background:linear-gradient(90deg, var(--brand-light), var(--brand-light));height:100%;transition:width .9s var(--ease);border-radius:999px;display:block}.pbar>span.hi{background:var(--brand)}.pct{text-align:right;width:38px;color:var(--ink-2);font-size:12.5px;font-weight:500}.ok-icon{width:16px;height:16px;color:var(--ok)}.kebab-col{width:34px}.enq-list{margin:0;padding:0;list-style:none}.enq-list li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:9px 0;display:flex}.enq-list li:last-child{border-bottom:0}.enq-list .main{flex:1;min-width:0;display:grid}.enq-list .title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.enq-list .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.enq-list .when{color:var(--muted);white-space:nowrap;font-size:12px}.kebab{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.kebab:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.kebab svg{width:18px;height:18px}.mini-select{background-color:color-mix(in srgb, var(--surface) 70%, transparent);border-radius:10px;width:auto;min-height:32px;padding:4px 30px 4px 12px;font-size:13px}.donut-wrap{align-items:center;gap:18px;display:flex}.donut{flex:none;width:150px;height:150px;transform:rotate(-90deg)}.donut-track{fill:none;stroke:color-mix(in srgb, var(--ink) 6%, transparent);stroke-width:24px}.donut-arc{fill:none;stroke-width:24px;transition:stroke-dasharray 1s var(--ease), opacity var(--fast) var(--ease);cursor:pointer}.donut-arc.dim{opacity:.35}.donut-arc.terra{stroke:var(--brand-light)}.donut-arc.sand{stroke:var(--sun)}.donut-arc.sage-light{stroke:var(--teal-soft)}.donut-arc.green{stroke:var(--ok)}.donut text{transform-origin:70px 70px;text-anchor:middle;fill:var(--ink);transform:rotate(90deg)}.donut-n{letter-spacing:-.03em;dominant-baseline:middle;font-size:24px;font-weight:600}.donut-l{font-size:11px;fill:var(--muted)!important}.legend{flex:1;gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.legend li{cursor:default;transition:opacity var(--fast) var(--ease);grid-template-columns:10px 26px 1fr auto;align-items:center;gap:8px;font-size:13px;display:grid}.legend li.dim{opacity:.4}.legend b{font-size:15px}.lname{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lpct{color:var(--muted);font-size:12px}.ldot{border-radius:999px;width:10px;height:10px}.ldot.terra{background:var(--brand-light)}.ldot.sand{background:var(--sun)}.ldot.sage-light{background:var(--teal-soft)}.ldot.green{background:var(--ok)}.visits{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.cal-head{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:14px;display:flex}.cal-grid{border-collapse:collapse;table-layout:fixed;width:100%}.cal-grid th{color:var(--muted);padding:2px 0 4px;font-size:10.5px;font-weight:500}.cal-grid td{text-align:center;padding:1px 0}.cal-grid button{width:28px;height:28px;font:inherit;color:var(--ink-2);cursor:pointer;transition:background-color var(--fast) var(--ease);background:0 0;border:0;border-radius:999px;font-size:12px}.cal-grid button:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.cal-grid button.has{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.cal-grid button.today{background:var(--brand);color:var(--on-brand);font-weight:700}.cal-grid button.on{box-shadow:0 0 0 2px var(--brand-light)}.visit-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.visit-list a{border-radius:12px;align-items:center;gap:10px;padding:6px;display:flex}.visit-list a:hover{background:color-mix(in srgb, var(--surface) 70%, transparent)}.date-tag{width:46px;height:46px;color:var(--on-brand);background:linear-gradient(160deg, var(--brand-light), var(--brand));box-shadow:0 6px 14px -8px color-mix(in srgb, var(--brand-dark) 70%, transparent);border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;line-height:1;display:flex}.date-tag b{font-size:17px}.date-tag small{opacity:.92;margin-top:2px;font-size:10.5px}.visit-list .main{flex:1;min-width:0;display:grid}.visit-list .title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.visit-list .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.visit-list .time{color:var(--ink-2);white-space:nowrap;font-size:12px}.side-stack{align-content:start;gap:16px;display:grid}.side-stack .panel{animation-delay:calc(var(--i,0) * 45ms)}.faces{flex-wrap:wrap;align-items:center;display:flex}.faces .initials+.initials{margin-left:-8px}.faces-text{flex-basis:100%;margin-top:10px}.quick-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;display:grid}.quick-tile{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 66%, transparent);min-height:84px;box-shadow:0 0 0 1px var(--glass-edge);font:inherit;color:var(--ink-2);text-align:center;cursor:pointer;transition:transform var(--fast) var(--ease), background-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 4px;font-size:12px;font-weight:500;line-height:1.2;display:flex;position:relative}.quick-tile svg{width:24px;height:24px;color:var(--ink)}.quick-tile:hover:not(:disabled){background:var(--surface);box-shadow:0 0 0 1px var(--glass-edge), 0 10px 20px -12px color-mix(in srgb, var(--shadow-c) 35%, transparent);transform:translateY(-2px)}.quick-tile:active:not(:disabled){transform:scale(.96)}.quick-tile:disabled{cursor:default;color:var(--faint)}.quick-tile:disabled svg{color:var(--faint)}.quick-tile em.tag{text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-size:9px;font-style:normal;font-weight:600;position:absolute;top:5px;right:5px}.mood-chips{gap:6px}.mood-chips .chip{padding:4px 13px;font-size:12.5px}.mood-chips .chip.on{background:linear-gradient(180deg, var(--brand-light), var(--brand));border-color:var(--brand);color:var(--on-brand)}.mood-row{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;grid-auto-columns:minmax(200px,1fr);grid-auto-flow:column;gap:14px;padding-bottom:6px;display:grid;overflow-x:auto}.mood-card{scroll-snap-align:start;gap:2px;min-width:0;display:grid}.mood-img{aspect-ratio:16/10;object-fit:cover;background:var(--bg-deep);width:100%;transition:transform var(--slow) var(--ease), box-shadow var(--slow) var(--ease);border-radius:12px;margin-bottom:6px}.mood-card:hover .mood-img{box-shadow:0 14px 26px -16px color-mix(in srgb, var(--shadow-c) 50%, transparent);transform:translateY(-2px)}.mood-card .title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.mood-card .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dash-page .section-title{margin:28px 0 12px;font-size:17px}.dash-page .dash .card{animation:rise var(--slow) var(--ease) both}@media (min-width:1280px){.span-progress{grid-column:span 5!important}.span-enq{grid-column:span 4!important}.span-quote{grid-column:span 3!important}.span-mat{grid-column:span 5!important}.span-visits{grid-column:span 4!important}.span-side{grid-column:span 3!important}}@media (min-width:1280px) and (max-width:1499px){.span-progress{grid-column:span 7!important}.span-enq,.span-quote{grid-column:span 5!important}.span-visits,.span-mat{grid-column:span 7!important}.span-side{grid-column:span 5!important}}@media (min-width:900px) and (max-width:1279px){.span-progress{grid-column:span 7!important}.span-enq,.span-quote{grid-column:span 5!important}.span-visits,.span-mat{grid-column:span 7!important}.span-side{grid-column:span 5!important}}@media (min-width:640px) and (max-width:899px){.span-enq,.span-quote{grid-column:span 12!important}.span-visits,.span-side{grid-column:span 6!important}.span-visits .visits{grid-template-columns:1fr}}@media (max-width:1099px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1499px) and (min-width:1280px){.stat-n{font-size:25px}}@media (max-width:899px){.hello{flex-direction:column;align-items:flex-start}.hello h1{font-size:27px}.motto{display:none}}@media (max-width:639px){.dash-grid,.stats{gap:12px}.stat{grid-template-columns:1fr;padding:14px}.stat-icon{width:38px;height:38px}.stat-icon svg{width:19px;height:19px}.stat-n{font-size:24px}.spark{width:46%;height:36px;top:12px;bottom:auto;right:8px}.stat-sub{white-space:normal}.panel{padding:14px}.hide-sm{display:none}.visits{grid-template-columns:1fr}.visits .cal{display:none}.cal-page .visits .cal{display:block}.donut{width:128px;height:128px}.donut-wrap{gap:14px}.mood-row{grid-auto-columns:62%}.enq-list .when{display:none}.hello h1{font-size:24px}.hello p{font-size:14px}}@media (prefers-reduced-motion:reduce){.panel,.stat,.spark-line,.wave,.swap{animation:none!important}.pbar>span,.donut-arc{transition:none!important}}.span-all{grid-column:1/-1!important}.mood-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.cal-page .visits{grid-template-columns:minmax(260px,340px) 1fr}@media (max-width:767px){.cal-page .visits{grid-template-columns:1fr}}.site-card .stepper{margin:4px 0 14px}.money-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.money-row .k{color:var(--muted);font-size:12px}.money-row .v{font-size:18px;font-weight:600}@media (max-width:767px){.money-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.people{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.person{align-items:flex-start;gap:12px;display:flex}.person .main{gap:2px;min-width:0;display:grid}.person .pill{white-space:normal;justify-self:start}@media (min-width:1500px){.no-quote .span-enq{grid-column:span 7!important}}@media (min-width:900px) and (max-width:1499px){.no-quote .span-mat{grid-column:span 12!important}}@media (max-width:639px){main{padding:4px 12px 110px}.demo-banner{flex-wrap:nowrap;gap:4px 10px;padding:4px 12px;font-size:12px}.demo-banner .wide-text{display:none}.demo-banner select{min-height:0;padding:3px 8px;font-size:12px}.topbar .logo .word small{display:none}.topbar .logo .word b{font-size:19px}.topbar .logo-badge{border-radius:10px;width:32px;height:32px}.topbar .logo-badge img{width:25px;height:25px}.hello{margin:2px 0 10px}.hello h1{font-size:22px}.hello p{margin-top:3px;font-size:13px}.dash-grid,.stats{gap:10px}.stat{border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:11px 12px}.stat-icon{width:30px;height:30px}.stat-icon svg{width:16px;height:16px}.stat-label{font-size:12px}.stat-n{margin:2px 0 0;font-size:21px}.stat .delta{font-size:11px}.stat-sub{white-space:nowrap;margin-top:1px;font-size:11px}.spark{opacity:.8;width:40%;height:22px;top:auto;bottom:6px;right:6px}.attention{padding:9px 12px;font-size:13px}.panel{border-radius:16px;padding:12px}.panel-head{min-height:26px;margin-bottom:6px}.panel-head h2{font-size:15px}.view-all{font-size:12px}.stepper{margin:8px 0 6px}.stepper .dot{width:18px;height:18px}.stepper li:before{top:8px}.stepper .lbl{font-size:10px}.mini-table th,.mini-table td{padding-top:6px;padding-bottom:6px;font-size:12.5px}.room-thumb{display:none}.enq-list li{gap:10px;padding:7px 0}.enq-list li:nth-child(n+4),.mini-table.mats tbody tr:nth-child(n+4){display:none}.cal-page .mini-table.mats tbody tr,.span-all .mini-table.mats tbody tr{display:table-row}.initials{width:32px;height:32px;font-size:12px}.donut{width:104px;height:104px}.visit-list li a{padding:6px 0}.mood-row{grid-auto-columns:46%;gap:10px}.mood-card .title{font-size:12.5px}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.quick-tile{min-height:64px;padding:8px 4px;font-size:11.5px}.quick-tile svg{width:20px;height:20px}.panel-foot{font-size:11.5px}.dash-page .section-title{margin:18px 0 8px;font-size:15px}.dash-page .dash .list li:nth-child(n+4){display:none}.dash-page .dash .card-head{padding:10px 12px}.stat{grid-template-columns:1fr;padding:11px 12px 10px}.stat-icon,.stat .delta.flat{display:none}.stat-sub{padding-right:0}.spark{width:34%;height:24px;top:10px;bottom:auto;right:8px}.stat-label{white-space:normal;min-height:2.4em;padding-right:36%;line-height:1.2}}table,input,.stat-n,.donut-n,.money-row .v,.kpi .n,.pct,.num,.amount,.total,.print-page{font-variant-numeric:tabular-nums lining-nums}body{background:var(--bg)}.topbar{background:var(--glass);border-bottom:1px solid var(--line)}.sidebar{background:var(--nav-bg);box-shadow:none;color:var(--nav-ink);border-right:0}.sidebar .logo .word b{color:#fff}.sidebar .logo .word small,.sidebar .group-title{color:var(--nav-muted)}.sidebar a,.sidebar .side-btn{color:var(--nav-ink)}.sidebar svg{color:var(--nav-muted)}.sidebar a:hover,.sidebar .side-btn:hover{background:var(--nav-hover);color:#fff}.sidebar a:hover svg,.sidebar .side-btn:hover svg{color:#fff}.sidebar a.active{background:var(--nav-active-bg);color:var(--nav-active-ink);box-shadow:none}.sidebar a.active svg{color:var(--nav-active-ink)}.sidebar a.active:before{background:var(--sun)}.sidebar .soon,.sidebar .soon svg{color:var(--nav-muted)}.sidebar em.tag{color:var(--nav-muted);border-color:var(--nav-line)}.sidebar .foot{border-top-color:var(--nav-line)}.sidebar .promo{box-shadow:none}.btn.primary{background:var(--action);border-color:var(--action);color:var(--on-action);box-shadow:0 1px 2px color-mix(in srgb, var(--action) 35%, transparent)}.btn.primary:hover{background:var(--action-dark);border-color:var(--action-dark)}.btn.primary:active{transform:translateY(1px)}.btn.primary:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand-dark)}.btn:focus-visible,.chip:focus-visible,.iconbtn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn.danger{color:var(--danger)}.btn.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.chip{background:var(--surface);border-color:var(--line-strong);color:var(--ink-2)}.chip:hover{border-color:var(--brand)}.chip.on,.mood-chips .chip.on,.seg button.on,.seg button[aria-pressed=true]{background:var(--nav-active-bg);color:var(--nav-active-ink);border-color:#0000}.bottomnav a:before,.bottomnav button:before{background:var(--nav-active-bg)}.bottomnav .active{color:var(--nav-active-ink)}.menu-item:hover,.menu-item[aria-selected=true],.search-hit.on,.search-hit:hover{background:var(--brand-soft)}.tabs button.on{border-bottom-color:var(--brand);color:var(--brand-dark)}em.unread,.tab-count{background:var(--sun);color:#2b1d00}.attention{background:var(--surface);box-shadow:inset 3px 0 0 var(--sun), var(--shadow);border:1px solid var(--line)}.cal-grid button.today,.date-tag{background:var(--brand);color:var(--on-brand)}.panel,.card,.kpi,.stat,.module,.sched-stat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.stat{border-radius:var(--radius)}.mini-table th{background:var(--surface-2)}input,select,textarea{background:var(--field,var(--surface));color:var(--ink);border-color:var(--field-border,var(--line-strong));border-radius:var(--radius-sm)}input::placeholder,textarea::placeholder{color:var(--faint)}input:disabled,select:disabled,textarea:disabled,input[readonly]{background:var(--surface-2);color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent)}select option{background:var(--field,var(--surface));color:var(--ink)}.menu-pop,.search-pop,.sheet{background:var(--surface);border:1px solid var(--line)}.demo-banner{background:color-mix(in srgb, var(--sun) 18%, var(--surface));color:var(--ink-2)}.notice{background:var(--warn-soft);color:var(--warn)}.print-page{--surface:#fff;--surface-2:#f6fbf9;--bg:#fff;--ink:#111;--ink-2:#333;--muted:#555;--faint:#888;--line:#ddd;--line-strong:#ccc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.appearance{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;gap:2px;padding:3px;display:inline-flex}.appearance button{font:inherit;font-size:13px;font-weight:var(--w-label);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;min-height:36px;padding:7px 14px;display:inline-flex}.appearance button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.appearance svg{width:16px;height:16px}.menu-appearance{border-bottom:1px solid var(--line);margin-bottom:4px;padding:6px 4px 8px}.menu-appearance .appearance{width:100%}.menu-appearance .appearance button{flex:1;justify-content:center;padding:6px 8px}.stat-icon{border-radius:12px}.stat-icon.terra,.stat-icon.sage{background:var(--brand-soft);color:var(--brand);box-shadow:none}.stat:nth-child(3) .stat-icon{background:color-mix(in srgb, var(--action) 14%, var(--surface));color:var(--action)}.xl-only{display:none}@media (min-width:1360px){.xl-only{display:inline-flex}}.appearance.compact{border-radius:999px}.appearance.compact button{border-radius:999px;min-height:32px;padding:4px 12px;font-size:12.5px}.appearance.compact button[aria-pressed=true]{background:var(--brand);color:var(--on-brand);box-shadow:none}.login-page{flex-direction:column;justify-content:center;max-width:420px;min-height:100dvh;padding-top:24px;padding-bottom:48px;display:flex}.login-card{padding:0 0 22px;overflow:hidden}.login-card>:not(.login-head){margin-left:22px;margin-right:22px}.login-head{color:#fff;border-bottom:3px solid var(--sun);background:linear-gradient(135deg,#005b5d,#007779);align-items:center;gap:12px;padding:20px 22px;display:flex}.login-head h1{color:#fff;margin:0;font-size:22px}.login-head p{letter-spacing:.14em;text-transform:uppercase;color:#d7efe9;margin:2px 0 0;font-size:11px;font-weight:500}.login-hint{margin-top:16px;margin-bottom:0}.boq-summary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:28px;padding:10px 2px 4px;display:grid}.boq-summary-grid .room-summary{margin-bottom:0}.boq-summary-note{margin:2px 2px 12px}.boq-items.no-disc col.c-desc{width:43%}@media (max-width:639px){.boq-summary-grid{grid-template-columns:1fr;gap:12px}}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.lib-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:0;overflow:hidden}.lib-item.off{opacity:.5}.lib-item figcaption{justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.lib-thumb{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);width:100%;display:block}.lib-decks{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.lib-deck{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.lib-ver{flex-wrap:wrap;gap:8px;padding:8px 0}.lib-upload{border-top:1px solid var(--line);padding-top:12px}.settings-link{color:inherit;align-items:center;text-decoration:none}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:13px;display:flex}.crumbs a{color:var(--brand);text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs [aria-current]{color:var(--ink-2)}.settings-search{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;align-items:center;gap:10px;max-width:560px;min-height:48px;padding:0 14px;display:flex}.settings-search svg{width:18px;height:18px;color:var(--muted);flex:none}.settings-search input{min-width:0;font:inherit;color:var(--ink);min-height:44px;box-shadow:none;background:0 0;border:0;outline:none;flex:1;padding:0;font-size:15px}.settings-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent)}.settings-frequent{flex-wrap:wrap;gap:8px;margin:14px 0 16px;display:flex}.settings-frequent .chip{align-items:center;min-height:36px;text-decoration:none;display:inline-flex}.settings-me{align-items:center;gap:14px;display:flex}.settings-me .main{flex:1;gap:2px;min-width:0;display:grid}.settings-me small{font-size:13px}.settings-ico{background:color-mix(in srgb, var(--teal-soft) 35%, transparent);width:40px;height:40px;color:var(--brand);border-radius:12px;flex:none;place-items:center;display:grid}.settings-ico svg{width:20px;height:20px}.settings-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (min-width:900px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.settings-cat{scroll-margin-top:80px}.settings-cat-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 16px 12px;display:flex}.settings-cat-head h3{color:var(--ink);text-transform:none;letter-spacing:normal;margin:0 0 2px;font-size:15px}.settings-cat .item .meta,.settings-search-hits .item .meta{white-space:normal}.settings-cat .list a.item{min-height:56px}#history{scroll-margin-top:80px}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.save-bar{align-items:center}.save-state{color:var(--muted);flex:1;align-items:center;gap:6px;font-size:13px;display:inline-flex}.save-state.saved{color:var(--brand);font-weight:500}.save-state.saved svg{width:16px;height:16px}.save-state.changed{color:var(--ink-2)}.pick-images{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.pick-image{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;gap:6px;padding:8px;display:grid;position:relative}.pick-image.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}.pick-image input{position:absolute;top:12px;left:12px}.pick-image img,.pick-image .ph{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xs);background:var(--surface-2);width:100%;display:block}.pf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 0 6px;display:grid}.pf-grid.designs{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-figure{break-inside:avoid;margin:0}.pf-figure img,.pf-missing{aspect-ratio:4/3;object-fit:cover;background:#eef3f2;border-radius:4px;width:100%;display:block}.pf-grid.designs img{aspect-ratio:auto;object-fit:contain;max-height:520px}.pf-missing{color:#667;place-items:center;font-size:11px;display:grid}.pf-figure figcaption{color:#445;padding-top:4px;font-size:11px}.boq-intro .pre{font-size:13px;line-height:1.55}.journey-tools{align-items:center;gap:10px;display:flex}.journey-tools input{flex:1;min-width:0}.chip.flag:not(.on){border-color:var(--warn);color:var(--warn)}.journey-board{grid-template-columns:repeat(5,minmax(196px,1fr));align-items:start;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.journey-col{background:color-mix(in srgb, var(--ink) 4%, transparent);border:1px solid var(--line);border-radius:14px;min-height:160px;padding:10px;transition:background .15s,border-color .15s}.journey-col.over{background:var(--brand-soft);border-color:var(--brand);border-style:dashed}.journey-col>header{justify-content:space-between;align-items:center;padding:2px 2px 10px;display:flex}.journey-cards{flex-direction:column;gap:10px;display:flex}.journey-empty{text-align:center;padding:18px 0}.journey-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-sm,0 1px 2px #0000000d);border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex}.journey-card[draggable=true]{cursor:grab}.journey-card.overdue{border-left:4px solid var(--danger)}.journey-card.closed{opacity:.85}.journey-card-main{color:inherit;flex-direction:column;gap:5px;text-decoration:none;display:flex}.journey-name{font-weight:600;line-height:1.25}.journey-next{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.journey-action{color:var(--ink-2)}.journey-value{font-variant-numeric:tabular-nums;font-weight:600}.journey-flag{color:var(--warn);font-weight:600}.journey-quick{flex-wrap:wrap;gap:3px;display:flex}.journey-quick .btn.small{min-height:28px;padding:2px 7px;font-size:12px}.stage-select.compact{min-height:32px;padding:4px 8px;font-size:13px}.journey-tabs{display:none}.journey-row{border-bottom:1px solid var(--line)}.journey-row.overdue{box-shadow:inset 4px 0 0 var(--danger)}.journey-row .item{border-bottom:0}.journey-row-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:0 16px 12px;display:flex}.journey-row-actions .stage-select{width:auto}@media (max-width:1023px){.journey-tabs{flex-wrap:nowrap;display:flex;overflow-x:auto}.journey-tabs .chip{flex:none}.journey-board{display:block;overflow:visible}.journey-col{background:0 0;border:0;min-height:0;padding:0;display:none}.journey-col.current{display:block}.journey-col>header{display:none}.journey-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.journey-card[draggable=true]{cursor:default}}.journey-steps{flex-wrap:wrap;gap:4px;display:flex}.journey-steps li{text-align:center;background:color-mix(in srgb, var(--ink) 5%, transparent);min-width:80px;color:var(--muted);border-radius:8px;flex:1;padding:6px 4px;font-size:12px;list-style:none}.journey-steps li.done{background:var(--brand-soft);color:var(--brand-dark)}.journey-steps li.now{background:var(--brand);color:var(--on-brand,#fff);font-weight:600}.journey-steps{margin:0;padding:0}.review-banner{border-left:4px solid var(--warn);background:var(--warn-soft)}.notice.ok-notice{background:var(--ok-soft);color:var(--ok)}.sidebar a.sub{min-height:36px;padding-left:26px;font-size:13.5px}.sidebar a.sub svg{width:17px;height:17px}.sidebar a.group-open{color:var(--ink)}.sidebar a.group-open svg{color:var(--brand)}@media (min-width:768px) and (max-width:1279px){.app:not(.nav-open) .sidebar a.sub{display:none}}@media (min-width:1280px){.app.collapsed .sidebar a.sub{display:none}}.panel.inbox{margin-bottom:16px}.inbox .panel-head{flex-wrap:wrap;gap:8px}.inbox h2 .count{background:var(--action);color:var(--on-action);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:12px;font-weight:600}.inbox-links{flex-wrap:wrap;gap:6px}.inbox-links .chip{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.inbox-links svg{width:16px;height:16px}.inbox-list{margin:0;padding:0;list-style:none;display:grid}.inbox-list a{border-top:1px solid var(--line);color:var(--ink);align-items:center;gap:10px;padding:9px 2px;text-decoration:none;display:flex}.inbox-list li:first-child a{border-top:0}.inbox-list a:hover .inbox-text{text-decoration:underline}.inbox-list svg{width:16px;height:16px;color:var(--muted);flex:none;margin-left:auto}.inbox-text{min-width:0}.badge.inbox-kind{text-align:center;background:var(--brand-soft);min-width:108px;color:var(--brand-dark);flex:none}.badge.inbox-kind.alert{background:var(--warn-soft);color:var(--warn)}@media (max-width:559px){.badge.inbox-kind{min-width:0}.inbox-list a{flex-wrap:wrap}}.scope-switch{gap:6px;margin-bottom:14px;display:flex}.btn.disabled{opacity:.5;pointer-events:none}.tpl-pick{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.tpl-option{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:10px 12px;font-size:14px}.tpl-option:hover{border-color:var(--brand)}.tpl-option.on{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 10%, var(--surface));font-weight:600}.tpl-row{border-top:1px solid var(--line);gap:6px;padding:14px 16px;display:grid}.tpl-row:first-child{border-top:0}.tpl-body{white-space:pre-wrap;color:var(--text-2,var(--muted));font-size:14px}.badge.tpl-draft{background:var(--warn-soft);color:var(--warn)}.badge.tpl-approved{background:var(--ok-soft,color-mix(in srgb, var(--brand) 14%, transparent));color:var(--ok,var(--brand-dark))}.badge.tpl-retired{background:var(--line);color:var(--muted)}.receiver-url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.lead-table{border-collapse:collapse;width:100%;font-size:13px}.lead-table th,.lead-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}.lead-table-wrap{max-height:340px;overflow-x:auto}.source-stats td.n,.source-stats th.n{text-align:right;font-variant-numeric:tabular-nums}.carry-list{margin:4px 0 0;padding-left:18px}.carry-list li{margin:2px 0}.project-steps{margin:0 0 12px}@page po-page{size:A4 portrait;margin:12mm}.po-print{page:po-page}@media print{.po-print{font-size:11px}}.cmp-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}table.cmp{border-collapse:collapse;min-width:100%;font-size:14px}table.cmp th,table.cmp td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;min-width:140px;padding:8px}table.cmp th:first-child,table.cmp td:first-child{background:var(--surface);z-index:1;min-width:150px;max-width:200px;position:sticky;left:0}table.cmp th{font-size:13px}table.cmp td.best,table.cmp th.best{background:var(--ok-soft)}table.cmp td.on{outline:2px solid var(--brand);outline-offset:-2px}table.cmp tr.foot td{color:var(--muted);font-size:13px}table.cmp tr.total td{border-top:2px solid var(--line-strong)}.cmp-cell{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:2px;padding:0;display:flex}.cmp-cell:disabled{cursor:default}.cmp-best-key{background:var(--ok-soft);border-radius:4px;padding:0 4px}.agreement-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.5}.agreement-text .awaiting{color:var(--warn,#b45309)}.agreement-text .review-note{border-left:3px solid var(--line);background:var(--soft,#f6f6f3);color:var(--muted);margin-top:4px;padding:6px 8px}.help-link{align-items:center;min-height:44px;padding:0 2px;display:inline-flex}.approve-row{justify-content:space-between;gap:4px 12px}
