@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root{
  --bg:#F5F6FA; --panel:#FFFFFF; --text:#101828; --muted:#667085;
  --line:#D0D5DD; --line-soft:#E4E7EC; --accent:#2563EB; --accent-dark:#1E40AF;
  --accent-darker:#172554; --warn:#B54708; --danger:#B42318;
  --success:#067647; --success-bg:#ECFDF3; --radius:10px; --radius-sm:8px;
}

*{box-sizing:border-box;}
body.atr-app-page,body.atr-print-page{background:var(--bg);}
.atr-shell{max-width:1100px;margin:32px auto;padding:0 18px 60px;font-family:"IBM Plex Sans",sans-serif;color:var(--text);}
.atr-narrow{max-width:640px;}
.atr-shell h1,.atr-shell h2,.atr-shell h3,.atr-shell h4{font-family:"Sora",sans-serif;font-weight:600;margin:0 0 8px;color:var(--text);}
.atr-shell a{color:var(--accent-dark);}

.atr-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:16px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.atr-kicker{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--warn);margin-bottom:8px;}
.atr-subtle{color:var(--muted);font-size:13px;}
.atr-error{color:var(--danger);font-weight:600;}
.atr-notice{padding:11px 14px;border-radius:var(--radius-sm);background:rgba(37,99,235,.07);border:1px solid rgba(37,99,235,.2);font-size:13.5px;}
.atr-success-box{border:1px solid var(--success);background:var(--success-bg);border-radius:var(--radius-sm);padding:16px;margin-top:14px;}
.atr-success-box strong{color:var(--success);}

.atr-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--radius-sm);padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;font-family:inherit;}
.atr-btn:hover{border-color:var(--accent);}
.atr-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;}
.atr-btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);}
.atr-btn.secondary{background:var(--panel);}
.atr-btn.danger{color:var(--danger);border-color:#E3B0AA;}
.atr-block{display:block;width:100%;text-align:center;margin-top:6px;}

.atr-finder-row{display:flex;gap:8px;}
.atr-finder-row input{flex:1;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-family:inherit;}
.atr-hit{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line-soft);}
.atr-avatar{width:44px;height:44px;border-radius:50%;background:var(--bg);display:flex;align-items:center;justify-content:center;font-family:"Sora",sans-serif;font-weight:700;color:var(--accent-dark);}
.atr-hit h3{margin:0;font-size:15px;}
.atr-hit p{margin:2px 0 0;font-size:13px;color:var(--muted);}

/* registration form */
.atr-form-stacked{margin-top:18px;}
.atr-form-section{border:0;border-top:1px solid var(--line-soft);padding:18px 0 4px;margin:0;}
.atr-form-section:first-child{border-top:0;padding-top:0;}
.atr-form-section legend{padding:0;font-family:"Sora",sans-serif;font-weight:600;font-size:15px;margin-bottom:12px;}
.atr-optional{font-family:"IBM Plex Sans",sans-serif;font-weight:400;font-size:12px;color:var(--muted);}
.atr-form-section label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:14px;}
.atr-form-section input,.atr-form-section select,.atr-form-section textarea{
  display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:11px 12px;font-family:"IBM Plex Sans",sans-serif;font-size:14.5px;font-weight:400;color:var(--text);background:#fff;
}
.atr-form-section input:focus,.atr-form-section select:focus,.atr-form-section textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.13);}
.atr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.atr-checkrow{display:flex;gap:18px;margin-top:8px;}
.atr-checkrow label{display:flex;align-items:center;gap:6px;font-weight:400;margin-bottom:0;}
.atr-checkrow input{width:auto;margin:0;}
@media(max-width:560px){.atr-form-row{grid-template-columns:1fr;}}

/* login */
.atr-login{max-width:400px;margin:48px auto;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:40px 36px;box-shadow:0 1px 2px rgba(16,24,40,.04);}
.atr-login-mark{width:52px;height:52px;border-radius:50%;background:var(--accent-dark);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-family:"Sora",sans-serif;font-weight:700;font-size:20px;}
.atr-login h1{font-size:20px;margin:0 0 6px;}
.atr-login-sub{color:var(--muted);font-size:13.5px;margin:0 0 24px;}
.atr-login-form{text-align:left;}
.atr-login-form label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:16px;}
.atr-login-form input{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 12px;font-family:"IBM Plex Sans",sans-serif;font-size:15px;}
.atr-login-form input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.13);}
.atr-login-help{text-align:center;font-size:12.5px;color:var(--muted);margin-top:16px;}
.atr-login-help a{color:var(--accent-dark);font-weight:600;}

/* portal head (once logged in) */
.atr-portal-head{display:flex;justify-content:space-between;align-items:center;}

/* ================= School Admin dashboard shell ================= */
.atr-dash{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:70vh;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);margin:0 -18px;}
.atr-side{background:linear-gradient(180deg,var(--accent-dark) 0%,var(--accent-darker) 100%);color:#EDEAdd;display:flex;flex-direction:column;padding:20px 14px;}
.atr-side-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 20px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px;}
.atr-side-brand strong{display:block;font-size:14px;color:#fff;font-family:"Sora",sans-serif;line-height:1.25;}
.atr-side-brand small{font-size:11px;opacity:.7;}
.atr-side-nav{display:flex;flex-direction:column;gap:2px;flex:1;}
.atr-side-nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;color:#D8D2C2;text-decoration:none;border-radius:var(--radius-sm);font-size:13.5px;font-weight:500;}
.atr-side-nav a .dashicons{font-size:18px;width:18px;height:18px;opacity:.85;}
.atr-side-nav a:hover{background:rgba(255,255,255,.08);color:#fff;}
.atr-side-nav a.active{background:rgba(255,255,255,.14);color:#fff;}
.atr-side-foot{border-top:1px solid rgba(255,255,255,.12);padding-top:12px;margin-top:12px;}
.atr-side-user{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;}
.atr-side-signout{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px;border-radius:var(--radius-sm);cursor:pointer;font-size:12.5px;font-family:inherit;}
.atr-side-signout:hover{background:rgba(255,255,255,.15);}
.atr-main{padding:24px 26px 40px;min-width:0;}
.atr-topbar{margin-bottom:16px;}
.atr-topbar h1{font-family:"Sora",sans-serif;font-size:23px;margin:0;font-weight:600;}

.atr-pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px;}
.atr-pstat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;}
.atr-pstat span{font-size:12px;color:var(--muted);}
.atr-pstat strong{display:block;font-size:22px;margin-top:6px;font-family:"Sora",sans-serif;font-weight:600;}
.atr-checklist{margin:0;padding-left:18px;color:var(--muted);font-size:14px;line-height:2;}
.atr-status-good{color:var(--success);font-weight:600;font-size:13.5px;}
.atr-billing-locked{border-color:var(--danger);}

.atr-notice-danger{background:rgba(180,35,24,.07);border-color:rgba(180,35,24,.25);color:#7A251C;}
.atr-cred-box{border:1.5px solid var(--warn);background:rgba(181,71,8,.06);border-radius:var(--radius);padding:18px 20px;margin-bottom:16px;}
.atr-cred-box h3{margin:0 0 4px;}
.atr-cred-table{width:100%;margin-top:10px;border-collapse:collapse;}
.atr-cred-table th{text-align:left;padding:6px 12px 6px 0;color:var(--muted);font-size:13px;font-weight:600;width:130px;}
.atr-cred-table td{padding:6px 0;}
.atr-cred-table code{font-size:16px;font-weight:600;background:#fff;padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--line);}

/* directory manager (Staff / Students) */
.atr-manager-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;}
.atr-manager-head h2{font-size:19px;margin-bottom:4px;}
.atr-filters{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;}
.atr-filters a{padding:8px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;color:var(--muted);background:#fff;}
.atr-filters a.active{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;}
.atr-filters a span{margin-left:4px;opacity:.8;}

.atr-table-wrap{overflow-x:auto;}
.atr-table{width:100%;border-collapse:collapse;min-width:720px;}
.atr-table th,.atr-table td{padding:10px;border-bottom:1px solid var(--line-soft);text-align:left;font-size:13.5px;vertical-align:middle;}
.atr-table th{color:var(--muted);font-size:11px;text-transform:uppercase;background:var(--bg);font-weight:600;}
.atr-avatar-cell{width:48px;}
.atr-avatar-img{border-radius:50%;object-fit:cover;display:inline-block;}
.atr-avatar-fallback{background:var(--accent-dark);color:#fff;text-align:center;font-family:"Sora",sans-serif;font-weight:700;font-size:14px;}
.atr-status-pill{display:inline-flex;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(120,120,120,.12);color:var(--muted);}
.atr-status-pill.is-active{background:rgba(37,99,235,.12);color:var(--accent-dark);}
.atr-status-pill.is-suspended{background:rgba(181,71,8,.12);color:var(--warn);}
.atr-status-pill.is-archived{background:rgba(120,120,120,.12);color:var(--muted);}
.atr-tag{display:inline-block;background:rgba(37,99,235,.08);color:var(--accent-dark);border-radius:6px;padding:2px 8px;font-size:11.5px;margin:1px 3px 1px 0;}
.atr-row-actions{display:flex;flex-wrap:wrap;gap:6px;}
.atr-mini-btn{border:1px solid var(--line);background:#fff;color:var(--accent-dark);border-radius:var(--radius-sm);padding:5px 10px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit;}
.atr-mini-btn:hover{border-color:var(--accent);}
.atr-mini-danger{color:var(--danger);}

/* modal */
.atr-modal{display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center;padding:20px;}
.atr-modal.is-open{display:flex;}
.atr-modal-backdrop{position:absolute;inset:0;background:rgba(16,24,40,.5);}
.atr-modal-panel{position:relative;background:var(--panel);border-radius:var(--radius);max-width:760px;width:100%;max-height:88vh;overflow:auto;padding:0;box-shadow:0 20px 50px rgba(16,24,40,.25);}
.atr-modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line-soft);position:sticky;top:0;background:var(--panel);}
.atr-modal-head h3{margin:0;font-size:18px;}
.atr-modal-close{font-size:22px;text-decoration:none;color:var(--muted);line-height:1;}
.atr-modal .atr-pro-form{padding:20px 22px;}

/* forms inside modals */
.atr-pro-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;}
.atr-field{display:flex;flex-direction:column;gap:6px;}
.atr-field>span{font-size:12px;font-weight:700;color:var(--muted);}
.atr-field input,.atr-field select,.atr-field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 11px;font-family:inherit;font-size:14px;}
.atr-field input[type=file]{border:1px dashed var(--line);padding:10px;border-radius:var(--radius-sm);background:var(--bg);}
.atr-span-2{grid-column:1/-1;}
.atr-form-section-title{grid-column:1/-1;margin-top:4px;padding:10px 0 5px;border-bottom:1px solid var(--line-soft);font-family:"Sora",sans-serif;font-weight:700;font-size:14px;}
.atr-form-actions{display:flex;align-items:center;gap:12px;padding-top:4px;}
.atr-checkline{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);font-weight:500;}
.atr-checkline input{width:auto;margin:0;}

.atr-teaching-box{border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;background:var(--bg);}
.atr-teaching-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.atr-assignment-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center;}
.atr-assignment-row select{border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 10px;font-family:inherit;width:100%;}
.atr-remove-row{border:1px solid var(--line);background:#fff;border-radius:var(--radius-sm);width:36px;height:36px;cursor:pointer;font-size:16px;color:var(--muted);}

.atr-dept-row{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;}
.atr-level-buttons{display:flex;gap:10px;flex-wrap:wrap;}
.atr-edit summary{cursor:pointer;color:var(--accent-dark);font-weight:600;font-size:12.5px;list-style:none;}
.atr-edit summary::-webkit-details-marker{display:none;}
.atr-edit-panel{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);min-width:220px;}
.atr-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(37,99,235,.12);color:var(--accent-dark);}

@media(max-width:820px){
  .atr-dash{grid-template-columns:1fr;margin:0;}
  .atr-side{flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 14px;}
  .atr-side-brand{border-bottom:0;padding:0;margin:0 auto 0 0;}
  .atr-side-nav{flex-direction:row;overflow-x:auto;flex:1 1 100%;order:3;margin-top:10px;gap:4px;}
  .atr-side-nav a{white-space:nowrap;}
  .atr-side-foot{border-top:0;margin:0;padding:0;order:2;}
  .atr-side-user{display:none;}
  .atr-main{padding:18px 16px 32px;}
  .atr-pgrid{grid-template-columns:1fr 1fr;}
  .atr-pro-form{grid-template-columns:1fr;}
  .atr-manager-head{flex-direction:column;}
}

/* ================= results workflow ================= */
.atr-mode-switch{display:flex;gap:8px;margin-bottom:16px;}
.atr-mode-switch a{padding:9px 16px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:13.5px;font-weight:600;color:var(--muted);background:#fff;}
.atr-mode-switch a.active{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;}
.atr-picker-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center;}
.atr-score{width:70px;padding:6px;border:1px solid var(--line);border-radius:var(--radius-sm);}
.atr-workflow-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;flex-wrap:wrap;gap:10px;}
.atr-inline-comment-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.atr-inline-comment-form .atr-input{width:220px;}

.atr-status-banner{padding:10px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:13.5px;display:inline-block;}
.atr-status-banner.status-waiting{background:rgba(120,120,120,.1);color:var(--muted);}
.atr-status-banner.status-submitted{background:rgba(181,71,8,.1);color:var(--warn);}
.atr-status-banner.status-reviewed{background:rgba(37,99,235,.1);color:var(--accent-dark);}
.atr-status-banner.status-approved{background:rgba(37,99,235,.15);color:var(--accent-dark);}
.atr-status-banner.status-published{background:var(--success-bg);color:var(--success);}
.atr-ready{color:var(--success);font-weight:600;font-size:12.5px;}
.atr-pending{color:var(--muted);font-size:12.5px;}
.atr-comment-box{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:12px 14px;margin-top:12px;background:var(--bg);}
.atr-comment-box strong{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px;}
.atr-comment-box p{margin:0;font-size:13.5px;}

/* ================= printable report card ================= */
body.atr-print-page{background:var(--bg);}
.atr-print-toolbar{max-width:210mm;margin:16px auto;text-align:center;}
.atr-report-card{width:210mm;min-height:290mm;margin:0 auto 40px;background:#fff;border:1.5px solid var(--text);padding:14mm;box-sizing:border-box;position:relative;font-family:"IBM Plex Sans",sans-serif;color:var(--text);}
.atr-report-header{display:grid;grid-template-columns:22mm 1fr 24mm;gap:6mm;align-items:center;border-bottom:1.5px solid var(--text);padding-bottom:5mm;}
.atr-logo-placeholder,.atr-photo-placeholder{border:1px solid var(--line);display:grid;place-items:center;font-size:9px;color:var(--muted);background:var(--bg);}
.atr-logo-placeholder{width:20mm;height:20mm;border-radius:50%;}
.atr-photo-placeholder{width:22mm;height:27mm;overflow:hidden;}
.atr-photo-placeholder img{width:100%;height:100%;object-fit:cover;}
.atr-report-school h1{font-family:"Sora",sans-serif;font-size:18px;margin:0 0 3px;}
.atr-report-school .motto{font-style:italic;color:var(--warn);font-size:11px;}
.atr-report-school h2{font-size:11px;color:var(--muted);font-weight:500;margin-top:8px;}
.atr-student-meta{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin:5mm 0;}
.atr-student-meta div{padding:2.4mm 3mm;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.atr-student-meta span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;}
.atr-report-table{width:100%;border-collapse:collapse;font-size:9px;}
.atr-report-table th,.atr-report-table td{border:1px solid var(--line-soft);padding:2mm;text-align:center;}
.atr-report-table th{background:var(--accent-dark);color:#fff;font-weight:500;}
.atr-report-table th:first-child,.atr-report-table td:first-child{text-align:left;}
.atr-result-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:5mm;}
.atr-result-summary div{padding:2.6mm;border-right:1px solid var(--line-soft);}
.atr-result-summary span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;}
.atr-comments{display:grid;grid-template-columns:1fr 1fr;gap:5mm;margin-top:6mm;}
.atr-comments>div{border:1px solid var(--line);padding:3mm;min-height:24mm;}
.atr-comments span{font-size:8px;color:var(--muted);text-transform:uppercase;}
.signature-line{margin-top:10mm;border-top:1px solid var(--text);padding-top:1mm;font-size:8px;color:var(--muted);}
.atr-report-footer{display:flex;justify-content:space-between;margin-top:6mm;font-size:9px;color:var(--muted);}
.atr-report-status{font-weight:700;color:var(--success);}
@media print{.atr-print-toolbar{display:none;}.atr-report-card{border:0;margin:0;}}
.atr-annual-table th,.atr-annual-table td{text-align:center;}
.atr-annual-table th:first-child,.atr-annual-table td:first-child{text-align:left;}
.atr-promo-banner{margin-top:5mm;padding:3mm 4mm;border:1.5px solid var(--success);background:var(--success-bg);color:var(--success);font-weight:600;font-size:11px;text-align:center;border-radius:3px;}
.atr-awards{margin-top:4mm;font-size:9px;color:var(--warn);text-align:center;font-weight:600;}

/* ================= ID cards v1.8 (CR80 / ISO ID-1) ================= */
.atr-idcard-stage{max-width:980px;margin:0 auto;font-family:"IBM Plex Sans",sans-serif;}
.atr-idcard-toolbar{max-width:980px;margin:16px auto 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:0 8px 24px rgba(16,24,40,.06);}
.atr-idcard-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px;}
.atr-idcard-toolbar strong{font-family:"Sora",sans-serif;font-size:14px;color:#17211B;}
.atr-idcard-toolbar span{font-size:11.5px;color:var(--muted);}
.atr-idcard-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.atr-idcard-printarea{display:flex;gap:24px;align-items:flex-start;justify-content:center;flex-wrap:wrap;padding:20px;background:#EDEAE2;border:1px solid #DDD8CB;border-radius:16px;}
.atr-idcard{width:85.6mm;height:54mm;background:#fff;border-radius:3mm;overflow:hidden;box-sizing:border-box;position:relative;color:#122119;box-shadow:0 12px 28px rgba(18,33,25,.14);border:1px solid rgba(18,61,45,.14);page-break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact;}

/* Front */
.atr-idcard-front{display:flex;flex-direction:column;padding:3.2mm 4mm 3mm;background:linear-gradient(180deg,#fff 0%,#FCFBF7 100%);}
.atr-idcard-accent{position:absolute;right:-15mm;top:-21mm;width:50mm;height:50mm;border-radius:50%;background:linear-gradient(135deg,rgba(199,155,69,.18),rgba(18,61,45,.05));pointer-events:none;}
.atr-idcard-accent:after{content:"";position:absolute;right:7mm;top:7mm;width:30mm;height:30mm;border-radius:50%;border:1px solid rgba(18,61,45,.09);}
.atr-idcard-schoolhead{position:relative;z-index:2;display:grid;grid-template-columns:9mm minmax(0,1fr) auto;align-items:center;gap:2.3mm;padding-bottom:2.2mm;border-bottom:1px solid #D9DCCF;}
.atr-id-logo{width:9mm;height:9mm;border-radius:2mm;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid #D7D9D0;flex:0 0 auto;}
.atr-id-logo img{width:100%;height:100%;object-fit:contain;display:block;padding:.5mm;}
.atr-id-logo-fallback{background:#123D2D;color:#fff;border-color:#123D2D;font-family:"Sora",sans-serif;font-size:8px;font-weight:700;letter-spacing:.02em;}
.atr-idcard-schoolcopy{min-width:0;line-height:1.18;}
.atr-idcard-schoolcopy strong{display:block;font-family:"Sora",sans-serif;font-size:8.6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#123D2D;}
.atr-idcard-schoolcopy small{display:block;font-size:5.2px;color:#66756C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.7mm;}
.atr-idcard-type{align-self:start;margin-top:.5mm;padding:1.1mm 1.7mm;border-radius:999px;background:#123D2D;color:#fff;font-size:4.7px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;}
.atr-idcard-staff .atr-idcard-type{background:#9A6C1F;}

.atr-idcard-main{position:relative;z-index:2;display:grid;grid-template-columns:22mm minmax(0,1fr);gap:3mm;align-items:center;flex:1;padding:2.8mm 0 1.8mm;min-height:0;}
.atr-idcard-photo{width:22mm;height:27.5mm;border-radius:2mm;border:1px solid #C9CEC7;background:#F1F3EE;overflow:hidden;display:grid;place-items:center;color:#879087;font-size:5.5px;font-weight:700;letter-spacing:.08em;box-shadow:inset 0 0 0 .7mm #fff;}
.atr-idcard-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.atr-idcard-person{min-width:0;align-self:center;}
.atr-idcard-person>small{display:block;color:#8C7A56;font-size:4.7px;font-weight:800;letter-spacing:.13em;margin-bottom:.8mm;}
.atr-idcard-person h2{font-family:"Sora",sans-serif!important;font-size:10.2px!important;line-height:1.12!important;margin:0 0 1mm!important;color:#101A14!important;max-height:8mm;overflow:hidden;}
.atr-idcard-role{display:inline-block;color:#123D2D;background:#EBF0EC;border:1px solid #D4DDD6;border-radius:999px;padding:.8mm 1.5mm;font-size:5.5px;font-weight:700;margin-bottom:1.6mm;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.atr-idcard-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.15mm 2.4mm;}
.atr-idcard-fields div{min-width:0;}
.atr-idcard-fields span{display:block;font-size:4.5px;color:#7A827C;text-transform:uppercase;letter-spacing:.05em;}
.atr-idcard-fields strong{display:block;font-size:5.7px;color:#17211B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.2mm;}
.atr-idcard-frontfoot{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:3mm;background:#123D2D;margin:0 -4mm -3mm;padding:2mm 4mm 2.2mm;color:#fff;min-height:9mm;}
.atr-idcard-frontfoot>div{min-width:0;}
.atr-idcard-frontfoot span{display:block;font-size:4.2px;letter-spacing:.08em;opacity:.7;text-transform:uppercase;}
.atr-idcard-frontfoot strong{display:block;font-family:"Sora",sans-serif;font-size:7.2px;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.2mm;}
.atr-idcard-session{text-align:right;}
.atr-idcard-staff .atr-idcard-frontfoot{background:#806021;}

/* Back */
.atr-idcard-back{padding:3.5mm 4mm;background:linear-gradient(145deg,#123D2D 0%,#0A2A1F 100%);color:#fff;display:flex;flex-direction:column;}
.atr-idcard-back:before{content:"";position:absolute;width:45mm;height:45mm;border-radius:50%;right:-18mm;bottom:-22mm;background:rgba(199,155,69,.12);border:1px solid rgba(255,255,255,.06);}
.atr-idcard-backtop{position:relative;z-index:2;display:flex;align-items:center;gap:2mm;padding-bottom:2mm;border-bottom:1px solid rgba(255,255,255,.16);}
.atr-idcard-backtop .atr-id-logo{width:8mm;height:8mm;border-color:rgba(255,255,255,.25);background:#fff;}
.atr-idcard-backtop strong{display:block;font-family:"Sora",sans-serif;color:#fff;font-size:7.5px;line-height:1.15;}
.atr-idcard-backtop small{display:block;color:rgba(255,255,255,.65);font-size:4.8px;margin-top:.5mm;text-transform:uppercase;letter-spacing:.06em;}
.atr-idcard-motto{position:relative;z-index:2;font-family:"Sora",sans-serif;font-style:italic;text-align:center;font-size:5.5px;color:#E8D29F;padding:2mm 2mm 1mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.atr-idcard-backgrid{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .7fr;gap:3mm;align-items:end;flex:1;min-height:0;}
.atr-idcard-backinfo{display:grid;gap:1mm;align-self:center;min-width:0;}
.atr-idcard-backinfo div{min-width:0;}
.atr-idcard-backinfo span{display:block;font-size:4.2px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.06em;}
.atr-idcard-backinfo strong{display:block;font-size:5.3px;color:#fff;font-weight:600;margin-top:.2mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.atr-idcard-signature{text-align:center;align-self:end;padding-bottom:2mm;}
.atr-sign-line{border-top:1px solid rgba(255,255,255,.72);width:22mm;margin:0 auto 1mm;}
.atr-idcard-signature span{font-size:4.2px;color:rgba(255,255,255,.64);}
.atr-idcard-return{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.15);padding-top:1.4mm;display:flex;flex-direction:column;gap:.4mm;}
.atr-idcard-return strong{font-size:4.7px;color:#fff;font-weight:600;}
.atr-idcard-return span{font-size:4.3px;color:rgba(255,255,255,.62);}

@media(max-width:780px){
  .atr-idcard-toolbar{align-items:flex-start;flex-direction:column;}
  .atr-idcard-toolbar-actions{width:100%;justify-content:flex-start;}
  .atr-idcard-printarea{padding:12px;}
  .atr-idcard{transform-origin:top center;max-width:100%;}
}

@media print{
  body.atr-idcard-page{background:#fff!important;}
  body.atr-idcard-page #wpadminbar,body.atr-idcard-page header:not(.atr-idcard-schoolhead):not(.atr-idcard-backtop),body.atr-idcard-page footer:not(.atr-idcard-frontfoot),body.atr-idcard-page nav{display:none!important;}
  body.atr-idcard-page .atr-shell{max-width:none!important;margin:0!important;padding:0!important;}
  body.atr-idcard-page .atr-print-toolbar{display:none!important;}
  body.atr-idcard-page .atr-idcard-stage{max-width:none!important;margin:0!important;}
  body.atr-idcard-page .atr-idcard-printarea{display:flex!important;gap:10mm!important;align-items:flex-start!important;justify-content:center!important;padding:8mm 0!important;background:#fff!important;border:0!important;border-radius:0!important;}
  body.atr-idcard-page .atr-idcard{box-shadow:none!important;border:.2mm solid #D1D5CF!important;margin:0!important;flex:0 0 85.6mm!important;}
  body.atr-print-id-front .atr-idcard-back{display:none!important;}
  body.atr-print-id-back .atr-idcard-front{display:none!important;}
  body.atr-print-id-front .atr-idcard-printarea,body.atr-print-id-back .atr-idcard-printarea{justify-content:center!important;}
}

@media(max-width:600px){.atr-shell{padding:0 12px 40px;}.atr-card{padding:18px;}}

/* ================= grading setup ================= */
.atr-grading-intro .atr-manager-head{margin-bottom:12px;}
.atr-grading-table{min-width:760px;}
.atr-grading-table th:nth-child(1){width:150px;}
.atr-grading-table th:nth-child(2){width:150px;}
.atr-grading-table th:nth-child(3){width:120px;}
.atr-grading-table th:last-child{width:54px;}
.atr-grading-table .atr-input{width:100%;min-width:0;border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 10px;font-family:inherit;}
.atr-grade-range{font-weight:700;color:var(--accent-dark);white-space:nowrap;}
.atr-grading-actions{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);}

/* ================= v1.7 School Admin redesign ================= */
.atr-dash-admin{
  --admin-green:#123D2D;--admin-green-deep:#0A2A1F;--admin-cream:#F6F3EA;--admin-gold:#C79B45;
  width:min(1500px,calc(100vw - 44px));margin-left:50%;transform:translateX(-50%);
  grid-template-columns:250px minmax(0,1fr);height:calc(100vh - 56px);min-height:680px;max-height:980px;
  border-color:#D9D5C9;border-radius:16px;box-shadow:0 18px 48px rgba(16,24,40,.10);background:var(--admin-cream);
}
.atr-dash-admin .atr-side{background:linear-gradient(180deg,var(--admin-green) 0%,var(--admin-green-deep) 100%);padding:22px 15px;min-height:0;}
.atr-dash-admin .atr-side-brand{padding:5px 7px 21px;margin-bottom:16px;}
.atr-dash-admin .atr-side-brand strong{font-size:14.5px;}
.atr-dash-admin .atr-side-nav{min-height:0;overflow-y:auto;padding-right:2px;}
.atr-dash-admin .atr-side-nav a{padding:11px 12px;border-radius:9px;color:#E5E4DA;}
.atr-dash-admin .atr-side-nav a:hover{background:rgba(255,255,255,.08);}
.atr-dash-admin .atr-side-nav a.active{background:#F5EEDC;color:var(--admin-green-deep);box-shadow:0 4px 16px rgba(0,0,0,.10);}
.atr-dash-admin .atr-side-nav a.active .dashicons{color:var(--admin-gold);opacity:1;}
.atr-dash-admin .atr-side-foot{margin-top:auto;flex:0 0 auto;}
.atr-dash-admin .atr-main{background:var(--admin-cream);padding:22px 26px 34px;overflow-y:auto;min-height:0;}
.atr-admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 2px 17px;border-bottom:1px solid #E2DED2;margin-bottom:18px;position:sticky;top:-22px;background:rgba(246,243,234,.96);backdrop-filter:blur(8px);z-index:20;padding-top:22px;}
.atr-topbar-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7C7464;margin-bottom:3px;}
.atr-admin-topbar h1{font-size:24px;color:#17211B;}
.atr-period-chip{display:flex;flex-direction:column;align-items:flex-end;border:1px solid #DDD6C5;background:#fff;border-radius:11px;padding:8px 12px;min-width:190px;}
.atr-period-chip span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#8A8171;font-weight:700;}
.atr-period-chip strong{font-size:12.5px;color:var(--admin-green);margin-top:2px;}

.atr-admin-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:linear-gradient(135deg,#123D2D 0%,#1C5942 100%);color:#fff;border-radius:16px;padding:24px 26px;margin-bottom:14px;box-shadow:0 10px 28px rgba(18,61,45,.16);}
.atr-admin-hero h2{color:#fff!important;font-size:25px!important;margin:1px 0 7px!important;}
.atr-admin-hero p{margin:0;max-width:700px;color:rgba(255,255,255,.76);font-size:13.5px;line-height:1.55;}
.atr-admin-hero .atr-kicker{color:#E7C77E;margin-bottom:4px;}
.atr-admin-hero-period{min-width:190px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:13px 15px;text-align:right;}
.atr-admin-hero-period small,.atr-admin-hero-period span{display:block;color:rgba(255,255,255,.7);font-size:11px;}
.atr-admin-hero-period strong{display:block;color:#fff;font-size:18px;font-family:"Sora",sans-serif;margin:3px 0;}

.atr-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.atr-quick-actions a{background:#fff;border:1px solid #DDD8CB;border-radius:12px;padding:13px 14px;text-decoration:none;color:#17211B;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;transition:.15s ease;}
.atr-quick-actions a:hover{transform:translateY(-1px);border-color:#BDAF8B;box-shadow:0 7px 18px rgba(36,45,38,.07);}
.atr-quick-actions .dashicons{grid-row:1/3;width:30px;height:30px;font-size:18px;background:#EEF3EF;color:var(--admin-green);border-radius:8px;display:grid;place-items:center;line-height:30px;}
.atr-quick-actions strong{font-size:12.5px;line-height:1.2;}
.atr-quick-actions small{font-size:10.5px;color:#7B7467;line-height:1.25;margin-top:3px;}

.atr-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.atr-overview-stats article{background:#fff;border:1px solid #DDD8CB;border-radius:12px;padding:14px;display:flex;gap:11px;align-items:center;min-width:0;}
.atr-stat-icon{width:38px;height:38px;border-radius:10px;background:#F0ECE1;color:var(--admin-green);display:grid;place-items:center;flex:0 0 auto;}
.atr-stat-icon .dashicons{font-size:20px;width:20px;height:20px;}
.atr-overview-stats article>div:last-child{min-width:0;}
.atr-overview-stats span{display:block;font-size:10.5px;color:#7B7467;text-transform:uppercase;letter-spacing:.05em;font-weight:700;}
.atr-overview-stats strong{display:inline-block;font-size:22px;font-family:"Sora",sans-serif;color:#18231C;margin:2px 0;}
.atr-overview-stats small{display:block;color:#81796C;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.atr-overview-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;margin-bottom:14px;}
.atr-overview-panel{margin:0!important;padding:18px!important;border-color:#DDD8CB!important;box-shadow:none!important;}
.atr-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.atr-panel-title h3{font-size:16px!important;margin:0!important;}
.atr-panel-title .atr-kicker{margin-bottom:3px;}
.atr-panel-title>a{font-size:11.5px;font-weight:700;text-decoration:none;color:var(--admin-green);}
.atr-pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.atr-pipeline>div{border:1px solid #E6E1D6;background:#FBFAF7;border-radius:9px;padding:10px;position:relative;}
.atr-pipeline .dot{width:7px;height:7px;border-radius:50%;display:block;margin-bottom:8px;background:#AAA;}
.atr-pipeline .dot.submitted{background:#D38D2C}.atr-pipeline .dot.reviewed{background:#4A72C2}.atr-pipeline .dot.published{background:#2F8A60}
.atr-pipeline strong{display:block;font-size:18px;color:#1C261F;font-family:"Sora",sans-serif;}
.atr-pipeline small{font-size:10.5px;color:#777064;line-height:1.2;}
.atr-empty-state{padding:14px;border:1px dashed #D6CEBA;background:#FBFAF7;border-radius:9px;color:#756E61;font-size:12.5px;}
.atr-setup-list{display:flex;flex-direction:column;gap:2px;}
.atr-setup-list a{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #EEEAE0;text-decoration:none;color:#343C36;font-size:12.5px;}
.atr-setup-list a:last-child{border-bottom:0;}
.atr-setup-list strong{font-size:11.5px;color:var(--admin-green);}
.atr-billing-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0!important;padding:14px 18px!important;border-color:#DDD8CB!important;}
.atr-billing-strip>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
.atr-billing-strip .atr-kicker{margin:0;}.atr-billing-strip strong{font-size:13px;}.atr-billing-strip small{color:#7D7568;font-size:11px;}

/* class + arm manager */
.atr-class-manager .atr-manager-head{margin-bottom:16px;}
.atr-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.atr-class-group{border:1px solid #DED9CD;background:#FBFAF7;border-radius:12px;padding:14px;min-width:0;}
.atr-class-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:11px;border-bottom:1px solid #E9E4DA;}
.atr-class-group-head>div:first-child{min-width:0;}
.atr-class-group-head strong{display:block;font-size:14px;color:#1C261F;}
.atr-class-group-head small{display:block;margin-top:3px;color:#81796C;font-size:10.5px;}
.atr-arm-list{display:flex;flex-direction:column;gap:6px;padding:10px 0 4px;}
.atr-arm-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #E7E2D7;border-radius:9px;padding:8px 9px;}
.atr-arm-row>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;min-width:0;}
.atr-arm-row strong{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.atr-arm-row small{grid-column:2;font-size:10px;color:#827A6D;}
.atr-arm-badge{grid-row:1/3;display:grid;place-items:center;min-width:29px;height:29px;padding:0 7px;border-radius:8px;background:#EAF2ED;color:#174A36;font-weight:800;font-size:11px;}
.atr-arm-actions{display:flex;gap:5px;align-items:center;flex:0 0 auto;}
.atr-empty-arm{padding:10px 0 4px;color:#8A8275;font-size:11.5px;}
.atr-arm-add{margin-top:9px;border-top:1px solid #E9E4DA;padding-top:9px;}
.atr-arm-add>summary,.atr-custom-class-add>summary{cursor:pointer;font-size:12px;font-weight:700;color:#184B37;list-style:none;}
.atr-arm-add>summary::-webkit-details-marker,.atr-custom-class-add>summary::-webkit-details-marker{display:none;}
.atr-arm-add form{padding-top:10px;}.atr-arm-add p{margin-top:0;}
.atr-custom-class-add{margin-top:14px;border-top:1px solid #E7E2D8;padding-top:12px;}

@media(max-width:1100px){
  .atr-dash-admin{width:calc(100vw - 24px);grid-template-columns:220px minmax(0,1fr);}
  .atr-quick-actions,.atr-overview-stats{grid-template-columns:repeat(2,1fr);}
  .atr-class-grid{grid-template-columns:1fr;}
}
@media(max-width:820px){
  .atr-dash-admin{width:auto;height:auto;max-height:none;min-height:0;margin:0;transform:none;grid-template-columns:1fr;}
  .atr-dash-admin .atr-main{overflow:visible;padding:16px;}
  .atr-admin-topbar{position:static;padding-top:0;}
  .atr-admin-hero{grid-template-columns:1fr;padding:20px;}.atr-admin-hero-period{text-align:left;min-width:0;}
  .atr-overview-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .atr-period-chip{display:none}.atr-quick-actions,.atr-overview-stats,.atr-pipeline{grid-template-columns:1fr 1fr;}
  .atr-quick-actions a{grid-template-columns:28px 1fr;padding:11px;}.atr-quick-actions small{display:none;}
  .atr-overview-stats article{padding:11px;}.atr-stat-icon{width:34px;height:34px;}
  .atr-arm-row{align-items:flex-start;}.atr-arm-actions{flex-direction:column;align-items:flex-end;}
}

/* v2.0 academic workflow additions */
.atr-sheet-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0 12px}
.atr-sheet-title h3{margin:2px 0 0}
.atr-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 20px}
.atr-profile-grid>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}
.atr-profile-grid span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}
.atr-profile-grid strong{font-size:14px}
.atr-tag-list{display:flex;gap:7px;flex-wrap:wrap}
.atr-tools-switch{overflow-x:auto;white-space:nowrap;padding-bottom:4px}
.atr-broadsheet-wrap{overflow:auto;max-width:100%}
.atr-broadsheet{min-width:900px;font-size:12px}
.atr-broadsheet th{min-width:90px}
.atr-broadsheet th:first-child{min-width:180px;position:sticky;left:0;background:#f8fafc;z-index:2}
.atr-broadsheet td:first-child{position:sticky;left:0;background:#fff;z-index:1}
.atr-clean-list{margin:0;padding-left:18px;display:grid;gap:7px}
.atr-csv-preview{border:1px dashed var(--line);border-radius:8px;padding:10px;background:#fafafa}
.atr-receipt{max-width:760px}
.atr-report-card .atr-logo-placeholder img{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}
@media(max-width:800px){.atr-profile-grid{grid-template-columns:1fr}.atr-sheet-title{flex-direction:column}.atr-tools-switch{display:flex}.atr-tools-switch a{flex:0 0 auto}}
@media print{.atr-side,.atr-topbar,.atr-mode-switch,.atr-workflow-row,.atr-manager-head .atr-btn,.atr-filters{display:none!important}.atr-main{padding:0!important}.atr-card{box-shadow:none!important;border:0!important}.atr-broadsheet-wrap{overflow:visible}.atr-broadsheet{font-size:9px;min-width:0}.atr-receipt{border:1px solid #999!important;padding:20px!important}}

/* v2.0.5 score editor rebuild */
.atr-score-sheet{position:relative;}
.atr-draft-editor-bar button{min-height:42px;line-height:1.2;}
@media(max-width:700px){.atr-draft-editor-bar{align-items:stretch!important}.atr-draft-editor-bar>div:last-child{width:100%}.atr-draft-editor-bar button{flex:1 1 100%;width:100%}}
