/* Baldrige PWA — giao diện mới: nổi khối, sống động, nhiều màu theo từng nhóm tiêu chí */
:root{
  --navy:#1b3a5c; --navy2:#0f2440; --teal:#0e7a6b; --teal2:#14b8a6;
  --violet:#7c3aed; --pink:#db2777; --amber:#f59e0b; --amber2:#fbbf24;
  --green:#16a34a; --blue:#2563eb; --orange:#ea580c;
  --bg:#eef2ff; --line:#e2e8f0; --ink:#1d2939; --muted:#64748b;
  --shadow:0 12px 32px rgba(27,58,92,.14); --shadow-sm:0 4px 14px rgba(27,58,92,.12);
}
*{box-sizing:border-box}
body{margin:0;overflow-x:hidden;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);line-height:1.55;
  background:linear-gradient(180deg,#eef2ff 0%,#fdf4ff 45%,#ecfeff 100%);background-attachment:fixed}
h2{font-size:24px;background:linear-gradient(90deg,var(--navy),var(--violet),var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
h3{color:var(--navy)}

/* --- Header nổi khối --- */
.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;
  background:linear-gradient(100deg,#0f2440 0%,#1b3a5c 45%,#7c3aed 85%,#0e7a6b 130%);color:#fff;
  padding:14px 20px;box-shadow:0 8px 24px rgba(15,36,64,.35)}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:26px;font-weight:900;color:#1b3a5c;
  background:linear-gradient(135deg,#fde68a,#f59e0b 55%,#f472b6);box-shadow:0 4px 12px rgba(0,0,0,.3)}
.brand small{display:block;opacity:.9;font-size:12px}
.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pill{background:rgba(255,255,255,.18);color:#fff;padding:6px 12px;border-radius:99px;font-size:12px;border:1px solid rgba(255,255,255,.25)}
.pill.ok{background:#dcfce7;color:#166534;border-color:transparent}
.pill.warn{background:#fef3c7;color:#92400e;border-color:transparent}
.pill.ver{background:linear-gradient(90deg,#f59e0b,#f472b6);color:#fff;border-color:transparent;font-weight:800}
#barChart{max-width:100%;height:auto;display:block}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.rubric{min-width:560px}
.table-wrap table{min-width:620px}

/* --- Tabs desktop: viên thuốc nổi --- */
.tabs{display:flex;gap:8px;padding:14px 16px 12px;overflow-x:auto;background:rgba(255,255,255,.85);backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.tabs button{border:1px solid var(--line);background:#fff;padding:10px 16px;cursor:pointer;white-space:nowrap;
  border-radius:99px;font-size:14px;font-weight:600;box-shadow:var(--shadow-sm)}
.tabs button.active{background:linear-gradient(90deg,var(--teal),#2563eb);color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(37,99,235,.4)}

main{max-width:1180px;margin:0 auto;padding:20px}
.view{display:none}.view.active{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* --- Thẻ nổi khối --- */
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;margin-bottom:18px;
  box-shadow:var(--shadow);position:relative;overflow:hidden}
.card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--amber2),var(--pink),var(--violet),var(--teal2))}
.card:hover{transform:translateY(-2px);transition:transform .15s ease}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
label{font-size:13px;font-weight:700;display:block}
input,select,textarea{width:100%;padding:10px 12px;border:2px solid var(--line);border-radius:12px;font:inherit;margin-top:4px;background:#fff}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(124,58,237,.18)}
textarea{min-height:110px;resize:vertical}textarea.short{min-height:70px}
.btn{border:1px solid var(--line);background:#fff;padding:10px 16px;border-radius:12px;cursor:pointer;font:inherit;font-weight:700;box-shadow:var(--shadow-sm)}
.btn.primary{background:linear-gradient(90deg,var(--teal),#059669);color:#fff;border-color:transparent}
.btn.small{padding:7px 12px;font-size:13px}
.btn.danger{color:#b42318;border-color:#fecdc2}
.actions-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.muted{color:var(--muted);font-size:13px}
.stat b{display:block;font-size:36px;background:linear-gradient(90deg,var(--violet),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--muted)}
.layout{display:grid;grid-template-columns:250px 1fr;gap:16px;align-items:start}
.sidebar{position:sticky;top:70px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:var(--shadow)}
.sidebar button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 12px;border-radius:10px;cursor:pointer;font-weight:600}
.sidebar button.active{background:linear-gradient(90deg,#ede9fe,#cffafe);color:var(--navy);box-shadow:inset 3px 0 0 var(--violet)}
.sidebar .cat{font-weight:800;margin-top:10px;color:var(--violet)}
.qblock{border:2px solid #f1f5f9;background:#f8fafc;border-radius:14px;padding:14px;margin:12px 0}
.qblock:first-child{margin-top:0}
.item-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.progress{height:12px;background:#e2e8f0;border-radius:99px;overflow:hidden}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--amber2),var(--pink),var(--violet))}
.heatmap{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.heat{padding:10px 6px;border-radius:12px;background:#f2f4f7;font-size:12px;text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.heat.Reactive{background:linear-gradient(135deg,#fee2e2,#fecaca)}
.heat.Early{background:linear-gradient(135deg,#fef3c7,#fde68a)}
.heat.Mature{background:linear-gradient(135deg,#dcfce7,#bbf7d0)}
.heat.Role{background:linear-gradient(135deg,#a7f3d0,#34d399);font-weight:800}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{border-bottom:1px solid var(--line);padding:9px;text-align:left;vertical-align:top}
table.rubric th{background:linear-gradient(90deg,var(--navy),var(--violet));color:#fff}
.flow{display:flex;gap:10px;flex-wrap:wrap;padding:0;list-style:none}
.flow li{background:linear-gradient(135deg,#ede9fe,#cffafe);padding:12px;border-radius:14px;flex:1;min-width:150px;font-weight:600;box-shadow:var(--shadow-sm)}
.search{margin-bottom:12px}
.gloss{padding:10px 0;border-bottom:1px solid var(--line)}
.report h3{margin-top:18px}
.report{font-size:14px}
footer{max-width:1180px;margin:0 auto;padding:0 20px 30px;color:var(--muted)}
.warnbox{background:#fffbeb;border:1px solid #fde68a;padding:10px;border-radius:12px;font-size:13px;margin-top:8px}
select.score{border-color:var(--teal);font-weight:700}

/* --- Menu mobile: thanh ngang + menu dọc --- */
.mobile-hmenu,.mobile-vmenu{display:none}
@media(max-width:800px){
  .grid2,.grid3,.layout{grid-template-columns:1fr}
  .sidebar{position:static}
  .heatmap{grid-template-columns:repeat(3,1fr)}
  .tabs{display:none}
  .mobile-hmenu{display:flex;gap:8px;padding:12px 12px 6px;overflow-x:auto;position:sticky;top:0;z-index:6;
    background:linear-gradient(90deg,#1b3a5c,#7c3aed);scrollbar-width:none}
  .mobile-hmenu::-webkit-scrollbar{display:none}
  .mobile-hmenu button{flex:0 0 auto;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:#fff;
    padding:9px 14px;border-radius:99px;font-weight:700;white-space:nowrap;cursor:pointer}
  .mobile-hmenu button.active{background:linear-gradient(90deg,#f59e0b,#f472b6);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(0,0,0,.3)}
  .mobile-vmenu{display:block;margin:0 12px 6px;background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
  .mobile-vmenu .vmenu-head{width:100%;text-align:left;border:0;background:linear-gradient(90deg,#ede9fe,#fce7f3);
    padding:13px 16px;font-weight:800;font-size:15px;cursor:pointer;color:var(--navy)}
  .mobile-vmenu .vmenu-body{display:none}
  .mobile-vmenu.open .vmenu-body{display:block}
  .mobile-vmenu .vmenu-body button{display:block;width:100%;text-align:left;border:0;border-top:1px solid var(--line);
    background:#fff;padding:12px 16px;font-weight:600;cursor:pointer}
  .mobile-vmenu .vmenu-body button:active{background:#ede9fe}
  main{padding:12px}
  .card{padding:16px}
  h2{font-size:20px}
  .topbar{padding:10px 12px}
  .brand strong{font-size:15px}
  .brand small{font-size:11px}
  .logo{width:40px;height:40px;font-size:22px;border-radius:12px}
  .top-actions .pill{padding:4px 8px;font-size:11px}
  .table-wrap{margin:0 -16px;padding:0 16px}
  .sidebar button{white-space:normal}
  .heat{font-size:11px;padding:8px 4px}
  .flow li{min-width:130px}
}
@media print{
  .topbar,.tabs,.mobile-hmenu,.mobile-vmenu,footer,.actions-row,form{display:none!important}
  main{max-width:none}.view{display:block!important}.card{border:0;box-shadow:none}
}

/* --- Bản 3.0: lưu rõ ràng + kết quả rõ ràng --- */
.saved-note{font-size:12px;color:#15803d;font-weight:700;margin-top:6px}
.saved-note:empty{display:none}
.toast{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);background:#111827;color:#fff;
  padding:10px 18px;border-radius:99px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.35);z-index:50}
.save-dock{position:sticky;bottom:0;z-index:40;display:flex;gap:10px;align-items:center;justify-content:space-between;
  background:linear-gradient(90deg,#1b3a5c,#7c3aed);color:#fff;padding:10px 16px;border-radius:16px 16px 0 0;
  box-shadow:0 -6px 20px rgba(27,58,92,.25);font-weight:700;max-width:1180px;margin:0 auto}
.save-dock .btn{background:#fff;color:#1b3a5c}
.resume-card{background:linear-gradient(135deg,#fff7ed,#ede9fe)}
.resume-card::before{background:linear-gradient(90deg,#f59e0b,#7c3aed)}
.save-card{background:linear-gradient(135deg,#ecfeff,#dcfce7)}
.save-card::before{background:linear-gradient(90deg,#0e7a6b,#16a34a)}
.done-banner{background:linear-gradient(90deg,#dcfce7,#cffafe);border:1px solid #86efac;border-radius:14px;
  padding:12px 16px;font-weight:700;margin:10px 0}
.done-banner.soft{background:#f1f5f9;border-color:#e2e8f0}
.result-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;box-shadow:var(--shadow-sm)}
.empty-result{text-align:center;padding:30px 10px;background:linear-gradient(135deg,#ede9fe,#cffafe);border-radius:16px}
@media(max-width:800px){.save-dock{font-size:13px;padding:8px 12px}.toast{bottom:64px}}

/* --- Bản 4.0: bản động — auth, wizard, glossify, LeTCI, chỉ đọc --- */
body.gated .tabs, body.gated .mobile-hmenu, body.gated .mobile-vmenu, body.gated #saveDock, body.gated .topbar{display:none}
.top-actions select{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:6px 10px;font-size:12px;font-weight:700;width:auto;margin-top:0}
.top-actions select option{color:#1d2939}
.ro-banner{max-width:1180px;margin:12px auto 0;padding:12px 16px;border-radius:14px;background:#fef3c7;border:1px solid #fde68a;font-weight:700;color:#92400e}
.ro-banner .btn{margin-left:10px;vertical-align:middle}
/* Vòng 3 U3: hàng radio phạm vi kỳ mới — nằm ngay cạnh ô tên kỳ. */
.scope-mode-row{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:10px 0}
.scope-mode-row label{font-weight:700;display:flex;gap:6px;align-items:center}
.qstatus-label{margin:0;font-size:14px}
/* .auth-card width handled by .auth-wrap below */
.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#b42318;border-radius:12px;padding:12px;font-weight:700;margin:12px 0}
#tabLogin.active,#tabRegister.active{box-shadow:0 0 0 3px rgba(14,122,107,.35)}
.wizard{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.wizard-step{flex:1;min-width:120px;display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;
  border:2px solid var(--line);background:#fff;padding:10px 12px;border-radius:14px;cursor:pointer;font:inherit;box-shadow:var(--shadow-sm)}
.wizard-step .w-num{width:26px;height:26px;border-radius:99px;display:grid;place-items:center;background:#e2e8f0;font-weight:900;font-size:13px}
.wizard-step.done{border-color:#86efac;background:linear-gradient(135deg,#dcfce7,#cffafe)}
.wizard-step.done .w-num{background:#16a34a;color:#fff}
.wizard-step .w-label{font-weight:800;font-size:14px}
.wizard-step .w-detail{font-size:12px;color:var(--muted)}
.onboard-card{background:linear-gradient(135deg,#fff7ed,#ede9fe)}
.cv-list{columns:2;column-gap:24px;font-size:13px}
.cv-list li{break-inside:avoid;margin-bottom:6px}
@media(max-width:800px){.cv-list{columns:1}}
.term{border-bottom:2px dotted var(--violet);cursor:help;font-weight:600}
.term:hover{background:#ede9fe}
.letci{border:2px dashed #c4b5fd;background:#faf5ff;border-radius:14px;padding:12px;margin:12px 0}
.letci h4{margin:0 0 6px;color:var(--violet)}
.flag-hint{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:10px;font-size:13px;font-weight:700;margin-top:8px}
.notebox{background:linear-gradient(90deg,#ede9fe,#cffafe);border:1px solid #c4b5fd;border-radius:14px;padding:12px 16px;margin:10px 0;font-size:14px}
.notebox.soft{background:#f1f5f9;border-color:#e2e8f0}
.invite-box{background:#f8fafc;border:2px dashed #c4b5fd;border-radius:14px;padding:12px;word-break:break-all}
.invite-box code{font-size:13px}
body.ro main textarea, body.ro main input, body.ro main select{opacity:.75}
@media print{.wizard,.ro-banner,#view-auth,#view-org{display:none!important}}

/* --- Auth chuyên nghiệp (bản 4.0) --- */
#view-auth{background:linear-gradient(180deg,#eef2f7 0%,#f7f8fa 320px)}
.auth-wrap{max-width:460px;margin:0 auto;padding:40px 16px 32px}
.auth-brand{display:flex;align-items:center;gap:14px;margin:0 4px 20px}
.auth-logo{width:52px;height:52px;flex:0 0 52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:28px;font-weight:900;color:#fff;background:linear-gradient(135deg,#0e7a6b,#1b3a5c 70%);box-shadow:0 8px 20px rgba(27,58,92,.28)}
.auth-brand-text{display:flex;flex-direction:column;gap:2px}
.auth-brand-text strong{font-size:19px;color:#0f172a;letter-spacing:-.2px}
.auth-brand-text span{font-size:13px;color:#64748b}
.auth-card{max-width:none;margin:0;padding:28px 28px 22px;border-radius:20px;box-shadow:0 12px 40px rgba(15,23,42,.12)}
.auth-tabs{display:flex;background:#eef2f7;border:1px solid #e2e8f0;border-radius:999px;padding:4px;margin-bottom:20px}
.auth-tab{flex:1;border:0;background:transparent;padding:10px 8px;border-radius:999px;font-size:15px;font-weight:700;color:#64748b;cursor:pointer}
.auth-tab.active{background:#fff;color:#0f172a;box-shadow:0 2px 8px rgba(15,23,42,.14)}
.auth-title{font-size:22px;margin:2px 0 6px;color:#0f172a;letter-spacing:-.3px}
.auth-sub{margin:0 0 18px;font-size:14px}
.field{display:block;margin-bottom:14px}
.field span{display:block;font-size:13px;font-weight:700;color:#334155;margin-bottom:6px}
.field input{width:100%;height:48px;border-radius:12px;border:1.5px solid #cbd5e1;padding:0 14px;font-size:15px;background:#fff}
.field input:focus{outline:none;border-color:#0e7a6b;box-shadow:0 0 0 3px rgba(14,122,107,.16)}
.auth-submit{width:100%;height:52px;border-radius:12px;font-size:17px;margin-top:6px}
.auth-switch{text-align:center;font-size:14px;color:#64748b;margin:16px 0 4px}
.linklike{border:0;background:none;color:#0e7a6b;font-weight:700;font-size:14px;cursor:pointer;padding:0}
.linklike:hover{text-decoration:underline}
.auth-foot{margin-top:18px;padding-top:16px;border-top:1px solid #eef2f7;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:#64748b}
.auth-legal{text-align:center;font-size:12.5px;margin-top:16px}
@media(max-width:520px){.auth-wrap{padding:24px 12px}.auth-card{padding:22px 18px 18px}.auth-brand-text strong{font-size:17px}}

/* --- Nhóm 1: modal xung đột (F53) + đăng xuất an toàn (F54) + đếm mức (§3) --- */
.modal-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(15,36,64,.55);padding:16px}
.modal-overlay[hidden]{display:none}
.modal-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(15,36,64,.4);max-width:560px;width:100%;padding:24px;max-height:88vh;overflow-y:auto}
.modal-card h3{margin-top:0}
.modal-card ul{margin:8px 0;padding-left:20px}
.conflict-banner{position:sticky;bottom:0;z-index:45;max-width:1180px;margin:10px auto 0;padding:12px 16px;border-radius:14px;
  background:#fef3c7;border:2px solid #f59e0b;font-weight:700;color:#92400e;display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.conflict-banner[hidden]{display:none}
.conflict-banner .btn{background:#fff;color:#92400e;border-color:#f59e0b}
.level-counts{display:flex;flex-direction:column;gap:8px}
.lc-row{display:grid;grid-template-columns:110px 1fr 52px;gap:10px;align-items:center;font-size:14px}
.lc-label{font-weight:700}
.lc-row b{text-align:right}
@media(max-width:520px){.modal-card{padding:18px}.lc-row{grid-template-columns:96px 1fr 44px}}

/* --- Nhóm 2: minh chứng (F21–F24) --- */
.ev-card{border-left:6px solid var(--violet)}
.ev-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ev-head .pill{color:#1d2939}
.ev-chip{display:inline-block;background:#ede9fe;border:1px solid #c4b5fd;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700;margin:2px 4px 2px 0}
.ev-chip .linklike{color:#b42318;font-weight:900}
.ev-chip-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.ev-picker{border:2px dashed #c4b5fd;background:#faf5ff;border-radius:14px;padding:12px;margin:12px 0}
.ev-picker label{margin-top:6px}
@media(max-width:800px){.ev-head .pill{font-size:11px;padding:4px 8px}}

/* --- Ghi nhớ đăng nhập + ẩn/hiện mật khẩu --- */
.pw-wrap{position:relative;display:block}
.pw-wrap input{padding-right:48px}
.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:18px;cursor:pointer;padding:6px 8px;line-height:1}
.remember{display:flex;align-items:center;gap:8px;font-size:14px;color:#334155;margin:2px 0 14px;cursor:pointer}
.remember input{width:18px;height:18px;accent-color:#0e7a6b;cursor:pointer}

/* --- Nhóm 3: phiên bản & phạm vi (F04/F11), rubric tách bảng (F26), trang nguồn + bản gốc EN (F01/F02) --- */
.scope-box{margin:12px 0}
.scope-box summary{cursor:pointer;padding:6px 0}
.scope-items{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0}
.scope-item{display:flex;gap:6px;align-items:center;font-size:13px;white-space:nowrap}
.scope-item input{width:16px;height:16px;accent-color:#0e7a6b}
.q-meta{font-size:13px;color:#475569;margin:4px 0 6px}
.q-meta .btn{margin-left:2px}
.en-box{background:#f0fdfa;border-left:4px solid #0e7a6b;border-radius:8px;padding:10px 12px;margin:6px 0;font-size:14px}
.rubric-ref{margin:10px 0}
.rubric-ref summary{cursor:pointer;font-weight:700;color:#0e7a6b}
@media(max-width:520px){.scope-item{white-space:normal}}

/* --- Nhóm 4: trạng thái câu hỏi (F19), rà soát/chốt (F28), cảnh báo (F30) --- */
.qstatus-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;margin-top:8px;display:grid;gap:8px}
.qstatus-box label{font-size:13px;font-weight:700;color:#334155}
.qstatus-box select,.qstatus-box input{width:100%;box-sizing:border-box;margin-top:4px}
.review-box{background:#f0fdfa;border:1px solid #99f6e4;border-radius:12px;padding:12px;margin-top:12px;display:grid;gap:8px}
.review-box label{font-size:13px;font-weight:700;color:#134e4a}
.warn-list{margin:6px 0;padding-left:20px;font-size:14px}
.warn-list li{margin:6px 0}
.checkline{display:flex;gap:8px;align-items:flex-start;font-size:13px;font-weight:700;color:#334155;margin-top:10px}
.checkline input{width:18px;height:18px;accent-color:#b45309;flex:none;margin-top:0}

/* --- Nhóm 5: Báo cáo & Vận hành (F42/F43/F49/F50/F46/F52/F55/F20/F13/F12/F31/F38/F39/F09/F10/F16/F17/F03) --- */
.update-banner{position:sticky;top:0;z-index:90;background:#fef3c7;border-bottom:2px solid #f59e0b;padding:10px 16px;font-size:14px;text-align:center}
.update-banner[hidden]{display:none}
.qhist,.adhint{margin-top:10px;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;background:#f8fafc}
.qhist summary,.adhint summary{cursor:pointer;font-weight:700;font-size:13px;color:#1b3a5c}
.hist-list{margin:8px 0;padding-left:18px;font-size:13px}
.hist-list li{margin:8px 0}
.search-list{list-style:none;margin:8px 0;padding:0}
.search-list li{margin:8px 0;padding:8px;border:1px solid #e2e8f0;border-radius:10px}
.qblock.flash{outline:3px solid #2563eb;outline-offset:2px;transition:outline .3s}
.qtable table input{width:100%;box-sizing:border-box}
.assign-line{font-size:13px;color:#334155;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:6px 10px;margin:6px 0}
.cat-block{border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;margin:10px 0}
.cat-block h4{margin:0 0 6px}
.cat-block ul{margin:6px 0;padding-left:18px}
.scope-item{display:inline-flex;gap:6px;align-items:center;border:1px solid #e2e8f0;border-radius:8px;padding:4px 8px;margin:3px;font-size:13px}
#actItemsBox{margin-top:8px}
@media(max-width:520px){.qtable .table-wrap{margin:0 -12px;padding:0 12px}}

/* Nhóm 5 — Phân công & nhắc việc (F12/F13/F37): hàng quá hạn / sắp hết hạn,
   banner quá hạn ở đầu mọi tab, cảnh báo ưu tiên OFI thiếu căn cứ. */
tr.assign-overdue{background:#fde8e8}
tr.assign-soon{background:#fef9c3}
.due-overdue{color:#b91c1c;font-weight:700}
.due-soon{color:#92400e;font-weight:700}
.overdue-banner{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;padding:8px 12px;border-radius:10px;margin:10px 12px 0;font-size:13px}
.overdue-banner .btn{margin-left:8px}
.ofi-prio-warn{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:8px 10px;border-radius:8px;font-size:13px;margin-top:8px}
#assignBox.flash{outline:3px solid #2563eb;outline-offset:2px;transition:outline .3s}
.remind-group{font-size:14px;margin:10px 0 4px}
