:root{
  --primary:#2474ed;
  --primary-dark:#155fcd;
  --primary-soft:#eef5ff;
  --ink:#1d2735;
  --muted:#78879a;
  --border:#e4eaf2;
  --panel:#ffffff;
  --page:#f6f8fb;
  --sidebar:222px;
  --topbar:62px;
  --radius:10px;
  --shadow:0 2px 10px rgba(30,61,95,.06);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}
a{text-decoration:none}.text-muted{color:var(--muted)!important}

/* App shell */
.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--border);z-index:1040;display:flex;flex-direction:column;transition:transform .2s ease}
.sidebar-brand{height:62px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;padding:0 18px;color:#1c59bd}
.brand-logo{width:34px;height:38px;display:grid;place-items:center;flex:0 0 auto}.brand-logo img{width:30px;height:34px}
.brand-copy{min-width:0;line-height:1.1}.brand-copy strong{display:block;font-size:18px;letter-spacing:.02em;color:#2563eb}.brand-copy small{display:block;color:#8b97a8;font-size:9.5px;font-weight:700;margin-top:4px;white-space:nowrap}
.sidebar-nav{padding:14px 10px;overflow-y:auto;flex:1}
.sidebar-caption{font-size:10px;font-weight:700;letter-spacing:.08em;color:#a0acbb;padding:17px 13px 7px}
.sidebar-link{display:flex;align-items:center;gap:12px;color:#253448;min-height:44px;padding:10px 12px;border-radius:8px;margin:2px 0;font-weight:600;transition:.15s ease}
.sidebar-link>i:first-child{width:20px;text-align:center;font-size:18px;color:#2878ee}.sidebar-link span{flex:1}.sidebar-link .nav-caret{font-size:11px;color:#a3adba}
.sidebar-link:hover{background:#f4f8ff;color:#155fc5}.sidebar-link.active{background:#eef5ff;color:#1f6fe5}.sidebar-link.active>i:first-child{color:#1f6fe5}
.sidebar-bottom{border-top:1px solid var(--border);padding:11px 10px 16px}.sidebar-company{display:flex;gap:9px;align-items:flex-start;color:#8996a8;font-size:10px;line-height:1.35;padding:8px 11px}.sidebar-company i{font-size:15px;color:#5a8ee5}.sidebar-company span{display:block}
.sidebar-logout{border:0;background:transparent;width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;color:#334155;font-weight:600}.sidebar-logout i{font-size:18px;color:#2878ee}.sidebar-logout:hover{background:#f6f8fb;color:#155fc5}
.sidebar-overlay{display:none}
.app-shell{margin-left:var(--sidebar);min-height:100vh}.app-topbar{height:var(--topbar);background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:1020}.topbar-menu{width:38px;height:38px;border:0;border-radius:8px;background:transparent;color:#516074;font-size:22px;display:grid;place-items:center}.topbar-menu:hover{background:#f4f7fb}.topbar-spacer{flex:1}.topbar-user{display:flex;align-items:center;gap:10px;border-left:1px solid var(--border);padding-left:18px}.topbar-user-copy{text-align:right;line-height:1.2}.topbar-user-copy strong{display:block;font-size:12px;color:#263448}.topbar-user-copy small{display:block;color:#8a97a8;font-size:9.5px;margin-top:4px;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:800;display:grid;place-items:center;border:1px solid #dce9ff}
.app-main{min-height:calc(100vh - var(--topbar));display:flex;flex-direction:column}.page-breadcrumb{height:48px;display:flex;align-items:center;gap:8px;padding:0 22px;color:#78879a;border-bottom:1px solid #edf1f6;background:#fbfcfe;font-size:12px}.page-breadcrumb>i:first-child{color:#2878ee;font-size:15px}.page-breadcrumb strong{color:#2a3545;font-weight:650}.breadcrumb-sep{font-size:9px;color:#a8b2bf}.page-content{padding:18px 22px 26px;flex:1}.app-footer{border-top:1px solid var(--border);background:#fff;padding:13px 22px;display:flex;justify-content:space-between;color:#9aa5b3;font-size:11px}

/* Shared page components */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.page-title{margin:0;color:#1d2735;font-size:22px;font-weight:700;line-height:1.25}.page-subtitle{margin-top:5px;color:#7d8999;font-size:13px}.page-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.btn{border-radius:7px;font-weight:600;font-size:13px;min-height:36px;padding:.45rem .85rem}.btn-sm{min-height:30px;padding:.3rem .65rem;font-size:12px}.btn-biwase,.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-biwase:hover,.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}.btn-outline-primary{border-color:#69a0f7;color:#2474ed}.btn-outline-primary:hover{background:#eef5ff;color:#1762d0;border-color:#5392f4}.btn-outline-secondary{border-color:#d9e0ea;color:#59687a}.btn-outline-secondary:hover{background:#f3f6fa;color:#334155;border-color:#cbd5e1}.btn-outline-success{border-color:#55cdbd;color:#1a9c8c}.btn-outline-success:hover{background:#effbf9;color:#138576;border-color:#46bdad}
.panel,.card{background:#fff;border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important}.card-header,.panel-header{background:#fff!important;border-bottom:1px solid var(--border);padding:13px 15px}.card-header strong,.panel-title{font-size:13px;font-weight:700;color:#2464ce;text-transform:uppercase;letter-spacing:.015em}.card-body{padding:16px}.card-footer{border-top:1px solid var(--border);padding:12px 16px;background:#fff!important}
.filter-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-bottom:14px}.filter-panel .form-label{font-size:12px;margin-bottom:6px}
.form-label{font-weight:600;color:#334155;font-size:12px;margin-bottom:6px}.form-control,.form-select{border:1px solid #d8e0eb;border-radius:6px;min-height:37px;font-size:13px;color:#273447;box-shadow:none}.form-control:focus,.form-select:focus{border-color:#7eb0fb;box-shadow:0 0 0 3px rgba(36,116,237,.09)}textarea.form-control{min-height:auto}.form-control::placeholder{color:#a1adbc}.form-text{font-size:11px;color:#8c98a8}
.input-icon{position:relative}.input-icon i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9ba7b5}.input-icon .form-control{padding-left:36px}

/* Tables */
.data-panel{overflow:hidden}.table-responsive{border-radius:0 0 var(--radius) var(--radius)}.table{font-size:12.5px;color:#344256}.table>:not(caption)>*>*{padding:.72rem .8rem;border-color:#edf1f5}.table thead th{background:#eef1f5;color:#344256;font-size:11px;text-transform:none;letter-spacing:0;font-weight:700;white-space:nowrap;border-bottom:1px solid #dde4ed}.table tbody tr:hover{background:#f9fbfe}.table td{vertical-align:middle}.table a{color:#1767d8;font-weight:650}.table a:hover{color:#0f55b4}.table .table-actions{display:flex;gap:4px;justify-content:flex-end}.table .action-icon{width:30px;height:30px;display:inline-grid;place-items:center;border:0;background:transparent;border-radius:6px;color:#2878ee}.table .action-icon:hover{background:#eef5ff}.empty-row{padding:30px!important;color:#8d99a8!important;text-align:center}
.badge{font-size:10.5px;font-weight:700;padding:.34rem .55rem;border-radius:999px}.text-bg-success{background:#e8f8f1!important;color:#13835e!important;border:1px solid #b8ead6}.text-bg-warning{background:#fff7dc!important;color:#9b6b00!important;border:1px solid #f5dda1}.text-bg-danger{background:#fff0f1!important;color:#c53c49!important;border:1px solid #f3c4c9}.text-bg-primary{background:#edf4ff!important;color:#1765d2!important;border:1px solid #cfe0fb}.text-bg-info{background:#eaf9fd!important;color:#087e9d!important;border:1px solid #c1eaf4}.text-bg-secondary{background:#f0f2f5!important;color:#687585!important;border:1px solid #dfe4ea}.text-bg-dark{background:#eef0f3!important;color:#303a47!important;border:1px solid #d9dee5}

/* Dashboard */
.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.stat-card{padding:16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:12px;min-height:105px}.stat-card .stat-label{font-size:11.5px;color:#7d8a9b;font-weight:600}.stat-card .stat-value{font-size:27px;font-weight:750;color:#1f2937;line-height:1.1;margin-top:9px}.stat-card .stat-note{font-size:10px;color:#9aa6b5;margin-top:6px}.stat-card .stat-icon-wrap{width:39px;height:39px;border-radius:9px;background:#edf5ff;color:#2474ed;display:grid;place-items:center;font-size:19px;flex:0 0 auto}.stat-card.warning .stat-icon-wrap{background:#fff7df;color:#d79b00}.stat-card.danger .stat-icon-wrap{background:#fff0f1;color:#d14352}.stat-card.success .stat-icon-wrap{background:#eaf9f3;color:#15956b}
.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-action{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;color:#334155;background:#fff}.quick-action i{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#eef5ff;color:#2474ed;font-size:16px}.quick-action:hover{border-color:#bcd4f8;background:#fbfdff;color:#1d63c7}

/* Detail / forms */
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.info-item{padding:14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}.label{display:block;color:#8a96a6;font-size:10px;text-transform:uppercase;letter-spacing:.045em;font-weight:700;margin-bottom:5px}.info-value{font-size:13px;color:#263449;font-weight:550}.qr{max-width:180px}.section-hint{font-size:11px;color:#8c99a9}.detail-code{color:#2474ed;font-weight:700;font-size:12px;margin-bottom:4px}.form-section-title{font-size:12px;font-weight:750;color:#2464ce;text-transform:uppercase;letter-spacing:.025em;margin:3px 0 2px}.form-divider{border-top:1px solid var(--border);margin:4px 0}
.kpi-list{display:flex;flex-direction:column}.kpi-list-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f5}.kpi-list-row:last-child{border-bottom:0}.kpi-list-row strong{font-size:15px;color:#263449}

/* Login */
.login-bg{min-height:100vh;background:#f5f7fb}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,42%) 1fr}.login-brand-panel{background:linear-gradient(150deg,#1568d7,#2782f1);color:#fff;display:flex;align-items:center;justify-content:center;padding:44px;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}.login-brand-panel:before{width:360px;height:360px;right:-160px;top:-110px}.login-brand-panel:after{width:240px;height:240px;left:-110px;bottom:-90px}.login-brand-inner{max-width:420px;position:relative;z-index:1}.login-brand-lockup{display:flex;align-items:center;gap:14px;margin-bottom:48px}.login-brand-lockup img{width:46px;filter:brightness(0) invert(1)}.login-brand-lockup strong{font-size:25px;letter-spacing:.02em}.login-brand-lockup small{display:block;opacity:.75;font-size:10px;font-weight:700;letter-spacing:.08em}.login-brand-inner h1{font-size:34px;font-weight:700;line-height:1.25;margin-bottom:14px}.login-brand-inner p{font-size:14px;line-height:1.7;opacity:.84}.login-feature{display:flex;gap:10px;align-items:center;margin-top:22px;font-size:13px}.login-feature i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14)}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:30px;background:#fff}.login-box{width:min(100%,430px)}.login-box .eyebrow{color:#2474ed;font-weight:750;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.login-box h2{font-size:26px;font-weight:700;margin:8px 0}.login-box .sub{color:#8793a4;margin-bottom:28px}.login-box .form-control{min-height:44px}.login-box .btn{min-height:44px}.login-footer-note{font-size:11px;color:#9ba6b4;text-align:center;margin-top:24px}

@media(max-width:1199px){.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){
  .app-sidebar{transform:translateX(-100%);box-shadow:8px 0 30px rgba(29,52,84,.13)}.app-shell{margin-left:0}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-open .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(30,41,59,.28);z-index:1035}.topbar-user-copy small{max-width:190px}.page-content{padding:16px}.page-breadcrumb{padding:0 16px}.app-footer{padding:12px 16px}.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}
}
@media(max-width:767.98px){.page-head{flex-direction:column}.page-actions{width:100%;justify-content:flex-start}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid{grid-template-columns:1fr 1fr}.app-footer{flex-direction:column;gap:3px}.topbar-user-copy small{display:none}}
@media(max-width:575.98px){.stat-grid,.quick-actions{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.page-title{font-size:20px}.topbar-user-copy{display:none}.page-content{padding:12px}.filter-panel{padding:12px}.app-topbar{padding:0 14px}}

/* V3 standardized navigation & settings */
.sidebar-group-title{cursor:default}.sidebar-group-title.active-parent{color:#1767d8;background:#f3f7fd}.sidebar-submenu{padding:2px 8px 6px 42px}.sidebar-sublink{display:flex;align-items:center;min-height:34px;padding:7px 10px;border-radius:6px;color:#64748b;font-size:12px;font-weight:600;margin:2px 0;position:relative}.sidebar-sublink:before{content:"";width:5px;height:5px;border-radius:50%;background:#bdc8d5;position:absolute;left:-13px}.sidebar-sublink:hover{color:#1767d8;background:#f5f8fd}.sidebar-sublink.active{color:#1767d8;background:#edf4ff}.sidebar-sublink.active:before{background:#2878ee}.settings-tabs{border-bottom:1px solid var(--border)}.settings-tabs .nav-link{font-size:13px;font-weight:650;color:#64748b;border:0;border-bottom:2px solid transparent;padding:.7rem 1rem}.settings-tabs .nav-link.active{color:#1767d8;background:transparent;border-bottom-color:#2878ee}.settings-rule{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f5}.settings-rule:last-child{border-bottom:0}.settings-rule>i{width:34px;height:34px;border-radius:8px;background:#eef5ff;color:#2474ed;display:grid;place-items:center;flex:0 0 auto}.settings-rule strong{display:block;font-size:13px;color:#334155;margin-bottom:3px}.settings-rule span{display:block;font-size:11.5px;color:#8491a2;line-height:1.5}.modal-content{border:0;border-radius:10px;box-shadow:0 18px 50px rgba(30,50,80,.16)}.modal-header{border-bottom:1px solid var(--border)}.modal-footer{border-top:1px solid var(--border)}.modal-title{font-size:15px;font-weight:700;color:#263449}.stat-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1399px){.stat-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.stat-grid-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575.98px){.stat-grid-6{grid-template-columns:1fr}}

/* V5 Biwase standardized navigation, branding and configuration */
.sidebar-group-title{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
.sidebar-group-title .nav-caret{transition:transform .18s ease}
.sidebar-group .sidebar-submenu{display:none;padding:2px 8px 6px 42px}
.sidebar-group.open .sidebar-submenu{display:block}
.sidebar-group.open .sidebar-group-title .nav-caret{transform:rotate(180deg)}
.sidebar-group-title:focus-visible{outline:2px solid #9fc2fb;outline-offset:1px}
.topbar-context{display:flex;flex-direction:column;line-height:1.2;margin-left:8px}.topbar-context strong{font-size:12px;color:#334155}.topbar-context span{font-size:9.5px;color:#98a4b3;margin-top:3px}
.brand-logo img{object-fit:contain}.sidebar-brand{overflow:hidden}.brand-copy strong{max-width:138px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-preview{min-height:94px;border:1px solid var(--border);border-radius:9px;background:#f9fbfe;padding:12px;display:flex;align-items:center;gap:13px}.brand-preview img{width:60px;height:60px;object-fit:contain;background:#fff;border:1px solid #e6ebf2;border-radius:9px;padding:5px}.brand-preview strong{display:block;color:#253448;font-size:13px}.brand-preview span{display:block;color:#8b98a8;font-size:10.5px;margin-top:5px;line-height:1.45}
.security-note{height:100%;min-height:78px;border:1px solid #d9e8fb;background:#f5f9ff;border-radius:9px;padding:12px;display:flex;gap:11px}.security-note>i{width:34px;height:34px;border-radius:8px;background:#e6f1ff;color:#2474ed;display:grid;place-items:center;flex:0 0 auto;font-size:16px}.security-note strong{display:block;color:#2c3c50;font-size:12px;margin-bottom:4px}.security-note span{display:block;color:#7f8da0;font-size:10.8px;line-height:1.5}
@media(max-width:767.98px){.topbar-context span{display:none}.topbar-context strong{max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-preview{min-height:auto}}
.login-brand-lockup img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:10px;padding:5px;filter:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}

/* V5 - Kế hoạch kiểm định/hiệu chuẩn */
.month-selector{display:grid;grid-template-columns:repeat(12,minmax(44px,1fr));gap:8px}
.month-option{position:relative;cursor:pointer}
.month-option input{position:absolute;opacity:0;pointer-events:none}
.month-option span{display:flex;align-items:center;justify-content:center;height:38px;border:1px solid #d8e1ea;border-radius:7px;background:#fff;color:#52606d;font-weight:600;transition:.15s ease}
.month-option input:checked+span{background:#e8f3ff;border-color:#2584e8;color:#0d65bd;box-shadow:inset 0 0 0 1px #2584e8}
.month-chip-wrap{display:flex;gap:4px;flex-wrap:wrap;min-width:110px}
.month-chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 6px;border-radius:6px;background:#edf6ff;color:#1261a0;font-size:12px;font-weight:700;border:1px solid #d5e9fb}
.compliance-plan-table td{vertical-align:top}
.preline{white-space:pre-line;line-height:1.55;color:#364152}
@media(max-width:1199.98px){.month-selector{grid-template-columns:repeat(6,1fr)}}
@media(max-width:575.98px){.month-selector{grid-template-columns:repeat(4,1fr)}}

/* V5.2 - Kế hoạch bảo trì năm Biwase Bình Phước */
.stat-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.annual-legend{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.annual-legend-item{font-size:10px;font-weight:700;border-radius:999px;padding:4px 8px;border:1px solid transparent}
.annual-table-wrap{overflow:auto;max-height:calc(100vh - 260px);background:#fff}.annual-plan-table{min-width:2080px;border-collapse:separate;border-spacing:0}.annual-plan-table thead{position:sticky;top:0;z-index:15}.annual-plan-table th,.annual-plan-table td{border-right:1px solid #edf1f5}.annual-plan-table thead th{background:#eef2f7!important}.annual-plan-table .annual-sticky{position:sticky;background:#fff;z-index:6}.annual-plan-table thead .annual-sticky{z-index:20;background:#eef2f7!important}.annual-col-stt{left:0;width:48px;min-width:48px}.annual-col-name{left:48px;width:260px;min-width:260px}.annual-col-code{left:308px;width:118px;min-width:118px;box-shadow:4px 0 6px rgba(30,61,95,.04)}.annual-plan-table tbody tr:hover .annual-sticky{background:#f9fbfe}.annual-month-head{width:105px;min-width:105px;text-align:center}.annual-schedule-cell{padding:.35rem!important;text-align:center;min-width:105px}.annual-task{display:flex;min-height:45px;align-items:center;justify-content:center;padding:5px 6px;border-radius:6px;border:1px solid transparent;font-size:10.5px;font-weight:700;line-height:1.25;text-align:center}.annual-task:hover{filter:brightness(.98);box-shadow:0 1px 4px rgba(24,59,96,.08)}.annual-task-inspection{background:#eef6ff;color:#1766c9;border-color:#cfe3fb}.annual-task-major{background:#fff5dc;color:#946500;border-color:#f2d794}.annual-task-lube{background:#f3efff;color:#6d47bb;border-color:#ddd0fa}.annual-task-external{background:#fff0f1;color:#bd3b47;border-color:#f0c5c9}.annual-task-clean{background:#ebf9f2;color:#15815f;border-color:#c3ead9}.annual-task-waterproof{background:#fff3e9;color:#b85c18;border-color:#f3d1b8}.annual-task-other{background:#f2f4f7;color:#657284;border-color:#e0e5eb}.annual-empty{color:#d4dae2}.annual-section-row td{position:relative!important;background:#dfeaf7!important;color:#244b76!important;font-weight:800;text-transform:uppercase;letter-spacing:.02em;padding:.55rem .8rem!important}.annual-subsection-row td{position:relative!important;background:#f1f4f8!important;color:#475569!important;font-weight:750;padding:.45rem .8rem!important}.annual-location{min-width:120px;max-width:160px}.current-month{box-shadow:inset 0 0 0 2px rgba(36,116,237,.13)}.annual-month-head.current-month{background:#e3efff!important;color:#175fbf}.maintenance-notes{padding-left:1.15rem}.maintenance-notes li{padding:4px 0;color:#526174;line-height:1.5}.annual-plan-panel .table td{vertical-align:middle}
@media(max-width:1399px){.stat-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.stat-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-table-wrap{max-height:none}.annual-col-name{width:220px;min-width:220px}.annual-col-code{left:268px}}
@media(max-width:575.98px){.stat-grid-5{grid-template-columns:1fr}}
.annual-task-linked{position:relative;box-shadow:inset 0 0 0 1px rgba(18,125,92,.22)}.annual-task-check{position:absolute;right:4px;top:4px;font-size:9px;color:#178a65}

/* V6.7.1: menu PCCC QyĐ05 gọn theo nhóm nghiệp vụ; hoạt động cả trên điện thoại. */
.sidebar-nested{margin:3px 0 5px 0;border-radius:7px;background:#f8faff}
.sidebar-nested-toggle{display:flex;align-items:center;gap:3px;list-style:none;cursor:pointer;color:#43546e;font-size:12px;font-weight:650;padding:10px 8px;line-height:1.4}
.sidebar-nested-toggle::-webkit-details-marker{display:none}
.sidebar-nested-toggle .bi-chevron-down{font-size:10px;transition:transform .18s}
.sidebar-nested[open] .bi-chevron-down{transform:rotate(180deg)}
.sidebar-nested-toggle:hover,.sidebar-nested-toggle:focus-visible{color:#1767d8;background:#edf4ff;outline-offset:2px}
.sidebar-nested-links{padding:0 4px 7px 12px;display:grid;gap:2px}
.sidebar-nested-links a{font-size:11.5px;color:#536783;text-decoration:none;display:block;border-radius:6px;padding:6px 8px}
.sidebar-nested-links a:hover,.sidebar-nested-links a:focus-visible{background:#eaf2ff;color:#1767d8}
.qyd05-form-panel[hidden]{display:none!important}
.qyd05-form-panel,.dossier-section-nav{scroll-margin-top:105px}
#equipment-dossier,#inspection-history,#equipment-technical,#components,#equipment-inventory,#equipment-code-history,#equipment-calibration-plans,#equipment-calibrations,#equipment-maintenance-plans,#equipment-workorders,#pccc-list,#pccc-dashboard{scroll-margin-top:105px}

/* V6.8.0 – Professional information architecture, one open menu group at a time. */
.sidebar-nav[data-cmms-navigation="6.8.0"]{padding-top:10px}
.sidebar-nav[data-cmms-navigation="6.8.0"] .sidebar-group{margin:3px 0}
.sidebar-nav[data-cmms-navigation="6.8.0"] .sidebar-group-title{font-size:12.8px;line-height:1.35;min-height:43px;gap:10px}
.sidebar-nav[data-cmms-navigation="6.8.0"] .sidebar-group.open>.sidebar-group-title{color:#155fcd;background:#eef5ff}
.sidebar-nav[data-cmms-navigation="6.8.0"] .sidebar-submenu{padding:3px 6px 8px 36px}
.sidebar-nav[data-cmms-navigation="6.8.0"] .sidebar-sublink{font-size:11.7px;line-height:1.35;min-height:32px;padding:8px 7px;font-weight:550}
.sidebar-nav[data-cmms-navigation="6.8.0"] .sidebar-sublink:before{left:-8px}
.sidebar-nav[data-cmms-navigation="6.8.0"] .sidebar-group-title:focus-visible,.sidebar-nav[data-cmms-navigation="6.8.0"] a:focus-visible{outline:2px solid #5799ee;outline-offset:1px}
.cmms-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cmms-hub-panel{overflow:hidden;padding:0}
.cmms-hub-heading{display:flex;gap:13px;align-items:center;padding:18px 20px;border-bottom:1px solid #e7edf6}
.cmms-hub-heading>i{font-size:20px;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#eff5ff;color:#246bd6;flex:0 0 auto}
.cmms-hub-heading h2{font-size:15px;font-weight:730;margin:0;color:#24354e}
.cmms-hub-heading p{font-size:11.5px;margin:4px 0 0;color:#75869a;line-height:1.5}
.cmms-hub-links{padding:6px 12px 12px}
.cmms-hub-links a{padding:10px 9px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;color:#263449;border-bottom:1px solid #eff2f7}
.cmms-hub-links a:last-child{border-bottom:0}
.cmms-hub-links a:hover,.cmms-hub-links a:focus-visible{background:#f4f8ff;color:#175cbd}
.cmms-hub-links strong{display:block;font-size:12.5px;font-weight:650}
.cmms-hub-links small{display:block;color:#8290a1;margin-top:3px;font-size:11px}
.cmms-hub-links i{color:#94a3b8;font-size:12px}
.cmms-hub-wide{grid-column:1 / -1}
.cmms-export-links{display:flex;flex-wrap:wrap;gap:9px;padding:16px 20px 20px}
@media(max-width:880px){.cmms-hub-grid{grid-template-columns:1fr}.cmms-hub-wide{grid-column:auto}}
