*{box-sizing:border-box}body{margin:0;background:#f6f2fc;color:#31134f;font:18px/1.6 system-ui,sans-serif}header{max-width:1140px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}a{color:#6410ed}header img{max-width:100%;height:auto}main{width:min(560px,calc(100% - 32px));margin:32px auto;padding:32px;background:white;border-radius:24px;box-shadow:0 16px 60px #31134f12}h1{font-size:clamp(28px,5vw,38px);line-height:1.2}.eyebrow{color:#6410ed;font-weight:700}nav{display:flex;gap:12px;margin:24px 0}button,input{font:inherit}button{padding:12px 18px;cursor:pointer;border:1px solid #d9cbed;border-radius:10px;background:white;color:#6410ed;min-height:48px;white-space:normal}button[aria-pressed=true],.primary{background:#6410ed;color:white}input{width:100%;padding:12px;border:1px solid #b9a7d1;border-radius:10px;margin:6px 0 18px;color:#31134f}label{display:block}.primary{width:100%;margin-top:14px}button:disabled{opacity:.6;cursor:wait}dt{color:#6e627b}dd{margin:0 0 20px;overflow-wrap:anywhere}#status{overflow-wrap:anywhere}#password-help{font-size:16px}[hidden]{display:none!important}:focus-visible{outline:3px solid #ab80ed;outline-offset:3px}@media(max-width:400px){header{padding:16px}header img{width:140px}header a{font-size:16px}main{padding:24px;margin-top:16px}nav button{padding:10px 12px}}
/* Shared cabinet design. */
body{background:radial-gradient(ellipse at top left,#e9ddff 0,transparent 55%),#f7f6fb}
header{max-width:1200px;padding-block:24px}header>a:last-child{text-decoration:none;font-weight:600;font-size:16px}
main{border:1px solid #ece5f5;box-shadow:0 12px 45px #31134f08}
h1{letter-spacing:-.035em}h2{font-size:24px;line-height:1.3;margin:0 0 20px;letter-spacing:-.02em}p{margin-top:0}.eyebrow{font-size:14px;letter-spacing:.06em;margin-bottom:12px}.muted{color:#736980}.small{font-size:15px}nav button{font-weight:600;border:0;background:#f0eafb}button[aria-pressed=true]{background:#6410ed;color:white}button:hover:not(:disabled){box-shadow:0 3px 12px #6410ed18}
.profile-view{width:min(1100px,calc(100% - 32px));background:transparent;border:0;box-shadow:none;padding:0}
.profile-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.profile-heading h1{margin:0 0 14px}.avatar{display:grid;place-items:center;background:#6410ed;color:white;border-radius:24px;width:84px;height:84px;flex-shrink:0;font:60px Georgia,serif}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:28px;background:white;border:1px solid #e7dff0;border-radius:20px}.panel-heading{display:flex;align-items:baseline;gap:12px;justify-content:space-between;flex-wrap:wrap}.badge{display:inline-block;font-size:13px;font-weight:600;background:#f0e9fc;color:#5a22b0;padding:5px 10px;border-radius:8px;margin-bottom:16px}.study-panel{background:#f0e9fc}.study-panel p{font-size:17px}.action-link{font-weight:600;text-decoration:none;display:inline-block;min-height:44px;padding-block:10px}.account-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.account-actions button{margin-left:auto;background:white;font-size:16px}
@media(max-width:700px){.profile-grid{grid-template-columns:1fr}.profile-heading{align-items:flex-start}.avatar{width:56px;height:56px;font-size:42px;border-radius:16px}.panel{padding:24px}.profile-heading h1{font-size:28px}.profile-heading .muted{font-size:16px}}
@media(max-width:400px){.profile-heading{gap:12px}.panel{padding:20px}.avatar{width:44px;height:44px;font-size:34px}.profile-view{margin-top:24px}}
.cabinet-nav{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.cabinet-nav a{font-size:16px;padding:10px 16px;border:1px solid #e2d6f0;background:white;border-radius:10px;text-decoration:none;min-height:44px}.cabinet-nav a:hover{background:#eee5fc}.learning-grid{margin-top:24px}.learning-grid .panel{scroll-margin-top:24px}.learning-grid p{font-size:16px}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:400px){.cabinet-nav a{padding:9px 12px}}

.material-summary-text{white-space:pre-wrap;overflow-wrap:anywhere}

.student-material-date{font-size:14px!important;color:#736980;margin-bottom:8px}.student-material-topic{font-size:20px;line-height:1.3;margin:0 0 16px}.student-material-deadline{background:#f0e9fc;padding:12px 14px;border-radius:10px;font-weight:600}.student-material-files{padding-left:20px;margin:8px 0 20px}.student-material-files li{padding:6px 0;overflow-wrap:anywhere;line-height:1.5}.student-material-files a{font-size:16px;display:inline-block;min-height:36px;padding-block:4px}.student-material-file-heading{font-weight:600;margin-bottom:0}.student-material-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.student-material-actions button{font-size:14px;min-height:40px;padding:8px 12px}.material-summary-text{font-size:16px;line-height:1.7}

.student-week-panel.schedule-main{max-width:none;width:100%;padding:24px;margin:24px 0;box-sizing:border-box}.student-week-panel #student-week-calendar.time-calendar{display:block;overflow-x:auto;overflow-y:hidden;border:1px solid #e5dcf3;border-radius:12px;position:relative;isolation:isolate;background:white}.student-week-panel h3{margin:0;flex:1}#student-lesson-details{margin-top:16px;border-top:1px solid #e5dcf3;padding-top:16px}#student-lesson-details>button{float:right}.student-week-panel .schedule-toolbar button{min-height:44px}@media(max-width:650px){.student-week-panel.schedule-main{padding:14px}}

.student-calendar-range{display:grid;gap:6px;max-width:380px;font-size:14px;margin:16px 0}

#profile-edit-form{margin-top:20px;border-top:1px solid #e5dcf3;padding-top:20px}#profile-edit-form[hidden]{display:none}#profile-edit-form label{display:grid;gap:6px;margin-bottom:12px}#profile-edit-form select{width:100%;box-sizing:border-box;min-height:44px;padding:12px;border:1px solid #b9a7d1;border-radius:10px;background:white;color:inherit;font:inherit}#profile-edit-status{overflow-wrap:anywhere}

.profile-summary-grid{grid-template-columns:1fr}.profile-heading-tools{display:flex;align-items:center;gap:16px;flex-shrink:0}#profile-dialog{width:min(640px,calc(100vw - 32px));max-height:90dvh;overflow:auto;box-sizing:border-box;padding:24px;border:1px solid #d8c9ee;border-radius:18px;background:white;color:#321653}#profile-dialog::backdrop{background:#24103a66}.profile-dialog-close{float:right;min-height:40px;margin:0 0 12px 16px}.profile-dialog-card{clear:both}.profile-dialog-card h2{margin:0}.profile-dialog-card dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 16px}.profile-dialog-card dt{color:#736980;font-size:14px}.profile-dialog-card dd{margin:0;overflow-wrap:anywhere}#profile-dialog-status:empty{display:none}@media(max-width:600px){.profile-heading-tools .avatar{display:none}.profile-heading-tools{flex-shrink:1}.profile-dialog-card dl{grid-template-columns:1fr;gap:4px}.profile-dialog-card dd{margin-bottom:10px}}
