@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+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: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+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: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+??,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: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+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: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+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: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+??,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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.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{--mat:#e7eaee;--dot:#cbd2d9;--card:#fff;--sunken:#f2f4f6;--ink:#14171a;--slate:#626d78;--line:#d3d9df;--line-strong:#b6bfc8;--esd:#1f5c8b;--esd-hover:#17496e;--esd-wash:#e6eef5;--signal:#e0491f;--signal-wash:#fdeae4;--go:#14794f;--go-wash:#e2f2eb;--chart-repairs:#0f62b8;--chart-parts:#b4690e;--chart-grid:#e4e8ec;--display:"Barlow Condensed", "Arial Narrow", sans-serif;--body:"Barlow", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--radius:10px;--shadow:0 1px 2px #14171a0f, 0 4px 16px #14171a0d;--bar-h:58px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--mat:#14171a;--dot:#262c32;--card:#1c2126;--sunken:#171b20;--ink:#eef1f4;--slate:#97a3ae;--line:#2c333a;--line-strong:#3d464f;--esd:#63a9d8;--esd-hover:#7dbae3;--esd-wash:#17303f;--signal:#ff7a52;--signal-wash:#3b1d13;--go:#4bc48c;--go-wash:#10382a;--chart-repairs:#3f8ad0;--chart-parts:#bc8a2e;--chart-grid:#2a3138;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--body);color:var(--ink);background-color:var(--mat);background-image:radial-gradient(circle, var(--dot) 1px, transparent 1px);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;background-size:22px 22px;margin:0;font-size:16px;line-height:1.45}h1,h2,h3{font-family:var(--display);letter-spacing:.01em;margin:0;font-weight:700;line-height:1.1}h1{text-transform:uppercase;font-size:30px}h2{text-transform:uppercase;font-size:22px}h3{font-size:17px}p{margin:0}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--slate);font-size:11px;font-weight:500}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--slate)}.small{font-size:13px}.app{min-height:100%;padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom));flex-direction:column;display:flex}.topbar{z-index:20;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar .logo{width:auto;height:19px;color:var(--ink);display:block}.topbar .spacer{flex:1}.content{flex-direction:column;flex:1;gap:14px;width:100%;max-width:860px;margin:0 auto;padding:16px;display:flex}.tabbar{z-index:20;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{height:var(--bar-h);color:var(--slate);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border-top:2px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;margin-top:-1px;font-size:10px;text-decoration:none;display:flex}.tabbar a.active{color:var(--esd);border-top-color:var(--esd)}.tabbar svg{width:21px;height:21px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:10px;display:flex}.row-wrap{flex-wrap:wrap;gap:10px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.clock-hero{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.elapsed{font-family:var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(44px,15vw,64px);font-weight:500;line-height:1}.status-dot{border-radius:50%;flex:none;width:9px;height:9px}.status-dot.on{background:var(--go);box-shadow:0 0 0 4px var(--go-wash)}.status-dot.off{background:var(--line-strong)}button,input,select,textarea{font:inherit;color:inherit}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--sunken)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--esd);border-color:var(--esd);color:#fff}.btn-primary:hover:not(:disabled){background:var(--esd-hover);border-color:var(--esd-hover)}.btn-danger{background:var(--signal);border-color:var(--signal);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(.93);background:var(--signal)}.btn-ghost{color:var(--esd);background:0 0;border-color:#0000;padding:6px 8px}.btn-sm{padding:6px 12px;font-size:14px}.btn-switch{width:100%;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius);border-width:1px;padding:20px;font-size:24px;font-weight:700}@media (prefers-color-scheme:dark){.btn-primary,.btn-danger{color:#10141a}}label.field{color:var(--slate);flex-direction:column;gap:5px;font-size:13px;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--line-strong);background:var(--card);width:100%;color:var(--ink);border-radius:8px;padding:10px 12px;font-weight:400}input[type=datetime-local],input[inputmode=decimal],.input-mono{font-family:var(--mono)}textarea{resize:vertical;min-height:72px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--esd);outline-offset:2px}.rail-row{grid-template-columns:42px 1fr 58px;align-items:center;gap:10px;padding:5px 0;display:grid}.rail-day{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--slate);font-size:11px}.rail-total{font-family:var(--mono);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.rail{background:var(--sunken);border:1px solid var(--line);border-radius:4px;height:20px;position:relative;overflow:hidden}.rail:after{content:"";background-image:linear-gradient(to right, transparent calc(25% - 1px), var(--line) calc(25% - 1px), var(--line) 25%, transparent 25%, transparent calc(50% - 1px), var(--line) calc(50% - 1px), var(--line) 50%, transparent 50%, transparent calc(75% - 1px), var(--line) calc(75% - 1px), var(--line) 75%, transparent 75%);pointer-events:none;position:absolute;inset:0}.rail-seg{background:var(--esd);border-radius:2px;min-width:3px;position:absolute;top:0;bottom:0}.rail-seg.open{background:repeating-linear-gradient(-45deg, var(--signal) 0 5px, transparent 5px 10px);border:1px solid var(--signal);border-right:none;border-radius:2px 0 0 2px}.rail-scale{grid-template-columns:42px 1fr 58px;gap:10px;margin-top:2px;display:grid}.rail-scale-inner{font-family:var(--mono);color:var(--slate);justify-content:space-between;font-size:10px;display:flex}.tiles{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}@media (width>=620px){.tiles{grid-template-columns:repeat(4,1fr)}}.tile{background:var(--card);padding:13px 14px}.tile-value{font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:3px;font-size:25px;font-weight:500;line-height:1.15}.chart-wrap{position:relative}.chart-wrap svg{width:100%;height:auto;display:block;overflow:visible}.chart-grid-line{stroke:var(--chart-grid);stroke-width:1px}.chart-axis-text{fill:var(--slate);font-family:var(--mono);font-size:9px}.chart-hit{fill:#0000;cursor:pointer}.chart-hit:hover+.chart-bar,.chart-hit:focus-visible+.chart-bar{opacity:.75}.chart-tip{z-index:5;background:var(--ink);color:var(--mat);white-space:nowrap;pointer-events:none;border-radius:6px;padding:6px 9px;font-size:12px;line-height:1.35;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 14px #00000040}.chart-tip .k{font-family:var(--mono);opacity:.75;font-size:10px;display:block}.swatch{border-radius:2px;flex:none;width:9px;height:9px;display:inline-block}.rank-row{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 10px;padding:7px 0;display:grid}.rank-row:first-child{border-top:none}.rank-track{background:var(--sunken);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.rank-fill{background:var(--chart-parts);border-radius:3px;height:100%}.item{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:11px 0;display:flex}.item:first-child{border-top:none}.item-main{overflow-wrap:anywhere;flex:1;min-width:0}.item-title{overflow-wrap:anywhere;font-weight:600}.tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--sunken);color:var(--slate);border:1px solid var(--line);white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;font-weight:500;display:inline-flex}.tag.blue{background:var(--esd-wash);color:var(--esd);border-color:#0000}.tag.red{background:var(--signal-wash);color:var(--signal);border-color:#0000}.tag.green{background:var(--go-wash);color:var(--go);border-color:#0000}.flag{background:var(--sunken);border-left:3px solid var(--line-strong);border-radius:8px;gap:10px;padding:10px 12px;font-size:14px;display:flex}.flag.blocking{background:var(--signal-wash);border-left-color:var(--signal)}.notice{background:var(--signal-wash);color:var(--signal);border:1px solid #0000;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:500}.empty{text-align:center;color:var(--slate);padding:26px 16px;font-size:14px}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--slate);border-bottom:1px solid var(--line);padding:0 8px 7px 0;font-size:10px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 8px 9px 0}th:last-child,td:last-child{text-align:right;padding-right:0}.table-scroll{overflow-x:auto}.scrim{z-index:50;background:#14171a80;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.sheet{background:var(--card);width:100%;max-width:520px;max-height:92vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;flex-direction:column;gap:14px;display:flex;overflow-y:auto}@media (width>=640px){.scrim{align-items:center;padding:24px}.sheet{border-radius:14px}}.auth{justify-content:center;align-items:center;min-height:100%;padding:24px 16px;display:flex}.auth-card{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.auth .logo{width:auto;height:30px;color:var(--ink)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{body{background:#fff}.topbar,.tabbar,.btn,.no-print{display:none!important}.card{box-shadow:none;break-inside:avoid;border-color:#ccc}}
