.admin-page{--line:#deddd4;--paper:#fffefa;--navy:#22251f;--muted:#686a63;--soft:#f4f0e4;margin:0;background:linear-gradient(155deg,#f7f4e9,#fffefa 55%,#f3f5ef);color:var(--navy);font-family:Manrope,Georgia,serif;line-height:1.5}
.admin-page *{box-sizing:border-box}
.admin-page .topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 28px;border-bottom:1px solid var(--line);background:#fffefa}
.admin-page .brand{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;letter-spacing:-.03em}
.admin-page .brand small{display:block;font-size:9px;letter-spacing:.18em;font-weight:700}
.admin-page .badge{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:#22251f;color:#e1b74c;font-size:13px;letter-spacing:.04em}
.admin-page .edition,.admin-page .eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#796028}
.admin-page button{font:inherit;cursor:pointer}
.admin-page button:disabled{cursor:not-allowed;opacity:.55}
.admin-page button:focus-visible,.admin-page input:focus-visible,.admin-page select:focus-visible{outline:3px solid #bb9034;outline-offset:2px}
.admin-page .primary,.admin-page .quiet{min-height:44px;padding:10px 16px;border-radius:10px;font-weight:800}
.admin-page .primary{border:1px solid #d7a92f;background:#e8bc4c;color:#22251f}
.admin-page .quiet{border:1px solid var(--line);background:#fffefa;color:#22251f}
.admin-page main{max-width:1180px;padding:28px 28px 60px}
.admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:12px 0 28px}
.admin-hero h1{margin:9px 0 8px}.admin-hero p:last-child{margin:0}.admin-hero>button{flex:none}
.admin-layout{display:grid;grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);align-items:start;gap:20px}
.admin-detail-column{display:grid;gap:20px;min-width:0}
.admin-panel{min-width:0;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 6px 20px #22251f08}
.admin-panel h2{font-size:22px;margin:2px 0 15px}.admin-panel h3{font-size:17px}.admin-panel p{margin:8px 0 15px;font-size:14px}
.admin-section-heading,.admin-card-top,.admin-member-head,.admin-progress-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.admin-section-heading{align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.admin-section-heading .eyebrow{margin:0 0 4px}.admin-section-heading h2{margin:0}
.admin-page-label,.admin-muted{color:var(--muted);font-size:12px}.admin-page-label{white-space:nowrap}
.admin-member-list,.admin-progress-group ul{list-style:none;margin:0;padding:0}.admin-member-list{display:grid;gap:9px}
.admin-member{width:100%;min-height:0;padding:15px;border:1px solid var(--line);border-radius:13px;text-align:left;background:#faf9f5;color:var(--navy)}
.admin-member:hover,.admin-member.is-selected{border-color:#bd9945;background:#f7efd8}.admin-member-head{margin-bottom:10px}.admin-member-meta{display:block;color:var(--muted);font-size:12px;line-height:1.7}
.admin-id{overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em;font-weight:650}.admin-panel h2.admin-id{font-size:18px}
.admin-chip{display:inline-flex;align-items:center;border:1px solid #d6d2c3;border-radius:999px;background:var(--soft);color:#4f523e;font-size:11px;font-weight:700;line-height:1.4;padding:5px 9px;white-space:nowrap}
.admin-pager{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:16px}.admin-pager button{padding:9px 12px;min-height:44px}.admin-pager span{color:var(--muted);font-size:12px;text-align:center}
.admin-empty{padding:18px;border:1px dashed #cec9ba;border-radius:12px;background:#faf9f5;color:var(--muted)}
.admin-placeholder{min-height:220px;display:flex;flex-direction:column;justify-content:center}
.admin-member-summary{display:flex;flex-wrap:wrap;gap:9px 15px;align-items:center;color:var(--muted);font-size:12px;line-height:1.6}
.admin-subsection{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.admin-subsection h3{margin:0 0 12px}
.admin-attempt-list{display:grid;gap:12px}.admin-attempt{padding:17px;border:1px solid var(--line);border-radius:15px;background:#faf9f5}.admin-attempt.admin-featured{border-color:#d8c68d;background:#fbf5e4}.admin-attempt .eyebrow{margin:0 0 4px}.admin-attempt h3{margin:0}.admin-score{margin:12px 0!important;font-size:27px!important;font-weight:800;color:var(--navy)}
.admin-facts,.admin-progress-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0}.admin-facts div,.admin-progress-facts div{min-width:0}.admin-facts dt,.admin-progress-facts dt{font-size:11px;color:var(--muted)}.admin-facts dd,.admin-progress-facts dd{margin:2px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.admin-progress-group{margin-top:14px}.admin-progress-group h4{margin:0 0 9px;font-size:14px}.admin-progress-group ul{display:grid;gap:9px}.admin-progress-group li{border:1px solid var(--line);background:#faf9f5;padding:13px;border-radius:12px}.admin-progress-heading{margin-bottom:10px;font-size:13px}.admin-progress-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-signin{max-width:480px}.admin-signin form{display:grid;gap:9px}.admin-signin label{font-size:13px;font-weight:700;margin-top:8px}.admin-signin input,.admin-signin select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #bbbcae;border-radius:9px;background:#fff;color:var(--navy);font-size:16px}.admin-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.admin-actions button{flex:1 1 auto}
.admin-alert{padding:13px 16px;border:1px solid #d6a8a1;border-radius:10px;background:#fff0eb;color:#792f25!important;font-size:14px}
@media(max-width:850px){.admin-layout{grid-template-columns:1fr}.admin-members{order:0}.admin-detail-column{order:1}}
@media(max-width:640px){.admin-page main{padding:20px 18px 44px}.admin-hero{flex-direction:column;gap:13px}.admin-hero h1{font-size:35px}.admin-panel{padding:18px;border-radius:16px}.admin-facts,.admin-progress-facts{grid-template-columns:1fr 1fr}.admin-member-head{flex-wrap:wrap}.admin-chip{white-space:normal}}
.admin-page .admin-links{display:flex;flex-wrap:wrap;gap:8px 18px}

/* reports: mistake reports view, view switch, exam attempt answers */
.admin-views{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.admin-report-filters{display:grid;grid-template-columns:auto minmax(0,90px) auto minmax(0,1fr);align-items:center;gap:8px 10px;margin:0 0 14px}
.admin-report-filters label,.admin-report-form label{font-size:13px;font-weight:700}
.admin-report-filters input,.admin-report-filters select,.admin-report-form select,.admin-report-form textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid #bbbcae;border-radius:9px;background:#fff;color:var(--navy);font:inherit;font-size:15px}
.admin-report-snippet{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.admin-report-note{margin:0;padding:10px 14px;border-left:3px solid var(--line);background:var(--soft);border-radius:0 9px 9px 0;white-space:pre-wrap}
.admin-report-stem{font-weight:700}
.admin-report-options{margin:8px 0;padding-left:0;list-style:none;display:grid;gap:6px}
.admin-report-options li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px}
.admin-report-options li.is-right{border-color:#8fb89b;background:#eef6ef}
.admin-report-translation{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.admin-report-translation h4{margin:0 0 6px;font-size:13px;color:var(--muted)}
.admin-report-form{display:grid;gap:6px;margin-top:18px}
.admin-attempt-answers{margin-top:10px}
.admin-answer-list{margin:8px 0 0;padding-left:22px;display:grid;gap:4px;font-size:14px}
.admin-answer-list li.is-wrong{color:#792f25}
@media(max-width:640px){.admin-report-filters{grid-template-columns:auto minmax(0,1fr)}}

.admin-plan form{display:grid;gap:12px;max-width:36rem}.admin-plan textarea{min-height:90px;width:100%;font:inherit;padding:12px;border:1px solid #b6c4bd;border-radius:8px}.admin-plan-confirm{padding:16px;border:2px solid #166b53;border-radius:12px;margin:16px 0}.admin-plan li{margin:16px 0;overflow-wrap:anywhere}.admin-plan .admin-chip{align-self:center}

.admin-plan input,.admin-plan select{width:100%;min-height:44px;font:inherit;padding:10px 12px;border:1px solid #b6c4bd;border-radius:8px;background:#fff;color:inherit}.admin-plan input:focus-visible,.admin-plan select:focus-visible,.admin-plan textarea:focus-visible{outline:2px solid #166b53;outline-offset:2px}
