:root{--ad-bg:var(--a-bg);--ad-card:var(--a-surface);--ad-text:var(--a-text);--ad-muted:var(--a-muted);--ad-line:var(--a-line);--ad-accent:var(--a-accent);--ad-soft:var(--a-accent-soft);--ad-shadow:var(--a-shadow);color-scheme:light}
html[data-theme=dark]{color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--ad-bg);color:var(--ad-text);font-family:var(--a-font);line-height:1.6}a{color:inherit}button,input,select{font:inherit}select,input,textarea{max-width:100%}button,a,input,select{touch-action:manipulation}button{cursor:pointer}[hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:50;width:100%;padding:0 max(24px,calc((100vw - 1232px)/2));height:76px;background:var(--a-header-bg)!important;color:var(--a-header-text)!important;border-bottom:1px solid var(--ad-line);box-shadow:none}.site-header .brand{color:var(--a-header-text);font-size:var(--a-fs-xl);letter-spacing:-1px}.site-header .brand code{color:var(--ad-accent)}.site-header .nav a,.site-header .nav-drop-trigger{color:var(--a-header-text)}.site-header .nav-drop-trigger.active{color:var(--ad-accent)}.site-header .nav-drop-menu,.site-header .account-dropdown{background:var(--ad-card);color:var(--ad-text);border-color:var(--ad-line);box-shadow:var(--ad-shadow)}.site-header .account-dropdown a,.site-header .account-dropdown button{color:var(--ad-muted)}.account-dropdown strong{padding-bottom:0}.adc-account-role{display:block;padding:0 16px 14px;color:var(--ad-muted);font-size:var(--a-fs-md);font-weight:600;border-bottom:1px solid var(--ad-line);margin-bottom:7px}.site-header .nav-drop-menu a:hover,.site-header .account-dropdown a:hover,.site-header .account-dropdown button:hover{background:var(--ad-soft);color:var(--ad-accent)}.theme-switch{flex-shrink:0}.site-header .menu-toggle span{background:var(--ad-text)}
.adc-home,.adc-container{max-width:1232px;margin:auto;padding:48px 24px 72px}.adc-container.narrow{max-width:650px}.adc-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;padding:42px 0 76px}.adc-eyebrow{font-size:var(--a-fs-2xs);font-weight:800;letter-spacing:2.4px;color:var(--a-zone);margin:0 0 16px}.adc-hero h1{font-size:clamp(36px,4.6vw,62px);line-height:1.12;letter-spacing:-2.7px;margin:0 0 24px}.adc-hero h1 em{font-style:normal;color:var(--a-zone)}.adc-lead{font-size:var(--a-fs-base);color:var(--ad-muted);max-width:590px;margin:0 0 28px}.adc-actions{display:flex;gap:12px;flex-wrap:wrap}.adc-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;border:1px solid var(--ad-line);border-radius:10px;padding:12px 19px;background:var(--ad-card);color:var(--ad-text);font-size:var(--a-fs-sm);font-weight:700;min-height:44px;transition:transform .15s,background .15s}.adc-button:hover{background:var(--ad-soft);transform:translateY(-1px)}.adc-button.primary{background:var(--a-primary);color:var(--a-on-primary);border-color:var(--a-primary)}.adc-button.primary:hover{background:var(--a-primary-hover)}.adc-button.small{min-height:35px;padding:7px 12px;font-size:var(--a-fs-xs)}.adc-button.danger{color:#cf404c}.adc-code-art{background:#142033;border:1px solid #2a3a53;border-radius:18px;box-shadow:0 25px 60px #192b4a25;transform:rotate(1deg);color:#dbe6f9;overflow:hidden}.adc-code-bar{display:flex;align-items:center;gap:7px;padding:18px 21px;border-bottom:1px solid #2b3b53;background:#1a2940}.adc-code-bar i{width:9px;height:9px;border-radius:50%;background:#ec7d7d}.adc-code-bar i:nth-child(2){background:#efd18b}.adc-code-bar i:nth-child(3){background:#85c4a0}.adc-code-bar span{font:var(--a-fs-2xs) ui-monospace,monospace;margin-left:auto;color:#91a3bf}.adc-code-art pre{font:13px/2 ui-monospace,SFMono-Regular,Consolas,monospace;padding:26px 28px;margin:0;overflow:auto}.code-muted{color:#7084a0}.code-purple{color:#c59bf7}.code-blue{color:#90bbff}.code-green{color:#95d2b2}.adc-code-result{margin:0 22px 23px;background:#1b2f3e;padding:12px 16px;font:var(--a-fs-xs) ui-monospace,monospace;border-radius:8px;color:#a9debc}.adc-code-result>span:first-child{color:#5ca477;margin-right:10px}.adc-cursor{color:#85c4a0}.adc-section-heading,.adc-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.adc-section-heading h2{margin:0;font-size:var(--a-fs-2xl);letter-spacing:-.8px}.adc-section-heading .adc-eyebrow{margin-bottom:8px}.adc-section-heading>span{font-size:var(--a-fs-xs);color:var(--ad-muted)}.adc-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.adc-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px}.adc-feature{position:relative;display:block;padding:26px;background:var(--ad-card);border:1px solid var(--ad-line);border-radius:16px;text-decoration:none;box-shadow:var(--ad-shadow);transition:transform .2s,border-color .2s;overflow:hidden}.adc-feature:hover{transform:translateY(-5px);border-color:var(--a-zone)}.adc-feature-number{display:block;font-size:10px;font-weight:800;letter-spacing:1.7px;color:var(--ad-muted);margin-bottom:20px}.adc-feature img{display:block;width:100%;height:150px;object-fit:cover;border-radius:9px;margin-bottom:22px}.adc-python-symbol{display:flex;height:150px;align-items:center;justify-content:center;font:700 68px ui-monospace,monospace;color:var(--a-primary);background:linear-gradient(135deg,#edf2ff,#e0eaff);border-radius:9px;margin-bottom:22px}.adc-python-symbol span{color:#e3b752}.adc-feature h3,.adc-feature h2{font-size:var(--a-fs-xl);margin:0 0 8px;letter-spacing:-.5px}.adc-feature p{font-size:var(--a-fs-sm);color:var(--ad-muted);margin:0;min-height:63px}.adc-card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ad-line);padding-top:17px;margin-top:22px;color:var(--a-zone);font-size:var(--a-fs-xs);font-weight:800}.adc-card-link b{font-size:var(--a-fs-lg)}.adc-footer{text-align:center;padding:24px;border-top:1px solid var(--ad-line);background:var(--a-footer-bg);color:var(--a-footer-text);font-size:var(--a-fs-2xs)}.adc-notice{background:var(--ad-soft);border:1px solid var(--ad-line);padding:15px 22px;border-radius:12px;font-size:var(--a-fs-sm);margin-bottom:45px}.adc-notice a{color:var(--ad-accent);font-weight:700;margin-left:8px}.adc-container h1{font-size:var(--a-fs-3xl);letter-spacing:-1.2px;line-height:1.2;margin:0 0 14px}.adc-muted{font-size:var(--a-fs-sm);color:var(--ad-muted)}.adc-panel{background:var(--ad-card);border:1px solid var(--ad-line);border-radius:14px;padding:26px;box-shadow:var(--ad-shadow)}.adc-form{display:grid;gap:17px}.adc-form label{display:grid;gap:7px;font-size:var(--a-fs-xs);font-weight:650}.adc-form input,.adc-form select,.adc-search input{width:100%;background:var(--ad-bg);color:var(--ad-text);padding:11px 13px;border:1px solid var(--ad-line);border-radius:8px;min-height:44px;font-size:var(--a-fs-md)}.adc-form input:focus,.adc-form select:focus,.adc-search input:focus{outline:2px solid var(--ad-accent);outline-offset:2px}.adc-dialog{width:min(460px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid var(--ad-line);border-radius:18px;padding:32px;background:var(--ad-card);color:var(--ad-text);box-shadow:0 25px 100px #0005}.adc-dialog::backdrop{background:#09142599;backdrop-filter:blur(5px)}.adc-dialog-close{position:absolute;right:15px;top:9px;border:0;background:transparent;color:var(--ad-muted);font-size:var(--a-fs-2xl)}.adc-tabs{display:flex;gap:8px;margin-bottom:22px}.adc-tabs a,.adc-tabs button{background:transparent;color:var(--ad-muted);border:0;border-bottom:2px solid transparent;padding:10px 12px;text-decoration:none;font-size:var(--a-fs-md);font-weight:750}.adc-tabs .active{border-color:var(--ad-accent);color:var(--ad-accent)}.adc-message{font-size:var(--a-fs-sm);background:var(--ad-soft);padding:12px 15px;border-radius:8px;color:var(--ad-text)}.adc-message.error{color:#e45b65;border:1px solid #e45b6540}.adc-honeypot{position:absolute;left:-9999px;width:1px;height:1px}.adc-profile-grid{display:grid;grid-template-columns:320px 1fr;gap:24px;margin-top:30px}.adc-profile-card{text-align:center}.adc-avatar{width:110px;height:110px;border-radius:50%;object-fit:cover}.adc-profile-card h2{font-size:var(--a-fs-xl);margin:16px 0}.adc-profile-card dl{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:12px 16px;font-size:var(--a-fs-xs);margin:24px 0}.adc-profile-card dt{color:var(--ad-muted)}.adc-profile-card dd{margin:0;overflow-wrap:anywhere}.adc-remove-avatar{margin-top:16px}.adc-status{display:inline-block;border-radius:6px;padding:5px 8px;font-size:var(--a-fs-2xs);font-weight:750;white-space:nowrap}.adc-status.active{color:#13845a;background:#2ba57615}.adc-status.pending{color:#bb7c16;background:#d09b2f16}.adc-create{margin-bottom:25px}.adc-create>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:var(--a-fs-md);font-weight:750}.adc-create[open]>summary{margin-bottom:20px}.adc-form.horizontal{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.adc-list-tools{display:flex;justify-content:flex-end;margin:15px 0}.adc-search{display:grid;gap:5px;font-size:var(--a-fs-xs);color:var(--ad-muted);width:320px;max-width:100%}.adc-table-wrap{position:relative;padding:0;overflow-x:auto}.adc-table{width:100%;border-collapse:collapse;font-size:var(--a-fs-xs);text-align:left;min-width:650px}.adc-table th{padding:15px 20px;color:var(--ad-muted);font-size:var(--a-fs-2xs);letter-spacing:.7px;text-transform:uppercase;background:var(--ad-bg)}.adc-table td{padding:18px 20px;border-top:1px solid var(--ad-line);vertical-align:top}.adc-identity{display:flex;align-items:center;gap:11px}.adc-identity img{width:38px;height:38px;border-radius:50%;object-fit:cover}.adc-identity strong,.adc-identity small{display:block}.adc-identity small{color:var(--ad-muted);margin-top:3px}.adc-account-actions>summary{cursor:pointer;color:var(--ad-accent);font-weight:750}.adc-actions-stack{width:240px;display:grid;gap:17px;margin-top:14px}.adc-actions-stack>form{border-bottom:1px solid var(--ad-line);padding-bottom:14px}.adc-empty{text-align:center;padding:40px!important;color:var(--ad-muted);font-size:var(--a-fs-sm)}.adc-page-heading h1{margin-bottom:9px}
html[data-theme=dark] .hub-grid,html[data-theme=dark] .hub-card{color:var(--ad-text)}
@media(max-width:900px){.site-header{padding:0 22px}.adc-hero{gap:30px}.adc-code-art pre{font-size:11px;padding:24px 16px}.adc-card-grid{gap:14px}.adc-feature{padding:20px}.adc-section-heading>span{display:none}.adc-form.horizontal{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.site-header{height:66px;padding:0 16px}.site-header .header-actions{gap:10px}.site-header .nav.open{background:var(--ad-card)}.adc-home,.adc-container{padding:30px 18px 48px}.adc-hero{grid-template-columns:1fr;padding:16px 0 46px;gap:34px}.adc-hero h1{font-size:var(--a-fs-3xl);letter-spacing:-1.8px}.adc-code-art{transform:none}.adc-code-art pre{font-size:12px;padding:23px}.adc-card-grid,.adc-card-grid.two{grid-template-columns:1fr}.adc-feature{padding:24px}.adc-feature img{height:180px}.adc-section-heading h2{font-size:var(--a-fs-xl)}.adc-feature p{min-height:0}.adc-profile-grid{grid-template-columns:1fr}.adc-page-heading{align-items:flex-start;flex-direction:column}.adc-form.horizontal{grid-template-columns:1fr}.adc-notice a{display:block;margin:8px 0 0}.adc-dialog{padding:26px}.adc-container h1{font-size:var(--a-fs-2xl)}.adc-panel{padding:22px}.adc-table-wrap{padding:0}}
.home-site-header{font-family:var(--a-font)}.home-site-header .brand{font-family:inherit!important}.home-site-header .account-dropdown strong{font-family:inherit}.home-site-header .account-dropdown .adc-account-role{font-family:inherit}
.home-site-header .brand span{color:var(--ad-text)!important}.home-site-header .brand code{color:var(--ad-accent)!important}
.home-site-header.home-site-header .nav-drop-trigger,.home-site-header.home-site-header .nav a{color:var(--ad-text)!important}.home-site-header.home-site-header .nav-drop-trigger.active,.home-site-header.home-site-header .nav a.active{color:var(--ad-accent)!important}.home-site-header.home-site-header .nav-drop-menu a:hover{color:var(--ad-accent)!important}
.home-site-header.home-site-header .account-dropdown strong{color:var(--ad-text)!important}.home-site-header.home-site-header .account-dropdown a,.home-site-header.home-site-header .account-dropdown button{color:var(--ad-muted)!important}.home-site-header.home-site-header .account-dropdown a:hover,.home-site-header.home-site-header .account-dropdown button:hover{color:var(--ad-accent)!important}

/* Shared management menu and consultation forms. */
.adc-management-shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1600px;margin:auto;min-height:calc(100vh - 141px)}
.adc-management-sidebar{background:var(--ad-card);border-right:1px solid var(--ad-line);padding:24px 16px}
.adc-management-identity{display:flex;align-items:center;gap:12px;margin:0 0 24px;padding:0 8px 22px;border-bottom:1px solid var(--ad-line)}
.adc-management-identity img{width:48px;height:48px;border-radius:50%}.adc-management-identity strong,.adc-management-identity span{display:block}.adc-management-identity span{font-size:var(--a-fs-xs);color:var(--ad-accent)}
.adc-management-sidebar summary{cursor:pointer;color:var(--ad-muted);font-weight:700;font-size:var(--a-fs-sm);padding:8px;margin-bottom:8px}
.adc-management-sidebar nav{display:grid;gap:8px}.adc-management-sidebar nav a{padding:14px 16px;border:1px solid transparent;border-radius:12px;text-decoration:none;font-size:var(--a-fs-md);font-weight:700}.adc-management-sidebar nav a:hover{background:var(--ad-soft)}.adc-management-sidebar nav a.active{background:var(--ad-soft);color:var(--ad-accent);border-color:var(--ad-line)}
.adc-management-content{width:100%;min-width:0;padding:36px 28px 64px}
.adc-form textarea{width:100%;background:var(--ad-bg);color:var(--ad-text);padding:11px 13px;border:1px solid var(--ad-line);border-radius:8px;font:inherit;resize:vertical;min-height:80px}
.adc-form textarea:focus{outline:2px solid var(--ad-accent);outline-offset:2px}
.adc-registration-note{white-space:pre-wrap;overflow-wrap:anywhere}
/* Đăng ký tư vấn (manage/registrations.php): mỗi đăng ký một hàng, màu theo trạng thái */
.adc-reg-tools{justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.adc-reg-tools .adc-chip{text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.adc-reg-dot{width:8px;height:8px;border-radius:50%;background:var(--reg-c)}.adc-chip.active .adc-reg-dot{background:#fff}
.s-new{--reg-c:#e8912d}.s-contacted{--reg-c:#2f5bea}.s-consulted{--reg-c:#13845a}.s-closed{--reg-c:#8a94a6}
.adc-reg-panel{padding:0;overflow:hidden}.adc-reg-list{list-style:none;margin:0;padding:0}
.adc-reg{display:grid;grid-template-columns:minmax(160px,1fr) minmax(170px,1fr) minmax(0,1.5fr) auto;gap:6px 22px;align-items:start;padding:16px 22px 12px 19px;border-top:1px solid var(--ad-line);border-left:3px solid var(--reg-c);font-size:var(--a-fs-sm)}
.adc-reg:first-child{border-top:0}.adc-reg.s-closed{opacity:.72}
.adc-reg-who,.adc-reg-contact,.adc-reg-need{display:grid;gap:3px;min-width:0;align-content:start}
.adc-reg-who strong{font-size:var(--a-fs-md);line-height:1.3}.adc-reg-who small{color:var(--ad-muted)}.adc-reg-time{font-size:var(--a-fs-2xs)}
.adc-reg-dup{justify-self:start;font-size:var(--a-fs-2xs);font-weight:750;color:#c0414c;background:#e45b6514;border-radius:6px;padding:2px 7px}
.adc-reg-contact a{color:var(--ad-text);text-decoration:none;display:flex;align-items:baseline;gap:8px;overflow-wrap:anywhere}.adc-reg-contact a:hover{color:var(--ad-accent)}
.adc-reg-contact span{flex:none;width:70px;font-size:var(--a-fs-2xs);color:var(--ad-muted)}
.adc-reg-need .adc-role-chip{justify-self:start}.adc-reg-need p{margin:2px 0 0;color:var(--ad-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.adc-reg-actions{display:flex;align-items:center;gap:8px}.adc-reg-actions form{margin:0}
.adc-reg-select{appearance:auto;min-height:35px;padding:6px 10px;border:1px solid var(--reg-c);border-radius:999px;background:var(--ad-card);color:var(--reg-c);font-weight:750;font-size:var(--a-fs-xs);cursor:pointer}
.adc-reg-delete{color:#c0414c;cursor:pointer}.adc-reg-delete:hover{background:#e45b6514}
.adc-reg-note{grid-column:1/-1;font-size:var(--a-fs-xs)}.adc-reg-note summary{cursor:pointer;color:var(--ad-muted);padding:4px 0;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adc-reg-note summary::-webkit-details-marker{display:none}.adc-reg-note summary:hover{color:var(--ad-accent)}.adc-reg-note summary b{color:var(--ad-text)}
.adc-reg-note-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:6px 0 6px}.adc-reg-note-form textarea{width:100%;background:var(--ad-bg);color:var(--ad-text);padding:9px 12px;border:1px solid var(--ad-line);border-radius:8px;font:inherit;resize:vertical}
.adc-reg-list>.adc-empty{list-style:none}
@media(max-width:1000px){.adc-reg{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.adc-reg-need{grid-column:1/3}.adc-reg-actions{grid-row:1;grid-column:3}}
@media(max-width:640px){.adc-reg{grid-template-columns:minmax(0,1fr) auto;padding:14px 16px 10px 13px}.adc-reg-who{grid-column:1}.adc-reg-actions{grid-column:2;grid-row:1}.adc-reg-contact,.adc-reg-need{grid-column:1/-1}.adc-reg-note-form{grid-template-columns:1fr}.adc-reg-tools .adc-search{width:100%}}
@media(max-width:800px){.adc-management-shell{grid-template-columns:minmax(0,1fr);align-content:start}.adc-management-sidebar{border-right:0;border-bottom:1px solid var(--ad-line);padding:10px 16px 12px;min-width:0}.adc-management-identity{display:none}.adc-management-sidebar summary{padding:4px 2px;margin-bottom:4px}.adc-management-sidebar details+details{margin-top:6px}.adc-management-sidebar nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.adc-management-sidebar nav::-webkit-scrollbar{display:none}.adc-management-sidebar nav a{flex:0 0 auto;white-space:nowrap;padding:8px 14px;border-color:var(--ad-line);font-size:var(--a-fs-sm)}.adc-management-content{padding:28px 16px 48px}.adc-consultation-filter{grid-template-columns:1fr}.adc-consultation-filter button{justify-self:start}}

/* Form đăng nhập / đăng ký — giao diện lấy nguyên từ THAYTUNG (home.css + theme dark) */
.auth-modal{position:fixed;width:min(430px,calc(100% - 48px));max-height:calc(100vh - 48px);overflow-x:hidden;overflow-y:auto;margin:auto;padding:0;border:0;border-radius:18px;background:var(--a-surface);color:var(--a-text);box-shadow:0 28px 70px rgba(0,0,0,.32)}
.auth-modal::backdrop{background:rgba(10,20,35,.72)}
.auth-close{position:absolute;top:11px;right:11px;z-index:3;display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid rgba(148,163,184,.3);border-radius:50%;background:rgba(255,255,255,.76);color:#64748b;cursor:pointer;box-shadow:0 5px 16px rgba(15,23,42,.08);backdrop-filter:blur(8px);transition:color 160ms ease,border-color 160ms ease,background-color 160ms ease,transform 160ms ease,box-shadow 160ms ease}
.auth-close span{font:400 var(--a-fs-xl)/1 Arial,sans-serif;transform:translateY(-1px)}
.auth-close:hover{border-color:rgba(180,83,9,.3);background:#fff8ed;color:#9a4c16;box-shadow:0 7px 18px rgba(146,64,14,.13);transform:rotate(4deg) scale(1.04)}
.auth-close:focus-visible{outline:3px solid rgba(255,208,0,.48);outline-offset:2px}
.auth-tabs{display:flex;background:var(--a-surface-2);border-bottom:1px solid var(--a-line)}
.tab-trigger{flex:1;padding:18px 16px;border:0;background:transparent;color:var(--a-muted);cursor:pointer;font-family:inherit;font-weight:800;font-size:var(--a-fs-lg);text-transform:uppercase;letter-spacing:1px;position:relative}
.tab-trigger.active{color:var(--a-auth-tab)}
.tab-trigger.active::after{content:"";position:absolute;left:25%;right:25%;bottom:0;height:4px;border-radius:999px;background:var(--a-auth-accent)}
@media(max-width:480px){.auth-tabs .tab-trigger:last-child{padding-right:44px}}
.auth-body{padding:24px 30px 18px}
.tab-pane{display:flex;flex-direction:column;gap:12px}
.tab-pane[hidden]{display:none}
.input-item{display:flex;flex-direction:column;gap:6px}
.input-item label{color:var(--a-muted);font-size:var(--a-fs-sm);font-weight:900;line-height:1.2}
.game-input{min-height:50px;border:0;border-radius:14px;padding:12px 16px;background:var(--a-input-bg);color:var(--a-text);font-family:inherit;font-size:var(--a-fs-lg);font-weight:700}
.game-input::placeholder{color:#a8b0bc}
.game-input:focus{outline:3px solid rgba(255,208,0,.55);background:var(--a-surface)}
.submit-btn{min-height:54px;margin-top:8px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--a-auth-accent),var(--a-auth-accent-2));color:var(--a-on-auth-accent);cursor:pointer;font-family:inherit;font-size:var(--a-fs-lg);font-weight:800;text-transform:uppercase;letter-spacing:1px;box-shadow:0 12px 24px rgba(234,179,8,.22)}
.submit-btn:disabled{opacity:.6;cursor:wait}
.auth-note{margin:0;color:#94a3b8;font-size:var(--a-fs-sm);font-weight:700;text-align:center}
.cancel-btn{display:block;margin:10px auto 0;border:0;background:transparent;color:var(--a-muted);cursor:pointer;font-family:inherit;font-size:var(--a-fs-base);font-weight:800}
.auth-message{margin:0 0 18px;padding:13px 16px;border-radius:14px;background:var(--a-bad-soft);color:var(--a-bad);font-weight:800}
.auth-message.ok{background:var(--a-good-soft);color:var(--a-good)}
html[data-theme="dark"] .auth-close{background:rgba(23,33,47,.76);color:#99a6b8}
html[data-theme="dark"] .auth-close:hover{background:#332202;color:#db9b77}
.home-site-header .brand-logo{width:36px;height:36px;border-radius:9px;flex:0 0 auto;display:block;box-shadow:0 4px 12px #0b4fd426}
.adc-hero-art{position:relative;padding-bottom:40px}.adc-mascot{position:absolute;right:-20px;bottom:-30px;z-index:2;width:clamp(160px,16vw,210px);margin:0;pointer-events:none;animation:adc-mascot-float 4.6s ease-in-out infinite}.adc-mascot img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 22px #1d4fd840)}.adc-mascot figcaption{position:absolute;right:30%;top:-38px;white-space:nowrap;background:var(--ad-card);color:var(--ad-text);border:1px solid var(--ad-line);border-radius:14px 14px 4px 14px;padding:8px 12px;font-size:var(--a-fs-xs);font-weight:600;box-shadow:var(--ad-shadow)}.adc-mascot figcaption b{color:var(--ad-accent)}
@keyframes adc-mascot-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@media(prefers-reduced-motion:reduce){.adc-mascot{animation:none}}
@media(max-width:900px){.adc-mascot{width:140px;right:-8px}}
@media(max-width:650px){.adc-hero-art{padding-bottom:110px}.adc-mascot{right:4px;bottom:-10px;width:150px}.home-site-header .brand-logo{width:30px;height:30px;border-radius:7px}}

/* Đội ngũ giáo viên trên trang chủ (app/includes/home_team.php) */
.adc-team{margin-top:64px}
.adc-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:stretch}
.adc-teacher{position:relative;display:flex;flex-direction:column;height:100%;background:var(--ad-card);border:1px solid var(--ad-line);border-radius:20px;box-shadow:var(--ad-shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.adc-teacher:hover{transform:translateY(-4px);border-color:#3264ea66;box-shadow:0 18px 40px #1b3a7a26}
.adc-teacher-top{position:relative;height:96px;background:radial-gradient(circle at 20% 20%,#ffffff26 0 2px,transparent 3px) 0 0/18px 18px,var(--a-team-head)}
.adc-teacher-avatar{position:absolute;left:50%;bottom:-56px;width:112px;height:112px;transform:translateX(-50%);border-radius:50%;border:5px solid var(--ad-card);background:var(--ad-card);box-shadow:0 10px 24px #10274d33;object-fit:cover}
.adc-teacher-body{display:flex;flex:1;flex-direction:column;align-items:center;padding:70px 20px 20px;text-align:center}
.adc-teacher-badge{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:#fff4d6;color:#a8650c;font-size:var(--a-fs-2xs);font-weight:800;letter-spacing:.1px;white-space:nowrap}
.adc-teacher h3{margin:12px 0 4px;font-size:var(--a-fs-lg);letter-spacing:-.4px}
.adc-teacher-role{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em;margin:0;color:var(--ad-muted);font-size:var(--a-fs-xs);line-height:1.45}
.adc-teacher-facts{display:grid;gap:0;width:100%;margin:16px 0 0;padding:0;list-style:none;text-align:left}
.adc-teacher-facts li{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:8px;min-height:3.1em;padding:9px 0;border-top:1px solid var(--ad-line);color:var(--ad-text);font-size:var(--a-fs-xs);line-height:1.45}
.adc-teacher-facts li span{font-size:var(--a-fs-md);line-height:1.3}
.adc-teacher-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin-top:auto;padding:0 14px;border:1px solid var(--a-primary);border-radius:12px;color:var(--a-primary);background:transparent;font:inherit;font-size:var(--a-fs-sm);font-weight:800;cursor:pointer;transition:background .15s,color .15s}
.adc-teacher-facts+.adc-teacher-open{margin-top:16px}
.adc-teacher-body>.adc-teacher-open{margin-top:auto}
.adc-teacher-facts{margin-bottom:16px}
.adc-teacher-open:hover,.adc-teacher-open:focus-visible{background:var(--a-primary);color:#fff;outline:none}
.adc-team-actions{justify-content:center;margin-top:30px}
.adc-team-dialog{width:min(760px,calc(100vw - 24px));max-height:88vh;padding:0;border:0;border-radius:24px;color:var(--ad-text);background:var(--ad-card);box-shadow:0 30px 90px #0a142a66;overflow:auto}
.adc-team-dialog::backdrop{background:#0a1426a6;backdrop-filter:blur(4px)}
.adc-team-dialog[open]{animation:adc-team-pop .2s ease-out}
@keyframes adc-team-pop{from{opacity:0;transform:translateY(14px) scale(.98)}}
.adc-team-close{position:absolute;top:14px;right:14px;z-index:1;width:36px;height:36px;border:0;border-radius:50%;color:#fff;background:#ffffff2e;font-size:var(--a-fs-base);cursor:pointer}
.adc-team-close:hover{background:#ffffff4d}
.adc-team-profile-head{display:flex;align-items:center;gap:22px;padding:28px 30px;color:#fff;background:var(--a-team-head)}
.adc-team-profile-head img{flex:none;width:112px;height:112px;border:4px solid #ffffffcc;border-radius:50%;object-fit:cover}
.adc-team-profile-head h2{margin:10px 0 4px;font-size:var(--a-fs-2xl);letter-spacing:-.6px}
.adc-team-profile-head p{margin:0;color:#e6f0ff;font-size:var(--a-fs-sm)}
.adc-team-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:24px 30px 30px}
.adc-team-profile-grid section{padding:16px 18px;border:1px solid var(--ad-line);border-radius:16px;background:var(--ad-bg)}
.adc-team-profile-grid section.wide{grid-column:1/-1}
.adc-team-profile-grid h3{margin:0 0 8px;font-size:var(--a-fs-md)}
.adc-team-profile-grid ul{margin:0;padding-left:18px;color:var(--ad-muted);font-size:var(--a-fs-sm);line-height:1.65}
@media(max-width:1100px){.adc-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.adc-team{margin-top:46px}.adc-team-grid{grid-template-columns:1fr}.adc-team-profile-head{flex-direction:column;text-align:center;padding:26px 20px}.adc-team-profile-grid{grid-template-columns:1fr;padding:18px}}
.adc-account-sep{display:block;border-top:1px solid var(--ad-line);margin:7px 0}

/* Quản lý chứng chỉ (manage/certificates.php) */
.adc-certs .track-sql{--track:#2563eb}.adc-certs .track-html{--track:#e34c26}.adc-certs .track-css{--track:#7c3aed}.adc-certs .track-python{--track:#0f766e}
.adc-cert-table td{vertical-align:middle}.adc-cert-table th:first-child input,.adc-cert-table td>input[type=checkbox]{width:18px;height:18px;accent-color:var(--a-primary)}
.adc-cert-cell{display:grid;gap:6px;min-width:96px;font-size:var(--a-fs-2xs);color:var(--ad-muted)}
.adc-cert-bar{display:block;height:6px;border-radius:6px;background:var(--ad-soft);overflow:hidden}.adc-cert-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#86c8c2,var(--a-zone))}
.adc-cert-pill{justify-self:start;display:inline-block;border-radius:999px;padding:3px 9px;font-size:var(--a-fs-2xs);font-weight:750;white-space:nowrap;color:var(--ad-muted);background:var(--ad-soft)}
.adc-cert-pill.issued{color:#8a5d14;background:#e3b65a2e}.adc-cert-pill.eligible{color:#13845a;background:#2ba57618}.adc-cert-pill.revoked{color:#cf404c;background:#e45b6518}.adc-cert-pill.learning{color:var(--ad-accent)}
html[data-theme="dark"] .adc-cert-pill.issued{color:#f0cd7f}html[data-theme="dark"] .adc-cert-pill.eligible{color:#7fd4a8}html[data-theme="dark"] .adc-cert-pill.revoked{color:#f08a7a}
.adc-cert-manual{display:block;margin-top:4px;font-size:10px;color:var(--ad-muted)}
.adc-cert-badge{display:inline-block;padding:5px 9px;border-radius:8px;background:var(--track);color:#fff;font:700 var(--a-fs-xs) var(--a-mono)}
.adc-cert-back{display:inline-block;margin-bottom:14px;font-size:var(--a-fs-sm);font-weight:700;text-decoration:none;color:var(--ad-accent)}
.adc-cert-student{padding:18px 22px;margin-bottom:18px}
.adc-cert-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.adc-cert-card{display:flex;flex-direction:column;gap:14px;padding:20px;border-top:4px solid var(--track)}
.adc-cert-card header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.adc-cert-progress{display:grid;gap:6px;font-size:var(--a-fs-xs);color:var(--ad-muted)}
.adc-cert-card dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:var(--a-fs-xs)}.adc-cert-card dt{color:var(--ad-muted)}.adc-cert-card dd{margin:0;overflow-wrap:anywhere}
.adc-cert-actions{display:grid;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--ad-line)}
.adc-cert-actions details>summary{cursor:pointer;font-size:var(--a-fs-xs);font-weight:750;color:var(--ad-accent)}.adc-cert-actions details[open]>summary{margin-bottom:10px}
.adc-cert-actions .adc-form{gap:10px}.adc-cert-actions .adc-form input{width:100%;background:var(--ad-bg);color:var(--ad-text);padding:9px 12px;border:1px solid var(--ad-line);border-radius:8px;min-height:40px;font-size:var(--a-fs-sm)}
.adc-cert-actions form>.adc-button,.adc-cert-actions>.adc-button{width:100%}
.adc-cert-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:18px}
.adc-cert-tracks a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--ad-line);border-radius:14px;background:var(--ad-card);text-decoration:none;font-size:var(--a-fs-xs);color:var(--ad-muted);transition:border-color .15s,transform .15s}
.adc-cert-tracks a:hover{transform:translateY(-2px);border-color:var(--track)}.adc-cert-tracks a.active{border-color:var(--track);box-shadow:0 0 0 1px var(--track)}
.adc-cert-tracks b{color:var(--ad-text);font-size:var(--a-fs-md)}.adc-cert-tracks em{font-style:normal;color:#13845a;font-weight:700}
.adc-cert-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 14px}.adc-cert-toolbar .adc-search{width:220px}.adc-cert-toolbar form{margin-left:auto}
.adc-cert-toolbar select{width:100%;background:var(--ad-bg);color:var(--ad-text);padding:11px 13px;border:1px solid var(--ad-line);border-radius:8px;min-height:44px;font-size:var(--a-fs-md)}
.adc-cert-bulk{position:sticky;top:12px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:12px 16px;border-radius:12px;background:var(--ad-card);border:1px solid var(--a-primary);box-shadow:var(--ad-shadow);font-size:var(--a-fs-sm)}
.adc-cert-bulk input{flex:1;min-width:180px;background:var(--ad-bg);color:var(--ad-text);padding:8px 12px;border:1px solid var(--ad-line);border-radius:8px;min-height:35px;font-size:var(--a-fs-xs)}
@media(max-width:650px){.adc-cert-toolbar .adc-search{width:100%}.adc-cert-toolbar form{margin-left:0;width:100%}.adc-cert-toolbar form .adc-button{width:100%}}
/* Nút chuyển trang chủ Bản 3D / Bản thường (app/includes/home_*.php, xử lý trong adcode.js) */
.adc-home-switch{position:fixed;right:18px;bottom:18px;z-index:45;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid #ffffff33;border-radius:999px;background:#0a1430cc;color:#e9f0ff;font-size:var(--a-fs-xs);font-weight:700;text-decoration:none;box-shadow:0 8px 30px #0005;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity .4s,transform .2s}
.adc-home-switch:hover{transform:translateY(-2px)}
/* Quản lý tài khoản: duyệt, lọc, hộp thoại chỉnh sửa (manage/accounts.php) */
.adc-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:#e8912d;color:#fff;font-size:11px;font-weight:800;vertical-align:1px}
.adc-heading-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.adc-heading-actions .adc-tabs{margin:0}
.adc-text-warn{color:#bb7c16}
.adc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.adc-approval{margin-bottom:28px;border-color:#e8912d66;border-left:4px solid #e8912d;padding:22px 24px}
.adc-approval-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.adc-approval-head h2{margin:0 0 4px;font-size:var(--a-fs-lg);display:flex;align-items:center;gap:8px}.adc-approval-head p{margin:0}
.adc-count{display:inline-flex;min-width:24px;height:24px;align-items:center;justify-content:center;border-radius:999px;background:#d09b2f22;color:#bb7c16;font-size:var(--a-fs-2xs);padding:0 7px}
.adc-approval-list{list-style:none;margin:0;padding:0}.adc-approval-list li{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--ad-line)}.adc-approval-list li>.adc-identity{flex:1;min-width:0;font-size:var(--a-fs-sm)}
.adc-approval-form{display:flex;align-items:center;gap:10px}
.adc-inline-select{display:flex;align-items:center;gap:8px;font-size:var(--a-fs-xs);color:var(--ad-muted)}.adc-inline-select select{min-height:35px;padding:6px 10px;border:1px solid var(--ad-line);border-radius:8px;background:var(--ad-bg);color:var(--ad-text);font-size:var(--a-fs-xs);max-width:180px}
.adc-accounts .adc-list-tools{justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.adc-chips{display:flex;gap:8px;flex-wrap:wrap}.adc-chip{border:1px solid var(--ad-line);background:var(--ad-card);color:var(--ad-muted);border-radius:999px;padding:7px 14px;font-size:var(--a-fs-xs);font-weight:700;cursor:pointer}.adc-chip span{opacity:.7;margin-left:3px}.adc-chip.active{background:var(--ad-accent);border-color:var(--ad-accent);color:#fff}
.adc-accounts .adc-table td{vertical-align:middle}.adc-col-actions{text-align:right;width:1%;white-space:nowrap}
.adc-row-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}
.adc-icon-button{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid var(--ad-line);border-radius:10px;text-decoration:none;background:var(--ad-card)}.adc-icon-button:hover{background:var(--ad-soft)}
.adc-status.locked{color:#c0414c;background:#e45b6514}
.adc-account-dialog{width:min(480px,calc(100vw - 32px))}.adc-account-dialog h2{margin:0 0 6px;font-size:var(--a-fs-xl)}.adc-account-dialog>.adc-form{margin-top:18px}
.adc-account-dialog section{border-top:1px solid var(--ad-line);padding:18px 0 4px;margin-top:18px}.adc-account-dialog section:first-of-type{margin-top:22px}
.adc-account-dialog h3{margin:0 0 12px;font-size:var(--a-fs-2xs);letter-spacing:1px;text-transform:uppercase;color:var(--ad-muted)}
.adc-dialog-identity{padding-right:30px}.adc-dialog-identity img{width:48px;height:48px}.adc-dialog-identity>div{flex:1;min-width:0}
.adc-inline-form{grid-template-columns:1fr auto;align-items:center;gap:10px}.adc-inline-form .adc-button{min-height:44px}
.adc-danger-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:650px){.adc-approval-list li{flex-wrap:wrap}.adc-approval-list li>.adc-identity{flex-basis:100%}.adc-approval-form{flex:1}.adc-heading-actions{width:100%;justify-content:space-between}.adc-accounts .adc-search{width:100%}}
.adc-steps{list-style:none;counter-reset:step;margin:18px 0 6px;padding:0;display:grid;gap:14px}.adc-steps li{counter-increment:step;display:grid;grid-template-columns:28px 1fr;column-gap:12px;row-gap:3px;font-size:var(--a-fs-sm)}.adc-steps li::before{content:counter(step);grid-row:span 3;width:28px;height:28px;border-radius:50%;background:var(--ad-soft);color:var(--ad-accent);font-weight:800;display:flex;align-items:center;justify-content:center}.adc-steps span{color:var(--ad-muted);font-size:var(--a-fs-xs)}.adc-steps .adc-button{justify-self:start;margin-top:6px}
.adc-import-errors{margin:10px 0 0;padding-left:20px;max-height:260px;overflow:auto;font-size:var(--a-fs-xs);color:var(--ad-text)}.adc-import-errors li{margin:3px 0}
/* Phân công giáo viên vào lớp (manage/classes.php) */
.adc-block{display:block}.adc-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.5px;margin-top:3px}
.adc-role-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--ad-soft);border:1px solid var(--ad-line);font-size:var(--a-fs-2xs);font-weight:700;white-space:nowrap}.adc-role-chip.main{background:#2f5bea14;border-color:#2f5bea40;color:var(--ad-accent)}
.adc-chip-list{display:flex;flex-wrap:wrap;gap:6px}
.adc-role-help{margin-bottom:18px;padding:16px 22px;font-size:var(--a-fs-sm)}.adc-role-help summary{cursor:pointer;font-weight:750}.adc-role-help ul{margin:12px 0 0;padding-left:20px;display:grid;gap:6px;color:var(--ad-muted)}.adc-role-help strong{color:var(--ad-text)}
.adc-staff-current{margin:0 0 12px}
.adc-staff-list{list-style:none;margin:0 0 14px;padding:0}.adc-staff-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--ad-line);font-size:var(--a-fs-sm);font-weight:650}
.adc-check{display:flex!important;grid-template-columns:none;align-items:center;gap:8px;font-weight:600!important;color:var(--ad-muted)}.adc-check input{width:auto!important;min-height:0!important}
.adc-account-dialog .adc-inline-form select{width:100%;background:var(--ad-bg);color:var(--ad-text);padding:9px 12px;border:1px solid var(--ad-line);border-radius:8px;min-height:44px;font-size:var(--a-fs-sm)}
div.adc-inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
