:root{--navy:#1e3a5f;--deep:#13283f;--blue:#2b4f7a;--sky:#4a7fb5;--bg:#f2f6fa;--card:#fff;--line:#dfe7ef;--text:#182536;--muted:#687789;--green:#2f9e64;--yellow:#d69e2e;--red:#d6494a;--r:18px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#e8f3ff,transparent 34rem),var(--bg);color:var(--text);font-family:Verdana,Arial,sans-serif}a{color:var(--blue);text-decoration:none}button,input,select{font:inherit}.top-ribbon{height:46px;background:var(--deep);color:#d9e6f5;display:flex;align-items:center;gap:18px;padding:0 22px;position:sticky;top:0;z-index:20}.top-ribbon span{font-weight:800;color:#fff}.top-ribbon a,.top-ribbon button{color:#d9e6f5;background:transparent;border:0;cursor:pointer}.top-ribbon form{margin-left:auto}.app-shell{display:flex;min-height:calc(100vh - 46px)}.sidebar{width:260px;background:linear-gradient(180deg,var(--navy),#17304d);color:white;padding:22px;display:flex;flex-direction:column;gap:18px}.brand b{font-size:22px}.brand small,.user-box small{display:block;color:#b9cce2;margin-top:4px}.sidebar nav{display:grid;gap:8px}.sidebar nav a{color:#e8f1fb;padding:12px 14px;border-radius:12px}.sidebar nav a:hover{background:rgba(255,255,255,.1)}.user-box{margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07)}.main{flex:1;padding:26px;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--sky);font-size:12px;font-weight:800}.page-head h1,.hero h1{margin:.2rem 0;font-size:34px}.panel,.login-card,.hero,.public-profile{background:rgba(255,255,255,.92);border:1px solid var(--line);box-shadow:0 20px 60px rgba(30,58,95,.08);border-radius:var(--r);padding:24px;margin-bottom:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--navy);color:#fff!important;padding:11px 16px;font-weight:700;cursor:pointer}.btn.ghost{background:#eef4fb;color:var(--blue)!important}.btn.secondary{background:var(--green)}.btn.danger{background:var(--red)}.btn.mini{padding:7px 10px;font-size:12px}.toast{padding:12px 14px;border-radius:12px;margin-bottom:14px;background:#eef4fb;border:1px solid var(--line)}.toast.danger{background:#fff0f0;color:#8d2324}.toast.warning{background:#fff8e7}.hero{display:grid;grid-template-columns:1fr 260px;gap:22px;align-items:center}.hero p{max-width:760px;color:var(--muted);line-height:1.7}.hero-actions{display:flex;gap:12px;margin-top:20px}.hero-card{background:linear-gradient(135deg,var(--navy),var(--sky));color:#fff;border-radius:22px;padding:28px;text-align:center}.hero-card b{display:block;font-size:64px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.filters input,.inline-form input,.inline-form select{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;min-width:260px}.chip,.badge{display:inline-flex;padding:7px 10px;border-radius:99px;background:#eaf1f9;color:var(--blue);font-weight:700;font-size:12px}.badge.da_duyet,.badge.success{background:#e6f5ec;color:var(--green)}.badge.cho_duyet{background:#fbf1dc;color:#94630f}.badge.yeu_cau_chinh_sua,.badge.danger{background:#fbeaea;color:var(--red)}.public-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.teacher-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;color:var(--text);transition:.2s}.teacher-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(30,58,95,.12)}.avatar-lg,.avatar-xl{width:68px;height:68px;border-radius:20px;background:linear-gradient(135deg,#d7e8fa,#fff);display:grid;place-items:center;color:var(--blue);font-size:28px;font-weight:800;overflow:hidden}.avatar-xl{width:110px;height:110px}.avatar-lg img{width:100%;height:100%;object-fit:cover}.teacher-card h3{margin:14px 0 6px}.teacher-card p,.teacher-card small,.muted{color:var(--muted)}.profile-cover{display:flex;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.profile-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.profile-sections section{background:#f8fbfe;border-radius:16px;padding:18px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;color:var(--text)}.kpi span{color:var(--muted)}.kpi b{display:block;font-size:38px;margin-top:8px}.kpi.success b{color:var(--green)}.kpi.warning b{color:var(--yellow)}.kpi.danger b{color:var(--red)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bars div{display:grid;grid-template-columns:170px 1fr 50px;gap:12px;align-items:center;margin:12px 0}.bars i{height:12px;border-radius:9px;background:linear-gradient(90deg,var(--sky),var(--navy))}.activity{border-bottom:1px solid var(--line);padding-bottom:10px}.activity small{display:block;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px;vertical-align:top}td small{display:block;color:var(--muted);margin-top:4px}.form-stack{display:grid;gap:13px}.form-stack input,.form-stack select,.form-grid input,.repeat-row input,.approval input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fbfdff}.login-card{max-width:860px;margin:60px auto;display:grid;grid-template-columns:1fr 340px;gap:30px}.sticky-progress{position:sticky;top:58px;z-index:10;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:16px}.sticky-progress progress{flex:1}.wizard-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:20px;align-items:start}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.form-grid label{font-weight:700;font-size:13px}.form-grid input{margin-top:6px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.repeat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:10px 0;padding:12px;background:#f8fbfe;border-radius:14px}.repeat-row.two{grid-template-columns:1fr 2fr}.preview{position:sticky;top:130px;max-height:calc(100vh - 150px);overflow:auto}.actions{display:flex;gap:10px;margin-top:18px}.doc-export{background:#fff;border:1px solid #cfd8e3;padding:22px;color:#111;font-family:'Times New Roman',serif;line-height:1.55}.doc-export h1{text-align:center;font-size:20px}.doc-export h2{font-size:15px;margin-top:18px}.doc-top,.signatures{display:flex;justify-content:space-between;gap:20px;text-align:center}.signatures{margin-top:30px}.detail-head{display:flex;justify-content:space-between;align-items:center}.approval{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px}.notification{border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:#fbfdff}.empty{color:var(--muted);font-style:italic}.public-main{max-width:1180px;margin:0 auto;padding:28px}.back{display:inline-block;margin-bottom:14px}@media(max-width:980px){.app-shell{display:block}.sidebar{width:auto}.kpi-grid,.two-col,.hero,.profile-sections,.wizard-grid,.login-card{grid-template-columns:1fr}.preview{position:static}.form-grid,.repeat-row{grid-template-columns:1fr}.main{padding:16px}.public-main{padding:16px}.top-ribbon{overflow:auto}.approval{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}.page-head{display:block}.hero-actions{flex-direction:column}.profile-cover{display:block}.bars div{grid-template-columns:1fr}}

/* AcadHub V1.2 UX/security polish */
body.dark{--bg:#0f1724;--card:#172234;--line:#2b3b52;--text:#edf4ff;--muted:#a8b6c8;--deep:#071321;--navy:#10223a;background:radial-gradient(circle at top left,#183657,transparent 34rem),var(--bg)}
.icon-btn{border:0;border-radius:10px;background:#eef4fb;color:var(--blue);padding:8px 10px;font-weight:800;cursor:pointer}.top-ribbon .icon-btn{margin-left:auto}.top-ribbon form+.icon-btn{margin-left:0}.mobile-only{display:none}.drawer-backdrop{display:none}.breadcrumb{display:flex;gap:8px;margin-bottom:10px;color:var(--muted);font-size:13px}.smart-filters select{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;min-width:220px}.avatar-xl img{width:100%;height:100%;object-fit:cover}.timeline{display:grid;gap:16px}.timeline section{position:relative;background:#f8fbfe;border:1px solid var(--line);border-radius:16px;padding:18px 18px 18px 24px}.timeline section:before{content:"";position:absolute;left:8px;top:22px;width:7px;height:7px;border-radius:50%;background:var(--sky)}body.dark .timeline section,body.dark .repeat-row{background:#101b2b}.autosave-state{font-size:12px;color:var(--green);font-weight:700}.modal{position:fixed;inset:0;background:rgba(7,19,33,.68);display:none;align-items:center;justify-content:center;padding:22px;z-index:80}.modal.open{display:flex}.modal-box{position:relative;max-width:920px;max-height:92vh;overflow:auto;background:var(--card);border-radius:20px;padding:24px;border:1px solid var(--line)}.modal .close{position:absolute;right:12px;top:12px}.event-dang,.event-phe{border-left:4px solid var(--green);padding-left:10px}.event-xem,.event-download{border-left:4px solid var(--sky);padding-left:10px}.event-yeu{border-left:4px solid var(--red);padding-left:10px}
@media(max-width:980px){.mobile-only{display:inline-flex}.app-shell{display:block}.sidebar{position:fixed;left:-290px;top:46px;bottom:0;width:280px;z-index:60;transition:left .22s ease;box-shadow:20px 0 50px rgba(0,0,0,.25)}.sidebar.open{left:0}.drawer-backdrop.open{display:block;position:fixed;inset:46px 0 0;background:rgba(7,19,33,.45);z-index:50}.top-ribbon .icon-btn{margin-left:0}.preview{display:none}.sticky-progress{align-items:flex-start;flex-wrap:wrap}.form-panel h2{background:#eef4fb;border-radius:12px;padding:12px;margin-top:18px}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block;width:100%}.data-table tr{border:1px solid var(--line);border-radius:16px;margin:12px 0;padding:10px;background:var(--card)}.data-table th{display:none}.data-table td{border:0;padding:6px 8px}}

/* AcadHub V1.3 - Clean Academic + Modern SaaS PRO MAX */
:root{--primary:#1E3A5F;--primary-soft:#E8EEF5;--accent:#3B82F6;--success:#059669;--warning:#D97706;--danger:#DC2626;--bg:#F1F5F9;--surface:#FFFFFF;--border:#E2E8F0;--text:#0F172A;--text-secondary:#64748B;--shadow-sm:0 1px 3px rgba(15,23,42,.06);--shadow-md:0 10px 24px rgba(15,23,42,.08);--radius-card:16px;--radius-sm:12px}body{background:linear-gradient(180deg,#f8fbff 0,#f1f5f9 340px),var(--bg);color:var(--text);font-family:"Be Vietnam Pro","Inter",Verdana,Arial,sans-serif}.top-ribbon{background:#0f253d;height:48px;box-shadow:var(--shadow-sm)}.top-ribbon span{letter-spacing:.01em}.sidebar{background:linear-gradient(180deg,var(--primary),#183250);padding:24px 18px}.brand{padding:4px 8px 18px}.brand b{font-size:24px;letter-spacing:-.03em}.sidebar nav a{display:flex;align-items:center;gap:10px;border-radius:12px;color:#edf6ff;font-weight:700}.sidebar nav a:hover,.sidebar nav a:focus{background:rgba(255,255,255,.1);outline:none}.sidebar nav a:before{content:"";width:4px;height:18px;border-radius:99px;background:transparent}.sidebar nav a:hover:before{background:#93c5fd}.main{padding:28px 32px}.page-head h1{font-size:28px;letter-spacing:-.035em;font-weight:800}.eyebrow{color:#3B82F6;font-size:11px}.panel,.login-card,.public-profile{background:rgba(255,255,255,.96);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:var(--radius-card)}.panel:hover{box-shadow:var(--shadow-md)}.btn{background:var(--primary);border-radius:12px;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .18s ease}.btn:hover{box-shadow:var(--shadow-md)}.btn:active{transform:scale(.98)}.btn.ghost{background:var(--primary-soft);color:var(--primary)!important}.chip,.badge{border-radius:999px;font-weight:800}.chip.success,.badge.da_duyet{background:#DCFCE7;color:var(--success)}.badge.cho_duyet{background:#FEF3C7;color:var(--warning)}.badge.nhap{background:#E2E8F0;color:#475569}.badge.yeu_cau_chinh_sua{background:#FEE2E2;color:var(--danger)}
.dashboard-pro{display:flex;flex-direction:column;gap:16px}.pro-kpis{grid-template-columns:repeat(4,minmax(0,1fr));order:1}.kpi-pro{position:relative;display:grid;grid-template-columns:44px 1fr;grid-template-areas:"icon label" "icon value";align-items:center;gap:2px 14px;padding:18px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kpi-pro:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:#bfdbfe}.kpi-icon{grid-area:icon;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:900}.kpi-label{grid-area:label;color:var(--text-secondary);font-size:14px}.kpi-pro b{grid-area:value;font-size:32px;line-height:1;color:var(--text)}.kpi-pro.success .kpi-icon,.kpi-pro.success b{color:var(--success)}.kpi-pro.warning .kpi-icon,.kpi-pro.warning b{color:var(--warning)}.kpi-pro.danger .kpi-icon,.kpi-pro.danger b{color:var(--danger)}.dashboard-priority{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px;order:2}.progress-panel{order:3}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.panel-title-row h2{margin:.15rem 0 0;font-size:20px;letter-spacing:-.02em}.panel-title-row a{font-weight:800;color:var(--accent)}.queue-list{display:grid;gap:10px}.queue-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto 150px auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);transition:transform .15s ease,box-shadow .15s ease}.queue-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.mini-avatar{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#DBEAFE,#fff);color:var(--primary);display:grid;place-items:center;font-weight:900}.queue-main b{display:block}.queue-main small{color:var(--text-secondary)}.queue-progress{position:relative;height:8px;border-radius:99px;background:#E2E8F0;min-width:120px}.queue-progress i{display:block;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--primary))}.queue-progress em{position:absolute;right:0;top:12px;font-size:11px;color:var(--text-secondary);font-style:normal;font-weight:800}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.timeline-item>span{width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #DBEAFE}.timeline-item p{margin:0;line-height:1.45}.timeline-item small{display:block;color:var(--text-secondary)}.pro-bars div{grid-template-columns:minmax(150px,220px) 1fr 52px}.pro-bars i{height:8px;background:#E2E8F0;border-radius:999px;overflow:hidden}.pro-bars strong{display:block;height:100%;background:linear-gradient(90deg,#60A5FA,var(--primary));border-radius:999px}.empty-state{display:grid;place-items:center;text-align:center;gap:8px;padding:26px;color:var(--text-secondary)}.empty-state svg{width:118px;height:78px;fill:none;stroke:#94A3B8;stroke-width:4}.empty-state b{color:var(--text)}.skeleton-line{height:14px;border-radius:999px;background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0);background-size:220% 100%;animation:skeleton 1.4s infinite}.skeleton-line.short{width:58%}@keyframes skeleton{to{background-position:-220% 0}}
.public-hero-pro{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center;padding:34px;border-radius:24px;background:radial-gradient(circle at 12% 18%,rgba(59,130,246,.22),transparent 32%),linear-gradient(135deg,#fff,#eef5ff);border:1px solid var(--border);box-shadow:var(--shadow-md);margin-bottom:18px;overflow:hidden}.public-hero-pro:after{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(30,58,95,.08)}.hero-copy{position:relative;z-index:1}.hero-copy h1{font-size:42px;line-height:1.05;letter-spacing:-.05em;margin:8px 0 12px}.hero-copy p{max-width:760px;color:var(--text-secondary);line-height:1.7}.hero-metric{position:relative;z-index:1;background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px;box-shadow:var(--shadow-sm)}.hero-metric span,.hero-metric small{display:block;color:var(--text-secondary);font-weight:700}.hero-metric b{display:block;font-size:56px;color:var(--primary);letter-spacing:-.06em}.public-directory{padding:22px}.directory-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.directory-head h2{margin:.15rem 0 0}.sticky-filter{position:sticky;top:56px;z-index:10;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:12px;border:1px solid var(--border);border-radius:16px}.pro-directory-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.teacher-card-pro{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;min-height:118px}.teacher-card-pro h3{margin:0 0 4px;font-size:16px}.teacher-card-pro p{margin:0 0 5px}.card-arrow{color:var(--accent);font-size:22px}.profile-pro{padding:26px}.pro-cover{border:0;background:linear-gradient(135deg,#fff,#eef5ff);border-radius:22px;padding:24px}.profile-role{font-weight:800;color:var(--primary)!important}.pro-profile-timeline{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.pro-profile-timeline section{box-shadow:var(--shadow-sm)}
*:focus-visible{outline:3px solid rgba(59,130,246,.38);outline-offset:2px}@media(max-width:1024px){.main{padding:20px}.dashboard-pro{display:flex}.dashboard-priority{grid-template-columns:1fr;order:1}.pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr));order:2}.progress-panel{order:3}.activity-panel{order:4}.queue-card{grid-template-columns:42px 1fr auto;grid-template-areas:"avatar main badge" "avatar progress button"}.queue-card .mini-avatar{grid-area:avatar}.queue-main{grid-area:main}.queue-card .badge{grid-area:badge}.queue-progress{grid-area:progress;width:100%;min-width:0}.queue-card .btn{grid-area:button}.public-hero-pro{grid-template-columns:1fr}.hero-copy h1{font-size:34px}.hero-metric{max-width:360px}.pro-profile-timeline{grid-template-columns:1fr}}@media(max-width:640px){.page-head{margin-bottom:12px}.page-head h1{font-size:24px}.dashboard-priority .activity-panel{display:none}.kpi-pro{padding:14px;grid-template-columns:36px 1fr}.kpi-icon{width:34px;height:34px;border-radius:11px}.kpi-pro b{font-size:28px}.kpi-label{font-size:12px}.action-panel{padding:16px}.queue-list .queue-card:nth-child(n+4){display:none}.pro-bars div:nth-child(n+4){display:none}.public-hero-pro{padding:24px}.hero-copy h1{font-size:30px}.sticky-filter{position:static}.filters input,.smart-filters select{min-width:100%;width:100%}.teacher-card-pro{grid-template-columns:56px 1fr}.teacher-card-pro .card-arrow{display:none}}

.pro-bars.is-collapsed div:nth-child(n+4){display:none}

@media(max-width:1024px){.dashboard-priority{display:contents}.action-panel{order:1}.pro-kpis{order:2}.progress-panel{order:3}.activity-panel{order:4}.dashboard-pro{display:flex;flex-direction:column}}
@media(max-width:640px){.dashboard-priority .activity-panel{display:block}.activity-panel .timeline-item:nth-of-type(n+6){display:none}}

/* AcadHub V1.4 refinement: trust, typography, identity */
:root{--font-sans:"Be Vietnam Pro","Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}body{font-family:var(--font-sans)}.brand-mark{display:inline-flex;align-items:center;gap:8px;color:#fff!important;font-weight:900}.brand-mark img{width:28px;height:28px;border-radius:8px}.top-ribbon>span{display:none}.icon-btn svg,.kpi-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sidebar .brand img{width:164px;max-width:100%;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.16))}.hero-logo{width:190px;max-width:62%;height:auto;margin-bottom:16px}.hero-academic-pattern{background-image:radial-gradient(circle at 12% 18%,rgba(59,130,246,.22),transparent 32%),linear-gradient(135deg,#fff,#eef5ff)}.hero-academic-pattern:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='120' viewBox='0 0 160 120'%3E%3Cg fill='none' stroke='%231E3A5F' stroke-opacity='.08' stroke-width='2'%3E%3Cpath d='M22 30h38v46H22zM60 30c16 0 28 7 36 18M60 76c16 0 28-7 36-18'/%3E%3Cpath d='M103 36 132 24l18 9-29 12-18-9ZM120 45v22'/%3E%3C/g%3E%3C/svg%3E");background-size:190px 140px;opacity:.9}.hero-metrics{display:grid;gap:12px}.hero-metric.compact b{font-size:38px}.avatar-tone-1{background:linear-gradient(135deg,#DBEAFE,#fff)!important;color:#1E3A5F!important}.avatar-tone-2{background:linear-gradient(135deg,#DCFCE7,#fff)!important;color:#047857!important}.avatar-tone-3{background:linear-gradient(135deg,#FEF3C7,#fff)!important;color:#B45309!important}.avatar-tone-4{background:linear-gradient(135deg,#FEE2E2,#fff)!important;color:#B91C1C!important}.result-chip{background:#EFF6FF;color:#1D4ED8}.badge.cho_duyet{background:#FFEDD5;color:#9A3412}.badge.yeu_cau_chinh_sua{background:#FEE2E2;color:#991B1B}.badge.da_duyet{background:#DCFCE7;color:#047857}.toast{transition:opacity .25s ease,transform .25s ease}.toast.is-hiding{opacity:0;transform:translateY(-4px)}@media(max-width:640px){.hero-logo{width:156px}.hero-metrics{grid-template-columns:1fr 1fr}.hero-metric{padding:16px}.hero-metric b{font-size:40px}.hero-metric.compact b{font-size:32px}}

.login-demo-note{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(239,246,255,.82)}
.password-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 10px}
.password-field:focus-within{border-color:var(--sky);box-shadow:0 0 0 4px rgba(74,127,181,.14)}
.password-field input{border:0!important;box-shadow:none!important;outline:0!important;flex:1;min-width:0;background:transparent;padding:12px 0!important}
.password-toggle{width:38px;height:38px;border:0;border-radius:10px;background:#eef5ff;color:var(--blue);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.password-toggle:hover,.password-toggle.is-visible{background:var(--blue);color:#fff}
.password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.dark .password-field{background:#132338;border-color:#2f4561}
body.dark .password-toggle{background:#203853;color:#dbeafe}
body.dark .password-toggle:hover,body.dark .password-toggle.is-visible{background:#4a7fb5;color:#fff}

.signature-card{text-align:center;display:grid;place-items:center;gap:4px;min-height:88px}.signature-card b{font-size:15px;line-height:1.35}.signature-card small{font-size:13px;line-height:1.35;margin-top:0!important}.users-admin-page{display:grid;gap:18px}.users-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center}.users-hero h2{margin:.2rem 0;font-size:28px;letter-spacing:-.03em}.users-stats{display:flex;gap:10px;flex-wrap:wrap}.users-stats span{min-width:118px;padding:13px 15px;border:1px solid var(--border);border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:var(--shadow-sm)}.users-stats b{display:block;font-size:28px;color:var(--primary);line-height:1}.users-stats small{color:var(--text-secondary);font-weight:800}.users-title-row{margin-bottom:12px}.users-filters{display:grid;grid-template-columns:minmax(260px,1fr) repeat(3,minmax(160px,220px));align-items:center}.users-filters input,.users-filters select{width:100%;min-width:0;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:#fbfdff}.table-scroll{overflow:auto}.user-table th{white-space:nowrap}.user-table td:first-child b{display:block}.user-table td:first-child small{font-size:13px}.row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.row-actions form{display:inline-flex}.warning-chip{margin-top:7px;background:#FEF3C7;color:#B45309}.modal{display:none;position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.48);padding:22px;align-items:center;justify-content:center}.modal.open{display:flex}.modal-card{width:min(560px,100%);max-height:calc(100vh - 44px);overflow:auto;background:var(--surface,#fff);border:1px solid var(--border,#E2E8F0);border-radius:22px;padding:24px;box-shadow:0 28px 80px rgba(15,23,42,.28);position:relative}.modal-card h2{margin:0 36px 8px 0}.modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:11px;background:#eef4fb;color:var(--primary);font-size:22px;line-height:1;cursor:pointer}.account-modal .form-stack{margin-top:16px}@media(max-width:1100px){.users-hero{grid-template-columns:1fr}.users-stats{display:grid;grid-template-columns:repeat(3,1fr)}.users-filters{grid-template-columns:1fr 1fr}}@media(max-width:700px){.users-stats,.users-filters{grid-template-columns:1fr}.user-table thead{display:none}.user-table,.user-table tbody,.user-table tr,.user-table td{display:block;width:100%}.user-table tr{border:1px solid var(--border);border-radius:16px;margin:12px 0;padding:10px;background:#fff}.user-table td{border:0;padding:8px 6px}.user-table td::before{content:attr(data-label);display:block;color:var(--text-secondary);font-size:12px;font-weight:800;margin-bottom:3px}.row-actions{align-items:stretch}.row-actions .btn{width:100%}.row-actions form{flex:1 1 130px}.users-hero h2{font-size:24px}.modal{padding:12px}.modal-card{padding:20px}}
