:root{--ap:#9b7cff;--ap2:#7251ea;--aline:#202940;--amut:#7d879c;--agreen:#48d6a0;--ared:#ff637d}
*{box-sizing:border-box}.academy-page{min-height:100vh;background:radial-gradient(circle at 75% -10%,rgba(122,83,224,.11),transparent 30%),#060911}.academy-page .site-header nav button{border:0;background:transparent;color:#7f899c;font-size:11px;font-weight:600;cursor:pointer}.academy-page .site-header nav button:hover{color:#fff}.local-badge{display:flex;align-items:center;gap:7px;border:1px solid #242d42;background:#101623;border-radius:9px;padding:7px 10px;color:#8d98aa;font:600 8px 'IBM Plex Mono'}.local-badge small{color:#586479}.mobile-menu{display:none;border:0;background:transparent;color:#fff;font-size:19px;margin-left:9px}.academy-main{max-width:1380px;margin:auto;padding:48px 28px 75px}.academy-titlebar{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.academy-titlebar h1{font-size:clamp(31px,4vw,46px);line-height:1.05;letter-spacing:-.04em;margin:0 0 8px;background:linear-gradient(90deg,#fff,#b9a3ff);-webkit-background-clip:text;color:transparent}.subtitle{margin:0;color:#7f8a9f;font-size:11px}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;max-width:730px}.worker-select{display:flex;align-items:center;gap:7px;color:#7f899c;font-size:9px}.worker-select select{background:#111827;border:1px solid #222c41;border-radius:8px;color:#d7ddea;padding:8px 9px;font:600 9px 'Noto Sans Thai';outline:0}.switch-label{display:flex;align-items:center;gap:7px;color:#7f899c;font-size:9px;cursor:pointer}.switch-label input{display:none}.switch{width:32px;height:18px;border-radius:20px;background:#273145;position:relative;transition:.2s}.switch:after{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:#778499;left:3px;top:3px;transition:.2s}.switch-label input:checked+.switch{background:rgba(155,124,255,.27)}.switch-label input:checked+.switch:after{left:17px;background:#a98cff}.primary-button,.outline-button,.danger-button{border-radius:9px;padding:10px 14px;font:700 10px 'Noto Sans Thai';cursor:pointer;transition:.2s}.primary-button{border:0;background:linear-gradient(135deg,#a983ff,#7553df);color:#fff;box-shadow:0 10px 28px rgba(109,76,210,.2)}.primary-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.outline-button{border:1px solid #29334a;background:#111827;color:#d8dfeb}.outline-button:hover{border-color:#51447f}.danger-button{border:1px solid rgba(255,99,125,.28);background:rgba(255,99,125,.1);color:#ff7b91}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.stat-card{position:relative;overflow:hidden;min-height:128px;padding:18px 19px;background:linear-gradient(145deg,#101725,#0b101b);border:1px solid #1e283b;border-radius:14px}.stat-card.accent{border-color:#342b58}.stat-card.accent:after{content:'';position:absolute;width:100px;height:100px;right:-25px;top:-30px;border-radius:50%;background:#8b69ee;filter:blur(60px);opacity:.15}.stat-label{display:flex;justify-content:space-between;color:#778399;font-size:9px}.stat-icon{color:#a98cff;font:600 14px 'IBM Plex Mono'}.stat-icon.success{color:var(--agreen)}.stat-icon.error{color:var(--ared)}.stat-card>strong{display:block;font:600 29px 'IBM Plex Mono';margin:15px 0 4px}.stat-card>small{display:block;color:#69758b;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--agreen);box-shadow:0 0 0 0 rgba(72,214,160,.45);animation:pulse 2s infinite}.pulse-dot.running{background:#a98cff}@keyframes pulse{70%{box-shadow:0 0 0 7px rgba(72,214,160,0)}}.workspace-grid{display:grid;grid-template-columns:minmax(590px,1.45fr) minmax(340px,.78fr);gap:14px}.panel{background:linear-gradient(150deg,#0f1522,#0b101b);border:1px solid #1e283b;border-radius:14px;overflow:hidden}.panel-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #1d2638}.panel-header .kicker{margin-bottom:3px}.panel-header h2{font-size:14px;margin:0}.toolbar{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid #1d2638}.search-box{display:flex;align-items:center;gap:7px;flex:1;max-width:350px;background:#090e17;border:1px solid #202a3e;border-radius:8px;padding:0 10px;color:#617087}.search-box input{width:100%;border:0;outline:0;background:transparent;color:#eef2f8;padding:9px 0;font-size:9px}.text-button,.icon-button{border:0;background:transparent;color:#a58bfb;font:600 8px 'Noto Sans Thai';cursor:pointer}.text-button.muted,.icon-button{color:#69758b}.table-wrap{height:414px;overflow:auto}table{width:100%;border-collapse:collapse;table-layout:fixed}th{padding:10px 9px;border-bottom:1px solid #1d2638;color:#59667b;text-align:left;text-transform:uppercase;font:600 8px 'IBM Plex Mono';letter-spacing:.08em}td{padding:10px 9px;border-bottom:1px solid rgba(29,38,56,.72);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody tr:hover td{background:rgba(155,124,255,.025)}.check-col{width:40px;text-align:center}input[type=checkbox]{accent-color:#9272ed}th:nth-child(3){width:140px}th:nth-child(4){width:90px}th:nth-child(5){width:40px}.account-cell{display:flex;align-items:center;gap:9px}.avatar{width:29px;height:29px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;background:#18162c;border:1px solid #312950;color:#ad92ff;font:600 10px 'IBM Plex Mono'}.account-copy strong,.account-copy small{display:block;overflow:hidden;text-overflow:ellipsis}.account-copy strong{font-size:9px}.account-copy small{color:#667287;font:8px 'IBM Plex Mono';margin-top:2px}.proxy{color:#667287;font:8px 'IBM Plex Mono'}.status{display:inline-flex;align-items:center;gap:5px;text-transform:uppercase;font:600 7px 'IBM Plex Mono';letter-spacing:.04em}.status:before{content:'';width:5px;height:5px;border-radius:50%;background:#69758a}.status.running,.status.queued{color:#aa8cff}.status.running:before,.status.queued:before{background:var(--ap)}.status.completed{color:var(--agreen)}.status.completed:before{background:var(--agreen)}.status.error,.status.blocked{color:var(--ared)}.status.error:before,.status.blocked:before{background:var(--ared)}.row-menu{border:0;background:transparent;color:#647086;font-size:15px;cursor:pointer}.row-menu:hover{color:#fff}.academy-pagination{height:50px;margin:0;padding:0 18px;border-top:1px solid #1d2638;display:flex;align-items:center;justify-content:space-between;color:#647086;font:8px 'IBM Plex Mono'}.academy-pagination div{display:flex;align-items:center;gap:9px}.academy-pagination button{min-width:27px;width:27px;height:26px;border:1px solid #222c40;background:#101725;color:#a4aec0;border-radius:6px}.academy-pagination button:disabled{opacity:.3}.empty-state{height:100%;display:grid;place-content:center;text-align:center;color:#687489;gap:6px}.empty-state>span{font:28px 'IBM Plex Mono';color:#38445a}.empty-state strong{font-size:11px;color:#dce2ed}.empty-state small{font-size:8px}.activity-panel{display:flex;flex-direction:column}.terminal{height:464px;padding:16px;overflow:auto;background:#070b12;font:9px/1.75 'IBM Plex Mono';scrollbar-color:#263149 transparent}.log-line{display:grid;grid-template-columns:55px 1fr;gap:7px}.log-time{color:#46546a}.log-message{color:#9daabd;white-space:pre-wrap;word-break:break-word}.log-message.error{color:#ff8094}.log-message.success{color:#63dcb0}.log-placeholder{height:100%;display:grid;place-content:center;text-align:center;color:#657187;gap:6px}.log-placeholder strong{color:#dce2ed;font:600 10px 'Noto Sans Thai'}.log-placeholder small{font:8px 'Noto Sans Thai'}.terminal-mark{color:#3b4860;font-size:27px}.activity-footer{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-top:1px solid #1d2638;color:#5f6c81;font:7px 'IBM Plex Mono'}.activity-footer .dot{margin-right:5px}.hidden{display:none!important}dialog#account-dialog{width:min(510px,calc(100% - 28px));padding:0;border:1px solid #29344c;border-radius:15px;background:#0d131f;color:#fff;box-shadow:0 30px 100px #000}dialog#account-dialog::backdrop{background:rgba(2,4,9,.82);backdrop-filter:blur(6px)}#account-form{padding:24px}.modal-header{display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h2{font-size:19px;margin:0}.close-button{border:0;background:transparent;color:#768298;font-size:21px;cursor:pointer}#account-form>label{display:block;color:#9aa5b7;font-size:9px;margin-bottom:13px}#account-form>label>input,.password-field{display:flex;width:100%;margin-top:6px;background:#090e17;border:1px solid #222c40;border-radius:8px;color:#fff}#account-form>label>input,.password-field input{padding:10px 11px;font:9px 'Noto Sans Thai';outline:0}.password-field input{border:0;background:transparent;color:#fff;flex:1}.password-field button{border:0;background:transparent;color:#a88cff;font-size:8px;padding:0 11px}.security-note{padding:10px 11px;border-left:2px solid #8e70e7;background:#141226;color:#79869b;font-size:8px;line-height:1.6}.modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;margin-top:20px}.delete-link,.reset-link{display:block;border:0;background:transparent;padding:2px 0;font:600 8px 'Noto Sans Thai';cursor:pointer}.delete-link{color:var(--ared)}.reset-link{color:#a98cff}#toast-area{position:fixed;z-index:100;right:22px;bottom:22px;display:grid;gap:7px}.toast{padding:10px 14px;border:1px solid #33405a;border-radius:9px;background:#171f2d;color:#eef2f8;font-size:9px;box-shadow:0 12px 40px #000}.toast.error{border-color:rgba(255,99,125,.4);color:#ff9bad}
@media(max-width:1100px){.academy-titlebar{align-items:flex-start;flex-direction:column}.header-actions{justify-content:flex-start;max-width:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.workspace-grid{grid-template-columns:1fr}.terminal{height:400px}}
.reset-all-button{color:#ff8296!important;border-left:1px solid #293247!important;padding-left:11px!important}
@media(max-width:760px){.academy-page .site-header{height:58px}.academy-page .site-header nav{position:absolute;display:none;top:58px;left:0;right:0;padding:18px;background:#090d16;border-bottom:1px solid #1d2638;flex-direction:column;align-items:flex-start;gap:16px;margin:0}.academy-page .site-header nav.open{display:flex}.mobile-menu{display:block}.local-badge{margin-left:auto}.academy-main{padding:32px 14px 55px}.academy-titlebar h1{font-size:35px}.header-actions{width:100%}.stats-grid{grid-template-columns:1fr 1fr}.toolbar{flex-wrap:wrap}.search-box{flex-basis:100%;max-width:none}.table-wrap{overflow:auto}table{min-width:640px}.panel-header{padding:16px}.activity-panel{margin-top:14px}}
@media(max-width:460px){.local-badge small{display:none}.stats-grid{grid-template-columns:1fr}.header-actions .primary-button{flex:1}.stat-card{min-height:110px}}
.academy-page{background-color:var(--theme-bg);color:var(--theme-text)}.stat-card,.panel,dialog#account-dialog{background-color:var(--theme-surface);border-color:var(--theme-border)}.worker-select select,.search-box,.academy-pagination button,#account-form>label>input,.password-field{background-color:var(--theme-surface-alt);border-color:var(--theme-border)}.academy-titlebar h1{background:linear-gradient(90deg,var(--theme-text),var(--theme-primary));-webkit-background-clip:text;color:transparent}.primary-button{background:linear-gradient(135deg,var(--theme-primary),var(--theme-primary-alt))}.text-button,.status.running,.status.queued,.reset-link{color:var(--theme-primary)}.status.completed{color:var(--theme-success)}.status.error,.status.blocked,.delete-link{color:var(--theme-danger)}.subtitle,.stat-label,.stat-card>small,.activity-footer{color:var(--theme-muted)}
.account-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:-4px 0 16px;padding:4px;border:1px solid #222c40;border-radius:10px;background:#090e17}.account-mode-switch button{padding:9px;border:0;border-radius:7px;background:transparent;color:#768298;font:700 9px 'Noto Sans Thai';cursor:pointer}.account-mode-switch button i{margin-right:5px}.account-mode-switch button.active{background:linear-gradient(135deg,rgba(169,131,255,.2),rgba(117,83,223,.13));color:#c6b3ff;box-shadow:inset 0 0 0 1px rgba(169,131,255,.3)}.bulk-account-fields>label{display:block;color:#9aa5b7;font-size:9px}.bulk-account-fields textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #222c40;border-radius:9px;outline:0;resize:vertical;background:#090e17;color:#eef2f8;font:9px/1.7 'IBM Plex Mono';min-height:155px}.bulk-account-fields textarea:focus{border-color:#7553df}.bulk-account-help{display:flex;justify-content:space-between;gap:14px;margin-top:8px;color:#68758a;font-size:8px}.bulk-account-help i{margin-right:4px;color:#a98cff}.bulk-account-help strong{white-space:nowrap;color:#b99fff}
