@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-Bnh6xcKr.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-Ch-K9LVU.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-BD2oGHtS.woff2) format("woff2-variations");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{--navy: #073554;--navy-deep: #052539;--navy-soft: #0d4870;--sky: #09b3db;--sky-text: #0a6f8a;--sky-tint: #e3f6fb;--bg: #f3f6f8;--surface: #ffffff;--surface-2: #f7f9fa;--line: #d9e1e7;--line-soft: #e8edf1;--ink: #0f1e29;--muted: #5a6a76;--good: #1b7a4b;--good-tint: #e2f3ea;--warn: #9a5a00;--warn-tint: #fdf0db;--bad: #b42318;--bad-tint: #fdecea;--info: #0a6f8a;--info-tint: #e3f6fb;--on-navy: #ffffff;--on-navy-muted: #a9c2d4;--shadow: 0 1px 2px rgb(7 53 84 / .06), 0 6px 20px rgb(7 53 84 / .06);--font: "Plus Jakarta Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--r: 10px;--r-lg: 16px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0b141b;--surface: #111d26;--surface-2: #15232e;--line: #26394a;--line-soft: #1c2d3a;--ink: #e7eef3;--muted: #93a7b6;--sky-text: #45c9ea;--sky-tint: #0f3240;--good: #57c38c;--good-tint: #133126;--warn: #f0b45a;--warn-tint: #352710;--bad: #f2776c;--bad-tint: #3a1a17;--info: #45c9ea;--info-tint: #0f3240;--navy-soft: #0f4d78;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 6px 20px rgb(0 0 0 / .3);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}h1{font-size:1.85rem;font-weight:750}h2{font-size:1.1rem;font-weight:700}h3{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}p{margin:0}a{color:var(--sky-text)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}ul{margin:0;padding:0;list-style:none}.muted{color:var(--muted)}.small{font-size:.86rem}.block{display:block}.strong{font-weight:700}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.num{text-align:right;font-variant-numeric:tabular-nums}.mt{margin-top:18px}.select{-webkit-user-select:all;user-select:all}.eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sky-text);margin-bottom:6px}.bad-text,.text-bad{color:var(--bad)}.warn-text,.text-warn{color:var(--warn)}.text-info{color:var(--info)}.text-good{color:var(--good)}.center-screen{min-height:100%;display:grid;place-items:center;padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:700}.btn:disabled{opacity:.55}.btn-primary{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.btn-primary:hover:not(:disabled){background:var(--navy-soft)}.btn-block{width:100%;min-height:52px;font-size:1.02rem}.btn-sm{min-height:34px;padding:0 12px;font-size:.86rem}.btn-on-dark{background:transparent;border-color:#ffffff4d;color:var(--on-navy)}.btn-on-dark:hover{background:#ffffff14}.link{background:none;border:0;padding:0;color:var(--sky-text);font-weight:700;text-decoration:underline;text-underline-offset:3px}.icon-btn{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r);border:1px solid rgb(255 255 255 / .25);background:transparent;color:var(--on-navy)}.icon-btn:hover{background:#ffffff1a}.field{display:flex;flex-direction:column;gap:8px;margin:22px 0 14px}.field span{font-weight:700}.field input,.toolbar select,.search{width:100%;min-height:50px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);padding:0 14px;font-size:1.05rem}.field input:focus,.toolbar select:focus,.search:focus-within{border-color:var(--sky);outline:none;box-shadow:0 0 0 3px #09b3db40}.code-input{letter-spacing:.5em;font-variant-numeric:tabular-nums;font-weight:700;font-size:1.4rem!important}.form-error{color:var(--bad);background:var(--bad-tint);border-radius:var(--r);padding:10px 12px;margin-bottom:14px;font-weight:600}.pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.pill-good{background:var(--good-tint);color:var(--good)}.pill-warn{background:var(--warn-tint);color:var(--warn)}.pill-bad{background:var(--bad-tint);color:var(--bad)}.pill-info{background:var(--info-tint);color:var(--info)}.pill-neutral{background:var(--surface-2);color:var(--muted);border:1px solid var(--line-soft)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;font-size:.87rem;font-weight:600}.chip.on{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.state{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;text-align:center;color:var(--muted)}.state strong{color:var(--ink)}.state-error strong{color:var(--bad)}.spinner{width:26px;height:26px;border:3px solid var(--line);border-top-color:var(--sky);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.login{min-height:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.login-brand{background:radial-gradient(120% 90% at 20% 10%,var(--navy-soft) 0%,var(--navy) 45%,var(--navy-deep) 100%);color:var(--on-navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:48px max(24px,env(safe-area-inset-left,0px)) 48px 24px;text-align:center}.login-tagline{color:var(--on-navy-muted);font-weight:600;letter-spacing:.02em}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 28px;box-shadow:var(--shadow)}.login-card h1{font-size:1.6rem;margin-bottom:6px}.login-links{display:flex;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}.demo-code{margin-top:16px;padding:12px 14px;border-radius:var(--r);background:var(--sky-tint);color:var(--ink);border:1px dashed var(--sky)}.demo-code strong{font-size:1.15rem;letter-spacing:.15em;color:var(--sky-text)}.demo-list{width:min(420px,100%)}.demo-list h2{margin-bottom:4px}.demo-list h3{margin:16px 0 8px}.demo-list ul{display:grid;gap:6px}.demo-user{width:100%;display:flex;flex-direction:column;text-align:left;gap:1px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.demo-user:hover{border-color:var(--sky)}.demo-user span{font-size:.85rem;color:var(--muted)}.portal{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:28px;background:var(--navy);color:var(--on-navy);padding:8px max(24px,env(safe-area-inset-right,0px)) 8px max(24px,env(safe-area-inset-left,0px))}.topbar-logo{display:flex;padding:2px 0}.topnav{display:flex;gap:4px;flex:1}.topnav-link{color:var(--on-navy-muted);text-decoration:none;font-weight:600;padding:10px 14px;border-radius:var(--r);position:relative}.topnav-link:hover,.topnav-link.active{color:var(--on-navy)}.topnav-link.active:after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;border-radius:2px;background:var(--sky)}.topbar-right{display:flex;align-items:center;gap:14px}.who{display:flex;align-items:center;gap:10px;line-height:1.25}.who strong,.who small{display:block}.who small{color:var(--on-navy-muted);font-size:.8rem}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--navy-deep);font-weight:800;font-size:.85rem;flex:none}.bottomnav{display:none}.page-area{flex:1;min-width:0}.page{max-width:1240px;margin:0 auto;padding:28px max(24px,env(safe-area-inset-right,0px)) 48px max(24px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:22px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-head p.muted{margin-top:6px}.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);text-decoration:none;font-weight:600;align-self:flex-start}.back:hover{color:var(--ink)}.plate-title{font-size:2.2rem;letter-spacing:.01em}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;display:flex;flex-direction:column;gap:2px;min-width:0}.kpi-label{color:var(--muted);font-size:.85rem;font-weight:600}.kpi-value{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.25}.kpi-note{color:var(--muted);font-size:.84rem}.kpi-note.warn{color:var(--warn)}.kpi-note.bad{color:var(--bad)}.grid-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:start}.grid-halves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.count{background:var(--bad-tint);color:var(--bad);font-weight:800;border-radius:999px;padding:1px 10px;font-size:.85rem}.card-help{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}.card-help .muted{color:var(--on-navy-muted)}.hotline{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:800;color:var(--sky)}.attention>li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.attention>li:last-child{border-bottom:0}.attention-link{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}.attention-link:hover strong{color:var(--sky-text);text-decoration:underline}.dot{width:10px;height:10px;border-radius:50%;margin-top:7px;flex:none}.dot-bad{background:var(--bad)}.dot-warn{background:#e8a33d}.table-wrap{overflow-x:auto;margin:0 -6px}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table .plate{font-weight:800;color:var(--navy);text-decoration:none;letter-spacing:.01em}.table a.strong{color:var(--navy);text-decoration:none}@media (prefers-color-scheme: dark){.table .plate,.table a.strong{color:var(--sky-text)}}.docs>li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-soft)}.docs>li:last-child{border-bottom:0}.doc-icon{width:36px;height:36px;border-radius:9px;background:var(--sky-tint);color:var(--sky-text);display:grid;place-items:center;flex:none}.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.toolbar select{width:auto;min-width:200px;font-size:.95rem;min-height:44px}.search{display:flex;align-items:center;gap:8px;flex:1;min-width:220px;min-height:44px;color:var(--muted)}.search input{border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:.95rem;color:var(--ink)}.vcards{display:none}.vcard{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none}.vcard:hover{border-color:var(--sky)}.vcard-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.vcard .plate{font-size:1.1rem;font-weight:800;color:var(--navy);letter-spacing:.01em}@media (prefers-color-scheme: dark){.vcard .plate{color:var(--sky-text)}}.vcard-row{display:flex;align-items:center;gap:8px;font-size:.9rem}.vcard-row svg{color:var(--muted);flex:none}.console{min-height:100%;display:flex}.sidebar{width:250px;flex:none;background:var(--navy);color:var(--on-navy);display:flex;flex-direction:column;gap:28px;padding:24px 16px;position:sticky;top:0;height:100vh}.sidebar-logo{display:flex;flex-direction:column;align-items:center;gap:6px}.sidebar-logo small{color:var(--on-navy-muted);font-weight:600;letter-spacing:.04em}.sidenav{display:flex;flex-direction:column;gap:4px;flex:1}.sidenav-link{display:flex;align-items:center;gap:10px;color:var(--on-navy-muted);text-decoration:none;font-weight:600;padding:11px 14px;border-radius:var(--r);border-left:3px solid transparent}.sidenav-link:hover{color:var(--on-navy);background:#ffffff0f}.sidenav-link.active{color:var(--on-navy);background:#ffffff1a;border-left-color:var(--sky)}.sidebar-who{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:var(--r);background:#ffffff12}.sidebar-who small{color:var(--on-navy-muted)}.sidebar-who .btn{margin-top:10px;align-self:flex-start}@media (max-width: 1080px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-main,.grid-halves{grid-template-columns:minmax(0,1fr)}.sidebar{width:210px}}@media (max-width: 760px){h1{font-size:1.55rem}.plate-title{font-size:1.8rem}.login{grid-template-columns:minmax(0,1fr)}.login-brand{padding:32px 16px 28px;gap:12px}.login-brand img{height:92px!important}.login-panel{padding:24px 16px 40px;justify-content:flex-start}.login-card{padding:24px 18px}.topbar{padding:6px max(16px,env(safe-area-inset-right,0px)) 6px max(16px,env(safe-area-inset-left,0px))}.topbar-logo img{height:38px!important}.topnav,.who-text,.topbar .icon-btn{display:none}.topbar-right{margin-left:auto}.page{padding:20px max(16px,env(safe-area-inset-right,0px)) 28px max(16px,env(safe-area-inset-left,0px));gap:16px}.kpis{gap:10px}.kpi{padding:12px 14px}.kpi-value{font-size:1.35rem}.card{padding:16px}.bottomnav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:sticky;bottom:0;z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.bottomnav a,.bottomnav button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;background:none;border:0;color:var(--muted);font-size:.8rem;font-weight:600;text-decoration:none}.bottomnav a.active{color:var(--navy)}.console{flex-direction:column}.sidebar{width:auto;height:auto;position:static;flex-direction:row;align-items:center;gap:12px;padding:10px 16px;overflow-x:auto}.sidebar-logo small,.sidebar-who{display:none}.sidebar-logo img{height:36px!important}.sidenav{flex-direction:row}.sidenav-link{white-space:nowrap;padding:8px 12px;border-left:0}.toolbar select{width:100%}.vcards{display:grid;gap:10px}.vcards+.table-wrap{display:none}}@media (max-width: 760px) and (prefers-color-scheme: dark){.bottomnav a.active{color:var(--sky-text)}}
