/* Administrator workspace: the same navy/gold palette as the student portal. */
:root{font-family:"Malgun Gothic","맑은 고딕",system-ui,sans-serif;color:#e1e9f3;background:#080f19;font-size:14px;line-height:1.7;font-synthesis:none;color-scheme:dark;--muted:#93a9c3;--line:#29384b;--gold:#dbb76b;--surface:#111d2b;--input:#0a1422}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at 83% 12%,#10223a55,transparent 65%),#080f19}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold)}button{padding:10px 16px;border:1px solid var(--line);border-radius:7px;background:#0f1a29;cursor:pointer;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#1b2c41;border-color:#8b7550}button:disabled{cursor:default;opacity:.5}a{color:var(--gold)}
header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;background:#0b131e;border-bottom:1px solid var(--line)}header strong{font-size:24px;color:#efd596}.admin-brand,header>div:last-child{display:flex;gap:22px;align-items:center}.admin-brand span,.admin-caption{color:var(--muted);font-size:13px}
.admin-shell{display:grid;grid-template-columns:185px minmax(0,1fr);min-height:calc(100vh - 94px)}.main-nav{background:#0a121d;padding:26px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.main-nav button{text-align:left;border:1px solid transparent;background:transparent;padding:15px 18px;color:#a3b7d1}.main-nav button[aria-pressed=true]{background:linear-gradient(100deg,#b5944026,#122033);color:#f1d796;border-color:#77633d;font-weight:700}main{padding:32px;min-width:0}
h1,h2,p{margin-top:0}h1{font-size:28px;margin-bottom:18px;color:#eaf0f8}h2{font-size:18px}.heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}.heading h1,.heading h2{margin-bottom:0}.tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);margin-bottom:26px}.tabs button{border:0;border-radius:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted)}.tabs button[aria-pressed=true]{border-bottom-color:var(--gold);color:#e9cb8b}
.panel{padding:24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(130deg,#14202e,#101a27);min-width:0}.filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:22px}.filters label{min-width:150px;margin:0}.filters .search{flex:1}.member-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:16px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{font-weight:500;color:#97b2d3;background:#122032}td small{display:block;color:var(--muted)}.selected-row{background:#d3b46d12;box-shadow:inset 3px 0 var(--gold)}
.primary{background:#d7b66d;color:#172131;border-color:#d7b66d;font-weight:700}.primary:hover:not(:disabled){background:#edcf8e;border-color:#edcf8e}.muted{color:var(--muted);font-size:13px}.paging{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px}.paging span{margin-right:auto;color:var(--muted)}dt{color:var(--muted);font-size:13px;margin-top:16px}dd{margin:4px 0 0;overflow-wrap:anywhere}
label{display:block;font-weight:500;margin:16px 0 8px;color:#a9bdd6}input:not([type=checkbox]),select,textarea{display:block;width:100%;background:var(--input);border:1px solid var(--line);border-radius:7px;padding:12px;margin-top:7px;min-width:0;color:#e1e9f3}input::placeholder,textarea::placeholder{color:#6f839d}input[readonly]{background:#111e2e}input[type=file]::file-selector-button{background:#1b2c41;color:#d4e1f0;border:1px solid #41566f;border-radius:5px;padding:7px 10px;margin-right:12px}
.video-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.site-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.calendar h2{font-size:17px}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:18px 0 10px}.calendar-heading strong{font-size:19px;color:#e9cb8b}.calendar-heading button,.calendar-actions button{background:#15263a}.calendar-actions{display:flex;gap:6px}.calendar-actions button{flex:1}.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekdays{text-align:center;margin:14px 0 10px;color:var(--muted)}.weekdays span:first-child{color:#ee9c9c}.weekdays span:last-child{color:#8ebcff}.calendar-days button{border:1px solid transparent;border-radius:4px;padding:8px 0;min-height:52px;background:transparent;font-size:13px}.calendar-days button small{display:block;font-size:12px}.calendar-days button[data-recorded=true]{background:#173252;color:#b7d8ff}.calendar-days button[aria-pressed=true]{background:#705c30;color:#fff0c5;border-color:#dfbd70}.calendar-days button[data-today=true]{outline:1px solid #dfbd70;outline-offset:-2px}.calendar-days .sunday{color:#ee9c9c}.calendar-days .saturday{color:#8ebcff}.calendar-legend{font-size:12px;color:var(--muted);margin:20px 0 0}#calendar-detail{font-size:13px;margin-top:16px}
#admin-message{color:#e9cb8b;min-height:24px;margin-bottom:16px}#admin-message:empty{display:none}#admin-video-progress{margin-top:16px;overflow-wrap:anywhere}.video-list{margin-top:24px}.video-item{padding:16px 0;border-bottom:1px solid var(--line)}.video-item small{display:block;color:var(--muted)}#admin-semester-list{margin-top:24px}#admin-semester-list p{padding:14px 0;border-bottom:1px solid var(--line)}#admin-semester-list button{margin:8px 0 0 10px}#site-write-recovery{margin-top:24px;border-color:#947942}
@media(max-width:1100px){.member-grid{grid-template-columns:1fr}.video-grid{grid-template-columns:minmax(0,1fr) 300px}main{padding:24px}.admin-shell{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:760px){.admin-shell{display:block}.main-nav{flex-direction:row;border-right:0;border-bottom:1px solid var(--line);padding:10px;gap:4px}.main-nav button{flex:1;text-align:center;padding:10px 5px}.video-grid,.site-grid{display:flex;flex-direction:column}.video-grid>section,.video-grid>aside,.site-grid>section{width:100%}.calendar{max-width:380px;align-self:center}header{padding:18px 14px;flex-wrap:wrap}.admin-brand{gap:8px;flex-wrap:wrap}.admin-brand strong{font-size:21px}.admin-brand span{font-size:12px}.admin-caption{display:none}header>div:last-child{gap:8px}main{padding:18px 14px}.panel{padding:18px}.filters label{flex:1;min-width:110px}.filters .search{flex-basis:100%}.tabs{gap:4px}.tabs button{padding:10px 12px}h1{font-size:25px}.paging{gap:7px}.paging button{padding:8px 12px}.heading{gap:8px}}
@media(pointer:coarse){button{min-height:44px}input,textarea,select{font-size:16px}}

/* Account dialogs share the existing dark/gold theme. */
dialog{background:#111e2c;color:#e4edf5;border:1px solid #bca15f;border-radius:14px;padding:28px;max-width:min(480px,90vw)}dialog::backdrop{background:#0009}dialog input{width:100%;box-sizing:border-box;margin:8px 0 16px}dialog progress{width:100%;accent-color:#d9bc72}input[readonly]{background:#142131;color:#d9bc72}
