@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-400-normal-CJkVxub1.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-400-normal-Dbdydbkh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-vietnamese-400-normal-Cg2kxhWu.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-400-normal-B8TCSmUq.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-400-normal-2ppkqaOR.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/build/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff)format("woff");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-500-normal-WMJmRWOr.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-500-normal-B7C_nQD_.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-vietnamese-500-normal-DiU8zqi-.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-500-normal-CvE5C8T-.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-latin-ext-500-normal-9VZagAe1.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-500-normal-CqEEAICU.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/build/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff)format("woff");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-600-normal-C5KBqx06.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-600-normal-BtwufOTE.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-vietnamese-600-normal-Y4VTTRme.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-600-normal-5YsyKbU1.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/build/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff)format("woff");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-700-normal-iShZaXYX.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-700-normal-pWfpUei5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-vietnamese-700-normal-CV6qDkkj.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-700-normal-BCh_uG_5.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-700-normal-8-d-IyIQ.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/build/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff)format("woff");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}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/plus-jakarta-sans-cyrillic-ext-800-normal-DyqSzs2i.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-cyrillic-ext-800-normal-lQKgVBUR.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/plus-jakarta-sans-vietnamese-800-normal-CxbopLd3.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-vietnamese-800-normal-BkoGl_sr.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/plus-jakarta-sans-latin-ext-800-normal-B6BjB2Ju.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-ext-800-normal-BPkb-LBK.woff)format("woff");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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/build/assets/plus-jakarta-sans-latin-800-normal-CusIZhrK.woff2)format("woff2"),url(/build/assets/plus-jakarta-sans-latin-800-normal-BRNHt2w0.woff)format("woff");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{--h:174;--p:#0f766e;--p-strong:#0b5e58;--p-ink:#fff;--font:"Plus Jakarta Sans", "Segoe UI", Roboto, system-ui, sans-serif;--r-sm:8px;--r:12px;--r-lg:18px;--r-xl:24px;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--info:#1d4ed8;--bg:hsl(var(--h) 22% 97%);--surface:#fff;--surface-2:hsl(var(--h) 20% 94.5%);--surface-3:hsl(var(--h) 16% 90%);--line:hsl(var(--h) 14% 87%);--text:hsl(var(--h) 30% 11%);--muted:hsl(var(--h) 9% 38%);--faint:hsl(var(--h) 8% 56%);--p-soft:color-mix(in srgb, var(--p) 10%, var(--surface));--p-soft-2:color-mix(in srgb, var(--p) 18%, var(--surface));--shadow:0 1px 2px hsl(var(--h) 30% 20% / .06), 0 4px 16px hsl(var(--h) 30% 20% / .06);--shadow-lg:0 12px 40px hsl(var(--h) 30% 15% / .16);--map-land:hsl(var(--h) 18% 92%);--map-road:#fff;--map-block:hsl(var(--h) 14% 86%);--map-water:#c6dff1;--map-park:#cbe6d0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-color=blue]{--h:224;--p:#1d4ed8;--p-strong:#1e40af}[data-color=emerald]{--h:142;--p:#15803d;--p-strong:#166534}[data-color=terracotta]{--h:20;--p:#c2410c;--p-strong:#9a3412}[data-color=plum]{--h:275;--p:#7e22ce;--p-strong:#6b21a8}[data-color=graphite]{--h:215;--p:#334155;--p-strong:#1e293b}[data-mode=dark]{--bg:hsl(var(--h) 18% 7%);--surface:hsl(var(--h) 16% 11%);--surface-2:hsl(var(--h) 14% 15%);--surface-3:hsl(var(--h) 12% 20%);--line:hsl(var(--h) 12% 21%);--text:hsl(var(--h) 18% 94%);--muted:hsl(var(--h) 10% 68%);--faint:hsl(var(--h) 8% 52%);--ok:#4ade80;--warn:#fbbf24;--bad:#f87171;--info:#60a5fa;--p-soft:color-mix(in srgb, var(--p) 16%, var(--surface));--p-soft-2:color-mix(in srgb, var(--p) 26%, var(--surface));--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--shadow-lg:0 12px 40px #00000080;--map-land:hsl(var(--h) 14% 13%);--map-road:hsl(var(--h) 10% 22%);--map-block:hsl(var(--h) 12% 16%);--map-water:#213345;--map-park:#213126;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--p:#2dd4bf;--p-strong:#5eead4;--p-ink:#042f2e}[data-mode=dark][data-color=blue]{--p:#60a5fa;--p-strong:#93c5fd;--p-ink:#0b1a3a}[data-mode=dark][data-color=emerald]{--p:#4ade80;--p-strong:#86efac;--p-ink:#052e16}[data-mode=dark][data-color=terracotta]{--p:#fb923c;--p-strong:#fdba74;--p-ink:#3b1205}[data-mode=dark][data-color=plum]{--p:#c084fc;--p-strong:#d8b4fe;--p-ink:#2e0b4a}[data-mode=dark][data-color=graphite]{--p:#cbd5e1;--p-strong:#e2e8f0;--p-ink:#0f172a}[data-size=small]{font-size:14px}[data-size=large]{font-size:17px}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--p);text-decoration:none}.num,.money{font-variant-numeric:tabular-nums}svg.i{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.22em;flex:none;width:1.25em;height:1.25em}h1,h2,h3,h4{text-wrap:balance;letter-spacing:-.01em;margin:0}p{margin:0}:focus-visible{outline:2px solid var(--p);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{height:100%;display:flex}.app>.col{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.main{flex:1;min-height:0}.main.fill{flex-direction:column;display:flex;overflow:hidden}.main.fill>*{flex:1;min-height:0}.appbar{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:var(--surface);border-bottom:1px solid var(--line);z-index:3;flex:none;align-items:center;gap:8px;min-height:56px;display:flex;position:relative}.appbar .title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1.08rem;font-weight:700;overflow:hidden}.appbar .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:500;overflow:hidden}.iconbtn{cursor:pointer;width:40px;height:40px;color:var(--text);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.iconbtn:hover{background:var(--surface-2)}.iconbtn .dot{background:var(--bad);border:2px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:9px}.badge-n{background:var(--p);min-width:18px;height:18px;color:var(--p-ink);border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:2px;right:0}.scroll{-webkit-overflow-scrolling:touch;min-height:0;overflow:hidden auto}.page{grid-template-columns:minmax(0,1fr);align-content:start;gap:18px;width:100%;max-width:1180px;margin:0 auto;padding:16px;display:grid}.page.tight{gap:12px}.page.narrow{max-width:640px}.bottomnav{background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));flex:none;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.bottomnav button{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;padding:6px 0;font-size:.7rem;font-weight:600;display:grid;position:relative}.bottomnav button .pill{border-radius:15px;place-items:center;width:56px;height:30px;display:grid}.bottomnav button.on{color:var(--text)}.bottomnav button.on .pill{background:var(--p-soft-2);color:var(--p)}.rail,.topnav{display:none}.cta-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);flex:none;align-items:center;gap:10px;display:flex}.cta-bar>.btn{flex:1}.cta-bar .total{flex:1;min-width:0}.cta-bar .total b{font-variant-numeric:tabular-nums;font-size:1.15rem;display:block}.cta-bar .total span{color:var(--muted);font-size:.78rem}.cta-bar .total+.btn{flex:0 auto;min-width:150px}@media (width>=600px){.app.has-nav .rail{background:var(--surface);border-right:1px solid var(--line);width:88px;padding:calc(14px + env(safe-area-inset-top,0px)) 0 14px;flex-direction:column;flex:none;align-items:center;gap:6px;display:flex}.rail .logo{margin-bottom:14px}.rail button{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-items:center;gap:3px;width:80px;padding:6px 0;font-size:.7rem;font-weight:600;display:grid;position:relative}.rail button .pill{border-radius:16px;place-items:center;width:56px;height:32px;display:grid}.rail button.on{color:var(--text)}.rail button.on .pill{background:var(--p-soft-2);color:var(--p)}.app.has-nav .bottomnav{display:none}.page{gap:22px;padding:24px}.cta-bar{justify-content:flex-end;padding-inline:24px}.cta-bar>.btn{flex:0 260px}}@media (width>=1024px){.app.web.has-nav .rail{display:none}.app.web.has-nav .topnav{flex:none;display:flex}.app.web.has-nav .appbar{background:0 0;border-bottom:0;width:100%;max-width:1180px;margin:0 auto;padding:20px 24px 0}.app.web.has-nav .appbar .title{font-size:1.5rem;font-weight:800}.app.web.has-nav .appbar .iconbtn[data-go=C32],.app.web.has-nav .appbar .iconbtn[data-go=C20]{display:none}.cat-grid{grid-template-columns:repeat(12,1fr)}.app.web .cta-bar{padding-inline:max(24px,50% - 566px)}}.topnav{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:12px 32px}.topnav .links{flex:1;gap:4px;display:flex}.topnav .links button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:20px;align-items:center;gap:8px;padding:8px 14px;font-weight:600;display:flex}.topnav .links button.on{background:var(--p-soft-2);color:var(--p)}.topnav .search{flex:0 320px}.logo{letter-spacing:-.02em;align-items:center;gap:8px;font-size:1.1rem;font-weight:800;display:flex}.logo .mark{background:var(--p);width:34px;height:34px;color:var(--p-ink);border-radius:10px;place-items:center;display:grid}.logo .mark svg{width:20px;height:20px}.h1{font-size:1.6rem;font-weight:800;line-height:1.15}.h2{font-size:1.2rem;font-weight:750}.h3{font-size:1.02rem;font-weight:700}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:.82rem}.tiny{font-size:.72rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem;font-weight:700}.strong{font-weight:700}.center{text-align:center}.right{text-align:right}.p-text{color:var(--p)}.ok-text{color:var(--ok)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}.sec-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.sec-head .h2{font-size:1.08rem}.sec-head a,.link{color:var(--p);cursor:pointer;background:0 0;border:0;padding:0;font-size:.86rem;font-weight:650}.row{align-items:center;gap:10px;min-width:0;display:flex}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{grid-template-columns:minmax(0,1fr);align-content:start;gap:10px;min-width:0;display:grid}.stack.lg{gap:16px}.stack.sm{gap:6px}.stack.xs{gap:2px}.grid{grid-template-columns:repeat(auto-fill, minmax(var(--min,150px), 1fr));gap:12px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.split{align-items:start;gap:18px;display:grid}@media (width>=880px){.split{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}.split.even{grid-template-columns:1fr 1fr}.split .aside{position:sticky;top:16px}}.hscroll{grid-auto-flow:column;grid-auto-columns:var(--w,150px);padding-bottom:4px;scrollbar-width:none;scroll-snap-type:x mandatory;gap:12px;margin-inline:-16px;padding-inline:16px;display:grid;overflow-x:auto}.hscroll>*{scroll-snap-align:start}.hscroll::-webkit-scrollbar{display:none}@media (width>=600px){.hscroll{margin-inline:-24px;padding-inline:24px}}@media (width>=1024px){.hscroll.wrap-wide{grid-auto-flow:row;grid-template-columns:repeat(auto-fill, minmax(var(--w,150px), 1fr));margin:0;padding:0;overflow:visible}}.divider{background:var(--line);height:1px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;padding:16px}.card.flat{box-shadow:none}.card.soft{background:var(--p-soft);border-color:#0000}.card.click{cursor:pointer;transition:transform .12s,box-shadow .12s}.card.click:hover{box-shadow:var(--shadow)}.card.pad0{padding:0;overflow:hidden}.card .card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.hero{border-radius:var(--r-xl);background:var(--p);color:var(--p-ink);padding:20px;position:relative;overflow:hidden}.hero .muted{color:inherit;opacity:.8}.hero:after{content:"";border:28px solid color-mix(in srgb, var(--p-ink) 12%, transparent);border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.li{border-bottom:1px solid var(--line);cursor:default;align-items:center;gap:12px;min-width:0;padding:13px 14px;display:flex}.li:last-child{border-bottom:0}.li[data-go],.li.click{cursor:pointer}.li[data-go]:hover,.li.click:hover{background:var(--surface-2)}.li .t{font-size:.95rem;font-weight:650}.li .s{color:var(--muted);font-size:.8rem}.li .chev{color:var(--faint)}.ico{background:var(--p-soft);width:42px;height:42px;color:var(--p);border-radius:12px;flex:none;place-items:center;display:grid}.ico.sm{border-radius:10px;width:34px;height:34px}.ico.round{border-radius:50%}.ico.ok{background:color-mix(in srgb, var(--ok) 14%, var(--surface));color:var(--ok)}.ico.warn{background:color-mix(in srgb, var(--warn) 14%, var(--surface));color:var(--warn)}.ico.bad{background:color-mix(in srgb, var(--bad) 14%, var(--surface));color:var(--bad)}.ico.info{background:color-mix(in srgb, var(--info) 14%, var(--surface));color:var(--info)}.ico.neutral{background:var(--surface-2);color:var(--muted)}.btn{background:var(--p);min-height:46px;color:var(--p-ink);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:.95rem;font-weight:700;transition:filter .12s,background .12s;display:inline-flex}.btn:hover{filter:brightness(1.06)}.btn.block{width:100%}.btn.sm{border-radius:10px;min-height:36px;padding:0 12px;font-size:.84rem}.btn.xs{border-radius:8px;gap:6px;min-height:30px;padding:0 10px;font-size:.78rem}.btn.lg{border-radius:16px;min-height:54px;font-size:1rem}.btn.ghost{color:var(--text);border-color:var(--line);background:0 0}.btn.ghost:hover{background:var(--surface-2);filter:none}.btn.soft{background:var(--p-soft-2);color:var(--p)}[data-mode=dark] .btn.soft{color:var(--p)}.btn.danger{color:var(--bad);border-color:color-mix(in srgb, var(--bad) 40%, var(--line));background:0 0}.btn.okb{background:var(--ok);color:#fff}[data-mode=dark] .btn.okb{color:#052e16}.btn.text{color:var(--p);background:0 0;padding:0 6px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.scroll-x{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding-inline:16px;overflow-x:auto}.chips.scroll-x::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:.84rem;font-weight:600;display:inline-flex}.chip.on{background:var(--p);border-color:var(--p);color:var(--p-ink)}.chip.sm{padding:4px 10px;font-size:.76rem}.st{white-space:nowrap;background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.st:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.st.ok{background:color-mix(in srgb, var(--ok) 14%, var(--surface));color:var(--ok)}.st.warn{background:color-mix(in srgb, var(--warn) 15%, var(--surface));color:var(--warn)}.st.bad{background:color-mix(in srgb, var(--bad) 13%, var(--surface));color:var(--bad)}.st.info{background:color-mix(in srgb, var(--info) 13%, var(--surface));color:var(--info)}.st.p{background:var(--p-soft-2);color:var(--p)}.tag{background:var(--surface-2);color:var(--muted);border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:650;display:inline-flex}.rating{align-items:center;gap:3px;font-size:.84rem;font-weight:700;display:inline-flex}.rating svg{color:#f59e0b;fill:#f59e0b;width:1em;height:1em}.field{gap:6px;min-width:0;display:grid}.field>label,.lbl{color:var(--text);font-size:.82rem;font-weight:650}.field .req{color:var(--bad);margin-left:2px}.field .hint{color:var(--muted);font-size:.74rem}.input,.select,.textarea{border:1px solid var(--line);background:var(--surface);border-radius:12px;outline:none;width:100%;min-height:48px;padding:0 14px;font-size:.95rem}.textarea{resize:vertical;min-height:96px;padding:12px 14px}.input:focus,.select:focus,.textarea:focus{border-color:var(--p);box-shadow:0 0 0 3px var(--p-soft-2)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.input-group{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;min-height:48px;display:flex;overflow:hidden}.input-group:focus-within{border-color:var(--p);box-shadow:0 0 0 3px var(--p-soft-2)}.input-group .addon{color:var(--muted);background:var(--surface-2);border-right:1px solid var(--line);align-self:stretch;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:flex}.input-group .addon.r{border-right:0;border-left:1px solid var(--line)}.input-group input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:46px;padding:0 12px;font-size:.95rem}.searchbox{background:var(--surface-2);min-height:46px;color:var(--muted);border:1px solid #0000;border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.searchbox input{min-width:0;height:44px;color:var(--text);background:0 0;border:0;outline:none;flex:1}.otp{justify-content:center;gap:10px;display:flex}.otp input{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:14px;width:54px;height:60px;font-size:1.5rem;font-weight:700}.otp input.on{border-color:var(--p);box-shadow:0 0 0 3px var(--p-soft-2)}.upload{border:1.5px dashed var(--line);color:var(--muted);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.upload:hover{border-color:var(--p);color:var(--p)}.upload.done{border-style:solid;border-color:color-mix(in srgb, var(--ok) 50%, var(--line));color:var(--text)}.thumbs{flex-wrap:wrap;gap:8px;display:flex}.thumb{border-radius:10px;flex:none;width:64px;height:64px;position:relative;overflow:hidden}.thumb.add{border:1.5px dashed var(--line);color:var(--muted);cursor:pointer;place-items:center;display:grid}.switch{vertical-align:middle;flex:none;width:46px;height:28px;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.switch span{background:var(--surface-3);border-radius:14px;transition:all .15s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch input:checked+span{background:var(--p)}.switch input:checked+span:after{transform:translate(18px)}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:.88rem;display:flex}.check input{width:20px;height:20px;accent-color:var(--p);flex:none;margin:0}.opt{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.opt.on{border-color:var(--p);background:var(--p-soft)}.opt .radio{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;display:grid}.opt.on .radio{border-color:var(--p)}.opt.on .radio:after{content:"";background:var(--p);border-radius:50%;width:10px;height:10px}.opt.tile{flex-direction:column;align-items:flex-start;gap:8px}.opt.tile .ck{margin-left:auto}.seg{background:var(--surface-2);border-radius:12px;gap:2px;padding:4px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:8px 14px;font-size:.85rem;font-weight:650}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg.block{display:flex}.seg.block button{flex:1}.stepper{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;display:inline-flex;overflow:hidden}.stepper button{cursor:pointer;width:38px;height:38px;color:var(--p);background:0 0;border:0;place-items:center;display:grid}.stepper button:hover{background:var(--surface-2)}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:34px;font-weight:700}.stars{gap:6px;display:inline-flex}.stars button{cursor:pointer;color:var(--surface-3);background:0 0;border:0;padding:0}.stars button svg{fill:currentColor;stroke:none;width:32px;height:32px}.stars.sm button svg{width:24px;height:24px}.stars button.on{color:#f59e0b}.range{width:100%;accent-color:var(--p)}.form-grid{gap:14px;display:grid}@media (width>=600px){.form-grid.two{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2.5px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:.9rem;font-weight:650}.tabs button.on{color:var(--p);border-bottom-color:var(--p)}[data-panel]:not(.on){display:none!important}.progress{background:var(--surface-3);border-radius:4px;height:8px;overflow:hidden}.progress>i{background:var(--p);border-radius:4px;height:100%;display:block}.wizard-steps{gap:6px;display:flex}.wizard-steps i{background:var(--surface-3);border-radius:3px;flex:1;height:5px}.wizard-steps i.on{background:var(--p)}.timeline{gap:0;display:grid}.tl{grid-template-columns:28px 1fr;gap:12px;padding-bottom:18px;display:grid;position:relative}.tl:last-child{padding-bottom:0}.tl:before{content:"";background:var(--line);width:2px;position:absolute;top:26px;bottom:0;left:13px}.tl:last-child:before{display:none}.tl .dotc{background:var(--surface-2);width:28px;height:28px;color:var(--faint);border:2px solid var(--line);border-radius:50%;place-items:center;display:grid}.tl.done .dotc{background:var(--p);border-color:var(--p);color:var(--p-ink)}.tl.done:before{background:var(--p)}.tl.now .dotc{border-color:var(--p);color:var(--p);background:var(--p-soft)}.tl .dotc svg{width:14px;height:14px}.hstepper{align-items:flex-start;display:flex}.hstepper .hs{text-align:center;color:var(--muted);flex:1;justify-items:center;gap:6px;font-size:.7rem;font-weight:650;display:grid;position:relative}.hstepper .hs:before{content:"";background:var(--line);height:2px;position:absolute;top:11px;left:-50%;right:50%}.hstepper .hs:first-child:before{display:none}.hstepper .hs i{background:var(--surface-3);z-index:1;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:relative}.hstepper .hs.done i{background:var(--p);color:var(--p-ink)}.hstepper .hs.done:before{background:var(--p)}.hstepper .hs.done{color:var(--text)}.hstepper .hs i svg{width:13px;height:13px}.kv{gap:8px;display:grid}.kv>div{justify-content:space-between;gap:16px;font-size:.9rem;display:flex}.kv>div>span:first-child{color:var(--muted)}.kv>div>span:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.kv .total{border-top:1px dashed var(--line);padding-top:10px;font-size:1.05rem}.kv .total>span{color:var(--text)!important;font-weight:800!important}.tbl-wrap{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:.86rem}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);white-space:nowrap;border-bottom:1px solid var(--line);padding:10px 12px;font-size:.72rem;font-weight:700}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:11px 12px}.tbl tr:last-child td{border-bottom:0}.tbl td.wrap{white-space:normal;min-width:180px}.tbl tr[data-go]{cursor:pointer}.tbl tr[data-go]:hover td{background:var(--surface-2)}.tbl .n,.tbl th.n{text-align:right;font-variant-numeric:tabular-nums}.tbl input.input,.tbl select.select{border-radius:8px;height:36px;min-height:36px;padding:0 8px;font-size:.85rem}.tbl select.select{background-position:calc(100% - 14px) 15px,calc(100% - 9px) 15px;padding-right:28px}.ph{background:var(--surface-2);border-radius:var(--r);aspect-ratio:var(--ar,4/3);width:100%;max-width:100%;color:var(--muted);place-items:center;display:grid;position:relative;overflow:hidden}.ph.marble{background:radial-gradient(at 20% 30%,#ffffffe6,#0000 40%),linear-gradient(115deg,#0000 40%,#78788240 41%,#0000 43%),linear-gradient(160deg,#0000 60%,#6e6e784d 61%,#0000 62.5%),linear-gradient(30deg,#0000 25%,#8c8c962e 26%,#0000 28%),#ecebe7}.ph.marble.black{background:linear-gradient(115deg,#0000 40%,#ffffff73 41%,#0000 42.5%),linear-gradient(160deg,#0000 60%,#dcc8a080 61%,#0000 62%),linear-gradient(30deg,#0000 25%,#fff3 26%,#0000 28%),#1e1e22}.ph.marble.beige{background:linear-gradient(120deg,#0000 35%,#966e464d 36%,#0000 38%),linear-gradient(170deg,#0000 55%,#966e4640 56%,#0000 58%),radial-gradient(at 70% 60%,#ffffff80,#0000 50%),#e6d6be}.ph.marble.green{background:linear-gradient(120deg,#0000 35%,#ffffff73 36%,#0000 37.5%),linear-gradient(170deg,#0000 55%,#ffffff4d 56%,#0000 57%),#2f5a47}.ph.tile{background:repeating-conic-gradient(var(--c1,#dde3e6) 0 25%, var(--c2,#c7d0d5) 0 50%) 0 0 / 40px 40px}.ph.tile.hex{background:radial-gradient(circle at 50% 50%, var(--c1,#e6eef0) 45%, var(--c2,#9fb2b9) 47%, var(--c1,#e6eef0) 52%) 0 0 / 28px 28px}.ph.wood{background:repeating-linear-gradient(90deg,#0000000d 0 2px,#0000 2px 22px),repeating-linear-gradient(0deg,#b98654 0 60px,#a9784a 60px 62px),#b98654}.ph.paint{background:var(--c)}.ph.room{background:linear-gradient(to bottom, var(--c,#e9e2d3) 0 64%, #b9a58a 64% 66%, #8a6f52 66%)}.ph.room:before{content:"";background:linear-gradient(160deg,#bfe0f2,#e8f4fb);border:5px solid #ffffffd9;width:22%;height:30%;position:absolute;top:18%;left:12%}.ph.room:after{content:"";background:#3c3c468c;border-radius:6px 6px 2px 2px;width:40%;height:16%;position:absolute;bottom:30%;right:10%}.ph.bath{background:repeating-conic-gradient(#edf2f4 0 25%, #e0e8eb 0 50%) 0 0 / 30px 30px}.ph.bath:after{content:"";background:#fff;border-radius:6px 6px 40px 40px;height:26%;position:absolute;bottom:14%;left:18%;right:18%;box-shadow:0 4px 10px #0000001f}.ph.svc{background:var(--p-soft-2);color:var(--p)}.ph.svc svg{opacity:.9;width:40%;height:40%}.ph .ph-label{color:#fff;background:#0000008c;border-radius:6px;padding:3px 8px;font-size:.68rem;font-weight:700;position:absolute;bottom:8px;left:8px}.ph .fav{color:#333;background:#ffffffe6;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:8px;right:8px}.ph .fav svg{width:16px;height:16px}.avatar{color:#fff;background:hsl(var(--ah,200) 45% 45%);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:.9rem;font-weight:750;display:grid}.avatar.sm{width:34px;height:34px;font-size:.76rem}.avatar.lg{width:64px;height:64px;font-size:1.2rem}.avatar.xl{width:88px;height:88px;font-size:1.6rem}.verified{color:var(--info);width:16px;height:16px}.pcard{cursor:pointer;gap:8px;min-width:0;display:grid}.pcard .nm{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.pcard .pr{font-size:.95rem;font-weight:800}.pcard .pr small{color:var(--muted);font-size:.72rem;font-weight:600}.cat{text-align:center;cursor:pointer;justify-items:center;gap:8px;font-size:.76rem;font-weight:650;display:grid}.cat .ico{border-radius:18px;width:58px;height:58px}.cat .ico svg{width:26px;height:26px}.cat-grid{grid-template-columns:repeat(4,1fr);gap:16px 8px;display:grid}@media (width>=600px){.cat-grid{grid-template-columns:repeat(6,1fr)}}.swatches{flex-wrap:wrap;gap:10px;display:flex}.sw{border:3px solid var(--surface);width:36px;height:36px;box-shadow:0 0 0 1px var(--line);cursor:pointer;border-radius:50%}.sw.on{box-shadow:0 0 0 2px var(--p)}.map{border-radius:var(--r-lg);background:var(--map-land);min-height:220px;position:relative;overflow:hidden}.map svg.mapbg{width:100%;height:100%;position:absolute;inset:0}.pin{justify-items:center;display:grid;position:absolute;transform:translate(-50%,-100%)}.pin .b{background:var(--p);width:34px;height:34px;box-shadow:var(--shadow);border:2px solid var(--surface);border-radius:50% 50% 50% 0;place-items:center;display:grid;transform:rotate(-45deg)}.pin .b svg{color:var(--p-ink);width:16px;height:16px;transform:rotate(45deg)}.pin.home .b{background:var(--text)}.pin.home .b svg{color:var(--surface)}.pin.dot{transform:translate(-50%,-50%)}.pin.dot i{background:var(--c,var(--p));border:3px solid var(--surface);width:14px;height:14px;box-shadow:0 0 0 5px color-mix(in srgb, var(--c,var(--p)) 25%, transparent);border-radius:50%}.pin .lbl{background:var(--surface);box-shadow:var(--shadow);white-space:nowrap;border-radius:6px;margin-top:4px;padding:2px 8px;font-size:.7rem;font-weight:700}.map .overlay{position:absolute;bottom:12px;left:12px;right:12px}.chat{gap:10px;display:grid}.msg{background:var(--surface);border:1px solid var(--line);border-radius:18px 18px 18px 6px;justify-self:start;max-width:78%;padding:10px 14px;font-size:.92rem}.msg.me{background:var(--p);color:var(--p-ink);border-color:var(--p);border-bottom-right-radius:6px;border-bottom-left-radius:18px;justify-self:end}.msg .tm{opacity:.7;text-align:right;margin-top:4px;font-size:.68rem;display:block}.daysep{color:var(--muted);background:var(--surface-2);border-radius:10px;justify-self:center;padding:3px 10px;font-size:.72rem}.composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);align-items:center;gap:8px;display:flex}.composer input{border:1px solid var(--line);background:var(--surface-2);border-radius:22px;outline:none;flex:1;min-width:0;height:44px;padding:0 16px}.toast{background:var(--text);color:var(--bg);opacity:0;pointer-events:none;z-index:50;border-radius:12px;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:12px 18px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.banner{background:color-mix(in srgb, var(--info) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--info) 25%, var(--line));border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:.86rem;display:flex}.banner.warn{background:color-mix(in srgb, var(--warn) 10%, var(--surface));border-color:color-mix(in srgb, var(--warn) 30%, var(--line))}.banner.ok{background:color-mix(in srgb, var(--ok) 10%, var(--surface));border-color:color-mix(in srgb, var(--ok) 28%, var(--line))}.banner.bad{background:color-mix(in srgb, var(--bad) 9%, var(--surface));border-color:color-mix(in srgb, var(--bad) 28%, var(--line))}.banner>svg{margin-top:1px}.banner.warn>svg{color:var(--warn)}.banner.ok>svg{color:var(--ok)}.banner.bad>svg{color:var(--bad)}.banner>svg{color:var(--info)}.countdown{font-variant-numeric:tabular-nums;color:var(--warn);align-items:center;gap:6px;font-size:.85rem;font-weight:750;display:inline-flex}.bigcode{letter-spacing:.3em;font-variant-numeric:tabular-nums;text-align:center;padding-left:.3em;font-size:2.4rem;font-weight:800}.stat{gap:4px;display:grid}.stat .v{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.45rem;font-weight:800}.stat .l{color:var(--muted);font-size:.76rem;font-weight:600}.stat .d{font-size:.74rem;font-weight:700}.bars{align-items:flex-end;gap:6px;height:120px;display:flex}.bars>div{height:100%;color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;font-size:.68rem;display:flex}.bars>div>i{background:var(--p);border-radius:4px 4px 0 0;width:100%;max-width:28px;display:block}.bars>div>i.dim{background:var(--p-soft-2)}.dl{grid-template-columns:auto 1fr;gap:6px 16px;font-size:.88rem;display:grid}.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:600}.splash{background:var(--p);height:100%;color:var(--p-ink);place-items:center;display:grid}.sheet-handle{background:var(--surface-3);border-radius:2px;width:40px;height:4px;margin:0 auto}.ring{--v:70;background:conic-gradient(var(--p) calc(var(--v) * 1%), var(--surface-3) 0);border-radius:50%;place-items:center;width:120px;height:120px;display:grid}.ring>div{background:var(--surface);text-align:center;border-radius:50%;place-items:center;width:92px;height:92px;display:grid}.gantt{gap:8px;display:grid}.gantt .g{grid-template-columns:110px 1fr;align-items:center;gap:10px;font-size:.8rem;font-weight:600;display:grid}.gantt .track{background:var(--surface-2);border-radius:6px;height:22px;position:relative}.gantt .track i{background:var(--p);color:var(--p-ink);white-space:nowrap;border-radius:6px;align-items:center;padding-left:6px;font-size:.66rem;font-style:normal;font-weight:700;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt .scale{color:var(--muted);grid-template-columns:110px 1fr;gap:10px;font-size:.68rem;display:grid}.gantt .scale div:last-child{justify-content:space-between;display:flex}.calc{background:var(--surface-2);border-radius:14px;gap:10px;padding:14px;display:grid}.hide-sm{display:none}@media (width>=600px){.hide-sm{display:initial}.show-sm{display:none!important}}.brand-foot{text-align:center;color:var(--faint);gap:2px;padding:4px 0;font-size:.7rem;line-height:1.4;display:grid}.brand-foot span:first-child{font-weight:600}.has-house{position:relative;overflow:hidden}.has-house>:not(svg){z-index:1;position:relative}html{font-size:14.5px}.adm{height:100%;display:flex}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;width:248px;min-height:0;display:flex}.side .brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:16px 18px;font-size:1.05rem;font-weight:800;display:flex}.side .brand .mark{background:var(--p);width:34px;height:34px;color:var(--p-ink);border-radius:10px;flex:none;place-items:center;display:grid}.side .brand small{color:var(--muted);letter-spacing:0;font-size:.7rem;font-weight:600;display:block}.side nav{scrollbar-width:thin;flex:1;padding:4px 10px 16px;overflow-y:auto}.side .grp{text-transform:uppercase;letter-spacing:.09em;color:var(--faint);padding:14px 10px 6px;font-size:.66rem;font-weight:700}.side .nv{width:100%;color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;font-weight:600;display:flex}.side .nv:hover{background:var(--surface-2);color:var(--text)}.side .nv.on{background:var(--p-soft-2);color:var(--p)}.side .nv .cnt{background:var(--p);color:var(--p-ink);border-radius:9px;margin-left:auto;padding:1px 7px;font-size:.68rem;font-weight:700}.side .me{border-top:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.amain{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.top{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:12px;padding:10px 20px;display:flex}.top .searchbox{flex:0 380px;min-height:40px}.top .searchbox input{height:38px}.top .menu{display:none}.content{flex:1;min-height:0;overflow:auto}.awrap{grid-template-columns:minmax(0,1fr);gap:18px;max-width:1480px;padding:20px 24px 40px;display:grid}.phead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.phead .crumbs{color:var(--muted);align-items:center;gap:6px;margin-bottom:4px;font-size:.78rem;display:flex}.phead .crumbs a{cursor:pointer;color:var(--muted)}.phead h1{font-size:1.55rem;font-weight:800}.phead .acts{flex-wrap:wrap;gap:8px;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filters .select,.filters .input{border-radius:10px;width:auto;height:38px;min-height:38px;font-size:.85rem}.filters .select{background-position:calc(100% - 18px) 16px,calc(100% - 13px) 16px}.filters .searchbox{flex:0 260px;min-height:38px}.filters .searchbox input{height:36px}.kpis{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;gap:6px;padding:14px 16px;display:grid}.kpi:hover{border-color:color-mix(in srgb, var(--p) 40%, var(--line))}.kpi .l{color:var(--muted);align-items:center;gap:6px;font-size:.76rem;font-weight:650;display:flex}.kpi .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.kpi .d{font-size:.74rem;font-weight:700}.cols{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=1100px){.cols.c2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.cols.c2e{grid-template-columns:1fr 1fr}.cols.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols.side-r{grid-template-columns:minmax(0,1fr) 340px}}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart .grid line{stroke:var(--line);stroke-width:1px}.chart .area{fill:var(--p);opacity:.12}.chart .ln{fill:none;stroke:var(--p);stroke-width:2px}.chart .pt{fill:var(--p);stroke:var(--surface);stroke-width:2px}.chart .hit{fill:#0000;cursor:crosshair}.chart .hit:hover+.tip,.chart g.h:hover .tip{opacity:1}.chart .tip{opacity:0;pointer-events:none;transition:opacity .1s}.chart .tip rect{fill:var(--text)}.chart .tip text{fill:var(--bg);font-weight:700}.chart g.h:hover .bar{filter:brightness(1.12)}.chart .bar{fill:var(--p)}.hbar{gap:10px;display:grid}.hbar .r{grid-template-columns:110px 1fr 70px;align-items:center;gap:10px;font-size:.82rem;display:grid}.hbar .r .t{background:var(--surface-2);border-radius:4px;height:14px;position:relative}.hbar .r .t i{background:var(--p);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.hbar .r .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.funnel{gap:8px;display:grid}.funnel .f{grid-template-columns:120px 1fr;align-items:center;gap:10px;font-size:.82rem;display:grid}.funnel .f div{background:var(--p);height:30px;color:var(--p-ink);font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;min-width:60px;padding:0 10px;font-size:.78rem;font-weight:700;display:flex}.board{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (width>=1100px){.board{grid-template-columns:360px minmax(0,1fr)}}.task{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;gap:6px;padding:12px;display:grid}.task.on{border:2px solid var(--p);background:var(--p-soft)}.viewer{background:var(--surface-2);aspect-ratio:16/10;border-radius:12px;place-items:center;display:grid;position:relative;overflow:hidden}.idcard{aspect-ratio:1.58;width:72%;box-shadow:var(--shadow-lg);color:#1d3b2f;background:linear-gradient(135deg,#dcebe3,#bfd8cc);border-radius:12px;grid-template-columns:30% 1fr;gap:6%;padding:5%;display:grid}.idcard .face{background:#9fbfb0;border-radius:6px}.idcard .lines{align-content:center;gap:8%;display:grid}.idcard .lines i{background:#1d3b2f59;border-radius:4px;height:9px}.perm td,.perm th{text-align:center!important}.perm td:first-child,.perm th:first-child{text-align:left!important}.perm input{width:18px;height:18px;accent-color:var(--p)}.login{grid-template-columns:minmax(0,1fr);height:100%;display:grid}@media (width>=900px){.login{grid-template-columns:1.1fr 1fr}}.login .art{background:var(--p);color:var(--p-ink);flex-direction:column;justify-content:space-between;padding:48px;display:none;position:relative;overflow:hidden}@media (width>=900px){.login .art{display:flex}}.login .art:after{content:"";border:60px solid color-mix(in srgb, var(--p-ink) 10%, transparent);border-radius:50%;width:420px;height:420px;position:absolute;bottom:-120px;right:-120px}.login .form{background:var(--surface);place-items:center;padding:32px 20px;display:grid}@media (width<=1199px){.side{width:72px}.side .brand span.txt,.side .grp,.side .nv span.lb,.side .nv .cnt,.side .me .who{display:none}.side .brand{justify-content:center;padding:16px 0}.side .nv{justify-content:center;padding:10px;position:relative}.side .nv .cnt{padding:0 5px;font-size:.6rem;display:block;position:absolute;top:2px;right:4px}.side nav{padding:4px 8px}.side .grp{background:var(--line);height:1px;margin:8px 6px;padding:0;font-size:0;display:block}.side .me{justify-content:center;padding:12px 0}}@media (width<=899px){.side{z-index:30;width:264px;box-shadow:var(--shadow-lg);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.side .brand span.txt,.side .grp,.side .nv span.lb,.side .nv .cnt,.side .me .who{display:initial}.side .grp{background:0 0;height:auto;margin:0;padding:14px 10px 6px;font-size:.66rem;display:block}.side .nv{justify-content:flex-start;padding:8px 10px}.side .nv .cnt{margin-left:auto;padding:1px 7px;position:static}.side .brand{justify-content:flex-start;padding:16px 18px}.side .me{justify-content:flex-start;padding:12px 16px}.adm.open .side{transform:none}.adm.open .scrim{z-index:25;background:#00000059;position:fixed;inset:0}.top .menu{display:grid}.top .hide-md{display:none}.awrap{padding:16px}}.card.stack,.stack{align-content:start}.tbl td .row{min-width:max-content}.tbl select.select{min-width:120px}.side .side-copy{color:var(--faint);padding:0 16px 10px;font-size:.62rem;line-height:1.35}@media (width<=1199px) and (width>=900px){.side .side-copy{display:none}}.tbl tr.go{cursor:pointer}.tbl tr.go:hover td,.tbl tr.go.on td{background:var(--surface-2)}.empty{text-align:center;color:var(--muted);justify-items:center;gap:6px;padding:32px 16px;display:grid}.empty svg.i{width:32px;height:32px;color:var(--faint)}.pager{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.82rem;display:flex}.pager .row{gap:6px}.field .err{color:var(--bad);font-size:.78rem;font-weight:600}.field.invalid .input,.field.invalid .select,.field.invalid .textarea,.field.invalid .input-group{border-color:var(--bad)}.dialog-wrap{z-index:60;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);gap:14px;width:min(560px,100%);max-height:calc(100vh - 32px);padding:20px;display:grid;overflow:auto}.dialog.wide{width:min(860px,100%)}.dialog .dh{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialog .df{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dropdown{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:40;border-radius:12px;gap:2px;min-width:260px;max-height:70vh;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.dropdown.left{left:0;right:auto}.dropdown .di{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.dropdown .di:hover{background:var(--surface-2)}.dropdown .dh{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:8px 10px 2px;font-size:.7rem;font-weight:700}.rel{position:relative}.toast{bottom:28px}.toast.bad{background:var(--bad);color:#fff}.iconbtn .dot{background:var(--bad);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:8px}.iconbtn{position:relative}.progress-label{color:var(--muted);font-size:.72rem}.gantt .track i.dep{outline:2px dashed var(--warn)}.wrap-anywhere{overflow-wrap:anywhere}.code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.viewer img{max-width:100%;max-height:100%;transition:transform .15s}@media print{.side,.top{display:none!important}.content{overflow:visible}}.tbl .input,.tbl .select,.dense .input,.dense .select{border-radius:9px;height:36px;min-height:36px;padding-top:0;padding-bottom:0;font-size:.85rem}.tbl .select,.dense .select{background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;padding-right:30px}.tbl .input-group,.dense .input-group{border-radius:9px;min-height:36px}.tbl .input-group input,.dense .input-group input{min-width:0;height:34px;padding:0 6px 0 10px;font-size:.85rem}.tbl .input-group .addon,.dense .input-group .addon{padding:0 8px;font-size:.8rem}.tbl input[type=number]{-moz-appearance:textfield}.tbl input[type=number]::-webkit-inner-spin-button{opacity:.4}.tbl td{vertical-align:middle}.aside .input-group input{min-width:0}.ellipsis{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tbl td .stack{min-width:max-content}.tabs.sm button{padding:8px;font-size:.8rem}.top .searchbox{min-width:0}.top .searchbox input{width:100%;min-width:0}@media (width<=560px){.top{gap:8px;padding:10px 12px}.top .searchbox{padding:0 10px}}
