@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-DzyfIafT.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BWSLJLk6.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-C9H9m1vD.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-C1uRvKPU.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-BqRLTx4X.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #f2f4f1;--panel: #ffffff;--panel-2: #eaeeec;--panel-3: #dfe5e2;--border: #cbd3d0;--border-strong: #a9b5b1;--text: #17242a;--text-dim: #56656b;--text-faint: #8a979c;--accent: #1f6f78;--accent-hover: #185b63;--accent-soft: rgba(31, 111, 120, .1);--accent-line: rgba(31, 111, 120, .4);--on-accent: #ffffff;--marker: #e1a80f;--on-marker: #17242a;--danger: #c43d2f;--danger-soft: rgba(196, 61, 47, .1);--ok: #1f8a4c;--ok-soft: rgba(31, 138, 76, .1);--warn: #b07a0b;--info: #1d6fa8;--glass: rgba(255, 255, 255, .9);--glass-strong: rgba(255, 255, 255, .96);--shadow: 0 1px 2px rgba(23, 36, 42, .08), 0 6px 20px rgba(23, 36, 42, .12);--shadow-lg: 0 12px 40px rgba(23, 36, 42, .22);--scrim: rgba(23, 36, 42, .45);--track: #d6ddda;--track-2: #c6cfcb;--flow: #7f909a;--flow-strong: #5c6f79;--svg-rule: #b8c2be;--font-body: "Source Sans 3 Variable", "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--status-overdue: #ef4444;--status-no-record: #f97316;--status-undetermined: #a78bfa;--status-due-soon: #f59e0b;--status-not-yet-due: #38bdf8;--status-met: #22c55e;--status-not-applicable: #9a9a9a;--touch: 44px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--sheet-open: 62%;--drawer-w: min(340px, calc(100vw - 56px - var(--safe-left) - var(--safe-right)))}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0f171a;--panel: #172226;--panel-2: #1f2d32;--panel-3: #28393f;--border: #2c3b40;--border-strong: #3f5259;--text: #e3e9e7;--text-dim: #94a4a8;--text-faint: #65767b;--accent: #5fb6bf;--accent-hover: #7ccbd3;--accent-soft: rgba(95, 182, 191, .14);--accent-line: rgba(95, 182, 191, .45);--on-accent: #0f171a;--marker: #e8b52a;--on-marker: #0f171a;--danger: #f06a5c;--danger-soft: rgba(240, 106, 92, .14);--ok: #3ec973;--ok-soft: rgba(62, 201, 115, .14);--warn: #e8b52a;--info: #5aa9e6;--glass: rgba(23, 34, 38, .9);--glass-strong: rgba(23, 34, 38, .96);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);--scrim: rgba(0, 0, 0, .6);--track: #28393f;--track-2: #1f2d32;--flow: #9fb3ba;--flow-strong: #c4d3d8;--svg-rule: #3f5259}}:root[data-theme=dark]{color-scheme:dark;--bg: #0f171a;--panel: #172226;--panel-2: #1f2d32;--panel-3: #28393f;--border: #2c3b40;--border-strong: #3f5259;--text: #e3e9e7;--text-dim: #94a4a8;--text-faint: #65767b;--accent: #5fb6bf;--accent-hover: #7ccbd3;--accent-soft: rgba(95, 182, 191, .14);--accent-line: rgba(95, 182, 191, .45);--on-accent: #0f171a;--marker: #e8b52a;--on-marker: #0f171a;--danger: #f06a5c;--danger-soft: rgba(240, 106, 92, .14);--ok: #3ec973;--ok-soft: rgba(62, 201, 115, .14);--warn: #e8b52a;--info: #5aa9e6;--glass: rgba(23, 34, 38, .9);--glass-strong: rgba(23, 34, 38, .96);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55);--scrim: rgba(0, 0, 0, .6);--track: #28393f;--track-2: #1f2d32;--flow: #9fb3ba;--flow-strong: #c4d3d8;--svg-rule: #3f5259}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.01em}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-line)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.input,.button,select,textarea{font:inherit;color:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);padding:6px 9px}select{color:var(--text)}.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.button{cursor:pointer;background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600;line-height:1.3;transition:background-color .12s,border-color .12s}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.button.secondary{background:var(--panel);color:var(--text);border-color:var(--border-strong)}.button.secondary:hover{background:var(--panel-2);border-color:var(--border-strong);color:var(--text)}.button:disabled{opacity:.5;cursor:default}.flash{padding:7px 10px;border-radius:var(--radius);margin-bottom:10px;font-size:12.5px}.flash.ok{background:var(--ok-soft);color:var(--ok);border:1px solid var(--ok)}.flash.err{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger)}.empty{padding:20px;color:var(--text-dim);font-style:italic}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:10px;min-height:52px;padding:var(--safe-top) calc(14px + var(--safe-right)) 0 calc(14px + var(--safe-left));background:var(--panel);border-bottom:1px solid var(--border);position:relative;z-index:100}.brand{display:inline-flex;align-items:center;gap:9px;margin-right:8px;color:var(--text);font-family:var(--font-display);font-weight:700;font-size:21px;letter-spacing:.01em;line-height:1;white-space:nowrap}.brand:hover{color:var(--text)}.brand-mark{width:26px;height:26px;flex:0 0 auto;display:block}.subtitle{color:var(--text-dim);font-size:12px}.nav{display:flex;align-items:stretch;gap:2px;min-width:0;flex-wrap:wrap}.nav-link{display:inline-flex;align-items:center;position:relative;padding:15px 9px 13px;color:var(--text-dim);font-size:13.5px;font-weight:600;letter-spacing:.005em;white-space:nowrap;border-radius:0;transition:color .12s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{content:"";position:absolute;left:9px;right:9px;bottom:-1px;height:2px;background:var(--marker)}.topbar-tools{margin-left:auto;display:flex;align-items:center;gap:6px;flex:0 0 auto}.demo-banner{flex:none;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:5px calc(14px + var(--safe-right)) 5px calc(14px + var(--safe-left));background:var(--accent-soft);border-bottom:1px solid var(--accent-line);color:var(--text);font-size:13px;line-height:1.35;position:relative;z-index:90}.demo-banner-text{flex:1 1 auto;min-width:0}a.demo-banner-link{flex:none;color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}.demo-banner-confirm{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;font-weight:600}.demo-banner-err{flex-basis:100%;color:var(--danger)}.demo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;background:var(--scrim);animation:demo-fade-in .2s ease-out .25s both}.demo-overlay-card{display:inline-flex;align-items:center;gap:12px;padding:16px 22px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-weight:600}.demo-spinner{width:18px;height:18px;border:2px solid var(--accent-line);border-top-color:var(--accent);border-radius:50%;animation:demo-spin .8s linear infinite}@keyframes demo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes demo-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.demo-spinner{animation-duration:2.4s}}.demo-banner-company{display:inline-flex;align-items:baseline;gap:4px;min-width:0;font-weight:600}.demo-banner-company-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-banner-link{padding:0;border:0;background:none;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.demo-banner-link:hover{color:var(--accent-hover)}.demo-picker-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990;display:grid;place-items:center;padding:24px;background:var(--scrim);animation:demo-fade-in .15s ease-out both}.demo-picker{display:flex;flex-direction:column;gap:10px;width:min(560px,100%);max-height:min(680px,calc(100dvh - 48px));padding:16px 18px 18px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.demo-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.demo-picker-head h2{margin:0;font-family:var(--font-display);font-size:22px;font-weight:600}.demo-picker-lead,.demo-picker-note{margin:0;color:var(--text-dim)}.demo-picker-search{width:100%}.demo-picker-list{flex:1 1 auto;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius)}.demo-picker-list li+li{border-top:1px solid var(--border)}.demo-picker-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-height:40px;padding:7px 12px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.demo-picker-row:hover:not(:disabled),.demo-picker-row:focus-visible{background:var(--accent-soft)}.demo-picker-row:disabled{cursor:default}.demo-picker-name{font-weight:600}.demo-picker-meta{font-size:13px;color:var(--text-dim)}.demo-picker-row.too-large .demo-picker-name{color:var(--text-dim)}.demo-picker-row.too-large .demo-picker-meta{color:var(--text-faint)}.demo-picker-panel{display:flex;flex-direction:column;gap:10px}.demo-picker-ask{display:flex;align-items:center;gap:10px;margin:0;font-weight:600}.demo-picker-progress:focus{outline:none}.demo-picker-log{margin:0;padding:8px 10px;font-family:var(--font-mono);font-size:12px;background:var(--panel-2);border-radius:var(--radius);overflow-wrap:anywhere}.demo-picker-err{margin:0;color:var(--danger)}.demo-picker-actions{display:flex;gap:8px}.tb-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-dim);cursor:pointer;transition:background-color .12s,color .12s}.tb-icon:hover{background:var(--panel-2);color:var(--text)}.tb-icon svg{width:18px;height:18px;display:block}.pf-user{position:relative}.pf-user-btn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 4px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;max-width:220px}.pf-user-btn:hover,.pf-user-btn[aria-expanded=true]{background:var(--panel-2)}.pf-user-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.02em;flex:0 0 auto}.pf-user-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.pf-user-dev{padding:1px 5px;border:1px solid var(--marker);border-radius:3px;color:var(--text-dim);font-size:10.5px;font-weight:600;line-height:1.2}.pf-user-caret{width:12px;height:12px;color:var(--text-dim);flex:0 0 auto}.pf-user-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:120;min-width:230px;padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.pf-user-head{padding:8px 10px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.pf-user-head b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis}.pf-user-roles{display:block;color:var(--text-dim);font-size:12px;margin-top:2px}.pf-user-group{padding:4px 10px 2px;color:var(--text-faint);font-size:11.5px;font-weight:600}.pf-user-menu .pf-user-link,.pf-user-menu .pf-user-out{display:flex;align-items:center;width:100%;padding:7px 10px;border:0;border-radius:var(--radius);background:none;color:var(--text);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.pf-user-menu .pf-user-link:hover,.pf-user-menu .pf-user-out:hover{background:var(--panel-2);color:var(--text)}.pf-user-sep{height:1px;margin:6px 0;background:var(--border)}.pf-theme-row{display:flex;align-items:center;gap:8px;padding:4px 10px 6px;font-size:13px;color:var(--text-dim)}.pf-theme-seg{margin-left:auto;display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:2px}.pf-theme-seg button{border:0;background:none;color:var(--text-dim);font:inherit;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;cursor:pointer}.pf-theme-seg button.on{background:var(--accent);color:var(--on-accent)}.pf-legacy{position:relative;display:flex}.pf-legacy-btn{background:none;border:none;cursor:pointer;font:inherit;font-size:13.5px;font-weight:600}.pf-legacy-menu{position:absolute;top:100%;left:0;z-index:110;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:6px;min-width:190px}.pf-legacy-menu .nav-link{padding:7px 10px;border-radius:var(--radius)}.pf-legacy-menu .nav-link:hover{background:var(--panel-2)}.pf-legacy-menu .nav-link.active:after{display:none}.pf-legacy-menu .nav-link.active{background:var(--accent-soft)}.view-toggle{display:flex;align-items:center;gap:4px;margin-left:12px;padding-left:12px;border-left:1px solid var(--border)}.view-toggle-label{color:var(--text-dim);font-size:12px}.view-toggle-btn{font:inherit;font-size:12px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);cursor:pointer}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}.content{flex:1;min-height:0;display:flex;padding-left:var(--safe-left);padding-right:var(--safe-right)}.sidebar{width:320px;border-right:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;min-height:0}.sidebar-header{padding:10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.sidebar-title{font-size:12.5px;font-weight:600;color:var(--text-dim)}.list{flex:1;overflow-y:auto}.list-item{display:block;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer}.list-item:hover{background:var(--panel-2)}.list-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.list-item .id{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.list-item .num{font-weight:600}.map{flex:1;min-width:0;position:relative}.maplibregl-map{width:100%;height:100%}.detail{display:flex;flex:1;min-height:0}.detail-panel{width:360px;border-right:1px solid var(--border);background:var(--panel);padding:12px;overflow-y:auto}.detail-panel h2{margin:0 0 4px;font-size:16px}.detail-panel .id{color:var(--text-dim);font-size:12px;margin-bottom:12px;font-family:var(--font-mono)}.field-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field-row label{font-size:12px;font-weight:600;color:var(--text-dim)}.actions{display:flex;gap:8px;margin:8px 0 16px}.audit-table{width:100%;border-collapse:collapse;font-size:12px}.audit-table th,.audit-table td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--border)}.audit-table th{color:var(--text-dim);font-weight:600}.pf-gate{max-width:480px;margin:15vh auto;padding:0 16px;text-align:center}.hm-page{max-width:1320px;margin:0 auto;width:100%}.hm-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:10px 0 18px}.hm-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:34px;line-height:1;letter-spacing:.005em}.hm-sub{color:var(--text-dim);font-size:14px;margin:0}.hm-when{margin-left:auto;color:var(--text-dim);font-size:12.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.hm-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:26px}.hm-stat{display:flex;flex-direction:column;gap:6px;min-height:92px;padding:12px 14px 12px 16px;background:var(--panel);color:inherit;position:relative;transition:background-color .12s}.hm-stat:hover{background:var(--panel-2);color:inherit}.hm-stat:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 2px 2px 0;background:var(--border-strong)}.hm-stat.bad:before{background:var(--danger)}.hm-stat.warn:before{background:var(--warn)}.hm-stat.ok:before{background:var(--ok)}.hm-stat-label{font-size:12.5px;font-weight:600;color:var(--text-dim);line-height:1.25}.hm-stat-value{margin-top:auto;font-family:var(--font-display);font-weight:600;font-size:32px;line-height:1;letter-spacing:.01em;font-variant-numeric:tabular-nums}.hm-stat.quiet .hm-stat-value{color:var(--text-faint)}.hm-stat-unit{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-dim);margin-left:4px}.hm-section{margin:0 0 10px;font-size:15px;font-weight:600}.hm-dir{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.hm-card{display:grid;grid-template-columns:38px 1fr;column-gap:12px;padding:14px 16px 14px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;transition:border-color .12s,background-color .12s}.hm-card:hover{border-color:var(--accent);color:inherit}.hm-card-icon{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.hm-card-icon svg{width:20px;height:20px}.hm-card-title{margin:1px 0 3px;font-size:15.5px;font-weight:600;color:var(--text)}.hm-card-text{color:var(--text-dim);font-size:13px;line-height:1.4}.hm-foot{margin-top:18px;color:var(--text-dim);font-size:12.5px}.hm-board-loading{min-height:186px;background:var(--panel)}.ed-page{display:flex;flex:1;min-height:0}.ed-panel{width:400px;flex-shrink:0;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--border);min-height:0}.ed-scroll{flex:1;overflow-y:auto;padding:0 12px 24px}.ed-user{padding:8px 12px;border-bottom:1px solid var(--border)}.ed-tabs{display:flex;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.ed-tabs::-webkit-scrollbar{display:none}.ed-tab{flex:1 0 auto;white-space:nowrap;font:inherit;padding:8px 4px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-dim);cursor:pointer}.ed-tab.active{color:var(--text);border-bottom-color:var(--accent)}.ed-panel>.flash{margin:8px 12px 0;cursor:pointer}.ed-section{padding-top:10px}.ed-sub{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.ed-h{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.ed-note{font-size:12px;color:var(--text-dim)}.ed-focus{margin-top:10px;padding:6px 8px;border:1px dashed var(--border);border-radius:4px}.ed-row{display:flex;gap:6px;align-items:center}.ed-wrap{flex-wrap:wrap}.ed-grow{flex:1;min-width:0}.ed-small{padding:4px 8px;font-size:12px}.ed-block{display:block;width:100%;margin:6px 0}.ed-form{display:flex;flex-direction:column;gap:6px;margin-top:8px}.ed-new{margin-top:10px}.ed-fieldset{border:1px solid var(--border);border-radius:4px;padding:8px 10px 2px;margin:0}.ed-fieldset legend{font-size:11px;color:var(--text-dim);padding:0 4px;text-transform:uppercase;letter-spacing:.05em}.field-row .input{width:100%}.field-row.has-error .input{border-color:var(--danger)}.ed-error{color:var(--danger);font-size:12px}.ed-req{color:var(--accent)}.ed-tag{margin-left:6px;font-size:10px;padding:0 4px;border-radius:3px;border:1px solid var(--ok);color:var(--ok)}.ed-list-item{display:block;width:100%;text-align:left;font:inherit;color:var(--text);background:none;border:none;border-bottom:1px solid var(--border);padding:7px 6px;cursor:pointer}.ed-list-item:hover,.ed-list-item.active{background:var(--panel-2)}.ed-list-item.active{border-left:3px solid var(--accent)}.ed-link{font:inherit;font-size:12px;background:none;border:none;padding:0;color:var(--accent);cursor:pointer;text-align:left}.ed-link:disabled{color:var(--text-dim);cursor:default}.ed-entry{display:block;width:100%;padding:4px 0;color:var(--text)}.ed-entry:hover{color:var(--accent-hover)}.ed-badge{margin-left:6px;font-size:10px;padding:1px 6px;border-radius:8px;text-transform:uppercase;letter-spacing:.04em;background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim)}.ed-badge-qc_passed{color:var(--ok);border-color:var(--ok)}.ed-badge-posted{color:#60a5fa;border-color:#60a5fa}.ed-badge-abandoned{color:var(--danger);border-color:var(--danger)}.ed-cs-head{margin-bottom:8px}.ed-finding{padding:5px 6px;margin-bottom:4px;border-left:3px solid var(--border);background:var(--panel-2)}.ed-finding .ed-link{color:var(--text)}.ed-finding.ed-error{border-left-color:var(--danger)}.ed-finding.ed-warning{border-left-color:#f59e0b}.ed-finding .ed-row{margin-top:4px}.ed-edit{padding:4px 0;border-bottom:1px solid var(--border);font-size:13px}.ed-edit .ed-link{color:var(--text);font-size:13px}.ed-op{font-size:11px;font-weight:600;text-transform:uppercase}.ed-op-insert{color:var(--ok)}.ed-op-update{color:#60a5fa}.ed-op-delete{color:var(--danger)}.ed-diff{width:100%;font-size:11px;border-collapse:collapse;margin-top:3px}.ed-diff td{padding:1px 4px;color:var(--text-dim);word-break:break-all}.ed-diff .ed-old{color:#f87171;text-decoration:line-through}.ed-diff .ed-new{color:#4ade80}.ed-tools{display:flex;flex-wrap:wrap;gap:4px}.ed-tool{font:inherit;font-size:12px;padding:5px 9px;border-radius:4px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer}.ed-tool.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.ed-tool:disabled{opacity:.4;cursor:default}.ed-prompt{margin:8px 0;padding:6px 8px;border-radius:4px;background:var(--accent-soft);border:1px solid var(--accent-line);font-size:13px}.ed-inventory{max-height:220px;overflow-y:auto;margin:6px 0}.ed-summary{margin-bottom:10px;padding-left:8px;border-left:3px solid var(--border)}.ed-summary-h{font-weight:600;font-size:13px;margin-bottom:2px}.ed-tone-add{border-left-color:var(--ok)}.ed-tone-remove{border-left-color:var(--danger)}.ed-tone-change{border-left-color:#60a5fa}.ed-tone-flag{border-left-color:#f59e0b}.ed-reasons{font-size:11px;color:var(--text-dim)}.ed-legend{font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:6px}.ed-swatch{display:inline-block;width:18px;height:4px}.ed-swatch.ed-before{background:#f87171}.ed-swatch.ed-after{background:#4ade80}.ed-map-wrap{flex:1;min-width:0;position:relative}.ed-map{position:absolute;top:0;right:0;bottom:0;left:0}.ed-map-bar{position:absolute;left:10px;bottom:10px;display:flex;gap:12px;align-items:center;padding:5px 10px;border-radius:4px;background:var(--glass);border:1px solid var(--border);font-size:12px}.ab-scope{margin:6px 0 10px;font-weight:600}.ab-widen{margin:4px 0}.ab-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}.ab-action{font:inherit;font-size:13px;text-align:left;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);cursor:pointer}.ab-action:hover{border-color:var(--accent)}.ab-action.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel-2))}.ab-action.ab-admin{border-style:dashed}.ab-draw{margin-bottom:8px}.ab-check{display:flex;align-items:center;gap:8px;font-size:13px}.ab-summary{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:8px 10px;border-left:3px solid var(--accent);border-radius:4px;background:var(--panel-2)}.ab-summary.stale{opacity:.6}.ab-done{font-size:12px}.ed-tag-copied{border-color:#eab308;color:#eab308}.ed-diff tr.ed-copied td,.field-row.ed-copied{background:#eab3081a}.field-row.ed-copied{border-left:3px solid #eab308;padding-left:6px}.ed-copied-note{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-left:3px solid #eab308;border-radius:4px;background:#eab30814;font-size:12px}.ab-copied-rec{margin:6px 0;padding:6px 8px;border-left:3px solid #eab308;border-radius:4px;background:var(--panel-2)}.ab-copied-enter{display:flex;gap:4px}.ab-copied-enter .input{width:8em;min-width:0}.ab-classhca-line{margin:6px 0;padding:6px 8px;border-left:3px solid var(--border);border-radius:4px;background:var(--panel-2)}.ab-classhca-line.changed{border-left-color:var(--accent)}.pf-page{flex:1;min-width:0;height:100%;overflow:auto;padding:16px 20px 40px}.pf-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.pf-title{margin:0;font-family:var(--font-display);font-weight:600;font-size:27px;line-height:1;letter-spacing:.005em}.pf-head-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}.pf-section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:14px}.pf-section-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.pf-h2{font-size:15px;margin:0;font-weight:600}.pf-h3{font-size:13px;margin:10px 0 6px;font-weight:600;color:var(--text-dim)}.pf-tools{display:flex;gap:8px;align-items:center;margin-left:auto;flex-wrap:wrap}.pf-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}.pf-note{color:var(--text-dim);font-size:12px}.pf-missing{padding:10px 0}.pf-loading{padding:24px}.pf-mono{font-family:var(--font-mono);font-size:12px}.pf-small{padding:2px 8px!important;font-size:11px!important}.pf-table{width:100%;border-collapse:collapse;font-size:12px}.pf-table th,.pf-table td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--border);vertical-align:top}.pf-table th{color:var(--text-dim);font-weight:600;position:sticky;top:0;z-index:1;background:var(--panel);box-shadow:inset 0 -1px 0 var(--border)}.pf-table tr.pf-clickable{cursor:pointer}.pf-table tr.pf-clickable:hover,.pf-table tr.active{background:var(--panel-2)}.pf-table td.num,.pf-table th.num{text-align:right;font-variant-numeric:tabular-nums}.pf-scroll{max-height:420px;overflow:auto}.pf-badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid currentColor;white-space:nowrap}.pf-badge-ok{color:var(--ok)}.pf-badge-warn{color:var(--warn)}.pf-badge-bad{color:var(--danger)}.pf-badge-info{color:var(--info)}.pf-badge-dim{color:var(--text-dim)}.pf-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:12px;flex-wrap:wrap}.pf-tab{background:none;border:none;color:var(--text-dim);padding:7px 12px;margin-bottom:-1px;cursor:pointer;border-bottom:2px solid transparent;font:inherit;font-weight:600}.pf-tab:hover{color:var(--text)}.pf-tab.active{color:var(--text);border-bottom-color:var(--accent)}.pf-links{display:inline-flex;gap:8px;font-size:12px}.pf-attrs{display:grid;grid-template-columns:max-content 1fr;gap:2px 10px;margin:0;font-size:12px}.pf-attr{display:contents}.pf-attr dt{color:var(--text-dim)}.pf-attr dd{margin:0;word-break:break-word}.pf-picker,.pf-picked{position:relative;display:inline-flex;gap:6px;align-items:center}.pf-picker-list{position:absolute;top:100%;left:0;z-index:20;list-style:none;margin:2px 0 0;padding:4px 0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:320px;overflow:auto;min-width:280px}.pf-picker-list button{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text);padding:4px 10px;cursor:pointer;font:inherit}.pf-picker-list button:hover{background:var(--panel-2)}.pf-kpis{display:flex;gap:10px;flex-wrap:wrap}.pf-kpi{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius);padding:8px 12px;min-width:140px;color:inherit}.pf-kpi-label{font-size:12px;font-weight:600;color:var(--text-dim)}.pf-kpi-value{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.pf-kpi.ok{border-left-color:var(--ok)}.pf-kpi.warn{border-left-color:var(--warn)}.pf-kpi.bad{border-left-color:var(--danger)}.pf-svg-host{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:var(--radius);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pf-svg-host:active{cursor:grabbing}.pf-svg-host>svg{display:block;width:100%;height:100%}.pf-form{display:grid;grid-template-columns:max-content 1fr;gap:6px 10px;align-items:center;max-width:720px}.pf-form label{color:var(--text-dim);font-size:12px}.pf-sheet-handle,.pf-phone-only{display:none}.pf-auth{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(640px 420px at 50% -10%,var(--accent-soft),transparent 70%),var(--bg)}.pf-auth-card{width:100%;max-width:380px;padding:28px 28px 24px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.pf-auth-brand{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1;letter-spacing:.01em}.pf-auth-brand .brand-mark{width:32px;height:32px}.pf-auth-title{margin:4px 0 6px;font-size:17px}.pf-auth-sub{margin:0 0 18px;color:var(--text-dim);line-height:1.45}.pf-auth-form{display:flex;flex-direction:column;gap:12px}.pf-auth-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.pf-auth-field input{font:inherit;font-size:15px;color:var(--text);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 10px}.pf-auth-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pf-auth-form .flash{margin:0}.pf-auth-submit{padding:9px 12px;margin-top:4px}.pf-auth-alt{width:100%;margin-top:10px}.pf-auth-help{margin:14px 0 0;color:var(--text-dim);font-size:12px;line-height:1.45}.pf-auth-form .pf-auth-help{margin:0}.pf-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--scrim)}.pf-auth-inline{max-width:380px}.pf-user-link{font-size:12px}.pf-user-create{display:flex;flex-direction:column;gap:10px;max-width:760px}.pf-user-create .pf-checks,.pf-user-editing .pf-checks{grid-template-columns:repeat(3,minmax(0,1fr));margin:8px 0}.pf-user-actions{display:flex;flex-wrap:wrap;gap:4px}.pf-secret{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px;padding:12px 14px;border:1px solid var(--accent);border-radius:6px;background:var(--accent-soft)}.pf-secret-value{font-size:16px;letter-spacing:.04em;-webkit-user-select:all;user-select:all}.pf-strips{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.pf-strip{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-width:0}.pf-strip-head,.pf-strip-axis{display:flex;justify-content:space-between;gap:8px}.pf-strip-head{font-weight:600;margin-bottom:6px}.pf-strip-axis{font-size:11px;margin-top:4px}.pf-bars{display:flex;align-items:flex-end;gap:2px;height:56px;border-bottom:1px solid var(--border)}.pf-bar-slot{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end}.pf-bar{width:100%;background:var(--accent);border-radius:2px 2px 0 0}.pf-bar.zero{height:2px;background:var(--track)}.pf-events{list-style:none;margin:0;padding:0}.pf-events li{display:flex;flex-wrap:wrap;gap:4px 12px;padding:4px 0;border-bottom:1px solid var(--border)}.pf-events-when{min-width:11em;font-variant-numeric:tabular-nums}.pf-events-what{flex:1 1 14em;min-width:0}.ts-tools{display:flex;flex-direction:column;gap:6px}.ts-tool{border:1px solid var(--border);border-radius:6px;background:var(--panel)}.ts-tool-head{display:flex;align-items:baseline;gap:10px;width:100%;padding:8px 12px;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.ts-tool-name{font-weight:600;white-space:nowrap}.ts-tool-desc{flex:1}.ts-tool-body{display:flex;flex-direction:column;gap:12px;padding:4px 12px 12px}.ts-setting{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-left:3px solid var(--border);border-radius:4px;background:var(--panel-2)}.ts-setting.ts-own{border-left-color:var(--accent)}.ts-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.ts-map{width:auto;max-width:560px}.ts-check{display:flex;align-items:center;gap:6px}.as-suggest{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.as-form{display:flex;gap:8px;align-items:flex-end}.as-input{flex:1;min-width:0;resize:vertical}.as-error{margin-top:8px;color:var(--danger);font-size:12px}.as-turn{padding:10px 0;border-bottom:1px solid var(--border)}.as-turn:first-child{padding-top:0}.as-turn:last-child{border-bottom:none;padding-bottom:0}.as-q{font-weight:600;margin-bottom:6px}.as-callout{background:var(--panel-2);border-left:3px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim);font-size:12px;padding:6px 10px;margin-bottom:6px}.as-a{white-space:pre-wrap;overflow-wrap:anywhere}.as-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.as-chip{font-family:var(--font-mono);font-size:11px;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--text-dim)}.asb-page{max-width:1080px}.asb-lede{margin:0 0 12px;color:var(--text-dim)}.asb-usage{font-size:13px;color:var(--text-dim)}.asb-usage.spent{color:var(--danger)}.asb-steps{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0 0 14px;padding:0;color:var(--text-faint);font-size:14px}.asb-steps li{display:inline-flex;align-items:center;gap:6px}.asb-steps li.done{color:var(--text-dim)}.asb-steps li.current{color:var(--text);font-weight:600}.asb-step-n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--border-strong);font-size:12px}.asb-steps li.current .asb-step-n{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.asb-notice{margin-bottom:14px;padding:10px 14px;border:1px solid var(--accent-line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.asb-notice-title{margin:0 0 4px;font-size:14px}.asb-notice ul{margin:0;padding-left:18px}.asb-notice li+li{margin-top:2px}.asb-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.asb-option{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);min-width:0}.asb-option-title{margin:0;font-size:16px}.asb-option .pf-note{margin:0}.asb-files{align-self:stretch;list-style:none;margin:0;padding:0;font-size:13px}.asb-files li{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--border)}.asb-file-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.asb-file-role{color:var(--text-dim)}.asb-file-size{flex:none;color:var(--text-faint);font-variant-numeric:tabular-nums}.asb-drop{align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--panel-2);text-align:center}.asb-drop.over{border-color:var(--accent);background:var(--accent-soft)}.asb-map{position:relative;height:420px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);min-width:0}.asb-place-text{margin:10px 0}.asb-resting{margin:10px 0;padding:8px 12px;border-left:4px solid var(--warn);border-radius:var(--radius-sm);background:var(--panel-2)}.asb-limited{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.pf-map-page{display:flex;flex:1;min-width:0;min-height:0}.pf-map-side{width:340px;flex:0 0 340px;overflow:auto;border-right:1px solid var(--border);background:var(--panel);padding:10px 12px}.pf-map-wrap{position:relative;flex:1;min-width:0}.pf-map{width:100%;height:100%}.pf-side-toggle{display:none}.pf-map-bar{position:absolute;left:8px;bottom:24px;z-index:5;background:var(--glass);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px}.pf-legend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:11px;margin-top:6px}.pf-swatch{display:inline-block;width:14px;height:4px;margin-right:4px;vertical-align:middle;border-radius:1px}.pf-checks{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;font-size:12px}.pf-num{width:84px;text-align:right}.pf-stack{display:flex;flex-direction:column;gap:8px;padding:10px 0 14px;border-bottom:1px solid var(--border);margin-bottom:10px}.pf-rule{border-top:1px solid var(--border);padding-top:8px;margin-top:10px}.pf-group-head{display:flex;gap:10px;align-items:center;padding:6px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.pf-group-head:hover{color:var(--accent-hover)}.pf-steps{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.pf-step{font-size:12px;padding:2px 10px;border-radius:10px;border:1px solid var(--border);color:var(--text-dim)}.pf-step.active{border-color:var(--accent);color:var(--text)}.pf-map-grid{display:grid;grid-template-columns:max-content max-content 1fr;gap:4px 10px;align-items:center}.pf-chart{position:relative;width:100%}.pf-chart svg{display:block;width:100%;height:auto}.pf-chart .grid line{stroke:var(--svg-rule);stroke-width:1}.pf-chart .axis text{fill:var(--text-dim);font-size:11px}.pf-chart .band{fill:#ef444424}.pf-chart .criterion{stroke:#ef4444;stroke-width:1.5;stroke-dasharray:6 4}.pf-chart .criterion-label{fill:#fca5a5;font-size:11px}.pf-chart .series{fill:none;stroke-width:2;stroke-linejoin:round}.pf-chart .s-off,.pf-chart .s-polarized{stroke:#38bdf8}.pf-chart .s-on{stroke:#a3a3a3}.pf-chart .s-native{stroke:#a78bfa;stroke-dasharray:3 3}.pf-chart .ts-marker{stroke:#facc15;stroke-width:1;stroke-dasharray:2 3}.pf-chart .ts-label{fill:#facc15;font-size:10px}.pf-chart .ind{fill:#f97316;stroke:var(--panel);stroke-width:2}.pf-chart .crosshair{stroke:var(--text-dim);stroke-width:1}.pf-chart .dot{stroke:var(--panel);stroke-width:2}.pf-chart-tip{position:absolute;top:8px;pointer-events:none;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:12px;white-space:nowrap}.pf-legend-line{display:inline-block;width:18px;height:0;border-top:2px solid;vertical-align:middle;margin-right:4px}.pf-table td.pf-mono{white-space:nowrap}.lo-pct{position:relative;display:inline-block;width:80px;height:14px;background:var(--panel-2);border-radius:2px;vertical-align:middle}.lo-pct-bar{position:absolute;left:0;top:0;bottom:0;border-radius:2px;opacity:.55}.lo-pct-text{position:relative;font-size:11px;padding:0 4px}.lo-ok{background:#22c55e}.lo-warn{background:#f59e0b}.lo-bad{background:#ef4444}.lo-dim{background:#737373}.lo-station{border:1px solid var(--border);border-radius:4px;padding:8px}.sc-page{display:flex;flex:1;min-width:0;min-height:0}.sc-main{flex:1;min-width:0;display:flex;flex-direction:column;padding:16px 20px}.sc-host{flex:1;min-height:360px}.sc-side{width:340px;flex:0 0 340px;overflow:auto;border-left:1px solid var(--border);background:var(--panel);padding:12px}.sc-host [data-node-key],.sc-host [data-edge-key]{cursor:pointer}.sc-host .sc-selected{filter:drop-shadow(0 0 3px #f59e0b) drop-shadow(0 0 2px #f59e0b)}.sc-host polyline.sc-selected{stroke:#f59e0b!important}.rec-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 12px;padding:10px 0 12px;border-bottom:1px solid var(--border);margin-bottom:10px}.rec-field{display:flex;flex-direction:column;gap:2px}.rec-field.wide{grid-column:1 / -1}.rec-field .input{width:100%;box-sizing:border-box}.rec-actions{grid-column:1 / -1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rec-split{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.rec-map{height:420px;border:1px solid var(--border);border-radius:4px;position:relative}.rec-map-legend{position:absolute;left:8px;bottom:8px;z-index:1;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:11px}.rec-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 4px 0 8px;vertical-align:middle}.rec-dot.square{border-radius:1px}.pf-table tr.rec-fail td{background:#ef444414}.pf-chart .pt{stroke:var(--panel);stroke-width:1.5}.pf-chart .pt.fail{fill:#ef4444!important;stroke:#fecaca}.pf-chart .pt.sel{stroke:#facc15;stroke-width:3}.pf-chart .s-amps{stroke:#38bdf8}.pf-chart .s-volts{stroke:#a78bfa;stroke-dasharray:4 3}.pf-chart .off-mark{stroke:#ef4444;stroke-width:1;stroke-dasharray:2 2}.asof-strip{margin:6px 0 10px}.asof-strip-title{font-weight:600;font-size:12px;margin-bottom:2px}.asof-track{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:8px}.asof-track-label{font-size:11px;color:var(--muted, #94a3b8);text-align:right}.asof-track-svg{width:100%;height:16px;display:block}.asof-axis{fill:var(--border, #334155)}.asof-item{cursor:pointer;stroke:var(--panel, #0f172a);stroke-width:.5;vector-effect:non-scaling-stroke}.asof-item.sel{stroke:#facc15;stroke-width:2.5}.asof-scale{display:flex;justify-content:space-between}.asof-picked{margin:6px 0;padding:6px 8px;border:1px solid var(--border);border-radius:4px}.ra-grow{flex:1}.ra-check{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ra-actions{margin:8px 0}.ra-summary{margin:4px 0}.ra-rules td,.ra-fields td{vertical-align:middle}.ra-desc{max-width:340px}.ra-params{max-width:320px;color:var(--text-dim)}.ra-dim td{opacity:.55}.ra-cell-input{width:100%;min-width:120px}.ra-wide{width:100%;max-width:560px}.ra-num{width:90px}.ra-sql,.ra-sql-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ra-sql{white-space:pre-wrap;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:8px;max-height:260px;overflow:auto}.ra-sql-input{width:100%;max-width:720px}.ra-editor{border-top:1px solid var(--border);margin-top:8px;padding-top:10px}.ra-editor .pf-form+.pf-form{margin-top:6px}.ra-readonly{margin:8px 0}.ra-conds{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.ra-cond{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ra-and{width:28px}.ra-cond-value{min-width:140px}.ra-require{display:flex;flex-direction:column;gap:6px;padding:4px 0}.ra-report{margin-top:10px;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:10px;min-width:0}.ra-report-head{gap:8px}.ra-progress{display:flex;align-items:center;gap:10px}.ra-progress progress{width:220px}.ra-choices{border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:6px;padding:10px 12px}.ra-choice-list{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}.ra-hints{margin:4px 0 0;padding-left:18px}.ra-bytable{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.ra-chip{font-size:12px}.ra-report-body{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:12px;min-width:0}.ra-groups{min-width:0}.ra-crumbs{margin-bottom:6px;font-size:12px}.ra-groups-list{max-height:360px}.ra-map{height:380px;border:1px solid var(--border);border-radius:4px;position:relative;min-width:0}.ra-findings{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.ra-findings>.pf-scroll{width:100%}.md-route{margin-bottom:6px}.md-widen{margin:6px 0}.md-scope{margin:10px 0;display:flex;flex-direction:column;gap:4px}.md-cat{margin-top:12px}.md-count{color:var(--text);font-weight:600;margin-left:4px}.md-item{border:1px solid var(--border);border-radius:4px;padding:6px 8px;margin-bottom:6px;background:var(--panel-2)}.md-item.open{border-color:var(--accent-line)}.md-item-head{display:flex;align-items:center;gap:6px}.md-item-toggle{flex:1;min-width:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;background:none;border:none;padding:0;color:var(--text);font:inherit;text-align:left;cursor:pointer}.md-caret{color:var(--text-dim)}.md-label{font-weight:600}.md-size{font-size:12px;color:var(--text-dim)}.md-blocks{margin-top:2px}.md-rows{list-style:none;margin:6px 0 0;padding:0}.md-rows li{display:flex;gap:6px;align-items:center;justify-content:space-between;padding:3px 0;border-top:1px solid var(--border);font-size:12px}.md-rows li.active{color:#fde047}.md-row-text{min-width:0;overflow-wrap:anywhere}.md-row-tools{display:flex;gap:4px;flex-shrink:0}.cmp-pill{--st: var(--text-dim);display:inline-flex;align-items:center;gap:6px;padding:2px 9px;border:1px solid var(--st);border-radius:999px;background:color-mix(in srgb,var(--st) 10%,transparent);color:var(--text);font:inherit;font-size:12px;line-height:18px;white-space:nowrap;text-decoration:none}.cmp-pill-overdue{--st: var(--status-overdue)}.cmp-pill-no-record{--st: var(--status-no-record)}.cmp-pill-undetermined{--st: var(--status-undetermined)}.cmp-pill-due-soon{--st: var(--status-due-soon)}.cmp-pill-not-yet-due{--st: var(--status-not-yet-due)}.cmp-pill-met{--st: var(--status-met)}.cmp-pill-not-applicable{--st: var(--status-not-applicable)}.cmp-pill-dot{width:8px;height:8px;border-radius:50%;background:var(--st);flex-shrink:0}.cmp-pill-label:empty{display:none}.cmp-pill-count{font-weight:700}.cmp-pill.zero{opacity:.45}a.cmp-pill:hover,button.cmp-pill:hover{background:color-mix(in srgb,var(--st) 22%,transparent);color:var(--text)}button.cmp-pill{cursor:pointer}button.cmp-pill.active{background:color-mix(in srgb,var(--st) 35%,transparent);opacity:1;box-shadow:inset 0 0 0 1px var(--st)}.cmp-pills{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.cmp-totals .cmp-pill{font-size:14px;padding:4px 12px}.cmp-intro{margin:-4px 0 12px}.cmp-programs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:14px}.cmp-programs .cmp-program{margin-bottom:0;display:flex;flex-direction:column;gap:8px}.cmp-program .pf-section-head{margin-bottom:0}.cmp-program-total{margin-left:auto;font-size:13px}.cmp-program-desc{flex:1}.cmp-off-list,.cmp-gap-list{list-style:none;margin:0;padding:0}.cmp-off-list li,.cmp-gap-list li{padding:6px 0;border-top:1px solid var(--border)}.cmp-off-list li:first-child,.cmp-gap-list li:first-child{border-top:none}.cmp-gaps{margin:10px 0 14px;border:1px solid var(--border);border-radius:6px;padding:8px 12px;background:var(--panel)}.cmp-gaps summary{cursor:pointer;font-weight:600}.cmp-gap-list{max-height:420px;overflow:auto;margin-top:8px}.cmp-cite{background:none;border:none;padding:0;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--accent);cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px}.cmp-cite:hover{color:var(--accent-hover)}.cmp-cite-plain{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-dim)}.cmp-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.cmp-req-select{max-width:340px}.cmp-search{min-width:220px}.cmp-status-filter{display:flex;margin-bottom:12px}.cmp-toggle{display:inline-flex}.cmp-toggle .button{border-radius:0}.cmp-toggle .button:first-child{border-radius:4px 0 0 4px}.cmp-toggle .button:last-child{border-radius:0 4px 4px 0}.cmp-toggle .button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cmp-map{position:relative;height:460px;border:1px solid var(--border);border-radius:6px;margin-bottom:14px;min-width:0}.cmp-map-legend{max-width:calc(100% - 16px)}.cmp-list td{vertical-align:top}.cmp-due{white-space:nowrap}.cmp-late{color:var(--status-overdue)}.cmp-req,.cmp-why{max-width:320px}.cmp-chips{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:2px}.cmp-chip{display:inline-block;padding:0 6px;border-radius:3px;border:1px dashed var(--status-undetermined);color:var(--text);font-size:11px;white-space:nowrap}.cmp-pager{margin-top:8px}.cmp-drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(520px,100vw);display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--border);box-shadow:var(--shadow-lg)}.cmp-drawer-head{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.cmp-drawer-title{flex:1;min-width:0;font-weight:600}.cmp-drawer-body{flex:1;overflow:auto;padding:12px 14px 24px;overscroll-behavior:contain}.cmp-detail{display:flex;flex-direction:column;gap:8px}.cmp-detail-title{margin:0;font-size:15px}.cmp-reason{margin:0}.cmp-detail-links{font-size:13px}.cmp-desc{margin:4px 0;color:var(--text);line-height:1.45}.cmp-howto{border-left:3px solid var(--accent);background:var(--accent-soft);padding:8px 10px;border-radius:4px;line-height:1.45}.cmp-cfr{line-height:1.5;font-size:13px}.cmp-cfr p{margin:0 0 8px}.cmp-cfr-h{margin:4px 0 10px;font-size:15px}.cmp-cfr h4.cmp-cfr-h{font-size:13px}.cmp-cfr blockquote{margin:0 0 8px;padding-left:10px;border-left:3px solid var(--border);color:var(--text-dim)}.cmp-cfr ul,.cmp-cfr ol{margin:0 0 8px;padding-left:20px}.cmp-cfr-table{overflow-x:auto;margin:0 0 10px}.cmp-cfr-link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.cmp-catalogue{max-height:560px}.cmp-req-panel{display:flex;flex-direction:column;gap:8px}.cmp-req-form,.cmp-setting-form{border-top:1px solid var(--border);padding-top:10px}.cmp-months{margin:4px 0}.cmp-dry-items{display:flex;flex-direction:column;gap:8px}.cmp-call{border:1px solid var(--border);border-left:3px solid var(--status-due-soon);border-radius:4px;padding:8px 12px;margin-bottom:10px;background:var(--panel-2)}.cmp-call.decided{border-left-color:var(--status-met)}.cmp-call p{margin:6px 0;line-height:1.45}.cmp-reading{color:var(--text)}.cmp-options{display:flex;flex-direction:column;gap:4px;margin:8px 0}.cmp-option{display:flex;gap:8px;align-items:flex-start;padding:4px 6px;border-radius:4px;cursor:pointer;line-height:1.4}.cmp-option.active{background:var(--accent-soft)}.cmp-option input{margin-top:3px}.cmp-json{max-width:360px;overflow-wrap:anywhere}.wg-dock{position:absolute;top:10px;left:10px;z-index:6;display:flex;flex-direction:column;gap:8px;max-height:calc(100% - 52px);width:344px;max-width:calc(100% - 64px);pointer-events:none}.wg-bar,.wg-card{pointer-events:auto}.wg-bar{display:flex;flex-wrap:wrap;gap:2px;align-self:flex-start;padding:3px;background:var(--glass);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wg-toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;font:inherit;font-size:12px;color:var(--text-dim);background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;white-space:nowrap}.wg-toggle:hover{color:var(--text);background:var(--panel-2)}.wg-toggle.on{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.wg-toggle.on:hover{background:var(--accent-hover)}.wg-toggle:focus-visible,.wg-card-title:focus-visible,.wg-close:focus-visible,.wg-seg:focus-visible{outline:2px solid var(--accent-hover);outline-offset:1px}.wg-icon{flex:0 0 auto;display:block}.wg-stack{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;padding-right:2px}.wg-card{background:var(--glass-strong);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow);flex:0 0 auto}.wg-card-head{display:flex;align-items:center;border-bottom:1px solid var(--border)}.wg-card.collapsed .wg-card-head{border-bottom-color:transparent}.wg-card-title{flex:1;display:flex;align-items:center;gap:6px;padding:7px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--text);background:none;border:0;text-align:left;cursor:pointer}.wg-card-title .wg-icon{color:var(--accent)}.wg-caret{margin-left:auto;color:var(--text-dim);font-size:11px}.wg-close{padding:4px 10px;font:inherit;font-size:16px;line-height:1;color:var(--text-dim);background:none;border:0;cursor:pointer}.wg-close:hover{color:var(--text)}.wg-card-body{padding:8px 10px 10px}.wg-panel{display:flex;flex-direction:column;gap:6px;font-size:12px}.wg-route{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wg-route .pf-picker{flex:1;min-width:0}.wg-route-name{font-weight:600;font-size:13px}.wg-hint{width:100%}.wg-foot{margin-top:2px;font-size:11px}.wg-warn{color:#f59e0b}.wg-legend{margin-top:0}.wg-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:middle;border:1px solid #0b0b0b}.wg-dot.wg-ring{background:#ef444426;border:2px solid #ef4444}.wg-table{font-size:11px}.wg-dim td{color:var(--text-dim)}.wg-check{display:block}.wg-input{flex:1;min-width:0;padding:3px 6px;font-size:12px}.wg-links{display:flex;align-items:center;gap:10px}.wg-result{padding:6px 8px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:4px;background:var(--panel-2)}.wg-crumbs{display:flex;flex-wrap:wrap;gap:4px;font-size:12px;color:var(--text-dim);margin-bottom:4px}.wg-crumbs b{color:var(--text)}.wg-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:2px 10px;margin:0;font-size:12px}.wg-dl>div{display:contents}.wg-dl dt{color:var(--text-dim)}.wg-dl dd{margin:0}.wg-seg-group{display:inline-flex;align-self:flex-start;border:1px solid var(--border);border-radius:4px;overflow:hidden}.wg-seg-btn{display:inline-flex;align-items:center;gap:2px;padding:3px 9px;font:inherit;font-size:12px;color:var(--text-dim);background:var(--panel-2);border:0;border-right:1px solid var(--border);cursor:pointer}.wg-seg-btn:last-child{border-right:0}.wg-seg-btn.on{color:var(--text);background:var(--panel-3);box-shadow:inset 0 -2px 0 var(--accent)}.wg-chart .pf-chart{margin:0}.wg-flow{margin:4px 0 2px}.wg-flow-ends,.wg-flow-stations{display:flex;justify-content:space-between;gap:8px;font-size:11px}.wg-flow-ends span{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:48%}.wg-flow-stations{color:var(--text-dim)}.wg-flowbar{position:relative;height:22px;margin:3px 0;border-radius:11px;background:var(--track);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}.wg-flowpiece{position:absolute;top:0;bottom:0;background-color:var(--flow);background-repeat:repeat-x;background-position:0 50%;background-size:22px 16px}.wg-flowpiece+.wg-flowpiece{box-shadow:inset 1px 0 #00000059}.wg-flowpiece.wg-override{background-color:var(--flow-strong)}.wg-dir-forward{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'%3E%3Cpath d='M8 3.5l5 4.5-5 4.5' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");animation:wg-flow-fwd .55s linear infinite}.wg-dir-reverse{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='16' viewBox='0 0 22 16'%3E%3Cpath d='M14 3.5l-5 4.5 5 4.5' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");animation:wg-flow-rev .55s linear infinite}.wg-dir-bidirectional{background-size:30px 16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='16' viewBox='0 0 30 16'%3E%3Cpath d='M10 4l-4 4 4 4M20 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@keyframes wg-flow-fwd{0%{background-position:0 50%}to{background-position:22px 50%}}@keyframes wg-flow-rev{0%{background-position:0 50%}to{background-position:-22px 50%}}@media (prefers-reduced-motion: reduce){.wg-flowpiece{animation:none}}.wg-flow-summary{display:flex;align-items:baseline;gap:6px}.wg-dir-badge{font-size:15px;font-weight:700;color:var(--accent)}.wg-tracks{display:flex;flex-direction:column;gap:4px;margin:4px 0}.wg-track{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:6px}.wg-track-label{font-size:11px;color:var(--text-dim);text-align:right}.wg-track-bar{position:relative;height:16px;border-radius:3px;background:repeating-linear-gradient(135deg,var(--track) 0 4px,var(--track-2) 4px 8px);box-shadow:inset 0 0 0 1px var(--border);overflow:hidden}ul.wg-track-bar{list-style:none;margin:0;padding:0}.wg-seg-li{display:contents}.wg-seg-static{cursor:default}.wg-track-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-dim)}.wg-seg{position:absolute;top:0;bottom:0;padding:0;border:0;box-shadow:inset -1px 0 #00000073;cursor:pointer}.wg-seg:hover{filter:brightness(1.2);box-shadow:inset 0 0 0 1.5px #fff}.wg-ticks{position:relative;height:14px;font-size:10px;color:var(--text-dim)}.wg-ticks span{position:absolute;transform:translate(-50%);white-space:nowrap}.wg-ticks span:first-child{transform:none}.wg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.wg-stat{padding:4px 6px;border:1px solid var(--border);border-radius:4px;background:var(--panel-2)}.wg-stat-label{font-size:10px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wg-stat-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.wg-analysis .pf-h3{margin-top:4px}.wg-proposals{margin:2px 0 0;padding-left:16px}.wg-card.wg-light{--text: #1f2933;--text-dim: #5c6773;--border: #e3e6ea;--panel-2: #f1f3f5;--wgx-ink: #1f2933;--wgx-muted: #5c6773;--wgx-line: #e3e6ea;--wgx-navy: #1d2b3a;--wgx-warn: #9a6700;--wgx-red: #c0392b;--wgx-blue: #1769e0;--wgx-hca: #a3127f;background:#fff;color:var(--wgx-ink);border-color:#d5dae0;box-shadow:0 8px 24px #10182847}.wg-card.wg-light .wg-card-head{border-bottom-color:var(--wgx-line)}.wg-card.wg-light .wg-card-title .wg-icon{color:var(--wgx-navy)}.wg-card.wg-light .wg-card-body{padding:10px 14px 14px;font-size:12.5px}.wg-card.wg-light .button.secondary{background:#fff;color:var(--wgx-ink);border-color:var(--wgx-line)}.wg-card.wg-light .button.secondary:hover{background:#f1f3f5}.wg-card.wg-light input,.wg-card.wg-light select,.wg-card.wg-light .input{background:#fff;color:var(--wgx-ink);border:1px solid var(--wgx-line);border-radius:6px}.wg-card.wg-light .flash.err{background:#fdecea}.wgx{display:flex;flex-direction:column;font-size:12.5px;color:var(--wgx-ink)}.wgx-head{display:flex;align-items:baseline;gap:8px}.wgx-title{font-size:15px;font-weight:700}.wgx-sub{flex:1;color:var(--wgx-muted);font-size:11.5px}.wgx-label{display:flex;align-items:center;gap:6px;margin:14px 0 6px;font-size:10.5px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--wgx-muted)}.wgx-seg{display:flex;gap:2px;padding:3px;border-radius:8px;background:#f1f3f5}.wgx-seg button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 4px;font:inherit;font-size:12px;font-weight:500;color:var(--wgx-muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .12s}.wgx-seg button[aria-checked=true]{font-weight:600;color:var(--wgx-ink);background:#fff;box-shadow:0 1px 2px #1018281f,0 0 0 1px #1018280f}.wgx-seg button:disabled{cursor:not-allowed;opacity:.55}.wgx-seg button:focus-visible,.wgx-btn:focus-visible,.wgx-arm:focus-visible,.wgx-change:focus-visible,.wgx-pill:focus-visible{outline:2px solid var(--wgx-blue);outline-offset:1px}.wgx-swatch-dot{flex:none;width:9px;height:9px;border-radius:5px;box-shadow:0 0 0 1.5px #0000001f}.wgx-arm{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:9px 12px;font:inherit;font-size:13px;font-weight:600;color:#fff;background:var(--wgx-navy);border:1px solid transparent;border-radius:8px;cursor:pointer}.wgx-arm[aria-pressed=true]{color:var(--wgx-navy);background:#fff;border-color:var(--wgx-navy)}.wgx-arm:disabled{opacity:.55;cursor:default}.wgx-pulse{width:8px;height:8px;border-radius:4px;background:#e5484d;animation:wgx-pulse 1.2s ease-in-out infinite}@keyframes wgx-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.wgx-pulse{animation:none}}.wgx-btn{padding:5px 12px;font:inherit;font-size:12px;font-weight:600;color:var(--wgx-ink);background:#fff;border:1px solid var(--wgx-line);border-radius:6px;cursor:pointer}.wgx-btn:hover{background:#f6f7f9}.wgx-btn.primary{color:#fff;background:var(--wgx-navy);border-color:var(--wgx-navy)}.wgx-btn.primary:hover{background:#2b3e52}.wgx-btn[aria-pressed=true]{color:#fff;background:var(--wgx-navy);border-color:var(--wgx-navy)}.wgx-btn:disabled{opacity:.5;cursor:default}.wgx-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.wgx-card{margin-top:14px;padding:10px 12px;border:1px solid var(--wgx-line);border-radius:8px}.wgx-card-name{font-size:14px;font-weight:700;word-break:break-word}.wgx-card-sub{margin-bottom:6px;color:var(--wgx-muted);font-size:11.5px}.wgx-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid var(--wgx-line)}.wgx-row>span:first-child{color:var(--wgx-muted)}.wgx-row>span:last-child{font-weight:600;text-align:right}.wgx-note{margin-top:6px;color:var(--wgx-warn);font-size:11.5px}.wgx-muted{color:var(--wgx-muted);font-size:11.5px;line-height:1.5}.wgx-help{margin-top:16px}.wgx-busy{margin-top:14px;color:var(--wgx-muted)}.wgx-alert{margin-top:12px;padding:7px 10px;border:1px solid #f0c36d;border-radius:6px;background:#fff8e6;color:#7a5200;font-size:12px}.wgx-alert.err{border-color:#f1a8a2;background:#fdecea;color:#9b1c12}.wgx-grid2{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.wgx-field{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--wgx-muted);font-size:11.5px}.wgx-field input,.wgx-field select{width:100%;box-sizing:border-box;padding:5px 7px;font:inherit;font-size:12.5px}.wgx-inline{display:flex;align-items:center;gap:6px}.wgx-inline input{flex:1;min-width:0;padding:5px 7px;font:inherit;font-size:12.5px}.wgx-table{width:100%;border-collapse:collapse;font-size:12px}.wgx-table th{padding:4px 6px;text-align:left;font-weight:600;color:var(--wgx-muted);border-bottom:1px solid var(--wgx-line);white-space:nowrap}.wgx-table td{padding:4px 6px;border-top:1px solid var(--wgx-line);vertical-align:top}.wgx-table td.num,.wgx-table th.num{text-align:right;font-variant-numeric:tabular-nums}.wgx-table tr.wgx-click{cursor:pointer}.wgx-table tr.wgx-click:hover td{background:#f4f7fb}.wgx-kv td:first-child{width:38%;color:var(--wgx-muted);white-space:nowrap}.wgx-kv td:last-child{-webkit-user-select:all;user-select:all}.wgx-empty{color:#aab2bb}.wgx-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:11px;color:var(--wgx-muted)}.wgx-legend>span{display:inline-flex;align-items:center;gap:4px}.wgx-legend.col{flex-direction:column;margin-top:0}.wgx-step{margin-top:10px;padding-top:8px;border-top:1px solid var(--wgx-line)}.wgx-step.off{opacity:.45}.wgx-step-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#555}.wgx-step-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:9px;background:#444;color:#fff;font-size:11px}.wgx-start{margin-top:8px;padding:4px 8px;border-radius:4px;background:#2e7dd114}.wgx-check{display:flex;align-items:center;gap:6px;margin-top:8px}.wgx-pill{flex:none;align-self:center;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font:inherit;font-size:11.5px;font-weight:600;color:var(--wgx-ink);background:#fff;border:1px solid var(--wgx-line);border-radius:12px;cursor:pointer}.wgx-pill[aria-expanded=true]{color:var(--wgx-blue);background:#eef4fe;border-color:var(--wgx-blue)}.wgx-pop{margin-top:8px;padding:10px 12px;border:1px solid var(--wgx-line);border-radius:10px;background:#fff;box-shadow:0 8px 24px #1018282e}.wgx-pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:700}.wgx-x{padding:0;font-size:14px;line-height:1;color:var(--wgx-muted);background:transparent;border:none;cursor:pointer}.wgx-info{width:16px;height:16px;padding:0;font-size:10.5px;font-weight:700;line-height:14px;color:var(--wgx-muted);background:#fff;border:1px solid #9aa4af;border-radius:8px;cursor:pointer}.wgx-info[aria-expanded=true]{color:#fff;background:var(--wgx-blue);border-color:var(--wgx-blue)}.wgx-helpbox{margin-top:6px;padding:8px 10px;font-size:11.5px;line-height:1.45;border:1px solid #dbe4f0;border-radius:8px;background:#f4f7fb}.wgx-change{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:4px;padding:7px 8px;font:inherit;font-size:12px;text-align:left;color:var(--wgx-ink);background:#fff;border:1px solid var(--wgx-line);border-radius:8px;cursor:pointer;transition:background .12s,box-shadow .12s}.wgx-change[aria-pressed=true]{background:#eef4fe;border-color:var(--wgx-blue);box-shadow:0 0 0 3px #1769e026}.wgx-change-main{min-width:0}.wgx-change-cause{margin-top:2px;color:var(--wgx-muted);font-size:11.5px}.wgx-change-side{flex:none;text-align:right;font-size:11.5px;color:var(--wgx-muted)}.wgx-group{display:flex;justify-content:space-between;margin-top:12px;padding-bottom:3px;font-size:11.5px;font-weight:700;border-bottom:2px solid var(--wgx-navy)}.wgx-group span:last-child{font-weight:500}.wgx-sw{display:inline-block;height:10px;margin-right:6px;border-radius:2px;vertical-align:-1px}.wgx-whatif{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:end}.wgx-red{color:var(--wgx-red)}.wgx-hca{color:var(--wgx-hca)}.wgx-warn{color:var(--wgx-warn)}.wgx-link{padding:0;font:inherit;color:var(--wgx-blue);background:none;border:none;text-decoration:underline;cursor:pointer}.wgx details summary{cursor:pointer}.wgx-scroll{overflow-x:auto}.wg-light .wg-flowbar{background:#e3e6ea;box-shadow:inset 0 0 0 1px #10182814}.wg-light .wg-flowpiece{background-color:#fff}.wg-light .wg-flowpiece.wg-override{background-color:#fff4d6}.wgx-popup .maplibregl-popup-content{max-height:340px;overflow-y:auto;padding:10px 12px;color:#1f2933;font-size:12px;line-height:1.35}.wgx-popup-title{margin-bottom:6px;padding-right:14px;font-weight:700}.wgx-popup table{border-collapse:collapse;width:100%}.wgx-popup td{padding:2px 0;vertical-align:top}.wgx-popup td:first-child{padding-right:8px;color:#5c6773;white-space:nowrap}.wgx-popup td:last-child{font-weight:600;word-break:break-word}.wgx-popup .wgx-y-red{color:#c0392b}.wgx-popup .wgx-y-hca{color:#a3127f}@media (min-width: 761px) and (max-width: 1100px){.pf-page{padding:14px 16px 32px}.pf-map-side{width:290px;flex-basis:290px}.ed-panel{width:340px}.sc-side{width:280px;flex-basis:280px}.sidebar{width:270px}.detail-panel{width:300px}.wg-dock{width:320px}.pf-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (min-width: 761px) and (max-width: 1100px){@media (pointer: coarse){.button,.input,select,.pf-tab,.nav-link,.ed-tab,.ed-tool,.wg-toggle{min-height:var(--touch)}}}@media (max-width: 760px){html,body{overflow-x:hidden}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.app{height:100dvh;width:100%;overflow:clip}.topbar{flex-wrap:wrap;align-items:center;gap:0 8px;min-height:0;padding:var(--safe-top) calc(10px + var(--safe-right)) 0 calc(10px + var(--safe-left))}.brand{display:inline-flex;align-items:center;min-height:var(--touch)}.subtitle{display:none}.topbar-tools{order:1;min-width:0}.pf-user-btn{max-width:160px}.pf-user-menu{position:fixed;top:calc(var(--safe-top) + 50px);right:calc(8px + var(--safe-right));width:min(320px,calc(100vw - 16px));max-height:70dvh;overflow-y:auto}.nav{order:2;flex:0 0 auto;width:calc(100% + 20px + var(--safe-left) + var(--safe-right));margin:0 calc(-10px - var(--safe-right)) 0 calc(-10px - var(--safe-left));padding:0 calc(6px + var(--safe-right)) 0 calc(6px + var(--safe-left));flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav-link{flex:0 0 auto;display:inline-flex;align-items:center;white-space:nowrap;padding:0 11px;font-size:14px}.nav-link.active:after{left:11px;right:11px;bottom:0}.pf-legacy-menu{position:fixed;top:auto;left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));max-height:60dvh;overflow-y:auto;z-index:60;box-shadow:var(--shadow-lg)}.button,.input,.nav-link,.pf-tab,.pf-legacy-btn,.pf-picker-list button,.view-toggle-btn,.ed-tab,.ed-tool,.ab-action,.ed-list-item,.list-item,.wg-toggle,.wg-card-title,.wg-close,.wg-seg-btn,.wgx-btn,.wgx-seg button,.wgx-pill,.wgx-arm,.wgx-change,.pf-sheet-handle,.pf-side-toggle,.ed-link,input[type=file],select{min-height:var(--touch)}summary{padding-block:12px}.maplibregl-map .maplibregl-ctrl-group button{width:var(--touch);height:var(--touch)}.pf-small{min-height:var(--touch);padding:2px 12px!important}a.button{display:inline-flex;align-items:center}.wg-close{min-width:var(--touch)}.input,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px;max-width:100%}input[type=checkbox],input[type=radio]{width:20px;height:20px;vertical-align:middle}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:6px;min-height:var(--touch)}.pf-page{padding:12px calc(12px + var(--safe-right)) calc(32px + var(--safe-bottom)) calc(12px + var(--safe-left));overscroll-behavior:contain}.pf-head{gap:8px}.pf-title{font-size:17px}.pf-head-tools{margin-left:0;width:100%;min-width:0}.pf-head-tools>select.input,.pf-tools>select.input,.pf-row>select.input{flex:1 1 160px;min-width:0}.pf-section{padding:10px;margin-bottom:10px;min-width:0}.pf-section-head{flex-wrap:wrap;gap:6px 10px}.pf-tools{margin-left:0;min-width:0;max-width:100%}.pf-row>*,.pf-tools>*,.pf-head-tools>*{max-width:100%}.pf-grid{grid-template-columns:minmax(0,1fr);gap:10px}.pf-kpi{flex:1 1 140px;min-width:0}.pf-kpi-value{font-size:20px}.pf-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-left:calc(-12px - var(--safe-left));margin-right:calc(-12px - var(--safe-right));padding:0 calc(12px + var(--safe-right)) 0 calc(12px + var(--safe-left))}.pf-tabs::-webkit-scrollbar{display:none}.pf-tab{flex:0 0 auto;white-space:nowrap;padding:0 14px}.pf-table:not(.pf-scroll .pf-table){display:block;width:max-content;min-width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.pf-scroll{max-height:60dvh;-webkit-overflow-scrolling:touch}.pf-table th{white-space:nowrap}.pf-table th,.pf-table td{padding:6px 8px}.pf-form{grid-template-columns:minmax(0,1fr);gap:4px;max-width:100%}.pf-form>*{min-width:0}.pf-form>label{margin-top:6px}.pf-form .input,.pf-form textarea,.pf-form select{width:100%}.pf-picker,.pf-picked{display:flex;flex-wrap:wrap;max-width:100%}.pf-picker .input{flex:1 1 auto;min-width:0}.pf-picker-list{min-width:0;width:max(100%,240px);max-width:calc(100vw - 24px);max-height:50dvh}.pf-attrs{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}.pf-chart-tip{white-space:normal;max-width:70vw}.pf-num{width:96px}.rec-form{grid-template-columns:minmax(0,1fr)}.rec-map{height:55dvh}.asof-track{grid-template-columns:80px minmax(0,1fr)}.pf-phone-only{display:revert}.pf-desktop-only{display:none}.ed-row.pf-phone-only{display:flex}.pf-sheet-handle{display:flex;flex:0 0 auto;align-items:center;gap:10px;width:100%;padding:0 14px;font:inherit;font-size:13px;font-weight:600;color:var(--text);background:none;border:0;border-bottom:1px solid var(--border);cursor:pointer}.pf-sheet-grip{width:36px;height:4px;border-radius:2px;background:#555}.pf-sheet-label{flex:1;text-align:left}.pf-map-page{position:relative}.pf-map-side{position:absolute;z-index:20;top:0;bottom:0;left:0;width:var(--drawer-w);padding-bottom:calc(10px + var(--safe-bottom));transform:translate(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s;box-shadow:2px 0 12px #00000080;overscroll-behavior:contain}.pf-map-side.open{transform:none;visibility:visible}.pf-map-side{display:flex;flex-direction:column}.pf-map-side>*{flex-shrink:0}.pf-map-side>.pf-map-result{order:-1;margin-top:0!important}.pf-map-side>.pf-title{order:-2}.pf-side-toggle{display:block;position:absolute;z-index:21;top:112px;right:10px;padding:0 16px;border-radius:22px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:14px;box-shadow:0 2px 8px #0006}.pf-side-toggle[aria-expanded=true]{right:auto;left:calc(var(--drawer-w) + 4px);width:var(--touch);padding:0}.pf-map-side.open~.pf-map-wrap .wg-stack{visibility:hidden}.pf-checks{grid-template-columns:minmax(0,1fr)}.pf-checks label{min-height:var(--touch)}.wg-dock{display:contents}.wg-bar{position:absolute;z-index:6;top:10px;left:10px;max-width:calc(100% - 66px);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.wg-bar::-webkit-scrollbar{display:none}.wg-toggle{flex:0 0 auto;justify-content:center;min-width:var(--touch)}.wg-toggle span{display:none}.wg-stack{position:absolute;z-index:7;left:0;right:0;bottom:0;max-height:58%;gap:6px;padding:8px calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left));pointer-events:auto;background:var(--glass);border-top:1px solid var(--border);border-radius:12px 12px 0 0;overscroll-behavior:contain}.wgx-whatif{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wgx-row{flex-wrap:wrap;row-gap:2px}.wgx-row>span:last-child{margin-left:auto;min-width:0;overflow-wrap:anywhere}.wgx-seg button{white-space:normal;line-height:1.2}.wgx-popup .maplibregl-popup-content{max-height:45dvh}.ed-page{position:relative;flex-direction:column;overflow:clip}.ed-map-wrap{flex:1}.ed-panel{--sheet-peek: calc(2 * var(--touch) + 4px);position:absolute;z-index:20;left:0;right:0;bottom:0;width:auto;height:var(--sheet-open);padding-bottom:var(--safe-bottom);border-right:0;border-top:1px solid var(--border);border-radius:12px 12px 0 0;box-shadow:0 -4px 16px #00000080;transform:translateY(calc(100% - var(--sheet-peek) - var(--safe-bottom)));transition:transform .2s ease}.ed-panel.open{transform:none}.ed-panel>.pf-sheet-handle{order:-2}.ed-tabs{order:-1}.ed-panel>.flash{position:absolute;left:8px;right:8px;bottom:100%;margin:0 0 8px;box-shadow:0 2px 8px #00000080;background:var(--panel)}.ed-panel>.flash.ok{background:color-mix(in srgb,var(--ok) 14%,var(--panel))}.ed-panel>.flash.err{background:color-mix(in srgb,var(--danger) 14%,var(--panel))}.ed-map-bar{top:10px;bottom:auto;right:56px;flex-wrap:wrap;gap:4px 12px}.ed-inventory{max-height:30dvh}.ed-tab{padding-inline:2px;font-size:13px}.ab-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-action{font-size:14px}.ed-diff td{word-break:break-word}.sc-page{position:relative;flex-direction:column}.sc-main{padding:10px calc(12px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(12px + var(--safe-left));min-height:0}.sc-host{min-height:0}.sc-side{position:absolute;z-index:20;left:0;right:0;bottom:0;width:auto;max-height:55%;padding:0 12px calc(12px + var(--safe-bottom));border-left:0;border-top:1px solid var(--border);border-radius:12px 12px 0 0;box-shadow:0 -4px 16px #00000080;transform:translateY(100%);visibility:hidden;transition:transform .2s ease,visibility .2s;overscroll-behavior:contain}.sc-side.open{transform:none;visibility:visible}.sc-side>.pf-sheet-handle{position:sticky;top:0;margin:0 -12px 8px;width:calc(100% + 24px);background:var(--panel)}:has(>.sidebar){flex-direction:column}.sidebar{width:auto;flex:0 0 auto;max-height:42dvh;border-right:0;border-bottom:1px solid var(--border)}.detail{flex-direction:column;overflow-y:auto}.detail-panel{width:auto;flex:0 0 auto;border-right:0;border-bottom:1px solid var(--border)}.detail>.map{flex:0 0 50dvh}.lg-cols{flex-direction:column}.lg-cols>*{width:auto!important;min-width:0!important;max-width:none!important}}@media (max-width: 760px){.pf-auth{align-items:flex-start;padding:calc(24px + var(--safe-top)) calc(12px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(12px + var(--safe-left))}.pf-auth-card{padding:22px 18px 18px;box-shadow:none}.pf-auth-field input,.pf-user-create .input{font-size:16px;min-height:var(--touch)}.pf-auth-submit{width:100%;min-height:var(--touch)}.pf-user-create .pf-row{flex-direction:column;align-items:stretch}.pf-secret-value{word-break:break-all}.ts-tool-head{flex-wrap:wrap;min-height:var(--touch)}.ts-tool-desc{flex-basis:100%;order:3}.ts-choices{grid-template-columns:minmax(0,1fr)}.ts-map{max-width:none}.ts-setting .pf-row .button,.ts-page .pf-head-tools .input{min-height:var(--touch)}.ed-copied-note{flex-direction:column;align-items:stretch}.ab-copied-fields tr{display:flex;flex-wrap:wrap}.ab-copied-enter{flex-basis:100%}.ab-copied-enter .input{flex:1;width:auto}}@media (max-width: 760px){.ra-report-body{grid-template-columns:minmax(0,1fr)}.ra-map{height:50dvh}.ra-groups-list{max-height:40dvh}.ra-progress{flex-wrap:wrap}.ra-progress progress{width:100%}.ra-report-head .ra-grow{display:none}.ra-choice-list{flex-direction:column;align-items:stretch}.ra-conds{align-items:stretch;width:100%}.ra-cond{width:100%}.ra-cond>select.input,.ra-cond>.ra-cond-value{flex:1 1 140px;min-width:0}.ra-check{min-height:var(--touch)}.ra-cell-input{min-width:160px}.ra-wide,.ra-sql-input{max-width:100%}.ra-desc,.ra-params{max-width:240px}.md-item-toggle{min-height:var(--touch)}.md-rows li{flex-wrap:wrap;padding:6px 0}.md-row-tools{margin-left:auto}.md-route .pf-picker,.md-route .pf-picked{width:100%}}@media (max-width: 760px){.cmp-page .pf-table.cmp-cards{display:block;width:100%;max-width:100%;overflow:visible}.cmp-cards thead{display:none}.cmp-cards tbody,.cmp-cards tr,.cmp-cards td{display:block}.cmp-cards tr{border:1px solid var(--border);border-radius:6px;padding:6px 10px;margin-bottom:8px;background:var(--panel-2)}.cmp-page .pf-table.cmp-cards td{display:flex;gap:8px;align-items:baseline;padding:3px 0;border-bottom:none;text-align:left;max-width:none;min-width:0;overflow-wrap:anywhere}.cmp-cards td>*{min-width:0}.cmp-cards td[data-label]:before{content:attr(data-label);flex:0 0 96px;color:var(--text-dim);font-size:11px}.cmp-cards td:not([data-label]):empty{display:none}.cmp-req,.cmp-why{flex-direction:column}.cmp-page .pf-table.cmp-cards td.cmp-req:before,.cmp-page .pf-table.cmp-cards td.cmp-why:before{flex-basis:auto}.cmp-catalogue{max-height:none}.cmp-filters>.input{flex:1 1 140px;min-width:0;max-width:100%}.cmp-filters>.cmp-search,.cmp-filters>.cmp-req-select{flex-basis:100%}button.cmp-pill{min-height:var(--touch)}.cmp-totals .cmp-pill{flex:1 1 140px}.cmp-programs{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:10px}.cmp-toggle{flex:1 1 auto}.cmp-toggle .button{flex:1}.cmp-map{height:60dvh}.cmp-drawer{width:100vw;border-left:none;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.cmp-drawer-head,.cmp-drawer-body{padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right))}.cmp-drawer-head .button{min-height:var(--touch)}.cmp-gap-list{max-height:50dvh}.cmp-gaps summary{padding:10px 0}.cmp-option{min-height:var(--touch);align-items:center}.cmp-json{max-width:100%}.cmp-pager{justify-content:space-between}.demo-banner{flex-wrap:nowrap;gap:8px;padding:4px calc(10px + var(--safe-right)) 4px calc(10px + var(--safe-left));font-size:12px}.demo-banner-text,.demo-banner-err{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.demo-banner.confirming .demo-banner-text,.demo-banner.has-error .demo-banner-text{display:none}.demo-banner-confirm{flex-wrap:nowrap}.demo-banner-confirm>span{min-width:0}.demo-banner .button{flex:none}.demo-banner-err{flex:1 1 auto;min-width:0}.demo-banner.has-company .demo-banner-text{display:none}.demo-banner-company{flex:1 1 auto}.demo-picker-scrim{padding:0;place-items:stretch}.demo-picker{width:100%;max-height:none;height:100dvh;border:0;border-radius:0;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left))}.demo-picker-search{font-size:16px;min-height:var(--touch)}.demo-picker-row{min-height:var(--touch);padding:8px 12px}.demo-picker .button,.demo-picker-close{min-height:var(--touch)}.demo-picker-actions{margin-top:auto}.demo-picker-actions .button{flex:1 1 0}.demo-picker-panel{flex:1 1 auto}.asb-options{grid-template-columns:minmax(0,1fr)}.asb-map{height:50vh}.asb-files li{flex-wrap:wrap}.asb-files .input{flex:1 1 140px}a.demo-banner-link{font-size:12px}}@media (max-width: 760px){.as-form{flex-direction:column;align-items:stretch}.as-form .button,.as-suggest .button{min-height:var(--touch)}}
