/* Đọc Luật – hệ thống giao diện. Màu chính #0A6DAA; mực xanh than cho chữ; đỏ son chỉ cho dấu/trạng thái; ngọc cho "còn hiệu lực". */
:root{
  --brand:#0A6DAA; --brand-700:#085A8C; --brand-900:#06395A; --brand-50:#EAF3FA; --brand-100:#CFE4F2;
  --ink:#1B2A41; --ink-2:#3A4A60; --muted:#5B6470; --paper:#F6F7F4; --sheet:#FFFFFF; --rule:#D9DDD6; --rule-2:#E9ECE6;
  --seal:#B3261E; --seal-soft:#F7E4E2; --jade:#2F6F62; --jade-soft:#E1EFEB; --amber:#9A6200; --amber-soft:#F6EBD6; --blue:#2B5C9E; --blue-soft:#E3ECF7;
  --ui:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --read:"Noto Serif",Georgia,"Times New Roman",serif;
  --r:6px; --wrap:1240px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--ui)}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}
img{max-width:100%}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:1.9rem} h2{font-size:1.35rem} h3{font-size:1.1rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.muted{color:var(--muted)} .small{font-size:.86rem} .nowrap{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 12px;z-index:50}.skip:focus{left:8px}

/* Header */
.site-head{background:var(--sheet);border-bottom:1px solid var(--rule)}
.site-head .wrap{display:flex;align-items:center;gap:28px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;font-size:1.15rem}
.brand:hover{text-decoration:none}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--brand);display:grid;place-items:center;color:#fff;flex-shrink:0}
.brand-mark .icon{width:20px;height:20px}
.brand b{color:var(--brand)}
.nav{display:flex;gap:4px;flex:1}
.nav a{color:var(--ink-2);padding:8px 12px;border-radius:var(--r);font-weight:500;display:inline-flex;align-items:center;gap:7px}
.nav a .icon{color:var(--brand);opacity:.85}
.nav a:hover{background:var(--brand-50);text-decoration:none;color:var(--brand-900)}
.nav a[aria-current=page]{background:var(--brand-50);color:var(--brand-900);box-shadow:inset 0 -2px 0 var(--brand)}
.head-actions{display:flex;gap:8px;align-items:center}
@media (max-width:560px){.head-actions .btn-primary{display:none}}
.site-head .menu-toggle{display:none}
main:has(> .hero){padding-top:0}
@media (max-width:860px){
  .site-head .menu-toggle{display:inline-flex}
  .nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--sheet);flex-direction:column;padding:10px 20px;border-bottom:1px solid var(--rule);z-index:20}
  .nav.open{display:flex}
  .site-head .wrap{position:relative}
}

/* Buttons & forms */
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);background:var(--sheet);color:var(--ink);padding:8px 14px;border-radius:var(--r);font:500 .92rem/1.2 var(--ui);cursor:pointer;white-space:nowrap}
.btn:hover{border-color:var(--ink-2);text-decoration:none}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700)}
.btn-soft{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-900)}.btn-soft:hover{border-color:var(--brand)}
.btn-jade{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-danger{color:var(--seal);border-color:#E5BDB9}.btn-danger:hover{border-color:var(--seal)}
.btn-sm{padding:5px 10px;font-size:.84rem}
.btn-link{border:0;background:none;color:var(--jade);padding:0;cursor:pointer;font:inherit}
label{display:block;font-weight:600;font-size:.9rem;margin:0 0 4px}
.field{margin-bottom:14px}
.hint{font-size:.82rem;color:var(--muted);margin-top:3px}
input:not([type]),input[type=tel],input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],input[type=number],input[type=search],select,textarea{
  width:100%;padding:9px 11px;border:1px solid var(--rule);border-radius:var(--r);background:#fff;color:var(--ink);font:inherit}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-100)}
.check{display:flex;gap:8px;align-items:flex-start;font-weight:400}
.check input{margin-top:4px}
.error{color:var(--seal);font-size:.85rem;margin-top:3px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:760px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* Flash */
.flash{padding:10px 14px;border-radius:var(--r);margin:16px 0;border:1px solid}
.flash-success{background:var(--jade-soft);border-color:#B9D8CF;color:#1E4F45}
.flash-error{background:var(--seal-soft);border-color:#E8C1BD;color:#7D1A14}
.flash-warning{background:var(--amber-soft);border-color:#E8D3A8;color:#6A4400}

/* Panels */
.panel{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:18px 20px}
.panel + .panel{margin-top:16px}
.panel-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}
.panel-title h2,.panel-title h3{margin:0}
main{padding:24px 0 56px}

/* Status: dấu đỏ tròn kiểu con dấu */
.status{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;padding:2px 9px;border-radius:999px;border:1.5px solid currentColor;white-space:nowrap}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status-green{color:var(--jade);background:var(--jade-soft)}
.status-red{color:var(--seal);background:var(--seal-soft)}
.status-orange{color:var(--amber);background:var(--amber-soft)}
.status-blue{color:var(--blue);background:var(--blue-soft)}
.status-gray{color:var(--muted);background:var(--rule-2);border-style:dashed}
.tag{display:inline-block;font-size:.78rem;padding:1px 8px;border-radius:4px;background:var(--rule-2);color:var(--ink-2)}

/* Home */
.hero{background:var(--brand);color:#fff;padding:52px 0 44px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-70px;top:-110px;width:380px;height:380px;border-radius:50%;border:2px solid rgba(255,255,255,.22);box-shadow:inset 0 0 0 18px rgba(255,255,255,.06)}
.hero-icon{position:absolute;right:70px;top:46px;color:rgba(255,255,255,.18);z-index:0}
.hero-icon .icon{width:150px;height:150px;stroke-width:1.2}
@media (max-width:960px){.hero-icon{display:none}}
.hero h1{font:700 2.5rem/1.15 var(--read);max-width:16em;margin-bottom:.35em;position:relative;z-index:1}
.hero p{color:#DCEBF6;max-width:44em;position:relative;z-index:1}
.searchbar{display:flex;gap:0;background:#fff;border-radius:var(--r);padding:5px;max-width:820px;position:relative;z-index:1;margin-top:22px}
.searchbar .icon-lead{align-self:center;margin:0 4px 0 10px;color:var(--muted)}
.searchbar input{border:0;font-size:1.05rem;padding:12px 14px;box-shadow:none!important}
.searchbar select{border:0;width:auto;background:var(--rule-2);margin-right:5px}
.searchbar .btn{padding:0 22px}
.hero-links{margin-top:14px;font-size:.9rem;color:#DCEBF6;position:relative;z-index:1}
.hero-links a{color:#fff;margin-right:14px;border-bottom:1px solid rgba(255,255,255,.35)}
.hero-links a:hover{text-decoration:none;border-color:#fff}
.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;margin-top:28px}
@media (max-width:960px){.home-grid{grid-template-columns:1fr}.hero h1{font-size:1.9rem}}
.taxon-list{list-style:none;margin:0;padding:0;columns:2;column-gap:18px}
.taxon-list li{break-inside:avoid;padding:4px 0;display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--rule-2)}
.ask-box{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r);padding:18px}
.ask-box textarea{min-height:80px;background:#fff}

/* Document rows */
.doc-list{list-style:none;margin:0;padding:0}
.doc-row{padding:14px 0;border-bottom:1px solid var(--rule-2);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}
.doc-row:last-child{border-bottom:0}
.doc-row h3{font:600 1.02rem/1.4 var(--ui);margin:0}
.doc-row h3 a{color:var(--ink)}
.doc-meta{font-size:.84rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 14px}
.doc-row .status{align-self:start}
.news-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--rule-2)}
.news-row img,.news-row .ph{width:120px;height:80px;object-fit:cover;border-radius:4px;background:var(--rule-2)}
.news-row h3{font-size:1rem;margin:0 0 4px}.news-row h3 a{color:var(--ink)}
.news-row.compact{grid-template-columns:1fr}.news-row.compact img{display:none}

/* Search page */
.search-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px}
@media (max-width:900px){.search-layout{grid-template-columns:1fr}}
.filters .field{margin-bottom:10px}
.result-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}

/* Document reader */
.doc-layout{display:grid;grid-template-columns:250px minmax(0,1fr) 290px;gap:24px;align-items:start}
@media (max-width:1180px){.doc-layout{grid-template-columns:minmax(0,1fr) 290px}.toc-col{display:none}}
@media (max-width:860px){.doc-layout{grid-template-columns:1fr}}
.toc-col,.meta-col{position:sticky;top:80px;max-height:calc(100vh - 96px);overflow:auto}
.toc{font-size:.86rem;list-style:none;margin:0;padding:0}
.toc ul{list-style:none;padding-left:12px;margin:0}
.toc a{display:block;padding:3px 6px;color:var(--ink-2);border-radius:4px}
.toc a:hover{background:var(--rule-2);text-decoration:none}
.toc .t-chapter>a{font-weight:700;color:var(--ink);margin-top:6px}
.sheet{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:40px 48px}
@media (max-width:640px){.sheet{padding:22px 18px}}
.official-head{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;text-align:center;font:600 .92rem/1.45 var(--read);margin-bottom:26px}
.official-head .agency{text-transform:none}
.official-head .rule{width:64px;height:1px;background:var(--ink);margin:6px auto}
.official-head .date{font-style:italic;font-weight:400}
@media (max-width:640px){.official-head{grid-template-columns:1fr}}
.doc-title{text-align:center;font:700 1.5rem/1.35 var(--read);margin:8px auto 4px;max-width:30em}
.doc-summary{text-align:center;font:400 1.05rem/1.55 var(--read);color:var(--ink-2);max-width:36em;margin:0 auto 22px}
.seal-row{display:flex;justify-content:center;margin-bottom:26px}
.seal{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:132px;height:132px;border-radius:50%;
  border:3px double currentColor;transform:rotate(-8deg);text-align:center;font:700 .82rem/1.25 var(--ui);padding:14px}
.seal small{font-weight:500;font-size:.68rem;opacity:.85;margin-top:3px}
.seal-green{color:var(--jade)}.seal-red{color:var(--seal)}.seal-orange{color:var(--amber)}.seal-blue{color:var(--blue)}.seal-gray{color:var(--muted);border-style:dashed}
.legal{font:400 1.04rem/1.8 var(--read);max-width:70ch;margin:0 auto}
.legal p{margin:0 0 .7em;text-align:justify;hyphens:auto}
.legal .s-preamble p{font-style:italic;color:var(--ink-2)}
.legal .s-part>h2,.legal .s-chapter>h2{text-align:center;font:700 1.08rem/1.45 var(--read);margin:2em 0 1em}
.legal .s-chapter>h2 span,.legal .s-part>h2 span{display:block;font-weight:700}
.legal .s-section>h3,.legal .s-subsection>h3{text-align:center;font:700 1rem/1.45 var(--read);margin:1.6em 0 .8em}
.legal .s-article{margin:1.4em 0;scroll-margin-top:16px;position:relative}
.legal .s-article>h3{font:700 1.02rem/1.6 var(--read);margin:0 0 .4em}
.legal .s-clause,.legal .s-point{scroll-margin-top:16px}
.legal .s-point{padding-left:1.2em}
.legal .s-appendix>h2{text-align:center;font:700 1.05rem var(--read);margin:2.2em 0 1em}
.legal .s-closing{margin-top:2em;font-size:.92rem;color:var(--ink-2);white-space:pre-line}
.legal :target{background:#FFF6D9;box-shadow:-10px 0 0 #FFF6D9,10px 0 0 #FFF6D9;border-radius:2px}
.anchor-tools{position:absolute;right:-6px;top:0;opacity:0;transition:opacity .15s}
.s-article:hover .anchor-tools,.s-article:focus-within .anchor-tools{opacity:1}
.anchor-tools a,.anchor-tools button{font:500 .75rem var(--ui);color:var(--muted);background:none;border:0;cursor:pointer;padding:2px 4px}
.meta-table{width:100%;border-collapse:collapse;font-size:.88rem}
.meta-table th{text-align:left;font-weight:500;color:var(--muted);padding:6px 8px 6px 0;vertical-align:top;width:44%}
.meta-table td{padding:6px 0;border-bottom:1px solid var(--rule-2);vertical-align:top}
.rel-list{list-style:none;margin:0;padding:0;font-size:.88rem}
.rel-list li{padding:6px 0;border-bottom:1px solid var(--rule-2)}
.rel-type{display:block;font-size:.78rem;color:var(--muted)}
.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--rule);font-size:.86rem}
.timeline li{position:relative;padding:0 0 10px 10px}
.timeline li::before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--sheet);border:2px solid var(--ink-2)}
.doc-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.notice{border-left:3px solid var(--amber);background:var(--amber-soft);padding:10px 14px;font-size:.9rem;border-radius:0 var(--r) var(--r) 0;margin-bottom:16px}
.notice-gray{border-color:var(--muted);background:var(--rule-2)}
.source-html{font:400 .98rem/1.7 var(--read)}
.source-html table{border-collapse:collapse;width:100%;margin:1em 0}.source-html td,.source-html th{border:1px solid var(--rule);padding:6px}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--rule);margin-bottom:16px}
.tabs button,.tabs a{background:none;border:0;padding:9px 14px;font:500 .92rem var(--ui);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs [aria-selected=true],.tabs a.active{color:var(--brand-900);border-bottom-color:var(--brand)}
del{background:#FBE3E1;color:#7D1A14;text-decoration:line-through}
ins{background:#DDF0E8;color:#1E4F45;text-decoration:none}
.cmp-row{border-bottom:1px solid var(--rule-2);padding:12px 0}
.cmp-row .legal{max-width:none;white-space:pre-line}
.cmp-added{border-left:3px solid var(--jade);padding-left:12px}.cmp-removed{border-left:3px solid var(--seal);padding-left:12px;opacity:.8}.cmp-changed{border-left:3px solid var(--amber);padding-left:12px}

/* Chat */
.chat-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;min-height:calc(100vh - 200px)}
@media (max-width:860px){.chat-layout{grid-template-columns:1fr}.chat-side{order:2}}
.chat-main{display:flex;flex-direction:column;background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);min-height:600px}
.chat-log{flex:1;padding:22px 26px;overflow:auto}
.msg{margin-bottom:22px;max-width:78ch}
.msg-user{margin-left:auto;background:var(--brand);color:#fff;padding:10px 14px;border-radius:12px 12px 2px 12px;width:fit-content;max-width:70ch;white-space:pre-wrap}
.msg-ai{font-size:.98rem}
.msg-ai .answer h1,.msg-ai .answer h2,.msg-ai .answer h3{font-size:1rem;margin:1em 0 .3em}
.msg-ai .answer p{margin:0 0 .7em}
.msg-ai .answer blockquote{margin:.6em 0;padding:6px 12px;border-left:3px solid var(--rule);color:var(--ink-2);font:400 .94rem/1.65 var(--read)}
.msg-ai .answer a.ref{font-size:.75rem;font-weight:700;vertical-align:super;padding:0 2px}
.msg-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.8rem;color:var(--muted);margin:8px 0}
.cites{border-top:1px solid var(--rule-2);margin-top:10px;padding-top:8px;font-size:.86rem}
.cites ol{margin:4px 0 0;padding-left:22px}
.cites li{margin-bottom:6px}
.cites details summary{cursor:pointer;color:var(--muted)}
.cites blockquote{font:400 .9rem/1.6 var(--read);margin:6px 0;color:var(--ink-2);white-space:pre-line}
.chat-form{border-top:1px solid var(--rule);padding:14px 18px;display:grid;gap:8px}
.chat-form textarea{min-height:70px}
.chat-form-row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.chat-empty{color:var(--muted);max-width:60ch}
.chat-empty ul{padding-left:18px}
.chat-empty button{background:none;border:0;color:var(--jade);cursor:pointer;font:inherit;text-align:left;padding:2px 0}
.conv-list{list-style:none;margin:0;padding:0;font-size:.88rem}
.conv-list a{display:block;padding:6px 8px;border-radius:4px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.conv-list a.active,.conv-list a:hover{background:var(--rule-2);text-decoration:none}
.thinking{color:var(--muted);font-style:italic}
.conf-high{color:var(--jade)}.conf-medium{color:var(--amber)}.conf-low{color:var(--seal)}

/* Tables */
.table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--sheet)}
.table th{text-align:left;font-weight:600;color:var(--ink-2);background:var(--rule-2);padding:8px 10px;border-bottom:1px solid var(--rule)}
.table td{padding:8px 10px;border-bottom:1px solid var(--rule-2);vertical-align:top}
.table tr:hover td{background:#FBFCFA}
.table-wrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r)}

/* Pagination */
.pagination{display:flex;gap:4px;flex-wrap:wrap;margin-top:18px;list-style:none;padding:0}
.pagination a,.pagination span{display:inline-block;min-width:34px;text-align:center;padding:6px 10px;border:1px solid var(--rule);border-radius:var(--r);background:var(--sheet);color:var(--ink-2)}
.pagination .active span{background:var(--brand);color:#fff;border-color:var(--brand)}
.pagination .disabled span{opacity:.45}

/* Footer */

/* Auth */
.auth-box{max-width:420px;margin:30px auto}

/* Admin */
.admin{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}
.admin-side{background:var(--brand-900);color:#C9D2DE;padding:18px 12px;position:sticky;top:0;height:100vh;overflow:auto}
.admin-side .brand{color:#fff;margin:0 8px 18px}
.admin-side .brand-mark{background:#fff;color:var(--brand)}
.admin-side h4{font-size:.76rem;font-weight:600;color:#8D9AAD;margin:16px 10px 4px}
.admin-side a{display:flex;align-items:center;gap:9px;color:#DDE3EC;padding:6px 10px;border-radius:4px;font-size:.9rem}
.admin-side a:hover,.admin-side a.active{background:rgba(255,255,255,.08);text-decoration:none}
.admin-side a .icon{opacity:.75;width:17px;height:17px}
.admin-side a span:first-of-type{flex:1}
.admin-side .count{background:var(--seal);color:#fff;border-radius:999px;font-size:.72rem;padding:0 7px;line-height:1.6}
.admin-main{padding:22px 28px 60px;min-width:0}
.admin-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.admin-top h1{font-size:1.45rem;margin:0}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.stat{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:12px 14px}
.stat b{display:block;font-size:1.5rem;line-height:1.2}
.stat span{font-size:.84rem;color:var(--muted)}
.stat.warn b{color:var(--seal)}
.progress{height:10px;background:var(--rule-2);border-radius:999px;overflow:hidden}
.progress>i{display:block;height:100%;background:var(--brand);transition:width .4s}
.conf{font-size:.75rem;padding:0 6px;border-radius:3px}
.conf-b-high{background:var(--jade-soft);color:var(--jade)}.conf-b-medium{background:var(--amber-soft);color:var(--amber)}.conf-b-low{background:var(--seal-soft);color:var(--seal)}
.pre{white-space:pre-wrap;font:400 .9rem/1.6 var(--read);max-height:520px;overflow:auto;background:#FBFCFA;border:1px solid var(--rule-2);padding:12px;border-radius:var(--r)}
.diff-line{font:400 .86rem/1.5 var(--read);white-space:pre-wrap;padding:1px 6px}
.diff-add{background:#DDF0E8}.diff-del{background:#FBE3E1;text-decoration:line-through}
.inline-form{display:inline}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-bottom:14px}
.toolbar .field{margin:0}
@media (max-width:900px){.admin{grid-template-columns:1fr}.admin-side{position:static;height:auto}}

@media print{
  .site-head,.site-foot,.toc-col,.meta-col,.doc-actions,.anchor-tools,.no-print{display:none!important}
  body{background:#fff}.sheet{border:0;padding:0}.doc-layout{display:block}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.admin-side .brand{justify-content:flex-start}

/* ---------- Icon ---------- */
.icon{width:1.15em;height:1.15em;vertical-align:-.2em;flex-shrink:0;stroke-width:2}
.btn .icon{width:16px;height:16px}
.btn-sm .icon{width:14px;height:14px}
.panel-title h2,.panel-title h3,.h-icon{display:flex;align-items:center;gap:9px}
.h-icon>.icon,.panel-title h2>.icon{color:var(--brand);width:22px;height:22px}
.ico-badge{width:38px;height:38px;border-radius:10px;background:var(--brand-50);color:var(--brand);display:grid;place-items:center;flex-shrink:0}
.ico-badge .icon{width:20px;height:20px}
.doc-meta span{display:inline-flex;align-items:center;gap:5px}
.doc-meta .icon{width:14px;height:14px;color:var(--brand);opacity:.8}
.doc-row.has-icon{grid-template-columns:auto minmax(0,1fr) auto}
.doc-row .ico-badge{width:34px;height:34px;border-radius:8px;margin-top:2px}
.stat{display:flex;gap:12px;align-items:flex-start}
.stat .ico-badge{width:36px;height:36px}
.stat.warn .ico-badge{background:var(--seal-soft);color:var(--seal)}
.taxon-list a{display:inline-flex;gap:6px;align-items:center}
.taxon-list .icon{width:14px;height:14px;color:var(--brand);opacity:.7}

/* ---------- Đầu trang văn bản + thanh tab ---------- */
.doc-head{background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:18px 22px 0;margin-bottom:18px}
.doc-head-top{display:flex;gap:16px;align-items:flex-start}
.doc-head-top .ico-badge{width:46px;height:46px;border-radius:12px}
.doc-head-top .ico-badge .icon{width:24px;height:24px}
.doc-head h1{font:700 1.25rem/1.4 var(--ui);margin:0 0 6px}
.doc-head .doc-meta{margin-bottom:4px}
.doc-tabs{display:flex;gap:2px;margin-top:14px;overflow-x:auto;scrollbar-width:thin}
.doc-tabs a{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;color:var(--muted);font-weight:500;border-bottom:3px solid transparent;white-space:nowrap}
.doc-tabs a:hover{color:var(--brand-900);text-decoration:none;background:var(--brand-50);border-radius:6px 6px 0 0}
.doc-tabs a[aria-current=page]{color:var(--brand-900);border-bottom-color:var(--brand)}
.doc-tabs .count{font-size:.75rem;background:var(--brand-50);color:var(--brand-900);border-radius:999px;padding:0 7px;line-height:1.6}

/* ---------- Lược đồ ---------- */
.diagram{display:grid;grid-template-columns:minmax(0,1fr) 300px minmax(0,1fr);gap:0 40px;align-items:start;position:relative}
.diagram-col{display:grid;gap:12px}
.diagram-col h2{font-size:.95rem;color:var(--muted);font-weight:600;margin:0 0 2px;display:flex;align-items:center;gap:8px}
.diagram-center{position:sticky;top:80px;align-self:start}
.diagram-core{background:var(--brand);color:#fff;border-radius:12px;padding:18px;text-align:center;box-shadow:0 0 0 6px var(--brand-50)}
.diagram-core .ico-badge{margin:0 auto 10px;background:rgba(255,255,255,.16);color:#fff;width:48px;height:48px;border-radius:12px}
.diagram-core .num{font-weight:700;font-size:1.05rem}
.diagram-core .ttl{font:400 .9rem/1.45 var(--read);opacity:.92;margin:6px 0 10px}
.diagram-core .status{background:#fff}
.dgroup{background:var(--sheet);border:1px solid var(--rule);border-radius:10px;position:relative}
.dgroup.empty{background:transparent;border-style:dashed}
.dgroup.empty .dgroup-head{color:var(--muted)}
.diagram-left .dgroup::after,.diagram-right .dgroup::before{content:"";position:absolute;top:22px;width:40px;border-top:2px solid var(--brand-100)}
.diagram-left .dgroup::after{right:-41px}
.diagram-right .dgroup::before{left:-41px}
.dgroup:not(.empty)::after,.dgroup:not(.empty)::before{border-top-color:var(--brand)}
.dgroup-head{display:flex;align-items:center;gap:9px;padding:11px 14px;font-weight:600;font-size:.92rem}
.dgroup-head .icon{color:var(--brand);width:18px;height:18px}
.dgroup-head .n{margin-left:auto;font-size:.78rem;background:var(--brand-50);color:var(--brand-900);border-radius:999px;padding:0 8px;line-height:1.7}
.dgroup.empty .dgroup-head .n{background:var(--rule-2);color:var(--muted)}
.dgroup ul{list-style:none;margin:0;padding:0 14px 8px}
.dgroup li{padding:8px 0;border-top:1px solid var(--rule-2);font-size:.88rem}
.dgroup li .row{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.dgroup li .t{color:var(--muted);font-size:.82rem;margin-top:2px;display:block}
.dgroup li .walk{color:var(--muted);flex-shrink:0}
.dgroup li .walk:hover{color:var(--brand)}
.dgroup li.ext{color:var(--ink-2)}
.dgroup li .note{font-size:.76rem;color:var(--amber)}
.dgroup details summary{list-style:none;cursor:pointer;padding:6px 0;color:var(--brand);font-size:.85rem}
.diagram-related{margin-top:22px}
.diagram-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.84rem;color:var(--muted);margin:0 0 16px;align-items:center}
.diagram-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.diagram.hide-empty .dgroup.empty{display:none}
@media (max-width:1060px){
  .diagram{grid-template-columns:1fr;gap:16px}
  .diagram-center{position:static;order:-1}
  .diagram-left .dgroup::after,.diagram-right .dgroup::before{display:none}
}

/* ---------- Dòng thời gian (Lịch sử) ---------- */
.htimeline{list-style:none;margin:0;padding:0;position:relative}
.htimeline::before{content:"";position:absolute;left:19px;top:6px;bottom:6px;width:2px;background:var(--rule)}
.htimeline li{display:grid;grid-template-columns:40px 110px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;position:relative}
.htimeline .dot{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--sheet);border:2px solid var(--rule);z-index:1}
.htimeline .dot .icon{width:18px;height:18px}
.htimeline .tone-brand .dot{border-color:var(--brand);color:var(--brand)}
.htimeline .tone-green .dot{border-color:var(--jade);color:var(--jade)}
.htimeline .tone-orange .dot{border-color:var(--amber);color:var(--amber)}
.htimeline .tone-red .dot{border-color:var(--seal);color:var(--seal)}
.htimeline .tone-gray .dot{color:var(--muted)}
.htimeline .when{font-weight:600;padding-top:9px}
.htimeline .what{padding-top:9px}
@media (max-width:640px){.htimeline li{grid-template-columns:40px minmax(0,1fr)}.htimeline .when{grid-column:2;padding-top:0}.htimeline .what{grid-column:2;padding-top:0}}

/* ---------- Tải về ---------- */
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.dl-card{display:flex;gap:12px;align-items:center;padding:14px;border:1px solid var(--rule);border-radius:10px;background:var(--sheet);color:var(--ink)}
.dl-card:hover{border-color:var(--brand);text-decoration:none}
.dl-card small{display:block;color:var(--muted)}
.dl-card.locked{opacity:.6}
/* tinh chỉnh */
.admin-side .brand .brand-mark{flex:0 0 34px;width:34px}
.brand{white-space:nowrap}
.grid > .panel + .panel,.grid > section + section{margin-top:0}
@media (max-width:560px){.brand{font-size:1rem}.site-head .wrap{gap:12px}}
/* ---------- Trình soạn thảo ---------- */
.wy{border:1px solid var(--rule);border-radius:var(--r);background:#fff}
.wy:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100)}
.wy-bar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:2;border-radius:var(--r) var(--r) 0 0}
.wy-bar button{border:1px solid transparent;background:none;border-radius:4px;padding:4px 8px;font:500 .84rem var(--ui);color:var(--ink-2);cursor:pointer;min-width:30px}
.wy-bar button:hover,.wy-bar button.on{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand-900)}
.wy-sep{width:1px;background:var(--rule);margin:2px 4px}
.wy-area{min-height:380px;max-height:70vh;overflow:auto;padding:14px 18px;outline:none}
.wy-area img{max-width:100%;height:auto}
.wy-area table{border-collapse:collapse}.wy-area td,.wy-area th{border:1px solid var(--rule);padding:6px 8px;min-width:60px}
.wy-area blockquote{border-left:3px solid var(--brand);margin:.8em 0;padding:4px 14px;color:var(--ink-2)}
.wy-source{border:0!important;border-radius:0;min-height:380px;font:13px/1.5 ui-monospace,Consolas,monospace!important;box-shadow:none!important}
.wy-count{font-size:.78rem;color:var(--muted);padding:4px 10px;border-top:1px solid var(--rule-2);text-align:right}
.source-html figure{margin:1em 0}.source-html figcaption{font-size:.86rem;color:var(--muted);text-align:center}
.stream-text{white-space:pre-wrap}.streaming .stream-text::after{content:"▍";color:var(--brand);animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
/* ---------- Sửa đổi cấp điều khoản / hợp nhất ---------- */
.amd-legend{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding:10px 12px;background:var(--paper);border:1px solid var(--rule-2);border-radius:8px;margin:0 0 18px;font-family:var(--ui)}
.amd-legend .btn{margin-left:auto}
.amd-chip{display:inline-block;font:600 .74rem/1.6 var(--ui);padding:0 8px;border-radius:999px;border-left:4px solid}
.amd-chip-amend{background:#E7F0FB;color:#1E4E8C;border-color:#2F6FC0}
.amd-chip-repeal{background:var(--seal-soft);color:#7D1A14;border-color:var(--seal)}
.amd-chip-guide{background:var(--jade-soft);color:#1E4F45;border-color:var(--jade)}
.legal .amd{border-left:4px solid;padding-left:12px;margin-left:-16px;border-radius:2px}
.legal .amd-amend{border-color:#2F6FC0;background:linear-gradient(90deg,#EEF4FC,transparent 70%)}
.legal .amd-repeal{border-color:var(--seal);background:linear-gradient(90deg,#FBEDEB,transparent 70%)}
.legal .amd-repeal>p{text-decoration:line-through;text-decoration-color:rgba(179,38,30,.5)}
.legal .amd-guide{border-color:var(--jade);background:linear-gradient(90deg,#EAF4F0,transparent 70%)}
.amd-note{font:400 .86rem/1.5 var(--ui);margin:4px 0 8px}
.amd-note summary{cursor:pointer;list-style:none;display:inline-flex;gap:6px;flex-wrap:wrap}
.amd-note summary::-webkit-details-marker{display:none}
.amd-note ul{margin:8px 0;padding:10px 14px 10px 28px;background:#fff;border:1px solid var(--rule);border-radius:8px;box-shadow:0 4px 14px rgba(27,42,65,.08)}
.amd-note li{margin-bottom:8px}
.amd-note blockquote{margin:6px 0;padding:6px 10px;border-left:3px solid var(--brand-100);font:400 .88rem/1.6 var(--read);white-space:pre-line;color:var(--ink-2)}
mark.amd-mark{background:#FFE8A3;padding:0 2px;border-radius:2px}
ins.amd-ins{background:#E7F0FB;text-decoration:underline;text-decoration-color:#2F6FC0;text-underline-offset:3px}
.legal .cst-amended,.legal .cst-supplemented{border-left:4px solid #2F6FC0;padding-left:12px;margin-left:-16px;background:linear-gradient(90deg,#EEF4FC,transparent 70%)}
.legal .cst-repealed{border-left:4px solid var(--seal);padding-left:12px;margin-left:-16px}
.cst-repealed-note{color:var(--seal);font-style:italic}
sup.fn a{font:700 .72rem var(--ui);padding:0 2px}
.footnotes li{margin-bottom:6px}
/* ---------- In & chia sẻ, thống kê (v1.6) ---------- */
.share-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 2px;font-family:var(--ui)}
.share-label{display:inline-flex;align-items:center;gap:5px;font:600 .8rem var(--ui);color:var(--muted);margin-right:2px}
.share-sep{width:1px;height:20px;background:var(--rule);margin:0 4px}
.share-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px;border-radius:999px;border:1px solid var(--rule);background:#fff;color:var(--ink-2);
  font:600 .8rem var(--ui);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s}
.share-btn:hover{transform:translateY(-1px);text-decoration:none}
.share-btn .icon{width:15px;height:15px}
.share-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.sh-print:hover,.sh-link:hover,.sh-native:hover{border-color:var(--brand);color:var(--brand)}
.sh-fb{color:#1877F2}.sh-fb:hover{background:#1877F2;border-color:#1877F2;color:#fff}
.sh-x{color:#111}.sh-x:hover{background:#111;border-color:#111;color:#fff}
.sh-zalo{color:#0068FF}.sh-zalo:hover{background:#0068FF;border-color:#0068FF;color:#fff}
.sh-in{color:#0A66C2}.sh-in:hover{background:#0A66C2;border-color:#0A66C2;color:#fff}
.zalo-mark,.in-mark{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:4px;color:#fff;font:800 .7rem/1 var(--ui)}
.zalo-mark{background:#0068FF}.in-mark{background:#0A66C2}
.sh-zalo:hover .zalo-mark{background:#fff;color:#0068FF}.sh-in:hover .in-mark{background:#fff;color:#0A66C2}
.stat-chip{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font:500 .82rem var(--ui)}
.stat-chip .icon{width:15px;height:15px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#14243A;color:#fff;padding:10px 16px;border-radius:10px;font:500 .9rem var(--ui);
  box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:1000;max-width:min(92vw,520px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:640px){.share-btn span{display:none}.share-btn{width:36px;height:36px;padding:0;justify-content:center}.share-btn.sh-link span{display:none}.share-label{display:none}}
@media print{.share-bar,.toast{display:none!important}.home-grid{display:block!important}}
/* biểu đồ thống kê quản trị */
.bars{display:flex;align-items:flex-end;gap:3px;height:160px;padding:10px 0 0;border-bottom:1px solid var(--rule)}
.bars .bar{flex:1;min-width:3px;background:linear-gradient(180deg,var(--brand),#5BA6D6);border-radius:3px 3px 0 0;position:relative}
.bars .bar.dl{background:linear-gradient(180deg,#1F8A70,#7CC7AF)}
.bars .bar:hover{filter:brightness(1.12)}
.bars-axis{display:flex;justify-content:space-between;font:400 .74rem var(--ui);color:var(--muted);margin-top:4px}
.rank td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* ================= Giao diện di động (v1.7) ================= */
.admin-bar,.admin-backdrop{display:none}
input[type=file]{max-width:100%}
code{overflow-wrap:anywhere}
.panel-title > a{white-space:nowrap}
.tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tabs::-webkit-scrollbar{display:none}
.tabs a,.tabs button{white-space:nowrap;flex:0 0 auto}

/* Màn hình cảm ứng: vùng bấm tối thiểu ~40px */
@media (pointer:coarse){
  .btn-sm{min-height:38px}
  .btn{min-height:42px}
  .nav a{padding:12px 14px}
}

/* Bảng rộng: cuộn ngang trong khung thay vì làm tràn cả trang */
@media (max-width:760px){
  table.table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.table td input:not([type=checkbox]):not([type=radio]),table.table td select{min-width:150px}
  table.table th,table.table td{min-width:72px}
  /* iOS phóng to trang khi chữ trong ô nhập < 16px */
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}
  .status{white-space:normal;max-width:100%}
}

/* Lưới chia cột viết trực tiếp trong trang (style="grid-template-columns…") → một cột */
@media (max-width:860px){
  main [style*="grid-template-columns"],.admin-main [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
}

/* Đầu trang công khai */
@media (max-width:560px){
  .site-head .wrap{gap:8px}
  .head-actions{gap:6px;margin-left:auto}
  .head-actions .lbl,.menu-toggle .lbl{display:none}
  .head-actions .btn,.menu-toggle{padding:8px 10px}
  .brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:360px){.head-actions .lbl-keep{display:none}}

/* Ô tìm kiếm trang chủ: ô nhập chiếm trọn dòng, phạm vi + nút xuống dòng dưới */
@media (max-width:640px){
  .searchbar{flex-wrap:wrap;gap:6px;padding:6px}
  .searchbar .icon-lead{display:none}
  .searchbar input{flex:1 1 100%;min-width:0;padding:13px 12px;background:var(--paper);border-radius:calc(var(--r) - 2px)}
  .searchbar select{flex:1 1 40%;margin:0;min-height:46px}
  .searchbar .btn{flex:1 1 50%;justify-content:center;min-height:46px;padding:0 12px}
  .hero h1{font-size:1.65rem;line-height:1.25}
  .hero p{font-size:.98rem}
}

/* Danh sách văn bản: nhãn hiệu lực xuống dưới tên thay vì ép tên thành cột hẹp */
@media (max-width:600px){
  .doc-row{grid-template-columns:minmax(0,1fr)}
  .doc-row.has-icon{grid-template-columns:auto minmax(0,1fr)}
  .doc-row > .status,.doc-row > .effect{grid-column:-2/-1;justify-self:start}
  .doc-row.has-icon .ico-badge{width:30px;height:30px}
  .panel-title h2{font-size:1.15rem}
  .doc-meta{gap:4px 12px}
}

/* Quản trị: thanh trên cùng + menu trượt từ trái */
@media (max-width:900px){
  .admin-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:40;background:var(--brand-900);padding:8px 12px}
  .admin-bar .brand{color:#fff;font-size:1rem;margin:0}
  .admin-bar .brand-mark{background:#fff;color:var(--brand);width:30px;height:30px}
  .admin-bar .btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
  .admin{display:block}
  .admin-side{position:fixed;top:0;left:0;bottom:0;width:min(84vw,300px);height:100vh;height:100dvh;z-index:60;transform:translateX(-102%);transition:transform .22s ease;box-shadow:0 0 40px rgba(0,0,0,.35);padding-bottom:40px}
  .admin-side.open{transform:none}
  .admin-side a{padding:10px 12px;font-size:.95rem}
  .admin-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:rgba(10,20,35,.45);z-index:55}
  body.menu-open{overflow:hidden}
  .admin-main{padding:16px 14px 50px}
  .admin-top h1{font-size:1.25rem}
  .admin-top{align-items:flex-start}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat{padding:10px}
  .stat b{font-size:1.25rem}
  .toolbar .field{flex:1 1 140px}
  .axis-labels span:nth-child(even){visibility:hidden}
  .axis-labels span{min-width:0;overflow:hidden;font-size:.68rem}
}
@media (max-width:420px){.stat .ico-badge{display:none}}
/* Phần tử lưới không bị nội dung rộng (bảng, đường dẫn dài) kéo giãn */
.grid > *{min-width:0}
@media (max-width:760px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .toolbar > .field{flex:1 1 100%!important}
  .toolbar > .field input,.toolbar > .field select{width:100%!important}
  .toolbar > .btn{flex:1 1 auto;justify-content:center}
  .admin-top > div{display:flex;flex-wrap:wrap;gap:6px!important}
  .admin-top > div .btn{flex:1 1 auto;justify-content:center}
}
/* Bộ lọc nâng cao (danh sách văn bản) */
.more-filters > summary{display:none}
@media (max-width:900px){
  .more-filters{margin:4px 0 12px;border-top:1px solid var(--rule-2);padding-top:10px}
  .more-filters > summary{display:flex;align-items:center;gap:8px;cursor:pointer;font:600 .95rem var(--ui);color:var(--brand-900);padding:6px 0;list-style:none}
  .more-filters > summary::-webkit-details-marker{display:none}
  .more-filters > summary::after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}
  .more-filters[open] > summary::after{transform:rotate(-135deg)}
  .more-filters .count{background:var(--brand);color:#fff;border-radius:999px;font-size:.72rem;padding:0 7px}
  .filters .h-icon{display:none}
}
/* Đầu trang văn bản trên điện thoại */
@media (max-width:600px){
  .doc-head-top > .ico-badge{display:none}
  .doc-head h1,.doc-head .h1-like{font-size:1.12rem!important;line-height:1.4!important}
  .doc-head{padding:14px 14px 0}
  .share-bar{gap:5px}
  .share-sep{display:none}
  /* ô thống kê trang tài khoản: số ở trên, nhãn ở dưới */
  .stat:not(:has(.ico-badge)){display:block}
  .stat:not(:has(.ico-badge)) span{display:block;margin-top:2px}
  /* thanh công cụ soạn thảo: một hàng cuộn ngang, dính trên đầu khi gõ */
  .wy-bar{flex-wrap:nowrap;overflow-x:auto;position:sticky;top:52px;z-index:5;scrollbar-width:none}
  .wy-bar::-webkit-scrollbar{display:none}
  .wy-bar button{flex:0 0 auto}
  .wy-area{min-height:260px;padding:12px}
}
/* Câu hỏi gợi ý dạng thẻ bấm */
.chat-empty ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.chat-empty li button{display:block;width:100%;text-align:left;background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:10px 14px;font:500 .93rem/1.45 var(--ui);color:var(--brand-900);cursor:pointer}
.chat-empty li button:hover{border-color:var(--brand);background:var(--brand-50)}
@media (max-width:600px){
  .legal p,.legal li{text-align:left!important;hyphens:auto}
  .chat-empty{padding:18px 4px}
  .chat-empty h1{font-size:1.3rem!important}
}
.filters .g2{grid-template-columns:minmax(0,1fr);gap:0}
/* Nút chức năng trong danh sách văn bản (v1.7.1) */
.doc-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.act-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border:1px solid var(--rule);border-radius:8px;background:var(--sheet);
  color:var(--ink-2);font:500 .85rem var(--ui);cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.act-btn .icon{width:15px;height:15px;color:var(--brand)}
.act-btn:hover{border-color:var(--brand);color:var(--brand-900);background:var(--brand-50);text-decoration:none}
.act-btn.is-saved{border-color:var(--brand);background:var(--brand-50);color:var(--brand-900)}
.act-btn[disabled]{opacity:.6;cursor:wait}
@media (pointer:coarse){.act-btn{height:40px;padding:0 14px}}
@media (max-width:600px){
  .doc-row.has-icon{grid-template-columns:minmax(0,1fr);gap:8px}
  .doc-row.has-icon > .ico-badge{display:none}
  .doc-row.has-icon > div{display:contents}
  .doc-row.has-icon h3{order:1}
  .doc-row.has-icon > :last-child{order:2;grid-column:1;justify-self:start}
  .doc-row.has-icon .doc-acts{order:3;margin-top:0;flex-wrap:nowrap;gap:6px}
  .doc-acts .act-btn{flex:1 1 0;min-width:0;justify-content:center;padding:0 6px}
}
/* Lĩnh vực sau các nút chức năng (v1.7.2) */
.doc-fields{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-left:4px}
.doc-fields-label{display:inline-flex;align-items:center;gap:5px;font:500 .82rem var(--ui);color:var(--muted)}
.doc-fields-label .icon{width:14px;height:14px;color:var(--brand)}
.field-tag{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:var(--brand-50);color:var(--brand-900);font:500 .8rem var(--ui);text-decoration:none;border:1px solid transparent}
.field-tag:hover{border-color:var(--brand);text-decoration:none}
@media (max-width:600px){
  .doc-row.has-icon .doc-acts{flex-wrap:wrap}
  .doc-acts .act-btn{flex:1 1 0}
  .doc-fields{flex:1 1 100%;margin:2px 0 0}
}
/* ---- Thuộc tính & Lĩnh vực dễ đọc hơn (v1.7.3) ---- */
/* Cột bên (hẹp): nhãn nhỏ ở trên, giá trị chiếm trọn chiều ngang ở dưới */
.meta-col .meta-table,.meta-col .meta-table tbody,.meta-col .meta-table tr,.meta-col .meta-table th,.meta-col .meta-table td{display:block;width:auto}
.meta-col .meta-table tr{padding:9px 0;border-bottom:1px solid var(--rule-2)}
.meta-col .meta-table tr:last-child{border-bottom:0}
.meta-col .meta-table th{padding:0 0 2px;font:600 .72rem/1.3 var(--ui);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.meta-col .meta-table td{padding:0;border:0;font-size:.93rem;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.meta-col .meta-table td .status{margin-top:2px}
.meta-col .meta-table td .tag{margin:2px 4px 2px 0}
/* Bảng thuộc tính rộng (tab Thuộc tính, đơn thanh toán): cột nhãn cố định, không vỡ chữ */
.meta-table th{width:11.5em;white-space:nowrap}
@media (max-width:520px){
  .meta-table,.meta-table tbody,.meta-table tr,.meta-table th,.meta-table td{display:block;width:auto}
  .meta-table tr{padding:8px 0;border-bottom:1px solid var(--rule-2)}
  .meta-table th{padding:0 0 2px;white-space:normal;font-size:.78rem}
  .meta-table td{padding:0;border:0}
}
/* Lĩnh vực trang chủ: thẻ co theo độ dài tên, số lượng ở cuối */
.field-cloud{display:flex;flex-wrap:wrap;gap:8px}
.fc-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--sheet);
  font:500 .86rem/1.3 var(--ui);color:var(--ink-2);text-decoration:none;transition:border-color .15s,background .15s}
.fc-tag:hover{border-color:var(--brand);background:var(--brand-50);color:var(--brand-900);text-decoration:none}
.fc-count{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--brand);color:#fff;font:700 .74rem/22px var(--ui);text-align:center}
.fc-tag.is-empty{padding:5px 12px;color:var(--muted);background:var(--paper);font-size:.82rem}
.field-more{margin-top:12px;border-top:1px solid var(--rule-2);padding-top:10px}
.field-more summary{cursor:pointer;font:600 .86rem var(--ui);color:var(--brand-900);margin-bottom:10px}

/* ================= v1.8: giao diện, liên hệ, bình luận, tác giả, quảng cáo ================= */
.brand-logo{height:40px;width:auto;max-width:200px;object-fit:contain;display:block}
.brand-name{white-space:nowrap}
@media (max-width:560px){.brand-logo{height:34px;max-width:140px}}
@media (min-width:861px) and (max-width:1120px){.nav .nav-contact{display:none}}
.mono{font:13px/1.5 ui-monospace,Consolas,monospace!important}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Mạng xã hội */
.social-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.soc{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand-50);color:var(--brand-900);text-decoration:none;transition:background .15s,color .15s}
.soc:hover{background:var(--brand);color:#fff;text-decoration:none}
.soc .icon{width:17px;height:17px}
.soc-txt{font:800 .82rem/1 var(--ui)}

/* Cảnh báo cookie */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:900;max-width:760px;margin:0 auto;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;
  box-shadow:0 16px 40px rgba(16,32,52,.18);padding:14px 16px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cookie-bar p{margin:0;flex:1 1 320px;font-size:.9rem}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
@media print{.cookie-bar{display:none}}

/* Quảng cáo */
.ad-slot{position:relative;text-align:center;margin:16px 0}
.ad-slot img{max-width:100%;height:auto;border-radius:var(--r);display:inline-block}
.ad-label{display:block;font:600 .66rem var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.ad-wrap-top,.ad-wrap-bottom{max-width:var(--wrap);margin:14px auto;padding:0 20px}
.doc-ad{list-style:none;border-bottom:1px solid var(--rule-2)}
@media (min-width:761px){.ad-hide-desktop{display:none!important}}
@media (max-width:760px){.ad-hide-mobile{display:none!important}}
@media print{.ad-slot{display:none!important}}

/* Trang liên hệ */
.contact-grid{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.contact-list li{display:flex;gap:10px;align-items:flex-start}
.contact-list .icon{color:var(--brand);margin-top:3px}
.map-embed{margin-top:14px;border-radius:var(--r);overflow:hidden;border:1px solid var(--rule);aspect-ratio:4/3}
.map-embed iframe{width:100%;height:100%;border:0;display:block}

/* Hội thoại vé hỗ trợ */
.thread{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:12px}
.thread .msg{background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:12px 14px;color:var(--ink)}
.thread .msg-staff{border-left:4px solid var(--brand)}
.thread .msg-customer{border-left:4px solid var(--rule)}
.thread .msg-internal{background:var(--amber-soft);border-color:#E8D3A8}
/* Bong bóng câu hỏi chat luôn nền thương hiệu, chữ trắng (sửa mục 35) */
.chat-log .msg.msg-user,.msg.msg-user{background:var(--brand);color:#fff;border:0}
.msg-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.msg-body{line-height:1.65;overflow-wrap:anywhere}
.prio{font:600 .78rem var(--ui);padding:2px 8px;border-radius:999px;background:var(--rule-2);color:var(--ink-2)}
.prio-high{background:var(--amber-soft);color:var(--amber)}.prio-urgent{background:var(--seal-soft);color:var(--seal)}
.row-unread td{font-weight:600;background:var(--brand-50)}

/* Huy hiệu */
.badges{display:inline-flex;flex-wrap:wrap;gap:4px;margin:0 6px;vertical-align:middle}
.ubadge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px 1px 6px;border-radius:999px;font:600 .72rem/1.6 var(--ui);
  color:var(--bc);background:color-mix(in srgb,var(--bc) 12%,#fff);border:1px solid color-mix(in srgb,var(--bc) 30%,#fff)}
.ubadge .icon{width:12px;height:12px}
.badge-users{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.badge-users .btn-link{margin-left:4px;font-size:1rem;line-height:1;color:var(--seal)}

/* Bài liên quan */
.related{margin-top:26px;border-top:1px solid var(--rule);padding-top:18px}
.related h2{font-size:1.15rem}
.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:600px){.related-grid{grid-template-columns:minmax(0,1fr)}}
.rel-card{display:flex;flex-direction:column;gap:4px;color:var(--ink);text-decoration:none;font-family:var(--ui)}
.rel-card img,.rel-ph{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);background:var(--brand-50);display:grid;place-items:center;color:var(--brand)}
.rel-card strong{font-size:.98rem;line-height:1.4}
.rel-card:hover strong{color:var(--brand);text-decoration:underline}
.rel-cat{color:var(--brand);font-weight:600}

/* Bình luận */
.comments{margin-top:26px;border-top:1px solid var(--rule);padding-top:18px;font-family:var(--ui)}
.comments h2{font-size:1.15rem}
.cm{padding:12px 0;border-bottom:1px solid var(--rule-2)}
.cm-reply{margin:10px 0 0 22px;padding:10px 0 0 14px;border-bottom:0;border-left:2px solid var(--brand-100)}
.cm-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.cm-avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-100);color:var(--brand-900);display:grid;place-items:center;font:700 .85rem var(--ui)}
.cm-body{line-height:1.65;overflow-wrap:anywhere;margin-left:38px}
.cm .btn-link{margin-left:38px;display:inline-flex;gap:4px;align-items:center}
.cm-form{margin-top:16px;background:var(--paper);border:1px solid var(--rule-2);border-radius:10px;padding:14px}
.cm-admin-list{display:grid;gap:8px}
.cm-admin{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;background:var(--sheet);border:1px solid var(--rule);border-radius:8px;padding:10px 12px;cursor:pointer}
.cm-admin-body{display:block;margin:4px 0;white-space:pre-line;overflow-wrap:anywhere}

/* Bài nổi bật */
.featured-news{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:auto auto;gap:14px;margin-bottom:16px}
.feat-card{position:relative;display:block;border-radius:12px;overflow:hidden;background:var(--brand-900);color:#fff;text-decoration:none;min-height:150px}
.feat-main{grid-row:span 2;min-height:320px}
.feat-card img,.feat-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feat-ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-900));color:rgba(255,255,255,.35)}
.feat-ph .icon{width:56px;height:56px}
.feat-body{position:absolute;inset:auto 0 0 0;padding:14px 16px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(transparent,rgba(5,15,28,.85) 45%)}
.feat-body strong{font:700 1.02rem/1.35 var(--ui)}
.feat-main .feat-body strong{font-size:1.3rem}
.feat-tag{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;background:#F5B700;color:#2A2000;font:700 .72rem var(--ui);padding:2px 8px;border-radius:999px}
.feat-tag .icon{width:12px;height:12px}
.feat-meta{opacity:.85}
.feat-card:hover strong{text-decoration:underline}
@media (max-width:760px){.featured-news{grid-template-columns:minmax(0,1fr)}.feat-main{grid-row:auto;min-height:240px}}
.star-btn{background:none;border:0;cursor:pointer;color:var(--rule);padding:4px;border-radius:6px}
.star-btn .icon{width:20px;height:20px}
.star-btn.is-on{color:#E0A100}
.star-btn.is-on .icon{fill:#F5B700}
.star-btn:hover{background:var(--brand-50)}

/* Trang tác giả */
.author-head{display:flex;gap:16px;align-items:flex-start}
.author-avatar{flex:0 0 64px;width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font:700 1.6rem var(--ui)}

/* Quản trị giao diện */
.swatches{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.swatch{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule);background:var(--sheet);border-radius:999px;padding:6px 12px 6px 6px;cursor:pointer;font:500 .86rem var(--ui)}
.swatch span{width:24px;height:24px;border-radius:50%;background:var(--c)}
.swatch.is-on{border-color:var(--c);box-shadow:0 0 0 2px var(--c)}
.brand-preview{min-height:72px;display:flex;align-items:center;padding:12px;border:1px dashed var(--rule);border-radius:var(--r);margin-bottom:10px;background:var(--paper)}
.brand-preview img{max-height:60px}
.ad-admin summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ===== v1.9: Trắc nghiệm ===== */
.check>span{flex:1;min-width:0}.check input{flex-shrink:0}
.check-consent{line-height:1.5}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 10px;color:var(--muted)}.crumbs .icon{width:14px;height:14px}
.quiz-hero{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin:6px 0 10px}
.quiz-hero>div:first-child{flex:1;min-width:260px}
.quiz-hero-note{display:flex;gap:10px;align-items:flex-start;max-width:420px;background:var(--amber-soft);border:1px solid #EAD3A6;color:#5E3E05;border-radius:10px;padding:10px 14px;font-size:.9rem}
.quiz-hero-note .icon{color:var(--amber);flex-shrink:0;margin-top:2px}
.quiz-group{margin:18px 0 26px}.quiz-group h2{font-size:1.1rem;border-bottom:1px solid var(--rule);padding-bottom:6px}
.quiz-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.quiz-card{display:flex;flex-direction:column;gap:6px;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;padding:14px 16px;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}
.quiz-card:hover{text-decoration:none;border-color:var(--brand);box-shadow:0 6px 18px rgba(10,109,170,.12);transform:translateY(-2px)}
.quiz-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.quiz-card-top .status .icon{width:12px;height:12px}
.quiz-card-top .status:has(.icon)::before{display:none}
.quiz-card-title{font-size:1.02rem;line-height:1.35}
.quiz-card-desc{flex:1}
.quiz-card-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--rule);padding-top:8px;margin-top:auto}
.quiz-go{color:var(--brand);font-weight:600;display:inline-flex;align-items:center;gap:2px}.quiz-go .icon{width:16px;height:16px}
.quiz-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.quiz-last{text-align:right;background:var(--sheet);border:1px solid var(--rule);border-radius:10px;padding:8px 12px;white-space:nowrap}
.quiz-form{max-width:860px}
.quiz-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--paper);border-bottom:1px solid var(--rule);padding:8px 0;margin-bottom:12px}
.quiz-progress [data-quiz-timer].is-over{color:var(--seal);font-weight:600}
.quiz-q{background:var(--sheet);border:1px solid var(--rule);border-radius:12px;padding:14px 16px 12px;margin:0 0 14px;min-width:0}
.quiz-q legend{float:left;width:100%;padding:0;margin:0 0 10px;font-weight:600;line-height:1.5}
.quiz-legend{margin:0 0 10px;font-weight:600;line-height:1.5}
.quiz-q legend+*{clear:both}
.quiz-num{display:inline-block;background:var(--brand-50);color:var(--brand-900);border-radius:6px;padding:1px 8px;margin-right:6px;font-size:.82rem;font-weight:700}
.quiz-opts{display:grid;gap:8px}
.quiz-opt{display:flex;align-items:flex-start;gap:10px;border:1.5px solid var(--rule);border-radius:10px;padding:9px 12px;cursor:pointer;background:#fff;transition:border-color .12s,background .12s;font-weight:400;margin:0}
.quiz-opt:hover{border-color:var(--brand-100);background:var(--brand-50)}
.quiz-opt input{position:absolute;opacity:0;pointer-events:none}
.quiz-letter{flex-shrink:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--rule);font-weight:700;font-size:.85rem;color:var(--ink-2);background:#fff}
.quiz-text{flex:1;min-width:0;padding-top:2px}
.quiz-opt:has(input:checked){border-color:var(--brand);background:var(--brand-50)}
.quiz-opt:has(input:checked) .quiz-letter{background:var(--brand);border-color:var(--brand);color:#fff}
.quiz-opt:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}
.quiz-q[data-checked] .quiz-opt{cursor:default}
.quiz-opt.opt-right,.quiz-opt.opt-right:has(input:checked){border-color:var(--jade);background:var(--jade-soft)}
.quiz-opt.opt-right .quiz-letter{background:var(--jade);border-color:var(--jade);color:#fff}
.quiz-opt.opt-wrong,.quiz-opt.opt-wrong:has(input:checked){border-color:var(--seal);background:var(--seal-soft)}
.quiz-opt.opt-wrong .quiz-letter{background:var(--seal);border-color:var(--seal);color:#fff}
/* 1.34: chữ cái của phương án đã chọn sai/đúng mang màu đỏ/xanh (thắng kiểu “đang chọn”) */
.quiz-opt.opt-wrong:has(input:checked) .quiz-letter{background:var(--seal);border-color:var(--seal);color:#fff}
.quiz-opt.opt-right:has(input:checked) .quiz-letter{background:var(--jade);border-color:var(--jade);color:#fff}
.quiz-mark{margin-left:auto;font-size:.78rem;font-weight:600;white-space:nowrap;padding-top:4px}
.opt-right .quiz-mark{color:var(--jade)}.opt-wrong .quiz-mark{color:var(--seal)}
.quiz-q.is-right{border-left:4px solid var(--jade)}.quiz-q.is-wrong{border-left:4px solid var(--seal)}
.quiz-feedback,.quiz-explain{margin-top:10px;border-radius:8px;padding:10px 12px;background:var(--paper);border:1px solid var(--rule-2);font-size:.93rem}
.quiz-feedback p,.quiz-explain p{margin:6px 0 0}.quiz-explain p:first-child{margin-top:0}
.is-right .quiz-feedback strong{color:var(--jade)}.is-wrong .quiz-feedback strong{color:var(--seal)}
.quiz-explain .icon{width:15px;height:15px;vertical-align:-2px;color:var(--brand)}
.quiz-locked{display:flex;gap:14px;align-items:flex-start;border:1.5px dashed #D8B56A;background:linear-gradient(135deg,#FFF8EA,#FDF1D8);border-radius:12px;padding:16px 18px;margin:4px 0 16px;color:#4A3306;max-width:860px}
.quiz-locked>.icon{color:var(--amber);flex-shrink:0}
.quiz-submit{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:6px 0 20px}
.quiz-score{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:16px 20px;margin:4px 0 18px;max-width:860px}
.quiz-score-num{font-size:1.4rem;color:var(--muted);min-width:96px;text-align:center;border-radius:12px;padding:8px 12px;background:var(--paper)}
.quiz-score-num strong{font-size:2.2rem;color:var(--ink)}
.quiz-score.is-good .quiz-score-num{background:var(--jade-soft)}.quiz-score.is-good .quiz-score-num strong{color:var(--jade)}
.quiz-score.is-ok .quiz-score-num{background:var(--amber-soft)}.quiz-score.is-ok .quiz-score-num strong{color:var(--amber)}
.quiz-score.is-low .quiz-score-num{background:var(--seal-soft)}.quiz-score.is-low .quiz-score-num strong{color:var(--seal)}
.quiz-score-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.quiz-q.is-reviewed{max-width:860px}
.quiz-admin-q{border:1px solid var(--rule);border-radius:8px;padding:8px 12px;margin-bottom:8px;background:#fff}
.quiz-admin-q summary{cursor:pointer}.quiz-admin-q[open] summary{margin-bottom:10px}
@media (max-width:640px){
  .quiz-head{flex-direction:column}.quiz-last{text-align:left}
  .quiz-q{padding:12px}.quiz-opt{padding:8px 10px}
  .quiz-score-actions{margin-left:0}
}

/* ===== v1.9: Chân trang hiện đại ===== */
.site-foot{margin-top:40px;font-size:.9rem;color:#C5D3E0}
.foot-main{background:linear-gradient(180deg,var(--brand-900),#04263D);padding:44px 0 18px;position:relative}
.foot-main::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand),#5FB3E4,var(--brand))}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(var(--fcols,3),minmax(0,1fr)) minmax(0,1.25fr);gap:28px 32px}
.foot-col h3{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;margin:4px 0 14px;font-weight:700}
.foot-col a{display:block;color:#C5D3E0;padding:4px 0;line-height:1.4}
.foot-col a:hover{color:#fff;text-decoration:none;transform:translateX(2px)}
.foot-col a{transition:color .15s,transform .15s}
.foot-logo .brand{color:#fff}.foot-logo .brand-name{color:#fff}
.foot-logo .brand-mark{background:#fff;color:var(--brand-900)}
.foot-logo .brand-logo{background:#fff;border-radius:10px;padding:5px 8px;max-height:46px}
.foot-desc{margin:12px 0 14px;color:#A9BCCD;line-height:1.6;max-width:360px}
.site-foot .social-links{margin-top:0}
.site-foot .soc{background:rgba(255,255,255,.1);color:#fff}
.site-foot .soc:hover{background:#fff;color:var(--brand-900)}
.foot-push{margin-top:14px;display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:999px;padding:6px 14px;font:500 .84rem var(--ui);cursor:pointer}
.foot-push:hover{background:rgba(255,255,255,.1)}.foot-push .icon{width:16px;height:16px}
.foot-contact a,.foot-contact p{display:flex;gap:9px;align-items:flex-start;margin:0;padding:4px 0;color:#C5D3E0;word-break:break-word}
.foot-contact .icon{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:#7FC1EA}
.foot-contact .foot-cta{margin-top:10px;display:inline-flex;background:var(--brand);border-color:var(--brand);color:#fff;padding:7px 14px}
.foot-contact .foot-cta:hover{background:#fff;color:var(--brand-900);transform:none}
.foot-contact .foot-cta .icon{color:inherit;margin:0}
.foot-disclaimer{display:flex;gap:10px;align-items:flex-start;margin:30px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;color:#93A9BD;line-height:1.6}
.foot-disclaimer .icon{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.foot-bottom{background:#031C2D;color:#93A9BD;font-size:.83rem}
.foot-bottom .wrap{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap;min-height:52px;padding-top:10px;padding-bottom:10px}
.foot-bottom a{color:#C5D3E0}.foot-bottom a:hover{color:#fff}
.foot-org{margin-left:auto}
@media (max-width:1100px){.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.foot-brand{grid-column:1/-1}.foot-desc{max-width:none}}
@media (max-width:640px){
  .foot-main{padding:32px 0 14px}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
  .foot-contact{grid-column:1/-1}
  .foot-org{margin-left:0}
  .foot-bottom .wrap{justify-content:center;text-align:center}
}

/* Đăng nhập mạng xã hội */
.social-login{display:grid;gap:8px;margin:4px 0 10px}
.social-login.is-compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.social-btn{justify-content:center;gap:10px;padding:9px 14px;font-weight:600;background:#fff}
.social-btn .icon{width:18px;height:18px}
.social-facebook{color:#fff;background:#1877F2;border-color:#1877F2}.social-facebook:hover{background:#166FE0;border-color:#166FE0}
.social-google{color:#1F1F1F;border-color:#C9CDD2}.social-google:hover{border-color:#7A8088;background:#F8F9FA}
.sl-glyph{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#EEF1F4;color:#1F1F1F;font:800 .8rem/1 var(--ui)}
.social-note{margin:0 0 6px;font-size:.78rem}
.or-sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.82rem;margin:14px 0}
.or-sep::before,.or-sep::after{content:"";flex:1;height:1px;background:var(--rule)}
.social-linked{display:grid;gap:8px}
.social-linked-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--rule);border-radius:8px;padding:8px 12px}
.social-linked-row .icon{width:18px;height:18px;color:#1877F2}
.social-linked-row form,.social-linked-row>a.btn{margin-left:auto}

/* Hộp góc phải: mời đăng nhập / bật thông báo */
.corner-prompt{position:fixed;top:76px;right:20px;z-index:950;width:340px;max-width:calc(100vw - 24px);background:var(--sheet);border:1px solid var(--rule);border-radius:14px;
  box-shadow:0 18px 50px rgba(6,40,68,.22);padding:16px 16px 14px;opacity:0;transform:translateY(-10px) scale(.98);transition:opacity .22s,transform .22s}
.corner-prompt.is-in{opacity:1;transform:none}
.corner-prompt::before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:14px 14px 0 0;background:linear-gradient(90deg,var(--brand),#5FB3E4)}
.corner-head{display:flex;gap:10px;align-items:center;padding-right:24px}
.corner-head strong{font-size:1rem;line-height:1.3;color:var(--ink)}
.corner-ic{flex-shrink:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--brand-50);color:var(--brand)}
.corner-ic .icon{width:22px;height:22px}
.corner-prompt p{margin:8px 0 12px;color:var(--ink-2);line-height:1.5}
.corner-close{position:absolute;top:10px;right:10px;border:0;background:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:50%;line-height:0}
.corner-close:hover{color:var(--ink);background:var(--rule-2)}
.corner-close .icon{width:20px;height:20px}
.corner-actions{display:flex;gap:8px;flex-wrap:wrap}
.corner-actions .btn{flex:1;justify-content:center}
.corner-prompt .social-login{margin:0 0 8px}
@media (max-width:767px){.corner-prompt{top:auto;bottom:14px;right:12px;left:12px;width:auto}}
@media print{.corner-prompt{display:none!important}}
.stat-col{flex-direction:column;gap:2px}

/* Quản trị menu */
.menu-list{display:grid;gap:6px;margin-bottom:8px}
.menu-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.4fr) auto auto auto;gap:6px;align-items:center;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:6px 8px}
.menu-col .menu-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.menu-col .menu-drag{display:none}.menu-col .menu-row select{width:100%}.menu-col .menu-btns{justify-content:flex-end}
.menu-row select{width:auto}
.menu-drag{color:var(--muted);letter-spacing:-2px;cursor:default}
.menu-btns{display:flex;gap:4px}.menu-btns .icon{width:15px;height:15px}
.menu-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.menu-col{border:1px dashed var(--rule);border-radius:10px;padding:10px 12px}
@media (max-width:900px){.menu-cols{grid-template-columns:1fr}.menu-row,.menu-col .menu-row{grid-template-columns:1fr 1fr}.menu-drag{display:none}.menu-btns{grid-column:1/-1;justify-content:flex-end}}

/* ===== v1.10: Tin tức – 4 bài đầu, cột phải, lượt xem/bình luận/lưu ===== */
.news-top{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:18px;margin:4px 0 20px}
.nt-main{position:relative;display:block;min-height:360px;border-radius:16px;overflow:hidden;background:var(--brand-900);color:#fff;text-decoration:none}
.nt-main img,.nt-main .nt-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.nt-main:hover img{transform:scale(1.03)}
.nt-ph{display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-900));color:rgba(255,255,255,.35)}
.nt-ph .icon{width:56px;height:56px}
.nt-body{position:absolute;inset:auto 0 0 0;padding:70px 22px 18px;display:flex;flex-direction:column;gap:6px;background:linear-gradient(transparent,rgba(4,14,26,.88) 55%)}
.nt-cat{font:700 .74rem var(--ui);letter-spacing:.06em;text-transform:uppercase;color:#9BD7FF}
.nt-body strong{font:700 1.5rem/1.3 var(--ui)}
.nt-main:hover strong{text-decoration:underline;text-underline-offset:4px}
.nt-date{font-size:.84rem;color:rgba(255,255,255,.78);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.nt-date .icon{width:14px;height:14px;margin-left:2px}
.nt-side{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:14px}
.nt-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:center;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:12px 14px;color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.nt-item:hover{border-color:var(--brand);box-shadow:0 6px 18px rgba(10,109,170,.12);text-decoration:none}
.nt-item img,.nt-ph-sm{width:110px;height:80px;border-radius:10px;object-fit:cover}
.nt-ph-sm .icon{width:28px;height:28px}
.nt-item>span:last-child{display:flex;flex-direction:column;gap:6px;min-width:0}
.nt-item strong{font:600 .98rem/1.4 var(--ui);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nt-item:hover strong{color:var(--brand)}
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.news-main{margin:0}
.news-meta{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:.82rem;color:var(--muted)}
.nm-item{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}
a.nm-item:hover{color:var(--brand);text-decoration:none}
.nm-item .icon{width:15px;height:15px}
.news-meta .act-btn{padding:3px 9px;font-size:.8rem}
.news-show-meta{margin:-4px 0 12px}
.news-side{display:grid;gap:16px}
.news-side .panel{margin:0}
.side-list h2{font-size:1.02rem;margin-bottom:10px}
.side-list h2 .icon{width:19px;height:19px}
.rank-list{list-style:none;margin:0;padding:0;display:grid}
.rank-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid var(--rule-2)}
.rank-list li:last-child{border-bottom:0;padding-bottom:0}
.rank-n{font:800 1.35rem/1 var(--ui);color:var(--brand-100);text-align:center;padding-top:2px}
.rank-list li:nth-child(-n+3) .rank-n{color:var(--brand)}
.rank-list a{display:block;color:var(--ink);font-weight:600;line-height:1.4;margin-bottom:2px}
.rank-list a:hover{color:var(--brand)}
.mini-news{list-style:none;margin:0;padding:0;display:grid}
.mini-news li{border-bottom:1px solid var(--rule-2)}.mini-news li:last-child{border-bottom:0}
.mini-news a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;padding:10px 0;color:var(--ink);text-decoration:none;align-items:start}
.mini-news img,.mini-ph{width:72px;height:52px;border-radius:8px;object-fit:cover;background:var(--rule-2)}
.mini-ph{display:grid;place-items:center;color:var(--muted)}.mini-ph .icon{width:20px;height:20px}
.mini-news strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:600 .9rem/1.4 var(--ui);margin-bottom:2px}
.mini-news a:hover strong{color:var(--brand)}
.mini-news .small{display:block}
@media (max-width:1000px){.news-layout{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){
  .news-top{grid-template-columns:minmax(0,1fr)}
  .nt-main{min-height:260px}.nt-body strong{font-size:1.2rem}.nt-body{padding:60px 16px 14px}
  .nt-side{grid-template-rows:none}
  .nt-item{grid-template-columns:92px minmax(0,1fr);padding:10px}.nt-item img,.nt-ph-sm{width:92px;height:68px}
}
.nt-feat{display:inline-flex;align-items:center;gap:3px;background:#F5B700;color:#2A2000;border-radius:999px;padding:1px 8px;margin-right:6px;letter-spacing:0}.nt-feat .icon{width:11px;height:11px}

/* ===== v1.11 ===== */
.foot-logo-img{background:none!important;padding:0!important}
.brand-preview-dark{background:var(--brand-900);border-radius:10px;padding:12px;display:flex;align-items:center;min-height:64px}
.brand-preview-dark img{max-height:46px}
/* Nút lên đầu trang: luôn ở góc phải dưới */
.to-top{position:fixed;right:18px;bottom:18px;z-index:940;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;box-shadow:0 8px 22px rgba(6,40,68,.28);transition:background .15s,transform .15s}
.to-top .icon{width:22px;height:22px;transform:rotate(180deg)}
.to-top:hover{background:var(--brand-700);transform:translateY(-2px);text-decoration:none}
@media print{.to-top{display:none}}
body:has(.cookie-bar:not([hidden])) .to-top{bottom:100px}
/* Đầu trang luôn hiện khi cuộn */
.site-head{position:sticky;top:0;z-index:960}
.site-head.is-scrolled{box-shadow:0 4px 16px rgba(16,32,52,.10)}
.quiz-bar{top:64px}
/* Menu quản trị rộng hơn */
html{scroll-padding-top:calc(var(--head-h,64px) + 16px)}
@media (max-width:860px){.nav.open{max-height:calc(100vh - 72px);overflow:auto}}
/* Phản ứng */
.reactions{margin:26px 0 8px;padding:16px 18px 18px;border:1px solid var(--rule);border-radius:14px;background:var(--brand-50)}
.rx-title{font-size:1.02rem;margin:0 0 12px;text-align:center}
.rx-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.rx-btn{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--rule);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font:500 .88rem var(--ui);color:var(--ink-2);transition:transform .12s,border-color .12s,background .12s}
.rx-btn:hover{border-color:var(--brand);transform:translateY(-1px)}
.rx-btn.is-on{border-color:var(--brand);background:var(--brand);color:#fff}
.rx-emoji{font-size:1.2rem;line-height:1}
.rx-count{font-weight:700;min-width:1ch}
.rx-summary{text-align:center;margin:12px 0 6px}
.rx-bars{display:grid;gap:5px;max-width:420px;margin:0 auto}
.rx-bar{display:grid;grid-template-columns:22px 86px minmax(0,1fr) 34px;gap:8px;align-items:center;font-size:.84rem}
.rx-track{height:8px;border-radius:99px;background:var(--rule-2);overflow:hidden}
.rx-track span{display:block;height:100%;background:var(--brand);border-radius:99px;transition:width .25s}
.rx-bar-n{text-align:right;color:var(--muted)}
@media (max-width:520px){.rx-label{display:none}.rx-btn{padding:6px 10px}}
/* Mẫu biểu / tệp đính kèm */
.attachments{margin:20px 0;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--paper)}
.attachments h2{font-size:1.02rem;margin:0 0 10px}
.att-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.att-list li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--rule-2);border-radius:10px;padding:8px 10px}
.att-name{flex:1;min-width:0;display:flex;flex-direction:column;font-weight:600;word-break:break-word}
.att-ext{flex-shrink:0;display:inline-grid;place-items:center;min-width:42px;height:28px;border-radius:6px;background:var(--brand);color:#fff;font:700 .7rem var(--ui);text-transform:uppercase;padding:0 6px}
.att-doc,.att-docx,.att-odt,.att-rtf{background:#2B579A}.att-xls,.att-xlsx,.att-ods,.att-csv{background:#217346}.att-pdf{background:#B3261E}.att-zip{background:#6B5B95}.att-ppt,.att-pptx{background:#C4572F}
.att-admin{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}
.att-admin li{display:flex;align-items:center;gap:8px;font-size:.88rem;border:1px solid var(--rule-2);border-radius:8px;padding:6px 8px;flex-wrap:wrap}
.att-inline{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.att-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);border-radius:8px;padding:3px 8px 3px 3px;font-size:.82rem;color:var(--ink);background:#fff}
.att-chip:hover{border-color:var(--brand);text-decoration:none}
.att-chip .att-ext{min-width:34px;height:22px;font-size:.62rem}.att-chip .icon{width:14px;height:14px;color:var(--brand)}
/* Ảnh đại diện & hồ sơ */
.avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--brand-50);color:var(--brand-900);font-weight:700;vertical-align:middle}
.avatar-sm{width:24px;height:24px;font-size:.72rem;margin-right:6px}
.avatar-lg{width:72px;height:72px;font-size:1.6rem}
.avatar-xl{width:96px;height:96px;font-size:2.2rem;border:3px solid #fff;box-shadow:0 4px 14px rgba(6,40,68,.15)}
img.cm-avatar,.cm-avatar.avatar{width:34px;height:34px}
.byline{display:flex;align-items:center;flex-wrap:wrap;gap:2px}
.profile-avatar-row{display:flex;gap:14px;align-items:center;margin-bottom:10px}
.profile-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.profile-web{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);border-radius:999px;padding:5px 12px;font-size:.86rem;background:#fff}
.profile-web .icon{width:15px;height:15px}
.social-edit summary{cursor:pointer;font-weight:600;margin-bottom:6px}
.author-head{display:flex;gap:18px;align-items:center}
@media (max-width:560px){.author-head{flex-direction:column;align-items:flex-start}}
/* Trắc nghiệm v1.11 */
.quiz-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}
.quiz-head{flex-wrap:wrap}
.quiz-edit-tools{display:flex;gap:12px;justify-content:flex-end;margin:-4px 0 6px;clear:both}
.quiz-edit-tools .icon{width:14px;height:14px}
.quiz-after{max-width:860px}
.quiz-card-cat{color:var(--brand);font-weight:600}
.qcat-list{display:grid;gap:6px}
.qcat-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.qcat-row input[name=name]{flex:1;min-width:180px}
[hidden]{display:none!important}
.text-group{border:1px solid var(--rule);border-radius:10px;padding:8px 12px;margin-bottom:8px;background:#fff}
.text-group summary{cursor:pointer;font-weight:600}.text-group[open] summary{margin-bottom:8px}
.bk-dl{display:inline-flex;gap:6px;align-items:center}.bk-dl input{width:170px;padding:5px 8px}
/* Bảo mật */
.otp-input{font:600 1.3rem/1.2 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.2em;text-align:center;max-width:240px}
.secret-key{display:flex;gap:8px;align-items:center;margin:8px 0;flex-wrap:wrap}
.secret-key code{font-size:1.05rem;background:var(--paper);border:1px dashed var(--rule);border-radius:8px;padding:8px 12px;letter-spacing:.08em;word-break:break-all}
.setup-steps{padding-left:20px}.setup-steps li{margin-bottom:10px}
.recovery-box{background:var(--amber-soft);border:1px solid #EAD3A6;border-radius:10px;padding:12px 14px;margin:10px 0}
.recovery-box ul{columns:2;margin:8px 0;padding-left:18px}
.sec-more{border-top:1px solid var(--rule-2);padding-top:8px;margin-top:10px}.sec-more summary{cursor:pointer;font-weight:600;margin-bottom:8px}
.login-row{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--rule-2)}
.sec-checks{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.sec-checks li{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--rule-2);border-radius:8px;padding:8px 10px}
.sec-checks li div{display:flex;flex-direction:column}
.sec-checks .ok .icon{color:var(--jade)}.sec-checks .bad{background:var(--seal-soft);border-color:#E5BDB9}.sec-checks .bad .icon{color:var(--seal)}
/* ===== v1.12: tinh chỉnh giao diện ===== */
.panel{box-shadow:0 1px 2px rgba(16,32,52,.04)}
.admin-main .panel{box-shadow:0 1px 3px rgba(16,32,52,.06)}
.admin-side a{border-radius:8px;position:relative;transition:background .12s,color .12s}
.admin-side a.active{background:rgba(255,255,255,.12);color:#fff;font-weight:600}
.admin-side a.active::before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:#7FC1EA}
.admin-side a.active .icon{opacity:1}
.admin-side h4{letter-spacing:.04em}
.admin-main .stat{transition:border-color .15s,box-shadow .15s}
.admin-main .stat:hover{border-color:var(--brand-100);box-shadow:0 6px 16px rgba(10,109,170,.08)}
.table thead th{font-weight:600;color:var(--ink-2)}
.table tbody tr:hover{background:rgba(10,109,170,.025)}
.btn{transition:background .12s,border-color .12s,color .12s,box-shadow .12s}
.btn-primary:focus-visible,.btn:focus-visible{box-shadow:0 0 0 3px var(--brand-100)}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-50);outline:none}
/* v1.12.1: cảm nhận một hàng; bộ lọc trắc nghiệm */
.reactions{container-type:inline-size}
.rx-buttons{flex-wrap:nowrap;gap:6px}
.rx-btn{flex:0 1 auto;min-width:0;padding:5px 10px;gap:5px;font-size:.84rem;white-space:nowrap}
.rx-emoji{font-size:1.08rem}
@container (max-width:700px){.rx-btn{padding:5px 8px;font-size:.8rem}.rx-label{max-width:4.6em;overflow:hidden;text-overflow:ellipsis}}
@container (max-width:560px){.rx-label{display:none}.rx-buttons{justify-content:space-between}.rx-btn{flex:1 1 0;justify-content:center}}
.quiz-filter{align-items:flex-end}
.quiz-filter .field{min-width:190px}
/* Kiểm tra cron */
.cron-panel{border-left:4px solid var(--jade)}
.cron-slow{border-left-color:var(--amber)}.cron-stale,.cron-never{border-left-color:var(--seal)}
.cron-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.cron-state{display:flex;gap:12px;align-items:flex-start}
.cron-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--jade-soft);color:var(--jade)}
.cron-slow .cron-ic{background:var(--amber-soft);color:var(--amber)}.cron-stale .cron-ic,.cron-never .cron-ic{background:var(--seal-soft);color:var(--seal)}
.cron-ic .icon{width:24px;height:24px}
.cron-actions{display:flex;gap:6px;flex-wrap:wrap}
.cron-h3{font-size:.95rem;margin:12px 0 6px}
.copy-row{display:flex;gap:6px;align-items:flex-start}
.cron-cmd{flex:1;min-width:0;display:block;background:var(--brand-900);color:#E6F0F8;border-radius:8px;padding:10px 12px;font-size:.8rem;word-break:break-all;white-space:pre-wrap}
.cron-q{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cron-q li{display:flex;justify-content:space-between;border:1px solid var(--rule-2);border-radius:8px;padding:7px 10px;background:#fff}
.text-red{color:var(--seal)}
.cron-dots{display:flex;flex-wrap:wrap;gap:4px}
.cron-dots span{font:600 .74rem var(--ui);background:var(--jade-soft);color:var(--jade);border-radius:6px;padding:3px 6px}

/* Án lệ (1.13) */
.prec-head h1{margin-bottom:2px}
.prec-filter{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:end;margin-bottom:14px}
.prec-filter .field{margin:0}
.prec-actions{display:flex;gap:6px}
.prec-list{display:grid;gap:12px;margin-bottom:16px}
.prec-card{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:16px;align-items:start;background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:14px 16px;transition:border-color .15s,box-shadow .15s}
.prec-card:hover{border-color:var(--jade);box-shadow:0 4px 16px rgba(0,0,0,.05)}
.prec-no{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:var(--brand);color:#fff;padding:8px 4px;text-decoration:none;line-height:1.15;text-align:center}
.prec-no span{font-size:.68rem;opacity:.85;text-transform:uppercase;letter-spacing:.03em}
.prec-no strong{font-size:1.7rem;font-family:var(--read)}
.prec-body h2{font-size:1.02rem;margin:0 0 6px;line-height:1.4}
.prec-body h2 a{color:var(--ink);text-decoration:none}
.prec-body h2 a:hover{color:var(--jade)}
.prec-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);margin:0 0 6px}
.prec-meta span{display:inline-flex;align-items:center;gap:4px}
.prec-meta .icon{width:14px;height:14px}
.prec-excerpt{margin:0;color:var(--ink-2);font-size:.92rem}
.prec-note{display:flex;gap:6px;align-items:flex-start;margin-top:14px}
.prec-note .icon{flex:none;width:16px;height:16px;margin-top:2px}
.empty-state{text-align:center;color:var(--muted);padding:36px}
.empty-state .icon{width:36px;height:36px;margin-bottom:6px}
.prec-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.prec-kicker{display:inline-block;margin:0 0 6px;font-weight:700;color:var(--seal);letter-spacing:.02em;text-transform:uppercase;font-size:.85rem}
.prec-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden;margin:14px 0}
.prec-facts>div{background:var(--sheet);padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.prec-facts>div.wide{grid-column:1/-1}
.prec-facts>div>span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.prec-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 18px}
.prec-sec{margin:22px 0}
.prec-sec h2{font-size:1.08rem;border-bottom:1px solid var(--rule);padding-bottom:6px}
.prec-text{font-family:var(--read);line-height:1.75}
.prec-solution .prec-text{background:var(--jade-soft);border-left:4px solid var(--jade);padding:12px 16px;border-radius:0 var(--r) var(--r) 0}
.prec-laws{padding-left:20px;line-height:1.7}
.prec-kw{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.prec-kw .tag{text-decoration:none}
.prec-pn{display:flex;justify-content:space-between;gap:12px;margin-top:24px;border-top:1px solid var(--rule);padding-top:14px}
.prec-pn a{display:flex;flex-direction:column;text-decoration:none}
.prec-pn a.r{text-align:right;margin-left:auto}
.prec-aside .panel{margin-bottom:14px}
.prec-mini{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.prec-mini a{display:block;text-decoration:none;color:var(--ink-2);font-size:.9rem;line-height:1.4}
.prec-mini strong{display:block;color:var(--jade);font-size:.82rem}
@media (max-width:900px){.prec-filter{grid-template-columns:1fr 1fr}.prec-q{grid-column:1/-1}.prec-grid{grid-template-columns:1fr}.prec-facts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.prec-card{grid-template-columns:64px minmax(0,1fr)}.prec-card>.status{grid-column:2;justify-self:start}.prec-no strong{font-size:1.3rem}}
@media print{.prec-aside,.prec-tools,.prec-pn,.site-header,.site-footer{display:none!important}.prec-grid{display:block}}
.prec-intro{margin:2px 0 4px;max-width:80ch}

/* Menu tài khoản góc phải (1.14) */
.user-menu{position:relative}
.user-menu-btn{gap:6px}
.user-menu-btn .avatar-xs{width:24px;height:24px;font-size:.72rem}
.user-menu-btn .caret{width:14px;height:14px;transition:transform .15s;opacity:.7}
.user-menu.open .caret,.user-menu:hover .caret{transform:rotate(180deg)}
.user-menu-list{position:absolute;right:0;top:100%;min-width:240px;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 32px rgba(15,30,50,.14);padding:6px;z-index:60;display:none;margin-top:6px}
.user-menu-list::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px} /* cầu nối để rê chuột không bị mất */
.user-menu.open .user-menu-list{display:block}
@media (hover:hover) and (pointer:fine){.user-menu:not(.head-bell):not(.ws-bell):not(.closing):hover .user-menu-list{display:block}}
/* 1.30.4 – chuông thông báo chỉ mở/đóng bằng bấm, không mở khi rê chuột */
.head-bell:not(.open) .user-menu-list,.ws-bell:not(.open) .user-menu-list{display:none}
.um-head{display:flex;flex-direction:column;padding:8px 10px 10px;border-bottom:1px solid var(--rule-2);margin-bottom:4px;min-width:0}
.um-head strong,.um-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
.user-menu-list a,.user-menu-list button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font:500 .92rem var(--ui);background:none;border:0;cursor:pointer;text-align:left}
.user-menu-list a .status{margin-left:auto}
.user-menu-list a:hover,.user-menu-list button:hover,.user-menu-list a:focus-visible,.user-menu-list button:focus-visible{background:var(--brand-50);color:var(--brand-900);outline:none}
.user-menu-list .icon{width:17px;height:17px;flex:none;opacity:.8}
.um-logout{border-top:1px solid var(--rule-2);margin-top:4px;padding-top:4px}
.um-logout button{color:var(--seal)}
.um-logout button:hover{background:var(--seal-soft);color:var(--seal)}
@media (max-width:560px){.user-menu-list{position:fixed;left:10px;right:10px;top:60px;min-width:0}}

/* Thanh menu cuộn ngang có nút trái/phải (1.14) */
.scroll-tabs{position:relative;display:flex;align-items:stretch;margin-bottom:16px;border-bottom:1px solid var(--rule)}
.scroll-tabs .st-track{flex:1;min-width:0;margin-bottom:0;border-bottom:0;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;padding-bottom:4px}
.scroll-tabs .st-track::-webkit-scrollbar{display:block;height:6px}
.scroll-tabs .st-track::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}
.scroll-tabs .st-track::-webkit-scrollbar-thumb:hover{background:var(--muted)}
.scroll-tabs .st-track a{white-space:nowrap;flex:none}
.st-btn{flex:none;width:34px;border:0;background:var(--sheet);color:var(--ink-2);cursor:pointer;display:grid;place-items:center;z-index:2;padding:0 0 4px}
.st-btn[hidden]{display:none!important}
.st-btn:hover{color:var(--brand)}
.st-btn .icon{width:18px;height:18px}
.st-prev .icon{transform:rotate(180deg)}
.st-prev{box-shadow:8px 0 10px -6px rgba(0,0,0,.18)}
.st-next{box-shadow:-8px 0 10px -6px rgba(0,0,0,.18)}
.verify-box{text-align:left}
.verify-ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--brand-50);color:var(--brand);margin-bottom:8px}
.verify-steps{padding-left:18px;color:var(--ink-2);line-height:1.7}
.verify-ic .icon{width:28px;height:28px}
.extract-panel{margin-top:18px}
.extract-panel h3{font-size:1rem;margin:16px 0 6px}
.extract-result{margin-top:10px;border:1px solid var(--rule);border-radius:var(--r);padding:10px 12px;background:var(--paper)}
.extract-sample{white-space:pre-wrap;max-height:320px;overflow:auto;font-size:.85rem;background:var(--sheet);border:1px solid var(--rule-2);padding:10px;border-radius:8px;margin:8px 0 0}

/* Thư viện tệp & bộ nhớ đệm (1.16) */
.media-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}
.media-drop{display:flex;gap:14px;align-items:center;border:2px dashed var(--rule);border-radius:var(--r);padding:16px 18px;background:var(--sheet);margin-bottom:12px;position:relative;transition:border-color .15s,background .15s}
.media-drop>.icon{width:30px;height:30px;color:var(--brand);flex:none}
.media-drop.over{border-color:var(--brand);background:var(--brand-50)}
.media-drop.busy{opacity:.7;pointer-events:none}
.link-like{color:var(--jade);cursor:pointer;text-decoration:underline}
.media-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--rule-2);border-radius:0 0 var(--r) var(--r);overflow:hidden}
.media-progress span{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}
.media-filter{align-items:end}
.media-viewtoggle{display:flex;gap:4px;margin-left:auto}
.media-crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 10px;font-size:.92rem}
.media-crumbs a{display:inline-flex;gap:5px;align-items:center;text-decoration:none}
.media-crumbs .icon{width:16px;height:16px}
.media-folders{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center}
.media-folder{display:flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--sheet);text-decoration:none;color:var(--ink-2);font-weight:500}
.media-folder:hover{border-color:var(--brand);color:var(--brand-900)}
.media-folder .icon{color:#d4a017;width:20px;height:20px}
.media-folder small{display:block;font-weight:400;color:var(--muted);font-size:.74rem}
.media-mkdir{display:flex;gap:4px}
.media-mkdir input{width:150px;padding:6px 8px}
.media-bulkbar{position:sticky;top:64px;z-index:5;display:flex;gap:8px;align-items:center;background:var(--brand-50);border:1px solid var(--brand);border-radius:10px;padding:6px 10px;margin-bottom:10px;font-weight:600}
.media-bulkbar[hidden]{display:none}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.media-card{position:relative;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.media-card:hover{border-color:var(--brand);box-shadow:0 4px 14px rgba(0,0,0,.06)}
.media-card.selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}
.media-thumb{display:grid;place-items:center;width:100%;aspect-ratio:4/3;border:0;padding:0;cursor:pointer;background:repeating-conic-gradient(#f1f3ef 0 25%,#fff 0 50%) 0 0/16px 16px}
.media-thumb img{width:100%;height:100%;object-fit:contain}
.media-check{position:absolute;top:6px;left:6px;z-index:2;background:rgba(255,255,255,.9);border-radius:6px;padding:2px 4px;line-height:1}
.media-meta{padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.media-name{font-size:.86rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-ext{display:grid;place-items:center;width:64px;height:76px;border-radius:8px;background:var(--brand-50);color:var(--brand-900);font-weight:800;text-transform:uppercase;font-size:.9rem;border:1px solid var(--rule)}
.media-ext.ext-document{background:#eaf2fb}.media-ext.ext-archive{background:#fbf3e3;color:#8a5a00}.media-ext.ext-video,.media-ext.ext-audio{background:#f1ebfb;color:#5b3aa0}
.media-ext-sm{display:inline-grid;width:34px;height:34px;font-size:.6rem;margin-right:8px;vertical-align:middle}
.media-ext-lg{width:120px;height:140px;font-size:1.3rem}
.media-row-open{display:inline-flex;align-items:center;gap:8px;text-align:left;color:var(--ink)}
.media-row-open img{width:34px;height:34px;object-fit:cover;border-radius:6px;border:1px solid var(--rule)}
.media-side .panel{margin-bottom:14px}
.media-stats{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:10px}
.media-stats li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:.88rem}
.media-stats li span{color:var(--muted);font-size:.8rem}
.media-stats li i{grid-column:1/-1;height:5px;background:var(--brand);border-radius:3px;opacity:.75}
.media-dialog{border:0;border-radius:16px;padding:0;width:min(960px,96vw);max-height:92vh;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.media-dialog::backdrop{background:rgba(15,25,40,.55)}
.md-close{position:absolute;top:10px;right:10px;z-index:2}
.md-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:420px}
.md-preview{display:grid;place-items:center;background:repeating-conic-gradient(#eef0ec 0 25%,#fafbf9 0 50%) 0 0/20px 20px;padding:16px;max-height:92vh}
.md-preview img,.md-preview video{max-width:100%;max-height:80vh;object-fit:contain}
.md-info{padding:22px 22px 18px;overflow:auto;max-height:92vh}
.md-info h2{font-size:1.05rem;margin:0 30px 4px 0;word-break:break-all}
.md-url{display:flex;gap:6px}
.md-url input{flex:1;min-width:0;font-size:.82rem}
.md-usages h3{font-size:.92rem;margin:14px 0 6px}
.md-usages ul{padding-left:0;list-style:none;display:grid;gap:4px;font-size:.88rem}
.md-delete{margin-top:14px;border-top:1px solid var(--rule-2);padding-top:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.cache-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:16px}
.cache-card{display:flex;flex-direction:column;gap:4px;margin:0}
.cache-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.cache-card strong{font-size:1.3rem}
.cache-card small{color:var(--muted)}
.cache-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:10px 0 14px}
.cache-item{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--rule);border-radius:10px;padding:10px 12px;cursor:pointer}
.cache-item:hover{border-color:var(--brand)}
.cache-item span{display:flex;flex-direction:column;gap:2px}
.cache-item small{color:var(--muted)}
.wy-picker{border:0;border-radius:14px;padding:0;width:min(860px,96vw);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.wy-picker::backdrop{background:rgba(15,25,40,.5)}
.wyp-head{display:flex;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--rule)}
.wyp-head input[type=search]{flex:1}
.wyp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:14px;max-height:60vh;overflow:auto}
.wyp-grid button{border:1px solid var(--rule);border-radius:10px;padding:0;background:#fff;cursor:pointer;overflow:hidden;display:flex;flex-direction:column}
.wyp-grid button:hover,.wyp-grid button:focus-visible{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}
.wyp-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.wyp-grid span{font-size:.72rem;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.wyp-foot{padding:10px 14px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:8px;align-items:center}
@media (max-width:980px){.media-layout{grid-template-columns:1fr}.md-body{grid-template-columns:1fr}.md-preview{max-height:40vh}}
@media (max-width:560px){.media-grid{grid-template-columns:repeat(2,1fr)}.media-drop{flex-direction:column;text-align:center}}
.cache-cards>.panel{margin:0!important}
.mailtpl-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.mailtpl-list{display:grid;gap:8px}
.mailtpl-item{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;text-decoration:none;color:var(--ink)}
.mailtpl-item:hover{border-color:var(--brand)}
.mailtpl-item>span:nth-child(2){flex:1;display:flex;flex-direction:column;min-width:0}
.mailtpl-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mailtpl-edit{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:start}
.mailtpl-edit aside .panel{margin-bottom:14px}
.mailtpl-vars{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.88rem}
.mailtpl-vars code{cursor:pointer;background:var(--brand-50);padding:1px 6px;border-radius:5px}
.mailtpl-preview{width:100%;height:520px;border:1px solid var(--rule);border-radius:10px;background:#fff}
.seo-sections td input[type=number]{width:80px}
.seo-log td{font-size:.84rem}
@media (max-width:1100px){.mailtpl-layout,.mailtpl-edit{grid-template-columns:1fr}}
.seo-sections select{min-width:118px}

/* 1.18 – cột phải chi tiết tin: tìm kiếm + danh mục */
.news-aside{display:grid;gap:16px;align-content:start}
.news-aside>.panel,.news-aside .news-side .panel{margin:0}
.side-search{padding:12px}
.side-search-form{display:flex;gap:0}
.side-search-form input{border-radius:var(--r) 0 0 var(--r);border-right:0;min-width:0}
.side-search-form .btn{border-radius:0 var(--r) var(--r) 0;padding-inline:12px}
.side-cats h2{font-size:1.02rem;margin-bottom:6px}
.side-cats h2 .icon{width:19px;height:19px}
.cat-list{list-style:none;margin:0;padding:0}
.cat-list li+li{border-top:1px dashed var(--rule)}
.cat-list a{display:flex;align-items:center;gap:6px;padding:8px 2px;color:var(--ink);text-decoration:none}
.cat-list a .icon{width:14px;height:14px;color:var(--muted);flex:none}
.cat-list a span:first-of-type{flex:1}
.cat-list a:hover,.cat-list li.active a{color:var(--brand)}
.cat-list li.active a{font-weight:600}
.cat-n{font-size:.78rem;color:var(--muted);background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:0 8px;line-height:1.6}
/* video YouTube đầu bài */
.news-video{position:relative;aspect-ratio:16/9;margin:0 0 16px;border-radius:var(--r);overflow:hidden;background:#000}
.news-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* danh sách ô đánh dấu chọn nhiều */
.check-list{border:1px solid var(--rule);border-radius:var(--r);padding:8px 10px 10px;margin:0 0 14px;min-width:0}
.check-list legend{font-weight:600;padding:0 4px;font-size:.92rem}
.cl-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.cl-tools .cl-filter{flex:1;min-width:140px;padding:5px 8px}
.cl-box{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 10px;max-height:230px;overflow:auto;padding:2px}
.cl-item{display:flex;align-items:flex-start;gap:7px;padding:4px 6px;border-radius:6px;cursor:pointer;font-weight:400;margin:0;line-height:1.35}
.cl-item input{margin-top:2px;flex:none;width:auto}
.cl-item:hover{background:var(--paper)}
.cl-item.on{background:var(--brand-50)}
.cl-item[hidden]{display:none}
/* trợ lý AI viết bài */
.ai-writer{border:1px solid var(--brand-100);background:var(--brand-50);border-radius:var(--r);padding:10px 12px;margin-bottom:14px}
.ai-writer summary{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px;color:var(--brand-700)}
.ai-writer summary .icon{width:18px;height:18px}
.ai-w-body{margin-top:10px}
.ai-w-result{margin-top:12px;background:var(--sheet);border:1px solid var(--rule);border-radius:var(--r);padding:12px}
.ai-w-warn p{margin:0 0 4px;color:var(--amber);font-size:.86rem}
.ai-w-meta{display:grid;gap:3px;margin:6px 0 10px}
.ai-w-preview{max-height:420px;overflow:auto;border-top:1px dashed var(--rule);padding-top:8px}
.ai-w-src ul{margin:4px 0 0;padding-left:18px}
.yt-preview{display:flex;gap:10px;align-items:center;margin-top:6px}
.yt-preview img{width:120px;border-radius:6px}

/* 1.18.1 – sơ đồ bố cục thư */
.ml-mock{border:1px solid var(--rule);border-radius:12px;padding:10px;display:grid;gap:8px;margin-bottom:12px;background:#fcfcfd}
.ml-zone{border-radius:8px;padding:10px;text-align:center;display:grid;gap:3px;justify-items:center}
.ml-zone small{font-size:.78rem;color:var(--ink-2)}
.ml-head,.ml-foot{background:var(--brand-50)}
.ml-foot{border-top:1px solid var(--brand-100)}
.ml-body{border-bottom:1px solid var(--rule);justify-items:start;text-align:left}
.ml-chip{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--brand-100);color:var(--brand-700);border-radius:999px;padding:1px 9px}
.ml-chip-gray{background:var(--rule);color:var(--ink)}
.ml-foot .ml-chip{justify-self:start}
.ml-h{font-size:.95rem;margin:14px 0 6px;padding-top:10px;border-top:1px dashed var(--rule)}
/* cookie: nút đóng */
.cookie-x{position:absolute;top:6px;right:6px;width:30px;height:30px;border:0;background:transparent;border-radius:50%;font-size:20px;line-height:1;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.cookie-x:hover,.cookie-x:focus-visible{background:var(--paper);color:var(--ink)}
.cookie-bar.has-x{padding-right:44px}

/* 1.19 – dòng văn bản: nhãn Mới + cột thông tin bên phải (trạng thái, ngày ban hành, ngày hiệu lực) */
.doc-row.has-icon{grid-template-columns:auto minmax(0,1fr) max-content;align-items:start;position:relative}
.doc-row.is-new{padding-top:10px}
.new-badge{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:5px;background:#D92D20;color:#fff;font:700 .76rem/1 var(--ui);letter-spacing:.02em;margin-bottom:2px}
.doc-side{margin:0;display:grid;gap:7px;font-size:.84rem;align-self:start;min-width:210px}
.doc-side>div{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:22px}
.doc-side dt{color:var(--muted);font-weight:400;margin:0;white-space:nowrap}
.doc-side dd{margin:0;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.doc-side .status{white-space:nowrap}
@media (max-width:860px){
  .doc-row.has-icon{grid-template-columns:auto minmax(0,1fr)}
  .doc-row.has-icon .doc-side{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:4px 16px}
  .doc-side>div{justify-content:flex-start;gap:6px}
}
@media (max-width:600px){
  .doc-row.has-icon{grid-template-columns:minmax(0,1fr);gap:8px}
  .doc-row.has-icon > .doc-main{display:contents}
  .doc-row.has-icon > .new-badge{order:0}
  .doc-row.has-icon h3{order:1}
  .doc-row.has-icon > .doc-side{order:2;grid-column:1;justify-self:stretch}
  .doc-row.has-icon .doc-acts{order:3}
  .doc-side>div:first-child dt{display:none}
}
/* kiểm tra SEO nhanh */
.seo-check{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.seo-check li{display:flex;gap:10px;align-items:flex-start}
.seo-dot{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:700 .8rem/1 var(--ui);color:#fff;background:var(--jade)}
.seo-check li.todo .seo-dot{background:var(--amber)}

/* 1.20 – sửa vỡ khung trang văn bản trên điện thoại: cột lưới 1fr bị nội dung rộng (bảng, chuỗi dài, pre) kéo giãn */
@media (max-width:860px){.doc-layout{grid-template-columns:minmax(0,1fr)}}
.doc-layout>*,.doc-main-col,.sheet{min-width:0}
.sheet{overflow-wrap:anywhere}
.legal table,.source-html table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.legal pre,.source-html pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
.legal img,.source-html img,.legal iframe,.source-html iframe{max-width:100%;height:auto}
.source-html [style*="width"]{max-width:100%!important}
@media (max-width:640px){
  .official-head{font-size:.84rem}
  .doc-title{font-size:1.35rem;line-height:1.35;overflow-wrap:anywhere}
  .legal{font-size:1rem}
  .legal p{text-align:left}
  .doc-actions .btn{flex:1 1 auto;justify-content:center}
}
/* cùng lỗi 1fr ở các bố cục khác: dùng minmax(0,1fr) để nội dung rộng không kéo giãn trang */
@media (max-width:760px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}
@media (max-width:960px){.home-grid{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:900px){.search-layout,.admin,.prec-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){.chat-layout{grid-template-columns:minmax(0,1fr)}}
.home-grid>*,.search-layout>*,.chat-layout>*,.admin>*{min-width:0}
.source-html{overflow-wrap:anywhere}
/* mã giảm giá */
.coupon-box{margin-top:14px;padding-top:12px;border-top:1px dashed var(--rule)}
.coupon-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.coupon-row input{flex:1 1 180px;max-width:280px}
.coupon-ok{color:var(--jade);margin:8px 0 0;display:flex;gap:6px;align-items:flex-start}
.coupon-err{color:var(--seal);margin:8px 0 0;display:flex;gap:6px;align-items:flex-start}
.coupon-ok .icon,.coupon-err .icon{flex:none;width:16px;height:16px;margin-top:2px}
/* ngôn ngữ */
.lang-table td{vertical-align:top}
.lang-table textarea{min-height:38px;width:100%;resize:vertical;font-size:.9rem}
.lang-table tr.is-edited td:first-child{box-shadow:inset 3px 0 0 var(--jade)}
.lang-src{white-space:pre-wrap;word-break:break-word}
.lang-help ul{margin:8px 0 0;padding-left:18px}
.lang-tag{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;font:600 .68rem/1.6 var(--ui);background:var(--brand-50);color:var(--brand-700);vertical-align:middle}
.lang-tag-js{background:var(--amber-soft);color:var(--amber)}

/* 1.20.2 – nút Lưu / Lược đồ / Tải về gọn hơn, lĩnh vực cùng hàng */
.doc-acts{gap:6px;align-items:center;margin-top:8px}
.act-btn{height:28px;padding:0 9px;gap:5px;border-radius:7px;font:500 .78rem var(--ui)}
.act-btn .icon{width:13px;height:13px}
.doc-fields{gap:5px;margin-left:2px}
.doc-fields-label{font-size:.76rem;gap:4px}
.doc-fields-label .icon{width:12px;height:12px}
.field-tag{height:24px;padding:0 9px;font-size:.75rem}
@media (pointer:coarse){.act-btn{height:34px;padding:0 11px}}
@media (min-width:601px){.doc-acts{flex-wrap:nowrap}.doc-acts .act-btn{flex:none}.doc-fields{flex-wrap:wrap;min-width:0}.field-tag{white-space:nowrap}}
/* ô ngày giờ (datetime-local) đủ rộng như các ô khác */
input[type=datetime-local]{min-height:40px}

/* 1.21 – trang văn bản: ẩn mục lục mặc định (2 cột), nút Mục lục hiện lại 3 cột; Ghi chú, Báo lỗi */
.doc-layout.toc-collapsed{grid-template-columns:minmax(0,1fr) 290px}
.doc-layout.toc-collapsed .toc-col{display:none}
@media (max-width:1180px){
  .doc-layout:not(.toc-collapsed) .toc-col{display:block;grid-column:1/-1;position:static;max-height:none}
  .doc-layout:not(.toc-collapsed){grid-template-columns:minmax(0,1fr) 290px}
}
@media (max-width:860px){.doc-layout:not(.toc-collapsed){grid-template-columns:minmax(0,1fr)}}
.btn-toc[aria-expanded="true"]{background:var(--brand-50);border-color:var(--brand);color:var(--brand-900)}
.btn-note{color:var(--jade);border-color:color-mix(in srgb,var(--jade) 40%,var(--rule))}
.btn-note:hover{background:var(--jade-soft)}
.btn-report{color:var(--seal);border-color:color-mix(in srgb,var(--seal) 35%,var(--rule))}
.btn-report:hover{background:var(--seal-soft)}
.btn-note .icon,.btn-report .icon{color:currentColor}
.doc-pop{background:var(--sheet);border:1px solid var(--rule);border-left:3px solid var(--brand);border-radius:var(--r);padding:12px 14px;margin:-4px 0 12px;box-shadow:0 8px 24px rgba(16,32,52,.08)}
.doc-pop p{margin:0 0 10px;font-size:.92rem}
.doc-pop p .icon{width:15px;height:15px;color:var(--brand);vertical-align:-2px}
.doc-pop-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.report-dlg{border:0;border-radius:12px;padding:0;width:min(560px,94vw);box-shadow:0 24px 64px rgba(16,32,52,.3)}
.report-dlg::backdrop{background:rgba(15,30,50,.45)}
.report-dlg form{padding:18px 20px}
.report-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.report-head h2{font-size:1.1rem;margin:0}
.report-head h2 .icon{color:var(--seal)}
.report-head .btn-link{font-size:1.1rem;line-height:1;padding:4px 8px;color:var(--muted)}
.legal .note-flash{background:#E6F4EF;box-shadow:-10px 0 0 #E6F4EF,10px 0 0 #E6F4EF;transition:background 1.5s}
/* logo khu quản trị lấy từ logo chân trang */
.brand.brand-has-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.admin-logo{height:34px;width:auto;max-width:170px;object-fit:contain;display:block}
.admin-logo-label{font:600 .72rem/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:#C9D2DE;border-left:1px solid rgba(255,255,255,.25);padding-left:10px}
.admin-bar .admin-logo{height:28px}
/* 1.21.1 – cột phải chỉ còn Văn bản liên quan / Cùng lĩnh vực / Tin tức cùng lĩnh vực; nếu trống thì bỏ hẳn cột */
.meta-col:not(:has(> *)){display:none}
@media (min-width:1181px){.doc-layout:not(:has(.meta-col > *)){grid-template-columns:250px minmax(0,1fr)}
  .doc-layout.toc-collapsed:not(:has(.meta-col > *)){grid-template-columns:minmax(0,1fr)}}
@media (min-width:861px) and (max-width:1180px){.doc-layout:not(:has(.meta-col > *)){grid-template-columns:minmax(0,1fr)!important}}
.side-news .rel-list li .small{margin-top:2px}
/* 1.21.2 – điện thoại/máy tính bảng dọc: luôn 1 cột (quy tắc .toc-collapsed 2 lớp từng đè quy tắc di động → cột toàn văn chỉ còn ~36px) */
@media (max-width:860px){
  .doc-layout,.doc-layout.toc-collapsed,.doc-layout:not(.toc-collapsed){grid-template-columns:minmax(0,1fr)!important}
  .doc-layout .meta-col{position:static;max-height:none;overflow:visible}
}
/* Tiêu đề khung: liên kết "Xem tất cả"/"Tất cả tin"… căn giữa theo chiều dọc với tiêu đề */
.panel-title{align-items:center}
/* 1.22 – trang chủ: khung Án lệ, Trắc nghiệm */
.home-item{padding:11px 0;border-bottom:1px solid var(--rule-2)}
.home-item:last-child{border-bottom:0;padding-bottom:2px}
.home-item h3{margin:0 0 4px;font-size:1rem;line-height:1.45;font-weight:600}
.home-item h3 a{color:var(--ink)}.home-item h3 a:hover{color:var(--brand)}
.home-item .status{font-size:.74rem;padding:1px 8px}
.tag-premium{background:#FFF4D6;color:#8A5A00}
/* Chân trang: chấm tròn trước mục con (trừ cột Liên hệ có biểu tượng riêng) */
.foot-col:not(.foot-contact) a{display:flex;align-items:baseline;gap:10px}
.foot-col:not(.foot-contact) a::before{content:"";flex:0 0 5px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.75;transform:translateY(-2px)}
.foot-col:not(.foot-contact) a:hover::before{opacity:1}
/* 1.23 – chọn tệp từ thư viện (x-media-pick + hộp chọn) */
.mpick-box{display:flex;flex-direction:column;gap:8px;border:1px dashed var(--rule);border-radius:10px;padding:10px;background:var(--paper,#FAFBFC)}
.mpick-items{display:flex;flex-direction:column;gap:6px}
.mpick-items:empty{display:none}
.mpick-item{display:flex;align-items:center;gap:10px;background:var(--sheet);border:1px solid var(--rule-2);border-radius:8px;padding:6px 8px;min-width:0}
.mpick-item[hidden]{display:none}
.mpick-item img{width:54px;height:40px;object-fit:cover;border-radius:5px;flex:0 0 auto;background:var(--rule-2)}
.mpick-name{flex:1;min-width:0;font-size:.88rem;overflow-wrap:anywhere;line-height:1.35}
.mpick-name small{display:block;color:var(--muted);font-size:.74rem}
.mpick-x{border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.95rem;padding:4px 6px;border-radius:6px}
.mpick-x:hover{background:var(--rule-2);color:var(--seal,#B42318)}
.mpick-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mpick-acts .small{flex:1;min-width:200px}
.mp-dialog{width:min(980px,96vw);max-height:90vh;border:0;border-radius:14px;padding:0;box-shadow:0 20px 60px rgba(0,0,0,.25);display:none;flex-direction:column}
.mp-dialog[open]{display:flex}
.mp-dialog::backdrop{background:rgba(10,25,40,.45)}
.mp-dialog.over{outline:3px dashed var(--brand);outline-offset:-8px}
.mp-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 8px}
.mp-head h2{margin:0;font-size:1.1rem}
.mp-tabs{display:flex;gap:4px;padding:0 18px;border-bottom:1px solid var(--rule-2)}
.mp-tabs[hidden]{display:none}
.mp-tabs button{border:0;background:transparent;padding:8px 12px;font:600 .88rem var(--ui);color:var(--muted);border-bottom:2px solid transparent;cursor:pointer}
.mp-tabs button[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand)}
.mp-bar{display:flex;gap:8px;align-items:center;padding:12px 18px 0;flex-wrap:wrap}
.mp-bar input[type=search]{flex:1;min-width:180px}
.mp-bar a[hidden]{display:none}
.mp-up{cursor:pointer}
.mp-note{margin:6px 18px 0}
.mp-progress{height:4px;background:var(--rule-2);margin:8px 18px 0;border-radius:4px;overflow:hidden}
.mp-progress span{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}
.mp-msg{margin:8px 18px 0}
.mp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding:12px 18px;overflow:auto;flex:1;min-height:180px}
.mp-card{display:flex;flex-direction:column;align-items:stretch;gap:4px;border:2px solid var(--rule-2);border-radius:10px;background:var(--sheet);padding:6px;cursor:pointer;text-align:left;font:inherit;min-width:0}
.mp-card:hover{border-color:var(--brand)}
.mp-card.on{border-color:var(--brand);box-shadow:0 0 0 3px rgba(10,109,170,.18)}
.mp-card img,.mp-card .media-ext{width:100%;height:96px;object-fit:cover;border-radius:6px;display:flex;align-items:center;justify-content:center}
.mp-cname{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-cmeta{font-size:.72rem;color:var(--muted)}
.mp-empty{grid-column:1/-1;text-align:center;padding:30px 10px}
.mp-foot{display:flex;align-items:center;gap:10px;padding:10px 18px 14px;border-top:1px solid var(--rule-2)}
.mp-foot [data-mp-count]{flex:1}
.mp-foot [hidden]{display:none}
.media-lock{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.6);color:#fff;border-radius:6px;padding:2px 5px;line-height:1}
.media-lock .icon{width:13px;height:13px}
@media (max-width:600px){.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-dialog{max-height:94vh}}
/* 1.23 – tải tệp gốc */
.dl-card.is-disabled{opacity:.6;border-style:dashed;cursor:default}
.dl-card.is-disabled:hover{border-color:var(--rule)}
.ico-badge.ico-pdf{background:#FDECEC;color:#B42318}
.ico-badge.ico-word{background:#E8F0FD;color:#1D4ED8}
.file-flag{font-size:.72rem;padding:1px 7px;border-radius:999px;background:var(--rule-2);color:var(--ink-2);margin-left:4px}
.file-flag.on{background:#E3F4EA;color:#17663A}
/* ===== 1.24 – Thư viện tập tin (trình quản lý tệp) ===== */
.fm-dialog{width:min(1180px,97vw);height:min(820px,94vh);border:0;border-radius:10px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.3);display:none;flex-direction:column;overflow:hidden}
.fm-dialog[open]{display:flex}
.fm-dialog::backdrop{background:rgba(15,23,42,.55)}
.fm-dhead{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--rule-2)}
.fm-dhead h2{margin:0;font-size:1.02rem;font-weight:600}
.fm-host{flex:1;min-height:0;display:flex}
.fm{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;background:var(--sheet);outline:0}
[data-media-manager]{display:flex;height:min(760px,calc(100vh - 160px));min-height:480px;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--sheet)}
.fm .icon{width:16px;height:16px;flex:0 0 auto}
.fm-top,.fm-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;flex-wrap:wrap}
.fm-bar{padding-top:0;border-bottom:1px solid var(--rule-2)}
.fm-grow{flex:1}
.fm .btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.fm-ico{padding-left:9px;padding-right:9px}
.fm-caret{width:13px!important;height:13px!important;opacity:.8}
.fm-dd{position:relative}
.fm-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:250px;background:#fff;border:1px solid var(--rule);border-radius:8px;box-shadow:0 12px 32px rgba(15,23,42,.16);padding:5px;display:flex;flex-direction:column}
.fm-menu[hidden]{display:none}
.fm-menu-r{left:auto;right:0}
.fm-menu button{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:7px 10px;border-radius:6px;font:inherit;font-size:.88rem;color:var(--ink);cursor:pointer;text-align:left}
.fm-menu button:hover,.fm-menu button.on{background:var(--brand-50,#EEF6FB);color:var(--brand)}
.fm-menu button.danger{color:#B42318}.fm-menu button.danger:hover{background:#FDECEC}
.fm-menu .icon{width:15px;height:15px;opacity:.8}
.fm-ctx{position:absolute;top:0;left:0}
.fm-search{display:flex;border:1px solid var(--rule);border-radius:8px;overflow:hidden;min-width:min(320px,100%)}
.fm-search input{border:0!important;box-shadow:none!important;min-width:0;flex:1;padding:6px 10px;font-size:.88rem}
.fm-search .btn{border:0;border-left:1px solid var(--rule);border-radius:0}
.fm-crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:.86rem;min-width:0}
.fm-crumbs button,.fm-crumbs .fm-here{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:3px 4px;color:var(--brand);font:inherit;cursor:pointer;border-radius:5px}
.fm-crumbs .fm-here{color:var(--ink);cursor:default}
.fm-crumbs button:hover{background:var(--brand-50,#EEF6FB)}
.fm-sep{color:var(--muted)}
.fm-seg{display:inline-flex}
.fm-seg .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.fm-seg .btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}
.fm-body{display:flex;flex:1;min-height:0}
.fm-main{position:relative;flex:1;min-width:0;overflow:auto;padding:12px 14px;outline:0}
.fm-details{width:270px;flex:0 0 270px;border-left:1px solid var(--rule-2);overflow:auto;padding:14px}
.fm.no-details .fm-details{display:none}
.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.fm-it{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;border:1px solid var(--rule-2);border-radius:6px;background:#fff;padding:0;cursor:pointer;font:inherit;text-align:center;min-width:0;overflow:hidden;user-select:none}
.fm-it:hover{border-color:#B9CCDD}
.fm-thumb{display:flex;align-items:center;justify-content:center;height:92px;background:#F6F8FA;overflow:hidden}
.fm-thumb img{width:100%;height:100%;object-fit:cover}
.fm-ficon .icon{width:44px;height:44px;stroke-width:1.4;color:#3B4A5A}
.fm-ficon.is-lock .icon{color:#8A5A00}
.fm-name{display:block;padding:6px 6px 0;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.fm-meta{display:block;padding:0 6px 6px;font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-it.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.fm-it.on .fm-name,.fm-it.on .fm-meta{background:var(--brand);color:#fff}
.fm-it.on .fm-meta{color:rgba(255,255,255,.85)}
.fm-check{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;background:var(--brand);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff;z-index:1}
.fm-check .icon{width:12px;height:12px;stroke-width:3}
.fm-it.on .fm-check{display:flex}
.fm-star{position:absolute;top:6px;left:6px;width:15px!important;height:15px!important;color:#E7A600;fill:#F7C948;z-index:1}
.fm-it.is-off{opacity:.45}
.fm-back .icon{width:30px;height:30px;margin:28px auto 12px;color:var(--ink-2)}
.fm-back{justify-content:flex-start}
.fm-ext{display:flex;align-items:center;justify-content:center;width:56px;height:66px;border-radius:6px;background:#EAF2FB;color:var(--brand-900,#063F63);font-weight:800;text-transform:uppercase;font-size:.78rem;border:1px solid var(--rule)}
.fm-ext.ext-archive{background:#FBF3E3;color:#8A5A00}.fm-ext.ext-video,.fm-ext.ext-audio{background:#F1EBFB;color:#5B3AA0}
.fm-ext-lg{width:96px;height:112px;font-size:1.1rem}
.fm-table{width:100%;border-collapse:collapse;font-size:.86rem}
.fm-table th{text-align:left;font-weight:600;color:var(--muted);font-size:.76rem;padding:6px 8px;border-bottom:1px solid var(--rule-2)}
.fm-table td{padding:5px 8px;border-bottom:1px solid var(--rule-2);vertical-align:middle;white-space:nowrap}
.fm-table td:first-child{display:flex;align-items:center;gap:10px;white-space:normal;min-width:0}
.fm-table tr.fm-it{display:table-row;cursor:pointer}
.fm-table tr.fm-it:hover td{background:#F6F8FA}
.fm-table tr.fm-it.on td{background:var(--brand-50,#EEF6FB)}
.fm-table .fm-name{padding:0;font-size:.86rem;white-space:normal}
.fm-table tr.fm-it.on .fm-name{background:transparent;color:var(--ink);font-weight:600}
.fm-table .fm-star{position:static}
.fm-lthumb{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;border-radius:5px;overflow:hidden;background:#F6F8FA}
.fm-lthumb img{width:100%;height:100%;object-fit:cover}
.fm-lthumb .fm-ficon .icon{width:20px;height:20px}
.fm-lthumb .fm-ext{width:30px;height:30px;font-size:.55rem}
.fm-empty{text-align:center;color:var(--muted);padding:60px 10px}
.fm-empty .icon{width:48px;height:48px;stroke-width:1.3}
.fm-loading{display:flex;justify-content:center;padding:90px 0}
.fm-spin{width:34px;height:34px;border-radius:50%;border:3px solid #CFE2F0;border-top-color:var(--brand);animation:fmspin .8s linear infinite}
@keyframes fmspin{to{transform:rotate(360deg)}}
.fm-more{text-align:center;padding:12px 0}
.fm-more [hidden]{display:none}
.fm-drop{display:none;position:absolute;inset:8px;border:2px dashed var(--brand);border-radius:10px;background:rgba(238,246,251,.92);align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--brand);z-index:5}
.fm-drop .icon{width:36px;height:36px}
.fm-main.over .fm-drop{display:flex}
.fm-dph{display:flex;align-items:center;justify-content:center;min-height:150px;color:#26323F}
.fm-dph>.icon{width:84px;height:84px;stroke-width:1.2}
.fm-dimg{border-radius:8px;overflow:hidden;background:#F6F8FA;text-align:center}
.fm-dimg img{max-width:100%;max-height:220px;display:block;margin:0 auto}
.fm-dname{font-weight:600;font-size:.9rem;margin:10px 0 6px;overflow-wrap:anywhere}
.fm-dl{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:.8rem;margin:0}
.fm-dl dt{color:var(--muted)}.fm-dl dd{margin:0;overflow-wrap:anywhere}
.fm-dacts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.fm-status{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding:7px 14px;border-top:1px solid var(--rule-2);font-size:.76rem;color:var(--muted)}
.fm-status span{display:inline-flex;align-items:center;gap:5px}
.fm-status .icon{width:13px;height:13px}
.fm-quota{margin-left:auto}
.fm-lockinfo{color:#8A5A00}
.fm-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:10px 14px;border-top:1px solid var(--rule-2)}
.fm-hint{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm-progress{height:3px;background:var(--rule-2);overflow:hidden}
.fm-progress span{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}
.fm-progress.indet span{animation:fmind 1.2s ease-in-out infinite;width:40%!important}
@keyframes fmind{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.fm-toast{position:absolute;left:50%;bottom:62px;transform:translateX(-50%);background:#1F2937;color:#fff;padding:9px 16px;border-radius:8px;font-size:.85rem;z-index:40;max-width:min(640px,90%);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.fm-toast.bad{background:#9F1D1D}
.fm-modal{position:absolute;inset:0;background:rgba(15,23,42,.35);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
.fm-modal[hidden]{display:none}
.fm-mbox{background:#fff;border-radius:10px;width:min(460px,100%);max-height:90%;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.fm-mhead{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--rule-2)}
.fm-mbody{padding:14px;display:flex;flex-direction:column;gap:8px}
.fm-mbody p{margin:0}
.fm-mbody input[type=text],.fm-mbody input[type=url]{width:100%}
.fm-mfoot{display:flex;justify-content:flex-end;margin-top:6px}
.fm-label{font-size:.82rem;font-weight:600}
.fm-tree{max-height:320px;overflow:auto;border:1px solid var(--rule-2);border-radius:8px;padding:4px}
.fm-tree-it{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:6px;font-size:.86rem;cursor:pointer;margin:0}
.fm-tree-it:hover{background:#F6F8FA}
.fm-props{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:.85rem;margin:0}
.fm-props dt{color:var(--muted)}.fm-props dd{margin:0;overflow-wrap:anywhere}
.fm-props input{width:100%;font-size:.8rem}
.fm-props-img{max-width:100%;max-height:200px;border-radius:8px;display:block;margin:0 auto 6px}
.fm-h4{margin:8px 0 0;font-size:.85rem}
.fm-usages{margin:0;padding-left:16px;font-size:.84rem}
@media (max-width:900px){.fm-details{display:none}.fm-search{min-width:100%}.fm-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.fm-thumb{height:80px}}
@media (max-width:600px){.fm-dialog{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0}.fm-top,.fm-bar{padding:8px}.fm-bar .fm-crumbs{width:100%}}
/* Ô chọn ảnh/tệp trong biểu mẫu */
.mpk-box{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.mpk-items{display:flex;flex-wrap:wrap;gap:8px}
.mpk-items:empty{display:none}
.mpk-item{position:relative;display:flex;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:6px;background:#fff;padding:6px 30px 6px 6px;min-width:0;max-width:100%}
.mpk-item.is-img{padding:0;width:110px;height:110px;overflow:hidden}
.mpk-item.is-img img{width:100%;height:100%;object-fit:cover}
.mpk-image:not(.mpk-multi) .mpk-item.is-img{width:120px;height:120px}
.mpk-multi .mpk-item.is-img{width:96px;height:96px}
.mpk-item .fm-ext{width:40px;height:46px;font-size:.62rem}
.mpk-name{font-size:.85rem;overflow-wrap:anywhere;line-height:1.35}
.mpk-name small{display:block;color:var(--muted);font-size:.72rem}
.mpk-x{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#333;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25);padding:0}
.mpk-x .icon{width:13px;height:13px}
.mpk-x:hover{background:#FDECEC;color:#B42318}
.mpk-ph{width:120px;height:120px;border:1px solid var(--rule);border-radius:6px;background:#E9ECEF;color:#9AA4AE;display:flex;align-items:center;justify-content:center;cursor:pointer}
.mpk-ph .icon{width:40px;height:40px;stroke-width:1.4}
.mpk-ph[hidden]{display:none}
.mpk-links{font-size:.86rem}
.mpk-links a{text-decoration:underline}
/* thư viện ảnh bài viết + hộp xem ảnh */
.news-gallery{margin:26px 0 8px}
.news-gallery h2{font-size:1.1rem}
.ng-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ng-grid a{display:block;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#F1F4F7}
.ng-grid img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.ng-grid a:hover img{transform:scale(1.04)}
.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
.lb::backdrop{background:rgba(0,0,0,.88)}
.lb-in{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.lb img{max-width:92vw;max-height:84vh;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;width:46px;height:46px;border-radius:50%;font-size:1.4rem;cursor:pointer}
.lb button:hover{background:rgba(255,255,255,.28)}
.lb .lb-x{top:18px;right:18px}.lb .lb-p{left:18px;top:50%}.lb .lb-n{right:18px;top:50%}
.lb-cap{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#ddd;font-size:.9rem}
.mpk-dark .mpk-item.is-img{background:#0B3954}
.mpk-dark .mpk-item.is-img img,.mpk-image .mpk-item.is-img img[src*="branding/"]{object-fit:contain;padding:6px}
.media-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px;align-items:start}
.media-settings>.panel{margin:0}
/* ===== 1.24 – Đánh giá của khách hàng (anh-16) ===== */
.t-section{margin:34px 0 10px}
.t-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.t-head h2{margin:0;font-size:clamp(1.5rem,2.6vw,2.15rem);font-weight:600;letter-spacing:-.01em}
.t-carousel{position:relative}
.t-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*28px)/3);gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 8px;scrollbar-width:none;outline:0}
.t-track::-webkit-scrollbar{display:none}
.t-card{scroll-snap-align:start;margin:0;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;padding:30px 30px 34px;display:flex;flex-direction:column;gap:14px;min-width:0}
.t-stars{display:inline-flex;gap:4px}
.t-star{width:22px;height:22px;border-radius:3px;background:#DCDFE3;display:inline-flex;align-items:center;justify-content:center}
.t-star.on{background:#F5A623}
.t-star svg{width:15px;height:15px;fill:#fff}
.t-text{margin:0;font-size:.95rem;line-height:1.65;color:var(--ink);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.t-who{display:flex;align-items:center;gap:12px;margin-top:auto}
.t-who strong{display:block;font-size:1.12rem;font-weight:600;color:var(--ink)}
.t-who small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px}
.t-ava{width:60px;height:60px;border-radius:50%;object-fit:cover;flex:0 0 60px;background:#E7EEF4}
.t-ava-txt{display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;color:var(--brand);background:var(--brand-50,#EEF6FB)}
.t-dots{display:flex;justify-content:center;gap:10px;margin-top:22px}
.t-dots button{width:10px;height:10px;border-radius:50%;border:1.5px solid #333;background:transparent;padding:0;cursor:pointer;position:relative}
.t-dots button[aria-selected=true]{width:20px;height:20px;margin:-5px 0}
.t-dots button[aria-selected=true]::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#222}
.t-dots[hidden]{display:none}
@media (max-width:1000px){.t-track{grid-auto-columns:calc((100% - 20px)/2);gap:20px}}
@media (max-width:640px){.t-track{grid-auto-columns:88%;gap:14px}.t-card{padding:22px}}
.t-dialog{border:0;border-radius:12px;padding:0;width:min(600px,94vw);box-shadow:0 24px 60px rgba(0,0,0,.28)}
.t-dialog::backdrop{background:rgba(15,23,42,.5)}
.t-dialog form{padding:18px 20px 20px}
.t-dhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.t-dhead h2{margin:0;font-size:1.15rem}
.t-rate-input{display:inline-flex;flex-direction:row-reverse;gap:4px}
.t-rate-input input{position:absolute;opacity:0;width:1px;height:1px}
.t-rate-input label{font-size:1.9rem;line-height:1;color:#D0D5DB;cursor:pointer;margin:0;padding:0 2px}
.t-rate-input input:checked~label,.t-rate-input label:hover,.t-rate-input label:hover~label{color:#F5A623}
.t-rate-input input:focus-visible+label{outline:2px solid var(--brand);border-radius:4px}
.t-admin-list{display:flex;flex-direction:column;gap:12px}
.t-admin-item{margin:0}
.t-admin-head{display:flex;gap:12px;align-items:flex-start}
.t-admin-head .t-ava{width:46px;height:46px;flex-basis:46px}
.t-admin-content{white-space:pre-wrap;margin:10px 0}
.t-admin-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.t-note{width:220px;font-size:.85rem}
/* ===== 1.25 – chi tiết tin tức ===== */
.read-time{display:inline-flex;align-items:center;gap:4px;margin-left:8px;white-space:nowrap}
.read-time .icon{width:14px;height:14px}
.news-show-meta{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.gfollow{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.82rem}
.gfollow-l{color:var(--ink);font-weight:600}
.gfollow-l strong{font-family:var(--read);font-weight:600;font-size:.95rem}
.gfollow-btn{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:6px;background:#F1F3F4;color:#3C4043;font-weight:700;font-size:.72rem;letter-spacing:.03em;text-transform:uppercase;text-decoration:none}
.gfollow-btn:hover{background:#E4E7EA;text-decoration:none;color:#202124}
.g-g{font:700 .95rem/1 Arial,sans-serif;background:conic-gradient(#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0);-webkit-background-clip:text;background-clip:text;color:transparent}
.g-spark{font-size:.95rem;line-height:1;background:linear-gradient(135deg,#4285F4,#EA4335,#FBBC05,#34A853);-webkit-background-clip:text;background-clip:text;color:transparent}
.news-tags-l{display:inline-flex;align-items:center;gap:4px;font-weight:600;margin-right:4px}
.news-tags-l .icon{width:15px;height:15px;color:var(--brand)}
.article-toc{margin:4px 0 20px;border:1px solid var(--rule);border-left:4px solid var(--brand);border-radius:8px;background:var(--brand-50,#EEF6FB);padding:10px 16px}
.article-toc summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:7px;list-style:none}
.article-toc summary::-webkit-details-marker{display:none}
.article-toc ol{margin:8px 0 2px;padding-left:20px;font-size:.93rem;line-height:1.6}
.article-toc .toc-l2{margin-left:16px;list-style:circle}
.article-toc .toc-l3{margin-left:32px;list-style:square;font-size:.88rem}
.source-html h1[id],.source-html h2[id],.source-html h3[id]{scroll-margin-top:90px}
.ngal{margin:22px 0;padding:0}
.ngal-stage{position:relative;border-radius:6px;overflow:hidden;background:#111;aspect-ratio:16/10}
.ngal-slide{position:absolute;inset:0;display:block}
.ngal-slide[hidden]{display:none}
.ngal-slide img{width:100%;height:100%;object-fit:cover}
.ngal-thumbs{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:6px;max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none;padding:2px}
.ngal-thumbs::-webkit-scrollbar{display:none}
.ngal-thumbs button{flex:0 0 auto;width:110px;height:64px;padding:0;border:2px solid transparent;border-radius:3px;overflow:hidden;cursor:pointer;opacity:.75;background:#000}
.ngal-thumbs button[aria-selected=true]{border-color:#fff;opacity:1}
.ngal-thumbs img{width:100%;height:100%;object-fit:cover}
.ngal-cap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;font-size:.92rem;color:var(--ink-2)}
.ngal-nav{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.ngal-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--rule);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.ngal-btn:hover{border-color:var(--brand);color:var(--brand)}
.icon.flip{transform:scaleX(-1)}
@media (max-width:600px){.ngal-thumbs button{width:72px;height:44px}}
.seo-count{font-size:.78rem;margin-top:4px;color:var(--muted)}
.seo-count .seo-n{font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.seo-count.over,.seo-count.over .seo-n{color:#C62828}
/* ===== 1.25 – trang chủ ===== */
.home-news2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
.hn-col{min-width:0}
.hn-col+.hn-col{border-left:1px solid var(--rule-2);padding-left:26px}
.hn-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--rule-2)}
.hn-item:last-child{border-bottom:0}
.hn-thumb{display:block;aspect-ratio:4/3;border-radius:7px;overflow:hidden;background:#EEF2F5}
.hn-thumb img,.hn-thumb .ph{width:100%;height:100%;object-fit:cover;display:block}
.hn-body h3{margin:0 0 3px;font:600 .96rem/1.4 var(--ui)}
.hn-body h3 a{color:var(--ink)}.hn-body h3 a:hover{color:var(--brand)}
.hn-body .news-meta{margin-top:4px}
@media (max-width:900px){.home-news2{grid-template-columns:minmax(0,1fr)}.hn-col+.hn-col{border-left:0;padding-left:0;border-top:1px solid var(--rule-2);margin-top:8px;padding-top:6px}}
.htabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;margin:-2px 0 8px;padding-bottom:2px;border-bottom:1px solid var(--rule-2)}
.htabs::-webkit-scrollbar{height:4px}.htabs::-webkit-scrollbar-thumb{background:var(--rule);border-radius:4px}
.htabs button{flex:0 0 auto;border:0;background:transparent;padding:6px 10px;font:500 .82rem var(--ui);color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}
.htabs button:hover{color:var(--ink)}
.htabs button[aria-selected=true]{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}
.num-list{counter-reset:none}
.num-list .ico-badge.num-n{font:800 1.05rem/1 var(--ui);display:inline-flex;align-items:center;justify-content:center;background:var(--brand-50,#eaf3fa);color:var(--brand-100,#7fb2d6)}
.num-list .doc-row:nth-child(-n+3) .ico-badge.num-n{background:var(--brand);color:#fff}
.home-rank .small .icon{width:13px;height:13px;vertical-align:-2px}
.market-widgets{margin-top:16px;display:flex;flex-direction:column;gap:16px}
.market-widgets .panel{margin:0}
.mw-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mw-head h2{margin:0}
.mw-head select{font-size:.82rem;padding:3px 6px;max-width:150px}
.mw-w{display:flex;align-items:center;gap:12px;margin:10px 0 6px}
.mw-icon{font-size:2.2rem;line-height:1}
.mw-temp{font:700 2rem/1 var(--ui);color:var(--ink)}
.mw-desc{display:flex;flex-direction:column;font-size:.9rem}
.mw-table{width:100%;border-collapse:collapse;font-size:.86rem;margin-top:8px}
.mw-table th{text-align:left;font-weight:600;color:var(--muted);font-size:.76rem;padding:4px 6px;border-bottom:1px solid var(--rule-2)}
.mw-table td{padding:5px 6px;border-bottom:1px solid var(--rule-2);font-variant-numeric:tabular-nums}
.mw-table td:not(:first-child),.mw-table th:not(:first-child){text-align:right}
.mw-sell{font-weight:700;color:var(--ink)}
.mw-src{margin-top:4px}
/* 1.25 – án lệ: hai cột danh sách, thống kê, khung thông tin, nhãn từ khóa */
.prec-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.prec-statlist{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px}
.prec-statlist li{position:relative;border-radius:8px;overflow:hidden}
.prec-statlist li>a,.prec-statlist li>span{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;position:relative;z-index:1;text-decoration:none;color:inherit}
.prec-statlist li:not(:has(a)){display:flex;justify-content:space-between;padding:7px 10px}
.prec-statlist li>a:hover{background:var(--brand-soft,rgba(0,0,0,.04))}
.prec-statlist li.on>a{background:var(--brand-soft,rgba(0,0,0,.06));font-weight:600}
.prec-statlist li i{position:absolute;left:0;bottom:0;height:3px;background:var(--brand);opacity:.55;border-radius:2px}
.prec-statlist strong{font-variant-numeric:tabular-nums}
.prec-info-list{margin:0;display:grid;gap:8px}
.prec-info-list>div{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px dashed var(--line,#e5e7eb);padding-bottom:7px}
.prec-info-list>div:last-child{border-bottom:0}
.prec-info-list dt{color:var(--muted,#6b7280);font-size:.9em}
.prec-info-list dd{margin:0;text-align:right;font-weight:600}
.prec-info-list dd a{text-decoration:none}
.prec-kw-label{display:inline-flex;align-items:center;gap:5px;font-weight:600;margin-right:4px}
.prec-stats{display:inline-flex;gap:12px;align-items:center;margin-left:auto}
.prec-stats>span{display:inline-flex;gap:4px;align-items:center}
@media (max-width:900px){.prec-layout{grid-template-columns:minmax(0,1fr)}.prec-stats{margin-left:0;width:100%}}
.al-extract{border:1px dashed var(--brand);border-radius:12px;padding:12px 14px;margin-bottom:16px;background:var(--brand-soft,rgba(0,0,0,.02))}
.al-extract-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.al-extract-head>.icon{color:var(--brand);flex:none;margin-top:2px}
.al-extract-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.al-extract-row input[type=file]{flex:1;min-width:200px}
.al-extract-out{margin-top:10px;padding:8px 10px;border-radius:8px;background:var(--surface,#fff);border-left:3px solid var(--line,#ccc)}
.al-extract-out.ok{border-color:#16a34a}.al-extract-out.warn{border-color:#d97706}.al-extract-out.err{border-color:#dc2626;color:#b91c1c}
.al-extract-out ul{margin:6px 0;padding-left:18px}
.al-filled{outline:2px solid #16a34a;outline-offset:1px;transition:outline-color .6s}
/* 1.25 – nội dung soạn bằng CKEditor 5 */
.source-html mark,.source-html .marker-yellow{background:#fff3a3;color:inherit;padding:0 2px;border-radius:2px}
.source-html .marker-green{background:#c8f7c5}.source-html .marker-pink{background:#fbd3e9}.source-html .marker-blue{background:#cfe8ff}
.source-html .pen-red{color:#c62828;background:none}.source-html .pen-green{color:#2e7d32;background:none}
.source-html figure.image{margin:1em auto;text-align:center;max-width:100%}.source-html figure.image img{max-width:100%;height:auto}
.source-html figure.image-style-side,.source-html .image-style-side{float:right;max-width:50%;margin:0 0 1em 1.25em}
.source-html .image_resized img{width:100%}
.source-html figure.table{margin:1em 0;overflow-x:auto}
.source-html .text-tiny{font-size:.7em}.source-html .text-small{font-size:.85em}.source-html .text-big{font-size:1.4em}.source-html .text-huge{font-size:1.8em}
@media (max-width:640px){.source-html .image-style-side{float:none;max-width:100%;margin:1em 0}}
.ck-wrap .ck-editor__editable{min-height:360px}.ck-wrap{margin-bottom:4px}
html[data-theme=dark] .source-html mark,html[data-theme=dark] .source-html .marker-yellow{background:#6b5d00;color:#fff}
/* 1.26 – công cụ điều khoản ở trang toàn văn */
.legal .s-article .anchor-tools{display:none}
.art-tools-btn{position:absolute;right:-40px;top:-2px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:var(--brand);cursor:pointer;opacity:0;transition:opacity .15s,background .15s}
.art-tools-btn .icon{width:20px;height:20px}
.legal .s-article:hover>.art-tools-btn,.art-tools-btn:focus-visible,.art-tools-btn[aria-expanded=true]{opacity:1}
.art-tools-btn:hover,.art-tools-btn[aria-expanded=true]{background:var(--brand-50)}
@media (hover:none){.art-tools-btn{opacity:.75}}
@media (max-width:640px){.art-tools-btn{right:-10px;top:-4px}}
.art-menu{position:absolute;z-index:60;min-width:230px;background:var(--sheet,#fff);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 32px rgba(10,40,70,.16);padding:6px}
.art-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:inherit;font:500 .9rem var(--ui);text-align:left;cursor:pointer}
.art-menu button:hover,.art-menu button:focus-visible{background:var(--brand-50);color:var(--brand-700);outline:0}
.art-menu button .icon{width:16px;height:16px;color:var(--brand);flex:none}
.art-menu-crown{margin-left:auto;color:#C98A0B}.art-menu-crown .icon{color:#C98A0B!important}
.art-flags{display:flex;flex-wrap:wrap;gap:8px;margin:.4em 0 0}
.art-flag{position:relative;display:inline-flex;align-items:center;gap:5px;font:600 .76rem/1 var(--ui);border-radius:999px;padding:5px 10px;cursor:default}
.art-flag .icon{width:13px;height:13px}
.art-flag-note{background:var(--brand);color:#fff} /* 1.29: dùng màu chủ đạo của website (trước là tím #6D3FE0) */
.art-flag-follow{background:var(--sheet,#fff);color:var(--brand);border:1px solid var(--brand)}
.art-pop{display:none;position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;width:min(360px,80vw);background:var(--sheet,#fff);color:var(--ink,#1b2733);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 30px rgba(10,40,70,.18);padding:10px 12px;font:400 .85rem/1.5 var(--ui);cursor:auto}
.art-pop::after{content:"";position:absolute;left:18px;top:100%;border:7px solid transparent;border-top-color:var(--sheet,#fff)}
.art-flag:hover .art-pop,.art-flag:focus-within .art-pop{display:grid;gap:8px}
.art-pop-title{font-size:.85rem}
.art-pop-item{display:grid;gap:4px;border-bottom:1px dashed var(--rule-2);padding-bottom:8px}
.art-pop-item:last-of-type{border-bottom:0;padding-bottom:0}
.art-pop-meta{font-size:.75rem;color:var(--muted)}
.art-pop-body{white-space:pre-wrap;overflow-wrap:anywhere}
.art-pop .btn{justify-self:start}
.art-flash{animation:artflash 2.2s ease}
@keyframes artflash{0%,40%{background:var(--brand-50)}100%{background:transparent}}
.btn-following{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-following:hover{background:var(--brand-700);color:#fff}
.tab-crown{width:13px!important;height:13px!important;color:#C98A0B}
.resume-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:10px;padding:8px 12px;margin:0 0 12px;font-size:.92rem}
.resume-bar>.icon{color:var(--brand)}
.doc-find{position:sticky;top:calc(var(--head-h,64px) + 8px);z-index:25;display:flex;align-items:center;gap:6px;background:var(--sheet,#fff);border:1px solid var(--brand-100);box-shadow:0 8px 22px rgba(10,40,70,.12);border-radius:12px;padding:6px 8px;margin:0 0 12px;max-width:560px}
.doc-find>.icon{color:var(--muted);margin-left:4px}
.doc-find input{flex:1;min-width:0;border:0;background:transparent;padding:6px 4px;font-size:1rem;outline:0;box-shadow:none}
.doc-find-count{font:600 .82rem var(--ui);color:var(--muted);font-variant-numeric:tabular-nums;min-width:44px;text-align:right}
.btn-icon{width:32px;height:32px;padding:0;justify-content:center}
mark.find-hit{background:#FFE866;color:inherit;border-radius:2px;padding:0 1px}
mark.find-hit.cur{background:#FFB000;box-shadow:0 0 0 2px #FFB000}
a.lref{color:var(--brand);text-decoration:none;border-bottom:1px dotted var(--brand)}
a.lref:hover{border-bottom-style:solid}
a.lref-in{border-bottom-color:var(--brand-100)}
.amd-locked{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0 0;color:var(--muted)}
.amd-locked .icon{color:#C98A0B}
.premium-lock{display:flex;gap:18px;align-items:flex-start;padding:26px}
.premium-lock-ic{flex:none;width:56px;height:56px;border-radius:16px;background:#FFF4D6;color:#C98A0B;display:inline-flex;align-items:center;justify-content:center}
.premium-lock-ic .icon{width:28px;height:28px}
.premium-list{list-style:none;padding:0;margin:12px 0 16px;display:grid;gap:8px}
.premium-list li{display:flex;gap:8px;align-items:center}.premium-list .icon{color:var(--brand)}
.premium-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media (max-width:600px){.premium-lock{flex-direction:column;padding:18px}}
.latest-docs{margin-top:16px}
.latest-docs .panel-title h2{text-transform:uppercase;letter-spacing:.02em;font-size:1rem}
/* văn bản ban hành kèm theo (quy chế, quy tắc…) */
.legal .s-attachment{margin:2.6em 0 0;padding-top:1.6em;border-top:2px solid var(--rule)}
.legal .s-attachment>h2{text-align:center;font:700 1.15rem/1.4 var(--read);margin:.6em 0 .2em}
.att-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 18px;color:var(--muted);text-transform:none}
.att-head span{display:block}
.att-sub{text-align:center;font-style:italic;margin:.2em 0 1.2em}
.att-lead{text-align:center;font-weight:700}
.toc .t-attachment>a{font-weight:700;color:var(--brand-700)}
.toc .t-attachment{margin-top:10px;padding-top:8px;border-top:1px dashed var(--rule)}
html[data-theme=dark] mark.find-hit{background:#8a7400;color:#fff}
/* 1.26 – trang danh sách văn bản: lọc ngang + cột lọc nhanh */
.doc-filter{display:grid;grid-template-columns:minmax(240px,2.2fr) minmax(140px,1fr) minmax(160px,1.2fr) minmax(150px,1fr) auto auto;gap:10px;align-items:end;margin-bottom:16px}
.doc-filter .field{margin:0}
.df-more{position:relative;align-self:end}
.df-more>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 12px;border:1px solid var(--rule);border-radius:10px;background:var(--sheet,#fff);font:500 .9rem var(--ui);white-space:nowrap}
.df-more>summary::-webkit-details-marker{display:none}
.df-more[open]>summary{border-color:var(--brand);color:var(--brand)}
.df-more-body{position:absolute;right:0;top:calc(100% + 6px);z-index:20;width:min(420px,90vw);background:var(--sheet,#fff);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 28px rgba(10,40,70,.14);padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.df-more-body .field:last-child{grid-column:1/-1}
.df-actions{display:flex;gap:6px;align-items:end}
@media (max-width:1100px){.doc-filter{grid-template-columns:1fr 1fr 1fr}.df-q{grid-column:1/-1}}
@media (max-width:640px){.doc-filter{grid-template-columns:1fr 1fr}.df-more-body{position:static;width:auto;box-shadow:none;margin-top:8px;grid-column:1/-1}.df-more{grid-column:1/-1}.df-actions{grid-column:1/-1}.df-actions .btn{flex:1;justify-content:center}}
.doc-facets{display:grid;gap:12px;align-content:start}
.doc-facets .facet{padding:12px 14px;margin:0}
.doc-facets .facet>summary{list-style:none;cursor:pointer}
.doc-facets .facet>summary::-webkit-details-marker{display:none}
.doc-facets .facet>summary h2{font-size:.95rem;margin:0 0 6px}
.facet-list{list-style:none;margin:0;padding:0;display:grid;gap:1px}
.facet-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:8px}
.facet-list li a{flex:1;min-width:0;padding:6px 8px;color:inherit;text-decoration:none;font-size:.9rem;border-radius:8px}
.facet-list li:hover{background:var(--brand-50)}
.facet-list li.on{background:var(--brand-50)}
.facet-list li.on a{color:var(--brand-700);font-weight:700}
.facet-list li.on a::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand);margin:0 7px 2px 0}
.facet-list li.empty a{color:var(--muted)}
.facet-list .n{font:600 .75rem var(--ui);color:var(--muted);padding-right:8px;font-variant-numeric:tabular-nums}
.facet-scroll{max-height:290px;overflow:auto;scrollbar-width:thin}
.list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.per-page{display:flex;align-items:center;gap:6px}
.per-page select{width:auto;min-width:70px;padding:5px 28px 5px 10px;height:34px}
mark.hl{background:#FFF1A6;color:inherit;border-radius:2px;padding:0 1px}
html[data-theme=dark] mark.hl{background:#6b5d00;color:#fff}
/* 1.26 – biểu ngữ trang chủ cấu hình được */
.hero{background:var(--hero-bg,var(--brand))}
.hero-has-bg{background:linear-gradient(90deg,color-mix(in srgb,var(--hero-bg,var(--brand)) 92%,transparent) 0%,color-mix(in srgb,var(--hero-bg,var(--brand)) 70%,transparent) 100%),var(--hero-img) center/cover no-repeat,var(--hero-bg,var(--brand))}
.hero-justice{right:90px;top:26px;color:rgba(255,255,255,.26)}
.hero-justice .icon{width:175px;height:212px;stroke-width:2.2}
.hero-img{right:70px;top:30px;opacity:.9}
.hero-img img{max-height:190px;max-width:220px;object-fit:contain}
.hero-cta{margin-left:6px;display:inline-flex;align-items:center;gap:3px;font-weight:600}
.seo-sec{border:1px solid var(--rule);border-radius:10px;padding:10px 14px;margin:0 0 12px}.seo-sec legend{font-weight:700;padding:0 6px}
/* 1.26 – công cụ cấu trúc (quản trị) */
.struct-tool{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:18px;align-items:start}
.st-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.st-bar label.btn{cursor:pointer}
.st-words{margin-left:auto}
.st-edit textarea{min-height:62vh;font:400 .95rem/1.6 var(--read);white-space:pre-wrap}
.st-help{margin-top:8px}.st-help ul{margin:6px 0;padding-left:18px}
.st-side{display:grid;gap:12px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.st-side .panel{margin:0;padding:12px 14px}.st-side h2{font-size:.98rem}
.st-scope{margin-bottom:8px}.st-scope-h{font-weight:700;font-size:.88rem;margin-bottom:4px}
.st-chip{display:inline-flex;gap:4px;align-items:baseline;background:var(--brand-50);border-radius:999px;padding:3px 10px;margin:0 6px 6px 0;font-size:.82rem}
.st-warn{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.86rem}
.st-warn li{padding:6px 8px;border-radius:8px;border-left:3px solid var(--rule)}
.st-warn .st-error{background:#FDECEC;border-color:#DC2626}.st-warn .st-warn{background:#FFF6E5;border-color:#D97706}
.st-warn .st-info{background:var(--brand-50);border-color:var(--brand)}.st-warn .st-ok{background:#E9F8EE;border-color:#16A34A}
.st-toc{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto;font-size:.84rem}
.st-toc li{padding:3px 0 3px calc(var(--d,0) * 12px);border-bottom:1px dashed var(--rule-2)}
.st-toc .t-chapter,.st-toc .t-part{font-weight:700}.st-toc .t-attachment{font-weight:700;color:var(--brand-700);margin-top:6px}
.st-refs{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.86rem;max-height:260px;overflow:auto}
@media (max-width:1000px){.struct-tool{grid-template-columns:1fr}.st-side{position:static;max-height:none}}
/* 1.27 – thiết bị đăng nhập */
.device-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.device-list li{display:flex;gap:10px;align-items:center;border:1px solid var(--rule);border-radius:10px;padding:8px 12px}
.device-list li>.icon{color:var(--brand);flex:none}.device-list li>div{flex:1;min-width:0}
.device-list li.is-off{opacity:.6}
/* 1.27 – trắc nghiệm 2 cột: bảng câu hỏi bên phải */
.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px;align-items:start}
.quiz-layout .quiz-form{max-width:none}
.quiz-side{position:sticky;top:calc(var(--head-h,64px) + 10px);display:grid;gap:12px;max-height:calc(100vh - var(--head-h,64px) - 20px);overflow:auto;scrollbar-width:thin}
.quiz-side .panel{margin:0;padding:12px 14px}.quiz-side h2{font-size:.98rem;margin:0 0 8px}
.quiz-nav-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;margin:6px 0 10px}
.qn{height:34px;border-radius:8px;border:1px solid var(--rule);background:#EEF1F4;color:var(--ink,#22303c);font:600 .82rem var(--ui);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.qn:hover{border-color:var(--brand)}
.qn.is-done{background:var(--brand);border-color:var(--brand);color:#fff}
.qn.is-right{background:var(--jade,#16a34a);border-color:var(--jade,#16a34a);color:#fff}
.qn.is-wrong{background:var(--seal,#c62828);border-color:var(--seal,#c62828);color:#fff}
.qn-locked{background:var(--paper);color:var(--muted)}.qn-locked .icon{width:13px;height:13px}
.quiz-nav-legend{list-style:none;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 12px}
.quiz-nav-legend li{display:flex;align-items:center;gap:5px}.qn-demo{width:14px;height:14px;border-radius:4px;display:inline-block;cursor:default}
.quiz-nav-timer{display:flex;align-items:center;gap:6px;font:700 1.1rem var(--ui);font-variant-numeric:tabular-nums;color:var(--brand-700);margin-bottom:6px}
.quiz-nav-timer.is-over{color:var(--seal,#c62828)}
.quiz-side-filter .field{margin-bottom:8px}
@media (max-width:980px){.quiz-layout{grid-template-columns:minmax(0,1fr)}.quiz-side{position:static;max-height:none;order:-1}.quiz-side>section:not(.quiz-nav),.quiz-side-filter{display:none}}
.exam-create{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:900px){.exam-create{grid-template-columns:1fr}}
.exam-fields{border:0;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px}.exam-fields legend{font-weight:600;margin-bottom:6px}
.chip-check{position:relative;margin:0;cursor:pointer}.chip-check input{position:absolute;opacity:0}
.chip-check span{display:inline-block;border:1px solid var(--rule);border-radius:999px;padding:6px 12px;font-size:.88rem;background:var(--sheet,#fff)}
.chip-check input:checked+span{background:var(--brand);border-color:var(--brand);color:#fff}
.chip-check input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
/* 1.27 – Lịch & Ghi chú cá nhân */
.notebook{display:grid;grid-template-columns:240px minmax(0,1fr) 300px;gap:18px;align-items:start;margin-top:14px}
.notebook .panel{margin:0 0 12px}.notebook h2{font-size:1rem}
.nb-folders .facet-list li a{display:flex;gap:6px;align-items:center}.nb-folders .facet-list .icon{width:15px;height:15px;color:var(--brand)}
.nb-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.nb-newfolder{display:flex;gap:6px;margin-top:10px}.nb-newfolder input[name=name]{flex:1;min-width:0}.nb-newfolder input[type=color]{width:38px;padding:2px;height:36px}
.nb-search{display:flex;gap:8px;align-items:center;background:var(--sheet,#fff);border:1px solid var(--rule);border-radius:12px;padding:6px 10px;margin-bottom:12px}
.nb-search input{border:0;flex:1;box-shadow:none;background:transparent}.nb-search>.icon{color:var(--muted)}
.nb-form>summary{cursor:pointer;font-weight:700;list-style:none}.nb-form>summary::-webkit-details-marker{display:none}.nb-form[open]>summary{margin-bottom:10px}
.nb-list{display:grid;gap:10px}
.nb-note{padding:12px 14px}.nb-note.is-pinned{border-color:#E9B949;box-shadow:inset 3px 0 0 #E9B949}
.nb-note header{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.nb-folder{background:var(--brand-50);color:var(--brand-700);border-radius:999px;padding:2px 10px;font-weight:600}
.nb-remind{color:var(--brand-700);font-weight:600}
.nb-star{margin-left:auto}.nb-star button{color:#B8C2CC}.nb-star button[aria-pressed=true]{color:#E9A100}.nb-star button[aria-pressed=true] .icon{fill:currentColor}
.nb-note h3{margin:8px 0 4px;font-size:1rem}
.nb-body{white-space:pre-wrap;overflow-wrap:anywhere}
.nb-note footer{display:flex;gap:10px;align-items:center;margin-top:8px}
.nb-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.nb-cal-head a{font-size:1.3rem;text-decoration:none;padding:0 8px}
.nb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.nb-cal-w{font:600 .72rem var(--ui);color:var(--muted);padding:2px 0}
.nb-day{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;font-size:.85rem;text-decoration:none;color:inherit}
.nb-day:hover{background:var(--brand-50)}.nb-day.out{color:#B8C2CC}
.nb-day.today{box-shadow:inset 0 0 0 1.5px var(--brand);font-weight:700}
.nb-day.sel{background:var(--brand);color:#fff}
.nb-day.has::after{content:"";position:absolute;bottom:4px;width:5px;height:5px;border-radius:50%;background:#E9A100}
.nb-day i{display:none}
.nb-up{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.nb-pin{border-bottom:1px dashed var(--rule-2);padding:8px 0}.nb-pin:last-child{border-bottom:0}
.nb-progress{height:6px;border-radius:999px;background:#E6ECF1;overflow:hidden;margin:6px 0}.nb-progress span{display:block;height:100%;background:var(--brand)}
.nb-pin-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
@media (max-width:1150px){.notebook{grid-template-columns:220px minmax(0,1fr)}.nb-side{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}}
@media (max-width:760px){.notebook{grid-template-columns:minmax(0,1fr)}.nb-side{grid-template-columns:1fr}}
/* 1.27 – đọc to */
.btn-speak.is-speaking{background:var(--brand);color:#fff;border-color:var(--brand)}
.speak-cur{background:linear-gradient(90deg,var(--brand-50),transparent);box-shadow:-3px 0 0 var(--brand);border-radius:4px;transition:background .3s}
.speak-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:80;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;background:#0B2E46;color:#fff;border-radius:22px;padding:8px 14px;box-shadow:0 12px 30px rgba(5,25,40,.35);max-width:calc(100vw - 24px)}
.speak-bar[hidden]{display:none}
.speak-bar button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem}
.speak-bar button:hover{background:rgba(255,255,255,.24)}
.speak-bar select{width:auto;height:32px;padding:2px 24px 2px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:0}
.speak-bar select option{color:#111}
.speak-ic{display:inline-flex;animation:speakpulse 1.4s ease-in-out infinite}
@keyframes speakpulse{50%{opacity:.5}}
.speak-title{font-weight:600;font-size:.9rem}
.speak-warn{flex-basis:100%;text-align:center;opacity:.85}
@media print{.speak-bar{display:none!important}}
/* 1.27 – thông báo nổi */
.site-popup{border:0;border-radius:16px;padding:0;width:min(520px,calc(100vw - 28px));max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 60px rgba(5,25,40,.35)}
.site-popup::backdrop{background:rgba(6,25,40,.55)}
.site-popup-x{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.9);cursor:pointer;font-size:1rem;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.site-popup-img{display:block;width:100%;max-height:280px;object-fit:cover}
.site-popup-body{padding:20px 22px}.site-popup-body h2{margin:0 0 8px;font-size:1.25rem}
.site-popup-acts{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;flex-wrap:wrap}
/* 1.27 – biểu tượng mặc định (storage/app/public/icon) cho ảnh thiếu */
.news-row .ph,.nt-ph,.rel-ph,.hn-thumb:not(:has(img)){background:#EAF3FA var(--icon-news) center/46% no-repeat}
.nt-ph .icon,.rel-ph .icon,.hn-thumb:not(:has(img)) .icon{opacity:0}
.avatar-default{background:#CFE4F2}

/* 1.28 – Thanh trên khu quản trị & tài khoản: tìm mục, xem website, sáng/tối, chuông */
.ws-top{display:flex;align-items:center;gap:12px;margin:-22px -28px 20px;padding:10px 28px;background:var(--sheet);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:30}
.ws-search{position:relative;flex:1;max-width:460px;display:flex;align-items:center}
.ws-search > .icon{position:absolute;left:11px;width:16px;height:16px;color:var(--muted);pointer-events:none}
.ws-search input{width:100%;padding:8px 34px 8px 34px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font:inherit;font-size:.92rem;color:var(--ink)}
.ws-search input:focus{outline:2px solid var(--brand-100);border-color:var(--brand)}
.ws-kbd{position:absolute;right:10px;font:600 .72rem var(--ui);color:var(--muted);border:1px solid var(--rule);border-radius:4px;padding:0 5px}
.ws-results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--sheet);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 32px rgba(15,30,50,.16);padding:6px;max-height:60vh;overflow:auto;z-index:70}
.ws-results a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:.92rem}
.ws-results a small{margin-left:auto;color:var(--muted);font-size:.76rem}
.ws-results a:hover,.ws-results a.on{background:var(--brand-50);color:var(--brand-900)}
.ws-results .icon{width:16px;height:16px;opacity:.75}
.ws-results .empty{padding:10px;color:var(--muted);font-size:.9rem}
.ws-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.ws-bell .user-menu-btn{position:relative}
.ws-dot{position:absolute;top:-6px;right:-6px;background:var(--seal);color:#fff;border-radius:999px;font:700 .68rem/1.5 var(--ui);padding:0 5px;min-width:18px;text-align:center}
.ws-bell .user-menu-list{min-width:290px}
.ws-bell-l{flex:1;white-space:normal;line-height:1.35}
.ws-bell-all{border-top:1px solid var(--rule-2);margin-top:4px;color:var(--brand)!important}
.ws-me .avatar-xs{width:30px;height:30px}
.ws-who{display:flex;gap:10px;align-items:center;margin:0 8px 6px;padding:10px;border-radius:10px;background:rgba(255,255,255,.06)}
.ws-who strong{display:block;color:#fff;font-size:.92rem}
.ws-who span{font-size:.78rem;color:#9FB0C3}
.ws-logout{color:#DDE3EC;padding:6px 10px;display:flex;gap:9px;align-items:center}
.ws-account .admin-main h1{font-size:1.45rem}
@media (max-width:900px){
  .ws-top{margin:-16px -14px 14px;padding:8px 12px;gap:8px;top:46px}
  .ws-top .lbl,.ws-kbd,.ws-me,.ws-top .theme-toggle{display:none}
  .admin-bar .theme-toggle{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
}
/* 1.28 – bật/tắt mẫu email */
.mailtpl-row{display:flex;gap:10px;align-items:center}
.mailtpl-row .mailtpl-item{flex:1;min-width:0}
.mailtpl-row.is-off .mailtpl-item{opacity:.55}
.mailtpl-sw{flex:none;display:inline-flex;align-items:center;cursor:pointer}
.mailtpl-sw input{position:absolute;opacity:0;width:1px;height:1px}
.mailtpl-sw .sw{width:40px;height:22px;border-radius:999px;background:var(--rule);position:relative;transition:background .15s}
.mailtpl-sw .sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.mailtpl-sw input:checked + .sw{background:var(--jade,#1E8A5B)}
.mailtpl-sw input:checked + .sw::after{transform:translateX(18px)}
.mailtpl-sw input:focus-visible + .sw{outline:2px solid var(--brand);outline-offset:2px}
.mailtpl-sw.is-locked{width:40px;justify-content:center;color:var(--muted);cursor:default}
/* 1.28 – Phân tích website (Tổng quan quản trị) */
.an-panel{margin-bottom:18px}
.an-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.an-head h2{margin-right:auto}
.an-period{display:inline-flex;border:1px solid var(--rule);border-radius:999px;padding:2px;background:var(--paper)}
.an-period a{padding:4px 12px;border-radius:999px;font:500 .84rem var(--ui);color:var(--ink-2);text-decoration:none}
.an-period a.on{background:var(--brand);color:#fff}
.an-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:6px 0 14px}
.an-kpi{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;background:var(--paper)}
.an-kpi span{display:block;font-size:.8rem;color:var(--muted)}
.an-kpi b{font:700 1.5rem var(--ui);color:var(--ink)}
.an-chart{display:flex;align-items:flex-end;gap:2px;height:120px;padding:8px 0;border-bottom:1px solid var(--rule)}
.an-bar{flex:1;min-width:2px;height:var(--h);background:linear-gradient(180deg,var(--brand),#5FA8D8);border-radius:3px 3px 0 0;opacity:.85}
.an-bar:hover{opacity:1}
.an-axis{display:flex;justify-content:space-between;margin:4px 0 14px}
.an-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}
.an-box{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;min-width:0}
.an-box h3{display:flex;gap:8px;align-items:center;font-size:.95rem;margin:0 0 8px}
.an-box h3 .icon{width:16px;height:16px;color:var(--brand)}
.an-row{position:relative;display:flex;gap:10px;align-items:center;padding:6px 8px;font-size:.88rem;border-radius:6px;overflow:hidden}
.an-row > a,.an-row > span:first-child{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}
.an-row .an-n{font:600 .84rem var(--ui);position:relative;z-index:1;color:var(--ink-2)}
.an-row i{position:absolute;left:0;top:0;bottom:0;width:var(--w);background:var(--brand-50);z-index:0}
.dash-row{padding:7px 0;border-bottom:1px solid var(--rule-2)}
.dash-row:last-child{border-bottom:0}
.dash-log{display:flex;gap:10px;align-items:flex-start}
.dash-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);margin-top:7px;flex:none}
.dash-log code{background:var(--rule-2);padding:0 5px;border-radius:4px}
@media (max-width:1100px){.an-cols{grid-template-columns:1fr 1fr}.an-cols .an-box:first-child{grid-column:1/-1}}
@media (max-width:640px){.an-kpis{grid-template-columns:1fr 1fr}.an-cols{grid-template-columns:1fr}.an-kpi b{font-size:1.25rem}}
/* Trung tâm cài đặt */
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.hub-card{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--rule);border-radius:12px;background:var(--sheet);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.hub-card:hover{border-color:var(--brand);box-shadow:0 6px 16px rgba(10,109,170,.08);text-decoration:none}
.hub-card .ico-badge{flex:none}
.hub-card strong{display:block;font-size:.95rem}
.hub-card small{display:block;color:var(--muted);font-size:.82rem;line-height:1.4;margin-top:2px}
.hub-sec{margin:18px 0 10px;font-size:1rem;color:var(--ink-2)}
/* 1.29 – minh hoạ cân pháp luật + sách ở biểu ngữ */
.hero-law{right:70px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.62);filter:drop-shadow(0 10px 30px rgba(0,0,0,.18))}
.hero-law .hero-law-svg{width:250px;height:auto;display:block;animation:heroFloat 7s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.hero-law .hero-law-svg{animation:none}}
@media (max-width:1180px){.hero-law .hero-law-svg{width:200px}.hero-law{right:30px}}
/* 1.29 – Nghe đọc văn bản (quản trị) */
.tts-engines{border:0;padding:0;margin:12px 0;display:grid;gap:8px}
.tts-engines legend{font-weight:600;margin-bottom:6px}
.tts-engine{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--rule);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.tts-engine:has(input:checked){border-color:var(--brand);background:var(--brand-50)}
.tts-engine input{margin-top:3px}
.tts-engine small{display:block;color:var(--muted);font-size:.84rem;line-height:1.45;margin-top:2px}
.speak-bar .sp-close{margin-left:2px}

/* ===================================================================================
   1.29 – Trau chuốt giao diện: ô nhập, nút bấm, thẻ, bảng dễ đọc và thân thiện hơn trên PC & di động.
   Bo góc dựa trên --r (Giao diện › Góc bo) nên vẫn theo cấu hình của quản trị.
   =================================================================================== */
:root{--r-ctl:calc(var(--r) + 3px);--r-card:calc(var(--r) + 6px);--ring:0 0 0 3px rgba(10,109,170,.18);--shadow-1:0 1px 2px rgba(16,32,52,.05),0 1px 1px rgba(16,32,52,.03);--shadow-2:0 8px 24px rgba(16,32,52,.08)}
body{font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:var(--brand-100);color:var(--ink)}
h1,h2,h3{letter-spacing:-.015em}
a{transition:color .12s}
/* Nút bấm */
.btn{min-height:38px;padding:8px 16px;border-radius:var(--r-ctl);font-weight:600;letter-spacing:.005em;box-shadow:var(--shadow-1);transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .08s;justify-content:center}
.btn:hover{border-color:var(--brand-100);color:var(--brand-900);background:var(--brand-50)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:none;box-shadow:var(--ring)}
.btn[disabled],.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-primary,.btn-jade{box-shadow:0 1px 2px rgba(10,109,170,.25),0 4px 12px rgba(10,109,170,.18)}
.btn-primary:hover,.btn-jade:hover{color:#fff;background:var(--brand-700);border-color:var(--brand-700);box-shadow:0 2px 4px rgba(10,109,170,.25),0 8px 18px rgba(10,109,170,.22)}
.btn-danger:hover{background:var(--seal-soft);color:var(--seal);border-color:var(--seal)}
.btn-sm{min-height:32px;padding:5px 12px;font-size:.84rem}
.btn .icon{flex:none}
/* Ô nhập liệu */
input:not([type]),input[type=tel],input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],input[type=number],input[type=search],select,textarea{
  min-height:42px;padding:10px 13px;border-radius:var(--r-ctl);border-color:#CDD3CB;background-color:var(--sheet);transition:border-color .15s,box-shadow .15s,background-color .15s;line-height:1.4}
input:hover:not(:focus):not([disabled]),select:hover:not(:focus),textarea:hover:not(:focus){border-color:#AEB7AD}
input:focus,select:focus,textarea:focus{box-shadow:var(--ring)}
input::placeholder,textarea::placeholder{color:#8A939C;opacity:1}
input[disabled],select[disabled],textarea[disabled]{background:var(--rule-2);color:var(--muted)}
textarea{line-height:1.6}
input[type=checkbox],input[type=radio]{accent-color:var(--brand);width:17px;height:17px;flex:none}
label{color:var(--ink-2)}
.field{margin-bottom:16px}
.hint{line-height:1.45}
.error{display:flex;gap:4px;align-items:center;font-weight:500}
/* Thẻ, khung */
.panel,.stat,.an-box,.an-kpi,.hub-card{border-radius:var(--r-card)}
.panel{border-color:var(--rule-2);box-shadow:var(--shadow-1)}
.sheet{border-radius:var(--r-card);border-color:var(--rule-2);box-shadow:var(--shadow-1)}
.panel h2{font-size:1.18rem}
.notice{border-radius:0 var(--r-ctl) var(--r-ctl) 0}
.flash{border-radius:var(--r-ctl)}
/* Bảng */
.table-wrap{border-radius:var(--r-card)}
.table th{background:var(--paper);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:10px 12px}
.table td{padding:10px 12px}
.table tbody tr{transition:background .1s}
.table tbody tr:hover{background:var(--brand-50)}
/* Đầu trang trong suốt nhẹ khi cuộn */
.site-head{background:color-mix(in srgb,var(--sheet) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
.nav a{border-radius:8px}
/* Ô tìm trên biểu ngữ */
.searchbar{border-radius:calc(var(--r) + 8px);box-shadow:0 10px 30px rgba(0,0,0,.18)}
/* Thanh cuộn mảnh */
*{scrollbar-width:thin;scrollbar-color:#C5CCC3 transparent}
/* Thanh đọc nổi */
@media (min-width:761px){.speak-bar{border-radius:999px}}
.speak-bar{box-shadow:0 12px 32px rgba(10,30,50,.22)}
.speak-bar button{border-radius:999px}
.admin-bar .btn:hover,.hero .btn:not(.btn-primary):hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.4)}
/* Di động: vùng bấm lớn, chữ dễ đọc */
@media (max-width:760px){
  body{font-size:16px}
  .btn{min-height:42px}
  .btn-sm{min-height:36px}
  .panel{padding:16px}
  .sheet{padding:22px 18px}
  h1{font-size:1.6rem}
  .table th,.table td{padding:9px 10px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.speak-bar:has([data-sp-warn]:not([hidden])){border-radius:20px}
.speak-bar select{min-height:32px;width:auto;padding:4px 8px}
/* giữ kiểu riêng của các ô tìm có biểu tượng (đặt sau lớp trau chuốt) */
.ws-search input{padding:8px 34px;border-radius:999px;background-color:var(--paper);min-height:38px}
.searchbar input{padding:12px 14px;border:0}
@media (max-width:760px){.searchbar input{background-color:var(--paper);padding:13px 12px}}

/* ===================================================================================
   1.30 – Đầu trang trên máy tính bảng & di động: [Menu][Quản trị] · logo giữa · [sáng/tối][tài khoản ▾][chuông]
   hàng dưới: biểu tượng chuyên mục + tìm kiếm (mở ô tìm có chọn chuyên mục). Máy tính (>1024px) giữ bố cục cũ.
   =================================================================================== */
.head-left{display:none}
.head-admin-m,.guest-m,.icon-nav,.head-search{display:none}
.head-bell .user-menu-btn{position:relative;padding:6px 9px}
.head-dot{position:absolute;top:-6px;right:-6px;min-width:18px;padding:0 5px;border-radius:999px;background:var(--seal);color:#fff;font:700 .68rem/1.55 var(--ui);text-align:center;box-shadow:0 0 0 2px var(--sheet)}
.head-bell .user-menu-list{min-width:300px}
.hb-text{flex:1;white-space:normal;line-height:1.35}
.hb-all{border-top:1px solid var(--rule-2);margin-top:4px;color:var(--brand)!important}
.guest-ava{width:24px;height:24px;border-radius:50%;background:var(--brand-50);color:var(--brand);display:inline-grid;place-items:center}
.guest-ava .icon{width:15px;height:15px}
@media (max-width:1024px){
  .site-head .wrap.head-row{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;min-height:60px;position:relative}
  .head-left{display:flex;gap:8px;align-items:center;justify-self:start}
  .site-head .menu-toggle{display:inline-flex}
  .head-row > .brand{justify-self:center;min-width:0;max-width:46vw}
  .head-row > .brand .brand-logo{max-height:38px;width:auto}
  .head-actions{justify-self:end;margin-left:0;gap:8px}
  .head-admin-d,.guest-d{display:none!important}
  .head-admin-m,.guest-m{display:inline-flex}
  .guest-m{display:block}
  /* menu chữ đầy đủ: thả xuống khi bấm Menu */
  .site-head .nav{display:none;position:absolute;top:100%;left:12px;right:12px;flex-direction:column;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:8px;box-shadow:0 16px 36px rgba(15,30,50,.16);z-index:70}
  .site-head .nav.open{display:flex}
  .site-head .nav a{padding:11px 12px}
  /* hàng biểu tượng */
  .icon-nav{display:flex;justify-content:space-between;align-items:center;gap:4px;padding:6px 14px 8px;border-top:1px solid var(--rule-2);max-width:var(--wrap);margin:0 auto;overflow-x:auto;scrollbar-width:none}
  .icon-nav::-webkit-scrollbar{display:none}
  .icon-nav a,.icon-nav button{flex:0 0 auto;display:grid;place-items:center;width:44px;height:40px;border-radius:12px;color:var(--brand);background:none;border:0;cursor:pointer;transition:background .15s,color .15s}
  .icon-nav .icon{width:23px;height:23px;stroke-width:1.9}
  .icon-nav a:hover,.icon-nav button:hover{background:var(--brand-50);text-decoration:none}
  .icon-nav a[aria-current=page],.icon-nav button.on{background:var(--brand-50);color:var(--brand)}
  .icon-nav .in-home{color:var(--brand)}
  .icon-nav .in-home .icon{fill:currentColor;fill-opacity:.14}
  .icon-nav .in-search{color:var(--ink-2)}
  /* ô tìm thả xuống */
  .head-search:not([hidden]){display:block;border-top:1px solid var(--rule-2);background:var(--sheet);padding:10px 0 12px;animation:hsIn .16s ease-out}
  .head-search .wrap{display:flex;gap:8px;align-items:center}
  .head-search input{flex:1;min-width:0}
  .head-search .btn{min-width:46px;padding:8px 12px}
  @keyframes hsIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
}
/* máy tính bảng (601–1024px): nút có viền + chữ (ảnh k2) */
@media (min-width:601px) and (max-width:1024px){
  .head-left .btn,.head-actions .btn{min-height:40px;border-radius:12px;padding:7px 14px;box-shadow:var(--shadow-1)}
  .head-left .lbl,.head-actions .user-menu-btn .lbl{display:inline}
  .head-actions .user-menu-btn{gap:8px}
}
/* điện thoại (≤600px): chỉ biểu tượng, không viền (ảnh k1) */
@media (max-width:600px){
  .site-head .wrap.head-row{gap:4px;padding:0 10px;min-height:56px}
  .head-left,.head-actions{gap:2px}
  .head-left .btn,.head-actions .btn{border-color:transparent;background:none;box-shadow:none;padding:8px;min-height:40px}
  .head-left .btn:hover,.head-actions .btn:hover{background:var(--brand-50)}
  .head-left .lbl,.head-actions .lbl{display:none}
  .head-left .icon,.head-actions .theme-toggle .icon,.head-bell .icon{width:22px;height:22px}
  .head-actions .user-menu-btn{gap:2px;padding:6px 4px}
  .head-actions .user-menu-btn .avatar-xs,.guest-ava{width:30px;height:30px}
  .head-row > .brand{max-width:44vw}
  .head-row > .brand .brand-logo{max-height:32px}
  .head-row > .brand .brand-name{font-size:1rem}
  .icon-nav{padding:4px 6px 6px}
  .icon-nav a,.icon-nav button{width:40px;height:38px}
  .head-bell .user-menu-list,.head-actions .user-menu-list{position:fixed;left:10px;right:10px;top:62px;min-width:0}
}
@media (max-width:1024px){.site-head .nav{right:auto;width:min(340px,calc(100% - 24px))}}
/* 1.30.1 – đường kẻ đầu trang rõ hơn; chữ menu chuyên mục nhỏ lại để không xuống dòng */
.site-head{border-bottom:1px solid #C3CAD2;box-shadow:0 1px 0 rgba(16,32,52,.04)}
@media (max-width:1024px){.icon-nav{border-top:1px solid #C3CAD2}.head-search:not([hidden]){border-top-color:#C3CAD2}}
.nav{gap:2px;min-width:0}
.nav a{font-size:.9rem;padding:7px 10px;white-space:nowrap;gap:6px}
.nav a .icon{width:16px;height:16px;flex:none}
@media (min-width:1025px) and (max-width:1320px){
  .site-head .wrap{gap:16px}
  .nav a{font-size:.85rem;padding:7px 8px;gap:5px}
  .nav a .icon{width:15px;height:15px}
  .head-actions{gap:6px}
  .head-actions .user-menu-btn .lbl{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* 1.30.5: bỏ ẩn biểu tượng cố định 1025–1140px (app.js tự xử lý khi thiếu chỗ) */
/* 1.30.2 – khách: sáng/tối + người dùng + chuông; điện thoại ẩn mũi tên cạnh ảnh người dùng; logo lớn hơn trên di động/máy tính bảng */
.guest-bell{display:none}
.um-head span.small{white-space:normal;line-height:1.4}
@media (max-width:1024px){
  .guest-bell{display:block}
  .head-row > .brand .brand-logo{max-height:46px}
  .head-row > .brand{max-width:50vw}
  .head-actions .user-menu-btn .avatar,.head-actions .user-menu-btn .avatar-xs{width:30px;height:30px;border-radius:50%;object-fit:cover}
}
@media (max-width:600px){
  .head-row > .brand .brand-logo{max-height:40px}
  .head-row > .brand{max-width:48vw}
  .head-row > .brand .brand-name{font-size:1.08rem}
  .head-actions .user-menu-btn .caret{display:none}
  .head-actions .user-menu-btn{padding:5px}
  .head-actions .user-menu-btn .avatar,.head-actions .user-menu-btn .avatar-xs{width:32px;height:32px}
}
@media (max-width:1024px){.head-row > .brand .brand-logo{height:46px;max-height:none;max-width:260px}}
@media (max-width:600px){.head-row > .brand .brand-logo{height:40px;max-width:46vw}}
/* 1.30.3 – danh sách thông báo (chuông + trang Thông báo) */
.bell-list{min-width:340px;max-width:min(400px,94vw);max-height:min(70vh,560px);overflow:auto}
.nb-item{align-items:flex-start!important}
.nb-item .icon{margin-top:2px}
.nb-item .hb-text small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px;font-weight:400}
.nb-item.is-unread .hb-text{font-weight:600;color:var(--ink)}
.nb-item.is-unread{background:var(--brand-50)}
.ntf-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--seal);margin-top:7px}
.nb-empty{padding:10px 12px;line-height:1.45}
.nb-foot{display:flex;gap:4px;border-top:1px solid var(--rule-2);margin-top:4px;padding-top:4px}
.nb-foot > a,.nb-foot form{flex:1}
.nb-foot .hb-all{border-top:0;margin-top:0}
/* 1.58.1: trang Thông báo dùng tiền tố .ntf- (trước dùng .nt- trùng khối Tin nổi bật → chữ thông báo bị đẩy xuống đáy trang) */
.ntf-list{padding:6px}
.ntf-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:10px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--rule-2)}
.ntf-item:last-child{border-bottom:0}
.ntf-item:hover{background:var(--brand-50);text-decoration:none}
.ntf-item.is-unread{background:var(--brand-50)}
.ntf-item.is-unread .ntf-text{font-weight:600;color:var(--ink)}
.ntf-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ntf-item .ico-badge{width:34px;height:34px}
/* 1.30.3 – chữ chuyên mục lớn hơn, màu chữ đậm như nút Đăng nhập/Đăng ký; co giãn theo độ rộng để không xuống dòng */
.nav a{font-size:.95rem;color:var(--ink);font-weight:500;padding:7px 10px}
.nav a .icon{width:16px;height:16px}
@media (min-width:1025px) and (max-width:1360px){
  .site-head .wrap{gap:14px}
  .nav{gap:0}
  .nav a{font-size:.92rem;padding:7px 8px}
}
/* 1.30.5: không ẩn biểu tượng cố định theo độ rộng – app.js chỉ bỏ biểu tượng (nav-tight) khi thật sự thiếu chỗ */
@media (min-width:1025px) and (max-width:1250px){.nav a{padding:7px 7px}}
@media (min-width:1025px) and (max-width:1120px){.head-admin-d .lbl,.guest-d .lbl-keep{display:none}.nav a{font-size:.9rem;padding:7px 6px}.head-actions .user-menu-btn .lbl{max-width:80px}}
.site-head.nav-tight .nav a .icon{display:none}
.site-head.nav-tighter .nav a{font-size:.86rem;padding:7px 6px}
@media (min-width:1025px){
  .site-head.nav-collapse .head-left{display:flex;align-items:center}
  .site-head.nav-collapse .menu-toggle{display:inline-flex}
  .site-head.nav-collapse .wrap{position:relative}
  .site-head.nav-collapse .nav{display:none;position:absolute;top:100%;left:12px;width:min(340px,calc(100% - 24px));flex-direction:column;background:var(--sheet);border:1px solid var(--rule);border-radius:14px;padding:8px;box-shadow:0 16px 36px rgba(15,30,50,.16);z-index:70}
  .site-head.nav-collapse .nav.open{display:flex}
  .site-head.nav-collapse .nav a{font-size:.95rem;padding:10px 12px}
  .site-head.nav-collapse .nav a .icon{display:inline-block}
  .site-head.nav-collapse .head-actions{margin-left:auto}
}
/* 1.30.4 – khung chuông trong trang tài khoản/quản trị: thả ngay dưới nút, không che nút chuông */
@media (max-width:560px){.ws-top .user-menu-list{position:absolute;left:auto;right:0;top:100%;width:min(360px,calc(100vw - 20px));min-width:0}}
/* 1.31 – Tổng quan tài khoản: ô thống kê màu, cột Hỏi đáp/Đang đọc – Thông báo/Lịch */
.dash-stats{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.85fr);gap:12px;margin-bottom:16px}
.dstat{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(15,30,50,.12);transition:transform .15s,box-shadow .15s;min-width:0}
.dstat:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,30,50,.18);text-decoration:none;color:#fff}
.dstat-plan{background:linear-gradient(135deg,#0A6DAA,#08466F)}
.dstat-ai{background:linear-gradient(135deg,#0E9F6E,#076547)}
.dstat-saved{background:linear-gradient(135deg,#E8590C,#B23F05)}
.dstat-notes{background:linear-gradient(135deg,#7C3AED,#5221A8)}
.dstat-ico{flex:none;width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.dstat-ico .icon{width:24px;height:24px;color:#fff}
.dstat-txt{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.dstat-txt b{color:#fff;font-size:1.45rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dstat-txt span{font-size:.86rem;color:rgba(255,255,255,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dstat-txt small{font-size:.78rem;color:rgba(255,255,255,.82);white-space:nowrap}
@media (max-width:1280px){.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dstat{padding:12px;gap:10px}.dstat-ico{width:38px;height:38px}.dstat-txt b{font-size:1.2rem}.dstat-txt span{font-size:.8rem}}
@media (max-width:380px){.dstat-ico{display:none}}
.dash-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.dash-col{display:grid;gap:16px;min-width:0}
@media (max-width:900px){.dash-cols{grid-template-columns:minmax(0,1fr)}}
.dash-panel .panel-title{border-bottom:1px solid #D3D9E0;padding-bottom:10px;margin-bottom:12px}
.dash-panel .panel-title h2{font-size:1.1rem}
.dash-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.dash-list li{display:flex;align-items:baseline;gap:8px;padding:7px 2px;border-bottom:1px dashed #E3E8ED;flex-wrap:wrap}
.dash-list li:last-child{border-bottom:0}
.dash-list li>.icon{width:16px;height:16px;color:var(--brand);flex:none;align-self:center}
.dash-list li>a{flex:1;min-width:0}
@media (max-width:640px){.dash-list li>a{flex-basis:calc(100% - 30px)}.dash-list li>.small{margin-left:24px}.dstat-txt span{white-space:normal}}
.dash-pin{padding:8px 0;border-bottom:1px dashed #E3E8ED}.dash-pin:last-child{border-bottom:0}
.dash-prog{display:flex;align-items:center;gap:10px;margin-top:4px}
.dash-prog .nb-progress{flex:1;margin:0;height:8px}
.dash-prog b{font-size:.85rem;min-width:36px;text-align:right}
/* Lịch mini */
.mc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.mc-head>div{display:flex;flex-direction:column;align-items:center;line-height:1.25}
.mc-head a{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--ink-2)}
.mc-head a:hover{background:var(--brand-50);color:var(--brand)}
.mc-flip{transform:rotate(180deg)}
.mc-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.mc-w{text-align:center;font:600 .72rem var(--ui);color:var(--muted);padding:2px 0}
.mc-w:last-of-type{color:#C92A2A}
.mc-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;min-height:62px;padding:5px 2px 4px;border-radius:10px;border:1px solid var(--rule-2,#EEF1F4);background:var(--sheet)}
.mc-day.out{opacity:.45}
.mc-day.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--brand-50)}
.mc-sol{font:600 .95rem/1.1 var(--ui);color:var(--ink)}
.mc-day.sun .mc-sol{color:#C92A2A}
.mc-lun{font-size:.66rem;line-height:1;color:var(--muted)}
.mc-lun.lf{color:#C92A2A;font-weight:600}
.mc-dots{display:flex;align-items:center;justify-content:center;gap:3px;margin-top:auto;flex-wrap:wrap}
.mc-item{position:relative;display:inline-flex}
.mc-dot{width:11px;height:11px;border-radius:50%;border:0;padding:0;background:var(--c);cursor:pointer;box-shadow:0 0 0 1.5px var(--sheet,#fff)}
.mc-dot.is-pin{border-radius:3px;transform:rotate(45deg);width:9px;height:9px}
.mc-dot.is-starred{box-shadow:0 0 0 1.5px var(--sheet,#fff),0 0 0 3px var(--c)}
.mc-dot:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.mc-more{font-size:.66rem;font-weight:700;color:var(--ink-2);text-decoration:none}
.mc-pop{display:none;position:absolute;z-index:40;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:240px;max-width:72vw;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;box-shadow:0 14px 32px rgba(15,30,50,.18);padding:10px 12px;text-align:left;font-size:.84rem;line-height:1.4;flex-direction:column;gap:4px}
.mc-day.al .mc-pop{left:-6px;transform:none}
.mc-day.ar .mc-pop{left:auto;right:-6px;transform:none}
.mc-item:hover .mc-pop,.mc-item:focus-within .mc-pop,.mc-item.open .mc-pop{display:flex}
.mc-pop::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.mc-pop strong{font-size:.9rem;color:var(--ink)}
.mc-pop-f{display:flex;align-items:center;gap:6px;font-size:.74rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.mc-pop-f i,.mc-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.mc-pop-b{color:var(--ink-2)}
.mc-pop-d,.mc-pop-t{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:.78rem}
.mc-pop-d .icon,.mc-pop-t .icon{width:13px;height:13px;flex:none}
.mc-pop a{font-weight:600;margin-top:2px}
.mc-legend{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid #E3E8ED;display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--ink-2)}
.mc-legend li{display:flex;align-items:center;gap:6px}
.mc-empty{margin:10px 0 0}
@media (max-width:480px){.mc-grid{gap:2px}.mc-day{min-height:52px;padding:4px 1px 3px;border-radius:8px}.mc-sol{font-size:.85rem}.mc-lun{font-size:.6rem}.mc-dot{width:9px;height:9px}}
/* 1.31.1 – ô thông tin màu (Tổng quan quản trị + Phân tích website): nền chuyển màu, chữ trắng, biểu tượng trong ô mờ */
.tc-blue{--t1:#0A6DAA;--t2:#08466F}.tc-green{--t1:#0E9F6E;--t2:#076547}.tc-amber{--t1:#C47F00;--t2:#8A5600}
.tc-red{--t1:#DC2626;--t2:#991B1B}.tc-indigo{--t1:#4F46E5;--t2:#312E91}.tc-teal{--t1:#0891B2;--t2:#0B5C70}
.tc-rose{--t1:#E11D48;--t2:#9F1239}.tc-slate{--t1:#52637A;--t2:#334155}.tc-crimson{--t1:#B91C1C;--t2:#6F1414}
.tc-orange{--t1:#E8590C;--t2:#B23F05}.tc-sky{--t1:#0284C7;--t2:#075985}.tc-purple{--t1:#7C3AED;--t2:#5221A8}
.tc-emerald{--t1:#059669;--t2:#065F46}.tc-pink{--t1:#DB2777;--t2:#9D174D}
.stat.tc,.an-kpi.tc{position:relative;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff;border:0;box-shadow:0 8px 20px rgba(15,30,50,.12);text-decoration:none;min-width:0}
a.stat.tc:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(15,30,50,.2);color:#fff;text-decoration:none}
.stat.tc{transition:transform .15s,box-shadow .15s;padding:14px 16px}
.tc-ico{flex:none;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.18);display:grid;place-items:center}
.tc-ico .icon{width:22px;height:22px;color:#fff}
.tc-txt{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.stat.tc b,.an-kpi.tc b{color:#fff}
.stat.tc .tc-txt span,.an-kpi.tc .tc-txt span{color:rgba(255,255,255,.9);font-size:.84rem}
.an-kpi.tc{padding:14px 16px}
/* cảnh báo (có việc cần xử lý): chấm trắng nhấp nháy góc phải */
.stat.tc.warn::after{content:"";position:absolute;top:10px;right:10px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:tc-ping 1.8s infinite}
.stat.tc.warn b{color:#fff}
@keyframes tc-ping{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 8px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media (prefers-reduced-motion:reduce){.stat.tc.warn::after{animation:none}}
@media (max-width:420px){.tc-ico{width:34px;height:34px}.tc-ico .icon{width:18px;height:18px}}
.stat.tc,.an-kpi.tc{align-items:center!important}
.stat.tc .tc-ico,.an-kpi.tc .tc-ico{display:grid!important;place-items:center}
.stat.tc .tc-txt,.an-kpi.tc .tc-txt{display:flex!important;flex-direction:column}
.an-kpi.tc .tc-txt b{font-size:1.5rem;line-height:1.2}
@media (max-width:640px){.an-kpi.tc .tc-txt b{font-size:1.25rem}}
/* 1.33 – trang chi tiết án lệ dạng tab (giống văn bản pháp luật) */
.prec-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.prec-layout>.panel,.prec-layout>.sheet{min-width:0;margin:0}
@media (max-width:960px){.prec-layout{grid-template-columns:minmax(0,1fr)}}
.doc-head.prec-head h1.prec-title{font:700 1.3rem/1.4 var(--ui);margin:0 0 6px}
.doc-head.prec-head .prec-kicker{margin:0 0 4px}
.prec-show .prec-tools{margin-top:0}
.prec-aside-search{display:flex;gap:6px;margin-bottom:8px}
.prec-aside-search input{flex:1;min-width:0}
.prec-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.prec-kpis a{display:flex;flex-direction:column;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,var(--t1,#0A6DAA),var(--t2,#08466F));color:#fff;text-decoration:none}
.prec-kpis a+a{--t1:#0E9F6E;--t2:#076547}
.prec-kpis b{font-size:1.4rem;line-height:1.2;color:#fff}
.prec-kpis span{font-size:.78rem;color:rgba(255,255,255,.9)}
.prec-field-stats{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.88rem}
.prec-field-stats li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 28px;gap:8px;align-items:center}
.prec-field-stats li a{color:var(--ink-2);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prec-field-stats li.on a{color:var(--brand);font-weight:700}
.prec-field-stats .bar{height:6px;border-radius:6px;background:var(--rule-2,#EEF1F4);overflow:hidden}
.prec-field-stats .bar i{display:block;height:100%;background:var(--brand);border-radius:6px}
.prec-field-stats b{text-align:right;font-size:.82rem}
.prec-dates{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.prec-dates li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--rule);padding:4px 0}
.prec-dates li:last-child{border-bottom:0}
.prec-dates span{color:var(--muted)}
.prec-tab-h{font-size:1.15rem;margin:0 0 6px}
.prec-core-text{margin:14px 0;padding:16px 20px;border-left:4px solid var(--brand);background:var(--brand-50);border-radius:0 12px 12px 0;font-family:var(--read);font-style:italic;line-height:1.8}
.prec-core-text p{margin:0 0 10px}.prec-core-text p:last-child{margin:0}
.prec-core-pos{display:flex;gap:6px;align-items:flex-start}
.prec-content em,.prec-content i,.prec-content [style*="italic"]{background:rgba(10,109,170,.07);border-radius:3px}
.prec-rel{margin:0;padding-left:22px;display:grid;gap:12px}
.prec-rel a{text-decoration:none;color:var(--ink);line-height:1.45}
.prec-rel a strong{color:var(--brand);margin-right:4px}
.prec-rel .small{margin-top:4px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.prec-why{background:var(--brand-50);color:var(--ink-2);border-radius:20px;padding:1px 9px}
.prec-law-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.prec-law-list li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--rule);border-radius:12px;background:var(--sheet)}
.prec-law-list li>.icon{flex:none;width:18px;height:18px;color:var(--brand);margin-top:3px}
.prec-find{display:flex;gap:8px;margin-bottom:10px}
.prec-find input{flex:1;min-width:0}
.prec-hits{margin:0;padding-left:22px;display:grid;gap:10px}
.prec-hits p{margin:2px 0 0;font-family:var(--read);line-height:1.7}
.prec-hits mark{background:#FFE58F;color:inherit;border-radius:3px;padding:0 2px}
.prec-hit-part{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--brand)}
.prec-thread{display:grid;gap:10px;margin:12px 0 16px}
.prec-msg{display:flex;gap:8px;max-width:92%;padding:10px 14px;border-radius:14px;line-height:1.6}
.prec-msg.u{margin-left:auto;background:var(--brand);color:#fff;border-bottom-right-radius:4px}
.prec-msg.a{background:var(--paper,#F4F6F8);border:1px solid var(--rule);border-bottom-left-radius:4px}
.prec-msg-ico .icon{width:18px;height:18px;color:var(--brand);margin-top:2px}
.prec-ask-form textarea{width:100%}
.prec-ask-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.prec-ask-sugg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px;color:var(--muted)}
.prec-ask-sugg .tag{cursor:pointer;border:1px solid var(--rule);background:var(--sheet)}

/* 1.39: thanh Tìm trong nội dung bám dưới đầu trang (cao theo --head-h đo bằng JS); di động: rộng hết khung, ô nhập 16px (không phóng to iOS), nút bấm lớn */
.doc-find{top:calc(var(--head-h,64px) + 8px)}
.doc-find .btn-icon{min-width:36px;min-height:36px}
@media (max-width:760px){
  .doc-find{max-width:none;top:calc(var(--head-h,64px) + 4px);margin:0 -8px 12px;padding:4px 6px;gap:4px;border-radius:10px}
  .doc-find>.icon{display:none}
  .doc-find input{font-size:16px;padding:8px 4px}
  .doc-find .btn-icon{min-width:40px;min-height:40px}
}
/* đang mở thanh tìm → tạm ẩn hộp mời đăng nhập/thông báo ở góc để không che nút lên/xuống */
body:has(.doc-find:not([hidden])) .corner-prompt{display:none!important}

/* 1.42: dòng văn bản – cột trái xếp dọc: [Mới] ngang tiêu đề + số thứ tự bên dưới; không có Mới thì số thứ tự ngang tiêu đề.
   Mọi số thứ tự cùng màu đậm (không làm mờ từ số 4); nút Lưu/Đã lưu không rớt dòng */
.doc-row.is-new{padding-top:14px}
.doc-row .doc-lead{display:flex;flex-direction:column;align-items:center;gap:6px;width:44px}
.doc-row .doc-lead .new-badge{grid-column:auto;justify-self:auto;margin:0;height:23px}
.doc-row .doc-lead .ico-badge{margin-top:0}
.doc-row:not(.is-new) .doc-lead .ico-badge{margin-top:-5px}
.num-list .ico-badge.num-n,.num-list .doc-row:nth-child(n) .ico-badge.num-n{background:var(--brand);color:#fff}
.act-btn{white-space:nowrap;flex-shrink:0}
.act-btn span{white-space:nowrap}
@media (max-width:600px){
  .doc-row.has-icon > .doc-lead{display:contents}
  .doc-row.has-icon .doc-lead .ico-badge{display:none}
  .doc-row.has-icon .doc-lead .new-badge{order:0;justify-self:start}
  .doc-acts > form.inline-form{flex:1 1 0;display:flex;min-width:0}
  .doc-acts > form.inline-form .act-btn{flex:1 1 auto;justify-content:center}
}
/* 1.43: nút mic tìm bằng giọng nói (voice-search.js) */
.vs-wrap{position:relative;display:inline-flex;align-items:stretch;min-width:0;max-width:100%;vertical-align:middle}
.vs-wrap.vs-block{display:flex;width:100%}
.vs-wrap>input{flex:1 1 auto;min-width:0;padding-left:42px!important}
.vs-wrap.vs-block>input,.vs-wrap.vs-block>textarea{width:100%}
.vs-wrap>textarea{padding-right:44px!important}
.vs-btn{position:absolute;left:5px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;z-index:2}
.vs-ta .vs-btn{left:auto;right:6px;top:8px;transform:none}
.vs-btn:hover,.vs-btn:focus-visible{color:var(--ink,#0F172A);background:#E9EDF1}
.vs-btn.is-listening{color:#fff;background:#D92D20;animation:vs-pulse 1.2s ease-out infinite}
@keyframes vs-pulse{0%{box-shadow:0 0 0 0 rgba(217,45,32,.45)}100%{box-shadow:0 0 0 10px rgba(217,45,32,0)}}
@media (prefers-reduced-motion:reduce){.vs-btn.is-listening{animation:none}}
.vs-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:3000;max-width:min(92vw,460px);padding:10px 14px;border-radius:10px;background:#1F2937;color:#fff;font:500 .88rem/1.45 var(--ui);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.ws-search:has(.vs-btn) .ws-kbd{display:none}
/* ===== 1.44: ô tìm kiếm chung .ssb – [mic][ô nhập][+][tìm], bảng tìm nâng cao có biểu tượng ===== */
.ssb{width:100%;max-width:720px;margin:0 0 18px;transition:max-width .2s ease}
.ssb-center{margin-inline:auto}
.ssb.open.ssb-w2{max-width:840px}
.ssb.open.ssb-w3{max-width:960px}
.ssb-bar{display:flex;align-items:center;gap:4px;background:var(--sheet,#fff);border:1px solid var(--rule);border-radius:999px;padding:5px;box-shadow:0 2px 12px rgba(16,40,70,.07)}
.ssb-bar:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100),0 2px 12px rgba(16,40,70,.07)}
.ssb-mic,.ssb-plus{position:relative;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-2,#334155);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.ssb-mic .icon,.ssb-plus .icon{width:20px;height:20px}
.ssb-mic:hover,.ssb-mic:focus-visible,.ssb-plus:hover,.ssb-plus:focus-visible,.ssb-plus[aria-expanded="true"]{background:#E9EDF1;color:var(--ink,#0F172A)}
.ssb-plus[aria-expanded="true"] .icon{transform:rotate(45deg)}
.ssb-plus .icon{transition:transform .2s}
.ssb-mic.is-listening{background:#D92D20;color:#fff;animation:vs-pulse 1.2s ease-out infinite}
.ssb-input{flex:1 1 auto;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;font-size:1rem;padding:10px 8px!important;color:var(--ink)}
.ssb-mic[hidden]~.ssb-input{padding-left:16px!important}
.ssb-go{flex:none;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s,transform .1s}
.ssb-go:hover{background:var(--brand-700,#085A8C)}
.ssb-go:active{transform:scale(.96)}
.ssb-go .icon{width:20px;height:20px}
.ssb-count{position:absolute;top:1px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--brand);color:#fff;font:700 .68rem/17px var(--ui);text-align:center}
.ssb-panel{margin-top:8px;background:var(--sheet,#fff);border:1px solid var(--rule);border-radius:16px;padding:14px 16px 12px;box-shadow:0 10px 30px rgba(16,40,70,.10)}
.ssb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}
.ssb-row{display:grid;grid-template-columns:minmax(160px,190px) minmax(0,1fr);align-items:center;gap:10px}
.ssb-lab{display:flex;align-items:center;gap:10px;margin:0;font-weight:500;font-size:.93rem;color:var(--ink-2,#334155);line-height:1.3}
.ssb-ico{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center}
.ssb-ico .icon{width:17px;height:17px}
.ssb-c-blue{background:#E3F0FA;color:#0A6DAA}.ssb-c-teal{background:#DDF3EF;color:#0F766E}.ssb-c-amber{background:#FDF0D5;color:#B45309}
.ssb-c-rose{background:#FCE4EA;color:#BE123C}.ssb-c-indigo{background:#E5E7FB;color:#4338CA}.ssb-c-emerald{background:#DCF5E8;color:#047857}
.ssb-c-violet{background:#EFE5FB;color:#7C3AED}.ssb-c-orange{background:#FDE8D9;color:#C2410C}.ssb-c-slate{background:#E8ECF1;color:#475569}
.ssb-row select,.ssb-row input{width:100%;min-height:38px;border-radius:9px}
.ssb-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--rule)}
.ssb-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 4px 0}
.ssb-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 10px;border-radius:999px;background:var(--brand-50);color:var(--brand-800,#075482);font-size:.82rem;text-decoration:none;border:1px solid var(--brand-100)}
.ssb-chip .icon{width:14px;height:14px}
.ssb-chip:hover{background:var(--brand-100)}
.hero .ssb{margin:22px 0 0;max-width:780px;position:relative;z-index:2}
.hero .ssb-bar{border-color:transparent;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.hero .ssb-chips{display:none}
@media (max-width:760px){
  .ssb{max-width:none!important}
  .ssb-grid{grid-template-columns:1fr;gap:10px}
  .ssb-row{grid-template-columns:1fr;gap:6px}
  .ssb-input{font-size:16px}
  .ssb-panel{padding:12px}
}
.news-head{flex-wrap:wrap;gap:10px}
.news-head .ssb{max-width:420px;margin:0}
.ssb-note{display:flex;align-items:center;gap:6px;max-width:720px;margin:-8px auto 14px;color:var(--muted)}
/* 1.44: số thứ tự văn bản dạng 01, 02… – ô vuông bo góc nền xanh nhạt, viền và chữ màu chính */
.num-list .ico-badge.num-n,.num-list .doc-row:nth-child(n) .ico-badge.num-n{width:38px;height:34px;border-radius:9px;background:var(--brand-50);color:var(--brand);border:1px solid var(--brand-100);font:700 .98rem/1 var(--ui);letter-spacing:.02em;font-variant-numeric:tabular-nums;box-shadow:none}
.doc-row:not(.is-new) .doc-lead .ico-badge.num-n{margin-top:-6px}
/* trang chủ: số thứ tự án lệ, trắc nghiệm, văn bản sắp có hiệu lực – rõ như nhau, không mờ dần */
.home-rank .rank-n,.home-rank li:nth-child(n) .rank-n{color:var(--brand)}
/* di động: số thứ tự hiện phía trên tiêu đề, đứng trước nhãn "Mới" */
@media (max-width:600px){
  .doc-row.has-icon > .doc-lead{display:flex!important;flex-direction:row;align-items:center;gap:8px;width:auto;order:0}
  .doc-row.has-icon .doc-lead .ico-badge{display:none}
  .num-list .doc-row.has-icon .doc-lead .ico-badge.num-n{display:grid;order:-1;width:34px;height:28px;font-size:.9rem;margin:0!important}
  .doc-row.has-icon .doc-lead .new-badge{order:0;margin:0}
  .doc-row.has-icon > .doc-lead:not(:has(.num-n)):not(:has(.new-badge)){display:none!important}
}
/* 1.45: trang Văn bản – danh sách bên trái, cột lọc nhanh (Sắp xếp, Nhóm, Lĩnh vực, Loại) bên phải; điện thoại giữ thứ tự cũ */
@media (min-width:901px){
  .search-layout.doc-index{grid-template-columns:minmax(0,1fr) 270px}
  .search-layout.doc-index > .doc-facets{order:2}
  .search-layout.doc-index > section{order:1}
}
.news-top.nt-single{grid-template-columns:1fr}.news-top.nt-single .nt-side{display:none}

/* 1.46: trang tìm kiếm chung /tim-kiem */
.gs-sum{text-align:center;margin:10px 0 6px}
.gs-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:6px 0 18px}
.gs-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--sheet);color:var(--ink);text-decoration:none;font-size:14px}
.gs-chip .icon{width:16px;height:16px;color:var(--brand)}
.gs-chip .n{font-weight:600;color:var(--brand)}
.gs-chip:hover{border-color:var(--brand)}
.gs-chip.is-empty{opacity:.6}
.gs-sec{margin-bottom:16px}
.gs-sec h2{display:flex;align-items:center;gap:8px;margin:0}
.gs-n{font-size:13px;font-weight:600;color:var(--brand);background:var(--brand-50);border-radius:999px;padding:1px 9px}
.gs-list{list-style:none;margin:0;padding:0}
.gs-list li{padding:12px 0;border-top:1px solid var(--rule-2)}
.gs-list li:first-child{border-top:0}
.gs-t{font-weight:600;font-size:16px;line-height:1.4}
.gs-ex{margin:4px 0 0;color:var(--ink-2)}
.gs-more{margin:10px 0 0;text-align:right}

/* 1.47: Được dẫn chiếu tại */
.cited-by .cb-h{margin:10px 0 2px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:12px}
.cited-by .cb-h:first-of-type{margin-top:4px}

/* 1.48: văn bản dài (Bộ luật …) – trình duyệt chỉ dựng phần đang nhìn thấy, cuộn/tìm/nhảy tới điều vẫn hoạt động */
/* 1.50: không đặt trên .s-article (paint containment cắt mất nút công cụ nằm ngoài lề phải) – đặt trên khoản */
@media screen{.legal .s-article > .s-clause{content-visibility:auto;contain-intrinsic-size:auto 120px}}

/* 1.49: Án lệ liên quan – số thứ tự 01, 02 như danh sách văn bản */
.prec-rel{list-style:none;padding-left:0;gap:0}
.prec-rel-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--rule-2)}
.prec-rel-row:first-child{border-top:0;padding-top:4px}
.prec-rel-num{flex:0 0 auto;width:38px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand);border:1px solid var(--brand-100);font:700 .98rem/1 var(--ui);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.prec-rel-body{min-width:0;flex:1}
@media (max-width:600px){.prec-rel-num{width:34px;height:28px;font-size:.9rem}}

/* 1.50: nút công cụ của điều trên màn hình hẹp / cảm ứng – nằm trong khung, không đè chữ, luôn thấy rõ.
   Máy tính màn hình rộng có chuột giữ nguyên vị trí ngoài lề phải. */
@media (max-width:900px),(hover:none){
  .legal .s-article:has(> .art-tools-btn) > h3{padding-right:44px}
  .legal .s-article > .art-tools-btn{right:0;top:-3px;width:36px;height:36px;opacity:1;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:10px;box-shadow:0 1px 2px rgba(10,40,70,.06)}
  .legal .s-article > .art-tools-btn .icon{width:19px;height:19px}
}

/* 1.52: Thống kê án lệ – thanh tỷ lệ dưới từng lĩnh vực (màu chính = số án lệ / tổng; nền xám = phần còn lại) */
.prec-fieldlist li{padding-bottom:8px}
.prec-fieldlist .pbar{position:absolute;left:10px;right:10px;bottom:3px;height:5px;border-radius:999px;background:var(--rule-2,#E6EAEF);overflow:hidden;z-index:0}
.prec-statlist.prec-fieldlist li .pbar i{position:static;display:block;height:100%;width:calc(100% * var(--w,0));background:var(--brand);opacity:1;border-radius:999px;transition:width .3s}
.prec-fieldlist li>a{padding-bottom:6px}
/* 1.53: Chuyển bài từ web cũ */
.lg-intro{max-width:880px;margin:-4px 0 14px}
.lg-steps{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 16px}
.lg-steps li{padding:6px 12px;border-radius:999px;background:var(--rule-2);color:var(--muted);font-size:.9rem}
.lg-steps li.cur{background:var(--brand);color:#fff}
.lg-steps li.done{background:var(--brand-50);color:var(--brand-700)}
.lg-steps li.done::after{content:" ✓"}
.lg-box{border:1px solid var(--rule);border-radius:12px;padding:14px 16px}
.lg-box h3{margin:0 0 6px;font-size:1rem}
.lg-state{margin-bottom:10px}
.lg-state .progress{margin-top:8px}
.lg-ok{color:var(--jade);font-weight:600}
.lg-err{color:var(--seal)}
.lg-checks{display:grid;gap:6px;margin:4px 0 14px}
.lg-checks label{display:flex;gap:8px;align-items:flex-start;font-size:.94rem}
.lg-checks input{margin-top:3px}
.lg-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.lg-head h2{margin:0}
.lg-table td{vertical-align:middle}
.lg-table .lg-c{width:34px;text-align:center}
.lg-table .num{text-align:right;white-space:nowrap}
.lg-name{display:inline-block;padding-left:calc(var(--d,0) * 22px);font-weight:600}
.lg-branch{color:var(--muted);margin-right:6px;font-weight:400}
.lg-slug{padding-left:calc(var(--d,0) * 22px)}
.lg-table tr .lg-slug{word-break:break-all}
.lg-select{width:100%;max-width:380px}
.lg-act{white-space:nowrap;text-align:right}
.lg-bar{margin-top:12px;flex-wrap:wrap;gap:8px;align-items:center}
.lg-run{margin-top:16px;border:1px solid var(--rule);border-radius:12px;padding:12px 14px;background:var(--paper)}
.lg-run-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.lg-run-head .btn{margin-left:auto}
.lg-log{max-height:260px;overflow:auto;margin:10px 0 0;padding-left:18px;font-size:.88rem}
.lg-log li{margin:2px 0}
.lg-log li.err{color:var(--seal)}
.lg-log li.warn{color:#8A5A00}
.lg-log li.ok{color:var(--jade);font-weight:600}
.lg-issues{margin:6px 0 10px;padding-left:18px;font-size:.92rem}
.lg-issues li{margin:3px 0}
@media (max-width:700px){.lg-select{max-width:none}.lg-act{text-align:left}}
html[data-theme=dark] .lg-log li.warn{color:#F2C46B}
html[data-theme=dark] .lg-ok,html[data-theme=dark] .lg-log li.ok{color:#7FD6A2}
.lg-roots{margin-top:6px;line-height:1.7}.lg-roots .btn-link{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;word-break:break-all}
/* 1.54: bộ lọc chuyên mục con ở trang quản trị */
.subfilter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px}
.subfilter-label{font-size:.86rem;color:var(--muted);margin-right:2px}
.sf-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);border-radius:999px;padding:5px 11px;font-size:.88rem;background:var(--sheet);color:var(--ink);text-decoration:none;line-height:1.3}
.sf-chip:hover{border-color:var(--brand);text-decoration:none}
.sf-chip b{font-weight:600;font-size:.78rem;color:var(--muted);background:var(--rule-2);border-radius:999px;padding:0 7px}
.sf-chip.on{background:var(--brand);border-color:var(--brand);color:#fff}
.sf-chip.on b{background:rgba(255,255,255,.22);color:#fff}
.sf-chip.sf-sub{border-style:dashed}
.sf-branch{color:var(--muted);margin-right:-2px}
.sf-chip.on .sf-branch{color:#fff}
/* 1.54: nút Đọc cùng hàng In & chia sẻ; LinkedIn/ứng dụng khác trong menu «Khác» */
.sh-speak:hover{border-color:var(--brand);color:var(--brand)}
.sh-speak.is-speaking{background:var(--brand);border-color:var(--brand);color:#fff}
.share-more{position:relative;display:inline-block}
.share-more>summary{list-style:none}
.share-more>summary::-webkit-details-marker{display:none}
.sh-more:hover,.share-more[open]>.sh-more{border-color:var(--brand);color:var(--brand)}
.share-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:190px;background:var(--sheet);border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 30px rgba(15,30,50,.14);padding:6px;display:grid;gap:2px}
.share-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--ink);font:600 .86rem var(--ui);text-align:left;cursor:pointer;text-decoration:none}
.share-item:hover{background:var(--brand-50);text-decoration:none}
.share-item .icon{width:16px;height:16px;color:var(--brand)}
.share-item[hidden]{display:none}
.share-item.sh-in:hover{background:#E8F1FA;color:#0A66C2}
.share-item.sh-in:hover .in-mark{background:#0A66C2;color:#fff}
@media (max-width:640px){.share-menu{left:auto;right:0}}
article.sheet > .share-bar{margin-bottom:14px}
/* 1.55: mô tả ảnh – chữ nhỏ màu xám dưới ảnh; không có mô tả thì không hiện */
.source-html figcaption:empty,.art-figure figcaption:empty{display:none}
.art-figure{margin:0 0 16px}
.art-figure img{display:block;width:100%;border-radius:var(--r)}
.art-figure figcaption,.source-html figcaption{font-size:.85rem;line-height:1.45;color:var(--muted);text-align:center;margin-top:6px;font-style:normal}
.wy-area figcaption{font-size:.85rem;color:var(--muted);text-align:center;min-height:1.3em;outline:1px dashed transparent}
.wy-area figcaption:empty::before{content:"Nhập mô tả ảnh (để trống nếu không cần)";color:var(--muted);opacity:.7}
.wy-area figcaption:focus{outline-color:var(--rule)}
/* 1.55: khung Chứng khoán ở cột phải trang chủ */
.mw-stock-table td:nth-child(2){font-weight:600;font-variant-numeric:tabular-nums}
.mw-stock-table .st-chg{white-space:nowrap;font-variant-numeric:tabular-nums}
.mw-stock-table .st-pct{display:block;font-size:.78rem}
.mw-stock-table tr.st-up .st-chg{color:#13804A}
.mw-stock-table tr.st-down .st-chg{color:#C62828}
.mw-stock-table tr.st-flat .st-chg{color:#B07A00}
.mw-tv{height:var(--tv-h,220px);margin:4px 0 2px}
.mw-tv iframe{width:100%;height:100%;border:0;display:block}
.mw-portals{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed var(--rule)}
.mw-portals a{font-weight:600}
html[data-theme=dark] .mw-stock-table tr.st-up .st-chg{color:#6FD39B}
html[data-theme=dark] .mw-stock-table tr.st-down .st-chg{color:#FF8A80}
html[data-theme=dark] .mw-stock-table tr.st-flat .st-chg{color:#F2C46B}
/* 1.56: mã nhúng tiện ích giá vàng / chứng khoán */
.mw-embed{max-width:100%;overflow-x:auto;margin:4px 0}
.mw-embed iframe{max-width:100%;border:0}
.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84rem}
/* 1.57: nhắc bộ đề đang Nháp */
.quiz-draft-note{display:flex;gap:10px;align-items:flex-start}
.quiz-draft-note>.icon{flex:none;margin-top:2px;color:var(--amber)}
.quiz-draft-note form{margin-left:6px}
/* 1.58: xác minh tất cả quan hệ; gợi ý SEO */
.rel-verify-all{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:4px 0 12px;padding:10px 12px;border:1px dashed var(--rule);border-radius:var(--r);background:var(--brand-50)}
.rel-verify-all label{display:inline-flex;gap:5px;align-items:center}
.seo-suggest-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:-4px}
/* 1.59: sửa văn bản đã xuất bản – nút Lưu rõ ràng, sửa quan hệ tại chỗ */
.edit-live-note{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap;line-height:1.6}
.edit-live-note .icon{flex:none;margin-top:3px;color:var(--brand)}
.rel-edit{display:inline-block}
.rel-edit[open]{display:block;margin-top:8px}
.rel-edit-form{margin-top:8px;padding:12px;border:1px solid var(--line,#dde3ea);border-radius:10px;background:var(--brand-50,#f2f8fc)}
.rel-edit-form .grid{gap:8px 12px}
/* 1.59: chân chuông thông báo – 3 nút nhỏ trên cùng một dòng */
.nb-foot.nb-foot3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;border-top:1px solid var(--rule-2);margin-top:4px;padding-top:4px}
.nb-foot.nb-foot3 form{margin:0;display:block}
.nb-foot.nb-foot3 .nb-act{justify-content:center;gap:4px;padding:7px 4px;font:500 .76rem/1.2 var(--ui);white-space:nowrap;color:var(--brand)}
.nb-foot.nb-foot3 .nb-act .icon{width:14px;height:14px;flex:none}
.nb-foot.nb-foot3 .nb-act.nb-clear{color:var(--seal)}
.nb-foot.nb-foot3 .nb-act:disabled{opacity:.45;cursor:default;background:none}
.ws-bell .user-menu-list{max-height:min(70vh,560px);overflow:auto}
.ws-bell .user-menu-list .nb-sub{border-top:1px solid var(--rule-2);margin-top:4px;padding-top:6px}
.ws-bell .user-menu-list{min-width:320px;max-width:min(380px,94vw)}
/* 1.59: trang Thông báo – chọn từng thông báo / tất cả để xoá */
.ntf-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.ntf-tools .check{margin:0}
.ntf-row{display:flex;align-items:flex-start;gap:4px;border-bottom:1px solid var(--rule-2)}
.ntf-row:last-child{border-bottom:0}
.ntf-row .ntf-item{flex:1;border-bottom:0;min-width:0}
.ntf-pick{flex:none;display:flex;align-items:center;padding:14px 2px 0 8px;cursor:pointer}
.ntf-pick input{width:18px;height:18px}
.nb-foot.nb-foot3{position:sticky;bottom:-6px;background:var(--sheet);margin-bottom:-6px;padding-bottom:6px;z-index:1}
/* 1.61: biểu mẫu kèm theo văn bản (trang Tải về) */
.dl-sub{font-size:1rem;margin:20px 0 10px;scroll-margin-top:calc(var(--head-h,70px) + 12px)}
.dl-form strong{line-height:1.35}
.form-files li > div:first-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* 1.63: thao tác từng mục trong lô nhập liệu */
.imp-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:150px}
.imp-acts form{margin:0}
/* 1.64: đối chiếu hiệu lực với nguồn tin cậy */
.es-stats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.es-stats a.stat{color:inherit;text-decoration:none}
.es-stats .stat em{font-style:normal;margin-left:4px}
.es-tag{display:inline-block;padding:1px 8px;border-radius:999px;font:600 .74rem/1.6 var(--ui);background:var(--brand-50,#EEF4FA);color:var(--muted);white-space:nowrap}
.es-tag.on{background:#E3F4EA;color:#13804A}
.es-tag.warn{background:#FFF3D6;color:#8A5A00}
.es-tag.err{background:#FDE7E7;color:#B42318}
.es-preview{margin-top:12px;padding:10px 12px;border:1px dashed var(--rule);border-radius:10px;display:grid;gap:4px}
.es-doc{margin:0 0 12px;padding:10px 12px;border:1px solid var(--rule-2);border-radius:10px;background:var(--brand-50,#F4F8FB)}
/* 1.68 – đối chiếu quan hệ với lược đồ nguồn */
.rc-st{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;white-space:nowrap;border:1px solid currentColor}
.rc-ok{color:var(--jade)}.rc-warn{color:var(--amber)}.rc-bad{color:var(--seal)}
.rel-compare textarea{font:inherit;font-size:.85rem}
.find-hint{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} /* 1.73 */

/* 1.75: khung hỏi đáp AI cao bằng màn hình – lịch sử cuộn bên trong, ô nhập luôn ở đáy khung (không bị đẩy xuống dưới trang) */
.chat-main{height:calc(100vh - 150px);height:calc(100dvh - 150px);min-height:460px}
.chat-log{min-height:0;position:relative;overscroll-behavior:contain}
@media (max-width:860px){.chat-main{height:calc(100dvh - 120px);min-height:420px}}

/* 1.80: mã giảm giá công khai */
.coupon-promo{border:1px dashed var(--jade);background:color-mix(in srgb,var(--jade) 7%,var(--sheet));border-radius:var(--r);padding:12px 14px;margin:0 0 16px}
.coupon-promo ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.coupon-promo li{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.coupon-code{font-weight:700;letter-spacing:.06em;padding:2px 8px;border:1px solid var(--jade);border-radius:6px;color:var(--jade)}
.promo-bar{background:var(--brand);color:#fff;font-size:.9rem}
.promo-bar .wrap{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
.promo-bar code{background:rgba(255,255,255,.18);padding:1px 6px;border-radius:4px;color:#fff;font-weight:700}
.promo-bar .btn-link{color:#fff;text-decoration:underline}.promo-bar .muted{color:rgba(255,255,255,.75)}
.promo-x{margin-left:auto;background:none;border:0;color:#fff;font-size:1rem;cursor:pointer;padding:2px 6px}
.promo-bar .btn{background:#fff;color:var(--brand);border-color:#fff}
/* 1.86: chọn cách xác thực 2 bước, nút dạng liên kết */
.twofa-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:8px}
.twofa-choice{display:flex;flex-direction:column;gap:6px;align-items:flex-start;border:1px solid var(--line,#e2e8f0);border-radius:10px;padding:12px}
.twofa-choice strong{display:flex;gap:6px;align-items:center}
.link-btn{background:none;border:0;padding:0;color:var(--brand,#1d5fa8);text-decoration:underline;cursor:pointer;font:inherit}
.unlock-field{background:var(--amber-soft,#fff7e6);border:1px solid #EAD3A6;border-radius:10px;padding:10px 12px}
.edit-bar{margin:6px 0 4px}
.edit-link{gap:6px}
/* 1.86: quản lý chuyên mục */
.cat-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.cat-tabs a{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;border:1px solid var(--line,#e2e8f0);border-radius:999px;text-decoration:none;color:inherit}
.cat-tabs a.active{background:var(--brand,#1d5fa8);border-color:var(--brand,#1d5fa8);color:#fff}
.cat-tree{list-style:none;margin:0;padding:0}
.cat-row{margin:0 0 6px calc(var(--depth,0) * 22px);border:1px solid var(--line,#e2e8f0);border-radius:10px;padding:6px 10px}
.cat-row summary{display:flex;gap:10px;align-items:center;flex-wrap:wrap;cursor:pointer}
.cat-name{flex:1;min-width:160px}
.cat-branch{color:var(--muted,#94a3b8);margin-right:4px}
.cat-actions{display:flex;gap:4px}
.cat-actions form{margin:0}
.cat-form{margin:10px 0}
.seo-box{border:1px dashed var(--line,#e2e8f0);border-radius:10px;padding:8px 12px}
@media (max-width:900px){.cat-grid{grid-template-columns:1fr!important}}
.cat-intro{margin:0 0 14px}
.cat-kids{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.cat-kids .chip{display:inline-block;padding:4px 10px;border:1px solid var(--line,#e2e8f0);border-radius:999px;text-decoration:none;font-size:.9rem}
.explain-chip{display:flex;gap:8px;align-items:flex-start;background:var(--blue-soft,#eef5ff);border:1px solid #c9dcf5;border-radius:10px;padding:8px 10px;margin:0 0 8px;font-size:.92rem}
.explain-chip span{flex:1}
.explain-chip .btn-icon{background:none;border:0;font-size:1.2rem;line-height:1;cursor:pointer;color:inherit}
/* 1.87: Trung tâm cài đặt theo nhóm */
.hub-jump{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
.hub-jump a{display:inline-flex;gap:6px;align-items:center;padding:6px 11px;border:1px solid var(--rule);border-radius:999px;font-size:.88rem;color:var(--ink);text-decoration:none;background:var(--sheet)}
.hub-jump a:hover{border-color:var(--brand)}
.hub-group{border:1px solid var(--rule);border-radius:var(--r-card,14px);padding:14px 16px 16px;margin:0 0 16px;background:var(--paper,transparent);scroll-margin-top:80px}
.hub-group-head{display:flex;gap:12px;align-items:center;margin:0 0 12px}
.hub-group-head .hub-sec{margin:0}
.hub-group-head p{margin:2px 0 0}
.hub-card{flex-direction:column;align-items:stretch;gap:8px}
.hub-main{display:flex;gap:12px;align-items:flex-start;color:inherit;text-decoration:none}
.hub-main:hover strong{color:var(--brand)}
.hub-subs{display:flex;flex-wrap:wrap;gap:5px;padding-left:46px}
.hub-subs a{font-size:.8rem;padding:2px 8px;border-radius:999px;background:var(--brand-soft,#eef5fb);color:var(--brand);text-decoration:none}
.hub-subs a:hover{text-decoration:underline}
/* 1.89: giảm giá gói */
.plan-price{font-size:1.5rem;font-weight:700;margin:0}
.plan-amount{display:inline-block}
.plan-off{color:#d92d20;font-size:.55em;font-weight:800;line-height:1;vertical-align:top;position:relative;top:-.15em;margin-left:.2em}
.plan-was{color:var(--muted,#64748b);text-decoration:line-through;font-size:.92rem;margin-top:2px}
.plan-until{color:#d92d20;margin:2px 0 0}
/* 1.89: thanh dung lượng lưu trữ */
.storage-panel{margin:0 0 14px}
.storage-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.storage-pct{color:var(--muted,#64748b)}
.storage-bar{display:flex;height:16px;border-radius:999px;background:var(--rule,#e5e7eb);overflow:hidden}
.storage-bar span{display:block;height:100%}
.storage-bar span+span{box-shadow:inset 2px 0 0 rgba(255,255,255,.7)}
.storage-legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:10px 0 0;font-size:.9rem}
.storage-legend i,.quota-mini i{display:inline-block}
.storage-legend i{width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.q-image{background:#2563eb}.q-document{background:#0d9488}.q-other{background:#a855f7}.q-trash{background:#f59e0b}.q-free{background:var(--rule,#e5e7eb);border:1px solid #cbd5e1}
.storage-warn .storage-pct{color:#b45309;font-weight:700}
.storage-danger .storage-pct{color:#d92d20;font-weight:700}
.quota-mini{display:inline-flex;width:80px;height:6px;border-radius:999px;background:var(--rule,#e5e7eb);overflow:hidden;vertical-align:middle;margin-left:6px}
.quota-mini i{height:100%}
/* 1.89: gói chờ thanh toán */
.pending-pay{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-color:#f5c26b;background:linear-gradient(90deg,#fff8eb,transparent);margin:0 0 14px}
.pending-pay-main{display:flex;gap:12px;align-items:flex-start}
.pending-pay-perks{margin:6px 0 0;padding-left:18px;color:var(--ink-2,#475569)}
.ntf-action{margin-top:6px;align-self:flex-start;pointer-events:none}
.nb-action{display:block;color:var(--brand);font-size:.82rem;margin-top:2px}

/* ===================================================================================
   1.90 – Tinh chỉnh toàn trang: ô nhập, nút, khung viền, bảng, thông báo.
   Viết bằng :where() (độ ưu tiên 0) để mọi kiểu riêng của từng thành phần vẫn thắng; màu theo biến nên tự hợp chế độ tối.
   =================================================================================== */
:root{--ctl-h:42px;--ctl-border:#C9D0C8;--ctl-border-hover:#97A39C;--ease:cubic-bezier(.2,.7,.2,1);
  --ring:0 0 0 4px color-mix(in srgb,var(--brand) 18%,transparent);--ring-err:0 0 0 4px color-mix(in srgb,var(--seal) 16%,transparent);
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B6470' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  --tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
html[data-theme=dark]{--ctl-border:#34485B;--ctl-border-hover:#4E687F;
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2393A3B3' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* ---- Ô nhập liệu ---- */
:where(input:not([type]),input[type=tel],input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week],input[type=number],input[type=search],select,textarea){
  min-height:var(--ctl-h);border:1px solid var(--ctl-border);border-radius:var(--r-ctl);background-color:var(--sheet);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease)}
:where(input,select,textarea):hover:not(:focus):not(:disabled){border-color:var(--ctl-border-hover)}
:where(input,select,textarea):focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}
:where(input,select,textarea):user-invalid{border-color:var(--seal)}
:where(input,select,textarea):user-invalid:focus{box-shadow:var(--ring-err)}
:where(.field:has(.error)) :where(input,select,textarea){border-color:var(--seal)}
:where(input,textarea)::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}
/* hộp chọn: mũi tên gọn thay mũi tên mặc định */
select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;background-image:var(--chev);background-repeat:no-repeat;
  background-position:right 12px center;background-size:16px;padding-right:38px;cursor:pointer}
:where(select[multiple]){padding:6px}
/* ngày giờ, số, tệp */
:where(input)::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer;transition:opacity .15s}
:where(input):hover::-webkit-calendar-picker-indicator{opacity:1}
html[data-theme=dark] :where(input)::-webkit-calendar-picker-indicator{filter:invert(.85)}
:where(input[type=file]){font-size:.9rem;color:var(--muted)}
:where(input[type=file])::file-selector-button{margin-right:10px;padding:7px 14px;border:1px solid var(--brand-100);border-radius:var(--r-ctl);
  background:var(--brand-50);color:var(--brand-900);font:600 .86rem var(--ui);cursor:pointer;transition:background .15s,border-color .15s}
:where(input[type=file])::file-selector-button:hover{border-color:var(--brand)}
/* hộp kiểm, nút chọn: dấu tích rõ, có hiệu ứng */
:where(input[type=checkbox]:not([role=switch])),:where(input[type=radio]){appearance:none;-webkit-appearance:none;margin:0;width:18px;height:18px;flex:none;
  display:inline-grid;place-content:center;border:1.6px solid var(--ctl-border-hover);background:var(--sheet) center/12px no-repeat;cursor:pointer;
  vertical-align:-3px;transition:background-color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .1s}
:where(input[type=checkbox]:not([role=switch])){border-radius:5px}
:where(input[type=radio]){border-radius:50%}
:where(input[type=checkbox]:not([role=switch])):checked{background-color:var(--brand);border-color:var(--brand);background-image:var(--tick)}
:where(input[type=checkbox]:not([role=switch])):indeterminate{background-color:var(--brand);border-color:var(--brand);
  background-image:linear-gradient(#fff,#fff);background-size:9px 2.5px}
:where(input[type=radio]):checked{border-color:var(--brand);box-shadow:inset 0 0 0 4px var(--sheet);background-color:var(--brand)}
:where(input[type=checkbox],input[type=radio]):hover:not(:disabled){border-color:var(--brand)}
:where(input[type=checkbox],input[type=radio]):focus-visible{outline:none;box-shadow:var(--ring)}
:where(input[type=radio]:checked):focus-visible{box-shadow:inset 0 0 0 4px var(--sheet),var(--ring)}
:where(input[type=checkbox],input[type=radio]):active:not(:disabled){transform:scale(.92)}
:where(input[type=checkbox],input[type=radio]):disabled{opacity:.5;cursor:not-allowed}
.check{align-items:center;padding:5px 8px;margin:0 -8px;border-radius:8px;cursor:pointer;transition:background-color .15s}
.check:hover{background:color-mix(in srgb,var(--brand-50) 70%,transparent)}
.check input{margin-top:0}
/* nhãn, gợi ý, lỗi */
label{letter-spacing:.005em}
.field:has(> :is(input,select,textarea):required, > .pw-wrap > input:required) > label:not(.check)::after{content:" *";color:var(--seal);font-weight:700}
.error::before{content:"";flex:none;width:14px;height:14px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E") center/contain no-repeat}
/* các trường xếp cạnh nhau: nhãn dài xuống dòng không làm lệch hàng ô nhập (subgrid: nhãn | ô | lỗi | gợi ý) */
@supports (grid-template-rows:subgrid){
  .grid:is(.g2,.g3,.g4) > .field{display:grid;grid-row:span 4;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);min-width:0;row-gap:0;align-content:start}
  .grid:is(.g2,.g3,.g4) > .field > label{align-self:end}
  .grid:is(.g2,.g3,.g4):has(> .field){row-gap:0;column-gap:14px}
}
/* nhóm trường */
fieldset{border:1px solid var(--rule-2);border-radius:var(--r-card);padding:12px 16px 4px;margin:0 0 16px;background:color-mix(in srgb,var(--paper) 45%,transparent)}
legend{padding:0 8px;margin-left:-4px;font-weight:700;font-size:.88rem;color:var(--ink-2)}
.seo-box{border-style:solid}
/* hiện/ẩn mật khẩu */
.pw-wrap{position:relative;display:block}
.pw-wrap > input{padding-right:46px}
.pw-eye{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:8px;
  background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.pw-eye:hover{background:var(--brand-50);color:var(--brand)}
.pw-eye .icon{width:19px;height:19px}
/* 1.91: con mắt nằm trong ô, góc phải; đổi biểu tượng theo trạng thái */
.pw-wrap .pw-ico-hide{display:none}
.pw-wrap.is-shown .pw-ico-show{display:none}
.pw-wrap.is-shown .pw-ico-hide{display:block}
.pw-wrap.is-shown .pw-eye{color:var(--brand)}
.pw-eye:focus-visible{outline:none;box-shadow:var(--ring)}
.pw-warn{margin-top:6px;padding:8px 10px;border-radius:8px;background:var(--amber-soft);color:#6A4400;font-size:.84rem;line-height:1.45;border:1px solid #E8D3A8}
.pw-warn kbd{font:600 .78rem var(--ui);padding:1px 5px;border:1px solid #D9BE85;border-bottom-width:2px;border-radius:4px;background:#fff}
html[data-theme=dark] .pw-warn{color:#F2C46B;border-color:#5a4520}
html[data-theme=dark] .pw-warn kbd{background:#1d2a36;border-color:#5a4520}

/* ---- Nút bấm ---- */
.btn{min-height:40px;transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s,box-shadow .18s var(--ease),transform .12s var(--ease)}
.btn:hover:not(:disabled):not(.is-loading){transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,32,52,.10)}
.btn:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:var(--shadow-1)}
.btn-primary,.btn-jade{background-image:linear-gradient(180deg,color-mix(in srgb,#fff 10%,var(--brand)),var(--brand))}
.btn-primary:hover:not(:disabled),.btn-jade:hover:not(:disabled){background-image:none;box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 32%,transparent)}
.btn-danger:hover:not(:disabled){background:var(--seal);border-color:var(--seal);color:#fff}
.btn-sm{min-height:34px}
.btn .icon{width:17px;height:17px;transition:transform .18s var(--ease)}
.btn:hover .icon{transform:scale(1.08)}
.btn.is-loading{position:relative;pointer-events:none;opacity:.88}
.btn.is-loading::after{content:"";width:15px;height:15px;margin-left:4px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-spin .7s linear infinite}
@keyframes ui-spin{to{transform:rotate(360deg)}}

/* ---- Khung, thẻ ---- */
.panel{transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}
a.panel:hover,.panel.is-link:hover,.hub-card:hover{border-color:var(--brand-100);box-shadow:0 8px 24px rgba(16,32,52,.08)}
details > summary{cursor:pointer;border-radius:8px;transition:color .15s}
details > summary:hover{color:var(--brand)}

/* ---- Bảng ---- */
.table-wrap{border:1px solid var(--rule-2);box-shadow:var(--shadow-1);background:var(--sheet)}
.table tbody tr:nth-child(even){background:color-mix(in srgb,var(--paper) 55%,transparent)}
.table tbody tr:hover{background:var(--brand-50)}
.table td,.table th{vertical-align:middle}

/* ---- Thông báo nhanh: thêm biểu tượng theo loại ---- */
.flash{position:relative;padding:12px 16px 12px 46px;box-shadow:var(--shadow-1);animation:ui-in .3s var(--ease)}
.flash::before{content:"";position:absolute;left:15px;top:13px;width:20px;height:20px;background:currentColor;-webkit-mask:var(--fi) center/contain no-repeat;mask:var(--fi) center/contain no-repeat}
.flash-success{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E")}
.flash-error{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E")}
.flash-warning,.flash-info{--fi:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E")}
@keyframes ui-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ---- Nhãn trạng thái, thẻ ---- */
.status{transition:filter .15s}
.tag{border-radius:999px}

/* ---- Vòng biểu đồ trên ô thống kê (lượt hỏi AI còn lại) ---- */
.dstat-ring{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#fff calc(var(--p,0) * 1%),rgba(255,255,255,.22) 0)}
.dstat-ring > span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.18)}
.dstat-ring .icon{width:20px;height:20px;color:#fff}

/* ---- Di động: vùng bấm ≥ 44px, chữ ô nhập 16px để không bị phóng to trên iPhone ---- */
@media (max-width:760px){
  :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){font-size:16px;min-height:46px}
  .btn{min-height:44px}.btn-sm{min-height:38px}
  .check{padding:8px;margin:0 -8px}
}
@media (prefers-reduced-motion:reduce){.btn,.btn .icon,.flash,:where(input,select,textarea){transition:none;animation:none}.btn:hover:not(:disabled){transform:none}}
/* 1.92: menu người dùng ở thanh trên trang tài khoản/quản trị */
.ws-user .ws-me{border:0;background:none;padding:2px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:box-shadow .15s}
.ws-user .ws-me:hover,.ws-user.open .ws-me{box-shadow:0 0 0 3px var(--brand-100)}
.ws-user-list{min-width:260px}
.ws-user-head{flex-direction:row;align-items:center;gap:10px}
.ws-user-head > span{display:flex;flex-direction:column;min-width:0}
.ws-user-head .avatar-sm{width:40px;height:40px;flex:none}
.ws-user-plan{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:.76rem;font-weight:600;color:var(--brand);background:var(--brand-50);border-radius:999px;padding:1px 8px;align-self:flex-start}
.ws-user-plan .icon{width:12px;height:12px}
/* 1.92: nút X đóng thẻ gói chờ thanh toán */
.pending-pay{position:relative;padding-right:48px}
.pending-pay-x{position:absolute;top:8px;right:8px;margin:0}
.pending-pay-x button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.pending-pay-x button:hover{background:rgba(0,0,0,.06);color:var(--ink)}
.pending-pay-x .icon{width:18px;height:18px}
.pending-pay.is-closing{opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s}
/* 1.92: khung chạy nền */
.bgrun{margin:0 0 16px;border-left:4px solid var(--brand)}
.bgrun-paused{border-left-color:#d97706}.bgrun-done{border-left-color:var(--jade)}.bgrun-cancelled{border-left-color:var(--muted)}.bgrun-failed{border-left-color:var(--seal)}
.bgrun-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.bgrun-actions{margin-left:auto;display:flex;gap:6px}
.bgrun-actions form{margin:0}
.bgrun-pill{font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--brand-50);color:var(--brand-900)}
.bgrun-paused .bgrun-pill{background:var(--amber-soft);color:var(--amber)}
.bgrun-done .bgrun-pill{background:var(--jade-soft);color:var(--jade)}
.bgrun-failed .bgrun-pill{background:var(--seal-soft);color:var(--seal)}
.bgrun-bar{height:10px;border-radius:999px;background:var(--rule-2);overflow:hidden;margin:0 0 8px}
.bgrun-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#22c55e));border-radius:999px;transition:width .6s var(--ease,ease)}
.bgrun-running .bgrun-bar span{background-size:28px 28px;background-image:linear-gradient(45deg,rgba(255,255,255,.22) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.22) 50%,rgba(255,255,255,.22) 75%,transparent 75%),linear-gradient(90deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#22c55e));animation:bg-stripe 1s linear infinite}
@keyframes bg-stripe{to{background-position:28px 0,0 0}}
.bgrun-msg{margin:0 0 4px;font-weight:500}
.bgrun-log ul{margin:6px 0 0;padding-left:18px;max-height:180px;overflow:auto}
/* 1.93: duyệt hàng loạt văn bản tác động */
.inc-bulk{border:1px solid #f5c26b;background:linear-gradient(90deg,#fff8eb,transparent);border-radius:var(--r-card);padding:10px 12px;margin:6px 0 10px}
.inc-bulk-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.inc-bulk-head .icon{color:#d97706}
.inc-bulk-bar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-bottom:6px}
.inc-bulk-bar .check{margin:0}
.inc-list li{display:flex;align-items:center;gap:6px 8px;flex-wrap:wrap}
.inc-list li.is-pending{background:color-mix(in srgb,#fff8eb 70%,transparent);border-radius:8px;padding:4px 8px;margin:2px -8px}
html[data-theme=dark] .inc-bulk{background:rgba(217,119,6,.08);border-color:#5a4520}
html[data-theme=dark] .inc-list li.is-pending{background:rgba(217,119,6,.08)}
