.admin-section-nav{display:flex;gap:8px;overflow:auto;margin:-8px 0 18px;padding:8px 0}.admin-section-nav a{white-space:nowrap;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800;color:var(--green-dark)}
.admin-dashboard-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;margin-bottom:18px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.section-heading h2{margin:0}.section-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}.table-heading{padding:24px 28px 0}.version-chip{padding:7px 11px;border-radius:999px;background:var(--mint);color:var(--green-dark);font-weight:900;font-size:13px}
.module-check-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}.module-check-list li{display:flex;align-items:center;gap:11px;border:1px solid #e2ece7;border-radius:14px;padding:11px}.module-check-list strong,.module-check-list small{display:block}.module-check-list small{color:var(--muted);margin-top:3px}.module-status{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-weight:900}.module-status.ok{background:#ddf5eb;color:#086146}.module-status.warn{background:#fff0d3;color:#805300}
.upgrade-form{margin-top:18px;border:1px dashed #a9c8bc;border-radius:16px;padding:18px;background:#f7fcf9}.upgrade-form input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.upgrade-form label{margin-bottom:9px}.upgrade-form small{display:block;color:var(--muted);line-height:1.5}.disabled-control{opacity:.5;pointer-events:none}.update-history{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.update-history h3{font-size:14px;margin:0 0 8px}.update-history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #edf2f0}.update-history-row span:first-child strong,.update-history-row span:first-child small{display:block}.update-history-row small{color:var(--muted);margin-top:3px}
.settings-grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.settings-grid-form label{display:grid;gap:7px;font-size:13px;font-weight:800}.settings-grid-form input{min-height:44px;border:1px solid #c8d9d2;border-radius:12px;padding:9px 12px;outline:0}.settings-grid-form input:focus{border-color:#38a181;box-shadow:0 0 0 4px #e0f4ed}.settings-submit{grid-column:1/-1;display:flex;align-items:center;gap:13px}.settings-submit small{color:var(--muted)}
.availability{float:right;font-weight:800}.availability.checking{color:#78672e}.availability.available{color:#08755a}.availability.unavailable{color:#a9342b}
.system-modal[hidden]{display:none}.system-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:18px}.system-modal-backdrop{position:absolute;inset:0;background:rgba(7,45,35,.6);backdrop-filter:blur(3px)}.system-modal-card{position:relative;width:min(500px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 28px 100px rgba(0,0,0,.28)}.system-modal-card h2{margin:12px 0 8px}.system-modal-card>p{color:var(--muted);line-height:1.6}.modal-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--mint);color:var(--green);font-size:26px;font-weight:900}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.modal-open{overflow:hidden}
.site-footer{border-top:1px solid var(--line);background:#f1f8f5;color:var(--ink);padding:20px 16px}.site-footer-inner{width:min(1200px,100%);margin:0 auto;text-align:center}.site-footer-details{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;margin-top:8px}.site-footer a{color:var(--green-dark);font-weight:700;text-decoration:none}.site-footer small{display:block;color:var(--muted);margin-top:8px}.auth-page .site-footer{width:100vw;align-self:end}
.reload-overlay{position:fixed;inset:0;z-index:250;display:grid;place-items:center;padding:20px;background:rgba(6,49,38,.58);backdrop-filter:blur(5px)}.reload-card{width:min(410px,100%);border:1px solid #d4e5de;border-radius:24px;background:#fff;padding:30px;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.3)}.reload-card h2{margin:14px 0 7px}.reload-card p{margin:0;color:var(--muted)}.reload-success{display:grid;place-items:center;width:56px;height:56px;margin:auto;border-radius:18px;background:#dcf6e9;color:#08755a;font-size:30px;font-weight:900}.reload-spinner{display:block;width:28px;height:28px;margin:20px auto 0;border:3px solid #cce7dd;border-top-color:#08755a;border-radius:50%;animation:reload-spin .75s linear infinite}@keyframes reload-spin{to{transform:rotate(360deg)}}
@media(max-width:760px){.admin-dashboard-grid,.settings-grid-form{grid-template-columns:1fr}.settings-submit{align-items:flex-start;flex-direction:column}.admin-section-nav{margin-top:0}.system-modal-card{padding:22px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}

/* V2.6.7 — Login + Admin UI refinement */
.login-card-v264{width:min(520px,100%);padding:34px;border-radius:26px}.login-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:26px 0 22px}.login-title-row h1{margin:3px 0 6px}.login-kicker{margin:0!important;color:var(--green)!important;font-size:12px!important;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.login-subtitle{margin:0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.55!important}.login-secure-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#e8f6f0;color:var(--green-dark);font-size:11px;font-weight:850}.login-logout-note{margin-bottom:16px}.google-login-heading{display:grid;gap:3px;text-align:center}.google-login-heading strong{font-size:13px}.google-login-heading span{color:var(--muted);font-size:11px;line-height:1.45}.google-login-box{padding:14px;border:1px solid #dce9e4;border-radius:15px;background:#fbfdfc}.logout-transition-page{min-height:100vh}.logout-transition-card{width:min(420px,calc(100% - 32px));padding:34px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow);text-align:center}.logout-transition-card h1{margin:18px 0 8px;font-size:24px}.logout-transition-card p{margin:0;color:var(--muted);line-height:1.55}.logout-transition-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto;border-radius:16px;background:var(--green);color:#fff;font-weight:900}.logout-transition-spinner{width:30px;height:30px;margin:22px auto 0;border:3px solid #d8ebe4;border-top-color:var(--green);border-radius:50%;animation:v264-spin .75s linear infinite}@keyframes v264-spin{to{transform:rotate(360deg)}}

.admin-body{background:#f5f8f7}.admin-page{max-width:1500px}.admin-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:14px;padding:24px 26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#f3faf7);box-shadow:0 10px 36px rgba(8,85,65,.07)}.admin-hero h1{margin:0;font-size:clamp(28px,4vw,40px);letter-spacing:-.035em}.admin-hero p:not(.eyebrow){max-width:720px;margin:7px 0 0;color:var(--muted)}.admin-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.admin-version-pill{display:inline-flex;align-items:center;min-height:42px;padding:8px 13px;border-radius:12px;background:var(--green-dark);color:#fff;font-size:12px;font-weight:850}.admin-section-nav-v264{position:sticky;top:70px;z-index:20;margin:0 0 14px;padding:7px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 6px 22px rgba(8,85,65,.06);backdrop-filter:blur(12px)}.admin-section-nav-v264 a{border:0;background:transparent;padding:8px 12px}.admin-section-nav-v264 a:hover{background:#edf6f2}.admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-metrics article{min-width:0;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff}.admin-metrics strong,.admin-metrics span,.admin-metrics small{display:block}.admin-metrics strong{margin:4px 0 2px;color:var(--green-dark);font-size:25px;line-height:1}.admin-metrics small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.metric-label{color:#4f665e;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.admin-overview-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:14px;margin-bottom:14px}.admin-settings-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:14px;margin-bottom:14px}.admin-card-compact{padding:20px;border-radius:18px;box-shadow:0 8px 28px rgba(8,85,65,.05)}.admin-card-heading{margin-bottom:13px}.admin-card-heading .eyebrow{font-size:10px;margin-bottom:5px}.admin-card-heading h2{font-size:19px}.admin-card-heading p{font-size:12px}.module-check-grid{grid-template-columns:1fr 1fr;gap:7px}.module-check-grid li{min-width:0;padding:9px;border-radius:11px}.module-check-grid .module-status{width:27px;height:27px;border-radius:8px;font-size:12px}.module-check-grid strong{font-size:12px}.module-check-grid small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-inline-link{display:inline-flex;margin-top:12px;color:var(--green);font-size:12px;font-weight:800;text-decoration:none}.upgrade-safety-list{display:grid;gap:7px;margin:0 0 12px}.upgrade-safety-list span{padding:8px 10px;border-radius:10px;background:#f1f8f5;color:#3e5f54;font-size:11px;font-weight:700}.upgrade-form-v264{margin-top:12px;padding:13px;border-radius:13px}.update-history-compact{margin-top:12px;padding-top:10px}.update-history-compact summary{cursor:pointer;color:var(--green-dark);font-size:12px;font-weight:800}.settings-grid-form-v264{grid-template-columns:1fr 1fr;gap:11px}.settings-grid-form-v264 label{font-size:12px}.settings-grid-form-v264 input{min-height:40px;border-radius:10px}.settings-grid-form-v264 .settings-submit{margin-top:2px}.footer-form-v264{grid-template-columns:1fr 1fr}.google-config-note{padding:9px 10px;font-size:11px}.admin-users-card{border-radius:18px}.admin-users-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 20px 14px}.admin-user-search{display:grid;gap:5px;min-width:min(320px,40vw);color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.admin-user-search input{width:100%;min-height:38px;border:1px solid #c8d9d2;border-radius:10px;padding:8px 11px;background:#fff;outline:0}.admin-user-search input:focus{border-color:#38a181;box-shadow:0 0 0 3px #e0f4ed}.admin-table-v264{min-width:980px}.admin-table-v264 th{padding:11px 13px;background:#f2f7f5}.admin-table-v264 td{padding:11px 13px}.admin-user-identity{display:flex;align-items:flex-start;gap:10px;min-width:250px}.admin-user-avatar{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:11px;background:#e5f3ed;color:var(--green-dark);font-weight:900}.google-linked-text{color:#08755a;font-weight:800}.row-actions-v264{flex-wrap:wrap;gap:5px}.row-actions-v264 .btn{min-height:30px;padding:5px 8px;border-radius:8px;font-size:10px}.admin-user-empty{margin:0;padding:20px;text-align:center;color:var(--muted);font-size:13px}.upgrade-modal-safety{display:grid;gap:4px;margin:16px 0;padding:13px;border:1px solid #dbe9e3;border-radius:13px;background:#f4faf7}.upgrade-modal-safety strong{font-size:13px}.upgrade-modal-safety span{color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:1050px){.admin-metrics{grid-template-columns:repeat(3,1fr)}.admin-overview-grid,.admin-settings-grid{grid-template-columns:1fr}.module-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.login-card-v264{padding:24px 20px}.login-title-row{margin-top:22px}.login-secure-badge{display:none}.admin-hero{align-items:flex-start;flex-direction:column;padding:19px}.admin-hero-actions{justify-content:flex-start}.admin-section-nav-v264{position:static}.admin-metrics{grid-template-columns:1fr 1fr}.module-check-grid,.settings-grid-form-v264,.footer-form-v264{grid-template-columns:1fr}.admin-users-heading{align-items:stretch;flex-direction:column}.admin-user-search{min-width:0;width:100%}.admin-card-compact{padding:17px}}
@media(max-width:420px){.admin-metrics{grid-template-columns:1fr}.admin-hero-actions .btn{width:100%}}

/* V2.6.69 — quản trị multi-workspace, phê duyệt và audit */
.workspace-admin-page{display:grid;gap:14px}.workspace-admin-page>.admin-hero,.workspace-admin-page>.admin-section-nav,.workspace-admin-page>.admin-metrics{margin-bottom:0}.workspace-switch-card{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:16px 20px;border-radius:17px}.workspace-switch-card form{flex:1}.workspace-switch-card label,.workspace-settings-grid label,.workspace-add-member label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:850}.workspace-switch-card select,.workspace-settings-grid input,.workspace-settings-grid select,.workspace-add-member input,.workspace-add-member select,.workspace-member-actions select,.workspace-decision-grid textarea{width:100%;min-height:40px;border:1px solid #c8d9d2;border-radius:10px;background:#fff;padding:8px 10px;color:var(--ink)}.workspace-switch-card>div{display:flex;align-items:center;gap:9px}.workspace-status-pill{border-radius:999px;padding:6px 10px;background:#eaf2ff;color:#245a9a;font-size:10px;font-weight:900}.workspace-status-pill.status-demo{background:#fff0ca;color:#805400}.workspace-status-pill.status-official{background:#ddf5eb;color:#086146}.workspace-switch-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.workspace-tkb-status{border:1px solid #d5dfdb;background:#f2f4f3;color:#52625c}.workspace-tkb-status.tkb-status-draft{border-color:#c9dafa;background:#eaf2ff;color:#245a9a}.workspace-tkb-status.tkb-status-adjustment{border-color:#f0d481;background:#fff3cd;color:#7a5200}.workspace-tkb-status.tkb-status-published{border-color:#cce7dc;background:#e9f5ef;color:#08755a}.workspace-tkb-status.tkb-status-empty{border-color:#d9dfdc;background:#f2f4f3;color:#5c6a65}.workspace-metrics strong{font-size:20px;line-height:1.15}.workspace-approval-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.workspace-approval-summary article{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#f8fbfa}.workspace-approval-summary span,.workspace-approval-summary small{color:var(--muted);font-size:10px}.workspace-approval-summary strong{font-size:15px;color:var(--green-dark);overflow-wrap:anywhere}.workspace-empty{display:grid;gap:5px;margin:12px 0;padding:16px;border:1px dashed #bfd4cc;border-radius:13px;background:#f7fbf9;color:var(--muted)}.workspace-empty strong{color:var(--ink)}.workspace-decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.workspace-decision-grid form{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:13px}.workspace-decision-grid textarea{min-height:80px;resize:vertical}.workspace-publish-form{display:flex;justify-content:flex-end;margin:13px 0}.workspace-history{margin-top:16px}.workspace-history>summary,.workspace-create>summary{cursor:pointer;color:var(--green-dark);font-weight:850}.workspace-history .table-scroll{margin-top:10px;border:1px solid var(--line);border-radius:12px}.workspace-member-actions{display:flex;align-items:center;gap:6px}.workspace-member-actions select{min-width:150px}.workspace-add-member{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) auto;align-items:end;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.workspace-audit-list{display:grid;gap:7px}.workspace-audit-list article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(220px,1.3fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fafcfb}.workspace-audit-list article>div{display:grid;gap:3px}.workspace-audit-list span,.workspace-audit-list small{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.workspace-audit-list code{font-size:10px;overflow-wrap:anywhere}.workspace-pagination{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.workspace-pagination a{display:grid;place-items:center;min-width:31px;height:31px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:11px;font-weight:800}.workspace-pagination a.active{background:var(--green);color:#fff}.workspace-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workspace-settings-grid>form{display:grid;gap:11px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fafcfb}.workspace-settings-grid p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.workspace-check{grid-template-columns:auto 1fr!important;align-items:start}.workspace-check input{width:18px!important;min-height:18px!important}.workspace-check span{display:grid;gap:3px}.workspace-check small{font-weight:500}.workspace-create{margin-top:15px}.workspace-create form{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(140px,.8fr) minmax(180px,1.1fr) auto;align-items:end;gap:9px;margin-top:10px}.workspace-create label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:850}.workspace-create-note{grid-column:1/-1;color:var(--muted);line-height:1.55}.workspace-create-name{min-width:0}.workspace-create input,.workspace-create select{width:100%;min-height:40px;border:1px solid #c8d9d2;border-radius:10px;background:#fff;padding:8px 10px;color:var(--ink)}.alert-warning{background:#fff8e7;color:#805400;border:1px solid #efd28e}@media(max-width:1100px){.workspace-create form{grid-template-columns:1fr 1fr}.workspace-create .btn{grid-column:1/-1}.workspace-create-note{grid-column:1/-1}}@media(max-width:980px){.workspace-approval-summary{grid-template-columns:1fr 1fr}.workspace-decision-grid,.workspace-settings-grid{grid-template-columns:1fr}.workspace-audit-list article{grid-template-columns:1fr}.workspace-member-actions{align-items:stretch;flex-direction:column}.workspace-add-member{grid-template-columns:1fr 1fr}.workspace-add-member .btn{grid-column:1/-1}}@media(max-width:620px){.workspace-switch-card{align-items:stretch;flex-direction:column}.workspace-switch-card>div{justify-content:space-between}.workspace-approval-summary,.workspace-add-member{grid-template-columns:1fr}.workspace-create form{grid-template-columns:1fr;align-items:stretch}.workspace-create .btn,.workspace-create-note{grid-column:1}}

/* V2.6.7 — mobile polish + STT */
.admin-stt-col{width:54px;text-align:center!important;font-weight:850;color:var(--muted)}
@media(max-width:760px){
  .auth-page{min-height:100dvh;align-items:start;padding:12px!important}
  .form-shell{width:100%;padding:0!important}
  .login-card-v264{width:100%;padding:22px 16px;border-radius:20px}
  .login-title-row{margin:20px 0 16px}
  .login-title-row h1{font-size:27px}
  .stack-form{gap:13px;margin-top:18px}.stack-form input{min-height:48px}
  .google-login-box{padding:10px}.google-login-button{overflow:hidden}.google-login-button>div{width:100%!important}
  .admin-page{width:calc(100% - 16px);padding-top:10px}
  .admin-hero{margin-bottom:9px;padding:16px;border-radius:16px}.admin-hero h1{font-size:27px}
  .admin-hero-actions{display:grid;width:100%;grid-template-columns:1fr 1fr}.admin-hero-actions .btn,.admin-version-pill{width:100%}
  .admin-section-nav-v264{display:flex;overflow-x:auto;flex-wrap:nowrap;margin-bottom:10px;padding:5px;scrollbar-width:none}.admin-section-nav-v264::-webkit-scrollbar{display:none}.admin-section-nav-v264 a{flex:0 0 auto;font-size:11px;padding:8px 10px}
  .admin-metrics{gap:7px}.admin-metrics article{padding:12px}.admin-metrics strong{font-size:22px}
  .admin-overview-grid,.admin-settings-grid{gap:10px}.admin-card-compact{padding:14px;border-radius:14px}
  .module-check-grid{grid-template-columns:1fr}.admin-users-card{border-radius:14px}
  .admin-users-heading{padding:14px}.table-scroll{margin:0 -1px;-webkit-overflow-scrolling:touch}.admin-table-v264{min-width:880px}
  .row-actions-v264{display:grid;grid-template-columns:1fr 1fr}.row-actions-v264 .btn{width:100%}
  .system-modal{padding:10px}.system-modal-card{padding:18px;border-radius:18px}
}
@media(max-width:430px){.admin-hero-actions{grid-template-columns:1fr}.admin-metrics{grid-template-columns:1fr 1fr}.login-card-v264{padding:20px 14px}}

/* V2.6.7 — Mobile polish for main timetable app */
@media(max-width:640px){
  .app-header-inner{align-items:flex-start!important;padding:10px 12px!important}
  .app-header-inner>div:first-child{min-width:0}
  .app-header-inner>div:first-child p{max-width:62vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .app-header-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%;gap:6px!important}
  .app-header-actions>a,.app-header-actions>button,.app-header-actions>form,.app-header-actions>form>button{width:100%;min-width:0;justify-content:center}
  .app-header-actions .hidden{display:none!important}
  nav[aria-label="Các bước nhập dữ liệu"]{margin-left:-4px;margin-right:-4px;padding:6px!important;border-radius:14px!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  nav[aria-label="Các bước nhập dữ liệu"]>button{min-width:145px!important;padding:9px 10px!important;scroll-snap-align:start}
  nav[aria-label="Các bước nhập dữ liệu"]>button span span:last-child{font-size:12px}
  .schedule-session{margin-left:-4px;margin-right:-4px}
}

/* V2.6.7 — avatars + project export */
.top-user-chip{display:flex;align-items:center;gap:8px;max-width:220px;padding:5px 9px 5px 5px;border:1px solid #dbe8e3;border-radius:999px;background:#fff;color:#17372f;text-decoration:none;box-shadow:0 3px 12px rgba(7,84,63,.05)}
.top-user-chip img,.top-user-chip span{width:32px;height:32px;flex:0 0 32px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#e4f4ed;color:#075d49;font-weight:900}
.top-user-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.top-user-chip:hover{border-color:#9bc8b8;background:#f7fbf9}
.account-avatar-card{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;margin-bottom:16px}.account-avatar-preview{width:76px;height:76px;border-radius:22px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#0c8a6a,#075d49);color:#fff;font-size:28px;font-weight:900;box-shadow:0 12px 30px rgba(7,93,73,.18)}.account-avatar-preview img{width:100%;height:100%;object-fit:cover}.account-avatar-copy h2{margin:1px 0 5px}.account-avatar-copy p{margin:0}.account-avatar-form{display:flex;align-items:center;gap:8px}.account-avatar-form input[type=file]{position:absolute;left:-9999px}.admin-user-avatar-img{object-fit:cover;border:1px solid #d9e7e2}.admin-download-project-form{margin:0}.project-download-note{display:grid;gap:3px;margin:10px 0 4px;padding:10px 12px;border:1px dashed #bfd9cf;border-radius:11px;background:#f7fbf9}.project-download-note strong{font-size:12px;color:#0b5e49}.project-download-note span{font-size:11px;line-height:1.5;color:#63776f}
@media(max-width:900px){.account-avatar-card{grid-template-columns:auto 1fr}.account-avatar-form{grid-column:1/-1}.account-avatar-card>form:last-child{grid-column:1/-1}.top-user-chip strong{display:none}.top-user-chip{padding-right:5px}}
@media(max-width:640px){.top-actions{gap:6px}.top-user-chip{max-width:44px}.account-avatar-card{grid-template-columns:1fr;text-align:center}.account-avatar-preview{margin:auto}.account-avatar-form{display:grid;grid-template-columns:1fr 1fr}.account-avatar-card>form:last-child .btn{width:100%}.admin-download-project-form,.admin-download-project-form .btn{width:100%}}

/* V2.6.7 — admin loading, AJAX upgrade feedback */
.admin-section-nav-v264 a.active{background:#e7f5ef;color:#075c48;box-shadow:inset 0 0 0 1px #c7e4d9}
#overview,#software-upgrade,#google-login-settings,#footer-settings,#users{scroll-margin-top:138px}
.admin-system-loader[hidden],.admin-live-toast[hidden]{display:none}
.admin-system-loader{position:fixed;inset:0;z-index:330;display:grid;place-items:center;padding:18px}
.admin-system-loader-backdrop{position:absolute;inset:0;background:rgba(7,34,28,.62);backdrop-filter:blur(5px)}
.admin-system-loader-card{position:relative;width:min(460px,100%);padding:27px;border:1px solid #d8e6e1;border-radius:22px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.3);text-align:center}
.admin-system-loader-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:16px;background:#e8f6f0;color:#08755a;font-size:24px;font-weight:900;animation:adminLoaderSpin 1.05s linear infinite}
.admin-system-loader[data-state="success"] .admin-system-loader-icon{background:#e6f7ef;color:#08755a;animation:none}
.admin-system-loader[data-state="error"] .admin-system-loader-icon{background:#feeceb;color:#b42318;animation:none}
.admin-system-loader-card h2{margin:0 0 7px;color:#163a30;font-size:21px}
.admin-system-loader-card p{margin:0;color:#687d75;font-size:12px;line-height:1.55}
.admin-system-progress{height:8px;margin:18px 0 9px;overflow:hidden;border-radius:999px;background:#e5eeeb}
.admin-system-progress span{display:block;width:20%;height:100%;border-radius:999px;background:linear-gradient(90deg,#0b8062,#35a985);transition:width .28s ease}
.admin-system-loader[data-state="error"] .admin-system-progress span{background:#c83b32}
.admin-system-loader-meta{display:flex;align-items:center;justify-content:space-between;color:#82928c;font-size:10px}
.admin-system-loader-meta strong{color:#0b7359;font-size:11px}
.admin-live-toast{position:fixed;z-index:360;left:50%;top:20px;max-width:min(780px,calc(100vw - 30px));padding:12px 17px;border-radius:12px;background:#075e49;color:#fff;box-shadow:0 15px 42px rgba(0,0,0,.24);font-size:12px;font-weight:800;line-height:1.45;text-align:center;opacity:0;transform:translate(-50%,-10px);transition:opacity .22s ease,transform .22s ease}
.admin-live-toast.show{opacity:1;transform:translate(-50%,0)}
.admin-live-toast.is-error{background:#a82d25}
@keyframes adminLoaderSpin{to{transform:rotate(360deg)}}
@media(max-width:760px){#overview,#software-upgrade,#google-login-settings,#footer-settings,#users{scroll-margin-top:16px}.admin-system-loader{padding:10px}.admin-system-loader-card{padding:21px;border-radius:18px}.admin-system-loader-card h2{font-size:18px}.admin-live-toast{top:10px;width:calc(100vw - 20px);max-width:none;padding:10px 12px}}

/* V2.6.38 — shared 5-theme system for account/admin/auth pages */
html[data-tkb-theme="education-green"]{--green:#08755a;--green-dark:#065541;--mint:#e6f4ee;--ink:#16372f;--muted:#63766f;--line:#d7e5df;--card:#fff;--tkb-site-bg:#f4faf7;--tkb-site-soft:#f1f8f5;--tkb-site-field:#fff;--shadow:0 22px 70px rgba(7,84,63,.14)}
html[data-tkb-theme="executive-blue"]{--green:#2563eb;--green-dark:#1d4ed8;--mint:#eaf1ff;--ink:#17233d;--muted:#60708e;--line:#d7e1f2;--card:#fff;--tkb-site-bg:#f5f8ff;--tkb-site-soft:#eef4ff;--tkb-site-field:#fff;--shadow:0 22px 70px rgba(37,99,235,.12)}
html[data-tkb-theme="minimal-light"]{--green:#475569;--green-dark:#334155;--mint:#f1f5f9;--ink:#1f2937;--muted:#64748b;--line:#e2e8f0;--card:#fff;--tkb-site-bg:#f8fafc;--tkb-site-soft:#f1f5f9;--tkb-site-field:#fff;--shadow:0 16px 44px rgba(15,23,42,.08)}
html[data-tkb-theme="professional-dark"]{--green:#38bdf8;--green-dark:#7dd3fc;--mint:#243447;--ink:#e5edf7;--muted:#a5b4c5;--line:#334155;--card:#172033;--tkb-site-bg:#0f172a;--tkb-site-soft:#111c2e;--tkb-site-field:#111827;--shadow:0 22px 70px rgba(0,0,0,.35);color-scheme:dark}
html[data-tkb-theme="high-contrast"]{--green:#111827;--green-dark:#000;--mint:#e5e7eb;--ink:#111;--muted:#334155;--line:#64748b;--card:#fff;--tkb-site-bg:#fff;--tkb-site-soft:#f1f5f9;--tkb-site-field:#fff;--shadow:0 12px 30px rgba(0,0,0,.12)}
html[data-tkb-theme] body{background:var(--tkb-site-bg)!important;color:var(--ink)}html[data-tkb-theme] .topbar,html[data-tkb-theme] .form-card,html[data-tkb-theme] .panel-card,html[data-tkb-theme] .stats-grid article,html[data-tkb-theme] .admin-card-compact,html[data-tkb-theme] .admin-users-card,html[data-tkb-theme] .system-modal-card,html[data-tkb-theme] .reload-card,html[data-tkb-theme] .logout-transition-card,html[data-tkb-theme] .login-card-v264,html[data-tkb-theme] .guide-card{background:var(--card)!important;color:var(--ink);border-color:var(--line)!important}html[data-tkb-theme] .site-footer{background:var(--tkb-site-soft)!important;border-color:var(--line)!important}html[data-tkb-theme] input,html[data-tkb-theme] select,html[data-tkb-theme] textarea{background:var(--tkb-site-field)!important;color:var(--ink)!important;border-color:var(--line)!important}html[data-tkb-theme="professional-dark"] .admin-table th,html[data-tkb-theme="professional-dark"] .upgrade-form,html[data-tkb-theme="professional-dark"] .project-download-note,html[data-tkb-theme="professional-dark"] .google-login-box,html[data-tkb-theme="professional-dark"] .upgrade-modal-safety{background:#1e293b!important;color:var(--ink)!important;border-color:var(--line)!important}html[data-tkb-theme="professional-dark"] .admin-table td{border-color:var(--line)!important}html[data-tkb-theme="professional-dark"] .btn:not(.btn-primary){background:#172033;color:var(--ink);border-color:var(--line)}
.site-theme-picker{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:3px 5px 3px 9px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-size:11px;font-weight:800;white-space:nowrap}.site-theme-picker .tkb-theme-label{color:var(--muted)}.site-theme-picker select{max-width:150px;min-height:28px;border:0!important;background:transparent!important;padding:2px 22px 2px 4px;font-size:11px;font-weight:800;outline:0}
html[data-tkb-theme="high-contrast"] body{font-size:16px}html[data-tkb-theme="high-contrast"] .btn,html[data-tkb-theme="high-contrast"] a,html[data-tkb-theme="high-contrast"] input,html[data-tkb-theme="high-contrast"] select{font-weight:800}html[data-tkb-theme="high-contrast"] :focus-visible{outline:3px solid #111827!important;outline-offset:2px!important}
@media(max-width:760px){.topbar{max-width:100vw;overflow:hidden}.top-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:6px!important}.top-actions>*{min-width:0;width:100%}.site-theme-picker{grid-column:1/-1;justify-content:space-between}.site-theme-picker select{max-width:none;width:min(220px,60vw);font-size:16px}.top-actions .top-user-chip{width:auto;max-width:none}.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.system-modal-card,.admin-system-loader-card,.reload-card{max-height:calc(100dvh - 20px);overflow:auto}.page-shell,.admin-page{max-width:100%;overflow-x:hidden}}
@media(max-width:420px){.top-actions{grid-template-columns:1fr}.site-theme-picker{grid-column:1}}


/* V2.6.50 — Trung tâm cập nhật quy định GD&ĐT */
.top-admin-button{position:relative}.top-legal-alert{display:grid;place-items:center;min-width:18px;height:18px;margin-left:2px;padding:0 5px;border-radius:999px;background:#c9362b;color:#fff;font-size:10px;font-weight:900;line-height:1}
.admin-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.legal-metric strong{color:#9a5d00}.legal-center{margin-bottom:14px;padding:22px;border-radius:20px;box-shadow:0 10px 34px rgba(8,85,65,.06);scroll-margin-top:138px}.legal-center-heading{align-items:center}.legal-center-heading h2{font-size:22px}.legal-center-heading>div:first-child{max-width:900px}.legal-status-stack{display:flex;align-items:flex-end;flex-direction:column;gap:7px;white-space:nowrap}.legal-last-check{color:var(--muted);font-size:10px}.legal-dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.legal-policy-card{display:flex;gap:11px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--tkb-site-soft,#f7fbf9)}.legal-policy-card.has-warning{border-color:#e6bf76;background:#fff8e8}.legal-policy-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:var(--mint);color:var(--green-dark);font-size:17px;font-weight:900}.legal-policy-card strong,.legal-policy-card p{display:block}.legal-policy-card strong{font-size:12px}.legal-policy-card p{margin:3px 0 0;color:var(--muted);font-size:10.5px;line-height:1.5}.legal-policy-card a{display:inline-block;margin-top:5px;color:var(--green);font-size:10.5px;font-weight:800;text-decoration:none}.legal-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.legal-check-form{margin:0}.legal-settings-form{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:0}.legal-settings-form label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:800}.legal-settings-form select{min-height:36px;border:1px solid var(--line);border-radius:9px;padding:5px 26px 5px 8px}.legal-center-columns{display:grid;grid-template-columns:1.03fr .97fr;gap:13px}.legal-regulations-panel,.legal-alerts-panel{min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}.legal-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 15px;border-bottom:1px solid var(--line);background:var(--tkb-site-soft,#f7fbf9)}.legal-panel-title strong,.legal-panel-title span{display:block}.legal-panel-title strong{font-size:13px}.legal-panel-title div>span{margin-top:3px;color:var(--muted);font-size:10px}.legal-catalog-list{max-height:520px;overflow:auto;padding:7px}.legal-rule-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:10px;border-bottom:1px solid #edf2f0}.legal-rule-item:last-child{border-bottom:0}.legal-rule-item>a{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:9px;color:var(--green);font-weight:900;text-decoration:none}.legal-rule-main{min-width:0}.legal-rule-main strong{display:inline;font-size:11px}.legal-rule-main p{margin:3px 0;color:var(--ink);font-size:11px;font-weight:700;line-height:1.4}.legal-rule-main small{display:block;color:var(--muted);font-size:9.5px;line-height:1.45}.legal-rule-state{display:inline-flex;margin-right:6px;padding:3px 6px;border-radius:999px;background:#def4e9;color:#086146;font-size:8.5px;font-weight:900;text-transform:uppercase}.status-guidance .legal-rule-state{background:#e8f0ff;color:#244d95}.status-draft{background:#fffaf0}.status-draft .legal-rule-state{background:#fff0c7;color:#815600}.legal-results-list{max-height:430px;overflow:auto;padding:7px}.legal-empty{display:grid;gap:5px;padding:28px 15px;text-align:center;color:var(--muted)}.legal-empty strong{color:var(--ink);font-size:13px}.legal-empty span{font-size:10.5px}.legal-result-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid transparent;border-bottom-color:#edf2f0;border-radius:10px}.legal-result-item.is-new{border-color:#edca8a;background:#fffaf0}.legal-result-item.is-known{opacity:.82}.legal-result-item>div:first-child{min-width:0}.legal-result-item strong{display:block;margin-top:4px;font-size:11px}.legal-result-item p{margin:3px 0;color:var(--ink);font-size:10.5px;font-weight:700;line-height:1.45}.legal-result-item small{display:block;color:var(--muted);font-size:9px;line-height:1.4}.legal-relevance{display:inline-flex;padding:3px 6px;border-radius:999px;background:#e8f5ef;color:#076047;font-size:8.5px;font-weight:900;text-transform:uppercase}.legal-relevance.high{background:#fff0c7;color:#875600}.legal-result-actions{display:flex;align-items:center;gap:5px}.legal-result-actions form{margin:0}.legal-result-actions .btn{min-height:32px;padding:5px 8px;font-size:9.5px}.legal-draft-watch{display:flex;gap:9px;margin:7px;padding:10px;border:1px dashed #e0bd74;border-radius:11px;background:#fffaf0}.legal-draft-watch>span{font-size:16px}.legal-draft-watch strong{display:block;font-size:10.5px}.legal-draft-watch p{margin:3px 0 0;color:#735c2f;font-size:9.5px;line-height:1.45}
html[data-tkb-theme="professional-dark"] .legal-policy-card,html[data-tkb-theme="professional-dark"] .legal-panel-title,html[data-tkb-theme="professional-dark"] .legal-draft-watch,html[data-tkb-theme="professional-dark"] .status-draft,html[data-tkb-theme="professional-dark"] .legal-result-item.is-new{background:#1e293b;color:var(--ink);border-color:var(--line)}
@media(max-width:1100px){.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.legal-dashboard-grid{grid-template-columns:1fr}.legal-center-columns{grid-template-columns:1fr}.legal-catalog-list,.legal-results-list{max-height:420px}}
@media(max-width:760px){#legal-updates{scroll-margin-top:16px}.admin-metrics{grid-template-columns:1fr 1fr}.legal-center{padding:15px}.legal-center-heading{align-items:flex-start;flex-direction:column}.legal-status-stack{align-items:flex-start}.legal-actions-row,.legal-settings-form{align-items:stretch;flex-direction:column}.legal-actions-row .btn,.legal-settings-form .btn{width:100%}.legal-settings-form label{justify-content:space-between}.legal-settings-form select{min-width:150px}.legal-result-item{grid-template-columns:1fr}.legal-result-actions{justify-content:flex-start}.legal-result-actions .btn{min-height:36px}.top-legal-alert{position:absolute;right:-5px;top:-5px}}


/* V2.6.51 — Rule Engine pháp lý bán tự động */
.rule-engine-panel{margin:14px 0;border:1px solid #cfe3da;border-radius:18px;background:linear-gradient(180deg,#f8fcfa 0%,#fff 42%);overflow:hidden;box-shadow:0 10px 28px rgba(8,85,65,.05)}
.rule-engine-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 19px;border-bottom:1px solid #dce9e4;background:linear-gradient(120deg,#edf9f4,#f8fbff)}
.rule-engine-head>div:first-child{min-width:0;max-width:850px}.rule-engine-kicker{display:inline-block;margin-bottom:5px;color:#08755a;font-size:9px;font-weight:950;letter-spacing:.12em}.rule-engine-head h3{margin:0;color:#173f35;font-size:18px}.rule-engine-head p{margin:5px 0 0;color:#647a72;font-size:10.5px;line-height:1.55}.rule-version-box{display:grid;gap:2px;min-width:180px;padding:11px 13px;border:1px solid #b9d9cc;border-radius:13px;background:#fff}.rule-version-box span{font-size:8.5px;font-weight:850;color:#6b8078;text-transform:uppercase}.rule-version-box strong{color:#08755a;font-size:15px}.rule-version-box small{color:#879991;font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.rule-engine-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px 14px 0}.rule-engine-metrics article{display:grid;gap:2px;padding:12px;border:1px solid #dce9e4;border-radius:12px;background:#fff}.rule-engine-metrics span{font-size:8.5px;font-weight:850;color:#687f76;text-transform:uppercase}.rule-engine-metrics strong{font-size:22px;color:#173f35}.rule-engine-metrics small{color:#778c84;font-size:9px;line-height:1.4}
.rule-auto-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 14px 13px}.rule-auto-levels article{display:grid;gap:3px;padding:10px 11px;border-radius:11px;border:1px solid #dfe9e5;background:#fff}.rule-auto-levels article.auto{border-color:#b9dfcd;background:#f4fbf7}.rule-auto-levels article.proposal{border-color:#ead39e;background:#fffaf0}.rule-auto-levels article.manual{border-color:#e8c1c1;background:#fff7f7}.rule-auto-levels b{font-size:10px;color:#264a40}.rule-auto-levels span{font-size:9px;line-height:1.45;color:#6b7e77}
.rule-engine-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:12px;padding:0 14px 14px}.rule-proposals-panel,.rule-history-panel{min-width:0;border:1px solid #dce7e3;border-radius:14px;overflow:hidden;background:#fff}.rule-proposal-list{max-height:680px;overflow:auto;padding:8px}.rule-proposal-card{margin-bottom:8px;border:1px solid #dce7e3;border-radius:12px;background:#fff;overflow:hidden}.rule-proposal-card.structured{border-color:#e4c67f;box-shadow:inset 3px 0 0 #d9a932}.rule-proposal-card.manual{border-color:#e3c8c8;box-shadow:inset 3px 0 0 #bb6969}.rule-proposal-card>header{display:flex;justify-content:space-between;gap:12px;padding:12px 12px 9px}.rule-proposal-card>header>div{min-width:0}.rule-proposal-card>header strong{display:block;margin-top:4px;color:#173f35;font-size:11px}.rule-proposal-card>header p{margin:3px 0 0;color:#566e65;font-size:10px;line-height:1.45}.rule-proposal-card>header>a{align-self:flex-start;white-space:nowrap;color:#08755a;font-size:9px;font-weight:850;text-decoration:none}.rule-proposal-mode{display:inline-flex;padding:3px 6px;border-radius:999px;background:#fff0c8;color:#805600;font-size:8px;font-weight:900;text-transform:uppercase}.rule-proposal-card.manual .rule-proposal-mode{background:#fde4e4;color:#893535}
.rule-diff-list{margin:0 10px 9px;border:1px solid #e3ece8;border-radius:10px;overflow:hidden}.rule-diff-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(52px,auto) 16px minmax(52px,auto);gap:6px;align-items:center;padding:8px 9px;border-bottom:1px solid #edf2f0}.rule-diff-row:last-child{border-bottom:0}.rule-diff-row>span{min-width:0}.rule-diff-row b,.rule-diff-row small{display:block}.rule-diff-row b{font-size:9.5px;color:#26483f}.rule-diff-row small{margin-top:2px;color:#80918b;font-size:8px}.rule-diff-row strong{padding:5px 6px;border-radius:7px;text-align:center;font-size:11px}.rule-diff-row strong.old{background:#f1f4f3;color:#6d7c77;text-decoration:line-through}.rule-diff-row strong.new{background:#def4e9;color:#08755a}.rule-diff-row i{text-align:center;color:#8a9a94;font-style:normal}.rule-manual-note{display:grid;gap:3px;margin:0 10px 9px;padding:10px;border-radius:9px;background:#fff6f6;color:#744646}.rule-manual-note b{font-size:9.5px}.rule-manual-note span{font-size:9px;line-height:1.45}
.rule-impact-box{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 10px 9px;padding:8px 9px;border:1px solid #b9ddcf;border-radius:9px;background:#f3fbf7}.rule-impact-box>span{font-size:8px;font-weight:900;color:#08755a;text-transform:uppercase}.rule-impact-box>b{padding:3px 6px;border-radius:6px;background:#fff;color:#244b40;font-size:9px}.rule-impact-box>small{flex-basis:100%;color:#73867f;font-size:8px}.rule-proposal-actions{display:flex;gap:6px;flex-wrap:wrap;padding:9px 10px;border-top:1px solid #edf2f0;background:#fbfdfc}.rule-proposal-actions form{margin:0}.rule-proposal-actions .btn{min-height:32px;padding:5px 9px;font-size:9px}.rule-proposal-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.rule-history-list{max-height:340px;overflow:auto;padding:8px}.rule-history-list>article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-bottom:1px solid #edf2f0}.rule-history-list>article:last-child{border-bottom:0}.rule-history-list article>div{display:grid;gap:2px;min-width:0}.rule-history-list strong{font-size:10px;color:#173f35}.rule-history-list span{font-size:8.5px;color:#6e827a}.rule-history-list small{font-size:8px;color:#8b9994}.rule-history-list form{margin:0}.rule-history-list .btn{min-height:30px;padding:4px 7px;font-size:8.5px}.active-rule-details{margin:8px;border:1px solid #dce7e3;border-radius:10px;overflow:hidden}.active-rule-details summary{cursor:pointer;padding:10px;background:#f6faf8;color:#31584c;font-size:9.5px;font-weight:850}.active-rule-list{max-height:470px;overflow:auto}.active-rule-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;padding:8px 9px;border-top:1px solid #edf2f0}.active-rule-list span{min-width:0}.active-rule-list span>b{display:inline-block;margin-right:6px;color:#08755a;font-size:7.5px;text-transform:uppercase}.active-rule-list span>strong{display:block;color:#284b41;font-size:9px}.active-rule-list span>small{display:block;margin-top:2px;color:#82918c;font-size:7.7px;line-height:1.35}.active-rule-list>em{min-width:42px;padding:4px 6px;border-radius:6px;background:#eef7f3;color:#08755a;text-align:center;font-size:9px;font-style:normal;font-weight:900}.active-rule-list>i{padding:3px 5px;border-radius:999px;font-size:7px;font-style:normal;font-weight:850;white-space:nowrap}.active-rule-list>i.proposal{background:#fff0c8;color:#7f5900}.active-rule-list>i.manual{background:#fde5e5;color:#873c3c}
@media(max-width:1100px){.rule-engine-grid{grid-template-columns:1fr}.rule-proposal-list{max-height:520px}.rule-engine-metrics,.rule-auto-levels{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.rule-engine-head{align-items:flex-start;flex-direction:column}.rule-version-box{width:100%}.rule-engine-metrics,.rule-auto-levels{grid-template-columns:1fr}.rule-engine-grid{padding:0 9px 9px}.rule-proposal-card>header{flex-direction:column}.rule-diff-row{grid-template-columns:1fr auto 12px auto}.rule-proposal-actions{align-items:stretch;flex-direction:column}.rule-proposal-actions form,.rule-proposal-actions .btn{width:100%}.active-rule-list>div{grid-template-columns:1fr auto}.active-rule-list>i{grid-column:1/-1;justify-self:start}}

/* v2.6.55 - CTGDPT normalization + responsive conversion rows */
.rule-backup-details,.rule-audit-details{margin:8px;border:1px solid #dce7e3;border-radius:10px;overflow:hidden;background:#fff}.rule-backup-details summary,.rule-audit-details summary{cursor:pointer;padding:10px;background:#f6faf8;color:#31584c;font-size:9.5px;font-weight:850}.rule-backup-list,.rule-audit-list{max-height:430px;overflow:auto}.rule-backup-list>article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-top:1px solid #edf2f0}.rule-backup-list article>div{display:grid;gap:2px;min-width:0}.rule-backup-list strong{font-size:9px;color:#173f35}.rule-backup-list span{font-size:8px;color:#6e827a}.rule-backup-list small{font-size:7.6px;color:#8b9994;line-height:1.4}.rule-backup-list form{margin:0}.rule-backup-list .btn{min-height:30px;padding:4px 7px;font-size:8.2px;white-space:nowrap}.legal-empty.compact{padding:16px 10px}.rule-audit-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:7px;padding:8px;border-top:1px solid #edf2f0;border-bottom:1px solid #edf2f0;background:#fbfdfc}.rule-audit-filters label{display:grid;gap:3px;color:#6e827a;font-size:7.5px;font-weight:800}.rule-audit-filters select,.rule-audit-filters input{min-width:0;height:31px;border:1px solid #d9e4df;border-radius:7px;background:#fff;padding:4px 7px;color:#23463c;font-size:8.5px}.rule-audit-filters .btn{align-self:end;min-height:31px;padding:4px 8px;font-size:8px}.rule-audit-list>article{padding:9px;border-top:1px solid #edf2f0}.rule-audit-list article>header{display:flex;align-items:center;gap:6px;min-width:0}.rule-audit-list header>strong{font-size:9px;color:#23463c}.rule-audit-list header>time{margin-left:auto;color:#82918c;font-size:7.5px}.rule-audit-kind{display:inline-flex;padding:3px 5px;border-radius:999px;background:#eaf6f1;color:#08755a;font-size:6.8px;font-weight:900;text-transform:uppercase}.rule-audit-kind.rollback,.rule-audit-kind.restore_backup{background:#fff0ca;color:#805900}.rule-audit-kind.dismiss{background:#f4eeee;color:#7f5656}.rule-audit-kind.simulate{background:#eaf0ff;color:#315c9b}.rule-audit-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.rule-audit-meta span{padding:2px 5px;border-radius:5px;background:#f4f8f6;color:#6f827b;font-size:7px}.rule-audit-list ul{margin:6px 0 0;padding-left:15px}.rule-audit-list li{margin:2px 0;color:#47665d;font-size:7.7px;line-height:1.35}.rule-audit-list article>small{display:block;margin-top:4px;color:#82918c;font-size:7.4px;line-height:1.4}.rule-audit-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#9aa7a2!important}@media(max-width:760px){.rule-audit-filters{grid-template-columns:1fr 1fr}.rule-audit-filters .btn{width:100%}.rule-backup-list>article{align-items:flex-start;flex-direction:column}.rule-backup-list form,.rule-backup-list .btn{width:100%}}

/* v2.6.55 - Responsive conversion rows + integrated-subject assignment UI */
.v2645-conversions{min-width:0;width:100%}
.v2645-conversion-row{box-sizing:border-box;width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:minmax(220px,2fr) minmax(72px,.55fr) minmax(72px,.55fr) minmax(180px,1.15fr) auto;gap:9px;align-items:end;overflow:hidden}
.v2645-conversion-row>*{min-width:0;max-width:100%;box-sizing:border-box}
.v2645-conversion-row .v2647-basis-field{grid-column:1/-1}
.v2645-conversion-row .v2647-paid-check{align-self:center;min-width:0;white-space:normal}
.v2645-conversion-row .v2647-delete-conversion{align-self:center;justify-self:end;max-width:100%}
.v2645-conversion-row .v2647-conversion-rule{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 10px;min-width:0;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;white-space:normal}
.v2645-conversion-row .v2647-conversion-rule b,.v2645-conversion-row .v2647-conversion-rule span{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
.v2645-conversion-row [data-conversion-picker]{min-width:0;width:100%;max-width:100%}
.v2645-conversion-row [data-conversion-picker-toggle]{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.v2645-conversion-row [data-conversion-picker-menu]{max-width:min(620px,calc(100vw - 36px));box-sizing:border-box}

.v2655-assignment-table{min-width:980px}
.v2655-assignment-table td{vertical-align:middle}
.v2655-assignment-parent td{background:#fbfdfc}
.v2655-assignment-parent td:nth-child(2)>strong{display:block;color:#173f35}
.v2655-assignment-parent td:nth-child(2)>small{display:block;margin-top:4px;color:#6c8078;font-size:10px;line-height:1.45}
.v2655-component-note{max-width:620px;color:#446c60!important}
.v2655-assignment-mode{display:grid;gap:4px;min-width:150px;color:#61756e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.v2655-assignment-mode select,.v2655-assignment-table select{box-sizing:border-box;width:100%;min-width:0;min-height:38px;border:1px solid #ccdbd6;border-radius:10px;background:#fff;padding:7px 9px;color:#1f473d;outline:0}
.v2655-assignment-mode select:focus,.v2655-assignment-table select:focus{border-color:#5ea98f;box-shadow:0 0 0 3px #e0f3ec}
.v2655-mode-static,.v2655-split-summary{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#edf6f2;color:#315d51;font-size:9px;font-weight:850}
.v2655-split-summary{background:#e3f4ed;color:#08755a}
.v2655-assignment-component td{border-top:1px dashed #dbe7e2;background:#fff}
.v2655-assignment-component td:first-child{background:linear-gradient(90deg,#f4faf7,#fff)}
.v2655-component-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef7f3;color:#08755a;font-size:10px;font-weight:900}
.v2655-assignment-component td:nth-child(2)>small{display:block;max-width:520px;margin-top:5px;color:#788b84;font-size:9px;line-height:1.45}
.v2655-fixed-dist{display:grid;gap:3px;min-width:145px;padding:7px 9px;border:1px solid #d8e8e2;border-radius:10px;background:#f7fbf9}
.v2655-fixed-dist b{color:#315b50;font-size:10px}.v2655-fixed-dist small{color:#758880;font-size:8px;line-height:1.35}
.v2655-component-fields{display:grid;grid-template-columns:repeat(3,minmax(58px,1fr));gap:5px;min-width:220px}
.v2655-component-fields label{display:grid;gap:3px;color:#6d8079;font-size:8px;font-weight:850;text-transform:uppercase}
.v2655-component-fields input{box-sizing:border-box;width:100%;min-width:0;height:34px;border:1px solid #ccdbd6;border-radius:8px;padding:5px 7px;background:#fff;color:#1f473d}
.v2655-assignment-alert{margin:10px 0 12px;padding:12px 14px;border:1px solid #efc3c3;border-radius:12px;background:#fff7f7;color:#8d2f2f}
.v2655-assignment-alert strong{display:block;margin-bottom:5px;font-size:11px}.v2655-assignment-alert ul{margin:0;padding-left:18px}.v2655-assignment-alert li{margin:3px 0;font-size:9.5px;line-height:1.45}

@media(max-width:1180px){
  .v2645-conversion-row{grid-template-columns:minmax(200px,2fr) minmax(70px,.7fr) minmax(70px,.7fr) minmax(160px,1.2fr)}
  .v2645-conversion-row .v2647-paid-check{grid-column:1/3}
  .v2645-conversion-row .v2647-delete-conversion{grid-column:4;justify-self:end}
  .v2645-conversion-row .v2647-basis-field{grid-column:1/-1}
}
@media(max-width:760px){
  .v2645-conversion-row{grid-template-columns:1fr 1fr;padding:10px}
  .v2645-conversion-row [data-conversion-picker]{grid-column:1/-1}
  .v2645-conversion-row .v2647-basis-field{grid-column:1/-1}
  .v2645-conversion-row .v2647-paid-check{grid-column:1/-1}
  .v2645-conversion-row .v2647-delete-conversion{grid-column:1/-1;justify-self:stretch;width:100%}
  .v2645-conversion-row [data-conversion-picker-menu]{left:0;right:auto;width:min(94vw,520px)}
  .v2655-component-fields{min-width:190px}
}

/* v2.6.55 container-responsive fallback */
.v26-teacher{container-type:inline-size}
@container (max-width:560px){.v2645-conversion-row{grid-template-columns:1fr 1fr}.v2645-conversion-row [data-conversion-picker],.v2645-conversion-row .v2647-basis-field,.v2645-conversion-row .v2647-paid-check,.v2645-conversion-row .v2647-conversion-rule{grid-column:1/-1}.v2645-conversion-row .v2647-delete-conversion{grid-column:1/-1;justify-self:stretch;width:100%}}

/* v2.6.57 — Professional UI, typography settings & compact admin tabs */
html[data-tkb-font="system"]{--tkb-ui-font:Aptos,"Segoe UI",Arial,sans-serif}
html[data-tkb-font="tahoma"]{--tkb-ui-font:Tahoma,"Segoe UI",Arial,sans-serif}
html[data-tkb-font="arial"]{--tkb-ui-font:Arial,"Helvetica Neue",sans-serif}
html[data-tkb-font="verdana"]{--tkb-ui-font:Verdana,Tahoma,"Segoe UI",sans-serif}
html[data-tkb-font-scale="90"]{--tkb-font-scale:.90;font-size:14.4px}
html[data-tkb-font-scale="95"]{--tkb-font-scale:.95;font-size:15.2px}
html[data-tkb-font-scale="100"]{--tkb-font-scale:1;font-size:16px}
html[data-tkb-font-scale="105"]{--tkb-font-scale:1.05;font-size:16.8px}
html[data-tkb-font-scale="110"]{--tkb-font-scale:1.10;font-size:17.6px}
html[data-tkb-font-scale="115"]{--tkb-font-scale:1.15;font-size:18.4px}
html[data-tkb-font-scale="120"]{--tkb-font-scale:1.20;font-size:19.2px}
html[data-tkb-font] body,html[data-tkb-font] button,html[data-tkb-font] input,html[data-tkb-font] select,html[data-tkb-font] textarea{font-family:var(--tkb-ui-font,Aptos,"Segoe UI",Arial,sans-serif)}

html[data-tkb-theme="academic-indigo"]{--green:#4f46e5;--green-dark:#3730a3;--mint:#eeedff;--ink:#211f45;--muted:#68658a;--line:#dedcf5;--card:#fff;--tkb-site-bg:#f7f7ff;--tkb-site-soft:#f0efff;--tkb-site-field:#fff;--shadow:0 22px 70px rgba(79,70,229,.12)}
html[data-tkb-theme="slate-modern"]{--green:#334155;--green-dark:#1e293b;--mint:#e9eef4;--ink:#172033;--muted:#64748b;--line:#d9e0e8;--card:#fff;--tkb-site-bg:#f6f8fa;--tkb-site-soft:#eef2f6;--tkb-site-field:#fff;--shadow:0 20px 60px rgba(30,41,59,.11)}
html[data-tkb-theme="warm-sand"]{--green:#9a6a32;--green-dark:#70491f;--mint:#f5eadb;--ink:#3d3022;--muted:#796b5b;--line:#eadfce;--card:#fffdf9;--tkb-site-bg:#fbf8f2;--tkb-site-soft:#f5eee4;--tkb-site-field:#fffefa;--shadow:0 20px 60px rgba(112,73,31,.10)}

/* Không cắt mất chữ ở các khu vực quản trị. Nội dung dài được nới khung thay vì dùng dấu … */
.admin-metrics small,.module-check-grid small,.project-download-note span,.upgrade-safety-list span,.admin-card-heading p,.legal-policy-card p,.google-config-note{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
.admin-metrics article{display:flex;min-height:104px;flex-direction:column;justify-content:center}
.admin-metrics small{line-height:1.45;min-height:2.8em}
.module-check-grid li>div{min-width:0}.module-check-grid small{line-height:1.4}
.admin-card-heading h2,.admin-card-heading p,.admin-hero h1,.admin-hero p{max-width:100%;overflow-wrap:anywhere}

.admin-tabs-v2657{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;overflow:visible}
.admin-tabs-v2657 a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:42px;padding:9px 12px;border-radius:10px;white-space:nowrap;color:var(--muted);font-weight:800;transition:background .16s,color .16s,box-shadow .16s}
.admin-tabs-v2657 a:hover{background:var(--tkb-site-soft);color:var(--green-dark)}
.admin-tabs-v2657 a.is-active,.admin-tabs-v2657 a.active{background:var(--green);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--green) 20%,transparent)}
.admin-overview-grid.admin-single-card{grid-template-columns:1fr}
.admin-settings-grid-v2657{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}
.admin-settings-grid-v2657>.appearance-settings-card{grid-column:1/-1}
.admin-settings-grid-v2657>#google-login-settings{grid-column:span 5}
.admin-settings-grid-v2657>#footer-settings{grid-column:span 7}
.appearance-form-v2657{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}
.appearance-form-v2657 label{min-width:0}.appearance-form-v2657 select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:8px 34px 8px 10px;background:var(--tkb-site-field);color:var(--ink)}
.appearance-theme-preview{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--tkb-site-soft)}
.appearance-theme-preview>div{display:grid;gap:2px;min-width:0}.appearance-theme-preview strong{font-size:12px}.appearance-theme-preview small{color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.appearance-swatch{display:block;flex:0 0 38px;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;background:linear-gradient(135deg,#08755a 0 48%,#e6f4ee 48%)}
.appearance-theme-preview[data-admin-theme-preview="executive-blue"] .appearance-swatch{background:linear-gradient(135deg,#2563eb 0 48%,#eaf1ff 48%)}
.appearance-theme-preview[data-admin-theme-preview="academic-indigo"] .appearance-swatch{background:linear-gradient(135deg,#4f46e5 0 48%,#eeedff 48%)}
.appearance-theme-preview[data-admin-theme-preview="slate-modern"] .appearance-swatch{background:linear-gradient(135deg,#334155 0 48%,#e9eef4 48%)}
.appearance-theme-preview[data-admin-theme-preview="warm-sand"] .appearance-swatch{background:linear-gradient(135deg,#9a6a32 0 48%,#f5eadb 48%)}
.appearance-theme-preview[data-admin-theme-preview="minimal-light"] .appearance-swatch{background:linear-gradient(135deg,#475569 0 48%,#f1f5f9 48%)}
.appearance-theme-preview[data-admin-theme-preview="professional-dark"] .appearance-swatch{background:linear-gradient(135deg,#38bdf8 0 48%,#0f172a 48%)}
.appearance-theme-preview[data-admin-theme-preview="high-contrast"] .appearance-swatch{background:linear-gradient(135deg,#111827 0 48%,#fff 48%)}

/* Font scale cho trang PHP/Quản trị: giữ tỷ lệ có kiểm soát, không zoom toàn trang. */
html[data-tkb-font-scale] .admin-page p,html[data-tkb-font-scale] .admin-page label,html[data-tkb-font-scale] .admin-page input,html[data-tkb-font-scale] .admin-page select,html[data-tkb-font-scale] .admin-page button,html[data-tkb-font-scale] .admin-page .btn{font-size:calc(12px * var(--tkb-font-scale,1))}
html[data-tkb-font-scale] .admin-page .admin-card-heading p,html[data-tkb-font-scale] .admin-page .muted,html[data-tkb-font-scale] .admin-page .admin-user-empty{font-size:calc(12px * var(--tkb-font-scale,1))}
html[data-tkb-font-scale] .admin-page .admin-card-heading h2{font-size:calc(19px * var(--tkb-font-scale,1))}
html[data-tkb-font-scale] .admin-page .admin-hero h1{font-size:clamp(28px,4vw,calc(40px * var(--tkb-font-scale,1)))}
html[data-tkb-font-scale] .admin-page .admin-table{font-size:calc(12px * var(--tkb-font-scale,1))}
html[data-tkb-font-scale] .admin-page .badge{font-size:calc(11px * var(--tkb-font-scale,1))}

@media(max-width:1050px){
  .admin-settings-grid-v2657>#google-login-settings,.admin-settings-grid-v2657>#footer-settings{grid-column:1/-1}
  .appearance-form-v2657{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .admin-tabs-v2657{display:flex;overflow-x:auto;flex-wrap:nowrap;padding:5px;scroll-snap-type:x proximity;scrollbar-width:none}
  .admin-tabs-v2657::-webkit-scrollbar{display:none}.admin-tabs-v2657 a{flex:0 0 auto;min-width:max-content;scroll-snap-align:start;padding-inline:14px}
  .appearance-form-v2657{grid-template-columns:1fr}.appearance-form-v2657 .span-all{grid-column:auto}
  .admin-metrics article{min-height:112px}
}

/* v2.6.58 — Admin tinh gọn, preview font thật và tăng khả năng đọc */
.admin-tabs-v2657{position:sticky;top:8px;z-index:30;padding:5px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 8px 28px rgba(24,62,52,.07);backdrop-filter:blur(10px)}
.admin-tabs-v2657 a{gap:7px;min-height:44px;font-size:12px}.admin-tab-icon{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:7px;background:var(--tkb-site-soft);color:var(--green);font-size:11px;font-weight:900}.admin-tabs-v2657 a.is-active .admin-tab-icon,.admin-tabs-v2657 a.active .admin-tab-icon{background:rgba(255,255,255,.18);color:#fff}
.admin-hero p,.admin-card-heading p{line-height:1.55}.admin-card-heading p{font-size:12px!important}.admin-card-heading h2{line-height:1.25}.admin-inline-link,.project-download-note,.upgrade-safety-list{font-size:12px;line-height:1.5}

.appearance-form-v2657{grid-template-columns:repeat(3,minmax(0,1fr))}.appearance-form-v2657 .switch-row{grid-column:1/-1}.appearance-form-v2657 .span-all{grid-column:1/-1}
.appearance-theme-preview{align-items:stretch;gap:14px;padding:14px}.appearance-theme-preview>.appearance-preview-copy{display:flex;align-items:center;gap:11px;flex:1;min-width:0}.appearance-live-sample{display:grid;gap:4px;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--tkb-site-field);font-family:var(--admin-preview-font,var(--tkb-ui-font));font-size:calc(14px * var(--admin-preview-scale,1));line-height:1.45}.appearance-live-sample strong{font-size:1.08em;color:var(--ink)}.appearance-live-sample span{color:var(--ink)}.appearance-live-sample small{font-size:.82em;color:var(--muted);line-height:1.45}.appearance-reset-row{display:flex;align-items:center;justify-content:space-between;gap:10px;grid-column:1/-1;padding-top:2px}.appearance-reset-row small{color:var(--muted);font-size:11px;line-height:1.45}.appearance-reset-row .btn{flex:0 0 auto;white-space:nowrap}

/* Nâng các khu pháp lý cũ khỏi nhóm font 7–10px, tránh mỏi mắt và mất chữ. */
.admin-page .legal-panel-title strong,.admin-page .rule-proposals-panel strong,.admin-page .rule-history-panel strong{font-size:12px!important;line-height:1.35!important}.admin-page .legal-panel-title span,.admin-page .legal-result-item p,.admin-page .legal-policy-card p,.admin-page .legal-draft-watch p,.admin-page .rule-proposal-card p,.admin-page .rule-manual-note span{font-size:11.5px!important;line-height:1.5!important}.admin-page .legal-result-item small,.admin-page .legal-policy-card small,.admin-page .rule-proposal-card small,.admin-page .rule-history-list span,.admin-page .rule-history-list small,.admin-page .rule-backup-list span,.admin-page .rule-backup-list small,.admin-page .rule-audit-list li,.admin-page .rule-audit-list article>small,.admin-page .active-rule-list span>small{font-size:10.8px!important;line-height:1.45!important}.admin-page .rule-proposal-mode,.admin-page .rule-audit-kind,.admin-page .active-rule-list span>b{font-size:9.8px!important}.admin-page .rule-proposal-actions .btn,.admin-page .rule-history-list .btn,.admin-page .rule-backup-list .btn,.admin-page .rule-audit-filters .btn{font-size:11px!important;min-height:34px}.admin-page .rule-audit-filters label{font-size:10.5px!important}.admin-page .rule-audit-filters select,.admin-page .rule-audit-filters input{font-size:11.5px!important;min-height:35px}.admin-page .rule-backup-details summary,.admin-page .rule-audit-details summary,.admin-page .active-rule-details summary{font-size:11.5px!important;line-height:1.4!important}
.admin-page .legal-result-item,.admin-page .rule-proposal-card,.admin-page .rule-history-list>article,.admin-page .rule-backup-list>article{overflow:visible}.admin-page .legal-result-item p,.admin-page .rule-proposal-card p,.admin-page .rule-history-list span,.admin-page .rule-history-list small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
.admin-page :is(button,input,select,textarea,a):focus-visible{outline:3px solid color-mix(in srgb,var(--green) 28%,transparent);outline-offset:2px}

@media(max-width:1050px){.appearance-form-v2657{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-form-v2657 .switch-row{grid-column:1/-1}}
@media(max-width:760px){.admin-tabs-v2657{top:4px}.admin-tabs-v2657 a{font-size:11.5px}.appearance-form-v2657{grid-template-columns:1fr}.appearance-form-v2657 .switch-row{grid-column:auto}.appearance-theme-preview{flex-direction:column}.appearance-reset-row{align-items:flex-start;flex-direction:column}.appearance-reset-row .btn{width:100%}}


/* v2.6.58 — Readability pass: không để chữ nghiệp vụ quá nhỏ */
.admin-page .admin-card-heading .eyebrow,.admin-page .admin-user-search,.admin-page .admin-system-loader-meta,.admin-page .legal-last-check,.admin-page .legal-panel-title div>span,.admin-page .rule-engine-kicker,.admin-page .rule-version-box span,.admin-page .rule-version-box small,.admin-page .rule-engine-metrics span,.admin-page .rule-engine-metrics small,.admin-page .rule-auto-levels span,.admin-page .rule-diff-row small,.admin-page .rule-impact-box>span,.admin-page .rule-impact-box>small,.admin-page .rule-history-list span,.admin-page .rule-history-list small,.admin-page .active-rule-list span>strong,.admin-page .active-rule-list>em,.admin-page .active-rule-list>i,.admin-page .rule-audit-list header>time,.admin-page .rule-audit-meta span{font-size:11px!important;line-height:1.45!important}
.admin-page .legal-rule-main small,.admin-page .legal-result-item small,.admin-page .legal-relevance,.admin-page .legal-result-actions .btn,.admin-page .legal-draft-watch p,.admin-page .rule-proposal-card>header>a,.admin-page .rule-diff-row b,.admin-page .rule-manual-note b,.admin-page .rule-manual-note span,.admin-page .rule-impact-box>b,.admin-page .rule-history-list .btn,.admin-page .active-rule-list span>b,.admin-page .rule-backup-list strong,.admin-page .rule-audit-list header>strong{font-size:11.2px!important;line-height:1.45!important}
.admin-page .legal-rule-state,.admin-page .rule-proposal-mode,.admin-page .rule-audit-kind{font-size:10.5px!important;line-height:1.25!important}
.admin-page .row-actions-v264 .btn{font-size:11.2px!important;min-height:34px}

/* Phân công cấu phần tích hợp: nhãn nhỏ vẫn phải đọc rõ ở 100% zoom. */
.v2655-assignment-parent td:nth-child(2)>small,.v2655-assignment-component td:nth-child(2)>small,.v2655-fixed-dist small,.v2655-assignment-alert li{font-size:11px!important;line-height:1.45!important}
.v2655-assignment-mode,.v2655-mode-static,.v2655-split-summary,.v2655-component-pill,.v2655-fixed-dist b,.v2655-component-fields label{font-size:11px!important;line-height:1.35!important}
.v2655-assignment-mode{letter-spacing:0;text-transform:none}
.v2655-component-fields label{letter-spacing:0;text-transform:none}

@media(max-width:760px){
  .admin-page .admin-tabs-v2657{top:58px}
  .admin-page .admin-tabs-v2657 a{min-height:42px;padding:8px 10px}
}

/* v2.6.58 — Professional tab icons, no placeholder numbers */
.admin-tab-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.admin-tab-icon svg path:first-child[d*="M4 4h6"]{fill:currentColor;stroke:none}
.admin-tab-icon-text{font-size:10.5px!important;letter-spacing:-.02em}


/* v2.6.59 — nhận diện hệ thống + sticky footer đúng luồng trang */
body:not(.auth-page){display:flex;min-height:100vh;min-height:100dvh;flex-direction:column}
body:not(.auth-page)>.page-shell,body:not(.auth-page)>.guide-shell{flex:1 0 auto}
.site-footer{flex:0 0 auto;margin-top:auto;padding:12px 16px}
.site-footer-inner{line-height:1.45}
.site-footer-details{margin-top:4px}
.site-footer small{margin-top:4px}
.brand-mark-image{overflow:hidden;padding:2px;background:transparent!important;border:1px solid var(--line)}
.brand-mark-image img{display:block;width:100%;height:100%;object-fit:contain;border-radius:11px}
.branding-settings-card{grid-column:1/-1}
.branding-form-v2659{align-items:start}
.branding-upload-card{display:grid;grid-template-columns:84px minmax(0,1fr) auto;grid-template-areas:"preview copy choose" "preview copy reset";gap:8px 14px;align-items:center;min-width:0;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--card) 88%,var(--mint))}
.branding-preview{grid-area:preview;display:grid;place-items:center;width:84px;height:84px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.branding-preview img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.branding-favicon-preview{padding:16px}
.branding-upload-copy{grid-area:copy;display:grid;gap:5px;min-width:0}
.branding-upload-copy strong{font-size:14px}
.branding-upload-copy span,.branding-form-v2659 label small{color:var(--muted);font-size:11px;line-height:1.5;font-weight:600}
.branding-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.branding-upload-card>.btn{grid-area:choose;white-space:nowrap}
.branding-reset-check{grid-area:reset;display:flex!important;align-items:center;justify-content:flex-end;gap:7px!important;min-height:30px!important;color:var(--muted);font-size:11px!important;font-weight:700!important;white-space:nowrap}
.branding-reset-check input{width:16px!important;min-height:16px!important;margin:0}
.branding-favicon-sizes{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 12px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:11px;font-weight:700}
.favicon-size-demo{display:inline-flex;align-items:center;gap:6px}
.favicon-size-demo img{display:block;object-fit:contain}
.favicon-size-demo.is-16 img{width:16px;height:16px}.favicon-size-demo.is-32 img{width:32px;height:32px}.favicon-size-demo.is-48 img{width:48px;height:48px}
.branding-note{padding:10px 12px;border-radius:12px;background:var(--mint);color:var(--muted);font-size:11px;line-height:1.55}
@media(max-width:760px){
  .branding-upload-card{grid-template-columns:72px minmax(0,1fr);grid-template-areas:"preview copy" "choose choose" "reset reset"}
  .branding-preview{width:72px;height:72px}
  .branding-upload-card>.btn{width:100%}
  .branding-reset-check{justify-content:flex-start;white-space:normal}
}

.school-icon-brand,.form-mark-brand{overflow:hidden;padding:2px;background:rgba(255,255,255,.96)!important;border:1px solid color-mix(in srgb,var(--line) 75%,transparent)}
.school-icon-brand img,.form-mark-brand img{display:block;width:100%;height:100%;object-fit:contain;border-radius:14px}
.form-mark-brand{width:58px;height:58px}


/* v2.6.64 - Trung tâm quy định cho người không chuyên */
.admin-legal-modebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.admin-legal-modebar strong,.admin-legal-modebar span{display:block}.admin-legal-modebar strong{font-size:13px}.admin-legal-modebar span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.45}.admin-legal-modebar>div:last-child{display:flex;gap:6px}.admin-legal-modebar button{min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font-weight:850;white-space:nowrap}.admin-legal-modebar button.active{border-color:var(--green);background:var(--green);color:white}.admin-legal-beginner{display:grid;gap:10px;margin:10px 0}.admin-legal-simple-status{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f7fbf9}.admin-legal-simple-status>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:900}.admin-legal-simple-status.ok>span{background:#dcfce7;color:#166534}.admin-legal-simple-status.needs>span{background:#fff0c7;color:#875600}.admin-legal-simple-status strong{display:block;font-size:13px}.admin-legal-simple-status p{margin:4px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}.admin-legal-simple-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.admin-legal-simple-grid article{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.admin-legal-simple-grid b,.admin-legal-simple-grid span{display:block}.admin-legal-simple-grid b{font-size:11.8px}.admin-legal-simple-grid span{margin-top:4px;color:var(--muted);font-size:10.8px;line-height:1.5}@media(max-width:760px){.admin-legal-modebar{align-items:stretch;flex-direction:column}.admin-legal-modebar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.admin-legal-modebar button{width:100%}.admin-legal-simple-grid{grid-template-columns:1fr}}

/* v3.2.4 — make BGH decision availability explicit */
.workspace-review-ready,.workspace-review-hint{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 14px;border:1px solid #cce4db;border-radius:12px;background:#f1faf6;color:#23463d}
.workspace-review-ready strong,.workspace-review-hint strong{color:#075d49}.workspace-review-ready span,.workspace-review-hint span{font-size:13px;color:#62746e}
.workspace-decision-disabled{opacity:.72}.workspace-decision-disabled button{cursor:not-allowed}
@media(max-width:700px){.workspace-review-ready,.workspace-review-hint{display:grid}}

/* v3.2.5 — BGH inbox & recipient visibility */
.workspace-bgh-inbox{border-color:#c9dfd6;background:#fbfffd}.workspace-inbox-grid{display:grid;gap:10px}.workspace-inbox-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d7e5df;border-radius:12px;background:#fff}.workspace-inbox-item.active{border-color:#7fc0aa;background:#effaf5}.workspace-inbox-item>div{display:grid;gap:2px}.workspace-inbox-item small{color:#64748b}.workspace-approval-recipient{margin:10px 0;padding:10px 12px;border-radius:10px;background:#eef8f4;color:#245447;font-size:13px}.tkb-bgh-pending{font-weight:800;color:#8a5b00!important;background:#fff6d9;border:1px solid #efd184;border-radius:999px;padding:5px 9px!important}@media(max-width:700px){.workspace-inbox-item{align-items:stretch;flex-direction:column}.workspace-inbox-item form,.workspace-inbox-item .btn{width:100%}}

.tkb-bgh-pending-form{margin:0;display:inline-flex}.tkb-bgh-pending-form button{font:inherit;cursor:pointer}

/* v3.4.19 — Quản lý trường: hồ sơ đăng ký/thùng rác dạng thẻ, gọn và an toàn hơn. */
.workspace-registry-card{overflow:visible}
.workspace-registry-heading{align-items:center}
.workspace-registry-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 20px}
.workspace-registry-stats article{display:grid;gap:3px;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#f9fcfb}
.workspace-registry-stats span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}
.workspace-registry-stats strong{font-size:24px;line-height:1.05;color:var(--green-dark)}
.workspace-registry-stats small{color:var(--muted);font-size:10px}
.workspace-registry-stats .pending{background:#fffaf0;border-color:#ead8aa}.workspace-registry-stats .pending strong{color:#8a5c00}
.workspace-registry-stats .approved{background:#f2faf6;border-color:#cce5da}.workspace-registry-stats .approved strong{color:#08755a}
.workspace-registry-stats .rejected{background:#fff7f2;border-color:#efd1bd}.workspace-registry-stats .rejected strong{color:#9a4a1a}
.workspace-registry-stats .trash{background:#f7f8fa;border-color:#dce1e5}.workspace-registry-stats .trash strong{color:#59656d}
.workspace-registry-group{display:grid;gap:10px}
.workspace-registry-group-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:0 2px}
.workspace-registry-group-head h3{margin:0;font-size:15px;color:var(--ink)}
.workspace-registry-group-head p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}
.workspace-registry-group-head>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#edf5f1;color:var(--green-dark);font-size:10px;font-weight:850}
.workspace-registry-list{display:grid;gap:10px}
.workspace-registry-item{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr) auto;align-items:center;gap:14px;padding:14px 15px;border:1px solid var(--line);border-left:4px solid #c9d7d1;border-radius:14px;background:var(--card);box-shadow:0 5px 18px rgba(12,70,54,.045)}
.workspace-registry-item.status-pending{border-left-color:#d8a52d}.workspace-registry-item.status-approved{border-left-color:#1b9672}.workspace-registry-item.status-rejected{border-left-color:#d77b43}.workspace-registry-item.is-trash{border-left-color:#8d9aa1;background:#fbfcfc}
.workspace-registry-main{display:flex;align-items:center;gap:11px;min-width:0}
.workspace-registry-icon{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border:1px solid #d8e6e0;border-radius:12px;background:#f0f8f4;font-size:18px}
.workspace-registry-item.is-trash .workspace-registry-icon{background:#f2f4f5;border-color:#dfe4e7}
.workspace-registry-identity{display:grid;gap:3px;min-width:0}
.workspace-registry-identity strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.workspace-registry-identity span{color:var(--muted);font-size:10px}
.workspace-registry-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:auto}
.workspace-reg-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid #d7e1dd;border-radius:999px;background:#f3f6f5;color:#53645e;font-size:9px;font-weight:850;white-space:nowrap}
.workspace-reg-badge.reg-pending{background:#fff4d6;border-color:#ead08a;color:#7a5404}.workspace-reg-badge.reg-approved{background:#e9f7f1;border-color:#b9ddcf;color:#07654f}.workspace-reg-badge.reg-rejected{background:#fff0e7;border-color:#edc5ad;color:#944516}.workspace-reg-badge.trash{background:#eef1f3;border-color:#d4dbe0;color:#53616a}.workspace-reg-badge.data{background:#eef5ff;border-color:#d2e0f5;color:#3c5f8c}
.workspace-registry-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
.workspace-registry-meta>div{display:grid;gap:2px;min-width:0;padding:8px 9px;border:1px solid #e5ece9;border-radius:10px;background:#fafcfb}
.workspace-registry-meta span{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.workspace-registry-meta strong{overflow:hidden;color:var(--ink);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.workspace-registry-meta small{overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.workspace-registry-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:390px}
.workspace-registry-actions form{margin:0}.workspace-registry-actions .btn{min-height:34px;padding:6px 9px;border-radius:9px;font-size:10px;white-space:nowrap}
.workspace-trash-button{border-color:#c7d0d5!important;color:#5d6870!important}
.workspace-action-disclosure,.workspace-danger-disclosure{position:relative}
.workspace-action-disclosure>summary,.workspace-danger-disclosure>summary{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 9px;border:1px solid #c9d8d2;border-radius:9px;background:#fff;color:var(--green-dark);font-size:10px;font-weight:800;list-style:none;cursor:pointer;white-space:nowrap}
.workspace-action-disclosure>summary::-webkit-details-marker,.workspace-danger-disclosure>summary::-webkit-details-marker{display:none}
.workspace-action-disclosure[open]>summary{background:#f1f8f5}
.workspace-action-disclosure form{position:absolute;right:0;z-index:15;display:grid;gap:8px;width:min(330px,80vw);margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 14px 38px rgba(13,65,51,.16)}
.workspace-action-disclosure label,.workspace-danger-form label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:800}
.workspace-action-disclosure input,.workspace-danger-form input{width:100%;min-height:38px;border:1px solid #c8d9d2;border-radius:9px;background:#fff;padding:7px 9px;color:var(--ink);outline:0}
.workspace-action-disclosure input:focus,.workspace-danger-form input:focus{border-color:#38a181;box-shadow:0 0 0 3px #e0f4ed}
.workspace-trash-panel{margin-top:18px;border:1px solid #dce4e1;border-radius:14px;background:#fafcfc;overflow:visible}
.workspace-trash-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;cursor:pointer;list-style:none}
.workspace-trash-panel>summary::-webkit-details-marker{display:none}
.workspace-trash-panel>summary span{display:grid;gap:3px}.workspace-trash-panel>summary strong{font-size:13px;color:#56646b}.workspace-trash-panel>summary small{color:var(--muted);font-size:10px;line-height:1.45}.workspace-trash-panel>summary b{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;background:#e8edef;color:#536069;font-size:11px}
.workspace-trash-panel[open]>summary{border-bottom:1px solid #e1e7e4;background:#f5f8f7}
.workspace-trash-list{padding:12px}
.workspace-registry-actions.trash-actions{align-items:flex-start}
.workspace-danger-disclosure>summary{border-color:#e1b7b2;color:#9c3028;background:#fff7f6}
.workspace-danger-disclosure[open]{width:min(420px,100%)}
.workspace-danger-disclosure[open]>summary{background:#fff0ee;border-color:#d9958d}
.workspace-danger-form{display:grid;gap:10px;margin-top:8px;padding:12px;border:1px solid #e8c4bf;border-radius:12px;background:#fff8f7;box-shadow:0 8px 24px rgba(113,34,28,.08)}
.workspace-danger-copy{display:grid;gap:3px}.workspace-danger-copy strong{color:#8f2e27;font-size:11px}.workspace-danger-copy span{color:#765b58;font-size:9.5px;line-height:1.5}
.workspace-danger-button{background:#a9362d!important;border:1px solid #a9362d!important;color:#fff!important}
.workspace-danger-button:hover{background:#8e2d26!important;border-color:#8e2d26!important}
@media(max-width:1180px){.workspace-registry-item{grid-template-columns:1fr minmax(250px,.8fr)}.workspace-registry-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}.workspace-action-disclosure form{left:0;right:auto}}
@media(max-width:820px){.workspace-registry-stats{grid-template-columns:1fr 1fr}.workspace-registry-item{grid-template-columns:1fr}.workspace-registry-meta{grid-template-columns:1fr 1fr}.workspace-registry-actions{grid-column:auto}.workspace-registry-badges{margin-left:0}.workspace-registry-main{align-items:flex-start;flex-wrap:wrap}.workspace-registry-identity{flex:1 1 220px}}
@media(max-width:560px){.workspace-registry-stats,.workspace-registry-meta{grid-template-columns:1fr}.workspace-registry-item{padding:12px}.workspace-registry-actions{align-items:stretch;display:grid;grid-template-columns:1fr}.workspace-registry-actions form,.workspace-registry-actions .btn,.workspace-action-disclosure,.workspace-action-disclosure>summary,.workspace-danger-disclosure,.workspace-danger-disclosure>summary{width:100%}.workspace-action-disclosure form{position:static;width:100%;box-shadow:none}.workspace-trash-panel>summary{align-items:flex-start}.workspace-registry-group-head{align-items:flex-start;flex-direction:column}}
