@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Montserrat:wght@700&display=swap";:root{color-scheme:light;--ink: #18212f;--ink-soft: #344256;--muted: #687789;--line: #dbe3ec;--canvas: #f5f7fa;--surface: #ffffff;--navy: #182536;--navy-soft: #22344a;--blue: #2387c9;--blue-dark: #176ea9;--blue-soft: #e4f2fb;--green: #1b9a70;--green-soft: #e5f7f0;--amber: #d88a24;--amber-soft: #fff3dc;--red: #d15d61;--red-soft: #fbe9ea;--orange-soft: #fff0df;--radius: 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--canvas)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid #f0a936;outline-offset:3px}.skip-link{position:fixed;z-index:30;top:0;left:1rem;padding:.75rem 1rem;background:var(--navy);color:#fff;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--navy);font-size:1.28rem;font-weight:800;letter-spacing:0;text-decoration:none}.brand-on-dark{color:#fff}.brand-mark{display:inline-grid;width:2rem;height:2rem;place-items:center;border-radius:6px;background:var(--blue);color:#fff;font-size:1.05rem;font-weight:850}.eyebrow{margin:0 0 .35rem;color:var(--muted);font-size:.73rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.eyebrow-on-dark{color:#9eb6ce}.eyebrow-on-blue{color:#d4ecfa}.auth-layout{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100vh;padding:1.5rem;overflow:hidden;background-color:#e8eef5;background-image:url(/Gemini_Generated_Image_.png);background-position:center;background-size:cover}.auth-layout:before{display:none}.auth-card{width:min(100%,27.4rem);overflow:hidden;border-radius:.75rem;background:#f8fafc;box-shadow:0 20px 40px -10px #00000026}.auth-card-entering{animation:auth-card-enter .52s cubic-bezier(.22,1,.36,1) both}.auth-hero{position:relative;display:grid;height:10rem;place-items:center;overflow:hidden;color:#fff;background-color:#1e293b;background-image:linear-gradient(rgb(255 255 255 / 12%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 12%) 1px,transparent 1px);background-size:2.5rem 2.5rem}.auth-hero:before,.auth-hero:after{display:none}.auth-hero-content{position:relative;z-index:1;display:grid;justify-items:center;gap:.45rem;color:#fff}.auth-hero-content svg{width:4rem;height:4rem;filter:drop-shadow(0 2px 2px rgb(0 0 0 / 18%))}.auth-hero-content span{color:#cbd5e1;font-family:Montserrat,sans-serif;font-size:1.2rem;letter-spacing:.24em}.auth-hero-curve{position:absolute;right:0;bottom:-1px;left:0;width:100%;height:3.8rem;color:#f8fafc}.auth-panel{padding:1.25rem 1.5rem .85rem}.auth-heading h1{margin:0 0 1.25rem;color:#1e293b;font-family:Montserrat,sans-serif;font-size:1.875rem;line-height:1.2;text-align:center}.form-stack{display:grid;gap:.55rem}.form-stack label{margin-top:.45rem;font-size:.9rem;font-weight:700}.form-stack input{min-height:2.75rem;border:1px solid var(--line);border-radius:6px;padding:.65rem .75rem;color:var(--ink);background:var(--surface)}.form-stack input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--blue-soft)}.button{min-height:2.6rem;border:1px solid transparent;border-radius:6px;padding:.55rem .9rem;font-weight:750}.button-primary{border-color:var(--blue);background:var(--blue);color:#fff}.button-primary:hover:not(:disabled){background:var(--blue-dark)}.button-danger{border-color:var(--red);background:var(--red);color:#fff}.button-danger:hover:not(:disabled){border-color:#b84b50;background:#b84b50}.button-secondary{border-color:var(--line);background:var(--surface);color:var(--ink)}.button-secondary:hover{background:#f8fafc}.form-stack .button-primary{margin-top:.8rem}.auth-switch{margin:1.3rem 0 0;color:var(--muted);font-size:.92rem}.text-button{border:0;padding:0;color:var(--blue-dark);background:transparent;font-weight:750;text-decoration:underline}.form-message{min-height:1.5rem;margin:1rem 0 0;color:var(--green);line-height:1.45}.form-message.is-error{color:var(--red)}.auth-panel .form-message:empty{display:none}.auth-form{gap:.75rem}.auth-input{position:relative;display:flex;align-items:center;color:#64748b}.auth-input>svg{position:absolute;left:1rem;width:1.1rem;height:1.1rem;pointer-events:none}.auth-form input,.auth-input input{width:100%;min-height:2.6rem;border:0;border-radius:999px;padding:.7rem 1rem .7rem 2.9rem;color:#475569;background:#cbd5e1;font-size:.875rem;font-weight:500}.auth-form>input{padding-left:1rem}.auth-form input::placeholder{color:#64748b}.auth-form input:focus{border:0;outline:none;box-shadow:0 0 0 3px #1e293b}.password-toggle{position:absolute;right:0;display:grid;width:3rem;height:100%;place-items:center;border:0;color:#64748b;background:transparent}.password-toggle:hover,.auth-link:hover{color:#1e293b}.password-toggle svg{width:1.15rem;height:1.15rem}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 .5rem;color:#6b7280;font-size:.75rem;font-weight:500}.remember-control{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;white-space:nowrap}.remember-control input{position:absolute;width:1px;min-height:1px;opacity:0}.remember-switch{position:relative;display:inline-block;width:2rem;height:1rem;border-radius:999px;background:#d1d5db;transition:background .18s ease}.remember-switch:after{position:absolute;top:.25rem;left:.25rem;width:.5rem;height:.5rem;border-radius:50%;background:#fff;content:"";transition:transform .18s ease}.remember-control input:checked+.remember-switch{background:#1e293b}.remember-control input:checked+.remember-switch:after{transform:translate(1rem)}.remember-control input:focus-visible+.remember-switch{outline:3px solid #f0a936;outline-offset:3px}.auth-link{border:0;padding:0;color:#6b7280;background:transparent;font-size:.75rem;font-weight:600;transition:color .16s ease}.auth-submit{width:100%;min-height:2.6rem;margin-top:.5rem;border:0;border-radius:.25rem;background:#1e293b;box-shadow:0 4px 8px #0f172a2e;font-size:.875rem;font-weight:600;letter-spacing:.02em}.auth-submit:hover:not(:disabled){background:#0f172a}.auth-divider{display:flex;align-items:center;gap:1rem;margin:.1rem 0;color:#9ca3af;font-size:.75rem}.auth-divider:before,.auth-divider:after{height:1px;flex:1;background:#d1d5db;content:""}.google-button{display:inline-flex;min-height:2.45rem;align-items:center;justify-content:center;gap:.5rem;border:1px solid #d1d5db;border-radius:.25rem;color:#374151;background:#fff;box-shadow:0 1px 2px #0f172a14;font-size:.875rem;font-weight:500}.google-button:hover{background:#f9fafb}.google-button svg{width:1rem;height:1rem}.auth-switch{margin:1.15rem 0 0;text-align:center}.auth-switch .auth-link{font-weight:700}.auth-form h2{margin:0 0 .4rem;color:#1e293b;font-family:Montserrat,sans-serif;font-size:1.35rem;text-align:center}.auth-back{justify-self:center;margin-top:.75rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes auth-card-enter{0%{opacity:0;transform:translateY(1.25rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.auth-card-entering{animation:none}}.dashboard-layout{display:grid;min-height:100vh;grid-template-columns:15.5rem minmax(0,1fr);transition:grid-template-columns .42s cubic-bezier(.22,1,.36,1)}.dashboard-layout.is-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.dashboard-layout.is-sidebar-collapsed .sidebar{min-width:0;opacity:0;pointer-events:none;transform:translate(-.75rem)}.sidebar{display:flex;position:sticky;top:0;flex-direction:column;min-height:100vh;padding:1.45rem 1rem 1rem;background:var(--navy);color:#dce7f2;overflow:hidden;opacity:1;transform:translate(0);transition:opacity .32s ease,transform .42s cubic-bezier(.22,1,.36,1)}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sidebar-close-button{display:inline-grid;width:2rem;height:2rem;place-items:center;border:0;border-radius:6px;color:#b9c7d6;background:transparent;font-size:1.5rem;line-height:1}.sidebar-close-button:hover{color:#fff;background:var(--navy-soft)}.sidebar-section-label{margin:2.2rem 0 .55rem;padding-inline:.7rem;color:#7890a8;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sidebar-section-label-secondary{margin-top:1.45rem}.sidebar .brand{color:#fff;padding:0 .45rem}.sidebar .brand-mark{background:var(--blue)}.sidebar-nav{display:grid;gap:.25rem;margin-top:2.4rem}.nav-link{display:flex;align-items:center;gap:.7rem;min-height:2.75rem;border-radius:6px;padding:.65rem .7rem;color:#b9c7d6;font-size:.9rem;font-weight:650;text-decoration:none}.sidebar-nav>.nav-link[href="#configuracoes"]{display:none}.sidebar-nav>.nav-link[data-view-target=subjects]{order:4}.sidebar-nav>.profile-nav-link{order:5}.nav-link:hover{background:var(--navy-soft);color:#fff}.nav-link.is-active{background:#2c81b9;color:#fff}.nav-symbol{display:inline-grid;width:1.45rem;height:1.45rem;place-items:center;border:1px solid currentColor;border-radius:5px;font-size:.65rem;font-weight:800}.nav-symbol svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.sidebar-divider{height:1px;margin:1.3rem 0 0;background:#30445a}.sidebar .sidebar-nav+.sidebar-divider+.sidebar-nav{margin-top:.8rem}.sidebar-profile{display:flex;align-items:center;gap:.6rem;margin-top:auto;padding:.8rem .45rem 0;border-top:1px solid #30445a}.avatar{display:inline-grid;flex:0 0 auto;width:2rem;height:2rem;place-items:center;border-radius:50%;background:#e9b35d;color:var(--navy);font-size:.78rem;font-weight:800}.avatar-small{width:1.8rem;height:1.8rem;background:var(--blue-soft);color:var(--blue-dark)}.avatar.has-profile-photo{color:transparent;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:cover}.sidebar-profile-copy{display:grid;min-width:0;gap:.12rem}.sidebar-profile-copy strong,.sidebar-profile-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-copy strong{color:#fff;font-size:.78rem}.sidebar-profile-copy small{color:#9eb0c3;font-size:.68rem}.logout-button{margin-left:auto;border:0;padding:.25rem;color:#a8bacb;background:transparent;font-size:.7rem}.logout-button:hover{color:#fff}.workspace{min-width:0}.topbar{display:flex;align-items:center;gap:1rem;min-height:5.35rem;padding:1rem clamp(1rem,3vw,2.5rem);border-bottom:1px solid var(--line);background:var(--surface)}.topbar-context{min-width:0}.topbar-context h1{margin:0;color:var(--ink);font-size:1.25rem;letter-spacing:0}.topbar-actions{display:flex;align-items:center;gap:.65rem;margin-left:auto}.topbar-button,.profile-button,.menu-button{min-height:2.4rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-soft);font-size:.82rem;font-weight:700}.topbar-button{padding:.45rem .65rem}.topbar-button:hover{background:#f1f5f9}.profile-button{display:inline-flex;align-items:center;gap:.45rem;padding:.25rem .5rem}.profile-button:hover{border-color:var(--line);background:#f8fafc}.menu-button{display:none;border-color:var(--line);padding:.45rem .65rem}.dashboard-layout.is-sidebar-collapsed .menu-button{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;padding:.45rem;font-size:1.15rem;animation:menu-button-in .3s ease-out both}@keyframes menu-button-in{0%{opacity:0;transform:translate(-.35rem) scale(.92)}to{opacity:1;transform:translate(0) scale(1)}}.dashboard-message{min-height:0;padding-inline:clamp(1rem,3vw,2.5rem);color:var(--red)}.toast-message.is-toast{display:grid;position:fixed;z-index:40;top:50%;left:50%;min-width:min(24rem,calc(100vw - 2rem));min-height:3.75rem;place-items:center;padding:1rem 1.4rem;border:1px solid #b8e7d3;border-radius:.85rem;color:#147a55;background:#f0fff8;box-shadow:0 18px 50px #0f573a2e,0 3px 10px #0f172a1a;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:700;letter-spacing:.01em;text-align:center;cursor:pointer;opacity:1;transform:translate(-50%,-50%) scale(1)}.toast-message.is-toast:before{content:"✓";display:grid;width:1.45rem;height:1.45rem;margin-bottom:.35rem;place-items:center;border-radius:50%;color:#fff;background:#1b9a70;font-family:Inter,sans-serif;font-size:.85rem}.toast-message.is-toast.is-error{border-color:#f0c2c5;color:var(--red);background:#fff5f5}.toast-message.is-toast.is-error:before{content:"!";background:var(--red)}.toast-message.toast-enter{animation:toast-pop .26s cubic-bezier(.22,1,.36,1)}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.activity-modal-card .activity-form input[type=text],.activity-modal-card .activity-form input[type=date]{min-height:1.95rem;padding:.32rem .5rem}:root .dashboard-layout.is-sidebar-collapsed .activities-view{width:min(100%,90rem)}:root .dashboard-layout.is-sidebar-collapsed #materias.simple-view{max-width:none}:root .dashboard-layout.is-sidebar-collapsed .subject-notes-view{width:min(100%,90rem)}:root[data-theme=dark] .study-calendar{border:1px solid var(--line);background:#172232;color:var(--ink-soft);box-shadow:0 20px 30px #00000040}:root[data-theme=dark] .study-calendar-main{border-right-color:var(--line)}:root[data-theme=dark] .study-calendar-header h2,:root[data-theme=dark] .study-calendar-details h3{color:var(--ink)}:root[data-theme=dark] .study-calendar-header p,:root[data-theme=dark] .study-calendar-details-header p,:root[data-theme=dark] .study-calendar-weekdays div,:root[data-theme=dark] .study-calendar-legend,:root[data-theme=dark] .study-calendar-empty,:root[data-theme=dark] .study-calendar-empty p{color:var(--muted)}:root[data-theme=dark] .study-calendar-controls button{color:var(--ink-soft)}:root[data-theme=dark] .study-calendar-controls button:hover{background:#203247}:root[data-theme=dark] .study-calendar-controls #calendar-today{color:var(--ink-soft);background:#26384d}:root[data-theme=dark] .study-calendar-controls #calendar-today:hover{background:#31465d}:root[data-theme=dark] .study-calendar-day{color:var(--ink-soft)}:root[data-theme=dark] .study-calendar-day:hover{background:#1d3850}:root[data-theme=dark] .study-calendar-day.is-other-month{color:#61748b}:root[data-theme=dark] .study-calendar-day.is-selected{border-color:#4d8db8;background:#1c4564;box-shadow:0 0 0 1px #65afe0}:root[data-theme=dark] .study-calendar-day.is-weekend:not(.is-today) .study-calendar-day-number{color:#9aabba;background:#26384a}:root[data-theme=dark] .study-calendar-day.has-activity:not(.is-today) .study-calendar-day-number{color:#f7d48d;background:#5a431e}:root[data-theme=dark] .study-calendar-day.has-exam:not(.is-today) .study-calendar-day-number{background:#a94757}:root[data-theme=dark] .study-calendar-day.is-holiday:not(.is-today) .study-calendar-day-number{color:#d9c7ff;background:#49366f}:root[data-theme=dark] .study-calendar-details{background:#121d2b}:root[data-theme=dark] .study-calendar-empty-icon{color:#94a5b9;background:#263649}:root[data-theme=dark] .study-holiday-card{border-color:#634c99;background:#30254e}:root[data-theme=dark] .study-holiday-card h4,:root[data-theme=dark] .study-holiday-card p,:root[data-theme=dark] .study-holiday-card-label{color:#d7c9ff}:root[data-theme=dark] .study-event-card-study{border-color:#356d95;color:#a7dafe;background:#183b56}:root[data-theme=dark] .study-event-card-exam{border-color:#8a424d;color:#ffb7bd;background:#48252c}:root[data-theme=dark] .study-event-card-assignment{border-color:#8d6a2c;color:#ffdc9c;background:#47371d}:root[data-theme=dark] .study-event-card .study-event-card-description{color:inherit}:root[data-theme=dark] .study-event-card-remove{color:#a9b7c6;background:#0b1421b3}:root[data-theme=dark] .activities-list-panel,:root[data-theme=dark] .activity-detail-row,:root[data-theme=dark] .activities-selection-bar{border-color:var(--line);background:var(--surface);color:var(--ink)}:root[data-theme=dark] .activity-detail-row:hover,:root[data-theme=dark] .activity-detail-row.is-overview-focused{background:#1d2d40}:root[data-theme=dark] .activity-detail-row.is-completed{background:#14231f}:root[data-theme=dark] .activities-section-heading,:root[data-theme=dark] .activities-page-status,:root[data-theme=dark] .activity-detail-meta time{color:var(--muted)}:root[data-theme=dark] .notes-menu-heading,:root[data-theme=dark] .subject-notes-button,:root[data-theme=dark] .notes-timeline:before,:root[data-theme=dark] .note-modal-header,:root[data-theme=dark] .note-title-input{border-color:var(--line)}:root[data-theme=dark] .notes-subject-menu,:root[data-theme=dark] .notes-timeline-card,:root[data-theme=dark] .notes-timeline-empty{border-color:var(--line);background:#172232;color:var(--ink);box-shadow:0 8px 24px #0000003d}:root[data-theme=dark] .notes-subject-option:hover,:root[data-theme=dark] .notes-subject-option:focus-visible,:root[data-theme=dark] .note-close-button:hover{background:#20384d}:root[data-theme=dark] .notes-timeline-marker{border-color:#172232;box-shadow:0 0 0 1px #4b6075}:root[data-theme=dark] .notes-timeline-card time,:root[data-theme=dark] .notes-timeline-card p,:root[data-theme=dark] .notes-timeline-empty{color:var(--muted)}:root[data-theme=dark] .note-subject-badge,:root[data-theme=dark] .note-modal-footer{color:var(--ink-soft);background:#1e2f42}:root[data-theme=dark] .note-modal-footer{border-top-color:var(--line)}:root[data-theme=dark] .note-close-button{color:#a4b2c1}:root[data-theme=dark] .note-title-input::placeholder,:root[data-theme=dark] .note-content-input::placeholder{color:#718399}:root[data-theme=dark] .note-cancel-button{border-color:#e0636a;color:#ffb8bd;background:#4a252e}:root[data-theme=dark] .note-cancel-button:hover{color:#fff;background:#b83e49}.dashboard-content{display:grid;gap:1.2rem;padding:clamp(1rem,3vw,2.5rem)}.dashboard-view{display:grid;gap:.9rem}.calendar-view .lower-grid{grid-template-columns:minmax(0,1.6fr) minmax(15.5rem,.72fr)}.preview-banner{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;border:1px solid #f0d39d;border-radius:6px;color:#8a5a13;background:#fff9eb;font-size:.82rem}.preview-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--amber)}.welcome-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:8.75rem;padding:clamp(1.4rem,3vw,2rem);border-radius:var(--radius);background:var(--blue);color:#fff}.welcome-strip h2{margin:0 0 .45rem;font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:0}.welcome-strip p:last-child{margin:0;color:#d7edf9;line-height:1.45}.today-badge{display:grid;flex:0 0 auto;min-width:5.25rem;padding:.75rem;border-left:1px solid #71b4db;text-align:center}.today-badge span,.today-badge small{color:#d5edf9;font-size:.68rem;font-weight:750;text-transform:uppercase}.today-badge strong{margin:.25rem 0;font-size:1.15rem}.metrics{display:grid;gap:.9rem;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.metric-card{display:flex;min-height:9.25rem;flex-direction:column;padding:1rem 1.05rem;text-decoration:none}.metric-link{transition:border-color .15s ease,transform .15s ease}.metric-link:hover{border-color:#a8bac9;transform:translateY(-2px)}.metric-blue{border-top:4px solid var(--blue)}.metric-green{border-top:4px solid var(--green)}.metric-amber{border-top:4px solid var(--amber)}.metric-red{border-top:4px solid var(--red)}.metric-icon{display:inline-grid;width:1.85rem;height:1.85rem;place-items:center;margin-bottom:.75rem;border-radius:5px;font-size:.65rem;font-weight:850}.metric-blue .metric-icon{color:var(--blue-dark);background:var(--blue-soft)}.metric-green .metric-icon{color:var(--green);background:var(--green-soft)}.metric-amber .metric-icon{color:var(--amber);background:var(--amber-soft)}.metric-red .metric-icon{color:var(--red);background:var(--red-soft)}.metric-label,.metric-detail{color:var(--muted);font-size:.78rem}.metric-card strong{margin:auto 0 .25rem;color:var(--ink);font-size:1.6rem;line-height:1}.overview-grid,.lower-grid{display:grid;gap:1.2rem;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.8fr)}.panel{min-width:0;padding:clamp(1rem,2vw,1.5rem)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.panel h2{margin:0;color:var(--ink);font-size:1.08rem;letter-spacing:0}.button-compact{min-height:2.35rem;padding:.4rem .7rem;font-size:.78rem}.activity-list{display:grid;gap:.25rem;margin-top:1.25rem}.activity-row{display:grid;align-items:center;gap:.8rem;grid-template-columns:2.45rem minmax(0,1fr) auto;padding:.72rem 0;border-bottom:1px solid #edf1f5}.activity-row:last-child{border-bottom:0}.activity-date{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:6px;color:var(--blue-dark);background:var(--blue-soft);font-size:.68rem;font-weight:800;text-align:center}.activity-main{min-width:0}.activity-main strong,.activity-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-main strong{color:var(--ink);font-size:.85rem}.activity-main span{margin-top:.2rem;color:var(--muted);font-size:.73rem}.priority-tag{padding:.3rem .45rem;border-radius:4px;font-size:.65rem;font-weight:800;white-space:nowrap}.priority-urgent{color:var(--red);background:var(--red-soft)}.priority-moderate{color:var(--amber);background:var(--amber-soft)}.priority-low{color:var(--blue-dark);background:var(--blue-soft)}.panel-link{display:inline-flex;gap:.35rem;margin-top:1rem;color:var(--blue-dark);font-size:.78rem;font-weight:750;text-decoration:none}.panel-link:hover{text-decoration:underline}.empty-state{display:grid;gap:.35rem;min-height:10rem;place-content:center;color:var(--muted);text-align:center}.empty-state strong{color:var(--ink-soft);font-size:.85rem}.empty-state span{font-size:.78rem}.urgency-panel{min-height:22rem}.urgency-chart-wrap{position:relative;width:10rem;margin:1.2rem auto 1rem}.urgency-chart{display:block;width:10rem;height:10rem;transform:rotate(-90deg)}.urgency-chart circle{fill:none;stroke-width:12}.chart-track{stroke:#edf1f5}.chart-segment{stroke-linecap:butt}.chart-center{display:grid;position:absolute;top:0;right:0;bottom:0;left:0;place-content:center;text-align:center}.chart-center strong{color:var(--ink);font-size:1.55rem}.chart-center span{color:var(--muted);font-size:.7rem}.urgency-legend{display:grid;gap:.55rem}.legend-item{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.76rem}.legend-label{display:inline-flex;align-items:center;gap:.45rem}.legend-swatch{width:.55rem;height:.55rem;border-radius:2px}.legend-value{color:var(--ink-soft);font-weight:800}.calendar-panel{min-height:25rem}.calendar-controls{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink-soft);font-size:.78rem;font-weight:750}.calendar-control{display:inline-grid;width:1.65rem;height:1.65rem;place-items:center;border:1px solid var(--line);border-radius:4px;color:var(--ink-soft);background:var(--surface)}.calendar-control:hover{background:#f1f5f9}.calendar-key{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.2rem 0 .8rem;color:var(--muted);font-size:.67rem}.calendar-key span{display:inline-flex;align-items:center;gap:.3rem}.key-swatch{display:inline-block;width:.55rem;height:.55rem;border-radius:2px}.key-weekend{background:#e9eef3}.key-holiday{background:#ffd8ae}.key-exam{background:#efb7b9}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border-top:1px solid var(--line);border-left:1px solid var(--line)}.calendar-weekday,.calendar-day{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-weekday{padding:.45rem .3rem;color:var(--muted);background:#fafbfd;font-size:.63rem;font-weight:800;text-align:center;text-transform:uppercase}.calendar-day{position:relative;min-height:3.55rem;padding:.4rem;background:#fff;text-align:left}.calendar-day.is-weekend{background:#f2f5f7}.calendar-day.is-outside{color:#b0bac6;background:#fafbfd}.calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--blue)}.calendar-day.is-holiday{background:var(--orange-soft)}.calendar-day.is-exam{background:var(--red-soft)}.calendar-day-number{color:var(--ink-soft);font-size:.7rem;font-weight:800}.calendar-day.is-outside .calendar-day-number{color:#b0bac6}.calendar-event{display:block;overflow:hidden;margin-top:.35rem;color:var(--red);font-size:.58rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.exam-panel{min-height:25rem}.exam-mark{display:inline-grid;width:1.65rem;height:1.65rem;place-items:center;border-radius:50%;color:var(--red);background:var(--red-soft);font-weight:850}.exam-content{display:grid;align-content:center;min-height:16rem}.exam-empty{display:grid;gap:.5rem;color:var(--muted);font-size:.8rem;line-height:1.5}.exam-empty strong{color:var(--ink-soft);font-size:.95rem}.exam-card{display:grid;gap:.75rem}.exam-card h3{margin:0;color:var(--ink);font-size:1.15rem}.exam-card p{margin:0;color:var(--muted);font-size:.8rem}.exam-days{padding:.85rem;border-left:3px solid var(--red);background:var(--red-soft)}.exam-days strong{display:block;color:var(--red);font-size:1.45rem}.exam-days span{color:var(--red);font-size:.72rem}.panel-status{padding:.35rem .55rem;border-radius:4px;color:var(--green);background:var(--green-soft);font-size:.68rem;font-weight:800}.quick-panel{min-height:8rem}.study-placeholder{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;color:var(--muted);font-size:.8rem}.study-line{display:block;width:5rem;height:.45rem;border-radius:3px;background:var(--green-soft)}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.lower-grid{grid-template-columns:1fr}.urgency-panel,.exam-panel{min-height:auto}.exam-content{min-height:10rem}}@media(max-width:760px){.auth-layout{min-height:100dvh;padding:1rem}.auth-panel{padding:1.15rem 1.25rem .75rem}.auth-options{padding:0}.dashboard-layout{display:block}.sidebar{position:fixed;z-index:20;left:0;width:min(18rem,calc(100vw - 2rem));transform:translate(-105%);transition:transform .42s cubic-bezier(.22,1,.36,1);box-shadow:0 12px 30px #0f172a38}.dashboard-layout.is-sidebar-collapsed .sidebar{display:flex;opacity:1;pointer-events:auto;transform:translate(-105%)}.sidebar.is-open{transform:translate(0)}.menu-button{display:inline-flex;align-items:center}.dashboard-layout.is-sidebar-collapsed .menu-button,.menu-button{display:inline-flex}.sidebar-close-button{display:inline-grid}.topbar{min-height:4.7rem}.topbar-button{display:none}.welcome-strip{align-items:flex-start}.today-badge{margin-top:.1rem}.dashboard-content{padding:1rem}}@media(max-width:375px){.auth-layout{padding:.5rem}.auth-card{border-radius:.6rem}.auth-panel{padding-inline:1.1rem}.auth-options{align-items:flex-start;flex-direction:column}}@media(max-width:480px){.metrics{grid-template-columns:1fr}.welcome-strip{display:block}.today-badge{display:flex;align-items:center;gap:.55rem;width:fit-content;margin-top:1.2rem;padding:.5rem 0;border-top:1px solid #71b4db;border-left:0;text-align:left}.today-badge strong{margin:0}.today-badge small{margin-left:.2rem}.panel-heading{flex-direction:column}.button-compact{width:100%}.calendar-controls{align-self:stretch;justify-content:space-between}.calendar-day{min-height:3rem;padding:.25rem}.calendar-event{display:none}.calendar-key{gap:.45rem}.calendar-key span{font-size:.6rem}.activity-row{gap:.55rem;grid-template-columns:2.15rem minmax(0,1fr)}.priority-tag{grid-column:2;justify-self:start}.profile-button span:last-child{display:none}}.activity-form textarea{width:100%;resize:vertical;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.4rem;color:var(--ink);font-size:.78rem}.activity-form textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--blue-soft)}.subject-picker{position:relative}.subject-picker>input{padding-right:2.3rem}.subject-toggle{display:grid;position:absolute;z-index:2;top:50%;right:.2rem;width:2rem;height:2rem;place-items:center;border:0;color:#64748b;background:transparent;transform:translateY(-50%)}.subject-toggle:before{content:"";width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg)}.subject-toggle:hover,.subject-toggle:focus-visible{color:#176ea9;background:#f0f8fd;outline:none}.date-picker{position:relative}.date-picker>input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.date-picker-trigger{position:relative;display:flex;width:100%;min-height:2.35rem;align-items:center;padding:.5rem 2.2rem .5rem .65rem;border:1px solid var(--line);border-radius:.4rem;color:var(--ink);background:#fff;font:inherit;text-align:left}.date-picker-trigger:before{content:"";position:absolute;top:50%;right:.7rem;width:1.05rem;height:1rem;background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M7.5 3.5v3M16.5 3.5v3M3.5 9.5h17'/%3E%3Cpath d='M7.5 13h.01M12 13h.01M16.5 13h.01M7.5 16.5h.01M12 16.5h.01' stroke-width='2.4'/%3E%3C/svg%3E");transform:translateY(-50%)}.date-picker-trigger:hover,.date-picker-trigger:focus-visible{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--blue-soft)}.date-picker-popup{position:fixed;z-index:60;top:50%;left:50%;width:min(20rem,calc(100vw - 2rem));padding:1rem;border:1px solid #d7dee8;border-radius:.8rem;background:#fff;box-shadow:0 24px 60px #0f172a38;transform:translate(-50%,-50%)}.date-picker-header,.date-picker-weekdays,.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;gap:.3rem}.date-picker-header{grid-template-columns:1fr auto;margin-bottom:.75rem}.date-picker-header strong{color:#182230;font-size:.9rem;text-transform:capitalize}.date-picker-header div{display:flex;gap:.2rem}.date-picker-header button,.date-picker-days button,.date-picker-today{border:0;border-radius:.35rem;background:transparent;cursor:pointer}.date-picker-header button{width:2rem;height:2rem;color:#334155;font-size:1.35rem}.date-picker-header button:hover,.date-picker-days button:hover{background:#eef6fb}.date-picker-weekdays{margin-bottom:.35rem;color:#64748b;font-size:.68rem;font-weight:700;text-align:center}.date-picker-days button,.date-picker-days span{min-height:2rem;display:grid;place-items:center;color:#1f2937;font-size:.78rem}.date-picker-days button.is-selected{color:#fff;background:var(--blue)}.date-picker-today{margin-top:.75rem;padding:.35rem .5rem;color:var(--blue-dark);font-size:.76rem;font-weight:700}.date-picker-today:hover{background:#eef6fb}.subject-suggestions{position:absolute;z-index:45;top:calc(100% + .25rem);right:0;left:0;overflow:hidden;border:1px solid #cbd5e1;border-radius:.35rem;background:#fff;box-shadow:0 8px 18px #0f172a26}.subject-suggestion{display:block;width:100%;min-height:2.35rem;padding:.65rem .75rem;border:0;border-bottom:1px solid #e2e8f0;color:#334155;background:#fff;font-size:.78rem;font-weight:650;text-align:left}.subject-suggestion:last-child{border-bottom:0}.subject-suggestion:hover,.subject-suggestion:focus-visible{color:#176ea9;background:#f0f8fd;outline:none}.optional-label,.auto-priority-hint{color:var(--muted);font-size:.66rem;font-weight:500}.auto-priority-hint{margin:.15rem 0 0;line-height:1.35}.activity-focus-button,.activity-delete-button{min-height:1.85rem;padding:.25rem .5rem;border-radius:.35rem;background:#fff;font-size:.64rem;font-weight:750;white-space:nowrap}.activity-focus-button{border:1px solid var(--blue);color:var(--blue-dark)}.activity-focus-button:hover{color:#fff;background:var(--blue)}.activity-delete-button{border:1px solid #f0c2c5;color:var(--red)}.activity-delete-button:hover{color:#fff;background:var(--red)}.activity-filter-tabs,.calendar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.activity-filter-tabs{margin:1rem 0}.filter-tab,.calendar-filter{min-height:2rem;padding:.32rem .65rem;border:1px solid var(--line);border-radius:99px;color:var(--muted);background:#fff;font-size:.7rem;font-weight:750}.filter-tab.is-active,.calendar-filter.is-active{border-color:var(--blue);color:#fff;background:var(--blue)}.activity-subject-filter{min-height:2rem;max-width:12rem;padding:.32rem 1.8rem .32rem .7rem;border:1px solid var(--line);border-radius:.55rem;color:var(--ink-soft);background:var(--surface);font-size:.7rem;font-weight:750}.activity-subject-filter:focus-visible{border-color:var(--blue);outline:3px solid var(--blue-soft)}.calendar-filters{padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);font-size:.75rem}.overview-progress{margin-top:1.25rem}.panel-copy{margin:.75rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.progress-track{height:.55rem;overflow:hidden;margin-top:.85rem;border-radius:99px;background:#e8eef4}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green));transition:width .18s ease}.overview-insights{margin-top:1.25rem}.goals-summary{display:grid;gap:.35rem}.goals-summary strong{color:var(--blue-dark);font-size:1.65rem}.goals-summary>span{color:var(--muted);font-size:.75rem}.suggestion-card{display:grid;gap:.85rem;min-height:7rem;align-content:center}.suggestion-card p{margin:0;color:var(--ink-soft);font-size:.84rem;line-height:1.45}.productivity-chart{display:flex;align-items:end;justify-content:space-between;gap:.55rem;height:9rem;padding-top:.75rem}.productivity-column{display:grid;flex:1;height:100%;align-items:end;gap:.45rem}.productivity-column i{display:block;min-height:.45rem;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#67b8eb,var(--blue))}.productivity-column span{color:var(--muted);font-size:.66rem;text-align:center;text-transform:uppercase}.alerts-list{display:grid;gap:.55rem;margin-top:.8rem}.alerts-list p{margin:0;padding:.65rem .7rem;border-left:3px solid var(--amber);border-radius:0 5px 5px 0;color:var(--ink-soft);background:var(--amber-soft);font-size:.75rem;line-height:1.4}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-top:1rem}.mini-calendar-day{display:grid;min-height:3.55rem;place-items:center;border:1px solid var(--line);border-radius:6px;color:var(--ink-soft);background:#fff}.mini-calendar-day small{color:var(--muted);font-size:.6rem;text-transform:uppercase}.mini-calendar-day strong{font-size:.86rem}.mini-calendar-day.has-event{border-color:var(--blue);background:var(--blue-soft)}.simple-view{max-width:68rem}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}.subject-card h3,.settings-card h3{margin:0;font-size:1rem}.subject-card h3{display:flex;align-items:center;gap:.5rem}.subject-card h3 i{width:.65rem;height:.65rem;border-radius:50%}.subject-card p,.subject-card small{display:block;color:var(--muted);font-size:.75rem}.subject-card small{margin-top:.75rem}.settings-card{max-width:40rem}.settings-card dl{display:grid;gap:.7rem;margin:1rem 0 0}.settings-card dl div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid #edf1f5}.settings-card dt,.settings-card dd{margin:0;font-size:.8rem}.settings-card dt{color:var(--muted)}.settings-card dd{color:var(--ink-soft);font-weight:700;text-align:right}.weekly-goal-form{display:grid;gap:.45rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #edf1f5}.weekly-goal-form label{color:var(--ink-soft);font-size:.75rem;font-weight:750}.weekly-goal-form>div{display:flex;gap:.55rem}.weekly-goal-form input{width:6rem;min-height:2rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:5px}.profile-view-header{margin:0 0 2.2rem}.profile-view-header h2{margin:0;color:#101b2d;font-size:clamp(1.55rem,3vw,2rem);letter-spacing:-.045em}.profile-view-header p{margin:.4rem 0 0;color:#617084;font-size:clamp(.8rem,1.5vw,.95rem)}.profile-preferences-grid{display:grid;width:min(100%,46rem);grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.profile-card{display:flex;min-height:17.8rem;flex-direction:column;align-items:center;padding:1.75rem 1.2rem;border:1px solid #e9edf1;border-radius:1.15rem;background:#fff;box-shadow:0 2px 5px #28374c0a}.profile-photo-placeholder{display:grid;width:6.8rem;height:6.8rem;place-items:center;padding:0;border:3px solid #ffffff;border-radius:50%;color:#9aa4b5;background:#e3e6eb;box-shadow:0 3px 4px #222f422e;font-size:1.35rem;font-weight:700;overflow:hidden;cursor:pointer;transition:box-shadow .16s ease,transform .16s ease}.profile-photo-placeholder:hover{box-shadow:0 0 0 3px #d8eefa,0 3px 4px #222f422e;transform:scale(1.025)}.profile-photo-placeholder img{width:100%;height:100%;object-fit:cover}.profile-photo-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.profile-identity-footer{display:flex;width:100%;align-items:center;justify-content:center;gap:.6rem;margin-top:auto}.profile-identity-footer h3{max-width:7.2rem;margin:0;color:#06152d;font-size:1.22rem;line-height:1.2;text-align:center}.profile-edit-name{display:inline-flex;min-height:3rem;align-items:center;gap:.42rem;padding:.5rem .65rem;border:1px solid #dfe4ea;border-radius:.45rem;color:#112039;background:#f7f8fa;font-size:.7rem;line-height:1.15;text-align:left}.profile-edit-name:hover{border-color:#b9d3e8;background:#eef7fd;color:var(--blue-dark)}.profile-edit-name svg{width:.85rem;height:.85rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.profile-font-card{text-align:center}.profile-font-icon{display:grid;width:3.55rem;height:3.55rem;place-items:center;margin-bottom:1.15rem;border:1px solid #edf0f3;border-radius:.85rem;color:#081a35;background:#fff;box-shadow:0 2px 5px #28374c0d;font-size:1.1rem}.profile-font-card h3{margin:0;color:#06152d;font-size:1rem}.profile-font-card p{margin:.38rem 0 1.1rem;color:#617084;font-size:.72rem;line-height:1.4}.font-size-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;overflow:hidden;margin-top:auto;padding:.3rem;border-radius:.8rem;background:#f0f1f4}.font-size-selector button{min-height:2.55rem;border:0;border-radius:.6rem;color:#31425a;background:transparent;font-size:.7rem;white-space:nowrap}.font-size-selector button:hover{color:var(--blue-dark)}.font-size-selector button.is-selected{color:#06152d;background:#fff;box-shadow:0 1px 2px #1b283b12}:root[data-font-size=small]{font-size:14px}:root[data-font-size=medium]{font-size:16px}:root[data-font-size=large]{font-size:18px}@media(max-width:620px){.profile-view-header{margin-bottom:1.35rem}.profile-preferences-grid{grid-template-columns:1fr;gap:1rem}.profile-card{min-height:15.5rem}.profile-identity-footer{margin-top:1.8rem}}@media(max-width:380px){.profile-card{padding:1.3rem .9rem}.profile-identity-footer{gap:.35rem}.profile-identity-footer h3{font-size:1.1rem}.profile-edit-name{padding-inline:.45rem}}.focus-modal-card{max-width:25rem;text-align:center}.focus-modal-card h2{margin:0}.focus-activity-title{min-height:1.5rem;margin:.55rem 0 1rem;color:var(--muted)}.focus-timer{display:block;margin:1rem 0 1.4rem;color:var(--blue-dark);font-size:clamp(2.4rem,8vw,4rem);letter-spacing:.06em}.focus-actions{display:flex;justify-content:center;gap:.6rem}.review-event{background:#8b5cf6}.study-event-card-review{border-left-color:#8b5cf6}.overview-primary-grid{display:grid;grid-template-columns:minmax(15rem,1.05fr) minmax(14rem,.85fr) minmax(14rem,.8fr);gap:.9rem;align-items:stretch}.overview-primary-grid .activities-panel{padding:.9rem 1rem}.overview-primary-grid .activity-list{margin-top:.45rem}.overview-primary-grid .activity-row{padding:.42rem 0}.overview-primary-grid .activity-row:nth-child(n+4){display:none}.overview-primary-grid .panel-link{margin-top:.45rem}.anticipation-panel{min-height:100%}.anticipation-panel .alerts-list{margin-top:.55rem}.anticipation-panel .alerts-list p{padding:.5rem .55rem;font-size:.68rem}.overview-primary-grid .urgency-panel{min-height:100%}.overview-aligned-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:.9rem}.study-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.25rem}.study-progress-grid .quick-panel,.study-progress-grid .overview-progress{min-height:0;margin-top:0}.study-progress-grid .study-placeholder{min-height:4.25rem;margin-top:.65rem}.study-progress-grid .panel-copy{margin-top:.6rem}.overview-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.overview-three-grid .suggestion-card{min-height:6.2rem}.overview-single-panel{grid-template-columns:minmax(0,1fr)}.overview-three-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:.9rem}.overview-three-cards .panel{min-height:0;padding:.85rem .95rem}.overview-three-cards .productivity-chart{height:6rem}.overview-three-cards .mini-calendar{gap:.25rem}.overview-three-cards .mini-calendar-day{min-height:3rem}@media(max-width:980px){.overview-primary-grid{grid-template-columns:minmax(0,1fr) minmax(14rem,.8fr)}.overview-primary-grid .urgency-panel{grid-column:span 2}.overview-three-grid,.overview-aligned-grid,.overview-three-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.overview-primary-grid{grid-template-columns:1fr}.overview-primary-grid .urgency-panel{grid-column:auto}.study-progress-grid,.overview-three-grid,.overview-aligned-grid,.overview-three-cards{grid-template-columns:1fr}}body{background:#eef1f4}.dashboard-layout{grid-template-columns:11.75rem minmax(0,1fr)}.sidebar{padding:1.15rem .75rem .75rem;border-right:1px solid #e1e6eb;background:#fff;color:var(--ink)}.sidebar .brand{padding:0 .45rem;color:var(--navy);font-size:1.1rem}.sidebar .brand-mark{width:1.85rem;height:1.85rem;border-radius:5px}.sidebar-nav{margin-top:1.9rem}.nav-link{min-height:2.35rem;gap:.55rem;padding:.55rem;color:#697786;font-size:.75rem}.nav-link:hover{background:#f2f7fb;color:var(--blue-dark)}.nav-link.is-active{background:#e7f2fa;color:var(--blue-dark)}.nav-symbol{width:1.2rem;height:1.2rem;border:0;border-radius:4px;background:#edf2f6;font-size:.56rem}.nav-link.is-active .nav-symbol{background:#cce8f8}.sidebar-divider{margin:1rem 0 0;background:#edf0f3}.sidebar-profile{padding:.7rem .35rem 0;border-top-color:#edf0f3}.sidebar-profile-copy strong{color:var(--ink);font-size:.72rem;cursor:pointer}.sidebar-profile-copy strong:focus-visible{border-radius:.2rem;outline:2px solid var(--blue);outline-offset:2px}.sidebar-profile-copy small,.logout-button{color:var(--muted)}.logout-button:hover{color:var(--blue-dark)}.topbar{min-height:4rem;padding:.75rem clamp(1rem,2.4vw,2rem);border-bottom:1px solid #e2e7ec}.topbar-context .eyebrow{margin-bottom:.1rem;font-size:.62rem}.topbar-context h1{font-size:.92rem}.topbar-actions{gap:.35rem}.topbar-button{min-height:2rem;padding:.3rem .5rem;color:#81909d;font-size:.68rem}.profile-button{border-color:#e1e6eb;font-size:.7rem}.dashboard-content{gap:.9rem;padding:1.15rem clamp(1rem,2.4vw,2rem)}.welcome-strip{min-height:7.2rem;border-radius:7px;padding:1.25rem 1.45rem;background:linear-gradient(108deg,#269bd1,#2c91c7 45%,#e9ba42 67%,#f5cf61)}.welcome-strip h2{font-size:clamp(1.3rem,2.3vw,1.8rem);letter-spacing:.02em}.welcome-strip p:last-child{font-size:.75rem}.today-badge{min-width:4.7rem;padding:.55rem;border-left-color:#fff6}.today-badge strong{font-size:.95rem}.today-badge span,.today-badge small{font-size:.58rem}.metrics{gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{position:relative;min-height:6.15rem;border:0;border-top:0;border-radius:8px;padding:.95rem 1rem;background:#fff;box-shadow:0 2px 8px #3a568012}.metric-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px #3a56801f}.metric-card.metric-blue:hover{background:linear-gradient(135deg,#fff 20%,#e5f0ff)}.metric-card.metric-green:hover{background:linear-gradient(135deg,#fff 20%,#e1f8ec)}.metric-card.metric-amber:hover{background:linear-gradient(135deg,#fff 20%,#fff2cf)}.metric-card.metric-red:hover{background:linear-gradient(135deg,#fff 20%,#ffe4e6)}.metric-blue,.metric-green,.metric-amber,.metric-red{background:#fff}.metric-blue .metric-icon{color:#4c8fe8;background:#dceafe}.metric-green .metric-icon{color:#1bb778;background:#d4f3e4}.metric-amber .metric-icon{color:#f4ae19;background:#ffedc1}.metric-red .metric-icon{color:#f05b63;background:#ffd9dc}.metric-icon{position:absolute;top:50%;right:1rem;width:2.75rem;height:2.75rem;margin:0;border-radius:50%;font-size:.5rem;transform:translateY(-50%)}.metric-icon svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.metric-label{display:block;max-width:calc(100% - 3.25rem);color:#64748b;font-size:.68rem;font-weight:600}.metric-card strong{margin:.55rem 0 0;color:#172b4d;font-size:1.45rem;font-weight:750}.metric-detail{display:none;max-width:calc(100% - 3.25rem);margin-top:.18rem;color:#172b4d;font-size:.62rem;font-weight:700;line-height:1.35}.metric-card:last-child .metric-detail{display:block;max-width:calc(100% - 3.5rem);margin-top:.35rem;white-space:pre-line}.metric-card:last-child .metric-bottom{display:block;margin-top:.35rem}.metric-red .metric-icon{top:1.05rem;transform:none}.metric-red strong{margin:0;color:#ef5c64;font-size:1.12rem;line-height:1.1}.overview-primary-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.overview-activity-cards{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.95fr);gap:.7rem;margin-bottom:.9rem}.overview-activity-cards>.panel{min-height:10rem;padding:.85rem .95rem;border:0;border-radius:8px;background:#fff;box-shadow:0 2px 8px #3a568012}.overview-summary-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.overview-summary-header h2{margin:0;color:#203552;font-size:.7rem;font-weight:800}.overview-upcoming-list{display:grid;gap:.3rem;margin-top:.7rem}.overview-upcoming-row{display:grid;align-items:center;grid-template-columns:1.2rem minmax(0,1fr) minmax(4.5rem,.7fr) 5.7rem auto;gap:.6rem;min-height:2.2rem;padding:.38rem .5rem;border-radius:6px;background:#f8fafc}.overview-upcoming-row.is-clickable{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.overview-upcoming-row.is-clickable:hover,.overview-upcoming-row.is-clickable:focus-visible{background:#eef6ff;box-shadow:0 0 0 2px #bfdbfe;outline:none}.overview-upcoming-icon{display:grid;width:1.1rem;height:1.1rem;place-items:center;border-radius:50%}.overview-upcoming-icon svg{width:.65rem;height:.65rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.overview-upcoming-icon.priority-urgent{color:#fff;background:#ff5a63}.overview-upcoming-icon.priority-moderate{color:#fff;background:#f6ad22}.overview-upcoming-icon.priority-low{color:#fff;background:#5b93eb}.overview-upcoming-copy,.overview-upcoming-subject,.overview-upcoming-date{min-width:0}.overview-upcoming-copy strong,.overview-upcoming-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-upcoming-copy strong{color:#2d3c55;font-size:.62rem;font-weight:800}.overview-upcoming-copy span,.overview-upcoming-subject,.overview-upcoming-date{color:#728198;font-size:.52rem;font-weight:600}.overview-upcoming-priority{padding:.2rem .38rem;border-radius:4px;font-size:.5rem;font-weight:800;white-space:nowrap}.overview-upcoming-priority.priority-urgent{color:#ef4f59;background:#ffe4e6}.overview-upcoming-priority.priority-moderate{color:#c98508;background:#fff2cf}.overview-upcoming-priority.priority-low{color:#3979d8;background:#e4efff}.overview-summary-empty{margin:2.2rem 0 0;color:#8391a5;font-size:.64rem;text-align:center}.overview-completed-card{display:flex;flex-direction:column;cursor:pointer}.overview-completed-card select,.overview-completed-card button{cursor:pointer}.overview-completed-card select{width:8rem;min-height:2rem;max-width:100%;border:1px solid #b9c7d8;border-radius:.45rem;padding:0 1.65rem 0 .6rem;color:#24344d;background:#fff;font-size:.68rem;font-weight:700;cursor:pointer}.overview-completed-card select:hover{border-color:#7fa2c7}.overview-completed-card select:focus-visible{border-color:var(--blue);outline:3px solid var(--blue-soft)}.overview-completed-body{display:flex;align-items:center;justify-content:center;gap:.85rem;flex:1;padding:.8rem 0}.overview-completed-icon{display:grid;width:2.65rem;height:2.65rem;place-items:center;border-radius:50%;color:#20a86d;background:#e1f8eb}.overview-completed-icon svg{width:1.55rem;height:1.55rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.overview-completed-body strong,.overview-completed-body p{display:block;margin:0}.overview-completed-body strong{color:#1fa66b;font-size:.78rem;font-weight:800}.overview-completed-body p{margin-top:.2rem;color:#7c8aa0;font-size:.52rem;font-weight:600}.overview-view-completed{align-self:center;min-width:4.75rem;min-height:1.65rem;border:1px solid #e3e9f0;border-radius:5px;color:#42536b;background:#fff;font-size:.55rem;font-weight:750}.overview-view-completed:hover{border-color:#b7c9df;background:#f6f9fc}@media(max-width:900px){.overview-activity-cards{grid-template-columns:minmax(0,1fr)}.overview-upcoming-row{grid-template-columns:1.2rem minmax(0,1fr) 5.7rem auto}.overview-upcoming-subject{display:none}}@media(max-width:560px){.overview-upcoming-row{grid-template-columns:1.2rem minmax(0,1fr) auto;gap:.45rem}.overview-upcoming-date{display:none}.overview-completed-body{justify-content:flex-start;padding-inline:.35rem}}.study-progress-grid{grid-template-columns:minmax(0,1fr)}.overview-three-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-primary-grid>.panel{min-height:19.2rem;padding:1rem 1.1rem;border:0;border-radius:8px;background:#fff;box-shadow:0 2px 8px #3a568012}.overview-primary-grid .urgency-panel{order:1}.overview-primary-grid .activities-panel{order:2}.overview-primary-grid .overview-calendar-panel{order:3}.overview-primary-grid .panel-heading{display:flex;align-items:center;justify-content:space-between}.overview-primary-grid .panel-heading h2,.overview-calendar-header h2{color:#203552;font-size:.78rem;font-weight:750}.overview-panel-menu{border:0;padding:.1rem .25rem;color:#61738d;background:transparent;font-size:1.05rem;line-height:1}.activities-panel .overview-panel-menu,.urgency-panel .overview-panel-menu{display:none!important}.overview-primary-grid .urgency-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(5.5rem,.8fr);grid-template-rows:auto 1fr;column-gap:.55rem}.overview-primary-grid .urgency-panel .panel-heading{grid-column:1 / -1}.overview-primary-grid .urgency-chart-wrap{grid-column:1;align-self:center;width:min(10.1rem,100%);margin:.6rem auto 0}.overview-primary-grid .urgency-chart{position:relative;width:100%;height:auto;aspect-ratio:1;border-radius:50%;overflow:hidden;transform:none}.overview-primary-grid .urgency-chart circle{stroke-width:92}.overview-primary-grid .chart-track,.overview-primary-grid .chart-center{display:none}.pie-percentage{position:absolute;color:#fff;font-size:.62rem;font-weight:800;text-shadow:0 1px 2px rgb(31 41 55 / 20%);transform:translate(-50%,-50%)}.overview-primary-grid .urgency-legend{grid-column:2;align-self:center;gap:.85rem}.overview-primary-grid .legend-item{display:grid;justify-content:start;gap:.16rem}.overview-primary-grid .legend-label{color:#31435e;font-size:.66rem;font-weight:750}.overview-primary-grid .legend-swatch{width:.72rem;height:.72rem;border-radius:50%}.overview-primary-grid .legend-value{padding-left:1.15rem;color:#718198;font-size:.58rem;font-weight:600}.overview-primary-grid .activities-panel .activity-list{gap:.38rem;margin-top:.95rem}.overview-primary-grid .activities-panel .activity-row{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;padding:.5rem .6rem;border:0;border-radius:6px;background:#f6f8fb}.overview-primary-grid .activities-panel .activity-row:nth-child(n+5){display:none}.overview-primary-grid .activities-panel .activity-date{display:none}.overview-primary-grid .activities-panel .activity-main strong{color:#293a55;font-size:.63rem;font-weight:800}.overview-primary-grid .activities-panel .activity-main span{margin-top:.1rem;color:#718198;font-size:.58rem}.overview-primary-grid .activities-panel .priority-tag{padding:.22rem .32rem;border-radius:4px;font-size:.52rem}.overview-primary-grid .activities-panel .panel-link{justify-content:center;width:100%;margin-top:.8rem;color:#2779dd;font-size:.62rem}.overview-calendar-header{display:flex;align-items:center;justify-content:space-between}.overview-calendar-header>div{display:inline-flex;gap:.25rem}.overview-calendar-header button{display:grid;width:1.3rem;height:1.3rem;place-items:center;border:0;border-radius:4px;color:#31435e;background:transparent;font-size:1.05rem;line-height:1}.overview-calendar-header button:hover{background:#eef4fb}.overview-calendar-month{margin:.4rem 0 .55rem;color:#34465f;font-size:.66rem;font-weight:800;text-align:center}.overview-calendar-weekdays,.overview-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.overview-calendar-weekdays{margin-bottom:.25rem;color:#7c8da5;font-size:.5rem;font-weight:750;text-align:center;text-transform:uppercase}.overview-calendar-day{display:grid;min-height:1.45rem;place-items:center;border:0;border-radius:5px;color:#40516a;background:transparent;font-size:.61rem;font-weight:700}button.overview-calendar-day:hover{background:#eef4fb}.overview-calendar-day.is-weekend{color:#8998ac;background:#f1f5f9}.overview-calendar-day.is-today{color:#fff;background:#ffb9bd}.overview-calendar-day.has-event{background:#ffeddc}.overview-calendar-day.has-exam{color:#fff;background:#ff6f78}.overview-calendar-day.is-empty{pointer-events:none}.overview-calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.7rem;color:#7a899f;font-size:.48rem}.overview-calendar-legend span{display:inline-flex;align-items:center;gap:.22rem;white-space:nowrap}.overview-calendar-legend i{width:.5rem;height:.5rem;border-radius:50%}.calendar-legend-weekend{background:#cbd5e1}.calendar-legend-holiday{background:#c4b5fd}.calendar-legend-exam{background:#fbbf24}.calendar-legend-proof{background:#fb7185}.overview-calendar-day.has-event{color:#9a6700;background:#fff1c7}.overview-calendar-day.is-holiday,.overview-calendar-day.is-holiday.has-exam{color:#6d28d9;background:#ede9fe}:root[data-theme=dark]{color-scheme:dark;--ink: #ffffff;--ink-soft: #e6edf7;--muted: #c4d0df;--line: #304055;--canvas: #0d1522;--surface: #172232;--navy: #0b1421;--navy-soft: #1a2b40;--blue: #45a9e8;--blue-dark: #78c7f2;--blue-soft: #153b58;--green: #54c69a;--green-soft: #143c32;--amber: #f0b75a;--amber-soft: #47351d;--red: #f08086;--red-soft: #48272d;--orange-soft: #4b301d}:root[data-theme=dark] .dashboard-layout{color:var(--ink)}:root[data-theme=dark] .dashboard-layout :is(h1,h2,h3,h4,strong){color:var(--ink)}:root[data-theme=dark] .dashboard-layout :is(p,small,time,label,legend,.eyebrow,.metric-label,.metric-detail,.activity-main span,.activity-detail-content span,.activity-detail-meta,.overview-upcoming-copy span,.overview-upcoming-subject,.overview-upcoming-date,.study-calendar-weekdays div,.study-calendar-header p,.study-calendar-details-header p,.study-calendar-legend,.study-calendar-empty,.study-calendar-empty p,.notes-timeline-card time,.notes-timeline-card p,.notes-page-heading>div>p:last-child,.profile-font-card p,.profile-theme-card p,.profile-view-header p){color:var(--ink-soft)}:root[data-theme=dark] .sidebar-section-label,:root[data-theme=dark] .nav-link,:root[data-theme=dark] .sidebar-profile-copy small,:root[data-theme=dark] .logout-button,:root[data-theme=dark] .topbar-button{color:#d7e1ed}:root[data-theme=dark] body{background:var(--canvas)}:root[data-theme=dark] .dashboard-layout{background:var(--canvas)}:root[data-theme=dark] .sidebar{border-right-color:#25364b;background:#101b2b;color:var(--ink)}:root[data-theme=dark] .sidebar .brand,:root[data-theme=dark] .sidebar-profile-copy strong{color:var(--ink)}:root[data-theme=dark] .sidebar-section-label,:root[data-theme=dark] .nav-link,:root[data-theme=dark] .sidebar-profile-copy small,:root[data-theme=dark] .logout-button{color:#91a5bb}:root[data-theme=dark] .nav-link:hover{background:#1a2b40;color:#b9e2fa}:root[data-theme=dark] .nav-link.is-active{background:#183b58;color:#b9e2fa}:root[data-theme=dark] .nav-symbol{background:#1c2d41}:root[data-theme=dark] .nav-link.is-active .nav-symbol{background:#285d82}:root[data-theme=dark] .sidebar-profile{border-top-color:#25364b}:root[data-theme=dark] .topbar{border-bottom-color:var(--line);background:var(--surface)}:root[data-theme=dark] .topbar-button:hover,:root[data-theme=dark] .profile-button:hover,:root[data-theme=dark] .menu-button:hover{border-color:var(--line);background:#202f42}:root[data-theme=dark] .profile-button,:root[data-theme=dark] .menu-button{border-color:var(--line);color:var(--ink-soft)}.theme-toggle{display:inline-flex;min-height:2.25rem;align-items:center;gap:.45rem;padding:.4rem .7rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);background:transparent;font-size:.72rem;font-weight:700;transition:background .16s ease,border-color .16s ease,color .16s ease}.theme-toggle:hover{border-color:var(--blue);color:var(--blue-dark);background:var(--blue-soft)}.theme-toggle-icon{display:inline-grid;width:1.05rem;height:1.05rem;place-items:center;font-size:1rem;line-height:1}:root[data-theme=dark] .theme-toggle{border-color:#46647f;color:#d9effd;background:#1b354c}:root[data-theme=dark] .welcome-strip{background:linear-gradient(108deg,#16547b,#1f6b91 45%,#725a27 67%,#8b6e2d)}:root[data-theme=dark] .metric-card,:root[data-theme=dark] .panel,:root[data-theme=dark] .calendar-filters,:root[data-theme=dark] .study-calendar,:root[data-theme=dark] .study-calendar-main,:root[data-theme=dark] .study-calendar-details,:root[data-theme=dark] .profile-card,:root[data-theme=dark] .subject-card,:root[data-theme=dark] .settings-card,:root[data-theme=dark] .overview-completed-card{border-color:var(--line);background:var(--surface);color:var(--ink);box-shadow:0 2px 12px #0000002e}:root[data-theme=dark] .metric-card:hover,:root[data-theme=dark] .overview-upcoming-row.is-clickable:hover,:root[data-theme=dark] .overview-upcoming-row.is-clickable:focus-visible{background:#1c2b3d}:root[data-theme=dark] .metric-blue .metric-icon,:root[data-theme=dark] .overview-upcoming-priority.priority-low{color:#a6ddfa;background:#1a4564}:root[data-theme=dark] .metric-green .metric-icon{color:#9be4c4;background:#18503f}:root[data-theme=dark] .metric-amber .metric-icon,:root[data-theme=dark] .overview-upcoming-priority.priority-moderate{color:#ffd994;background:#60451c}:root[data-theme=dark] .metric-red .metric-icon,:root[data-theme=dark] .overview-upcoming-priority.priority-urgent{color:#ffb4b8;background:#652d35}:root[data-theme=dark] .activity-row,:root[data-theme=dark] .overview-upcoming-row,:root[data-theme=dark] .overview-completed-card,:root[data-theme=dark] .study-calendar-details,:root[data-theme=dark] .study-calendar-event-card{border-color:var(--line)}:root[data-theme=dark] .activities-list-panel{border-color:#2d435b;background:#1c2b3d}:root[data-theme=dark] .overview-upcoming-row,:root[data-theme=dark] .overview-primary-grid .activities-panel .activity-row,:root[data-theme=dark] .activity-detail-row,:root[data-theme=dark] .activity-cancel{color:var(--ink-soft);background:transparent}:root[data-theme=dark] .overview-primary-grid .activities-panel .activity-row{border:1px solid #2d4158}:root[data-theme=dark] .overview-primary-grid .activities-panel .activity-row:hover,:root[data-theme=dark] .overview-upcoming-row.is-clickable:hover,:root[data-theme=dark] .activity-detail-row:hover,:root[data-theme=dark] .activity-detail-row.is-overview-focused,:root[data-theme=dark] .activity-cancel:hover{background:#263b52}:root[data-theme=dark] .activity-cancel{border-color:#40566f}:root[data-theme=dark] .activity-detail-meta time,:root[data-theme=dark] .activity-icon-button{border-color:#40566f;color:var(--ink-soft);background:#1b2a3c}:root[data-theme=dark] .activity-edit-button{color:var(--ink-soft)}:root[data-theme=dark] .study-event-types label{border-color:#40566f;color:var(--ink-soft);background:#1b2a3c}:root[data-theme=dark] .study-event-types label:has(input:checked){border-color:#5db7ee;color:#fff;background:#1d5278;box-shadow:0 0 0 1px #5db7ee40}:root[data-theme=dark] .activity-row:hover,:root[data-theme=dark] .activity-row.is-selected{background:#1c2b3d}:root[data-theme=dark] .calendar-weekday,:root[data-theme=dark] .calendar-day,:root[data-theme=dark] .overview-calendar-day,:root[data-theme=dark] .mini-calendar-day{border-color:var(--line);color:var(--ink-soft);background:#182638}:root[data-theme=dark] .calendar-weekday,:root[data-theme=dark] .calendar-day.is-outside,:root[data-theme=dark] .overview-calendar-day.is-weekend{background:#131f2e}:root[data-theme=dark] .calendar-day.is-weekend{background:#142232}:root[data-theme=dark] .calendar-day.is-holiday,:root[data-theme=dark] .overview-calendar-day.is-holiday{color:#e8c0ff;background:#332552}:root[data-theme=dark] .calendar-day.is-exam,:root[data-theme=dark] .overview-calendar-day.has-exam{background:#4b2932}:root[data-theme=dark] .overview-calendar-day.has-event,:root[data-theme=dark] .mini-calendar-day.has-event{color:#f6d58a;background:#47361d}:root[data-theme=dark] .calendar-control,:root[data-theme=dark] .filter-tab,:root[data-theme=dark] .calendar-filter,:root[data-theme=dark] .activity-subject-filter,:root[data-theme=dark] .activity-focus-button,:root[data-theme=dark] .activity-delete-button,:root[data-theme=dark] .overview-view-completed,:root[data-theme=dark] .profile-edit-name{border-color:var(--line);color:var(--ink-soft);background:#1b2a3c}:root[data-theme=dark] .filter-tab.is-active,:root[data-theme=dark] .calendar-filter.is-active,:root[data-theme=dark] .overview-view-completed:hover{color:#fff;background:var(--blue)}:root[data-theme=dark] .alerts-list p,:root[data-theme=dark] .exam-days{color:var(--ink-soft);background:var(--amber-soft)}:root[data-theme=dark] .progress-track{background:#2a3a4c}:root[data-theme=dark] .study-modal:before{background:#0000009e}:root[data-theme=dark] .study-modal-card,:root[data-theme=dark] .date-picker-popup,:root[data-theme=dark] .subject-suggestions,:root[data-theme=dark] .notes-subject-menu,:root[data-theme=dark] .note-modal-card{border-color:var(--line);color:var(--ink);background:#172232;box-shadow:0 24px 60px #0000006b}:root[data-theme=dark] .note-modal-card{background:#1c2b3d}:root[data-theme=dark] .note-modal-card .note-editor,:root[data-theme=dark] .note-modal-card .note-title-input,:root[data-theme=dark] .note-modal-card .note-content-input{background:transparent}:root[data-theme=dark] .study-modal-card h2,:root[data-theme=dark] .study-modal-card h3,:root[data-theme=dark] .date-picker-header strong,:root[data-theme=dark] .profile-view-header h2,:root[data-theme=dark] .profile-identity-footer h3,:root[data-theme=dark] .profile-font-card h3,:root[data-theme=dark] .profile-theme-card h3{color:var(--ink)}:root[data-theme=dark] .activity-form label,:root[data-theme=dark] .activity-form legend,:root[data-theme=dark] .study-event-form label,:root[data-theme=dark] .study-event-form legend{color:var(--ink-soft)}:root[data-theme=dark] .dashboard-layout input,:root[data-theme=dark] .dashboard-layout textarea,:root[data-theme=dark] .dashboard-layout select,:root[data-theme=dark] .date-picker-trigger{border-color:var(--line);color:var(--ink);background:#101b2b}:root[data-theme=dark] .dashboard-layout input::placeholder,:root[data-theme=dark] .dashboard-layout textarea::placeholder{color:#708198}:root[data-theme=dark] .date-picker-header button,:root[data-theme=dark] .date-picker-days button,:root[data-theme=dark] .date-picker-days span,:root[data-theme=dark] .subject-suggestion{color:var(--ink-soft)}:root[data-theme=dark] .date-picker-header button:hover,:root[data-theme=dark] .date-picker-days button:hover,:root[data-theme=dark] .date-picker-today:hover,:root[data-theme=dark] .subject-suggestion:hover,:root[data-theme=dark] .subject-suggestion:focus-visible{background:#203a51}:root[data-theme=dark] .subject-suggestion{border-bottom-color:var(--line);background:#172232}:root[data-theme=dark] .profile-photo-placeholder{border-color:#2b3b4f;color:#a9b8ca;background:#2a394b}:root[data-theme=dark] .profile-font-icon,:root[data-theme=dark] .profile-theme-icon{border-color:var(--line);color:#cfe8f8;background:#1e344a}:root[data-theme=dark] .profile-font-card p,:root[data-theme=dark] .profile-theme-card p,:root[data-theme=dark] .profile-view-header p{color:var(--muted)}:root[data-theme=dark] .font-size-selector{background:#101b2b}:root[data-theme=dark] .font-size-selector button{color:var(--muted)}:root[data-theme=dark] .font-size-selector button.is-selected{color:var(--ink);background:#2a3b50}.profile-theme-card{text-align:center}.profile-theme-icon{display:grid;width:3.55rem;height:3.55rem;place-items:center;margin-bottom:1.15rem;border:1px solid #edf0f3;border-radius:.85rem;color:#081a35;background:#fff;box-shadow:0 2px 5px #28374c0d;font-size:1.35rem}.profile-theme-card p{margin:.38rem 0 1.1rem;color:#617084;font-size:.72rem;line-height:1.4}.profile-theme-toggle{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;gap:.42rem;width:100%;margin-top:auto;padding:.45rem .6rem;border:1px solid var(--line);border-radius:.6rem;color:var(--ink-soft);background:transparent;font-size:.7rem;font-weight:750}.profile-theme-toggle:hover{border-color:var(--blue);color:var(--blue-dark);background:var(--blue-soft)}:root[data-theme=dark] .profile-theme-toggle{border-color:#46647f;color:#d9effd;background:#1b354c}@media(max-width:620px){.theme-toggle{width:2.25rem;justify-content:center;padding:.4rem}.theme-toggle-label{display:none}}@media(max-width:980px){.overview-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-primary-grid .urgency-panel{grid-column:auto}.overview-primary-grid .overview-calendar-panel{grid-column:span 2}}@media(max-width:680px){.overview-primary-grid{grid-template-columns:minmax(0,1fr)}.overview-primary-grid .overview-calendar-panel{grid-column:auto}}.metric-head{display:flex;align-items:center;gap:.45rem;min-width:0}.metric-head .metric-icon{flex:0 0 auto;margin:0}.metric-head .metric-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem;margin-top:auto}.metric-bottom strong{margin:0}.metric-bottom .metric-detail{padding-bottom:.12rem;white-space:nowrap}.overview-grid,.lower-grid{gap:.9rem}.overview-grid{grid-template-columns:minmax(0,1.6fr) minmax(15.5rem,.72fr);align-items:stretch}.panel{border:0;border-radius:7px;padding:1rem 1.1rem;box-shadow:0 1px 2px #23303e0d}.panel-heading{align-items:center}.panel h2{font-size:.86rem}.panel-heading .eyebrow{margin-bottom:.18rem;font-size:.6rem}.button-compact{min-height:2rem;padding:.35rem .55rem;font-size:.65rem}.activity-list{gap:0;margin-top:.7rem}.activity-row{grid-template-columns:2.2rem minmax(0,1fr) auto;padding:.55rem 0}.activity-date{width:2.05rem;height:2.05rem;font-size:.58rem}.activity-main strong{font-size:.72rem}.activity-main span{margin-top:.1rem;font-size:.63rem}.priority-tag{padding:.23rem .35rem;font-size:.56rem}.panel-link{margin-top:.6rem;font-size:.65rem}.urgency-panel{min-height:18rem}.overview-grid .urgency-panel{display:grid;grid-template-rows:auto 1fr auto;min-height:100%}.urgency-chart-wrap{width:7.2rem;margin:.75rem auto .8rem}.urgency-chart{width:7.2rem;height:7.2rem}.chart-center strong{font-size:1.25rem}.chart-center span{font-size:.62rem}.urgency-legend{gap:.38rem}.legend-item{font-size:.65rem}.calendar-panel,.exam-panel{min-height:21rem}.calendar-key{margin:.8rem 0 .6rem;font-size:.6rem}.calendar-day{min-height:3rem}.calendar-weekday{padding:.35rem .2rem;font-size:.56rem}.calendar-day-number{font-size:.62rem}.calendar-event{margin-top:.2rem;font-size:.52rem}.exam-mark{width:1.4rem;height:1.4rem;font-size:.72rem}.exam-content{min-height:12.5rem}.exam-card h3{font-size:.98rem}.exam-card p{font-size:.7rem}.exam-days{padding:.7rem}.exam-days strong{font-size:1.25rem}.exam-days span{font-size:.64rem}.quick-panel{min-height:6rem}.study-placeholder{margin-top:.8rem;font-size:.68rem}@media(max-width:760px){.sidebar{background:#fff}.welcome-strip{background:linear-gradient(108deg,#269bd1,#2c91c7 48%,#e9ba42 72%,#f5cf61)}}@media(max-width:480px){.metric-card{min-height:6.2rem}.welcome-strip{padding:1.1rem}}@media(min-width:921px)and (max-width:1100px){.overview-grid{grid-template-columns:minmax(0,1.55fr) minmax(14.5rem,.78fr)}.overview-grid .urgency-panel{min-height:100%}}.calendar-view .lower-grid{display:block;width:min(100%,74rem);margin-inline:auto}.study-calendar{display:flex;width:min(100%,74rem);min-height:29.5rem;margin:0 auto;overflow:hidden;border-radius:1rem;background:#fff;box-shadow:0 20px 30px #0f172a1a;color:#374151;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.study-calendar-main{display:flex;width:66%;flex-direction:column;padding:1.15rem 1.35rem;border-right:1px solid #f3f4f6}.study-calendar-header,.study-calendar-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.study-calendar-header{margin-bottom:.75rem;align-items:center}.study-calendar-header h2,.study-calendar-details h3{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600;letter-spacing:-.025em}.study-calendar-header p,.study-calendar-details-header p{margin:.25rem 0 0;color:#6b7280;font-size:.875rem}.study-calendar-controls{display:flex;align-items:center;gap:.5rem}.study-calendar-controls button{display:inline-grid;min-width:2.25rem;min-height:2.25rem;place-items:center;border:0;border-radius:.5rem;color:#4b5563;background:transparent;font-size:1.25rem;transition:background .15s ease}.study-calendar-controls button:hover{background:#f3f4f6}.study-calendar-controls #calendar-today{min-width:auto;padding:0 .75rem;color:#374151;background:#f3f4f6;font-size:.875rem;font-weight:500}.study-calendar-controls #calendar-today:hover{background:#e5e7eb}.study-calendar-weekdays,.study-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.study-calendar-weekdays{margin-bottom:.25rem}.study-calendar-weekdays div{padding:.3rem .2rem;color:#9ca3af;font-size:.75rem;font-weight:600;text-align:center}.study-calendar-days{flex:1;grid-auto-rows:1fr}.study-calendar-day{display:flex;min-height:2.25rem;flex-direction:column;align-items:center;justify-content:flex-start;padding:.25rem;border:1px solid transparent;border-radius:.75rem;color:#374151;background:transparent;transition:background .15s ease,border-color .15s ease}.study-calendar-day:hover{background:#eff6ff}.study-calendar-day.is-other-month{color:#d1d5db}.study-calendar-day.is-selected{border-color:#bfdbfe;background:#eff6ff;box-shadow:0 0 0 1px #93c5fd}.study-calendar-day-number{display:grid;width:1.5rem;height:1.5rem;place-items:center;border-radius:50%;font-size:.875rem;font-weight:500}.study-calendar-day.is-today .study-calendar-day-number{color:#fff;background:#2563eb;box-shadow:0 1px 2px #2563eb4d}.study-calendar-day.is-weekend:not(.is-today) .study-calendar-day-number{color:#64748b;background:#f1f5f9}.study-calendar-day.has-activity:not(.is-today) .study-calendar-day-number{color:#9a6700;background:#fff1c7}.study-calendar-day.has-exam:not(.is-today) .study-calendar-day-number{color:#fff;background:#fb7185}.study-calendar-day.is-holiday:not(.is-today) .study-calendar-day-number{color:#6d28d9;background:#ede9fe}.study-calendar-event-indicators{display:flex;width:100%;justify-content:center;gap:.125rem;margin-top:.1rem;padding-inline:.25rem}.event-indicator{display:inline-block;width:.375rem;height:.375rem;flex:0 0 auto;border-radius:50%}.study-event,.assignment-event,.review-event{background:#fbbf24}.exam-event{background:#ef4444}.study-calendar-event-indicators b{color:#9ca3af;font-size:.5rem;line-height:.375rem}.study-calendar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:.7rem;color:#6b7280;font-size:.75rem}.study-calendar-legend span{display:inline-flex;align-items:center;gap:.25rem}.study-calendar-legend i{width:.55rem;height:.55rem;border-radius:50%}.study-calendar-details{display:flex;width:34%;min-width:0;flex-direction:column;padding:1.15rem;background:#f9fafbbf}.study-calendar-details h3{font-size:1.25rem;font-weight:500}.study-calendar-add{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border:0;border-radius:50%;color:#fff;background:#2563eb;box-shadow:0 1px 3px #2563eb40;font-size:1.5rem;line-height:1;transition:background .15s ease}.study-calendar-add:hover{background:#1d4ed8}.study-calendar-event-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:.75rem;overflow-y:auto;margin-top:.85rem;padding-right:.5rem}.study-calendar-empty{display:flex;align-items:center;justify-content:center;min-height:10rem;flex-direction:column;color:#9ca3af;text-align:center}.study-calendar-empty-icon{display:grid;width:2.75rem;height:2.75rem;place-items:center;margin-bottom:.75rem;border-radius:50%;color:#d1d5db;background:#f3f4f6;font-size:1.5rem}.study-calendar-empty p{margin:0;color:#6b7280;font-size:.875rem;font-weight:500}.study-calendar-empty span:last-child{margin-top:.25rem;font-size:.75rem}.study-holiday-card{padding:.85rem;border:1px solid #ddd6fe;border-left:4px solid #8b5cf6;border-radius:.75rem;background:#f5f3ff}.study-holiday-card-label{display:block;color:#7c3aed;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.study-holiday-card h4{margin:.3rem 0 0;color:#4c1d95;font-size:.9rem;font-weight:700}.study-holiday-card p{margin:.45rem 0 0;color:#5b21b6;font-size:.75rem;line-height:1.45}.study-event-card{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid;border-radius:.75rem;animation:calendarFadeIn .15s ease-in-out}.study-event-card-study{border-color:#bfdbfe;color:#1d4ed8;background:#eff6ff}.study-event-card-exam{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.study-event-card-assignment{border-color:#fde68a;color:#b45309;background:#fffbeb}.study-event-card-icon{margin-top:.125rem;opacity:.8;font-size:1rem}.study-event-card-content{min-width:0;flex:1}.study-event-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.study-event-card h4{overflow:hidden;margin:0;padding-right:1.25rem;color:inherit;font-size:.875rem;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.study-event-card-top>span{padding:.125rem .5rem;border-radius:.375rem;color:inherit;background:#ffffff7f;font-size:.75rem;font-weight:600;white-space:nowrap}.study-event-card p{margin:.25rem 0 0;color:inherit;font-size:.625rem;font-weight:600;letter-spacing:.08em;opacity:.7;text-transform:uppercase}.study-event-card .study-event-card-description{margin-top:.55rem;color:#4b5563;font-size:.75rem;font-weight:400;letter-spacing:normal;line-height:1.45;opacity:1;text-transform:none}.study-event-card-remove{position:absolute;top:.5rem;right:.5rem;border:0;border-radius:.375rem;color:#9ca3af;background:#fffc;font-size:1rem;line-height:1;opacity:0;transition:color .15s ease,opacity .15s ease}.study-event-card:hover .study-event-card-remove,.study-event-card-remove:focus-visible{opacity:1}.study-event-card-remove:hover{color:#ef4444}.study-modal{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;padding:1rem;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.study-modal.is-open{display:flex!important}.study-modal-card{width:min(100%,28rem);padding:1.5rem;border-radius:.75rem;background:#fff;box-shadow:0 25px 50px #0f172a40}.activity-modal-card{width:min(100%,34rem)}.study-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.study-modal-header h3{margin:0;color:#1f2937;font-size:1.125rem;font-weight:600}.study-modal-header button{border:0;color:#9ca3af;background:transparent;font-size:1.5rem;line-height:1}.study-event-form{display:grid;gap:1rem}.study-event-form label,.study-event-form legend{display:grid;gap:.25rem;color:#374151;font-size:.875rem;font-weight:500}.study-event-form input[type=text],.study-event-form input[type=time],.study-event-form textarea{width:100%;min-height:2.5rem;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;color:#111827;background:#fff;font-size:.875rem;outline:none}.study-event-form .event-date-picker>input{position:static;width:100%;height:auto;overflow:visible;clip:auto;white-space:normal;padding-right:2.5rem}.study-event-form .date-picker-icon{position:absolute;top:50%;right:.75rem;width:1.05rem;height:1rem;pointer-events:none;background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2'/%3E%3Cpath d='M7.5 3.5v3M16.5 3.5v3M3.5 9.5h17'/%3E%3Cpath d='M7.5 13h.01M12 13h.01M16.5 13h.01M7.5 16.5h.01M12 16.5h.01' stroke-width='2.4'/%3E%3C/svg%3E");transform:translateY(-50%)}.study-event-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.study-event-form textarea{min-height:4.5rem;resize:vertical}.study-event-form textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626}.study-event-card-description{margin:.2rem 0 0;color:#64748b;font-size:.78rem;line-height:1.35}.study-event-form fieldset{padding:0;border:0}.study-event-types{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-top:.25rem}.study-event-types label{display:flex;align-items:center;justify-content:center;min-height:2.5rem;padding:.5rem;border:1px solid #e5e7eb;border-radius:.5rem;color:#4b5563;cursor:pointer;font-size:.75rem}.study-event-types label:has(input:checked){border-color:#3b82f6;color:#1d4ed8;background:#eff6ff}.study-event-types input{position:absolute;opacity:0}.study-event-submit{min-height:2.5rem;border:0;border-radius:.5rem;color:#fff;background:#2563eb;font-size:.875rem;font-weight:500}.study-event-submit:hover{background:#1d4ed8}@keyframes calendarFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.study-calendar{min-height:auto;flex-direction:column}.study-calendar-main,.study-calendar-details{width:100%}.study-calendar-main{min-height:31rem;order:0;border-right:0;border-bottom:1px solid #f3f4f6}.study-calendar-details{min-height:22rem;order:0;border-right:0}.study-calendar-header{align-items:flex-start;flex-direction:column}.study-calendar-controls{align-self:stretch;justify-content:space-between}}.activities-view{width:min(100%,66rem);margin:0 auto}.activities-view-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.35rem .1rem}.activities-view-header h2{margin:0;color:var(--ink);font-size:clamp(1.35rem,2.5vw,1.8rem)}.activities-view-header>div>p:last-child{margin:.35rem 0 0;color:var(--muted);font-size:.8rem}.activities-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem}.activities-header-actions>.button{flex:0 0 auto;min-height:2.2rem;padding:.4rem .7rem;font-size:.75rem}.activities-layout{display:block}.activities-list-panel{min-width:0}.activities-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.activities-section-heading h3{margin:0;color:var(--ink);font-size:1rem}.activities-completed-controls{display:flex;align-items:center;gap:.4rem}.activities-carousel-arrow{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--blue-dark);background:var(--blue-soft);font-size:1rem;line-height:1}.activities-carousel-arrow:hover{border-color:var(--blue);color:#fff;background:var(--blue)}.activities-page-status{min-width:2.2rem;color:var(--muted);font-size:.68rem;font-weight:750;text-align:center}.activities-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.1rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:.5rem;background:#f8fafc}.activities-select-all,.activities-selection-actions{display:flex;align-items:center;gap:.55rem}.activities-select-all{color:var(--ink-soft);font-size:.72rem;font-weight:750}.activities-select-all input{width:1rem;height:1rem;margin:0;accent-color:var(--blue)}.activities-selection-actions{justify-content:flex-end}.activities-selection-actions>span{color:var(--muted);font-size:.7rem;white-space:nowrap}.activity-select{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--blue);cursor:pointer}.activities-detail-list{display:grid;gap:0;margin-top:1rem}.activity-detail-row{display:grid;align-items:center;gap:.8rem;grid-template-columns:1.25rem minmax(0,1fr) auto;min-height:4rem;padding:.75rem 0;border-bottom:1px solid #edf1f5}.activity-detail-row:last-child{border-bottom:0}.activity-detail-row.is-completed{margin:.15rem -.45rem;padding:.75rem .45rem;border-color:#d8efdf;border-radius:.55rem;background:#effaf3}.activity-detail-row.is-overview-focused{margin-inline:-.5rem;padding-inline:.5rem;border-radius:.55rem;background:#eaf5ff;box-shadow:0 0 0 2px #93c5fd;animation:overviewActivityFocus 1.8s ease-out}@keyframes overviewActivityFocus{0%{background:#dbeeff;box-shadow:0 0 0 3px #60a5fa}to{background:#eaf5ff;box-shadow:0 0 0 2px #93c5fd}}.activity-check{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--green);cursor:pointer}.activity-detail-content{min-width:0}.activity-detail-content strong,.activity-detail-content span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-detail-content strong{color:var(--ink);font-size:.82rem}.activity-detail-content span{margin-top:.2rem;color:var(--muted);font-size:.7rem}.activity-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.activity-inline-meta,.activity-row-actions{display:inline-flex;align-items:center;gap:.35rem}.activity-inline-meta .priority-tag{padding:.22rem .42rem;border-radius:99px;font-size:.56rem}.activity-detail-meta time{display:inline-flex;align-items:center;min-height:1.55rem;padding:0 .4rem;border-radius:99px;color:#64748b;background:#f3f6f9;font-size:.58rem;font-weight:700;white-space:nowrap}.activity-complete-button{display:inline-flex;align-items:center;gap:.25rem;min-height:1.75rem;padding:.2rem .45rem;border:1px solid #22a970;border-radius:5px;color:#fff;background:#22a970;font-size:.58rem;font-weight:750;white-space:nowrap}.activity-complete-button svg,.activity-icon-button svg{width:.82rem;height:.82rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.activity-complete-button:hover{border-color:#18875a;background:#18875a}.activity-icon-button{display:inline-grid;width:1.75rem;height:1.75rem;min-height:0;place-items:center;border:1px solid #e1e8f0;border-radius:5px;padding:0;background:#fff}.activity-edit-button{color:#64748b}.activity-edit-button:hover,.activity-focus-button:hover{border-color:#b9d8f6;color:#2779dd;background:#edf6ff}.activity-delete-button{border-color:#f2d3d6;color:#e0636a}.activity-delete-button:hover{border-color:#efb1b6;color:#c8444c;background:#fff2f3}.activity-detail-row.is-completed .activity-detail-content strong{color:#91a0ad;text-decoration:line-through}.activity-detail-row.is-completed .activity-detail-content span,.activity-detail-row.is-completed .activity-detail-meta time{color:#aeb8c1}:root[data-theme=dark] .activity-detail-row.is-completed{border-color:#285541;background:#173829}.activities-empty{display:grid;gap:.3rem;min-height:8rem;place-content:center;color:var(--muted);text-align:center}.activities-empty strong{color:var(--ink-soft);font-size:.85rem}.activities-empty span{font-size:.75rem}.activities-completed-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #edf1f5}.new-activity-mark{display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;color:#fff;background:var(--blue);font-size:1.25rem;font-weight:400;line-height:1}.activity-form{display:grid;gap:.85rem;margin-top:1.15rem}.activity-form label,.activity-form legend{display:grid;gap:.3rem;color:var(--ink-soft);font-size:.72rem;font-weight:700}.activity-form input[type=text],.activity-form input[type=date]{width:100%;min-height:2.4rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.4rem;color:var(--ink);background:#fff;font-size:.78rem;outline:none}.activity-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.activity-form fieldset{padding:0;border:0}.activity-urgency-options{display:grid;gap:.45rem;margin-top:.05rem}.urgency-option{display:flex!important;align-items:center;gap:.5rem!important;min-height:2.25rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:.4rem;color:var(--muted)!important;cursor:pointer;font-size:.7rem!important;font-weight:700}.urgency-option input{margin:0;accent-color:currentColor}.urgency-option:has(input:checked){border-color:currentColor}.urgency-option-urgent:has(input:checked){color:var(--red)!important;background:var(--red-soft)}.urgency-option-moderate:has(input:checked){color:var(--amber)!important;background:var(--amber-soft)}.urgency-option-low:has(input:checked){color:var(--blue-dark)!important;background:var(--blue-soft)}.activity-submit{width:100%;margin-top:.25rem}.activity-cancel{min-height:2.25rem;border:1px solid var(--line);border-radius:.4rem;color:var(--muted);background:#fff;font-size:.75rem;font-weight:700}.activity-cancel:hover{border-color:#b7c4cf;color:var(--ink-soft);background:#f8fafc}@media(max-width:480px){.activities-view-header{flex-direction:column}.activities-header-actions{justify-content:stretch;width:100%}.activities-header-actions>.button{width:100%}.activities-selection-bar{align-items:stretch;flex-direction:column}.activities-selection-actions{justify-content:space-between}.activity-detail-row{gap:.55rem;grid-template-columns:1.1rem minmax(0,1fr)}.activity-detail-meta{grid-column:2;justify-content:flex-start}}.notes-floating-wrap{position:fixed;z-index:45;right:clamp(1rem,2.5vw,2rem);bottom:clamp(1rem,2.5vw,2rem);display:grid;justify-items:end;gap:.75rem}.notes-floating-button{display:inline-flex;min-height:3.25rem;align-items:center;gap:.65rem;padding:.75rem 1.1rem;border:1px solid rgb(255 255 255 / 22%);border-radius:999px;color:#fff;background:linear-gradient(135deg,#2387c9,#1669ac);box-shadow:0 12px 28px #1966a447;font-size:.8rem;font-weight:800;letter-spacing:.01em;cursor:ew-resize;touch-action:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.notes-floating-wrap.is-dragging,.notes-floating-wrap.is-dragging .notes-floating-button{-webkit-user-select:none;user-select:none}.notes-floating-wrap.is-dragging .notes-floating-button{cursor:ew-resize;transform:none}.notes-floating-button:hover{transform:translateY(-2px);box-shadow:0 16px 32px #1966a457}.notes-floating-button[aria-expanded=true]{background:#155f9e}.notes-floating-button svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.notes-subject-menu{position:fixed;z-index:46;width:min(19rem,calc(100vw - 2rem));overflow:hidden;border:1px solid #e4eaf0;border-radius:.9rem;background:#fff;box-shadow:0 20px 48px #0f29402e;transform-origin:bottom right}.notes-subject-menu.is-open{animation:notesMenuIn .16s ease-out}@keyframes notesMenuIn{0%{opacity:0;transform:translateY(.5rem) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.notes-menu-heading{display:grid;gap:.12rem;padding:1rem 1rem .8rem;border-bottom:1px solid #edf1f5}.notes-menu-heading span{color:var(--ink);font-size:.82rem;font-weight:800}.notes-menu-heading small{color:var(--muted);font-size:.68rem}.notes-subject-list{display:grid;max-height:min(20rem,50vh);overflow-y:auto;padding:.45rem}.notes-subject-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;min-height:2.75rem;padding:.55rem .65rem;border:0;border-radius:.55rem;color:var(--ink-soft);background:transparent;text-align:left;transition:background .14s ease,color .14s ease}.notes-subject-option:hover,.notes-subject-option:focus-visible{color:var(--blue-dark);background:var(--blue-soft)}.notes-subject-option i,.notes-subject-color,.note-subject-badge i{width:.62rem;height:.62rem;border-radius:50%;box-shadow:0 0 0 3px #2387c91a}.notes-subject-option span{overflow:hidden;font-size:.76rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.notes-subject-option b{color:#9aa8b5;font-size:1.1rem;font-weight:500}.notes-menu-empty{margin:0;padding:1rem;color:var(--muted);font-size:.72rem;text-align:center}.subject-card{display:flex;min-height:12rem;flex-direction:column}.subject-notes-button{display:flex;width:100%;min-height:2.35rem;align-items:center;gap:.45rem;margin-top:auto;padding:.75rem 0 0;border:0;border-top:1px solid #edf1f5;color:var(--blue-dark);background:transparent;font-size:.7rem;font-weight:800;text-align:left}.subject-notes-button b{margin-left:auto;font-size:.9rem}.subject-notes-button:hover{color:#145c9d}.subject-notes-view{width:min(100%,58rem);margin-inline:auto}.notes-page-header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem;margin-bottom:1.5rem}.notes-back-button{grid-column:1 / -1;justify-self:start;padding:0;border:0;color:var(--muted);background:transparent;font-size:.72rem;font-weight:750}.notes-back-button:hover{color:var(--blue-dark)}.notes-page-heading{display:flex;align-items:flex-start;gap:.85rem}.notes-page-heading .notes-subject-color{width:.75rem;height:.75rem;margin-top:1.65rem;flex:0 0 auto}.notes-page-heading h2{margin:.2rem 0 0;color:var(--ink);font-size:clamp(1.3rem,2vw,1.7rem)}.notes-page-heading>div>p:last-child{margin:.4rem 0 0;color:var(--muted);font-size:.75rem}.notes-view-tabs{display:inline-flex;gap:.35rem;margin:0 0 1.15rem 2.1rem;padding:.25rem;border:1px solid var(--line);border-radius:.7rem;background:var(--surface)}.notes-view-tab{min-height:2.2rem;padding:.4rem .75rem;border:0;border-radius:.5rem;color:var(--muted);background:transparent;font-size:.72rem;font-weight:800}.notes-view-tab:hover{color:var(--blue-dark);background:var(--blue-soft)}.notes-view-tab.is-active{color:#fff;background:var(--blue)}.notes-timeline{position:relative;display:grid;gap:1rem;padding-left:2.1rem}.notes-timeline:before{position:absolute;top:.75rem;bottom:.75rem;left:.45rem;width:1px;background:#dce5ed;content:""}.notes-timeline-item{position:relative}.notes-timeline-marker{position:absolute;top:1.35rem;left:-2.05rem;z-index:1;width:.82rem;height:.82rem;border:3px solid #f6f8fb;border-radius:50%;box-shadow:0 0 0 1px #cad6df}.notes-timeline-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;padding:0;border:1px solid #e3e9ef;border-radius:.8rem;color:inherit;background:#fff;box-shadow:0 6px 18px #1e394f0d;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.notes-timeline-open{width:100%;padding:1.1rem 1.2rem;border:0;color:inherit;background:transparent;text-align:left}.notes-timeline-open:focus-visible{border-radius:.8rem;outline:3px solid var(--blue-soft);outline-offset:-3px}.note-timeline-complete-button{min-height:2.15rem;margin-right:1.2rem;padding:.35rem .7rem;font-size:.65rem}.note-timeline-reassign-button{display:inline-flex;min-height:2.15rem;align-items:center;gap:.3rem;margin-right:1.2rem;padding:.35rem .7rem;border:1px solid var(--blue);border-radius:5px;color:#fff;background:var(--blue);font-size:.65rem;font-weight:750;white-space:nowrap}.note-timeline-reassign-button svg{width:.82rem;height:.82rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.note-timeline-reassign-button:hover{border-color:var(--blue-dark);background:var(--blue-dark)}.notes-timeline-card:hover{transform:translateY(-1px);border-color:#b9d8ef;box-shadow:0 10px 24px #1e598417}.notes-timeline-card h3{margin:0;color:var(--ink);font-size:.9rem}.notes-timeline-card time{display:block;margin-top:.3rem;color:#8a99a6;font-size:.62rem;font-weight:650}.notes-timeline-card p{display:-webkit-box;overflow:hidden;margin:.7rem 0 0;color:var(--muted);font-size:.74rem;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notes-timeline-action{display:inline-block;margin-top:.75rem;color:var(--blue-dark);font-size:.66rem;font-weight:800}.notes-pagination{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:1.35rem 0 0}.notes-page-list{display:inline-flex;align-items:center;gap:.35rem}.notes-page-arrow,.notes-page-number{display:inline-grid;min-width:2.15rem;height:2.15rem;place-items:center;padding:0 .55rem;border:1px solid var(--line);border-radius:.55rem;color:var(--blue-dark);background:var(--surface);font-size:.75rem;font-weight:800}.notes-page-arrow{font-size:1rem}.notes-page-arrow:hover:not(:disabled),.notes-page-number:hover{border-color:var(--blue);background:var(--blue-soft)}.notes-page-arrow:disabled{cursor:not-allowed;opacity:.38}.notes-page-number.is-active{border-color:var(--blue);color:#fff;background:var(--blue)}.notes-timeline-empty{display:grid;min-height:19rem;place-items:center;place-content:center;padding:2rem;border:1px dashed #cedae4;border-radius:.9rem;color:var(--muted);background:#ffffff8c;text-align:center}.notes-timeline-empty[hidden]{display:none}.notes-empty-icon{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%;color:var(--blue-dark);background:var(--blue-soft);font-size:1.2rem}.notes-timeline-empty h3{margin:.85rem 0 0;color:var(--ink);font-size:.95rem}.notes-timeline-empty p{max-width:22rem;margin:.4rem 0 1rem;font-size:.72rem;line-height:1.55}.notes-loading{margin:1rem 0;color:var(--muted);font-size:.75rem}.notes-load-error{color:var(--red)}.note-modal{z-index:60}.note-modal-card{display:flex;width:min(100%,46rem);height:min(78vh,37rem);min-height:25rem;flex-direction:column;padding:0;overflow:hidden;border:1px solid rgb(255 255 255 / 60%);border-radius:1rem}.note-modal-header{display:flex;min-height:4.2rem;align-items:center;justify-content:space-between;padding:0 1.4rem;border-bottom:1px solid #edf1f5}.note-subject-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .7rem;border-radius:999px;color:var(--ink-soft);background:#f4f7f9;font-size:.68rem;font-weight:800}.note-close-button{display:grid;width:2rem;height:2rem;place-items:center;border:0;border-radius:50%;color:#82909c;background:transparent;font-size:1.45rem;line-height:1}.note-close-button:hover{color:var(--ink);background:#f2f5f7}.note-editor{display:flex;min-height:0;flex:1;flex-direction:column;padding:1.5rem 1.7rem 1rem}.note-title-input,.note-content-input{width:100%;border:0;color:var(--ink);background:transparent;outline:none}.note-title-input{padding:0 0 1rem;border-bottom:1px solid #edf1f5;font:inherit;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:800;letter-spacing:-.025em}.note-title-input::placeholder,.note-content-input::placeholder{color:#a7b1ba}.note-content-input{min-height:0;flex:1;margin-top:1rem;padding:0;resize:none;font:inherit;font-size:.86rem;line-height:1.75}.note-modal-footer{display:flex;min-height:3.4rem;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.4rem;border-top:1px solid #edf1f5;color:#84919c;background:#fbfcfd;font-size:.62rem}.note-autosave-hint{display:inline-flex;align-items:center;gap:.4rem}.note-autosave-hint i{width:.42rem;height:.42rem;border-radius:50%;background:#28a874}.note-footer-actions{display:inline-flex;align-items:center;gap:.45rem}.note-complete-button{min-height:2rem;padding:.35rem .7rem;border:1px solid var(--blue);border-radius:.45rem;color:var(--blue-dark);background:var(--blue-soft);font-size:.68rem;font-weight:800;white-space:nowrap}.note-complete-button:hover{color:#fff;background:var(--blue)}.note-complete-button.is-completed{border-color:var(--green);color:var(--green);background:var(--green-soft)}.note-cancel-button{min-height:2rem;padding:.35rem .7rem;border:1px solid #e0636a;border-radius:.45rem;color:#c8444c;background:#fff2f3;font-size:.68rem;font-weight:800;white-space:nowrap}.note-cancel-button:hover{color:#fff;background:#c8444c}.note-save-status{font-weight:700}.note-save-status.is-saving{color:var(--blue-dark)}.note-save-status.is-error{color:#a66b16}@media(max-width:760px){.notes-floating-wrap{right:.85rem;bottom:.85rem}.notes-floating-button{min-width:3.15rem;min-height:3.15rem;justify-content:center;padding:.75rem}.notes-floating-button span{display:none}.notes-page-header{grid-template-columns:1fr;align-items:stretch}.notes-page-header>.button{width:100%}.note-modal{align-items:flex-end;padding:0}.note-modal-card{width:100%;height:min(88vh,44rem);border-radius:1rem 1rem 0 0}.note-editor{padding:1.25rem 1.15rem .85rem}.note-modal-header,.note-modal-footer{padding-inline:1rem}}@media(max-width:480px){.notes-timeline{padding-left:1.55rem}.notes-timeline-marker{left:-1.48rem}.notes-timeline:before{left:.32rem}.notes-timeline-card{grid-template-columns:minmax(0,1fr)}.notes-timeline-card{padding:1rem}.notes-timeline-open{padding:0}.note-timeline-complete-button,.note-timeline-reassign-button{justify-self:end;margin:.75rem 0 0}.note-modal-footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:.2rem}}@media(prefers-reduced-motion:reduce){.notes-subject-menu.is-open{animation:none}.notes-floating-button,.notes-timeline-card{transition:none}}.activity-modal-card{width:min(100%,27rem);max-height:calc(100vh - 1.5rem);overflow-y:auto;padding:1rem;border:1px solid #e2e8f0;border-radius:.55rem;box-shadow:0 18px 45px #0f172a2e}.activity-modal-card .study-modal-header{margin-bottom:.7rem;align-items:flex-start}.activity-modal-card .study-modal-header .eyebrow{display:none}.activity-modal-card .study-modal-header h3{color:#273448;font-size:1.15rem;letter-spacing:-.02em}.activity-modal-card .study-modal-header button{margin-top:-.2rem;padding:0;color:#9aa5b5;font-size:1.45rem}.activity-modal-card .activity-form{gap:.7rem;margin-top:0}.activity-modal-card .activity-form label,.activity-modal-card .activity-form legend{gap:.25rem;color:#374151;font-size:.8rem;font-weight:500}.activity-modal-card .activity-form input[type=text],.activity-modal-card .activity-form input[type=date],.activity-modal-card .date-picker-trigger{min-height:2.5rem;padding:.55rem .7rem;border-color:#cbd5e1;border-radius:.45rem;font-size:.84rem}.activity-modal-card .activity-form textarea{min-height:4rem;padding:.55rem .7rem;border-color:#cbd5e1;border-radius:.45rem;font-size:.8rem}.activity-modal-card .activity-form input::placeholder,.activity-modal-card .activity-form textarea::placeholder{color:#7b8491}.activity-modal-card .activity-form input:focus,.activity-modal-card .activity-form textarea:focus,.activity-modal-card .date-picker-trigger:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f621;outline:none}.activity-modal-card .optional-label{color:#64748b;font-size:.68rem;font-weight:400}.activity-modal-card .activity-urgency-options{gap:.35rem}.activity-modal-card .urgency-option{min-height:2rem;padding:.35rem .55rem;border-color:#d7dee8;border-radius:.4rem;font-size:.75rem!important}.activity-modal-card .auto-priority-hint{font-size:.65rem}.activity-modal-card .activity-submit{min-height:2.5rem;margin-top:.1rem;border-radius:.45rem;background:#2788c7;font-size:.84rem}.activity-modal-card .activity-submit:hover{background:#176ea9}.activity-modal-card .activity-cancel{min-height:2rem;border-radius:.4rem;font-size:.78rem}
