.student-shell{min-height:100dvh;background:#f5f7fb;color:#0f172a;display:flex;flex-direction:column}.student-shell-main{flex:1 1;width:min(680px,100%);margin:0 auto;display:grid;grid-gap:16px;gap:16px;align-content:start;padding:calc(16px + env(safe-area-inset-top)) 16px calc(112px + env(safe-area-inset-bottom))}.student-shell-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-shell-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}.student-shell-logo{width:44px;height:44px;border-radius:14px;object-fit:contain;background:#ffffff;padding:4px}.student-shell-brand-copy{display:grid;min-width:0}.student-shell-brand-copy strong{font-size:1.05rem;line-height:1.25}.student-shell-brand-copy small{color:#64748b;font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-shell-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.student-bell-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#ffffff;color:#2563eb;border:1px solid #e2e8f0}.student-shell-header-actions .logout-button{min-height:44px;padding:0 12px;border-radius:14px}.student-shell-footer{color:#94a3b8;font-size:.75rem;text-align:center;padding-top:8px}.student-bottom-nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);background:#ffffff;border-top:1px solid #e2e8f0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:40}.student-bottom-link{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:8px 2px;min-height:56px;color:#64748b;text-decoration:none;font-size:.72rem;border-radius:12px}.student-bottom-link.is-active{color:#2563eb;background:#eff6ff;font-weight:600}.student-welcome h1{font-size:1.5rem;margin:0 0 4px}.student-welcome p{margin:0;color:#475569}.student-panel{background:#ffffff;border:1px solid #e5e9f2;border-radius:18px;padding:16px;display:grid;grid-gap:10px;gap:10px;align-content:start}.student-eyebrow{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#64748b;font-weight:600}.student-section{display:grid;grid-gap:12px;gap:12px}.student-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.student-section-title{font-size:1.05rem;margin:0}.student-section-link{display:inline-flex;align-items:center;gap:4px;color:#2563eb;text-decoration:none;font-size:.85rem;font-weight:600;min-height:40px}.student-progress-headline{font-size:1.2rem;font-weight:700;margin:0}.student-progress-line{margin:0;color:#475569;font-size:.9rem}.student-progress-bar{height:10px;border-radius:999px;background:#e2e8f0;overflow:hidden}.student-progress-bar span{display:block;height:100%;background:#2563eb;border-radius:999px}.student-task-list{display:grid;grid-gap:12px;gap:12px}.student-task-card{background:#ffffff;border:1px solid #e5e9f2;border-radius:18px;padding:16px;display:grid;grid-gap:10px;gap:10px}.student-task-card.is-hero{border-color:#bfdbfe;box-shadow:0 10px 30px rgba(37,99,235,.12)}.student-task-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.student-task-card-title h3{margin:2px 0 0;font-size:1.05rem;line-height:1.35}.student-task-subject{display:inline-block;font-size:.75rem;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.04em}.student-task-topic{margin:4px 0 0;color:#475569;font-size:.88rem}.student-task-status{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-size:.74rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.student-task-status.tone-neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.student-task-status.tone-info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.student-task-status.tone-success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.student-task-status.tone-waiting{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.student-task-status.tone-warning{background:#fffbeb;color:#b45309;border-color:#fde68a}.student-task-status.tone-danger{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.student-task-meta{margin:0;color:#64748b;font-size:.85rem}.student-task-tags{display:flex;flex-wrap:wrap;gap:6px}.student-task-tag{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;color:#475569;border-radius:999px;padding:4px 10px;font-size:.74rem}.student-task-tag.is-personal{background:#fef9c3;color:#854d0e}.student-task-result{display:flex;flex-wrap:wrap;gap:14px;margin:0;padding:10px 12px;background:#f8fafc;border-radius:12px}.student-task-result div{display:grid;grid-gap:2px;gap:2px}.student-task-result dt{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.student-task-result dd{margin:0;font-weight:700}.student-task-note,.student-task-teacher-note{margin:0;font-size:.85rem;color:#475569;background:#f8fafc;border-radius:12px;padding:8px 10px}.student-task-actions{display:flex;flex-wrap:wrap;gap:8px}.student-add-task-button,.student-ghost-button,.student-primary-button,.student-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:0 18px;border-radius:14px;font-size:.95rem;font-weight:600;border:1px solid transparent;cursor:pointer;text-decoration:none;font-family:inherit}.student-primary-button{background:#2563eb;color:#ffffff}.student-ghost-button:disabled,.student-primary-button:disabled,.student-secondary-button:disabled{opacity:.6;cursor:not-allowed}.student-secondary-button{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.student-ghost-button{background:transparent;color:#64748b;border-color:#e2e8f0}.student-add-task-button{background:#ffffff;color:#2563eb;border:1px dashed #93c5fd;width:100%}.student-task-form{display:grid;grid-gap:10px;gap:10px;border-top:1px solid #e2e8f0;padding-top:12px}.student-task-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.student-field{display:grid;grid-gap:5px;gap:5px;font-size:.82rem;color:#475569;font-weight:600}.student-field input,.student-field select,.student-field textarea{min-height:48px;border-radius:12px;border:1px solid #cbd5e1;padding:10px 12px;font-size:1rem;font-family:inherit;color:#0f172a;background:#ffffff}.student-field textarea{min-height:76px;resize:vertical}.student-form-hint{margin:0;font-size:.8rem;color:#64748b}.student-inline-feedback{margin:0;border-radius:12px;padding:9px 12px;font-size:.85rem}.student-inline-feedback.is-ok{background:#ecfdf5;color:#047857}.student-inline-feedback.is-error{background:#fef2f2;color:#b91c1c}.student-empty-state{margin:0;padding:18px;border-radius:16px;background:#ffffff;border:1px dashed #cbd5e1;color:#64748b;text-align:center}.student-warning-panel{border-color:#fde68a;background:#fffbeb}.student-coach-card,.student-highlight-card,.student-suggestion-card{display:flex;align-items:flex-start;gap:12px;text-decoration:none;color:inherit}.student-coach-card>div,.student-highlight-card>div,.student-suggestion-card>div{display:grid;grid-gap:3px;gap:3px;flex:1 1;min-width:0}.student-coach-card small,.student-highlight-card small{color:#64748b;font-size:.82rem}.student-coach-card p{margin:0;color:#334155}.student-highlight-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#eff6ff;color:#2563eb;flex-shrink:0}.student-view-switch{display:flex;gap:8px}.student-chip{flex:1 1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;background:#f1f5f9;color:#475569;text-decoration:none;font-weight:600}.student-chip.is-active{background:#2563eb;color:#ffffff}.student-day-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.student-day-pill{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:8px 2px;min-height:56px;border-radius:12px;background:#f1f5f9;color:#475569;text-decoration:none}.student-day-pill.is-active{background:#2563eb;color:#ffffff}.student-day-pill small{font-size:.68rem}.student-week-day-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-week-day-head div{display:grid}.student-week-day-head small{color:#64748b;font-size:.78rem}.student-week-day-count{font-size:.78rem;color:#475569;background:#f1f5f9;border-radius:999px;padding:4px 10px;white-space:nowrap}.student-week-task-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.student-week-task-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;border-radius:12px;background:#f8fafc;font-size:.85rem}.student-week-task-title{flex:1 1;min-width:120px}.student-week-task-status{color:#475569;font-size:.76rem}.student-exam-card{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.student-exam-card-main{display:grid;grid-gap:6px;gap:6px;flex:1 1;min-width:0}.student-exam-metrics,.student-subject-metrics{display:flex;flex-wrap:wrap;gap:14px}.student-exam-metrics span,.student-subject-metrics span{display:grid;grid-gap:2px;gap:2px}.student-exam-metrics small,.student-subject-metrics small{font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.student-exam-metrics b,.student-subject-metrics b{font-size:1.05rem}.student-exam-delta{display:inline-flex;align-items:center;gap:5px;margin:0;font-size:.84rem;color:#475569}.student-subject-list{display:grid;grid-gap:10px;gap:10px}.student-subject-row{gap:8px}.student-bullet-list{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px;color:#334155;font-size:.9rem}.student-source-tag{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;color:#475569;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:600}.student-source-tag.is-teacher{background:#ecfdf5;color:#047857}.student-notification-head,.student-suggestion-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-notification-head small,.student-suggestion-head small{color:#94a3b8;font-size:.75rem}.student-notification p,.student-suggestion-item p{margin:0;color:#475569;font-size:.9rem}.student-notification{text-decoration:none;color:inherit}.student-notification.is-unread{border-left:4px solid #2563eb}.student-read-all{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.student-read-all p{margin:0;color:#475569}.student-profile-head{display:flex;align-items:center;gap:12px}.student-profile-head div{display:grid}.student-profile-head small{color:#64748b;font-size:.85rem}.student-avatar{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:18px;background:#2563eb;color:#ffffff;font-weight:700;font-size:1.1rem}.student-detail-list{margin:0;display:grid;grid-gap:8px;gap:8px}.student-detail-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #f1f5f9;padding-bottom:8px}.student-detail-list dt{color:#64748b;font-size:.85rem}.student-detail-list dd{margin:0;font-weight:600;text-align:right}.student-pref-list{display:grid;grid-gap:10px;gap:10px}.student-pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:8px 12px;border-radius:12px;background:#f8fafc;font-size:.9rem}.student-pref-row span{display:inline-flex;align-items:center;gap:8px}.student-pref-row input[type=checkbox]{width:22px;height:22px}.student-offline-banner,.student-offline-panel{border-color:#fde68a;background:#fffbeb}.student-offline-banner{display:flex;align-items:flex-start;gap:12px}.student-offline-banner div{display:grid;grid-gap:3px;gap:3px}.student-offline-banner p{margin:0;font-size:.85rem;color:#78350f}.student-offline-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#fef3c7;color:#b45309;flex-shrink:0}.student-offline-task-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.student-offline-task-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border-radius:12px;background:#f8fafc}.student-offline-task-list li div{display:grid;flex:1 1;min-width:140px}.student-offline-task-list small{color:#64748b;font-size:.78rem}.student-offline-status{font-size:.76rem;color:#475569;background:#e2e8f0;border-radius:999px;padding:3px 9px}.student-offline-retry{justify-self:start}.student-invite-panel,.student-pending-card{width:min(560px,100%);display:grid;grid-gap:14px;gap:14px}.student-account-panel{display:grid;grid-gap:12px;gap:12px}.student-account-row{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid #e2e8f0;border-radius:14px}.student-account-row-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.student-account-status{font-size:.76rem;border-radius:999px;padding:4px 10px;background:#f1f5f9;color:#475569}.student-account-status.is-linked{background:#ecfdf5;color:#047857}.student-account-status.is-pending{background:#eff6ff;color:#1d4ed8}.student-account-status.is-expired{background:#fffbeb;color:#b45309}.student-invite-url{word-break:break-all;font-size:.78rem;color:#475569;background:#f8fafc;border-radius:10px;padding:8px 10px}.student-account-form{display:grid;grid-gap:10px;gap:10px}.student-account-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;align-items:end}@media (min-width:900px){.student-shell{flex-direction:row}.student-bottom-nav{position:-webkit-sticky;position:sticky;top:0;bottom:auto;height:100dvh;width:220px;grid-template-columns:minmax(0,1fr);align-content:start;gap:4px;border-top:none;border-right:1px solid #e2e8f0;padding:20px 12px}.student-bottom-link{grid-template-columns:24px 1fr;justify-items:start;align-items:center;gap:10px;font-size:.9rem;padding:10px 12px}.student-shell-main{padding-bottom:40px}}@media (prefers-color-scheme:dark){.student-shell{background:#0b1220;color:#e2e8f0}.student-bell-link,.student-bottom-nav,.student-empty-state,.student-panel,.student-task-card{background:#111a2e;border-color:#1e293b}.student-empty-state{color:#94a3b8}.student-field input,.student-field select,.student-field textarea{background:#0b1220;border-color:#334155;color:#e2e8f0}.student-invite-url,.student-offline-task-list li,.student-pref-row,.student-task-note,.student-task-result,.student-task-teacher-note,.student-week-task-list li{background:#0b1220}.student-chip,.student-day-pill,.student-source-tag,.student-task-tag,.student-week-day-count{background:#1e293b;color:#cbd5e1}.student-chip.is-active,.student-day-pill.is-active{background:#2563eb;color:#ffffff}.student-bottom-link.is-active{background:#1e3a8a;color:#dbeafe}.student-account-row,.student-detail-list div{border-color:#1e293b}}