:root{--navy:#102c45;--navy-2:#173c59;--blue:#0a6fa9;--blue-dark:#075783;--ink:#152a3b;--muted:#607487;--line:#dbe5ec;--canvas:#f3f6f8;--surface:#fff;--soft:#edf4f8;--green:#15795e;--amber:#b36a13;--red:#b43a45;--shadow:0 14px 35px rgba(17,52,76,.09)}
*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"Segoe UI","Be Vietnam Pro",Arial,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button{min-height:44px;border:0;border-radius:10px;background:var(--blue);color:#fff;padding:0 17px;font-weight:750;cursor:pointer;transition:background-color .2s,box-shadow .2s,opacity .2s}button:hover{background:var(--blue-dark);box-shadow:0 8px 18px rgba(10,111,169,.18)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(10,111,169,.25);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}input,select,textarea{border:1px solid #cbd9e3;border-radius:9px;background:#fff;color:var(--ink);padding:10px 12px;min-height:44px}textarea{resize:vertical}code{font-family:Consolas,monospace;color:#183a55;background:#eef4f8;border-radius:5px;padding:3px 6px}.eyebrow{margin:0 0 8px;color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.13em}.muted{color:var(--muted)}.ghost,.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:none}.ghost:hover,.secondary:hover{background:var(--soft);box-shadow:none}.danger-light{background:#fff0f1;color:#a12d39;border:1px solid #f0c8cd}.danger-light:hover{background:#fbe1e4;box-shadow:none}.brand-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#18a2dc,#05689b);color:#fff;font-weight:900;letter-spacing:-.07em;box-shadow:0 14px 30px rgba(0,24,45,.4)}.brand-mark.small{width:42px;height:42px;border-radius:12px;box-shadow:none;flex:0 0 auto}

.loading-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:22px;background:var(--navy);color:#d7e6ef}.loading-screen .brand-mark{margin:0}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.13fr) minmax(430px,.87fr);background:linear-gradient(135deg,#08253c 0%,#103d5b 58%,#e9f1f5 58%)}.login-brief{align-self:center;padding:8vw;color:#fff;max-width:900px}.login-brief .brand-mark{margin-bottom:34px}.login-brief .eyebrow{color:#9edcff}.login-brief h1{font-size:clamp(38px,5.2vw,70px);line-height:1.04;letter-spacing:-.04em;margin:0 0 25px;max-width:800px}.lead{max-width:680px;color:#d7e8f1;font-size:18px;line-height:1.75}.workflow-strip{display:flex;gap:30px;margin-top:48px;color:#edf7fc}.workflow-strip span{display:flex;align-items:center;gap:9px}.workflow-strip b{color:#80d6ff;font-size:12px}.login-panel{align-self:center;justify-self:center;width:min(470px,calc(100% - 48px));padding:42px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.88);border-radius:24px;box-shadow:0 30px 70px rgba(18,48,79,.15);backdrop-filter:blur(12px)}.login-panel h2{font-size:32px;line-height:1.2;margin:0 0 6px}.login-panel form{display:grid;gap:18px;margin-top:29px}.login-panel label{display:grid;gap:7px;font-size:14px;font-weight:750}.login-panel form>button{min-height:50px}.form-error{margin:0;padding:10px 12px;background:#fff0f1;border:1px solid #f1cbd0;border-radius:8px;color:#a72c3a;font-size:13px}.login-samples{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center}.login-samples span{font-size:12px;color:var(--muted);font-weight:700;margin-right:3px}.login-samples button{min-height:36px;padding:0 10px;background:#edf4f8;color:#29506c;font-size:12px;box-shadow:none}.support-note{text-align:center;margin:22px 0 0;color:var(--muted);font-size:13px}

.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--navy),#0d263a);color:#fff;padding:23px 17px;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 7px 29px}.sidebar-brand>div{display:grid}.sidebar-brand small{font-size:11px;color:#9cb7c9}.sidebar nav{display:grid;gap:5px}.sidebar nav button{background:transparent;color:#bdcdd8;text-align:left;display:flex;align-items:center;gap:12px;padding:0 13px;font-weight:650;box-shadow:none}.sidebar nav button span{font-size:10px;color:#7595aa}.sidebar nav button:hover,.sidebar nav .nav-active{background:rgba(255,255,255,.09);color:#fff}.sidebar nav .nav-active span{color:#7ed4ff}.sidebar-help{margin-top:auto;border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:15px;display:grid;gap:4px;background:rgba(255,255,255,.04)}.sidebar-help b{font-size:12px;color:#8edbff}.sidebar-help span{font-size:13px}.sidebar-help small{color:#94acbc;font-size:11px}.app-content{min-width:0}.topbar{min-height:92px;padding:19px 31px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.topbar h1{font-size:23px;line-height:1.25;margin:0;letter-spacing:-.02em}.account-box{display:flex;align-items:center;gap:10px}.account-box>div:nth-child(2){display:grid}.account-box small{font-size:11px;color:var(--muted)}.avatar,.unit-initial{width:39px;height:39px;border-radius:10px;background:#dceef7;color:#075b88;display:grid;place-items:center;font-size:12px;font-weight:850;flex:0 0 auto}.page-content{padding:28px 31px 54px;max-width:1900px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:22px}.page-heading h2{margin:0;font-size:29px;line-height:1.25;letter-spacing:-.025em}.page-heading p:not(.eyebrow){margin:7px 0 0;color:var(--muted)}.as-of{font-size:12px;color:var(--muted);padding-top:10px}.toast{position:fixed;z-index:50;right:22px;top:105px;max-width:430px;background:#0f3955;color:#fff;padding:12px 12px 12px 16px;border-radius:12px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px}.toast span{font-size:13px}.toast button{min-height:34px;background:rgba(255,255,255,.12);padding:0 10px}.badge{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border-radius:100px;padding:6px 10px;font-size:11px;font-weight:800;background:#e8eef2;color:#5a6d7c}.badge span{width:7px;height:7px;border-radius:50%;background:currentColor}.badge-draft{background:#fff4df;color:#9c6014}.badge-submitted{background:#e2f1f9;color:#086697}.badge-confirmed{background:#e1f3eb;color:#147258}.badge-needs_revision{background:#ffe8ea;color:#a93642}.badge-not_started{background:#edf1f4;color:#687a87}

.notice{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:12px;margin-bottom:17px;font-size:13px}.notice strong{white-space:nowrap}.notice-warn{background:#fff5df;border:1px solid #ecd5a7;color:#774d16}.notice-success{background:#e7f5ee;border:1px solid #c2e5d5;color:#145e49}.hero-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:35px;background:linear-gradient(125deg,#083e61,#08749f);color:#fff;padding:31px;border-radius:18px;box-shadow:0 18px 36px rgba(9,67,99,.2)}.hero-kicker{font-size:10px;letter-spacing:.15em;color:#8cdafa;font-weight:850}.hero-card h3{font-size:27px;margin:9px 0 6px}.hero-card p{margin:0;color:#d6ecf6;max-width:660px}.hero-card>button{background:#fff;color:#075b87;white-space:nowrap}.hero-progress{display:grid;justify-items:center;gap:5px}.hero-progress small{color:#c9e5f1;font-size:10px}.progress-ring{--progress:0deg;width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#83dcff var(--progress),rgba(255,255,255,.18) 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#0a5d85}.progress-ring span{position:relative;z-index:1;font-size:16px;font-weight:850}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:17px}.metric{padding:21px;background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;gap:5px;min-width:0}.metric>span{font-size:12px;color:var(--muted)}.metric strong{font-size:24px;color:var(--navy);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric small{font-size:11px;color:var(--muted)}.metric.green{border-top:3px solid var(--green)}.metric.amber{border-top:3px solid #d18a23}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;margin-top:17px;overflow:hidden}.panel-head{padding:20px 21px 15px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.panel-head h3{margin:0;font-size:19px}.panel-head small{color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);padding:10px 22px 25px}.timeline>div{display:flex;align-items:center;gap:10px;position:relative}.timeline>div:not(:last-child):after{content:"";height:2px;background:#dce6ed;position:absolute;left:43px;right:12px;top:16px}.timeline b{width:32px;height:32px;border-radius:50%;background:#e6edf2;color:#71838f;display:grid;place-items:center;position:relative;z-index:1}.timeline .done b{background:var(--green);color:#fff}.timeline .done:after{background:#8ecdbb!important}.timeline span{display:grid;position:relative;z-index:2;background:#fff;padding-right:10px}.timeline small{color:var(--muted);font-size:11px}

.entry-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:17px;align-items:start}.step-nav{position:sticky;top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:9px;display:grid;gap:4px}.step-nav button{background:transparent;color:var(--muted);box-shadow:none;display:flex;align-items:center;gap:11px;text-align:left;padding:8px 10px;font-size:13px}.step-nav button b{font-size:10px;color:#8ba0af}.step-nav button.active,.step-nav button:hover{background:#eaf3f8;color:#075c89}.step-nav button.active b{color:#0874ad}.entry-main{min-width:0}.entry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 17px;margin-bottom:14px}.entry-toolbar>div:first-child{display:grid}.entry-toolbar small{font-size:9px;color:var(--blue);font-weight:850;letter-spacing:.12em}.entry-toolbar>div:last-child{display:flex;gap:8px}.form-sections{display:grid;gap:14px}.form-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;min-width:0}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}.section-title h3{margin:0;font-size:19px}.section-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.section-title>span{font-size:10px;font-weight:800;color:var(--blue);background:#eaf4f9;padding:5px 8px;border-radius:20px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-grid>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.65fr);align-items:center;gap:12px;padding:12px 13px;border:1px solid #e2eaf0;border-radius:10px}.field-grid label>span{font-size:13px;display:grid}.field-grid em{font-style:normal;font-size:9px;color:#0d799b;font-weight:800;margin-top:3px}.field-grid label>div{position:relative}.field-grid label small{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:9px;color:#7a8b97;pointer-events:none}.number-input{width:100%;text-align:right;padding-right:88px!important;font-variant-numeric:tabular-nums}.computed-field{background:#f2f7fa}.computed-field input{background:#e6eef3;color:#315168}.entry-footer{display:flex;justify-content:space-between;margin-top:14px}.summary-input{min-width:1080px}.summary-input td:nth-child(n+3){width:145px}.summary-input .number-input{padding-right:10px!important;min-width:120px}.table-scroll{overflow:auto;max-width:100%;border-radius:9px}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.data-table th{position:sticky;top:0;z-index:3;background:#edf3f7;color:#395468;text-align:left;padding:10px;border-bottom:1px solid #cfdae2;white-space:nowrap}.data-table td{padding:9px 10px;border-bottom:1px solid #e5ecf1;background:#fff;vertical-align:middle}.data-table tbody tr:hover td{background:#f8fbfc}.data-table td:nth-child(n+3){font-variant-numeric:tabular-nums;text-align:right}.data-table .major-row td{font-weight:800;background:#f0f5f8}.data-table input{width:100%;min-width:120px;min-height:38px}.data-table tfoot td{background:#eef5f8}.line-editor+.line-editor{margin-top:24px}.line-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.line-editor-head h4{margin:0}.line-editor-head button{min-height:36px;font-size:11px}.row-remove{background:#fff0f1;color:#a33842;min-height:34px;padding:0 9px;font-size:11px;box-shadow:none}.difference-card{margin-top:17px;border-radius:11px;background:var(--navy);color:#fff;padding:17px;display:flex;justify-content:space-between;gap:15px}.explanation{display:grid;gap:8px;margin-top:18px;font-weight:750;font-size:13px}.report-stack{display:grid;gap:18px}.paper-report{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 8px 20px rgba(21,57,81,.05)}.report-title{text-align:center;position:relative;margin-bottom:18px}.report-title>span{font-size:11px;font-weight:800}.report-title>small{position:absolute;right:0;top:0}.report-title h2{font-family:"Times New Roman",serif;font-size:21px;margin:18px 0 4px}.report-title p{font-weight:700;margin:0}.report-title em{display:block;text-align:right;font-size:11px;color:var(--muted)}.print-table{min-width:850px}.print-table th,.print-table td{border-right:1px solid #dbe3e8;border-bottom:1px solid #dbe3e8}.print-table th:first-child,.print-table td:first-child{border-left:1px solid #dbe3e8}.report-summary-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}

.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:17px}.admin-grid .panel{min-width:0}.status-bars{padding:4px 22px 22px;display:grid;gap:15px}.status-bars>div{display:grid;grid-template-columns:100px minmax(0,1fr) 25px;align-items:center;gap:10px;font-size:12px}.status-bars>div>div{height:8px;background:#edf1f3;border-radius:10px;overflow:hidden}.status-bars i{height:100%;display:block;min-width:2px;background:#8b9ba7}.status-bars .bar-confirmed{background:var(--green)}.status-bars .bar-submitted{background:#1590c2}.status-bars .bar-needs_revision{background:#c84d58}.status-bars .bar-draft{background:#dda349}.recent-list{display:grid;padding:0 10px 12px}.recent-list>button{background:transparent;color:var(--ink);box-shadow:none;display:grid;grid-template-columns:auto 1fr auto;text-align:left;align-items:center;gap:10px;padding:8px 10px}.recent-list>button:hover{background:#f1f6f8}.recent-list>button>span:nth-child(2){display:grid}.recent-list small{font-size:10px;color:var(--muted)}.empty{color:var(--muted);padding:12px}.filter-bar{display:grid;grid-template-columns:minmax(300px,1fr) 230px;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;margin-bottom:14px}.filter-bar.one{grid-template-columns:minmax(300px,550px)}.filter-bar label{display:grid;gap:5px;font-size:11px;font-weight:750;color:var(--muted)}.wide-panel{margin-top:0}.detail-table{width:max-content;min-width:100%}.detail-table th{max-width:105px;white-space:normal;min-width:95px;text-align:center}.detail-table th small{display:block;color:#7890a0;font-weight:500;font-size:9px}.detail-table td{text-align:right;white-space:nowrap}.detail-table .sticky-col{position:sticky;z-index:2;text-align:left}.detail-table .first{left:0;min-width:50px}.detail-table .second{left:50px;min-width:240px;max-width:240px}.detail-table thead .sticky-col{z-index:4;background:#e7eff4}.detail-table tbody .sticky-col{background:#fff}.detail-table td.second{white-space:normal}.detail-table td.second small{display:block;color:var(--muted)}.table-caption{padding:11px 15px;color:var(--muted);font-size:11px}.report-picker{display:grid;grid-template-columns:minmax(250px,.65fr) minmax(380px,1.35fr);gap:10px;margin-bottom:17px}.review-box{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(350px,1.2fr);gap:18px;align-items:center;background:#fff;border:1px solid #bdd9e7;border-left:4px solid var(--blue);border-radius:14px;padding:20px}.review-box h3{margin:0}.review-box p:not(.eyebrow){color:var(--muted);font-size:12px}.review-box>div:last-child{grid-column:2;display:flex;justify-content:flex-end;gap:8px}.empty-state{min-height:260px;border:1px dashed #c4d3dd;border-radius:14px;display:grid;place-content:center;justify-items:center;color:var(--muted);background:#fff}.empty-state strong{color:var(--ink);font-size:18px}

@media(max-width:1180px){.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.hero-card{grid-template-columns:1fr auto}.hero-card>button{grid-column:1/3}.account-box>div:nth-child(2){display:none}.review-box{grid-template-columns:1fr}.review-box>div:last-child{grid-column:1}.entry-layout{grid-template-columns:205px minmax(0,1fr)}}
@media(max-width:850px){.login-shell{grid-template-columns:1fr;background:var(--navy)}.login-brief{padding:48px 24px 18px}.login-brief h1{font-size:39px}.workflow-strip{display:none}.login-panel{margin:20px auto 48px}.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:13px;display:block}.sidebar-brand{padding:0 4px 12px}.sidebar nav{display:flex;overflow:auto;padding-bottom:2px}.sidebar nav button{white-space:nowrap;flex:0 0 auto}.sidebar-help{display:none}.topbar{padding:15px 18px}.topbar h1{font-size:19px}.page-content{padding:20px 16px 44px}.page-heading{flex-direction:column}.page-heading h2{font-size:25px}.account-box .avatar{display:none}.hero-card{grid-template-columns:1fr}.hero-card>button{grid-column:1}.hero-progress{justify-self:start}.metric-grid,.admin-metrics{grid-template-columns:1fr}.timeline{grid-template-columns:1fr;gap:14px}.timeline>div:after{display:none}.entry-layout{grid-template-columns:1fr}.step-nav{position:static;display:flex;overflow:auto}.step-nav button{min-width:155px}.entry-toolbar{align-items:flex-start;flex-direction:column}.entry-toolbar>div:last-child{width:100%}.entry-toolbar>div:last-child button{flex:1}.filter-bar,.filter-bar.one,.report-picker{grid-template-columns:1fr}.review-box{grid-template-columns:1fr}.report-summary-row{grid-template-columns:1fr}.notice{align-items:flex-start;flex-direction:column;gap:3px}.paper-report{padding:15px}.field-grid>label{grid-template-columns:1fr}.number-input{padding-right:88px!important}}
@media(max-width:520px){.login-panel{padding:28px 22px;width:calc(100% - 28px)}.login-brief h1{font-size:34px}.topbar{align-items:flex-start}.topbar .ghost{padding:0 10px}.account-box{gap:5px}.hero-card{padding:23px}.hero-card h3{font-size:23px}.page-heading h2{font-size:23px}.difference-card{flex-direction:column}.review-box>div:last-child{flex-direction:column}.report-title>small{position:static;display:block;margin-bottom:8px}}
@media print{.sidebar,.topbar,.page-heading,.toast,.report-picker,.review-box{display:none!important}.app-shell{display:block}.page-content{padding:0}.paper-report{box-shadow:none;border:0;page-break-after:always}.table-scroll{overflow:visible}.print-table{min-width:0;font-size:9px}body{background:#fff}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.skip-link{position:fixed;left:12px;top:-60px;z-index:60;background:#fff;color:var(--navy);padding:10px 14px;border-radius:8px;font-weight:800}.skip-link:focus{top:12px}button,input,select,textarea{touch-action:manipulation}.table-caption{display:flex;align-items:center;justify-content:space-between;gap:12px}.table-caption>div{display:flex;align-items:center;gap:8px}.table-caption button{min-height:34px;padding:0 10px;font-size:10px}

a{color:var(--blue);text-decoration:none}.button-link{min-height:44px;border-radius:10px;background:var(--blue);color:#fff;padding:0 17px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:.2s}.button-link:hover{background:var(--blue-dark)}.button-link.light{background:#fff;color:#075b87}.button-link.ghost{border:1px solid var(--line);background:#fff;color:var(--ink)}.button-link.disabled{opacity:.45;pointer-events:none}.nav-link{min-height:44px;border-radius:10px;background:transparent;color:#bdcdd8;display:flex;align-items:center;gap:12px;padding:0 13px;font-weight:650}.nav-link span{font-size:10px;color:#7595aa}.nav-link:hover,.nav-link.nav-active{background:rgba(255,255,255,.09);color:#fff}.nav-link.nav-active span{color:#7ed4ff}.step-nav a{min-height:44px;border-radius:10px;color:var(--muted);display:flex;align-items:center;gap:11px;padding:8px 10px;font-size:13px}.step-nav a b{font-size:10px;color:#8ba0af}.step-nav a.active,.step-nav a:hover{background:#eaf3f8;color:#075c89}.step-nav a.active b{color:#0874ad}.entry-toolbar form,.account-box form{display:inline-flex;margin:0}.report-picker label{display:grid;gap:6px;font-size:12px;font-weight:750;color:var(--muted)}.recent-list>a{color:var(--ink);display:grid;grid-template-columns:auto 1fr auto;text-align:left;align-items:center;gap:10px;padding:8px 10px;border-radius:10px}.recent-list>a:hover{background:#f1f6f8}.recent-list>a>span:nth-child(2){display:grid}.recent-list>a small{font-size:10px;color:var(--muted)}.fatal-card{width:min(620px,calc(100% - 32px));margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px;box-shadow:var(--shadow)}.fatal-card h1{margin-top:0}.form-section>button,.form-sections>button{justify-self:end}.login-panel .form-error{margin-top:18px;margin-bottom:-12px}.data-table input.computed-field{background:#e6eef3;color:#315168}.review-box textarea{width:100%}.report-picker select{width:100%}.page-heading>div:last-child button{margin-left:8px}

/* Cấu trúc điều hướng và biểu mẫu TỔNG HỢP */
.nav-group-title{margin:18px 12px 4px;color:#7897aa;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.nav-child{padding-left:18px;font-size:13px;line-height:1.25}.nav-child span{flex:0 0 19px}.footer-hint{align-self:center;color:var(--muted);font-size:12px}.tong-hop-input{min-width:1180px}.tong-hop-input th:first-child{width:55px}.tong-hop-input th:nth-child(2){min-width:420px}.tong-hop-input th:nth-child(n+3){width:150px;white-space:normal;text-align:center}.tong-hop-input td:nth-child(2){padding-left:calc(10px + var(--indent,0)*18px);text-align:left}.tong-hop-input td:nth-child(2)>small{display:block;color:var(--blue);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.tong-hop-input .number-input{min-width:125px;padding:8px 10px!important}.tong-hop-input .note-row td{background:#fafcfd;color:var(--muted);font-style:italic}.tong-hop-input .note-row td:nth-child(n+3){text-align:center}.dash{color:#a4b2bc}.dynamic-heading td{background:#f8fbfd!important;color:#476175}.dynamic-heading td[colspan]{padding:8px 10px 8px 30px;text-align:left}.dynamic-heading td[colspan]>strong{font-size:11px}.compact{float:right;min-height:34px!important;padding:0 10px!important;font-size:10px!important}.dynamic-row td{background:#fbfdfe!important}.dynamic-label-wrap{display:flex;align-items:center;gap:6px}.dynamic-label-wrap .label-input{min-width:280px}.dynamic-label-wrap .row-remove{flex:0 0 34px;font-size:17px;padding:0}.dynamic-code{text-align:center!important;color:#708696;font-weight:750}.budget-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.budget-totals article{border:1px solid var(--line);border-radius:12px;padding:15px;display:grid;gap:5px}.budget-totals span{font-size:11px;color:var(--muted)}.budget-totals strong{font-size:22px;color:var(--navy)}.budget-totals .difference{background:var(--navy);border-color:var(--navy)}.budget-totals .difference span{color:#bcd1df}.budget-totals .difference strong{color:#fff}.line-editor-head small{color:var(--muted);font-size:11px}.unit-budget-report td:nth-child(2){text-align:left}.management-form{display:grid;grid-template-columns:180px minmax(280px,1fr) auto auto;gap:12px;align-items:end;background:#fff;border:1px solid #bdd9e7;border-left:4px solid var(--blue);border-radius:14px;padding:18px;margin-bottom:15px}.management-form>label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:750}.management-form .check-label{display:flex;align-items:center;min-height:44px;color:var(--ink);white-space:nowrap}.management-form .check-label input{width:20px;min-height:20px}.management-form>div{display:flex;gap:8px}.table-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:8px;background:#edf5f9;font-weight:750}.cell-note{display:block;color:var(--muted);font-size:10px}.page-heading>button{flex:0 0 auto}

@media(max-width:1180px){.management-form{grid-template-columns:1fr 1fr}.management-form>div{justify-content:flex-end}.budget-totals{grid-template-columns:1fr 1fr}.budget-totals .difference{grid-column:1/3}}
@media(max-width:850px){.sidebar nav .nav-group-title{display:none}.sidebar nav .nav-link{white-space:nowrap;flex:0 0 auto}.budget-totals{grid-template-columns:1fr}.budget-totals .difference{grid-column:auto}.management-form{grid-template-columns:1fr}.management-form>div{justify-content:stretch}.management-form>div>*{flex:1}.tong-hop-input .number-input{padding:8px 10px!important}}

/* Giao diện Hệ thống Kế hoạch Tài chính Giáo dục */
:root{--canvas:#f5f7fa;--surface:#fff;--soft:#f0f5f8;--line:#d8e2e9;--navy:#0e3049;--blue:#0877ad;--blue-dark:#065b87;--ink:#10283b;--muted:#607789;--shadow:0 10px 30px rgba(20,55,78,.07)}
body{font-size:15px}.app-shell{grid-template-columns:270px minmax(0,1fr)}.sidebar{padding:22px 18px;background:linear-gradient(180deg,#0e3049 0%,#102a40 100%)}.sidebar-brand{padding:0 6px 24px}.sidebar-brand strong{font-size:14px;line-height:1.25}.sidebar-brand small{font-size:11px}.topbar{min-height:82px;padding:14px 28px}.topbar-actions{display:flex;align-items:center;gap:18px}.year-picker{margin:0}.year-picker label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:750}.year-picker select{min-height:40px;padding:7px 32px 7px 10px}.page-content{padding:26px 28px 60px}.page-heading{margin-bottom:20px}.page-heading h2{font-size:28px}.login-brief h1{font-size:clamp(42px,4.6vw,66px);max-width:820px}.login-panel{border-radius:20px}.login-panel form{margin-top:26px}.hero-card{background:linear-gradient(120deg,#084a70,#087fa9);box-shadow:0 16px 35px rgba(8,73,108,.17)}
.password-wrap{position:relative}.password-wrap input{width:100%;padding-right:70px}.password-wrap button{position:absolute;right:5px;top:5px;min-height:34px;padding:0 10px;background:transparent;color:var(--blue-dark);box-shadow:none;font-size:12px}.password-wrap button:hover{background:#edf4f8;box-shadow:none}

.entry-heading{margin-bottom:14px}.entry-heading p:not(.eyebrow){max-width:900px}.entry-viewbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;margin-bottom:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.entry-viewbar>span{color:var(--muted);font-size:12px}.mode-switch{display:inline-flex;padding:3px;background:#eaf0f4;border-radius:9px}.mode-switch a{min-height:38px;padding:0 14px;display:flex;align-items:center;border-radius:7px;color:#496174;font-size:12px;font-weight:750}.mode-switch a.active{background:#fff;color:var(--blue-dark);box-shadow:0 2px 7px rgba(20,55,78,.1)}.entry-layout{grid-template-columns:220px minmax(0,1fr);gap:16px}.entry-layout-all .step-nav{top:14px}.step-nav{padding:8px;border-radius:12px;box-shadow:0 5px 16px rgba(20,55,78,.04)}.step-nav a{border-left:3px solid transparent;border-radius:8px}.step-nav a.active{border-left-color:var(--blue)}.entry-toolbar{position:sticky;top:0;z-index:10;border-radius:12px;padding:12px 15px;box-shadow:0 5px 16px rgba(20,55,78,.05)}.entry-toolbar strong{font-size:14px}.all-entry-sections{display:grid;gap:20px}.entry-anchor{scroll-margin-top:84px}.form-section{padding:0;border-radius:13px;box-shadow:0 5px 18px rgba(20,55,78,.045);overflow:hidden}.section-title{margin:0;padding:17px 18px;background:#fff}.section-title>div{display:flex;align-items:flex-start;gap:12px}.section-number{width:34px;height:34px;border-radius:9px;background:#e8f3f8;color:var(--blue-dark);display:grid;place-items:center;font-size:10px;font-weight:850;flex:0 0 auto}.section-title h3{font-size:18px}.section-title p{font-size:11px}.table-scroll{border-radius:0}.tong-hop-input{min-width:1080px}.tong-hop-input th{top:0;padding:11px 10px;background:#edf3f6;color:#294a61;font-size:11px}.tong-hop-input th:first-child{padding-left:16px}.tong-hop-input th:nth-child(2){min-width:390px}.tong-hop-input td{padding:7px 10px}.tong-hop-input td:first-child{padding-left:16px;color:#34566d;font-weight:700}.tong-hop-input td:nth-child(2){font-size:12px;line-height:1.45}.tong-hop-input .number-input{min-width:112px;min-height:40px;border-color:#c6d7e2;border-radius:8px;background:#fff}.tong-hop-input .number-input:hover:not([readonly]){border-color:#79aeca}.tong-hop-input .number-input:focus{border-color:var(--blue);background:#faffff}.tong-hop-input input[readonly]{background:#eaf2f6;color:#214860;border-color:#d3e1e9;cursor:default}.tong-hop-input .major-row td{background:#edf4f7}.tong-hop-input .computed-row td:nth-child(2){color:#153a52}.tong-hop-input tbody tr:hover td{background:#f7fafc}.tong-hop-input tbody tr.major-row:hover td{background:#e8f1f5}.dynamic-heading td{border-top:1px dashed #bfd1dc}.dynamic-row td{background:#fbfdfe!important}.form-savebar{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px}.form-savebar span{color:var(--muted);font-size:11px}.form-savebar button{min-width:145px}.budget-totals{padding:18px 18px 0}.line-editor,.explanation{margin-left:18px;margin-right:18px}.explanation{margin-bottom:18px}.footer-hint{font-size:12px}

.budget-year-create{display:grid;grid-template-columns:minmax(270px,1.1fr) 150px minmax(260px,.9fr) auto auto;gap:14px;align-items:end;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin-bottom:18px}.budget-year-create h3{margin:0;font-size:19px}.budget-year-create p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:12px}.budget-year-create>label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:750}.budget-year-create .check-label{display:flex;align-items:center;min-height:44px;color:var(--ink);white-space:nowrap}.budget-year-create .check-label input{width:20px;min-height:20px}.compact-action{min-height:38px!important}.current-year-mark{color:var(--green);font-size:11px;font-weight:800}.report-stack{gap:20px}

@media(max-width:1250px){.budget-year-create{grid-template-columns:1fr 1fr}.budget-year-create>div{grid-column:1/3}.topbar-actions{gap:10px}.entry-layout{grid-template-columns:195px minmax(0,1fr)}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px}.sidebar-brand{padding:0 4px 10px}.sidebar nav{display:flex;overflow:auto}.sidebar nav .nav-link{white-space:nowrap;flex:0 0 auto}.sidebar nav .nav-group-title{display:none}.topbar{padding:12px 16px}.topbar-actions{margin-left:auto}.year-picker{display:none}.page-content{padding:18px 14px 46px}.entry-viewbar{align-items:flex-start;flex-direction:column}.entry-viewbar>span{padding-left:4px}.entry-layout,.entry-layout.entry-layout-all{grid-template-columns:1fr}.step-nav{position:static;display:flex;overflow:auto}.step-nav a{min-width:165px}.entry-toolbar{top:0}.budget-year-create{grid-template-columns:1fr}.budget-year-create>div{grid-column:auto}.budget-year-create button{width:100%}}
@media(max-width:700px){body{font-size:16px}.topbar h1{font-size:18px}.account-box>div:nth-child(2){display:none}.page-heading h2{font-size:24px}.entry-toolbar{align-items:stretch}.entry-toolbar>div:last-child{width:100%;display:grid;grid-template-columns:1fr 1fr}.entry-toolbar>div:last-child>*{width:100%}.entry-toolbar form button{width:100%}.mode-switch{width:100%}.mode-switch a{flex:1;justify-content:center}.entry-viewbar>span{display:none}.section-title{align-items:flex-start}.section-title>span{white-space:nowrap}.tong-hop-input{min-width:0!important;display:block}.tong-hop-input thead{display:none}.tong-hop-input tbody,.tong-hop-input tr{display:block}.tong-hop-input tr{border-bottom:8px solid var(--canvas);padding:8px 0}.tong-hop-input td{display:block;border:0!important;padding:6px 12px!important;background:#fff!important}.tong-hop-input td:first-child{float:left;width:44px;padding-top:10px!important}.tong-hop-input td:nth-child(2){margin-left:44px;min-height:44px;padding-top:10px!important}.tong-hop-input td:nth-child(n+3){clear:both;display:grid;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr);align-items:center;gap:10px;text-align:left}.tong-hop-input td:nth-child(n+3):before{content:attr(data-label);font-size:11px;color:var(--muted);font-weight:650}.tong-hop-input td:nth-child(n+3) input{min-width:0;width:100%}.tong-hop-input .major-row{background:#edf4f7}.tong-hop-input .major-row td{background:#edf4f7!important}.tong-hop-input .dynamic-heading td:first-child{display:none}.tong-hop-input .dynamic-heading td:nth-child(2){margin:0}.dynamic-label-wrap .label-input{min-width:0}.form-savebar{position:sticky;bottom:0;z-index:9;justify-content:stretch;box-shadow:0 -8px 20px rgba(20,55,78,.08)}.form-savebar span{display:none}.form-savebar button{width:100%}.budget-totals{grid-template-columns:1fr}.budget-totals .difference{grid-column:auto}}

/* Brand, login and navigation refresh */
.login-shell{position:relative;isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(420px,520px);background-image:linear-gradient(90deg,rgba(0,26,58,.08) 0%,rgba(0,30,64,.14) 48%,rgba(0,26,54,.7) 100%),url("login-background.png");background-size:cover;background-position:center;overflow:hidden}
.login-brief{align-self:stretch;max-width:none;padding:46px 5vw;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.login-brand-lockup{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;padding:9px 15px 9px 9px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(21,25,31,.58);box-shadow:0 14px 32px rgba(0,0,0,.2);backdrop-filter:blur(10px)}
.login-brand-lockup img{width:58px;height:58px;object-fit:contain;border-radius:15px;flex:0 0 auto}
.login-brand-lockup>div{display:grid;line-height:1.15}.login-brand-lockup strong{font-size:18px;letter-spacing:.035em}.login-brand-lockup span{margin-top:7px;color:#e7dcd5;font-size:11px;font-weight:800;letter-spacing:.22em}
.login-brief-copy{width:min(600px,100%);padding:20px 23px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(0,24,54,.68);box-shadow:0 18px 45px rgba(0,16,38,.24);backdrop-filter:blur(9px)}
.login-brief-copy .eyebrow{color:#81d7ff}.login-brief-copy h1{font-size:clamp(28px,3vw,44px);line-height:1.08;margin:0 0 11px;max-width:560px}.login-brief-copy .lead{font-size:15px;line-height:1.6;margin:0;color:#d8e9f5}
.login-panel{margin-right:5vw;justify-self:end;background:rgba(255,255,255,.96);border-radius:22px;box-shadow:0 28px 75px rgba(0,20,48,.32)}
.sidebar-brand img{width:44px;height:44px;object-fit:contain;border-radius:12px;flex:0 0 auto}.sidebar-brand>div{min-width:0}.sidebar-brand strong{color:#fff}.sidebar-brand small{color:#9fbccc;margin-top:2px}
.sidebar nav{gap:7px}.nav-link{position:relative;min-height:48px;padding:0 13px;gap:12px;border:1px solid transparent;border-radius:12px;color:#b9ccda;transition:background-color .18s,color .18s,border-color .18s,transform .18s}.nav-link:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.05);color:#fff;transform:translateX(2px)}.nav-link.nav-active{background:linear-gradient(90deg,rgba(29,150,205,.25),rgba(255,255,255,.09));border-color:rgba(101,202,245,.2);color:#fff;box-shadow:inset 3px 0 #33b4ed}.nav-link .nav-label{font-size:13px;color:inherit;line-height:1.3;font-weight:700}.nav-icon{width:20px;height:20px;flex:0 0 20px;color:#85a9bd}.nav-link:hover .nav-icon,.nav-link.nav-active .nav-icon{color:#72d2fa}.nav-group-title{margin:19px 12px 5px;color:#7699ad;letter-spacing:.13em}.nav-child{padding-left:13px}

/* Sheet ChiTiet: wide multi-level report */
.chi-tiet-paper{padding:20px;overflow:hidden}.chi-tiet-title{margin-bottom:14px}.chi-tiet-title h2{margin:0;font-size:22px}.chi-tiet-title p{font-family:"Segoe UI",Arial,sans-serif;font-weight:500;color:var(--muted);font-size:12px;margin-top:5px}.chi-tiet-scroll{border:1px solid #aebbc4;border-radius:8px;max-height:68vh}
.chi-tiet-report{border-collapse:separate;border-spacing:0;width:max-content;min-width:5200px;font-family:"Times New Roman",serif;font-size:11px;font-variant-numeric:tabular-nums}.chi-tiet-report th,.chi-tiet-report td{min-width:92px;padding:7px 6px;border-right:1px solid #8f9da7;border-bottom:1px solid #8f9da7;text-align:center;vertical-align:middle;background:#fff}.chi-tiet-report thead th{position:sticky;top:0;z-index:5;background:#e9f0f4;color:#162f42;font-weight:700;white-space:normal;line-height:1.25}.chi-tiet-report thead tr:nth-child(2) th{top:43px;background:#f3f6f8}.chi-tiet-report th>span{display:block}.chi-tiet-report th>small{display:block;margin-top:6px;color:#557183;font-size:9px;font-style:italic}.chi-tiet-report .sticky-no{position:sticky;left:0;min-width:52px;width:52px;z-index:7}.chi-tiet-report .sticky-unit{position:sticky;left:52px;min-width:190px;width:190px;text-align:left;z-index:7;box-shadow:3px 0 5px rgba(25,52,70,.08)}.chi-tiet-report thead .sticky-no,.chi-tiet-report thead .sticky-unit{z-index:9;text-align:center}.chi-tiet-report tbody tr:hover td{background:#f7fbfd}.chi-tiet-report tbody tr:hover .sticky-no,.chi-tiet-report tbody tr:hover .sticky-unit{background:#f7fbfd}.chi-tiet-report .chi-total td{position:sticky;top:102px;background:#dce9f0;font-weight:800;z-index:3}.chi-tiet-report .chi-total .sticky-no,.chi-tiet-report .chi-total .sticky-unit{z-index:8;background:#dce9f0}

/* Sheet Dự toán thu chi tại đơn vị */
.unit-budget-paper{max-width:1080px;margin:0 auto;padding:32px 38px}.unit-budget-heading{position:relative;text-align:center;font-family:"Times New Roman",serif;margin-bottom:12px}.unit-budget-heading h2{margin:0 0 4px;font-size:22px}.unit-budget-heading p{margin:0;font-size:17px}.unit-budget-heading>small{display:block;margin-top:3px;font-size:13px}.unit-budget-heading em{display:block;text-align:right;margin-top:18px;font-size:14px;font-weight:700}.unit-budget-template{border-collapse:collapse;width:100%;min-width:760px;font-family:"Times New Roman",serif;font-size:15px}.unit-budget-template th,.unit-budget-template td{border:1px solid #333;padding:7px 8px;height:34px;background:#fff}.unit-budget-template th{text-align:center;font-size:16px}.unit-budget-template th:first-child,.unit-budget-template td:first-child{width:58px;text-align:center;font-weight:700}.unit-budget-template th:nth-child(2){width:48%;text-align:left}.unit-budget-template th:nth-child(3),.unit-budget-template td:nth-child(3){width:25%;text-align:right;font-variant-numeric:tabular-nums}.unit-budget-template th:nth-child(4){width:22%}.unit-budget-template td:nth-child(2){text-align:left}.unit-budget-template .report-total td{font-weight:800;background:#f4f6f7}.unit-budget-template .report-subhead td:nth-child(2){font-weight:800}.unit-budget-template .difference-row td{border-top-width:2px}.report-explanation{margin:17px 0 0;font-size:13px;line-height:1.65}

@media(max-width:900px){.login-shell{grid-template-columns:1fr;background-position:35% center}.login-brief{min-height:360px;padding:24px}.login-brand-lockup strong{font-size:15px}.login-brand-lockup img{width:50px;height:50px}.login-brief-copy{display:none}.login-panel{justify-self:center;margin:18px auto 42px}.sidebar-brand img{width:40px;height:40px}.nav-link:hover{transform:none}.chi-tiet-scroll{max-height:72vh}.unit-budget-paper{padding:20px 16px}}
@media(max-width:520px){.login-brief{min-height:250px}.login-brand-lockup{padding-right:11px}.login-brand-lockup strong{font-size:13px}.login-brand-lockup span{font-size:9px}.login-panel{margin-top:0}.unit-budget-heading h2{font-size:18px}}
@media print{.chi-tiet-paper{padding:0;overflow:visible}.chi-tiet-scroll{max-height:none;border:0}.chi-tiet-report{min-width:0;width:100%;font-size:5px}.chi-tiet-report th,.chi-tiet-report td{min-width:0;padding:2px;position:static!important}.unit-budget-paper{max-width:none;padding:0}.unit-budget-template{min-width:0}.report-explanation{font-size:11px}}
