/* Shared look for the per-role admin pages:
   admin/year-head.html, admin/head-teacher.html, admin/superior.html */

#admin-loading{ text-align:center; padding:60px 10px; color:var(--text-secondary); font-size:14px; }

.card{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 12px);
  padding: 18px;
  margin-bottom: 16px;
}
.card-sub{ font-size:13px; color:var(--text-secondary); margin-bottom:16px; line-height:1.5; }

.search-wrap{ position:relative; margin-bottom:12px; }
.search-input{
  width:100%; box-sizing:border-box; padding:12px 14px 12px 38px;
  border-radius: var(--radius-sm, 8px); border:1px solid var(--border);
  font-family:inherit; font-size:14px;
  background: var(--surface-2); color: var(--text-primary);
}
.search-input:focus{ outline:none; border-color: var(--purple); }
.search-icon{
  position:absolute; left:13px; top:50%; transform:translateY(-50%);
  width:16px; height:16px; color: var(--text-muted); pointer-events:none;
}

.results{
  border:1px solid var(--border);
  border-radius: var(--radius-sm, 8px);
  max-height: 300px; overflow-y:auto;
  background: var(--surface);
}
.result-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:11px 12px; border-bottom:1px solid var(--border);
}
.result-row:last-child{ border-bottom:none; }
.result-name{ font-size:13px; font-weight:700; }
.result-id{ font-size:11px; color: var(--text-muted); margin-top:1px; }
.empty-note{ font-size:12.5px; color:var(--text-muted); padding:14px 12px; }

.mini-btn{
  font-family:inherit; font-size:11px; font-weight:700; padding:6px 12px;
  border-radius:999px; border:1px solid var(--border); background:var(--surface);
  color:var(--text-secondary); cursor:pointer; flex-shrink:0;
}
.mini-btn:hover{ border-color: var(--purple); color: var(--purple); }
.mini-btn.give{ background: var(--purple); border-color: var(--purple); color:#fff; }
.mini-btn.danger:hover{ border-color: var(--danger); color: var(--danger); }
.mini-btn[disabled]{ opacity:.55; cursor:default; }

.holder-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:11px 2px; border-bottom:1px solid var(--border); font-size:13px;
}
.holder-row:last-child{ border-bottom:none; }
.holder-actions{ display:flex; align-items:center; gap:8px; flex-shrink:0; }
.badge{
  display:inline-flex; align-items:center; gap:4px;
  background: var(--accent-tint, #FFE6FF); color: var(--accent, #FF00FF);
  font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px;
}

.field-msg{ font-size:12px; margin-top:12px; min-height:14px; }
.field-msg.success{ color: var(--success); }
.field-msg.error{ color: var(--danger); }

/* --- scope prompt shown when giving/editing a year-head or head-teacher role --- */
.scope-form{
  background: var(--surface-2); border:1px solid var(--border);
  border-radius: var(--radius-sm, 8px); padding:12px; margin:0 0 10px;
}
.panel-label{ font-size:12px; color:var(--text-secondary); margin-bottom:8px; display:block; }
.scope-form .search-input{ margin-bottom:10px; padding-left:14px; }
.panel-actions{ display:flex; gap:8px; }
.panel-actions .mini-btn{ padding:8px 14px; font-size:12px; }
.panel-actions .go{ background: var(--purple); border-color: var(--purple); color:#fff; }

.holder-row-wrap{ border-bottom:1px solid var(--border); padding-bottom:10px; margin-bottom:10px; }
.holder-row-wrap:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
.holder-row-wrap .holder-row{ border-bottom:none; padding:0 2px 8px; }
.scope-line{ font-size:12px; color:var(--text-secondary); padding:0 2px; }
.scope-line strong{ color:var(--text-primary); }
.scope-line .mini-btn{ padding:3px 9px; font-size:10px; margin-left:4px; }
