:root{--bg:#f7f8fa;--surface:#fff;--ink:#242a32;--muted:#7d8590;--line:#e9ecf0;--accent:#353d49;--soft:#f1f3f6;--danger:#ad554c;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #778da8}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #bac4d1}button{background:0 0;border:0}h1,h2,h3,p{margin:0}h1{letter-spacing:-.7px;font-size:31px;font-weight:650;line-height:1.5}h2{font-size:16px;font-weight:650}h3{font-size:15px;font-weight:600}small{font-size:11px}input,select,textarea{min-width:0;max-width:100%;color:var(--ink);background:#fff;border:1px solid #dfe3e9;border-radius:8px;padding:10px 12px;font-size:13px}textarea{resize:vertical}input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:16px;height:16px}input[type=number]{width:100%}.muted{color:var(--muted)}.danger-text{color:var(--danger)!important}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.text-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:30px;padding:3px 0;font-size:12px;font-weight:500;display:inline-flex}.text-button:hover{color:#526d92}.primary,.outline,.danger-button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:11px 17px;font-size:13px;font-weight:500;display:inline-flex}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);box-shadow:0 2px 4px #242a3208}.primary:hover{background:#202b3b}.outline{background:#fff;border:1px solid #dfe3e9}.outline:hover{background:#f5f6f8}.danger-button{color:#fff;background:#a44c42}.small{min-height:36px;padding:8px 12px;font-size:12px}.icon-button{color:#78828e;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.icon-button:hover{color:var(--ink);background:#edf0f4}.eyebrow{color:#89919d;letter-spacing:.6px;align-items:center;gap:6px;font-size:11px;display:flex}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);z-index:20;background:#fff;flex-direction:column;width:228px;padding:32px 18px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:1px;align-items:center;gap:11px;padding:0 10px;font-size:19px;font-weight:650;display:flex}.brand-icon{color:#fff;background:#3b424d;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.brand small{letter-spacing:1px;color:#959ca5;margin-top:5px;font-size:10px;font-weight:400;display:block}.workspace-label{color:#9aa1ab;letter-spacing:.5px;justify-content:space-between;align-items:center;margin:45px 0 17px;padding:0 12px;font-size:10px;display:flex}.workspace-label span{border:1px solid #e6e9ed;border-radius:4px;padding:3px 5px;font-size:9px}.nav-item{text-align:left;color:#7b8490;border-radius:7px;align-items:center;gap:13px;width:100%;margin-bottom:5px;padding:13px 16px;font-size:13px;display:flex}.nav-item.active{color:#303b4a;background:#eef1f5;font-weight:600}.nav-item:hover{background:#f5f6f8}.nav-item b{text-align:center;background:#fff;border:1px solid #e6e8ed;border-radius:5px;min-width:21px;height:20px;margin-left:auto;font-size:10px;line-height:18px}.sidebar-note{color:#929aa5;margin:auto 13px 35px;padding-top:60px}.sidebar-note svg{color:#a4adb9}.sidebar-note p{margin:12px 0;font-size:12px;line-height:2.1}.sidebar-note>span{letter-spacing:2px;color:#b4bac2;font-size:8px}.profile{border-top:1px solid var(--line);align-items:center;gap:10px;padding:20px 8px;display:flex}.avatar{color:#667080;background:#e9edf1;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;display:grid}.profile strong{font-size:11px;font-weight:500;display:block}.profile small{color:#a0a7b1;margin-top:4px;font-size:9px;display:block}.online-dot{background:#8b9b8b;border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.profile>.online-dot{margin-left:auto}.saving{background:#cba86b}.workspace{flex-direction:column;width:calc(100% - 228px);min-height:100vh;margin-left:228px;display:flex}.topbar{border-bottom:1px solid var(--line);background:#ffffffb8;justify-content:space-between;align-items:center;height:76px;padding:0 40px;display:flex}.breadcrumb{color:#78818e;font-size:11px}.breadcrumb span{color:#c4cad3;margin:0 12px}.topbar-right{align-items:center;gap:14px;display:flex}.sync-status{color:#9099a5;align-items:center;gap:6px;font-size:10px;display:flex}.workspace main{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:39px 40px 28px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px;display:flex}.page-heading h1{margin:10px 0 9px}.page-heading h1>span{color:#aab2bd}.page-heading p{color:#9098a3;font-size:12px;line-height:1.8}.page-heading>.outline{margin-top:20px}.stats{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:25px;display:grid}.stats>div{padding:22px 25px;position:relative}.stats>div+div{border-left:1px solid var(--line)}.stats>div>span{color:#8993a0;font-size:11px}.stats strong{margin:10px 0 8px;font-size:31px;font-weight:600;line-height:1;display:block}.stats strong small{color:#a2aab4;margin-left:7px;font-size:11px;font-weight:400}.stats p{color:#a0a8b2;font-size:10px}.stat-icon{color:#c0c8d2;width:18px;position:absolute;top:24px;right:24px}.panel{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:hidden}.panel-heading{border-bottom:1px solid #f0f2f5;justify-content:space-between;align-items:center;gap:14px;padding:20px 23px;display:flex}.panel-heading h2{align-items:center;gap:10px;font-size:14px;display:flex}.count{color:#9ca5b0;text-align:center;background:#f2f4f7;border-radius:5px;min-width:21px;margin-left:7px;padding:3px 6px;font-size:10px;font-weight:400}.dashboard-grid{grid-template-columns:minmax(0,1fr) 288px;align-items:start;gap:23px;display:grid}.right-rail{flex-direction:column;gap:20px;display:flex}.task-row{border-bottom:1px solid #f2f3f6;align-items:center;gap:13px;min-width:0;padding:19px 23px;display:flex}.task-row:last-child{border-bottom:0}.task-check{color:#fff;border:1.5px solid #ced5de;border-radius:50%;flex-shrink:0;place-items:center;width:19px;height:19px;padding:0;display:grid}.is-done .task-check{background:#809081;border-color:#809081}.task-body{text-align:left;flex:1;min-width:0;padding:0}.task-title{overflow-wrap:anywhere;font-size:13px;line-height:1.7;display:block}.task-meta{color:#a1a9b4;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font-size:9px;line-height:1.6;display:flex}.task-meta>span:first-child{color:#8e98a6}.task-time{white-space:nowrap;color:#919ba8;align-self:flex-start;margin-top:3px;font-size:10px}.is-done .task-title{color:#a3abb5;text-decoration:line-through}.row-delete{opacity:0;width:27px;height:27px}.task-row:hover .row-delete,.row-delete:focus-visible{opacity:1}.carry-note{color:#9b8964;background:#f8f6f1;align-items:center;gap:8px;padding:12px 23px;font-size:10px;line-height:1.8;display:flex}.completed-section summary{color:#9aa3ae;cursor:pointer;padding:17px 23px;font-size:11px}.course-section{border-top:1px solid var(--line);margin-top:4px;padding:21px 23px 12px}.course-section h3{font-size:12px;font-weight:500}.course-row{text-align:left;align-items:center;gap:12px;width:100%;padding:15px 0;display:flex}.course-line{background:#bac7d6;border-radius:2px;width:3px;height:28px}.course-row strong{font-size:12px;font-weight:500;display:block}.course-row small{color:#9fa8b4;margin-top:5px;font-size:9px;display:block}.course-row time{color:#8c98a8;white-space:nowrap;margin-left:auto;font-size:10px}.quiet-empty{color:#a3abb5;padding:21px 23px;font-size:11px;line-height:1.9}.course-section .quiet-empty{padding:20px 0}.deadline-item{text-align:left;border-bottom:1px solid #f3f4f6;align-items:center;gap:13px;width:100%;padding:18px 22px;display:flex}.deadline-item:hover{background:#fafbfc}.deadline-date{background:#f4f5f7;border:1px solid #edf0f4;border-radius:7px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:39px;height:44px;display:flex}.deadline-date strong{font-weight:500;font-size:16px!important}.deadline-date small{margin:2px 0 0!important;font-size:8px!important}.deadline-item>span:last-child{min-width:0}.deadline-item strong{overflow-wrap:anywhere;font-size:11px;font-weight:500;line-height:1.7;display:block}.deadline-item small{color:#9ba5b1;margin-top:5px;font-size:9px;display:block}.tip-card{background:linear-gradient(120deg,#edf0f5,#f4f5f7);border:1px solid #e6e9ef;border-radius:11px;padding:24px}.tip-card h3{margin:18px 0 10px;font-size:14px}.tip-card p{color:#919baa;margin-bottom:17px;font-size:11px;line-height:2}.tip-card .eyebrow{font-size:10px}.goal-overview{margin-top:30px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.section-heading h2{font-size:14px}.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.goal-card{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;padding:20px 23px}.goal-card h3{overflow-wrap:anywhere;margin:14px 0 22px;font-size:15px}.goal-card .eyebrow{font-size:9px}.progress-caption{color:#9aa4b1;margin-bottom:10px;font-size:10px}.progress-caption strong{color:#778597;font-size:11px;font-weight:500}.progress-track{background:#eef1f5;border-radius:3px;height:4px;overflow:hidden}.progress-track span{background:#8495aa;border-radius:3px;height:100%;transition:width .3s;display:block}.goal-foot{color:#a5adb7;margin-top:15px;font-size:9px}.goal-foot .text-button{font-size:10px}.goal-empty{text-align:left;background:#ffffff80;border:1px dashed #d7dde6;border-radius:10px;align-items:center;gap:18px;width:100%;padding:25px 28px;display:flex}.goal-empty>svg{color:#a1adbc;flex-shrink:0;margin-left:auto}.goal-empty strong{margin-bottom:8px;font-size:12px;font-weight:500;display:block}.goal-empty small{color:#a2aab5;font-size:10px;line-height:1.8;display:block}.dashed-icon{color:#9ca9ba;border:1px dashed #c4cedb;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.page-footer{color:#b1b7c0;text-align:center;letter-spacing:1px;padding:25px 20px;font-size:9px}.page-footer>span{margin:0 10px}.empty{text-align:center;padding:42px 20px}.empty-icon{color:#a2afc0;background:#f3f5f8;border:1px solid #edf0f4;border-radius:16px;place-items:center;width:58px;height:58px;margin:0 auto 19px;display:grid}.empty h3{letter-spacing:.2px;font-size:13px;font-weight:500}.empty p{color:#a2abb7;margin:10px 0 22px;font-size:11px;line-height:2}.empty .outline{font-size:11px}.loading{color:#8290a2;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:480px;display:flex}.loading h2{color:var(--ink)}.loading p{font-size:12px}.alert{color:#a16453;background:#fff6f2;border:1px solid #ead6ce;border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:13px 16px;font-size:12px;display:flex}.alert>span{flex:1}.alert button{color:#925545;white-space:nowrap;font-size:11px}.toast{color:#fff;z-index:100;background:#303a48;border-radius:9px;align-items:center;gap:9px;padding:13px 22px;font-size:12px;display:flex;position:fixed;bottom:30px;left:calc(50% + 114px);transform:translate(-50%);box-shadow:0 5px 20px #0001}.mobile-nav{display:none}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.segmented{background:#edf0f4;border:1px solid #e5e9ef;border-radius:7px;gap:2px;padding:3px;display:flex}.segmented button{color:#929ba9;white-space:nowrap;border-radius:5px;padding:8px 13px;font-size:11px}.segmented button.selected{color:#424d5d;background:#fff;box-shadow:0 1px 4px #28354812}.search{border:1px solid var(--line);color:#a6afbb;background:#fff;border-radius:7px;align-items:center;gap:7px;margin-left:auto;padding:0 10px;display:flex}.search input{border:0;outline:0;width:155px;padding:10px 0;font-size:11px}.toolbar select{padding:10px;font-size:11px}.list-date{color:#abb2bc;padding:16px 23px 0;font-size:9px;display:block}.task-list>div+div{border-top:1px solid var(--line)}.task-list .task-row{padding-top:12px}.info-strip{color:#8692a3;background:#eef1f5;border:1px solid #e7ebf1;border-radius:8px;align-items:center;gap:10px;margin-bottom:23px;padding:13px 17px;font-size:11px;line-height:1.8;display:flex}.full-goals{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.description{white-space:pre-wrap;margin:-9px 0 22px;font-size:11px;line-height:1.9}.stages{border-top:1px solid var(--line);margin-top:18px;padding-top:13px}.stage{cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-size:12px;display:flex}.stage.done span{color:#a1aab6;text-decoration:line-through}.goal-details{border-top:1px solid var(--line);margin-top:12px;padding-top:13px}.goal-details summary{color:#8290a2;cursor:pointer;font-size:11px}.goal-details summary>span{margin-left:5px}.goal-details p{padding-top:15px;font-size:11px}.goal-details .task-row{gap:9px;padding:15px 0}.goal-details .task-title{font-size:11px}.goal-details .task-time{display:none}.calendar-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.calendar-controls{align-items:center;gap:10px;display:flex}.calendar-controls h2{font-size:15px}.calendar-weekdays{border-bottom:1px solid var(--line);background:#fcfcfd;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays span{text-align:center;color:#919caa;padding:14px 0;font-size:11px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;min-height:115px;padding:10px 7px;display:flex}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.chosen{background:#eef2f8;box-shadow:inset 0 0 0 1px #bfcbdc}.calendar-cell.other-month .day-number{color:#c6cdd6}.calendar-cell:hover{background:#f6f8fb}.day-number{color:#7f8b9b;border-radius:50%;flex-shrink:0;place-items:center;width:25px;height:25px;margin-bottom:3px;font-size:11px;display:grid}.day-number.current{color:#fff;background:#414e62}.calendar-event{color:#7d8ea5;white-space:nowrap;text-overflow:ellipsis;background:#edf1f6;border-radius:4px;width:100%;padding:4px 5px;font-size:9px;display:block;overflow:hidden}.calendar-event.done{color:#a2acb9;text-decoration:line-through}.calendar-course{color:#a2a9b4;font-size:9px}.calendar-cell small{color:#9ea8b7;font-size:9px}.week .calendar-cell{min-height:240px}.selected-day{margin-top:22px}.selected-day>.course-row{padding:16px 23px}.course-board{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.course-day{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:340px;overflow:hidden}.course-day h3{border-bottom:1px solid var(--line);justify-content:space-between;padding:17px 12px;font-size:12px;display:flex}.course-day h3 span{color:#8b99ac;font-size:8px;font-weight:400}.today-column{border-color:#c9d3e0}.course-card{text-align:left;overflow-wrap:anywhere;background:#f1f4f8;border:1px solid #e6ebf1;border-radius:6px;flex-direction:column;gap:9px;width:calc(100% - 14px);margin:10px 7px;padding:12px 8px;display:flex}.course-card>span{color:#8393a9;font-size:9px}.course-card>strong{font-size:11px;font-weight:500;line-height:1.8}.course-card>small{color:#a0abb9;font-size:8px;line-height:1.6}.course-free{color:#bcc3cd;text-align:center;margin-top:25px;font-size:9px;display:block}.settings-panel{max-width:800px;margin-bottom:24px}.settings-panel form{padding:24px}.settings-panel .panel-heading{padding:22px 24px}.status-pill{color:#a58c6c;white-space:nowrap;background:#f7f2e9;border-radius:5px;padding:5px 8px;font-size:10px}.status-pill.enabled{color:#829582;background:#f0f5ef}.settings-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.settings-row:last-child{border-bottom:0}.settings-row strong{font-size:12px;font-weight:500}.settings-row p{color:#9ba5b2;overflow-wrap:anywhere;margin-top:8px;font-size:11px;line-height:1.9}.settings-row input[type=time]{width:110px}.settings-panel form .settings-row{margin-bottom:14px;padding:16px 0}.checkbox-label{cursor:pointer;align-items:center;gap:12px;display:flex}.checkbox-label small{color:#a3acb8;margin-top:6px;font-size:10px;display:block}.configuration-note{color:#a09175;background:#f8f6f1;border:1px solid #ede7da;border-radius:8px;margin:0 24px 24px;padding:17px 20px;font-size:11px}.configuration-note strong{font-weight:500;line-height:1.8}.configuration-note p{margin-top:8px;line-height:2}.footnote{color:#a0a9b6;margin:12px 0 18px;font-size:10px;line-height:1.9}.form-error{color:#a05246;background:#fcf1ee;border-radius:6px;margin-bottom:14px;padding:12px;font-size:12px}dialog{width:min(590px,100% - 30px);max-height:90dvh;color:var(--ink);background:#fff;border:1px solid #e2e6ec;border-radius:15px;padding:25px 28px;box-shadow:0 25px 100px #23304525}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#25324658}.dialog-head{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.dialog-head h2{font-size:19px}.field{color:#7b8696;flex-direction:column;gap:8px;margin-bottom:17px;font-size:12px;display:flex}.field>span{color:#7e8999;font-size:11px}.field small{color:#a2acb9;font-size:9px;line-height:1.8}.field input,.field select,.field textarea{width:100%}.form-grid{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.numeric-grid{grid-template-columns:1fr 1fr 1fr}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:20px;display:flex}.push-left{margin-right:auto}.delete-copy{color:#8b95a3;font-size:13px;line-height:2}.page-heading button{flex-shrink:0}@media (width>=1550px){.workspace main{padding-top:48px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 320px}.stats>div{padding:27px}.empty{padding:55px 20px}}@media (width<=1180px){.sidebar{width:200px;padding:28px 12px 0}.workspace{width:calc(100% - 200px);margin-left:200px}.workspace main{padding:30px 25px}.topbar{padding:0 25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-grid .compact:last-child:nth-child(3){display:none}h1{font-size:26px}.stats>div{padding:20px}.course-board{grid-template-columns:repeat(4,minmax(0,1fr))}.course-day{min-height:250px}.toast{left:calc(50% + 100px)}}@media (width<=950px){.dashboard-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr;display:grid}.sidebar{width:185px}.workspace{width:calc(100% - 185px);margin-left:185px}.workspace main{padding:26px 22px}.topbar{padding:0 22px}.brand{gap:8px;padding:0 5px;font-size:17px}.brand-icon{width:34px;height:34px}.brand small{font-size:8px}.workspace-label{padding:0 8px}.nav-item{padding:13px 12px}.sidebar-note{margin-left:10px}.page-heading{align-items:flex-start}.page-heading>.outline{margin-top:36px;padding:8px 10px;font-size:11px}.stats>div{padding:19px 16px}.stat-icon{top:19px;right:15px}.sync-status{display:none}.full-goals{grid-template-columns:1fr}.toast{left:calc(50% + 92px)}}@media (width<=700px){.sidebar{display:none}.workspace{width:100%;margin:0}.topbar{height:60px;padding:0 20px}.breadcrumb{font-size:10px}.topbar-right{gap:9px}.workspace main{padding:24px 18px 16px}.page-heading{gap:12px;margin-bottom:24px}.page-heading h1{letter-spacing:-.7px;margin-top:9px;font-size:24px}.page-heading p{max-width:280px;font-size:11px;line-height:1.9}.page-heading>.outline{display:none}.page-heading>.primary{margin-top:20px;padding:9px 11px;font-size:11px}.eyebrow{letter-spacing:.2px;font-size:10px}.stats{border-radius:9px;margin-bottom:18px}.stats>div{padding:17px 12px}.stats>div>span{font-size:10px}.stats strong{margin:12px 0 9px;font-size:27px}.stats strong small{margin-left:5px;font-size:9px}.stats p{min-height:25px;font-size:8px;line-height:1.7}.stat-icon{display:none}.dashboard-grid{gap:18px}.right-rail{gap:14px}.panel-heading{padding:17px}.panel-heading h2{font-size:13px}.task-row{gap:10px;padding:17px}.task-title{font-size:12px}.task-meta{gap:4px 8px;font-size:9px}.task-time{font-size:9px}.row-delete{opacity:1;width:27px;height:32px}.course-section{padding:18px 17px 10px}.carry-note{padding:10px 17px;font-size:9px}.tip-card{padding:20px 15px}.tip-card h3{margin-top:14px;font-size:12px;line-height:1.8}.tip-card p,.tip-card .text-button{font-size:10px}.deadline-item{gap:8px;padding:15px 13px}.deadline-item strong{font-size:10px}.deadline-item small{font-size:8px}.deadline-date{width:32px;height:38px}.right-rail .panel-heading{padding:17px 13px}.right-rail .quiet-empty{padding:20px 13px;font-size:10px}.goal-overview{margin-top:25px}.goal-grid{grid-template-columns:1fr;gap:14px}.goal-grid .compact:last-child:nth-child(3){display:block}.goal-empty{gap:13px;padding:21px 17px}.goal-empty strong{font-size:11px}.goal-empty small{font-size:9px}.goal-empty>svg{width:17px}.goal-card{padding:20px}.goal-card h3{font-size:14px}.empty{padding:35px 16px}.empty h3{font-size:12px}.empty p{font-size:10px}.mobile-nav{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--line);z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;display:flex;position:fixed;inset:auto 0 0}.mobile-nav button{color:#a0a9b6;flex-direction:column;flex:1;align-items:center;gap:5px;min-height:45px;padding:7px 0;display:flex}.mobile-nav button.active{color:#43536a}.mobile-nav span{font-size:9px}.page-footer{padding-bottom:100px;font-size:8px}.toast{white-space:nowrap;max-width:90vw;font-size:11px;bottom:95px;left:50%}.toolbar{gap:10px}.toolbar .segmented{justify-content:space-around;width:100%}.search{flex:1;margin-left:0}.search input{width:100%}.toolbar select{max-width:155px}.info-strip{align-items:flex-start;gap:7px;padding:12px;font-size:10px}.info-strip svg{flex-shrink:0;margin-top:2px}.calendar-toolbar{flex-wrap:wrap}.calendar-controls{gap:4px}.calendar-controls h2{font-size:13px}.calendar-toolbar .segmented button{padding:7px 10px;font-size:10px}.calendar-cell{gap:3px;min-height:95px;padding:7px 3px}.week .calendar-cell{min-height:180px}.calendar-event{padding:4px 3px;font-size:8px}.calendar-weekdays span{font-size:9px}.day-number{width:22px;height:22px;font-size:10px}.calendar-course{font-size:8px}.calendar-controls .small{min-height:30px;padding:6px 9px}.selected-day .panel-heading h2{font-size:12px}.selected-day .text-button{font-size:10px}.course-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.course-day{min-height:220px}.course-card{padding:15px 12px}.course-card strong{font-size:12px}.course-card small{font-size:9px}.settings-panel .panel-heading{padding:18px}.settings-panel form{padding:20px 18px}.settings-row{gap:12px;padding:20px 18px}.settings-row strong{font-size:11px}.settings-row p{font-size:10px}.configuration-note{margin:0 18px 20px;padding:15px;font-size:10px}.status-pill{font-size:8px}.settings-panel form .settings-row{align-items:flex-start}.checkbox-label{gap:8px}.checkbox-label strong{font-size:10px}.checkbox-label small{font-size:9px}.settings-row input[type=time]{width:95px;padding:8px}.form-grid{gap:0 12px}.field input,.field select,.field textarea{padding:11px 10px;font-size:14px}.dialog-head h2{font-size:17px}dialog{padding:22px 20px}.form-actions{background:#fff;padding-bottom:6px;position:sticky;bottom:-22px}.footnote{font-size:9px}.alert{gap:8px;font-size:10px}.alert button{font-size:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.mail-test{padding:0 24px 24px}.mail-test .footnote{margin:10px 0 0}@media (width<=700px){.mail-test{padding:0 18px 20px}.task-check{width:22px;height:22px}.task-title{font-size:13px}.task-meta{font-size:10px}.page-heading p{color:#7c8797}.field>span{font-size:12px}}.import-panel{margin-bottom:20px}.import-body{padding:20px 23px}.import-body>p{color:#8792a1;font-size:11px;line-height:1.8}.import-date-row{flex-wrap:wrap;gap:15px;margin:17px 0;display:flex}.import-date-row label{color:#738092;align-items:center;gap:8px;font-size:11px;display:flex}.import-date-row input{width:140px;padding:8px 10px}.import-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.import-actions input{max-width:100%;font-size:11px}.import-actions span,.import-message,.import-summary,.import-hint{color:#8592a2;font-size:11px}.import-message{margin-top:12px}.import-summary{margin:16px 0 10px}.import-summary strong{color:#344052}.import-preview{border:1px solid var(--line);border-radius:7px;margin-bottom:14px;overflow-x:auto}.import-preview table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:10px}.import-preview th,.import-preview td{border-bottom:1px solid var(--line);padding:9px 11px}.import-preview th{color:#748195;background:#f5f7f9;font-weight:500}.import-preview small{color:#8792a1;padding:9px 11px;display:block}.import-errors{color:#a56552;margin:10px 0 16px;font-size:11px}.import-errors summary{cursor:pointer}.import-errors p{margin:6px 0}.import-hint{margin-top:16px!important;font-size:10px!important}@media (width<=700px){.import-body{padding:17px}.import-date-row{gap:10px}.import-date-row label{justify-content:space-between;width:100%}.import-date-row input{width:155px}}.backup-import-actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.backup-import-actions input{max-width:210px;font-size:10px}.backup-import-actions .primary{white-space:nowrap}@media (width<=700px){.backup-import{flex-direction:column;align-items:flex-start}.backup-import-actions{align-items:flex-start;width:100%}}.standalone-login{background:#f5f6f8;place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{text-align:center;background:#fff;border:1px solid #e5e8ec;border-radius:16px;width:min(100%,390px);padding:37px;box-shadow:0 14px 50px #2734470b}.login-icon{color:#fff;background:#353d49;border-radius:13px;place-items:center;width:52px;height:52px;margin:0 auto 18px;display:grid}.login-card h1{letter-spacing:-.6px;font-size:25px}.login-card>p{color:#8994a2;margin:10px 0 29px;font-size:13px}.login-card form{text-align:left;gap:18px;display:grid}.login-card label{color:#657184;gap:8px;font-size:12px;display:grid}.login-card input{border:1px solid #dce1e7;border-radius:8px;width:100%;padding:12px 13px;font-size:14px}.login-card button{color:#fff;background:#353d49;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:44px;margin-top:4px;font-size:13px;display:flex}.login-card button:disabled{opacity:.55}.login-error{color:#9a594b;background:#fff4f0;border-radius:7px;padding:11px;font-size:12px;line-height:1.6}.login-loading{text-align:center;font-size:12px}.login-switch{text-align:center;color:#657184;text-underline-offset:3px;font-size:12px;text-decoration:underline}.invite-link{color:#394251;overflow-wrap:anywhere;background:#f8f9fb;border:1px solid #dce1e7;border-radius:8px;width:100%;padding:11px 12px;font-size:12px}
