*{box-sizing:border-box}
:root{
  --brand-primary:#1456a0;
  --brand-secondary:#0d2746;
  --brand-accent:#f1b434;
  --brand-primary-contrast:#ffffff;
  --brand-secondary-contrast:#ffffff;
  --brand-accent-contrast:#111827;
  --page-bg:#f4f7fb;
  --surface:#ffffff;
  --border:#dfe6ef;
  --text:#172033;
  --muted:#667085;
  --success:#1f7a3f;
  --danger:#b42318;
}
html,body{min-height:100%}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--page-bg);
  color:var(--text);
}
a{color:inherit}
button,input{font:inherit}
.app-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
}
.sidebar{
  min-height:100vh;
  background:var(--brand-secondary);
  color:var(--brand-secondary-contrast,#fff);
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  gap:28px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand-mark{
  width:44px;
  height:44px;
  border-radius:13px;
  background:var(--brand-accent);
  color:var(--brand-accent-contrast,#172033);
  display:grid;
  place-items:center;
  font-weight:900;
  flex:0 0 auto;
}
.brand-mark.large{
  width:64px;
  height:64px;
  font-size:1.25rem;
  margin:0 auto;
}
.brand strong,.brand span,.signed-in strong,.signed-in span{display:block}
.brand span{opacity:.72;font-size:.82rem;margin-top:3px}
.sidebar nav{display:grid;gap:8px}
.sidebar nav a{
  color:var(--brand-secondary-contrast,#fff);
  text-decoration:none;
  padding:11px 12px;
  border-radius:10px;
  display:flex;
  gap:10px;
  align-items:center;
}
.sidebar nav a:hover{background:rgba(255,255,255,.1)}
.sidebar-footer{margin-top:auto;display:grid;gap:14px}
.signed-in span{font-size:.76rem;opacity:.72;margin-top:4px;overflow-wrap:anywhere}
.logout-button{
  width:100%;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:9px;
  background:transparent;
  color:#fff;
  cursor:pointer;
}
.logout-button:hover{background:rgba(255,255,255,.08)}
.version{opacity:.65;font-size:.78rem}
.main{
  width:100%;
  max-width:1320px;
  margin:0 auto;
  padding:38px;
}
.page-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:24px;
}
.page-header h1{
  margin:.15rem 0 .5rem;
  font-size:2.25rem;
  line-height:1.1;
}
.page-header p{margin:0;color:var(--muted)}
.eyebrow,.card-kicker{
  margin:0;
  color:var(--brand-primary);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  background:#e8f7ec;
  color:#1f6b35;
  padding:8px 12px;
  border-radius:999px;
  font-weight:750;
  white-space:nowrap;
}
.hero-card,.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:18px;
  padding:24px;
  box-shadow:0 8px 24px rgba(19,35,58,.06);
}
.hero-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.hero-card h2,.card h3{margin:.4rem 0 .55rem}
.hero-card p,.card p{color:var(--muted);line-height:1.55}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:11px 16px;
  border:0;
  border-radius:10px;
  background:var(--brand-primary);
  color:var(--brand-primary-contrast,#fff);
  text-decoration:none;
  font-weight:750;
  cursor:pointer;
}
.button:hover{filter:brightness(.95)}
.button.full{width:100%}
.grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-bottom:22px;
}
.facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:16px 0 0;
}
.facts div{
  min-width:0;
  background:#f7f9fc;
  border:1px solid #edf1f5;
  border-radius:12px;
  padding:14px;
}
.facts dt{
  color:var(--muted);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.facts dd{margin:7px 0 0;font-weight:750;overflow-wrap:anywhere}
.check-list{display:grid}
.check-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid #edf1f5;
}
.check-row:last-child{border-bottom:0}
.check-row strong{
  padding:5px 10px;
  border-radius:999px;
  font-size:.82rem;
}
.check-row .pass,.pass{color:var(--success)}
.check-row strong.pass{background:#eaf8ee}
.check-row .fail,.fail{color:var(--danger)}
.check-row strong.fail{background:#fff0ee}
.auth-body{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(135deg,var(--brand-secondary),#163d68);
}
.auth-wrap{
  width:min(980px,100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) 440px;
  align-items:center;
  gap:70px;
}
.auth-brand{text-align:center;color:#fff}
.auth-brand h1{margin:18px 0 4px;font-size:2.2rem}
.auth-brand p{margin:0;opacity:.72}
.auth-card{
  background:#fff;
  border-radius:22px;
  padding:30px;
  box-shadow:0 26px 70px rgba(0,0,0,.28);
}
.auth-card h1,.auth-card h2{margin:.25rem 0 .5rem}
.auth-intro{color:var(--muted);line-height:1.5}
.form-stack{display:grid;gap:15px;margin-top:22px}
.form-stack label{display:grid;gap:7px;font-weight:700;font-size:.88rem}
.form-stack input{
  width:100%;
  padding:12px 13px;
  border:1px solid #cfd7e3;
  border-radius:10px;
  background:#fff;
}
.form-stack input:focus{
  border-color:var(--brand-primary);
  outline:3px solid rgba(20,86,160,.15);
}
.check-label{
  display:flex!important;
  align-items:center;
  gap:9px!important;
  font-weight:500!important;
}
.check-label input{width:auto}
.auth-links{text-align:center;margin:18px 0 0}
.auth-links a,.alert a{color:var(--brand-primary);font-weight:700}
.alert{
  border-radius:11px;
  padding:12px 14px;
  margin:15px 0;
  font-size:.9rem;
  line-height:1.45;
}
.alert.error{background:#fff0ee;color:#8f1d16;border:1px solid #fac8c3}
.alert.success{background:#eaf8ee;color:#1e6b37;border:1px solid #bde7c8}
.alert.warning{background:#fff7e6;color:#805a13;border:1px solid #f0d59c}
@media(max-width:900px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{min-height:auto}
  .sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sidebar-footer{margin-top:0}
  .main{padding:24px}
  .auth-wrap{grid-template-columns:1fr;gap:28px}
}
@media(max-width:640px){
  .main{padding:18px}
  .page-header,.hero-card{flex-direction:column;align-items:stretch}
  .grid,.facts{grid-template-columns:1fr}
  .sidebar nav{grid-template-columns:1fr}
  .auth-card{padding:24px}
}
.table-card{padding:0;overflow:hidden}.table-toolbar{padding:18px;border-bottom:1px solid var(--border)}.table-toolbar input{width:min(420px,100%);padding:11px 13px;border:1px solid #cfd7e3;border-radius:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #edf1f5;vertical-align:middle}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:#f8fafc}td small{display:block;color:var(--muted);margin-top:4px}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions form{margin:0}.button.secondary{background:#eef3f8;color:var(--text)}.button.danger{background:#b42318}.button.success{background:#1f7a3f}.status-pill.inactive,.status-pill.untested{background:#f2f4f7;color:#475467}.status-pill.failed{background:#fff0ee;color:#8f1d16}.status-pill.ok,.status-pill.active{background:#e8f7ec;color:#1f6b35}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid h2{grid-column:1/-1;margin:8px 0 0;padding-top:14px;border-top:1px solid var(--border)}.form-grid h2:first-of-type{border-top:0;padding-top:0}.form-grid label{display:grid;gap:7px;font-weight:700;font-size:.88rem}.form-grid input,.form-grid select{width:100%;padding:12px 13px;border:1px solid #cfd7e3;border-radius:10px;background:#fff}.form-grid small{font-weight:400;color:var(--muted)}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.form-grid h2,.wide{grid-column:1}.actions{min-width:220px}}

/* Increment 003: District Console */
.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.module-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 22px;padding:8px;background:#fff;border:1px solid var(--border);border-radius:14px}
.module-tabs a,.module-tabs span{padding:10px 13px;border-radius:9px;text-decoration:none;color:var(--muted);font-weight:700}
.module-tabs a.active{background:var(--brand-primary);color:var(--brand-primary-contrast,#fff)}.module-tabs span{opacity:.55}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.metric-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(19,35,58,.04)}.metric-card span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:750}.metric-card strong{display:block;font-size:1.8rem;margin-top:8px}.metric-card .metric-text{font-size:1rem;overflow-wrap:anywhere}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 0 18px}.section-heading h2{margin:.25rem 0 .35rem}.section-heading p{margin:0}.section-heading input{width:min(320px,100%);padding:11px 12px;border:1px solid #cfd7e3;border-radius:10px}.button.compact{min-height:36px;padding:8px 11px}.muted{color:var(--muted)}.empty-state{display:grid;gap:5px;text-align:center;padding:30px;color:var(--muted)}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.metric-grid{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column}.page-header{flex-direction:column}.header-actions{justify-content:flex-start}}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand-summary{display:flex;align-items:center;gap:16px;padding-top:8px}.brand-summary>div:nth-child(2){display:grid;gap:4px;min-width:180px}.brand-summary small,.branding-preview-panel small{color:var(--muted)}.brand-logo-preview,.table-logo{width:64px;height:64px;border-radius:14px;border:1px solid var(--border);background:#f6f8fb;display:grid;place-items:center;overflow:hidden;font-weight:800;color:var(--brand-primary)}.brand-logo-preview.large{width:110px;height:110px;border-radius:20px}.brand-logo-preview img,.table-logo img{width:100%;height:100%;object-fit:contain}.table-logo{width:48px;height:48px;border-radius:11px}.color-swatches{display:flex;gap:7px;align-items:center}.color-swatches span{width:28px;height:28px;border-radius:8px;background:var(--swatch);border:1px solid rgba(0,0,0,.12);box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}.branding-heading{padding:18px}.branding-form{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}.branding-preview-panel{position:sticky;top:20px;display:grid;gap:13px;justify-items:start}.branding-preview-panel>div:last-child{display:grid;gap:4px}.branding-fields{padding:0;box-shadow:none;border:0}.color-input{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px}.color-input input[type=color]{padding:3px;height:44px}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important}.check-row input{width:auto!important}@media(max-width:820px){.branding-form{grid-template-columns:1fr}.branding-preview-panel{position:static;grid-template-columns:auto 1fr;align-items:center}.brand-summary{align-items:flex-start;flex-wrap:wrap}}

/* Increment 023: expanded staff profiles */
.staff-profile-hero{display:flex;align-items:center;gap:1.25rem}.staff-profile-identity{min-width:0}.staff-profile-name-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.staff-profile-name-row h2{margin:0}.staff-profile-identity>p{margin:.25rem 0 .65rem;color:var(--muted,#64748b)}.staff-profile-tags{display:flex;gap:.4rem;flex-wrap:wrap}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.profile-details{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);gap:.65rem 1rem;margin:0}.profile-details dt{font-weight:700;color:var(--muted,#64748b)}.profile-details dd{margin:0;overflow-wrap:anywhere}.profile-bio{white-space:normal;line-height:1.65}.profile-list{display:grid;gap:.65rem}.profile-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border,#e2e8f0)}.profile-list>div:last-child{border-bottom:0}.profile-list span{color:var(--muted,#64748b)}.sensitive-panel{border-left:4px solid #d97706}.compact-grid{margin-top:.75rem}.empty-state.compact{padding:1rem 0;text-align:left}@media(max-width:760px){.profile-grid{grid-template-columns:1fr}.staff-profile-hero{align-items:flex-start}.profile-details{grid-template-columns:1fr}.profile-details dd{margin-top:-.35rem}.profile-list>div{flex-direction:column;gap:.15rem}}


/* Increment 025: Meetings workflow refinement */
.meeting-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.meeting-detail-grid>div{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fff}.meeting-attendee-grid{display:grid;gap:8px}.meeting-attendee-row{display:grid;grid-template-columns:minmax(220px,1fr) 140px;gap:14px;align-items:center;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}.meeting-attendee-row label{display:flex;align-items:center;gap:8px;margin:0}.meeting-manager-toggle{justify-content:flex-start}.meeting-agenda-list{display:grid;gap:10px;padding-left:24px}.meeting-agenda-list li{padding:10px 12px;border:1px solid var(--border);border-radius:10px}.inline-create-form{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(130px,.7fr) auto;gap:10px;align-items:end;margin-top:16px}.inline-create-form label{margin:0}.attachment-list{display:grid;gap:8px;padding-left:20px}.calendar-event-chip.meeting-rsvp-needs_action{border:2px solid #dc2626!important}.calendar-event-chip.meeting-rsvp-tentative{opacity:.68;background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,rgba(71,85,105,.14) 6px,rgba(71,85,105,.14) 12px)}.calendar-event-chip.meeting-rsvp-accepted{opacity:1}@media(max-width:760px){.meeting-attendee-row,.inline-create-form{grid-template-columns:1fr}}

/* Increment 026: Meetings collaboration refinement */
.meeting-invite-picker{position:relative}.meeting-staff-search-label{max-width:640px}.meeting-staff-results{display:grid;max-width:640px;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.12);overflow:hidden;margin-top:6px}.meeting-staff-result{appearance:none;border:0;border-bottom:1px solid var(--border);background:#fff;text-align:left;padding:11px 14px;cursor:pointer}.meeting-staff-result:last-child{border-bottom:0}.meeting-staff-result:hover{background:#f4f8fc}.meeting-selected-staff{display:grid;gap:8px;margin-top:14px}.meeting-selected-person{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}.meeting-agenda-list{display:grid;gap:14px;padding:0}.meeting-agenda-item{padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff}.meeting-agenda-item form:first-child{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,2fr) auto;gap:12px;align-items:end}.meeting-agenda-item textarea,.meeting-agenda-create textarea{min-height:82px}.meeting-agenda-create{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,2fr) auto;gap:12px;align-items:end;margin-top:16px}.meeting-attachment-form{display:flex;align-items:end;gap:10px;margin-top:12px}.meeting-attachment-form label{max-width:520px}.attachment-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.meeting-action-list{display:grid;gap:10px}.meeting-action-row,.meeting-action-create{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) 150px 160px auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.meeting-action-create{grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) 150px auto;margin-top:16px}.calendar-event-chip.meeting-rsvp-declined{opacity:.68;border:2px solid #dc2626!important;background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,rgba(71,85,105,.17) 6px,rgba(71,85,105,.17) 12px)}
@media(max-width:900px){.meeting-selected-person,.meeting-agenda-item form:first-child,.meeting-agenda-create,.meeting-action-row,.meeting-action-create{grid-template-columns:1fr}.meeting-attachment-form{align-items:stretch;flex-direction:column}}

/* Increment 027: Meetings operational completion */
.meeting-agenda-item,.meeting-action-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,2fr) auto;gap:1rem;align-items:end;padding:1rem;border:1px solid var(--border-color,#d8e1ec);border-radius:14px;background:#fff}.meeting-agenda-item form,.meeting-action-row{width:100%}.meeting-agenda-item label,.meeting-action-row label,.meeting-agenda-create label,.meeting-action-create label,.meeting-attendee-add label,.meeting-attachment-form label{display:flex;flex-direction:column;gap:.35rem}.meeting-agenda-item input,.meeting-agenda-item textarea,.meeting-action-row input,.meeting-action-row select,.meeting-agenda-create input,.meeting-agenda-create textarea,.meeting-action-create input,.meeting-action-create select,.meeting-attendee-add input,.meeting-attendee-add select,.meeting-general-notes textarea{width:100%;min-width:0}.meeting-agenda-create,.meeting-action-create,.meeting-attendee-add,.meeting-attachment-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,2fr) auto;gap:1rem;align-items:end;margin-top:1rem}.meeting-general-notes textarea{min-height:150px}.compact-check{flex-direction:row!important;align-items:center;white-space:nowrap}.attachment-list{margin:.75rem 0;padding-left:1.25rem}.attachment-list li{margin:.35rem 0}.meeting-attendee-add{grid-template-columns:minmax(280px,1fr) auto auto}@media(max-width:900px){.meeting-agenda-item,.meeting-action-row,.meeting-agenda-create,.meeting-action-create,.meeting-attendee-add,.meeting-attachment-form{grid-template-columns:1fr}}

/* Increment 029: responsive meeting workflow polish */
.meeting-agenda-item{display:block}
.meeting-agenda-item>form:first-child{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) auto;gap:14px;align-items:end}
.meeting-agenda-item .attachment-list{grid-column:1/-1}
.meeting-attachment-form{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}
.meeting-agenda-create{grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) minmax(220px,1fr) auto}
.meeting-action-create{grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) 150px minmax(220px,1fr) auto}
.meeting-action-row{grid-template-columns:minmax(180px,1.4fr) minmax(170px,1fr) 140px 150px auto}
.meeting-attendee-add{grid-template-columns:minmax(260px,1fr) auto auto;align-items:end}
.meeting-general-notes-field{width:100%;box-sizing:border-box}
@media(max-width:1100px){
  .meeting-agenda-item>form:first-child,.meeting-agenda-create,.meeting-action-create,.meeting-action-row{grid-template-columns:1fr 1fr}
  .meeting-agenda-item>form:first-child .row-actions,.meeting-action-row .row-actions,.meeting-agenda-create button,.meeting-action-create button{grid-column:1/-1}
}
@media(max-width:760px){
  .meeting-agenda-item>form:first-child,.meeting-agenda-create,.meeting-action-create,.meeting-action-row,.meeting-attachment-form,.meeting-attendee-add{grid-template-columns:1fr}
  .meeting-agenda-item>form:first-child .row-actions,.meeting-action-row .row-actions,.meeting-agenda-create button,.meeting-action-create button{grid-column:auto}
}

/* Increment 032: action workflow polish */
.meeting-action-create{grid-template-columns:minmax(180px,1.4fr) minmax(170px,1fr) 130px 150px minmax(220px,1fr) auto}
#team-action-dialog{width:min(820px,calc(100vw - 32px));max-width:820px}
@media(max-width:1100px){.meeting-action-create{grid-template-columns:1fr 1fr 1fr}.meeting-action-create button{grid-column:1/-1}}
@media(max-width:720px){.meeting-action-create{grid-template-columns:1fr}}

/* Increment 033: distinct action priority colors */
.status-pill.priority-urgent{background:#fde8e7;color:#a61b14;border:1px solid #f5b8b4}
.status-pill.priority-high{background:#fff1d6;color:#8a5700;border:1px solid #f2cf8e}
.status-pill.priority-normal{background:#e8f1ff;color:#175aa8;border:1px solid #bfd6f5}
.status-pill.priority-low{background:#edf1f5;color:#4b5563;border:1px solid #d6dde6}

/* Increment 034: employee performance snapshot foundation */
.performance-search{display:grid;gap:.4rem;margin:0 0 1rem}.performance-search input{width:100%}.performance-staff-list{display:grid;gap:.6rem}.performance-person-row{width:100%;display:grid;grid-template-columns:auto minmax(220px,1fr) repeat(4,minmax(72px,110px));align-items:center;gap:1rem;padding:.8rem 1rem;border:1px solid var(--border,#d8e1ec);border-radius:14px;background:#fff;text-align:left;color:inherit}.performance-person-row:hover{border-color:#7ebbf0;box-shadow:0 5px 16px rgba(19,54,88,.08)}.performance-person-main{display:grid;gap:.15rem}.performance-person-main small,.performance-row-metric small{color:var(--muted,#52677d)}.performance-row-metric{display:grid;text-align:center}.performance-row-metric strong{font-size:1.15rem}.danger-text strong{color:#b42318}.performance-dialog{width:min(940px,calc(100vw - 2rem));max-width:940px}.performance-snapshot{padding:.2rem}.performance-dialog .dialog-header{grid-template-columns:1fr auto auto;align-items:center}.snapshot-person-photo{width:92px;height:92px}.snapshot-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0}.snapshot-metrics article,.rate-card{display:grid;place-items:center;min-height:82px;padding:.8rem;border:1px solid var(--border,#d8e1ec);border-radius:12px;background:#f8fafc}.snapshot-metrics strong,.rate-card strong{font-size:1.55rem}.snapshot-metrics span,.rate-card span{color:var(--muted,#52677d)}.snapshot-metrics .metric-danger{border-color:#f3b7b1;background:#fff1f0}.snapshot-rate-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.rate-card{border:2px solid #24b45a;background:#e9fbef}.snapshot-bars{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;margin:1rem 0}.snapshot-bars div{display:grid;gap:.25rem}.snapshot-bars progress{width:100%;height:13px}.snapshot-actions{margin-top:1rem}.snapshot-explainer{color:var(--muted,#52677d);font-size:.92rem}.empty-state.compact{padding:1rem}.performance-overview{margin-bottom:1rem}
@media(max-width:900px){.performance-person-row{grid-template-columns:auto 1fr repeat(2,72px)}.performance-person-row .performance-row-metric:nth-last-child(-n+2){display:none}.snapshot-rate-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.performance-person-row{grid-template-columns:auto 1fr}.performance-row-metric{display:none!important}.snapshot-metrics{grid-template-columns:1fr 1fr}.snapshot-bars{grid-template-columns:1fr}.performance-dialog .dialog-header{grid-template-columns:1fr auto}.snapshot-person-photo{display:none}}
@media print{body:has(.performance-dialog.printing-snapshot) > *:not(.performance-dialog){display:none!important}.performance-dialog.printing-snapshot{position:static!important;display:block!important;width:100%!important;max-width:none!important;border:0!important;box-shadow:none!important}.performance-dialog.printing-snapshot::backdrop{display:none}.performance-dialog.printing-snapshot .no-print{display:none!important}.performance-dialog.printing-snapshot .snapshot-actions table{font-size:10pt}}

/* Increment 035: employee performance snapshot refinement */
.performance-dialog{padding:0;overflow:hidden}.performance-snapshot{padding:1.35rem 1.45rem 1.2rem}.performance-snapshot .dialog-header{margin:-.1rem -.1rem .25rem}.snapshot-metrics article small{margin-top:.2rem;color:var(--muted,#52677d);font-size:.76rem}.snapshot-actions .compact-heading{align-items:end;gap:1rem}.snapshot-action-search{min-width:min(280px,100%)}.snapshot-action-search input{width:100%}.snapshot-action-scroll{max-height:278px;overflow:auto;border:1px solid var(--border,#d8e1ec);border-radius:12px}.snapshot-action-scroll table{margin:0}.snapshot-action-scroll thead th{position:sticky;top:0;z-index:1;background:#f6f9fc}.heat-good{--heat:#1f9d55;--heat-bg:#e8f8ee;--heat-border:#72d49a}.heat-mild{--heat:#3b82f6;--heat-bg:#eaf2ff;--heat-border:#9bc0ff}.heat-watch{--heat:#d4a000;--heat-bg:#fff8dc;--heat-border:#efd46d}.heat-warning{--heat:#e67e22;--heat-bg:#fff1e6;--heat-border:#efb27a}.heat-danger{--heat:#c62828;--heat-bg:#fff0f0;--heat-border:#ef9b9b}.heat-workload-light{--heat:#1f9d55;--heat-bg:#e8f8ee;--heat-border:#72d49a}.heat-workload-normal{--heat:#3b82f6;--heat-bg:#eaf2ff;--heat-border:#9bc0ff}.heat-workload-heavy{--heat:#e67e22;--heat-bg:#fff1e6;--heat-border:#efb27a}.heat-workload-very-heavy{--heat:#c62828;--heat-bg:#fff0f0;--heat-border:#ef9b9b}.snapshot-metrics article[class*="heat-"],.rate-card[class*="heat-"]{background:var(--heat-bg);border-color:var(--heat-border)}.snapshot-metrics article[class*="heat-"] strong,.rate-card[class*="heat-"] strong{color:var(--heat)}.heat-progress{height:13px;background:#e4e9ef;border-radius:999px;overflow:hidden}.heat-progress>span{display:block;height:100%;background:var(--heat);border-radius:inherit}.snapshot-rate-grid .rate-card{border-width:1px}.snapshot-bars span{font-weight:600}.snapshot-actions tr[hidden]{display:none}
@media(max-width:620px){.performance-snapshot{padding:1rem}.snapshot-actions .compact-heading{align-items:stretch}.snapshot-action-search{min-width:0;width:100%}}
@media print{.performance-snapshot{padding:0!important}.snapshot-action-scroll{max-height:none!important;overflow:visible!important}.snapshot-action-search{display:none!important}}

/* Increment 036: performance snapshot spacing and reliable print presentation */
.performance-dialog{
    box-sizing:border-box;
    padding:.8rem;
}
.performance-dialog .performance-snapshot{
    box-sizing:border-box;
    width:100%;
    padding:1.45rem 1.55rem 1.35rem;
    border-radius:16px;
    overflow:hidden;
}
.performance-dialog .snapshot-actions{
    min-width:0;
}
.performance-dialog .snapshot-action-scroll{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
}
@media(max-width:620px){
    .performance-dialog{
        width:calc(100vw - 1rem);
        padding:.45rem;
    }
    .performance-dialog .performance-snapshot{
        padding:1rem;
    }
}

/* Increment 037: isolate performance JavaScript and strengthen modal edge spacing */
.performance-dialog{
    padding:1rem!important;
}
.performance-dialog .performance-snapshot{
    padding:1.6rem 1.7rem 1.45rem!important;
}
@media(max-width:620px){
    .performance-dialog{padding:.65rem!important;}
    .performance-dialog .performance-snapshot{padding:1.1rem!important;}
}

/* Increment 038: keep performance snapshot controls inside the viewport */
.performance-dialog{
    max-height:calc(100dvh - 2rem);
    overflow:auto!important;
    overscroll-behavior:contain;
}
.performance-dialog .performance-snapshot{
    min-height:0;
    padding-bottom:2rem!important;
}
.performance-dialog .form-actions{
    position:sticky;
    bottom:0;
    z-index:3;
    margin:1rem -1.7rem -1.45rem;
    padding:.85rem 1.7rem 1rem;
    background:linear-gradient(to bottom,rgba(255,255,255,.88),#fff 28%);
    border-top:1px solid var(--border,#d8e1ec);
}
@media(max-width:620px){
    .performance-dialog{
        max-height:calc(100dvh - .75rem);
    }
    .performance-dialog .performance-snapshot{
        padding-bottom:1.35rem!important;
    }
    .performance-dialog .form-actions{
        margin:.85rem -1.1rem -1.1rem;
        padding:.75rem 1.1rem .9rem;
        flex-wrap:wrap;
    }
}

/* Increment 039: responsive performance snapshot and collapsible actions */
.performance-dialog{
    width:min(760px,calc(100vw - 1.25rem))!important;
    max-width:760px!important;
    max-height:calc(100vh - 1.25rem)!important;
    margin:auto!important;
    padding:.55rem!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
}
.performance-dialog .performance-snapshot{
    display:flex;
    flex-direction:column;
    width:100%;
    max-height:calc(100vh - 2.35rem);
    overflow-y:auto;
    overflow-x:hidden;
    box-sizing:border-box;
    padding:1.15rem 1.2rem 0!important;
    border-radius:16px;
}
.performance-dialog .dialog-header{
    flex:0 0 auto;
    padding-bottom:.65rem;
    margin:0 0 .7rem!important;
    border-bottom:1px solid var(--border,#d8e1ec);
}
.performance-dialog .snapshot-person-photo{
    width:58px;
    height:58px;
}
.performance-dialog .snapshot-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
    margin:.3rem 0 .65rem;
}
.performance-dialog .snapshot-metrics article,
.performance-dialog .rate-card{
    min-height:68px;
    padding:.55rem .45rem;
}
.performance-dialog .snapshot-metrics strong,
.performance-dialog .rate-card strong{
    font-size:1.3rem;
}
.performance-dialog .snapshot-rate-grid{
    gap:.55rem;
}
.performance-dialog .snapshot-bars{
    gap:.5rem .8rem;
    margin:.65rem 0 .75rem;
}
.snapshot-actions-collapsible{
    margin-top:.45rem;
    border:1px solid var(--border,#d8e1ec);
    border-radius:12px;
    background:#fff;
    overflow:hidden;
}
.snapshot-actions-collapsible>summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.8rem .9rem;
    cursor:pointer;
    list-style:none;
    background:#f7f9fc;
}
.snapshot-actions-collapsible>summary::-webkit-details-marker{display:none}
.snapshot-actions-collapsible>summary span:first-child{display:grid;gap:.12rem}
.snapshot-actions-collapsible>summary strong{font-size:1rem}
.snapshot-actions-collapsible>summary small{color:var(--muted,#52677d)}
.snapshot-actions-toggle{font-size:1.1rem;transition:transform .18s ease}
.snapshot-actions-collapsible[open] .snapshot-actions-toggle{transform:rotate(180deg)}
.snapshot-actions-content{padding:.8rem}
.performance-dialog .snapshot-action-scroll{max-height:220px}
.performance-dialog .snapshot-explainer{
    margin:.75rem 0 .2rem;
}
.performance-dialog .form-actions{
    position:sticky;
    bottom:0;
    flex:0 0 auto;
    margin:.8rem -1.2rem 0!important;
    padding:.75rem 1.2rem calc(.75rem + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    border-top:1px solid var(--border,#d8e1ec);
    box-shadow:0 -8px 18px rgba(12,35,64,.06);
    z-index:5;
}
@media(max-height:760px){
    .performance-dialog .snapshot-person-photo{width:48px;height:48px}
    .performance-dialog .snapshot-metrics article,
    .performance-dialog .rate-card{min-height:58px;padding:.4rem}
    .performance-dialog .snapshot-bars{margin:.45rem 0 .55rem}
    .performance-dialog .snapshot-explainer{font-size:.82rem}
}
@media(max-width:620px){
    .performance-dialog{
        width:calc(100vw - .5rem)!important;
        max-height:calc(100vh - .5rem)!important;
        padding:.25rem!important;
    }
    .performance-dialog .performance-snapshot{
        max-height:calc(100vh - 1rem);
        padding:.85rem .85rem 0!important;
    }
    .performance-dialog .snapshot-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .performance-dialog .snapshot-rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .performance-dialog .form-actions{
        margin:.7rem -.85rem 0!important;
        padding:.65rem .85rem calc(.65rem + env(safe-area-inset-bottom))!important;
        justify-content:stretch;
    }
    .performance-dialog .form-actions .button{flex:1 1 auto;text-align:center}
}
@media print{
    .snapshot-actions-collapsible{display:block!important;border:0!important}
    .snapshot-actions-collapsible>summary{display:none!important}
    .snapshot-actions-content{display:block!important;padding:0!important}
}

/* Increment 040: performance reporting foundation */
.performance-report-summary{margin-bottom:1rem;grid-template-columns:repeat(6,minmax(135px,1fr))}.report-summary-card{font:inherit;text-align:left;cursor:pointer}.report-summary-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(19,54,88,.08)}.performance-report-panel{overflow:hidden}.report-result-count{display:grid;place-items:center;min-width:72px;padding:.55rem .75rem;border:1px solid var(--border,#d8e1ec);border-radius:12px;background:#f8fafc}.report-result-count strong{font-size:1.35rem}.report-result-count span{font-size:.75rem;color:var(--muted,#52677d)}.performance-report-filters{display:grid;grid-template-columns:2fr repeat(7,minmax(130px,1fr)) auto;gap:.65rem;align-items:end;margin:0 0 1rem}.performance-report-filters label{display:grid;gap:.3rem}.performance-report-filters label span{font-size:.78rem;font-weight:700;color:var(--muted,#52677d)}.performance-report-filters input,.performance-report-filters select{width:100%}.report-filter-wide{min-width:220px}.report-clear{white-space:nowrap}.performance-report-table-wrap{max-height:66vh}.performance-report-table tbody tr{cursor:pointer}.performance-report-table tbody tr:hover{background:#eef6fd}.report-person{display:flex;align-items:center;gap:.65rem;min-width:210px}.report-person>span:last-child{display:grid;gap:.1rem}.report-person small{color:var(--muted,#52677d)}.report-rate{display:inline-flex;min-width:54px;justify-content:center;padding:.3rem .45rem;border-radius:999px;background:var(--heat-bg);color:var(--heat);border:1px solid var(--heat-border);font-weight:800}.status-pill.workload-light{background:#e8f8ee;color:#197a45}.status-pill.workload-normal{background:#eaf2ff;color:#2367c9}.status-pill.workload-heavy{background:#fff1e6;color:#b65d13}.status-pill.workload-very-heavy{background:#fff0f0;color:#ad1f1f}.report-legend{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1rem;padding:.75rem 1rem;border:1px solid var(--border,#d8e1ec);border-radius:12px;background:#fff}.report-legend span{padding:.25rem .5rem;border-radius:999px;background:var(--heat-bg);color:var(--heat);border:1px solid var(--heat-border);font-size:.8rem;font-weight:700}
@media(max-width:1400px){.performance-report-summary{grid-template-columns:repeat(3,1fr)}.performance-report-filters{grid-template-columns:repeat(4,1fr)}.report-filter-wide{grid-column:span 2}}
@media(max-width:800px){.performance-report-summary{grid-template-columns:repeat(2,1fr)}.performance-report-filters{grid-template-columns:1fr 1fr}.report-filter-wide{grid-column:1/-1}.performance-report-table-wrap{max-height:none}}
@media(max-width:520px){.performance-report-summary,.performance-report-filters{grid-template-columns:1fr}.report-filter-wide{grid-column:auto}}
@media print{.performance-report-filters,.page-actions,.report-legend.no-print{display:none!important}.performance-report-table-wrap{max-height:none!important;overflow:visible!important}.performance-report-table{font-size:8.5pt}.performance-report-table th,.performance-report-table td{padding:.35rem}.performance-report-panel{border:0!important;box-shadow:none!important}.report-summary-card{box-shadow:none!important}.performance-report-table tbody tr[hidden]{display:none!important}}

/* Increment 041: configurable performance index */
.performance-index-card,.performance-index-outstanding,.performance-index-strong,.performance-index-watch,.performance-index-concern,.performance-index-insufficient{--index-bg:#f3f6f9;--index-fg:#52677d;--index-border:#d8e1ec;background:var(--index-bg)!important;color:var(--index-fg)!important;border-color:var(--index-border)!important}
.performance-index-outstanding{--index-bg:#e5f7ec;--index-fg:#176c3d;--index-border:#a9dfbd}
.performance-index-strong{--index-bg:#e9f2ff;--index-fg:#225fae;--index-border:#b8d2f5}
.performance-index-watch{--index-bg:#fff7db;--index-fg:#8a6200;--index-border:#ead38a}
.performance-index-concern{--index-bg:#fff0f0;--index-fg:#a52626;--index-border:#efb6b6}
.performance-index-insufficient{--index-bg:#f3f5f7;--index-fg:#667789;--index-border:#d7dfe7}
.performance-index-card strong,.performance-index-card span,.performance-index-card small{color:inherit!important}
.performance-person-row .performance-index-outstanding,.performance-person-row .performance-index-strong,.performance-person-row .performance-index-watch,.performance-person-row .performance-index-concern,.performance-person-row .performance-index-insufficient{border-radius:10px;padding:.35rem .5rem}
.settings-subsection{margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--border,#d8e1ec)}
.settings-subsection h3{margin:0 0 .25rem}
@media(max-width:900px){.performance-person-row{grid-template-columns:auto 1fr repeat(2,minmax(60px,auto))}.performance-person-row .performance-row-metric:nth-last-child(-n+3){display:none}}

/* Increment 042: performance reporting periods */
.performance-period-panel{padding:1rem 1.1rem;margin-bottom:.75rem}
.performance-period-form{display:grid;grid-template-columns:minmax(220px,1fr) repeat(2,minmax(145px,190px)) auto auto;gap:.75rem;align-items:end}
.performance-period-form>div{display:flex;flex-direction:column;gap:.2rem}
.performance-period-form>div span,.performance-period-form label span{font-size:.82rem;color:var(--muted-text,#667085)}
.performance-period-form label{display:flex;flex-direction:column;gap:.3rem}
.performance-period-caption{margin:.25rem 0 1rem;color:var(--muted-text,#667085);font-size:.9rem}
@media(max-width:900px){.performance-period-form{grid-template-columns:1fr 1fr}.performance-period-form>div{grid-column:1/-1}}
@media(max-width:560px){.performance-period-form{grid-template-columns:1fr}.performance-period-form>div{grid-column:auto}.performance-period-form .button{width:100%}}
@media print{.performance-period-caption{display:block;color:#111}.performance-period-panel{display:none!important}}

/* Increment 043: performance period comparison */
.performance-compare-toggle{display:flex;align-items:center;gap:.5rem;min-width:15rem}.performance-compare-toggle input{width:auto;margin:0}.comparison-period-label{display:inline-block;margin-left:.55rem;padding:.18rem .48rem;border-radius:999px;background:var(--surface-muted,#eef2f7);font-size:.82rem;font-weight:600}.metric-trend{display:block;margin-top:.3rem;font-size:.78rem;font-weight:700}.trend-up{color:#18764b}.trend-down{color:#b42318}.trend-flat{color:#667085}.performance-trend{display:inline-flex;align-items:center;gap:.3rem;font-weight:700}.performance-trend::before{font-size:.9em}.performance-trend-improving{color:#18764b}.performance-trend-improving::before{content:'▲'}.performance-trend-declining{color:#b42318}.performance-trend-declining::before{content:'▼'}.performance-trend-steady{color:#667085}.performance-trend-steady::before{content:'●'}.performance-trend-new-data{color:#175cd3}.performance-trend-new-data::before{content:'◆'}.performance-trend-insufficient{color:#667085}.performance-trend-insufficient::before{content:'—'}
@media (max-width:800px){.performance-compare-toggle{min-width:100%}}

/* Increment 052: bulk people photo management */
.photo-import-metrics{grid-template-columns:repeat(5,minmax(120px,1fr));margin-bottom:1.25rem}
.photo-import-legend{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.photo-import-row.photo-import-new td{background:rgba(35,145,92,.07)}
.photo-import-row.photo-import-replace td{background:rgba(218,150,24,.09)}
.photo-import-row.photo-import-unmatched td{background:rgba(100,116,139,.07)}
.photo-import-row.photo-import-error td{background:rgba(190,45,45,.07)}
@media(max-width:900px){.photo-import-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Increment 053: student workspace */
.student-workspace-hero{display:flex;align-items:center;gap:1.1rem;padding:1rem 1.15rem}.student-workspace-photo{width:88px;height:88px;flex:0 0 88px;font-size:1.7rem}.student-workspace-identity{min-width:0;flex:1}.student-workspace-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.65rem}.student-workspace-title h2{margin:0}.student-workspace-facts{display:flex;flex-wrap:wrap;gap:.55rem 1.35rem}.student-workspace-facts>span{display:flex;flex-direction:column;min-width:90px}.student-workspace-facts small{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-text,#5f6b7a);font-weight:700}.student-workspace-facts strong{font-size:.94rem;line-height:1.35;overflow-wrap:anywhere}.student-workspace-email{min-width:220px!important}.student-workspace-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:.85rem 0}.metric-card{display:flex;flex-direction:column;gap:.18rem;padding:.85rem 1rem;min-height:105px}.metric-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.055em;color:var(--muted-text,#5f6b7a);font-weight:700}.metric-card>strong{font-size:1.55rem;line-height:1.12}.metric-card>small{color:var(--muted-text,#5f6b7a);font-size:.78rem;line-height:1.3}.student-workspace-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:1rem}.student-group-chips{display:flex;flex-wrap:wrap;gap:.75rem}.student-group-chip{display:flex;flex-direction:column;gap:.15rem;border:1px solid var(--border-color,#d9dee7);border-radius:.65rem;padding:.65rem .8rem;min-width:180px}.student-group-chip small{color:var(--muted-text,#5f6b7a)}.is-muted{opacity:.58}
@media(max-width:1200px){.student-workspace-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.student-workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-workspace-grid{grid-template-columns:1fr}}
@media(max-width:560px){.student-workspace-hero{align-items:flex-start;padding:.9rem}.student-workspace-photo{width:72px;height:72px;flex-basis:72px}.student-workspace-facts{gap:.5rem 1rem}.student-workspace-facts>span{min-width:72px}.student-workspace-email{min-width:100%!important}.student-workspace-metrics{grid-template-columns:1fr 1fr;gap:.6rem}.metric-card{padding:.75rem;min-height:98px}.metric-card>strong{font-size:1.35rem}}

/* Increment 053 Patch 2: Student Workspace Hall Pass visibility */
.student-pass-panel{margin-bottom:1rem}
.student-pass-table-wrap{width:100%;overflow:visible}
.student-pass-table{width:100%;table-layout:fixed}
.student-pass-table th:nth-child(1){width:23%}
.student-pass-table th:nth-child(2){width:20%}
.student-pass-table th:nth-child(3){width:24%}
.student-pass-table th:nth-child(4){width:16%}
.student-pass-table th:nth-child(5){width:17%}
.student-pass-table th,.student-pass-table td{white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){.student-pass-table-wrap{overflow-x:auto}.student-pass-table{min-width:680px;table-layout:auto}}

/* Increment 053 Patch 3: searchable five-row student history tables */
.student-history-toolbar{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:.8rem 0}.student-history-toolbar label{display:flex;flex-direction:column;gap:.28rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-text,#5f6b7a)}.student-history-toolbar input,.student-history-toolbar select{min-width:210px;text-transform:none;letter-spacing:normal}.student-history-toolbar .record-count{margin-left:auto;align-self:center}.student-history-scroll{max-height:306px;overflow-y:auto;overflow-x:auto;border:1px solid var(--border-color,#d9dee7);border-radius:.55rem}.student-history-scroll .data-table{margin:0;min-width:680px}.student-history-scroll .data-table thead th{position:sticky;top:0;z-index:2;background:var(--panel-bg,#fff)}.student-history-scroll .data-table tbody tr{height:52px}.student-history-scroll .data-table tbody tr[hidden]{display:none}.student-pass-table-wrap{width:100%;overflow:visible}
@media(max-width:700px){.student-history-toolbar{align-items:stretch}.student-history-toolbar label,.student-history-toolbar input,.student-history-toolbar select{width:100%;min-width:0}.student-history-toolbar .record-count{margin-left:0}.student-history-scroll{max-height:306px}.student-history-scroll .data-table{min-width:680px}}

/* Increment 053 Patch 4: ranked student metrics */
.student-workspace-metrics .ranked-metric{position:relative;overflow:hidden;min-height:148px;border-color:var(--border-color,#d9dee7);transition:transform .15s ease,box-shadow .15s ease}
.student-workspace-metrics .ranked-metric:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,35,65,.08)}
.student-workspace-metrics .ranked-metric::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--metric-accent,#94a3b8)}
.student-workspace-metrics .metric-heat-excellent{--metric-accent:#15803d;background:linear-gradient(145deg,#ffffff 12%,#eaf8ef 100%)}
.student-workspace-metrics .metric-heat-good{--metric-accent:#65a30d;background:linear-gradient(145deg,#ffffff 12%,#f2f8e8 100%)}
.student-workspace-metrics .metric-heat-neutral{--metric-accent:#64748b;background:linear-gradient(145deg,#ffffff 12%,#f4f6f8 100%)}
.student-workspace-metrics .metric-heat-warning{--metric-accent:#d97706;background:linear-gradient(145deg,#ffffff 12%,#fff6df 100%)}
.student-workspace-metrics .metric-heat-danger{--metric-accent:#dc2626;background:linear-gradient(145deg,#ffffff 12%,#fff0f0 100%)}
.student-workspace-metrics .metric-rank{display:flex;flex-direction:column;gap:.04rem;margin-top:.12rem;color:var(--text-color,#12213a)}
.student-workspace-metrics .metric-rank b{font-size:.82rem;color:var(--metric-accent,#334155)}
.student-workspace-metrics .metric-rank span{font-size:.74rem;color:var(--muted-text,#5f6b7a)}
.student-workspace-metrics .metric-trend{display:block;margin-top:auto;padding-top:.26rem;border-top:1px solid rgba(100,116,139,.18);font-size:.72rem;font-weight:700}
.student-workspace-metrics .trend-good{color:#166534}.student-workspace-metrics .trend-bad{color:#b42318}.student-workspace-metrics .trend-flat{color:#64748b}
@media(max-width:1200px){.student-workspace-metrics .ranked-metric{min-height:138px}}
@media(max-width:560px){.student-workspace-metrics .ranked-metric{min-height:142px}.student-workspace-metrics .metric-rank b{font-size:.77rem}.student-workspace-metrics .metric-trend{font-size:.68rem}}
