:root {
    --bg: #020617;
    --panel: #071426;
    --panel2: #0b213f;
    --border: #21476d;
    --text: #f8fafc;
    --muted: #93a8bd;
    --cyan: #38d8ff;
    --blue: #147df5;
    --green: #22c55e;
    --red: #ef4444;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: "Segoe UI", Arial, sans-serif;
    color: var(--text);
    background:
        radial-gradient(
            circle at 20% 10%,
            rgba(20, 125, 245, .25),
            transparent 35%
        ),
        radial-gradient(
            circle at 85% 80%,
            rgba(124, 58, 237, .18),
            transparent 35%
        ),
        var(--bg);
}

a {
    color: var(--cyan);
}

button,
input,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

.eyebrow {
    color: var(--cyan);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.login-page {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    align-items: center;
    gap: 70px;
    width: min(1180px, 92%);
    margin: auto;
}

.login-brand h1 {
    margin: 0;
    font-size: clamp(52px, 7vw, 90px);
    line-height: .92;
}

.login-brand h1 span {
    color: var(--cyan);
}

.login-brand > p:last-child {
    color: #c5d3e2;
    font-size: 18px;
    line-height: 1.7;
    max-width: 560px;
}

.logo-star {
    color: var(--cyan);
    font-size: 70px;
}

.login-card,
.panel,
.dashboard-card {
    border: 1px solid var(--border);
    background: rgba(7, 20, 38, .93);
    box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}

.login-card {
    padding: 34px;
    border-radius: 28px;
}

.login-card h2 {
    margin: 5px 0 20px;
    font-size: 32px;
}

.login-card form {
    display: grid;
    gap: 10px;
}

label {
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 700;
}

input,
select {
    width: 100%;
    min-height: 46px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--panel2);
    color: white;
    padding: 0 13px;
    outline: none;
}

input:focus,
select:focus {
    border-color: var(--cyan);
    box-shadow: 0 0 0 3px rgba(56, 216, 255, .12);
}

button {
    min-height: 42px;
    border: 0;
    border-radius: 11px;
    color: white;
    background: linear-gradient(
        90deg,
        var(--blue),
        #00bde7
    );
    font-weight: 800;
    padding: 0 14px;
}

.login-card button {
    min-height: 52px;
    margin-top: 12px;
}

.login-card small {
    display: block;
    margin-top: 18px;
    color: var(--muted);
    line-height: 1.6;
}

.flash {
    margin: 12px 0;
    padding: 12px 14px;
    border-radius: 12px;
}

.flash.success {
    color: #a7f3d0;
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(34, 197, 94, .35);
}

.flash.error {
    color: #fecaca;
    background: rgba(239, 68, 68, .12);
    border: 1px solid rgba(239, 68, 68, .35);
}

.admin-layout {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 245px 1fr;
}

.sidebar {
    height: 100vh;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    padding: 25px 16px;
    border-right: 1px solid var(--border);
    background: rgba(2, 14, 29, .96);
}

.sidebar h2 {
    margin: 0;
}

.sidebar > strong {
    color: var(--cyan);
    letter-spacing: 5px;
    margin-bottom: 30px;
}

.sidebar nav {
    display: grid;
    gap: 8px;
}

.sidebar nav a,
.logout {
    text-decoration: none;
    color: #cbd5e1;
    padding: 13px;
    border-radius: 11px;
}

.sidebar nav a.active,
.sidebar nav a:hover {
    background: rgba(20, 125, 245, .22);
    color: white;
}

.logout {
    margin-top: auto;
    color: #fca5a5;
}

.admin-main {
    padding: 28px;
    min-width: 0;
}

.admin-main header h1 {
    margin: 0;
}

.admin-main header p:last-child {
    color: var(--muted);
}

.panel {
    border-radius: 20px;
    padding: 22px;
    margin-top: 18px;
}

.panel h2 {
    margin-top: 0;
}

.user-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
}

.user-form > div {
    display: grid;
    gap: 7px;
}

.user-form button {
    align-self: end;
}

.help {
    color: var(--muted);
    font-size: 13px;
    margin-bottom: 0;
}

.panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.panel-heading span {
    color: var(--muted);
}

.table-wrap {
    overflow-x: auto;
}

table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
}

th,
td {
    padding: 12px 10px;
    border-bottom: 1px solid rgba(33, 71, 109, .65);
    text-align: left;
    vertical-align: middle;
}

th {
    color: #8fb0cf;
    font-size: 12px;
}

td {
    font-size: 13px;
}

td strong,
td small {
    display: block;
}

td small {
    color: var(--muted);
    margin-top: 3px;
}

.role,
.status {
    display: inline-block;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.role-student {
    background: rgba(20, 125, 245, .16);
    color: #93c5fd;
}

.role-parent {
    background: rgba(168, 85, 247, .16);
    color: #d8b4fe;
}

.role-teacher {
    background: rgba(34, 197, 94, .16);
    color: #86efac;
}

.role-admin {
    background: rgba(245, 158, 11, .16);
    color: #fcd34d;
}

.status.active {
    background: rgba(34, 197, 94, .16);
    color: #86efac;
}

.status.passive {
    background: rgba(239, 68, 68, .16);
    color: #fca5a5;
}

.inline-form {
    display: flex;
    gap: 7px;
}

.inline-form input {
    min-width: 120px;
}

.actions {
    display: flex;
    gap: 7px;
}

.secondary {
    background: #28496a;
}

.danger {
    background: #b91c1c;
}

.simple-dashboard {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 30px;
}

.dashboard-card {
    width: min(720px, 100%);
    padding: 36px;
    border-radius: 24px;
}

.student-link-card {
    display: flex;
    justify-content: space-between;
    margin: 10px 0;
    padding: 14px;
    border-radius: 12px;
    background: var(--panel2);
}

.student-link-card span {
    color: var(--muted);
}

/* Öğrenci portalı */
.student-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
}

.student-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 26px 18px;
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(56, 216, 255, .16);
    background: rgba(3, 13, 27, .96);
}

.student-brand {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 42px;
}

.brand-mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #03111f;
    background: linear-gradient(135deg, var(--cyan), #7dd3fc);
    font-weight: 900;
}

.student-brand strong,
.student-brand small {
    display: block;
}

.student-brand small {
    margin-top: 3px;
    color: var(--muted);
}

.student-sidebar nav {
    display: grid;
    gap: 7px;
}

.student-sidebar nav a,
.student-logout {
    padding: 13px 14px;
    border-radius: 12px;
    color: #a9bdd1;
    text-decoration: none;
    font-weight: 650;
}

.student-sidebar nav a:hover,
.student-sidebar nav a.active {
    color: white;
    background: linear-gradient(90deg, rgba(20, 125, 245, .3), rgba(56, 216, 255, .08));
}

.student-logout {
    margin-top: auto;
    color: #fca5a5;
}

.student-main {
    width: min(1400px, 100%);
    padding: 34px clamp(20px, 4vw, 55px) 60px;
}

.student-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 25px;
}

.student-header h1 {
    margin: 3px 0 8px;
    font-size: clamp(30px, 4vw, 46px);
}

.student-header > div > p:last-child {
    margin: 0;
    color: var(--muted);
}

.student-avatar {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border: 2px solid rgba(56, 216, 255, .5);
    border-radius: 20px;
    color: var(--cyan);
    background: rgba(56, 216, 255, .1);
    font-size: 20px;
    font-weight: 900;
}

.metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.metric-card,
.student-panel {
    border: 1px solid rgba(63, 105, 145, .44);
    background: rgba(7, 20, 38, .9);
    box-shadow: 0 20px 50px rgba(0, 0, 0, .18);
}

.metric-card {
    position: relative;
    overflow: hidden;
    min-height: 145px;
    padding: 22px;
    border-radius: 19px;
}

.metric-card::after {
    content: "";
    position: absolute;
    width: 90px;
    height: 90px;
    right: -35px;
    top: -35px;
    border-radius: 50%;
    background: currentColor;
    opacity: .1;
}

.metric-card span,
.metric-card small {
    display: block;
    color: var(--muted);
}

.metric-card strong {
    display: block;
    margin: 8px 0 5px;
    font-size: 35px;
}

.metric-card small { font-size: 12px; }
.cyan-card { color: var(--cyan); }
.purple-card { color: #c084fc; }
.green-card { color: #4ade80; }
.orange-card { color: #fbbf24; }

.student-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(270px, .7fr);
    gap: 18px;
    margin-top: 18px;
}

.student-content-grid.lower-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.student-panel {
    padding: 24px;
    border-radius: 20px;
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 18px;
}

.section-heading h2,
.section-heading p { margin: 0; }
.section-heading h2 { margin-top: 5px; font-size: 21px; }

.section-badge {
    padding: 6px 10px;
    border-radius: 999px;
    color: #9bdff0;
    background: rgba(56, 216, 255, .1);
    font-size: 12px;
}

.activity-list,
.compact-list { display: grid; gap: 10px; }

.activity-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border-radius: 15px;
    background: rgba(11, 33, 63, .58);
}

.score-ring {
    flex: 0 0 47px;
    height: 47px;
    display: grid;
    place-items: center;
    border: 2px solid;
    border-radius: 50%;
    font-weight: 900;
}

.score-ring.good { color: #4ade80; }
.score-ring.medium { color: #fbbf24; }
.score-ring.low { color: #fb7185; }
.activity-copy { min-width: 0; }
.activity-copy p {
    margin: 4px 0;
    overflow: hidden;
    color: #bed0df;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.activity-copy small,
.compact-list small,
.goal-grid small { color: var(--muted); }

.attendance-panel { text-align: center; }
.attendance-panel .section-heading { text-align: left; }
.attendance-chart {
    width: 175px;
    height: 175px;
    display: grid;
    place-items: center;
    margin: 12px auto 22px;
    border-radius: 50%;
    background: conic-gradient(var(--cyan) calc(var(--rate) * 1%), rgba(56, 216, 255, .1) 0);
}
.attendance-chart::before {
    content: "";
    position: absolute;
    width: 132px;
    height: 132px;
    border-radius: 50%;
    background: #071426;
}
.attendance-chart div { position: relative; z-index: 1; }
.attendance-chart strong,
.attendance-chart small { display: block; }
.attendance-chart strong { font-size: 32px; }
.attendance-chart small { color: var(--muted); }
.attendance-legend { display: flex; justify-content: center; gap: 18px; font-size: 12px; color: var(--muted); }
.attendance-legend strong { color: white; }
.attendance-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; }
.present-dot { background: var(--cyan); }
.absent-dot { background: #334b63; }

.compact-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px;
    border-radius: 13px;
    background: rgba(11, 33, 63, .58);
}
.compact-list strong,
.compact-list small { display: block; }
.compact-list small { margin-top: 4px; }
.result-value { text-align: right; }
.result-value strong { color: var(--cyan); }
.task-list article { justify-content: flex-start; }
.task-check { color: var(--cyan); font-size: 22px; }
.task-list .completed { opacity: .55; }
.task-list .completed strong { text-decoration: line-through; }

.goals-panel { margin-top: 18px; }
.goal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.goal-grid article { padding: 16px; border-radius: 14px; background: rgba(11, 33, 63, .58); }
.goal-grid article > div:first-child { display: flex; justify-content: space-between; gap: 10px; }
.goal-grid article > div:first-child span { color: var(--cyan); font-weight: 800; }
.goal-grid p { color: var(--muted); font-size: 13px; }
.progress-track { height: 7px; margin: 12px 0; overflow: hidden; border-radius: 9px; background: #183047; }
.progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--cyan)); }

.empty-state {
    min-height: 125px;
    display: grid;
    place-content: center;
    justify-items: center;
    color: var(--muted);
    text-align: center;
}
.empty-state span { color: var(--cyan); font-size: 30px; }
.empty-state p { margin: 9px 0 0; }

/* Öğretmen portalı */
.teacher-content-grid { grid-template-columns: minmax(0, 1.5fr) minmax(300px, .7fr); }
.teacher-student-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.teacher-student-list article {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 14px;
    border-radius: 14px;
    background: rgba(11, 33, 63, .58);
}
.mini-avatar {
    flex: 0 0 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--cyan);
    background: rgba(56, 216, 255, .1);
    font-weight: 900;
}
.teacher-student-list article > div { min-width: 0; flex: 1; }
.teacher-student-list strong,
.teacher-student-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.teacher-student-list small { margin-top: 4px; color: var(--muted); }
.student-status {
    padding: 5px 8px;
    border-radius: 999px;
    color: #86efac;
    background: rgba(34, 197, 94, .12);
    font-size: 11px;
    font-weight: 800;
}
.teacher-exam-list article { justify-content: flex-start; }
.exam-icon { color: #c084fc; font-size: 23px; }
.student-manage-link { padding: 7px 9px; border-radius: 9px; color: white; background: var(--blue); text-decoration: none; font-size: 12px; font-weight: 800; }
.assignment-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 13px; }
.assignment-form > div, .entry-form { display: grid; gap: 7px; }
.assignment-list { display: grid; gap: 8px; margin-top: 18px; }
.assignment-list > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 13px; border-radius: 12px; background: var(--panel2); }
.assignment-list small { color: var(--muted); }
.entry-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.entry-form textarea { min-height: 78px; resize: vertical; border: 1px solid var(--border); border-radius: 12px; background: var(--panel2); color: white; padding: 11px; font: inherit; }
.entry-form button { margin-top: 7px; }
.records-summary { margin-top: 18px; }
.summary-columns { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.summary-columns > div { padding: 15px; border-radius: 14px; background: rgba(11,33,63,.58); }
.summary-columns p { padding-bottom: 9px; border-bottom: 1px solid rgba(63,105,145,.25); }
.summary-columns strong,.summary-columns small { display:block; }
.summary-columns small { margin-top:4px;color:var(--muted); }
.parent-student-block { margin: 18px 0 30px; padding: 22px; border: 1px solid rgba(63,105,145,.35); border-radius: 22px; background: rgba(7,20,38,.55); }
.parent-metrics { margin-top: 16px; }
.parent-progress { margin-top:18px; }
.parent-goal { margin: 10px 0; padding: 13px; border-radius: 13px; background: rgba(11,33,63,.58); }
.parent-goal > div:first-child { display:flex;justify-content:space-between; }
.parent-goal span { color:var(--cyan);font-weight:800; }
.student-profile-photo{width:82px;height:82px;border-radius:50%;object-fit:cover;border:3px solid var(--cyan)}
.account-form{max-width:520px}.mini-button{padding:7px 10px;font-size:12px}.task-list article form{margin-left:auto}
.entry-form input[type="file"]{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--muted)}
.teacher-sections{grid-column:span 2}.teacher-sections select{min-height:180px}.teacher-sections small{color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tag-list span{padding:7px 9px;border-radius:999px;background:var(--panel2);font-size:12px}
.user-form [hidden],.checkbox-field[hidden],.checkbox-grid label[hidden]{display:none!important}.checkbox-field{grid-column:1/-1;border:1px solid var(--border);border-radius:14px;padding:14px}.checkbox-field legend{padding:0 8px;font-weight:800}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.checkbox-grid label{display:flex;align-items:center;gap:8px;padding:9px;border-radius:10px;background:var(--panel2);cursor:pointer}.checkbox-grid input{width:auto;margin:0}
.professional-entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.teacher-tools{display:flex;gap:10px;margin:18px 0}
.admin-overview-grid { display:grid;grid-template-columns:1.4fr 1fr;gap:18px; }
.audit-list { display:grid;gap:9px; }
.audit-list article { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px;border-radius:12px;background:var(--panel2); }
.audit-list strong,.audit-list small { display:block; }
.audit-list small,.audit-list time { margin-top:4px;color:var(--muted);font-size:12px; }
.settings-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.health-card { margin-top:18px; }
.health-card span,.health-card small { display:block;color:var(--muted); }
.health-card strong { display:block;margin:8px 0;font-size:30px;word-break:break-word; }
.health-card small { font-size:11px; }
.health-ok { color:#4ade80; }.health-bad { color:#fb7185; }
.backup-list,.security-checks { display:grid;gap:9px;margin-top:15px; }
.backup-list div,.security-checks span { padding:12px;border-radius:11px;background:var(--panel2); }
.backup-list strong,.backup-list small { display:block; }.backup-list small { color:var(--muted);margin-top:3px; }
.security-checks { grid-template-columns:repeat(2,minmax(0,1fr)); }.security-checks span { color:#a7f3d0; }
.academic-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }.academic-grid .panel{margin-top:18px}.subheading{margin-top:25px!important}.exam-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.academic-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.academic-summary span{padding:15px;border-radius:12px;background:var(--panel2);text-align:center}.button-link{display:inline-block;padding:12px 16px;border-radius:11px;color:white;background:var(--blue);text-decoration:none;font-weight:800}.analysis-card{width:min(900px,100%)}.analysis-details{padding:18px;border-radius:15px;background:var(--panel2)}
.admin-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.admin-tabs button{width:auto;background:var(--panel2);border:1px solid var(--border);color:var(--muted)}.admin-tabs button.active{background:var(--blue);border-color:var(--blue);color:#fff}.tab-panel[hidden]{display:none!important}.tab-panel>.panel{margin-top:0}.compact-form{max-width:680px}.assignment-list form{margin-left:auto}
.filter-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.filter-bar select{width:100%}
.child-panel[hidden]{display:none!important}
.coach-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.coach-agenda{display:grid;gap:18px;align-content:start}.coach-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.coach-student-card{padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--panel2)}.coach-card-head{display:flex;align-items:center;gap:10px}.coach-card-head>div{flex:1}.coach-card-head strong,.coach-card-head small{display:block}.coach-card-head small{margin-top:4px;color:var(--muted)}.coach-mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}.coach-mini-metrics span{padding:8px;border-radius:9px;background:rgba(3,12,25,.38);font-size:11px;text-align:center}.coach-mini-metrics b{display:block;color:var(--cyan);font-size:15px}.risk-pill{padding:6px 8px;border-radius:999px;font-size:11px;font-weight:800}.risk-düşük{background:#14532d;color:#bbf7d0}.risk-orta{background:#713f12;color:#fde68a}.risk-yüksek,.risk-kritik{background:#7f1d1d;color:#fecaca}.risk-reason{min-height:35px;color:var(--muted);font-size:12px}.risk-score{min-width:112px;padding:12px 18px;border-radius:18px;text-align:center}.risk-score small,.risk-score span{display:block}.risk-score strong{display:block;font-size:32px}.risk-banner{margin:16px 0;padding:13px 16px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.coach-tabs{position:sticky;top:8px;z-index:5;padding:9px;border-radius:14px;background:rgba(4,16,32,.95);backdrop-filter:blur(10px)}.coach-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.coach-entry-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:18px}.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profile-facts span,.report-summary article,.list-card{padding:12px;border-radius:11px;background:var(--panel2)}.profile-facts b,.report-summary span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.important-note{margin-top:13px;padding:13px;border-left:3px solid var(--orange);background:rgba(251,146,60,.08)}.timeline{display:grid;gap:10px}.timeline article{padding:14px;border-left:3px solid var(--cyan);border-radius:0 12px 12px 0;background:var(--panel2)}.timeline time,.timeline strong,.timeline small{display:block}.timeline time,.timeline small{color:var(--muted);font-size:12px}.timeline strong{margin:5px 0}.check-line{display:flex!important;align-items:center;gap:8px}.check-line input{width:auto}.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.report-summary strong{font-size:18px}

@media (max-width: 900px) {
    .login-page {
        grid-template-columns: 1fr;
        padding: 30px 0;
    }

    .login-brand {
        display: none;
    }

    .admin-layout {
        grid-template-columns: 1fr;
    }

    .student-shell { grid-template-columns: 1fr; }
    .student-sidebar { position: static; height: auto; flex-direction: row; align-items: center; gap: 15px; }
    .student-brand { margin: 0 auto 0 0; }
    .student-sidebar nav { display: none; }
    .student-logout { margin: 0; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .student-content-grid { grid-template-columns: 1fr; }
    .teacher-content-grid { grid-template-columns: 1fr; }
    .entry-grid { grid-template-columns: 1fr; }
    .assignment-form { grid-template-columns: 1fr 1fr; }
    .admin-overview-grid,.settings-grid { grid-template-columns:1fr; }
    .academic-grid{grid-template-columns:1fr}.exam-form{grid-template-columns:repeat(2,1fr)}
    .summary-columns { grid-template-columns: 1fr; }
    .checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .coach-dashboard-grid,.coach-entry-layout{grid-template-columns:1fr}.coach-student-grid,.coach-detail-grid{grid-template-columns:1fr}

    .sidebar {
        position: static;
        height: auto;
    }

    .user-form {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .user-form {
        grid-template-columns: 1fr;
    }

    .admin-main {
        padding: 15px;
    }

    .student-main { padding: 22px 14px 45px; }
    .student-avatar { display: none; }
    .metric-grid,
    .student-content-grid.lower-grid,
    .goal-grid { grid-template-columns: 1fr; }
    .teacher-student-list { grid-template-columns: 1fr; }
    .professional-entry-grid { grid-template-columns: 1fr; }
    .assignment-form { grid-template-columns: 1fr; }
    .student-sidebar { padding: 14px; }
    .student-brand small { display: none; }
    .checkbox-grid{grid-template-columns:1fr}
    .coach-mini-metrics,.report-summary,.profile-facts{grid-template-columns:1fr}.coach-tabs{position:static}
}
/* Tenant white-label tokens; defaults preserve the existing visual identity. */
:root {
    --tenant-primary: #0B5ED7;
    --tenant-secondary: #08233F;
    --tenant-accent: #19C2FF;
}
