/* Student-only learning surfaces; no gradients or staff layout overrides. */
.student-campus { max-width: 1220px; margin: 0 auto; color: var(--navy); }
.campus-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.campus-heading h1 { font-size:clamp(27px,3vw,36px); letter-spacing:-.035em; margin:6px 0 10px; }
.campus-heading p { margin:0; }
.campus-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:start; gap:24px; }
.campus-main,.campus-side { display:grid; gap:24px; min-width:0; }
.campus-next { padding:28px; border:1px solid var(--line); border-left:4px solid #457be8; border-radius:16px; background:var(--surface); }
.campus-next .eyebrow { margin-top:0; }
.campus-next__body { display:flex; align-items:center; gap:22px; margin:22px 0; }
.campus-next h2 { font-size:23px; line-height:1.35; margin:0 0 8px; letter-spacing:-.02em; }
.campus-next p { line-height:1.5; margin:6px 0; }
.campus-date { flex:0 0 78px; display:grid; place-items:center; gap:3px; padding:16px 8px; border-radius:12px; background:#edf2ff; color:#2e58a9; }
.campus-date strong { font-size:32px; line-height:1; }
.campus-date span { font-size:12px; }
.campus-section h2,.student-campus .card h2 { font-size:18px; margin-top:0; }
.student-campus .section-heading { gap:12px; align-items:center; margin-bottom:16px; }
.student-campus .section-heading h2 { margin:0; }
.student-campus .section-heading>a { font-size:13px; white-space:nowrap; color:var(--blue); text-decoration:none; }
.campus-course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.campus-course { display:block; border:1px solid var(--line); border-radius:14px; overflow:hidden; text-decoration:none; background:var(--surface); transition:border-color .15s,box-shadow .15s; min-width:0; }
.campus-course:hover { border-color:var(--blue); box-shadow:0 4px 16px #18335b0b; }
.campus-course__cover { display:flex; align-items:center; justify-content:space-between; height:100px; padding:20px 24px; background:#e8efff; color:#3454a5; }
.campus-course:nth-child(even) .campus-course__cover { background:#e5f2ef; color:#276b61; }
.campus-course__cover span:first-child { font-family:ui-monospace,Consolas,monospace; font-size:38px; font-weight:700; letter-spacing:-.08em; }
.campus-course__cover span:last-child { font-size:12px; font-weight:700; }
.campus-course__content { padding:20px; }
.campus-course .eyebrow { font-size:10px; margin:0 0 8px; }
.campus-course h3 { font-size:18px; line-height:1.35; margin:0 0 9px; letter-spacing:-.02em; }
.campus-course p { font-size:12px; line-height:1.6; margin:8px 0; }
.campus-course__progress { padding-top:10px; border-top:1px solid var(--line); color:var(--muted); }
.campus-course__open { display:flex; justify-content:space-between; margin-top:16px; color:var(--blue); font-size:13px; font-weight:600; }
.student-campus .learning-item { padding:16px 0; gap:7px; }
.student-campus .learning-item:last-child { border-bottom:0; }
.student-campus .learning-item strong { font-size:15px; line-height:1.5; }
.student-campus .learning-item :is(time,.muted) { font-size:12px; line-height:1.6; }
.campus-summary>a { display:flex; align-items:center; gap:16px; padding:16px 0; text-decoration:none; border-bottom:1px solid var(--line); }
.campus-summary>a:last-child { border:0; padding-bottom:0; }
.campus-summary strong { font-size:26px; font-variant-numeric:tabular-nums; min-width:32px; }
.campus-summary span { font-size:12px; color:var(--muted); }
.campus-telegram__icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#e9f3fd; color:#186699; font-size:24px; margin-bottom:18px; }
.campus-telegram p { font-size:13px; line-height:1.6; }
.campus-telegram .button { width:100%; }
.campus-results { display:flex; align-items:center; gap:10px; padding:18px; border:1px solid var(--line); background:var(--surface); border-radius:12px; text-decoration:none; font-size:13px; }
.campus-results svg { width:20px; height:20px; }
.campus-results span:last-child { margin-left:auto; }
.campus-material { display:flex; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.campus-material:last-child { border:0; }
.campus-material>span:nth-child(2) { flex:1; min-width:0; }
.campus-material strong { display:block; font-size:14px; overflow-wrap:anywhere; }
.campus-material small { display:block; color:var(--muted); font-size:12px; margin-top:6px; }
.campus-file-icon { background:var(--workspace-soft); width:40px; height:44px; display:grid; place-items:center; border-radius:8px; flex-shrink:0; }
.campus-file-icon svg { width:20px; height:20px; }
.campus-back { display:inline-block; margin-bottom:20px; font-size:14px; color:var(--muted); text-decoration:none; }
.student-workspace .shell { padding-top:30px; }
.student-workspace .lesson-hero { border:1px solid var(--line); }
.student-access h1 { font-size:28px; letter-spacing:-.025em; }
.student-access .credentials dd { font-family:ui-monospace,Consolas,monospace; overflow-wrap:anywhere; font-size:17px; }
.student-access .access-message { display:block; margin:10px 0 0; width:100%; resize:vertical; padding:14px; border:1px solid var(--line); background:var(--workspace-soft); color:var(--navy); border-radius:10px; font-family:inherit; font-size:14px; line-height:1.65; }
.student-access label { font-weight:600; }
.access-steps { padding-left:20px; line-height:1.8; }
.access-steps li { margin:12px 0; }
.access-warning { padding:14px; border:1px solid var(--line); border-left:3px solid #c88b29; border-radius:8px; }
.student-campus a:focus-visible,.student-access :is(a,button,textarea):focus-visible { outline:3px solid #6095ed; outline-offset:4px; }
html[data-theme="dark"] .campus-course__cover { background:#233459; color:#b6ccff; }
html[data-theme="dark"] .campus-course:nth-child(even) .campus-course__cover { background:#1f3d39; color:#a1ded1; }
html[data-theme="dark"] .campus-date { background:#243552; color:#c5d8ff; }
html[data-theme="dark"] .campus-telegram__icon { background:#24394e; color:#9ed6ff; }
@media(max-width:1180px) { .campus-layout { grid-template-columns:minmax(0,1fr) 260px; gap:18px; } }
@media(max-width:960px) { .campus-layout { grid-template-columns:1fr; } .campus-side { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .student-workspace .shell { padding-top:22px; }
 .campus-heading { align-items:flex-start; gap:16px; margin-bottom:22px; flex-direction:column; }
 .campus-heading>.button { min-height:44px; }
 .campus-next { padding:20px; }
 .campus-next__body { align-items:flex-start; gap:14px; margin:18px 0; }
 .campus-date { flex-basis:60px; padding:14px 5px; }
 .campus-date strong { font-size:28px; }
 .campus-next h2 { font-size:20px; }
 .campus-next p { font-size:13px; }
 .campus-course-grid,.campus-side { grid-template-columns:1fr; }
 .campus-course__cover { height:85px; }
 .student-campus .card { padding:20px; }
 .student-campus .section-heading { flex-wrap:wrap; }
 .student-access .heading-actions { flex-direction:column; align-items:stretch; }
 .student-access .credentials { gap:8px; }
}
.student-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:var(--surface,#fff);border-bottom:2px solid #3b82f6;color:var(--navy,#172b4d)}
.student-preview-banner div{display:grid;gap:4px}.student-preview-banner span{font-size:13px}.student-preview-banner form{margin:0}.student-preview-action{margin-bottom:16px}
@media(max-width:600px){.student-preview-banner{align-items:stretch;flex-direction:column;padding:12px 16px}}
.student-agenda-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(140px,1.4fr) auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border,#dce3eb)}
.student-agenda-row:last-child{border-bottom:0}.student-agenda-row time{display:grid;gap:6px}.student-agenda-row time strong{text-transform:capitalize}.student-agenda-row p{margin:6px 0 0;font-size:13px}.student-agenda-row>span{font-size:13px}
.student-exercise-list{list-style:none;counter-reset:exercise;padding:0;display:grid;gap:16px}.student-exercise-list li{counter-increment:exercise;padding:18px;border:1px solid var(--border,#dce3eb);border-radius:12px;line-height:1.7;overflow-wrap:anywhere}.student-exercise-list li:before{content:'Задание ' counter(exercise);display:block;font-size:12px;font-weight:700;color:var(--muted,#6b778c);margin-bottom:8px}.student-task-statement{line-height:1.8;overflow-wrap:anywhere}.student-task-content details{font-size:13px}.checkbox-row{display:flex;align-items:flex-start;gap:10px}.checkbox-row input{width:18px;height:18px;flex:none;margin:2px 0}
@media(max-width:700px){.student-agenda-row{grid-template-columns:1fr;gap:10px}.student-agenda-row .button{justify-self:start}.student-exercise-list li{padding:14px}}
