@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-cyrillic-ext-400-normal-2NNEY4IT.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-400-normal-R5TFPZPA.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-vietnamese-400-normal-4YNBRCN2.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-400-normal-7YKB3GLW.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-latin-ext-400-normal-DETV4OMK.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-400-normal-3TVPHM4Q.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/plus-jakarta-sans-latin-400-normal-EIG3GRNB.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-400-normal-GNGT626H.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-cyrillic-ext-500-normal-ICQOKO3Z.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-500-normal-EYPG33CN.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-vietnamese-500-normal-VNXHDEF3.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-500-normal-INHXTASZ.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-latin-ext-500-normal-ZEMRWY4K.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-500-normal-UA6NZWG2.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/plus-jakarta-sans-latin-500-normal-NGHMNRZC.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-500-normal-77CDR4QO.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-cyrillic-ext-600-normal-S7UNJGCL.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-600-normal-QYPGW4MS.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-vietnamese-600-normal-V3IXZNX5.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-600-normal-P5XL7VYH.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-latin-ext-600-normal-7SBJ4PZZ.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-600-normal-KTG2KSBM.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/plus-jakarta-sans-latin-600-normal-EJXYMLOY.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-600-normal-FM56PCEU.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-cyrillic-ext-700-normal-BPSWBP5S.woff2") format("woff2"),url("./media/plus-jakarta-sans-cyrillic-ext-700-normal-5PWJCKSC.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-vietnamese-700-normal-OTDKNK4B.woff2") format("woff2"),url("./media/plus-jakarta-sans-vietnamese-700-normal-WJ3WOQI4.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-latin-ext-700-normal-KUHVEBZO.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-ext-700-normal-JCLRB63R.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:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url("./media/plus-jakarta-sans-latin-700-normal-3BBEPNMU.woff2") format("woff2"),url("./media/plus-jakarta-sans-latin-700-normal-F25JOMMF.woff") format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-blue: #123A8C;--brand-blue-deep: #092B70;--brand-blue-bright: #1453C5;--brand-yellow: #FFC400;--brand-green: #27A52A;--brand-white: #FFFFFF;--brand-background: #FBFAF7;--font-family-brand: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700}.brand-app-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;overflow:hidden;border-radius:22%;background:var(--brand-blue-deep);box-shadow:0 0 0 1px #ffffff2e;flex-shrink:0}.brand-app-icon img{display:block;width:78%;height:78%;object-fit:contain}:root{--bg: #FBFAF7;--card: #ffffff;--text: #1f2937;--muted: #6b7280;--border: #e5e7eb;--primary: #123A8C;--primary-dark: #092B70;--link: #1453C5;--green: #1E8A21;--red: #b91c1c;--amber: #b45309;--green-bg: #dcfce7;--red-bg: #fee2e2;--amber-bg: #fef3c7;--blue-bg: #dbeafe}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-family-brand);background:var(--bg);color:var(--text);font-size:15px}h1{color:var(--brand-blue-deep);font-weight:700;font-size:1.5rem;margin:0 0 4px}h2{font-size:1.15rem;margin:0 0 12px}h3{font-size:1rem;margin:0 0 8px}a{color:var(--link)}.muted{color:var(--muted)}.small{font-size:.85rem}.right{text-align:right}.nowrap{white-space:nowrap}.pos{color:var(--green)}.neg{color:var(--red)}.page{padding:24px;max-width:1400px;margin:0 auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 1px 2px #0000000a}.grid{display:grid;gap:16px}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1000px){.grid.c3,.grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.grid.c2,.grid.c3,.grid.c4{grid-template-columns:1fr}.page{padding:14px}}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border);background:#fff;color:var(--text);padding:8px 14px;border-radius:8px;text-decoration:none;display:inline-block}button:hover,.btn:hover{background:#f3f4f6}button.primary,.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover{background:var(--primary-dark)}button.danger{color:var(--red);border-color:#fecaca}button.danger:hover{background:var(--red-bg)}button.small,.btn.small{padding:4px 10px;font-size:.85rem}button.link{border:none;background:none;color:var(--primary);padding:2px 4px}button:disabled{opacity:.55;cursor:not-allowed}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:4px}input,select,textarea{font:inherit;width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(255,196,0,.55);border-color:var(--primary)}input[type=checkbox],input[type=radio]{width:auto}.field{margin-bottom:12px}.field.inline{display:flex;align-items:center;gap:8px}.field.inline label{margin:0;color:var(--text)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.seg{display:inline-flex;border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.seg button{border:none;border-radius:0;background:#fff}.seg button.on{background:var(--primary);color:#fff}.seg button.on.green{background:var(--green)}.seg button.on.red{background:var(--red)}table{width:100%;border-collapse:collapse}th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#f9fafb;position:sticky;top:0;z-index:1}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:hover td{background:#fafafa}.table-wrap{overflow:auto;max-height:70vh;border:1px solid var(--border);border-radius:10px}.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:600}.chip.green{background:var(--green-bg);color:var(--green)}.chip.red{background:var(--red-bg);color:var(--red)}.chip.amber{background:var(--amber-bg);color:var(--amber)}.chip.blue{background:var(--blue-bg);color:var(--primary)}.chip.gray{background:#e5e7eb;color:#374151}.kpi .label{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.kpi .value{font-size:1.55rem;font-weight:700;margin:4px 0}.kpi .sub{color:var(--muted);font-size:.82rem}.alert-box{padding:12px 14px;border-radius:8px;margin-bottom:12px}.alert-box.err{background:var(--red-bg);color:#7f1d1d}.alert-box.ok{background:var(--green-bg);color:#14532d}.alert-box.info{background:var(--blue-bg);color:#1e3a8a}.modal-back{position:fixed;inset:0;background:#11182780;display:flex;align-items:flex-start;justify-content:center;padding:4vh 12px;overflow:auto;z-index:100}.modal{background:#fff;border-radius:14px;width:100%;max-width:760px;padding:22px;box-shadow:0 20px 50px #00000040}.modal.sm{max-width:460px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.progress{height:8px;background:#e5e7eb;border-radius:99px;overflow:hidden}.progress>div{height:100%;background:var(--primary)}.progress.warn>div{background:var(--amber)}.progress.bad>div{background:var(--red)}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 8px;border-bottom:1px solid var(--border);padding-bottom:4px}.empty{text-align:center;color:var(--muted);padding:30px 10px}@media(max-width:900px){html,body{font-size:16px}.page{padding:14px 12px}.modal-back{padding:2vh 8px}.modal{padding:16px}.table-wrap{max-height:none;-webkit-overflow-scrolling:touch}button,.btn{padding:10px 14px}button.small,.btn.small{padding:6px 10px}input,select,textarea{font-size:16px}th,td{padding:8px}.page-head h1{font-size:1.3rem}.row>input[type=file]{max-width:100%!important;width:100%}}@media(max-width:520px){.row{gap:8px}.kpi .value{font-size:1.3rem}}
