.tds-institutional-portal,
.tds-portal-page{
--tds-font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--tds-font-weight-regular:400;--tds-font-weight-medium:500;--tds-font-weight-semibold:600;--tds-font-weight-bold:700;--tds-font-size-page:clamp(1.75rem,2.2vw,2.375rem);--tds-font-size-section:1.1875rem;--tds-font-size-card:1rem;--tds-font-size-body:1rem;--tds-font-size-meta:.8125rem;--tds-font-size-label:.75rem;--tds-font-size-kpi:1.75rem;--tds-font-size-button:.875rem;font-family:var(--tds-font-family)}
.tds-institutional-portal{
--tds-bg:#f6f7fb;--tds-surface:#fff;--tds-border:#e7e9f1;--tds-text:#1d2433;--tds-muted:#687086;--tds-primary:#5c3ee8;--tds-success:#168453;max-width:1320px;margin:32px auto;padding:34px;background:var(--tds-bg);color:var(--tds-text);border:1px solid var(--tds-border);border-radius:20px;box-shadow:0 8px 25px rgba(23,32,51,.06)}
.tds-portal-page :is(button,input,select,textarea,.button),
.tds-institutional-portal :is(button,input,select,textarea,.button){font-family:inherit}
.tds-portal-page :is(h1,h2,h3),
.tds-institutional-portal :is(h1,h2,h3){font-family:inherit;letter-spacing:-.015em}
.tds-portal-page h1,
.tds-institutional-portal h1{font-size:var(--tds-font-size-page);font-weight:var(--tds-font-weight-semibold);line-height:1.15}
.tds-portal-page h2,
.tds-institutional-portal h2{font-size:var(--tds-font-size-section);font-weight:var(--tds-font-weight-semibold);line-height:1.3}
.tds-portal-page .button,
.tds-institutional-portal .button{font-size:var(--tds-font-size-button);font-weight:var(--tds-font-weight-semibold);line-height:1.25}
.tds-institutional-portal h1{
margin:0;font-size:30px}
.tds-institutional-portal__welcome{
margin:7px 0;color:var(--tds-muted);font-size:17px}
.tds-institutional-portal__context{
display:flex;gap:9px;align-items:center;padding:14px 16px;margin:22px 0;background:#fff;border:1px solid var(--tds-border);border-radius:12px}
.tds-institutional-portal__context span{
color:var(--tds-muted);font-size:12px}
.tds-institutional-portal__context strong{
color:var(--tds-primary)}
.tds-institutional-portal__context p{
margin:0;color:var(--tds-muted)}
.tds-institutional-portal__actions{
display:flex;gap:10px;flex-wrap:wrap}
.tds-institutional-portal__actions .button,.tds-portal-filters .button{
border:0;border-radius:8px;background:var(--tds-primary);color:#fff;padding:9px 14px;text-decoration:none}
.tds-institutional-portal .tds-actor-dashboard-header{
display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;margin-bottom:20px}
.tds-actor-dashboard-name{
margin:7px 0 0;color:var(--tds-muted);font-size:16px}
.tds-institutional-portal .tds-actor-dashboard-search{
display:flex;flex-wrap:nowrap;align-items:center;justify-self:end;width:360px;min-width:0;margin:0}
.tds-institutional-portal .tds-actor-dashboard-search label{
flex:1;min-width:0}
.tds-institutional-portal .tds-actor-dashboard-search input{
box-sizing:border-box;width:100%}
.tds-portal-metrics{
display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:26px 0}
.tds-portal-metrics article,.tds-portal-section{
background:var(--tds-surface);border:1px solid var(--tds-border);border-radius:16px}
.tds-portal-metrics article{
padding:18px}
.tds-portal-metrics article:nth-child(2n){
background:#f0fbf5}
.tds-portal-metrics article:nth-child(3n){
background:#f1f6ff}
.tds-portal-metrics strong{
display:block;font-size:28px;color:var(--tds-text)}
.tds-portal-metrics span,.tds-portal-structure span,.tds-portal-participants small{
color:var(--tds-muted);font-size:12px}
.tds-portal-section{
padding:24px;margin-top:18px}
.tds-portal-section h2{
margin:0 0 16px;font-size:19px}
.tds-portal-structure,.tds-portal-participants{
list-style:none;margin:0;padding:0}
.tds-portal-structure li,.tds-portal-participants li{
display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid #eff0f5}
.tds-portal-structure li:first-child,.tds-portal-participants li:first-child{
border-top:0}
.tds-portal-structure strong,.tds-portal-participants strong,.tds-portal-participants span,.tds-portal-participants small{
display:block}
.tds-portal-filters{
display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.tds-portal-filters input,.tds-portal-filters select{
min-height:40px;border:1px solid #d8dbe6;border-radius:8px;padding:0 12px;background:#fff}
.tds-portal-state{
align-self:center;border-radius:999px;background:#e6f7ed;color:#167447;padding:5px 9px;font-size:12px}
.tds-portal-empty{
margin:0;padding:16px;border-radius:10px;background:#f7f8fc;color:var(--tds-muted)}
.tds-portal-pagination{
display:flex;gap:6px;margin-top:16px}
.tds-portal-pagination a{
padding:6px 10px;border:1px solid var(--tds-border);border-radius:7px;text-decoration:none}
.tds-portal-pagination .is-current{
background:var(--tds-primary);color:#fff}
@media(max-width:850px){
.tds-institutional-portal{
margin:18px;padding:24px}
.tds-portal-metrics{
grid-template-columns:repeat(3,1fr)}
.tds-institutional-portal .tds-actor-dashboard-header{
grid-template-columns:1fr}
.tds-institutional-portal .tds-actor-dashboard-search{
justify-self:stretch;width:100%;max-width:none}
}
@media(max-width:600px){
.tds-institutional-portal{
margin:0;padding:20px;border:0;border-radius:0;min-height:100vh}
.tds-institutional-portal__context{
display:grid}
.tds-portal-metrics{
grid-template-columns:repeat(2,1fr)}
.tds-portal-section{
padding:18px}
.tds-portal-filters>*{
width:100%}
.tds-institutional-portal .tds-actor-dashboard-search{
min-width:0}
.tds-institutional-portal .tds-actor-dashboard-search label{
width:auto}
.tds-institutional-portal .tds-actor-dashboard-search .button{
width:auto}
.tds-portal-participants li{
align-items:flex-start}
.tds-portal-state{
margin-top:2px}
}

.tds-portal-app{
--tds-portal-bg:#f7f9fc;--tds-portal-card:#fff;--tds-portal-border:#e4e8ef;--tds-portal-text:#172238;--tds-portal-muted:#647085;--tds-portal-purple:#8f4a93;--tds-portal-pink:#e4007c;display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1440px;margin:32px auto;background:#f6f7fb;border:1px solid #e7e9f1;border-radius:20px;overflow:hidden}
.tds-portal-sidebar{
display:flex;flex-direction:column;gap:22px;padding:26px 16px;background:#fff;border-right:1px solid #e7e9f1}
.tds-portal-sidebar nav{
display:grid;gap:5px}
.tds-portal-sidebar nav a{
padding:10px 12px;border-radius:8px;color:#596176;text-decoration:none}
.tds-portal-sidebar nav a[aria-current]{
background:#f0edff;color:#5c3ee8;font-weight:700}
.tds-portal-sidebar small{
margin-top:auto;color:#687086}
.tds-portal-main{
min-width:0}
.tds-portal-topbar{
display:flex;justify-content:space-between;padding:18px 34px;background:#fff;border-bottom:1px solid #e7e9f1}
.tds-portal-topbar a{
color:#5c3ee8;text-decoration:none}
@media(max-width:700px){
.tds-portal-app{
display:block;margin:0;border:0;border-radius:0}
.tds-portal-sidebar{
display:none}
.tds-portal-topbar{
padding:16px 20px}
}

.tds-portal-page{
width:100%;min-height:70vh;margin:0;background:#f6f7fb}
.tds-portal-page .tds-portal-app{
width:100%;max-width:none;min-height:70vh;margin:0;border-radius:0;border-left:0;border-right:0}
.tds-portal-page .tds-institutional-portal{
max-width:none;width:100%;margin:0;border:0;border-radius:0;box-shadow:none}
@media(max-width:700px){
.tds-portal-page .tds-portal-app{
min-height:70vh}
}

.tds-portal-topbar nav{
display:flex;gap:16px}
.tds-portal-metrics--single{
grid-template-columns:minmax(220px,320px);justify-content:start}
.tds-counselor-student-link{
align-self:center;color:var(--tds-primary);font-weight:700;text-decoration:none;white-space:nowrap}
.tds-counselor-student-detail dl,.tds-student-profile-grid{
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}
.tds-counselor-student-detail dt,.tds-student-profile-grid dt{
color:var(--tds-muted);font-size:12px}
.tds-counselor-student-detail dd,.tds-student-profile-grid dd{
margin:4px 0 0;font-weight:700}
.tds-student-profile-header{
display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px;margin-bottom:18px;background:#fff;border:1px solid var(--tds-border);border-radius:16px}
.tds-student-profile-header h1{
font-size:28px}
.tds-student-profile-header p{
margin:7px 0 0;color:var(--tds-muted)}
.tds-portal-state.is-suspended{
background:#fff0f0;color:#a13030}
.tds-student-profile-responsibility{
display:flex;gap:10px;align-items:center;padding:14px 16px;margin-top:18px;background:#f0edff;border:1px solid #ded6ff;border-radius:12px}
.tds-student-profile-responsibility span{
color:var(--tds-muted);font-size:12px}
.tds-student-profile-responsibility strong{
color:var(--tds-primary)}
.tds-person-profile-header{
display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:24px;margin-bottom:14px;background:#fff;border:1px solid var(--tds-border);border-radius:16px}
.tds-person-profile-header h1{
margin:2px 0 10px;font-size:28px}
.tds-person-profile-roles{
display:flex;gap:7px;flex-wrap:wrap}
.tds-person-profile-roles span{
padding:5px 9px;border-radius:999px;background:#f0edff;color:var(--tds-primary);font-size:12px;font-weight:700}
.tds-person-profile-tabs{
display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid var(--tds-border)}
.tds-person-profile-tabs a{
padding:10px 14px;color:var(--tds-muted);font-weight:700;text-decoration:none;border-bottom:2px solid transparent}
.tds-person-profile-tabs a.is-current{
color:var(--tds-primary);border-bottom-color:var(--tds-primary)}
.tds-person-profile-schools{
margin-top:20px;padding-top:18px;border-top:1px solid #eff0f5}
.tds-person-profile-schools h3{
margin:0 0 10px;font-size:15px}
.tds-person-profile-schools ul{
display:flex;gap:8px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.tds-person-profile-schools li{
padding:7px 10px;border-radius:8px;background:#f6f7fb;font-size:13px;font-weight:600}
.tds-person-profile-students__header{
display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.tds-person-profile-students__header h2{
margin:0 0 5px}
.tds-person-profile-students__header p{
margin:0;color:var(--tds-muted)}
.tds-person-profile-students__table-wrap{
overflow-x:auto}
.tds-person-profile-students__table{
width:100%;border-collapse:collapse;font-size:14px}
.tds-person-profile-students__table th,.tds-person-profile-students__table td{
padding:13px 10px;border-top:1px solid #eff0f5;text-align:left;vertical-align:middle}
.tds-person-profile-students__table th{
color:var(--tds-muted);font-size:12px;font-weight:700}
.tds-person-profile-students__schools{
display:flex;gap:6px;flex-wrap:wrap}
.tds-person-profile-students__schools span{
padding:4px 8px;border-radius:999px;background:#f6f7fb;color:var(--tds-text);font-size:12px;font-weight:600}
.tds-person-profile-students__table td:last-child,.tds-person-profile-students__table th:last-child{
text-align:right;white-space:nowrap}
@media(max-width:600px){
.tds-portal-topbar nav{
gap:12px}
.tds-portal-metrics--single{
grid-template-columns:minmax(0,320px)}
.tds-counselor-student-detail dl,.tds-student-profile-grid{
grid-template-columns:1fr}
.tds-student-profile-header{
padding:18px;flex-direction:column}
.tds-person-profile-header{
padding:18px;flex-direction:column}
.tds-person-profile-tabs{
overflow-x:auto}
.tds-person-profile-tabs a{
white-space:nowrap}
.tds-person-profile-students__table thead{
display:none}
.tds-person-profile-students__table,.tds-person-profile-students__table tbody,.tds-person-profile-students__table tr,.tds-person-profile-students__table td{
display:block;width:100%;box-sizing:border-box}
.tds-person-profile-students__table tr{
padding:12px 0;border-top:1px solid #eff0f5}
.tds-person-profile-students__table td{
display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:6px 0;border:0;text-align:left}
.tds-person-profile-students__table td::before{
content:attr(data-label);color:var(--tds-muted);font-size:12px;font-weight:700}
.tds-person-profile-students__table td:last-child{
text-align:left;white-space:normal}
.tds-portal-participants li{
flex-wrap:wrap}
.tds-counselor-student-link{
width:100%}
}

.tds-student-diagnostic-list{
display:grid;gap:10px}
.tds-student-diagnostic-row{
display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #eff0f5;border-radius:12px;background:#fff}
.tds-student-diagnostic-row>div:first-child{
display:grid;gap:4px;min-width:0}
.tds-student-diagnostic-row>div:first-child span,.tds-student-diagnostic-row small{
color:var(--tds-muted);font-size:13px}
.tds-student-diagnostic-row__status{
display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;text-align:right}
.tds-student-diagnostic-row__status .button{
border:0;border-radius:8px;background:var(--tds-primary);color:#fff;padding:8px 12px;text-decoration:none;white-space:nowrap}
@media(max-width:600px){
.tds-student-diagnostic-row{
align-items:flex-start;flex-direction:column}
.tds-student-diagnostic-row__status{
justify-content:flex-start;text-align:left}
.tds-student-diagnostic-row__status .button{
width:100%;text-align:center}
}

.tds-student-vocational__heading{
display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.tds-student-vocational__heading h2{
margin-bottom:5px}
.tds-student-vocational__heading p{
margin:0;color:var(--tds-muted)}
.tds-student-vocational__heading small{
padding:6px 9px;border-radius:999px;background:#f0edff;color:var(--tds-primary);white-space:nowrap}
.tds-student-vocational__processes{
display:grid;gap:12px}
.tds-student-vocational__process{
padding:16px;border:1px solid #eff0f5;border-radius:12px;background:#fff}
.tds-student-vocational__process h3{
margin:0 0 10px;font-size:15px}
.tds-student-vocational__reports{
display:grid;gap:8px}
.tds-student-vocational__report{
display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;border-top:1px solid #eff0f5}
.tds-student-vocational__report>div{
display:flex;flex-wrap:wrap;gap:5px 10px;align-items:baseline;min-width:0}
.tds-student-vocational__report strong{
font-size:14px}
.tds-student-vocational__report span,.tds-student-vocational__report small{
color:var(--tds-muted);font-size:13px}
.tds-student-vocational__report .button{
flex:0 0 auto;border:0;border-radius:8px;background:var(--tds-primary);color:#fff;padding:8px 12px;text-decoration:none;white-space:nowrap}
@media(max-width:600px){
.tds-student-vocational__heading,.tds-student-vocational__report{
align-items:flex-start;flex-direction:column}
.tds-student-vocational__heading small,.tds-student-vocational__report .button{
width:100%;box-sizing:border-box;text-align:center}
}

.tds-portal-metrics--school-director{
grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}
.tds-school-director-portal .tds-actor-dashboard-search{
width:500px}
.tds-school-director-portal .tds-actor-dashboard-search select{
max-width:150px}
@media(max-width:850px){
.tds-school-director-portal .tds-actor-dashboard-search{
width:100%}
}
@media(max-width:600px){
.tds-portal-metrics--school-director{
grid-template-columns:1fr}
.tds-school-director-portal .tds-actor-dashboard-search{
flex-wrap:wrap}
.tds-school-director-portal .tds-actor-dashboard-search select{
width:100%;max-width:none}
.tds-school-director-portal .tds-actor-dashboard-search .button{
width:100%}
}

.tds-school-director-home-header{
display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:22px 28px;align-items:start}
.tds-school-director-home-heading{
display:grid;gap:8px}
.tds-school-director-home-eyebrow,.tds-school-director-operational-card>div>small,.tds-school-director-students-card small{
color:#8f4a93;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tds-school-director-home-heading h1{
font-size:34px;line-height:1.15}
.tds-school-director-home-heading p{
margin:0;color:var(--tds-muted);font-size:16px}
.tds-school-director-home-badge{
width:max-content;padding:6px 10px;border-radius:999px;background:#f5ebf5;color:#8f4a93;font-size:12px;font-weight:700}
.tds-school-director-context-card{
display:flex;gap:12px;padding:17px;background:#fff;border:1px solid var(--tds-portal-border);border-radius:16px;box-shadow:0 8px 24px rgba(23,34,56,.05)}
.tds-school-director-context-card img{
width:42px;height:42px;object-fit:contain;border-radius:10px}
.tds-portal-sidebar__brand--site-logo{display:block;min-width:0;min-height:42px;padding:0!important}
.tds-portal-sidebar__site-logo{display:block;max-width:100%;max-height:48px;width:auto;height:auto;object-fit:contain;object-position:left center}
.tds-school-director-context-card>div{
display:grid;gap:3px;min-width:0}
.tds-school-director-context-card span{
color:var(--tds-muted);font-size:11px}
.tds-school-director-context-card strong,.tds-school-director-context-card b{
overflow-wrap:anywhere;color:var(--tds-portal-text);font-size:13px}
.tds-school-director-context-card small{
color:var(--tds-muted);font-size:12px}
.tds-school-director-context-card a{
margin-top:5px;color:#8f4a93;font-size:12px;font-weight:700;text-decoration:none}
.tds-school-director-quick-search{
grid-column:1/-1;display:flex;flex-wrap:nowrap;align-items:center;margin:0;padding:14px;background:#fff;border:1px solid var(--tds-portal-border);border-radius:14px;box-shadow:0 8px 24px rgba(23,34,56,.04)}
.tds-school-director-quick-search label{
flex:1;min-width:0}
.tds-school-director-quick-search input{
width:100%;box-sizing:border-box}
.tds-school-director-quick-search .button,.tds-school-director-operational-card a,.tds-school-director-students-card a{
border:0;border-radius:9px;background:#8f4a93;color:#fff;font-weight:700;text-decoration:none}
.tds-school-director-quick-search .button{
padding:10px 15px}
.tds-school-director-kpi-grid{
display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}
.tds-school-director-kpi-grid article{
display:flex;align-items:center;gap:13px;padding:19px;background:#fff;border:1px solid var(--tds-portal-border);border-radius:16px;box-shadow:0 8px 24px rgba(23,34,56,.04)}
.tds-school-director-kpi-grid article:nth-child(2){
background:#f6f0fb}
.tds-school-director-kpi-grid article:nth-child(3){
background:#eef8f3}
.tds-school-director-kpi-grid .dashicons{
display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f3eaf4;color:#8f4a93;font-size:21px}
.tds-school-director-kpi-grid article:nth-child(3) .dashicons{
background:#dff3e7;color:#168453}
.tds-school-director-kpi-grid div{
display:grid;gap:2px}
.tds-school-director-kpi-grid strong{
font-size:27px;line-height:1;color:var(--tds-portal-text)}
.tds-school-director-kpi-grid small{
color:var(--tds-muted);font-size:13px}
.tds-school-director-operational-grid{
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tds-school-director-operational-card,.tds-school-director-students-card{
display:flex;gap:16px;padding:24px;background:#fff;border:1px solid var(--tds-portal-border);border-radius:16px;box-shadow:0 8px 24px rgba(23,34,56,.04)}
.tds-school-director-operational-card>.dashicons,.tds-school-director-students-card>.dashicons{
display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#f3eaf4;color:#8f4a93;font-size:22px}
.tds-school-director-operational-card>div,.tds-school-director-students-card>div{
display:grid;gap:9px}
.tds-school-director-operational-card h2,.tds-school-director-students-card h2{
margin:0;font-size:19px}
.tds-school-director-operational-card p,.tds-school-director-students-card p{
margin:0;color:var(--tds-muted);line-height:1.5}
.tds-school-director-operational-card a{
justify-self:start;margin-top:5px;padding:9px 12px}
.tds-school-director-students-card{
align-items:center;justify-content:space-between;margin-top:18px}
.tds-school-director-students-card a{
flex:0 0 auto;padding:10px 13px}
@media(max-width:850px){
.tds-school-director-home-header{
grid-template-columns:1fr}
.tds-school-director-context-card{
grid-row:2}
.tds-school-director-quick-search{
grid-column:auto}
.tds-school-director-operational-grid{
grid-template-columns:1fr}
}
@media(max-width:600px){
.tds-school-director-home-heading h1{
font-size:29px}
.tds-school-director-quick-search{
flex-wrap:wrap}
.tds-school-director-quick-search>*{
width:100%}
.tds-school-director-quick-search label{
width:100%}
.tds-school-director-quick-search .button{
width:100%}
.tds-school-director-kpi-grid{
grid-template-columns:1fr}
.tds-school-director-operational-card,.tds-school-director-students-card{
align-items:flex-start;flex-direction:column}
.tds-school-director-students-card a{
width:100%;box-sizing:border-box;text-align:center}
}


/* School Director uses the certified DG shell; these rules only arrange its smaller, exact-school home. */
.tds-dg-explorer .tds-school-director-home-header{
margin-bottom:20px}
.tds-dg-explorer .tds-school-director-context-card{
align-items:flex-start}
.tds-dg-explorer .tds-school-director-context-card>div{
display:grid;gap:3px;min-width:0}
.tds-dg-explorer .tds-school-director-context-card small,.tds-dg-explorer .tds-school-director-context-card b{
color:var(--tds-dg-muted);font-size:12px;line-height:1.3}
.tds-dg-explorer .tds-school-director-context-card b{
color:var(--tds-dg-text);font-weight:800}
.tds-dg-explorer .tds-school-director-quick-search{
width:100%;box-sizing:border-box;margin:0 0 22px;padding:15px 17px;border:1px solid var(--tds-dg-border);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(15,59,135,.04)}
.tds-dg-explorer .tds-school-director-quick-search select,.tds-dg-explorer .tds-school-director-quick-search input{
min-height:40px;border:1px solid var(--tds-dg-border);border-radius:9px;background:#fff;font:inherit}
.tds-dg-explorer .tds-school-director-quick-search label{
flex:1;min-width:0}
.tds-dg-explorer .tds-school-director-quick-search input{
box-sizing:border-box;width:100%;padding:0 11px}
.tds-dg-explorer .tds-school-director-quick-search .button{
min-height:40px;padding:0 16px;white-space:nowrap}
.tds-dg-explorer .tds-school-director-kpi-grid{
grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}
.tds-dg-explorer .tds-school-director-kpi-grid .tds-school-director-kpi-card{
display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:82px;padding:16px;background:var(--tds-dg-card);border:1px solid var(--tds-dg-border);border-radius:15px;box-shadow:0 5px 18px rgba(15,59,135,.04)}
.tds-dg-explorer .tds-school-director-kpi-grid img{
grid-row:1/span 2;width:40px;height:40px}
.tds-dg-explorer .tds-school-director-kpi-grid strong{
color:var(--tds-dg-text);font-size:27px;line-height:1}
.tds-dg-explorer .tds-school-director-kpi-grid span{
margin-top:4px;color:var(--tds-dg-muted);font-size:12px;line-height:1.25}
.tds-dg-explorer .tds-school-director-kpi-grid .tds-school-director-kpi-card--link{
box-sizing:border-box;width:100%;height:100%;color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.tds-dg-explorer .tds-school-director-kpi-grid .tds-school-director-kpi-card--link:visited{
color:inherit;text-decoration:none}
.tds-dg-explorer .tds-school-director-kpi-grid .tds-school-director-kpi-card--link:hover{
color:inherit;border-color:#8f4a93;box-shadow:0 8px 22px rgba(143,74,147,.14);cursor:pointer;transform:translateY(-1px)}
.tds-dg-explorer .tds-school-director-kpi-grid .tds-school-director-kpi-card--link:focus-visible{
color:inherit;outline:2px solid #8f4a93;outline-offset:3px}
.tds-dg-explorer .tds-school-director-operational-grid{
margin-top:0}
.tds-dg-explorer .tds-school-director-secondary-grid{
align-items:stretch}
.tds-dg-explorer .tds-school-director-secondary-card{
min-height:0}
.tds-dg-explorer .tds-school-director-card-copy{
margin:20px 0;color:var(--tds-dg-muted);font-size:14px;line-height:1.5}
.tds-dg-explorer.tds-portal-app--school-director .tds-portal-sidebar__actor{
display:grid;gap:4px;padding:15px 12px;border-top:1px solid var(--tds-dg-border);line-height:1.35}
.tds-dg-explorer.tds-portal-app--school-director .tds-portal-sidebar__actor strong{
color:var(--tds-dg-text);font-size:13px}
.tds-dg-explorer.tds-portal-app--school-director .tds-portal-sidebar__actor span{
font-size:12px}
.tds-dg-explorer.tds-portal-app--school-director .tds-portal-sidebar__actor a{
margin-top:7px;color:var(--tds-brand-pink);font-size:12px;font-weight:700;text-decoration:none}
@media(max-width:850px){
.tds-dg-explorer .tds-school-director-quick-search{
align-items:stretch;flex-direction:column}
.tds-dg-explorer .tds-school-director-quick-search .button{
width:100%}
}
@media(max-width:420px){
.tds-dg-explorer .tds-school-director-kpi-grid{
grid-template-columns:1fr}
}

.tds-public-login-page{
padding:clamp(32px,6vw,76px) 24px;background:#f6f7fb}
.tds-public-login-page__content{
max-width:1180px;margin:0 auto}
.tds-institutional-login{
max-width:1080px;margin:0 auto;padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.9fr);gap:clamp(36px,5vw,72px);align-items:center;background:#f6f7fb;color:#1d2433}
.tds-institutional-login__intro,
.tds-institutional-login__card,
.tds-institutional-login__capability{
text-align:left}
.tds-institutional-login__eyebrow{
margin:0 0 12px;color:#8f4a93;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.tds-institutional-login__intro h1{
max-width:620px;font-size:clamp(32px,3.25vw,46px);line-height:1.12;margin:0 0 18px}
.tds-institutional-login__intro p{
max-width:570px;margin:0 0 12px;color:#687086;font-size:17px;line-height:1.6}
.tds-institutional-login__card{
grid-column:2;grid-row:1 / span 2;display:grid;gap:16px;padding:32px;background:#fff;border:1px solid #e7e9f1;border-radius:16px;box-shadow:0 12px 32px rgba(23,32,51,.08)}
.tds-institutional-login__card h2{
margin:0;font-size:24px}
.tds-institutional-login__supporting-copy{
margin:-7px 0 3px;color:#687086;font-size:14px}
.tds-institutional-login__card label{
display:grid;gap:8px;font-weight:600}
.tds-institutional-login__card input{
box-sizing:border-box;width:100%;min-height:46px;padding:0 12px;border:1px solid #cfd3df;border-radius:8px;background:#fff;color:#1d2433}
.tds-institutional-login__card input:focus{
outline:2px solid #8f4a93;outline-offset:2px;border-color:#8f4a93}
.tds-institutional-login__card .button{
width:100%;border:0;border-radius:8px;background:#8f4a93;color:#fff;padding:12px 14px;text-align:center}
.tds-institutional-login__card a{
color:#5c3ee8;text-decoration:none}
.tds-institutional-login__recovery{
justify-self:start;font-size:14px}
.tds-institutional-login__error{
margin:0;padding:11px;border-radius:8px;background:#fff0f0;color:#a13030}
.tds-institutional-login__registration{
display:grid;justify-items:center;gap:9px;padding-top:10px;text-align:center}
.tds-institutional-login__registration>span{
width:100%;height:1px;background:#e7e9f1;margin:2px 0 8px}
.tds-institutional-login__registration p,.tds-institutional-login__registration small{
margin:0;color:#687086}
.tds-institutional-login__registration p{
font-weight:700;color:#30384a}
.tds-institutional-login__registration small{
max-width:310px;line-height:1.45}
.tds-institutional-login__registration .button.button-secondary{
width:auto;background:#fff;color:#8f4a93;border:1px solid #c8a2ca;text-decoration:none}
.tds-institutional-login__registration .button.button-secondary:hover,
.tds-institutional-login__registration .button.button-secondary:focus-visible{
background:#fbf2fc;color:#713877}
.tds-institutional-login__capabilities{
grid-column:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-self:start;margin:8px 0 0;padding:0;list-style:none}
.tds-institutional-login__capability{
box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:220px;padding:20px;border:1px solid #e4e7ef;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(23,32,51,.035);text-align:center}
.tds-institutional-login__capability img{
box-sizing:border-box;display:block;width:48px;height:48px;margin:0 0 16px;padding:0;border-radius:14px;object-fit:contain}
.tds-institutional-login__capability h2,
.tds-institutional-login__capability p{
margin:0}
.tds-institutional-login__capability h2{
color:#30384a;font-size:16px;font-weight:700;line-height:1.3}
.tds-institutional-login__capability p{
margin-top:9px;color:#687086;font-size:14px;line-height:1.45}
.tds-institutional-login__capability--learning img{
background:#fff0f7}
.tds-institutional-login__capability--diagnostics img{
background:#f2edff}
.tds-institutional-login__capability--guidance img{
background:#e9f8f4}
@media(max-width:800px){
.tds-public-login-page{
padding:28px 20px}
.tds-institutional-login{
grid-template-columns:1fr;gap:28px;margin:0;padding:24px}
.tds-institutional-login__card,
.tds-institutional-login__capabilities{
grid-column:1;grid-row:auto}
.tds-institutional-login__card{
order:2}
.tds-institutional-login__capabilities{
order:3;margin-top:0}
.tds-institutional-login__intro{
order:1}
}
@media(max-width:480px){
.tds-public-login-page{
padding:16px 0}
.tds-institutional-login{
margin:0;padding:20px}
.tds-institutional-login__intro h1{
font-size:28px}
.tds-institutional-login__card{
padding:24px 20px}
.tds-institutional-login__capabilities{
grid-template-columns:1fr}
.tds-institutional-login__capability{
min-height:0;padding:20px}
}

.tds-password-setup .tds-password-field{
position:relative;display:block}
.tds-password-setup .tds-password-field input{
padding-right:48px}
.tds-password-setup .tds-password-field__toggle{
position:absolute;top:50%;right:2px;display:grid;place-items:center;width:40px;height:40px;margin:0;padding:0;transform:translateY(-50%);border:0;border-radius:7px;background:transparent;color:#596176;cursor:pointer}
.tds-password-setup .tds-password-field__toggle:hover{
background:#f0edff;color:#5c3ee8}
.tds-password-setup .tds-password-field__toggle:focus-visible{
outline:2px solid #5c3ee8;outline-offset:1px}
.tds-password-setup .tds-password-field__toggle svg{
width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}

/* Product-family mapping: Portal navigation remains structurally independent. */
.tds-portal-app{
--tds-portal-bg:var(--tds-ui-bg);--tds-portal-card:var(--tds-ui-surface);--tds-portal-border:var(--tds-ui-border);--tds-portal-text:var(--tds-ui-text);--tds-portal-muted:var(--tds-ui-text-muted);--tds-portal-purple:var(--tds-ui-primary);--tds-portal-pink:var(--tds-ui-primary);background:var(--tds-ui-bg);border-color:var(--tds-ui-border);border-radius:var(--tds-ui-radius-card)}
.tds-portal-sidebar{gap:22px;padding:24px 16px;background:var(--tds-ui-surface);border-right-color:var(--tds-ui-border)}
.tds-portal-sidebar__brand{min-height:48px;align-items:center}
.tds-portal-sidebar nav{gap:4px}
.tds-portal-sidebar nav a{display:flex;align-items:center;min-height:var(--tds-ui-sidebar-item-height);padding:0 12px;border-radius:var(--tds-ui-radius-control);color:var(--tds-ui-text-muted);font-size:14px;font-weight:600}
.tds-portal-sidebar nav a:hover{background:var(--tds-ui-primary-soft);color:var(--tds-ui-primary)}
.tds-portal-sidebar nav a[aria-current]{background:var(--tds-ui-primary-soft);color:var(--tds-ui-primary);font-weight:700}
.tds-portal-sidebar nav a:focus-visible{outline:2px solid var(--tds-ui-primary);outline-offset:2px}
.tds-portal-topbar{padding:18px var(--tds-ui-space-page);background:var(--tds-ui-surface);border-bottom-color:var(--tds-ui-border)}
.tds-portal-topbar a,.tds-portal-page a{color:var(--tds-ui-primary)}
.tds-portal-main{background:var(--tds-ui-bg)}
.tds-portal-app .tds-dashboard-kpi-card--link{box-sizing:border-box;width:100%;height:100%;color:inherit;text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.tds-portal-app .tds-dashboard-kpi-card--link:visited{color:inherit;text-decoration:none}
.tds-portal-app .tds-dashboard-kpi-card--link:hover{color:inherit;border-color:#8f4a93;box-shadow:0 8px 22px rgba(143,74,147,.14);cursor:pointer;transform:translateY(-1px)}
.tds-portal-app .tds-dashboard-kpi-card--link:focus-visible{color:inherit;outline:2px solid #8f4a93;outline-offset:3px}
.tds-portal-metrics article,.tds-portal-section,.tds-dg-home-card,.tds-diagnostic-home-card{border-color:var(--tds-ui-border);border-radius:var(--tds-ui-radius-card);box-shadow:var(--tds-ui-shadow-card)}
.tds-portal-metrics article{background:var(--tds-ui-surface)}
.tds-portal-metrics article:nth-child(2n),.tds-portal-metrics article:nth-child(3n){background:var(--tds-ui-surface)}
.tds-portal-state,.tds-dg-role-badge,.tds-school-director-home-badge{border-radius:999px}
.tds-diagnostic-home-card progress{accent-color:var(--tds-ui-primary)}


/* Shared secondary action for repeated vocational report links. */
.tds-student-vocational__report a.button.tds-dg-secondary-button{
flex:0 0 auto;border:1px solid #8f4a93;border-radius:8px;background:#fff;color:#8f4a93;padding:8px 12px;font-weight:700;text-decoration:none;white-space:nowrap}
.tds-student-vocational__report a.button.tds-dg-secondary-button:hover{
border-color:#8f4a93;background:#8f4a93;color:#fff}

.tds-explorer-heading{
display:flex;justify-content:space-between;gap:16px;align-items:center}
.tds-explorer-heading a,.tds-explorer-list a,.tds-explorer-back{
color:var(--tds-primary);text-decoration:none;font-weight:700}
.tds-explorer-list{
list-style:none;margin:0;padding:0}
.tds-explorer-list li{
display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid #eff0f5}
.tds-explorer-list li:first-child{
border-top:0}
.tds-explorer-list strong,.tds-explorer-list span,.tds-explorer-list small{
display:block}
.tds-explorer-list span,.tds-explorer-list small,.tds-explorer-breadcrumb{
margin-top:4px;color:var(--tds-muted);font-size:13px}
.tds-explorer-cards li{
padding:18px;border:1px solid var(--tds-border);border-radius:12px;margin-top:10px;background:#fff}
.tds-structure-list .is-school{
padding-left:34px}
.tds-explorer-back{
display:inline-block;margin-bottom:20px}
.tds-explorer-breadcrumb{
margin:0 0 7px}
@media(max-width:600px){
.tds-explorer-heading{
align-items:flex-start;flex-direction:column}
.tds-explorer-list li{
align-items:flex-start}
.tds-structure-list .is-school{
padding-left:16px}
}

.tds-diagnostic-analytics{
max-width:1120px}
.tds-diagnostics-header{
margin-bottom:24px!important}
.tds-diagnostics-header__context{
margin:6px 0 0;color:var(--tds-muted);font-size:14px;line-height:1.45}
.tds-diagnostics-campaign-selector{
display:flex;align-items:end;gap:12px;padding:16px;margin:20px 0;background:#fff;border:1px solid #e4e7ee;border-radius:10px}
.tds-diagnostics-campaign-selector label{
font-weight:600}
.tds-diagnostics-campaign-selector select{
min-width:280px;max-width:100%;height:38px}
.tds-diagnostics-campaign-selector--header{
justify-self:end;margin:0;padding:0;background:transparent;border:0;border-radius:0}
.tds-portal-sidebar__institutional-context{
display:grid;gap:4px;line-height:1.35}
.tds-portal-sidebar__institutional-context strong{
color:#1d2433}
.tds-portal-sidebar__institutional-context span{
display:block}
.tds-diagnostics-metrics{
grid-template-columns:repeat(5,minmax(0,1fr))}
.tds-diagnostics-quality dl{
display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.tds-diagnostics-quality dl div{
padding:12px;border:1px solid #edf0f5;border-radius:8px;background:#fafbff}
.tds-diagnostics-quality dt{
font-size:12px;color:#667085}
.tds-diagnostics-quality dd{
margin:5px 0 0;font-size:18px;font-weight:700;color:#1d2939}
@media(max-width:900px){
.tds-diagnostics-metrics{
grid-template-columns:repeat(3,minmax(0,1fr))}
.tds-diagnostics-quality dl{
grid-template-columns:1fr}
.tds-diagnostics-campaign-selector{
align-items:stretch;flex-direction:column}
.tds-diagnostics-campaign-selector--header{
justify-self:stretch;padding:0}
.tds-diagnostics-campaign-selector select{
min-width:0;width:100%}
}
@media(max-width:520px){
.tds-diagnostics-metrics{
grid-template-columns:repeat(2,minmax(0,1fr))}
.tds-diagnostics-campaign-selector button{
width:100%}
}

.tds-diagnostic-breadcrumb{
display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;color:#687086;font-size:13px}
.tds-diagnostic-breadcrumb a{
color:#5c3ee8;text-decoration:none}
.tds-diagnostic-applications{
display:grid;gap:10px}
.tds-diagnostic-application{
display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;background:#fff;border:1px solid #e4e7ee;border-radius:12px}
.tds-diagnostic-application strong,.tds-diagnostic-application small{
display:block}
.tds-diagnostic-application small,.tds-diagnostic-result-state{
margin-top:5px;color:#687086;font-size:13px}
.tds-diagnostic-application .button{
flex:0 0 auto}
@media(max-width:600px){
.tds-diagnostic-application{
align-items:flex-start;flex-direction:column}
.tds-diagnostic-application .button{
width:100%;box-sizing:border-box;text-align:center}
.tds-diagnostics-table-wrap{
overflow-x:auto}
.tds-diagnostics-table-wrap table{
min-width:560px}
}

.tds-dg-explorer .tds-school-director-team-section{display:grid;gap:11px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.tds-dg-explorer .tds-school-director-team-section+.tds-school-director-team-section{margin-top:30px}
.tds-dg-explorer .tds-school-director-team-section h2{margin:0;color:var(--tds-dg-text);font-size:16px;line-height:1.3}
.tds-dg-explorer .tds-school-director-team-list{overflow:hidden;border:1px solid var(--tds-dg-border);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(15,59,135,.04)}
.tds-dg-explorer .tds-school-director-team-list li{min-height:0;margin:0;padding:15px 18px;border-top:1px solid var(--tds-dg-border)}
.tds-dg-explorer .tds-school-director-team-list li:first-child{border-top:0}
.tds-dg-explorer .tds-school-director-team-list strong{color:var(--tds-dg-text);font-size:14px}
.tds-dg-explorer .tds-school-director-team-list span{margin-top:3px;color:var(--tds-dg-muted);font-size:12px}
.tds-dg-explorer .tds-school-director-team-list a,.tds-dg-explorer .tds-school-director-action-link{color:#8f4a93;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
.tds-dg-explorer .tds-school-director-students-section{padding:20px}
.tds-dg-explorer .tds-school-director-students-toolbar{display:flex;gap:10px;align-items:stretch;margin-bottom:18px}
.tds-dg-explorer .tds-school-director-students-toolbar label{flex:1;min-width:0}
.tds-dg-explorer .tds-school-director-students-toolbar input{box-sizing:border-box;width:100%;min-height:42px;border:1px solid var(--tds-dg-border);border-radius:9px;padding:0 12px}
.tds-dg-explorer .tds-school-director-students-toolbar .button{min-height:42px;border:0;border-radius:9px;background:#8f4a93;color:#fff;font-weight:800}
.tds-school-director-students-table-wrap{overflow-x:auto}
.tds-school-director-students-table{width:100%;border-collapse:collapse}
.tds-school-director-students-table th,.tds-school-director-students-table td{padding:13px 10px;border-bottom:1px solid var(--tds-dg-border);text-align:left}
.tds-school-director-students-table thead th{color:var(--tds-dg-muted);font-size:12px;font-weight:800;text-transform:uppercase}
.tds-school-director-students-table tbody th{color:var(--tds-dg-text)}
.tds-school-director-students-table td:last-child{text-align:right}
@media(max-width:600px){.tds-dg-explorer .tds-school-director-students-section{padding:15px}.tds-dg-explorer .tds-school-director-students-toolbar{flex-direction:column}.tds-dg-explorer .tds-school-director-students-toolbar .button{width:100%}.tds-school-director-students-table th,.tds-school-director-students-table td{padding:12px 8px}.tds-school-director-students-table th:nth-child(2),.tds-school-director-students-table td:nth-child(2){display:none}}
@media(max-width:768px){.tds-dg-explorer .tds-school-director-team-section+.tds-school-director-team-section{margin-top:24px}.tds-dg-explorer .tds-school-director-team-list li{align-items:flex-start;flex-direction:column;gap:8px}.tds-dg-explorer .tds-school-director-team-list a{align-self:flex-start}}

/* One canonical institutional sidebar becomes a phone drawer; desktop stays unchanged. */
.tds-portal-mobile-toolbar,.tds-portal-mobile-backdrop,.tds-portal-sidebar__mobile-header{display:none}
@media(max-width:700px){
.tds-portal-app{overflow:visible}
.tds-portal-mobile-toolbar{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 16px;background:var(--tds-portal-card);border-bottom:1px solid var(--tds-portal-border);color:var(--tds-portal-text)}
.tds-portal-mobile-toolbar__identity{font-size:14px;font-weight:800}
.tds-portal-mobile-menu-toggle,.tds-portal-mobile-menu-close{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--tds-portal-border);border-radius:var(--tds-ui-radius-control,8px);background:var(--tds-portal-card);color:var(--tds-portal-text);font-size:23px;line-height:1;cursor:pointer}
.tds-portal-mobile-menu-toggle:hover,.tds-portal-mobile-menu-close:hover{border-color:var(--tds-portal-purple);color:var(--tds-portal-purple)}
.tds-portal-sidebar{display:flex;position:fixed;z-index:1001;top:0;bottom:0;left:0;box-sizing:border-box;width:min(320px,86vw);max-width:86vw;padding:18px 16px;border-right:1px solid var(--tds-portal-border);box-shadow:0 16px 42px rgba(23,34,56,.22);overflow-y:auto;transform:translateX(-105%);transition:transform 180ms ease}
.tds-portal-app.is-mobile-nav-open .tds-portal-sidebar{transform:translateX(0)}
.tds-portal-sidebar__mobile-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--tds-portal-border);font-size:14px}
.tds-portal-mobile-backdrop{position:fixed;z-index:1000;inset:0;background:rgba(23,34,56,.48)}
.tds-portal-mobile-backdrop:not([hidden]){display:block}
.tds-portal-sidebar nav{display:grid;overflow:visible}
.tds-portal-sidebar nav a{flex:auto}
body.tds-portal-mobile-nav-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.tds-portal-sidebar{transition:none}}
