@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap");
:root{
  --red:#e80f34;
  --blue:#2db1ff;
  --black:#000000;
  --white:#ffffff;
  --bg:#000000;
  --panel:#111111;
  --panel2:#181818;
  --text:#ffffff;
  --muted:#d6d6d6;
  --border:#333333;
  --accent:#2db1ff;
  --danger:#e80f34;
}


:root{
  --red:#e80f34;
  --blue:#2db1ff;
  --black:#000000;
  --white:#ffffff;
  --bg:#000000;
  --panel:#111111;
  --panel2:#181818;
  --text:#ffffff;
  --muted:#d6d6d6;
  --border:#333333;
  --accent:#2db1ff;
  --danger:#e80f34;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{background:#0e1117;color:#fff;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px #0003}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:46px;height:46px;border-radius:10px;background:var(--red);display:grid;place-items:center;font-weight:900}
.brand strong{display:block;font-size:18px}
.brand span{display:block;font-size:12px;color:#aab2c0;margin-top:2px}
nav{display:flex;gap:7px;flex-wrap:wrap}
.nav-btn{border:0;border-radius:8px;padding:9px 13px;background:#242a34;color:#dfe5ee;cursor:pointer;font-weight:700}
.nav-btn:hover,.nav-btn.active{background:var(--red);color:white}
main{max-width:1500px;margin:auto;padding:28px}
.hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-size:12px;font-weight:900}
h1{margin:4px 0;font-size:30px}
.subtitle{color:var(--muted);font-size:14px}
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(6,1fr);margin-bottom:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 3px 14px #1118270b}
.kpi .label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase}
.kpi .value{font-size:27px;font-weight:900;margin-top:8px}
.kpi .note{font-size:11px;color:var(--muted);margin-top:4px}
.team-grid{grid-template-columns:repeat(3,1fr);margin-bottom:18px}
.team-card{position:relative;overflow:hidden}
.team-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--red)}
.team-number{font-size:12px;color:var(--muted);font-weight:800}
.team-name{font-size:21px;font-weight:900;margin:3px 0 14px}
.status-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.status-row:last-child{border-bottom:0}
.pill{font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;background:#eef2f7}
.good{color:var(--green)}.warn{color:var(--yellow)}.bad{color:var(--red)}
.progress{height:9px;background:#edf0f4;border-radius:999px;overflow:hidden;margin:8px 0}
.progress span{display:block;height:100%;background:var(--blue);border-radius:999px}
.view-team{width:100%;margin-top:14px;border:0;background:var(--dark);color:#fff;padding:10px;border-radius:8px;font-weight:800;cursor:pointer}
.two-col{grid-template-columns:1.3fr .7fr;margin-bottom:18px}
.section-title{font-size:16px;font-weight:900;margin:0 0 12px}
.attention{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
.attention:last-child{border:0}
.dot{width:9px;height:9px;border-radius:50%;background:var(--red);margin-top:5px;flex:none}
.attention b{display:block;font-size:13px}
.attention span{font-size:12px;color:var(--muted)}
.timeline{display:flex;align-items:center;margin-top:22px}
.phase{flex:1;text-align:center;position:relative;font-size:11px;color:var(--muted)}
.phase:before{content:"";display:block;height:6px;background:#dfe4ea;margin-bottom:10px}
.phase.done:before{background:var(--red)}
.phase.current:before{background:var(--blue)}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;padding:10px;border-bottom:2px solid var(--line)}
td{padding:11px 10px;border-bottom:1px solid var(--line)}
.readiness{grid-template-columns:repeat(6,1fr);margin-bottom:18px}
.readiness .card{padding:14px}
.readiness strong{font-size:12px;display:block}
.readiness .pct{font-size:22px;font-weight:900;margin-top:8px}
.robot-grid{grid-template-columns:1fr 1fr;margin-bottom:18px}
.robot-item{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}
.metric-grid{grid-template-columns:repeat(3,1fr)}
.metric{text-align:center;padding:15px;background:#f8fafc;border-radius:10px}
.metric strong{display:block;font-size:22px}.metric span{font-size:11px;color:var(--muted)}
.budgetbar{display:flex;height:18px;border-radius:999px;overflow:hidden;background:#eee;margin:12px 0}
.budgetbar .spent{background:var(--red)}.budgetbar .committed{background:var(--yellow)}
.legend{display:flex;gap:18px;font-size:11px;color:var(--muted)}
footer{max-width:1500px;margin:0 auto;padding:0 28px 28px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between}
@media(max-width:1000px){.kpis,.readiness{grid-template-columns:repeat(3,1fr)}.team-grid{grid-template-columns:1fr}.two-col,.robot-grid{grid-template-columns:1fr}}
@media(max-width:650px){.topbar,.hero{align-items:flex-start;flex-direction:column}.kpis,.readiness,.metric-grid{grid-template-columns:repeat(2,1fr)}main{padding:18px}.brand span{display:none}}

.edit-actions{display:flex;gap:8px;flex-wrap:wrap}
.edit-btn,.save-btn,.cancel-btn,.add-btn{border:0;border-radius:8px;padding:10px 14px;font-weight:800;cursor:pointer}
.edit-btn{background:#111827;color:white}.save-btn{background:#22a06b;color:white}.cancel-btn{background:#e5e7eb;color:#111827}.add-btn{background:#eef2f7;color:#111827}
.edit-field{width:100%;padding:8px 9px;border:1px solid #cfd6df;border-radius:7px;font:inherit;background:#fff}
.edit-number{max-width:110px}
.edit-row{display:grid;grid-template-columns:1fr 150px 90px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}
.edit-row:last-child{border-bottom:0}
.edit-list-row{display:grid;grid-template-columns:1fr 180px auto;gap:8px;margin-bottom:8px}
.remove-btn{border:0;background:#feecee;color:#b42318;border-radius:7px;padding:7px 10px;cursor:pointer;font-weight:800}
.save-note{font-size:12px;color:var(--muted);margin-top:8px}
@media(max-width:650px){.edit-row,.edit-list-row{grid-template-columns:1fr}.edit-number{max-width:none}}

.auth-box{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.auth-user{font-size:12px;color:#dfe5ee}
.auth-btn{border:0;border-radius:8px;padding:9px 12px;background:#fff;color:#111827;font-weight:800;cursor:pointer}
.auth-btn.signout{background:#242a34;color:#fff;border:1px solid #46505e}
.auth-msg{font-size:12px;color:var(--muted);margin-top:6px}

/* SFROBOTICS official palette */
body{background:var(--black);color:var(--white)}
.topbar{background:var(--black);border-bottom:3px solid var(--red)}
.nav-btn{background:var(--black);color:var(--white);border-color:#333}
.nav-btn:hover{border-color:var(--blue)}
.nav-btn.active{background:var(--blue);color:var(--black);border-color:var(--blue)}
.card,.panel,.metric-card,.team-card{background:#111;color:var(--white);border-color:#333}
.edit-btn,.save-btn{background:var(--blue);color:var(--black)}
.cancel-btn,.danger-btn{background:var(--red);color:var(--white)}
.auth-btn{background:var(--white);color:var(--black)}
.auth-btn.signout{background:var(--red);color:var(--white);border-color:var(--red)}
a{color:var(--blue)}
input,select,textarea{background:var(--black);color:var(--white);border-color:#555}

/* SFROBOTICS light dashboard + semantic progress colors */
:root{
  --red:#e80f34;
  --blue:#2db1ff;
  --black:#000000;
  --white:#ffffff;
  --green:#22a447;
  --yellow:#f4c430;
  --status-red:#e80f34;
  --bg:#ffffff;
  --panel:#ffffff;
  --panel2:#f5f7fa;
  --text:#000000;
  --muted:#606873;
  --border:#d9dee5;
  --accent:#2db1ff;
  --danger:#e80f34;
}
html,body{background:#fff;color:#000}
body{background:#fff;color:#000}
.topbar{background:#fff;color:#000;border-bottom:4px solid var(--red)}
.topbar h1,.topbar h2,.topbar .brand{color:#000}
.nav-btn{background:#fff;color:#000;border-color:#d9dee5}
.nav-btn:hover{background:#f3f9ff;border-color:var(--blue)}
.nav-btn.active{background:var(--blue);color:#000;border-color:var(--blue)}
.card,.panel,.metric-card,.team-card{background:#fff;color:#000;border-color:#d9dee5;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.card h1,.card h2,.card h3,.panel h1,.panel h2,.panel h3,.metric-card h3,.team-card h3{color:#000}
.muted,.sub,.subtitle,.auth-msg{color:#606873}
.edit-btn,.save-btn{background:var(--blue);color:#000}
.cancel-btn,.danger-btn{background:var(--red);color:#fff}
.auth-btn{background:#000;color:#fff}
.auth-btn.signout{background:var(--red);color:#fff;border-color:var(--red)}
.auth-user{color:#000}
input,select,textarea{background:#fff;color:#000;border-color:#aeb6c0}
a{color:#006fae}

/* Semantic status colors */
.status-operational,.status-complete,.status-ready,.status-active,.status-green{
  background:var(--green)!important;color:#fff!important;border-color:var(--green)!important
}
.status-building,.status-prototyping,.status-testing,.status-progress,.status-yellow{
  background:var(--yellow)!important;color:#000!important;border-color:var(--yellow)!important
}
.status-critical,.status-blocked,.status-not-ready,.status-red{
  background:var(--status-red)!important;color:#fff!important;border-color:var(--status-red)!important
}
.status-planning,.status-not-started,.status-neutral{
  background:#e9edf2!important;color:#000!important;border-color:#cfd5dc!important
}

.dates-panel{margin-top:22px}.dates-list{display:grid;gap:10px}.date-row{display:grid;grid-template-columns:115px 1fr;gap:16px;align-items:start;padding:13px;border:1px solid #d9dee5;border-radius:12px;background:#fff}.date-badge{font-weight:900;background:#2db1ff;color:#000;border-radius:9px;padding:10px;text-align:center}.date-copy strong{font-size:16px}.date-copy div{margin-top:4px;font-size:14px;font-weight:700}.date-copy small{display:block;margin-top:5px;color:#606873;line-height:1.35}

.data-status{max-width:1500px;margin:10px auto 0;padding:0 24px;font-size:12px;font-weight:800;color:#606873}
pre{white-space:pre-wrap}

/* Rich dashboard/editor */
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}
.section-title{margin:0 0 4px}.count-badge{background:#2db1ff;color:#000;border-radius:999px;padding:6px 10px;font-weight:900}
.empty-state{padding:22px;border:1px dashed #c9d0d8;border-radius:12px;background:#fafbfc;color:#69727d;text-align:center}
.readiness-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}
.readiness-line{border:1px solid #e0e4e9;border-radius:12px;padding:13px}.readiness-line>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px}
.budget-big{font-size:38px;font-weight:900;margin-top:14px}.budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.budget-grid div{background:#f5f7fa;border-radius:12px;padding:14px}.budget-grid b,.budget-grid span{display:block}.budget-grid span{font-size:12px;color:#69727d;margin-top:4px}
.system-list{display:grid;gap:9px}.status-chip{border-radius:999px;padding:6px 10px;font-size:12px}
.editor-card{margin-bottom:18px}.editor-card h2{margin-top:0}.editor-title{display:flex;justify-content:space-between}.editor-title p{margin:5px 0 16px;color:#69727d}
.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-field span{display:block;font-size:13px;font-weight:900;margin-bottom:7px}.form-field small{display:block;color:#69727d;margin-top:5px}
.form-field input,.form-field select,.editor-row input,.editor-row select{width:100%;min-height:44px;border:1px solid #aeb6c0;border-radius:9px;padding:9px 11px;background:#fff;color:#000;font:inherit}
.editor-rows{display:grid;gap:9px}.editor-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr) 42px;gap:9px;align-items:center}
.remove-row{height:42px;border:0;border-radius:9px;background:#ffe5e9;color:#b90024;font-size:23px;font-weight:900;cursor:pointer}.add-row{margin-top:12px;border:2px dashed #2db1ff;background:#f5fbff;border-radius:10px;padding:10px 14px;font-weight:900;cursor:pointer}
.sticky-save{position:sticky;bottom:14px;display:flex;gap:10px;justify-content:flex-end;background:rgba(255,255,255,.96);border:1px solid #d9dee5;box-shadow:0 5px 20px rgba(0,0,0,.12);border-radius:14px;padding:12px;z-index:20}
@media(max-width:900px){.form-grid,.readiness-detail{grid-template-columns:1fr}.editor-row{grid-template-columns:1fr 1fr 42px}.budget-grid{grid-template-columns:1fr}}

/* SFROBOTICS Project Manager */
.primary-btn{background:#e80f34;color:#fff;border:0;border-radius:10px;padding:11px 16px;font-weight:900;cursor:pointer}.pm-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}.pm-tab{border:1px solid #cfd5dc;background:#fff;padding:10px 15px;border-radius:999px;font-weight:800;cursor:pointer}.pm-tab.active{background:#111;color:#fff;border-color:#111}.task-card{overflow:hidden}.filterbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;margin:15px 0}.filterbar input,.filterbar select{min-height:42px;border:1px solid #c9d0d8;border-radius:9px;padding:8px 10px;background:#fff}.task-head,.task-row{display:grid;grid-template-columns:minmax(260px,2.5fr) 110px 130px 110px 120px 55px;gap:10px;align-items:center}.task-head{padding:10px 12px;font-size:11px;font-weight:900;text-transform:uppercase;color:#6b7280;border-bottom:2px solid #111}.task-row{padding:12px;border-bottom:1px solid #e6e9ed}.task-row:hover{background:#fafbfc}.task-row.done{opacity:.58}.task-main strong,.task-main span{display:block}.task-main span{font-size:12px;color:#6b7280;margin-top:3px}.pill{display:inline-block;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;background:#eef1f4}.priority-critical{background:#ffe0e6;color:#b00020}.priority-high{background:#fff0d0}.row-edit{border:1px solid #c9d0d8;background:#fff;border-radius:8px;padding:6px 9px;font-weight:800;cursor:pointer}.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.record-card{border:1px solid #dce1e6;border-radius:13px;padding:15px}.record-top{display:flex;justify-content:space-between;gap:10px}.record-card p{min-height:38px;color:#59616b}.record-card small{display:block;margin-bottom:10px}.test-table{display:grid}.test-head,.test-row{display:grid;grid-template-columns:100px 1.3fr 1fr 1fr 2fr 55px;gap:10px;padding:11px;border-bottom:1px solid #e3e7eb;align-items:center}.test-head{font-size:11px;text-transform:uppercase}.checklist{display:grid;gap:8px;margin-top:18px}.check-row{display:grid;grid-template-columns:28px 1fr 55px;gap:10px;align-items:center;border:1px solid #e0e4e8;border-radius:11px;padding:12px}.check-row input{width:20px;height:20px}.check-row strong,.check-row span{display:block}.check-row span{font-size:12px;color:#69727d;margin-top:3px}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:1000;padding:20px}.modal{background:#fff;width:min(850px,96vw);max-height:90vh;overflow:auto;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.modal-head,.modal-actions{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e3e6ea}.modal-head h2{margin:0}.modal-head button{font-size:28px;border:0;background:none;cursor:pointer}.modal-body{padding:20px}.modal-actions{justify-content:flex-end;gap:10px;border-top:1px solid #e3e6ea;border-bottom:0}.pm-hero{margin-bottom:12px}@media(max-width:1000px){.filterbar{grid-template-columns:1fr 1fr}.task-head{display:none}.task-row{grid-template-columns:1fr 1fr}.record-grid{grid-template-columns:1fr}.test-head{display:none}.test-row{grid-template-columns:1fr 1fr}}

.brand{display:flex;align-items:center;gap:12px}.brand-copy{display:flex;flex-direction:column}.brand-copy span{font-size:11px;letter-spacing:.08em}
.budget-actions{display:flex;gap:8px}.secondary-btn{border:1px solid #aeb6c0;background:#fff;border-radius:9px;padding:10px 14px;font-weight:800;cursor:pointer}
.budget-table{display:grid;gap:0;margin-top:12px}.budget-head,.budget-row{display:grid;grid-template-columns:minmax(180px,2fr) 1.2fr 1.1fr 1fr .8fr 55px;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e4e8ed}.budget-head{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#68727e;background:#f7f9fb;border-radius:10px 10px 0 0}.budget-row small{display:block;color:#68727e;margin-top:4px}.modal-note{color:#68727e}
@media(max-width:900px){.brand-copy{display:none}.budget-head{display:none}.budget-row{grid-template-columns:1fr 1fr}.budget-row>*:last-child{justify-self:end}}

.attendance-table{display:grid;margin-top:12px}.attendance-head,.attendance-row{display:grid;grid-template-columns:1fr 1.6fr .7fr .7fr .8fr 55px;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e4e8ed}.attendance-head{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#68727e;background:#f7f9fb;border-radius:10px 10px 0 0}
@media(max-width:900px){.attendance-head{display:none}.attendance-row{grid-template-columns:1fr 1fr}}

html,body,button,input,select,textarea{font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif}
.sf-wordmark{font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif;font-weight:600;letter-spacing:-.035em;white-space:nowrap}
.sf-wordmark .sf{color:#e80f34}
.sf-wordmark .robot{color:#2db1ff;font-weight:800}
.sf-wordmark .ics{color:#2db1ff;font-weight:600}

/* Navigation refinements */
.brand{min-width:245px}
.brand-copy{display:flex;flex-direction:column;min-width:220px}
.brand-copy strong,.brand-copy .sf-wordmark{display:block;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.topbar .brand .sf-wordmark{font-size:22px;line-height:1}
.nav-btn,.nav-btn:link,.nav-btn:visited{font:inherit;font-size:13px;font-weight:600;text-decoration:none!important}
.nav-btn.active,.pm-tab.active{background:#eceff2!important;color:#111!important;border-color:#d7dce1!important;box-shadow:none!important}
.tv-link{text-decoration:none!important;font-size:13px!important}
/* Header wordmark — intentionally one line */
.topbar .brand{display:flex;align-items:center;flex:0 0 auto;min-width:250px}
.topbar .brand-copy{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center;min-width:250px;line-height:1}
.topbar .header-wordmark{display:block!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif;font-size:24pt;font-weight:600;line-height:1.05;letter-spacing:-.035em}
.topbar .header-wordmark span{display:inline!important;white-space:nowrap!important}
.topbar .header-wordmark .sf{color:#e80f34}
.topbar .header-wordmark .robot{color:#2db1ff;font-weight:800}
.topbar .header-wordmark .ics{color:#2db1ff;font-weight:600}
.topbar .header-season{display:block!important;white-space:nowrap!important;margin-top:5px;font-size:10px;font-weight:500;line-height:1.2;color:#68727e;letter-spacing:0}

/* Final header typography */
.topbar .header-wordmark{font-size:24pt!important}
.topbar .header-season{font-size:14pt!important}
.topbar nav .nav-btn,
.topbar nav .nav-btn:link,
.topbar nav .nav-btn:visited,
.topbar nav .tv-link,
.topbar nav .date-row{grid-template-columns:auto 1fr auto;align-items:center}
.danger-zone{margin-top:18px;padding-top:14px;border-top:1px solid #e5e7eb}
.delete-btn{border:1px solid #d8a0a0;background:#fff;color:#a51d1d;border-radius:8px;padding:9px 12px;font:inherit;font-weight:700;cursor:pointer}

/* === SFROBOTICS HEADER SPECIFICATION ===
   Wordmark: 24pt
   Season/subtitle: 14pt
   Menu: 14pt
   Typeface: Be Vietnam Pro
*/
html,body,button,input,select,textarea{
  font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif!important;
}
.topbar .brand-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-width:265px!important;
}
.topbar .header-wordmark{
  display:block!important;
  font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif!important;
  font-size:24pt!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:-0.035em!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.topbar .header-wordmark span{
  display:inline!important;
  white-space:nowrap!important;
}
.topbar .header-wordmark .sf{
  color:#e80f34!important;
  font-weight:600!important;
}
.topbar .header-wordmark .robot{
  color:#2db1ff!important;
  font-weight:800!important;
}
.topbar .header-wordmark .ics{
  color:#2db1ff!important;
  font-weight:600!important;
}
.topbar .header-season{
  display:block!important;
  margin-top:5px!important;
  font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif!important;
  font-size:14pt!important;
  line-height:1.15!important;
  font-weight:500!important;
  white-space:nowrap!important;
}
.topbar nav .nav-btn,
.topbar nav .nav-btn:link,
.topbar nav .nav-btn:visited,
.topbar nav .tv-link,
.topbar nav .workflow-tabs{display:flex;flex-wrap:wrap;gap:7px}
.simple-records{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.record-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #e3e6e8;border-radius:10px;background:#fff}
.record-row small{display:block;color:#68727e;margin-top:4px}
.form-check{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:13px;font-weight:600}

.date-team-field{margin-top:14px}
.date-team-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}
.team-date-option{display:flex;align-items:center;gap:7px;border:1px solid #d7dce2;border-radius:9px;padding:8px 10px;background:#f7f9fb;cursor:pointer}
.team-date-option input{width:auto}
.date-team-field small{display:block;color:#68727e;margin-top:6px}
.date-team-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.date-team-badges span{font-size:9px;font-weight:800;background:#e9edf2;border-radius:999px;padding:3px 7px}

.v3-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.v3-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.v3-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.v3-columns>div,.portfolio-group{border:1px solid #e1e5ea;border-radius:12px;padding:13px;background:#fff}.v3-columns h3,.portfolio-group h3{margin:0 0 8px}.v3-record{border-top:1px solid #edf0f3;padding:8px 0}.v3-record b,.v3-record small{display:block}.v3-record small{color:#68727e;margin-top:3px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.portfolio-group h3{display:flex;justify-content:space-between}.portfolio-group h3 span{background:#e9edf2;border-radius:999px;padding:2px 7px}.portfolio-check{display:block;margin-top:12px;padding:10px;border:1px solid #d8dde3;border-radius:9px;background:#f8fafb}@media(max-width:1100px){.v3-columns,.portfolio-grid{grid-template-columns:1fr}.v3-summary{grid-template-columns:repeat(2,1fr)}}

.dashboard-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}


.section-guide{margin:0 0 16px;padding:12px 14px;background:#f6f8fa;border-left:4px solid #2db1ff;border-radius:0 10px 10px 0;color:#4d5966;font-size:13px;line-height:1.45}
.section-guide b{color:#202830}
.guide-think{margin-top:5px}
.guide-starters{margin-top:8px}
.starter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.starter-chips span{display:inline-block;background:#fff;border:1px solid #d9dee4;border-radius:999px;padding:4px 9px;font-size:11px;color:#4d5966}

.team-members-panel{margin:14px 0 16px;border:1px solid #e1e5ea;border-radius:12px;padding:14px;background:#fff}.team-members-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.team-members-head h3{margin:0}.team-members-head small{color:#68727e}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.member-card{border:1px solid #e1e5ea;border-radius:10px;padding:10px;background:#f8fafb;min-width:0}.member-name{font-weight:900;font-size:14px}.member-name>span{font-weight:700;font-size:10px;color:#68727e;margin-left:5px}.member-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.member-roles span{font-size:9px;font-weight:700;background:#fff;border:1px solid #d9dee4;border-radius:999px;padding:3px 6px}.member-card>small{display:block;margin-top:7px;color:#68727e}@media(max-width:1100px){.member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.attendance-roster-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0 8px}.attendance-roster-head>div{display:flex;gap:6px}.mini-btn{border:1px solid #d9dee4;background:#fff;border-radius:7px;padding:6px 9px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.attendance-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:330px;overflow:auto;padding:2px}.attendance-student{display:flex;align-items:center;gap:9px;border:1px solid #e1e5ea;background:#f8fafb;border-radius:9px;padding:9px;cursor:pointer}.attendance-student input{width:18px;height:18px}.attendance-student span{display:flex;flex-direction:column}.attendance-student small{color:#68727e}.attendance-count{margin:9px 0 13px;font-weight:800;color:#303943}.member-attendance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.member-attendance-card{display:grid;grid-template-columns:1fr auto;gap:2px 8px;border:1px solid #e1e5ea;border-radius:9px;padding:9px;background:#f8fafb}.member-attendance-card>span,.member-attendance-card>small{font-size:10px;color:#68727e}.member-attendance-card>b{grid-column:2;grid-row:1/3;align-self:center;font-size:18px}.member-attendance-card>small{grid-column:1/3}@media(max-width:1000px){.member-attendance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.role-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.role-summary span{border:1px solid #e1e5ea;border-radius:999px;padding:6px 9px;background:#f8fafb;font-size:11px}.portfolio-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portfolio-progress-card{border:1px solid #e1e5ea;border-radius:10px;padding:11px}.portfolio-progress-card h3{margin:0 0 8px}.portfolio-progress-card h3 span{float:right;font-size:10px;color:#68727e}.portfolio-progress-card>div{display:flex;justify-content:space-between;padding:3px 0;border-top:1px solid #eef1f3;font-size:11px}.codemke-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.codemke-program-card>div{display:flex;justify-content:space-between;border-top:1px solid #eef1f3;padding:5px 0;font-size:11px}.outreach-record{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:11px 0;border-bottom:1px solid #e7eaee}.outreach-record small{display:block;color:#68727e;margin-top:2px}.outreach-record p{grid-column:1/3;margin:2px 0 0;font-size:11px}.outreach-metrics{display:flex;align-items:center;gap:7px;font-size:10px}.outreach-metrics span{background:#f6f8fa;border-radius:999px;padding:4px 7px}.outreach-students{max-height:260px;overflow:auto;border:1px solid #e1e5ea;border-radius:9px;padding:9px}.outreach-team-students{margin-bottom:10px}.outreach-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:5px}.outreach-student-grid label{font-size:11px}@media(max-width:1000px){.portfolio-progress-grid,.codemke-program-grid{grid-template-columns:1fr}.outreach-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.codemke-tabs{margin:0 0 16px}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.partner-card{border:1px solid #e1e5ea;border-radius:10px;padding:12px;background:#fff}.partner-card>div:first-child{display:flex;justify-content:space-between;gap:8px}.partner-card h3{margin:0}.partner-card p{font-size:11px;color:#505a65}.partner-card small{color:#737c86}.partner-stats{display:flex;gap:7px;margin:10px 0;font-size:10px}.partner-stats b{font-size:13px}.outreach-record{align-items:start}@media(max-width:1000px){.partner-grid{grid-template-columns:1fr}}

.modal-error{min-height:18px;margin:0 20px;color:#b42318;font-size:11px;font-weight:700}#modalSave:disabled{opacity:.65;cursor:wait}

.partner-affiliation{margin:14px 0;padding:12px;border:1px solid #e1e5ea;border-radius:10px;background:#f8fafb}.partner-affiliation h3{margin:0 0 2px}.partner-first-option{display:flex;align-items:center;gap:8px;margin:10px 0;padding:9px;background:#fff;border:1px solid #e1e5ea;border-radius:8px}.partner-first-option input{width:18px;height:18px}.partner-first-option span{display:flex;flex-direction:column}.partner-first-option small{color:#68727e}.partner-affiliation-badges{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0}.partner-affiliation-badges span{font-size:9px;font-weight:800;background:#eef3f6;border-radius:999px;padding:4px 7px}

.team-partners{margin-top:16px}.partner-count{font-size:11px;font-weight:800;background:#eef3f6;border-radius:999px;padding:5px 9px}.team-partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin-top:10px}.team-partner-item{display:flex;flex-direction:column;padding:10px 12px;border:1px solid #e1e5ea;border-radius:9px;background:#fafbfc}.team-partner-item b{font-size:12px}.team-partner-item span,.team-partner-item small{font-size:10px;color:#68727e;margin-top:2px}.team-card-partners{border-top:1px solid #edf0f2;margin-top:9px;padding-top:8px}.team-card-partners>span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#68727e;font-weight:800;margin-bottom:4px}.team-card-partners div{display:flex;flex-wrap:wrap;gap:4px}.team-card-partners b{font-size:9px;background:#eef3f6;padding:3px 6px;border-radius:999px}.team-card-partners small{font-size:9px;color:#8a939d}

/* V5.7 action dashboard, evidence ownership, engineering stages, category budgets */
.next-up-card{margin-bottom:14px}.next-up-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.next-up-grid>div{padding:11px;border:1px solid #e3e7eb;border-radius:9px;background:#fafbfc;display:flex;flex-direction:column}.next-up-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#6c7680;font-weight:800}.next-up-grid b{font-size:16px;margin:4px 0}.next-up-grid small{font-size:9px;color:#7d8790}.doc-age.good{border-left:4px solid #4b9b69}.doc-age.warn{border-left:4px solid #d3a12b}.doc-age.bad{border-left:4px solid #c84b4b}.enhanced-filters{grid-template-columns:repeat(7,minmax(110px,1fr))}.needs-evidence{display:inline-block;font-size:8px;background:#fff1cf;color:#765600;border-radius:999px;padding:2px 5px;margin-left:4px;vertical-align:middle}.student-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;border:1px solid #e1e5ea;border-radius:8px;background:#fafbfc}.student-check-grid label{font-size:11px}.full-field{grid-column:1/-1}.engineering-stage-strip{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:12px 0 18px}.engineering-stage-strip div{text-align:center;padding:8px 4px;border:1px solid #e1e5ea;border-radius:8px;background:#fafbfc}.engineering-stage-strip span{display:block;font-size:8px;text-transform:uppercase;color:#68727e;font-weight:800}.engineering-stage-strip b{font-size:16px}.category-budget-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.category-budget-grid>div{padding:10px;border:1px solid #e1e5ea;border-radius:8px}.category-budget-grid span,.category-budget-grid small{display:block;font-size:9px;color:#68727e}.category-budget-grid b{display:block;margin:3px 0;font-size:12px}.category-budget-form{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(max-width:1100px){.next-up-grid{grid-template-columns:repeat(2,1fr)}.enhanced-filters{grid-template-columns:repeat(3,1fr)}.engineering-stage-strip{grid-template-columns:repeat(4,1fr)}}

/* V5.9 program-wide student master roster */
.student-filterbar{grid-template-columns:2fr 1fr 1fr 1.6fr;margin:12px 0}.master-student-table{border:1px solid #e1e5ea;border-radius:10px;overflow:hidden}.master-student-head,.master-student-row{display:grid;grid-template-columns:1fr .45fr 1.25fr 3fr;gap:10px;align-items:center;padding:9px 12px}.master-student-head{background:#f4f6f8;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#65717d}.master-student-row{border-top:1px solid #edf0f2;font-size:11px}.student-role-pills{display:flex;gap:5px;flex-wrap:wrap;align-items:center}.student-role-pills>span{font-size:9px;font-weight:700;padding:3px 6px;border-radius:999px;background:#eef3f7;color:#31404d}.student-role-pills small{width:100%;color:#737e88}.interest-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.interest-group{border:1px solid #e1e5ea;border-radius:9px;padding:10px}.interest-group-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f2;margin-bottom:5px;padding-bottom:6px}.interest-group-head h3{margin:0;font-size:12px}.interest-group-head span{background:#eef3f7;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.interest-group>div:not(.interest-group-head){display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:10px}.interest-group small{color:#7a858f}@media(max-width:1100px){.student-filterbar{grid-template-columns:repeat(2,1fr)}.interest-groups{grid-template-columns:repeat(2,1fr)}}

/* V5.12 student roster delete control */
.master-student-head,.master-student-row{grid-template-columns:minmax(130px,1fr) 70px minmax(160px,1.15fr) minmax(300px,2fr) 76px}
.student-delete-btn{align-self:center;justify-self:end;border:1px solid #e1b1b1;background:#fff;color:#a72b2b;border-radius:7px;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.student-delete-btn:hover{background:#fff4f4;border-color:#cb7474}

/* V5.14 task actions */
.task-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.row-delete{border:1px solid #e1b1b1;background:#fff;color:#a72b2b;border-radius:7px;padding:7px 9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.row-delete:hover{background:#fff4f4;border-color:#cb7474}

/* V5.15 admin deletion visibility */
.admin-tools-note{display:inline-block;margin-top:10px;padding:6px 10px;border-radius:999px;background:#f5f6f7;border:1px solid #d8dde2;color:#4a5560;font-size:12px;font-weight:800}
.student-delete-btn,.row-delete{display:inline-flex!important;align-items:center;justify-content:center;visibility:visible!important;opacity:1!important}

/* V5.18 universal admin delete in edit modals */
.modal-delete-btn{margin-right:auto;border:1px solid #d99b9b;background:#fff;color:#a52222;border-radius:8px;padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}
.modal-delete-btn:hover{background:#fff2f2;border-color:#c85f5f}
.modal-delete-btn:disabled{opacity:.6;cursor:wait}

/* V5.21 admin activity */
.activity-row{display:grid;grid-template-columns:1.2fr 1.5fr 190px;gap:18px;align-items:center;padding:13px 4px;border-bottom:1px solid #e6e9ec}
.activity-row>div{display:flex;flex-direction:column;gap:3px}.activity-row span,.activity-row time{font-size:12px;color:#6d7780}.activity-row time{text-align:right}

/* V6.6 Goals and Digital Badges */
.goal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.goal-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#fafafa;min-height:90px}.goal-card small{display:block;color:#6b7280;text-transform:uppercase;font-weight:700;margin-bottom:7px}.goal-card strong{line-height:1.35}.district-team-goals{padding:14px 0;border-top:1px solid #eee}.member-growth-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.member-growth-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px}.member-growth-card small{display:block;color:#6b7280}.member-growth-card p{font-size:13px}.badge-list{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.digital-badge{border:1px solid #d1d5db;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.badge-head{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.badge-row{display:grid;grid-template-columns:1fr 170px auto;gap:8px;margin:8px 0}.form-field.full{grid-column:1/-1}.form-field textarea{width:100%;box-sizing:border-box}

/* V6.7 named member goal/badge workflow */
.member-growth-name{padding-bottom:10px;border-bottom:1px solid #eee;margin-bottom:10px}
.member-growth-name strong{font-size:16px}
.member-growth-summary{min-height:92px}
.member-owner-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f3f4f6;border-radius:10px;padding:12px 14px;margin-bottom:14px}
.member-owner-banner strong{font-size:16px}.member-owner-banner span{font-size:12px;color:#6b7280}

/* V6.8 Team Development student assignment */
.assigned-member{display:block;color:#6b7280;font-size:11px;font-weight:700;margin:3px 0}

/* V6.16 Team Sponsors */
.team-sponsors{margin-top:16px}
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}
.sponsor-card{border:1px solid #e1e5ea;border-radius:10px;padding:12px;background:#fafbfc}
.sponsor-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.sponsor-card h3{margin:0;font-size:14px}.sponsor-card p{font-size:11px;color:#505a65;margin:8px 0}
.sponsor-card small{display:block;color:#737c86;margin-bottom:8px}
.sponsor-level{font-size:9px;font-weight:800;background:#eef3f6;border-radius:999px;padding:4px 7px;white-space:nowrap}
.district-sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.district-sponsor-team{border:1px solid #e1e5ea;border-radius:10px;padding:12px;background:#fafbfc}
.district-sponsor-head{display:flex;flex-direction:column;border-bottom:1px solid #e8ebee;padding-bottom:8px;margin-bottom:8px}
.district-sponsor-head span{font-size:9px;font-weight:900;letter-spacing:.06em;color:#68727e}.district-sponsor-head strong{font-size:14px}
.district-sponsor-list>div{display:grid;grid-template-columns:1fr auto;gap:4px 8px;padding:7px 0;border-bottom:1px solid #edf0f2}
.district-sponsor-list>div:last-child{border-bottom:0}.district-sponsor-list b{font-size:11px}
.district-sponsor-list span{font-size:9px;font-weight:800;background:#eef3f6;border-radius:999px;padding:3px 6px}
.district-sponsor-list small{grid-column:1/-1;color:#737c86;font-size:9px}
.empty-state.compact{padding:8px 0}
@media(max-width:1000px){.district-sponsor-grid{grid-template-columns:1fr}}

/* V6.17 Sponsorship Level Reference */
.sponsor-level-reference{margin-top:14px;border-top:1px solid #e1e5ea;padding-top:12px}
.sponsor-level-intro{font-size:11px;line-height:1.45;margin-bottom:8px;color:#4b5563}
.sponsor-level-reference details{border:1px solid #e5e7eb;border-radius:7px;margin:5px 0;background:#fafbfc}
.sponsor-level-reference summary{cursor:pointer;padding:7px 9px;font-size:10px;font-weight:800}
.sponsor-level-reference ul{margin:0 10px 9px 26px;padding:0;font-size:10px;line-height:1.45;color:#59636e}

.sponsor-budget-list{display:grid;gap:6px;margin-top:10px}
.sponsor-budget-list>div{display:grid;grid-template-columns:1.2fr 2fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;background:#fafbfc}
.sponsor-budget-list strong{font-size:11px}.sponsor-budget-list span{font-size:9px;color:#68727e}.sponsor-budget-list b{font-size:12px}
