@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/47faf0e9117ce2e3-s.270md_-rr62el.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/660acf689794c992-s.p.0lsanbtneewqp.woff2)format("woff2");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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/47faf0e9117ce2e3-s.270md_-rr62el.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/660acf689794c992-s.p.0lsanbtneewqp.woff2)format("woff2");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:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/47faf0e9117ce2e3-s.270md_-rr62el.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/660acf689794c992-s.p.0lsanbtneewqp.woff2)format("woff2");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:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47faf0e9117ce2e3-s.270md_-rr62el.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/660acf689794c992-s.p.0lsanbtneewqp.woff2)format("woff2");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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.XgyiRW_className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.XgyiRW_variable{--font-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c64053b510252f55-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/733da6bd8dac84c8-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/784318cea1dfcfa4-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e114457660b62ed-s.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9fecbd3e5ea9bccb-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a321a2c78eff0b5-s.p.1wmoa0e_blxrz.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c64053b510252f55-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/733da6bd8dac84c8-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/784318cea1dfcfa4-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e114457660b62ed-s.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9fecbd3e5ea9bccb-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9a321a2c78eff0b5-s.p.1wmoa0e_blxrz.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c64053b510252f55-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/733da6bd8dac84c8-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/784318cea1dfcfa4-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e114457660b62ed-s.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9fecbd3e5ea9bccb-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a321a2c78eff0b5-s.p.1wmoa0e_blxrz.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c64053b510252f55-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/733da6bd8dac84c8-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/784318cea1dfcfa4-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e114457660b62ed-s.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9fecbd3e5ea9bccb-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9a321a2c78eff0b5-s.p.1wmoa0e_blxrz.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:800;font-display:swap;src:url(../media/c64053b510252f55-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:800;font-display:swap;src:url(../media/733da6bd8dac84c8-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:800;font-display:swap;src:url(../media/784318cea1dfcfa4-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7e114457660b62ed-s.3zhbgtelpa5ua.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:800;font-display:swap;src:url(../media/9fecbd3e5ea9bccb-s.3vf5yzuqk3fsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:800;font-display:swap;src:url(../media/9a321a2c78eff0b5-s.p.1wmoa0e_blxrz.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.mIKNhW_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.mIKNhW_variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7f5;--card:#fff;--surface-2:#fff;--border:#e0e5e1;--border-strong:#d0d5d1;--text:#1a1a1a;--muted:#6b7c6e;--dim:#9aa59d;--green:#2e5c3e;--green-dark:#1f4230;--green-soft:#e6efe7;--red:#a63d2a;--red-soft:#f8e8e3;--amber:#9a6b00;--amber-soft:#fdf2d6;--accent:#2f8f4e;--accent-dark:#1d5c32;--gold:#8a6d1f;--memo:#b7dcbb;--nav-bg:#1f4230;--nav-text:#fff;--on-accent:#fff;--cell-from-map:#f1f3f2;--cell-computed:#e8f0fa;--chart-bar:#9cb8a5;--chart-target:#d9e2dc;--chart-grid:#eef1ef;--radius:12px;--shadow-hero:none}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e131c;--card:#ffffff09;--surface-2:#ffffff12;--border:#ffffff14;--border-strong:#ffffff29;--text:#f1f5f9;--muted:#94a3b8;--dim:#4b5563;--green:#4ade80;--green-dark:#86efac;--green-soft:#4ade8024;--red:#f87171;--red-soft:#f8717124;--amber:#fbbf24;--amber-soft:#fbbf2424;--accent:#2f8f4e;--accent-dark:#37c871;--gold:#f0d48a;--memo:#ffffff40;--nav-bg:#0a0f1a;--nav-text:#f1f5f9;--on-accent:#fff;--cell-from-map:#ffffff0a;--cell-computed:#60a5fa1f;--chart-bar:#5f8a6e;--chart-target:#ffffff1a;--chart-grid:#ffffff0f;--shadow-hero:0 0 80px #2f8f4e2e}[data-theme=dark] body{background:linear-gradient(#0a0f1a 0%,#151820 100%) fixed}@media print{:root,[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--card:#fff;--surface-2:#fff;--border:#e0e5e1;--border-strong:#d0d5d1;--text:#1a1a1a;--muted:#6b7c6e;--dim:#9aa59d;--green:#2e5c3e;--green-dark:#1f4230;--green-soft:#e6efe7;--red:#a63d2a;--red-soft:#f8e8e3;--amber:#9a6b00;--amber-soft:#fdf2d6;--accent:#2f8f4e;--accent-dark:#1d5c32;--gold:#8a6d1f;--memo:#b7dcbb;--nav-bg:#fff;--nav-text:#1a1a1a;--on-accent:#fff;--cell-from-map:#f1f3f2;--cell-computed:#e8f0fa;--chart-bar:#9cb8a5;--chart-target:#d9e2dc;--chart-grid:#eef1ef;--shadow-hero:none}[data-theme=dark] body{background:#fff}}
*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font-sans,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;line-height:1.45}.mono,.num,.cell,.input[type=number]{font-family:var(--font-mono,ui-monospace, "JetBrains Mono", Menlo, monospace);font-variant-numeric:tabular-nums}a{color:var(--green)}.nav{z-index:10;background:var(--nav-bg);color:var(--nav-text);align-items:center;gap:8px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.nav-brand{color:var(--on-accent);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:10px;margin-right:12px;font-weight:800;text-decoration:none;display:flex}.nav-brand img{object-fit:contain;width:28px;height:28px}.nav-links{scrollbar-width:none;flex:1;gap:2px;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{color:#ffffffc7;white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.nav-link:hover{color:var(--on-accent);background:#ffffff14}.nav-link.active{color:var(--on-accent);background:#ffffff29}.nav-user{color:#ffffffd9;white-space:nowrap;align-items:center;gap:10px;font-size:13px;display:flex}.nav-role{letter-spacing:.06em;text-transform:uppercase;background:#ffffff29;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.nav-logout{color:var(--on-accent);cursor:pointer;background:0 0;border:1px solid #ffffff4d;border-radius:8px;padding:5px 10px;font-size:13px}.nav-logout:hover{background:#ffffff1a}.page{max-width:1200px;margin:0 auto;padding:24px 16px 48px}.page:has(.table.weights){max-width:1480px}.page-title{letter-spacing:-.02em;color:var(--green-dark);margin:0 0 4px;font-size:24px;font-weight:800}.page-sub{color:var(--muted);margin:0 0 20px}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.card h2{color:var(--green-dark);margin:0 0 6px;font-size:17px;font-weight:700}.card p{color:var(--muted);margin:0;font-size:14px}.card.link{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.card.link:hover{border-color:var(--green);transform:translateY(-1px)}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.badge.soon{background:var(--amber-soft);color:var(--amber)}.badge.ok{background:var(--green-soft);color:var(--green-dark)}.badge.off{background:var(--red-soft);color:var(--red)}.badge.role{background:var(--green-soft);color:var(--green-dark)}.notice{border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13.5px}.notice.error{background:var(--red-soft);color:var(--red)}.notice.ok{background:var(--green-soft);color:var(--green-dark)}.label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:700;display:block}.input,.select{border:1px solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text);border-radius:8px;outline:none;padding:10px 12px;font-size:15px;transition:border-color .15s}.input:focus,.select:focus{border-color:var(--green)}.btn{background:var(--green);color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700;transition:opacity .15s}.btn:hover{opacity:.9}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:var(--surface-2);color:var(--green-dark);border:1px solid var(--border-strong)}.btn.danger{background:var(--surface-2);color:var(--red);border:1px solid var(--border-strong)}.btn.small{padding:6px 10px;font-size:13px}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:12px;display:grid}.form-stack{flex-direction:column;gap:12px;display:flex}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}.table tr:last-child td{border-bottom:none}.table .actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.table-wrap{overflow-x:auto}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}@media (max-width:640px){.nav{padding:0 10px}.nav-brand span,.nav-user .nav-name{display:none}.page{padding:16px 12px 40px}}.table.weights th,.table.weights td{white-space:nowrap;padding:4px 5px;font-size:12.5px}.table.weights th{letter-spacing:.05em;font-size:10px}.table.weights .cell{width:64px;padding:5px 6px;font-size:12.5px}.table.weights td:first-child{text-overflow:ellipsis;max-width:150px;overflow:hidden}.table.weights .num{text-align:right;font-variant-numeric:tabular-nums}.table.weights .c-map,.table.weights .c-calc{background:0 0}.cell.need{background:var(--amber-soft);border-color:var(--amber)}.cell.need:focus{background:var(--surface-2)}.cell.edited:not(.need){border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.cell-need-swatch{vertical-align:-2px;background:var(--amber-soft);border:1px solid var(--amber);border-radius:4px;width:14px;height:14px;display:inline-block}.save-bar{z-index:5;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;margin-top:14px;padding:10px 16px;font-size:13.5px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #0000000f}.save-bar.show{border-color:var(--amber);background:var(--amber-soft);color:var(--text)}.table.weights tr.excluded td{color:var(--muted)}.table.weights tr.excluded td b{color:var(--muted);text-decoration:line-through}.table.weights tr.totals td{background:var(--bg);border-top:2px solid var(--border-strong);font-weight:600}.ledger-card{overflow:clip}.ledger-wrap{overflow-x:clip}.table.ledger thead th{z-index:2;background:var(--card);box-shadow:0 1px 0 var(--border);position:sticky;top:52px}.table.ledger tr.batch td{background:var(--bg);border-top:2px solid var(--border-strong);font-weight:600}.table.ledger tr.batch.drying td{background:var(--amber-soft);border-top-color:var(--amber)}.drying-tag{background:var(--amber);color:var(--on-accent);letter-spacing:.04em;text-transform:uppercase;border-radius:6px;margin-left:10px;padding:2px 8px;font-size:11.5px;font-weight:700;display:inline-block}.table.ledger tr.batch:first-child td{border-top:none}.table.ledger td{font-size:13px}.cell{text-align:right;background:var(--surface-2);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:6px;width:92px;padding:7px 8px;font-size:14px}.cell:hover{border-color:var(--border-strong)}.cell:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 2px #2e5c3e26}.cell:disabled{color:var(--text);background:0 0}.c-map .cell{background:0 0}.c-map .cell:focus{background:var(--surface-2)}.bedmap{align-items:flex-start;gap:10px;padding-bottom:8px;display:flex;overflow-x:auto}.rack{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex:none;min-width:96px;padding:8px}.rack-head{color:var(--green-dark);text-align:center;white-space:nowrap;margin-bottom:6px;font-size:13px;font-weight:700}.rack-head .muted{font-weight:500}.tier{border-top:1px dashed var(--border);margin-top:6px;padding-top:6px}.tier-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:10px;font-weight:700}.bed{border:1px solid var(--border-strong);background:var(--green-soft);width:100%;min-height:40px;color:var(--green-dark);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;padding:4px 8px;font-size:13px;font-weight:700;display:flex}.bed.half{background:var(--cell-from-map);min-height:30px;font-size:12px}.bed.empty{background:var(--surface-2);color:var(--muted);font-style:italic;font-weight:500}.bed.sel{border-color:var(--green);box-shadow:0 0 0 2px #2e5c3e40}.bed:hover{border-color:var(--green)}.bed-qty{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.rack-total{text-align:center;border-top:2px solid var(--border-strong);margin-top:6px;padding-top:6px;font-weight:700}.editor{margin-top:12px;position:sticky;bottom:8px;box-shadow:0 6px 24px #0000001f}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px;display:grid}.tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.tile.muted-tile{background:var(--bg)}.tile-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.tile-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--green-dark);margin:4px 0 2px;font-size:28px;font-weight:800}.tile-sub{color:var(--muted);font-size:12.5px}.table th.r,.table td.r{text-align:right}.theme-toggle{color:var(--nav-text);cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:6px;align-items:center;gap:5px;margin-right:10px;padding:3px 8px;font-size:11.5px;display:inline-flex}.theme-toggle span{opacity:.5}.theme-toggle span.on{opacity:1;font-weight:700}.theme-toggle .sep{opacity:.35}.rp-mast{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;margin:0 0 16px;animation:.35s both fadeUp;display:flex}.rp-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:10px;font-weight:700}.rp-title{letter-spacing:-.02em;color:var(--text);margin:0;font-size:26px;font-weight:800;line-height:1.15}.rp-title .acc{color:var(--accent-dark)}.rp-sub{color:var(--muted);max-width:760px;margin:6px 0 0;font-size:13.5px}.rp-stamp{text-align:right;color:var(--muted);letter-spacing:.02em;min-width:200px;font-size:11.5px;line-height:1.6}.rp-stamp b{color:var(--text);font-weight:600}.rp-stamp .mono{font-weight:600}.rp-check{border:1px solid var(--border);background:var(--card);border-radius:10px;flex-direction:column;gap:6px;margin-bottom:16px;padding:10px 14px;font-size:13px;display:flex}.rp-check.ok{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.rp-check .warn{color:var(--amber)}.rp-check .info{color:var(--muted)}.rp-check .lvl{letter-spacing:.14em;text-transform:uppercase;min-width:54px;margin-right:8px;font-size:9.5px;font-weight:700;display:inline-block}.rp-hero{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-hero);border-radius:14px;margin-bottom:16px;padding:22px 24px;animation:.4s 50ms both fadeUp;position:relative}.rp-hero .k{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.rp-hero .v{font-family:var(--font-mono);letter-spacing:-.03em;color:var(--text);margin:8px 0 6px;font-size:56px;font-weight:800;line-height:1}.rp-hero .v .unit{vertical-align:10px;color:var(--muted);margin-right:4px;font-size:26px;font-weight:600}.rp-hero .v.gold{color:var(--gold)}.rp-hero .cap{color:var(--muted);font-size:13px}.rp-hero .deltas{flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-top:14px;display:flex}.rp-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.rp-stat{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:14px 16px;animation:.4s both fadeUp}.rp-stat .k{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:700}.rp-stat .v{font-family:var(--font-mono);color:var(--text);letter-spacing:-.01em;margin:6px 0 4px;font-size:22px;font-weight:700}.rp-stat .v.gold{color:var(--gold)}.rp-stat .v .unit{color:var(--muted);margin-left:4px;font-size:12px;font-weight:500}.rp-stat .d{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;font-weight:600;display:flex}.rp-stat .sub{color:var(--muted);margin-top:4px;font-size:11.5px}.tone-good{color:var(--green)}.tone-bad{color:var(--red)}.tone-baseline{color:var(--muted)}.pct-badge{font-family:var(--font-mono);border:1px solid;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.rp-memos{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.rp-memo{border:1px dashed var(--memo);color:var(--muted);background:0 0;border-radius:10px;min-width:150px;padding:8px 12px;font-size:12px}.rp-memo .k{letter-spacing:.16em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:700}.rp-memo .v{font-family:var(--font-mono);color:var(--text);font-size:14px;font-weight:700}.rp-memo .tag{letter-spacing:.12em;text-transform:uppercase;border:1px dashed var(--memo);vertical-align:1px;border-radius:5px;margin-left:6px;padding:1px 5px;font-size:8.5px}.rp-section{margin:22px 0 10px}.rp-section .k{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.rp-section h2{color:var(--text);letter-spacing:-.01em;margin:4px 0 0;font-size:18px;font-weight:800}.rp-lesson,.rp-q,.rp-notell{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;margin-bottom:12px;padding:14px 18px;font-size:13.5px;line-height:1.7}.rp-lesson{border-left:3px solid var(--accent)}.rp-q{border-left:3px solid var(--gold)}.rp-q b.q{color:var(--gold);margin-right:6px}.rp-notell{border-left:3px solid var(--amber);color:var(--muted)}.rp-notell b{color:var(--text)}.rp-foot{border-top:1px solid var(--border);color:var(--dim);margin-top:24px;padding-top:14px;font-size:11.5px;line-height:1.7}.rp-foot b{color:var(--muted);font-weight:600}.rp-foot .disc{margin-top:6px;font-style:italic}.rp-room{border:1px solid var(--border);background:var(--card);border-radius:12px;padding:14px 16px}.rp-room h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:16px;font-weight:800;display:flex}.rp-room .money{font-family:var(--font-mono);color:var(--text);margin:6px 0 2px;font-size:24px;font-weight:800}.rp-room .row{color:var(--muted);flex-wrap:wrap;gap:14px;margin:6px 0 8px;font-size:12px;display:flex}.rp-room .row b{color:var(--text);font-family:var(--font-mono);font-weight:600}.rp-table{border-collapse:collapse;width:100%;font-size:12.5px}.rp-table th{text-align:left;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:6px;font-size:9.5px}.rp-table td{border-bottom:1px solid var(--border);padding:5px 6px}.rp-table tr:last-child td{border-bottom:none}.rp-table .r{text-align:right;font-family:var(--font-mono)}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:720px){.rp-stamp{text-align:left;min-width:0}.rp-hero .v{font-size:40px}}@media print{.nav,.theme-toggle,.btn{display:none!important}.page{max-width:none;padding:0}}.rp-lever{align-items:center;gap:8px;margin-top:8px;font-size:12px;display:inline-flex}.rp-lever .k{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:9.5px;font-weight:700}.rp-lever .market{background:var(--amber-soft);color:var(--amber);letter-spacing:.1em;vertical-align:1px;border-radius:5px;margin-left:4px;padding:0 5px;font-size:8.5px;display:inline-block}.rp-link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.rp-cards.primary{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.rp-stat.big{border-color:var(--accent);border-width:2px;padding:18px 20px}.rp-stat.big .k{font-size:10.5px}.rp-stat.big .v{letter-spacing:-.02em;margin:10px 0 6px;font-size:40px}.rp-stat.big .v .unit{font-size:15px}.rp-stat.big .d{font-size:13.5px}.rp-stat.big .sub{font-size:12.5px}
