:root { --sidebar:#14231d; --sidebar-soft:#1d332a; --gold:#d99a43; }
body { min-height:100vh; background:var(--bg); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.auth-gate { display:grid; min-height:100vh; grid-template-columns:minmax(0,1fr); }
.auth-card { display:flex; width:min(100%,32rem); min-height:100vh; flex-direction:column; justify-content:center; margin:auto; padding:2rem clamp(1.2rem,6vw,4rem); }
.auth-card > img { filter:drop-shadow(0 18px 24px rgb(80 42 8 / 22%)); }
.auth-card .eyebrow { margin-top:1.25rem; }
.auth-card h1 { margin:.3rem 0 0; font-size:clamp(2rem,7vw,3.4rem); line-height:1.02; letter-spacing:-.055em; }
.auth-card > p:not(.eyebrow) { max-width:28rem; margin:.8rem 0 1.2rem; color:var(--text-soft); font-size:.85rem; line-height:1.65; }
.auth-card form { display:grid; gap:.8rem; }
.auth-card label,.news-editor-panel label,.admin-dialog-card label { display:grid; gap:.34rem; color:var(--text-soft); font-size:.67rem; font-weight:800; }
.auth-card input,.news-editor-panel input,.news-editor-panel textarea,.news-editor-panel select,.admin-dialog-card textarea,.admin-dialog-card select { width:100%; min-height:3rem; padding:.7rem .8rem; border:1px solid var(--border); border-radius:.75rem; color:var(--text); background:var(--surface); outline:none; }
.auth-card input:focus,.news-editor-panel :is(input,textarea,select):focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }
.auth-card form > button,.demo-entry { display:flex; min-height:3.15rem; align-items:center; justify-content:space-between; padding:0 1rem; border-radius:.8rem; color:#fff; background:var(--primary); font-size:.76rem; font-weight:900; }
.demo-entry { justify-content:center; width:100%; margin-top:.7rem; color:var(--primary); border:1px solid var(--primary); background:transparent; }
.back-to-app { width:max-content; margin-top:1.2rem; color:var(--text-soft); font-size:.7rem; font-weight:700; }
.form-error,.demo-notice { padding:.75rem; border-radius:.7rem; font-size:.68rem; }
.form-error { margin:0; color:var(--danger); background:#fee2e2; }
.demo-notice { display:grid; margin:0 0 1rem; gap:.2rem; color:#854d0e; background:#fef3c7; }
.demo-notice span { font-size:.62rem; line-height:1.45; }
.auth-visual { position:relative; display:none; overflow:hidden; align-items:center; justify-content:center; color:#fff9f0; background:linear-gradient(145deg,#203a30,#0f1714 62%,#4a280c); }
.auth-visual::before,.auth-visual::after { position:absolute; width:34rem; height:34rem; border:1px solid rgb(255 255 255 / 11%); border-radius:50%; content:""; }
.auth-visual::after { width:20rem; height:20rem; }
.auth-thai { position:relative; z-index:2; font-family:var(--font-thai-display); font-size:clamp(7rem,15vw,13rem); text-shadow:0 25px 55px rgb(0 0 0 / 30%); }
.auth-visual p { position:absolute; z-index:2; bottom:10%; color:#e9d6bc; font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; }
.tone-ribbon { position:absolute; right:8%; bottom:22%; left:8%; display:flex; height:8rem; align-items:flex-end; gap:1rem; opacity:.45; }
.tone-ribbon i { flex:1; height:35%; border-radius:999px; background:#d99a43; transform:rotate(-7deg); }.tone-ribbon i:nth-child(2){height:60%}.tone-ribbon i:nth-child(3){height:42%}.tone-ribbon i:nth-child(4){height:82%}.tone-ribbon i:nth-child(5){height:50%}

.admin-shell { min-height:100vh; }
.admin-sidebar { position:fixed; z-index:20; inset:0 auto 0 0; display:none; width:16.5rem; flex-direction:column; padding:1.1rem; color:#f9f5ed; background:linear-gradient(180deg,var(--sidebar),#0f1b16); }
.studio-brand { display:flex; align-items:center; padding:.3rem; gap:.7rem; }.studio-brand img{filter:drop-shadow(0 8px 14px rgb(0 0 0 / 25%))}.studio-brand strong,.studio-brand small{display:block}.studio-brand strong{font-size:.95rem}.studio-brand small{margin-top:.08rem;color:#b4c5bd;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em}
.admin-nav { display:grid; margin-top:2rem; gap:.35rem; }.admin-nav button{display:grid; grid-template-columns:2rem 1fr auto; min-height:3rem; align-items:center; padding:.4rem .65rem; border-radius:.8rem; color:#aebeb7; text-align:left; background:transparent}.admin-nav button:hover,.admin-nav button.is-active{color:#fff;background:var(--sidebar-soft)}.admin-nav button.is-active::before{position:absolute;left:0;width:.22rem;height:1.5rem;border-radius:0 999px 999px 0;background:var(--gold);content:""}.admin-nav span{font-family:var(--font-thai);font-size:1rem}.admin-nav b{font-size:.7rem}.admin-nav em{min-width:1.5rem;padding:.15rem .35rem;border-radius:999px;color:#f9d89f;background:#533a1c;font-size:.56rem;font-style:normal;text-align:center}
.sidebar-foot { margin-top:auto; padding-top:1rem; border-top:1px solid rgb(255 255 255 / 10%); }.staff-mini-profile{display:flex;align-items:center;gap:.6rem}.staff-avatar{display:grid;width:2.35rem;height:2.35rem;place-items:center;border-radius:50%;color:#432505;background:#f3c77e;font-size:.65rem;font-weight:900}.staff-mini-profile strong,.staff-mini-profile small{display:block}.staff-mini-profile strong{font-size:.67rem}.staff-mini-profile small{margin-top:.12rem;color:#9db0a7;font-size:.57rem}.sidebar-foot>button{margin:.8rem 0 0 .1rem;color:#9db0a7;background:transparent;font-size:.62rem}
.admin-workspace { min-height:100vh; padding-bottom:5.5rem; }
.admin-topbar { position:sticky; z-index:15; top:0; display:flex; min-height:4.6rem; align-items:center; justify-content:space-between; padding:max(.7rem,env(safe-area-inset-top)) 1rem .7rem; border-bottom:1px solid var(--border); background:color-mix(in srgb,var(--bg) 91%,transparent); backdrop-filter:blur(16px); }
.breadcrumb { margin:0; color:var(--text-soft); font-size:.62rem; }.breadcrumb span{margin:0 .3rem;color:var(--border)}.breadcrumb b{color:var(--text)}.sync-status{display:flex;align-items:center;margin:.25rem 0 0;gap:.3rem;color:var(--text-soft);font-size:.55rem}.sync-status i{width:.4rem;height:.4rem;border-radius:50%;background:var(--success);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--success) 15%,transparent)}.sync-status i.is-demo{background:var(--gold)}
.topbar-tools { display:flex; align-items:center; gap:.45rem; }.global-search{display:none;align-items:center;min-height:2.4rem;padding:0 .7rem;gap:.35rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.global-search input{width:10rem;border:0;outline:0;background:transparent;font-size:.65rem}.theme-button,.compact-profile{display:grid;width:2.45rem;height:2.45rem;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm)}.compact-profile{padding:.2rem}.compact-profile span{display:grid;width:100%;height:100%;place-items:center;border-radius:50%;color:#fff;background:var(--primary);font-size:.58rem;font-weight:900}
#admin-main { width:min(100% - 1.4rem,87rem); margin:0 auto; padding:1.5rem 0 3rem; }
.admin-view { display:none; }.admin-view.is-active{display:block}.page-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;margin-bottom:1.2rem;gap:1rem}.page-heading h1{margin:0;font-size:clamp(1.65rem,5vw,2.45rem);letter-spacing:-.045em}.page-heading>div>p:not(.eyebrow){margin:.35rem 0 0;color:var(--text-soft);font-size:.72rem;line-height:1.5}.primary-action,.secondary-action{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;padding:.55rem .85rem;gap:.8rem;border-radius:.7rem;font-size:.67rem;font-weight:900}.primary-action{color:#fff;background:var(--primary)}.secondary-action{border:1px solid var(--border);background:var(--surface)}
.metrics-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; }.metric-card{position:relative;overflow:hidden;padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow-sm)}.metric-card::after{position:absolute;right:-1rem;bottom:-1rem;width:4rem;height:4rem;border-radius:50%;background:var(--metric-soft);content:""}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-icon{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.65rem;color:var(--metric);background:var(--metric-soft)}.metric-delta{color:var(--success);font-size:.56rem;font-weight:800}.metric-card>strong{display:block;margin-top:.8rem;font-size:1.55rem;letter-spacing:-.04em}.metric-card>span{display:block;margin-top:.18rem;color:var(--text-soft);font-size:.59rem}
.dashboard-grid { display:grid; margin-top:.8rem; gap:.8rem; }.panel{border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow-sm)}.growth-panel,.attention-panel,.activity-panel,.level-panel{padding:1rem}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.panel-heading h2{margin:0;font-size:.95rem;letter-spacing:-.025em}.panel-heading select,.filter-bar select,.validation-toolbar select{min-height:2.25rem;padding:0 .6rem;border:1px solid var(--border);border-radius:.65rem;color:var(--text);background:var(--surface-soft);font-size:.6rem}.panel-heading>button{color:var(--primary);background:transparent;font-size:.6rem;font-weight:800}.live-pill,.draft-pill{padding:.25rem .5rem;border-radius:999px;color:var(--secondary);background:var(--secondary-soft);font-size:.52rem;font-weight:900}.chart-summary{display:flex;align-items:end;margin-top:1rem;gap:.5rem}.chart-summary strong{font-size:1.65rem}.chart-summary span{margin-bottom:.22rem;color:var(--success);font-size:.58rem;font-weight:800}.bar-chart{display:flex;height:10rem;align-items:flex-end;margin-top:.8rem;padding-top:.5rem;gap:.3rem;border-bottom:1px solid var(--border)}.bar-chart span{position:relative;flex:1;min-width:.28rem;border-radius:.3rem .3rem 0 0;background:linear-gradient(180deg,var(--primary),#df9c4f)}.bar-chart span:hover::after{position:absolute;bottom:calc(100% + .3rem);left:50%;padding:.18rem .3rem;border-radius:.3rem;color:var(--surface);background:var(--text);font-size:.5rem;content:attr(data-value);transform:translateX(-50%)}
.attention-list,.activity-list,.level-progress-list{display:grid;margin-top:.7rem;gap:.4rem}.attention-item,.activity-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:.65rem;gap:.55rem;border-radius:.7rem;background:var(--surface-soft)}.attention-symbol,.activity-avatar{display:grid;width:2rem;height:2rem;place-items:center;border-radius:.6rem;color:var(--item-color);background:var(--item-soft);font-size:.75rem;font-weight:900}.attention-item strong,.attention-item span,.activity-item strong,.activity-item span{display:block}.attention-item strong,.activity-item strong{font-size:.64rem}.attention-item span,.activity-item span{margin-top:.14rem;color:var(--text-soft);font-size:.54rem}.attention-item button{color:var(--primary);background:transparent;font-size:.55rem;font-weight:900}.level-row{display:grid;grid-template-columns:2rem 1fr 2.3rem;align-items:center;gap:.5rem}.level-row strong,.level-row span{font-size:.58rem}.level-track{height:.45rem;overflow:hidden;border-radius:999px;background:var(--surface-strong)}.level-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--secondary),var(--primary))}
.filter-bar{display:flex;flex-wrap:wrap;margin-bottom:.7rem;gap:.5rem}.table-search{display:flex;min-height:2.4rem;flex:1 1 13rem;align-items:center;padding:0 .7rem;gap:.4rem;border:1px solid var(--border);border-radius:.7rem;background:var(--surface)}.table-search input{width:100%;border:0;outline:0;background:transparent;font-size:.64rem}.table-panel{overflow:hidden}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border);font-size:.61rem}th{color:var(--text-soft);background:var(--surface-soft);font-size:.54rem;text-transform:uppercase;letter-spacing:.06em}.user-cell{display:flex;align-items:center;gap:.55rem}.user-cell span:first-child{display:grid;width:2.15rem;height:2.15rem;place-items:center;border-radius:50%;color:#fff;background:var(--avatar);font-size:.58rem;font-weight:900}.user-cell strong,.user-cell small{display:block}.user-cell small{margin-top:.12rem;color:var(--text-soft);font-size:.52rem}.plan-pill,.status-pill{display:inline-flex;padding:.25rem .5rem;border-radius:999px;font-size:.52rem;font-weight:900}.plan-pill.premium{color:#854d0e;background:#fef3c7}.plan-pill.free{color:var(--text-soft);background:var(--surface-strong)}.status-pill.active{color:var(--success);background:#dcfce7}.status-pill.invited{color:#7c3aed;background:#ede9fe}.status-pill.blocked{color:var(--danger);background:#fee2e2}.mini-progress{width:6rem;height:.35rem;overflow:hidden;border-radius:999px;background:var(--surface-strong)}.mini-progress i{display:block;height:100%;background:var(--secondary)}.row-actions{display:flex;gap:.3rem}.row-actions button{padding:.4rem .55rem;border-radius:.5rem;color:var(--primary);background:var(--primary-soft);font-size:.52rem;font-weight:800}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem;color:var(--text-soft);font-size:.56rem}
.validation-counter{display:flex;align-items:baseline;gap:.35rem}.validation-counter strong{font-size:1.7rem;color:var(--primary)}.validation-counter span{color:var(--text-soft);font-size:.6rem}.validation-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:.7rem;gap:.6rem}.level-tabs{display:flex;overflow:auto;padding:.2rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.level-tabs button{min-width:2.5rem;min-height:2rem;border-radius:999px;color:var(--text-soft);background:transparent;font-size:.58rem;font-weight:900}.level-tabs button.is-active{color:#fff;background:var(--secondary)}.teacher-workbench{display:grid;min-height:36rem;overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:var(--surface);box-shadow:var(--shadow-sm)}.review-queue{border-bottom:1px solid var(--border);background:var(--surface-soft)}.queue-heading{display:flex;align-items:center;justify-content:space-between;padding:.8rem;border-bottom:1px solid var(--border);font-size:.62rem}.queue-heading span{color:var(--text-soft);font-size:.53rem}#review-queue-list{display:flex;overflow:auto;padding:.55rem;gap:.45rem}.queue-item{display:grid;min-width:13rem;grid-template-columns:2.5rem 1fr;align-items:center;padding:.6rem;gap:.55rem;border:1px solid transparent;border-radius:.7rem;text-align:left;background:var(--surface)}.queue-item.is-active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.queue-char{display:grid;height:2.5rem;place-items:center;border-radius:.55rem;background:var(--primary-soft);font-family:var(--font-thai);font-size:1.45rem}.queue-item strong,.queue-item small{display:block}.queue-item strong{font-size:.6rem}.queue-item small{margin-top:.15rem;color:var(--text-soft);font-size:.51rem}.review-editor{padding:1rem}.empty-editor,.empty-ticket{display:grid;height:100%;place-items:center;align-content:center;color:var(--text-soft);text-align:center}.empty-editor>span,.empty-ticket>span{font-family:var(--font-thai);font-size:4rem;color:var(--primary-soft);text-shadow:0 0 0 var(--primary)}.empty-editor h2,.empty-ticket h2{margin:.4rem 0 0;font-size:.9rem}.empty-editor p{font-size:.6rem}.editor-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.7rem}.item-identity{display:flex;align-items:center;gap:.7rem}.item-main-char{display:grid;width:4rem;height:4rem;place-items:center;border-radius:.9rem;background:var(--primary-soft);font-family:var(--font-thai);font-size:2.6rem}.item-identity h2{margin:0;font-family:var(--font-thai);font-size:1.05rem}.item-identity p{margin:.2rem 0 0;color:var(--text-soft);font-size:.56rem}.review-badges{display:flex;gap:.35rem}.review-badges span{padding:.25rem .5rem;border-radius:999px;background:var(--surface-soft);font-size:.5rem;font-weight:900}.editor-grid{display:grid;margin-top:1rem;gap:.8rem}.editor-card{padding:.8rem;border:1px solid var(--border);border-radius:.85rem;background:var(--surface-soft)}.editor-card h3{margin:0 0 .7rem;font-size:.7rem}.translation-fields{display:grid;gap:.6rem}.translation-fields label,.stroke-controls label{display:grid;gap:.25rem;color:var(--text-soft);font-size:.55rem;font-weight:800}.translation-fields :is(input,textarea),.stroke-controls textarea{width:100%;padding:.6rem;border:1px solid var(--border);border-radius:.6rem;color:var(--text);background:var(--surface);font-size:.68rem}.thai-input{font-family:var(--font-thai);font-size:.9rem!important}.stroke-preview{display:grid;min-height:15rem;place-items:center;border:1px dashed var(--border);border-radius:.75rem;background:var(--surface)}.stroke-preview svg{width:min(100%,14rem);height:14rem}.stroke-controls{display:grid;margin-top:.6rem;gap:.5rem}.stroke-steps{display:flex;flex-wrap:wrap;gap:.35rem}.stroke-step{display:flex;align-items:center;padding:.35rem .5rem;gap:.3rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);font-size:.52rem}.stroke-step button{color:var(--primary);background:transparent}.review-notes{width:100%;min-height:4rem;padding:.6rem;border:1px solid var(--border);border-radius:.65rem;color:var(--text);background:var(--surface);font-size:.65rem}.review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:.8rem;gap:.45rem}.reject-action{color:var(--danger);border:1px solid #fecaca;background:#fff1f2}
.support-sla{display:grid;text-align:right}.support-sla span{color:var(--text-soft);font-size:.55rem}.support-sla strong{margin-top:.15rem;color:var(--secondary);font-size:1rem}.support-layout{display:grid;gap:.8rem}.ticket-list-panel{overflow:hidden}.ticket-filters{display:flex;padding:.55rem;gap:.3rem;border-bottom:1px solid var(--border)}.ticket-filters button{min-height:2rem;padding:0 .6rem;border-radius:999px;color:var(--text-soft);background:transparent;font-size:.55rem;font-weight:800}.ticket-filters button.is-active{color:#fff;background:var(--secondary)}.ticket-row{display:grid;width:100%;grid-template-columns:auto 1fr auto;padding:.75rem;gap:.6rem;border-bottom:1px solid var(--border);text-align:left;background:transparent}.ticket-row:hover,.ticket-row.is-active{background:var(--surface-soft)}.priority-dot{width:.5rem;height:.5rem;margin-top:.25rem;border-radius:50%;background:var(--priority)}.ticket-row strong,.ticket-row span{display:block}.ticket-row strong{font-size:.63rem}.ticket-row span{margin-top:.18rem;color:var(--text-soft);font-size:.52rem}.ticket-row time{color:var(--text-soft);font-size:.5rem}.ticket-detail{min-height:24rem;padding:1rem}.ticket-head{display:flex;justify-content:space-between;gap:.7rem}.ticket-head h2{margin:0;font-size:1rem}.ticket-head p{margin:.25rem 0 0;color:var(--text-soft);font-size:.58rem}.ticket-message{margin-top:1rem;padding:.8rem;border-left:3px solid var(--primary);border-radius:0 .7rem .7rem 0;background:var(--surface-soft);font-size:.68rem;line-height:1.6}.ticket-meta{display:grid;grid-template-columns:repeat(2,1fr);margin-top:.8rem;gap:.5rem}.ticket-meta div{padding:.6rem;border:1px solid var(--border);border-radius:.6rem}.ticket-meta small,.ticket-meta strong{display:block}.ticket-meta small{color:var(--text-soft);font-size:.5rem}.ticket-meta strong{margin-top:.15rem;font-size:.58rem}.ticket-reply{display:grid;margin-top:.8rem;gap:.5rem}.ticket-reply textarea{min-height:6rem;padding:.65rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface);font-size:.65rem}.ticket-actions{display:flex;justify-content:flex-end;gap:.4rem}
.news-layout{display:grid;gap:.8rem}.news-editor-panel,.published-news{padding:1rem}.news-editor-panel form{display:grid;margin-top:1rem;gap:.7rem}.news-editor-panel textarea{resize:vertical}.form-row{display:grid;gap:.7rem}.editor-actions{display:flex;justify-content:flex-end;gap:.45rem}.published-news-list{display:grid}.news-item{padding:.75rem 0;border-bottom:1px solid var(--border)}.news-item:last-child{border:0}.news-item-top{display:flex;align-items:center;justify-content:space-between}.news-item h3{margin:.35rem 0 0;font-size:.68rem}.news-item p{margin:.25rem 0 0;color:var(--text-soft);font-size:.55rem;line-height:1.45}.news-item time{color:var(--text-soft);font-size:.5rem}
.mobile-admin-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);min-height:4.5rem;padding:.35rem max(.5rem,env(safe-area-inset-right)) max(.35rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px)}.mobile-admin-nav button{display:grid;place-items:center;align-content:center;gap:.12rem;border-radius:.65rem;color:var(--text-soft);background:transparent;font-family:var(--font-thai);font-size:1rem}.mobile-admin-nav button.is-active{color:var(--primary);background:var(--primary-soft)}.mobile-admin-nav small{font-family:var(--font-latin);font-size:.5rem;font-weight:800}
.admin-dialog{width:min(calc(100% - 1.5rem),28rem);padding:0;border:1px solid var(--border);border-radius:1rem;background:transparent;box-shadow:0 30px 80px rgb(0 0 0 / 30%)}.admin-dialog-card{position:relative;margin:0;padding:1rem;background:var(--surface)}.dialog-x{position:absolute;top:.7rem;right:.7rem;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--surface-soft);font-size:1rem}.dialog-symbol{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:.8rem;color:#854d0e;background:#fef3c7}.admin-dialog h2{margin:.3rem 0;font-size:1.1rem}.admin-dialog-card>p:not(.eyebrow){color:var(--text-soft);font-size:.64rem}.admin-dialog-card label{margin-top:.7rem}.dialog-actions{display:flex;justify-content:flex-end;margin-top:1rem;gap:.4rem}.admin-toast{position:fixed;z-index:80;bottom:5.4rem;left:50%;padding:.7rem .9rem;border-radius:999px;color:var(--surface);background:var(--text);box-shadow:var(--shadow-md);font-size:.62rem;opacity:0;transform:translate(-50%,1rem);transition:.18s ease;pointer-events:none}.admin-toast.is-visible{opacity:1;transform:translate(-50%,0)}

.validation-filters{display:flex;flex:1 1 25rem;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.validation-filters label{display:grid;gap:.15rem;color:var(--text-soft);font-size:.48rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.validation-filters select{min-width:9rem}.validation-refresh{align-self:end;min-height:2.25rem}.review-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.7rem;overflow:hidden;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}.review-progress span{display:flex;align-items:baseline;justify-content:center;padding:.55rem;gap:.28rem;border-right:1px solid var(--border);color:var(--text-soft);font-size:.52rem}.review-progress span:last-child{border-right:0}.review-progress b{color:var(--text);font-size:.7rem}.queue-item{grid-template-columns:2.5rem 1fr auto}.queue-char{max-width:2.5rem;overflow:hidden;padding:0 .28rem;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.queue-status{width:.48rem;height:.48rem;border-radius:50%;background:var(--gold)}.queue-status.approved{background:var(--success)}.queue-status.rejected{background:var(--danger)}.queue-status.draft{background:#7c3aed}.queue-state{display:grid;min-height:10rem;place-items:center;align-content:center;padding:1rem;gap:.35rem;color:var(--text-soft);text-align:center}.queue-state strong{color:var(--text);font-size:.65rem}.queue-state span{max-width:14rem;font-size:.54rem;line-height:1.5}.queue-state>span:first-child{font-family:var(--font-thai);font-size:2rem;color:var(--success)}.queue-state i{width:1.4rem;height:1.4rem;border:.15rem solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:queue-spin .8s linear infinite}.queue-state .secondary-action{margin-top:.4rem}.queue-state.is-error strong{color:var(--danger)}.queue-pagination{display:flex;align-items:center;justify-content:center;padding:.55rem;gap:.7rem;border-top:1px solid var(--border);color:var(--text-soft);font-size:.52rem}.queue-pagination button{display:grid;width:1.9rem;height:1.9rem;place-items:center;border:1px solid var(--border);border-radius:.5rem;color:var(--primary);background:var(--surface)}.queue-pagination button:disabled{opacity:.35}.source-evidence{margin-top:.65rem;padding:.6rem;border:1px solid var(--border);border-radius:.6rem;background:var(--surface)}.source-evidence summary{cursor:pointer;color:var(--primary);font-size:.55rem;font-weight:800}.source-evidence p{margin:.5rem 0 0;color:var(--text-soft);font-size:.6rem;line-height:1.55;white-space:pre-wrap}.item-main-char.is-phrase{width:min(17rem,46vw);height:auto;min-height:4rem;overflow:hidden;padding:.45rem .65rem;font-size:1.35rem;line-height:1.3;text-overflow:ellipsis}.editor-grid.translation-only{grid-template-columns:1fr}.review-badges .decision-approved{color:var(--success);background:#dcfce7}.review-badges .decision-rejected{color:var(--danger);background:#fee2e2}.review-badges .decision-draft{color:#7c3aed;background:#ede9fe}.review-actions button:disabled{cursor:wait;opacity:.55}@keyframes queue-spin{to{transform:rotate(360deg)}}

@media (min-width:720px){.auth-gate{grid-template-columns:minmax(24rem,.82fr) minmax(25rem,1.18fr)}.auth-visual{display:flex}.metrics-grid{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(16rem,.8fr)}.activity-panel,.level-panel{grid-column:auto}.form-row{grid-template-columns:1fr 1fr}.editor-grid{grid-template-columns:minmax(0,.9fr) minmax(20rem,1.1fr)}.editor-grid.translation-only{grid-template-columns:1fr}.support-layout,.news-layout{grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr)}.global-search{display:flex}.account-label{display:block}.review-progress{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1000px){.admin-sidebar{display:flex}.admin-workspace{margin-left:16.5rem;padding-bottom:0}.admin-topbar{padding-right:1.5rem;padding-left:1.5rem}#admin-main{width:min(100% - 3rem,87rem);padding-top:2rem}.mobile-admin-nav{display:none}.teacher-workbench{grid-template-columns:17rem 1fr}.review-queue{border-right:1px solid var(--border);border-bottom:0}#review-queue-list{display:grid;overflow:auto;align-content:start;max-height:40rem}.queue-item{min-width:0}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr)}.activity-panel,.level-panel{grid-column:auto}}
@media (min-width:1260px){.dashboard-grid{grid-template-columns:1.2fr .8fr}.growth-panel{grid-row:span 2}.attention-panel{grid-column:2}.activity-panel{grid-column:2}.level-panel{grid-column:1 / -1}.global-search input{width:14rem}}

.pilot-badge{margin:0;padding:.55rem .75rem;border-radius:999px;color:#854d0e;background:#fef3c7;font-size:.58rem;font-weight:900}.audio-workbench #audio-review-queue-list{display:flex;overflow:auto;padding:.55rem;gap:.45rem}.audio-player-card{margin-top:1rem;padding:.85rem;border:1px solid var(--border);border-radius:.85rem;background:linear-gradient(135deg,var(--sidebar),#25392f);color:#fff}.audio-player-card audio{display:none}.audio-player-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.audio-player-row label{display:flex;align-items:center;gap:.35rem;color:#d9e5df;font-size:.55rem}.audio-player-row select{min-height:2.65rem;padding:0 .55rem;border:1px solid rgb(255 255 255 / 20%);border-radius:.6rem;color:#fff;background:#24372f}.audio-player-row>span{margin-left:auto;font-variant-numeric:tabular-nums;font-size:.63rem}.audio-play-button{min-width:9.8rem;transition:background-color .18s ease,transform .18s ease}.audio-play-button:active{transform:scale(.98)}.audio-play-button.is-loading{cursor:progress;background:#9a4b09}.audio-play-button.is-playing{background:#0f766e}.audio-play-button.is-error{background:#b91c1c}.audio-play-button.is-loading .audio-play-icon{width:1rem;height:1rem;border:.14rem solid rgb(255 255 255 / 45%);border-top-color:#fff;border-radius:50%;animation:audio-spin .75s linear infinite}.audio-loop-toggle{min-width:11.4rem;border-color:#e3bd84!important;color:#4b2d0b!important;background:#fff9f0!important;transition:background-color .18s ease,color .18s ease,transform .18s ease}.audio-loop-toggle:active{transform:scale(.98)}.audio-loop-toggle.is-active{color:#fff!important;border-color:#d99a43!important;background:#6b4619!important;box-shadow:0 0 0 2px rgb(217 154 67 / 28%)}.audio-loop-icon{font-size:.92rem}.audio-playback-status{margin:.45rem 0 0;color:#d9e5df;font-size:.52rem;min-height:.8rem}.audio-range{display:flex;align-items:center;margin-top:.5rem;gap:.5rem;color:#d9e5df;font-size:.52rem;font-variant-numeric:tabular-nums}.audio-range i{flex:1;height:.28rem;border-radius:999px;background:linear-gradient(90deg,#d99a43,#f4c66d)}.audio-cdn-note{margin:.55rem 0 0;overflow:hidden;color:#aebeb7;font-size:.48rem;text-overflow:ellipsis;white-space:nowrap}.audio-compare-grid{display:grid;margin-top:.8rem;gap:.8rem}.asr-card>p{min-height:5rem;margin:0;padding:.7rem;border-radius:.65rem;background:var(--surface);font-family:var(--font-thai);font-size:1rem;line-height:1.5}.asr-card dl{display:grid;grid-template-columns:auto 1fr;margin:.7rem 0 0;gap:.25rem .7rem;font-size:.54rem}.asr-card dt{color:var(--text-soft)}.asr-card dd{margin:0;font-weight:800}.audio-queue-item .queue-char{color:var(--primary);font-family:var(--font-latin);font-size:.7rem}@keyframes audio-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.audio-play-button,.audio-loop-toggle{transition:none}.audio-play-button.is-loading .audio-play-icon{animation-duration:1.5s}}@media (min-width:720px){.audio-compare-grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}}@media (min-width:1000px){.audio-workbench #audio-review-queue-list{display:grid;overflow:auto;align-content:start;max-height:43rem}}

.audio-toolbar{align-items:end}.audio-search-form{display:flex;flex:1 1 18rem;align-items:end;gap:.4rem}.audio-search-form label{display:grid;flex:1;gap:.15rem;color:var(--text-soft);font-size:.48rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.audio-search-control{display:flex;min-height:2.25rem;align-items:center;padding:0 .65rem;gap:.35rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface)}.audio-search-control b{color:var(--text-soft);font-size:.75rem}.audio-search-control input{width:100%;border:0;outline:0;color:var(--text);background:transparent;font-size:.62rem}.audio-search-form>button{min-height:2.25rem}.audio-search-control:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
