@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-400-normal.fe77cf74.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-400-normal.c53594e1.woff) format("woff");unicode-range:u+0460-052f,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(/_next/static/media/ibm-plex-sans-cyrillic-400-normal.03c3c250.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-400-normal.f9650ffc.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-greek-400-normal.5f160bba.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-400-normal.bedb8549.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-vietnamese-400-normal.7f721ef5.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-400-normal.072f5433.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.20dd57fa.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.40b9fc05.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-400-normal.13a15bcd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-400-normal.48b78688.woff) format("woff");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-500-normal.926ddd5b.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-500-normal.cfe07773.woff) format("woff");unicode-range:u+0460-052f,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(/_next/static/media/ibm-plex-sans-cyrillic-500-normal.8f83abe5.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-500-normal.b36047ca.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-greek-500-normal.e5c8b350.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-500-normal.0f811c39.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-vietnamese-500-normal.4e93e369.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-500-normal.7649f465.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-latin-ext-500-normal.91b576dd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-500-normal.e617d40b.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-sans-latin-500-normal.4cdcd386.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-500-normal.f8dd458c.woff) format("woff");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-600-normal.399ec1c9.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-600-normal.a53cdf56.woff) format("woff");unicode-range:u+0460-052f,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(/_next/static/media/ibm-plex-sans-cyrillic-600-normal.015f312d.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-600-normal.fdcd15f2.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-greek-600-normal.6cd27d8b.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-600-normal.30fba19a.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-vietnamese-600-normal.4aa57cdf.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-600-normal.ea0cd549.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-latin-ext-600-normal.cb6ca6c6.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-600-normal.73c474de.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/ibm-plex-sans-latin-600-normal.1cdb9a2c.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-600-normal.0eddcd6d.woff) format("woff");unicode-range:u+00??,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{--ink:#1a1d21;--muted:#5f6672;--line:#e2e5ea;--field:#cfd4db;--page:#eef0f3;--side:#15181d;--side-on:#2a2f37;--side-ink:#c9cdd3;--side-muted:#8b919a;--primary:#1f5fbf;--primary-dark:#164a97;--soft:#f4f5f7;--warn-bg:#fff6e8;--warn-line:#f0d9b5;--warn-ink:#8a5a10;--bad-ink:#a3311e}*{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:IBM Plex Sans,system-ui,sans-serif;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}a{color:var(--primary)}a:hover{color:var(--primary-dark)}.auth-wrap{min-height:100vh;background:var(--side);display:flex;align-items:center;justify-content:center;padding:40px 16px}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:14px;padding:32px;gap:18px}.auth-card,.auth-head{display:flex;flex-direction:column}.auth-head{gap:4px}.auth-title{font-size:20px;font-weight:600;margin:0}.auth-sub{font-size:13px;margin:0}.auth-sub,.field{color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;font-size:12px}.field input{height:42px;border:1px solid var(--field);border-radius:8px;padding:0 12px;font:inherit;font-size:14px;color:var(--ink);background:#fff}.field input:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 16px;border-radius:8px;border:1px solid var(--primary);background:var(--primary);font:inherit;font-size:14px;font-weight:500;color:#fff;cursor:pointer}.btn-primary:disabled{opacity:.7;cursor:default}.auth-note{background:var(--soft);font-size:12px;color:var(--muted);line-height:1.5}.auth-error,.auth-note{border-radius:8px;padding:10px 12px}.auth-error{background:#fde8e3;font-size:13px;color:var(--bad-ink)}.shell{display:flex;min-height:100vh}.side{width:220px;flex-shrink:0;background:var(--side);display:flex;flex-direction:column;padding:20px 14px;gap:4px;position:-webkit-sticky;position:sticky;top:0;align-self:flex-start;height:100vh;height:100dvh;overflow-y:auto}.side-brand{color:#fff;font-weight:600;font-size:16px;padding:4px 12px 18px;letter-spacing:.2px}.nav{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:var(--side-ink);font-size:14px;text-decoration:none}.nav.on,.nav:hover{color:#fff}.nav.on{background:var(--side-on)}.side-foot{margin-top:auto;padding:12px 12px 0;color:var(--side-muted);font-size:12px;line-height:1.5;word-break:break-all}.side-foot form{margin-top:10px}.link-btn{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--side-ink);text-decoration:underline;cursor:pointer}.main{flex-grow:1;min-width:0;padding:24px 28px;display:flex;flex-direction:column;gap:18px}.page-title{margin:0;font-size:22px;font-weight:600}.card{color:var(--muted)}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.grow{flex-grow:1}.muted{color:var(--muted)}.small{font-size:12px}.tiny{font-size:11px}.strong{font-weight:600}.bad-ink{color:var(--bad-ink)}.warn-ink{color:var(--warn-ink)}.good-ink{color:#1c7c3f}.crumbs{font-size:13px;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--field);background:#fff;font:inherit;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}.btn,.btn:hover{color:var(--ink)}.btn:hover{border-color:#aeb5bf}.btn.pri{background:var(--primary);border-color:var(--primary);color:#fff}.btn.pri:hover{background:var(--primary-dark);color:#fff}.btn.small{height:32px;padding:0 10px;font-size:12px}.btn.off,.btn:disabled{background:#dfe3e8;border-color:#dfe3e8;color:#6b7380;cursor:not-allowed}.link{background:none;border:0;padding:0;font:inherit;font-size:inherit;color:var(--primary);cursor:pointer;text-decoration:underline}.link:disabled{color:var(--muted);cursor:default;text-decoration:none}.chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;white-space:nowrap}.chip.blue,.chip.class{background:#e5edf9;color:#1f4f9c}.chip.fixed{background:#ede9f7;color:#5b3fa6}.chip.bad,.chip.red{background:#fde8e3;color:var(--bad-ink)}.chip.green,.chip.open{background:#e3efdb;color:#1c5f2e}.chip.closed,.chip.grey{background:#eef0f3;color:#3b4149}.chip.warn{background:var(--warn-bg);color:var(--warn-ink)}.flag{font-size:11px;white-space:nowrap}.flag.muted{color:var(--muted)}.flag.good{color:#1c7c3f}.flag.warn{color:var(--warn-ink)}.flag.bad{color:var(--bad-ink)}.flags{display:flex;gap:8px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi .k{font-size:12px;color:var(--muted)}.kpi .v{font-size:24px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi.warn{background:var(--warn-bg);border-color:var(--warn-line)}.kpi.warn .k,.kpi.warn .v{color:var(--warn-ink)}.filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.filters label,.form label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.filters input,.filters select,.form input,.form select,.form textarea{height:36px;border:1px solid var(--field);border-radius:8px;padding:0 10px;font:inherit;font-size:13px;background:#fff;color:var(--ink);box-sizing:border-box}.filters select{min-width:160px}.form{display:flex;flex-direction:column;gap:12px}.form textarea{height:64px;padding:8px 10px;resize:vertical}.form input[type=checkbox]{height:18px;width:18px}.form input[readonly]{background:var(--soft);color:var(--muted)}.form .check{flex-direction:row;align-items:center;gap:10px;font-size:13px;color:var(--ink)}.form .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.form .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.form .actions{display:flex;gap:10px;justify-content:flex-end}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-head{display:flex;align-items:center;padding:12px 14px;gap:12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.panel-head .title{font-weight:600;font-size:14px}.panel-foot{display:flex;align-items:center;padding:10px 12px;font-size:12px;color:var(--muted);gap:16px;border-top:1px solid var(--line);flex-wrap:wrap}.scroll-x{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:13px}table.t th{text-align:left;font-weight:500;color:var(--muted);border-bottom:1px solid var(--line)}table.t td,table.t th{padding:10px 12px;white-space:nowrap}table.t td{border-bottom:1px solid #eceef1;vertical-align:top}table.t tr.long td,table.t tr.problem td,table.t tr.warnrow td{background:#fff8ee}table.t tr.err td{background:#fde8e3}table.t tr.preview td{color:var(--muted);font-style:italic;background:#fafbfc}table.t tr.reversed td,table.t tr.weekend td.d{color:var(--muted)}table.t td.wrap{white-space:normal}table.t.compact td,table.t.compact th{padding:7px 10px}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num,table.t th.num{text-align:right}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;color:var(--ink);flex-direction:column;gap:12px}.card,.card-title{font-size:14px;display:flex}.card-title{font-weight:600;align-items:center;gap:10px;flex-wrap:wrap}.card-title .sub{font-weight:400;font-size:12px;color:var(--muted)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.span-2{grid-column:span 2}@media (max-width:1360px){.grid-2{grid-template-columns:minmax(0,1fr)}.span-2{grid-column:auto}}table.t.wrapcells td,table.t.wrapcells th{white-space:normal}.head-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:16px}.head-name{font-size:20px;font-weight:600}.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:14px;gap:14px}.tile{display:flex;flex-direction:column;gap:3px;min-width:0}.tile .k{font-size:11px;color:var(--muted)}.tile .v{font-size:18px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tile .v.pri{color:var(--primary)}.head-note{font-size:12px;color:var(--muted);border-top:1px solid #eceef1;padding-top:10px;display:flex;gap:18px;flex-wrap:wrap}.bar-warn{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.bar-bad,.bar-warn{padding:12px 16px;font-size:13px}.bar-bad{background:#fde8e3;border:1px solid #f3c3b7;border-radius:10px;color:var(--bad-ink)}.bar-info{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:12px;color:var(--muted)}.form-error{background:#fde8e3;color:var(--bad-ink)}.form-error,.form-ok{border-radius:8px;padding:8px 12px;font-size:13px}.form-ok{background:#e3efdb;color:#1c5f2e}.note{background:var(--soft);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--muted);line-height:1.5}dialog.modal{border:1px solid var(--line);border-radius:14px;padding:24px;width:min(520px,calc(100vw - 32px));box-shadow:0 12px 40px rgba(20,24,30,.18);color:var(--ink)}dialog.modal::-webkit-backdrop{background:rgba(20,24,30,.35)}dialog.modal::backdrop{background:rgba(20,24,30,.35)}dialog.modal.wide{width:min(760px,calc(100vw - 32px))}dialog.modal{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-x:hidden;overflow-y:auto;white-space:normal;font-weight:400;font-size:14px;line-height:1.4;text-align:left}dialog.modal,dialog.modal *,dialog.modal :after,dialog.modal :before{box-sizing:border-box}.modal-body{display:flex;flex-direction:column;gap:16px;min-width:0}.modal-body .row>.strong{min-width:0;overflow-wrap:anywhere}.form .grid2>*,.form .grid3>*,.form label{min-width:0}.form label>input:not([type=checkbox]),.form label>select,.form label>textarea{width:100%;min-width:0}.form-error,.form-ok,.note{white-space:normal;overflow-wrap:anywhere}.topbar{justify-content:flex-end;min-height:24px;margin:-14px 0 -10px}.lang,.topbar{display:flex;align-items:center}.lang{gap:4px}.lang-btn{background:#fff;border:1px solid var(--field);color:var(--muted);border-radius:6px;padding:2px 8px;font:inherit;font-size:11px;line-height:1.4;cursor:pointer}.lang-btn:hover{color:var(--ink);border-color:#aeb5bf}.lang-btn.on{background:var(--side);border-color:var(--side);color:#fff;cursor:default}.lang-btn:disabled:not(.on){opacity:.6}.lang-err{order:-1;margin-right:6px;color:var(--bad-ink);font-size:11px}.pager{gap:8px}.pager,.steps{display:flex;align-items:center}.steps{gap:22px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;flex-wrap:wrap}.step{display:flex;gap:8px;font-size:13px}.step,.step .n{align-items:center}.step .n{width:24px;height:24px;border-radius:50%;display:inline-flex;justify-content:center;font-size:12px;font-weight:600;background:var(--primary);color:#fff}.step .n.done{background:#1c7c3f}.step .n.todo{background:var(--field);color:#3b4149}.tabs{display:flex;gap:6px}.tabs a{padding:7px 12px;border-radius:8px;font-size:13px;text-decoration:none;color:var(--ink);border:1px solid var(--field);background:#fff}.tabs a.on{background:var(--side);color:#fff;border-color:var(--side)}pre.json{margin:0;font-size:11px;white-space:pre-wrap;word-break:break-all;max-width:520px;color:var(--muted)}details>summary{cursor:pointer}