:root{--green:#064b43;--green2:#0b665b;--green3:#0f7c6d;--mint:#e9f5f2;--bg:#f3f7f6;--card:#fff;--line:#d8e5e1;--text:#17322e;--muted:#67817b;--danger:#b3261e;--warning:#a86400;--shadow:0 4px 18px rgba(5,64,57,.08);--r:10px;--sidebar:250px;--topbar:64px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}body{font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.boot{min-height:100vh;display:grid;place-content:center;gap:10px;text-align:center;color:var(--green)}.boot-mark{width:64px;height:64px;border-radius:18px;background:var(--green);color:white;display:grid;place-items:center;font-size:26px;font-weight:800;margin:auto}.boot small{color:var(--muted)}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#052f2b,#0a5d53)}.login-card{width:min(430px,100%);background:white;border-radius:18px;padding:28px;box-shadow:0 18px 60px rgba(0,0,0,.22)}.login-head{text-align:center;margin-bottom:22px}.login-head .logo{width:62px;height:62px;margin:auto;border-radius:18px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:800;font-size:24px}.login-head h1{margin:12px 0 3px;font-size:26px}.login-head p{margin:0;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:6px;margin:0 0 13px}.field label{font-weight:650;font-size:13px}.input,.select,.textarea{width:100%;border:1px solid #bfd1cc;border-radius:8px;background:#fff;color:var(--text);padding:10px 11px;outline:0;min-height:42px}.input:focus,.select:focus,.textarea:focus{border-color:var(--green3);box-shadow:0 0 0 3px rgba(15,124,109,.12)}.textarea{min-height:92px;resize:vertical}.btn{border:0;border-radius:8px;padding:10px 14px;min-height:40px;font-weight:650;background:#e7efed;color:var(--text)}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--green);color:#fff}.btn.danger{background:#fee9e7;color:var(--danger)}.btn.warn{background:#fff1dc;color:#8b5300}.btn.ghost{background:transparent;border:1px solid var(--line)}.btn.small{padding:6px 9px;min-height:32px;font-size:12px}.btn.full{width:100%}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.shell{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar);background:#043f38;color:#e9fffa;z-index:30;display:flex;flex-direction:column}.brand{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.brand strong{display:block;font-size:20px;letter-spacing:.5px}.brand small{display:block;color:#a9d4cd;margin-top:3px}.nav{padding:10px;overflow:auto;flex:1}.nav-group{font-size:10px;font-weight:800;letter-spacing:1px;color:#7fb9af;padding:14px 9px 6px;text-transform:uppercase}.nav a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:8px;color:#d8f0eb;text-decoration:none;margin:2px 0;white-space:nowrap}.nav a:hover,.nav a.active{background:#0c7769;color:white}.nav .ico{width:19px;text-align:center;opacity:.9}.nav-fold{border-top:1px solid rgba(255,255,255,.08);margin-top:8px}.nav-fold summary{list-style:none;padding:10px;color:#bfe0da;font-weight:700;cursor:pointer}.nav-fold summary::-webkit-details-marker{display:none}.userbox{padding:12px 14px;border-top:1px solid rgba(255,255,255,.1);font-size:12px}.userbox b{display:block;font-size:13px}.userbox small{display:block;color:#a9d4cd;margin:2px 0 8px}.userbox .user-actions{display:flex;gap:6px}.userbox button{background:rgba(255,255,255,.08);border:0;color:#fff;border-radius:7px;padding:7px 8px}
.main{margin-left:var(--sidebar)}.topbar{height:var(--topbar);position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,520px) auto;gap:14px;align-items:center;padding:0 18px}.unit strong{display:block;color:var(--green);font-size:15px}.unit span{font-size:12px;color:var(--muted)}.searchbox{display:flex;border:1px solid #c8d8d4;border-radius:9px;overflow:hidden;background:#fff}.searchbox input{border:0;outline:0;padding:9px 11px;width:100%}.searchbox button{border:0;background:white;padding:0 12px}.top-actions{display:flex;align-items:center;gap:8px}.status-pill{font-size:12px;padding:6px 9px;border-radius:999px;background:#e8f5f1;color:#0a6b5d;font-weight:700;white-space:nowrap}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:white;position:relative}.badge{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;border-radius:999px;background:#c71f37;color:#fff;font-size:10px;display:grid;place-items:center;padding:0 4px}.content{padding:16px 18px 28px;max-width:1680px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 13px}.page-head h1{font-size:22px;margin:0}.page-head p{margin:3px 0 0;color:var(--muted)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 2px 8px rgba(5,64,57,.03)}.card-head{padding:10px 12px;border-bottom:1px solid #e6eeec;display:flex;align-items:center;justify-content:space-between;gap:8px}.card-head h2,.card-head h3{font-size:14px;margin:0}.card-body{padding:12px}.compact{padding:8px 10px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.home-center{display:flex;flex-direction:column;gap:14px}.tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);padding:0 10px}.tab{border:0;background:transparent;padding:10px 9px;border-bottom:2px solid transparent;white-space:nowrap;color:var(--muted);font-weight:650}.tab.active{color:var(--green);border-color:var(--green)}.list{display:flex;flex-direction:column}.row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(110px,.7fr) 105px 105px auto;gap:10px;align-items:center;padding:9px 11px;border-bottom:1px solid #edf2f1}.row:last-child{border-bottom:0}.row-title{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--muted)}.smalltxt{font-size:12px}.pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;background:#edf3f2;color:#58716c;font-size:11px;font-weight:700}.pill.danger{background:#fdebea;color:#a72018}.pill.warn{background:#fff0d8;color:#8b5700}.pill.ok{background:#e8f6ee;color:#1c6a42}.right-stack{display:flex;flex-direction:column;gap:12px}.attention-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.attention{background:#f6faf9;border:1px solid #e0ebe8;border-radius:8px;padding:9px}.attention b{display:block;font-size:20px;color:var(--green)}.attention.warn b{color:#b36800}.attention.danger b{color:#b3261e}.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quick-link{border:1px solid var(--line);border-radius:8px;background:white;padding:9px;text-align:left}.empty{padding:18px;text-align:center;color:var(--muted)}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.toolbar .input,.toolbar .select{width:auto;min-width:160px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px;background:white}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{background:#f0f6f4;color:#496b64;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.3px;padding:9px;border-bottom:1px solid var(--line);position:sticky;top:0}.table td{padding:9px;border-bottom:1px solid #edf2f1;vertical-align:top}.table tr:hover td{background:#fbfdfc}.table td.actions-cell{white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.stats{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin-bottom:12px}.stat{padding:12px}.stat b{font-size:22px;color:var(--green);display:block}.stat span{font-size:12px;color:var(--muted)}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,30,27,.46);z-index:100;display:grid;place-items:center;padding:18px}.modal{background:#fff;border-radius:13px;width:min(760px,100%);max-height:92vh;overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.25)}.modal-head{position:sticky;top:0;background:#fff;padding:13px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;z-index:2}.modal-head h2{margin:0;font-size:17px}.modal-body{padding:15px}.modal-foot{padding:12px 15px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.detail-item{padding:9px;border:1px solid #e1ebe8;border-radius:8px}.detail-item small{display:block;color:var(--muted);margin-bottom:4px}.section-title{font-size:13px;font-weight:800;color:#466760;margin:16px 0 7px;text-transform:uppercase;letter-spacing:.4px}
.toast-wrap{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:#163d37;color:#fff;padding:10px 13px;border-radius:9px;box-shadow:var(--shadow);max-width:360px}.toast.error{background:#8f231c}.drawer-back{display:none}.mobile-menu{display:none}.notice-panel{position:fixed;right:12px;top:70px;width:min(420px,calc(100vw - 24px));max-height:75vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 55px rgba(0,0,0,.16);z-index:80}.notice-item{padding:10px 12px;border-bottom:1px solid #edf2f1}.notice-item b{display:block}.notice-item small{color:var(--muted)}
@media(max-width:1100px){:root{--sidebar:220px}.home-grid{grid-template-columns:1fr 270px}.topbar{grid-template-columns:1fr minmax(180px,360px) auto}.status-pill{display:none}}
@media(max-width:820px){:root{--topbar:58px}.sidebar{transform:translateX(-102%);transition:.2s ease;width:min(82vw,300px);box-shadow:8px 0 28px rgba(0,0,0,.2)}.sidebar.open{transform:translateX(0)}.drawer-back{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:25}.main{margin-left:0}.topbar{grid-template-columns:auto 1fr auto;padding:0 10px;gap:8px}.mobile-menu{display:block}.unit{display:none}.searchbox{min-width:0}.top-actions .status-pill{display:none}.content{padding:10px}.home-grid{grid-template-columns:1fr}.right-stack{display:grid;grid-template-columns:1fr}.page-head{align-items:center}.page-head h1{font-size:19px}.stats{grid-template-columns:1fr 1fr}.grid2,.grid3,.detail-grid{grid-template-columns:1fr}.row{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px}.row>div:nth-child(2),.row>div:nth-child(3),.row>div:nth-child(4){grid-column:1;font-size:12px}.row>div:last-child{grid-column:2;grid-row:1/4}.table-wrap{border:0;overflow:visible;background:transparent}.table{display:block;min-width:0}.table thead{display:none}.table tbody{display:flex;flex-direction:column;gap:8px}.table tr{display:block;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px}.table td{display:grid;grid-template-columns:112px 1fr;gap:8px;border:0;padding:5px}.table td::before{content:attr(data-label);font-size:11px;color:var(--muted);font-weight:700}.table td.actions-cell{display:flex;justify-content:flex-end}.toolbar .input,.toolbar .select{width:100%;min-width:0}.toolbar>*{flex:1 1 150px}.modal-backdrop{padding:7px}.modal{max-height:98vh;border-radius:10px}.btn{min-height:44px}.icon-btn{min-width:42px;min-height:42px}}
@media(max-width:480px){.stats{grid-template-columns:1fr 1fr}.attention-grid,.quick-links{grid-template-columns:1fr 1fr}.top-actions .user-mini{display:none}.content{padding:8px}.card-body{padding:9px}.page-head{margin-bottom:9px}}


/* ==========================================================================
   V7.1.0 — HTĐH V8.9.2 COMPACT UI SKIN
   Giữ nguyên nghiệp vụ/API của Điều hành Đội 7; chỉ chuẩn hóa giao diện.
   ========================================================================== */
:root{
  --green:#073b72;
  --green2:#0b4f91;
  --green3:#2563eb;
  --mint:#eff6ff;
  --bg:#f6f7f9;
  --card:#ffffff;
  --line:#e6e9ef;
  --text:#172033;
  --muted:#697386;
  --shadow:0 8px 30px rgba(17,24,39,.06);
  --r:10px;
  --sidebar:242px;
  --topbar:62px;
}
html,body{background:var(--bg);color:var(--text);font-size:14px;line-height:1.45}
.login-wrap{background:linear-gradient(140deg,#062f5c,#073b72 58%,#0b4f91)}
.login-card{border-radius:16px;padding:28px;box-shadow:0 24px 80px rgba(2,20,45,.30)}
.login-head .logo,.boot-mark{background:#073b72;border-radius:13px}
.input,.select,.textarea{border-color:#d8dee8;border-radius:8px;min-height:40px}
.input:focus,.select:focus,.textarea:focus{border-color:#8bb2e8;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.btn{border-radius:8px;min-height:38px;background:#edf1f6;color:#27364a}
.btn.primary{background:#073b72;color:#fff}
.btn.ghost{background:#fff;border-color:#dfe4eb}
.sidebar{width:var(--sidebar);background:linear-gradient(180deg,#073b72 0%,#062f5c 100%);color:#fff;box-shadow:2px 0 10px rgba(2,24,52,.08)}
.brand{padding:13px 14px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand strong{font-size:17px;letter-spacing:.25px}
.brand small{color:#c4d6eb;font-size:11px;margin-top:2px}
.nav{padding:7px 8px 9px}
.nav-group{font-size:9px;letter-spacing:.10em;color:#8fb3da;padding:11px 9px 4px}
.nav a{gap:9px;padding:8px 9px;border-radius:8px;color:#dbe8f5;margin:1px 0;font-size:13px;transition:.12s ease}
.nav a:hover{background:rgba(255,255,255,.09);color:#fff}
.nav a.active{background:#fff;color:#073b72;font-weight:750;box-shadow:0 4px 14px rgba(0,0,0,.13)}
.nav .ico{width:18px}
.nav-fold{border-top-color:rgba(255,255,255,.10);margin-top:6px}
.nav-fold summary{padding:9px;color:#c8d9eb;font-size:11px}
.userbox{padding:10px 12px;border-top-color:rgba(255,255,255,.12)}
.userbox small{color:#b8cde3}
.userbox button{padding:6px 7px;background:rgba(255,255,255,.09)}
.main{margin-left:var(--sidebar)}
.topbar{height:var(--topbar);grid-template-columns:minmax(210px,1fr) minmax(250px,500px) auto;gap:12px;padding:0 16px;border-bottom-color:#e1e6ed;box-shadow:0 1px 2px rgba(15,23,42,.025)}
.unit strong{color:#073b72;font-size:14px}.unit span{font-size:11px}
.searchbox{border-color:#dfe4eb;border-radius:8px;background:#f9fafb}
.searchbox input{padding:8px 10px;background:transparent}
.status-pill{padding:5px 8px;background:#eef5ff;color:#0b4f91;font-size:11px}
.icon-btn{width:36px;height:36px;border-color:#e0e5ec;border-radius:8px}
.content{padding:13px 15px 24px;max-width:1600px}
.page-head{margin-bottom:10px}.page-head h1{font-size:20px;letter-spacing:-.01em}.page-head p{font-size:12px;margin-top:2px}
.card{border-color:#e4e8ee;border-radius:10px;box-shadow:0 1px 2px rgba(17,24,39,.025)}
.card-head{padding:8px 10px;border-bottom-color:#edf0f4;min-height:38px}
.card-head h2,.card-head h3{font-size:13px;letter-spacing:.01em}
.card-body{padding:10px}.compact{padding:7px 9px}
.home-grid{grid-template-columns:minmax(0,1fr) 292px;gap:10px}.home-center{gap:10px}.right-stack{gap:9px}
.tabs{gap:2px;padding:0 8px;border-bottom-color:#e8ebf0}.tab{padding:8px 8px;font-size:12px}.tab.active{color:#073b72;border-color:#2563eb}
.row{gap:8px;padding:7px 9px;border-bottom-color:#eef1f4}.row-title{font-size:13px}.smalltxt{font-size:11px}
.pill{padding:3px 6px;font-size:10px;background:#f1f4f8;color:#55657a}
.attention-grid,.quick-links{gap:6px}.attention{padding:7px;border-color:#e7ebf0;background:#fafbfc}.attention b{font-size:18px;color:#073b72}.attention span{font-size:11px}
.quick-link{border-color:#e3e7ed;border-radius:8px;padding:8px;font-size:12px;color:#25364b}.quick-link:hover{border-color:#bdcee5;background:#f7faff}
.toolbar{gap:6px;margin-bottom:8px}.table-wrap{border-color:#e3e7ed;border-radius:9px}.table th{background:#fafbfc;color:#657286;padding:8px}.table td{padding:8px;border-bottom-color:#eef1f4}.table tr:hover td{background:#fafcff}
.stats{gap:8px;margin-bottom:10px}.stat{padding:10px}.stat b{font-size:20px;color:#073b72}
.detail-grid{gap:7px}.detail-item{padding:8px;border-color:#e5e9ef;background:#fcfdff}
.notice-item{padding:8px 10px;border-bottom-color:#eef1f4}.notice-item small{font-size:11px}
.section-title{color:#52657d;font-size:12px;margin:13px 0 6px}
.toast{background:#073b72}
@media(max-width:1100px){:root{--sidebar:216px}.home-grid{grid-template-columns:1fr 260px}}
@media(max-width:820px){
  :root{--topbar:56px}
  .sidebar{width:min(82vw,286px)}
  .topbar{padding:0 8px;gap:7px}.content{padding:8px}
  .home-grid{grid-template-columns:1fr;gap:8px}.right-stack{gap:8px}
  .card-head{padding:8px 9px}.card-body{padding:9px}.tabs{padding:0 5px}.tab{padding:8px 7px}
  .btn{min-height:42px}.icon-btn{min-width:40px;min-height:40px}
}
@media(max-width:480px){
  .content{padding:7px}.page-head h1{font-size:18px}.page-head p{font-size:11px}
  .attention-grid,.quick-links{grid-template-columns:1fr 1fr}.card-body{padding:8px}
}

/* ==========================================================================
   V7.3.0 — MOBILE FIRST + VĂN THƯ WORKFLOW
   ========================================================================== */
.mobile-bottom{display:none}.inline-actions{display:flex;gap:6px;justify-content:flex-end;margin:-2px 0 8px}.advanced{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:#fafcff}.advanced summary{cursor:pointer;font-weight:750;color:#52657d}.advanced[open] summary{margin-bottom:10px}.quick-note{margin-top:10px;padding:8px 10px;border-radius:8px;background:#f0f6ff;color:#416083;font-size:12px}.readonly-box{padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;font-weight:700}.link-danger{border:0;background:transparent;color:#a52a2a;padding:4px 0;font-size:11px;cursor:pointer}.intake-hero{background:linear-gradient(135deg,#073b72,#0b4f91);color:#fff;border-radius:12px;padding:14px;margin-bottom:10px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.intake-hero h2{margin:0 0 3px;font-size:17px}.intake-hero p{margin:0;color:#d8e7f7;font-size:12px}.intake-actions{display:flex;gap:7px}.intake-hero .btn.ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}.drop-zone{grid-column:1/-1;border:1.5px dashed rgba(255,255,255,.52);border-radius:10px;padding:16px;text-align:center;font-weight:800;cursor:pointer;background:rgba(255,255,255,.06);transition:.15s}.drop-zone small{font-weight:500;color:#d8e7f7}.drop-zone.over{background:rgba(255,255,255,.17);transform:scale(.997)}.docs-tabs{background:#fff;border:1px solid var(--line);border-radius:10px 10px 0 0;overflow-x:auto;white-space:nowrap}.docs-body{border-radius:0 0 10px 10px}.board-add{margin-bottom:10px}.calendar-grid{align-items:start}.mobile-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-action-grid button{min-height:92px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#073b72}.mobile-action-grid b{font-size:13px;color:#27364a}

@media(max-width:820px){
  body{padding-bottom:72px}.content{padding:8px 8px 18px}.topbar{position:sticky;top:0;z-index:22;background:#fff}.topbar .searchbox{display:none}.topbar{grid-template-columns:auto 1fr auto}.topbar:after{content:'ĐIỀU HÀNH ĐỘI 7';font-weight:850;color:#073b72;font-size:13px;justify-self:start;grid-column:2;grid-row:1}.top-actions{grid-column:3}.home-grid{display:block}.home-center,.right-stack{display:block}.home-center>.card,.right-stack>.card{margin-bottom:8px}.right-stack>.card:first-child{display:none}.right-stack .quick-links{grid-template-columns:1fr 1fr}.card{border-radius:12px}.card-head{min-height:42px}.tabs{overflow-x:auto;white-space:nowrap;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto}.notice-item{padding:10px}.notice-item b{font-size:13px}.notice-item span{display:block;margin-top:3px;font-size:12px;color:#516074}.intake-hero{grid-template-columns:1fr;padding:12px;border-radius:12px}.intake-actions{display:grid;grid-template-columns:1fr 1fr}.intake-actions .btn{width:100%}.drop-zone{padding:14px 10px;font-size:12px}.docs-tabs{border-radius:10px 10px 0 0}.calendar-grid{grid-template-columns:1fr}.mobile-bottom{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:70;height:66px;padding:5px 10px calc(5px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr 64px 1fr 1fr;background:rgba(255,255,255,.97);border-top:1px solid #dfe4eb;box-shadow:0 -6px 24px rgba(15,23,42,.08);backdrop-filter:blur(10px)}.mobile-bottom button{border:0;background:transparent;color:#52657d;font-size:10px;font-weight:750;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.mobile-bottom button span{font-size:20px;color:#073b72}.mobile-bottom .mobile-add{width:54px;height:54px;border-radius:50%;background:#073b72;color:white;align-self:end;justify-self:center;margin-bottom:8px;box-shadow:0 8px 20px rgba(7,59,114,.28)}.mobile-bottom .mobile-add span{font-size:30px;color:#fff;line-height:1}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;border-radius:18px 18px 0 0}.modal-head{padding:13px 14px}.modal-body{padding:12px}.modal-foot{padding:10px 12px calc(10px + env(safe-area-inset-bottom));position:sticky;bottom:0;background:#fff}.modal-foot .btn{flex:1}.grid2{grid-template-columns:1fr}.page-head{padding:2px 2px 0}.page-head h1{font-size:19px}.page-head p{display:none}.stats{grid-template-columns:1fr 1fr}.table td{grid-template-columns:92px 1fr}.table td.actions-cell{padding-top:8px}.actions{flex-wrap:wrap}.actions .btn{flex:1 1 auto}.attention-grid{grid-template-columns:1fr 1fr}.attention{min-height:62px}.quick-links{grid-template-columns:1fr 1fr}.quick-link{min-height:48px}.sidebar{padding-bottom:70px}
}
@media(max-width:420px){.content{padding:7px 6px 16px}.card-body{padding:8px}.intake-actions{grid-template-columns:1fr}.stats{gap:6px}.stat b{font-size:18px}.attention-grid{gap:5px}.mobile-bottom{padding-left:4px;padding-right:4px}.mobile-bottom button{font-size:9px}}

/* V7.4 */
.perm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.perm-row{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #d8e0ea;border-radius:10px;background:#fff}.perm-row input{margin-top:4px;transform:scale(1.15)}.perm-row span{display:flex;flex-direction:column;gap:3px}.perm-row small{color:#65758b;line-height:1.35}.warn-box{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fff7df;border:1px solid #eadcae}.drop-zone{border:2px dashed #8aa6c7;border-radius:12px;padding:22px;text-align:center;background:#f7fbff;cursor:pointer;display:flex;flex-direction:column;gap:6px}.drop-zone.over{background:#edf6ff;border-color:#2668a9}.drop-zone span{font-size:13px;color:#60758e}@media(max-width:720px){.perm-grid{grid-template-columns:1fr}.perm-row{padding:11px}.drop-zone{padding:18px 12px}}

/* V7.5 – Smart Assignment */
.assign-suggest-list{display:grid;gap:8px}.assign-suggest{display:grid;grid-template-columns:1fr auto;gap:2px 10px;width:100%;text-align:left;border:1px solid #dbe4ef;background:#fff;border-radius:12px;padding:10px 12px;cursor:pointer}.assign-suggest:hover,.assign-suggest.top{border-color:#7aa7d8;background:#f5f9ff}.assign-suggest span{display:flex;flex-direction:column}.assign-suggest small{color:#667085;font-weight:400}.assign-suggest strong{font-size:20px;color:#073b72;align-self:center}.assign-suggest em{grid-column:1/-1;font-size:12px;color:#667085;font-style:normal;line-height:1.35}@media(max-width:700px){.assign-suggest{padding:10px}.assign-suggest strong{font-size:18px}}
/* V7.6.0 - Theo dõi nhiệm vụ khép kín */
.task-status-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0 14px}.task-status-strip>div{border:1px solid var(--line,#dbe3ec);border-radius:10px;padding:9px;background:#f8fafc}.task-status-strip small{display:block;color:#64748b;margin-bottom:4px}.source-doc{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #cbd5e1;background:#f8fafc;border-radius:10px;padding:10px 12px;margin-bottom:12px}.source-doc div{display:grid;gap:2px}.source-doc small,.source-doc span{color:#64748b}.task-timeline{display:grid;gap:0}.task-timeline-item{display:grid;grid-template-columns:18px 1fr;gap:6px;position:relative;padding:0 0 12px}.task-timeline-item:before{content:"";position:absolute;left:7px;top:12px;bottom:-3px;width:1px;background:#dbe3ec}.task-timeline-item:last-child:before{display:none}.task-timeline-item i{width:9px;height:9px;border-radius:50%;background:#0b4f8a;margin:5px 0 0 3px;z-index:1}.task-timeline-item div{display:grid;gap:2px}.task-timeline-item span,.task-timeline-item small{font-size:12px;color:#64748b}.file-choice{display:flex;align-items:flex-start;gap:9px;border:1px solid #dbe3ec;border-radius:9px;padding:8px 10px;margin:6px 0}.file-choice span{display:grid}.file-choice small{color:#64748b}.task-checklist{display:grid;gap:6px}.task-checklist>div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #e2e8f0;padding:5px 0}.task-checklist small{color:#64748b}.task-upload-row{margin:8px 0 2px}
@media(max-width:700px){.task-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.source-doc{align-items:flex-start;flex-direction:column}.modal-foot{display:flex;overflow-x:auto;gap:7px;justify-content:flex-start}.modal-foot .btn{flex:0 0 auto;white-space:nowrap}.task-timeline-item span{font-size:13px}}

/* V7.7.0 - Follow-up center, search and reminders */
.search-results{display:grid;gap:7px}.search-result{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;padding:10px 12px;border:1px solid #dbe3ec;border-radius:10px;background:#fff;cursor:pointer}.search-result:hover{background:#f5f9ff;border-color:#8bb0d8}.search-result span{display:grid;gap:2px}.search-result small{color:#64748b}.search-result em{font-style:normal;font-size:11px;color:#52657d;background:#eef5ff;padding:4px 7px;border-radius:999px}.follow-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.danger-card b{color:#b42318}.follow-grid{align-items:start}.follow-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #edf1f5;background:transparent;padding:9px 2px;cursor:pointer}.follow-row:hover{background:#f8fbff}.follow-row span{display:grid;gap:3px}.follow-row small{color:#64748b}.reminder-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border-bottom:1px solid #edf1f5;padding:7px 0}.reminder-row>button:first-child{border:0;background:transparent;text-align:left;display:grid;gap:3px;cursor:pointer}.reminder-row small{color:#64748b}.notice-reminder-head{padding:7px 10px;background:#fff7df;color:#755b16;font-size:12px;font-weight:750;border-bottom:1px solid #eadcae}
@media(max-width:900px){.follow-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.follow-grid{grid-template-columns:1fr}}
@media(max-width:520px){.search-result{padding:10px}.search-result em{display:none}.follow-stats{grid-template-columns:1fr 1fr}.follow-row{align-items:flex-start}.reminder-row{grid-template-columns:1fr auto}}
/* V7.8 - Document register + KPI workflow */
.kpi-toolbar,.filterbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.kpi-toolbar .field{min-width:240px;margin:0}.filterbar .select{min-width:180px}.filterbar .input{width:120px}.block-muted{display:block;color:var(--muted);font-weight:400;margin-top:3px}.detail-item.wide{grid-column:1/-1}
@media(max-width:820px){.kpi-toolbar,.filterbar{align-items:stretch}.kpi-toolbar .field,.filterbar .select,.filterbar .input,.kpi-toolbar .btn,.filterbar .btn{width:100%;min-width:0}.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* V8.0 LTS - trạng thái kỹ thuật */
.lts-check{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line,#e5e7eb)}
.lts-check>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:800;flex:0 0 auto}
.lts-check.ok>span{background:#e8f5ed;color:#176b36}.lts-check.bad>span{background:#fff0ec;color:#a53622}
.lts-check div{display:flex;flex-direction:column;gap:2px}.lts-check small{color:var(--muted,#687386)}
.lts-note{padding:12px 14px;border-radius:10px;background:#f5f8fc;border:1px solid #dfe8f2;line-height:1.55}
.json-box{white-space:pre-wrap;word-break:break-word;max-height:420px;overflow:auto;background:#f6f8fb;border:1px solid #e1e7ef;border-radius:10px;padding:12px;font-size:12px}

/* ==========================================================================
   V8.1.2 — COMPACT MODERN UI
   Gọn hơn, ít khung hơn, ưu tiên nội dung và thao tác nhanh
   ========================================================================== */
:root{
  --sidebar:224px;
  --topbar:64px;
  --bg:#f5f7fb;
  --card:#ffffff;
  --line:#e8edf5;
  --text:#172033;
  --muted:#6f7b90;
  --shadow:0 8px 28px rgba(30,48,86,.055);
  --r:14px;
}
body{background:linear-gradient(180deg,#f8f9fc 0,#f4f6fa 180px,#f5f7fb 100%)}
.sidebar{background:linear-gradient(180deg,#24377f 0%,#1d2f70 55%,#17285f 100%);box-shadow:4px 0 24px rgba(24,38,92,.08)}
.brand{padding:18px 16px 15px;border-bottom:1px solid rgba(255,255,255,.10)}
.brand strong{font-size:17px;letter-spacing:.35px}.brand small{font-size:11px;color:#c4cdef;margin-top:4px}
.nav{padding:11px 9px 12px}.nav-group{padding:12px 11px 5px;color:#9ba8dd;font-size:9px}
.nav a{padding:9px 11px;border-radius:10px;color:#d9def7;font-size:13px;margin:2px 0;border-left:3px solid transparent}
.nav a:hover{background:rgba(255,255,255,.075);color:#fff}
.nav a.active{background:rgba(255,255,255,.13);color:#fff;font-weight:760;box-shadow:none;border-left-color:#fff}
.nav a.active .ico{opacity:1}.nav .ico{width:18px;opacity:.8}
.nav-fold{margin-top:9px}.nav-fold summary{padding:10px 11px;color:#cbd3f3}
.userbox{padding:13px 14px;background:rgba(0,0,0,.07)}.userbox b{font-size:13px}.userbox small{color:#bac5ea;margin:3px 0 9px}.userbox button{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.07)}
.topbar{height:var(--topbar);padding:0 20px;background:rgba(255,255,255,.90);backdrop-filter:blur(18px);border-bottom:1px solid rgba(225,231,240,.9);box-shadow:0 1px 12px rgba(31,44,76,.025);grid-template-columns:minmax(230px,.8fr) minmax(300px,560px) auto}
.unit strong{font-size:15px;color:#26377d}.unit span{font-size:11px;color:#8791a6}
.searchbox{height:40px;border:1px solid #e3e8f0;border-radius:12px;background:#f8f9fc;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.searchbox:focus-within{border-color:#bec9ec;background:#fff;box-shadow:0 0 0 3px rgba(60,81,164,.07)}
.searchbox input{font-size:13px;padding:8px 13px}.searchbox button{background:transparent;color:#40527f}
.status-pill{background:#f1f4ff;color:#324a9a;border:1px solid #e1e7fb;padding:6px 10px}.icon-btn{border-radius:11px;border-color:#e3e7ef}.user-mini{padding:0 2px;color:#1e2b4b}
.content{padding:18px 20px 32px;max-width:1700px}.page-head{margin-bottom:14px}.page-head h1{font-size:23px;letter-spacing:-.025em;color:#17213e}.page-head p{font-size:12px;color:#8290a8;margin-top:4px}
.card{border:1px solid rgba(229,234,243,.92);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.card-head{min-height:46px;padding:10px 14px;border-bottom:1px solid #eef1f6}.card-head h2,.card-head h3{font-size:13px;letter-spacing:.015em;color:#202b4a}
.card-body{padding:13px 14px}
.home-grid{grid-template-columns:minmax(0,1fr) 278px;gap:14px}.home-center{gap:14px}.right-stack{gap:12px}
/* Topbar đã có tìm kiếm, bỏ ô tra cứu lặp lại ở cột phải */
.home-grid>.right-stack>.card:first-child{display:none}
#infoCard{border-top:3px solid #4157b8}
.tabs{padding:6px 10px 0;border-bottom:1px solid #edf0f6;gap:5px;background:#fcfdff}
.tab{padding:7px 10px 9px;border:0;border-radius:9px 9px 0 0;font-size:12px;color:#748096;font-weight:700}
.tab:hover{background:#f4f6fb;color:#3b4f95}.tab.active{background:#eef1ff;color:#30489b;border:0;box-shadow:inset 0 -2px #435cc4}
.inline-actions{margin:0 0 10px;gap:7px}.btn{min-height:36px;border-radius:10px;border:1px solid #e1e6ef;font-size:12px;font-weight:700;padding:7px 11px}.btn.primary{background:#293f91;border-color:#293f91;box-shadow:0 5px 14px rgba(41,63,145,.14)}.btn.primary:hover{background:#22377f}.btn.ghost{background:#fff}.btn.small{min-height:34px}
.notice-item{padding:10px 12px}.notice-item b{color:#263457}.notice-item span{color:#67758e}
.row{padding:10px 12px;gap:12px;border-bottom:1px solid #f0f2f7;transition:.12s}.row:hover{background:#fafbfe}.row-title{font-size:13px;color:#1e2946;font-weight:720}.smalltxt{color:#7c879b}
.pill{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:750}.pill.danger{background:#fff0ee;color:#b22d25}.pill.warn{background:#fff5df;color:#9b6100}.pill.ok{background:#eaf8ef;color:#1d7146}
.attention-grid{gap:8px}.attention{position:relative;min-height:72px;padding:10px 11px 9px;background:#fbfcff;border:1px solid #e9edf5;border-radius:12px;overflow:hidden}.attention:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#cbd5f5}.attention b{font-size:20px;color:#2f438f;line-height:1.05}.attention span{font-size:11px;color:#66738b;margin-top:7px;display:block}.attention.warn:before{background:#e7b04a}.attention.danger:before{background:#d95c55}.attention.warn b{color:#9d6700}.attention.danger b{color:#b8332c}
.quick-links{gap:8px}.quick-link{min-height:44px;border:1px solid #e5e9f1;border-radius:11px;background:#fbfcff;padding:9px 10px;color:#32405e;font-size:12px;font-weight:650;transition:.12s}.quick-link:hover{transform:translateY(-1px);border-color:#c9d2ef;background:#f5f7ff;box-shadow:0 5px 14px rgba(45,64,120,.07)}
#visits .detail-grid{grid-template-columns:1fr 1fr}.detail-item{border:1px solid #edf0f5;border-radius:11px;background:#fbfcfe}.detail-item b{color:#2b3e88}.detail-item small{color:#8490a4}
.table-wrap{border:1px solid #e7ebf1;border-radius:13px;box-shadow:none}.table th{background:#f8f9fc;color:#69758b}.table tr:hover td{background:#fafbfe}
.stats{gap:10px}.stat{border-radius:13px;border-color:#e8ecf3;background:#fff}.stat b{color:#2c418f}
.empty{padding:22px 14px;color:#8a95a9}

@media(max-width:1180px){:root{--sidebar:210px}.home-grid{grid-template-columns:minmax(0,1fr) 250px}.topbar{grid-template-columns:minmax(180px,.7fr) minmax(260px,470px) auto}}
@media(max-width:820px){
  body{background:#f5f7fb}.sidebar{width:min(84vw,290px)}.topbar{padding:0 10px;background:rgba(255,255,255,.96)}
  .content{padding:10px 9px 20px}.page-head{margin-bottom:9px}.page-head h1{font-size:20px}.home-grid{display:block}.home-center>.card,.right-stack>.card{margin-bottom:10px}.card{border-radius:13px;box-shadow:0 4px 18px rgba(33,46,80,.045)}
  .home-grid>.right-stack>.card:first-child{display:none}.attention{min-height:66px}.quick-link{min-height:50px}.tabs{padding-top:4px}
}

/* V8.1.3 INTERNAL CHAT */
.chat-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;min-height:calc(100vh - 150px)}
.chat-sidebar,.chat-main{overflow:hidden}.chat-tools{padding:14px;border-bottom:1px solid var(--line)}.chat-new-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.chat-room-list{max-height:calc(100vh - 280px);overflow:auto;padding:7px}.chat-room-item{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:10px;border-radius:12px;text-align:left;cursor:pointer}.chat-room-item:hover,.chat-room-item.active{background:var(--soft)}
.chat-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#eef2ff;color:#302c8f;font-weight:800;flex:0 0 36px}.chat-room-copy,.dir-copy{display:flex;flex-direction:column;min-width:0;flex:1}.chat-room-copy b,.chat-room-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-room-copy small,.directory-person small{color:var(--muted)}.chat-room-item em{background:#dc2626;color:white;font-style:normal;font-size:11px;min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center}
.chat-main{display:flex;flex-direction:column}.chat-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.chat-head h2{margin:0;font-size:17px}.chat-head small{color:var(--muted)}
.chat-messages{flex:1;min-height:420px;max-height:calc(100vh - 300px);overflow:auto;padding:18px;background:linear-gradient(180deg,#fbfcff,#f7f8fc)}.chat-msg{display:flex;margin:8px 0}.chat-msg.mine{justify-content:flex-end}.chat-bubble{max-width:min(72%,620px);background:white;border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:9px 11px;display:flex;flex-direction:column;gap:3px;box-shadow:0 1px 3px rgba(15,23,42,.04)}.chat-msg.mine .chat-bubble{background:#312e81;color:white;border-color:#312e81;border-radius:14px 14px 4px 14px}.chat-bubble small{opacity:.7}.chat-file{display:block;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.65);text-decoration:none;color:inherit;font-weight:600}
.chat-compose-wrap{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--line);background:white}.chat-compose{display:flex;gap:8px;flex:1}.chat-compose .input{flex:1}.chat-attach{width:42px;height:42px;padding:0;font-size:22px}.chat-empty{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:5px}.chat-empty-icon{font-size:42px;opacity:.5}
.people-picker,.directory-chat-list,.member-list{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:12px}.person-pick,.directory-person{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:white;text-align:left}.person-pick{cursor:pointer}.person-pick:hover{background:var(--soft)}.person-pick i{font-size:11px;color:var(--muted)}.person-check{display:flex;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer}.person-check span{display:flex;flex-direction:column}.person-check small{color:var(--muted)}
@media(max-width:820px){.chat-shell{grid-template-columns:1fr}.chat-sidebar{max-height:320px}.chat-room-list{max-height:220px}.chat-messages{min-height:360px;max-height:55vh}.chat-bubble{max-width:86%}}

/* V8.1.4 Portal Home + Draft Flow + Smart Chat */
.portal-hero{display:flex;align-items:center;gap:18px;padding:22px 24px;border-radius:18px;background:linear-gradient(112deg,#fff 0%,#f6f3ff 58%,#eee8ff 100%);border:1px solid #ded8f4;margin-bottom:10px;box-shadow:0 9px 30px rgba(52,28,112,.07)}
.portal-mark{width:58px;height:58px;border-radius:16px;background:#3b168c;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;box-shadow:0 10px 20px rgba(59,22,140,.18)}
.portal-kicker,.kicker{font-size:11px;font-weight:800;letter-spacing:.12em;color:#6c58a3;text-transform:uppercase}.portal-hero h1{margin:3px 0 2px;font-size:26px}.portal-hero p{margin:0;color:var(--muted)}.portal-hero-actions{margin-left:auto;display:flex;gap:8px}.portal-primary{background:#441596!important;color:#fff!important}.portal-ghost{background:#fff!important;border:1px solid #cfc6ea!important;color:#3b168c!important}
.portal-nav{display:flex;gap:4px;background:#3d1688;padding:6px 10px;border-radius:12px;margin-bottom:14px;overflow:auto}.portal-nav button{border:0;background:transparent;color:#fff;padding:9px 16px;border-radius:8px;font-weight:700;white-space:nowrap;cursor:pointer}.portal-nav button:hover{background:rgba(255,255,255,.14)}
.portal-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.portal-main,.portal-side{display:grid;gap:14px;align-content:start}.portal-feature{border-top:3px solid #5b25ba}.portal-shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:14px}.portal-shortcuts button{border:1px solid #e2def0;background:#fff;border-radius:12px;padding:12px;text-align:left;font-weight:700;color:#27154f;cursor:pointer;display:flex;gap:9px;align-items:center}.portal-shortcuts button:first-letter{color:#5b25ba}.portal-shortcuts button:hover{background:#f7f4ff;border-color:#cfc3ef}.portal-visits{display:grid;grid-template-columns:1fr 1fr;padding:14px}.portal-visits div{padding:5px 12px}.portal-visits div+div{border-left:1px solid #e8e4f1}.portal-visits b{display:block;font-size:24px;color:#3e198d;margin-top:4px}
.chat-smart-results{padding:0 12px}.smart-search-section{border:1px solid #e5e0f0;border-radius:12px;background:#fff;margin:8px 0;overflow:hidden}.smart-search-section>small{display:block;padding:8px 10px;background:#f7f5fb;font-weight:800;color:#6a5c89}.smart-person{width:100%;border:0;border-top:1px solid #eeeaf5;background:#fff;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;text-align:left;padding:9px 10px;cursor:pointer}.smart-person:hover{background:#faf8ff}.smart-person span:nth-child(2){display:grid}.smart-person em{font-style:normal;font-size:12px;color:var(--muted)}.smart-person i{font-style:normal;font-size:12px;color:#5422aa;font-weight:700}
.draft-detail{display:grid;gap:14px}.draft-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.draft-title h2{margin:3px 0}.draft-title p{margin:0;color:var(--muted)}.draft-file,.draft-feedback{border:1px solid #e2ddef;border-radius:12px;padding:12px 14px;background:#faf9fd;display:flex;justify-content:space-between;align-items:center;gap:10px}.draft-feedback{display:block;border-left:4px solid #e8a400}.draft-feedback p{margin:6px 0 0}.draft-history{display:grid;gap:8px}.draft-history-item{display:grid;grid-template-columns:150px 120px 1fr;gap:10px;padding:10px;border-bottom:1px solid #eeeaf5}.draft-history-item small{color:var(--muted)}
@media(max-width:1000px){.portal-home-grid{grid-template-columns:1fr}.portal-side{grid-template-columns:1fr 1fr}.portal-visits{grid-column:1/-1}}
@media(max-width:720px){.portal-hero{padding:16px;align-items:flex-start}.portal-mark{width:46px;height:46px}.portal-hero h1{font-size:21px}.portal-hero-actions{display:none}.portal-nav{margin-left:-6px;margin-right:-6px}.portal-side{grid-template-columns:1fr}.portal-shortcuts{grid-template-columns:repeat(3,1fr)}.portal-shortcuts button{display:grid;text-align:center;justify-items:center;padding:10px 5px;font-size:12px}.draft-history-item{grid-template-columns:1fr}.draft-title{display:grid}}


/* V8.1.5 - Login, branding, mobile-first */
:root{--police-blue:#153f78;--police-blue-2:#0c2f63;--police-red:#b91c1c;--police-gold:#d8aa31}
.auth-modern{background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.12),transparent 28%),linear-gradient(145deg,#0b2c59,#173f79 58%,#1f5593);padding:clamp(12px,3vw,34px)}
.auth-shell{width:min(980px,100%);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,430px);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.13);border-radius:24px;overflow:hidden;box-shadow:0 28px 90px rgba(5,19,45,.34)}
.auth-shell-single{grid-template-columns:minmax(320px,470px);width:min(470px,100%);background:transparent;border:0;box-shadow:none}
.auth-brand-panel{min-height:560px;padding:54px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff;background:linear-gradient(160deg,rgba(7,35,75,.2),rgba(7,35,75,.64));position:relative;overflow:hidden}
.auth-brand-panel:after{content:'';position:absolute;width:380px;height:380px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-130px;bottom:-130px;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025)}
.auth-emblem{width:118px;height:118px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.25));margin-bottom:28px}.auth-kicker{font-size:13px;font-weight:800;letter-spacing:1.5px;color:#f4d765}.auth-brand-panel h1{font-size:36px;line-height:1.05;margin:8px 0 10px}.auth-brand-panel p{font-size:15px;color:#d9e7f8;margin:0;max-width:430px}
.auth-card{width:100%;border-radius:0;padding:44px 38px;box-shadow:none;display:flex;flex-direction:column;justify-content:center;background:#fff}.auth-shell-single .auth-card{border-radius:22px;box-shadow:0 24px 80px rgba(2,20,45,.28)}
.login-emblem{width:74px;height:74px;margin:0 auto 10px;display:block;filter:drop-shadow(0 5px 10px rgba(0,0,0,.14))}.auth-card .login-head h1{font-size:25px;color:#12233f;margin-top:4px}.auth-card .login-head p{font-size:14px}.auth-card .input{min-height:48px;border-radius:11px;border-color:#cad5e4;padding:11px 13px}.auth-card .field{margin-bottom:14px}.auth-card .field label{font-size:13px;color:#24324b}.password-wrap{position:relative}.password-wrap .input{padding-right:58px}.pwd-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:#edf3fb;color:#214d82;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:750}.remember-row{display:flex;align-items:flex-start;gap:9px;margin:2px 0 16px;cursor:pointer}.remember-row input{width:17px;height:17px;margin-top:2px;accent-color:#174b86}.remember-row span{display:grid;gap:2px}.remember-row b{font-size:13px}.remember-row small{font-size:11px;color:#738096}.auth-submit{min-height:48px;border-radius:11px;background:linear-gradient(135deg,#174b86,#0c3569)!important;box-shadow:0 8px 18px rgba(23,75,134,.22)}.auth-note{text-align:center;color:#6e7a90;font-size:11px;line-height:1.4;margin-top:12px}.auth-version{text-align:center;color:#8791a4;font-size:10px;margin-top:10px}.forced-card .login-head{margin-bottom:16px}
.brand{display:flex;align-items:center;gap:10px}.brand-emblem{width:42px;height:42px;flex:0 0 42px}.brand>div{min-width:0}.mini-actions{margin-top:6px}
@media(max-width:820px){.auth-modern{padding:0;align-items:stretch;place-items:stretch;min-height:100dvh}.auth-shell,.auth-shell-single{width:100%;min-height:100dvh;display:block;border:0;border-radius:0;box-shadow:none;background:#f6f8fc}.auth-brand-panel{min-height:auto;padding:18px 18px 14px;display:flex;flex-direction:row;align-items:center;gap:13px;background:linear-gradient(135deg,#0c2f63,#174b86)}.auth-brand-panel:after{display:none}.auth-emblem{width:58px;height:58px;margin:0;flex:0 0 58px}.auth-kicker{font-size:10px}.auth-brand-panel h1{font-size:20px;margin:3px 0 2px}.auth-brand-panel p{font-size:11px;white-space:normal}.auth-card,.auth-shell-single .auth-card{width:100%;min-height:calc(100dvh - 90px);border-radius:0;box-shadow:none;padding:22px max(18px,calc((100vw - 480px)/2));justify-content:flex-start}.auth-shell-single .auth-card{min-height:100dvh;padding-top:max(24px,env(safe-area-inset-top))}.login-emblem{width:62px;height:62px}.auth-card .login-head{margin-bottom:16px}.auth-card .login-head h1{font-size:22px}.auth-card .field{margin-bottom:11px}.auth-card .input{min-height:46px;font-size:16px}.auth-submit{min-height:47px}.auth-note{font-size:10.5px}.forced-card .login-head p{max-width:300px;margin:auto}.brand-emblem{width:36px;height:36px;flex-basis:36px}}
@media(max-width:420px){.auth-brand-panel{padding:14px 15px 12px}.auth-emblem{width:50px;height:50px;flex-basis:50px}.auth-brand-panel h1{font-size:18px}.auth-card,.auth-shell-single .auth-card{padding-left:16px;padding-right:16px}.login-emblem{width:56px;height:56px}.auth-card .login-head h1{font-size:20px}.auth-card .input{min-height:44px}.remember-row small{font-size:10px}}
@media(max-height:650px) and (orientation:landscape){.auth-shell{grid-template-columns:280px 1fr}.auth-brand-panel{min-height:100vh;padding:24px}.auth-emblem{width:72px;height:72px}.auth-brand-panel h1{font-size:26px}.auth-card{padding:20px 28px;justify-content:flex-start}.login-emblem{width:52px;height:52px}.auth-card .login-head{margin-bottom:10px}.auth-card .field{margin-bottom:8px}}


/* V8.1.6 - UI interaction + scrollbar polish */
.nav{scrollbar-width:none;-ms-overflow-style:none}
.nav::-webkit-scrollbar{width:0;height:0;display:none}
.attention-btn{font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer;appearance:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;background:#fbfcff}
.attention-btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(38,35,92,.08);border-color:#d8dff0}
.attention-btn:active{transform:translateY(0)}
.attention-btn i{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-size:20px;color:#9aa5bd;opacity:.72}
.attention-btn:focus-visible{outline:3px solid rgba(87,42,180,.18);outline-offset:2px}
@media(max-width:820px){.attention-btn:hover{transform:none}.nav{overscroll-behavior:contain}}

/* V8.1.7 - OFFICIAL EMBLEM + CLEAN PORTAL UI */
:root{
  --police-navy:#123a6a;
  --police-navy-dark:#0b2a4e;
  --police-blue:#1c5a92;
  --police-red:#c9242a;
  --police-gold:#d9ad36;
  --portal-bg:#f4f7fb;
  --portal-line:#e4eaf2;
  --portal-soft:#f8fafc;
  --green:#123a6a;--green2:#174d82;--green3:#2b6ca7;
  --mint:#eef5fb;--bg:#f4f7fb;--line:#e3e9f1;--text:#17233a;--muted:#718096;
  --shadow:0 10px 28px rgba(20,43,76,.055);
}
html,body{background:var(--portal-bg);color:var(--text)}
.sidebar{background:linear-gradient(180deg,#0e315b 0%,#0a294b 100%);box-shadow:2px 0 18px rgba(9,31,57,.10)}
.brand{padding:13px 15px;background:rgba(255,255,255,.025)}
.brand-emblem{width:48px;height:42px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.brand strong{font-size:17px;letter-spacing:.02em}.brand small{color:#c7d8eb}
.nav-group{color:#8fafce}.nav a{color:#dce8f5}.nav a:hover{background:rgba(255,255,255,.08)}
.nav a.active{background:#fff;color:#0e315b;box-shadow:0 5px 15px rgba(0,0,0,.12)}
.userbox{background:rgba(0,0,0,.06)}
.topbar{background:rgba(255,255,255,.98);border-bottom:1px solid #e8edf4;box-shadow:0 1px 0 rgba(20,43,76,.02)}
.unit strong{color:#123a6a}.status-pill{background:#eef5ff;color:#1c5185;border-color:#d9e7f5}
.searchbox{background:#fafcff;border-color:#e0e7f0}.searchbox:focus-within{border-color:#9db7d4;box-shadow:0 0 0 3px rgba(28,90,146,.08)}
.content{padding:16px 20px 34px}
.card{border:1px solid rgba(225,232,241,.95);border-radius:14px;box-shadow:0 5px 20px rgba(25,45,75,.045)}
.card-head{background:#fff;border-bottom-color:#edf1f6}.card-head h2,.card-head h3{color:#1b2c47}
.tabs{background:#fbfcfe}.tab.active{background:#edf4fb;color:#123a6a;box-shadow:inset 0 -2px #1d5b92}
.btn.primary,.portal-primary{background:#123a6a!important;border-color:#123a6a!important;color:#fff!important}
.btn.primary:hover,.portal-primary:hover{background:#0c2f58!important}.portal-ghost{background:#fff!important;color:#123a6a!important;border-color:#cfdbe8!important}

.portal-hero{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 24px;border-radius:16px;background:linear-gradient(105deg,#fff 0%,#f8fbff 58%,#edf4fb 100%);border:1px solid #dce6f1;margin-bottom:12px;box-shadow:0 9px 28px rgba(18,58,106,.055);overflow:hidden}
.portal-hero:after{content:"";position:absolute;right:-70px;top:-120px;width:280px;height:280px;border-radius:50%;border:1px solid rgba(18,58,106,.055);box-shadow:0 0 0 34px rgba(18,58,106,.018),0 0 0 68px rgba(18,58,106,.012);pointer-events:none}
.portal-emblem-wrap{width:82px;height:72px;display:grid;place-items:center;position:relative;z-index:1}
.portal-emblem{max-width:82px;max-height:72px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(28,45,67,.13))}
.portal-copy{min-width:0;position:relative;z-index:1}.portal-kicker,.kicker{color:#96711a;font-size:10px;letter-spacing:.14em;font-weight:850}.portal-hero h1{font-size:25px;letter-spacing:-.025em;color:#17243b;margin:3px 0 3px}.portal-hero p{color:#748197;font-size:12px}
.portal-hero-actions{position:relative;z-index:1}
.portal-nav{display:flex;gap:4px;background:#fff;border:1px solid #dfe7f0;padding:5px;border-radius:12px;margin-bottom:14px;box-shadow:0 3px 12px rgba(22,47,79,.035)}
.portal-nav button{color:#31445e;padding:9px 15px;border-radius:8px;font-size:12px}.portal-nav button:hover{background:#eef4fa;color:#123a6a}
.portal-home-grid{grid-template-columns:minmax(0,1fr) 315px;gap:14px}.portal-main,.portal-side{gap:14px}
.portal-feature{border-top:3px solid #1e5f98}.portal-shortcuts{padding:12px;gap:8px}.portal-shortcuts button{border-color:#e2e8f0;color:#253751;border-radius:11px;background:#fff}.portal-shortcuts button:hover{background:#f5f9fd;border-color:#bfcfe0}.portal-shortcuts button:first-letter{color:#1d5b92}
.portal-visits b{color:#123a6a}.portal-visits div+div{border-left-color:#e7ecf2}
.attention{background:#fff;border-color:#e8edf4}.attention:before{background:#b7c8de}.attention b{color:#174d82}.attention.warn:before{background:#d9ad36}.attention.danger:before{background:#c9242a}
.row:hover{background:#f8fbfe}.pill{background:#f1f5f9;color:#5b6d83}.empty{color:#8a97aa}

/* Authentication branding: use the correct local emblem asset and lighter official palette */
.auth-modern{background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.13),transparent 28%),linear-gradient(145deg,#0b2a4e,#123a6a 58%,#1c5a92)}
.auth-brand-panel{background:linear-gradient(160deg,rgba(7,35,75,.1),rgba(5,28,57,.58))}.auth-kicker{color:#f0cf71}.auth-emblem,.login-emblem{object-fit:contain}
.auth-submit{background:linear-gradient(135deg,#123a6a,#0b2a4e)!important}

@media(max-width:1000px){.portal-home-grid{grid-template-columns:1fr}.portal-side{grid-template-columns:1fr 1fr}.portal-visits{grid-column:1/-1}}
@media(max-width:820px){
  .content{padding:9px 8px 20px}.portal-hero{grid-template-columns:auto 1fr;padding:13px 14px;gap:12px;border-radius:14px}.portal-emblem-wrap{width:58px;height:54px}.portal-emblem{max-width:58px;max-height:54px}.portal-kicker{font-size:8px}.portal-hero h1{font-size:18px;line-height:1.18;margin:2px 0}.portal-hero p{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-hero-actions{display:none}.portal-nav{margin:0 -2px 10px;padding:4px;overflow-x:auto;scrollbar-width:none}.portal-nav::-webkit-scrollbar{display:none}.portal-nav button{padding:8px 11px;font-size:11px}.portal-side{grid-template-columns:1fr}.portal-shortcuts{grid-template-columns:repeat(3,1fr)}
  .brand-emblem{width:42px;height:38px}.auth-emblem{object-fit:contain}.login-emblem{object-fit:contain}
}
@media(max-width:420px){.portal-hero{padding:11px 12px}.portal-emblem-wrap{width:50px;height:48px}.portal-emblem{max-width:50px;max-height:48px}.portal-hero h1{font-size:17px}.portal-hero p{display:none}.portal-shortcuts{grid-template-columns:repeat(2,1fr)}}

/* V8.1.8 — BCA PORTAL STYLE (tham chiếu bố cục cổng thông tin, giữ bản sắc nội bộ) */
:root{
  --bca-red:#c90024;
  --bca-red-dark:#a9001d;
  --bca-cream:#fff8df;
  --bca-gold:#e4b51a;
  --bca-navy:#102a4b;
  --bca-line:#e8e1cf;
  --bca-bg:#f6f7f9;
}
body{background:var(--bca-bg)}
.sidebar{background:linear-gradient(180deg,#15365f 0%,#0d2748 100%)}
.brand{background:#102f55;border-bottom:1px solid rgba(255,255,255,.08)}
.nav a.active{background:#fff8e8;color:#9f1524;border-left:3px solid #d3a719;box-shadow:none}
.topbar{border-bottom:1px solid #ece7da;box-shadow:none}
.content{background:#f7f8fa}

.bca-masthead{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:132px;padding:18px 28px;background:linear-gradient(90deg,#bc001d 0%,#d70028 54%,#c40022 100%);color:#fff;border-radius:4px 4px 0 0;position:relative;overflow:hidden}
.bca-masthead:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.08),transparent 22%),radial-gradient(circle at 78% 30%,rgba(255,255,255,.06),transparent 24%);pointer-events:none}
.bca-seal,.bca-title,.bca-actions{position:relative;z-index:1}
.bca-seal{width:94px;height:94px;display:grid;place-items:center}.bca-seal img{max-width:90px;max-height:88px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
.bca-title small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:#fff5cf}.bca-title h1{margin:3px 0 0;font-size:34px;line-height:1;font-weight:900;letter-spacing:.02em}.bca-title p{margin:7px 0 0;color:#fff2f2;font-size:14px;font-weight:650}
.bca-actions{display:flex;gap:9px}.bca-actions button{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.1);color:#fff;border-radius:6px;padding:10px 14px;font-weight:800;cursor:pointer}.bca-actions button:first-child{background:#fff;color:#b70020;border-color:#fff}.bca-actions button:hover{transform:translateY(-1px)}

.bca-nav{display:flex;align-items:center;gap:0;background:var(--bca-cream);border:1px solid #efe5c6;border-top:0;min-height:56px;padding:0 8px;margin-bottom:0;overflow-x:auto;scrollbar-width:none}.bca-nav::-webkit-scrollbar{display:none}.bca-nav button{height:56px;border:0;background:transparent;color:#171717;padding:0 18px;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;border-bottom:3px solid transparent}.bca-nav button:hover{color:#b9001f;border-bottom-color:#b9001f;background:#fffdf4}.bca-nav button:first-child{color:#b9001f}
.bca-ticker{display:flex;align-items:center;gap:14px;min-height:48px;padding:0 18px;background:#fff;border:1px solid #eceff3;border-top:0;margin-bottom:16px;color:#27384c;font-size:12px}.ticker-date{font-weight:750;color:#5f6d7b;padding-right:14px;border-right:1px solid #d9dee5}.ticker-star{color:#e5b300;font-size:17px}.ticker-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.portal-home-grid{grid-template-columns:minmax(0,1fr) 320px;gap:16px}.portal-main,.portal-side{gap:16px}
.card{border:1px solid #e8ebef;border-radius:8px;box-shadow:0 3px 14px rgba(31,45,61,.035)}
.card-head{min-height:54px;padding:13px 16px}.card-head h2,.card-head h3{font-size:15px;color:#15283f}.portal-feature{border-top:3px solid var(--bca-red)}
.tabs{background:#fff;border-bottom:1px solid #eceff2;padding:0 10px}.tab{border-radius:0;padding:11px 12px}.tab.active{background:transparent;color:#b80020;box-shadow:inset 0 -3px #b80020}
.btn.primary,.portal-primary{background:var(--bca-red)!important;border-color:var(--bca-red)!important}.btn.primary:hover,.portal-primary:hover{background:var(--bca-red-dark)!important}
.attention{border-radius:7px;background:#fff}.attention b{color:#a8001c}.attention.warn b{color:#a87800}.attention.danger b{color:#c90024}
.portal-shortcuts button{border-radius:7px}.portal-visits{border-radius:8px}
.intake-hero{background:linear-gradient(100deg,#b7001d,#d10027);border-radius:8px}.docs-tabs{border-radius:8px 8px 0 0}.docs-body{border-radius:0 0 8px 8px}

@media(max-width:1000px){.portal-home-grid{grid-template-columns:1fr}.portal-side{grid-template-columns:1fr 1fr}.portal-visits{grid-column:1/-1}}
@media(max-width:820px){
  .content{padding:0 0 76px;background:#f7f8fa}.bca-masthead{grid-template-columns:auto 1fr;min-height:98px;padding:13px 14px;gap:11px;border-radius:0}.bca-seal{width:62px;height:62px}.bca-seal img{max-width:60px;max-height:58px}.bca-title small{font-size:8px}.bca-title h1{font-size:22px}.bca-title p{font-size:11px;margin-top:4px}.bca-actions{display:none}.bca-nav{min-height:48px;padding:0 4px}.bca-nav button{height:48px;padding:0 12px;font-size:11px}.bca-ticker{min-height:42px;padding:0 10px;gap:8px;margin-bottom:9px}.ticker-date{display:none}.portal-home-grid{padding:0 8px;display:block}.portal-side{display:block}.portal-side>.card{margin-bottom:8px}.card{border-radius:8px}.card-head{min-height:48px}.tabs{overflow-x:auto;white-space:nowrap}.portal-shortcuts{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:420px){.bca-title h1{font-size:19px}.bca-title p{font-size:10px}.bca-seal{width:54px;height:54px}.bca-seal img{max-width:52px;max-height:50px}.bca-nav button{padding:0 10px}.portal-shortcuts{grid-template-columns:repeat(2,1fr)}}

/* =========================================================
   V8.2.0 - FULL UI + INTRO + MEDIA
   ========================================================= */
:root{
  --bca-red:#a71923;
  --bca-red-deep:#82131b;
  --bca-gold:#d6aa3a;
  --bca-cream:#f5f0e4;
  --bca-ink:#172b3f;
  --bca-line:#e5dfd2;
}

/* Menu an/hien: desktop thu gon hoan toan, mobile drawer */
.menu-toggle{display:inline-grid;place-items:center;flex:0 0 auto}
.shell .sidebar{transition:transform .22s ease,opacity .18s ease}
.shell .main{transition:margin-left .22s ease}
@media(min-width:821px){
  .shell.sidebar-collapsed .sidebar{transform:translateX(-102%);opacity:0;pointer-events:none}
  .shell.sidebar-collapsed .main{margin-left:0}
  .topbar{grid-template-columns:auto minmax(210px,.7fr) minmax(260px,520px) auto}
}
@media(max-width:820px){
  .menu-toggle{display:inline-grid!important}
  .shell.sidebar-collapsed .main{margin-left:0}
}

/* Dong bo BCA cho cac trang nghiep vu */
body{background:#f6f4ef;color:var(--bca-ink)}
.content{max-width:1720px}
.page-head,.modern-page-title,.ui-page-head{
  border-bottom:2px solid var(--bca-red);
  padding:0 0 10px;
  margin-bottom:14px;
}
.page-head h1,.modern-page-title h1,.ui-page-head h1{color:#7f151d;font-weight:800;letter-spacing:.1px}
.page-head p,.modern-page-title p,.ui-page-head p{color:#6f6b63}
.card,.panel,.ui-card,.form-card,.chart-card,.recent-card,.quick-card{
  border:1px solid var(--bca-line)!important;
  border-radius:4px!important;
  box-shadow:0 2px 8px rgba(42,34,22,.045)!important;
  background:#fff;
}
.card-head,.panel-head,.ui-card-head{
  background:linear-gradient(180deg,#fff,#fbfaf7);
  border-bottom:1px solid var(--bca-line)!important;
}
.card-head h2,.card-head h3,.panel-head h2,.panel-head h3{color:#8b1b23}
.btn{border-radius:3px!important;font-weight:700}
.btn.primary,.btn.btn-primary{background:var(--bca-red)!important;border-color:var(--bca-red)!important;color:#fff!important}
.btn.primary:hover,.btn.btn-primary:hover{background:var(--bca-red-deep)!important}
.btn.secondary,.btn.ghost{background:#fff!important;border:1px solid #d5cec1!important;color:#493f34!important}
.tabs,.docs-tabs{border-bottom:1px solid #d9d2c5;background:#fff}
.tab{border-radius:0!important;color:#5f584f}
.tab.active{color:var(--bca-red)!important;border-bottom:3px solid var(--bca-red)!important;background:transparent!important}
.input,.select,input:not([type=checkbox]):not([type=radio]),select,textarea{
  border-color:#d8d0c3!important;border-radius:3px!important;background:#fff!important;
}
.input:focus,.select:focus,input:focus,select:focus,textarea:focus{border-color:#b23a42!important;box-shadow:0 0 0 2px rgba(167,25,35,.08)!important}
.table-wrap{border:1px solid var(--bca-line);border-radius:3px!important;background:#fff}
.table th{background:#f4efe5!important;color:#6f171d!important;border-color:#e1d8c9!important}
.table td{border-color:#eee8de!important}
.table tr:hover td{background:#fffaf0}
.status-pill,.badge-soft{border-radius:999px}
.toolbar{background:#fbfaf6;border:1px solid var(--bca-line);padding:9px;border-radius:3px}
.modal{border-radius:4px!important;border:1px solid #d9d0c1}
.modal-head{background:#f6f0e5;border-bottom:1px solid #ded5c6}
.modal-head h2,.modal-head h3{color:#80171e}
.notice-panel{border-radius:4px!important;border-color:#d9d0c1!important}

/* Sidebar dong bo, it neon hon */
.sidebar{background:linear-gradient(180deg,#7f151d 0%,#641016 100%)!important}
.brand{background:rgba(255,255,255,.035)}
.nav a:hover,.nav a.active{background:rgba(255,244,210,.14)!important;color:#fff6d7!important}
.nav-group{color:#e9c874!important}
.nav-fold summary{color:#f4e3b1!important}

/* Thanh tren cung gan phong cach cong thong tin */
.topbar{background:#fffdf8!important;border-bottom:1px solid #ded5c7!important}
.unit strong{color:#8a151d!important}
.searchbox{border-radius:3px!important;border-color:#d5cbbc!important}
.icon-btn{border-radius:3px!important}

/* mobile: menu chi hien khi bam, noi dung full width */
@media(max-width:820px){
  .sidebar{background:linear-gradient(180deg,#851821 0%,#651117 100%)!important}
  .page-head,.modern-page-title,.ui-page-head{padding-bottom:8px}
  .card,.panel,.ui-card,.form-card{border-radius:3px!important}
}

/* V8.2.0 - Giới thiệu & thư viện hình ảnh */
.intro-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:18px;align-items:start}
.intro-lead{font-size:16px;line-height:1.8;color:var(--ink,#172033)}
.intro-main h2,.intro-main h3{color:#8f001b;margin:0 0 12px}.intro-main h3{margin-top:24px}
.intro-main p{line-height:1.75}
.intro-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}
.intro-facts>div{border:1px solid #eadfc5;background:#fffaf0;padding:14px;display:flex;flex-direction:column;gap:5px}
.intro-facts b{font-size:12px;text-transform:uppercase;color:#9d001d}.intro-facts span{font-weight:650}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.media-card{margin:0;border:1px solid #e7e3dc;background:#fff;overflow:hidden;box-shadow:0 4px 14px rgba(45,34,18,.06)}
.media-thumb{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#eee;cursor:pointer;overflow:hidden}
.media-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .22s ease}.media-thumb:hover img{transform:scale(1.035)}
.media-card figcaption{padding:10px 11px;display:flex;flex-direction:column;gap:4px}.media-card figcaption b{font-size:14px}.media-card figcaption span{font-size:12px;color:#697386;line-height:1.45}
.link-danger{border:0;background:none;color:#b42318;padding:4px 0;text-align:left;cursor:pointer;font-weight:700;font-size:12px}
.image-viewer{display:grid;place-items:center;max-height:72vh;background:#111;padding:8px}.image-viewer img{max-width:100%;max-height:70vh;object-fit:contain}
.media-empty{min-height:180px;display:grid;place-items:center;text-align:center}
@media(max-width:1000px){.intro-layout{grid-template-columns:1fr}.intro-facts{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:680px){.media-grid{grid-template-columns:1fr 1fr}.intro-facts{grid-template-columns:1fr}.intro-layout{gap:12px}.media-card figcaption span{display:none}}
@media(max-width:430px){.media-grid{grid-template-columns:1fr}.media-card figcaption span{display:block}}

.home-media{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.home-media-item{border:0;background:#f6f1e7;padding:0;cursor:pointer;text-align:left;overflow:hidden}.home-media-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.home-media-item span{display:block;padding:7px 8px;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-media-empty{grid-column:1/-1;border:1px dashed #d7c9ad;background:#fffaf0;padding:22px 12px;color:#7a5b1a;cursor:pointer}.home-media-item:hover img{filter:brightness(.96)}


/* V8.2.1 - EMBLEM POLISH: use high-resolution transparent emblem without distortion */
.brand-emblem,.auth-emblem,.login-emblem,.bca-seal img,.portal-emblem{object-fit:contain!important;object-position:center!important;image-rendering:auto!important;filter:drop-shadow(0 3px 6px rgba(0,0,0,.16))!important}
.brand-emblem{width:46px!important;height:46px!important;flex:0 0 46px!important}
.bca-seal{display:grid!important;place-items:center!important;min-width:84px!important}
.bca-seal img{width:78px!important;height:66px!important}
.auth-emblem{width:108px!important;height:108px!important;margin-bottom:22px!important}
.login-emblem{width:72px!important;height:72px!important}
@media(max-width:820px){.brand-emblem{width:38px!important;height:38px!important;flex-basis:38px!important}.bca-seal{min-width:58px!important}.bca-seal img{width:56px!important;height:48px!important}.auth-emblem{width:62px!important;height:62px!important}.login-emblem{width:60px!important;height:60px!important}}
@media(max-width:420px){.bca-seal img{width:50px!important;height:44px!important}.login-emblem{width:56px!important;height:56px!important}}

/* =========================================================
   V8.2.2 - BLUE THEME RESTORE
   Giữ bố cục portal mới, khôi phục nhận diện xanh công an.
   ========================================================= */
:root{
  --bca-red:#164f8f;
  --bca-red-dark:#103c70;
  --bca-red-deep:#0b315f;
  --bca-gold:#d5ad2f;
  --bca-cream:#eef4fb;
  --bca-navy:#102f55;
  --bca-ink:#172b3f;
  --bca-line:#dce5ef;
  --bca-bg:#f3f7fb;
}
body{background:var(--bca-bg)!important;color:var(--bca-ink)}
.content{background:#f3f7fb!important}
.sidebar{background:linear-gradient(180deg,#123b6d 0%,#0c294d 100%)!important}
.brand{background:#0f3159!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.nav a:hover,.nav a.active{background:rgba(255,255,255,.12)!important;color:#fff!important}
.nav a.active{border-left-color:#d8b332!important}
.nav-group{color:#bdd2e8!important}.nav-fold summary{color:#dce9f6!important}
.topbar{background:#fff!important;border-bottom:1px solid #dce5ef!important}
.unit strong{color:#123f74!important}
.searchbox{border-color:#d4dfeb!important;background:#fff!important}
.bca-masthead{background:linear-gradient(100deg,#123e72 0%,#0e4c8c 58%,#0b3768 100%)!important}
.bca-title small{color:#d9e9f8!important}.bca-title p{color:#eaf2fb!important}
.bca-actions button:first-child{color:#164f8f!important}
.bca-nav{background:#f4f8fc!important;border-color:#d9e4ef!important}
.bca-nav button{color:#17324e!important}
.bca-nav button:hover,.bca-nav button:first-child{color:#164f8f!important;border-bottom-color:#164f8f!important;background:#fff!important}
.bca-ticker{border-color:#dce5ef!important;color:#29425d!important}.ticker-star{color:#d5ad2f!important}
.page-head,.modern-page-title,.ui-page-head{border-bottom-color:#164f8f!important}
.page-head h1,.modern-page-title h1,.ui-page-head h1{color:#123f74!important}
.card,.panel,.ui-card,.form-card,.chart-card,.recent-card,.quick-card{border-color:#dce5ef!important;box-shadow:0 3px 12px rgba(18,63,116,.045)!important}
.card-head,.panel-head,.ui-card-head{background:linear-gradient(180deg,#fff,#f8fbfe)!important;border-bottom-color:#dce5ef!important}
.card-head h2,.card-head h3,.panel-head h2,.panel-head h3{color:#123f74!important}
.portal-feature{border-top-color:#164f8f!important}
.tab.active{color:#164f8f!important;border-bottom-color:#164f8f!important;box-shadow:inset 0 -3px #164f8f!important}
.btn.primary,.btn.btn-primary,.portal-primary{background:#164f8f!important;border-color:#164f8f!important;color:#fff!important}
.btn.primary:hover,.btn.btn-primary:hover,.portal-primary:hover{background:#103c70!important}
.btn.secondary,.btn.ghost{background:#fff!important;border-color:#cfdbe7!important;color:#24415f!important}
.input,.select,input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#cfdae6!important}
.input:focus,.select:focus,input:focus,select:focus,textarea:focus{border-color:#2c6cae!important;box-shadow:0 0 0 2px rgba(22,79,143,.10)!important}
.table-wrap{border-color:#dce5ef!important}.table th{background:#edf4fb!important;color:#123f74!important;border-color:#d9e4ef!important}.table td{border-color:#e7edf4!important}.table tr:hover td{background:#f5f9fd!important}
.toolbar{background:#f8fbfe!important;border-color:#dce5ef!important}
.modal{border-color:#d7e2ed!important}.modal-head{background:#eef4fb!important;border-bottom-color:#d7e2ed!important}.modal-head h2,.modal-head h3{color:#123f74!important}
.notice-panel{border-color:#d7e2ed!important}
.attention b{color:#164f8f!important}.attention.warn b{color:#a87800!important}.attention.danger b{color:#c83b3b!important}
.intake-hero{background:linear-gradient(105deg,#123e72,#1760a8)!important}
.intro-main h2,.intro-main h3{color:#123f74!important}
.intro-facts>div{border-color:#d9e5f1!important;background:#f7fbff!important}.intro-facts b{color:#164f8f!important}
.home-media-item{background:#eef4fb!important}.home-media-empty{border-color:#c9d9e8!important;background:#f7fbff!important;color:#315b82!important}
@media(max-width:820px){.sidebar{background:linear-gradient(180deg,#123b6d 0%,#0c294d 100%)!important}.content{background:#f3f7fb!important}}

/* =========================================================
   V8.2.3 - MOBILE FIRST + TYPOGRAPHY + MEDIA UX
   ========================================================= */
html,body,button,input,select,textarea{
  font-family:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
}
body{font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,.brand strong,.unit strong,.btn,.tab,.nav a{letter-spacing:-.012em}
.page-head h1,.modern-page-title h1,.ui-page-head h1{font-weight:760!important}
.card-head h2,.card-head h3{font-weight:720!important}

/* Logo lớn hơn, vẫn giữ đúng tỷ lệ */
.brand-emblem{width:60px!important;height:60px!important;flex-basis:60px!important}
.bca-seal{min-width:108px!important;width:108px!important;height:96px!important}
.bca-seal img{width:100px!important;height:88px!important}
.auth-emblem{width:160px!important;height:160px!important;margin-bottom:20px!important}
.login-emblem{width:96px!important;height:96px!important}

/* Khu thêm ảnh rõ ràng */
.media-upload-empty{min-height:300px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px!important;border:2px dashed #b9cce0!important;background:linear-gradient(180deg,#fbfdff,#f2f7fc)!important;border-radius:12px!important;color:#47627e!important}
.media-upload-empty b{font-size:18px;color:#123f74}.media-upload-empty span{max-width:360px;text-align:center;font-size:13px}.media-upload-icon{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;background:#e7f0fa;color:#164f8f;font-size:32px}.media-add-empty{margin-top:6px;min-height:44px;padding:0 18px}

/* Mobile thật sự: không còn chỉ thu nhỏ desktop */
@media(max-width:820px){
  :root{--topbar:54px}
  body{font-size:14px;padding-bottom:72px;overflow-x:hidden}
  .shell,.main{width:100%;min-width:0}
  .main{margin-left:0!important}
  .sidebar{width:min(88vw,320px)!important;transform:translateX(-104%);box-shadow:10px 0 30px rgba(4,24,52,.24);padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .sidebar.open{transform:translateX(0)!important}
  .brand{padding:12px 14px!important}.brand-emblem{width:52px!important;height:52px!important;flex-basis:52px!important}.brand strong{font-size:17px!important}.brand small{font-size:11px!important}
  .nav{padding:8px 10px}.nav a{min-height:46px;padding:10px 12px;font-size:14px}.nav-group{font-size:10px}

  .topbar{height:54px;min-height:54px;grid-template-columns:44px minmax(0,1fr) auto!important;padding:0 8px!important;gap:6px!important}
  .topbar .searchbox,.topbar .unit{display:none!important}
  .topbar:after{content:'ĐIỀU HÀNH ĐỘI 7';grid-column:2;grid-row:1;justify-self:start;font-size:14px;font-weight:800;color:#123f74;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-menu{display:grid!important;place-items:center;width:42px;height:42px}
  .top-actions{grid-column:3!important;gap:4px}.top-actions .status-pill{display:none!important}.top-actions .icon-btn{width:40px;height:40px}.top-actions b{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}

  .content{padding:8px 8px calc(84px + env(safe-area-inset-bottom))!important;background:#f3f7fb!important;max-width:none!important}
  .page-head,.modern-page-title,.ui-page-head{display:flex;align-items:flex-start!important;gap:8px!important;margin-bottom:10px!important;padding:2px 2px 8px!important;flex-wrap:wrap}
  .page-head h1,.modern-page-title h1,.ui-page-head h1{font-size:22px!important;line-height:1.2!important}.page-head p{display:block!important;font-size:12px!important;margin-top:3px!important}
  .page-head>.actions,.page-head>.button-row,.modern-page-title>.actions,.ui-page-head>.actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:7px;margin-left:0!important}.page-head .btn{width:100%;min-height:44px}

  .card,.panel,.ui-card,.form-card{border-radius:12px!important;margin-bottom:9px;overflow:hidden}.card-head{padding:11px 12px!important;min-height:46px!important}.card-head h2,.card-head h3{font-size:16px!important}.card-body{padding:12px!important}
  .tabs,.docs-tabs{overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar,.docs-tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto!important;min-height:44px;padding:10px 13px!important;font-size:13px!important}

  .bca-masthead{grid-template-columns:74px minmax(0,1fr)!important;min-height:108px!important;padding:14px 12px!important;gap:10px!important;border-radius:10px 10px 0 0!important}.bca-seal{min-width:70px!important;width:70px!important;height:70px!important}.bca-seal img{width:68px!important;height:62px!important}.bca-title small{font-size:9px!important}.bca-title h1{font-size:23px!important;line-height:1.08!important}.bca-title p{font-size:11px!important}.bca-actions{display:none!important}
  .bca-nav{min-height:46px!important;padding:0 2px!important}.bca-nav button{height:46px!important;padding:0 11px!important;font-size:11px!important}.bca-ticker{min-height:38px!important;padding:0 10px!important;font-size:11px!important;margin-bottom:8px!important}.ticker-date{display:none}.ticker-star{font-size:14px}
  .portal-home-grid{display:block!important}.portal-main,.portal-side{display:block!important}.portal-main>.card,.portal-side>.card{margin-bottom:9px}.attention-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}.attention{min-height:70px!important;padding:10px!important}.attention b{font-size:21px!important}.portal-shortcuts{grid-template-columns:repeat(2,1fr)!important;gap:7px!important}.portal-shortcuts button{min-height:68px!important}.portal-visits{display:grid!important;grid-template-columns:1fr 1fr}

  .grid2,.grid3,.detail-grid,.intro-layout,.form-grid,.two-col,.three-col{grid-template-columns:1fr!important}.intro-layout{gap:9px!important}.intro-facts{grid-template-columns:1fr!important;gap:8px!important}.intro-lead{font-size:15px!important;line-height:1.65!important}.intro-main h2{font-size:20px!important}.intro-main h3{font-size:17px!important;margin-top:18px!important}
  .media-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}.media-thumb{aspect-ratio:1/1!important}.media-card figcaption{padding:8px!important}.media-card figcaption b{font-size:12px!important}.media-card figcaption span{font-size:11px!important;display:block!important;max-height:34px;overflow:hidden}.media-upload-empty{min-height:240px!important;padding:20px 14px!important}
  .home-media{grid-template-columns:1fr 1fr!important;gap:7px!important;padding:10px!important}.home-media-item span{font-size:10px!important}

  .table-wrap{overflow:visible!important;border:0!important;background:transparent!important}.table{display:block!important;min-width:0!important;width:100%!important}.table thead{display:none!important}.table tbody{display:flex!important;flex-direction:column!important;gap:8px!important}.table tr{display:block!important;background:#fff!important;border:1px solid #dce5ef!important;border-radius:12px!important;padding:8px!important;box-shadow:0 2px 7px rgba(18,63,116,.04)}.table td{display:grid!important;grid-template-columns:100px minmax(0,1fr)!important;gap:7px!important;border:0!important;padding:5px 4px!important;min-width:0!important;white-space:normal!important}.table td::before{content:attr(data-label);font-size:11px;color:#6d7f92;font-weight:700}.table td.actions-cell{display:flex!important;gap:6px!important;justify-content:flex-end!important;flex-wrap:wrap!important}.table td.actions-cell::before{display:none!important}.table td.actions-cell .btn{min-height:40px!important;flex:1 1 auto}

  .toolbar,.filterbar,.inline,.inline-form,.button-row{display:flex!important;flex-wrap:wrap!important;gap:7px!important}.toolbar>* ,.filterbar>*{flex:1 1 100%!important;min-width:0!important}.toolbar .btn,.filterbar .btn{min-height:44px!important}
  input,select,textarea,.input,.select{font-size:16px!important;min-height:44px!important}.textarea,textarea{min-height:100px!important}.field label{font-size:12px!important;font-weight:700!important;margin-bottom:5px!important}

  .modal-backdrop{align-items:flex-end!important;padding:0!important}.modal{width:100%!important;max-width:none!important;max-height:94vh!important;border-radius:18px 18px 0 0!important}.modal-head{position:sticky;top:0;z-index:2;padding:13px 14px!important}.modal-body{padding:12px!important;overflow:auto!important}.modal-foot{position:sticky;bottom:0;background:#fff;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;display:grid!important;grid-template-columns:1fr 1fr;gap:7px}.modal-foot .btn{width:100%!important;min-height:44px!important}

  .chat-shell{grid-template-columns:1fr!important}.chat-sidebar{max-height:250px!important}.chat-main{min-height:56vh!important}.chat-messages{min-height:44vh!important;max-height:56vh!important}.chat-bubble{max-width:92%!important}.chat-tools{padding:10px!important}
  .mobile-bottom{display:grid!important;height:68px!important}
}
@media(max-width:480px){
  .content{padding-left:6px!important;padding-right:6px!important}.media-grid{grid-template-columns:1fr 1fr!important}.page-head>.actions,.page-head>.button-row{grid-template-columns:1fr!important}.attention-grid{grid-template-columns:1fr 1fr!important}.portal-shortcuts{grid-template-columns:1fr 1fr!important}.auth-emblem{width:118px!important;height:118px!important}.login-emblem{width:88px!important;height:88px!important}.brand-emblem{width:48px!important;height:48px!important;flex-basis:48px!important}.bca-title h1{font-size:21px!important}.table td{grid-template-columns:88px minmax(0,1fr)!important}}


/* V8.2.4 - Hoạt động nhiều ảnh + bảng điều hành nhập nhanh bằng ảnh/PDF */
.activity-list{display:grid;gap:16px}.activity-card{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(220px,.65fr);border:1px solid #d7e2ed;background:#fff;overflow:hidden;border-radius:12px}.activity-slider{position:relative;min-height:280px;background:#eef4f8;overflow:hidden}.activity-slide{display:none;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.activity-slide.active{display:block}.activity-slide img{width:100%;height:100%;object-fit:cover}.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:48px;border:0;background:rgba(0,0,0,.38);color:white;font-size:30px;cursor:pointer}.slide-arrow.prev{left:8px}.slide-arrow.next{right:8px}.slide-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:6px;z-index:3}.slide-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(0,0,0,.15)}.slide-dots i.active{background:#fff;width:18px;border-radius:6px}.activity-caption{padding:18px;display:flex;flex-direction:column;gap:8px}.activity-caption>b{font-size:18px;color:#102f55}.activity-caption span{line-height:1.55;color:#52657d}.home-activity{display:grid;gap:6px}.home-slider{height:140px;min-height:140px;border-radius:9px}.home-activity-title{border:0;background:transparent;text-align:left;color:#173f69;font-weight:750;cursor:pointer;padding:2px 0}.file-count{margin-top:8px;font-weight:700;color:#173f69}.board-simple-hint{padding:11px 12px;background:#eef6ff;border:1px solid #c9dff2;border-radius:9px;color:#244a6d;margin-bottom:12px}.optional-details{border:1px solid #dbe5ee;border-radius:9px;padding:10px 12px}.optional-details summary{cursor:pointer;font-weight:750;color:#294b6d}.optional-details[open] summary{margin-bottom:10px}.board-media-thumb{display:block;width:min(100%,420px);max-height:260px;padding:0;border:1px solid #d9e3ec;border-radius:9px;overflow:hidden;background:#f3f7fa;margin:8px 0;cursor:pointer}.board-media-thumb img{display:block;width:100%;max-height:260px;object-fit:contain;background:#fff}.board-file-btn{margin:8px 0}
@media(max-width:820px){.activity-card{grid-template-columns:1fr}.activity-slider{min-height:220px}.activity-caption{padding:12px}.activity-caption>b{font-size:16px}.home-slider{height:170px;min-height:170px}.board-media-thumb{max-height:220px}.board-media-thumb img{max-height:220px}}


/* V8.2.6 - Trang chủ khoa học: hoạt động nổi bật + bảng tin điều hành hợp nhất */
.home-featured{margin:0 0 14px;overflow:hidden}.home-featured .card-head>div small{display:block;margin-top:3px;color:#718096;font-size:11px}.home-activity-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 14px 15px}.home-activity-card{position:relative;min-width:0;aspect-ratio:16/8.7;border:0;border-radius:10px;overflow:hidden;background:#eaf1f8;cursor:pointer;box-shadow:0 2px 8px rgba(15,42,70,.08)}.home-activity-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.home-activity-card:hover img{transform:scale(1.025)}.home-activity-overlay{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(4,25,48,.86));color:#fff;text-align:left}.home-activity-overlay b{display:block;font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-activity-overlay span{display:block;font-size:10px;margin-top:4px;opacity:.9}.activity-no-image{height:100%;display:grid;place-items:center;font-size:34px;color:#5b7692}.home-activity-empty{grid-column:1/-1;min-height:100px;border:1px dashed #b9cada;background:#f7fbff;color:#315b82;border-radius:10px;cursor:pointer}.unified-board{border-top:3px solid #164f8f!important}.board-head>div small{display:block;margin-top:3px;color:#718096;font-size:11px}.board-filter-tabs{display:flex;gap:6px;padding:9px 14px;border-bottom:1px solid #e2e8f0;overflow:auto;scrollbar-width:none}.board-filter-tabs::-webkit-scrollbar{display:none}.board-filter-tabs button{flex:0 0 auto;border:1px solid transparent;background:transparent;color:#50647a;border-radius:18px;padding:7px 12px;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.board-filter-tabs button.active{background:#eaf3fc;border-color:#bcd3ea;color:#164f8f}.board-list{padding:4px 12px 10px}.board-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto 24px;gap:10px;align-items:center;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:11px 4px;text-align:left;cursor:pointer;color:#1d2e43}.board-row:last-child{border-bottom:0}.board-row:hover{background:#f7faff}.board-kind{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:15px;font-weight:800}.board-kind.notice{background:#edf4ff;color:#174f8b}.board-kind.duty{background:#fff5dd;color:#8a6500}.board-kind.schedule{background:#edf8f2;color:#236341}.board-main{min-width:0}.board-main b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-main small{display:block;color:#5f7185;font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-main em{display:block;color:#8a98a8;font-size:10px;font-style:normal;margin-top:4px}.board-attachment{font-size:9px;font-weight:850;color:#174f8b;background:#edf4ff;border:1px solid #cbddef;border-radius:5px;padding:4px 6px;min-width:38px;text-align:center}.board-open{font-size:22px;color:#9babbc}.board-chooser{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.board-chooser button{border:1px solid #d9e3ec;background:#fff;border-radius:11px;padding:16px 12px;text-align:left;cursor:pointer;color:#22384f}.board-chooser button:hover{background:#f5f9fd;border-color:#a9c6e0}.board-chooser span{font-size:24px;color:#164f8f}.board-chooser b{display:block;margin-top:8px;font-size:14px}.board-chooser small{display:block;margin-top:5px;color:#6a7d91;font-size:10px;line-height:1.4}.board-detail-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.board-detail-meta span{border:1px solid #e2e8f0;background:#f8fafc;border-radius:8px;padding:8px 10px;font-size:11px;color:#52657d}.board-detail-meta b{display:block;color:#20364d;margin-bottom:3px}.board-detail-content{padding:10px 12px;border-left:3px solid #164f8f;background:#f6f9fc;margin-bottom:10px;white-space:pre-wrap}.board-detail-preview img{width:100%;max-height:65vh;object-fit:contain;background:#f7f9fb;border-radius:8px}.board-pdf-preview iframe{width:100%;height:min(65vh,650px);border:1px solid #dbe3eb;border-radius:8px;background:#fff}.board-office-file{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dbe3eb;border-radius:9px;background:#f8fafc}.board-office-file>span{font-size:30px;color:#164f8f}.board-office-file>div{min-width:0;flex:1}.board-office-file b,.board-office-file small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-office-file small{margin-top:3px;color:#708196}
@media(max-width:1000px){.home-activity-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.home-featured{margin:0 8px 9px}.home-activity-strip{display:flex;overflow-x:auto;gap:8px;padding:9px 10px 12px;scroll-snap-type:x mandatory;scrollbar-width:none}.home-activity-strip::-webkit-scrollbar{display:none}.home-activity-card{flex:0 0 82%;aspect-ratio:16/9;scroll-snap-align:start}.board-filter-tabs{padding:7px 10px}.board-list{padding:2px 9px 8px}.board-row{grid-template-columns:34px minmax(0,1fr) auto 18px;gap:7px;padding:10px 2px}.board-kind{width:30px;height:30px}.board-main b{font-size:12px}.board-main small{font-size:10px}.board-main em{font-size:9px}.board-attachment{font-size:8px;padding:3px 4px}.board-chooser{grid-template-columns:1fr}.board-chooser button{padding:12px}.board-detail-meta{grid-template-columns:1fr}.board-pdf-preview iframe{height:58vh}.board-office-file{align-items:flex-start;flex-wrap:wrap}.board-office-file .btn{width:100%}}


/* V8.2.7 - Trang chủ tinh gọn + slideshow hoạt động */
.bca-masthead{min-height:124px!important;padding:18px 34px!important;gap:22px!important}
.bca-seal{width:92px!important;min-width:92px!important}
.bca-seal img{width:88px!important;height:88px!important;object-fit:contain!important}
.bca-title small{font-size:11px!important;letter-spacing:.06em!important}
.bca-title h1{font-size:36px!important;line-height:1.02!important;margin:5px 0 6px!important}
.bca-title p{font-size:14px!important;margin:0!important}
.bca-actions button{padding:11px 16px!important;min-height:42px!important}
.compact-home-nav{margin-bottom:14px!important}
.bca-ticker{display:none!important}
.home-featured{margin-top:0!important}
.home-activity-strip{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}
.home-activity-card{aspect-ratio:16/8.15!important;isolation:isolate}
.home-activity-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .55s ease,transform .3s ease;z-index:0}
.home-activity-slide.active{opacity:1}
.home-activity-card:hover .home-activity-slide.active{transform:scale(1.02)}
.home-activity-overlay{z-index:3;pointer-events:none}
.activity-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:32px;height:42px;border:0;border-radius:8px;background:rgba(4,25,48,.48);color:#fff;font-size:28px;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s,background .2s}
.home-activity-card:hover .activity-arrow{opacity:1}.activity-arrow:hover{background:rgba(4,25,48,.72)}
.activity-arrow.prev{left:8px}.activity-arrow.next{right:8px}
.activity-dots{position:absolute;z-index:5;left:50%;transform:translateX(-50%);bottom:8px;display:flex;gap:5px;max-width:55%;overflow:hidden}
.activity-dot{width:7px;height:7px;min-width:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}
.activity-dot.active{background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.22)}
@media(max-width:820px){.bca-masthead{min-height:auto!important;padding:13px 14px!important;gap:12px!important}.bca-seal{width:62px!important;min-width:62px!important}.bca-seal img{width:60px!important;height:60px!important}.bca-title small{font-size:8px!important}.bca-title h1{font-size:20px!important;margin:2px 0 3px!important}.bca-title p{font-size:10px!important}.compact-home-nav{margin-bottom:9px!important}.home-activity-card{aspect-ratio:16/9!important}.activity-arrow{opacity:1;width:28px;height:38px;font-size:23px}.activity-dots{bottom:7px}}

/* V8.2.8 KPI FINAL AUDIT */
.kpi-final-gates{margin-top:12px}.kpi-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi-gate{border:1px solid var(--border);border-radius:10px;padding:11px 12px;background:#fff;display:flex;flex-direction:column;gap:4px}.kpi-gate.ok{border-left:4px solid #16803d}.kpi-gate.warn{border-left:4px solid #c58a00}.kpi-gate small{color:var(--muted)}
@media(max-width:820px){.kpi-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.kpi-toolbar .field{grid-column:1/-1}.kpi-toolbar .btn{width:100%;justify-content:center}.kpi-gate-grid{grid-template-columns:1fr}}

/* =========================================================
   V8.2.9 - PORTAL DASHBOARD (áp dụng bố cục cổng điều hành)
   ========================================================= */
.portal-dashboard-v829{padding:0 12px 22px;background:#f4f8fc;min-height:100%;font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;color:#17324d}
.portal-identity{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;background:linear-gradient(105deg,#07549a 0%,#0b67b5 55%,#08477f 100%);color:#fff;position:relative;overflow:hidden}
.portal-identity:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 30%,rgba(255,255,255,.12),transparent 34%),linear-gradient(90deg,transparent 55%,rgba(255,255,255,.05));pointer-events:none}
.portal-id-brand,.portal-id-right{position:relative;z-index:1}.portal-id-brand{display:flex;align-items:center;gap:18px;min-width:0}.portal-id-brand img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.18))}.portal-id-brand small{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;opacity:.95}.portal-id-brand h1{margin:1px 0 2px;font-size:38px;line-height:1;font-weight:900;letter-spacing:.01em}.portal-id-brand p{margin:0;font-size:14px;font-weight:750;letter-spacing:.08em;opacity:.9}
.portal-id-right{display:flex;align-items:center;gap:13px}.portal-clock{text-align:right;padding-right:0}.portal-clock b,.portal-clock span{display:block;white-space:nowrap}.portal-clock b{font-size:12px}.portal-clock span{font-size:12px;margin-top:3px;opacity:.92}.portal-bell{position:relative;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:22px;cursor:pointer}.portal-bell i{position:absolute;right:-2px;top:-4px;min-width:18px;height:18px;border-radius:9px;background:#e63e3e;color:#fff;font-size:10px;font-style:normal;display:grid;place-items:center;font-weight:800}
.portal-primary-nav{display:flex;align-items:stretch;min-height:48px;background:#064b88;overflow-x:auto;scrollbar-width:none}.portal-primary-nav::-webkit-scrollbar{display:none}.portal-primary-nav button{border:0;border-right:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;min-width:128px;padding:0 16px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.portal-primary-nav button:hover{background:#0b5b9e}.portal-primary-nav button.active{background:#e33c43}.portal-ticker{min-height:40px;display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dbe6f0;border-top:0;padding:0 14px;overflow:hidden}.portal-ticker>b{background:#e44148;color:#fff;border-radius:4px;padding:6px 10px;font-size:11px;white-space:nowrap}.portal-ticker>div{display:flex;gap:11px;align-items:center;overflow:hidden;white-space:nowrap;flex:1}.portal-ticker button{border:0;background:none;padding:0;color:#314d68;cursor:pointer;font:inherit;font-size:11px}.portal-ticker button:hover{color:#0b5fa5;text-decoration:underline}.portal-ticker i{color:#e2a21b;font-style:normal}
.portal-top-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);gap:12px;margin-top:12px}.portal-feature-panel,.portal-latest-panel,.portal-stats-panel,.portal-board-panel,.portal-attention-panel,.portal-doc-panel{background:#fff;border:1px solid #d9e5ef;border-radius:9px;box-shadow:0 2px 9px rgba(19,61,96,.04);overflow:hidden}.portal-section-title{min-height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;background:linear-gradient(180deg,#f7fbff,#edf6ff);border-bottom:1px solid #dbe7f0;color:#0c4f8e}.portal-section-title>span{font-size:18px}.portal-section-title>b{font-size:14px;font-weight:850}.portal-section-title>button{margin-left:auto;border:0;background:none;color:#0b61aa;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.portal-section-title.red{color:#c62832;background:linear-gradient(180deg,#fffafa,#fff2f3)}.portal-section-title.warn{color:#b3261e;background:linear-gradient(90deg,#fff7dc,#fffdf6)}.portal-section-title .portal-period{margin-left:auto;font-size:10px;border:1px solid #cbdbea;border-radius:6px;background:#fff;padding:5px 8px;color:#315b82}.portal-section-title .portal-period+button{margin-left:6px;border:1px solid #cbdbea;border-radius:6px;background:#fff;padding:5px 8px}
.portal-feature-body{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(190px,.95fr);gap:10px;padding:8px}.portal-feature-main{position:relative;min-height:340px;border-radius:7px;overflow:hidden;background:#dceaf5}.portal-main-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s ease,transform .3s ease}.portal-main-slide.active{opacity:1}.portal-feature-main:hover .portal-main-slide.active{transform:scale(1.012)}.portal-feature-caption{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:52px 16px 16px;background:linear-gradient(transparent,rgba(0,25,48,.9));color:#fff}.portal-feature-caption b{display:block;font-size:16px}.portal-feature-caption span{display:block;margin-top:5px;font-size:11px}.portal-feature-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:34px;height:46px;border:0;border-radius:7px;background:rgba(2,36,68,.48);color:#fff;font-size:28px;cursor:pointer}.portal-feature-arrow.prev{left:8px}.portal-feature-arrow.next{right:8px}.portal-feature-dots{position:absolute;z-index:4;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:6px}.portal-feature-dot{width:9px;height:6px;border:0;border-radius:5px;background:rgba(255,255,255,.55);padding:0}.portal-feature-dot.active{width:24px;background:#fff}.portal-feature-side{display:grid;grid-template-rows:repeat(3,1fr);gap:8px}.portal-feature-side button{border:0;background:#f8fbfe;border-radius:7px;padding:0;display:grid;grid-template-columns:42% 1fr;overflow:hidden;text-align:left;cursor:pointer;color:#213d58}.portal-feature-side img{width:100%;height:100%;object-fit:cover;min-height:96px}.portal-feature-side span{padding:9px;min-width:0}.portal-feature-side b{display:block;font-size:11px;line-height:1.35}.portal-feature-side small{display:block;margin-top:6px;color:#71849a;font-size:9px}.portal-feature-empty{width:100%;min-height:300px;border:0;background:#f6faff;color:#51708e;cursor:pointer}
.portal-latest-list{padding:5px 12px}.portal-latest-list>button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:11px 2px;text-align:left;cursor:pointer}.portal-latest-list>button:last-child{border-bottom:0}.portal-latest-list b{font-size:11px;font-weight:650;line-height:1.35}.portal-latest-list small{font-size:9px;color:#7c8b9c}.portal-file-icon{width:23px;height:23px;border-radius:5px;background:#fce9eb;color:#c62e37;display:grid;place-items:center;font-size:9px;font-weight:900}
.portal-stats-panel{margin-top:12px}.portal-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:10px}.portal-stat{min-height:92px;border:1px solid #e0e9f2;border-radius:8px;padding:10px;display:flex;gap:10px;align-items:flex-start;background:#fbfdff}.portal-stat>span{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:#e9f4ff;color:#1363aa;font-size:17px}.portal-stat small{display:block;color:#526a82;font-size:10px;line-height:1.3;min-height:26px}.portal-stat b{display:block;margin-top:6px;font-size:23px;color:#10569a}.portal-stat b em{font-size:10px;font-style:normal;font-weight:650}.portal-stat.money>span{background:#e6f8ef;color:#16824f}.portal-stat.money b{color:#14804c}.portal-stat.orange>span{background:#fff1e3;color:#d76e11}.portal-stat.orange b{color:#c34e16}.portal-stat.purple>span{background:#f0eaff;color:#6d47c7}.portal-stat.purple b{color:#623bb7}.portal-stat.red>span{background:#ffe9ec;color:#d83845}.portal-stat.red b{color:#c72f3a}
.portal-mid-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:12px;margin-top:12px}.portal-board-tabs{display:grid;grid-template-columns:auto auto auto auto 1fr auto;align-items:center;border-bottom:1px solid #dce6ef;min-height:43px;overflow-x:auto}.portal-board-tabs button{height:43px;border:0;background:#fff;padding:0 16px;font:inherit;font-size:11px;font-weight:750;color:#22517b;cursor:pointer;white-space:nowrap}.portal-board-tabs button.active{background:#e5484d;color:#fff}.portal-board-tabs button.add{background:#0c5c9f;color:#fff;margin:6px 8px;height:31px;border-radius:5px}.portal-board-table .board-row{border-radius:0;grid-template-columns:32px minmax(0,1fr) auto 20px;padding:9px 12px}.portal-board-table .board-main b{font-size:11px}.portal-board-table .board-main small{font-size:9px;max-height:28px;overflow:hidden}.portal-board-table .board-main em{font-size:9px}.portal-attention-list{padding:5px 12px}.portal-attention-list button{width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:9px 2px;text-align:left;cursor:pointer}.portal-attention-list i{width:24px;height:24px;border-radius:50%;background:#edf4fb;color:#0b62aa;display:grid;place-items:center;font-size:10px;font-style:normal;font-weight:850}.portal-attention-list i.hot{background:#fff0e4;color:#d65b10}.portal-attention-list b{font-size:10px;font-weight:650}.portal-attention-list span{font-size:9px;color:#7a8797;background:#f2f4f7;border-radius:4px;padding:4px 6px;white-space:nowrap}
.portal-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.portal-doc-list{padding:5px 12px}.portal-doc-list>button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;border:0;border-bottom:1px solid #edf1f5;background:#fff;padding:10px 2px;text-align:left;cursor:pointer}.portal-doc-list>button:last-child{border-bottom:0}.portal-doc-list b{display:block;font-size:11px}.portal-doc-list small{display:block;font-size:9px;color:#7b8a9a;margin-top:3px}.doc-x,.doc-w{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;color:#fff;font-weight:850;font-size:11px}.doc-x{background:#1f9c65}.doc-w{background:#3174c9}
@media(max-width:1200px){.portal-stat-grid{grid-template-columns:repeat(3,1fr)}.portal-top-grid{grid-template-columns:1fr}.portal-latest-panel{display:none}.portal-mid-grid{grid-template-columns:1fr}.portal-attention-panel{display:none}}
@media(max-width:820px){.portal-dashboard-v829{padding:0 7px 78px}.portal-identity{min-height:82px;padding:10px 12px}.portal-id-brand img{width:58px;height:58px}.portal-id-brand{gap:10px}.portal-id-brand small{font-size:8px}.portal-id-brand h1{font-size:22px}.portal-id-brand p{font-size:9px}.portal-id-right{display:none}.portal-primary-nav button{min-width:104px;height:44px;padding:0 10px;font-size:11px}.portal-ticker{min-height:36px;padding:0 8px}.portal-ticker>b{font-size:9px;padding:5px 7px}.portal-ticker button{font-size:10px}.portal-top-grid{margin-top:8px}.portal-feature-body{display:block;padding:6px}.portal-feature-main{min-height:220px}.portal-feature-side{display:none}.portal-section-title{min-height:38px;padding:0 9px}.portal-section-title>b{font-size:12px}.portal-stat-grid{grid-template-columns:1fr 1fr;padding:7px;gap:6px}.portal-stat{min-height:82px;padding:8px}.portal-stat small{font-size:9px}.portal-stat b{font-size:19px}.portal-mid-grid,.portal-doc-grid{display:block;margin-top:8px}.portal-board-panel,.portal-doc-panel{margin-bottom:8px}.portal-board-tabs{display:flex}.portal-board-tabs span{display:none}.portal-board-tabs button{padding:0 10px;font-size:10px;flex:0 0 auto}.portal-board-tabs button.add{margin-left:auto}.portal-doc-grid{grid-template-columns:1fr}.portal-feature-caption b{font-size:13px}.portal-feature-caption{padding:38px 12px 12px}}
@media(max-width:480px){.portal-stat-grid{grid-template-columns:1fr 1fr}.portal-stat>span{width:30px;height:30px}.portal-stat b{font-size:17px}.portal-primary-nav button{min-width:92px}.portal-feature-main{min-height:195px}}


/* V8.3.0 – system-wide UI normalization + configurable dashboard */
.portal-stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
.metric-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:8px}.metric-toggle{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dce5ef;border-radius:9px;background:#f9fbfe;font-weight:650}.metric-toggle input{width:18px;height:18px}.suggest-confidence{display:block;margin-top:4px;color:#677b90;font-size:10px}.ocr-review-text{font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;line-height:1.55}
/* unify all functional pages without forcing dashboard-specific layout */
.page-head{padding-bottom:12px;border-bottom:2px solid #28459b;margin-bottom:14px}.page-head h1{color:#20347f;font-weight:800;letter-spacing:-.02em}.page-head p{color:#65758b}.card,.docs-body,.panel{border-color:#dbe3ee;box-shadow:0 1px 5px rgba(31,52,99,.045)}.card-head{min-height:50px;background:#fff;border-bottom:1px solid #e3e8ef}.card-head h2{color:#20347f}.table thead th{background:#f5f7fb;color:#263c76;font-weight:750}.table tbody tr:hover{background:#f8faff}.input,.select,.textarea{border-color:#d4ddea;border-radius:7px;background:#fff}.input:focus,.select:focus,.textarea:focus{border-color:#4057b2;box-shadow:0 0 0 3px rgba(64,87,178,.10)}.btn{border-radius:7px}.btn.primary{background:#3446a1;border-color:#3446a1}.btn.primary:hover{background:#293a91}.tabs,.docs-tabs{border-bottom:1px solid #dfe5ee}.tab.active{color:#2c3f99;border-bottom-color:#3446a1}.modal-card{border-radius:12px}.drop-zone{border-color:#bccae0;background:#f8faff}.assign-suggest{border-color:#dce4ef}.assign-suggest:hover{border-color:#5065b6;background:#f7f9ff}
@media(max-width:820px){.metric-toggle-grid{grid-template-columns:1fr}.page-head{padding-bottom:9px}.page-head h1{font-size:22px!important}.card-head{min-height:46px}.portal-stat-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:480px){.portal-stat-grid{grid-template-columns:1fr!important}}
/* V8.3.1 SMART DISPATCH */
.dispatch-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.dispatch-list{display:grid;gap:8px;margin:10px 0}.dispatch-candidate{width:100%;border:1px solid #d8e2ef;background:#fff;border-radius:10px;padding:10px 12px;display:grid;grid-template-columns:28px 1fr auto;gap:10px;text-align:left;align-items:center;cursor:pointer}.dispatch-candidate:hover{border-color:#2b69b1;box-shadow:0 3px 12px rgba(25,68,118,.10)}.dispatch-candidate.ready{border-left:4px solid #27885a}.dispatch-candidate.busy{border-left:4px solid #d98a20}.dispatch-candidate.backup{grid-template-columns:28px 1fr;border-style:dashed}.dispatch-candidate span{min-width:0}.dispatch-candidate b,.dispatch-candidate small,.dispatch-candidate em,.dispatch-candidate strong{display:block}.dispatch-candidate small{color:#66758a;margin-top:2px}.dispatch-candidate em{font-style:normal;color:#3f5878;font-size:12px;margin-top:3px}.dispatch-candidate strong{color:#a24b17;font-size:12px;margin-top:3px}.dispatch-candidate mark{background:#edf4fb;color:#244d7d;padding:4px 7px;border-radius:8px;white-space:nowrap}.dispatch-rank{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e8f0fa;color:#1c4e84;font-weight:700}.dispatch-backup{margin-top:10px;padding:10px;background:#f7f9fc;border-radius:10px}.dispatch-backup>b{display:block;margin-bottom:8px}@media(max-width:720px){.dispatch-candidate{grid-template-columns:24px 1fr}.dispatch-candidate mark{grid-column:2;justify-self:start}.dispatch-actions .btn{width:100%}}

/* V8.3.2 PERSONNEL CALENDAR */
.personnel-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.personnel-toolbar .readonly-box{flex:1;min-width:260px}.personnel-calendar-list{display:grid;gap:8px}.personnel-calendar-row{display:grid;grid-template-columns:auto minmax(140px,1fr) auto minmax(120px,1.2fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #dbe5f0;border-radius:10px;background:#fff}.personnel-calendar-row small{color:#52647a}.personnel-calendar-row em{font-style:normal;color:#6d7a8b}@media(max-width:760px){.personnel-calendar-row{grid-template-columns:1fr auto}.personnel-calendar-row>span,.personnel-calendar-row small,.personnel-calendar-row em{grid-column:1/-1}.personnel-toolbar .btn{width:100%}}

/* =========================================================
   V8.3.4 - FULL UI SYNC AUDIT
   Final compatibility layer: force every legacy component to
   inherit the same police-blue design system used by the portal.
   ========================================================= */
:root{
  --green:#164f8f;
  --green2:#103c70;
  --green3:#1760a8;
  --mint:#eef4fb;
  --bg:#f3f7fb;
  --card:#ffffff;
  --line:#dce5ef;
  --text:#172b3f;
  --muted:#65758b;
  --shadow:0 3px 12px rgba(18,63,116,.055);
  --police-blue:#164f8f;
  --police-blue-2:#103c70;
}

/* One accent system across all functional pages */
.page-head,.modern-page-title,.ui-page-head{border-bottom-color:#164f8f!important}
.page-head h1,.modern-page-title h1,.ui-page-head h1,.card-head h2,.card-head h3,.panel-head h2,.panel-head h3{color:#123f74!important}
.btn.primary,.btn.btn-primary,.portal-primary{background:#164f8f!important;border-color:#164f8f!important;color:#fff!important}
.btn.primary:hover,.btn.btn-primary:hover,.portal-primary:hover{background:#103c70!important;border-color:#103c70!important}
.tab.active{color:#164f8f!important;border-bottom-color:#164f8f!important;box-shadow:inset 0 -3px #164f8f!important}

/* Normalize cards/panels/forms used by older modules */
.card,.panel,.ui-card,.form-card,.chart-card,.recent-card,.quick-card,.docs-body,
.advanced,.readonly-box,.perm-row,.directory-person,.notice-item,.quick-link,
.dispatch-candidate,.personnel-calendar-row,.detail-item,.json-box{
  border-color:#dce5ef!important;
}
.card,.panel,.ui-card,.form-card,.chart-card,.recent-card,.quick-card{box-shadow:0 3px 12px rgba(18,63,116,.05)!important}
.card-head,.panel-head,.ui-card-head{background:linear-gradient(180deg,#fff,#f8fbfe)!important;border-bottom-color:#dce5ef!important}
.input,.select,.textarea,input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#cfdae6!important;background:#fff!important;color:#172b3f!important}
.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{border-color:#2c6cae!important;box-shadow:0 0 0 3px rgba(22,79,143,.10)!important}

/* All tables, including legacy tables without class=.table */
.table-wrap{border-color:#dce5ef!important;background:#fff}
.table-wrap table{width:100%;border-collapse:collapse;color:#172b3f}
.table-wrap table thead th,.table thead th{background:#edf4fb!important;color:#123f74!important;border-color:#d9e4ef!important;font-weight:750}
.table-wrap table tbody td,.table tbody td{border-color:#e7edf4!important}
.table-wrap table tbody tr:hover td,.table tbody tr:hover td{background:#f5f9fd!important}

/* Old navigation/filter/management components */
.quick-link:hover,.perm-row:hover,.directory-person:hover{border-color:#b9cde1!important;background:#f7fbff!important}
.readonly-box,.advanced,.quick-note{background:#f8fbfe!important;color:#29425d!important}
.advanced summary{color:#315b82!important}
.pill{background:#edf3f8!important;color:#536a80!important}
.pill.ok{background:#e8f6ee!important;color:#1c6a42!important}
.pill.warn{background:#fff0d8!important;color:#8b5700!important}
.pill.danger{background:#fdebea!important;color:#a72018!important}

/* Smart intake / dispatch / personnel calendar */
.intake-hero{background:linear-gradient(105deg,#123e72,#1760a8)!important}
.drop-zone{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.54)!important}
.dispatch-candidate:hover{border-color:#2c6cae!important;box-shadow:0 3px 12px rgba(18,63,116,.10)!important}
.dispatch-rank{background:#e8f0fa!important;color:#164f8f!important}
.dispatch-candidate mark{background:#edf4fb!important;color:#244d7d!important}
.personnel-calendar-row{background:#fff!important}

/* Chat and directory follow the same design tokens */
.chat-room-item.active,.chat-room-item:hover{background:#edf4fb!important;color:#123f74!important}
.chat-msg.mine .chat-bubble{background:#164f8f!important;color:#fff!important}
.chat-msg.mine .chat-bubble small{color:#dceafd!important}
.chat-avatar{background:#e8f0fa!important;color:#164f8f!important}

/* KPI, reports and admin pages */
.kpi-toolbar,.toolbar{border-color:#dce5ef!important;background:#f8fbfe!important}
.lts-check>span,.detail-item{border-color:#dce5ef!important}
.json-box{background:#f6f9fc!important;color:#24415f!important}

/* Modal consistency */
.modal,.modal-card{border-color:#d7e2ed!important;box-shadow:0 18px 50px rgba(10,39,72,.22)!important}
.modal-head{background:#eef4fb!important;border-bottom-color:#d7e2ed!important}
.modal-head h2,.modal-head h3{color:#123f74!important}

/* Mobile: same visual system on every functional route */
@media(max-width:820px){
  .content{background:#f3f7fb!important}
  .page-head,.modern-page-title,.ui-page-head{border-bottom-color:#164f8f!important}
  .table-wrap table,.table{font-size:12px}
  .table-wrap table thead{display:none}
  .table-wrap table tbody tr{background:#fff}
  .modal,.modal-card{border-radius:16px 16px 0 0!important}
}

/* V8.3.5 NAVIGATION + LUU KY BRIDGE */
@media(min-width:821px){.shell .sidebar{transition:transform .18s ease,opacity .18s ease}.shell.sidebar-collapsed .sidebar{transform:translateX(-104%)!important;opacity:0!important;pointer-events:none!important}.shell.sidebar-collapsed .main{margin-left:0!important;width:100%!important}}
.topbar{grid-template-columns:42px 42px minmax(190px,1fr) minmax(260px,520px) auto!important}.back-btn{font-size:21px;font-weight:800;color:#173b78}
@media(max-width:820px){.topbar{grid-template-columns:40px 40px 1fr auto!important}.back-btn{display:grid!important}.topbar .searchbox{display:none!important}}

/* V8.3.6 ACCOUNT MENU */
.account-menu-wrap{position:relative;display:flex;align-items:center}.power-btn{font-size:20px;font-weight:900;color:#173b78}.power-btn:hover{background:#f1f5ff;border-color:#b9c8e8}.account-menu{display:none;position:absolute;right:0;top:calc(100% + 10px);width:250px;background:#fff;border:1px solid #dce5ef;border-radius:14px;box-shadow:0 16px 45px rgba(16,39,77,.18);padding:7px;z-index:120}.account-menu.open{display:block}.account-menu:before{content:'';position:absolute;right:14px;top:-6px;width:11px;height:11px;background:#fff;border-left:1px solid #dce5ef;border-top:1px solid #dce5ef;transform:rotate(45deg)}.account-menu-head{padding:9px 10px 10px;border-bottom:1px solid #eef2f7;margin-bottom:5px}.account-menu-head b{display:block;color:#142d57}.account-menu-head small{display:block;color:#73829a;margin-top:2px}.account-menu button{width:100%;border:0;background:transparent;text-align:left;border-radius:9px;padding:10px 11px;font:inherit;color:#253858;cursor:pointer}.account-menu button:hover{background:#f3f6fb}.account-menu button:disabled{color:#9aa6b7;cursor:not-allowed;background:#fafbfc}.account-menu-sep{height:1px;background:#eef2f7;margin:5px 3px}.account-menu .logout-item{color:#b42318}.notice-lite{background:#f5f8fe;border:1px solid #dce6f7;border-radius:9px;padding:10px 11px;margin-bottom:12px;color:#3d5272;font-size:13px}.sidebar .userbox .user-actions{display:none!important}
@media(max-width:820px){.top-actions .user-mini{display:inline-flex!important;max-width:90px}.account-menu{position:fixed;right:8px;top:58px;width:min(280px,calc(100vw - 16px))}}


/* V8.3.7 MOBILE HEADER + HOME PRIORITY */
@media(max-width:820px){
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:90!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    display:grid!important;
    grid-template-columns:38px 38px minmax(0,1fr) auto!important;
    grid-template-rows:56px!important;
    align-items:center!important;
    gap:4px!important;
    padding:0 7px!important;
    overflow:visible!important;
    background:rgba(255,255,255,.98)!important;
  }
  .topbar .back-btn{
    grid-column:1!important;grid-row:1!important;
    position:relative!important;inset:auto!important;
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
    margin:0!important;align-self:center!important;justify-self:center!important;
  }
  .topbar .menu-toggle{
    grid-column:2!important;grid-row:1!important;
    position:relative!important;inset:auto!important;
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
    margin:0!important;align-self:center!important;justify-self:center!important;
  }
  .topbar:after{
    content:'ĐIỀU HÀNH Đ7'!important;
    grid-column:3!important;grid-row:1!important;
    position:static!important;
    display:block!important;
    min-width:0!important;
    margin:0!important;
    color:#123f74!important;
    font-size:12px!important;
    font-weight:850!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    align-self:center!important;
    justify-self:start!important;
  }
  .topbar .unit,.topbar .searchbox{display:none!important}
  .top-actions{
    grid-column:4!important;grid-row:1!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    justify-self:end!important;
    gap:3px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    z-index:92!important;
  }
  .top-actions .status-pill,.top-actions .user-mini{display:none!important}
  .top-actions>.icon-btn,.top-actions .account-menu-wrap>.icon-btn{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;
    margin:0!important;
  }
  .account-menu-wrap{position:relative!important;display:flex!important;align-items:center!important;margin:0!important}
  .account-menu{position:fixed!important;right:7px!important;top:58px!important;width:min(280px,calc(100vw - 14px))!important;z-index:140!important}
  .notice-panel{top:58px!important;right:7px!important;width:min(420px,calc(100vw - 14px))!important;z-index:135!important}

  /* Mobile homepage priority: news first, then recent activities, then statistics. */
  .portal-top-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin-top:8px!important;
  }
  .portal-latest-panel{display:block!important;order:1!important}
  .portal-feature-panel{order:2!important}
  .portal-latest-list{padding:3px 9px!important}
  .portal-latest-list>button{padding:8px 2px!important;grid-template-columns:24px minmax(0,1fr) auto!important;gap:6px!important}
  .portal-latest-list b{font-size:11px!important}
  .portal-latest-list small{font-size:9px!important}
  .portal-stats-panel{margin-top:8px!important}
}
@media(max-width:420px){
  .topbar{grid-template-columns:36px 36px minmax(0,1fr) auto!important;padding:0 5px!important;gap:2px!important}
  .topbar .back-btn,.topbar .menu-toggle,.top-actions>.icon-btn,.top-actions .account-menu-wrap>.icon-btn{
    width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  }
  .topbar:after{font-size:11px!important}
}


/* V8.3.8 HOME INFORMATION HUB */
.portal-info-panel{background:#fff;border:1px solid #d9e5ef;border-radius:9px;box-shadow:0 2px 9px rgba(19,61,96,.04);overflow:hidden;min-width:0}
.portal-info-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #dce6ef;background:#fbfdff}
.portal-info-tabs button{position:relative;border:0;border-right:1px solid #e7edf4;background:transparent;min-height:42px;padding:6px 5px;font:inherit;font-size:10px;font-weight:800;color:#315b82;cursor:pointer;white-space:nowrap}
.portal-info-tabs button:last-child{border-right:0}.portal-info-tabs button.active{background:#164f8f;color:#fff}.portal-info-tabs button i{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:3px;padding:0 4px;border-radius:9px;background:#eaf1f8;color:#315b82;font-size:9px;font-style:normal}.portal-info-tabs button.active i{background:#fff;color:#164f8f}
.portal-info-row{width:100%;display:grid!important;grid-template-columns:26px minmax(0,1fr) auto!important;align-items:center;gap:7px;border:0!important;border-bottom:1px solid #edf1f5!important;background:#fff!important;padding:9px 8px!important;text-align:left!important;cursor:pointer}.portal-info-row:hover{background:#f6faff!important}.portal-info-row.unread{background:#f1f7ff!important}.portal-info-row>em{font-size:8px;font-style:normal;font-weight:800;background:#dfeeff;color:#15518c;border-radius:9px;padding:3px 6px}.portal-info-copy{min-width:0}.portal-info-copy b{display:block;font-size:11px;color:#203a56;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-info-copy small{display:block;margin-top:3px;font-size:9px;color:#748396;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-file-icon.incoming{background:#eaf2ff;color:#15518c}.portal-file-icon.outgoing{background:#eaf7ef;color:#25734b;font-size:8px}
.portal-board-head{display:flex;align-items:center;min-height:41px;padding:0 10px;background:linear-gradient(180deg,#f7fbff,#edf6ff);border-bottom:1px solid #dce6ef;color:#0c4f8e}.portal-board-head>b{font-size:12px}.portal-board-head .add{margin-left:auto;border:0;border-radius:6px;background:#164f8f;color:#fff;padding:6px 9px;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.portal-board-tabs.compact{grid-template-columns:auto auto auto 1fr}.portal-board-tabs.compact button{height:39px}
@media(max-width:1200px){.portal-info-panel{display:block!important}.portal-top-grid{grid-template-columns:1fr!important}}
@media(max-width:820px){.portal-info-panel{order:1!important}.portal-feature-panel{order:2!important}.portal-info-tabs button{min-height:40px;font-size:9px}.portal-info-row{padding:8px 4px!important}.portal-info-copy b{font-size:10.5px}.portal-info-copy small{font-size:8.5px}.portal-board-head{min-height:38px}.portal-board-tabs.compact{display:flex}.portal-board-tabs.compact button{flex:1 0 auto}}

/* V8.3.9 COHESIVE HOME + COMPACT BRAND */
.portal-identity{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#183b91 0%,#334fb2 52%,#173b7f 100%)!important}
.portal-identity:before{content:'';position:absolute;z-index:-2;inset:0 0 0 46%;background:linear-gradient(90deg,rgba(28,58,135,.95),rgba(30,72,147,.55),rgba(24,60,129,.22)),radial-gradient(circle at 72% 45%,rgba(255,255,255,.20),transparent 31%);opacity:.95;pointer-events:none}
.portal-identity:after{content:'';position:absolute;z-index:-1;right:-4%;top:-45%;width:52%;height:190%;background:radial-gradient(ellipse at center,rgba(255,255,255,.12),rgba(255,255,255,0) 68%);transform:rotate(-8deg);pointer-events:none}
.portal-id-brand h1{font-size:34px!important;line-height:1.02!important;letter-spacing:.2px!important;max-width:780px!important}
.portal-id-brand p{margin-top:4px!important}
.portal-info-wide{margin-top:10px!important}
.portal-info-wide .portal-info-tabs{grid-template-columns:repeat(3,minmax(0,180px));justify-content:start;background:#f8fbfe}
.portal-info-list-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 8px 8px!important;gap:0 14px}
.portal-info-list-wide .portal-info-row{min-height:52px;border-bottom:1px solid #edf1f5!important}
.portal-focus-grid{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(300px,.85fr);gap:10px;margin-top:10px;align-items:stretch}
.portal-focus-grid>.portal-feature-panel,.portal-focus-grid>.portal-attention-panel{height:100%}
.portal-focus-grid .portal-attention-panel{display:block!important}
.portal-stats-strip{margin-top:10px!important}
.portal-stats-strip .portal-stat-grid{padding:8px!important;gap:7px!important}
.portal-stats-strip .portal-stat{min-height:82px!important;border-radius:7px!important;padding:8px!important}
.portal-work-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:10px;margin-top:10px;align-items:start}
.portal-doc-stack{display:grid;gap:10px;min-width:0}.portal-doc-stack .portal-doc-panel{margin:0!important}
.portal-board-panel,.portal-info-panel,.portal-feature-panel,.portal-attention-panel,.portal-stats-panel,.portal-doc-panel{box-shadow:0 1px 5px rgba(18,56,94,.055)!important;border-radius:7px!important}
.portal-section-title,.portal-board-head{min-height:39px!important}
.portal-dashboard-v829{max-width:1540px;margin:0 auto}
/* placeholder ready for a real unit photo: put it at static/assets/banner-unit.jpg */
.portal-identity.has-unit-photo:before{inset:0;background:linear-gradient(90deg,rgba(23,55,133,.98) 0%,rgba(36,72,159,.88) 42%,rgba(24,58,129,.58) 70%,rgba(20,48,111,.42) 100%),url('/assets/banner-unit.jpg') right center/cover no-repeat!important}
.notice-panel{animation:d7NoticeIn .12s ease-out}@keyframes d7NoticeIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.portal-focus-grid,.portal-work-grid{grid-template-columns:1fr}.portal-info-list-wide{grid-template-columns:1fr 1fr}.portal-id-brand h1{font-size:30px!important}}
@media(max-width:820px){
 .topbar:after{content:'ĐIỀU HÀNH TÁC NGHIỆP'!important;font-size:10.5px!important}
 .portal-identity{min-height:78px!important}
 .portal-id-brand h1{font-size:18px!important;line-height:1.05!important}
 .portal-info-wide{margin-top:7px!important}
 .portal-info-wide .portal-info-tabs{grid-template-columns:repeat(3,1fr)}
 .portal-info-list-wide{display:block;padding:2px 7px 6px!important}
 .portal-focus-grid{display:flex;flex-direction:column;gap:7px;margin-top:7px}
 .portal-feature-panel{order:1!important}.portal-attention-panel{order:2!important}
 .portal-stats-strip{margin-top:7px!important}.portal-work-grid{display:block;margin-top:7px}
 .portal-work-grid>.portal-board-panel,.portal-doc-stack>.portal-doc-panel{margin-bottom:7px!important}
 .portal-doc-stack{gap:0}
}

/* V8.3.10 HOME HERO INTEGRATION - remove white frame and use real unit gate */
body.route-home .content.home-page{
  padding:0 0 28px!important;
  max-width:none!important;
  margin:0!important;
  background:#f3f7fb!important;
}
body.route-home .portal-dashboard-v829{
  max-width:none!important;
  margin:0!important;
  padding:0 0 22px!important;
  background:#f3f7fb!important;
}
body.route-home .portal-identity{
  min-height:172px!important;
  border-radius:0!important;
  margin:0!important;
  padding:20px 34px!important;
  background:#0c3972!important;
  box-shadow:none!important;
}
body.route-home .portal-identity.has-unit-photo:before{
  content:''!important;
  position:absolute!important;
  z-index:-2!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(5,35,79,.97) 0%,rgba(8,46,98,.94) 30%,rgba(14,63,124,.64) 57%,rgba(8,45,96,.50) 100%),
    url('/assets/banner-unit.jpg') center 46%/cover no-repeat!important;
  opacity:1!important;
}
body.route-home .portal-identity:after{
  content:''!important;
  position:absolute!important;
  z-index:-1!important;
  inset:0!important;
  width:auto!important;height:auto!important;right:auto!important;top:auto!important;
  transform:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,20,55,.16))!important;
  pointer-events:none!important;
}
body.route-home .portal-id-brand h1{font-size:32px!important;line-height:1.04!important;letter-spacing:.3px!important;text-shadow:0 2px 9px rgba(0,0,0,.24)}
body.route-home .portal-id-brand small,body.route-home .portal-id-brand p{text-shadow:0 1px 5px rgba(0,0,0,.3)}
body.route-home .portal-primary-nav{margin:0!important;border-radius:0!important}
body.route-home .portal-ticker{margin:0!important;border-left:0!important;border-right:0!important}
body.route-home .portal-info-wide,
body.route-home .portal-focus-grid,
body.route-home .portal-stats-strip,
body.route-home .portal-work-grid{margin-left:12px!important;margin-right:12px!important}

/* Home topbar visually belongs to the portal instead of a separate white frame */
body.route-home .topbar{
  background:linear-gradient(90deg,#082f63 0%,#0b417f 100%)!important;
  border-bottom:0!important;
  box-shadow:none!important;
  color:#fff!important;
}
body.route-home .topbar .unit strong,
body.route-home .topbar .unit span,
body.route-home .topbar .user-mini{color:#fff!important}
body.route-home .topbar .icon-btn,
body.route-home .topbar .back-btn,
body.route-home .topbar .menu-toggle,
body.route-home .topbar .power-btn{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#fff!important;
}
body.route-home .topbar .status-pill{background:rgba(255,255,255,.13)!important;color:#fff!important}
body.route-home .topbar .searchbox{background:rgba(255,255,255,.97)!important;border-color:rgba(255,255,255,.3)!important}
body.route-home .topbar .searchbox input{background:transparent!important}

@media(max-width:820px){
  body.route-home .content.home-page{padding:0 0 calc(82px + env(safe-area-inset-bottom))!important}
  body.route-home .portal-dashboard-v829{padding:0 0 calc(78px + env(safe-area-inset-bottom))!important}
  body.route-home .topbar{background:#082f63!important}
  body.route-home .topbar:after{color:#fff!important;content:'TÁC NGHIỆP'!important}
  body.route-home .portal-identity{min-height:118px!important;padding:13px 12px!important}
  body.route-home .portal-identity.has-unit-photo:before{
    background:
      linear-gradient(90deg,rgba(5,35,79,.98) 0%,rgba(9,48,101,.91) 48%,rgba(9,49,101,.68) 100%),
      url('/assets/banner-unit.jpg') center center/cover no-repeat!important;
  }
  body.route-home .portal-id-brand h1{font-size:18px!important}
  body.route-home .portal-info-wide,
  body.route-home .portal-focus-grid,
  body.route-home .portal-stats-strip,
  body.route-home .portal-work-grid{margin-left:7px!important;margin-right:7px!important}
}


/* V8.3.11 UNIFIED LOGIN + HOME FLOW + FUNCTION PAGES */
:root{
  --ui-navy:#082f63;
  --ui-blue:#0b4f91;
  --ui-blue-2:#164f8f;
  --ui-red:#e5202e;
  --ui-gold:#f0cf71;
  --ui-bg:#f3f7fb;
  --ui-line:#dbe6f0;
  --ui-text:#17324f;
}

/* Login: same visual identity as the portal hero */
.auth-modern{
  min-height:100vh!important;
  padding:clamp(16px,3vw,34px)!important;
  background:
    linear-gradient(110deg,rgba(4,30,70,.96),rgba(8,57,116,.86) 48%,rgba(9,66,130,.58)),
    url('/assets/banner-unit.jpg') center center/cover fixed no-repeat!important;
}
.auth-shell{
  width:min(1080px,100%)!important;
  min-height:600px!important;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,450px)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:18px!important;
  background:rgba(5,37,78,.34)!important;
  box-shadow:0 28px 78px rgba(0,20,55,.36)!important;
  backdrop-filter:blur(2px);
}
.auth-brand-panel{
  min-height:600px!important;
  padding:58px!important;
  background:linear-gradient(105deg,rgba(4,31,71,.94),rgba(6,45,96,.72) 76%,rgba(5,38,82,.35))!important;
  justify-content:flex-end!important;
}
.auth-brand-panel:after{display:none!important}
.auth-brand-panel:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(2,24,55,.50));pointer-events:none}
.auth-brand-panel>img,.auth-brand-panel>div{position:relative;z-index:1}
.auth-emblem{width:92px!important;height:92px!important;margin:0 0 22px!important}
.auth-kicker{font-size:12px!important;color:var(--ui-gold)!important;letter-spacing:1.35px!important}
.auth-brand-panel h1{font-size:33px!important;line-height:1.05!important;margin:7px 0 8px!important;text-shadow:0 2px 10px rgba(0,0,0,.28)}
.auth-brand-panel p{font-size:14px!important;color:#e5effb!important}
.auth-card{
  background:rgba(255,255,255,.985)!important;
  padding:46px 42px!important;
  border-left:1px solid rgba(255,255,255,.6)!important;
}
.login-head{margin-bottom:24px!important}
.login-emblem{width:68px!important;height:68px!important;margin-bottom:8px!important}
.auth-card .login-head h1{font-size:24px!important;color:#102f58!important;margin:5px 0 3px!important}
.auth-card .login-head p{color:#64758a!important}
.auth-card .field label{font-weight:750!important;color:#203c5c!important}
.auth-card .input{border:1px solid #cad9e7!important;background:#fff!important;box-shadow:inset 0 1px 2px rgba(12,48,85,.03)!important}
.auth-card .input:focus{border-color:#2a67a6!important;box-shadow:0 0 0 3px rgba(27,91,153,.12)!important}
.auth-submit{background:linear-gradient(90deg,#0b4f91,#153f78)!important;border:0!important}
.auth-note{color:#718096!important}
.auth-version{color:#91a0b2!important}

/* Home: activity first, then new information */
body.route-home .portal-focus-grid{margin-top:10px!important}
body.route-home .portal-info-wide{margin-top:10px!important}
body.route-home .portal-info-wide .portal-section-title{background:linear-gradient(180deg,#fff9f9,#fff2f2)!important}
body.route-home .portal-info-list-wide{min-height:112px!important}

/* One UI language for all functional pages */
body:not(.route-home){background:var(--ui-bg)!important}
body:not(.route-home) .topbar{
  background:linear-gradient(90deg,var(--ui-navy),#123f7a)!important;
  color:#fff!important;
  border-bottom:0!important;
  box-shadow:0 2px 10px rgba(6,38,78,.10)!important;
}
body:not(.route-home) .topbar .unit strong,
body:not(.route-home) .topbar .unit span,
body:not(.route-home) .topbar .user-mini{color:#fff!important}
body:not(.route-home) .topbar .icon-btn,
body:not(.route-home) .topbar .power-btn,
body:not(.route-home) .topbar .back-btn,
body:not(.route-home) .topbar .menu-toggle{
  color:#fff!important;background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.18)!important
}
body:not(.route-home) .topbar .status-pill{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
body:not(.route-home) .topbar .searchbox{background:#fff!important;border-color:#d6e3ef!important}
body:not(.route-home) .content{
  background:var(--ui-bg)!important;
  padding:18px 20px 30px!important;
}
body:not(.route-home) .page-head{
  margin:0 0 14px!important;
  padding:4px 2px 13px!important;
  border-bottom:3px solid #234ba0!important;
  background:transparent!important;
}
body:not(.route-home) .page-head h1{font-size:26px!important;color:#173f79!important;letter-spacing:-.2px!important;margin:0 0 3px!important}
body:not(.route-home) .page-head p{color:#718096!important;margin:0!important}
body:not(.route-home) .card,
body:not(.route-home) .table-wrap,
body:not(.route-home) .smart-search-section{
  border:1px solid var(--ui-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 2px 8px rgba(13,53,93,.045)!important;
}
body:not(.route-home) .card-head{
  background:linear-gradient(180deg,#f8fbff,#f1f6fb)!important;
  border-bottom:1px solid var(--ui-line)!important;
  color:#153f78!important;
}
body:not(.route-home) .card-head h2{color:#153f78!important}
body:not(.route-home) .table{background:#fff!important}
body:not(.route-home) .table thead th{background:#edf4fb!important;color:#24486f!important;border-bottom:1px solid #d8e4ef!important}
body:not(.route-home) .table tbody tr:hover{background:#f7fbff!important}
body:not(.route-home) .input,
body:not(.route-home) .select,
body:not(.route-home) .textarea{border-color:#cfddea!important;border-radius:8px!important;background:#fff!important}
body:not(.route-home) .input:focus,
body:not(.route-home) .select:focus,
body:not(.route-home) .textarea:focus{border-color:#2b6ba6!important;box-shadow:0 0 0 3px rgba(43,107,166,.10)!important}
body:not(.route-home) .btn.primary{background:#164f8f!important;border-color:#164f8f!important;color:#fff!important}
body:not(.route-home) .btn.ghost{background:#fff!important;border-color:#cfddea!important;color:#23486f!important}
body:not(.route-home) .stats{gap:10px!important}
body:not(.route-home) .stat b{color:#164f8f!important}

/* Sidebar branding consistency */
.brand strong{font-size:14px!important;line-height:1.18!important;letter-spacing:.1px!important}
.brand small{font-size:10.5px!important;color:#dbe8f8!important}

@media(max-width:820px){
  .auth-modern{padding:0!important;background:linear-gradient(180deg,#082f63,#0b4f91)!important}
  .auth-shell{display:block!important;min-height:100dvh!important;border:0!important;border-radius:0!important;background:#f6f9fc!important;box-shadow:none!important}
  .auth-brand-panel{min-height:150px!important;padding:18px!important;justify-content:flex-end!important;background:linear-gradient(90deg,rgba(5,35,79,.95),rgba(8,58,117,.67)),url('/assets/banner-unit.jpg') center 45%/cover no-repeat!important}
  .auth-emblem{width:56px!important;height:56px!important;margin:0 0 8px!important}
  .auth-kicker{font-size:9px!important}
  .auth-brand-panel h1{font-size:20px!important;margin:2px 0 2px!important}
  .auth-brand-panel p{font-size:10.5px!important}
  .auth-card{min-height:calc(100dvh - 150px)!important;padding:20px 18px calc(30px + env(safe-area-inset-bottom))!important;border:0!important}
  .login-emblem{width:52px!important;height:52px!important}
  .auth-card .login-head h1{font-size:21px!important}
  body:not(.route-home) .content{padding:12px 8px calc(82px + env(safe-area-inset-bottom))!important}
  body:not(.route-home) .page-head{padding:2px 3px 10px!important;margin-bottom:10px!important}
  body:not(.route-home) .page-head h1{font-size:21px!important}
  body.route-home .portal-focus-grid{order:0!important}
  body.route-home .portal-info-wide{order:0!important}
}

/* V8.3.12 - Auth/session stability + compact home schedule */
.auth-modern{
  padding:20px!important;
  background:
    linear-gradient(100deg,rgba(4,31,72,.78),rgba(8,55,110,.52) 52%,rgba(4,31,72,.68)),
    url('/assets/banner-unit.jpg') center 48%/cover fixed no-repeat!important;
}
.auth-shell.auth-shell-login{
  width:min(1040px,calc(100vw - 40px))!important;
  min-height:560px!important;
  max-height:760px!important;
  grid-template-columns:minmax(0,1.08fr) minmax(370px,420px)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:rgba(8,43,88,.22)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 24px 70px rgba(2,20,50,.34)!important;
}
.auth-shell-login .auth-brand-panel{
  min-height:560px!important;
  padding:38px 42px!important;
  justify-content:flex-end!important;
  background:linear-gradient(180deg,rgba(4,31,70,.10),rgba(4,31,70,.32) 45%,rgba(3,25,59,.84))!important;
}
.auth-brand-glass{
  display:flex!important;align-items:center!important;gap:18px!important;
  padding:18px 20px!important;border-radius:16px!important;
  background:rgba(4,31,70,.28)!important;border:1px solid rgba(255,255,255,.15)!important;
  backdrop-filter:blur(4px)!important;max-width:560px!important;
}
.auth-brand-glass .auth-emblem{width:78px!important;height:78px!important;margin:0!important;flex:0 0 78px!important}
.auth-brand-glass h1{font-size:29px!important;margin:4px 0 5px!important;white-space:nowrap!important}
.auth-brand-glass p{font-size:14px!important;margin:0 0 4px!important}
.auth-brand-glass small{font-size:10.5px!important;color:#d8e8f8!important;letter-spacing:.5px!important}
.auth-shell-login .auth-card{
  padding:34px 34px!important;
  justify-content:center!important;
  background:rgba(255,255,255,.97)!important;
  border-left:1px solid rgba(255,255,255,.58)!important;
}
.compact-login-head{display:flex!important;align-items:center!important;text-align:left!important;gap:12px!important;margin-bottom:22px!important}
.compact-login-head .login-emblem{width:54px!important;height:54px!important;margin:0!important;flex:0 0 54px!important}
.compact-login-head h1{font-size:23px!important;margin:0 0 2px!important}
.compact-login-head p{font-size:12px!important;margin:0!important}
.auth-shell-login .auth-card .field{margin-bottom:12px!important}
.auth-shell-login .auth-submit{margin-top:2px!important}
.auth-shell-login .auth-version{margin-top:12px!important}

.portal-right-stack{display:grid;grid-template-rows:auto auto;gap:8px;min-width:0;height:100%}
.portal-right-stack>.portal-attention-panel,.portal-right-stack>.portal-board-panel{min-width:0}
.portal-board-compact{box-shadow:0 1px 5px rgba(18,56,94,.05)!important}
.portal-board-compact .portal-board-head{min-height:34px!important;padding:0 9px!important;font-size:11px!important}
.portal-board-compact .portal-board-head .add{min-width:28px!important;padding:4px 7px!important;font-size:12px!important}
.portal-board-compact .portal-board-tabs{min-height:32px!important}
.portal-board-compact .portal-board-tabs button{height:32px!important;padding:0 9px!important;font-size:9.5px!important}
.portal-board-mini{max-height:158px;overflow:auto}
.portal-board-mini .board-row,.portal-board-mini .notice-item{padding:7px 9px!important;min-height:auto!important}
.portal-board-mini .board-row b,.portal-board-mini .notice-item b{font-size:10.5px!important}
.portal-board-mini .board-row small,.portal-board-mini .notice-item small{font-size:8.5px!important}
.portal-work-grid.portal-work-docs-only{display:block!important}
.portal-work-docs-only .portal-doc-stack{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}

@media(max-width:1200px){
  .portal-right-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}
  .portal-focus-grid{grid-template-columns:1fr!important}
  .portal-work-docs-only .portal-doc-stack{grid-template-columns:1fr 1fr!important}
}
@media(max-width:820px){
  .auth-modern{padding:0!important;background:linear-gradient(180deg,rgba(5,37,82,.80),rgba(8,60,120,.72)),url('/assets/banner-unit.jpg') center/cover fixed no-repeat!important}
  .auth-shell.auth-shell-login{width:100%!important;max-height:none!important;min-height:100dvh!important;display:flex!important;flex-direction:column!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .auth-shell-login .auth-brand-panel{min-height:132px!important;padding:14px 16px!important;justify-content:flex-end!important;background:linear-gradient(90deg,rgba(4,31,70,.72),rgba(7,58,117,.42))!important}
  .auth-brand-glass{padding:10px 12px!important;gap:10px!important;border-radius:12px!important;background:rgba(3,28,64,.30)!important}
  .auth-brand-glass .auth-emblem{width:48px!important;height:48px!important;flex-basis:48px!important}
  .auth-brand-glass h1{font-size:18px!important;white-space:normal!important;margin:1px 0!important}
  .auth-brand-glass p{font-size:10px!important}.auth-brand-glass small{display:none!important}.auth-kicker{font-size:8px!important}
  .auth-shell-login .auth-card{min-height:calc(100dvh - 132px)!important;padding:18px max(16px,calc((100vw - 480px)/2)) calc(28px + env(safe-area-inset-bottom))!important;border:0!important;justify-content:flex-start!important}
  .compact-login-head{margin-bottom:16px!important}.compact-login-head .login-emblem{width:46px!important;height:46px!important;flex-basis:46px!important}.compact-login-head h1{font-size:20px!important}
  .portal-right-stack{display:block!important}.portal-right-stack>.portal-attention-panel{margin-bottom:7px!important}.portal-board-mini{max-height:150px}
  .portal-work-docs-only .portal-doc-stack{grid-template-columns:1fr!important}
}

/* V8.3.14 — realtime chat + audio/video call */
.notice-item.notice-click{width:100%;border:0;border-bottom:1px solid var(--line,#e4e8f2);background:transparent;text-align:left;cursor:pointer;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.notice-item.notice-click:hover{background:#f5f7ff}.notice-item.notice-click.unread{background:#eef2ff}
.chat-call-actions{display:flex;gap:7px;flex-wrap:wrap}
.incoming-call{position:fixed;right:24px;top:92px;z-index:12000;min-width:330px;max-width:440px;background:#fff;border:1px solid #d8def0;border-radius:18px;box-shadow:0 20px 54px rgba(13,28,89,.25);padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.incoming-call>div:first-child{display:flex;flex-direction:column;gap:4px}.incoming-call>div:last-child{display:flex;gap:8px}.incoming-call b{font-size:17px;color:#182454}.incoming-call span{color:#66708c}
.call-overlay{position:fixed;inset:0;z-index:13000;background:rgba(5,11,35,.88);display:flex;align-items:center;justify-content:center;padding:20px}
.call-stage{width:min(1100px,96vw);height:min(760px,92vh);background:#111b48;border-radius:22px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.call-title{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#fff}.call-title b{font-size:20px}.call-title span{opacity:.78}
.call-videos{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;padding:10px;min-height:0}.call-videos video{width:100%;height:100%;min-height:180px;object-fit:cover;background:#05091c;border-radius:14px}
.call-controls{height:86px;display:flex;align-items:center;justify-content:center;gap:12px;background:#0b1235}.call-controls button{border:0;border-radius:999px;padding:13px 18px;font-weight:700;cursor:pointer}.call-controls .hangup{background:#d62839;color:#fff}
@media(max-width:820px){.incoming-call{left:12px;right:12px;top:72px;min-width:0}.chat-call-actions .btn{padding:8px 10px;font-size:12px}.call-overlay{padding:0}.call-stage{width:100vw;height:100vh;border-radius:0}.call-videos{grid-template-columns:1fr}.call-title{height:62px}.call-controls{height:78px}}

/* V8.3.16 – one global notification entry + permission-consistent calendar */
.calendar-grid .card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-grid .notice-item .actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.top-actions [data-notice-toggle]{flex:0 0 auto}

/* V8.3.18 - quick intake on home */
.portal-quick-intake{margin:12px 16px 14px;border:1px dashed #9aa6d8;background:#f7f9ff;border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;transition:.18s}
.portal-quick-intake:hover,.portal-quick-intake.over{border-color:#343a9b;background:#eef1ff;box-shadow:0 0 0 3px rgba(52,58,155,.08)}
.portal-quick-intake>div{display:flex;flex-direction:column;gap:3px}.portal-quick-intake b{color:#252b7c;font-size:14px}.portal-quick-intake span{color:#67708d;font-size:13px}
@media(max-width:820px){.portal-quick-intake{margin:10px 8px;align-items:stretch;flex-direction:column}.portal-quick-intake button{width:100%}}

/* V8.3.19 document lifecycle */
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.readonly-box+details{margin-top:10px}

/* V8.3.21 - Mobile intake + mobile login hardening */
.native-file-picker{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.intake-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.intake-source-grid>button{min-height:132px;border:1px solid #d5e0ec;background:#fff;border-radius:14px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#173d70;cursor:pointer;box-shadow:0 3px 12px rgba(17,55,96,.06)}
.intake-source-grid>button:hover{border-color:#2561a2;background:#f4f8fd}
.intake-source-grid>button>span{font-size:30px}.intake-source-grid>button>b{font-size:14px}.intake-source-grid>button>small{font-size:11px;color:#718096;line-height:1.35}
.intake-mobile-note,.intake-format-help{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f2f6fb;color:#53657c;font-size:12px;line-height:1.45}
.intake-file-card{display:flex;align-items:center;gap:14px;border:1px solid #dbe5ef;border-radius:14px;padding:14px;background:#fff}.intake-file-card>div{min-width:0;display:grid;gap:4px}.intake-file-card b{font-size:14px;overflow-wrap:anywhere}.intake-file-card span{color:#34577c;font-size:12px}.intake-file-card small{color:#7b8798;font-size:11px;line-height:1.35}.intake-file-preview{width:100px;height:100px;object-fit:cover;border-radius:10px;border:1px solid #d7e0e9;flex:0 0 100px}

@media(max-width:820px){
  .portal-quick-intake{cursor:default!important}.portal-quick-intake>div span{font-size:11px!important;line-height:1.35!important}.portal-quick-intake .btn{min-height:44px!important;white-space:nowrap!important}
  .intake-source-grid{grid-template-columns:1fr!important;gap:9px!important}.intake-source-grid>button{min-height:82px!important;display:grid!important;grid-template-columns:44px 1fr!important;grid-template-rows:auto auto!important;text-align:left!important;align-items:center!important;justify-items:start!important;padding:12px 14px!important}.intake-source-grid>button>span{grid-row:1/3;font-size:28px!important}.intake-source-grid>button>b{font-size:14px!important}.intake-source-grid>button>small{font-size:11px!important}.intake-file-card{align-items:flex-start!important}.intake-file-preview{width:78px!important;height:92px!important;flex-basis:78px!important}
  .modal{width:min(96vw,720px)!important;max-height:92dvh!important}.modal-body{padding:14px!important;overflow:auto!important}.modal-foot{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}.modal-foot .btn{width:100%!important;min-height:44px!important}
  .auth-modern{min-height:100dvh!important;height:auto!important;overflow:auto!important;padding:0!important;background:#f5f8fc!important}
  .auth-shell.auth-shell-login{display:block!important;min-height:100dvh!important;height:auto!important;background:#f5f8fc!important;overflow:visible!important}
  .auth-shell-login .auth-brand-panel{min-height:112px!important;height:auto!important;padding:max(10px,env(safe-area-inset-top)) 14px 10px!important;background:linear-gradient(90deg,rgba(5,35,79,.94),rgba(8,58,117,.72)),url('/assets/banner-unit.jpg') center 46%/cover no-repeat!important}
  .auth-brand-glass{width:100%!important;max-width:none!important;padding:8px 10px!important;display:flex!important;align-items:center!important;gap:9px!important;border-radius:10px!important}.auth-brand-glass .auth-emblem{width:42px!important;height:42px!important;flex:0 0 42px!important;margin:0!important}.auth-brand-glass h1{font-size:17px!important;line-height:1.1!important;margin:1px 0!important;white-space:normal!important}.auth-brand-glass p{font-size:10px!important}.auth-brand-glass small{display:none!important}.auth-kicker{font-size:8px!important;letter-spacing:.7px!important}
  .auth-shell-login .auth-card{min-height:calc(100dvh - 112px)!important;height:auto!important;padding:18px 16px calc(24px + env(safe-area-inset-bottom))!important;justify-content:flex-start!important;overflow:visible!important}.compact-login-head{margin-bottom:14px!important;gap:10px!important}.compact-login-head .login-emblem{width:42px!important;height:42px!important;flex:0 0 42px!important}.compact-login-head h1{font-size:19px!important}.compact-login-head p{font-size:11px!important}.auth-shell-login .auth-card .field{margin-bottom:10px!important}.auth-card .input{min-height:46px!important;font-size:16px!important}.auth-submit{min-height:48px!important}.remember-row{margin-bottom:14px!important}
}
@media(max-width:420px){.auth-shell-login .auth-brand-panel{min-height:96px!important}.auth-shell-login .auth-card{min-height:calc(100dvh - 96px)!important;padding-left:14px!important;padding-right:14px!important}.auth-brand-glass .auth-emblem{width:38px!important;height:38px!important;flex-basis:38px!important}.auth-brand-glass h1{font-size:16px!important}.compact-login-head .login-emblem{width:38px!important;height:38px!important;flex-basis:38px!important}}
@media(max-height:560px) and (orientation:landscape){.auth-shell-login .auth-brand-panel{display:none!important}.auth-shell-login .auth-card{min-height:100dvh!important;padding-top:12px!important}.compact-login-head{margin-bottom:8px!important}.compact-login-head .login-emblem{width:34px!important;height:34px!important;flex-basis:34px!important}.auth-shell-login .auth-card .field{margin-bottom:7px!important}.remember-row{margin-bottom:8px!important}}

/* V8.3.22 - Nop ket qua: gan tep truc tiep */
.result-upload-box{border:2px dashed #aebbd4;background:#f8faff;border-radius:12px;padding:16px 14px;display:grid;place-items:center;text-align:center;gap:6px;cursor:pointer;margin:7px 0 10px;transition:.15s}.result-upload-box:hover,.result-upload-box.over{border-color:#4057b2;background:#f0f4ff}.result-upload-icon{font-size:28px}.result-upload-box>b{color:#20347f;font-size:14px}.result-upload-box>span{color:#6b7890;font-size:12px}.result-upload-status{min-height:18px;font-size:12px;margin:2px 0 5px}.result-upload-status .ok-text{color:#11734b;font-weight:700}.result-upload-status .warn-text{color:#9a5b00;font-weight:700}.result-attachment-list{max-height:220px;overflow:auto}.result-attach-help{display:block;color:#6b7890;margin-top:7px;line-height:1.4}.result-file-choice input{width:18px;height:18px;margin-top:2px;accent-color:#3446a1}@media(max-width:720px){.result-upload-box{padding:14px 10px}.result-attachment-list{max-height:180px}.result-upload-box .btn{width:100%;max-width:220px}}

/* V8.3.23 - Sổ văn bản / lấy số */
.register-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.register-summary>div{border:1px solid var(--line,#dbe3f2);border-radius:10px;padding:10px 12px;background:#f8faff}.register-summary small{display:block;color:#667085;margin-bottom:3px}.register-summary b{font-size:20px;color:#26318a}.error-box,.info-box{border-radius:10px;padding:12px 14px}.error-box{background:#fff2f2;border:1px solid #f4b8b8;color:#9b1c1c}.info-box{margin-top:12px;background:#f3f6ff;border:1px solid #cbd5ff;color:#344054}@media(max-width:700px){.register-summary{grid-template-columns:1fr 1fr}.register-summary>div:last-child{grid-column:1/-1}}

/* V8.3.25 - Báo cáo cuối ngày */
.daily-report-home{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:14px 18px;border:1px solid #d8def0;border-left:5px solid #d39a18;background:#fffdf5;border-radius:12px;box-shadow:0 4px 16px rgba(25,42,92,.06)}
.daily-report-home.done{border-left-color:#2e8b57;background:#f7fcf9}.daily-report-home-copy{display:flex;gap:13px;align-items:center;min-width:0}.daily-report-home-copy>div{display:flex;flex-direction:column;gap:4px}.daily-report-home-copy b{color:#1d337a;font-size:15px}.daily-report-home-copy small{color:#68738e}.daily-report-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#fff1c8;color:#8a5b00;font-weight:800;font-size:20px;flex:0 0 auto}.daily-report-home.done .daily-report-icon{background:#daf3e4;color:#176c3c}.daily-report-suggest{padding:12px;border:1px solid #dfe4f2;background:#f8f9fd;border-radius:10px;margin:12px 0}.daily-report-suggest>div{white-space:pre-wrap;color:#59647e;margin:6px 0 10px}.daily-team-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.daily-team-toolbar label{display:flex;flex-direction:column;gap:6px;font-weight:700}.stats.compact{display:flex;gap:10px}.stats.compact>div{min-width:90px;padding:8px 12px;border:1px solid #e0e5f2;border-radius:9px;text-align:center;background:#fafbfe}.stats.compact b{display:block;color:#233a88;font-size:20px}.stats.compact span{font-size:11px;color:#75809a}.cell-wrap{max-width:360px;white-space:pre-wrap}.daily-report-view b{display:block;color:#203779;margin-top:12px}.daily-report-view p{white-space:normal;line-height:1.55;margin:5px 0 10px;padding:9px 11px;background:#f8f9fc;border-radius:8px}.daily-report-view small{display:block;margin-top:14px;color:#79839c}
@media(max-width:820px){.daily-report-home{align-items:stretch;flex-direction:column}.daily-report-home .btn{width:100%}.daily-team-toolbar{align-items:stretch;flex-direction:column}.stats.compact{display:grid;grid-template-columns:repeat(3,1fr)}.stats.compact>div{min-width:0}.cell-wrap{max-width:180px}}

/* V8.3.26 periodic report summary */
.periodic-toolbar{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto;gap:8px;align-items:end;margin-bottom:10px}.periodic-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:12px}.periodic-draft{min-height:360px;line-height:1.5}.periodic-details{margin-top:10px}.periodic-details summary{cursor:pointer;font-weight:700}@media(max-width:760px){.periodic-toolbar{grid-template-columns:1fr 1fr}.periodic-toolbar .btn{grid-column:1/-1}.periodic-draft{min-height:300px}}

/* V8.3.27 official periodic reports */
.periodic-view{white-space:pre-wrap;font-family:'Times New Roman',serif;font-size:15px;line-height:1.55;background:#fff;border:1px solid var(--line,#ddd);padding:14px;border-radius:10px;max-height:55vh;overflow:auto}.btn.success{background:#198754;color:#fff;border-color:#198754}

/* V8.3.28 - Form báo cáo cuối ngày 1-10 nhiệm vụ, responsive */
.daily-report-form-v8328{min-width:min(1080px,88vw)}
.daily-report-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.daily-report-meta>div{border:1px solid #dfe7f2;background:#f8fbff;border-radius:10px;padding:10px 12px}.daily-report-meta small{display:block;color:#71809a;margin-bottom:4px}
.daily-section-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#eef5ff;border:1px solid #cfe0f6;border-radius:10px;padding:10px 12px;margin:12px 0}.daily-section-title>b{color:#163e82}.daily-section-title>span{font-size:12px;color:#6d7890}.daily-section-title>div{margin-left:auto;display:flex;align-items:center;gap:8px}.daily-section-title em{font-style:normal;font-weight:700;color:#173d82}
.daily-task-row{display:grid;grid-template-columns:34px minmax(220px,1.4fr) 150px 150px minmax(240px,1.2fr) 34px;gap:8px;align-items:start;padding:10px 8px;border:1px solid #dfe6ef;border-radius:10px;margin:8px 0;background:#fff}.daily-task-row label{display:block;font-size:11px;color:#66758d;margin:2px 0 4px}.daily-task-no{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf3ff;color:#173d82;font-weight:800;margin-top:18px}.daily-task-time{display:grid;grid-template-columns:1fr;gap:2px}.daily-task-result textarea{min-height:58px}.daily-remove{border:0;background:#fff1f1;color:#d82929;border-radius:7px;height:32px;font-size:22px;cursor:pointer;margin-top:18px}.daily-report-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.daily-suggestion-chip{border:1px solid #bfcee8;background:white;color:#264a84;border-radius:20px;padding:6px 10px;margin:4px;cursor:pointer;text-align:left}.daily-suggestion-chip:hover{background:#eef5ff}.daily-file-box{border:1px dashed #b9c9e6;border-radius:10px;padding:12px;margin-top:10px}.daily-file-box>div:first-child{display:flex;flex-direction:column;margin-bottom:8px}.daily-file-item{display:flex;gap:8px;align-items:center;padding:7px 9px;background:#f7f9fd;border-radius:7px;margin-top:5px}.daily-file-item>a,.daily-file-item>b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.daily-file-item button{border:0;background:transparent;font-size:18px;cursor:pointer}.daily-file-list-view{display:flex;gap:6px;flex-wrap:wrap}.daily-file-list-view a{padding:6px 9px;border:1px solid #d5e0f0;border-radius:7px}
@media(max-width:820px){.daily-report-form-v8328{min-width:0}.daily-report-meta{grid-template-columns:1fr}.daily-task-row{grid-template-columns:32px 1fr 32px}.daily-task-main,.daily-task-time,.daily-task-result,.daily-task-row>div:nth-child(4){grid-column:2}.daily-remove{grid-column:3;grid-row:1}.daily-report-grid2{grid-template-columns:1fr}.daily-section-title>div{margin-left:0;width:100%;justify-content:space-between}}

/* V8.3.29 - LIVE OPERATIONS MONITOR / BIG SCREEN */
.monitor-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;background:#fff;border:1px solid #dce4ef;border-radius:12px}.monitor-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#34445f}.monitor-toolbar .input,.monitor-toolbar .select{min-width:150px}.monitor-auto{flex-direction:row!important;align-items:center!important;gap:7px!important;min-height:42px;padding:0 8px}.monitor-grid-stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-bottom:12px}.monitor-stat{background:linear-gradient(145deg,#fff,#f4f7fc);border:1px solid #dce5f1;border-radius:12px;padding:13px 14px;box-shadow:0 4px 14px rgba(16,43,84,.05)}.monitor-stat small{display:block;color:#6b7890;font-weight:700}.monitor-stat b{display:block;font-size:27px;color:#173c7a;margin:2px 0}.monitor-stat span{font-size:11px;color:#6b7890}.monitor-stat.danger{border-color:#f1c3c3;background:#fff7f7}.monitor-stat.danger b{color:#b3261e}.monitor-main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:12px;margin-bottom:12px}.monitor-panel{overflow:hidden}.monitor-panel .card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.monitor-panel .card-head small{color:#73809a}.monitor-hourly{height:180px;display:grid;grid-template-columns:repeat(24,minmax(16px,1fr));gap:4px;align-items:end;padding-top:10px}.monitor-hour{height:100%;display:grid;grid-template-rows:18px 1fr 18px;gap:2px;align-items:end;text-align:center}.monitor-hour>span,.monitor-hour>b{font-size:9px;color:#7b879b}.monitor-hour-track{height:100%;display:flex;align-items:end;justify-content:center;border-bottom:1px solid #d8e1ed}.monitor-hour-track i{display:block;width:70%;min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(#3f67ce,#173c7a);transition:height .25s}.monitor-attention{max-height:220px;overflow:auto}.monitor-alert{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid #edf1f6}.monitor-alert:last-child{border-bottom:0}.monitor-alert>i{width:28px;height:28px;border-radius:8px;background:#fff3d8;color:#9d6200;display:grid;place-items:center;font-style:normal;font-weight:800;flex:0 0 28px}.monitor-alert.overdue>i,.monitor-alert.issue>i{background:#ffe8e8;color:#b3261e}.monitor-alert div{min-width:0}.monitor-alert b,.monitor-alert span{display:block}.monitor-alert span{font-size:11px;color:#6f7c91;margin-top:2px;white-space:normal}.monitor-staff-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:10px}.monitor-person{border:1px solid #dfe6f1;border-radius:12px;padding:11px;background:#fff}.monitor-person header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.monitor-person header>div{min-width:0}.monitor-person header b,.monitor-person header small{display:block}.monitor-person header small{color:#748198;font-size:11px;margin-top:2px}.monitor-progress{height:7px;background:#eef2f7;border-radius:999px;overflow:hidden;margin:10px 0 8px}.monitor-progress span{display:block;height:100%;background:linear-gradient(90deg,#2e8b57,#2f68cc);border-radius:999px}.monitor-person-metrics{display:flex;gap:9px;flex-wrap:wrap}.monitor-person-metrics span{font-size:10px;color:#68758a}.monitor-person-metrics b{font-size:12px;color:#173c7a}.monitor-person footer{margin-top:8px;padding-top:8px;border-top:1px solid #edf1f6}.monitor-person footer b,.monitor-person footer span{display:block}.monitor-person footer b{font-size:11px;color:#33435c}.monitor-person footer span{font-size:10px;color:#7b8798;margin-top:2px}.monitor-feed{max-height:370px;overflow:auto}.monitor-feed-row{display:grid;grid-template-columns:28px 86px 1fr;gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid #edf1f6}.monitor-feed-row>i{width:26px;height:26px;border-radius:7px;background:#edf3ff;color:#234b90;display:grid;place-items:center;font-style:normal;font-weight:800}.monitor-feed-row time{font-size:10px;color:#79869a;padding-top:5px}.monitor-feed-row b,.monitor-feed-row span{display:block}.monitor-feed-row b{font-size:12px;color:#293a56}.monitor-feed-row span{font-size:10px;color:#708096;margin-top:2px;white-space:normal}.monitor-server .detail-grid{grid-template-columns:1fr 1fr}.loading-soft{opacity:.7;pointer-events:none}.monitor-kiosk .sidebar,.monitor-kiosk .topbar,.monitor-kiosk .mobile-bottom{display:none!important}.monitor-kiosk .main{margin-left:0!important}.monitor-kiosk .content{padding:10px!important;max-width:none!important}.monitor-kiosk .page-head{margin-top:0!important}.monitor-kiosk .monitor-toolbar{position:sticky;top:0;z-index:20}.monitor-kiosk .monitor-grid-stats{grid-template-columns:repeat(6,1fr)}
@media(max-width:1180px){.monitor-grid-stats{grid-template-columns:repeat(3,1fr)}.monitor-staff-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.monitor-main-grid{grid-template-columns:1fr}.monitor-attention{max-height:none}}
@media(max-width:820px){.monitor-toolbar{display:grid;grid-template-columns:1fr 1fr}.monitor-toolbar label,.monitor-toolbar .btn{min-width:0;width:100%}.monitor-toolbar .input,.monitor-toolbar .select{min-width:0;width:100%}.monitor-auto{grid-column:1/-1}.monitor-grid-stats{grid-template-columns:1fr 1fr}.monitor-stat b{font-size:23px}.monitor-hourly{overflow-x:auto;grid-template-columns:repeat(24,28px);height:150px}.monitor-staff-grid{grid-template-columns:1fr}.monitor-feed-row{grid-template-columns:26px 72px 1fr}.monitor-server .detail-grid{grid-template-columns:1fr}.monitor-kiosk .content{padding:6px!important}}
@media(max-width:480px){.monitor-toolbar{grid-template-columns:1fr}.monitor-auto{grid-column:auto}.monitor-grid-stats{grid-template-columns:1fr 1fr;gap:7px}.monitor-stat{padding:10px}.monitor-stat b{font-size:21px}.monitor-person{padding:10px}.monitor-feed-row{grid-template-columns:24px 1fr}.monitor-feed-row time{grid-column:2}.monitor-feed-row>div{grid-column:2}.daily-task-row{padding:12px 8px}.daily-task-main,.daily-task-time,.daily-task-result,.daily-task-row>div:nth-child(4){grid-column:1/-1!important}.daily-task-no{grid-column:1}.daily-remove{grid-column:3}.modal-foot{position:sticky;bottom:0;background:#fff;z-index:5;padding-bottom:max(10px,env(safe-area-inset-bottom))}}


/* V8.3.30 - BAO CAO NGAY: khung rong, de nhap tren laptop/iPad/dien thoai */
.daily-report-modal{width:min(1480px,96vw)!important;max-width:none!important;max-height:96dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
.daily-report-modal .modal-head{flex:0 0 auto!important}
.daily-report-modal .modal-body{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;padding:16px 18px!important}
.daily-report-modal .modal-foot{flex:0 0 auto!important;position:sticky!important;bottom:0!important;background:#fff!important;z-index:8!important;box-shadow:0 -5px 18px rgba(31,52,99,.08)!important}
.daily-report-modal .daily-report-form-v8328{min-width:0!important;width:100%!important}
.daily-report-modal .daily-task-row{grid-template-columns:40px minmax(260px,1.55fr) 170px 170px minmax(280px,1.35fr) 42px!important;gap:10px!important;padding:12px 10px!important}
.daily-report-modal .textarea{resize:vertical}
.daily-leader-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

@media (max-width:1180px){
 .daily-report-modal{width:98vw!important;max-height:97dvh!important}
 .daily-report-modal .daily-task-row{grid-template-columns:38px minmax(220px,1.4fr) 145px 145px minmax(220px,1.2fr) 38px!important;gap:8px!important}
}
@media (max-width:900px){
 .daily-report-modal{width:100vw!important;max-height:100dvh!important;height:100dvh!important;border-radius:0!important}
 .daily-report-modal .modal-head{padding-top:max(12px,env(safe-area-inset-top))!important}
 .daily-report-modal .modal-body{padding:12px!important}
 .daily-report-modal .daily-report-meta{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .daily-report-modal .daily-task-row{display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px!important}
 .daily-report-modal .daily-task-main,.daily-report-modal .daily-task-time,.daily-report-modal .daily-task-result,.daily-report-modal .daily-task-row>div:nth-child(4){grid-column:2!important}
 .daily-report-modal .daily-task-time{grid-template-columns:1fr 1fr!important;gap:8px!important}
 .daily-report-modal .daily-report-grid2{grid-template-columns:1fr!important}
 .daily-report-modal .modal-foot{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
 .daily-report-modal .modal-foot .btn{width:100%!important;min-height:46px!important}
 .daily-leader-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .daily-leader-actions .btn:first-child{grid-column:1/-1}
}
@media (max-width:600px){
 .daily-report-modal .daily-report-meta{grid-template-columns:1fr!important}
 .daily-report-modal .daily-section-title{align-items:flex-start!important}
 .daily-report-modal .daily-section-title>div{width:100%!important}
 .daily-report-modal .daily-task-row{grid-template-columns:32px minmax(0,1fr) 32px!important;padding:10px 6px!important}
 .daily-report-modal .daily-task-main,.daily-report-modal .daily-task-time,.daily-report-modal .daily-task-result,.daily-report-modal .daily-task-row>div:nth-child(4){grid-column:1/-1!important}
 .daily-report-modal .daily-task-no{grid-column:1!important;grid-row:1!important}
 .daily-report-modal .daily-remove{grid-column:3!important;grid-row:1!important}
 .daily-report-modal .daily-task-time{grid-template-columns:1fr 1fr!important}
 .daily-report-modal .modal-foot{grid-template-columns:1fr!important}
 .daily-leader-actions{grid-template-columns:1fr}
 .daily-leader-actions .btn:first-child{grid-column:auto}
}

/* V8.3.31: thẻ báo cáo cuối ngày gọn + nhân sự */
.daily-report-home{padding:9px 14px!important;min-height:62px!important;margin:8px 0!important;border-radius:10px!important}
.daily-report-home-copy{gap:10px!important}.daily-report-home-copy b{font-size:14px!important}.daily-report-home-copy small{font-size:12px!important;line-height:1.25!important}
.daily-report-icon{width:32px!important;height:32px!important;font-size:16px!important}.daily-report-home .actions{gap:6px!important}.daily-report-home .btn{min-height:36px!important;padding:7px 12px!important}
@media(max-width:820px){.daily-report-home{padding:10px 12px!important}.daily-report-home .actions{display:grid!important;grid-template-columns:1fr 1fr!important}.daily-report-home .btn{width:100%!important}.daily-report-home .actions .primary:first-child{grid-column:1/-1}}

/* V8.3.32: thẻ Báo cáo cuối ngày thông minh, thấp hơn và co theo trạng thái */
.daily-report-home{padding:7px 12px!important;min-height:50px!important;margin:7px 0!important;gap:10px!important}
.daily-report-home-copy{gap:9px!important}.daily-report-home-copy>div{gap:2px!important}.daily-report-home-copy b{font-size:13.5px!important;line-height:1.15!important}.daily-report-home-copy small{font-size:11.5px!important;line-height:1.2!important}
.daily-report-icon{width:28px!important;height:28px!important;font-size:14px!important}.daily-report-home .btn{min-height:32px!important;padding:5px 10px!important;font-size:12px!important}
.daily-report-home.done{min-height:46px!important;padding-top:6px!important;padding-bottom:6px!important}.daily-report-home.settled{opacity:.96}.daily-report-home.settled .daily-report-icon{width:26px!important;height:26px!important}
.daily-leader-actions{display:flex!important;flex-wrap:nowrap!important}.daily-leader-actions .btn{white-space:nowrap}
@media(max-width:820px){.daily-report-home{padding:8px 10px!important;min-height:0!important}.daily-report-home-copy b{font-size:13px!important}.daily-report-home-copy small{font-size:11px!important}.daily-report-home .actions{grid-template-columns:1fr 1fr!important}.daily-report-home .actions .primary:first-child,.daily-report-home .actions .ghost:first-child{grid-column:1/-1}.daily-leader-actions{display:grid!important}}
@media(max-width:480px){.daily-report-icon{display:none!important}.daily-report-home{border-left-width:4px!important}.daily-report-home .btn{min-height:38px!important;font-size:12.5px!important}}

/* V8.3.33 */
.daily-report-home.daily-report-side{margin:0!important;min-height:0!important;padding:9px 11px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;border-left-width:4px!important}.daily-report-side .daily-report-home-copy{width:100%}.daily-report-side .daily-report-home-copy small{white-space:normal}.daily-report-side .actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important}.daily-report-side .btn{min-height:32px!important;padding:5px 9px!important}.archive-intake-card{margin-bottom:14px}.archive-drop{border:2px dashed #aebce4;border-radius:12px;padding:24px;text-align:center;cursor:pointer;background:#f8faff;display:flex;flex-direction:column;gap:6px;color:#283f8d}.archive-drop:hover{background:#f1f5ff}.archive-drop span{font-size:13px;color:#6d7894}.archive-batch-row,.archive-file-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid #e7ebf4}.archive-batch-row:last-child,.archive-file-row:last-child{border-bottom:0}.archive-batch-row>div:first-child,.archive-file-row>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.archive-batch-row span,.archive-file-row span{color:#56627d;font-size:13px}.archive-batch-row small,.archive-file-row small{color:#8791a7}.archive-file-list{max-height:55vh;overflow:auto}.lts-check{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f6}.lts-check:last-child{border-bottom:0}.lts-check>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800}.lts-check.ok>span{background:#dff5e8;color:#176b3c}.lts-check.bad>span{background:#fff0dc;color:#9a5b00}.lts-check>div{display:flex;flex-direction:column;gap:2px}.lts-check small{color:#78839a}.lts-check em{font-style:normal;font-size:12px;font-weight:700;color:#66718a}@media(max-width:820px){.archive-batch-row{align-items:stretch;flex-direction:column}.archive-batch-row .actions{display:grid;grid-template-columns:1fr 1fr}.daily-report-home.daily-report-side .actions{display:grid!important;grid-template-columns:1fr 1fr!important}.daily-report-home.daily-report-side .actions .primary:first-child,.daily-report-home.daily-report-side .actions .ghost:first-child{grid-column:1/-1}}

/* V8.3.34 — Trung tâm giám sát điều hành / TV dashboard */
.monitor-command-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:-16px -20px 14px;padding:18px 22px;background:linear-gradient(115deg,#1f1768 0%,#29358f 55%,#3154aa 100%);color:#fff;box-shadow:0 8px 28px rgba(31,23,104,.18)}
.monitor-command-head span{font-size:11px;font-weight:800;letter-spacing:.1em;opacity:.82}.monitor-command-head h1{font-size:27px;margin:3px 0 2px;letter-spacing:-.02em}.monitor-command-head p{margin:0;font-size:12px;opacity:.82}.monitor-clock{text-align:right;min-width:180px}.monitor-clock b{display:block;font-size:25px;line-height:1}.monitor-clock span{display:block;margin-top:5px;font-size:11px;opacity:.85;text-transform:capitalize}
.monitor-toolbar{border-color:#d7ddf2;box-shadow:0 4px 18px rgba(36,40,95,.06)}
.monitor-grid-stats{grid-template-columns:repeat(6,minmax(128px,1fr))}.monitor-stat{position:relative;overflow:hidden;border-color:#dde3f3;background:#fff}.monitor-stat:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#5361c8}.monitor-stat.primary{background:linear-gradient(145deg,#2a237a,#3443a1);color:#fff}.monitor-stat.primary small,.monitor-stat.primary span,.monitor-stat.primary b{color:#fff}.monitor-stat.primary:before{background:#f4d85c}.monitor-stat.ok:before{background:#31a66a}.monitor-stat.duty:before{background:#624fd3}.monitor-stat.warn:before{background:#e3a21a}.monitor-stat.trip:before{background:#2788c8}.monitor-stat.training:before{background:#9a62d1}.monitor-stat.danger:before{background:#d63e3e}.monitor-stat span{display:block;line-height:1.35}.monitor-name-chip{display:inline-block;margin:3px 3px 0 0;padding:2px 5px;border-radius:999px;background:#eef2ff;color:#384997;font-size:9px;font-weight:700;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-stat.primary .monitor-name-chip{background:rgba(255,255,255,.14);color:#fff}
.monitor-work-stats .monitor-stat{min-height:104px}.monitor-primary-grid{grid-template-columns:minmax(0,2fr) minmax(310px,.8fr)}.monitor-tasks-panel .card-body{padding:0}.monitor-task-list{display:flex;flex-direction:column}.monitor-task-row{display:grid;grid-template-columns:minmax(260px,2fr) 120px minmax(160px,.8fr) 130px;gap:12px;align-items:center;padding:11px 14px;border-bottom:1px solid #edf0f7;background:#fff}.monitor-task-row:nth-child(even){background:#fafbff}.monitor-task-row.overdue{background:#fff6f6;border-left:4px solid #d43f3f}.monitor-task-title b,.monitor-task-title span{display:block}.monitor-task-title b{font-size:13px;color:#1f2a55}.monitor-task-title span{font-size:10px;color:#74809c;margin-top:2px}.monitor-task-status small{display:block;color:#8290a8;font-size:10px;margin-top:3px}.monitor-task-progress{display:grid;grid-template-columns:1fr 42px;gap:7px;align-items:center}.monitor-task-progress>div{height:8px;background:#e9edf8;border-radius:999px;overflow:hidden}.monitor-task-progress i{display:block;height:100%;background:linear-gradient(90deg,#28a36a,#4b5ad0);border-radius:999px}.monitor-task-progress b{font-size:11px;color:#334288}.monitor-task-due span,.monitor-task-due b{display:block;font-size:10px}.monitor-task-due span{color:#68758f}.monitor-task-due b{color:#c12626;margin-top:2px}
.monitor-duty-grid{grid-template-columns:1fr 1fr}.monitor-duty-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #edf0f5}.monitor-duty-row:last-child{border-bottom:0}.monitor-duty-row b,.monitor-duty-row span{display:block}.monitor-duty-row b{font-size:12px;color:#26315e}.monitor-duty-row span{font-size:10px;color:#73809a;margin-top:2px}.monitor-duty-row time{font-size:10px;color:#586681;text-align:right;max-width:180px}.monitor-week-duty{max-height:300px;overflow:auto}
.monitor-person.status-leave,.monitor-person.status-sick{border-left:4px solid #d95b5b;background:#fff9f9}.monitor-person.status-business_trip{border-left:4px solid #2d86c5;background:#f8fcff}.monitor-person.status-training{border-left:4px solid #8b5cc7;background:#fcf9ff}.monitor-person.status-duty{border-left:4px solid #5a4fc2;background:#faf9ff}.monitor-person.status-available{border-left:4px solid #34a06b}
.monitor-kiosk{padding:0!important;overflow:hidden!important}.monitor-kiosk .shell{height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;background:#eef2f8}.monitor-kiosk .sidebar,.monitor-kiosk .topbar,.monitor-kiosk .mobile-bottom{display:none!important}.monitor-kiosk .main{margin-left:0!important;overflow:visible!important}.monitor-kiosk .content{padding:0 12px 24px!important;max-width:none!important;overflow:visible!important}.monitor-kiosk .monitor-command-head{position:sticky;top:0;z-index:30;margin:0 -12px 10px;padding:11px 18px}.monitor-kiosk .monitor-command-head h1{font-size:23px}.monitor-kiosk .monitor-command-head p{display:none}.monitor-kiosk .monitor-toolbar{position:sticky;top:66px;z-index:29;margin-bottom:8px;padding:6px 9px}.monitor-kiosk .monitor-grid-stats{gap:7px;margin-bottom:8px}.monitor-kiosk .monitor-stat{padding:9px 10px}.monitor-kiosk .monitor-stat b{font-size:23px}.monitor-kiosk .monitor-main-grid{gap:8px;margin-bottom:8px}.monitor-kiosk .card-head{min-height:38px;padding:7px 10px}.monitor-kiosk .monitor-staff-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:7px}
@media(max-width:1180px){.monitor-primary-grid,.monitor-duty-grid{grid-template-columns:1fr}.monitor-command-head{margin:-10px -9px 10px}.monitor-task-row{grid-template-columns:minmax(220px,1.6fr) 100px 150px 120px}.monitor-kiosk .monitor-staff-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}
@media(max-width:820px){.monitor-command-head{margin:-9px -8px 10px;padding:14px 12px}.monitor-command-head h1{font-size:21px}.monitor-command-head p{display:none}.monitor-clock{min-width:125px}.monitor-clock b{font-size:20px}.monitor-grid-stats{grid-template-columns:1fr 1fr}.monitor-task-row{grid-template-columns:1fr 90px}.monitor-task-progress,.monitor-task-due{grid-column:1/-1}.monitor-kiosk .monitor-toolbar{top:57px}.monitor-kiosk .monitor-staff-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.monitor-command-head{display:block}.monitor-clock{text-align:left;margin-top:8px}.monitor-grid-stats{grid-template-columns:1fr 1fr}.monitor-task-row{grid-template-columns:1fr}.monitor-task-status,.monitor-task-progress,.monitor-task-due{grid-column:1}.monitor-duty-row{display:block}.monitor-duty-row time{display:block;text-align:left;margin-top:4px}.monitor-kiosk .monitor-staff-grid{grid-template-columns:1fr}}

/* V8.3.35 — Monitor Commercial Sync */
.monitor-command-head{margin:-16px -20px 12px;padding:14px 20px;background:linear-gradient(115deg,#123f9f 0%,#153fbc 38%,#2b38a7 70%,#4a1ba7 100%);position:relative;overflow:hidden}
.monitor-command-head:after{content:'';position:absolute;right:18%;top:-55%;width:430px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 68%);pointer-events:none}
.monitor-brand{display:flex;align-items:center;gap:14px;min-width:0}.monitor-brand img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.22))}.monitor-brand>div{min-width:0}.monitor-brand span{font-size:12px;letter-spacing:.06em}.monitor-brand h1{font-size:28px;margin:2px 0 1px;white-space:nowrap}.monitor-brand p{font-size:13px;font-weight:800;letter-spacing:.08em;opacity:.95}
.monitor-head-right{display:flex;align-items:center;gap:12px;z-index:1}.monitor-clock{padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.monitor-clock b{font-size:28px}.monitor-health{display:flex;flex-direction:column;gap:1px;min-width:210px;padding:9px 12px 9px 34px;border-radius:14px;background:rgba(13,137,91,.20);border:1px solid rgba(176,255,221,.22);position:relative}.monitor-health i{position:absolute;left:13px;top:14px;width:10px;height:10px;border-radius:50%;background:#44e29a;box-shadow:0 0 0 5px rgba(68,226,154,.14)}.monitor-health b{font-size:11px}.monitor-health small{font-size:9px;opacity:.82}
.monitor-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:14px;background:#fff;box-shadow:0 4px 20px rgba(30,53,112,.08);margin-bottom:10px}.monitor-toolbar>label{display:flex;flex-direction:row;align-items:center;gap:8px}.monitor-toolbar>label>span:first-child{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eef3ff;color:#3447ba;font-size:16px}.monitor-toolbar label>div{display:flex;align-items:center;gap:6px;font-size:11px}.monitor-toolbar .input,.monitor-toolbar .select{height:36px;min-width:180px}.monitor-auto{margin-left:4px!important;white-space:nowrap}.monitor-auto>input{display:none}.monitor-toggle-ui{width:36px!important;height:20px!important;border-radius:999px!important;background:#d7def0!important;position:relative;display:inline-block!important}.monitor-toggle-ui:after{content:'';position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.2s}.monitor-auto input:checked+.monitor-toggle-ui{background:#4f46e5!important}.monitor-auto input:checked+.monitor-toggle-ui:after{left:18px}.monitor-tv-btn{width:44px!important;min-width:44px!important;font-size:18px!important;padding:0!important}.monitor-chat-jump{margin-left:auto!important;background:linear-gradient(135deg,#7c3aed,#4f46e5)!important;color:#fff!important;border:0!important}
.monitor-personnel-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:9px}.monitor-personnel-card{position:relative;min-height:112px;border:1px solid #dce4f6;border-radius:14px;background:linear-gradient(145deg,#fff,#f7f9ff);display:grid;grid-template-columns:48px 1fr 14px;gap:10px;align-items:start;text-align:left;padding:13px 12px;cursor:pointer;box-shadow:0 5px 18px rgba(23,48,108,.06);overflow:hidden}.monitor-personnel-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#5b5fe9}.monitor-personnel-card:hover{transform:translateY(-1px);box-shadow:0 9px 26px rgba(23,48,108,.12)}.monitor-personnel-card.primary{background:linear-gradient(145deg,#153dab,#3e1eb2);color:#fff}.monitor-personnel-card.primary:before{background:#ffd84a}.monitor-personnel-card.duty:before{background:#23b06f}.monitor-personnel-card.warn:before{background:#f0a11a}.monitor-personnel-card.trip:before{background:#2687e8}.monitor-personnel-card.training:before{background:#b13fe8}.monitor-personnel-card.external:before{background:linear-gradient(#2c7be5,#8b3fe6)}.monitor-card-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(78,92,230,.10);font-size:22px}.monitor-personnel-card.primary .monitor-card-icon{background:rgba(255,255,255,.14)}.monitor-personnel-card small,.monitor-personnel-card b,.monitor-personnel-card span{display:block}.monitor-personnel-card small{font-size:12px;font-weight:800;color:#263477}.monitor-personnel-card b{font-size:31px;line-height:1.1;color:#153dab;margin:4px 0}.monitor-personnel-card span{font-size:10px;color:#6f7990;line-height:1.35}.monitor-personnel-card.primary small,.monitor-personnel-card.primary b,.monitor-personnel-card.primary span{color:#fff}.monitor-personnel-card em{font-style:normal;font-size:24px;color:#94a0ba;align-self:center}
.monitor-work-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px}.monitor-work-card{display:flex;gap:9px;align-items:center;min-height:78px;padding:10px 11px;border-radius:13px;background:#fff;border:1px solid #dfe6f3;box-shadow:0 3px 13px rgba(21,48,111,.04)}.monitor-work-card i{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:18px;background:#eff2ff;color:#4f46e5}.monitor-work-card small,.monitor-work-card b,.monitor-work-card span{display:block}.monitor-work-card small{font-size:10px;font-weight:800;color:#24346e}.monitor-work-card b{font-size:24px;color:#14298a;line-height:1.05;margin:2px 0}.monitor-work-card span{font-size:9px;color:#768098}.monitor-work-card.green{border-left:4px solid #27b76a}.monitor-work-card.green i{background:#e9fbf2;color:#20a55d}.monitor-work-card.red{border-left:4px solid #ee425d}.monitor-work-card.red i{background:#fff0f3;color:#e82d4c}.monitor-work-card.blue{border-left:4px solid #3189eb}.monitor-work-card.violet{border-left:4px solid #8b3fe6}.monitor-work-card.cyan{border-left:4px solid #3ba9e8}.monitor-work-card.purple{border-left:4px solid #554ee9}
.monitor-commercial-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(285px,.75fr) minmax(290px,.72fr);gap:10px;margin-bottom:10px}.monitor-commercial-panel,.monitor-duty-section{background:#fff;border:1px solid #dde5f2;border-radius:14px;box-shadow:0 4px 16px rgba(22,48,106,.05);overflow:hidden}.monitor-section-head{min-height:45px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7ecf5;background:linear-gradient(#fff,#f9fbff)}.monitor-section-head>div{display:flex;align-items:center;gap:8px;min-width:0}.monitor-section-head i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-style:normal;background:#eef1ff;color:#403fd1;font-size:15px}.monitor-section-head h2{font-size:17px;margin:0;color:#153081;white-space:nowrap}.monitor-section-head>div>span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#fff0bf;color:#985b00;font-size:10px;font-weight:800}.monitor-section-head button{border:0;background:transparent;color:#2547c8;font-weight:800;font-size:10px;cursor:pointer}
.monitor-task-table{width:100%}.monitor-task-head,.monitor-task-line{display:grid;grid-template-columns:42px minmax(260px,2fr) 120px 120px minmax(140px,.9fr) 115px 34px;align-items:center}.monitor-task-head{min-height:34px;padding:0 8px;background:#f0f4fb;color:#566483;font-size:9px;font-weight:800;border-bottom:1px solid #dde5f2}.monitor-task-line{width:100%;border:0;border-bottom:1px solid #e9edf5;background:#fff;padding:7px 8px;text-align:left;color:#283657;cursor:pointer}.monitor-task-line:nth-child(odd){background:#fbfcff}.monitor-task-line:hover{background:#f3f6ff}.monitor-task-line.overdue{background:#fff8f8}.monitor-task-no{font-size:10px;text-align:center}.monitor-task-name b,.monitor-task-name small{display:block}.monitor-task-name b{font-size:11px;color:#1f2f70}.monitor-task-name small{font-size:9px;color:#7b879d;margin-top:2px}.monitor-task-line>span{font-size:9px}.monitor-status-dot{width:6px;height:6px;border-radius:50%;background:#3e7bf2;display:inline-block;margin-right:5px}.monitor-task-pct{display:grid!important;grid-template-columns:1fr 32px;gap:5px;align-items:center}.monitor-task-pct i{height:7px;border-radius:999px;background:#e7ebf7;overflow:hidden}.monitor-task-pct u{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4f46e5,#6476f6);text-decoration:none}.monitor-task-pct b{font-size:9px;color:#4a48d8}.monitor-due small{display:block;color:#d33b3b;margin-top:2px}.monitor-due.late{color:#d33b3b;font-weight:800}.monitor-more{font-weight:900;letter-spacing:1px;color:#5264c9;text-align:center}
.monitor-alert-list{max-height:395px;overflow:auto;padding:6px}.monitor-alert-item{width:100%;display:grid;grid-template-columns:34px 1fr 18px;gap:8px;align-items:center;border:0;border-bottom:1px solid #edf0f5;background:#fff;text-align:left;padding:8px 5px;cursor:pointer}.monitor-alert-item:hover{background:#f7f9ff}.monitor-alert-item>i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-style:normal;background:#fff1cc;color:#9f6500;font-weight:900}.monitor-alert-item.overdue>i{background:#ffe8ec;color:#da2142}.monitor-alert-item.issue>i{background:#fff1d8;color:#a26000}.monitor-alert-item div b,.monitor-alert-item div span{display:block}.monitor-alert-item div b{font-size:11px;color:#25346e}.monitor-alert-item div span{font-size:9px;color:#7a859c;margin-top:2px;line-height:1.3}.monitor-alert-item em{font-style:normal;color:#8792aa}
.monitor-chat-panel{min-width:0}.monitor-chat-tools{display:flex;gap:6px;padding:7px;border-bottom:1px solid #e8edf5}.monitor-chat-tools select{min-width:0;flex:1;height:31px;border:1px solid #d9e1ef;border-radius:8px;padding:0 7px;color:#263879;background:#fff}.monitor-chat-tools button{height:31px;border:1px solid #dce3f2;border-radius:8px;background:#f6f8ff;color:#3f49c7;font-size:10px;font-weight:800;cursor:pointer}.monitor-chat-messages{height:262px;overflow:auto;padding:8px}.monitor-chat-message{padding:7px 8px;margin-bottom:5px;border-radius:10px;background:#f4f6fb;display:grid;grid-template-columns:1fr auto}.monitor-chat-message.mine{background:#eef2ff}.monitor-chat-message b{font-size:9px;color:#233777}.monitor-chat-message span{grid-column:1/-1;font-size:9px;color:#4f5b73;margin-top:2px;line-height:1.35}.monitor-chat-message time{font-size:8px;color:#8a94a8}.monitor-chat-compose{display:grid;grid-template-columns:1fr 36px;gap:5px;padding:7px;border-top:1px solid #e8edf5}.monitor-chat-compose input{height:34px;border:1px solid #dce3f0;border-radius:9px;padding:0 10px;outline:none}.monitor-chat-compose button{border:0;border-radius:9px;background:linear-gradient(135deg,#5b50e8,#3d49d9);color:#fff;font-size:17px;cursor:pointer}.monitor-chat-empty{padding:28px 12px;text-align:center}.monitor-chat-empty b,.monitor-chat-empty span{display:block}.monitor-chat-empty span{font-size:10px;color:#778196;margin:5px 0 12px}
.monitor-duty-section{margin-bottom:10px}.monitor-duty-structure{padding:8px 10px}.monitor-duty-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.monitor-duty-chip{padding:8px 9px;border-radius:9px;border:1px solid #e1e7f2;background:#f9fbff}.monitor-duty-chip b,.monitor-duty-chip span{display:block}.monitor-duty-chip b{font-size:10px;color:#203272}.monitor-duty-chip span{font-size:8px;color:#7b869b;margin-top:2px}.monitor-sync-ok{background:#e5f7ed!important;color:#1c8a50!important;padding:3px 8px;border-radius:999px}.monitor-duty-source-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 12px;border-top:1px solid #e7ecf4;background:#fbfcff}.monitor-duty-source-head b,.monitor-duty-source-head span{display:block}.monitor-duty-source-head b{font-size:11px;color:#21316e}.monitor-duty-source-head span,.monitor-duty-source-head small{font-size:9px;color:#7b869b}.monitor-duty-preview{height:420px;background:#eef2f7}.monitor-duty-preview iframe,.monitor-duty-preview img{width:100%;height:100%;border:0;object-fit:contain;background:#fff}.monitor-duty-empty{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#637087;background:#fafbfe}.monitor-duty-empty b{color:#263674}.monitor-duty-empty span{font-size:10px}.monitor-footnote{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:#758097;padding:2px 4px 12px}
.monitor-person-list{display:flex;flex-direction:column;gap:4px}.monitor-person-list-row{display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:8px;border:1px solid #e6eaf3;border-radius:10px}.monitor-person-list-row .avatar-mini{width:34px;height:34px;border-radius:10px;background:#eef2ff;color:#3443b8;display:grid;place-items:center;font-weight:900}.monitor-person-list-row b,.monitor-person-list-row span,.monitor-person-list-row small{display:block}.monitor-person-list-row b{font-size:12px;color:#26356d}.monitor-person-list-row span,.monitor-person-list-row small{font-size:10px;color:#78839a;margin-top:2px}
.monitor-kiosk{overflow:auto!important}.monitor-kiosk .shell{height:auto!important;min-height:100vh!important;overflow:visible!important}.monitor-kiosk .content{padding:0 10px 22px!important}.monitor-kiosk .monitor-command-head{position:sticky;top:0;z-index:40;margin:0 -10px 8px;padding:9px 14px}.monitor-kiosk .monitor-brand img{width:48px;height:48px}.monitor-kiosk .monitor-brand h1{font-size:21px}.monitor-kiosk .monitor-brand p{display:none}.monitor-kiosk .monitor-health{display:none}.monitor-kiosk .monitor-toolbar{position:sticky;top:67px;z-index:39;padding:5px 9px}.monitor-kiosk .monitor-personnel-card{min-height:92px;padding:9px}.monitor-kiosk .monitor-personnel-card b{font-size:25px}.monitor-kiosk .monitor-work-card{min-height:65px;padding:7px 9px}.monitor-kiosk .monitor-work-card b{font-size:20px}.monitor-kiosk .monitor-duty-preview{height:520px}
@media(max-width:1380px){.monitor-commercial-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.7fr) minmax(270px,.68fr)}.monitor-task-head,.monitor-task-line{grid-template-columns:36px minmax(220px,2fr) 105px 105px minmax(120px,.8fr) 100px 28px}.monitor-personnel-card span{font-size:9px}.monitor-head-right .monitor-health{display:none}}
@media(max-width:1120px){.monitor-personnel-cards{grid-template-columns:repeat(3,1fr)}.monitor-work-cards{grid-template-columns:repeat(3,1fr)}.monitor-commercial-grid{grid-template-columns:1fr 1fr}.monitor-tasks-panel{grid-column:1/-1}.monitor-duty-chips{grid-template-columns:repeat(3,1fr)}.monitor-brand h1{white-space:normal}}
@media(max-width:820px){.monitor-command-head{margin:-9px -8px 8px;padding:10px}.monitor-brand img{width:48px;height:48px}.monitor-brand h1{font-size:18px}.monitor-brand span{font-size:9px}.monitor-head-right{position:absolute;right:10px;top:10px}.monitor-clock{padding:6px 8px;min-width:115px}.monitor-clock b{font-size:18px}.monitor-clock span{font-size:8px}.monitor-toolbar{display:grid;grid-template-columns:1fr 1fr}.monitor-toolbar>label{width:100%}.monitor-auto{grid-column:1/-1}.monitor-chat-jump{margin-left:0!important}.monitor-personnel-cards{grid-template-columns:1fr 1fr}.monitor-work-cards{grid-template-columns:1fr 1fr}.monitor-commercial-grid{grid-template-columns:1fr}.monitor-tasks-panel{grid-column:auto}.monitor-task-table{overflow-x:auto}.monitor-task-head,.monitor-task-line{min-width:780px}.monitor-duty-chips{grid-template-columns:1fr 1fr}.monitor-duty-preview{height:360px}.monitor-footnote{display:block}.monitor-footnote span{display:block;margin-top:3px}}
@media(max-width:520px){.monitor-personnel-cards,.monitor-work-cards{grid-template-columns:1fr}.monitor-personnel-card{min-height:88px}.monitor-commercial-grid{display:block}.monitor-commercial-panel{margin-bottom:8px}.monitor-duty-chips{grid-template-columns:1fr}.monitor-duty-preview{height:300px}.monitor-chat-messages{height:220px}.monitor-toolbar{grid-template-columns:1fr}.monitor-auto{grid-column:auto}.monitor-refresh span,.monitor-chat-jump span{display:none}.monitor-brand h1{font-size:15px}.monitor-brand p{font-size:9px}.monitor-head-right{display:none}}


/* V8.4.0 — Final LTS refinements */
.monitor-commercial-grid.chat-hidden{grid-template-columns:minmax(0,2fr) minmax(300px,.85fr)}
.monitor-commercial-grid.chat-hidden .monitor-chat-panel{display:none!important}
.monitor-chat-head-actions{display:flex!important;align-items:center!important;gap:4px!important}
.monitor-work-card.indigo{border-left:4px solid #4a46c8;background:linear-gradient(145deg,#fff,#f3f2ff);cursor:pointer;text-align:left;border-top:1px solid #e2e0fa;border-right:1px solid #e2e0fa;border-bottom:1px solid #e2e0fa}
.monitor-work-card.indigo:hover{box-shadow:0 7px 20px rgba(54,55,160,.12);transform:translateY(-1px)}
.task-trash-row{opacity:.78;background:#fff8f8!important}.task-trash-row td:first-child{border-left:3px solid #d94a4a}
.kpi-live-strip{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin-bottom:10px}.kpi-live-strip .card{padding:12px}.kpi-live-strip b{display:block;font-size:22px;color:#25379a}.kpi-live-strip span{display:block;font-size:11px;color:#707c95;margin-top:3px}
@media(max-width:1120px){.monitor-commercial-grid.chat-hidden{grid-template-columns:1fr}.kpi-live-strip{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.kpi-live-strip{grid-template-columns:1fr 1fr}}

.kpi-live-badge{font-size:10px;font-weight:800;color:#16854e;background:#e7f8ef;border-radius:999px;padding:6px 9px;white-space:nowrap}

/* V8.4.2 - Màn hình giám sát gọn + trò chuyện ẩn/mở + lối vào giám sát chính */
.workspace-modal .modal-card{width:min(1220px,96vw);max-height:92vh}.workspace-head{display:grid;grid-template-columns:130px 1fr 160px auto;gap:10px;align-items:center;padding:12px;border:1px solid #dfe5f2;border-radius:14px;background:linear-gradient(135deg,#f8faff,#f2f5ff);margin-bottom:12px}.workspace-head>div{display:flex;flex-direction:column;gap:3px}.workspace-head small{color:#78849a;font-size:11px}.workspace-head b{color:#24256f}.workspace-submission{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:10px 12px;margin:7px 0;border:1px solid #e1e7f2;border-radius:12px;background:#fff}.workspace-submission.late{border-color:#ffc7b8;background:#fff8f5}.workspace-submission p,.workspace-submission small{grid-column:1/-1;margin:0}.workspace-submission div span{display:block;color:#7d8798;font-size:11px;margin-top:2px}.workspace-tabs .section-title{margin-top:14px}.text-danger{color:#c62828!important}.daily-form-selector{display:grid;grid-template-columns:1fr minmax(220px,340px);gap:12px;align-items:center;border:1px solid #dce4f5;background:linear-gradient(135deg,#f7f9ff,#fff);border-radius:13px;padding:11px 12px;margin:10px 0}.daily-form-selector b,.daily-form-selector small{display:block}.daily-form-selector small{color:#748096;font-size:11px;margin-top:3px}.daily-special-head{padding:10px 12px 4px}.daily-special-head b,.daily-special-head small{display:block}.daily-special-head small{color:#6f7c92;margin-top:3px}.daily-special-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:10px;padding:8px 12px 12px;border:1px solid #e3e8f4;border-radius:13px;background:#fafbff;margin-bottom:12px}.daily-special-grid .wide{grid-column:1/-1}.daily-special-grid .field{margin:0}
@media(max-width:820px){.workspace-head{grid-template-columns:1fr 1fr}.workspace-head .btn{grid-column:1/-1}.daily-form-selector{grid-template-columns:1fr}.daily-special-grid{grid-template-columns:1fr 1fr}.workspace-modal .modal-card{width:100vw;max-height:100dvh;border-radius:0}}
@media(max-width:520px){.daily-special-grid{grid-template-columns:1fr}.workspace-head{grid-template-columns:1fr}}


/* V8.4.2 monitor refinements */
.monitor-personnel-card.external .monitor-card-icon{background:linear-gradient(135deg,#eaf3ff,#f3eaff);color:#5a43d6}
.monitor-chat-head-actions{display:flex;align-items:center;gap:4px}.monitor-chat-head-actions .monitor-chat-hide{width:27px;height:27px;border-radius:8px;background:#f3f5fb;color:#65708a;font-size:17px;line-height:1}.monitor-chat-head-actions .monitor-chat-hide:hover{background:#eceffe;color:#2f3fb5}
.portal-primary-nav .monitor-nav-primary{background:linear-gradient(180deg,rgba(58,72,176,.12),rgba(58,72,176,.05))}
@media(max-width:1120px){.monitor-personnel-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.monitor-personnel-cards{grid-template-columns:1fr}}


/* M1.1 — ổn định lõi, biểu mẫu động, dòng sự kiện giám sát */
.form-manager-note{padding:12px 14px;margin-bottom:12px;border:1px solid #dfe4f6;border-radius:12px;background:#f7f8ff;color:#4b5680}
.report-field-builder{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55}
.workspace-next-actions{display:grid;gap:7px;margin:10px 0;padding:10px 12px;border-radius:12px;background:#fff8e4;border:1px solid #f0dfaa;color:#745800}.dossier-task-link{width:100%;text-align:left;border:0;background:#fff;cursor:pointer}
.monitor-live-events{margin:12px 0}.monitor-event-stream{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:6px 16px 12px}.monitor-event-row{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid #edf0f8}.monitor-event-row>i{width:8px;height:8px;border-radius:50%;margin-top:6px;background:#6b4ce6}.monitor-event-row.task>i{background:#2f75e8}.monitor-event-row.report>i{background:#16a36a}.monitor-event-row.incoming>i,.monitor-event-row.outgoing>i{background:#f0a000}.monitor-event-row b,.monitor-event-row span{display:block}.monitor-event-row b{font-size:12px;color:#271b74}.monitor-event-row span{font-size:11px;color:#6f7893;margin-top:2px}.monitor-event-row time{font-size:10px;color:#9098ad;white-space:nowrap}.notice-count{font-style:normal;display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#eef0ff;color:#4935c7;font-size:10px;margin-left:5px}
@media(max-width:900px){.monitor-event-stream{grid-template-columns:1fr}.monitor-event-row time{display:none}}

/* DHTN M1.1 — điều hướng, lịch điều hành và trung tâm giám sát */
body.route-home .topbar .back-btn,body.route-home .topbar .home-btn{display:none!important}
.topbar .home-btn{font-size:19px;font-weight:900}
.calendar-overview{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:12px}.calendar-overview>div{background:linear-gradient(145deg,#fff,#f6f8ff);border:1px solid #dce4f1;border-radius:13px;padding:12px 14px}.calendar-overview b{display:block;font-size:24px;color:#1f3e8a}.calendar-overview span{display:block;font-size:11px;color:#728099;margin-top:2px}.calendar-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.calendar-panel{min-width:0}.calendar-panel-title{display:flex;align-items:center;gap:9px}.calendar-panel-title>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eef2ff;color:#3c45c6;font-style:normal;font-size:18px}.calendar-panel-title h2,.calendar-panel-title small{display:block;margin:0}.calendar-panel-title small{font-size:10px;color:#8791a6;margin-top:2px}.calendar-list{display:flex;flex-direction:column;gap:8px}.calendar-item{border:1px solid #e1e7f1;border-radius:12px;background:#fff;padding:9px}.calendar-item-main{width:100%;border:0;background:transparent;text-align:left;padding:0;cursor:pointer}.calendar-item-main b,.calendar-item-main span,.calendar-item-main small{display:block}.calendar-item-main b{font-size:13px;color:#203777}.calendar-item-main span{font-size:11px;color:#5f6d84;margin-top:3px;line-height:1.4}.calendar-item-main small{font-size:10px;color:#8a95a9;margin-top:5px}.calendar-item-actions{display:flex;gap:5px;margin-top:7px}.board-inline-preview{margin-top:7px;padding:6px 7px;border-radius:9px;background:#f7f9fd;border:1px dashed #d7deea;display:flex;align-items:center;gap:7px}.board-inline-preview span{font-size:10px;color:#6f7b91;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-inline-preview.image{display:block;padding:5px}.board-inline-preview.image img{width:100%;max-height:130px;object-fit:contain;border-radius:7px;background:#fff}.calendar-deadline-row{width:100%;display:grid;grid-template-columns:92px 1fr 220px 24px;gap:8px;align-items:center;border:0;border-bottom:1px solid #edf1f6;background:#fff;padding:9px 4px;text-align:left;cursor:pointer}.calendar-deadline-row:hover{background:#f8faff}.calendar-deadline-row b{color:#3145a1}.calendar-deadline-row span{font-weight:700;color:#24386f}.calendar-deadline-row small{color:#7c879b}.calendar-deadline-row em{font-style:normal;color:#7884a0}
.monitor-kpi-strip{width:100%;margin:0 0 10px;display:grid;grid-template-columns:42px 1fr auto 24px;gap:10px;align-items:center;border:1px solid #dddff8;border-left:4px solid #5148c8;border-radius:12px;background:linear-gradient(135deg,#fff,#f5f4ff);padding:9px 12px;text-align:left;cursor:pointer}.monitor-kpi-strip>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ece9ff;color:#4b42c2;font-style:normal;font-size:18px}.monitor-kpi-strip small,.monitor-kpi-strip b{display:block}.monitor-kpi-strip small{font-size:9px;color:#7c8499}.monitor-kpi-strip b{font-size:13px;color:#29256f;margin-top:2px}.monitor-kpi-metrics{display:flex;gap:16px}.monitor-kpi-metrics span{font-size:9px;color:#78839a}.monitor-kpi-metrics strong{display:block;font-size:13px;color:#352e9c}.monitor-kpi-strip em{font-style:normal;color:#7b84a0}
.monitor-report-inbox{margin:0 0 10px;border:1px solid #dde4ef;border-radius:13px;background:#fff;overflow:hidden}.monitor-report-inbox.has-new{border-color:#c7d3ff;box-shadow:0 5px 18px rgba(64,72,170,.07)}.monitor-report-inbox-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:linear-gradient(90deg,#f8f9ff,#fff)}.monitor-report-inbox-head>div{display:flex;align-items:center;gap:8px}.monitor-report-inbox-head i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#ecefff;color:#3e48c5;font-style:normal}.monitor-report-inbox-head b,.monitor-report-inbox-head small{display:block}.monitor-report-inbox-head b{font-size:12px;color:#252b73}.monitor-report-inbox-head small{font-size:9px;color:#7d879b;margin-top:2px}.monitor-report-inbox-head button{border:0;background:transparent;color:#4a46c4;font-size:10px;font-weight:800;cursor:pointer}.monitor-report-queue{border-top:1px solid #edf0f6}.monitor-report-queue-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid #f0f2f7}.monitor-report-queue-row:last-child{border-bottom:0}.monitor-report-queue-row b,.monitor-report-queue-row span{display:block}.monitor-report-queue-row b{font-size:11px;color:#27366f}.monitor-report-queue-row span{font-size:9px;color:#80899c;margin-top:2px}.monitor-report-queue-row>div:last-child{display:flex;gap:5px}
@media(max-width:1100px){.calendar-layout{grid-template-columns:1fr}.calendar-overview{grid-template-columns:repeat(2,1fr)}.calendar-deadline-row{grid-template-columns:82px 1fr 150px 20px}}
@media(max-width:700px){.calendar-overview{grid-template-columns:1fr 1fr}.calendar-deadline-row{grid-template-columns:78px 1fr 20px}.calendar-deadline-row small{grid-column:2/3}.monitor-kpi-strip{grid-template-columns:36px 1fr 20px}.monitor-kpi-metrics{grid-column:2/3}.monitor-report-queue-row{grid-template-columns:1fr}.monitor-report-queue-row>div:last-child{justify-content:flex-start}}
.monitor-command-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 10px}.monitor-command-actions button{min-height:46px;border:1px solid #dde4f2;border-radius:11px;background:#fff;color:#293a82;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer;box-shadow:0 3px 10px rgba(31,45,100,.04)}.monitor-command-actions button:hover{background:#f5f7ff;border-color:#cdd5f4;transform:translateY(-1px)}.monitor-command-actions i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eef0ff;color:#4a46c6;font-style:normal}.monitor-command-actions span{font-size:11px}@media(max-width:900px){.monitor-command-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.monitor-command-actions{grid-template-columns:1fr 1fr}.monitor-command-actions span{font-size:10px}}

/* DHTN M1.2 — responsive shell normalization for phone/tablet/laptop/large display */
:root{--topbar:72px}
.topbar{
  height:var(--topbar)!important;
  min-height:var(--topbar)!important;
  display:grid!important;
  grid-template-columns:auto minmax(170px,.75fr) minmax(260px,1.45fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:0 18px!important;
  overflow:visible!important;
}
.topbar-nav{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0}
.topbar .unit{min-width:0;overflow:hidden}
.topbar .unit strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.topbar .unit span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar .searchbox{min-width:0;width:100%;max-width:none}
.topbar .top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;white-space:nowrap;flex-wrap:nowrap}
.topbar .user-mini{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
body.route-home .topbar .topbar-nav .back-btn,body.route-home .topbar .topbar-nav .home-btn{display:none!important}
body.route-home .topbar .topbar-nav{min-width:36px}

/* Home portal: prevent hero/nav collisions */
body.route-home .portal-identity{position:relative;z-index:1;overflow:hidden}
body.route-home .portal-id-brand{min-width:0}
body.route-home .portal-id-brand>div{min-width:0}
body.route-home .portal-id-brand h1{max-width:100%;overflow-wrap:anywhere}
body.route-home .portal-primary-nav{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
body.route-home .portal-primary-nav button{flex:1 0 auto;min-width:128px}

/* Medium laptop/tablet landscape */
@media(max-width:1366px){
  :root{--topbar:68px}
  .topbar{grid-template-columns:auto minmax(150px,.65fr) minmax(250px,1.35fr) auto!important;gap:9px!important;padding:0 12px!important}
  .topbar .icon-btn{width:34px;height:34px}
  .topbar .unit strong{font-size:13px!important}.topbar .unit span{font-size:10.5px!important}
  .topbar .status-pill{font-size:10px;padding:5px 7px}
  .topbar .user-mini{max-width:96px;font-size:12px}
  body.route-home .portal-id-brand h1{font-size:clamp(24px,3.15vw,43px)!important;white-space:normal!important}
}

/* Tablet / narrow laptop */
@media(max-width:1024px){
  :root{--topbar:64px}
  .topbar{grid-template-columns:auto minmax(120px,.55fr) minmax(180px,1fr) auto!important;gap:7px!important;padding:0 9px!important}
  .topbar-nav{gap:5px}
  .topbar .unit strong{font-size:12px!important}.topbar .unit span{display:none!important}
  .topbar .status-pill{max-width:82px;overflow:hidden;text-overflow:ellipsis}
  .topbar .user-mini{display:none!important}
  .topbar .searchbox input{font-size:13px;padding:8px 9px}
  body.route-home .portal-identity{min-height:180px!important}
  body.route-home .portal-id-brand{gap:14px!important;padding-right:170px}
  body.route-home .portal-id-brand img{width:78px!important;height:78px!important}
  body.route-home .portal-id-brand h1{font-size:clamp(23px,4vw,34px)!important}
  body.route-home .portal-id-right{right:14px!important;top:50%!important;transform:translateY(-50%)}
}

/* Mobile/tablet portrait: two-row app bar, no overlap */
@media(max-width:820px){
  :root{--topbar:108px}
  .main{margin-left:0!important}
  .topbar{
    position:sticky!important;top:0!important;
    grid-template-columns:auto 1fr auto!important;
    grid-template-areas:"nav unit actions" "search search search"!important;
    grid-template-rows:52px 46px!important;
    height:auto!important;min-height:108px!important;
    padding:4px 8px 6px!important;gap:0 8px!important;
  }
  .topbar-nav{grid-area:nav;gap:5px}
  .topbar .unit{grid-area:unit;text-align:left}
  .topbar .unit strong{font-size:12px!important}.topbar .unit span{display:block!important;font-size:9.5px!important}
  .topbar .searchbox{grid-area:search;height:40px}
  .topbar .top-actions{grid-area:actions;gap:5px}
  .topbar .status-pill{display:none!important}
  .topbar .user-mini{display:none!important}
  .topbar .icon-btn{width:38px;height:38px;flex:0 0 38px}
  body.route-home .topbar .topbar-nav{min-width:38px}
  body.route-home .portal-identity{min-height:154px!important;padding:16px 14px!important}
  body.route-home .portal-id-brand{padding-right:0!important;gap:10px!important;align-items:center!important}
  body.route-home .portal-id-brand img{width:62px!important;height:62px!important;flex:0 0 62px}
  body.route-home .portal-id-brand small{font-size:9px!important}
  body.route-home .portal-id-brand h1{font-size:clamp(20px,5.2vw,28px)!important;line-height:1.08!important;margin:3px 0!important}
  body.route-home .portal-id-brand p{font-size:11px!important}
  body.route-home .portal-id-right{position:static!important;transform:none!important;margin-top:10px!important;display:flex!important;justify-content:flex-end!important}
  body.route-home .portal-clock{padding:6px 9px!important}
  body.route-home .portal-primary-nav button{min-width:116px;padding:12px 10px!important}
}

@media(max-width:520px){
  :root{--topbar:104px}
  .topbar{grid-template-columns:auto 1fr auto!important;grid-template-rows:50px 44px!important;min-height:104px!important;padding:3px 6px 7px!important}
  .topbar-nav{gap:4px}
  .topbar .unit strong{font-size:11px!important}.topbar .unit span{font-size:9px!important}
  .topbar .top-actions [data-notice-toggle]{display:none!important}
  .topbar .searchbox{height:38px}
  .topbar .searchbox input{font-size:12.5px}
  body.route-home .portal-identity{min-height:142px!important;padding:12px 10px!important}
  body.route-home .portal-id-brand img{width:52px!important;height:52px!important;flex-basis:52px}
  body.route-home .portal-id-brand h1{font-size:clamp(18px,6.4vw,24px)!important}
  body.route-home .portal-id-right{display:none!important}
  body.route-home .portal-primary-nav button{min-width:104px;font-size:12px!important}
  .modal-backdrop{padding:0!important;align-items:end!important}
  .modal{width:100%!important;max-width:none!important;max-height:94dvh!important;border-radius:16px 16px 0 0!important}
  .grid2,.grid3,.detail-grid{grid-template-columns:1fr!important}
  .actions .btn{min-height:44px}
}

/* Large monitoring/desktop displays */
@media(min-width:1700px){
  .content{max-width:1840px!important;padding-left:24px!important;padding-right:24px!important}
  .topbar{grid-template-columns:auto minmax(240px,.8fr) minmax(520px,1.35fr) auto!important;padding:0 26px!important}
  .topbar .unit strong{font-size:16px!important}.topbar .unit span{font-size:12px!important}
  body.route-home .portal-id-brand h1{font-size:48px!important}
}

/* DHTN M1.4 — Digital Operations Center / modern monitor dashboard */
body.route-monitor .content{padding-top:14px;background:linear-gradient(180deg,#f7f8fd 0%,#f4f6fb 100%)}
.monitor-command-head.digital{position:relative;overflow:hidden;border-radius:0 0 22px 22px;margin:-14px -20px 14px;padding:18px 24px;background:linear-gradient(118deg,#18145f 0%,#35229c 42%,#6810d4 100%);box-shadow:0 16px 34px rgba(45,27,128,.18)}
.monitor-command-head.digital:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 8%,rgba(255,255,255,.16),transparent 28%),linear-gradient(120deg,transparent 64%,rgba(135,179,255,.08));pointer-events:none}
.monitor-command-head.digital .monitor-brand,.monitor-command-head.digital .monitor-head-right{position:relative;z-index:1}
.monitor-brand{display:flex;align-items:center;gap:16px;min-width:0}.monitor-brand img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.18))}.monitor-brand>div{min-width:0}.monitor-brand h1{font-size:30px;line-height:1.05;margin:3px 0 5px;white-space:nowrap}.monitor-brand span{font-size:11px;letter-spacing:.12em}.monitor-brand p{font-weight:800;letter-spacing:.08em}
.monitor-head-right{display:flex;align-items:center;gap:14px}.monitor-clock{padding:12px 16px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);min-width:190px}.monitor-clock b{font-size:28px;letter-spacing:.02em}.monitor-clock span{font-weight:700}.monitor-health{display:flex!important;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07)}.monitor-health>i{width:9px;height:9px;border-radius:50%;background:#22db89;box-shadow:0 0 0 5px rgba(34,219,137,.12)}.monitor-health b,.monitor-health small{display:block;color:#fff}.monitor-health b{font-size:11px}.monitor-health small{font-size:9px;opacity:.78;margin-top:2px}
.monitor-toolbar.digital{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(250px,1fr) minmax(210px,.8fr) auto auto auto;align-items:center;gap:10px;padding:11px 13px;border:1px solid #dde2f1;border-radius:16px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(38,44,92,.07);position:sticky;top:8px;z-index:20;backdrop-filter:blur(10px)}
.monitor-toolbar.digital>label{display:flex;align-items:center;gap:9px;min-width:0}.monitor-toolbar.digital>label>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0edff;color:#5536cd;font-size:17px}.monitor-toolbar.digital label>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:center;min-width:0;flex:1}.monitor-toolbar.digital label small{grid-column:1/-1;font-size:9px;color:#7b859c;font-weight:800}.monitor-toolbar.digital .input,.monitor-toolbar.digital .select{height:36px;border-color:#d9dfed;background:#fff}.monitor-auto{justify-content:center;font-size:12px;font-weight:700;color:#37426e}.monitor-auto>span:last-child b{color:#5d36d7}.monitor-chat-jump{background:linear-gradient(135deg,#6f23e9,#9d00f2)!important;color:#fff!important;border:0!important}.monitor-tv-btn{min-width:42px!important}.monitor-loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:10px;color:#596581}.monitor-loading i{width:16px;height:16px;border:2px solid #cfd5e8;border-top-color:#6544da;border-radius:50%;animation:monitorSpin .8s linear infinite}@keyframes monitorSpin{to{transform:rotate(360deg)}}
.monitor-digital-summary{margin-top:12px}.monitor-personnel-cards.digital{display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr;gap:12px}.monitor-personnel-cards.digital .monitor-personnel-card{min-height:112px;border-radius:17px;border:1px solid #e0e5f1;background:#fff;box-shadow:0 7px 18px rgba(31,42,91,.055);position:relative;overflow:hidden;padding:16px;transition:.18s ease}.monitor-personnel-cards.digital .monitor-personnel-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(37,44,101,.09)}.monitor-personnel-cards.digital .monitor-personnel-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#6c35e6}.monitor-personnel-cards.digital .monitor-personnel-card.primary{background:linear-gradient(138deg,#3a1595,#6a08d1);color:#fff;border-color:transparent}.monitor-personnel-cards.digital .monitor-personnel-card.primary:before{background:#ffd12a}.monitor-personnel-cards.digital .monitor-personnel-card.duty:before{background:#19bd78}.monitor-personnel-cards.digital .monitor-personnel-card.warn:before{background:#f3ad12}.monitor-personnel-cards.digital .monitor-personnel-card.external:before{background:#8a22e9}.monitor-personnel-cards.digital .monitor-card-icon{width:48px;height:48px;border-radius:14px;font-size:22px;background:#f2ecff;color:#5b32c7}.monitor-personnel-cards.digital .primary .monitor-card-icon{background:rgba(255,255,255,.13);color:#fff}.monitor-personnel-cards.digital small{font-size:11px;font-weight:850}.monitor-personnel-cards.digital b{font-size:30px;line-height:1;margin:5px 0}.monitor-personnel-cards.digital span{font-size:10px;line-height:1.35;color:#7b849b}.monitor-personnel-cards.digital .primary span{color:rgba(255,255,255,.82)}.monitor-personnel-cards.digital em{font-size:25px;color:#8b93a8}.monitor-personnel-cards.digital .primary em{color:#fff}
.monitor-work-cards.digital{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:10px}.monitor-work-cards.digital .monitor-work-card{min-height:98px;border-radius:15px;border:1px solid #e1e6f1;background:#fff;box-shadow:0 6px 16px rgba(31,42,91,.045);padding:13px;display:flex;align-items:center;gap:11px;position:relative;overflow:hidden;text-align:left;cursor:pointer;transition:.18s ease}.monitor-work-cards.digital .monitor-work-card:hover{transform:translateY(-2px);border-color:#ccd4ee;box-shadow:0 10px 22px rgba(37,44,101,.08)}.monitor-work-cards.digital .monitor-work-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#7a2be8}.monitor-work-cards.digital .monitor-work-card.green:before{background:#15bd70}.monitor-work-cards.digital .monitor-work-card.red:before{background:#ff315d}.monitor-work-cards.digital .monitor-work-card.blue:before{background:#5c76ef}.monitor-work-cards.digital .monitor-work-card.violet:before{background:#a11af0}.monitor-work-cards.digital .monitor-work-card.cyan:before{background:#4293e6}.monitor-work-cards.digital .monitor-work-card i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#f1edff;color:#5f35d4;font-style:normal;font-size:20px;flex:0 0 auto}.monitor-work-cards.digital .green i{background:#e4fbf0;color:#08a860}.monitor-work-cards.digital .red i{background:#fff0f4;color:#ef2f56}.monitor-work-cards.digital .blue i{background:#eef2ff;color:#4666e6}.monitor-work-cards.digital .cyan i{background:#edf7ff;color:#3288dc}.monitor-work-cards.digital small,.monitor-work-cards.digital b,.monitor-work-cards.digital span{display:block}.monitor-work-cards.digital small{font-size:10px;font-weight:850;color:#252867}.monitor-work-cards.digital b{font-size:27px;line-height:1.05;color:#27126e;margin:3px 0}.monitor-work-cards.digital span{font-size:9px;color:#7e879b}.monitor-work-cards.digital u{position:absolute;right:10px;bottom:10px;width:35px;height:31px;opacity:.45;background:linear-gradient(to top,rgba(92,54,215,.24) 0 30%,transparent 30% 38%,rgba(92,54,215,.18) 38% 62%,transparent 62% 70%,rgba(92,54,215,.11) 70% 100%);clip-path:polygon(0 100%,0 60%,18% 60%,18% 35%,38% 35%,38% 75%,58% 75%,58% 20%,78% 20%,78% 48%,100% 48%,100% 100%)}
.monitor-digital-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.78fr) minmax(280px,.72fr);gap:12px;margin-top:12px;align-items:stretch}.monitor-digital-grid.chat-hidden{grid-template-columns:minmax(0,1.55fr) minmax(300px,.78fr) minmax(280px,.72fr)}.monitor-digital-grid.chat-hidden .monitor-chat-panel{display:none!important}.monitor-commercial-panel{border:1px solid #dfe4ef;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(35,42,89,.055);overflow:hidden}.monitor-section-head{min-height:52px;padding:11px 14px;border-bottom:1px solid #e9edf4;background:linear-gradient(180deg,#fff,#fbfcff)}.monitor-section-head>div{display:flex;align-items:center;gap:8px}.monitor-section-head i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f0ecff;color:#5d36d2;font-style:normal}.monitor-section-head h2{font-size:15px;color:#271b75}.monitor-section-head>div>span{min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;padding:0 6px;background:#fff0b8;color:#7e5b00;font-size:10px;font-weight:900}.monitor-section-head button{border:0;background:transparent;color:#5336c5;font-size:10px;font-weight:900;cursor:pointer}.danger-badge{background:#ff315d!important;color:#fff!important}
.monitor-report-focus{min-height:360px}.monitor-report-table{padding:0 14px 8px}.monitor-report-table-head,.monitor-report-table-row{display:grid;grid-template-columns:94px minmax(160px,1.1fr) minmax(180px,1.4fr) 84px 88px;gap:10px;align-items:center}.monitor-report-table-head{padding:8px 4px;color:#778197;font-size:9px;font-weight:900;border-bottom:1px solid #e7ebf2}.monitor-report-table-row{padding:9px 4px;border-bottom:1px solid #eef1f5;font-size:10px;color:#5f6980}.monitor-report-table-row:last-child{border-bottom:0}.monitor-report-table-row b,.monitor-report-table-row small{display:block}.monitor-report-table-row b{font-size:11px;color:#253271}.monitor-report-table-row small{font-size:9px;color:#8991a5;margin-top:2px}.monitor-report-table-row .state{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef1ff;color:#4353bd;font-size:9px;font-style:normal;font-weight:850}.monitor-report-table-row .state.submitted{background:#eef2ff;color:#3856cf}.monitor-report-table-row .state.viewed{background:#fff4d8;color:#a26a00}.monitor-report-table-row .actions{display:flex;gap:4px}.monitor-report-table-row .actions button{width:26px;height:26px;border:1px solid #dde3ef;border-radius:8px;background:#fff;color:#4b46b8;cursor:pointer}.monitor-report-table-row .actions button:hover{background:#f0efff}
.monitor-attention-focus{min-height:360px}.monitor-alert-list.digital{padding:8px 12px}.monitor-alert-list.digital .monitor-alert-item{padding:10px 6px;border-radius:10px;margin-bottom:3px}.monitor-alert-list.digital .monitor-alert-item:hover{background:#f8f9ff}.monitor-alert-list.digital .monitor-alert-item>i{width:34px;height:34px;border-radius:11px}.monitor-quick-focus{min-height:360px}.monitor-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.monitor-quick-grid button{min-height:70px;border:1px solid #e1e6f0;border-radius:12px;background:#fff;display:flex;align-items:center;gap:9px;padding:10px;text-align:left;cursor:pointer;transition:.15s ease}.monitor-quick-grid button:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(35,42,89,.08)}.monitor-quick-grid button i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-style:normal;font-size:19px;background:#efe9ff;color:#6732d9}.monitor-quick-grid button.green i{background:#e7fbee;color:#0aa665}.monitor-quick-grid button.blue i{background:#eaf3ff;color:#347adb}.monitor-quick-grid button.orange i{background:#fff3dc;color:#ed8b00}.monitor-quick-grid button.pink i{background:#ffe9f5;color:#d92183}.monitor-quick-grid b,.monitor-quick-grid small{display:block}.monitor-quick-grid b{font-size:11px;color:#27336d}.monitor-quick-grid small{font-size:9px;color:#8790a2;margin-top:2px}.monitor-quick-grid button:last-child{grid-column:1/-1}.monitor-kpi-mini{margin:0 12px 12px;width:calc(100% - 24px);min-height:54px;border:1px solid #dfddf5;border-radius:12px;background:linear-gradient(135deg,#faf9ff,#f2efff);display:grid;grid-template-columns:36px 1fr 18px;align-items:center;gap:8px;text-align:left;padding:8px;cursor:pointer}.monitor-kpi-mini>i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eae5ff;color:#6040cd;font-style:normal}.monitor-kpi-mini small,.monitor-kpi-mini b{display:block}.monitor-kpi-mini small{font-size:9px;color:#7d8499}.monitor-kpi-mini b{font-size:11px;color:#29216c;margin-top:2px}.monitor-kpi-mini em{font-style:normal;color:#7c84a0}
.monitor-chat-panel{grid-column:1/-1;min-height:280px}.monitor-tasks-wide{margin-top:12px}.monitor-tasks-wide .monitor-task-table{max-height:420px;overflow:auto}.monitor-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.monitor-bottom-grid .monitor-live-events{margin:0}.monitor-bottom-grid .monitor-event-stream{grid-template-columns:1fr}.monitor-duty-section{margin:0}.monitor-duty-section .monitor-duty-source-head{padding:9px 14px}.monitor-footnote.digital{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0 0;padding:8px 12px;border:1px solid #e2e6f0;border-radius:11px;background:#fff;color:#758097;font-size:9px}.monitor-footnote.digital i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#21bd78;margin-right:6px}
.monitor-empty-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8a93a6}.monitor-empty-state i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e9fbf1;color:#10a967;font-style:normal;font-size:22px;margin-bottom:8px}.monitor-empty-state b{font-size:12px;color:#56627b}.monitor-empty-state span{font-size:10px;margin-top:4px}.monitor-empty-state.small{min-height:130px}.monitor-empty-state.small i{width:34px;height:34px;font-size:15px}
.monitor-kiosk .monitor-command-head.digital{border-radius:0;margin:0 -12px 10px}.monitor-kiosk .monitor-toolbar.digital{top:88px}.monitor-kiosk .monitor-digital-grid{grid-template-columns:minmax(0,1.55fr) minmax(280px,.78fr) minmax(260px,.72fr)}
@media(max-width:1380px){.monitor-brand h1{font-size:25px}.monitor-health{display:none!important}.monitor-toolbar.digital{grid-template-columns:minmax(190px,.9fr) minmax(220px,1fr) minmax(185px,.8fr) auto auto auto}.monitor-work-cards.digital{grid-template-columns:repeat(3,1fr)}.monitor-digital-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.monitor-quick-focus{grid-column:1/-1;min-height:auto}.monitor-quick-grid{grid-template-columns:repeat(5,1fr)}.monitor-quick-grid button:last-child{grid-column:auto}.monitor-kpi-mini{max-width:320px}.monitor-report-table-head,.monitor-report-table-row{grid-template-columns:80px minmax(140px,1fr) minmax(155px,1.2fr) 74px 82px}}
@media(max-width:1120px){.monitor-command-head.digital{padding:15px 16px}.monitor-brand img{width:54px;height:54px}.monitor-brand h1{font-size:22px}.monitor-toolbar.digital{grid-template-columns:1fr 1fr auto auto}.monitor-auto{grid-column:1/3}.monitor-personnel-cards.digital{grid-template-columns:1fr 1fr}.monitor-digital-grid{grid-template-columns:1fr}.monitor-report-focus,.monitor-attention-focus,.monitor-quick-focus{min-height:auto}.monitor-report-table{overflow-x:auto}.monitor-report-table-head,.monitor-report-table-row{min-width:720px}.monitor-quick-grid{grid-template-columns:repeat(3,1fr)}.monitor-bottom-grid{grid-template-columns:1fr}.monitor-chat-panel{grid-column:auto}}
@media(max-width:820px){body.route-monitor .content{padding:8px}.monitor-command-head.digital{margin:-8px -8px 10px;border-radius:0 0 16px 16px;padding:12px}.monitor-brand{gap:9px}.monitor-brand img{width:44px;height:44px}.monitor-brand span{font-size:8px}.monitor-brand h1{font-size:17px;white-space:normal;margin:2px 0}.monitor-brand p{font-size:9px}.monitor-head-right{position:static;display:block}.monitor-clock{min-width:118px;padding:8px 9px}.monitor-clock b{font-size:18px}.monitor-clock span{font-size:8px}.monitor-toolbar.digital{position:relative;top:auto;grid-template-columns:1fr 1fr;padding:9px}.monitor-toolbar.digital>label{min-width:0}.monitor-auto{grid-column:1/-1;justify-content:flex-start}.monitor-refresh,.monitor-tv-btn,.monitor-chat-jump{min-height:42px}.monitor-personnel-cards.digital{grid-template-columns:1fr 1fr}.monitor-personnel-cards.digital .monitor-personnel-card{min-height:94px;padding:11px}.monitor-personnel-cards.digital .monitor-card-icon{width:40px;height:40px;font-size:18px}.monitor-personnel-cards.digital b{font-size:24px}.monitor-work-cards.digital{grid-template-columns:1fr 1fr}.monitor-work-cards.digital .monitor-work-card{min-height:86px}.monitor-quick-grid{grid-template-columns:1fr 1fr}.monitor-quick-grid button:last-child{grid-column:1/-1}.monitor-footnote.digital{display:block}.monitor-footnote.digital span{display:block;margin:3px 0}}
@media(max-width:520px){.monitor-head-right{display:none}.monitor-toolbar.digital{grid-template-columns:1fr}.monitor-auto{grid-column:auto}.monitor-toolbar.digital label>div{grid-template-columns:1fr}.monitor-toolbar.digital label small{display:none}.monitor-personnel-cards.digital{grid-template-columns:1fr}.monitor-work-cards.digital{grid-template-columns:1fr 1fr}.monitor-work-cards.digital .monitor-work-card{padding:10px;gap:8px}.monitor-work-cards.digital .monitor-work-card i{width:34px;height:34px;font-size:16px}.monitor-work-cards.digital small{font-size:9px}.monitor-work-cards.digital b{font-size:22px}.monitor-work-cards.digital span{font-size:8px}.monitor-quick-grid{grid-template-columns:1fr}.monitor-quick-grid button:last-child{grid-column:auto}.monitor-report-table{padding:0 8px}.monitor-tasks-wide .monitor-task-head,.monitor-tasks-wide .monitor-task-line{min-width:760px}.monitor-brand h1{font-size:15px}.monitor-brand img{width:38px;height:38px}}

/* DHTN M1.4 - Monitor layout refinement: no dead column when chat is hidden */
.monitor-quick-strip.digital{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(190px,1.1fr);gap:10px;margin-top:12px;padding:10px;border:1px solid #e0e5ef;border-radius:16px;background:linear-gradient(180deg,#fff,#fbfcff);box-shadow:0 7px 20px rgba(35,42,89,.05)}
.monitor-quick-strip.digital button{min-height:58px;border:1px solid #e2e7f0;border-radius:12px;background:#fff;display:flex;align-items:center;gap:9px;padding:8px 10px;text-align:left;cursor:pointer;transition:.15s ease;min-width:0}.monitor-quick-strip.digital button:hover{transform:translateY(-1px);box-shadow:0 6px 15px rgba(35,42,89,.09)}
.monitor-quick-strip.digital button>i{width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:17px;background:#efe9ff;color:#6732d9}.monitor-quick-strip.digital button.green>i{background:#e7fbee;color:#0aa665}.monitor-quick-strip.digital button.blue>i{background:#eaf3ff;color:#347adb}.monitor-quick-strip.digital button.orange>i{background:#fff3dc;color:#ed8b00}.monitor-quick-strip.digital button.pink>i{background:#ffe9f5;color:#d92183}
.monitor-quick-strip.digital b,.monitor-quick-strip.digital small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-quick-strip.digital b{font-size:11px;color:#27336d}.monitor-quick-strip.digital small{font-size:9px;color:#8790a2;margin-top:2px}.monitor-kpi-chip em{margin-left:auto;font-style:normal;color:#777f96}
.monitor-digital-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr) minmax(300px,.82fr)}
.monitor-digital-grid.chat-hidden{grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr)}
.monitor-digital-grid.chat-hidden .monitor-report-focus{grid-column:1}.monitor-digital-grid.chat-hidden .monitor-attention-focus{grid-column:2}
.monitor-report-focus,.monitor-attention-focus{min-height:330px}.monitor-chat-panel{min-height:330px;grid-column:auto}
@media(max-width:1380px){.monitor-quick-strip.digital{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-kpi-chip{grid-column:auto}.monitor-digital-grid,.monitor-digital-grid.chat-hidden{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.monitor-chat-panel{grid-column:1/-1;min-height:270px}.monitor-digital-grid.chat-hidden .monitor-report-focus{grid-column:1}.monitor-digital-grid.chat-hidden .monitor-attention-focus{grid-column:2}}
@media(max-width:1120px){.monitor-quick-strip.digital{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-digital-grid,.monitor-digital-grid.chat-hidden{grid-template-columns:1fr}.monitor-digital-grid.chat-hidden .monitor-report-focus,.monitor-digital-grid.chat-hidden .monitor-attention-focus{grid-column:1}.monitor-report-focus,.monitor-attention-focus,.monitor-chat-panel{min-height:auto}}
@media(max-width:620px){.monitor-quick-strip.digital{grid-template-columns:1fr 1fr;gap:7px;padding:8px}.monitor-quick-strip.digital button{min-height:52px;padding:7px}.monitor-quick-strip.digital button>i{width:30px;height:30px;flex-basis:30px;font-size:15px}.monitor-quick-strip.digital small{display:none}.monitor-kpi-chip{grid-column:1/-1}}


/* M1.4.3 HOME PORTAL - reference layout synchronization */
body.route-home .sidebar{display:none!important}
body.route-home .main{margin-left:0!important}
body.route-home .content.home-page{background:#eef4fa!important}
body.route-home .portal-dashboard-v843{max-width:1600px;margin:0 auto;background:#eef4fa;min-height:calc(100vh - var(--topbar));padding-bottom:26px;color:#17324d;font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif}
body.route-home .portal-home-hero{min-height:188px!important;margin:0!important;border-radius:0!important;padding:22px 34px!important;position:relative;overflow:hidden;isolation:isolate;background:#0b3a74!important}
body.route-home .portal-home-hero.has-unit-photo:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,31,70,.96) 0%,rgba(7,48,102,.86) 35%,rgba(7,48,102,.38) 70%,rgba(5,31,70,.35) 100%),url('/assets/banner-unit.jpg') center 47%/cover no-repeat!important}
body.route-home .portal-home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,20,55,.20))}
body.route-home .portal-home-hero .portal-id-brand{display:flex;align-items:center;gap:18px;height:100%;color:#fff}
body.route-home .portal-home-hero .portal-id-brand img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 5px 12px rgba(0,0,0,.2))}
body.route-home .portal-home-hero .portal-id-brand small{font-size:12px;font-weight:800;letter-spacing:.08em;color:#eaf3ff}
body.route-home .portal-home-hero .portal-id-brand h1{font-size:36px!important;margin:4px 0 3px;color:#fff!important;line-height:1.05!important;letter-spacing:.02em!important;text-shadow:0 2px 12px rgba(0,0,0,.26)}
body.route-home .portal-home-hero .portal-id-brand p{font-size:13px;font-weight:800;letter-spacing:.08em;color:#eef6ff;margin:0}
body.route-home .portal-home-hero .portal-id-right{align-self:flex-start;margin-left:auto;color:#fff}
body.route-home .portal-home-hero .portal-clock{background:rgba(4,30,68,.44);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 13px;backdrop-filter:blur(4px);text-align:right}
body.route-home .portal-home-hero .portal-clock b{display:block;font-size:13px}body.route-home .portal-home-hero .portal-clock span{display:block;font-size:22px;font-weight:850;margin-top:2px}
body.route-home .portal-nav-v843{min-height:50px;background:#084f8f!important;box-shadow:0 2px 8px rgba(10,49,88,.12)}
body.route-home .portal-nav-v843 button{min-width:120px;height:50px;padding:0 14px;font-size:13px;font-weight:800;border-right:1px solid rgba(255,255,255,.14)}
body.route-home .portal-nav-v843 button.active{background:#e53945!important}
body.route-home .portal-ticker-v843{min-height:38px;background:#fff;border:0;border-bottom:1px solid #d7e3ef;padding:0 14px;box-shadow:0 1px 4px rgba(20,60,100,.04)}
body.route-home .portal-ticker-v843>b{background:#e53945;border-radius:3px;padding:5px 9px;font-size:10px}
body.route-home .portal-main-v843{display:grid;grid-template-columns:minmax(250px,.82fr) minmax(520px,1.9fr) minmax(270px,.9fr);gap:12px;padding:12px 14px 0;align-items:start}
body.route-home .portal-left-v843,body.route-home .portal-center-v843,body.route-home .portal-right-v843{display:flex;flex-direction:column;gap:12px;min-width:0}
body.route-home .portal-v843-panel{background:#fff;border:1px solid #d8e4ef;border-radius:7px!important;box-shadow:0 2px 8px rgba(18,58,96,.055)!important;overflow:hidden;min-width:0}
body.route-home .portal-v843-title{height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;background:linear-gradient(180deg,#f8fbff,#eef6fd);border-bottom:1px solid #dce7f1;color:#104f89}
body.route-home .portal-v843-title>span{font-size:17px}body.route-home .portal-v843-title>b{font-size:13px;font-weight:900}body.route-home .portal-v843-title>button{margin-left:auto;border:0;background:transparent;color:#0d62a8;font-size:10px;font-weight:800;cursor:pointer}
body.route-home .portal-v843-title.red{color:#c82831;background:linear-gradient(180deg,#fffafa,#fff3f3)}body.route-home .portal-v843-title.warn{color:#a86700;background:linear-gradient(180deg,#fffdf2,#fff8df)}
body.route-home .portal-v843-info{min-height:330px}
body.route-home .portal-v843-tabs{display:flex;border-bottom:1px solid #e3ebf2;background:#fafcff;padding:0 6px}
body.route-home .portal-v843-tabs button{flex:1;border:0;background:transparent;padding:9px 4px;font-size:10px;font-weight:800;color:#64788c;border-bottom:2px solid transparent;white-space:nowrap}body.route-home .portal-v843-tabs button.active{color:#0c5d9f;border-bottom-color:#e53945}
body.route-home .portal-v843-list{max-height:270px;overflow:auto}
body.route-home .portal-info-row{padding:10px 9px!important;gap:8px!important;border-bottom:1px solid #edf2f7!important}body.route-home .portal-info-copy b{font-size:11px!important;line-height:1.35!important}body.route-home .portal-info-copy small{font-size:9px!important;color:#789!important}
body.route-home .portal-attention-list button{padding:9px 10px!important;grid-template-columns:30px minmax(0,1fr) auto!important}body.route-home .portal-attention-list button b{font-size:11px!important}body.route-home .portal-attention-list button span{font-size:9px!important}
body.route-home .portal-intake-v843{margin:0!important;border:1px dashed #9fb9d2!important;border-radius:7px!important;background:#f8fbff!important;padding:10px!important;min-height:74px!important}body.route-home .portal-intake-v843 b{font-size:11px;color:#0b5596}body.route-home .portal-intake-v843 span{font-size:9px!important;line-height:1.35}
body.route-home .portal-feature-v843{min-height:390px}body.route-home .portal-feature-v843 .portal-feature-body{padding:7px;min-height:348px}body.route-home .portal-feature-v843 .portal-feature-main{min-height:330px!important;border-radius:5px;overflow:hidden}body.route-home .portal-feature-v843 .portal-feature-side{display:none!important}body.route-home .portal-feature-v843 .portal-main-slide{object-fit:cover}
body.route-home .portal-feature-caption{background:linear-gradient(180deg,transparent,rgba(1,24,52,.85))!important;padding:48px 16px 14px!important}body.route-home .portal-feature-caption b{font-size:16px!important}body.route-home .portal-feature-caption span{font-size:10px!important}
body.route-home .portal-board-v843{min-height:250px}body.route-home .portal-v843-board-head{height:40px;padding:0 11px;background:linear-gradient(180deg,#f8fbff,#eef6fd);border-bottom:1px solid #dce7f1;color:#104f89}body.route-home .portal-v843-board-head b{font-size:13px;font-weight:900}body.route-home .portal-v843-board-tabs{display:flex;background:#f9fbfd;border-bottom:1px solid #e1eaf2}body.route-home .portal-v843-board-tabs button{flex:1;border:0;background:transparent;padding:9px 8px;font-size:10px;font-weight:850;color:#627a91;border-bottom:2px solid transparent}body.route-home .portal-v843-board-tabs button.active{color:#0b5997;border-bottom-color:#e53945;background:#fff}
body.route-home .portal-v843-board-list .board-row{padding:9px 10px!important}body.route-home .portal-v843-board-list .board-main b{font-size:11px!important}body.route-home .portal-v843-board-list .board-main small,body.route-home .portal-v843-board-list .board-main em{font-size:9px!important}
body.route-home .portal-v843-daily{margin:0!important;border-radius:7px!important;box-shadow:0 2px 7px rgba(18,58,96,.05)!important}
body.route-home .portal-v843-stats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:8px!important}body.route-home .portal-v843-stats .portal-stat{min-height:74px!important;padding:8px!important;border-radius:6px!important}body.route-home .portal-v843-stats .portal-stat>span{width:30px!important;height:30px!important}body.route-home .portal-v843-stats .portal-stat small{font-size:9px!important}body.route-home .portal-v843-stats .portal-stat b{font-size:18px!important}
body.route-home .portal-v843-doc-list{max-height:205px;overflow:auto}body.route-home .portal-v843-doc-list button{padding:9px 10px!important}body.route-home .portal-v843-doc-list b{font-size:10.5px!important;line-height:1.35!important}body.route-home .portal-v843-doc-list small{font-size:8.5px!important}
body.route-home .portal-period{margin-left:auto;font-size:9px;border:1px solid #cbdbea;border-radius:5px;background:#fff;padding:4px 6px;color:#315b82}

/* Synchronize functional pages with the same navy/blue portal language */
body:not(.route-home) .sidebar{background:linear-gradient(180deg,#073b72,#062f5c)!important}body:not(.route-home) .nav a:hover,body:not(.route-home) .nav a.active{background:#0b5da1!important}body:not(.route-home) .nav-group{color:#87b8e6!important}body:not(.route-home) .brand{background:rgba(2,28,57,.18)!important;border-bottom-color:rgba(255,255,255,.12)!important}
body:not(.route-home) .page-head{border-bottom-color:#0d5a9c!important}body:not(.route-home) .card-head{min-height:42px!important}body:not(.route-home) .btn.primary{background:linear-gradient(180deg,#0d62a8,#084f8f)!important}body:not(.route-home) .table th{background:#edf5fc!important;color:#315976!important}

@media(max-width:1250px){body.route-home .portal-main-v843{grid-template-columns:minmax(240px,.8fr) minmax(470px,1.7fr)}body.route-home .portal-right-v843{grid-column:1/-1;display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:12px}}
@media(max-width:900px){body.route-home .portal-main-v843{grid-template-columns:1fr;padding:8px}body.route-home .portal-left-v843,body.route-home .portal-center-v843,body.route-home .portal-right-v843{grid-column:auto;display:flex}.portal-left-v843{order:2}.portal-center-v843{order:1}.portal-right-v843{order:3}body.route-home .portal-home-hero{min-height:124px!important;padding:14px!important}body.route-home .portal-home-hero .portal-id-brand img{width:62px;height:62px}body.route-home .portal-home-hero .portal-id-brand h1{font-size:20px!important}body.route-home .portal-home-hero .portal-id-brand small{font-size:8px}body.route-home .portal-home-hero .portal-id-brand p{font-size:9px}body.route-home .portal-home-hero .portal-id-right{display:none}body.route-home .portal-nav-v843 button{min-width:108px;height:44px;font-size:11px}body.route-home .portal-feature-v843{min-height:300px}body.route-home .portal-feature-v843 .portal-feature-main{min-height:255px!important}body.route-home .portal-v843-info{min-height:0}}
@media(max-width:560px){body.route-home .portal-main-v843{gap:8px}body.route-home .portal-left-v843,body.route-home .portal-center-v843,body.route-home .portal-right-v843{gap:8px}body.route-home .portal-v843-stats{grid-template-columns:1fr 1fr!important}body.route-home .portal-home-hero{min-height:108px!important}body.route-home .portal-home-hero .portal-id-brand img{width:52px;height:52px}body.route-home .portal-home-hero .portal-id-brand h1{font-size:17px!important}body.route-home .portal-ticker-v843{min-height:34px;padding:0 7px}body.route-home .portal-ticker-v843>b{font-size:8px;padding:4px 6px}body.route-home .portal-feature-v843 .portal-feature-main{min-height:220px!important}body.route-home .portal-v843-tabs button{font-size:9px;padding:8px 2px}}


/* M1.4.4 HOME REFERENCE MATCH - presentation only, preserve routes/API/modules */
body.route-home .sidebar{display:flex!important;width:88px!important;background:#f7fbff!important;border-right:1px solid #d8e4f1!important;color:#173b75!important;box-shadow:2px 0 8px rgba(27,59,101,.04)!important}
body.route-home .sidebar .brand{display:none!important}
body.route-home .main{margin-left:88px!important}
body.route-home .nav{padding:10px 6px!important;overflow:auto!important}
body.route-home .nav-group{display:none!important}
body.route-home .nav>a{min-height:70px!important;padding:8px 3px!important;border-radius:7px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px!important;color:#173b75!important;font-size:10px!important;line-height:1.05!important;text-align:center!important;white-space:normal!important}
body.route-home .nav>a .ico{width:auto!important;font-size:23px!important;color:#173b75!important}
body.route-home .nav>a.active{background:linear-gradient(180deg,#274bbd,#173899)!important;color:#fff!important;box-shadow:0 4px 10px rgba(40,66,158,.2)!important}
body.route-home .nav>a.active .ico{color:#fff!important}
body.route-home .nav>a:hover{background:#eaf2ff!important;color:#173b75!important}
body.route-home .nav details{margin-top:auto!important;border-top:1px solid #e3ebf4!important}
body.route-home .nav details summary{font-size:0!important;text-align:center!important;padding:10px 0!important;color:#173b75!important}
body.route-home .nav details summary:after{content:'⚙';font-size:22px!important}
body.route-home .nav details[open] a{min-height:58px!important;font-size:9px!important}
body.route-home .userbox{display:none!important}
body.route-home .topbar{height:68px!important;min-height:68px!important;background:linear-gradient(90deg,#223d9c 0%,#172f83 55%,#182e7d 100%)!important;padding:0 18px!important;gap:16px!important}
body.route-home .topbar .unit{display:flex!important;align-items:center!important;gap:10px!important;min-width:310px!important}
.topbar .unit .top-emblem{width:46px;height:46px;object-fit:contain;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
body.route-home .topbar .unit strong{font-size:17px!important;letter-spacing:.03em!important}
body.route-home .topbar .unit span{font-size:11px!important;opacity:.96!important}
body.route-home .topbar .searchbox{max-width:690px!important;min-width:340px!important;height:42px!important;border-radius:8px!important;order:2!important;flex:1!important}
body.route-home .topbar .searchbox input{font-size:12px!important}
body.route-home .top-actions{gap:10px!important}
body.route-home .top-actions .status-pill{height:36px!important;border-radius:18px!important;padding:0 12px!important;background:rgba(39,70,177,.8)!important}
body.route-home .content.home-page{padding:0!important;background:#eef4fb!important;max-width:none!important}
body.route-home .mobile-bottom{display:none!important}

.home-ref-v144{padding:14px 14px 24px;max-width:1680px;margin:0 auto;color:#18345b;font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif}
.home-card-v144{background:#fff;border:1px solid #d9e5f1;border-radius:10px;box-shadow:0 2px 8px rgba(27,58,97,.045);overflow:hidden;min-width:0}
.home-card-title-v144{min-height:50px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ebf3;background:linear-gradient(180deg,#fff,#f8fbff)}
.home-card-title-v144>div:first-child{display:flex;align-items:center;gap:9px;min-width:0}.home-card-title-v144>div:first-child>span{font-size:19px}.home-card-title-v144 b{font-size:15px;font-weight:900;color:#2243a8;white-space:nowrap}.home-card-title-v144 small{font-size:10px;color:#718198;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-card-title-v144.danger b,.home-card-title-v144.danger>div>span{color:#df2230}.home-card-title-v144 button{border:0;background:transparent;color:#2146a4;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.home-card-title-v144 .solid{height:34px;padding:0 13px;border-radius:6px;background:#294cc1!important;color:#fff!important}.home-title-actions-v144{display:flex;align-items:center;gap:8px}.home-week-v144{font-size:10px;border:1px solid #d4e0ed;border-radius:6px;padding:6px 10px;background:#fff;color:#294a80}
.home-top-grid-v144{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(340px,.95fr);gap:14px;align-items:stretch}.home-right-top-v144{display:grid;grid-template-rows:auto 1fr;gap:14px;min-width:0}.home-activity-v144{min-height:455px}.home-feature-v144{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:10px;padding:10px;height:405px}.home-feature-main-v144{position:relative;min-width:0;height:100%}.home-feature-hero-v144{position:relative;width:100%;height:100%;border:0;padding:0;border-radius:8px;overflow:hidden;background:#eaf0f6;cursor:pointer;text-align:left}.home-feature-hero-v144 img{width:100%;height:100%;object-fit:cover;display:block}.home-feature-overlay-v144{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 16px;background:linear-gradient(180deg,transparent,rgba(3,22,54,.90));color:#fff}.home-feature-overlay-v144 em{display:inline-block;background:#244bc2;border-radius:5px;padding:5px 10px;font-size:9px;font-style:normal;font-weight:800;margin-bottom:8px}.home-feature-overlay-v144 b{display:block;font-size:20px;line-height:1.2}.home-feature-overlay-v144 span{display:block;font-size:10px;margin-top:10px}.home-feature-arrow-v144{position:absolute;top:46%;width:42px;height:48px;border:0;border-radius:24px;background:rgba(8,29,63,.72);color:#fff;font-size:30px;z-index:2;cursor:pointer}.home-feature-arrow-v144.left{left:10px}.home-feature-arrow-v144.right{right:10px}.home-feature-side-v144{display:flex;flex-direction:column;gap:8px;overflow:hidden}.home-feature-side-v144>button{border:0;background:#fff;display:grid;grid-template-columns:105px minmax(0,1fr) 14px;gap:9px;align-items:start;text-align:left;padding:0 0 8px;border-bottom:1px solid #e7edf4;cursor:pointer;min-height:88px}.home-feature-side-v144 img{width:105px;height:78px;object-fit:cover;border-radius:6px}.home-feature-side-v144 span{min-width:0}.home-feature-side-v144 b{display:block;font-size:11px;line-height:1.25;color:#17345f}.home-feature-side-v144 small{display:block;font-size:9px;color:#75859a;margin-top:4px}.home-feature-side-v144 em{display:block;font-size:8px;color:#436491;font-style:normal;margin-top:5px}.home-feature-side-v144 i{font-style:normal;color:#173b75;font-weight:900}.home-feature-empty-v144{grid-column:1/-1;display:grid;place-items:center;text-align:center;align-content:center;gap:8px;color:#718198}.home-feature-empty-v144 b{font-size:16px;color:#254a82}
.home-daily-v144{min-height:138px}.home-daily-v144 .daily-report-home{margin:0!important}.home-daily-v144 .daily-home-card{border:1px solid #f0dda6!important;border-left:4px solid #f6ae2d!important;border-radius:10px!important;background:linear-gradient(135deg,#fffaf0,#fffdf9)!important;box-shadow:0 2px 7px rgba(150,100,20,.05)!important}
.home-attention-v144{min-height:300px}.home-attention-list-v144 button{width:100%;height:52px;padding:0 14px;border:0;border-bottom:1px solid #e8eef5;background:#fff;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;cursor:pointer;text-align:left}.home-attention-list-v144 button:hover{background:#f8fbff}.home-attention-list-v144 i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#2b52ba;font-style:normal;font-weight:900}.home-attention-list-v144 i.hot{background:#fff1e8;color:#f16a32}.home-attention-list-v144 b{font-size:11px;color:#17365f}.home-attention-list-v144 .tag{border-radius:6px;padding:7px 10px;font-size:9px;font-weight:800}.home-attention-list-v144 .t0{background:#fff0f2;color:#df2637}.home-attention-list-v144 .t1{background:#fff3e7;color:#e87622}.home-attention-list-v144 .t2{background:#eaf3ff;color:#2360bd}.home-attention-list-v144 .t3{background:#f4eaff;color:#8144d0}.home-attention-list-v144 .t4{background:#e8f8ef;color:#20945b}
.home-middle-grid-v144{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(430px,1fr);gap:14px;margin-top:14px}.home-info-tabs-v144{display:grid!important;grid-template-columns:repeat(4,1fr)!important;padding:0!important;background:#fafcff!important}.home-info-tabs-v144 button{min-height:45px!important;font-size:10px!important;border-right:1px solid #e2e9f2!important;border-bottom:0!important}.home-info-tabs-v144 button.active{background:#294cc1!important;color:#fff!important}.home-info-list-v144{min-height:145px;max-height:190px;overflow:auto}.home-info-list-v144 .portal-info-row{grid-template-columns:36px minmax(0,1fr) auto!important;padding:10px 12px!important}.home-info-list-v144 .portal-info-copy b{font-size:11px!important}.home-info-list-v144 .portal-info-copy small{font-size:9px!important}
.home-reg-list-v144{min-height:190px;max-height:235px;overflow:auto}.home-reg-list-v144>button{width:100%;border:0;border-bottom:1px solid #e7edf5;background:#fff;padding:9px 11px;display:grid;grid-template-columns:38px minmax(0,1fr) 72px 62px;gap:8px;align-items:center;text-align:left;cursor:pointer}.home-reg-list-v144>button:hover{background:#f8fbff}.reg-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#fff2dc;color:#f09324;font-size:16px}.reg-icon.r1{background:#e9f3ff;color:#2868c9}.reg-icon.r2{background:#f3eaff;color:#7d45d3}.reg-icon.r3{background:#fff0e9;color:#e56c2c}.reg-copy{min-width:0}.reg-copy b{display:block;font-size:10.5px;color:#18355f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reg-copy small{display:block;font-size:8.5px;color:#75859a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.home-reg-list-v144 time{font-size:8.5px;color:#61738a;text-align:right}.home-reg-list-v144 em{justify-self:end;border-radius:6px;padding:6px 8px;font-size:8px;font-style:normal;font-weight:850}.home-reg-list-v144 em.new{background:#e8f8ef;color:#1d9957}.home-reg-list-v144 em.active{background:#edf4ff;color:#2b63bd}.home-reg-list-v144 em.expired{background:#fff0f1;color:#d83b48}
.home-stats-v144{margin-top:14px}.home-stats-grid-v144{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:9px}.home-stats-grid-v144 .portal-stat{min-height:58px!important;border:1px solid #e1e9f2!important;border-radius:9px!important;padding:7px 10px!important;background:#fff!important;display:flex!important;align-items:center!important;gap:9px!important}.home-stats-grid-v144 .portal-stat>span{width:36px!important;height:36px!important;border-radius:9px!important}.home-stats-grid-v144 .portal-stat small{font-size:9px!important}.home-stats-grid-v144 .portal-stat b{font-size:18px!important}.home-stats-grid-v144 .portal-stat em{font-size:8px!important}

@media(max-width:1350px){.home-top-grid-v144{grid-template-columns:minmax(0,1.9fr) minmax(320px,.8fr)}.home-feature-v144{grid-template-columns:minmax(0,1fr) 260px}.home-feature-side-v144>button{grid-template-columns:90px minmax(0,1fr) 12px}.home-feature-side-v144 img{width:90px}.home-middle-grid-v144{grid-template-columns:1.5fr 1fr}.home-stats-grid-v144{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){body.route-home .sidebar{display:none!important}body.route-home .main{margin-left:0!important}.home-top-grid-v144,.home-middle-grid-v144{grid-template-columns:1fr}.home-feature-v144{grid-template-columns:minmax(0,1fr) 260px}.home-right-top-v144{grid-template-columns:1fr 1fr;grid-template-rows:auto}.home-stats-grid-v144{grid-template-columns:repeat(2,minmax(0,1fr))}.home-ref-v144{padding:10px}}
@media(max-width:720px){body.route-home .topbar .unit{min-width:auto!important}.topbar .unit .top-emblem{width:38px;height:38px}body.route-home .topbar .unit strong{font-size:12px!important}body.route-home .topbar .unit span{font-size:9px!important}body.route-home .topbar .searchbox{display:none!important}.home-feature-v144{grid-template-columns:1fr;height:auto}.home-feature-main-v144{height:260px}.home-feature-side-v144{display:none}.home-right-top-v144{grid-template-columns:1fr}.home-card-title-v144 small{display:none}.home-info-tabs-v144{grid-template-columns:repeat(2,1fr)!important}.home-stats-grid-v144{grid-template-columns:1fr}.home-reg-list-v144>button{grid-template-columns:34px minmax(0,1fr) 58px}.home-reg-list-v144 time{display:none}.home-activity-v144{min-height:0}.home-ref-v144{padding:7px 7px calc(78px + env(safe-area-inset-bottom))}body.route-home .mobile-bottom{display:flex!important}}

/* DHTN M1.4.5 - Executive Monitor / large-screen command center */
body.route-monitor{background:#edf3f9}
body.route-monitor .content{max-width:none;padding:10px 12px 18px}
body.route-monitor .monitor-command-head.digital{background:linear-gradient(105deg,#071f50,#0a3b81 55%,#0d5ca7);border-radius:16px;box-shadow:0 14px 34px rgba(7,31,80,.18);padding:16px 18px}
body.route-monitor .monitor-brand h1{font-size:24px;letter-spacing:.02em}
body.route-monitor .monitor-brand p{opacity:.88}
.monitor-command-ribbon{display:grid;grid-template-columns:1.2fr repeat(4,1fr);gap:9px;margin:10px 0;padding:9px;background:#fff;border:1px solid #dbe6f0;border-radius:15px;box-shadow:0 8px 22px rgba(30,62,98,.07)}
.monitor-command-ribbon>button{min-width:0;min-height:82px;border:1px solid #e3eaf2;border-radius:12px;background:linear-gradient(180deg,#fff,#f7faff);text-align:left;padding:11px 13px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;transition:.15s ease}
.monitor-command-ribbon>button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(33,74,116,.09)}
.monitor-command-ribbon small{font-size:9px;font-weight:900;letter-spacing:.045em;color:#71849a}
.monitor-command-ribbon b{font-size:24px;line-height:1.05;color:#173f70;margin:4px 0}
.monitor-command-ribbon span{font-size:9px;color:#75879a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.monitor-command-ribbon .monitor-command-state{border-left:5px solid #0eae6b}
.monitor-command-ribbon.watch .monitor-command-state{border-left-color:#f0a416;background:linear-gradient(180deg,#fffdf5,#fff8e6)}
.monitor-command-ribbon.critical .monitor-command-state{border-left-color:#df3548;background:linear-gradient(180deg,#fff9fa,#fff0f2)}
.monitor-command-ribbon.stable .monitor-command-state b{color:#07965b}.monitor-command-ribbon.watch .monitor-command-state b{color:#b87400}.monitor-command-ribbon.critical .monitor-command-state b{color:#c9273d}
.monitor-priority-ticker{display:flex;align-items:center;gap:7px;margin:0 0 10px;padding:7px 9px;border:1px solid #f0d9a1;border-radius:11px;background:linear-gradient(90deg,#fff9e8,#fff);overflow:hidden}
.monitor-priority-ticker>b{flex:0 0 auto;font-size:9px;color:#a36600;letter-spacing:.05em;padding:0 5px}
.monitor-priority-ticker>button{min-width:0;flex:1;border:0;border-left:1px solid #f1e2bd;background:transparent;padding:5px 8px;text-align:left;display:grid;grid-template-columns:20px minmax(0,1fr);gap:0 5px;cursor:pointer;color:#3b4d61}
.monitor-priority-ticker>button i{grid-row:1/3;font-style:normal;align-self:center;color:#d48000}.monitor-priority-ticker>button span{font-size:9.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-priority-ticker>button em{font-size:8px;font-style:normal;color:#8a97a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.monitor-kiosk .topbar,body.monitor-kiosk .sidebar{display:none!important}
body.monitor-kiosk .main{margin-left:0!important;padding-top:0!important}
body.monitor-kiosk .content{padding:7px!important}
body.monitor-kiosk .monitor-command-head.digital{margin:0 0 7px;border-radius:10px;padding:10px 14px}
body.monitor-kiosk .monitor-brand img{width:46px;height:46px}body.monitor-kiosk .monitor-brand span{font-size:8px}body.monitor-kiosk .monitor-brand h1{font-size:20px;margin:2px 0}body.monitor-kiosk .monitor-brand p{font-size:8px}
body.monitor-kiosk .monitor-toolbar.digital{padding:6px;gap:6px;position:fixed;right:10px;bottom:10px;top:auto;z-index:9999;width:auto;background:rgba(255,255,255,.93);box-shadow:0 6px 20px rgba(0,0,0,.16);border-radius:11px}
body.monitor-kiosk .monitor-toolbar.digital>label,body.monitor-kiosk .monitor-chat-jump{display:none!important}
body.monitor-kiosk .monitor-refresh,body.monitor-kiosk .monitor-tv-btn{min-height:36px;padding:6px 9px}
body.monitor-kiosk .monitor-command-ribbon{margin:6px 0;padding:6px;gap:6px}
body.monitor-kiosk .monitor-command-ribbon>button{min-height:66px;padding:8px 10px}body.monitor-kiosk .monitor-command-ribbon b{font-size:22px}body.monitor-kiosk .monitor-command-ribbon span{font-size:8px}
body.monitor-kiosk .monitor-priority-ticker{margin-bottom:6px;padding:5px 7px}
body.monitor-kiosk .monitor-quick-strip.digital{display:none!important}
body.monitor-kiosk .monitor-personnel-cards.digital{grid-template-columns:repeat(4,1fr);gap:6px}body.monitor-kiosk .monitor-personnel-cards.digital .monitor-personnel-card{min-height:72px;padding:8px}
body.monitor-kiosk .monitor-work-cards.digital{grid-template-columns:repeat(6,1fr);gap:6px}body.monitor-kiosk .monitor-work-cards.digital .monitor-work-card{min-height:72px;padding:8px}
body.monitor-kiosk .monitor-digital-grid,body.monitor-kiosk .monitor-digital-grid.chat-hidden{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr)!important;gap:7px}body.monitor-kiosk .monitor-chat-panel{display:none!important}
body.monitor-kiosk .monitor-report-focus,body.monitor-kiosk .monitor-attention-focus{min-height:250px}
body.monitor-kiosk .monitor-tasks-wide{margin-top:7px}body.monitor-kiosk .monitor-bottom-grid{gap:7px;margin-top:7px}
body.monitor-kiosk .monitor-duty-preview{max-height:250px;overflow:hidden}body.monitor-kiosk .monitor-duty-preview iframe,body.monitor-kiosk .monitor-duty-preview img{min-height:220px;max-height:250px;object-fit:contain}
body.monitor-kiosk .monitor-footnote.digital{margin-bottom:42px}
@media(min-width:1700px){body.route-monitor .content{padding:12px 18px}.monitor-command-ribbon b{font-size:28px}.monitor-command-ribbon span{font-size:10px}.monitor-report-table-row,.monitor-report-table-head{font-size:11px}.monitor-task-line,.monitor-task-head{font-size:11px}}
@media(max-width:1200px){.monitor-command-ribbon{grid-template-columns:repeat(3,1fr)}.monitor-command-state{grid-column:span 1}.monitor-priority-ticker{flex-wrap:wrap}.monitor-priority-ticker>button{flex:1 1 30%}}
@media(max-width:760px){.monitor-command-ribbon{grid-template-columns:1fr 1fr}.monitor-command-ribbon .monitor-command-state{grid-column:1/-1}.monitor-command-ribbon>button{min-height:72px}.monitor-priority-ticker>button{flex:1 1 100%}}


/* DHTN M1.4.10 - FULL UI SYNC (topbar + home + monitor + cross-module theme) */
:root{--dhtn-blue-1:#223d9c;--dhtn-blue-2:#183083;--dhtn-blue-3:#132663;--dhtn-accent:#294cc1;--dhtn-soft:#eef4fb;--dhtn-border:#d9e5f1;--dhtn-text:#17365f;--dhtn-muted:#708198;--dhtn-shadow:0 8px 24px rgba(27,58,97,.08)}
body{background:var(--dhtn-soft)}
.card,.modal,.table-wrap,.notice-panel{box-shadow:var(--dhtn-shadow)}
body:not(.route-home) .sidebar{background:linear-gradient(180deg,var(--dhtn-blue-1),var(--dhtn-blue-3))!important;color:#fff!important}
body:not(.route-home) .brand{background:rgba(255,255,255,.04)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
body:not(.route-home) .nav a{border-radius:10px!important;font-weight:700!important}
body:not(.route-home) .nav a.active,body:not(.route-home) .nav a:hover{background:rgba(255,255,255,.14)!important;color:#fff!important}
body:not(.route-home) .topbar{grid-template-columns:auto minmax(230px,.72fr) minmax(360px,1.2fr) auto!important;padding:0 18px!important;background:rgba(255,255,255,.97)!important}
body:not(.route-home) .topbar .topbar-nav{grid-column:1!important;justify-self:start!important}
body:not(.route-home) .topbar .unit{grid-column:2!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
body:not(.route-home) .topbar .searchbox{grid-column:3!important;max-width:none!important;width:100%!important;justify-self:stretch!important}
body:not(.route-home) .topbar .top-actions{grid-column:4!important;justify-self:end!important}
body:not(.route-home) .page-head{padding:10px 14px!important;margin-bottom:14px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;border:1px solid var(--dhtn-border)!important;border-radius:14px!important;box-shadow:0 4px 16px rgba(23,54,95,.05)!important}
body:not(.route-home) .page-head h1{color:var(--dhtn-text)!important;font-size:24px!important}
body:not(.route-home) .page-head p{color:var(--dhtn-muted)!important}
body:not(.route-home) .card-head{background:linear-gradient(180deg,#fff,#f8fbff)!important;border-bottom:1px solid #e6edf6!important}
body:not(.route-home) .btn.primary{background:linear-gradient(180deg,#2f58d3,#2448b1)!important;border:0!important;box-shadow:0 8px 18px rgba(41,76,193,.22)!important}
body:not(.route-home) .btn.ghost{border-color:#d6e2f0!important;background:#fff!important;color:#21459e!important}
body:not(.route-home) .input,body:not(.route-home) .select,body:not(.route-home) .textarea{border-color:#d8e3ef!important;background:#fff!important}
body:not(.route-home) .table th{background:#edf5ff!important;color:#2d4f8e!important}

/* Home topbar exact alignment according to approved reference */
body.route-home .topbar{display:grid!important;grid-template-columns:56px minmax(280px,360px) minmax(420px,1fr) auto!important;align-items:center!important;height:70px!important;min-height:70px!important;padding:0 20px!important;gap:16px!important;background:linear-gradient(90deg,#233ea0 0%,#1a338b 55%,#18307f 100%)!important;border-bottom:0!important;box-shadow:0 8px 22px rgba(24,46,120,.16)!important}
body.route-home .topbar .topbar-nav{grid-column:1!important;display:flex!important;align-items:center!important;justify-self:start!important;gap:0!important;min-width:56px!important}
body.route-home .topbar .topbar-nav .icon-btn{width:44px!important;height:44px!important;border-radius:10px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;box-shadow:none!important}
body.route-home .topbar .unit{grid-column:2!important;display:flex!important;align-items:center!important;justify-self:start!important;gap:10px!important;min-width:0!important;max-width:360px!important}
body.route-home .topbar .unit strong,body.route-home .topbar .unit span{color:#fff!important}
body.route-home .topbar .unit strong{font-size:17px!important;font-weight:900!important;letter-spacing:.01em!important}
body.route-home .topbar .unit span{font-size:11px!important;opacity:.96!important}
body.route-home .topbar .searchbox{grid-column:3!important;justify-self:stretch!important;width:100%!important;max-width:none!important;min-width:0!important;height:44px!important;border-radius:10px!important;border:1px solid rgba(222,231,245,.96)!important;background:#fff!important;box-shadow:0 3px 12px rgba(15,23,42,.08)!important;order:unset!important}
body.route-home .topbar .searchbox input{padding:0 14px!important;font-size:13px!important;color:#27406b!important}
body.route-home .topbar .searchbox button{width:44px!important;color:#4a5f86!important}
body.route-home .topbar .top-actions{grid-column:4!important;justify-self:end!important;display:flex!important;align-items:center!important;gap:10px!important;min-width:max-content!important}
body.route-home .topbar .status-pill{height:36px!important;padding:0 14px!important;border-radius:18px!important;background:rgba(31,63,176,.72)!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;display:inline-flex!important;align-items:center!important}
body.route-home .topbar .icon-btn{width:42px!important;height:42px!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important}
body.route-home .topbar .user-mini{display:inline-flex!important;align-items:center!important;color:#fff!important;font-size:14px!important;font-weight:800!important;max-width:120px!important}
body.route-home .topbar .account-menu-wrap .power-btn{background:rgba(255,255,255,.10)!important}
body.route-home .content.home-page{padding:0!important;background:#eef4fb!important;max-width:none!important}
body.route-home .home-ref-v144{max-width:1700px!important;padding:14px 14px 24px!important}
body.route-home .home-card-v144{border-radius:12px!important;border-color:#dbe7f2!important;box-shadow:0 4px 16px rgba(27,58,97,.06)!important}
body.route-home .home-card-title-v144{min-height:56px!important;padding:0 16px!important}
body.route-home .home-card-title-v144 b{font-size:16px!important}
body.route-home .home-card-title-v144 small{font-size:11px!important}
body.route-home .home-feature-v144{height:418px!important}
body.route-home .home-feature-overlay-v144 b{font-size:21px!important}
body.route-home .home-info-tabs-v144 button{font-size:11px!important;font-weight:800!important}
body.route-home .home-reg-list-v144>button,body.route-home .home-attention-list-v144 button{min-height:54px!important}
body.route-home .home-stats-grid-v144 .portal-stat{border-radius:10px!important;box-shadow:0 1px 0 rgba(255,255,255,.8) inset!important}

/* Monitor: add gate image style while preserving large-screen layout */
body.route-monitor .monitor-command-head.digital{background:linear-gradient(110deg,rgba(7,31,80,.92),rgba(10,59,129,.86) 55%,rgba(13,92,167,.82)),url('/assets/banner-unit.jpg') center/cover no-repeat!important;border-radius:18px!important;box-shadow:0 18px 38px rgba(7,31,80,.18)!important;padding:18px 20px!important}
body.route-monitor .monitor-toolbar.digital{border-radius:18px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 10px 26px rgba(37,49,94,.08)!important}
body.route-monitor .monitor-personnel-card,body.route-monitor .monitor-work-card,body.route-monitor .monitor-commercial-panel,body.route-monitor .monitor-tasks-panel,body.route-monitor .monitor-attention-focus,body.route-monitor .monitor-report-focus,body.route-monitor .monitor-quick-focus,body.route-monitor .monitor-chat-panel{box-shadow:0 8px 20px rgba(24,44,94,.08)!important}

@media(max-width:1280px){body.route-home .topbar{grid-template-columns:52px minmax(220px,300px) minmax(260px,1fr) auto!important;padding:0 14px!important;gap:12px!important}body.route-home .topbar .unit{max-width:300px!important}body.route-home .topbar .searchbox{height:42px!important}}
@media(max-width:1040px){body.route-home .sidebar{display:none!important}body.route-home .main{margin-left:0!important}body.route-home .topbar{grid-template-columns:52px minmax(190px,.8fr) minmax(220px,1fr) auto!important}body.route-home .topbar .unit strong{font-size:14px!important}body.route-home .topbar .unit span{font-size:10px!important}body.route-home .home-top-grid-v144,body.route-home .home-middle-grid-v144{grid-template-columns:1fr!important}.home-right-top-v144{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}}
@media(max-width:820px){body.route-home .topbar{grid-template-columns:auto 1fr auto!important;grid-template-areas:'nav unit actions' 'search search search'!important;grid-template-rows:48px 46px!important;height:104px!important;min-height:104px!important;padding:5px 8px 8px!important;gap:6px!important}body.route-home .topbar .topbar-nav{grid-area:nav!important}body.route-home .topbar .unit{grid-area:unit!important;max-width:none!important}body.route-home .topbar .searchbox{grid-area:search!important;display:flex!important;height:40px!important;min-width:0!important}body.route-home .topbar .top-actions{grid-area:actions!important;gap:6px!important}body.route-home .topbar .status-pill,body.route-home .topbar .user-mini{display:none!important}body.route-home .home-feature-v144{grid-template-columns:1fr!important;height:auto!important}body.route-home .home-feature-side-v144{display:none!important}body.route-home .home-right-top-v144{grid-template-columns:1fr!important}}
@media(max-width:560px){body.route-home .topbar .unit strong{font-size:12px!important}body.route-home .topbar .unit span{font-size:9px!important}.topbar .unit .top-emblem{width:38px!important;height:38px!important}body.route-home .home-ref-v144{padding:8px 8px calc(80px + env(safe-area-inset-bottom))!important}body.route-home .mobile-bottom{display:flex!important}}


/* DHTN M1.4.11 - FULL UI REFINEMENT: docs / tasks / reports / chat */
.module-refine{max-width:1680px;margin:0 auto}
.module-refine>.page-head{margin-bottom:12px!important}
.module-toolbar-card,.module-content-card,.module-doc-workspace,.report-output-area{background:#fff;border:1px solid #dbe6f1;border-radius:14px;box-shadow:0 7px 22px rgba(27,58,97,.06)}
.module-toolbar-card{padding:10px 12px;margin-bottom:12px}
.module-toolbar-card .toolbar{margin:0!important;padding:0!important;border:0!important;background:transparent!important;display:grid!important;grid-template-columns:minmax(230px,1.3fr) minmax(180px,.75fr) auto auto auto;align-items:center;gap:8px!important}
.module-toolbar-card .toolbar .input,.module-toolbar-card .toolbar .select{height:42px!important;width:100%!important;min-width:0!important}
.module-toolbar-card .toolbar .btn{height:42px!important;white-space:nowrap!important}
.module-content-card{padding:0;overflow:hidden}
.module-content-card .table-wrap{border:0!important;border-radius:0!important;box-shadow:none!important}
.module-content-card .table th{top:0!important;background:#eef5ff!important;color:#244c89!important;padding:11px 10px!important;font-size:10px!important;letter-spacing:.04em!important}
.module-content-card .table td{padding:11px 10px!important;border-bottom-color:#edf2f7!important}
.module-content-card .table tbody tr:hover td{background:#f8fbff!important}
.route-tasks .module-content-card{min-height:220px}
.route-tasks .module-content-card>.smalltxt{padding:10px 14px!important;margin:0!important;border-top:1px solid #edf2f7;background:#fafcff}
.route-tasks .pill{font-weight:800!important}
.route-tasks .task-trash-row td{background:#fff8f8!important}

/* Văn thư */
.module-docs-refine .module-intake-hero{position:relative;overflow:hidden;margin-bottom:12px!important;border-radius:16px!important;padding:18px 20px!important;background:linear-gradient(110deg,#163e91,#1f5fbe)!important;box-shadow:0 12px 28px rgba(25,71,155,.18)!important}
.module-docs-refine .module-intake-hero:after{content:"";position:absolute;right:-60px;top:-100px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 66%);pointer-events:none}
.module-docs-refine .module-kicker{display:inline-block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#dbe9ff;margin-bottom:5px}
.module-docs-refine .module-intake-hero h2{font-size:20px!important;margin:0 0 4px!important}
.module-docs-refine .module-intake-hero p{font-size:12px!important;max-width:760px;color:#e5efff!important}
.module-docs-refine .intake-actions{position:relative;z-index:1}
.module-docs-refine .intake-actions .btn{min-height:40px!important}
.module-docs-refine .drop-zone{position:relative;z-index:1;min-height:74px;display:grid;place-items:center;align-content:center;border:1px dashed rgba(255,255,255,.55)!important;background:rgba(255,255,255,.08)!important;border-radius:12px!important}
.module-doc-workspace{overflow:hidden}
.module-doc-workspace .docs-tabs{border:0!important;border-bottom:1px solid #dce6f1!important;border-radius:0!important;background:#f9fbfe!important;padding:0 8px!important}
.module-doc-workspace .docs-tabs .tab{min-height:48px!important;padding:10px 14px!important;border-bottom:3px solid transparent!important;font-weight:800!important;color:#536983!important}
.module-doc-workspace .docs-tabs .tab.active{color:#234bb0!important;border-bottom-color:#2d55c6!important;background:#fff!important}
.module-doc-workspace .docs-body{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:360px}
.module-doc-workspace .docs-body>.card-body{padding:14px!important}
.route-docs .table-wrap{border-radius:10px!important;border-color:#e0e8f2!important}
.route-docs .table th{background:#eef5ff!important;color:#2d548d!important}

/* Báo cáo */
.report-access-card{margin-bottom:12px;border-left:4px solid #f0a72d!important}
.report-launch-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;margin-bottom:14px}
.report-launch-card{min-height:126px;border:1px solid #dce6f2;border-radius:15px;background:linear-gradient(180deg,#fff,#f9fbfe);box-shadow:0 7px 20px rgba(26,59,108,.06);padding:16px;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;text-align:left;cursor:pointer;transition:.16s ease;color:#17365f}
.report-launch-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(26,59,108,.11);border-color:#bfd1e7}
.report-launch-card>i{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#e9f2ff;color:#2a5ac6;font-size:22px;font-style:normal;font-weight:900}
.report-launch-card.r1>i{background:#ecf8f2;color:#20935e}.report-launch-card.r2>i{background:#fff2df;color:#e99018}.report-launch-card.r3>i{background:#f3ebff;color:#7a46cf}
.report-launch-card span{min-width:0}.report-launch-card b{display:block;font-size:14px;color:#183a6c}.report-launch-card small{display:block;margin-top:5px;font-size:10px;color:#75859a;line-height:1.4}.report-launch-card em{font-style:normal;font-size:10px;color:#2a56bb;font-weight:900;white-space:nowrap}
.report-output-area{min-height:90px;background:transparent;border:0;box-shadow:none}
.report-output-area>.card,.report-output-area>.table-wrap{margin-top:0!important}
.route-reports .stats,.route-reports .grid3{gap:12px!important}

/* Trò chuyện */
.module-chat-refine .page-head{margin-bottom:10px!important}
.module-chat-refine .chat-shell{grid-template-columns:minmax(300px,360px) minmax(0,1fr)!important;gap:12px!important;min-height:calc(100vh - 155px)!important}
.module-chat-refine .chat-sidebar,.module-chat-refine .chat-main{border:1px solid #dbe5f0!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(24,52,95,.07)!important;background:#fff!important}
.module-chat-refine .chat-sidebar{display:flex;flex-direction:column}
.module-chat-refine .chat-tools{padding:12px!important;background:linear-gradient(180deg,#fbfdff,#f5f9fe)!important;border-bottom-color:#e2eaf4!important}
.module-chat-refine .chat-search .input{height:42px!important;border-radius:12px!important;background:#fff!important}
.module-chat-refine .chat-new-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:6px!important;margin-top:8px!important}
.module-chat-refine .chat-new-actions .btn{min-height:36px!important;padding:6px 8px!important;font-size:10px!important}
.module-chat-refine .chat-room-list{padding:6px!important;overflow:auto;flex:1}
.module-chat-refine .chat-room-item{border-radius:11px!important;margin:2px 0!important;padding:9px!important;border:1px solid transparent!important;transition:.12s ease}
.module-chat-refine .chat-room-item:hover{background:#f5f9ff!important;border-color:#e1eaf5!important}
.module-chat-refine .chat-room-item.active{background:linear-gradient(135deg,#edf4ff,#e6efff)!important;border-color:#bfd2f0!important}
.module-chat-refine .chat-avatar{background:linear-gradient(145deg,#2f5ac8,#25439f)!important;color:#fff!important;box-shadow:0 4px 10px rgba(37,67,159,.18)!important}
.module-chat-refine .chat-room-copy b{color:#18385f!important}.module-chat-refine .chat-room-copy small{color:#7a8798!important}
.module-chat-refine .chat-main{min-width:0;display:flex;flex-direction:column}
.module-chat-refine .chat-empty{min-height:420px!important;background:radial-gradient(circle at 50% 35%,#f2f6ff,#fff 62%)!important}
.module-chat-refine .chat-empty-icon{width:64px;height:64px;border-radius:20px;background:#eaf1ff;color:#3158c4;display:grid;place-items:center;font-size:28px;margin:0 auto 10px}
.module-chat-refine .chat-messages{background:linear-gradient(180deg,#f8fbff,#fff)!important}
.module-chat-refine .chat-composer{border-top:1px solid #e3eaf3!important;background:#fff!important}
.module-chat-refine .chat-bubble{border-radius:16px!important;box-shadow:0 2px 8px rgba(27,58,97,.04)!important}
.module-chat-refine .chat-bubble.mine{background:linear-gradient(135deg,#315dcc,#2948a8)!important;color:#fff!important}

/* Đồng bộ modal / bảng / form của 4 module */
.route-docs .modal,.route-tasks .modal,.route-reports .modal,.route-chat .modal{border-radius:16px!important}
.route-docs .modal-head,.route-tasks .modal-head,.route-reports .modal-head,.route-chat .modal-head{background:linear-gradient(180deg,#fff,#f8fbff)!important;border-bottom-color:#e2eaf3!important}
.route-docs .modal-head h2,.route-tasks .modal-head h2,.route-reports .modal-head h2,.route-chat .modal-head h2{color:#1e4387!important}
.route-docs .section-title,.route-tasks .section-title,.route-reports .section-title,.route-chat .section-title{color:#2b4e8d!important}

@media(max-width:1300px){.module-toolbar-card .toolbar{grid-template-columns:minmax(220px,1fr) minmax(160px,.7fr) repeat(3,auto)}.report-launch-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}
@media(max-width:1020px){.module-toolbar-card .toolbar{grid-template-columns:1fr 1fr!important}.module-toolbar-card .toolbar .btn{width:100%!important}.report-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-chat-refine .chat-shell{grid-template-columns:300px minmax(0,1fr)!important}}
@media(max-width:820px){.module-refine>.page-head{margin-bottom:8px!important}.module-toolbar-card{padding:8px}.module-toolbar-card .toolbar{display:flex!important}.module-toolbar-card .toolbar>*{flex:1 1 100%!important}.module-docs-refine .module-intake-hero{grid-template-columns:1fr!important;padding:14px!important}.module-docs-refine .intake-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.module-doc-workspace .docs-tabs{padding:0!important}.report-launch-grid{grid-template-columns:1fr!important}.report-launch-card{min-height:96px;padding:12px;grid-template-columns:42px 1fr auto}.module-chat-refine .chat-shell{grid-template-columns:1fr!important;min-height:auto!important}.module-chat-refine .chat-sidebar{max-height:310px!important}.module-chat-refine .chat-main{min-height:56vh!important}.module-chat-refine .chat-new-actions{grid-template-columns:1fr 1fr 1fr!important}}
@media(max-width:520px){.module-docs-refine .intake-actions{grid-template-columns:1fr!important}.module-docs-refine .drop-zone{display:none!important}.report-launch-card{grid-template-columns:40px 1fr}.report-launch-card em{display:none}.module-chat-refine .chat-new-actions{grid-template-columns:1fr!important}.module-chat-refine .chat-new-actions .btn{width:100%!important}.module-chat-refine .chat-sidebar{max-height:260px!important}}


/* DHTN M1.4.12 - TRUNG TÂM ĐIỀU HÀNH */
body.route-monitor{background:#eef4fb!important}
body.route-monitor .content{max-width:none!important;padding:10px 12px 18px!important}
body.route-monitor .monitor-command-head.digital{
  min-height:118px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  background:linear-gradient(100deg,rgba(4,34,83,.93) 0%,rgba(8,70,141,.84) 50%,rgba(8,93,163,.76) 100%),url('/assets/banner-unit.jpg') center 48%/cover no-repeat!important;
  border:1px solid rgba(255,255,255,.16)!important;border-radius:18px!important;
  box-shadow:0 16px 36px rgba(7,37,88,.20)!important;padding:18px 22px!important;
}
body.route-monitor .monitor-brand{align-items:center!important}
body.route-monitor .monitor-brand img{width:76px!important;height:76px!important}
body.route-monitor .monitor-brand span{font-size:11px!important;letter-spacing:.08em!important;color:#fff!important}
body.route-monitor .monitor-brand h1{font-size:31px!important;line-height:1.05!important;margin:3px 0!important;color:#fff!important;letter-spacing:.015em!important;text-shadow:0 2px 8px rgba(0,0,0,.18)!important}
body.route-monitor .monitor-brand p{font-size:11px!important;font-weight:800!important;letter-spacing:.06em!important;color:#fff!important;opacity:.94!important}
body.route-monitor .monitor-clock{background:rgba(6,38,88,.72)!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:14px!important;padding:10px 14px!important;color:#fff!important;backdrop-filter:blur(6px)!important}
body.route-monitor .monitor-clock b{font-size:25px!important}.monitor-clock span{font-size:10px!important}
body.route-monitor .monitor-health{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
body.route-monitor .monitor-toolbar.digital{margin-top:10px!important;border-radius:15px!important}
body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(6,minmax(145px,1fr))!important;background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;gap:9px!important}
body.route-monitor .monitor-command-ribbon>button{min-height:104px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;border:1px solid #dce8f4!important;border-radius:14px!important;padding:12px 14px!important;box-shadow:0 6px 18px rgba(30,61,105,.07)!important}
body.route-monitor .monitor-command-ribbon>button:first-child{border-left:5px solid #18a766!important}
body.route-monitor .monitor-command-ribbon.watch>button:first-child{border-left-color:#f0a423!important}
body.route-monitor .monitor-command-ribbon.critical>button:first-child{border-left-color:#df3045!important}
body.route-monitor .monitor-command-ribbon small{font-size:9px!important;letter-spacing:.05em!important}
body.route-monitor .monitor-command-ribbon b{font-size:25px!important;margin:5px 0!important}
body.route-monitor .monitor-command-ribbon span{font-size:9px!important;white-space:normal!important;line-height:1.3!important}
body.route-monitor .monitor-priority-ticker{border:1px solid #f2b7bd!important;background:linear-gradient(90deg,#fff1f3,#fff)!important;border-radius:13px!important;padding:7px!important;gap:6px!important}
body.route-monitor .monitor-priority-ticker>b{background:#d91f37!important;color:#fff!important;border-radius:8px!important;padding:10px 14px!important;font-size:11px!important;letter-spacing:.04em!important}
body.route-monitor .monitor-priority-ticker>button{border-radius:9px!important;border:1px solid #f0dfe2!important;background:#fff!important}
body.route-monitor .monitor-section-head h2{font-size:14px!important;color:#174b97!important;text-transform:uppercase!important;letter-spacing:.015em!important}
body.route-monitor .monitor-commercial-panel{border-radius:14px!important;border-color:#dce7f3!important;box-shadow:0 7px 20px rgba(31,62,104,.07)!important}
body.route-monitor .monitor-bottom-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr)!important}
body.route-monitor .monitor-footnote.digital{background:#073b72!important;color:#dfefff!important;border-radius:10px!important;padding:8px 12px!important}
body.route-monitor .monitor-footnote.digital b{color:#fff!important}
body.monitor-kiosk .monitor-command-head.digital{min-height:92px!important;margin:0 0 7px!important;border-radius:0!important;padding:10px 16px!important}
body.monitor-kiosk .monitor-command-ribbon{grid-template-columns:repeat(6,1fr)!important;gap:6px!important}
body.monitor-kiosk .monitor-command-ribbon>button{min-height:74px!important;padding:7px 9px!important}
body.monitor-kiosk .monitor-command-ribbon b{font-size:21px!important}
body.monitor-kiosk .monitor-command-ribbon span{font-size:8px!important}
@media(max-width:1380px){body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(3,1fr)!important}.monitor-brand h1{white-space:normal!important}}
@media(max-width:900px){body.route-monitor .monitor-command-ribbon{grid-template-columns:1fr 1fr!important}body.route-monitor .monitor-command-head.digital{min-height:96px!important;padding:12px!important}body.route-monitor .monitor-brand img{width:52px!important;height:52px!important}body.route-monitor .monitor-brand h1{font-size:20px!important}.monitor-head-right{display:none!important}body.route-monitor .monitor-bottom-grid{grid-template-columns:1fr!important}}


/* M1.5.1 monitor UI fix - match approved Trung tam dieu hanh mockup */
body.route-monitor{background:#eef4fb!important}
body.route-monitor .sidebar,body.route-monitor .topbar{display:none!important}
body.route-monitor .main{margin-left:0!important;min-height:100vh!important}
body.route-monitor .content{max-width:none!important;padding:0 0 16px!important;background:linear-gradient(180deg,#edf4fb 0%,#eef4fb 100%)!important}
body.route-monitor #app{background:#eef4fb!important}
body.route-monitor .monitor-command-head.digital{position:relative;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;min-height:164px!important;padding:18px 22px!important;margin:0 0 10px!important;border-radius:0 0 18px 18px!important;background:linear-gradient(90deg,rgba(3,38,112,.96) 0%,rgba(11,74,180,.86) 48%,rgba(9,71,167,.82) 100%),url('/assets/banner-unit.jpg') center/cover no-repeat!important;box-shadow:0 10px 26px rgba(7,31,80,.18)!important;overflow:hidden}
body.route-monitor .monitor-command-head.digital:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));pointer-events:none}
body.route-monitor .monitor-brand{position:relative;z-index:1;display:flex!important;align-items:flex-start!important;gap:16px!important;max-width:calc(100% - 240px)}
body.route-monitor .monitor-brand img{width:90px!important;height:90px!important;filter:drop-shadow(0 6px 16px rgba(0,0,0,.18))}
body.route-monitor .monitor-brand span{display:block!important;color:#d5e7ff!important;font-size:14px!important;font-weight:700!important;letter-spacing:.02em!important;margin-bottom:5px!important}
body.route-monitor .monitor-brand h1{margin:0!important;color:#fff!important;font-size:54px!important;line-height:1.02!important;font-weight:900!important;letter-spacing:.02em!important;text-shadow:0 3px 12px rgba(0,0,0,.15)!important}
body.route-monitor .monitor-brand p{margin:8px 0 0!important;color:#eaf3ff!important;font-size:18px!important;font-weight:700!important}
body.route-monitor .monitor-head-right{position:relative;z-index:1;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:12px!important}
body.route-monitor .monitor-clock{min-width:220px!important;padding:12px 18px!important;border-radius:18px!important;background:rgba(7,34,108,.68)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important;text-align:right!important}
body.route-monitor .monitor-clock b{display:block!important;color:#fff!important;font-size:24px!important;line-height:1.05!important}
body.route-monitor .monitor-clock span{display:block!important;color:#ddecff!important;font-size:15px!important;margin-top:4px!important}
body.route-monitor .monitor-health{display:flex!important;align-items:center!important;gap:10px!important;padding:9px 14px!important;border-radius:14px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;color:#eaf3ff!important}
body.route-monitor .monitor-health i{width:12px!important;height:12px!important;border-radius:50%!important;background:#25d366!important;box-shadow:0 0 0 6px rgba(37,211,102,.16)!important}
body.route-monitor .monitor-health b{color:#fff!important}
body.route-monitor .monitor-toolbar.digital{display:grid!important;grid-template-columns:1fr 1fr auto auto auto!important;gap:12px!important;align-items:end!important;margin:0 16px 12px!important;padding:14px 18px!important;border-radius:16px!important;background:#fff!important;box-shadow:0 6px 18px rgba(13,44,95,.08)!important;border:1px solid #dbe6f3!important}
body.route-monitor .monitor-toolbar.digital label{display:flex!important;align-items:center!important;gap:12px!important;background:#f7fbff!important;border:1px solid #deebf6!important;border-radius:14px!important;padding:10px 12px!important;min-width:0!important}
body.route-monitor .monitor-toolbar.digital label>span:first-child{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;border-radius:12px!important;background:#eaf2ff!important;color:#215cc5!important;font-weight:900!important;flex:0 0 36px!important}
body.route-monitor .monitor-toolbar.digital label small{display:block!important;color:#7687a3!important;font-size:12px!important;margin-bottom:4px!important}
body.route-monitor .monitor-toolbar.digital .monitor-auto{background:transparent!important;border:0!important;padding:0!important;gap:10px!important}
body.route-monitor .monitor-toolbar.digital .monitor-refresh,body.route-monitor .monitor-toolbar.digital .monitor-tv-btn,body.route-monitor .monitor-toolbar.digital .monitor-chat-jump{height:44px!important;border-radius:12px!important;padding:0 16px!important;white-space:nowrap!important}
body.route-monitor .monitor-digital-summary,body.route-monitor .monitor-quick-strip{display:none!important}
body.route-monitor .monitor-command-ribbon{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;margin:0 16px 12px!important;padding:0!important;background:transparent!important;border:0!important}
body.route-monitor .monitor-command-ribbon button{position:relative!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;min-height:128px!important;padding:18px 18px!important;border-radius:16px!important;border:1px solid #d5e5f6!important;background:#fff!important;box-shadow:0 10px 22px rgba(16,60,115,.08)!important;text-align:left!important;overflow:hidden}
body.route-monitor .monitor-command-ribbon button:before{content:'';position:absolute;left:0;top:0;bottom:0;width:7px;background:#1877f2}
body.route-monitor .monitor-command-ribbon button small{display:block!important;color:#3364a4!important;font-weight:800!important;font-size:13px!important;letter-spacing:.01em!important}
body.route-monitor .monitor-command-ribbon button b{display:block!important;color:#123d7a!important;font-size:40px!important;line-height:1!important;font-weight:900!important}
body.route-monitor .monitor-command-ribbon button span{display:block!important;color:#5a6d88!important;font-size:14px!important;line-height:1.35!important}
body.route-monitor .monitor-command-ribbon .monitor-command-state{background:linear-gradient(180deg,#ffffff,#f6fbff)!important}
body.route-monitor .monitor-command-ribbon .monitor-command-state b{color:#14a44d!important}
body.route-monitor .monitor-command-ribbon.watch .monitor-command-state b,body.route-monitor .monitor-command-ribbon .monitor-command-state.watch b{color:#ff9800!important}
body.route-monitor .monitor-command-ribbon.critical .monitor-command-state b,body.route-monitor .monitor-command-ribbon .monitor-command-state.critical b{color:#f43f5e!important}
body.route-monitor .monitor-priority-ticker{display:grid!important;grid-template-columns:300px repeat(3,1fr)!important;gap:0!important;margin:0 16px 12px!important;border-radius:16px!important;overflow:hidden!important;border:2px solid #ff6a6a!important;background:#fff!important;box-shadow:0 8px 20px rgba(172,26,26,.08)!important}
body.route-monitor .monitor-priority-ticker>b{display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:linear-gradient(180deg,#ff4141,#e02222)!important;color:#fff!important;font-size:30px!important;font-weight:900!important;letter-spacing:.02em!important}
body.route-monitor .monitor-priority-ticker>button{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:4px!important;padding:12px 16px!important;border:0!important;border-left:1px solid #f6cccc!important;background:#fff!important;text-align:left!important}
body.route-monitor .monitor-priority-ticker>button i{display:none!important}
body.route-monitor .monitor-priority-ticker>button span{font-size:18px!important;font-weight:800!important;color:#22395d!important}
body.route-monitor .monitor-priority-ticker>button em{font-style:normal!important;color:#d53131!important;font-size:14px!important}
body.route-monitor .monitor-digital-grid{display:grid!important;grid-template-columns:1.15fr 1.05fr .92fr .95fr!important;gap:12px!important;margin:0 16px!important;align-items:start!important}
body.route-monitor .monitor-digital-grid.chat-hidden{grid-template-columns:1.15fr 1.05fr .92fr .95fr!important}
body.route-monitor .monitor-commercial-panel,body.route-monitor .monitor-tasks-panel,body.route-monitor .monitor-report-focus,body.route-monitor .monitor-attention-focus,body.route-monitor .monitor-work-panel,body.route-monitor .monitor-quick-focus,body.route-monitor .monitor-chat-panel,body.route-monitor .monitor-personnel-panel{border-radius:16px!important;border:1px solid #d6e5f3!important;background:#fff!important;box-shadow:0 8px 20px rgba(19,57,112,.08)!important;overflow:hidden!important}
body.route-monitor .monitor-section-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:14px 16px!important;border-bottom:1px solid #e6eff8!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}
body.route-monitor .monitor-section-head h2{margin:0!important;color:#1b4f9b!important;font-size:30px!important;font-weight:900!important}
body.route-monitor .monitor-section-head div{display:flex!important;align-items:center!important;gap:10px!important}
body.route-monitor .monitor-section-head i{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;border-radius:10px!important;background:#eaf2ff!important;color:#1b5fd0!important;font-style:normal!important;font-weight:900!important}
body.route-monitor .monitor-section-head button{background:none!important;border:0!important;color:#2165cc!important;font-weight:800!important}
body.route-monitor .monitor-task-bars,body.route-monitor .monitor-attention-list,body.route-monitor .monitor-report-table,body.route-monitor .monitor-activity-list,body.route-monitor .monitor-reg-list,body.route-monitor .monitor-equipment-grid,body.route-monitor .monitor-duty-list,body.route-monitor .monitor-personnel-list{padding:14px 16px!important}
body.route-monitor .monitor-overview-bottom{display:grid!important;grid-template-columns:1.15fr 1.05fr 1fr!important;gap:12px!important;margin:12px 16px 0!important}
body.route-monitor .monitor-bottom-panel{border-radius:16px!important;border:1px solid #d6e5f3!important;background:#fff!important;box-shadow:0 8px 20px rgba(19,57,112,.08)!important;overflow:hidden!important}
body.route-monitor .monitor-empty-state,.monitor-empty-stat{padding:26px 18px!important;color:#708198!important;text-align:center!important}
@media (max-width:1400px){body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.route-monitor .monitor-priority-ticker{grid-template-columns:1fr!important}body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom{grid-template-columns:1fr 1fr!important}}
@media (max-width:980px){body.route-monitor .monitor-command-head.digital{padding:16px!important;min-height:auto!important;flex-direction:column!important}body.route-monitor .monitor-brand{max-width:none!important}body.route-monitor .monitor-brand h1{font-size:38px!important}body.route-monitor .monitor-head-right{align-items:flex-start!important}body.route-monitor .monitor-toolbar.digital{grid-template-columns:1fr!important}body.route-monitor .monitor-command-ribbon{grid-template-columns:1fr 1fr!important}body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom{grid-template-columns:1fr!important;margin:0 10px!important}body.route-monitor .monitor-priority-ticker{margin:0 10px 12px!important}body.route-monitor .monitor-command-ribbon{margin:0 10px 12px!important}body.route-monitor .monitor-toolbar.digital{margin:0 10px 12px!important}}


/* M1.5.2 FULL UI FINAL */
.topbar{background:linear-gradient(90deg,#0a2f77 0%,#133f9d 55%,#1848a6 100%)!important;box-shadow:0 8px 22px rgba(12,38,94,.14)!important}
.sidebar{background:linear-gradient(180deg,#082965 0%,#0b367f 100%)!important;border-right:1px solid rgba(255,255,255,.06)!important}
.sidebar .brand,.sidebar .userbox{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.08)!important}
.sidebar .nav a.active,.sidebar .nav a:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
.sidebar .nav .nav-group,.sidebar details summary{color:#d7e6ff!important}
.sidebar .nav a{color:#ebf3ff!important}
.topbar .searchbox{border-radius:14px!important;border:1px solid rgba(214,227,247,.96)!important}
.topbar .status-pill{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important}
.topbar .icon-btn,.topbar .menu-toggle,.topbar .home-btn,.topbar .back-btn{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important}
.topbar .user-mini,.topbar .unit strong,.topbar .unit span{color:#fff!important}
.content{background:#edf4fb!important}
.page-head{background:#fff!important;border:1px solid #d8e6f4!important;border-radius:18px!important;padding:18px 20px!important;box-shadow:0 6px 18px rgba(19,57,112,.07)!important;margin:0 auto 14px!important}
.page-head h1{font-size:28px!important;color:#15396f!important}
.page-head p{color:#667b9a!important}
.card,.module-toolbar-card,.module-content-card,.docs-body,.report-output-area,.report-access-card,.report-launch-card,.chat-shell,.module-intake-hero{border-radius:18px!important;border:1px solid #d8e6f4!important;box-shadow:0 6px 18px rgba(19,57,112,.07)!important}
.tabs,.module-doc-workspace .tabs{background:#f4f8fd!important;border:1px solid #dce8f5!important;border-radius:16px!important;padding:6px!important}
.tabs .tab{border-radius:12px!important;font-weight:800!important}
.tabs .tab.active{background:linear-gradient(90deg,#0f59d8,#1a6aff)!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,89,216,.2)!important}
.table-wrap,.readonly-box{border-radius:16px!important;border-color:#dce8f5!important}
.report-launch-grid{gap:14px!important}
.report-launch-card{background:linear-gradient(180deg,#fff,#f8fbff)!important}
.report-launch-card em{color:#1557ce!important}
body.route-home .topbar{background:linear-gradient(90deg,#0b2e73 0%,#1146a5 60%,#194ead 100%)!important;height:74px!important;min-height:74px!important}
body.route-home .content.home-page{background:#eef4fb!important}
body.route-home .home-ref-v144{max-width:1700px!important;padding:12px 12px 26px!important}
body.route-home .home-summary-band-v152{margin:0 0 12px!important}
body.route-home .home-hero-metrics-v152{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
body.route-home .home-hero-card-v152{position:relative;min-height:118px;border:0;border-radius:18px;padding:20px 22px;text-align:left;overflow:hidden;color:#fff;box-shadow:0 14px 26px rgba(15,65,160,.18);cursor:pointer}
body.route-home .home-hero-card-v152:after{content:'';position:absolute;right:18px;bottom:12px;width:74px;height:44px;opacity:.18;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.2));clip-path:polygon(0 100%,0 70%,18% 70%,18% 0,38% 0,38% 55%,58% 55%,58% 18%,78% 18%,78% 82%,100% 82%,100% 100%)}
body.route-home .home-hero-card-v152 small{display:block;font-size:15px;font-weight:800;line-height:1.25;opacity:.98;max-width:80%}
body.route-home .home-hero-card-v152 b{display:block;font-size:56px;line-height:1;margin:8px 0 6px;font-weight:900;letter-spacing:.01em}
body.route-home .home-hero-card-v152 span{display:block;font-size:15px;opacity:.96}
body.route-home .home-hero-card-v152.blue{background:linear-gradient(135deg,#1271ff,#1150d6)}
body.route-home .home-hero-card-v152.green{background:linear-gradient(135deg,#10b981,#059669)}
body.route-home .home-hero-card-v152.orange{background:linear-gradient(135deg,#ffb11f,#ff5b3a)}
body.route-home .home-top-grid-v144{grid-template-columns:minmax(0,2.1fr) minmax(370px,.9fr)!important;gap:14px!important}
body.route-home .home-middle-grid-v144{grid-template-columns:minmax(0,1.55fr) minmax(380px,.95fr)!important;gap:14px!important}
body.route-home .home-card-v144{border-radius:18px!important;box-shadow:0 8px 20px rgba(19,57,112,.08)!important;border-color:#d8e6f4!important}
body.route-home .home-card-title-v144{min-height:62px!important;padding:0 18px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;border-bottom:1px solid #e3eef9!important}
body.route-home .home-card-title-v144 span{width:30px;height:30px;border-radius:10px;background:#eaf2ff;color:#1558cb;display:inline-flex;align-items:center;justify-content:center;font-weight:900}
body.route-home .home-card-title-v144 b{font-size:17px!important;color:#173d7a!important}
body.route-home .home-card-title-v144 small{font-size:12px!important;color:#70839e!important}
body.route-home .home-title-actions-v144 button,body.route-home .home-card-title-v144>button{font-weight:800!important;color:#1557ce!important}
body.route-home .home-title-actions-v144 .solid{background:linear-gradient(90deg,#0f59d8,#1a6aff)!important;color:#fff!important;border:0!important;border-radius:12px!important;padding:0 16px!important;height:40px!important;box-shadow:0 10px 18px rgba(15,89,216,.16)!important}
body.route-home .home-feature-v144{height:456px!important;grid-template-columns:minmax(0,1fr) 330px!important;gap:14px!important;padding:14px!important}
body.route-home .home-feature-hero-v144{border-radius:16px!important;box-shadow:0 10px 24px rgba(14,39,86,.14)!important}
body.route-home .home-feature-overlay-v144{padding:90px 24px 20px!important;background:linear-gradient(180deg,rgba(2,21,54,0) 0%,rgba(2,21,54,.78) 55%,rgba(2,21,54,.94) 100%)!important}
body.route-home .home-feature-overlay-v144 em{font-size:13px!important;padding:7px 12px!important;border-radius:999px!important;background:#1a66f5!important}
body.route-home .home-feature-overlay-v144 b{font-size:22px!important;line-height:1.25!important}
body.route-home .home-feature-overlay-v144 span{font-size:14px!important;margin-top:10px!important;color:#dceaff!important}
body.route-home .home-feature-arrow-v144{width:52px!important;height:52px!important;border-radius:50%!important;top:44%!important;background:rgba(7,34,79,.74)!important}
body.route-home .home-feature-side-v144{padding-top:2px!important}
body.route-home .home-feature-side-v144>button{grid-template-columns:110px minmax(0,1fr) 16px!important;gap:10px!important;min-height:96px!important;border-bottom:1px solid #e7eef8!important}
body.route-home .home-feature-side-v144 img{width:110px!important;height:82px!important;border-radius:10px!important}
body.route-home .home-feature-side-v144 b{font-size:18px!important;line-height:1.22!important}
body.route-home .home-feature-side-v144 small{font-size:13px!important}
body.route-home .home-feature-side-v144 em{font-size:12px!important}
body.route-home .home-daily-v144{padding:18px!important;background:linear-gradient(180deg,#fff7df,#fffdfa)!important;border:2px solid #f3c768!important}
body.route-home .home-daily-v144 .daily-report-home-copy{display:flex!important;gap:14px!important;align-items:flex-start!important}
body.route-home .home-daily-v144 .daily-report-icon{width:48px!important;height:48px!important;border-radius:14px!important;background:#fff!important;color:#f59e0b!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important;box-shadow:0 6px 18px rgba(245,158,11,.18)!important}
body.route-home .home-daily-v144 b{font-size:18px!important;color:#802300!important}
body.route-home .home-daily-v144 small{font-size:14px!important;color:#7f4b18!important}
body.route-home .home-daily-v144 .actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:14px!important}
body.route-home .home-daily-v144 .btn.small{height:46px!important;padding:0 18px!important;border-radius:12px!important;font-size:15px!important;font-weight:800!important}
body.route-home .home-daily-v144 .btn.primary{background:linear-gradient(90deg,#0f59d8,#1a6aff)!important}
body.route-home .home-attention-list-v144{padding:8px 0!important}
body.route-home .home-attention-list-v144 button{display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center!important;padding:14px 18px!important;gap:14px!important;min-height:68px!important;border-bottom:1px solid #ebf1f8!important;background:#fff!important}
body.route-home .home-attention-list-v144 button:last-child{border-bottom:0!important}
body.route-home .home-attention-list-v144 i{width:38px!important;height:38px!important;border-radius:50%!important;background:#eef3ff!important;color:#2e4ca2!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;font-style:normal!important;font-weight:900!important}
body.route-home .home-attention-list-v144 b{font-size:17px!important;color:#1a3d77!important}
body.route-home .home-attention-list-v144 span{padding:10px 14px!important;border-radius:12px!important;background:#f4f7fc!important;color:#e55a59!important;font-size:14px!important;font-weight:800!important}
body.route-home .home-info-tabs-v144{grid-template-columns:repeat(4,minmax(0,1fr))!important;background:#f5f9ff!important;border-bottom:1px solid #e1ebf7!important;padding:6px!important;gap:6px!important}
body.route-home .home-info-tabs-v144 button{height:56px!important;border-radius:14px!important;background:transparent!important;color:#2c4d86!important;font-size:15px!important}
body.route-home .home-info-tabs-v144 button.active{background:linear-gradient(90deg,#0f59d8,#1a6aff)!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,89,216,.18)!important}
body.route-home .home-info-tabs-v144 button i{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:24px!important;height:24px!important;padding:0 8px!important;border-radius:999px!important;background:rgba(255,255,255,.22)!important;font-style:normal!important}
body.route-home .home-info-list-v144,body.route-home .home-reg-list-v144{padding:6px 0 8px!important}
body.route-home .portal-info-row,body.route-home .home-reg-list-v144>button{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:14px 18px!important;min-height:72px!important;border-bottom:1px solid #ebf1f8!important}
body.route-home .portal-file-icon{width:38px!important;height:38px!important;border-radius:12px!important;background:#eaf2ff!important;color:#1355cc!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:900!important}
body.route-home .portal-info-copy b,body.route-home .home-reg-list-v144 b{font-size:17px!important;color:#173d7a!important;line-height:1.25!important}
body.route-home .portal-info-copy small,body.route-home .home-reg-list-v144 small{font-size:13px!important;color:#70839e!important;display:block!important;margin-top:4px!important}
body.route-home .portal-info-row em,body.route-home .home-reg-list-v144 .tag{padding:8px 12px!important;border-radius:10px!important;font-weight:800!important;background:#eef4ff!important;color:#2560cd!important}
body.route-home .home-stats-v144{margin-top:14px!important}
body.route-home .home-stats-grid-v144{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;padding:14px!important}
body.route-home .home-stats-grid-v144 .portal-stat{display:flex!important;align-items:center!important;gap:14px!important;padding:16px 16px!important;min-height:98px!important;border:1px solid #dbe8f6!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}
body.route-home .home-stats-grid-v144 .portal-stat>span{width:52px!important;height:52px!important;border-radius:16px!important;background:#ecf4ff!important;color:#1660d0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:24px!important;font-weight:900!important}
body.route-home .home-stats-grid-v144 .portal-stat b{display:block!important;font-size:32px!important;line-height:1.1!important;color:#183a74!important}
body.route-home .home-stats-grid-v144 .portal-stat small{display:block!important;font-size:13px!important;color:#70839e!important;margin-bottom:6px!important}
body.route-home .home-week-v144{display:inline-flex!important;align-items:center!important;height:38px!important;padding:0 14px!important;border-radius:12px!important;background:#f2f7fd!important;color:#2b4f87!important;font-weight:800!important}
body.route-home .home-right-top-v144{gap:14px!important}
body.route-home .home-reg-list-v144>button time{justify-self:end!important;color:#6d82a1!important;font-weight:700!important}
body.route-home .home-reg-list-v144>button i{justify-self:end!important;padding:8px 12px!important;border-radius:10px!important;background:#eef4ff!important;color:#245ec8!important;font-style:normal!important;font-weight:800!important}
@media(max-width:1380px){body.route-home .home-top-grid-v144{grid-template-columns:1.7fr .95fr!important}body.route-home .home-hero-card-v152 b{font-size:46px!important}body.route-home .home-stats-grid-v144{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1080px){body.route-home .home-hero-metrics-v152{grid-template-columns:1fr!important}body.route-home .home-top-grid-v144,body.route-home .home-middle-grid-v144{grid-template-columns:1fr!important}body.route-home .home-right-top-v144{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}body.route-home .home-stats-grid-v144{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:820px){body.route-home .home-right-top-v144{grid-template-columns:1fr!important}body.route-home .home-feature-v144{grid-template-columns:1fr!important;height:auto!important}body.route-home .home-feature-side-v144{display:none!important}body.route-home .home-info-tabs-v144{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.route-home .home-stats-grid-v144{grid-template-columns:1fr!important}}
@media(max-width:560px){body.route-home .home-hero-card-v152{min-height:110px!important;padding:16px!important}body.route-home .home-hero-card-v152 b{font-size:38px!important}body.route-home .portal-info-row,body.route-home .home-reg-list-v144>button{grid-template-columns:40px minmax(0,1fr)!important}body.route-home .portal-info-row em,body.route-home .home-reg-list-v144 .tag,body.route-home .home-reg-list-v144>button time,body.route-home .home-reg-list-v144>button i{display:none!important}}
body.route-monitor .monitor-overview-bottom{margin-bottom:14px!important}


/* M1.5.3 PIXEL PERFECT SYNC */
body.route-home .home-command-hero-v153{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;min-height:126px!important;padding:18px 24px!important;border-radius:20px!important;margin:0 0 14px!important;color:#fff!important;background:linear-gradient(90deg,rgba(5,42,126,.96) 0%,rgba(10,78,184,.85) 46%,rgba(9,73,173,.80) 100%),url('/assets/banner-unit.jpg') center/cover no-repeat!important;box-shadow:0 14px 28px rgba(8,36,96,.16)!important;overflow:hidden!important;position:relative!important}
body.route-home .home-command-hero-v153:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent);pointer-events:none}
body.route-home .home-command-brand-v153{position:relative;z-index:1;display:flex!important;align-items:center!important;gap:18px!important;min-width:0!important}
body.route-home .home-command-brand-v153 img{width:74px!important;height:74px!important;object-fit:contain!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.18))}
body.route-home .home-command-brand-v153 span{display:block!important;font-size:18px!important;font-weight:800!important;letter-spacing:.02em!important}
body.route-home .home-command-brand-v153 b{display:block!important;font-size:52px!important;line-height:1.02!important;font-weight:900!important;letter-spacing:.01em!important}
body.route-home .home-command-brand-v153 small{display:block!important;font-size:17px!important;margin-top:8px!important;color:#dce9ff!important}
body.route-home .home-command-clock-v153{position:relative;z-index:1;min-width:270px!important;padding:16px 20px!important;border-radius:18px!important;background:rgba(5,33,96,.32)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;text-align:center!important}
body.route-home .home-command-clock-v153 b{display:block!important;font-size:44px!important;line-height:1!important;font-weight:900!important;color:#fff!important}
body.route-home .home-command-clock-v153 span{display:block!important;font-size:17px!important;margin-top:6px!important;color:#dce9ff!important}
body.route-home .home-summary-band-v152{margin-top:0!important}
body.route-home .home-top-grid-v144{align-items:start!important}
body.route-home .home-feature-v144{height:472px!important}
body.route-home .home-feature-side-v144 b{font-size:16px!important}.home-feature-side-v144 small{font-size:12px!important}
body.route-home .home-daily-v144,body.route-home .home-attention-v144{border-radius:18px!important}
body.route-home .home-info-v144,body.route-home .home-regulations-v144{min-height:410px!important}
body.route-home .home-stats-v144{border-radius:18px!important}
.module-refine{padding-bottom:18px!important}
.module-refine>.page-head{background:linear-gradient(180deg,#fff,#f7fbff)!important}
.module-refine>.page-head .actions .btn{height:42px!important;border-radius:12px!important}
.module-toolbar-card{background:#fff!important;border:1px solid #d8e6f4!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(19,57,112,.07)!important;padding:14px!important}
.module-toolbar-card .toolbar .input,.module-toolbar-card .toolbar .select,.module-toolbar-card .toolbar .btn{height:44px!important;border-radius:12px!important}
.module-content-card{background:#fff!important;border:1px solid #d8e6f4!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(19,57,112,.07)!important;padding:12px!important}
.module-tasks-refine .task-board,.module-tasks-refine .table-wrap{border-radius:16px!important;overflow:hidden!important}
.module-tasks-refine .task-card,.module-tasks-refine .kanban-col{border-radius:16px!important;border:1px solid #dce8f5!important;box-shadow:0 6px 18px rgba(19,57,112,.05)!important}
.module-docs-refine .docs-body{min-height:560px!important}
.module-docs-refine .docs-body .card-body{padding:14px!important}
.module-docs-refine .docs-tabs .tab{min-height:46px!important}
.module-reports-refine .report-output-area{min-height:420px!important;padding:14px!important;background:#fff!important;border:1px solid #d8e6f4!important;border-radius:18px!important;box-shadow:0 6px 18px rgba(19,57,112,.07)!important}
.module-chat-refine .chat-shell{min-height:calc(100vh - 175px)!important;border-radius:18px!important}
.module-chat-refine .chat-head{padding:14px 16px!important;background:linear-gradient(180deg,#fbfdff,#f5f9fe)!important;border-bottom:1px solid #e2eaf4!important}
.module-chat-refine .chat-composer{padding:12px!important}
.module-chat-refine .chat-composer .input{height:46px!important;border-radius:14px!important}
body.route-monitor .content{background:#eef4fb!important}
body.route-monitor .monitor-command-head.digital{min-height:174px!important;padding:18px 24px!important}
body.route-monitor .monitor-brand h1{font-size:56px!important;letter-spacing:.01em!important}
body.route-monitor .monitor-brand p{font-size:18px!important;color:#dbe7ff!important}
body.route-monitor .monitor-clock{min-width:270px!important;padding:16px 20px!important;border-radius:18px!important;background:rgba(5,33,96,.30)!important;border:1px solid rgba(255,255,255,.16)!important}
body.route-monitor .monitor-clock b{font-size:46px!important}
body.route-monitor .monitor-clock span{font-size:16px!important}
body.route-monitor .monitor-toolbar.digital{margin:0 0 14px!important;border-radius:18px!important;padding:12px 16px!important}
body.route-monitor .monitor-command-ribbon{margin-bottom:14px!important}
body.route-monitor .monitor-ribbon-card{min-height:124px!important;border-radius:18px!important;box-shadow:0 10px 24px rgba(16,54,120,.10)!important}
body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom{gap:14px!important}
body.route-monitor .monitor-priority-ticker{border-radius:18px!important;box-shadow:0 10px 24px rgba(16,54,120,.10)!important;margin-bottom:14px!important}
body.route-monitor .monitor-tasks-panel,body.route-monitor .monitor-attention-focus,body.route-monitor .monitor-report-focus,body.route-monitor .monitor-quick-focus,body.route-monitor .monitor-chat-panel,body.route-monitor .monitor-commercial-panel,body.route-monitor .monitor-personnel-card,body.route-monitor .monitor-work-card{border-radius:18px!important;border:1px solid #d8e6f4!important;box-shadow:0 8px 22px rgba(16,54,120,.08)!important}
body.route-monitor .monitor-card-head{background:linear-gradient(180deg,#fff,#f7fbff)!important;border-bottom:1px solid #e4edf8!important}
body.route-monitor .monitor-footer-strip{border-radius:16px!important;background:#0c347f!important;color:#dce9ff!important}
@media(max-width:1280px){body.route-home .home-command-brand-v153 b{font-size:40px!important}body.route-home .home-command-clock-v153 b{font-size:34px!important}body.route-monitor .monitor-brand h1{font-size:44px!important}}
@media(max-width:980px){body.route-home .home-command-hero-v153{flex-direction:column!important;align-items:flex-start!important}.home-command-clock-v153{width:100%!important;max-width:340px!important}body.route-home .home-command-brand-v153 b{font-size:34px!important}body.route-home .home-command-brand-v153 small{font-size:15px!important}body.route-monitor .monitor-brand h1{font-size:34px!important}body.route-monitor .monitor-brand p{font-size:14px!important}}
@media(max-width:700px){body.route-home .home-command-brand-v153{gap:12px!important}body.route-home .home-command-brand-v153 img{width:56px!important;height:56px!important}body.route-home .home-command-brand-v153 span{font-size:14px!important}body.route-home .home-command-brand-v153 b{font-size:28px!important}body.route-home .home-command-clock-v153{min-width:0!important;padding:12px 14px!important}body.route-home .home-command-clock-v153 b{font-size:28px!important}body.route-home .home-command-clock-v153 span{font-size:13px!important}}


/* M1.5.4 LTS - FINAL PRODUCTION POLISH */
:root{--d154-radius:16px;--d154-border:#d9e6f3;--d154-shadow:0 6px 20px rgba(21,59,112,.07);--d154-blue:#1559cf;--d154-navy:#153a73;--d154-muted:#6f829e}
html{scroll-behavior:smooth}
body{font-feature-settings:"kern" 1,"liga" 1;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
.btn{border-radius:12px!important;font-weight:750!important;transition:transform .12s ease,box-shadow .12s ease,background .12s ease!important}
.btn:not(:disabled):active{transform:translateY(1px)}
.btn.primary{box-shadow:0 7px 16px rgba(21,89,207,.16)!important}
.input,.select,.textarea{border-radius:12px!important;min-height:42px!important;border-color:#d6e3f0!important;transition:border-color .12s ease,box-shadow .12s ease!important}
.input:focus,.select:focus,.textarea:focus{border-color:#6aa1ec!important;box-shadow:0 0 0 3px rgba(39,103,207,.10)!important;outline:none!important}
.modal{border-radius:20px!important;overflow:hidden!important;box-shadow:0 28px 70px rgba(12,35,80,.24)!important}
.modal-head{background:linear-gradient(180deg,#fff,#f8fbff)!important;border-bottom:1px solid #e3ecf6!important}
.modal-foot{background:#f8fbff!important;border-top:1px solid #e3ecf6!important}
.card,.table-wrap{border-color:var(--d154-border)!important}
.table{font-size:13px!important}
.table th{height:46px!important;font-size:12px!important;text-transform:none!important;letter-spacing:.01em!important}
.table td{padding-top:12px!important;padding-bottom:12px!important}
.table tbody tr{transition:background .12s ease!important}
.table tbody tr:hover{background:#f6faff!important}
.pill,.badge,.state{border-radius:999px!important;font-weight:800!important}
.empty{color:#7a8da7!important;padding:28px 18px!important}

/* Home final alignment */
body.route-home .home-ref-v144{padding-top:12px!important}
body.route-home .home-command-hero-v153{min-height:132px!important;border-radius:18px!important;margin-bottom:12px!important}
body.route-home .home-command-brand-v153 b{font-size:clamp(34px,3.2vw,50px)!important}
body.route-home .home-command-clock-v153{min-width:245px!important}
body.route-home .home-command-clock-v153 b{font-size:40px!important}
body.route-home .home-hero-metrics-v152{gap:12px!important}
body.route-home .home-hero-card-v152{min-height:112px!important;border-radius:16px!important;padding:18px 20px!important}
body.route-home .home-hero-card-v152 b{font-size:48px!important}
body.route-home .home-feature-v144{height:450px!important;padding:12px!important}
body.route-home .home-card-title-v144{min-height:58px!important}
body.route-home .home-card-title-v144 b{font-size:16px!important}
body.route-home .home-feature-side-v144>button{min-height:91px!important}
body.route-home .home-feature-side-v144 b{font-size:15px!important}
body.route-home .home-feature-side-v144 small{font-size:11px!important}
body.route-home .home-daily-v144{padding:16px!important}
body.route-home .home-daily-v144 b{font-size:17px!important}
body.route-home .home-daily-v144 small{font-size:12px!important;line-height:1.4!important}
body.route-home .home-attention-list-v144 button{min-height:62px!important;padding:11px 15px!important}
body.route-home .home-attention-list-v144 b{font-size:14px!important}
body.route-home .home-attention-list-v144 span{font-size:12px!important;padding:8px 10px!important}
body.route-home .portal-info-row,body.route-home .home-reg-list-v144>button{min-height:63px!important;padding:10px 15px!important}
body.route-home .portal-info-copy b,body.route-home .home-reg-list-v144 b{font-size:14px!important}
body.route-home .portal-info-copy small,body.route-home .home-reg-list-v144 small{font-size:11px!important}
body.route-home .home-stats-grid-v144 .portal-stat{min-height:82px!important;padding:12px 14px!important}
body.route-home .home-stats-grid-v144 .portal-stat b{font-size:27px!important}
body.route-home .home-stats-grid-v144 .portal-stat small{font-size:11px!important}

/* Main modules final consistency */
.module-refine{max-width:1680px!important;padding:0 2px 24px!important}
.module-refine>.page-head{min-height:76px!important;border-radius:16px!important;padding:14px 18px!important}
.module-refine>.page-head h1{font-size:25px!important}
.module-refine>.page-head p{font-size:12px!important}
.module-toolbar-card,.module-content-card{border-radius:16px!important}
.module-toolbar-card{padding:11px!important}
.module-content-card{padding:10px!important}
.module-docs-refine .module-intake-hero{border-radius:16px!important;padding:16px 18px!important}
.module-docs-refine .module-intake-hero h2{font-size:21px!important}
.module-docs-refine .module-intake-hero p{font-size:12px!important}
.module-docs-refine .drop-zone{min-height:70px!important}
.module-doc-workspace .docs-tabs{position:sticky!important;top:0!important;z-index:4!important;background:#f5f9fe!important}
.module-docs-refine .docs-body{min-height:520px!important;border-radius:16px!important}
.module-tasks-refine .toolbar{gap:8px!important}
.module-tasks-refine .task-card{transition:transform .12s ease,box-shadow .12s ease!important}
.module-tasks-refine .task-card:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(21,59,112,.09)!important}
.module-reports-refine .report-launch-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.module-reports-refine .report-launch-card{min-height:108px!important;border-radius:16px!important;padding:14px!important}
.module-reports-refine .report-launch-card b{font-size:15px!important}
.module-reports-refine .report-launch-card small{font-size:11px!important;line-height:1.4!important}
.module-chat-refine .chat-shell{border-radius:16px!important;overflow:hidden!important}
.module-chat-refine .chat-sidebar,.module-chat-refine .chat-main{border-radius:0!important;border:0!important;box-shadow:none!important}
.module-chat-refine .chat-room-item{min-height:58px!important}
.module-chat-refine .chat-messages{padding:14px!important}
.module-chat-refine .chat-composer{padding:10px 12px!important}

/* Monitor final production / TV polish */
body.route-monitor{overflow-x:hidden!important}
body.route-monitor .content{padding-bottom:0!important}
body.route-monitor .monitor-command-head.digital{min-height:152px!important;border-radius:0!important;margin:0!important;padding:16px 22px!important}
body.route-monitor .monitor-brand img{width:82px!important;height:82px!important}
body.route-monitor .monitor-brand h1{font-size:clamp(36px,3.4vw,52px)!important}
body.route-monitor .monitor-brand span{font-size:13px!important}
body.route-monitor .monitor-brand p{font-size:15px!important}
body.route-monitor .monitor-clock{min-width:235px!important;padding:13px 17px!important}
body.route-monitor .monitor-clock b{font-size:38px!important}
body.route-monitor .monitor-clock span{font-size:13px!important}
body.route-monitor .monitor-health{font-size:12px!important}
body.route-monitor .monitor-toolbar.digital{margin:12px 14px!important;padding:10px 12px!important;grid-template-columns:minmax(220px,.9fr) minmax(220px,.9fr) auto auto auto!important;gap:9px!important}
body.route-monitor .monitor-command-ribbon{gap:10px!important;margin:0 14px 12px!important}
body.route-monitor .monitor-command-ribbon>button{min-height:112px!important;padding:14px 15px!important;border-radius:15px!important}
body.route-monitor .monitor-command-ribbon button b{font-size:34px!important}
body.route-monitor .monitor-command-ribbon button small{font-size:11px!important}
body.route-monitor .monitor-command-ribbon button span{font-size:12px!important}
body.route-monitor .monitor-priority-ticker{margin:0 14px 12px!important;border-radius:15px!important;grid-template-columns:245px repeat(3,1fr)!important}
body.route-monitor .monitor-priority-ticker>b{font-size:23px!important;padding:15px!important}
body.route-monitor .monitor-priority-ticker>button span{font-size:14px!important}
body.route-monitor .monitor-priority-ticker>button em{font-size:11px!important}
body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom{margin-left:14px!important;margin-right:14px!important;gap:10px!important}
body.route-monitor .monitor-section-head{padding:11px 13px!important}
body.route-monitor .monitor-section-head h2{font-size:16px!important}
body.route-monitor .monitor-section-head i{width:30px!important;height:30px!important}
body.route-monitor .monitor-tasks-wide{margin:10px 14px!important}
body.route-monitor .monitor-bottom-grid{margin:10px 14px 0!important;gap:10px!important}
body.route-monitor .monitor-status-footer-v154{display:grid!important;grid-template-columns:auto auto 1fr auto!important;align-items:center!important;gap:20px!important;margin:10px 0 0!important;padding:11px 18px!important;border-radius:0!important;background:linear-gradient(90deg,#06295f,#0c3d8d)!important;color:#dceaff!important;font-size:11px!important;box-shadow:0 -4px 14px rgba(8,40,96,.08)!important}
body.route-monitor .monitor-status-footer-v154 span{display:flex!important;align-items:center!important;gap:5px!important;white-space:nowrap!important}
body.route-monitor .monitor-status-footer-v154 i{width:8px!important;height:8px!important;border-radius:50%!important;background:#25d366!important;box-shadow:0 0 0 4px rgba(37,211,102,.12)!important}
body.route-monitor .monitor-status-footer-v154 b{color:#fff!important}
body.monitor-kiosk .monitor-command-head.digital{min-height:90px!important;padding:8px 14px!important}
body.monitor-kiosk .monitor-brand img{width:48px!important;height:48px!important}
body.monitor-kiosk .monitor-brand h1{font-size:22px!important}
body.monitor-kiosk .monitor-brand span{font-size:8px!important}
body.monitor-kiosk .monitor-brand p{display:none!important}
body.monitor-kiosk .monitor-clock{min-width:150px!important;padding:7px 10px!important}
body.monitor-kiosk .monitor-clock b{font-size:22px!important}
body.monitor-kiosk .monitor-clock span{font-size:9px!important}
body.monitor-kiosk .monitor-health{display:none!important}
body.monitor-kiosk .monitor-toolbar.digital{position:fixed!important;right:8px!important;bottom:8px!important;top:auto!important;margin:0!important;padding:5px!important;display:flex!important;width:auto!important;z-index:9999!important}
body.monitor-kiosk .monitor-toolbar.digital label{display:none!important}
body.monitor-kiosk .monitor-command-ribbon{grid-template-columns:repeat(6,minmax(0,1fr))!important;margin:6px 8px!important;gap:6px!important}
body.monitor-kiosk .monitor-command-ribbon>button{min-height:72px!important;padding:8px 9px!important}
body.monitor-kiosk .monitor-command-ribbon button b{font-size:22px!important}
body.monitor-kiosk .monitor-command-ribbon button small{font-size:8px!important}
body.monitor-kiosk .monitor-command-ribbon button span{font-size:8px!important}
body.monitor-kiosk .monitor-priority-ticker{grid-template-columns:180px repeat(3,1fr)!important;margin:6px 8px!important}
body.monitor-kiosk .monitor-priority-ticker>b{font-size:15px!important;padding:10px!important}
body.monitor-kiosk .monitor-priority-ticker>button{padding:7px 9px!important}
body.monitor-kiosk .monitor-priority-ticker>button span{font-size:10px!important}
body.monitor-kiosk .monitor-digital-grid,body.monitor-kiosk .monitor-overview-bottom,body.monitor-kiosk .monitor-bottom-grid{margin-left:8px!important;margin-right:8px!important;gap:6px!important}
body.monitor-kiosk .monitor-status-footer-v154{margin:6px 0 0!important;padding:7px 12px!important;font-size:8px!important;gap:12px!important}

/* responsive production */
@media(max-width:1280px){.module-reports-refine .report-launch-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.route-monitor .monitor-status-footer-v154{grid-template-columns:1fr 1fr!important}body.route-monitor .monitor-priority-ticker{grid-template-columns:200px repeat(3,1fr)!important}}
@media(max-width:1024px){.topbar .unit strong{font-size:14px!important}.topbar .unit span{font-size:10px!important}.module-refine>.page-head h1{font-size:22px!important}body.route-home .home-feature-v144{height:auto!important}.module-chat-refine .chat-shell{grid-template-columns:300px minmax(0,1fr)!important}}
@media(max-width:820px){.module-reports-refine .report-launch-grid{grid-template-columns:1fr!important}.module-chat-refine .chat-shell{grid-template-columns:1fr!important}.module-refine>.page-head{min-height:auto!important;padding:12px!important}.page-head .actions{width:100%!important;flex-wrap:wrap!important}.page-head .actions .btn{flex:1 1 auto!important}body.route-monitor .monitor-status-footer-v154{grid-template-columns:1fr!important;gap:6px!important}body.route-monitor .monitor-priority-ticker{grid-template-columns:1fr!important}body.route-monitor .monitor-toolbar.digital{grid-template-columns:1fr!important}}
@media(max-width:560px){.table{font-size:12px!important}.modal{border-radius:16px 16px 0 0!important}.modal-wrap{align-items:flex-end!important}.module-toolbar-card,.module-content-card{border-radius:14px!important}body.route-home .home-command-hero-v153{padding:14px!important;border-radius:14px!important}body.route-home .home-hero-card-v152{border-radius:14px!important}body.route-home .home-card-v144{border-radius:14px!important}}


/* M1.5.5 LEGAL LIBRARY BULK */
.legal-library-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:0 0 14px;padding:20px 22px;border-radius:18px;border:1px solid #cfe0f4;background:linear-gradient(105deg,#0b3d91,#1263c9);color:#fff;box-shadow:0 12px 26px rgba(18,71,145,.16)}
.legal-library-copy span{font-size:11px;font-weight:900;letter-spacing:.12em;color:#dbeaff}.legal-library-copy h2{margin:4px 0 6px;font-size:24px}.legal-library-copy p{margin:0;max-width:850px;color:#e8f1ff;font-size:13px;line-height:1.5}.legal-library-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.legal-library-actions .btn{min-height:42px;border-radius:12px}.legal-library-actions .btn.primary{background:#fff!important;color:#164fa8!important}.legal-library-actions .btn.ghost{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.28)!important;color:#fff!important}.legal-bulk-progress{grid-column:1/-1;display:flex;gap:14px;align-items:center;font-size:12px;color:#eaf2ff}.legal-bulk-progress:empty{display:none}
@media(max-width:900px){.legal-library-panel{grid-template-columns:1fr}.legal-library-actions{justify-content:flex-start}}


/* M1.5.6 legal/library control */
.legal-library-panel{border-radius:18px!important;border:1px solid #d8e6f4!important;box-shadow:0 8px 22px rgba(19,57,112,.08)!important}
.legal-library-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.legal-library-actions .btn{border-radius:12px!important;min-height:42px!important}
#legalTrashBtn{margin-left:auto!important}
.table .pill.danger{background:#fff0f1!important;color:#c92f3f!important}
@media(max-width:820px){#legalTrashBtn{margin-left:0!important;width:100%!important}.legal-library-actions .btn{flex:1 1 160px!important}}

/* M1.5.7 LEGAL REVIEW + SERVER HARDENING */
.legal-review-btn{background:linear-gradient(90deg,#0f6fd7,#1487e3)!important;color:#fff!important;border-color:#0f6fd7!important}
.legal-review-page{max-width:1720px!important;margin:0 auto!important}.legal-review-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.legal-review-summary button{min-height:104px;border:1px solid #d9e7f4;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 7px 20px rgba(17,58,110,.07);padding:14px 16px;text-align:left;cursor:pointer}.legal-review-summary button b{display:block;font-size:34px;line-height:1;color:#164d91}.legal-review-summary button span{display:block;margin-top:8px;font-size:13px;color:#6b7e98;font-weight:700}.legal-review-summary button.warn b{color:#e78a00}.legal-review-summary button.ok b{color:#159447}.legal-review-work{border-radius:18px!important}.legal-review-work .card-head{gap:12px;flex-wrap:wrap}.legal-review-work .card-head .actions{display:flex;gap:8px;align-items:center;min-width:min(100%,520px)}.legal-review-work .card-head .actions .input{min-width:280px;height:42px}.legal-review-table td{vertical-align:top}.legal-review-table tr.review-issue{background:#fffaf8}.legal-review-table tr.review-reviewed{background:#fbfffc}.review-issues{display:flex;flex-wrap:wrap;gap:5px}.review-issues span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0ef;color:#c8463a;font-size:11px;font-weight:800;border:1px solid #ffd7d2}.library-file-active{border-left:4px solid #22a35a!important}.library-file-history{opacity:.82;border-left:4px solid #c7d1df!important}.library-file-history b{text-decoration:none}.library-file-history .pill{font-size:9px!important}.server24-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:14px 0}.server24-card,.server24-refresh{min-height:116px;border-radius:16px;border:1px solid #d8e6f4;background:#fff;box-shadow:0 7px 20px rgba(18,57,107,.07);padding:15px 16px;text-align:left}.server24-card small{display:block;font-size:12px;color:#6f819a;font-weight:800}.server24-card b{display:block;font-size:28px;line-height:1.05;color:#194983;margin:8px 0 6px}.server24-card span,.server24-refresh span{display:block;font-size:11px;color:#75859b;line-height:1.35;overflow-wrap:anywhere}.server24-card.ok{border-top:4px solid #21a45b}.server24-card.warn{border-top:4px solid #f0a020}.server24-card.bad{border-top:4px solid #e94e4e}.server24-card.warn b{color:#c87800}.server24-card.bad b{color:#c83d3d}.server24-refresh{cursor:pointer;background:linear-gradient(135deg,#0c4ca0,#1275d4);color:#fff;border:0}.server24-refresh>b{display:block;font-size:15px;margin:8px 0;color:#fff}.server24-refresh>span{color:#dbeaff}.server24-refresh:first-letter{font-size:28px;font-weight:900}
@media(max-width:1380px){.legal-review-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.server24-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.legal-review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.server24-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.legal-review-work .card-head .actions{width:100%;min-width:0}.legal-review-work .card-head .actions .input{min-width:0;flex:1}.legal-review-table .actions{flex-direction:column;align-items:stretch}.legal-review-table .actions .btn{width:100%}}
@media(max-width:520px){.legal-review-summary,.server24-grid{grid-template-columns:1fr}.legal-review-summary button{min-height:84px}.legal-review-summary button b{font-size:29px}}


/* M1.5.8 - Dynamic dashboard, notification settings, PWA presence */
.monitor-config-btn{white-space:nowrap!important}
.monitor-config-note{padding:12px 14px;border-radius:14px;background:#eef5ff;color:#284b7d;margin-bottom:12px;line-height:1.45}
.monitor-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.monitor-config-grid label,.notify-setting-grid label{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #dbe7f4;border-radius:14px;background:#fff;font-weight:700;color:#27466f}
.monitor-config-grid input,.notify-setting-grid input{width:18px;height:18px;accent-color:#1560d8}
.notify-setting-info{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px;background:linear-gradient(180deg,#f6faff,#eef5ff);border:1px solid #dbe7f4;margin-bottom:12px}
.notify-setting-info b{font-size:16px;color:#173d78}.notify-setting-info span{font-size:13px;color:#3c5c87}.notify-setting-info small{color:#7184a0}
.notify-setting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
body.route-monitor #monitorRoot>.monitor-digital-grid,body.route-monitor #monitorRoot>.monitor-bottom-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important}
body.route-monitor #monitorRoot>.monitor-command-ribbon{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important}
body.route-monitor #monitorRoot>.monitor-quick-strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
body.route-monitor #monitorRoot>.monitor-priority-ticker{grid-template-columns:minmax(230px,.75fr) repeat(auto-fit,minmax(250px,1fr))!important}
body.route-monitor #monitorRoot.monitor-compact .monitor-command-ribbon button{min-height:92px!important;padding:12px!important}
body.route-monitor #monitorRoot.monitor-compact .monitor-command-ribbon button b{font-size:30px!important}
body.route-monitor #monitorRoot.monitor-compact .monitor-section-head{padding:10px 12px!important}
body.route-monitor #monitorRoot.monitor-compact .monitor-section-head h2{font-size:22px!important}
body.route-monitor #monitorRoot.monitor-compact .monitor-alert-item,body.route-monitor #monitorRoot.monitor-compact .monitor-task-line{min-height:52px!important}
body[data-monitor-density="comfortable"].route-monitor #monitorRoot>.monitor-digital-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))!important}
body[data-monitor-density="compact"].route-monitor #monitorRoot>.monitor-digital-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))!important}
body[data-monitor-density="compact"].route-monitor #monitorRoot>.monitor-bottom-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}
@media(max-width:760px){.monitor-config-grid,.notify-setting-grid{grid-template-columns:1fr}.monitor-config-btn span{display:none!important}body.route-monitor #monitorRoot>.monitor-priority-ticker{grid-template-columns:1fr!important}}

/* M1.5.9 Work Log & Periodic Summary */
.worklog-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.worklog-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}.worklog-row{display:grid;grid-template-columns:110px minmax(0,1fr) 130px auto auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #dce8f5;border-radius:14px;background:#fff}.worklog-row time{font-size:12px;font-weight:800;color:#31578d}.worklog-row b{display:block;color:#173d72}.worklog-row small{display:block;margin-top:4px;color:#74859c}.worklog-row>span{padding:7px 10px;border-radius:999px;background:#eef5ff;color:#235bb7;font-size:11px;font-weight:800;text-align:center}.daily-section-title>div{display:flex!important;gap:6px!important;align-items:center!important;flex-wrap:wrap!important}.periodic-toolbar{display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr)) auto!important;gap:10px!important;align-items:end!important}.periodic-toolbar label{display:flex!important;flex-direction:column!important;gap:5px!important;font-size:11px!important;font-weight:800!important;color:#4b6386!important}@media(max-width:900px){.worklog-row{grid-template-columns:80px minmax(0,1fr) auto}.worklog-row .btn{grid-column:auto}.periodic-toolbar{grid-template-columns:1fr 1fr!important}}@media(max-width:560px){.worklog-row{grid-template-columns:1fr!important}.periodic-toolbar{grid-template-columns:1fr!important}}

/* M1.5.10 - FULL WORKFLOW SYNC: Work log / unexpected work in Monitor */
body.route-monitor .monitor-work-card.teal{--accent:#0f9f91!important}
body.route-monitor .monitor-worklog-section{margin:14px 16px 0!important;border-radius:18px!important;border:1px solid #d8e6f4!important;background:#fff!important;box-shadow:0 8px 22px rgba(16,54,120,.08)!important;overflow:hidden!important}
body.route-monitor .monitor-worklog-kpis{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px!important;padding:14px 16px 8px!important}
body.route-monitor .monitor-worklog-kpis>div{min-height:86px!important;padding:13px 14px!important;border-radius:14px!important;border:1px solid #dfeaf5!important;background:linear-gradient(180deg,#fff,#f7fbff)!important}
body.route-monitor .monitor-worklog-kpis small{display:block!important;color:#72849f!important;font-size:12px!important;font-weight:700!important}
body.route-monitor .monitor-worklog-kpis b{display:block!important;margin-top:6px!important;color:#17447f!important;font-size:27px!important;line-height:1!important}
body.route-monitor .monitor-worklog-kpis .warn{background:linear-gradient(180deg,#fffaf0,#fff6e6)!important;border-color:#f3d49a!important}
body.route-monitor .monitor-worklog-kpis .warn b{color:#c56a10!important}
body.route-monitor .monitor-worklog-layout{display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr)!important;gap:12px!important;padding:8px 16px 16px!important}
body.route-monitor .monitor-worklog-stream,body.route-monitor .monitor-worklog-staff{border:1px solid #e0ebf6!important;border-radius:15px!important;overflow:hidden!important;background:#fbfdff!important}
body.route-monitor .monitor-worklog-row{display:grid!important;grid-template-columns:98px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;min-height:62px!important;padding:10px 13px!important;border-bottom:1px solid #e8f0f8!important;background:#fff!important}
body.route-monitor .monitor-worklog-row:last-child{border-bottom:0!important}
body.route-monitor .monitor-worklog-row.unexpected{background:linear-gradient(90deg,#fffaf0,#fff)!important}
body.route-monitor .monitor-worklog-row time{color:#526b91!important;font-size:12px!important;font-weight:800!important}
body.route-monitor .monitor-worklog-row b{display:block!important;color:#183f78!important;font-size:14px!important;line-height:1.3!important}
body.route-monitor .monitor-worklog-row span{display:block!important;margin-top:3px!important;color:#7a8ca5!important;font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
body.route-monitor .monitor-worklog-row em{font-style:normal!important;font-size:11px!important;font-weight:800!important;color:#1760c9!important;background:#ebf3ff!important;border-radius:999px!important;padding:7px 10px!important;white-space:nowrap!important}
body.route-monitor .monitor-worklog-row.unexpected em{color:#c46a0a!important;background:#fff0d6!important}
body.route-monitor .monitor-worklog-staff>div{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:58px!important;padding:10px 12px!important;border-bottom:1px solid #e8f0f8!important;background:#fff!important}
body.route-monitor .monitor-worklog-staff>div:last-child{border-bottom:0!important}
body.route-monitor .monitor-worklog-staff span{min-width:0!important}
body.route-monitor .monitor-worklog-staff b{display:block!important;color:#1d467d!important;font-size:13px!important}
body.route-monitor .monitor-worklog-staff small{display:block!important;margin-top:3px!important;color:#7b8aa1!important;font-size:11px!important}
body.route-monitor .monitor-worklog-staff em{font-style:normal!important;color:#0d7e73!important;background:#e9f8f5!important;border-radius:999px!important;padding:7px 9px!important;font-size:11px!important;font-weight:800!important;white-space:nowrap!important}
body[data-monitor-density="compact"].route-monitor .monitor-worklog-kpis>div{min-height:68px!important;padding:9px 10px!important}
body[data-monitor-density="compact"].route-monitor .monitor-worklog-kpis b{font-size:22px!important}
body[data-monitor-density="compact"].route-monitor .monitor-worklog-row{min-height:50px!important;padding:7px 10px!important}
body.monitor-kiosk.route-monitor .monitor-worklog-section{margin:8px 0 0!important}
body.monitor-kiosk.route-monitor .monitor-worklog-kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important;padding:8px 10px 4px!important}
body.monitor-kiosk.route-monitor .monitor-worklog-kpis>div{min-height:58px!important;padding:7px 9px!important}
body.monitor-kiosk.route-monitor .monitor-worklog-kpis b{font-size:20px!important}
body.monitor-kiosk.route-monitor .monitor-worklog-layout{padding:4px 10px 10px!important}
@media(max-width:1400px){body.route-monitor .monitor-worklog-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:980px){body.route-monitor .monitor-worklog-section{margin:12px 10px 0!important}body.route-monitor .monitor-worklog-layout{grid-template-columns:1fr!important}body.route-monitor .monitor-worklog-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){body.route-monitor .monitor-worklog-kpis{grid-template-columns:1fr 1fr!important;padding:10px!important}body.route-monitor .monitor-worklog-layout{padding:0 10px 10px!important}body.route-monitor .monitor-worklog-row{grid-template-columns:72px minmax(0,1fr)!important}body.route-monitor .monitor-worklog-row em{grid-column:2!important;justify-self:start!important}}

/* M1.5.11 LTS - COMPACT UI: reduce oversized cards/fonts on Home + Monitor */
body.route-home .home-ref-v144{padding:10px 12px 22px!important}
body.route-home .home-command-hero-v153{min-height:96px!important;padding:12px 18px!important;margin-bottom:10px!important;border-radius:16px!important}
body.route-home .home-command-brand-v153{gap:13px!important}
body.route-home .home-command-brand-v153 img{width:58px!important;height:58px!important}
body.route-home .home-command-brand-v153 span{font-size:14px!important}
body.route-home .home-command-brand-v153 b{font-size:38px!important;line-height:1.03!important}
body.route-home .home-command-brand-v153 small{font-size:13px!important;margin-top:5px!important}
body.route-home .home-command-clock-v153{min-width:220px!important;padding:10px 14px!important;border-radius:14px!important}
body.route-home .home-command-clock-v153 b{font-size:31px!important}
body.route-home .home-command-clock-v153 span{font-size:13px!important;margin-top:4px!important}
body.route-home .home-hero-metrics-v152{gap:10px!important}
body.route-home .home-hero-card-v152{min-height:88px!important;padding:13px 16px!important;border-radius:14px!important}
body.route-home .home-hero-card-v152 small{font-size:12px!important;max-width:90%!important}
body.route-home .home-hero-card-v152 b{font-size:38px!important;margin:5px 0 4px!important}
body.route-home .home-hero-card-v152 span{font-size:12px!important}
body.route-home .home-top-grid-v144,body.route-home .home-middle-grid-v144{gap:10px!important}
body.route-home .home-card-v144{border-radius:15px!important}
body.route-home .home-card-title-v144{min-height:48px!important;padding:0 14px!important}
body.route-home .home-card-title-v144 span{width:26px!important;height:26px!important;border-radius:8px!important}
body.route-home .home-card-title-v144 b{font-size:15px!important}
body.route-home .home-card-title-v144 small{font-size:10px!important}
body.route-home .home-feature-v144{height:360px!important;padding:10px!important;grid-template-columns:minmax(0,1fr) 270px!important;gap:10px!important}
body.route-home .home-feature-overlay-v144{padding:58px 16px 14px!important}
body.route-home .home-feature-overlay-v144 em{font-size:10px!important;padding:5px 9px!important}
body.route-home .home-feature-overlay-v144 b{font-size:18px!important}
body.route-home .home-feature-overlay-v144 span{font-size:11px!important}
body.route-home .home-feature-side-v144>button{grid-template-columns:88px minmax(0,1fr) 12px!important;min-height:74px!important;gap:8px!important;padding-bottom:6px!important}
body.route-home .home-feature-side-v144 img{width:88px!important;height:66px!important;border-radius:8px!important}
body.route-home .home-feature-side-v144 b{font-size:12px!important}
body.route-home .home-feature-side-v144 small{font-size:10px!important}
body.route-home .home-feature-side-v144 em{font-size:9px!important}
body.route-home .home-daily-v144{padding:13px!important}
body.route-home .home-daily-v144 .daily-report-icon{width:38px!important;height:38px!important;border-radius:11px!important}
body.route-home .home-daily-v144 b{font-size:15px!important}
body.route-home .home-daily-v144 small{font-size:11px!important}
body.route-home .home-daily-v144 .actions{margin-top:10px!important;gap:7px!important}
body.route-home .home-daily-v144 .btn.small{height:36px!important;padding:0 12px!important;font-size:12px!important;border-radius:10px!important}
body.route-home .home-attention-list-v144 button{grid-template-columns:40px minmax(0,1fr) auto!important;min-height:54px!important;padding:9px 12px!important;gap:10px!important}
body.route-home .home-attention-list-v144 i{width:31px!important;height:31px!important;font-size:15px!important}
body.route-home .home-attention-list-v144 b{font-size:13px!important}
body.route-home .home-attention-list-v144 span{padding:7px 10px!important;font-size:11px!important}
body.route-home .home-info-tabs-v144 button{height:44px!important;font-size:12px!important}
body.route-home .portal-info-row,body.route-home .home-reg-list-v144>button{min-height:56px!important;padding:10px 14px!important;gap:10px!important;grid-template-columns:36px minmax(0,1fr) auto!important}
body.route-home .portal-file-icon{width:31px!important;height:31px!important;border-radius:9px!important;font-size:11px!important}
body.route-home .portal-info-copy b,body.route-home .home-reg-list-v144 b{font-size:13px!important}
body.route-home .portal-info-copy small,body.route-home .home-reg-list-v144 small{font-size:10px!important}
body.route-home .home-stats-grid-v144{gap:9px!important;padding:10px!important}
body.route-home .home-stats-grid-v144 .portal-stat{min-height:78px!important;padding:11px 12px!important;gap:10px!important}
body.route-home .home-stats-grid-v144 .portal-stat>span{width:40px!important;height:40px!important;border-radius:12px!important;font-size:18px!important}
body.route-home .home-stats-grid-v144 .portal-stat b{font-size:24px!important}
body.route-home .home-stats-grid-v144 .portal-stat small{font-size:10px!important;margin-bottom:3px!important}

body.route-monitor .monitor-command-head.digital{min-height:118px!important;padding:12px 18px!important;margin-bottom:8px!important}
body.route-monitor .monitor-brand{gap:12px!important}
body.route-monitor .monitor-brand img{width:66px!important;height:66px!important}
body.route-monitor .monitor-brand span{font-size:10px!important;margin-bottom:3px!important}
body.route-monitor .monitor-brand h1{font-size:36px!important;line-height:1.02!important}
body.route-monitor .monitor-brand p{font-size:12px!important;margin-top:5px!important}
body.route-monitor .monitor-clock{min-width:205px!important;padding:9px 13px!important;border-radius:14px!important}
body.route-monitor .monitor-clock b{font-size:30px!important}
body.route-monitor .monitor-clock span{font-size:11px!important}
body.route-monitor .monitor-health{padding:7px 10px!important;border-radius:12px!important;gap:8px!important}
body.route-monitor .monitor-health b{font-size:11px!important}
body.route-monitor .monitor-health small{font-size:9px!important}
body.route-monitor .monitor-toolbar.digital{display:grid!important;grid-template-columns:minmax(210px,.8fr) minmax(210px,.8fr) auto auto auto auto!important;gap:8px!important;align-items:center!important;margin:0 12px 9px!important;padding:9px 10px!important;border-radius:14px!important}
body.route-monitor .monitor-toolbar.digital label{padding:7px 9px!important;border-radius:11px!important;gap:8px!important}
body.route-monitor .monitor-toolbar.digital label>span:first-child{width:30px!important;height:30px!important;flex-basis:30px!important;border-radius:9px!important;font-size:12px!important}
body.route-monitor .monitor-toolbar.digital label small{font-size:9px!important;margin-bottom:2px!important}
body.route-monitor .monitor-toolbar.digital .input,body.route-monitor .monitor-toolbar.digital .select{height:32px!important;font-size:11px!important;padding:0 8px!important}
body.route-monitor .monitor-toolbar.digital .monitor-refresh,body.route-monitor .monitor-toolbar.digital .monitor-tv-btn,body.route-monitor .monitor-toolbar.digital .monitor-chat-jump,body.route-monitor .monitor-toolbar.digital .monitor-config-btn{height:36px!important;min-height:36px!important;padding:0 11px!important;border-radius:10px!important;font-size:11px!important}
body.route-monitor .monitor-toolbar.digital .monitor-auto{font-size:11px!important;white-space:nowrap!important}
body.route-monitor #monitorRoot>.monitor-command-ribbon{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:8px!important;margin:0 12px 9px!important}
body.route-monitor .monitor-command-ribbon>button{min-height:84px!important;padding:10px 12px!important;border-radius:13px!important}
body.route-monitor .monitor-command-ribbon button small{font-size:9px!important}
body.route-monitor .monitor-command-ribbon button b{font-size:26px!important;margin:1px 0!important}
body.route-monitor .monitor-command-ribbon button span{font-size:10px!important;line-height:1.25!important}
body.route-monitor .monitor-priority-ticker{margin:0 12px 9px!important;border-radius:14px!important;grid-template-columns:minmax(180px,.6fr) repeat(auto-fit,minmax(210px,1fr))!important}
body.route-monitor .monitor-priority-ticker>b{font-size:16px!important;padding:10px!important}
body.route-monitor .monitor-priority-ticker>button{padding:8px 10px!important}
body.route-monitor .monitor-priority-ticker>button span{font-size:11px!important}
body.route-monitor .monitor-priority-ticker>button em{font-size:9px!important}
body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom,body.route-monitor .monitor-bottom-grid{gap:9px!important;margin-left:12px!important;margin-right:12px!important}
body.route-monitor .monitor-section-head{padding:9px 11px!important}
body.route-monitor .monitor-section-head i{width:28px!important;height:28px!important;border-radius:8px!important;font-size:11px!important}
body.route-monitor .monitor-section-head h2{font-size:17px!important}
body.route-monitor .monitor-section-head button,body.route-monitor .monitor-section-head small{font-size:10px!important}
body.route-monitor .monitor-task-bars,body.route-monitor .monitor-attention-list,body.route-monitor .monitor-report-table,body.route-monitor .monitor-activity-list,body.route-monitor .monitor-reg-list,body.route-monitor .monitor-equipment-grid,body.route-monitor .monitor-duty-list,body.route-monitor .monitor-personnel-list{padding:9px 11px!important}
body.route-monitor .monitor-worklog-section{margin:9px 12px 0!important;border-radius:14px!important}
body.route-monitor .monitor-worklog-kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:7px!important;padding:9px 11px 5px!important}
body.route-monitor .monitor-worklog-kpis>div{min-height:62px!important;padding:8px 9px!important;border-radius:11px!important}
body.route-monitor .monitor-worklog-kpis small{font-size:9px!important}
body.route-monitor .monitor-worklog-kpis b{font-size:19px!important;margin-top:4px!important}
body.route-monitor .monitor-worklog-layout{gap:8px!important;padding:5px 11px 11px!important}
body.route-monitor .monitor-worklog-row{grid-template-columns:76px minmax(0,1fr) auto!important;gap:8px!important;min-height:48px!important;padding:7px 9px!important}
body.route-monitor .monitor-worklog-row time{font-size:9px!important}
body.route-monitor .monitor-worklog-row b{font-size:11px!important}
body.route-monitor .monitor-worklog-row span{font-size:9px!important}
body.route-monitor .monitor-worklog-row em{font-size:9px!important;padding:5px 7px!important}
body.route-monitor .monitor-worklog-staff>div{min-height:46px!important;padding:7px 9px!important}
body.route-monitor .monitor-worklog-staff b{font-size:10px!important}
body.route-monitor .monitor-worklog-staff small{font-size:9px!important}
body.route-monitor .monitor-worklog-staff em{font-size:9px!important;padding:5px 7px!important}
body.route-monitor .monitor-status-footer-v154{margin-top:8px!important;padding:8px 12px!important;font-size:9px!important;gap:12px!important}

@media(max-width:1280px){body.route-monitor .monitor-toolbar.digital{grid-template-columns:1fr 1fr repeat(3,auto)!important}body.route-monitor .monitor-worklog-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.route-home .home-command-brand-v153 b{font-size:32px!important}body.route-home .home-command-clock-v153 b{font-size:27px!important}}
@media(max-width:900px){body.route-monitor .monitor-toolbar.digital{grid-template-columns:1fr 1fr!important}body.route-monitor .monitor-toolbar.digital>*{min-width:0!important}body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.route-monitor .monitor-worklog-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* M1.5.12 FULL SYSTEM UI & WORKFLOW AUDIT */
:root{--sys-gap:12px;--sys-radius:14px;--sys-shadow:0 5px 16px rgba(18,52,102,.065);--sys-border:#d9e5f2;--sys-bg:#eef4fb;--sys-blue:#164f9c}
body:not(.route-home):not(.route-monitor) .content{max-width:1720px!important;margin:0 auto!important;padding:12px 14px 28px!important;background:var(--sys-bg)!important}
body:not(.route-home):not(.route-monitor) .page-head{min-height:64px!important;padding:12px 16px!important;margin-bottom:10px!important;border-radius:14px!important;box-shadow:var(--sys-shadow)!important}
body:not(.route-home):not(.route-monitor) .page-head h1{font-size:22px!important;line-height:1.15!important;margin:0 0 2px!important}
body:not(.route-home):not(.route-monitor) .page-head p{font-size:12px!important}
body:not(.route-home):not(.route-monitor) .card{border-radius:14px!important;box-shadow:var(--sys-shadow)!important;border-color:var(--sys-border)!important}
body:not(.route-home):not(.route-monitor) .card-head{min-height:48px!important;padding:10px 14px!important}
body:not(.route-home):not(.route-monitor) .card-head h2,body:not(.route-home):not(.route-monitor) .card-head h3{font-size:16px!important;line-height:1.2!important}
body:not(.route-home):not(.route-monitor) .card-body{padding:12px 14px!important}
body:not(.route-home):not(.route-monitor) .stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;gap:10px!important;margin-bottom:10px!important}
body:not(.route-home):not(.route-monitor) .stat{min-height:92px!important;padding:12px 14px!important}
body:not(.route-home):not(.route-monitor) .stat b{font-size:26px!important;line-height:1!important}
body:not(.route-home):not(.route-monitor) .stat span{font-size:11px!important;margin-top:5px!important}
body:not(.route-home):not(.route-monitor) .grid2{gap:10px!important}
body:not(.route-home):not(.route-monitor) .table-wrap{border-radius:12px!important;box-shadow:none!important}
body:not(.route-home):not(.route-monitor) .table th,body:not(.route-home):not(.route-monitor) .table td,body:not(.route-home):not(.route-monitor) table th,body:not(.route-home):not(.route-monitor) table td{padding:9px 10px!important;font-size:12px!important;line-height:1.35!important}
body:not(.route-home):not(.route-monitor) .table thead th,body:not(.route-home):not(.route-monitor) table thead th{font-size:11px!important;text-transform:none!important;letter-spacing:.01em!important}
body:not(.route-home):not(.route-monitor) .btn{min-height:36px!important;border-radius:10px!important;padding:7px 12px!important;font-size:12px!important}
body:not(.route-home):not(.route-monitor) .btn.small,body:not(.route-home):not(.route-monitor) .btn.mini{min-height:30px!important;padding:5px 9px!important;font-size:11px!important}
body:not(.route-home):not(.route-monitor) .input,body:not(.route-home):not(.route-monitor) .select{min-height:38px!important;height:38px!important;border-radius:10px!important;font-size:12px!important;padding:7px 10px!important}
body:not(.route-home):not(.route-monitor) .textarea{border-radius:10px!important;font-size:12px!important;padding:9px 10px!important}
body:not(.route-home):not(.route-monitor) .field{gap:5px!important;margin-bottom:10px!important}
body:not(.route-home):not(.route-monitor) .field label{font-size:11px!important;font-weight:800!important}
body:not(.route-home):not(.route-monitor) .readonly-box,body:not(.route-home):not(.route-monitor) .notice-lite,body:not(.route-home):not(.route-monitor) .warn-box,body:not(.route-home):not(.route-monitor) .info-box{padding:10px 12px!important;border-radius:10px!important;font-size:12px!important}
body:not(.route-home):not(.route-monitor) .notice-item{padding:10px 12px!important;border-radius:10px!important;margin-bottom:6px!important}
body:not(.route-home):not(.route-monitor) .notice-item b{font-size:12px!important}
body:not(.route-home):not(.route-monitor) .notice-item span,body:not(.route-home):not(.route-monitor) .notice-item small{font-size:11px!important}
body:not(.route-home):not(.route-monitor) .actions{gap:7px!important;flex-wrap:wrap!important}
body:not(.route-home):not(.route-monitor) .section-title{font-size:13px!important;margin:14px 0 8px!important;padding-bottom:6px!important}
.module-area-refine .module-content-card,.module-directory-refine .module-content-card{padding:10px!important}
.module-area-refine #areaRows>.table-wrap{margin:0!important}
.archive-intake-card .archive-drop{min-height:110px!important;border-radius:12px!important;padding:16px!important}
.archive-batch-row{padding:10px 12px!important;border-radius:10px!important;gap:10px!important}
body.route-followup .follow-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important}
body.route-followup .follow-grid{gap:10px!important}
body.route-followup .follow-row{padding:9px 10px!important;min-height:52px!important}
body.route-kpi .kpi-card,body.route-kpi .card{border-radius:14px!important}
body.route-hybrid .detail-grid,body.route-quality .detail-grid,body.route-backup .detail-grid,body.route-settings .detail-grid{gap:10px!important}
body.route-hybrid .card+ .card,body.route-backup .card+ .card,body.route-quality .card+ .card{margin-top:10px!important}
body.route-audit .table-wrap,body.route-directory .table-wrap{background:#fff!important;border:1px solid var(--sys-border)!important}
body.route-settings #setForm{max-width:1180px!important}
body.route-settings .card-body>.actions{position:sticky!important;bottom:8px!important;background:rgba(255,255,255,.96)!important;padding:8px!important;border-radius:12px!important;box-shadow:0 6px 20px rgba(20,52,98,.10)!important;z-index:3!important}
body.route-backup pre,body.route-upgrade .json-box,body.route-admincenter .json-box{max-height:420px!important;overflow:auto!important;font-size:11px!important;border-radius:10px!important}
body.route-archive .archive-file-row{padding:9px 10px!important}
body.route-users .perm-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:8px!important}
body.route-users .perm-row{min-height:58px!important;border-radius:10px!important;padding:9px 10px!important}
body.route-catalog .card-body,body.route-reportforms .card-body,body.route-admincenter .card-body{padding:12px!important}
body.route-luuky .stats,body.route-settlement .stats,body.route-quality .stats,body.route-hybrid .stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important}
body.route-asset .module-content-card,body.route-tech .module-content-card,body.route-vehicle .module-content-card,body.route-procure .module-content-card,body.route-canteen .module-content-card,body.route-account .module-content-card{min-height:260px!important}
.modal{border-radius:16px!important;max-height:92vh!important}
.modal .modal-head{min-height:50px!important;padding:10px 14px!important}
.modal .modal-head h2,.modal .modal-head h3{font-size:17px!important}
.modal .modal-body{padding:12px 14px!important}
.modal .modal-foot{padding:10px 14px!important;gap:8px!important}
@media(max-width:1100px){body:not(.route-home):not(.route-monitor) .content{padding:10px!important}.grid2{grid-template-columns:1fr!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){body:not(.route-home):not(.route-monitor) .content{padding:8px 7px calc(82px + env(safe-area-inset-bottom))!important}body:not(.route-home):not(.route-monitor) .page-head{padding:10px 12px!important}body:not(.route-home):not(.route-monitor) .page-head h1{font-size:19px!important}body:not(.route-home):not(.route-monitor) .stats{grid-template-columns:1fr 1fr!important}.table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.table{min-width:680px!important}.modal{width:calc(100vw - 12px)!important;max-height:94vh!important}.modal .grid2{grid-template-columns:1fr!important}}
@media(max-width:480px){body:not(.route-home):not(.route-monitor) .stats{grid-template-columns:1fr!important}body:not(.route-home):not(.route-monitor) .page-head .actions{width:100%!important}body:not(.route-home):not(.route-monitor) .page-head .actions .btn{width:100%!important}.archive-batch-row{display:block!important}.archive-batch-row .actions{margin-top:8px!important}}


/* M1.5.13 - Responsive navigation & monitor control placement */
body.route-monitor .monitor-command-head.digital{position:relative!important;padding-left:126px!important}
body.route-monitor .monitor-back-btn{position:absolute!important;left:16px!important;top:16px!important;z-index:4!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;height:34px!important;padding:0 11px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important;background:rgba(7,31,93,.42)!important;color:#fff!important;font-size:11px!important;font-weight:800!important;backdrop-filter:blur(6px)!important;cursor:pointer!important;box-shadow:0 5px 14px rgba(0,0,0,.12)!important}
body.route-monitor .monitor-back-btn:hover{background:rgba(7,31,93,.62)!important}
body.route-monitor .monitor-toolbar.digital{display:grid!important;grid-template-columns:minmax(220px,.95fr) minmax(220px,.95fr) auto minmax(420px,1.3fr)!important;gap:8px!important;align-items:center!important;margin:0 12px 9px!important;padding:9px 10px!important;border-radius:14px!important}
body.route-monitor .monitor-toolbar.digital .monitor-filter{min-width:0!important}
body.route-monitor .monitor-toolbar.digital .monitor-auto{justify-self:start!important;align-self:center!important;min-width:max-content!important}
body.route-monitor .monitor-toolbar-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0!important;flex-wrap:nowrap!important}
body.route-monitor .monitor-toolbar-actions .btn{height:36px!important;min-height:36px!important;padding:0 10px!important;border-radius:10px!important;font-size:11px!important;white-space:nowrap!important}
body.route-monitor .monitor-toolbar-actions .monitor-config-btn{background:#f2f5fb!important;border:1px solid #d6e0ef!important;color:#273b63!important;box-shadow:none!important}
body.route-monitor .monitor-toolbar-actions .monitor-tv-btn{min-width:62px!important}
body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(6,minmax(0,1fr))!important}
body.route-monitor .monitor-command-ribbon>button{min-width:0!important}
body.route-monitor .monitor-command-ribbon>button b{overflow-wrap:anywhere!important}

/* Shared device-responsive system rules */
@media(min-width:1600px){
 body.route-monitor .monitor-command-head.digital{min-height:126px!important}
 body.route-monitor .monitor-brand h1{font-size:38px!important}
 body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 body.route-monitor .monitor-toolbar.digital{grid-template-columns:minmax(230px,.8fr) minmax(230px,.8fr) auto minmax(440px,1.2fr)!important}
 body.route-monitor .monitor-digital-grid{grid-template-columns:1.15fr 1.05fr .95fr .95fr!important}
 body.route-monitor .monitor-overview-bottom{grid-template-columns:1.2fr 1.1fr 1fr!important}
}
@media(min-width:1024px) and (max-width:1366px){
 body.route-monitor .monitor-command-head.digital{padding-left:116px!important;min-height:120px!important}
 body.route-monitor .monitor-brand h1{font-size:31px!important}
 body.route-monitor .monitor-toolbar.digital{grid-template-columns:1fr 1fr!important}
 body.route-monitor .monitor-toolbar.digital .monitor-auto{justify-self:start!important}
 body.route-monitor .monitor-toolbar-actions{justify-self:stretch!important;justify-content:flex-end!important}
 body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.route-monitor .monitor-digital-grid{grid-template-columns:1fr 1fr!important}
 body.route-monitor .monitor-overview-bottom{grid-template-columns:1fr 1fr!important}
 .module-refine{max-width:none!important}
}
@media(min-width:768px) and (max-width:1023px){
 body.route-monitor .monitor-command-head.digital{padding:58px 14px 12px!important;min-height:150px!important}
 body.route-monitor .monitor-back-btn{left:12px!important;top:12px!important}
 body.route-monitor .monitor-brand img{width:54px!important;height:54px!important}
 body.route-monitor .monitor-brand h1{font-size:27px!important}
 body.route-monitor .monitor-brand p{font-size:11px!important}
 body.route-monitor .monitor-head-right{right:12px!important;top:12px!important}
 body.route-monitor .monitor-toolbar.digital{grid-template-columns:1fr 1fr!important;margin:0 8px 8px!important}
 body.route-monitor .monitor-toolbar.digital .monitor-auto{grid-column:1!important}
 body.route-monitor .monitor-toolbar-actions{grid-column:2!important;justify-content:flex-end!important;flex-wrap:wrap!important}
 body.route-monitor .monitor-toolbar-actions .btn span{display:none!important}
 body.route-monitor .monitor-toolbar-actions .btn{width:36px!important;padding:0!important}
 body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0 8px 8px!important}
 body.route-monitor .monitor-command-ribbon>button{min-height:76px!important;padding:9px!important}
 body.route-monitor .monitor-command-ribbon>button b{font-size:23px!important}
 body.route-monitor .monitor-priority-ticker,body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom{margin-left:8px!important;margin-right:8px!important}
 body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom{grid-template-columns:1fr 1fr!important}
 .module-refine>.page-head{grid-template-columns:1fr!important}
 .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
 .table{min-width:720px!important}
}
@media(max-width:767px){
 body.route-monitor .content{padding-bottom:76px!important}
 body.route-monitor .monitor-command-head.digital{display:block!important;min-height:142px!important;padding:50px 10px 10px!important;border-radius:0 0 14px 14px!important}
 body.route-monitor .monitor-back-btn{left:9px!important;top:9px!important;height:32px!important;padding:0 9px!important}
 body.route-monitor .monitor-back-btn span{display:inline!important}
 body.route-monitor .monitor-brand{max-width:none!important;gap:9px!important;align-items:center!important}
 body.route-monitor .monitor-brand img{width:46px!important;height:46px!important}
 body.route-monitor .monitor-brand span{font-size:8px!important}
 body.route-monitor .monitor-brand h1{font-size:22px!important;line-height:1.05!important}
 body.route-monitor .monitor-brand p{font-size:9px!important;margin-top:4px!important}
 body.route-monitor .monitor-head-right{position:static!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;margin-top:9px!important}
 body.route-monitor .monitor-clock{min-width:0!important;flex:1!important;padding:7px 9px!important;text-align:left!important;border-radius:10px!important}
 body.route-monitor .monitor-clock b{font-size:19px!important}
 body.route-monitor .monitor-clock span{font-size:9px!important}
 body.route-monitor .monitor-health{flex:1!important;padding:7px 9px!important;border-radius:10px!important}
 body.route-monitor .monitor-health small{display:none!important}
 body.route-monitor .monitor-health b{font-size:9px!important}
 body.route-monitor .monitor-toolbar.digital{grid-template-columns:1fr!important;margin:0 7px 7px!important;padding:7px!important;gap:6px!important}
 body.route-monitor .monitor-toolbar.digital label{padding:6px 7px!important}
 body.route-monitor .monitor-toolbar.digital .monitor-auto{justify-self:start!important;width:auto!important}
 body.route-monitor .monitor-toolbar-actions{width:100%!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
 body.route-monitor .monitor-toolbar-actions .btn{width:100%!important;padding:0 4px!important;font-size:10px!important}
 body.route-monitor .monitor-toolbar-actions .btn span{display:none!important}
 body.route-monitor .monitor-command-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:0 7px 7px!important}
 body.route-monitor .monitor-command-ribbon>button{min-height:70px!important;padding:8px!important;border-radius:11px!important}
 body.route-monitor .monitor-command-ribbon>button small{font-size:8px!important}
 body.route-monitor .monitor-command-ribbon>button b{font-size:21px!important}
 body.route-monitor .monitor-command-ribbon>button span{font-size:8px!important}
 body.route-monitor .monitor-priority-ticker{grid-template-columns:1fr!important;margin:0 7px 7px!important}
 body.route-monitor .monitor-priority-ticker>b{font-size:15px!important;padding:9px!important}
 body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-overview-bottom{grid-template-columns:1fr!important;gap:7px!important;margin:0 7px!important}
 body.route-monitor .monitor-section-head h2{font-size:15px!important}
 body.route-monitor .monitor-section-head{padding:9px 10px!important}
 body.route-monitor .monitor-status-footer-v154{margin:7px!important}
 .topbar{padding-left:7px!important;padding-right:7px!important}
 .content{padding-left:7px!important;padding-right:7px!important}
 .module-refine{width:100%!important;padding-bottom:78px!important}
 .module-refine>.page-head{padding:10px!important;border-radius:12px!important}
 .module-refine>.page-head h1{font-size:19px!important}
 .module-toolbar-card,.module-content-card,.card{border-radius:12px!important}
 .module-toolbar-card{padding:7px!important}
 .module-toolbar-card .toolbar{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
 .module-toolbar-card .toolbar>*{width:100%!important;min-width:0!important}
 .tabs{overflow-x:auto!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch!important}
 .tabs .tab{flex:0 0 auto!important;min-width:max-content!important}
 .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
 .table{min-width:680px!important}
 .modal-card{width:calc(100vw - 14px)!important;max-height:92vh!important;border-radius:14px!important}
 .grid2,.grid3{grid-template-columns:1fr!important}
 .report-launch-grid{grid-template-columns:1fr!important}
 .module-chat-refine .chat-shell{grid-template-columns:1fr!important}
 .module-chat-refine .chat-sidebar{max-height:260px!important}
}
@media(max-width:420px){
 body.route-monitor .monitor-back-btn span{display:none!important}
 body.route-monitor .monitor-command-ribbon{grid-template-columns:1fr 1fr!important}
 body.route-monitor .monitor-brand h1{font-size:19px!important}
 body.route-monitor .monitor-head-right{display:grid!important;grid-template-columns:1fr!important}
 body.route-monitor .monitor-health{display:none!important}
 .topbar .unit span{display:none!important}
 .topbar .user-mini{display:none!important}
}
body.monitor-kiosk .monitor-back-btn{display:none!important}
body.monitor-kiosk .monitor-toolbar.digital{grid-template-columns:minmax(190px,.7fr) minmax(190px,.7fr) auto minmax(360px,1fr)!important}
body.monitor-kiosk .monitor-toolbar-actions .monitor-config-btn{display:none!important}


/* M1.5.15 SMART TASK ASSIGNMENT */
.task-smart-source{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:12px;border-radius:16px;border:1px dashed #9bb9e8;background:linear-gradient(180deg,#f7fbff,#eef5ff)}
.task-smart-source b{display:block;color:#174582;font-size:14px}.task-smart-source small{display:block;color:#6e8099;margin-top:4px;line-height:1.4}.task-smart-source .btn{flex:0 0 auto}
.task-publish-box{margin-top:12px;padding:14px 16px;border:1px solid #d8e6f4;border-radius:16px;background:#fbfdff}.task-publish-box>div:first-child b{display:block;color:#173f78}.task-publish-box>div:first-child small{display:block;color:#74849a;margin-top:3px}.task-publish-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.task-publish-options label{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #dce7f4;border-radius:12px;background:#fff;font-weight:700;color:#294d7c}.task-publish-options input{accent-color:#185fd1}.task-publish-box>.select{max-width:420px}
.dispatch-list{display:grid;gap:8px}.dispatch-candidate{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;text-align:left;padding:10px 12px;border:1px solid #d9e5f2;border-radius:13px;background:#fff}.dispatch-candidate.ready{border-left:4px solid #16a34a}.dispatch-candidate.busy{border-left:4px solid #f59e0b}.dispatch-candidate b{display:block;color:#173f78}.dispatch-candidate small,.dispatch-candidate em{display:block;color:#718198;font-style:normal;margin-top:2px}.dispatch-candidate strong{display:block;color:#c2410c;margin-top:3px}.dispatch-candidate mark{background:#eef4ff;color:#245bb7;border-radius:999px;padding:5px 8px}
@media(max-width:820px){.task-smart-source{align-items:stretch;flex-direction:column}.task-smart-source .btn{width:100%}.task-publish-options{grid-template-columns:1fr}.task-publish-box>.select{max-width:none}.dispatch-candidate{grid-template-columns:30px 1fr}.dispatch-candidate mark{grid-column:2;justify-self:start}}


/* M1.5.16 OCR accuracy / review */
.ocr-confidence-box{display:grid;gap:4px;margin:8px 0 10px;padding:10px 12px;border-radius:12px;border:1px solid #cfe6d8;background:#f3fbf6;color:#245d3b}.ocr-confidence-box.review{border-color:#f1c36a;background:#fff8e8;color:#7b5200}.ocr-confidence-box b{font-size:13px}.ocr-confidence-box span{font-size:12px;font-weight:700}.ocr-confidence-box small{font-size:11px;line-height:1.35}.dispatch-list{margin-top:8px}.module-tasks-refine .warn-box{border-radius:12px}

/* M1.5.17 FINAL RESPONSIVE AUDIT — phone / tablet / laptop / desktop / TV */
html{max-width:100%;overflow-x:hidden}body{max-width:100%;overflow-x:hidden}.main,.content,.card,.page-head,.toolbar,.grid2>*,.grid3>*,.detail-grid>*{min-width:0}img,video,canvas{max-width:100%}.table-wrap{max-width:100%}.input,.select,.textarea{max-width:100%}
@media(min-width:1920px){
 .content{max-width:1900px;padding-left:20px;padding-right:20px}
 body:not(.route-monitor) .page-head h1{font-size:23px}
 body:not(.route-monitor) .card-head h2,body:not(.route-monitor) .card-head h3{font-size:14px}
 body.route-monitor:not(.monitor-kiosk) .content{max-width:none!important}
 body.route-monitor .monitor-command-head.digital{min-height:120px!important}
 body.route-monitor .monitor-brand h1{font-size:34px!important}
 body.route-monitor .monitor-command-ribbon>button{min-height:78px!important}
 body.route-monitor .monitor-command-ribbon>button b{font-size:24px!important}
}
@media(min-width:1367px) and (max-width:1919px){
 .content{max-width:1680px}
 body.route-monitor .monitor-command-ribbon>button{min-height:74px!important}
}
@media(min-width:1024px) and (max-width:1366px){
 :root{--sidebar:220px}
 .content{padding:12px 13px 22px}
 .page-head{margin-bottom:10px}.page-head h1{font-size:20px}
 .card-body{padding:10px}.toolbar{gap:6px}
 .btn{padding-left:11px;padding-right:11px}
 .task-publish-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:768px) and (max-width:1023px){
 .btn,.icon-btn{min-height:40px}
 .content{padding:10px 10px 22px}
 .page-head{flex-wrap:wrap}.page-head .actions{max-width:100%}
 .toolbar .input,.toolbar .select{min-width:0;flex:1 1 180px}
 .task-publish-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .modal{width:min(92vw,760px)}
}
@media(max-width:767px){
 body{font-size:13px}
 .content{width:100%;max-width:100%;overflow-x:hidden}
 .page-head{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
 .page-head .actions{width:100%;display:flex;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
 .page-head .actions .btn{flex:0 0 auto;width:auto!important;white-space:nowrap}
 .toolbar{display:grid!important;grid-template-columns:1fr!important;width:100%}
 .toolbar>.input,.toolbar>.select,.toolbar>label,.toolbar>.btn{width:100%!important;min-width:0!important}
 .input,.select,.textarea{font-size:16px} /* tránh iOS tự zoom khi focus */
 .btn{min-height:42px}.icon-btn{min-width:40px;min-height:40px}
 .task-publish-options{grid-template-columns:1fr!important}
 .task-publish-options label{min-height:46px}
 .dispatch-candidate{padding:9px 10px}
 .modal-body{overflow-x:hidden}
 .modal-foot{gap:6px;overflow-x:auto;justify-content:flex-start}
 .modal-foot .btn{flex:0 0 auto;white-space:nowrap}
 .toast-wrap{left:8px;right:8px;bottom:78px}.toast{max-width:none;width:100%}
}
@media(max-width:420px){
 .page-head h1{font-size:18px!important}
 .card-head{padding:9px 10px}.card-body{padding:9px}
 .btn{padding:9px 10px}
 .mobile-bottom{grid-template-columns:1fr 1fr 58px 1fr 1fr}
 body.route-monitor .monitor-toolbar-actions{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 body.route-monitor .monitor-toolbar-actions .btn{min-width:0!important}
}
@media(max-height:520px) and (orientation:landscape) and (max-width:900px){
 .mobile-bottom{height:58px}.content{padding-bottom:66px!important}
 .modal{max-height:96vh}.modal-body{padding-top:9px;padding-bottom:9px}
 body.route-monitor .monitor-command-head.digital{min-height:110px!important;padding-top:42px!important}
 body.route-monitor .monitor-head-right{display:none!important}
}
@media(min-width:2200px){
 body.monitor-kiosk .monitor-command-ribbon>button{min-height:82px!important}
 body.monitor-kiosk .monitor-digital-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 body.monitor-kiosk .monitor-section-head h2{font-size:16px!important}
}

/* ================================================================
   M1.5.18 — UNIFIED DESIGN SYSTEM
   Final normalization layer for all operational modules.
   Home and Monitor keep their dedicated compositions while inheriting
   the same typography, controls, borders and responsive behavior.
   ================================================================ */
:root{
  --ui-blue-900:#123f74;
  --ui-blue-800:#164f8f;
  --ui-blue-700:#2463a6;
  --ui-blue-100:#edf4fb;
  --ui-bg:#f4f7fb;
  --ui-surface:#ffffff;
  --ui-line:#dbe4ee;
  --ui-line-soft:#e8eef5;
  --ui-text:#172b3f;
  --ui-muted:#66798d;
  --ui-radius:10px;
  --ui-radius-sm:7px;
  --ui-shadow:0 2px 8px rgba(18,63,116,.045);
  --ui-space-1:4px;
  --ui-space-2:8px;
  --ui-space-3:12px;
  --ui-space-4:16px;
}
body{color:var(--ui-text)}
body:not(.route-home):not(.route-monitor) .content{background:var(--ui-bg)}
body:not(.route-home):not(.route-monitor) .content> *{max-width:100%}

/* Page heading: one visual contract across every module */
body:not(.route-home):not(.route-monitor) .page-head,
body:not(.route-home):not(.route-monitor) .modern-page-title,
body:not(.route-home):not(.route-monitor) .ui-page-head{
  min-height:58px;margin:0 0 12px;padding:0 0 10px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;
  border:0;border-bottom:1px solid var(--ui-line);background:transparent;
}
body:not(.route-home):not(.route-monitor) .page-head h1,
body:not(.route-home):not(.route-monitor) .modern-page-title h1,
body:not(.route-home):not(.route-monitor) .ui-page-head h1{
  margin:0;color:var(--ui-blue-900)!important;font-size:21px!important;
  line-height:1.2;font-weight:800;letter-spacing:-.015em;
}
body:not(.route-home):not(.route-monitor) .page-head p,
body:not(.route-home):not(.route-monitor) .modern-page-title p,
body:not(.route-home):not(.route-monitor) .ui-page-head p{
  margin:4px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.35;
}

/* Cards / panels */
body:not(.route-home):not(.route-monitor) :where(.card,.panel,.ui-card,.form-card,.chart-card,.recent-card,.quick-card,.docs-body){
  border:1px solid var(--ui-line)!important;border-radius:var(--ui-radius)!important;
  background:var(--ui-surface)!important;box-shadow:var(--ui-shadow)!important;
}
body:not(.route-home):not(.route-monitor) :where(.card-head,.panel-head,.ui-card-head){
  min-height:42px!important;padding:8px 11px!important;display:flex;align-items:center;
  background:linear-gradient(180deg,#fff,#f8fbfe)!important;
  border-bottom:1px solid var(--ui-line-soft)!important;border-radius:10px 10px 0 0;
}
body:not(.route-home):not(.route-monitor) :where(.card-head,.panel-head,.ui-card-head) :where(h2,h3){
  margin:0;color:var(--ui-blue-900)!important;font-size:13px!important;line-height:1.25;font-weight:800;
}
body:not(.route-home):not(.route-monitor) :where(.card-body,.panel-body,.ui-card-body){padding:11px!important}

/* Buttons: common heights, radii, typography */
body:not(.route-home):not(.route-monitor) :where(.btn,button.btn){
  min-height:36px;padding:7px 11px;border-radius:var(--ui-radius-sm)!important;
  font-size:12px;font-weight:700;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:5px;
}
body:not(.route-home):not(.route-monitor) .btn.primary{background:var(--ui-blue-800)!important;border-color:var(--ui-blue-800)!important;color:#fff!important}
body:not(.route-home):not(.route-monitor) .btn.primary:hover{background:#103f74!important}
body:not(.route-home):not(.route-monitor) .btn.ghost{background:#fff!important;border:1px solid var(--ui-line)!important;color:#27445f!important}
body:not(.route-home):not(.route-monitor) .btn.small,
body:not(.route-home):not(.route-monitor) .btn.mini{min-height:30px;padding:5px 8px;font-size:11px}
body:not(.route-home):not(.route-monitor) .actions{gap:6px}

/* Inputs / forms */
body:not(.route-home):not(.route-monitor) .field{gap:5px;margin-bottom:10px}
body:not(.route-home):not(.route-monitor) .field label{font-size:12px;font-weight:700;color:#334f69}
body:not(.route-home):not(.route-monitor) :where(.input,.select,.textarea){
  min-height:38px;padding:8px 10px;border:1px solid #d4deea!important;border-radius:var(--ui-radius-sm)!important;
  background:#fff!important;color:var(--ui-text);font-size:13px;box-shadow:none;
}
body:not(.route-home):not(.route-monitor) .textarea{min-height:84px}
body:not(.route-home):not(.route-monitor) :where(.input,.select,.textarea):focus{
  border-color:#4b73b8!important;box-shadow:0 0 0 3px rgba(75,115,184,.10)!important;
}
body:not(.route-home):not(.route-monitor) :where(.grid2,.grid3,.detail-grid){gap:10px}
body:not(.route-home):not(.route-monitor) .detail-item{padding:9px 10px;border-color:var(--ui-line-soft);border-radius:8px;background:#fbfdff}

/* Toolbars and filters */
body:not(.route-home):not(.route-monitor) :where(.toolbar,.kpi-toolbar,.personnel-toolbar){
  min-height:46px;margin:0 0 10px;padding:7px 8px;gap:6px;
  border:1px solid var(--ui-line)!important;border-radius:9px;background:#f8fbfe!important;
}
body:not(.route-home):not(.route-monitor) .toolbar :where(.input,.select){min-height:34px}

/* Tabs */
body:not(.route-home):not(.route-monitor) :where(.tabs,.docs-tabs){
  min-height:38px;padding:0 6px;background:#fff;border-color:var(--ui-line)!important;
}
body:not(.route-home):not(.route-monitor) :where(.tab,.docs-tabs button){
  min-height:37px;padding:7px 9px;font-size:11.5px;font-weight:750;color:#60758a;
}
body:not(.route-home):not(.route-monitor) .tab.active{color:var(--ui-blue-800)!important;border-color:var(--ui-blue-800)!important}

/* Tables */
body:not(.route-home):not(.route-monitor) .table-wrap{border:1px solid var(--ui-line)!important;border-radius:9px!important;background:#fff!important}
body:not(.route-home):not(.route-monitor) .table{font-size:12px}
body:not(.route-home):not(.route-monitor) .table th,
body:not(.route-home):not(.route-monitor) .table-wrap table thead th{
  padding:8px 9px!important;background:var(--ui-blue-100)!important;color:var(--ui-blue-900)!important;
  font-size:10.5px!important;font-weight:800!important;letter-spacing:.18px;text-transform:uppercase;
}
body:not(.route-home):not(.route-monitor) .table td,
body:not(.route-home):not(.route-monitor) .table-wrap table tbody td{padding:8px 9px!important;line-height:1.35;border-color:var(--ui-line-soft)!important}
body:not(.route-home):not(.route-monitor) .table tbody tr:hover td{background:#f8fbfe!important}

/* Stats / badges / notices */
body:not(.route-home):not(.route-monitor) .stats{gap:8px;margin-bottom:10px}
body:not(.route-home):not(.route-monitor) .stat{padding:10px 11px!important;min-height:72px}
body:not(.route-home):not(.route-monitor) .stat b{font-size:19px!important;color:var(--ui-blue-800)!important}
body:not(.route-home):not(.route-monitor) .stat span{font-size:11px!important}
body:not(.route-home):not(.route-monitor) :where(.pill,.badge,.status-badge){font-size:10.5px;font-weight:750}
body:not(.route-home):not(.route-monitor) :where(.notice-lite,.notice-item,.warn-box,.error-box,.readonly-box){border-radius:8px}

/* Modal contract */
.modal{border-radius:12px!important;border:1px solid var(--ui-line)!important}
.modal-head{min-height:48px;padding:10px 13px!important;background:#f3f7fc!important;border-bottom:1px solid var(--ui-line)!important}
.modal-head h2,.modal-head h3{font-size:15px!important;color:var(--ui-blue-900)!important}
.modal-body{padding:13px!important}
.modal-foot{min-height:52px;padding:9px 13px!important;background:#fbfcfe;border-top:1px solid var(--ui-line)!important}

/* Empty/loading state */
body:not(.route-home):not(.route-monitor) .empty{padding:20px 12px;color:var(--ui-muted);font-size:12px}

/* Home + Monitor inherit the same control language without flattening layout */
body.route-home :where(.btn,.portal-board-head .add),body.route-monitor .btn{border-radius:7px;font-weight:700}
body.route-home :where(.input,.select,.textarea),body.route-monitor :where(.input,.select,.textarea){border-radius:7px}
body.route-home :where(.card,.panel),body.route-monitor :where(.card,.panel){border-color:var(--ui-line)}

/* Responsive normalization */
@media(max-width:1023px){
 body:not(.route-home):not(.route-monitor) .page-head{align-items:flex-start;flex-wrap:wrap}
 body:not(.route-home):not(.route-monitor) .page-head .actions{max-width:100%}
 body:not(.route-home):not(.route-monitor) .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 body:not(.route-home):not(.route-monitor) .content{padding:9px 8px 80px!important}
 body:not(.route-home):not(.route-monitor) .page-head{min-height:0;margin-bottom:9px;padding-bottom:8px}
 body:not(.route-home):not(.route-monitor) .page-head h1{font-size:18px!important}
 body:not(.route-home):not(.route-monitor) .page-head p{font-size:11px}
 body:not(.route-home):not(.route-monitor) :where(.card-head,.panel-head,.ui-card-head){min-height:40px!important;padding:7px 9px!important}
 body:not(.route-home):not(.route-monitor) :where(.card-body,.panel-body,.ui-card-body){padding:9px!important}
 body:not(.route-home):not(.route-monitor) :where(.toolbar,.kpi-toolbar,.personnel-toolbar){padding:7px;display:grid!important;grid-template-columns:1fr!important}
 body:not(.route-home):not(.route-monitor) :where(.input,.select,.textarea){font-size:16px}
 body:not(.route-home):not(.route-monitor) .btn{min-height:40px;font-size:12px}
 body:not(.route-home):not(.route-monitor) .stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body:not(.route-home):not(.route-monitor) .stat{min-height:66px;padding:8px 9px!important}
 body:not(.route-home):not(.route-monitor) .stat b{font-size:17px!important}
 .modal-backdrop{align-items:end;padding:0!important}
 .modal{width:100%!important;max-width:none!important;max-height:94vh!important;border-radius:16px 16px 0 0!important}
 .modal-head{min-height:46px}.modal-body{padding:11px!important}.modal-foot{padding:8px 10px!important}
}
@media(max-width:420px){
 body:not(.route-home):not(.route-monitor) .stats{grid-template-columns:1fr 1fr!important}
 body:not(.route-home):not(.route-monitor) .card-head h2,
 body:not(.route-home):not(.route-monitor) .card-head h3{font-size:12px!important}
}
@media(min-width:1920px){
 body:not(.route-home):not(.route-monitor) .content{max-width:1760px}
 body:not(.route-home):not(.route-monitor) .page-head h1{font-size:22px!important}
 body:not(.route-home):not(.route-monitor) .table{font-size:12.5px}
}


/* M1.5.19 — final unified utility layer: replace residual inline presentation */
.is-hidden{display:none!important}
.mt-6{margin-top:6px!important}
.mt-8{margin-top:8px!important}
.mt-10{margin-top:10px!important}
.mt-12{margin-top:12px!important}
.inline-actions{display:flex;gap:8px;align-items:center;min-width:0}
.inline-actions>.input,.inline-actions>.select{min-width:0;flex:1}
.check-row{display:flex;gap:8px;align-items:center;margin:5px 0 12px;min-height:34px}
.check-row input[type="checkbox"]{flex:0 0 auto}
.break-all{overflow-wrap:anywhere;word-break:break-word}
.copy-code{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;user-select:all;overflow-wrap:anywhere}
.copy-code-lg{font-size:20px;line-height:1.35}
.pre-wrap{white-space:pre-wrap;font-family:inherit;margin:0;overflow:auto;max-width:100%}
.monitor-task-fill{display:block;height:100%;border-radius:inherit}
.pct-0{width:0%}
.pct-5{width:5%}
.pct-10{width:10%}
.pct-15{width:15%}
.pct-20{width:20%}
.pct-25{width:25%}
.pct-30{width:30%}
.pct-35{width:35%}
.pct-40{width:40%}
.pct-45{width:45%}
.pct-50{width:50%}
.pct-55{width:55%}
.pct-60{width:60%}
.pct-65{width:65%}
.pct-70{width:70%}
.pct-75{width:75%}
.pct-80{width:80%}
.pct-85{width:85%}
.pct-90{width:90%}
.pct-95{width:95%}
.pct-100{width:100%}

@media(max-width:767px){
  .inline-actions{flex-wrap:wrap}
  .inline-actions>.input,.inline-actions>.select{flex-basis:100%;width:100%}
  .copy-code-lg{font-size:16px}
  .check-row{align-items:flex-start}
}

/* ================================================================
   M1.5.20 — LAYOUT + QUICK ASSIGN FINAL FIX
   Fixes based on real screenshots: compact library, quick task intake,
   daily-report modal table, monitor grid and chat/doc consistency.
   ================================================================ */
.home-quick-assign-v152{margin:10px 0 12px;padding:10px 12px;border:1px dashed #9db9e7;border-radius:12px;background:linear-gradient(90deg,#f5f9ff,#fff);display:flex;align-items:center;justify-content:space-between;gap:12px;transition:.15s ease}
.home-quick-assign-v152.over{border-color:#315dcc;background:#edf4ff;box-shadow:0 0 0 3px rgba(49,93,204,.08)}
.home-quick-assign-copy{display:flex;align-items:center;gap:10px;min-width:0}.home-quick-assign-copy>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e8efff;color:#315dcc;font-size:17px;flex:0 0 auto}.home-quick-assign-copy>div{display:flex;flex-direction:column;min-width:0}.home-quick-assign-copy b{font-size:12px;color:#1d337a}.home-quick-assign-copy small{font-size:10.5px;color:#66758d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-quick-assign-actions{display:flex;gap:7px;flex:0 0 auto}

/* Daily team report: no clipped action column, cleaner CBCS name/position */
.daily-team-table-wrap{width:100%;overflow:auto!important}.daily-team-table{width:100%;min-width:820px;table-layout:fixed}.daily-team-table th:nth-child(1){width:34%}.daily-team-table th:nth-child(2){width:15%}.daily-team-table th:nth-child(3){width:11%}.daily-team-table th:nth-child(4){width:18%}.daily-team-table th:nth-child(5){width:22%}.daily-team-table td:first-child b{display:block;margin:0 0 3px;font-size:13px}.daily-team-table td:first-child small{display:block;color:#6d7b8f;white-space:normal}.daily-team-table td:last-child .btn{white-space:nowrap;max-width:100%}.daily-team-toolbar{flex-wrap:wrap;gap:10px!important}.daily-team-toolbar>.btn{margin-left:auto}.stats.compact{flex-wrap:wrap}.stats.compact>div{min-width:82px!important}

/* Monitor: use the available width; do not leave a dead third column when chat is hidden */
body.route-monitor .monitor-digital-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.route-monitor .monitor-digital-grid.chat-hidden{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.route-monitor .monitor-digital-grid.chat-hidden .monitor-report-focus,body.route-monitor .monitor-digital-grid.chat-hidden .monitor-attention-focus{grid-column:auto!important}
body.route-monitor .monitor-toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
body.route-monitor .monitor-quick-assign-btn{background:#315dcc!important;border-color:#315dcc!important;color:#fff!important}

/* Documents: intake hero is a working tool, not a large banner */
.module-docs-refine .module-intake-hero{padding:12px 14px!important;min-height:0!important;border-radius:12px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 14px!important;align-items:center!important}
.module-docs-refine .module-intake-hero h2{font-size:17px!important;margin-bottom:2px!important}.module-docs-refine .module-intake-hero p{margin:0!important;font-size:11px!important}.module-docs-refine .module-kicker{font-size:9px!important}.module-docs-refine .intake-actions{display:flex!important;gap:7px!important}.module-docs-refine .drop-zone{grid-column:1/-1!important;min-height:54px!important;padding:10px!important;font-size:12px!important;border-radius:9px!important}

/* Library: shrink the blue/purple legal import block dramatically */
.legal-library-panel.legal-library-panel-compact{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr)!important;gap:12px!important;padding:12px 14px!important;margin-bottom:10px!important;border-radius:12px!important;min-height:0!important}
.legal-library-panel-compact .legal-library-copy span{font-size:9px!important;letter-spacing:.7px}.legal-library-panel-compact .legal-library-copy h2{font-size:18px!important;line-height:1.15!important;margin:3px 0!important}.legal-library-panel-compact .legal-library-copy p{font-size:10.5px!important;line-height:1.4!important;margin:0!important;max-width:440px}.legal-library-panel-compact .legal-library-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}.legal-library-panel-compact .btn{min-height:34px!important;padding:6px 9px!important;font-size:10.5px!important}
#librarySmartBar .drop-zone{min-height:70px!important;padding:14px!important}#librarySmartBar .card-body{padding:10px!important}

/* Chat: reduce empty canvas feel and keep navigation/action density consistent */
.module-chat-refine .chat-shell{min-height:calc(100vh - 205px)!important}.module-chat-refine .chat-empty{min-height:330px!important}.module-chat-refine .chat-empty:after{content:"Chọn một cuộc trò chuyện ở bên trái hoặc dùng + Chat riêng / + Nhóm để bắt đầu.";display:block;max-width:420px;margin:8px auto 0;color:#8a97aa;font-size:11px;text-align:center}.module-chat-refine .chat-sidebar{min-width:0!important}

@media(max-width:1400px){body.route-monitor .monitor-digital-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.route-monitor .monitor-chat-panel{grid-column:1/-1!important}}
@media(max-width:900px){.home-quick-assign-v152{align-items:stretch;flex-direction:column}.home-quick-assign-copy small{white-space:normal}.home-quick-assign-actions{width:100%}.home-quick-assign-actions .btn{flex:1}.legal-library-panel.legal-library-panel-compact{grid-template-columns:1fr!important}.legal-library-panel-compact .legal-library-actions{justify-content:flex-start!important}.module-docs-refine .module-intake-hero{grid-template-columns:1fr!important}.module-docs-refine .intake-actions{justify-content:flex-start!important}.module-docs-refine .drop-zone{grid-column:1!important}}
@media(max-width:767px){body.route-monitor .monitor-digital-grid,body.route-monitor .monitor-digital-grid.chat-hidden{grid-template-columns:1fr!important}.daily-team-table{min-width:700px}.daily-team-toolbar>.btn{margin-left:0;width:100%}.stats.compact{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.module-docs-refine .intake-actions{display:grid!important;grid-template-columns:1fr!important}.home-quick-assign-actions{display:grid;grid-template-columns:1fr}.legal-library-panel-compact .legal-library-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.legal-library-panel-compact .btn{width:100%!important}}
@media(max-width:420px){.legal-library-panel-compact .legal-library-actions{grid-template-columns:1fr!important}.home-quick-assign-copy>span{display:none}}

/* M1.5.21 — reliable quick assign + Home quick chat */
.home-chat-v152{margin-top:12px;overflow:hidden}
.home-quick-chat-body{padding:10px 12px 12px;display:grid;gap:9px;min-height:170px}
.home-chat-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.home-chat-messages{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto;padding:4px 2px}
.home-chat-message{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;padding:7px 9px;border:1px solid #e0e8f5;border-radius:9px;background:#fff;font-size:11px}
.home-chat-message.mine{background:#f0f4ff;border-color:#cbd8fa}.home-chat-message b{color:#233b88;white-space:nowrap}.home-chat-message span{min-width:0;overflow-wrap:anywhere;color:#33445f}.home-chat-message time{font-size:9.5px;color:#8290a6;white-space:nowrap}
.home-chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.home-chat-empty{min-height:135px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;color:#718098}.home-chat-empty b{color:#243a82}.home-chat-empty>div{display:flex;gap:7px}
@media(max-width:767px){.home-chat-tools,.home-chat-compose{grid-template-columns:1fr}.home-chat-message{grid-template-columns:1fr}.home-chat-message time{justify-self:start}.home-title-actions-v144{flex-wrap:wrap}}


/* ================================================================
   M1.5.22 — ROUTE HEADER + PORTABLE CATALOG IMPORT UI FIX
   Keep every non-home work page inside the same operational shell.
   ================================================================ */
body:not(.route-home):not(.route-monitor) .topbar{
  display:grid!important;
  grid-template-columns:auto minmax(250px,330px) minmax(280px,1fr) auto!important;
  align-items:center!important;
  min-height:64px!important;height:64px!important;
  padding:0 16px!important;gap:12px!important;
  background:linear-gradient(90deg,#17377f 0%,#244aa5 58%,#4122a6 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 8px 20px rgba(22,48,109,.16)!important;
}
body:not(.route-home):not(.route-monitor) .topbar .topbar-nav{
  display:flex!important;align-items:center!important;gap:6px!important;
  grid-column:1!important;min-width:max-content!important;
}
body:not(.route-home):not(.route-monitor) .topbar .topbar-nav .icon-btn{
  display:grid!important;place-items:center!important;
  width:38px!important;height:38px!important;min-width:38px!important;
  border-radius:9px!important;background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;color:#fff!important;
}
body:not(.route-home):not(.route-monitor) .topbar .back-btn,
body:not(.route-home):not(.route-monitor) .topbar .home-btn,
body:not(.route-home):not(.route-monitor) .topbar .menu-toggle{display:grid!important}
body:not(.route-home):not(.route-monitor) .topbar .unit{
  grid-column:2!important;display:flex!important;align-items:center!important;gap:9px!important;
  min-width:0!important;max-width:330px!important;
}
body:not(.route-home):not(.route-monitor) .topbar .unit .top-emblem{width:40px!important;height:40px!important;flex:0 0 40px!important}
body:not(.route-home):not(.route-monitor) .topbar .unit strong{font-size:14px!important;color:#fff!important;font-weight:900!important}
body:not(.route-home):not(.route-monitor) .topbar .unit span{display:block!important;font-size:10px!important;color:rgba(255,255,255,.9)!important}
body:not(.route-home):not(.route-monitor) .topbar .searchbox{
  grid-column:3!important;display:flex!important;width:100%!important;min-width:0!important;max-width:none!important;
  height:40px!important;border-radius:10px!important;background:#fff!important;border:1px solid rgba(255,255,255,.75)!important;
}
body:not(.route-home):not(.route-monitor) .topbar .top-actions{grid-column:4!important;display:flex!important;align-items:center!important;justify-self:end!important;gap:7px!important}
body:not(.route-home):not(.route-monitor) .topbar .status-pill{background:rgba(255,255,255,.11)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important}
body:not(.route-home):not(.route-monitor) .topbar .user-mini{color:#fff!important}

@media(max-width:1180px){
  body:not(.route-home):not(.route-monitor) .topbar{grid-template-columns:auto minmax(210px,280px) minmax(220px,1fr) auto!important}
  body:not(.route-home):not(.route-monitor) .topbar .status-pill{display:none!important}
}
@media(max-width:820px){
  body:not(.route-home):not(.route-monitor) .topbar{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:'nav unit actions' 'search search search'!important;
    grid-template-rows:48px 44px!important;height:98px!important;min-height:98px!important;
    padding:4px 8px 6px!important;gap:4px 7px!important;
  }
  body:not(.route-home):not(.route-monitor) .topbar .topbar-nav{grid-area:nav!important}
  body:not(.route-home):not(.route-monitor) .topbar .unit{grid-area:unit!important;max-width:none!important}
  body:not(.route-home):not(.route-monitor) .topbar .searchbox{grid-area:search!important;height:38px!important}
  body:not(.route-home):not(.route-monitor) .topbar .top-actions{grid-area:actions!important}
  body:not(.route-home):not(.route-monitor) .topbar .user-mini{display:none!important}
  body:not(.route-home):not(.route-monitor) .topbar .topbar-nav .icon-btn{width:36px!important;height:36px!important;min-width:36px!important}
}
@media(max-width:520px){
  body:not(.route-home):not(.route-monitor) .topbar .unit span{display:none!important}
  body:not(.route-home):not(.route-monitor) .topbar .unit strong{font-size:12px!important}
  body:not(.route-home):not(.route-monitor) .topbar .unit .top-emblem{width:34px!important;height:34px!important;flex-basis:34px!important}
  body:not(.route-home):not(.route-monitor) .topbar .top-actions [data-notice-toggle]{display:none!important}
}

/* M1.5.23 — HOME REGULATIONS CARD REFINEMENT */
body.route-home .home-regulations-v144{
  min-height:0!important;
  overflow:hidden!important;
}
body.route-home .home-regulations-v144 .home-card-title-v144{
  min-height:54px!important;
  padding:10px 14px!important;
  border-bottom:1px solid #e7edf6!important;
}
body.route-home .home-regulations-v144 .home-card-title-v144 b{
  font-size:18px!important;
  letter-spacing:.1px!important;
}
body.route-home .home-regulations-v144 .home-card-title-v144 small{
  font-size:11px!important;
  margin-left:6px!important;
}
body.route-home .home-reg-list-v144{
  min-height:0!important;
  max-height:286px!important;
  overflow-y:auto!important;
  padding:4px 8px 8px!important;
  scrollbar-width:thin;
  scrollbar-color:#b7c6da transparent;
}
body.route-home .home-reg-list-v144::-webkit-scrollbar{width:6px}
body.route-home .home-reg-list-v144::-webkit-scrollbar-thumb{background:#b7c6da;border-radius:99px}
body.route-home .home-reg-list-v144>button.reg-row-v1523{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  min-height:58px!important;
  padding:9px 10px!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid #edf1f6!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.route-home .home-reg-list-v144>button.reg-row-v1523:last-child{border-bottom:0!important}
body.route-home .home-reg-list-v144>button.reg-row-v1523:hover{background:#f8fbff!important}
body.route-home .home-reg-list-v144 .reg-icon{
  width:32px!important;height:32px!important;border-radius:9px!important;font-size:15px!important;
}
body.route-home .home-reg-list-v144 .reg-copy{min-width:0!important}
body.route-home .home-reg-list-v144 .reg-copy b{
  display:block!important;
  font-size:13px!important;
  line-height:1.28!important;
  color:#173b72!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.route-home .home-reg-list-v144 .reg-copy small{
  display:block!important;
  margin-top:3px!important;
  font-size:10.5px!important;
  line-height:1.3!important;
  color:#73849b!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.route-home .reg-meta-v1523{
  min-width:112px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:4px!important;
}
body.route-home .reg-meta-v1523 em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:118px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:9.5px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:800!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
}
body.route-home .reg-meta-v1523 em.active{background:#eaf8f0!important;color:#18794e!important}
body.route-home .reg-meta-v1523 em.new{background:#fff3da!important;color:#a85d00!important}
body.route-home .reg-meta-v1523 em.expired{background:#fff0f1!important;color:#bf3340!important}
body.route-home .reg-meta-v1523 time{
  display:block!important;
  font-size:9.5px!important;
  line-height:1!important;
  color:#7c8aa0!important;
  font-weight:650!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  body.route-home .home-regulations-v144 .home-card-title-v144 small{display:none!important}
  body.route-home .home-reg-list-v144>button.reg-row-v1523{grid-template-columns:34px minmax(0,1fr) auto!important;padding:9px 8px!important}
  body.route-home .reg-meta-v1523{min-width:0!important}
  body.route-home .reg-meta-v1523 time{display:none!important}
  body.route-home .reg-meta-v1523 em{font-size:9px!important;padding:4px 7px!important}
}
@media(max-width:480px){
  body.route-home .home-reg-list-v144>button.reg-row-v1523{grid-template-columns:32px minmax(0,1fr)!important}
  body.route-home .reg-meta-v1523{display:none!important}
  body.route-home .home-reg-list-v144 .reg-copy b{font-size:12px!important}
  body.route-home .home-reg-list-v144 .reg-copy small{font-size:10px!important}
}

/* M1.5.23 — ROUTE HEADER (preserved unified non-home navigation layer) */

/* M1.5.24 — Home information actions and clickable operational stats */
.home-info-v144 .home-card-title-v144 .home-title-actions-v144{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.portal-stat-action{appearance:none;text-align:left;width:100%;font:inherit;cursor:pointer;position:relative}
.portal-stat-action>i{margin-left:auto;font-style:normal;font-size:24px;line-height:1;opacity:.45;transition:transform .16s ease,opacity .16s ease}
.portal-stat-action:hover>i{transform:translateX(3px);opacity:.85}
.portal-stat-action:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(51,40,140,.10)}
.portal-file-icon.duty{background:#f0edff;color:#5941cf}
@media(max-width:767px){.home-info-v144 .home-card-title-v144{align-items:flex-start}.home-info-v144 .home-card-title-v144 .home-title-actions-v144{width:100%;justify-content:flex-start}.home-info-v144 .home-card-title-v144 .home-title-actions-v144 button{flex:1;min-width:120px}.portal-stat-action>i{font-size:20px}}

/* ========================================================================
   DHTN M1.5.25 - MOBILE UI FINAL
   Đồng bộ giao diện điện thoại / tablet theo một ngôn ngữ thiết kế duy nhất.
   ======================================================================== */
@media(max-width:767px){
  html,body{overflow-x:hidden!important;background:#eef4fb!important}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  body.route-home .main,body:not(.route-home) .main{margin-left:0!important;width:100%!important;min-width:0!important}
  body.route-home .sidebar,body:not(.route-home) .sidebar{position:fixed!important;z-index:120!important}

  /* Header mobile: 1 hàng nhận diện + 1 hàng tìm kiếm, không bị cắt chữ */
  body.route-home .topbar,body:not(.route-monitor) .topbar{
    display:grid!important;grid-template-columns:52px minmax(0,1fr) 48px!important;
    grid-template-areas:'nav unit actions' 'search search search'!important;
    grid-template-rows:54px 48px!important;height:110px!important;min-height:110px!important;
    padding:5px 12px 8px!important;gap:4px 8px!important;
    background:linear-gradient(100deg,#0a3688 0%,#0c55b9 100%)!important;
    border:0!important;box-shadow:0 5px 18px rgba(13,61,139,.16)!important
  }
  body.route-home .topbar .topbar-nav,body:not(.route-monitor) .topbar .topbar-nav{grid-area:nav!important;display:flex!important;align-items:center!important;gap:0!important;min-width:0!important}
  body.route-home .topbar .topbar-nav .back-btn,body.route-home .topbar .topbar-nav .home-btn{display:none!important}
  body:not(.route-home):not(.route-monitor) .topbar .topbar-nav .back-btn{display:inline-flex!important}
  body:not(.route-home):not(.route-monitor) .topbar .topbar-nav .home-btn{display:none!important}
  body.route-home .topbar .menu-toggle,body:not(.route-monitor) .topbar .menu-toggle{display:inline-flex!important;width:46px!important;height:46px!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
  body:not(.route-home):not(.route-monitor) .topbar .back-btn{width:46px!important;height:46px!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important}
  body.route-home .topbar .unit,body:not(.route-monitor) .topbar .unit{grid-area:unit!important;display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important;max-width:none!important}
  body.route-home .topbar .unit .top-emblem,body:not(.route-monitor) .topbar .unit .top-emblem{width:42px!important;height:42px!important;flex:0 0 42px!important}
  body.route-home .topbar .unit>div,body:not(.route-monitor) .topbar .unit>div{min-width:0!important}
  body.route-home .topbar .unit strong,body:not(.route-monitor) .topbar .unit strong{display:block!important;font-size:14px!important;line-height:1.05!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.route-home .topbar .unit span,body:not(.route-monitor) .topbar .unit span{display:block!important;font-size:10px!important;color:#dceaff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin-top:3px!important}
  body.route-home .topbar .searchbox,body:not(.route-monitor) .topbar .searchbox{grid-area:search!important;display:flex!important;width:100%!important;height:44px!important;border-radius:13px!important;background:#fff!important;border:1px solid #dbe7f5!important;box-shadow:0 5px 14px rgba(15,42,88,.10)!important}
  body.route-home .topbar .searchbox input,body:not(.route-monitor) .topbar .searchbox input{font-size:16px!important;padding:0 12px!important;min-width:0!important}
  body.route-home .topbar .top-actions,body:not(.route-monitor) .topbar .top-actions{grid-area:actions!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:0!important;min-width:0!important}
  body.route-home .topbar .top-actions>*:not(.account-menu-wrap),body:not(.route-monitor) .topbar .top-actions>*:not(.account-menu-wrap){display:none!important}
  body.route-home .topbar .account-menu-wrap .power-btn,body:not(.route-monitor) .topbar .account-menu-wrap .power-btn{display:inline-flex!important;width:44px!important;height:44px!important;border-radius:12px!important;color:#fff!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important}

  /* Trang chủ */
  body.route-home .content.home-page{padding:0!important;background:#eef4fb!important}
  body.route-home .home-ref-v144{padding:10px 10px calc(86px + env(safe-area-inset-bottom))!important;max-width:none!important}
  body.route-home .home-command-hero-v153{min-height:0!important;padding:16px!important;margin:0 0 10px!important;border-radius:18px!important;display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  body.route-home .home-command-brand-v153{gap:12px!important;align-items:center!important}
  body.route-home .home-command-brand-v153 img{width:56px!important;height:56px!important}
  body.route-home .home-command-brand-v153 span{font-size:12px!important}
  body.route-home .home-command-brand-v153 b{font-size:26px!important;line-height:1.02!important;max-width:260px!important}
  body.route-home .home-command-brand-v153 small{font-size:12px!important;margin-top:6px!important;line-height:1.25!important}
  body.route-home .home-command-clock-v153{width:auto!important;min-width:0!important;max-width:none!important;padding:10px 12px!important;border-radius:14px!important;text-align:center!important}
  body.route-home .home-command-clock-v153 b{font-size:27px!important}
  body.route-home .home-command-clock-v153 span{font-size:12px!important}

  /* 3 KPI luôn cùng một hàng trên điện thoại */
  body.route-home .home-hero-metrics-v152{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
  body.route-home .home-hero-card-v152{min-height:116px!important;padding:11px 9px!important;border-radius:16px!important;box-shadow:0 8px 18px rgba(15,65,160,.12)!important}
  body.route-home .home-hero-card-v152 small{font-size:9px!important;line-height:1.15!important;max-width:100%!important;min-height:21px!important}
  body.route-home .home-hero-card-v152 b{font-size:30px!important;margin:6px 0 5px!important}
  body.route-home .home-hero-card-v152 span{font-size:9px!important;line-height:1.2!important}
  body.route-home .home-hero-card-v152:after{right:6px!important;bottom:8px!important;width:42px!important;height:32px!important}

  /* Giao việc nhanh compact */
  body.route-home .home-quick-assign-v152{margin:9px 0!important;padding:12px!important;border-radius:16px!important;gap:10px!important}
  body.route-home .home-quick-assign-copy{gap:10px!important;align-items:flex-start!important}
  body.route-home .home-quick-assign-copy>span{display:grid!important;place-items:center!important;width:40px!important;height:40px!important;flex:0 0 40px!important;border-radius:12px!important;background:#eaf2ff!important;font-size:20px!important}
  body.route-home .home-quick-assign-copy b{font-size:13px!important;line-height:1.2!important}
  body.route-home .home-quick-assign-copy small{font-size:10.5px!important;line-height:1.35!important;margin-top:3px!important}
  body.route-home .home-quick-assign-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  body.route-home .home-quick-assign-actions .btn{height:44px!important;min-height:44px!important;border-radius:12px!important;font-size:12px!important;padding:0 8px!important}

  /* Hoạt động gần đây: một ảnh full-width, không còn cột hẹp + khoảng trắng lớn */
  body.route-home .home-top-grid-v144{display:flex!important;flex-direction:column!important;gap:10px!important}
  body.route-home .home-activity-v144{min-height:0!important;width:100%!important}
  body.route-home .home-card-title-v144{min-height:48px!important;padding:0 12px!important;gap:8px!important}
  body.route-home .home-card-title-v144 b{font-size:14px!important;white-space:normal!important;line-height:1.15!important}
  body.route-home .home-card-title-v144 small{display:none!important}
  body.route-home .home-title-actions-v144{gap:5px!important}
  body.route-home .home-card-title-v144 button{font-size:10px!important}
  body.route-home .home-card-title-v144 .solid{height:34px!important;padding:0 10px!important;font-size:10px!important}
  body.route-home .home-feature-v144{display:block!important;height:auto!important;padding:10px!important}
  body.route-home .home-feature-main-v144{height:auto!important}
  body.route-home .home-feature-hero-v144{height:220px!important;border-radius:14px!important}
  body.route-home .home-feature-overlay-v144{padding:58px 14px 14px!important}
  body.route-home .home-feature-overlay-v144 em{font-size:9px!important;padding:5px 8px!important}
  body.route-home .home-feature-overlay-v144 b{font-size:19px!important;line-height:1.15!important}
  body.route-home .home-feature-overlay-v144 span{font-size:10px!important;margin-top:7px!important}
  body.route-home .home-feature-side-v144{display:none!important}
  body.route-home .home-feature-arrow-v144{width:40px!important;height:40px!important;font-size:22px!important;top:44%!important}

  /* Daily + attention nằm tuần tự, không bóp cột */
  body.route-home .home-right-top-v144{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
  body.route-home .home-daily-v144{min-height:0!important;padding:12px!important;border-radius:16px!important}
  body.route-home .home-daily-v144 .daily-report-home-copy{gap:9px!important}
  body.route-home .home-daily-v144 .daily-report-icon{width:38px!important;height:38px!important;flex:0 0 38px!important}
  body.route-home .home-daily-v144 b{font-size:15px!important}
  body.route-home .home-daily-v144 small{font-size:10.5px!important;line-height:1.3!important}
  body.route-home .home-daily-v144 .actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:6px!important;margin-top:10px!important}
  body.route-home .home-daily-v144 .btn.small{height:42px!important;padding:0 6px!important;font-size:10.5px!important;white-space:normal!important;line-height:1.1!important}
  body.route-home .home-attention-v144{min-height:0!important}
  body.route-home .home-attention-list-v144 button{grid-template-columns:36px minmax(0,1fr) auto!important;min-height:54px!important;padding:9px 10px!important;gap:8px!important}
  body.route-home .home-attention-list-v144 i{width:31px!important;height:31px!important;font-size:14px!important}
  body.route-home .home-attention-list-v144 b{font-size:12px!important}
  body.route-home .home-attention-list-v144 .tag,body.route-home .home-attention-list-v144 span{padding:6px 8px!important;font-size:9px!important}

  /* Thông tin mới / Quy định / thống kê / chat */
  body.route-home .home-middle-grid-v144{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:10px!important}
  body.route-home .home-info-v144,body.route-home .home-regulations-v144{min-height:0!important}
  body.route-home .home-info-tabs-v144{display:flex!important;overflow-x:auto!important;gap:5px!important;padding:5px!important;scrollbar-width:none!important}
  body.route-home .home-info-tabs-v144::-webkit-scrollbar{display:none!important}
  body.route-home .home-info-tabs-v144 button{flex:0 0 auto!important;min-width:116px!important;height:40px!important;font-size:10px!important;border-radius:10px!important}
  body.route-home .home-info-list-v144,body.route-home .home-reg-list-v144{min-height:90px!important;max-height:230px!important}
  body.route-home .portal-info-row,body.route-home .home-reg-list-v144>button{grid-template-columns:34px minmax(0,1fr) auto!important;gap:8px!important;padding:9px 10px!important;min-height:52px!important}
  body.route-home .portal-info-copy b,body.route-home .home-reg-list-v144 b{font-size:11.5px!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  body.route-home .portal-info-copy small,body.route-home .home-reg-list-v144 small{font-size:9.5px!important}
  body.route-home .home-reg-list-v144 time{display:none!important}
  body.route-home .home-reg-list-v144 em{font-size:8px!important;padding:5px 6px!important}
  body.route-home .home-stats-v144{margin-top:10px!important}
  body.route-home .home-stats-grid-v144{grid-template-columns:1fr 1fr!important;gap:7px!important;padding:8px!important}
  body.route-home .home-stats-grid-v144 .portal-stat{min-height:70px!important;padding:8px!important}
  body.route-home .home-chat-v152{margin-top:10px!important}
  body.route-home .home-chat-v152 .home-card-title-v144{align-items:flex-start!important;flex-wrap:wrap!important;padding-top:9px!important;padding-bottom:9px!important}
  body.route-home .home-chat-v152 .home-title-actions-v144{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr 1fr!important}
  body.route-home .home-chat-v152 .home-title-actions-v144 button{height:34px!important;padding:0 5px!important;font-size:9.5px!important}

  /* Trang chức năng mobile: header + content cân đối */
  body:not(.route-home):not(.route-monitor) .content{padding:10px 10px calc(84px + env(safe-area-inset-bottom))!important;background:#eef4fb!important}
  body:not(.route-home):not(.route-monitor) .page-head{padding:12px!important;margin-bottom:10px!important;border-radius:14px!important}
  body:not(.route-home):not(.route-monitor) .page-head h1{font-size:20px!important;line-height:1.1!important}
  body:not(.route-home):not(.route-monitor) .page-head p{display:block!important;font-size:11px!important;line-height:1.35!important;margin-top:4px!important}
  body:not(.route-home):not(.route-monitor) .module-toolbar-card,body:not(.route-home):not(.route-monitor) .module-content-card,body:not(.route-home):not(.route-monitor) .card{border-radius:14px!important}

  /* Bottom nav đồng bộ và không che nội dung */
  .mobile-bottom{display:grid!important;height:72px!important;grid-template-columns:1fr 1fr 72px 1fr 1fr!important;padding:5px 8px calc(5px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.97)!important;border-top:1px solid #dbe6f2!important;box-shadow:0 -8px 24px rgba(15,46,91,.11)!important;backdrop-filter:blur(16px)!important}
  .mobile-bottom button{font-size:10px!important;color:#4d6484!important;font-weight:800!important}
  .mobile-bottom button span{font-size:21px!important;color:#0b4d92!important}
  .mobile-bottom .mobile-add{width:58px!important;height:58px!important;margin-bottom:8px!important;background:linear-gradient(180deg,#0d5db2,#073f7b)!important;box-shadow:0 10px 22px rgba(7,63,123,.28)!important}
  .mobile-bottom .mobile-add:after{content:'Giao việc';position:absolute;bottom:-15px;font-size:9px;font-weight:800;color:#4d6484;white-space:nowrap}
}
@media(max-width:390px){
  body.route-home .home-command-brand-v153 b{font-size:23px!important}
  body.route-home .home-hero-card-v152{padding:10px 7px!important;min-height:110px!important}
  body.route-home .home-hero-card-v152 small{font-size:8.5px!important}
  body.route-home .home-hero-card-v152 b{font-size:27px!important}
  body.route-home .home-hero-card-v152 span{font-size:8.3px!important}
  body.route-home .home-feature-hero-v144{height:205px!important}
  body.route-home .home-feature-overlay-v144 b{font-size:17px!important}
  body.route-home .home-quick-assign-actions{grid-template-columns:1fr!important}
  body.route-home .home-daily-v144 .actions{grid-template-columns:1fr!important}
  body.route-home .home-chat-v152 .home-title-actions-v144{grid-template-columns:1fr!important}
}
@media(min-width:768px) and (max-width:1100px){
  body.route-home .home-hero-metrics-v152{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.route-home .home-top-grid-v144,body.route-home .home-middle-grid-v144{grid-template-columns:1fr!important}
  body.route-home .home-right-top-v144{grid-template-columns:1fr 1fr!important;display:grid!important}
  body.route-home .home-feature-v144{grid-template-columns:1fr 240px!important}
}

/* ========================================================================
   DHTN M1.5.26 - FULL MOBILE ALL MODULES AUDIT
   Chuẩn hóa tất cả route nghiệp vụ trên điện thoại, không thay nghiệp vụ.
   ======================================================================== */
@media(max-width:767px){
  html,body{max-width:100%;overflow-x:hidden!important}
  body{font-size:14px!important;-webkit-text-size-adjust:100%}
  .app-shell,.main,.content,.content-wrap,.page-wrap,.module-page{min-width:0!important;max-width:100%!important}

  /* Header chung */
  body:not(.route-monitor) .topbar{min-height:66px!important;height:auto!important;padding:8px 10px!important;gap:8px!important}
  body:not(.route-monitor) .topbar .brand,body:not(.route-monitor) .top-brand{min-width:0!important;flex:1!important}
  body:not(.route-monitor) .topbar .brand b,body:not(.route-monitor) .top-brand b{font-size:15px!important;line-height:1.1!important;white-space:normal!important}
  body:not(.route-monitor) .topbar .brand small,body:not(.route-monitor) .top-brand small{font-size:10px!important}
  body:not(.route-monitor) .topbar-search,.route-search{order:5!important;flex:0 0 100%!important;width:100%!important;max-width:none!important;margin:2px 0 0!important}
  body:not(.route-monitor) .topbar-search input,.route-search input{height:44px!important;font-size:16px!important;border-radius:13px!important}

  /* Page head và toolbar */
  .page-head,.page-header,.module-head,.section-head{min-width:0!important;max-width:100%!important}
  .page-head{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important}
  .page-head h1,.page-header h1,.module-head h1{font-size:20px!important;line-height:1.15!important;margin:0!important}
  .page-head p,.page-header p,.module-head p{font-size:11px!important;line-height:1.35!important;margin:0!important}
  .page-head .actions,.page-header .actions,.module-head .actions{width:100%!important;display:flex!important;flex-wrap:wrap!important;gap:7px!important}
  .toolbar,.module-toolbar,.filterbar,.periodic-toolbar,.actions.toolbar,.actionbar{display:flex!important;flex-wrap:wrap!important;gap:7px!important;align-items:stretch!important;min-width:0!important}
  .toolbar>* ,.module-toolbar>* ,.filterbar>* ,.periodic-toolbar>*{min-width:0!important;max-width:100%!important}
  .toolbar .input,.toolbar .select,.module-toolbar .input,.module-toolbar .select,.filterbar .input,.filterbar .select{width:100%!important;min-width:0!important}

  /* Nút / input đủ lớn để bấm ngón tay */
  .btn,button.btn{min-height:42px!important;border-radius:11px!important;padding:8px 11px!important;font-size:12px!important;line-height:1.15!important}
  .btn.small,button.btn.small{min-height:38px!important;height:auto!important;font-size:11px!important}
  input.input,select.select,textarea.textarea,.input,.select,textarea{font-size:16px!important;max-width:100%!important;box-sizing:border-box!important}
  input.input,select.select,.input,.select{min-height:42px!important}
  textarea.textarea,textarea{min-height:88px!important}
  label{min-width:0!important;max-width:100%!important}

  /* Form: mọi grid chuyển 1 cột, ngoại trừ nhóm được đánh dấu mobile-two */
  .form-grid,.form-grid-2,.form-grid-3,.form-grid-4,.grid-2,.grid-3,.grid-4,.detail-grid,.settings-grid,.admin-grid,.kpi-grid,.summary-grid,.stats-grid{grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
  .mobile-two{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Card */
  .card,.panel,.module-content-card,.module-toolbar-card,.settings-card,.admin-card,.kpi-card,.summary-card{max-width:100%!important;border-radius:14px!important;margin-left:0!important;margin-right:0!important}
  .card-head,.panel-head,.card-header{padding:11px 12px!important;gap:7px!important;flex-wrap:wrap!important}
  .card-head h2,.panel-head h2,.card-header h2{font-size:15px!important;line-height:1.2!important}
  .card-body,.panel-body{padding:11px 12px!important}

  /* Tabs cuộn ngang thay vì vỡ dòng */
  .tabs,.tabbar,.doc-tabs,.library-tabs,.report-tabs,.settings-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100%!important;gap:5px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}
  .tabs::-webkit-scrollbar,.tabbar::-webkit-scrollbar,.doc-tabs::-webkit-scrollbar,.library-tabs::-webkit-scrollbar,.report-tabs::-webkit-scrollbar,.settings-tabs::-webkit-scrollbar{display:none!important}
  .tabs button,.tabbar button,.doc-tabs button,.library-tabs button,.report-tabs button,.settings-tabs button{flex:0 0 auto!important;white-space:nowrap!important;min-height:40px!important;font-size:11px!important}

  /* Bảng dữ liệu: luôn có vùng cuộn riêng, không làm vỡ toàn trang */
  .table-wrap,.table-scroll,.responsive-table,.data-table-wrap,.list-table-wrap{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:12px!important}
  table{font-size:11px!important}
  .table-wrap table,.table-scroll table,.responsive-table table,.data-table-wrap table,.list-table-wrap table{min-width:660px!important;width:max-content!important;max-width:none!important}
  th,td{padding:9px 8px!important;vertical-align:top!important}
  td .actions,td.actions{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;white-space:nowrap!important}

  /* Modal / dialog toàn màn hình an toàn trên iPhone */
  .modal,.modal-overlay,.dialog-overlay{padding:8px!important;align-items:flex-end!important}
  .modal-box,.modal-card,.dialog,.modal-content{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 18px)!important;border-radius:18px 18px 8px 8px!important;margin:0!important;overflow:hidden!important}
  .modal-head,.modal-header,.dialog-head{min-height:52px!important;padding:10px 12px!important;position:sticky!important;top:0!important;z-index:3!important;background:#fff!important}
  .modal-body,.dialog-body{padding:11px 12px calc(18px + env(safe-area-inset-bottom))!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;max-height:calc(100dvh - 78px)!important}
  .modal-footer,.dialog-footer{position:sticky!important;bottom:0!important;background:#fff!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;display:flex!important;flex-wrap:wrap!important;gap:7px!important}

  /* File upload / dropzone */
  .dropzone,.upload-zone,.smart-drop,.library-dropzone,.doc-dropzone{min-height:105px!important;padding:14px 10px!important;border-radius:14px!important;text-align:center!important}
  .dropzone b,.upload-zone b,.smart-drop b{font-size:13px!important}
  .dropzone small,.upload-zone small,.smart-drop small{font-size:10.5px!important;line-height:1.35!important}

  /* Nhiệm vụ */
  body.route-tasks .task-list,body.route-tasks .task-board,body.route-followup .task-list{grid-template-columns:1fr!important}
  body.route-tasks .task-card,body.route-followup .task-card{padding:11px!important;border-radius:14px!important}
  body.route-tasks .task-card .actions,body.route-followup .task-card .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}

  /* Văn thư */
  body.route-docs .document-smart-intake,body.route-docs .docs-smart-intake{padding:13px!important;border-radius:15px!important}
  body.route-docs .document-smart-intake .actions,body.route-docs .docs-smart-intake .actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}

  /* Thư viện */
  body.route-library .legal-import-hero,body.route-library .library-hero{padding:13px!important;border-radius:15px!important;min-height:0!important}
  body.route-library .legal-import-hero .actions,body.route-library .library-hero .actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;width:100%!important}

  /* Chat: danh sách và nội dung thay phiên trên mobile */
  body.route-chat .chat-layout{grid-template-columns:1fr!important;min-height:calc(100dvh - 200px)!important}
  body.route-chat .chat-sidebar{width:100%!important;max-width:none!important;min-height:auto!important}
  body.route-chat .chat-main{min-width:0!important;min-height:48dvh!important}
  body.route-chat .chat-compose{position:sticky!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;background:#fff!important;z-index:2!important;padding-bottom:6px!important}

  /* Báo cáo */
  body.route-reports .report-grid,body.route-leader .report-grid{grid-template-columns:1fr!important}
  body.route-reports .report-actions,body.route-leader .report-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}

  /* Calendar / lịch trực */
  body.route-calendar .calendar-toolbar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  body.route-calendar .calendar-grid{min-width:640px!important}
  body.route-calendar .calendar-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

  /* Các route quản trị */
  body.route-users .user-grid,body.route-settings .settings-grid,body.route-admincenter .admin-grid,body.route-quality .quality-grid,body.route-hybrid .hybrid-grid,body.route-upgrade .upgrade-grid{grid-template-columns:1fr!important}

  /* Floating / bottom nav: nội dung không bị che */
  body:not(.route-monitor) .content{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
}

@media(max-width:390px){
  .mobile-two{grid-template-columns:1fr!important}
  body.route-library .legal-import-hero .actions,body.route-library .library-hero .actions{grid-template-columns:1fr!important}
  body.route-tasks .task-card .actions,body.route-followup .task-card .actions{grid-template-columns:1fr!important}
  body.route-reports .report-actions,body.route-leader .report-actions{grid-template-columns:1fr!important}
}

/* ========================================================================
   DHTN M1.5.27 - MOBILE NAV + MONITOR DUTY/ACTIVITY SYNC
   ======================================================================== */
@media(max-width:820px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))!important}
  body.route-home .mobile-bottom,
  body:not(.route-home) .mobile-bottom{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    justify-items:stretch!important;
    height:auto!important;
    min-height:64px!important;
    padding:5px max(6px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-right))!important;
    box-sizing:border-box!important;
    gap:0!important;
  }
  .mobile-bottom button{
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    margin:0!important;
    padding:3px 1px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:1px!important;
    line-height:1.05!important;
    overflow:visible!important;
  }
  .mobile-bottom button span{display:block!important;line-height:1!important;margin:0!important}
  .mobile-bottom .mobile-add{
    width:58px!important;
    min-width:58px!important;
    height:58px!important;
    align-self:center!important;
    justify-self:center!important;
    border-radius:50%!important;
    margin:-12px auto 0!important;
    padding:0!important;
    z-index:2!important;
  }
  .mobile-bottom .mobile-add:after{
    content:'Giao việc'!important;
    position:absolute!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    bottom:-14px!important;
    line-height:1!important;
    font-size:9px!important;
    font-weight:800!important;
    color:#4d6484!important;
    white-space:nowrap!important;
  }
  body.route-home .home-ref-v144,
  body.route-home .content,
  body.route-monitor .content{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
}
@media(max-width:390px){
  .mobile-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px minmax(0,1fr) minmax(0,1fr)!important;padding-left:3px!important;padding-right:3px!important}
  .mobile-bottom button{font-size:8.8px!important}
  .mobile-bottom button span{font-size:19px!important}
  .mobile-bottom .mobile-add{width:54px!important;min-width:54px!important;height:54px!important}
}

/* Trung tâm điều hành: hoạt động hình ảnh dùng chung Trang chủ/Giới thiệu */
.monitor-intro-activities{display:grid;grid-template-columns:1.45fr repeat(2,minmax(150px,.75fr));gap:8px;padding:10px;border-bottom:1px solid #e8edf5;background:#fbfdff}
.monitor-intro-card{position:relative;min-width:0;height:130px;border:0;border-radius:10px;overflow:hidden;padding:0;background:#dfe8f3;cursor:pointer;text-align:left}
.monitor-intro-card.featured{height:130px}
.monitor-intro-card img{width:100%;height:100%;display:block;object-fit:cover}
.monitor-intro-card:after{content:'';position:absolute;left:0;right:0;bottom:0;height:68%;background:linear-gradient(180deg,transparent,rgba(3,24,57,.88));pointer-events:none}
.monitor-intro-card>span{position:absolute;left:10px;right:10px;bottom:9px;z-index:1;color:#fff}
.monitor-intro-card b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;line-height:1.25}
.monitor-intro-card small{display:block;margin-top:4px;font-size:9px;opacity:.9}
.monitor-event-stream-compact{max-height:165px!important}

/* Lịch trực: PDF được render thành ảnh preview phía server, tránh iframe bị trình duyệt/chính sách bảo mật chặn. */
.monitor-duty-preview-image{height:310px!important;background:#eef3f8!important;overflow:hidden!important;padding:8px!important}
.monitor-duty-preview-open{position:relative;width:100%;height:100%;border:0;background:#fff;border-radius:10px;padding:0;overflow:hidden;cursor:pointer;display:flex;align-items:flex-start;justify-content:center}
.monitor-duty-preview-open img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.monitor-duty-preview-open>span{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:rgba(7,50,104,.88);color:#fff;border-radius:999px;padding:6px 11px;font-size:9px;font-weight:800;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.14)}
.monitor-duty-preview.preview-error .monitor-duty-preview-open:after{content:'Không tạo được ảnh xem nhanh · Nhấn để mở tệp';position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#61728b;background:#f7f9fc;font-size:11px;font-weight:700;text-align:center}

@media(max-width:1050px){
  .monitor-intro-activities{grid-template-columns:1.4fr 1fr}
  .monitor-intro-card:nth-child(n+3){display:none}
}
@media(max-width:620px){
  .monitor-bottom-grid{grid-template-columns:1fr!important}
  .monitor-intro-activities{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;padding:8px}
  .monitor-intro-card,.monitor-intro-card.featured{flex:0 0 84%;height:180px;scroll-snap-align:start}
  .monitor-duty-preview-image{height:340px!important}
  .monitor-duty-structure{max-height:140px;overflow:auto}
}

/* ========================================================================
   DHTN M1.5.28 - MOBILE MENU + CENTER ACTION LABEL + ACTIVITY AUTOPLAY
   ======================================================================== */
@media(max-width:820px){
  /* Trang chủ trước đây ẩn sidebar ở breakpoint <=1050 nên nút ☰ có bấm cũng không thấy menu. */
  body.route-home .sidebar{
    display:flex!important;
    position:fixed!important;
    left:0!important;top:0!important;bottom:0!important;
    width:min(88vw,320px)!important;
    transform:translateX(-104%)!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:121!important;
    background:linear-gradient(180deg,#123b6d 0%,#0c294d 100%)!important;
    color:#fff!important;
    box-shadow:10px 0 30px rgba(4,24,52,.24)!important;
    padding-bottom:calc(72px + env(safe-area-inset-bottom))!important;
    transition:transform .22s ease!important;
  }
  body.route-home .sidebar.open{transform:translateX(0)!important}
  .drawer-back{z-index:120!important}
  body.route-home .topbar .menu-toggle{position:relative!important;z-index:123!important;pointer-events:auto!important;touch-action:manipulation!important}

  /* Nút giữa: tách vòng tròn + nhãn thật, không dùng :after nên không bị Safari cắt chữ. */
  .mobile-bottom .mobile-add{
    width:100%!important;min-width:0!important;height:62px!important;
    margin:-8px 0 0!important;padding:0!important;
    border-radius:0!important;background:transparent!important;box-shadow:none!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:2px!important;
    overflow:visible!important;
  }
  .mobile-bottom .mobile-add:after{content:none!important;display:none!important}
  .mobile-bottom .mobile-add .mobile-add-fab{
    width:54px!important;height:54px!important;min-width:54px!important;
    border-radius:50%!important;background:linear-gradient(180deg,#0d5db2,#073f7b)!important;
    color:#fff!important;display:grid!important;place-items:center!important;
    font-size:30px!important;line-height:1!important;box-shadow:0 10px 22px rgba(7,63,123,.28)!important;
  }
  .mobile-bottom .mobile-add b{
    display:block!important;font-size:9px!important;line-height:1!important;font-weight:800!important;
    color:#4d6484!important;white-space:nowrap!important;margin-top:1px!important;
  }
}

/* Hoạt động gần đây: chuyển ảnh mềm + chấm trạng thái */
.home-feature-hero-v144 img{transition:opacity .28s ease,transform .45s ease!important}
.home-feature-hero-v144 img.switching{opacity:.20!important;transform:scale(1.015)!important}
.home-feature-dots-v144{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:5px;z-index:4;pointer-events:none}
.home-feature-dots-v144 i{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.48);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.home-feature-dots-v144 i.active{width:18px;background:#fff}


/* ========================================================================
   DHTN M1.5.30 - MOBILE DRAWER VISIBILITY + LƯU KÝ THEO PHÂN TRẠI
   ======================================================================== */
.portal-stat-lkcamp b{display:flex!important;align-items:baseline!important;gap:5px!important;font-size:24px!important;line-height:1!important;color:#163f78!important}
.portal-stat-lkcamp b em{font-style:normal!important;font-size:10px!important;font-weight:800!important;color:#6d7e94!important}
.portal-stat-lkcamp p{margin:6px 0 0!important;font-size:10.5px!important;font-weight:700!important;color:#75859c!important}
.portal-stat.green>span{background:#e7f8ef!important;color:#13915a!important}.portal-stat.indigo>span{background:#ececff!important;color:#5455c9!important}
@media(max-width:820px){
  body.route-home .sidebar,
  body:not(.route-home) .sidebar{
    z-index:1002!important;
    width:min(86vw,310px)!important;
    max-width:310px!important;
    background:linear-gradient(180deg,#0f3f76 0%,#092b52 100%)!important;
    box-shadow:14px 0 34px rgba(5,24,52,.32)!important;
    padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  .drawer-back{
    z-index:1000!important;
    background:rgba(3,16,38,.52)!important;
    backdrop-filter:blur(1px)!important;
  }
  .sidebar .nav{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:10px 10px 20px!important}
  .sidebar .nav a{color:#f4f8ff!important;opacity:1!important;min-height:46px!important;padding:10px 12px!important;font-size:14px!important;font-weight:750!important;border-radius:11px!important}
  .sidebar .nav .ico{opacity:1!important;color:#fff!important;font-size:18px!important;width:24px!important}
  .sidebar .nav a.active{background:linear-gradient(90deg,#2455d8,#2447bd)!important;color:#fff!important;border-left:4px solid #ffd53d!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important}
  .sidebar .nav a:not(.active):active{background:rgba(255,255,255,.12)!important}
  .sidebar .nav-group{color:#a9c9ef!important;opacity:1!important;font-size:10px!important}
  .sidebar .brand,.sidebar .userbox{color:#fff!important;background:rgba(255,255,255,.045)!important}
  .sidebar .brand small,.sidebar .userbox small{color:#d7e7fb!important}
  body.menu-open{overflow:hidden!important;touch-action:none!important}
  body.route-home .home-stats-grid-v144{grid-template-columns:1fr 1fr!important}
  .portal-stat-lkcamp{min-height:112px!important}
}
@media(max-width:480px){body.route-home .home-stats-grid-v144{grid-template-columns:1fr!important}}
\n\n/* ========================================================================\n   DHTN M1.5.32 - MOBILE DRAWER REAL FIX + HIGH SPECIFICITY\n   ======================================================================== */\n@media(max-width:820px){\n  body.menu-open #sidebar,\n  body.route-home.menu-open #sidebar{\n    display:flex!important;visibility:visible!important;opacity:1!important;\n    transform:none!important;\n    width:min(82vw,300px)!important;max-width:300px!important;\n    z-index:2147483001!important;background:linear-gradient(180deg,#0b3d74 0%,#082b54 100%)!important;\n    color:#fff!important;overflow:hidden!important;isolation:isolate!important;\n  }\n  body.menu-open #sidebar .nav,body.route-home.menu-open #sidebar .nav{\n    display:block!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;\n    padding:10px 10px 24px!important;opacity:1!important;filter:none!important;\n  }\n  body.route-home.menu-open #sidebar .nav-group{display:block!important;color:#a9cff7!important;opacity:1!important;padding:12px 10px 6px!important}\n  body.route-home.menu-open #sidebar .nav>a,\n  body.menu-open #sidebar .nav>a,\n  body.menu-open #sidebar .nav details a{\n    display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;\n    gap:10px!important;min-height:46px!important;margin:3px 0!important;padding:10px 12px!important;\n    border-radius:11px!important;border:0!important;border-left:4px solid transparent!important;\n    background:transparent!important;color:#f7fbff!important;-webkit-text-fill-color:#f7fbff!important;\n    opacity:1!important;visibility:visible!important;filter:none!important;text-shadow:none!important;\n    font-size:14px!important;font-weight:700!important;line-height:1.2!important;text-align:left!important;white-space:normal!important;\n  }\n  body.route-home.menu-open #sidebar .nav>a .ico,\n  body.menu-open #sidebar .nav>a .ico,body.menu-open #sidebar .nav details a .ico{\n    width:25px!important;flex:0 0 25px!important;font-size:18px!important;\n    color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;\n  }\n  body.route-home.menu-open #sidebar .nav>a.active,body.menu-open #sidebar .nav>a.active{\n    background:linear-gradient(90deg,#2758d8,#2147b8)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;\n    border-left-color:#ffd43b!important;box-shadow:0 6px 16px rgba(0,0,0,.16)!important;\n  }\n  body.route-home.menu-open #sidebar .nav details{margin-top:8px!important;border-top:1px solid rgba(255,255,255,.12)!important}\n  body.route-home.menu-open #sidebar .nav details summary,body.menu-open #sidebar .nav details summary{\n    font-size:11px!important;color:#dbeaff!important;opacity:1!important;text-align:left!important;padding:12px 10px!important;\n  }\n  body.route-home.menu-open #sidebar .nav details summary:after{content:none!important}\n  body.menu-open .drawer-back{z-index:2147483000!important;background:rgba(3,14,34,.46)!important;backdrop-filter:none!important}\n}\n

/* ========================================================================
   DHTN M1.5.33 - COMPACT MOBILE DRAWER
   Mục tiêu: menu điện thoại hẹp, gọn, icon + chữ cùng hàng, cuộn riêng.
   ======================================================================== */
@media(max-width:820px){
  body.menu-open #sidebar,
  body.route-home.menu-open #sidebar{
    width:min(74vw,280px)!important;
    max-width:280px!important;
    min-width:248px!important;
    padding:0 0 max(10px,env(safe-area-inset-bottom))!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
  }
  body.menu-open #sidebar .brand,
  body.route-home.menu-open #sidebar .brand{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-height:50px!important;
    padding:8px 12px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    background:rgba(255,255,255,.035)!important;
  }
  body.menu-open #sidebar .brand .brand-emblem,
  body.route-home.menu-open #sidebar .brand .brand-emblem{
    width:30px!important;height:30px!important;object-fit:contain!important;flex:0 0 30px!important;
  }
  body.menu-open #sidebar .brand strong,
  body.route-home.menu-open #sidebar .brand strong{
    font-size:12px!important;line-height:1.15!important;letter-spacing:.1px!important;margin:0!important;
  }
  body.menu-open #sidebar .brand small,
  body.route-home.menu-open #sidebar .brand small{
    font-size:9px!important;line-height:1.15!important;margin-top:2px!important;
  }
  body.menu-open #sidebar .nav,
  body.route-home.menu-open #sidebar .nav{
    padding:7px 8px 14px!important;
    display:block!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    max-height:calc(100dvh - 50px - env(safe-area-inset-bottom))!important;
  }
  body.menu-open #sidebar .nav-group,
  body.route-home.menu-open #sidebar .nav-group{
    padding:7px 9px 4px!important;
    font-size:8.5px!important;
    line-height:1!important;
    letter-spacing:.7px!important;
  }
  body.menu-open #sidebar .nav>a,
  body.route-home.menu-open #sidebar .nav>a,
  body.menu-open #sidebar .nav details a,
  body.route-home.menu-open #sidebar .nav details a{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    min-height:44px!important;
    height:auto!important;
    margin:1px 0!important;
    padding:8px 10px!important;
    border-radius:9px!important;
    font-size:13.5px!important;
    line-height:1.15!important;
    font-weight:700!important;
    text-align:left!important;
    white-space:nowrap!important;
  }
  body.menu-open #sidebar .nav>a .ico,
  body.route-home.menu-open #sidebar .nav>a .ico,
  body.menu-open #sidebar .nav details a .ico,
  body.route-home.menu-open #sidebar .nav details a .ico{
    width:20px!important;
    flex:0 0 20px!important;
    font-size:17px!important;
    line-height:1!important;
    text-align:center!important;
  }
  body.menu-open #sidebar .nav>a.active,
  body.route-home.menu-open #sidebar .nav>a.active{
    border-left-width:3px!important;
    box-shadow:0 4px 12px rgba(0,0,0,.13)!important;
  }
  body.menu-open #sidebar .nav details,
  body.route-home.menu-open #sidebar .nav details{
    margin-top:5px!important;
  }
  body.menu-open #sidebar .nav details summary,
  body.route-home.menu-open #sidebar .nav details summary{
    min-height:38px!important;
    padding:8px 9px!important;
    font-size:10px!important;
    display:flex!important;
    align-items:center!important;
  }
  body.menu-open #sidebar .userbox,
  body.route-home.menu-open #sidebar .userbox{
    display:none!important;
  }
  body.menu-open .drawer-back{
    background:rgba(3,14,34,.38)!important;
  }
}
@media(max-width:390px){
  body.menu-open #sidebar,
  body.route-home.menu-open #sidebar{
    width:min(76vw,270px)!important;
    max-width:270px!important;
    min-width:238px!important;
  }
  body.menu-open #sidebar .nav>a,
  body.route-home.menu-open #sidebar .nav>a,
  body.menu-open #sidebar .nav details a,
  body.route-home.menu-open #sidebar .nav details a{
    min-height:42px!important;
    padding:7px 9px!important;
    font-size:13px!important;
  }
}


/* ========================================================================
   DHTN M1.5.34 - SMALL MOBILE DRAWER + FORCE VISIBLE TEXT
   Drawer hẹp hơn; chữ/icon luôn rõ, không bị style Trang chủ làm tối.
   ======================================================================== */
@media(max-width:820px){
  body.menu-open #sidebar,
  body.route-home.menu-open #sidebar{
    width:min(64vw,238px)!important;
    max-width:238px!important;
    min-width:210px!important;
    background:linear-gradient(180deg,#0b477f 0%,#082f59 100%)!important;
    overflow:hidden!important;
  }
  body.menu-open #sidebar .brand,
  body.route-home.menu-open #sidebar .brand{
    min-height:46px!important;
    padding:7px 10px!important;
  }
  body.menu-open #sidebar .brand .brand-emblem,
  body.route-home.menu-open #sidebar .brand .brand-emblem{
    width:27px!important;height:27px!important;flex:0 0 27px!important;
  }
  body.menu-open #sidebar .brand strong,
  body.route-home.menu-open #sidebar .brand strong{
    font-size:11px!important;line-height:1.1!important;
  }
  body.menu-open #sidebar .brand small,
  body.route-home.menu-open #sidebar .brand small{
    font-size:8.5px!important;
  }
  body.menu-open #sidebar .nav,
  body.route-home.menu-open #sidebar .nav{
    position:relative!important;z-index:3!important;
    padding:6px 7px 12px!important;
    max-height:calc(100dvh - 46px - env(safe-area-inset-bottom))!important;
  }
  body.menu-open #sidebar .nav-group,
  body.route-home.menu-open #sidebar .nav-group{
    display:block!important;
    padding:6px 8px 4px!important;
    font-size:8px!important;
    color:#b9d8f7!important;
    -webkit-text-fill-color:#b9d8f7!important;
    opacity:1!important;
  }
  body.menu-open #sidebar .nav>a,
  body.route-home.menu-open #sidebar .nav>a,
  body.menu-open #sidebar .nav details a,
  body.route-home.menu-open #sidebar .nav details a,
  body.route-home.menu-open #sidebar .nav>a:not(.active){
    position:relative!important;z-index:4!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    min-height:38px!important;
    height:38px!important;
    margin:1px 0!important;
    padding:6px 8px!important;
    border-radius:8px!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
    text-shadow:none!important;
    font-size:12.5px!important;
    font-weight:700!important;
    line-height:1!important;
    white-space:nowrap!important;
    background:rgba(255,255,255,.035)!important;
  }
  body.menu-open #sidebar .nav>a .ico,
  body.route-home.menu-open #sidebar .nav>a .ico,
  body.menu-open #sidebar .nav details a .ico,
  body.route-home.menu-open #sidebar .nav details a .ico{
    width:18px!important;flex:0 0 18px!important;
    font-size:15px!important;line-height:1!important;
    color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;
    opacity:1!important;filter:none!important;
  }
  body.menu-open #sidebar .nav>a.active,
  body.route-home.menu-open #sidebar .nav>a.active{
    background:linear-gradient(90deg,#2859da,#1d45b1)!important;
    border-left:3px solid #ffd43b!important;
    color:#fff!important;-webkit-text-fill-color:#fff!important;
    box-shadow:0 3px 10px rgba(0,0,0,.13)!important;
  }
  body.menu-open #sidebar .nav details summary,
  body.route-home.menu-open #sidebar .nav details summary{
    min-height:34px!important;
    padding:7px 8px!important;
    font-size:9.5px!important;
    color:#dfeeff!important;-webkit-text-fill-color:#dfeeff!important;
    opacity:1!important;
  }
  body.menu-open .drawer-back{
    z-index:2147483000!important;
    background:rgba(3,14,34,.32)!important;
  }
}
@media(max-width:390px){
  body.menu-open #sidebar,
  body.route-home.menu-open #sidebar{
    width:min(62vw,225px)!important;
    max-width:225px!important;
    min-width:205px!important;
  }
  body.menu-open #sidebar .nav>a,
  body.route-home.menu-open #sidebar .nav>a,
  body.menu-open #sidebar .nav details a,
  body.route-home.menu-open #sidebar .nav details a{
    min-height:37px!important;height:37px!important;
    font-size:12px!important;padding:6px 7px!important;
  }
}

/* M1.5.34 sharp mobile drawer: khong blur chinh menu va nen drawer */
@media(max-width:820px){
  body.menu-open #sidebar,
  body.route-home.menu-open #sidebar,
  body.menu-open #sidebar *,
  body.route-home.menu-open #sidebar *{
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    text-shadow:none!important;
  }
  body.menu-open .drawer-back,
  body.route-home.menu-open .drawer-back{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    filter:none!important;
    background:rgba(3,14,34,.28)!important;
  }
  body.menu-open #sidebar .nav>a,
  body.route-home.menu-open #sidebar .nav>a,
  body.menu-open #sidebar .nav details a,
  body.route-home.menu-open #sidebar .nav details a{
    -webkit-font-smoothing:antialiased!important;
    text-rendering:optimizeLegibility!important;
  }
}


/* ========================================================================
   DHTN M1.5.36 - ACTIVITY FOCUS / NO CROP
   Co so giao dien mobile giu nguyen M1.5.34.
   - Mobile: giu anh cover, tam anh, caption gon de khong che chu the.
   - Laptop/Desktop/TV: hien thi tron anh bang contain, khong cat mat 1/3 phan chan.
   ======================================================================== */
@media(min-width:768px){
  body.route-home .home-feature-hero-v144{background:#0b2d56!important}
  body.route-home .home-feature-hero-v144>img{
    width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;background:#0b2d56!important
  }
  body.route-home .home-feature-overlay-v144{
    padding:30px 18px 11px!important;
    background:linear-gradient(180deg,rgba(2,21,54,0) 0%,rgba(2,21,54,.38) 38%,rgba(2,21,54,.86) 100%)!important
  }
  body.route-home .home-feature-overlay-v144 em{margin-bottom:4px!important;padding:4px 8px!important;font-size:9px!important}
  body.route-home .home-feature-overlay-v144 b{
    display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:16px!important;line-height:1.18!important
  }
  body.route-home .home-feature-overlay-v144 span{margin-top:5px!important;font-size:9.5px!important}
}
@media(max-width:767px){
  body.route-home .home-feature-hero-v144>img{object-fit:cover!important;object-position:center center!important}
  body.route-home .home-feature-overlay-v144{
    padding:28px 12px 9px!important;
    background:linear-gradient(180deg,rgba(2,21,54,0) 0%,rgba(2,21,54,.32) 42%,rgba(2,21,54,.84) 100%)!important
  }
  body.route-home .home-feature-overlay-v144 em{margin-bottom:3px!important;padding:3px 7px!important;font-size:8px!important}
  body.route-home .home-feature-overlay-v144 b{
    display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:14px!important;line-height:1.16!important
  }
  body.route-home .home-feature-overlay-v144 span{margin-top:4px!important;font-size:8.5px!important}
  body.route-home .home-feature-dots-v144{bottom:6px!important}
}


/* ========================================================================
   DHTN M1.5.37 - IOS DRAWER SHARP FINAL OVERRIDE
   Fix Safari/iPhone font blur: drawer never uses transform/translate/will-change.
   Only the page backdrop is dimmed; drawer text/icons remain on a normal layer.
   ======================================================================== */
@media(max-width:820px){
  html body #sidebar,
  html body.route-home #sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:-246px!important;
    transform:none!important;
    -webkit-transform:none!important;
    transition:left .18s ease!important;
    will-change:auto!important;
    contain:none!important;
    opacity:1!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    -webkit-font-smoothing:antialiased!important;
    text-rendering:geometricPrecision!important;
  }
  html body.menu-open #sidebar.sidebar.open,
  html body.route-home.menu-open #sidebar.sidebar.open{
    left:0!important;
    transform:none!important;
    -webkit-transform:none!important;
    width:min(64vw,238px)!important;
    min-width:210px!important;
    max-width:238px!important;
    opacity:1!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    will-change:auto!important;
    contain:none!important;
    isolation:auto!important;
    box-shadow:8px 0 24px rgba(3,20,44,.24)!important;
  }
  html body.menu-open #sidebar *,
  html body.route-home.menu-open #sidebar *{
    transform:none!important;
    -webkit-transform:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:1!important;
    text-shadow:none!important;
    -webkit-font-smoothing:antialiased!important;
    text-rendering:geometricPrecision!important;
  }
  html body.menu-open .drawer-back,
  html body.route-home.menu-open .drawer-back{
    background:rgba(3,14,34,.30)!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}
@media(max-width:390px){
  html body #sidebar,
  html body.route-home #sidebar{left:-233px!important}
  html body.menu-open #sidebar.sidebar.open,
  html body.route-home.menu-open #sidebar.sidebar.open{
    left:0!important;
    width:min(62vw,225px)!important;
    min-width:205px!important;
    max-width:225px!important;
  }
}


/* ========================================================================
   DHTN M1.5.38 - CLOSED DRAWER + ACTIVITY FULL IMAGE FINAL FIX
   1) Sidebar is completely hidden while closed (no stray column over hamburger).
   2) Activity title/info lives below the photo, never covers the photo.
   3) Laptop/Desktop/TV always show the entire photo (contain, centered).
   4) Mobile keeps the compact M1.5.34 visual proportions, centered crop only.
   ======================================================================== */
@media(max-width:820px){
  html body #sidebar,
  html body.route-home #sidebar{
    width:238px!important;
    min-width:238px!important;
    max-width:238px!important;
    left:-252px!important;
    visibility:hidden!important;
    pointer-events:none!important;
    opacity:1!important;
    transform:none!important;
    -webkit-transform:none!important;
  }
  html body.menu-open #sidebar.sidebar.open,
  html body.route-home.menu-open #sidebar.sidebar.open{
    left:0!important;
    visibility:visible!important;
    pointer-events:auto!important;
    width:238px!important;
    min-width:210px!important;
    max-width:238px!important;
  }
  html body:not(.menu-open) .drawer-back{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  html body.route-home .topbar,
  html body.route-home .topbar .menu-toggle,
  html body.route-home .topbar [data-menu-toggle]{
    position:relative;
    z-index:10;
  }
}
@media(max-width:390px){
  html body #sidebar,
  html body.route-home #sidebar{
    width:225px!important;
    min-width:225px!important;
    max-width:225px!important;
    left:-238px!important;
  }
  html body.menu-open #sidebar.sidebar.open,
  html body.route-home.menu-open #sidebar.sidebar.open{
    width:225px!important;
    min-width:205px!important;
    max-width:225px!important;
    left:0!important;
  }
}

/* Main activity image: caption never overlays the photo. */
body.route-home .home-feature-main-v144{
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  gap:8px!important;
  min-height:0!important;
}
body.route-home .home-feature-media-v1538{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#0b2d56!important;
}
body.route-home .home-feature-media-v1538 .home-feature-hero-v144{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#0b2d56!important;
}
body.route-home .home-feature-caption-v1538{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px 10px!important;
  min-height:48px!important;
  padding:7px 10px 8px!important;
  background:#fff!important;
  border:1px solid #e4ebf4!important;
  border-radius:10px!important;
  color:#17345f!important;
  box-shadow:0 3px 12px rgba(15,45,88,.06)!important;
}
body.route-home .home-feature-caption-v1538 em{
  display:inline-flex!important;
  align-items:center!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  background:#1a66f5!important;
  color:#fff!important;
  font-size:8px!important;
  font-style:normal!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
body.route-home .home-feature-caption-v1538 b{
  display:block!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1.2!important;
}
body.route-home .home-feature-caption-v1538 span{
  color:#71839a!important;
  font-size:9px!important;
  white-space:nowrap!important;
}
body.route-home .home-feature-overlay-v144{display:none!important}

@media(min-width:768px){
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144>img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:50% 50%!important;
    background:#0b2d56!important;
  }
  body.route-home .home-feature-arrow-v144{top:50%!important}
  body.route-home .home-feature-dots-v144{bottom:8px!important}
}
@media(max-width:767px){
  body.route-home .home-feature-main-v144{
    height:auto!important;
    grid-template-rows:205px auto!important;
    gap:6px!important;
  }
  body.route-home .home-feature-media-v1538{height:205px!important}
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144{height:205px!important}
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
  }
  body.route-home .home-feature-caption-v1538{
    grid-template-columns:minmax(0,1fr) auto!important;
    min-height:42px!important;
    padding:6px 8px!important;
    gap:4px 8px!important;
  }
  body.route-home .home-feature-caption-v1538 em{display:none!important}
  body.route-home .home-feature-caption-v1538 b{
    font-size:12.5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.route-home .home-feature-caption-v1538 span{font-size:8px!important}
  body.route-home .home-feature-arrow-v144{top:50%!important;width:34px!important;height:40px!important;font-size:24px!important}
  body.route-home .home-feature-dots-v144{bottom:6px!important}
}


/* ========================================================================
   DHTN M1.5.39 - DESKTOP/TV ACTIVITY IMAGE BALANCED DISPLAY
   - Mobile (<=820px) remains exactly as M1.5.38.
   - Desktop/TV: portrait photos are larger and aesthetically filled by a
     soft cover background, while the full foreground photo remains visible.
   - No title overlay on the image.
   ======================================================================== */
.home-feature-bg-v1539{display:none}
@media(min-width:821px){
  body.route-home .home-activity-v144{min-height:520px!important}
  body.route-home .home-feature-v144{
    height:470px!important;
    grid-template-columns:minmax(0,1fr) 310px!important;
  }
  body.route-home .home-feature-main-v144{
    grid-template-rows:minmax(0,1fr) auto!important;
  }
  body.route-home .home-feature-media-v1538{
    min-height:390px!important;
    height:100%!important;
    background:#0a284b!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144{
    position:relative!important;
    min-height:390px!important;
    height:100%!important;
    background:#0a284b!important;
    isolation:isolate!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-bg-v1539{
    display:block!important;
    position:absolute!important;
    inset:-18px!important;
    width:calc(100% + 36px)!important;
    height:calc(100% + 36px)!important;
    object-fit:cover!important;
    object-position:50% 52%!important;
    filter:blur(18px) brightness(.60) saturate(.92)!important;
    transform:scale(1.05)!important;
    opacity:.92!important;
    z-index:0!important;
    pointer-events:none!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-mainimg-v1539{
    display:block!important;
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:50% 50%!important;
    background:transparent!important;
    box-shadow:0 0 30px rgba(0,0,0,.16)!important;
  }
  body.route-home .home-feature-caption-v1538{
    min-height:46px!important;
    margin-top:0!important;
  }
}
@media(min-width:1400px){
  body.route-home .home-activity-v144{min-height:570px!important}
  body.route-home .home-feature-v144{height:520px!important}
  body.route-home .home-feature-media-v1538,
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144{min-height:435px!important}
}
@media(max-width:820px){
  body.route-home .home-feature-bg-v1539{display:none!important}
  body.route-home .home-feature-media-v1538 .home-feature-mainimg-v1539{
    position:static!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    filter:none!important;
    transform:none!important;
    box-shadow:none!important;
  }
}


/* ========================================================================
   DHTN M1.5.40 - DESKTOP/TV ACTIVITY SMART LAYOUT
   - Mobile <=820px is intentionally unchanged from M1.5.39.
   - Desktop/TV classifies the current photo by its natural aspect ratio.
   - Full image remains visible; the background copy fills unused space.
   - Portrait gets a taller stage; landscape/wide gets a flatter stage.
   ======================================================================== */
@media(min-width:821px){
  body.route-home .home-activity-v144{
    min-height:0!important;
  }
  body.route-home .home-feature-v144{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:minmax(0,1fr) 250px!important;
    gap:12px!important;
    align-items:start!important;
  }
  body.route-home .home-feature-main-v144{
    height:auto!important;
    min-height:0!important;
    grid-template-rows:auto auto!important;
  }
  body.route-home .home-feature-media-v1538,
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144{
    height:clamp(390px,43vw,560px)!important;
    min-height:390px!important;
    max-height:560px!important;
  }
  body.route-home .home-feature-main-v144.activity-wide .home-feature-media-v1538,
  body.route-home .home-feature-main-v144.activity-wide .home-feature-hero-v144{
    height:clamp(360px,34vw,470px)!important;
    min-height:360px!important;
    max-height:470px!important;
  }
  body.route-home .home-feature-main-v144.activity-landscape .home-feature-media-v1538,
  body.route-home .home-feature-main-v144.activity-landscape .home-feature-hero-v144{
    height:clamp(390px,38vw,510px)!important;
    min-height:390px!important;
    max-height:510px!important;
  }
  body.route-home .home-feature-main-v144.activity-square .home-feature-media-v1538,
  body.route-home .home-feature-main-v144.activity-square .home-feature-hero-v144{
    height:clamp(440px,45vw,590px)!important;
    min-height:440px!important;
    max-height:590px!important;
  }
  body.route-home .home-feature-main-v144.activity-portrait .home-feature-media-v1538,
  body.route-home .home-feature-main-v144.activity-portrait .home-feature-hero-v144{
    height:clamp(500px,52vw,680px)!important;
    min-height:500px!important;
    max-height:680px!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-bg-v1539{
    display:block!important;
    inset:-26px!important;
    width:calc(100% + 52px)!important;
    height:calc(100% + 52px)!important;
    object-fit:cover!important;
    object-position:50% 50%!important;
    filter:blur(15px) brightness(.82) saturate(1.08)!important;
    transform:scale(1.08)!important;
    opacity:.78!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(5,25,50,.18),rgba(5,25,50,.02) 28%,rgba(5,25,50,.02) 72%,rgba(5,25,50,.18));
  }
  body.route-home .home-feature-media-v1538 .home-feature-mainimg-v1539{
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:50% 50%!important;
    background:transparent!important;
    filter:none!important;
    transform:none!important;
    box-shadow:0 0 22px rgba(0,0,0,.20)!important;
  }
  body.route-home .home-feature-side-v144{
    max-height:590px!important;
    overflow:auto!important;
    scrollbar-width:thin;
  }
  body.route-home .home-feature-side-v144>button{
    grid-template-columns:86px minmax(0,1fr) 12px!important;
    min-height:78px!important;
  }
  body.route-home .home-feature-side-v144 img{
    width:86px!important;
    height:66px!important;
  }
  body.route-home .home-feature-caption-v1538{
    margin-top:7px!important;
  }
}
@media(min-width:1500px){
  body.route-home .home-feature-v144{
    grid-template-columns:minmax(0,1fr) 280px!important;
  }
  body.route-home .home-feature-main-v144.activity-portrait .home-feature-media-v1538,
  body.route-home .home-feature-main-v144.activity-portrait .home-feature-hero-v144{
    height:min(70vh,760px)!important;
    max-height:760px!important;
  }
}


/* ========================================================================
   DHTN M1.5.41 - ACTIVITY FULL FILL (DESKTOP/TV ONLY)
   - Mobile <=820px remains unchanged from M1.5.40.
   - Desktop/TV always fills the complete media stage: no top/bottom bars,
     no side bars, no black/empty strips. Images are never stretched.
   - Smart cover keeps the visual focus near the image center and slightly
     lower for landscape/group photos so the lower half is less likely lost.
   ======================================================================== */
@media(min-width:821px){
  body.route-home .home-feature-media-v1538,
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144{
    background:#0b2f58!important;
    overflow:hidden!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-bg-v1539{
    display:none!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:18%;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(0,0,0,0),rgba(2,18,36,.16));
  }
  body.route-home .home-feature-media-v1538 .home-feature-mainimg-v1539{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:50% 52%!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
  }
  body.route-home .home-feature-main-v144.activity-portrait .home-feature-mainimg-v1539{
    object-position:50% 48%!important;
  }
  body.route-home .home-feature-main-v144.activity-square .home-feature-mainimg-v1539{
    object-position:50% 50%!important;
  }
  body.route-home .home-feature-main-v144.activity-landscape .home-feature-mainimg-v1539,
  body.route-home .home-feature-main-v144.activity-wide .home-feature-mainimg-v1539{
    object-position:50% 56%!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144{
    position:relative!important;
  }
}

/* ========================================================================
   DHTN M1.5.42 - ACTIVITY BLACK-BAR TRIM + TRUE FULL FILL
   - Keep M1.5.41 cover behavior on desktop/TV.
   - JS detects near-solid black letterbox/pillarbox stored inside source files,
     crops those pixels in-memory, then this layer forces the trimmed image to
     cover the complete stage with no residual black/empty strip.
   - Mobile layout remains unchanged; trim is harmless and only affects the
     currently displayed hero bitmap when an actual dark border is detected.
   ======================================================================== */
@media(min-width:821px){
  body.route-home .home-feature-media-v1538,
  body.route-home .home-feature-media-v1538 .home-feature-hero-v144{
    padding:0!important;
    margin:0!important;
    border:0!important;
    background:#0b2f58!important;
    overflow:hidden!important;
  }
  body.route-home .home-feature-media-v1538 .home-feature-mainimg-v1539{
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    object-fit:cover!important;
    background:transparent!important;
  }
}


/* M1.5.44 - Theo dõi nhiệm vụ: luôn thấy lịch sử + hàng nút, xem ảnh/tệp trực tiếp */
.route-tasks .task-detail-modal{display:flex!important;flex-direction:column!important;width:min(960px,calc(100vw - 24px))!important;max-height:92dvh!important;overflow:hidden!important}
.route-tasks .task-detail-modal>.modal-head{flex:0 0 auto!important}
.route-tasks .task-detail-modal>.modal-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}
.route-tasks .task-detail-modal>.modal-foot{flex:0 0 auto!important;position:relative!important;bottom:auto!important;z-index:8!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;background:#fff!important;box-shadow:0 -4px 16px rgba(31,52,99,.08)!important}
.task-file-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:10px!important}
.task-file-main{display:flex;align-items:center;gap:10px;min-width:0}.task-file-main>span{min-width:0}.task-file-main b{overflow-wrap:anywhere}.task-file-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.task-file-preview{width:82px;height:62px;flex:0 0 82px;padding:0;border:1px solid #dbe3ec;border-radius:8px;overflow:hidden;background:#f8fafc;cursor:pointer}.task-file-preview img{display:block;width:100%;height:100%;object-fit:cover}
.task-image-viewer{display:grid;place-items:center;min-height:220px;background:#0f172a;border-radius:10px;overflow:auto}.task-image-viewer img{display:block;max-width:100%;max-height:72dvh;width:auto;height:auto;object-fit:contain}
.task-timeline{padding-bottom:6px}.task-timeline-item span{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:720px){.route-tasks .task-detail-modal{width:100%!important;max-height:94dvh!important}.route-tasks .task-detail-modal>.modal-foot{display:grid!important;grid-template-columns:1fr 1fr!important}.route-tasks .task-detail-modal>.modal-foot .btn{width:100%!important}.task-file-card{grid-template-columns:1fr!important}.task-file-actions{justify-content:stretch}.task-file-actions .btn{flex:1}.task-file-preview{width:96px;height:72px;flex-basis:96px}}


/* M1.5.46 - modal action integrity: mọi biểu mẫu dài luôn nhìn thấy hàng nút */
.modal-backdrop>.modal{display:flex!important;flex-direction:column!important;overflow:hidden!important;max-height:min(94dvh,920px)!important}
.modal-backdrop>.modal>.modal-head{flex:0 0 auto!important}
.modal-backdrop>.modal>.modal-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}
.modal-backdrop>.modal>.modal-foot{flex:0 0 auto!important;position:relative!important;bottom:auto!important;z-index:12!important;display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;background:#fff!important;box-shadow:0 -4px 16px rgba(31,52,99,.08)!important}
.worklog-report-modal{width:min(820px,calc(100vw - 24px))!important}
@media(max-width:720px){.modal-backdrop>.modal{max-height:96dvh!important}.modal-backdrop>.modal>.modal-foot{display:grid!important;grid-template-columns:1fr 1fr!important}.modal-backdrop>.modal>.modal-foot .btn{width:100%!important}.worklog-report-modal{width:100%!important}}


/* M1.5.47 - laptop/desktop modal responsive integrity
   Không phụ thuộc chỉ vào chiều rộng: laptop 768-900px cao vẫn luôn thấy footer. */
.modal-backdrop{
  min-height:100dvh!important;
  overflow:hidden!important;
}
.modal-backdrop>.modal{
  display:flex!important;
  flex-direction:column!important;
  width:min(92vw,900px)!important;
  max-height:calc(100dvh - 28px)!important;
  overflow:hidden!important;
}
.modal-backdrop>.modal>.modal-head{flex:0 0 auto!important;position:relative!important;top:auto!important}
.modal-backdrop>.modal>.modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.modal-backdrop>.modal>.modal-foot{
  flex:0 0 auto!important;
  position:relative!important;
  bottom:auto!important;
  z-index:20!important;
  background:#fff!important;
  box-shadow:0 -5px 18px rgba(31,52,99,.10)!important;
}
.modal-backdrop>.task-create-modal{width:min(94vw,920px)!important;max-height:calc(100dvh - 24px)!important}
.task-create-modal>.modal-body{padding:12px 16px!important}
.task-create-modal .task-smart-source{margin-bottom:10px!important;padding:12px 14px!important}
.task-create-modal .field{margin-bottom:10px!important}
.task-create-modal .grid2{gap:10px 14px!important}
.task-create-modal .input,.task-create-modal .select{min-height:42px!important}
.task-create-modal .textarea{min-height:82px!important}
.task-create-modal details.advanced{margin-top:8px!important}
.task-create-modal>.modal-foot .btn{min-width:132px!important}
@media (min-width:721px) and (max-height:900px){
  .modal-backdrop{padding:10px!important}
  .modal-backdrop>.modal{max-height:calc(100dvh - 20px)!important}
  .modal-backdrop>.task-create-modal{max-height:calc(100dvh - 16px)!important}
  .task-create-modal>.modal-head{min-height:46px!important;padding:8px 14px!important}
  .task-create-modal>.modal-body{padding:9px 14px!important}
  .task-create-modal>.modal-foot{min-height:50px!important;padding:8px 14px!important}
  .task-create-modal .task-smart-source{padding:9px 12px!important;margin-bottom:8px!important}
  .task-create-modal .task-smart-source small{margin-top:2px!important}
  .task-create-modal .field{margin-bottom:8px!important}
  .task-create-modal .grid2{gap:8px 12px!important}
  .task-create-modal .input,.task-create-modal .select{min-height:38px!important;padding-top:7px!important;padding-bottom:7px!important}
  .task-create-modal .textarea{min-height:68px!important}
  .task-create-modal .dispatch-actions{margin:7px 0!important}
  .task-create-modal .quick-note{margin-top:8px!important}
}
@media (min-width:721px) and (max-height:760px){
  .task-create-modal>.modal-body{padding-top:7px!important;padding-bottom:7px!important}
  .task-create-modal .task-smart-source small,.task-create-modal .muted{font-size:11px!important}
  .task-create-modal .field label{margin-bottom:3px!important}
  .task-create-modal .input,.task-create-modal .select{min-height:36px!important}
  .task-create-modal .textarea{min-height:58px!important}
}
@media (max-width:720px){
  .modal-backdrop>.modal{width:100%!important;max-height:96dvh!important}
  .modal-backdrop>.modal>.modal-foot{position:relative!important}
}


/* M1.5.56 - Văn thư / Lấy số: mobile form geometry hardening */
.register-modal{width:min(760px,calc(100vw - 24px))!important;max-width:760px!important}
.register-modal>.modal-body{width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow-x:hidden!important}
.register-modal #regForm{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;box-sizing:border-box!important}
.register-modal #regForm>.grid2,.register-modal #regForm>.field{width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.register-modal #regForm .grid2>*{min-width:0!important;max-width:100%!important}
.register-modal #regForm :is(.input,.select,.textarea,input,select,textarea){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
@media(max-width:820px){
  .modal-backdrop>.register-modal{width:100%!important;max-width:100%!important;max-height:96dvh!important;margin:0!important;border-radius:18px 18px 0 0!important}
  .register-modal>.modal-head{display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;align-items:center!important;gap:8px!important;padding:12px 12px!important}
  .register-modal>.modal-head h2{min-width:0!important;font-size:18px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;text-align:left!important;margin:0!important}
  .register-modal>.modal-head .icon-btn{justify-self:end!important;width:44px!important;height:44px!important}
  .register-modal>.modal-body{padding:12px 14px!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important}
  .register-modal #regForm .grid2{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;width:100%!important}
  .register-modal #regForm .field{width:100%!important;margin:0 0 12px!important;padding:0!important}
  .register-modal #regForm .field label{display:block!important;width:100%!important;margin:0 0 6px!important}
  .register-modal #regForm :is(.input,.select){min-height:46px!important;font-size:16px!important}
  .register-modal #regForm .textarea{min-height:108px!important;font-size:16px!important;resize:vertical!important}
  .register-modal #regNextHint{display:block!important;width:100%!important;margin-top:6px!important;line-height:1.35!important;white-space:normal!important}
  .register-modal>.modal-foot{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:8px!important;width:100%!important;overflow:visible!important;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;background:#fff!important}
  .register-modal>.modal-foot .btn{width:100%!important;min-width:0!important;white-space:normal!important;min-height:48px!important}
}
@media(max-width:390px){
  .register-modal>.modal-body{padding-left:11px!important;padding-right:11px!important}
  .register-modal>.modal-foot{grid-template-columns:1fr!important}
}

/* M1.5.56 - generic mobile modal form stretch guard */
@media(max-width:820px){
  .modal-backdrop>.modal>.modal-body>form,
  .modal-backdrop>.modal>.modal-body>form[class]{
    display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;transform:none!important;
  }
  .modal-backdrop>.modal>.modal-body>form :where(.grid2,.grid3){
    width:100%!important;max-width:100%!important;min-width:0!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .modal-backdrop>.modal>.modal-body>form :where(.field,.grid2>*,.grid3>*){
    min-width:0!important;max-width:100%!important;
  }
}


/* M1.5.57 - mobile-wide modal/form polish: iOS/Android keyboard, safe-area, overflow */
:root{--dhtn-vvh:100dvh}
body.modal-open{overscroll-behavior:none}
@media(max-width:820px){
  body.modal-open{overflow:hidden!important}
  .modal-backdrop{height:var(--dhtn-vvh)!important;max-height:var(--dhtn-vvh)!important;inset:0!important;padding-top:env(safe-area-inset-top)!important;box-sizing:border-box!important;overflow:hidden!important}
  .modal-backdrop>.modal{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;max-height:calc(var(--dhtn-vvh) - env(safe-area-inset-top))!important;min-height:0!important;overflow:hidden!important;margin:0!important;border-radius:18px 18px 0 0!important}
  .modal-backdrop>.modal>.modal-head{flex:0 0 auto!important;min-width:0!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
  .modal-backdrop>.modal>.modal-head h2{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.25!important}
  .modal-backdrop>.modal>.modal-body{flex:1 1 auto!important;min-height:0!important;width:100%!important;max-width:100%!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;box-sizing:border-box!important;padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
  .modal-backdrop>.modal>.modal-foot{flex:0 0 auto!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;position:sticky!important;bottom:0!important;z-index:9!important;background:#fff!important;border-top:1px solid #e3e8ef!important;padding-left:max(10px,env(safe-area-inset-left))!important;padding-right:max(10px,env(safe-area-inset-right))!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important;box-shadow:0 -4px 16px rgba(31,52,99,.08)!important}
  .modal-backdrop>.modal>.modal-body :where(form,.grid2,.grid3,.detail-grid,.form-grid,.field){min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
  .modal-backdrop>.modal>.modal-body :where(.grid2,.grid3,.detail-grid,.form-grid){grid-template-columns:minmax(0,1fr)!important}
  .modal-backdrop>.modal>.modal-body :where(input,select,textarea,.input,.select,.textarea){max-width:100%!important;min-width:0!important;box-sizing:border-box!important;font-size:16px!important}
  .modal-backdrop>.modal>.modal-body :where(.table-wrap,.table-responsive){max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
  .modal-backdrop>.modal img,.modal-backdrop>.modal video,.modal-backdrop>.modal iframe{max-width:100%!important}
  .modal-backdrop>.modal .actions,.modal-backdrop>.modal .toolbar{max-width:100%!important;flex-wrap:wrap!important}
  body.mobile-keyboard-open .modal-backdrop>.modal{max-height:var(--dhtn-vvh)!important;border-radius:12px 12px 0 0!important}
  body.mobile-keyboard-open .modal-backdrop>.modal>.modal-head{padding-top:8px!important;padding-bottom:8px!important}
  body.mobile-keyboard-open .modal-backdrop>.modal>.modal-foot{padding-top:7px!important;padding-bottom:7px!important}
  body.mobile-keyboard-open .modal-backdrop>.modal>.modal-foot .btn{min-height:42px!important}
}
@media(max-width:430px){
  .modal-backdrop>.modal>.modal-foot{grid-template-columns:1fr!important}
  .modal-backdrop>.modal>.modal-foot .btn{width:100%!important;min-width:0!important;white-space:normal!important}
  .modal-backdrop>.modal>.modal-head h2{font-size:17px!important}
}
@media(max-height:560px) and (orientation:landscape){
  .modal-backdrop{align-items:stretch!important;padding-top:0!important}
  .modal-backdrop>.modal{max-height:var(--dhtn-vvh)!important;border-radius:0!important}
  .modal-backdrop>.modal>.modal-head{padding-top:7px!important;padding-bottom:7px!important}
  .modal-backdrop>.modal>.modal-body{padding-top:8px!important;padding-bottom:8px!important}
  .modal-backdrop>.modal>.modal-foot{padding-top:6px!important;padding-bottom:max(6px,env(safe-area-inset-bottom))!important}
}
\n\n/* ========================================================================
   DHTN M1.5.58 - TABLET + CHAT POLISH
   ======================================================================== */
/* shared long-content behavior */
.table-wrap,.table-scroll,.responsive-table,.data-table-wrap,.list-table-wrap{
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable both-edges;
}
.module-doc-workspace,.docs-body,.module-chat-refine,.calendar-layout{min-width:0!important}

/* Chat: desktop/tablet refinement */
.module-chat-refine .chat-head-copy{min-width:0;flex:1}
.module-chat-refine .chat-head-copy h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.module-chat-refine .chat-mobile-back{display:none}
.module-chat-refine .chat-call-actions{flex:0 0 auto;justify-content:flex-end}
.module-chat-refine .chat-compose-wrap{z-index:6}

/* Tablet portrait / compact laptop */
@media (min-width:768px) and (max-width:1100px){
  body.route-chat .module-chat-refine .chat-shell{grid-template-columns:280px minmax(0,1fr)!important;gap:10px!important}
  body.route-chat .module-chat-refine .chat-sidebar{max-height:none!important}
  body.route-chat .module-chat-refine .chat-room-list{max-height:calc(100dvh - 340px)!important}
  body.route-chat .module-chat-refine .chat-head{align-items:flex-start!important;flex-wrap:wrap!important;padding:10px 12px!important}
  body.route-chat .module-chat-refine .chat-call-actions{width:100%!important;display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:2px!important}
  body.route-chat .module-chat-refine .chat-call-actions .btn{flex:0 0 auto!important;white-space:nowrap!important}
  body.route-chat .module-chat-refine .chat-messages{min-height:430px!important;max-height:calc(100dvh - 335px)!important}
  body.route-docs .module-doc-workspace .docs-tabs{overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  body.route-docs .module-doc-workspace .docs-tabs::-webkit-scrollbar{display:none!important}
  .periodic-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:end!important}
  .periodic-toolbar>.btn{width:100%!important}
}

/* Phone: one screen at a time for chat */
@media (max-width:767px){
  body.route-chat .module-chat-refine .chat-shell{display:block!important;min-height:calc(100dvh - 150px)!important;border:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important}
  body.route-chat .module-chat-refine .chat-sidebar,
  body.route-chat .module-chat-refine .chat-main{width:100%!important;max-width:100%!important;border-radius:14px!important;border:1px solid #dbe5f0!important;background:#fff!important}
  body.route-chat:not(.chat-room-open) .module-chat-refine .chat-sidebar{display:flex!important;max-height:calc(100dvh - 170px)!important;min-height:60dvh!important}
  body.route-chat:not(.chat-room-open) .module-chat-refine .chat-main{display:none!important}
  body.route-chat.chat-room-open .module-chat-refine .chat-sidebar{display:none!important}
  body.route-chat.chat-room-open .module-chat-refine .chat-main{display:flex!important;min-height:calc(100dvh - 150px)!important;max-height:calc(100dvh - 150px)!important;overflow:hidden!important}
  body.route-chat .module-chat-refine .chat-room-list{max-height:none!important;flex:1 1 auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:90px!important}
  body.route-chat .module-chat-refine .chat-mobile-back{display:grid!important;flex:0 0 40px!important;width:40px!important;height:40px!important;border-radius:11px!important}
  body.route-chat .module-chat-refine .chat-head{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:8px!important;align-items:center!important;padding:8px 10px!important;flex:0 0 auto!important}
  body.route-chat .module-chat-refine .chat-head-copy{min-width:0!important}
  body.route-chat .module-chat-refine .chat-head-copy h2{font-size:15px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.route-chat .module-chat-refine .chat-head-copy small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.route-chat .module-chat-refine .chat-call-actions{grid-column:1/-1!important;width:100%!important;display:flex!important;gap:5px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important;padding:2px 0!important}
  body.route-chat .module-chat-refine .chat-call-actions::-webkit-scrollbar{display:none!important}
  body.route-chat .module-chat-refine .chat-call-actions .btn{flex:0 0 auto!important;min-height:34px!important;white-space:nowrap!important;font-size:10px!important;padding:6px 8px!important}
  body.route-chat .module-chat-refine .chat-messages{flex:1 1 auto!important;min-height:0!important;max-height:none!important;padding:10px 8px 12px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
  body.route-chat .module-chat-refine .chat-bubble{max-width:88%!important;font-size:13px!important}
  body.route-chat .module-chat-refine .chat-compose-wrap{position:sticky!important;bottom:calc(66px + env(safe-area-inset-bottom))!important;flex:0 0 auto!important;padding:8px!important;gap:6px!important;background:#fff!important;border-top:1px solid #e1e7ef!important;box-shadow:0 -4px 14px rgba(20,45,80,.06)!important}
  body.route-chat .module-chat-refine .chat-compose{min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:6px!important}
  body.route-chat .module-chat-refine .chat-compose .input{min-width:0!important;width:100%!important}
  body.route-chat .module-chat-refine .chat-compose .btn{min-width:64px!important}
  body.mobile-keyboard-open.route-chat .module-chat-refine .chat-main{min-height:var(--dhtn-vvh)!important;max-height:var(--dhtn-vvh)!important}
  body.mobile-keyboard-open.route-chat .module-chat-refine .chat-compose-wrap{bottom:0!important;padding-bottom:max(7px,env(safe-area-inset-bottom))!important}

  /* long operational tables: preserve readable columns without breaking the page */
  body.route-docs .table-wrap,body.route-reports .table-wrap,body.route-calendar .table-wrap{margin-left:0!important;margin-right:0!important;max-width:100%!important}
  body.route-docs .table-wrap table,body.route-reports .table-wrap table{min-width:720px!important}
  body.route-docs .table-wrap thead th:first-child,body.route-docs .table-wrap tbody td:first-child{
    position:sticky!important;left:0!important;z-index:2!important;background:#fff!important;box-shadow:4px 0 8px rgba(24,50,80,.04)!important
  }
  body.route-docs .table-wrap thead th:first-child{z-index:3!important;background:#f5f8fc!important}
  .periodic-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important}
  .periodic-toolbar>label,.periodic-toolbar>.btn{width:100%!important;min-width:0!important}

  /* docs tabs and calendar actions remain reachable by thumb */
  body.route-docs .docs-tabs{scroll-snap-type:x proximity!important;padding-bottom:2px!important}
  body.route-docs .docs-tabs .tab{scroll-snap-align:start!important;min-height:42px!important}
  body.route-calendar .calendar-toolbar{grid-template-columns:minmax(0,1fr)!important}
  body.route-calendar .calendar-toolbar>*{width:100%!important;min-width:0!important}
}

@media (max-width:390px){
  body.route-chat .module-chat-refine .chat-bubble{max-width:92%!important}
  body.route-chat .module-chat-refine .chat-compose-wrap{padding-left:6px!important;padding-right:6px!important}
  body.route-chat .module-chat-refine .chat-attach{width:38px!important;height:38px!important;flex-basis:38px!important}
  body.route-chat .module-chat-refine .chat-compose .btn{min-width:58px!important;padding-left:8px!important;padding-right:8px!important}
}


/* ========================================================================
   DHTN M1.5.60 - MOBILE MENU HARDENING + ASSET DOSSIER
   ======================================================================== */
@media(max-width:820px){
  .topbar .menu-toggle,#menuToggle{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    position:relative!important;z-index:2147483646!important;pointer-events:auto!important;touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  body:not(.menu-open) #sidebar{pointer-events:none!important;visibility:hidden!important}
  body.menu-open #sidebar.sidebar.open{pointer-events:auto!important;visibility:visible!important}
  body.menu-open .drawer-back{pointer-events:auto!important}
}
.asset-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.asset-file-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-upload-btn{cursor:pointer}.asset-file-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.asset-file-item>div:first-child{min-width:0}.asset-file-item b{overflow-wrap:anywhere}.asset-file-item .actions{display:flex;gap:6px;flex-wrap:wrap}.asset-table-wrap small{display:block;margin-top:3px;color:var(--muted)}
@media(max-width:820px){
 .asset-toolbar>.btn{flex:1 1 140px}.asset-file-title{align-items:stretch;flex-direction:column}.asset-file-title .asset-upload-btn{width:100%;justify-content:center}.asset-file-item{align-items:stretch;flex-direction:column}.asset-file-item .actions .btn{flex:1}.asset-dossier-modal .grid2{grid-template-columns:1fr!important}.asset-detail-modal .modal-foot{display:grid!important;grid-template-columns:1fr!important}.asset-detail-modal .modal-foot .btn{width:100%!important}
}
\n\n/* ========================================================================\n   DHTN M1.5.60 - MOBILE DRAWER ROUTE TAP FIX\n   ======================================================================== */\n@media(max-width:820px){\n  body.menu-open #sidebar{pointer-events:auto!important;touch-action:pan-y!important}\n  body.menu-open #sidebar .nav{position:relative!important;z-index:3!important;pointer-events:auto!important;touch-action:pan-y!important}\n  body.menu-open #sidebar .nav a[data-route]{\n    position:relative!important;z-index:4!important;pointer-events:auto!important;touch-action:manipulation!important;\n    -webkit-user-select:none!important;user-select:none!important;-webkit-tap-highlight-color:rgba(255,255,255,.10)!important;\n  }\n  body.menu-open #sidebar .nav a[data-route]>*{pointer-events:none!important}\n  body.menu-open .drawer-back{z-index:2147482999!important}\n  body.menu-open #sidebar{z-index:2147483001!important}\n}\n

/* ========================================================================
   DHTN M1.5.66 - MOBILE MENU DIRECT NAVIGATION FINAL
   Direct menu anchors are authoritative; do not suppress taps at body level.
   ======================================================================== */
@media(max-width:820px){
  html body.menu-open{
    overflow:hidden!important;
    touch-action:auto!important;
    -webkit-user-select:auto!important;
  }
  html body.menu-open #sidebar.sidebar.open{
    pointer-events:auto!important;
    touch-action:auto!important;
  }
  html body.menu-open #sidebar.sidebar.open .nav{
    pointer-events:auto!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body.menu-open #sidebar.sidebar.open .nav a[data-route]{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    cursor:pointer!important;
  }
  html body.menu-open #sidebar.sidebar.open .nav a[data-route]>*{
    pointer-events:none!important;
  }
  html body.menu-open .drawer-back{
    pointer-events:auto!important;
  }
}


/* ========================================================================
   DHTN M1.5.67 - INDEPENDENT MOBILE NAV PANEL
   Bypasses legacy sidebar/drawer stacking and touch rules entirely on phones.
   ======================================================================== */
@media(max-width:820px){
  body.mobile-nav-open{overflow:hidden!important}
  .mobile-nav-overlay{position:fixed!important;inset:0!important;z-index:2147483646!important;display:block!important;pointer-events:auto!important}
  .mobile-nav-backdrop{position:absolute!important;inset:0!important;background:rgba(5,16,35,.46)!important;pointer-events:auto!important}
  .mobile-nav-panel{position:absolute!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,320px)!important;max-width:320px!important;display:flex!important;flex-direction:column!important;background:linear-gradient(180deg,#0b3d74 0%,#082b54 100%)!important;color:#fff!important;box-shadow:10px 0 32px rgba(0,0,0,.28)!important;pointer-events:auto!important;touch-action:auto!important;overflow:hidden!important}
  .mobile-nav-head{flex:0 0 auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:calc(14px + env(safe-area-inset-top)) 14px 12px!important;border-bottom:1px solid rgba(255,255,255,.14)!important;background:rgba(0,0,0,.08)!important}
  .mobile-nav-head b{display:block!important;font-size:14px!important;letter-spacing:.02em!important}.mobile-nav-head small{display:block!important;margin-top:3px!important;color:#b9d7f4!important;font-size:11px!important}
  .mobile-nav-close{flex:0 0 42px!important;width:42px!important;height:42px!important;border:0!important;border-radius:10px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:28px!important;line-height:1!important;pointer-events:auto!important;touch-action:manipulation!important}
  .mobile-nav-list{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:10px 10px calc(22px + env(safe-area-inset-bottom))!important;pointer-events:auto!important;touch-action:pan-y!important}
  .mobile-nav-section{padding:13px 10px 6px!important;color:#9fc8ef!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important}
  .mobile-nav-route{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:48px!important;margin:3px 0!important;padding:10px 12px!important;border:0!important;border-left:4px solid transparent!important;border-radius:11px!important;background:transparent!important;color:#fff!important;-webkit-text-fill-color:#fff!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;text-align:left!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important;-webkit-tap-highlight-color:rgba(255,255,255,.16)!important}
  .mobile-nav-route:active{background:rgba(255,255,255,.16)!important;transform:none!important}
  .mobile-nav-route .ico{flex:0 0 26px!important;width:26px!important;text-align:center!important;font-size:18px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;pointer-events:none!important}
  .mobile-nav-route span:last-child{pointer-events:none!important}
}

/* DHTN M1.5.68 - Operational modules + compact mobile menu */
.op-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}.op-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px}.op-category-card{border:1px solid #dce7f2;background:#fff;border-radius:12px;padding:11px;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;text-align:left;gap:2px 8px;cursor:pointer}.op-category-card>span{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:#eaf3fb;display:grid;place-items:center;font-weight:800;color:#0b4d87}.op-category-card>b{font-size:13px}.op-category-card>small{color:#708090}.op-list-head{align-items:flex-start;gap:12px}.op-filters{display:flex;gap:8px;flex-wrap:wrap}.op-filters .select,.op-filters .input{min-width:170px}.op-cat-label{display:block;color:#0b5a98;font-weight:800;margin-bottom:3px}.op-table-wrap{overflow:auto}
@media(max-width:820px){.mobile-nav-panel{width:min(80vw,286px)!important;max-width:286px!important}.mobile-nav-head{padding:calc(10px + env(safe-area-inset-top)) 11px 8px!important}.mobile-nav-head b{font-size:12px!important}.mobile-nav-head small{font-size:10px!important}.mobile-nav-close{width:36px!important;height:36px!important;flex-basis:36px!important;font-size:23px!important}.mobile-nav-list{padding:6px 7px calc(14px + env(safe-area-inset-bottom))!important}.mobile-nav-route{min-height:39px!important;margin:1px 0!important;padding:7px 9px!important;border-radius:8px!important;gap:8px!important;font-size:12.5px!important}.mobile-nav-route .ico{flex-basis:22px!important;width:22px!important;font-size:15px!important}.mobile-nav-tools{margin-top:7px;border-top:1px solid rgba(255,255,255,.12);padding-top:4px}.mobile-nav-tools>summary{list-style:none;padding:9px;color:#b9d7f4;font-size:10px;font-weight:900;letter-spacing:.06em;cursor:pointer}.mobile-nav-tools>summary::-webkit-details-marker{display:none}.mobile-nav-tools>summary:after{content:' ▾'}.mobile-nav-tools[open]>summary:after{content:' ▴'}.mobile-nav-tools-body{padding-bottom:4px}.op-category-grid{grid-template-columns:1fr 1fr;gap:7px}.op-category-card{min-width:0;padding:9px;grid-template-columns:24px 1fr}.op-category-card>span{width:24px;height:24px;font-size:11px}.op-category-card>b{font-size:12px}.op-category-card>small{font-size:10px}.op-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.op-filters .input{grid-column:1/3}.op-filters .select,.op-filters .input{min-width:0;width:100%}.op-list-head{display:block}.op-list-head>div+div{margin-top:8px}}
@media(max-width:380px){.op-category-grid{grid-template-columns:1fr}}


/* ========================================================================
   DHTN M1.5.70 / Client 2.5.4 - UNIFIED UI/UX POLISH
   One design language for Android, iOS, tablet, Windows and macOS.
   ======================================================================== */
:root{
  --dhtn-surface:#ffffff;--dhtn-bg:#f5f8fc;--dhtn-line:#dbe5ef;--dhtn-ink:#15324f;
  --dhtn-muted:#6d8094;--dhtn-primary:#0b4f8a;--dhtn-primary-2:#073b72;
  --dhtn-radius:14px;--dhtn-shadow:0 8px 24px rgba(23,52,83,.08);
}
html,body{background:var(--dhtn-bg)}
body:before{content:'';position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,#0b4f8a,#2f85d5);z-index:2147483600;opacity:0;transition:width .18s ease,opacity .2s ease;pointer-events:none}
body.route-loading:before{width:72%;opacity:1;animation:dhtnLoadBar 1.1s ease-in-out infinite}
@keyframes dhtnLoadBar{0%{transform:translateX(-45%)}50%{transform:translateX(35%)}100%{transform:translateX(80%)}}
.content{scrollbar-gutter:stable}
.page-head{gap:16px;align-items:flex-start}.page-head h1{letter-spacing:-.02em;color:var(--dhtn-ink)}.page-head p{max-width:760px;color:var(--dhtn-muted)}
.btn,.icon-btn,.solid,.ghost{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .08s ease}.btn:active,.icon-btn:active{transform:translateY(1px)}
.input,.select,.textarea{border-color:#cfdae6!important;background:#fff!important}.input:focus,.select:focus,.textarea:focus{border-color:#4d91ca!important;box-shadow:0 0 0 3px rgba(30,111,177,.12)!important;outline:none!important}
.card,.panel,.module-content-card,.module-toolbar-card{border-color:var(--dhtn-line)!important;box-shadow:var(--dhtn-shadow)}
.empty{padding:28px 18px!important;border:1px dashed #cbd8e5;border-radius:12px;background:#f9fbfd;color:#74869a}
.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:#f6faff}
.table th{white-space:nowrap;color:#49647d}

/* Desktop / Windows / macOS */
@media(min-width:1181px){
  .content{padding:22px 26px 34px!important;max-width:1680px;margin:0 auto;width:100%}
  .page-head{margin-bottom:16px}.page-head h1{font-size:24px!important}.page-head p{font-size:13px!important;margin-top:4px!important}
  .module-toolbar-card,.module-content-card{border-radius:16px!important}
  .op-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .op-category-card{min-height:72px!important}
  .table-wrap{border-radius:12px;overflow:auto}
  .modal{border-radius:18px!important;box-shadow:0 24px 70px rgba(11,39,66,.28)!important}
  html.dhtn-desktop-app .topbar{min-height:64px!important}
  html.dhtn-desktop-app .content{padding-top:20px!important}
}

/* Tablet / iPad: dedicated 2-column density instead of stretched phone UI */
@media(min-width:768px) and (max-width:1180px){
  .content{padding:18px 18px 30px!important}
  .page-head h1{font-size:22px!important}
  .op-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .stats,.summary-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .modal{width:min(92vw,780px)!important;max-height:90dvh!important}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .chat-layout{min-height:calc(100dvh - 148px)}
}

/* Mobile / native apps */
@media(max-width:767px){
  body{font-size:14px!important}
  .content{padding:10px 10px calc(84px + env(safe-area-inset-bottom))!important}
  body:not(.route-home) .content{padding-top:10px!important}
  .page-head{display:flex!important;flex-direction:column!important;gap:8px!important;margin:0 0 10px!important}
  .page-head h1{font-size:20px!important;line-height:1.2!important;margin:0!important}
  .page-head p{font-size:12px!important;line-height:1.45!important;margin:3px 0 0!important}
  .page-head>.actions{width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
  .page-head>.actions:empty{display:none!important}.page-head>.actions .btn{width:100%!important;min-height:42px!important}
  .card,.panel,.module-content-card,.module-toolbar-card{border-radius:13px!important;box-shadow:0 5px 18px rgba(23,52,83,.065)!important}
  .card-head{padding:12px!important}.card-body{padding:12px!important}
  .btn{min-height:42px!important;padding:9px 12px!important;font-size:13px!important}.btn.small{min-height:36px!important;padding:7px 9px!important;font-size:12px!important}
  .input,.select,.textarea{font-size:16px!important;min-height:44px!important;border-radius:10px!important}.textarea{min-height:96px!important}
  .field label{font-size:12px!important;margin-bottom:5px!important}
  .grid2,.grid3{grid-template-columns:1fr!important;gap:9px!important}
  .table-wrap{margin-left:-2px;margin-right:-2px;border-radius:10px!important}
  .table{font-size:12px!important}.table th,.table td{padding:9px 8px!important}
  .op-category-grid{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .op-category-card{min-height:62px!important;padding:9px!important;border-radius:11px!important;box-shadow:none!important}
  .op-category-card>b{font-size:12px!important;line-height:1.2!important}.op-category-card>small{font-size:10px!important;line-height:1.25!important}
  .op-filters{position:sticky;top:0;z-index:5;background:var(--dhtn-bg);padding:6px 0 8px!important}
  .modal-backdrop{align-items:flex-end!important;padding:0!important}
  .modal-backdrop>.modal{width:100%!important;max-width:none!important;max-height:94dvh!important;border-radius:18px 18px 0 0!important;margin:0!important;padding-bottom:env(safe-area-inset-bottom)!important}
  .modal-head{position:sticky!important;top:0!important;background:#fff!important;z-index:3!important;border-radius:18px 18px 0 0!important}
  .modal-foot{position:sticky!important;bottom:0!important;background:#fff!important;z-index:3!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important}
  .modal-foot .btn{min-height:44px!important}
  .mobile-bottom{height:68px!important}
  html.dhtn-native-app .topbar{padding-top:env(safe-area-inset-top)!important}
}
@media(max-width:390px){
  .content{padding-left:8px!important;padding-right:8px!important}
  .op-category-grid{grid-template-columns:1fr!important}
  .page-head>.actions{grid-template-columns:1fr!important}
}

/* Compact mobile navigation: core items visible, operational/admin groups collapsed */
@media(max-width:820px){
  .mobile-nav-panel{width:min(78vw,278px)!important;max-width:278px!important}
  .mobile-nav-head{padding:calc(9px + env(safe-area-inset-top)) 10px 8px!important}
  .mobile-nav-list{padding:5px 7px calc(14px + env(safe-area-inset-bottom))!important}
  .mobile-nav-section{padding:8px 8px 4px!important;font-size:9px!important}
  .mobile-nav-route{min-height:38px!important;padding:7px 8px!important;margin:1px 0!important;font-size:12px!important;border-radius:8px!important}
  .mobile-nav-route .ico{font-size:15px!important;flex-basis:21px!important;width:21px!important}
  .mobile-nav-tools{margin-top:5px!important;border-top:1px solid rgba(255,255,255,.12)!important}
  .mobile-nav-tools>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:9px 8px!important;color:#cae1f7!important;font-size:9.5px!important;font-weight:900!important;letter-spacing:.04em!important;list-style:none!important;cursor:pointer!important}
  .mobile-nav-tools>summary::-webkit-details-marker{display:none!important}
  .mobile-nav-tools>summary:after{content:'＋';font-size:14px!important;font-weight:500!important}
  .mobile-nav-tools[open]>summary:after{content:'−'}
  .mobile-nav-tools>summary span{margin-left:auto;background:rgba(255,255,255,.12);border-radius:10px;padding:2px 6px;font-size:9px}
  .mobile-nav-tools-body{padding:0 0 3px!important}
}

/* Better empty/error/loading states */
.route-loading .content{cursor:progress}
.route-loading .content button{pointer-events:none}
.notice-lite,.alert,.toast{border-radius:11px!important}

/* DHTN M1.5.71 / V2.5.5 file-preview UX */
.attachment-card-v255{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line,#dbe4ee);border-radius:13px;background:#fff;margin:7px 0}.attachment-icon-v255{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#eef5fc;color:#073b72;font-weight:800;font-size:13px}.attachment-icon-v255.image{font-size:20px}.attachment-icon-v255.pdf{background:#fff0f0;color:#a12626}.attachment-icon-v255.word{background:#eaf2ff;color:#2457a6}.attachment-icon-v255.excel{background:#eaf8ef;color:#1b6b3d}.attachment-info-v255{min-width:0}.attachment-info-v255 b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-info-v255 small{display:block;color:#708090;margin-top:3px}.attachment-actions-v255{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.native-file-preview{background:#111;border-radius:14px;overflow:hidden;min-height:55vh}.native-file-preview.image{display:grid;place-items:center;padding:8px}.native-file-preview.image img{max-width:100%;max-height:72vh;object-fit:contain}.native-file-preview.document iframe{width:100%;height:72vh;border:0;background:#fff}@media(max-width:700px){.attachment-card-v255{grid-template-columns:40px minmax(0,1fr);padding:9px}.attachment-icon-v255{width:38px;height:38px}.attachment-actions-v255{grid-column:1/-1;justify-content:flex-end}.file-preview-modal .modal-card{width:100%!important;max-width:none!important}.native-file-preview{min-height:62vh}.native-file-preview.document iframe{height:68vh}}

/* ============================================================
   DHTN M1.5.72 / 4Platform V2.5.8 — Visual Fine Polish
   Pure visual layer: no business-flow or data behavior changes.
   ============================================================ */
:root{
  --v258-navy:#073b72;
  --v258-blue:#0b5fa5;
  --v258-blue-soft:#eaf3fb;
  --v258-bg:#f4f7fa;
  --v258-card:#ffffff;
  --v258-text:#172a3a;
  --v258-muted:#687b8d;
  --v258-line:#dfe7ef;
  --v258-shadow:0 7px 24px rgba(24,55,86,.075);
  --v258-shadow-hover:0 12px 30px rgba(24,55,86,.11);
  --v258-radius:14px;
}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{background:var(--v258-bg);color:var(--v258-text);letter-spacing:.002em}
.content{max-width:1680px;margin-inline:auto}
.page-head{align-items:flex-start}.page-head h1{letter-spacing:-.018em;color:#122b40}.page-head p{color:var(--v258-muted)}
.card,.panel,.module-content-card,.module-toolbar-card{background:var(--v258-card);border-color:var(--v258-line)!important;box-shadow:var(--v258-shadow)!important}
.card:hover{box-shadow:var(--v258-shadow-hover)}
.card-head{border-bottom-color:#edf2f6!important}.card-head h2,.card-head h3{letter-spacing:-.012em}
.btn{font-weight:700;letter-spacing:.005em;border-radius:10px;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}
.btn:active{transform:translateY(1px)}
.btn.primary,.btn-primary{box-shadow:0 4px 12px rgba(11,95,165,.18)}
.input,.select,.textarea,input[type=text],input[type=search],input[type=date],input[type=number],input[type=password],select,textarea{border-color:#d9e3ec!important;background:#fff;transition:border-color .14s ease,box-shadow .14s ease}
.input:focus,.select:focus,.textarea:focus,input:focus,select:focus,textarea:focus{border-color:#6fa6d2!important;box-shadow:0 0 0 3px rgba(11,95,165,.10)!important;outline:none}
.table-wrap{border:1px solid var(--v258-line);background:#fff}.table thead th{background:#f7f9fb!important;color:#405569;font-size:11px;letter-spacing:.035em;text-transform:uppercase}.table tbody tr{transition:background-color .1s ease}.table tbody tr:hover{background:#f8fbfd}.table td{border-color:#edf2f6!important}
.badge,.pill,.chip{font-weight:700;letter-spacing:.012em}
.notice-lite,.alert,.toast{box-shadow:0 6px 20px rgba(23,52,83,.09)}
.empty-state,.empty,.no-data{color:var(--v258-muted)}
.op-category-card{border-color:#e1e8ef!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.op-category-card:hover{transform:translateY(-1px);border-color:#cbdbe8!important;box-shadow:0 8px 20px rgba(24,55,86,.075)!important}
.attachment-card-v255{border-color:#dfe7ef;box-shadow:0 3px 12px rgba(23,52,83,.045)}
.modal-backdrop{backdrop-filter:saturate(110%) blur(2px);-webkit-backdrop-filter:saturate(110%) blur(2px)}
.modal{border:1px solid rgba(210,222,233,.9)!important}.modal-head{border-bottom:1px solid #edf2f6}.modal-foot{border-top:1px solid #edf2f6}

/* Desktop: calmer density and consistent alignment */
@media(min-width:1181px){
  .content{padding-left:22px!important;padding-right:22px!important}
  .page-head{margin-bottom:16px!important}.page-head h1{font-size:24px!important}
  .card,.panel,.module-content-card,.module-toolbar-card{border-radius:15px!important}
  .table th,.table td{padding-top:10px!important;padding-bottom:10px!important}
  .op-category-grid{gap:10px!important}.op-category-card{min-height:76px!important}
}
/* Tablet/iPad: compact master-detail feel */
@media(min-width:768px) and (max-width:1180px){
  .content{max-width:1100px!important}.page-head{margin-bottom:13px!important}
  .card,.panel{border-radius:14px!important}.table-wrap{border-radius:12px!important}
  .op-category-grid{gap:9px!important}.op-category-card{padding:11px!important}
}
/* Phone: fewer oversized blocks, cleaner tap hierarchy */
@media(max-width:767px){
  body{background:#f5f7fa!important}
  .content{padding-top:8px!important}
  .page-head{gap:6px!important;margin-bottom:8px!important}.page-head h1{font-size:19px!important}.page-head p{font-size:11.5px!important}
  .card,.panel,.module-content-card,.module-toolbar-card{border-radius:12px!important;box-shadow:0 4px 14px rgba(23,52,83,.055)!important}
  .card-head,.card-body{padding:10px!important}
  .btn{min-height:40px!important}.btn.small{min-height:34px!important}
  .op-category-grid{gap:6px!important}.op-category-card{min-height:58px!important;padding:8px!important}
  .op-category-card>b{font-size:11.5px!important}.op-category-card>small{font-size:9.5px!important}
  .table-wrap{box-shadow:none!important}.table th,.table td{padding:8px 7px!important}
  .attachment-card-v255{margin:6px 0!important;border-radius:11px!important}
  .modal-backdrop>.modal{box-shadow:0 -10px 40px rgba(11,39,66,.16)!important}
  .mobile-bottom{box-shadow:0 -4px 18px rgba(22,50,78,.10)!important;border-top:1px solid #e4eaf0!important}
}
/* Very small phones */
@media(max-width:390px){
  .page-head h1{font-size:18px!important}.content{padding-left:7px!important;padding-right:7px!important}
  .card-head,.card-body{padding:9px!important}.btn{padding-left:10px!important;padding-right:10px!important}
}
/* Native shells: remove web-like over-scroll flash */
html.dhtn-native-app,html.dhtn-native-app body{overscroll-behavior-y:none;background:var(--v258-bg)}
html.dhtn-native-app body{-webkit-tap-highlight-color:transparent}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* M1.5.76 - CONFIGURABLE BRANDING & PRIVACY */
.branding-settings-card .brand-preset-actions{display:flex;gap:8px;flex-wrap:wrap}.branding-preview{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #dbe5ef;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#f4f8f6)}.branding-preview img{width:78px;height:78px;object-fit:contain;border-radius:16px;background:#fff;border:1px solid #e2e8f0;padding:6px}.branding-preview div{display:grid;gap:3px}.branding-preview small{font-size:11px;font-weight:800;color:#607086;letter-spacing:.06em}.branding-preview b{font-size:22px;color:#153451}.branding-preview span{font-size:13px;color:#65758a}@media(max-width:620px){.branding-preview{padding:12px;gap:12px}.branding-preview img{width:62px;height:62px}.branding-preview b{font-size:18px}.brand-preset-actions .btn{flex:1 1 100%}}

/* M1.5.77 - production hardening + collective task workspace */
.global-recovery{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:99999;max-width:min(720px,calc(100vw - 24px));display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:#fff;box-shadow:0 12px 38px rgba(15,23,42,.22);border:1px solid rgba(148,163,184,.45);font-size:13px}
.global-recovery b{font-size:14px}.global-recovery span{flex:1;min-width:220px;color:#475569}.global-recovery button{border:0;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}
.workspace-summary{margin:12px 0}.workspace-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}.required-member td:first-child b:after{content:' *';color:#dc2626}.optional-member{opacity:.72}.workspace-submission .inline-actions{margin-top:8px}
@media(max-width:720px){.global-recovery{bottom:12px;align-items:flex-start}.workspace-actions .btn{flex:1 1 46%}.workspace-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* M1.5.77 Phase 2 - device/session management */
.device-list-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:14px 0 8px}.device-list{display:grid;gap:8px;margin-bottom:12px}.device-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line,#dbe2ea);border-radius:12px;padding:10px 12px;background:var(--card,#fff)}.device-row>div{display:grid;gap:2px;min-width:0}.device-row small{color:var(--muted,#64748b);overflow-wrap:anywhere}@media(max-width:600px){.device-row{align-items:flex-start;flex-direction:column}.device-row .btn{width:100%}}


/* === M1.5.77 PHASE 6: MULTI-PLATFORM SAFE AREA / TABLET POLISH === */
:root{
  --dhtn-safe-top:env(safe-area-inset-top,0px);
  --dhtn-safe-right:env(safe-area-inset-right,0px);
  --dhtn-safe-bottom:env(safe-area-inset-bottom,0px);
  --dhtn-safe-left:env(safe-area-inset-left,0px);
}
html.dhtn-native-safearea-handled{
  --dhtn-safe-top:0px;
  --dhtn-safe-right:0px;
  --dhtn-safe-bottom:0px;
  --dhtn-safe-left:0px;
}
html.dhtn-native-safearea-handled,html.dhtn-native-safearea-handled body{min-height:100%;}
html.dhtn-native-safearea-handled body{min-height:100dvh;overscroll-behavior-y:none;}
@media(max-width:820px){
  html.dhtn-native-safearea-handled .auth-shell-login .auth-brand-panel{padding-top:10px!important;}
  html.dhtn-native-safearea-handled .auth-shell-single .auth-card{padding-top:24px!important;}
  html.dhtn-native-safearea-handled .mobile-bottom{padding-bottom:5px!important;}
  html.dhtn-native-safearea-handled .modal-foot{padding-bottom:10px!important;}
  html.dhtn-native-safearea-handled .content{padding-bottom:84px!important;}
}
/* Tablet / iPad: do not simply stretch the phone layout. */
@media(min-width:600px) and (max-width:1180px){
  .auth-shell-login{max-width:820px!important;margin:0 auto!important;}
  .auth-shell-login .auth-card{max-width:620px!important;margin:0 auto!important;}
  .modal{width:min(92vw,760px)!important;border-radius:18px!important;margin:auto!important;}
  .modal-backdrop{align-items:center!important;padding:24px!important;}
  .grid2{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
/* Landscape phones: keep the login usable above the virtual keyboard. */
@media(max-height:520px) and (orientation:landscape){
  .auth-modern{min-height:100dvh!important;align-items:flex-start!important;overflow:auto!important;}
  .auth-shell-login .auth-brand-panel{min-height:72px!important;padding:8px 14px!important;}
  .auth-shell-login .auth-card{min-height:auto!important;padding-top:12px!important;padding-bottom:18px!important;}
  .compact-login-head{margin-bottom:8px!important;}
}

/* M1.5.77 / Android 3.0.10 - CBCS login presence */
.online-chip{display:inline-flex;align-items:center;gap:6px;min-width:72px;justify-content:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.3px;border:1px solid currentColor}.online-chip i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(0,0,0,.05)}.online-chip.is-online{color:#11823b;background:#eefbf2}.online-chip.is-offline{color:#7a8493;background:#f4f6f8}


/* DHTN Android 3.0.13 / M1.5.77 mobile scroll + compact presence */
@media(max-width:820px){
  html.dhtn-native-app body:not(.menu-open):not(.modal-open){overflow-y:auto!important;touch-action:pan-y pinch-zoom!important;-webkit-overflow-scrolling:touch!important}
  html.dhtn-native-app body:not(.menu-open):not(.modal-open) .shell,
  html.dhtn-native-app body:not(.menu-open):not(.modal-open) .main,
  html.dhtn-native-app body:not(.menu-open):not(.modal-open) .content{height:auto!important;max-height:none!important;overflow:visible!important}
}
.directory-name-line{display:inline-flex;align-items:center;gap:7px;min-width:0}
.presence-dot{display:inline-block;width:9px;height:9px;min-width:9px;border-radius:50%;background:#18b957;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(24,185,87,.20)}


/* DHTN 3.0.14 M1.5.77 scroll/presence fix */
@media(max-width:820px){
 html.dhtn-native-app body:not(.menu-open):not(.modal-open):not(.mobile-nav-open){overflow-y:auto!important;touch-action:pan-y pinch-zoom!important;-webkit-overflow-scrolling:touch!important}
 html.dhtn-native-app body:not(.menu-open):not(.modal-open):not(.mobile-nav-open) .main,
 html.dhtn-native-app body:not(.menu-open):not(.modal-open):not(.mobile-nav-open) .content{height:auto!important;max-height:none!important;overflow:visible!important}
}
.directory-name-line{display:inline-flex;align-items:center;gap:7px;min-width:0}
.presence-dot{display:inline-block;width:8px;height:8px;min-width:8px;border-radius:50%;background:#19b95b;box-shadow:0 0 0 2px #fff}


/* DHTN 3.0.15 NATIVE MAIN SCROLLER */
@media(max-width:820px){
 html.dhtn-native-app,html.dhtn-native-app body{height:100%!important;max-height:100%!important;overflow:hidden!important}
 html.dhtn-native-app body .shell{height:100%!important;min-height:100%!important;overflow:hidden!important}
 html.dhtn-native-app body .main{height:100%!important;max-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-y:auto!important;touch-action:pan-y!important}
 html.dhtn-native-app body .content{height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
}

/* DHTN 3.0.22 Native Call + badge/account polish */
.account-avatar-btn{border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-weight:900!important}.account-avatar-btn span{font-size:11px;letter-spacing:.3px}.chat-top-btn{font-size:16px!important}.logout-item{display:flex!important;align-items:center!important;gap:10px!important;width:100%!important;padding:10px 12px!important;border-radius:10px!important;background:#fff!important;color:#334155!important;text-align:left!important}.logout-item:hover{background:#fff4f4!important;color:#a61b1b!important}.logout-item .logout-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#f1f5f9;font-size:17px}.logout-item span:last-child{display:flex;flex-direction:column}.logout-item b{font-size:13px}.logout-item small{font-size:10px;color:#8290a3;font-weight:500}.top-actions .badge{box-shadow:0 0 0 2px #fff}.call-overlay .call-title em{font-style:normal;font-variant-numeric:tabular-nums}
@media(max-width:820px){.top-actions{gap:5px!important}.top-actions .icon-btn{width:38px!important;height:38px!important;min-width:38px!important}.account-avatar-btn span{font-size:10px}.account-menu{right:0!important;max-width:min(92vw,320px)!important}}


/* DHTN CALL/UI 3.0.22 FIX4 */
@media(max-width:820px){
 .topbar{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px!important}
 .topbar .unit{min-width:0!important}.topbar .unit strong,.topbar .unit span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
 .topbar .top-actions{display:flex!important;align-items:center!important;gap:5px!important;min-width:max-content!important}
 .topbar .top-actions .status-pill,.topbar .top-actions .user-mini{display:none!important}
 .topbar [data-notice-toggle],.topbar .chat-top-btn,.topbar .account-avatar-btn{display:inline-flex!important;position:relative!important;width:38px!important;height:38px!important;min-width:38px!important;border-radius:50%!important;padding:0!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
 .topbar .account-avatar-btn{font-size:0!important}.topbar .account-avatar-btn span{font-size:11px!important;font-weight:800!important}
 .topbar .badge{position:absolute!important;right:-4px!important;top:-5px!important;min-width:18px!important;height:18px!important;border-radius:9px!important;font-size:10px!important;line-height:18px!important;padding:0 4px!important;z-index:5!important}
 .account-menu{right:0!important;min-width:250px!important}.account-menu .logout-item{display:flex!important;align-items:center!important;gap:10px!important;min-height:56px!important;border-radius:13px!important;background:#fff!important;color:#b42318!important;border:1px solid #fecaca!important;padding:10px 12px!important}.account-menu .logout-item .logout-ico{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:50%!important;background:#fff1f2!important;color:#be123c!important;font-size:20px!important}
}

/* DHTN 3.0.22 FIX5A - mobile header cleanup */
@media(max-width:760px){
  .topbar:after{content:none!important;display:none!important}
  body.route-home .topbar:after{content:none!important;display:none!important}
}
