@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-ext-400-normal.39u3dp1q8vt28.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.3-2s2qyqt5syo.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1ob51yn_zh4f3.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.2c9g56gofrre8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.20ztly1_og8qv.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.1d6bt9ufqnym6.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.41bcgzntq2c9e.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.3nx5do2g1gg_d.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-ext-400-normal.2wkl6p2bjtdkj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.1d956-ol9h5w9.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-ext-500-normal.37y6j4asgn87a.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-500-normal.42ydqmu-69p6e.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-500-normal.3j8b5jptl4nhr.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-500-normal.2r3_h99a4p2o6.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-greek-500-normal.0k99vu2yejv84.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-500-normal.2kq1zw7ns-90j.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-vietnamese-500-normal.38exv3t7tju-g.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-500-normal.14rtxflq2gk6f.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-ext-500-normal.1h2_ral94l6aj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-500-normal.1zyjrbr0w_u4w.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-ext-600-normal.0hanpnpn3ki-v.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-600-normal.33q0gwxfwkcq9.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-600-normal.1bd0br_i69opa.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-600-normal.0h3aaz4315ad-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-greek-600-normal.17-3491c_tfac.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-600-normal.1mkps5wbbyo2a.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-vietnamese-600-normal.3hxpyk-en1__5.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-600-normal.3i-6fz_bx7yta.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-ext-600-normal.0a5-aslyj_wbq.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-600-normal.00ca59z0uilzq.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-cyrillic-ext-700-normal.1dpp22a693y_f.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-700-normal.2j0n2wowgjqls.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-cyrillic-700-normal.18feapymqwhbh.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-700-normal.2l5m2m6-3_1r7.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-greek-700-normal.0y4gpqeqws6yv.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-700-normal.2nhbs3yj9gl6i.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-vietnamese-700-normal.18eestevoqzwv.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-700-normal.1_rj7yg1pulj1.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-latin-ext-700-normal.14ri_qndij_e8.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-700-normal.22pgwkr6js0ec.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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-latin-700-normal.3cj1z__33gk9h.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-700-normal.43_h0be0oa3u4.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(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.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(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.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(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.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(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.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(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.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(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.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(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.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(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.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(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.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(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.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{--fg:#1d1d1f;--muted:#5e5e66;--line:#dcdad3;--line-soft:#ecebe6;--ground:#f4f3ef;--surface:#fff;--surface-head:#faf9f6;--accent:#0b5cad;--accent-dark:#08457f;--nav:#1d1d1f;--nav-fg:#d4d2cb;--bad:#8f1520;--bad-bg:#fdecee;--bad-line:#f1c3c8;--tone-neutral-bg:#ecebe6;--tone-neutral-fg:#3f3f46;--tone-progress-bg:#dbe8f7;--tone-progress-fg:#0a4a8c;--tone-done-bg:#d8efe4;--tone-done-fg:#14573a;--tone-attention-bg:#fbe6cf;--tone-attention-fg:#8a3f06;--tone-error-bg:#f9dfe1;--tone-error-fg:#8f1520;--tone-reversed-bg:#3f3f46;--tone-reversed-fg:#fff;color:var(--fg);font-family:IBM Plex Sans,system-ui,sans-serif}body{background:var(--ground);margin:0}a{color:var(--accent)}a:hover{color:var(--accent-dark)}.app{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--nav);color:var(--nav-fg);flex-direction:column;gap:14px;padding:20px 12px;display:flex}.sidebar .brand{color:#fff;align-items:center;gap:10px;padding:4px 8px;font-weight:700;text-decoration:none;display:flex}.sidebar .brand-mark{background:var(--accent);border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.sidebar h2{letter-spacing:.08em;text-transform:uppercase;color:#8d8b84;margin:0;padding:0 10px;font-size:11px;font-weight:600}.sidebar ul{flex-direction:column;gap:1px;margin:4px 0 0;padding:0;list-style:none;display:flex}.sidebar li a{min-height:34px;color:var(--nav-fg);border-radius:6px;align-items:center;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.sidebar li a:hover{color:#fff;background:#2c2c31}.sidebar li a.active{background:var(--accent);color:#fff}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1rem;min-height:60px;padding:0 32px;font-size:13px;display:flex}.topbar .spacer{margin-right:auto}.page{box-sizing:border-box;max-width:80rem;padding:24px 32px 48px}.page h1{margin:0 0 12px;font-size:28px;font-weight:700}.page h2{margin:24px 0 8px;font-size:17px}.muted{color:var(--muted)}.warning{color:var(--tone-attention-fg);background:var(--tone-attention-bg);border-radius:4px;padding:4px 8px}.acting{color:#b45309}.mono,td.num,th.num{font-family:IBM Plex Mono,ui-monospace,monospace}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:12px 0;padding:16px 20px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:12px 0;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat span:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.stat .value{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:20px}.stat.good{background:#eef8f2;border-color:#b9dcc8}.stat.bad{background:var(--bad-bg);border-color:var(--bad-line)}table{border-collapse:collapse;background:var(--surface);width:100%;margin:8px 0 16px;font-size:14px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);background:var(--surface-head);padding:10px 12px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:10px 12px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.scroll-x{max-width:100%;overflow-x:auto}.scroll-x table{width:max-content;min-width:100%}.warnings{flex-direction:column;gap:4px;min-width:220px;display:flex}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:16px 0 8px;display:flex}.tabs button{min-height:40px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:0 14px;font-size:14px}.tabs button[aria-selected=true]{color:var(--fg);border-bottom-color:var(--accent);font-weight:700}.tabs a,.tabs span{min-height:40px;color:var(--muted);border-bottom:3px solid #0000;align-items:center;padding:0 14px;font-size:14px;text-decoration:none;display:inline-flex}.tabs [aria-current=page]{color:var(--fg);border-bottom-color:var(--accent);font-weight:700}.qr-scan{border:1px solid var(--line);border-radius:8px;margin:12px 0;padding:12px}.qr-camera video{background:#000;border-radius:8px;width:100%;max-width:480px}.badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.tone-neutral{background:var(--tone-neutral-bg);color:var(--tone-neutral-fg)}.tone-progress{background:var(--tone-progress-bg);color:var(--tone-progress-fg)}.tone-done{background:var(--tone-done-bg);color:var(--tone-done-fg)}.tone-attention{background:var(--tone-attention-bg);color:var(--tone-attention-fg)}.tone-error{background:var(--tone-error-bg);color:var(--tone-error-fg)}.tone-reversed{background:var(--tone-reversed-bg);color:var(--tone-reversed-fg)}.error{background:var(--bad-bg);color:var(--bad);border:1px solid var(--bad-line);border-radius:8px;margin:12px 0;padding:12px 14px}.notice{color:#0a3d73;background:#eef3fa;border-radius:8px;margin:12px 0;padding:12px 14px;font-size:14px}.notice.error{background:var(--tone-error-bg);color:var(--tone-error-fg)}.ecf-stamp{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.ecf-print{align-items:center;gap:16px;margin:16px 0;font-size:13px;display:flex}input,select,textarea{font:inherit;box-sizing:border-box;background:#fff;border:1px solid #c9c7c0;border-radius:8px;min-height:40px;padding:8px 10px;font-size:14px}button,.button{font:inherit;min-height:40px;color:var(--fg);cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #c9c7c0;border-radius:8px;align-items:center;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--bad);border-color:#e3b3b8}button:disabled{opacity:.55;cursor:default}button.link{min-height:0;color:var(--accent);background:0 0;border:none;padding:0 4px}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;display:flex}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:inline-flex}dl.facts{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:max-content 1fr;gap:8px 20px;margin:12px 0;padding:16px 20px;display:grid}dl.facts dt{color:var(--muted);font-size:13px;font-weight:600}dl.facts dd{margin:0}dl.summary{background:var(--surface);border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 24px;margin:12px 0;padding:18px 20px;display:grid}dl.summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}dl.summary dd{margin:4px 0 0}pre{background:#f5f5f7;padding:.5rem;overflow-x:auto}.sidebar-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-group h2{padding:0}.menu-group-toggle{color:#8d8b84;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:none;border-radius:6px;justify-content:space-between;width:100%;min-height:30px;padding:0 10px;font-size:11px;font-weight:600}.menu-group-toggle:hover{color:#fff;background:#2c2c31}.menu-group ul[hidden],.sidebar ul[hidden]{display:none}.menu-search input{box-sizing:border-box;color:#fff;background:#2c2c31;border:1px solid #3a3a40;border-radius:6px;width:100%;min-height:34px;padding:0 10px;font-size:14px}.menu-search input::placeholder{color:#8d8b84}.menu-item{align-items:center;display:flex}.menu-item a{flex:1;min-width:0}.menu-star{color:#8d8b84;opacity:0;background:0 0;border:none;border-radius:6px;flex:none;width:28px;min-height:28px;padding:0;font-size:14px}.menu-item:hover .menu-star,.menu-star:focus-visible,.menu-star.on{opacity:1}.menu-star.on{color:#f2b544}.menu-star:hover{color:#fff;background:#2c2c31}.menu-hint{color:#8d8b84;margin-left:auto;padding-left:8px;font-size:11px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu-empty{color:#8d8b84;margin:4px 10px;font-size:13px}@media (hover:none){.menu-star{opacity:.6}}.sidebar-footer{color:var(--nav-fg);border-top:1px solid #3a3a40;flex-direction:column;gap:10px;margin-top:auto;padding:12px 8px 4px;font-size:14px;display:flex}.sidebar-footer .muted{color:#a9a7a0}.sidebar-footer select{width:100%}.sidebar-footer .user-block{flex-direction:column;align-items:stretch}.menu-close{color:#fff;background:0 0;border:1px solid #3a3a40;justify-content:center;min-width:44px;font-size:22px}.user-block{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:inline-flex}.user{overflow-wrap:anywhere}.env-badge{letter-spacing:.08em;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.env-staging{color:#8a3f06;background:#fbe6cf;border:1px solid #f0c08e}.env-test{color:#4b2a8c;background:#e7e0f7;border:1px solid #c9b9ef}.plant-selector{align-items:center;gap:6px;display:inline-flex}@media (max-width:900px){.app{grid-template-columns:1fr}.page{max-width:100vw;padding:16px 16px 96px}.page h1{overflow-wrap:anywhere;font-size:22px}input,select,textarea{font-size:16px}}.app-mobile{display:block}.app-mobile .main{padding-top:56px}.topbar-mobile{z-index:30;flex-wrap:nowrap;gap:10px;min-height:56px;padding:0 12px;position:fixed;top:0;left:0;right:0}.topbar-mobile .screen-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.topbar-mobile .topbar-right{align-items:center;gap:8px;min-width:0;max-width:40%;display:flex}.topbar-mobile .company{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.topbar-mobile select{max-width:100%}.menu-toggle{flex:none}.sidebar-mobile{z-index:50;box-sizing:border-box;visibility:hidden;width:min(320px,86vw);transition:transform .18s,visibility .18s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:4px 0 24px #0000004d}.sidebar-mobile.open{visibility:visible;transform:none}.sidebar-mobile li a{min-height:44px}.menu-backdrop{z-index:40;background:#00000073;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.sidebar-mobile{transition:none}}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;margin:8px 0 16px;overflow-x:auto}.table-wrap>table{margin:0}td,th{overflow-wrap:normal}td .wrap,dd,.facts dd,.summary dd{overflow-wrap:anywhere;min-width:0}.page{min-width:0}.page p,.page li{overflow-wrap:anywhere}@media (max-width:900px){.table-wrap>table{width:max-content;min-width:100%}td,th{white-space:nowrap}td.wrap,td .wrap{white-space:normal;min-width:10rem;max-width:18rem}dl.facts{grid-template-columns:1fr;gap:2px 0}dl.facts dd{margin-bottom:8px}dl.summary{grid-template-columns:1fr 1fr}.field{margin-right:0;display:flex}.field input,.field select,.field textarea{width:100%}.tabs{overflow-x:auto}.tabs button{white-space:nowrap}.actions{gap:8px}.cards{grid-template-columns:1fr 1fr}}@media (max-width:480px){dl.summary,.cards{grid-template-columns:1fr}}@media (max-width:700px){.table-wrap>table.line-editor{background:0 0;width:100%;min-width:0}table.line-editor thead{display:none}table.line-editor,table.line-editor tbody,table.line-editor tfoot{display:block}table.line-editor tr{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:0 0 10px;padding:8px 12px;display:block}table.line-editor td{white-space:normal;text-align:left;border:none;flex-direction:column;gap:4px;padding:6px 0;display:flex}table.line-editor td[data-label]:before{content:attr(data-label);color:var(--muted);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:12px;font-weight:600}table.line-editor td:empty{display:none}table.line-editor td input,table.line-editor td select,table.line-editor td textarea{width:100%}table.line-editor td.num{text-align:left}}@media (max-width:900px){.form-actions{z-index:20;background:var(--surface);padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);margin:12px -16px 0;position:sticky;bottom:0;box-shadow:0 -4px 12px #0000000f}.form-actions .primary{flex:auto;justify-content:center}}.form-actions .primary{order:10}.form-actions .primary+*,.form-actions>:not(.primary){order:1}@media (min-width:901px){.form-actions .primary{margin-left:12px}}.row-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.row-actions-toggle{display:none}.row-actions-list{flex-wrap:wrap;gap:6px;display:inline-flex}@media (max-width:700px){.row-actions{display:inline-block;position:relative}.row-actions-toggle{display:inline-flex}.row-actions-list{display:none}.row-actions.open .row-actions-list{flex-direction:column;align-items:stretch;margin-top:6px;display:flex}}.field{vertical-align:top;flex-direction:column;gap:4px;max-width:100%;margin:0 16px 12px 0;display:inline-flex}.field>label{flex-direction:column;gap:6px;display:flex}label.field{gap:6px}label.field>span,.field .field-label{color:var(--muted);font-size:12px;font-weight:600}.is-required:after{content:" *";content:" *" / "";color:var(--bad)}@media (max-width:900px){.field{margin-right:0;display:flex}}.field.wide{margin-right:0;display:flex}.field.wide textarea,.field.wide input{width:100%}.field-error{color:var(--bad);max-width:36rem;font-size:13px;font-weight:600;display:block}.field-hint{color:var(--muted);max-width:36rem;font-size:12px;display:block}[aria-invalid=true]{box-shadow:0 0 0 2px var(--bad-line);border-color:var(--bad)!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.primary,.button.primary{box-shadow:0 1px 2px #0b5cad59}button.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}details.technical{margin-top:6px;font-size:13px}details.technical summary{cursor:pointer}.currency{color:var(--muted)}dialog.confirm-dialog{box-sizing:border-box;width:min(480px,100vw - 32px);color:var(--fg);border:none;border-radius:12px;padding:20px 22px;box-shadow:0 12px 40px #0000004d}dialog.confirm-dialog::backdrop{background:#00000073}dialog.confirm-dialog h2{margin:0 0 10px;font-size:18px}dialog.confirm-dialog .confirm-body p{margin:0 0 12px;line-height:1.45}dialog.confirm-dialog textarea{width:100%;font:inherit}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.toasts{z-index:60;pointer-events:none;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:none;color:#fff;overflow-wrap:anywhere;background:#14573a;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex;box-shadow:0 6px 20px #00000040}.toast span{flex:1}.toast-close{pointer-events:auto;color:#fff;background:0 0;border:none;min-height:0;padding:0 4px;font-size:18px;line-height:1}@media (max-width:900px){.toasts{max-width:none;inset:64px 16px auto}}.proforma .signature{color:var(--muted);gap:48px;margin-top:64px;font-size:13px;display:flex}.proforma .signature>div{flex:1}.proforma .signature-line{border-bottom:1px solid var(--fg);height:64px;margin-bottom:6px}.proforma .signature-box{border:1px dashed var(--muted);border-radius:6px;height:110px;margin-bottom:6px}.proforma .driver-qr{text-align:center;color:var(--fg);flex:0 0 140px;font-size:11px}.driver-page{max-width:560px;margin:0 auto;padding:16px}.driver-page h1{font-size:22px}.driver-page .choice{flex-wrap:wrap;gap:8px;display:flex}.driver-page .choice label{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:200px;padding:12px}.driver-page canvas.signature-pad{border:1px dashed var(--muted);touch-action:none;background:#fff;border-radius:8px;width:100%;height:180px}.driver-page .photo-preview{border-radius:8px;max-width:100%;margin-top:8px}@media print{body{background:#fff}.sidebar,.topbar,.no-print{display:none!important}.app{display:block}.page{max-width:none;padding:0}table{background:#fff}}.alert-block{background:var(--tone-attention-bg);color:var(--tone-attention-fg);border-radius:8px;margin:12px 0;padding:12px 14px;font-size:14px}.alert-block strong{margin-bottom:4px;display:block}.alert-block ul{margin:4px 0 0;padding-left:20px}.input-suffix{align-items:center;gap:6px;max-width:100%;display:inline-flex}.input-suffix>span{color:var(--muted);font-weight:600}tr.changed td{background:#fff6e8}tr.changed td:first-child{box-shadow:inset 3px 0 0 var(--tone-attention-fg)}.checks{border:none;flex-wrap:wrap;gap:6px 16px;min-width:0;margin:0 16px 12px 0;padding:0;display:flex}.checks legend{color:var(--muted);margin-bottom:6px;padding:0;font-size:12px;font-weight:600}.checks label{align-items:center;gap:6px;min-height:32px;font-size:14px;display:inline-flex}.checks input{min-height:0}.light{vertical-align:-1px;border-radius:50%;flex:none;width:12px;height:12px;margin-right:8px;display:inline-block}.light-green{background:#2f9e62}.light-amber{background:#e0902a}.light-red{background:#c7303c}.areas{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0;display:grid}.plain-list{margin:0;padding-left:18px}details.close-component{border-top:1px solid var(--line-soft);padding:8px 0}details.close-component>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;display:flex}.close-component-name{font-weight:600}.close-component-body{padding:4px 0 8px 18px}ul.checklist{flex-direction:column;gap:6px;margin:8px 0;padding:0;font-size:14px;list-style:none;display:flex}.alert-block.guidance{background:var(--tone-progress-bg);color:var(--tone-progress-fg)}details.technical pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.evidence-verified{margin:0 0 12px;font-size:14px}dialog.lot-actions section{border-top:1px solid var(--line-soft);padding:10px 0}dialog.lot-actions section h3{margin:0 0 8px;font-size:15px}.proforma{position:relative}.watermark{pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.watermark span{letter-spacing:.06em;color:#8f152029;white-space:nowrap;text-align:center;font-size:clamp(28px,9vw,96px);font-weight:700;transform:rotate(-30deg)}.conduce .print-head{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:8px;display:flex}.conduce .print-head h1{margin:0 0 4px}.conduce .print-number{text-align:right}@page conduce{size:letter;margin:12mm}@media print{.conduce{page:conduce}.watermark{position:fixed}.watermark span{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:88px}.proforma .table-wrap{overflow:visible}}fieldset{border:1px solid #d5dbe3;border-radius:8px;margin:8px 0 12px;padding:8px 12px}fieldset legend{color:#55606e;padding:0 4px;font-size:13px}label.check{overflow-wrap:anywhere;margin:4px 0;display:block}.search-select{min-width:260px;max-width:100%;display:inline-block;position:relative}.search-select input{width:100%;padding-right:28px}.search-select-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:16px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.search-select-list{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:6px;min-width:100%;max-height:320px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #0000001f}.search-select-list li{cursor:pointer;color:var(--fg);justify-content:space-between;gap:12px;padding:8px 10px;font-weight:400;display:flex}.search-select-list li.is-active,.search-select-list li[aria-selected=true]{background:var(--tone-progress-bg)}.search-select-hint{color:var(--muted);white-space:nowrap;font-size:12px}.search-select-empty,.search-select-more{color:var(--muted);cursor:default;font-size:12px}@media (max-width:900px){.search-select{width:100%;min-width:0;display:block}}
