:root{color:#10244b;font-synthesis:none;background:#f5f9ff;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 92% 8%,#e2f8f0 0,#0000 23rem),radial-gradient(circle at 40% 0,#eaf4ff 0,#0000 28rem),#f7fbff;min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0}button:active{transform:scale(.975)}.app-shell{min-height:100vh;display:flex}.material{-webkit-backdrop-filter:blur(22px)saturate(170%);backdrop-filter:blur(22px)saturate(170%);background:#ffffffbd;border:1px solid #dae8fcd9}.sidebar{z-index:3;flex-direction:column;width:250px;padding:28px 15px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 10px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#1a78ff,#24c781);border-radius:16px;place-items:center;width:49px;height:49px;display:grid;box-shadow:0 12px 25px #3297ff44}.brand strong{letter-spacing:-.05em;font-size:26px;line-height:1;display:block}.brand span{margin-top:4px;font-size:19px;font-weight:750;display:block}.tagline{color:#7b91b5;margin:18px 0 34px;padding:0 10px;font-size:14px;line-height:1.7}nav{gap:6px;display:grid}.nav-button{color:#536a92;text-align:left;background:0 0;border-radius:14px;align-items:center;gap:18px;padding:15px 22px;font-size:17px;font-weight:700;transition:background .2s,color .2s,transform .1s;display:flex}.nav-button.active{color:#1974f6;background:linear-gradient(100deg,#e2efff,#eff7ff)}.sidebar-art{margin-top:auto;color:#4682b6;background:linear-gradient(#fff0,#bfebddcc);height:190px;margin-inline:-15px;padding:50px 28px;font-size:15px;line-height:1.8}.main-content{width:calc(100% - 250px);margin-left:250px;padding:18px 32px 42px}.topbar{z-index:2;border-radius:16px;align-items:center;gap:16px;height:58px;padding:7px 9px 7px 16px;display:flex;position:sticky;top:12px;box-shadow:0 8px 30px #98b2d11a}.search{color:#7c91b6;flex:1;align-items:center;gap:10px;display:flex}.search input{color:#273e68;background:0 0;border:0;outline:0;width:100%}.week-switch{text-align:center;border:1px solid #e1ebf9;border-radius:12px;align-items:center;height:43px;display:flex;overflow:hidden}.week-switch button{color:#49618c;background:#fff;width:35px;height:100%}.week-switch div{color:#8193b4;flex-direction:column;min-width:170px;font-size:12px;display:flex}.week-switch b{color:#11234b;font-size:15px}.icon-button{color:#1f5eae;background:#fff;border-radius:12px;place-items:center;width:42px;height:42px;display:grid;position:relative}.icon-button i{color:#fff;background:#ff4c61;border:2px solid #fff;border-radius:9px;padding:1px 5px;font-size:10px;font-style:normal;position:absolute;top:-4px;right:-4px}.profile{text-align:left;background:0 0;align-items:center;gap:8px;display:flex}.profile span{display:grid}.profile small{color:#7f91b3}.avatar{color:#263a66;background:linear-gradient(135deg,#ffdfd0,#7ca7f9);border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.page{max-width:1400px;margin:25px auto}.greeting{background:linear-gradient(112deg,#e2fbf0,#f8fffd 55%,#bfe9f5);border-radius:22px;justify-content:space-between;align-items:center;min-height:142px;padding:26px 34px;display:flex;box-shadow:0 14px 30px #7cb7ad18}.greeting p{color:#3d8c82;align-items:center;gap:7px;margin:0;font-weight:700;display:flex}.greeting h1,.page-title h1{letter-spacing:-.045em;margin:11px 0 3px;font-size:31px;line-height:1.05}.greeting span,.page-title span{color:#6e83a8}.greeting-sun{margin-right:4%;font-size:34px}.card{background:#fff;border:1px solid #e8f0fb;border-radius:20px;box-shadow:0 12px 28px #5a7dac0d}.schedule-card{margin-top:16px;padding:20px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;display:flex}.section-heading>div{color:#1674f5;align-items:center;gap:11px;display:flex}.section-heading h2{color:#132b57;letter-spacing:-.035em;margin:0;font-size:20px}.section-heading mark{color:#fa3f55;background:#ffe6e9;border-radius:15px;padding:2px 8px;font-size:13px}.heading-actions{gap:9px;display:flex}.primary,.secondary,.chip{border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-weight:750;transition:transform .12s,box-shadow .2s;display:inline-flex}.primary{color:#fff;background:linear-gradient(135deg,#1675f7,#398dff);box-shadow:0 9px 18px #267df53a}.secondary{color:#2371e9;background:#fff;border:1px solid #dce9fb}.chip{color:#1c73ee;background:#eaf3ff}.week-grid{border:1px solid #e2ebf8;border-radius:14px;grid-template-columns:70px repeat(5,minmax(112px,1fr));display:grid;overflow:hidden}.corner,.day-head,.time,.slot{border-bottom:1px solid #e2ebf8;border-right:1px solid #e2ebf8;min-height:58px}.corner{color:#7185a7;place-items:center;font-size:13px;display:grid}.day-head{text-align:center;color:#293c62;padding:10px;font-weight:800}.day-head small{color:#8092b2;margin-top:3px;font-weight:500;display:block}.day-head.today{color:#fff;background:linear-gradient(135deg,#1b75f5,#347ff6)}.day-head.today small{color:#dcecff}.week-row{display:contents}.time{color:#455d84;align-content:center;place-items:center;gap:2px;font-size:13px;font-weight:650;display:grid}.slot{background:#fcfdff;min-height:88px;padding:4px}.course-block{text-align:left;border-radius:7px;align-content:start;gap:4px;width:100%;height:100%;min-height:78px;padding:9px;display:grid}.course-block b{font-size:14px}.course-block span{color:#506689;font-size:11px}.blue{background:#dcecff}.coral{background:#ffe0e3}.mint{background:#d8f8e9}.violet{background:#e9e1ff}.sky{background:#ddecff}.amber{background:#fff0c5}.dashboard-grid{grid-template-columns:1.05fr 1.12fr 1fr;gap:16px;margin-top:16px;display:grid}.dashboard-grid>.card{padding:20px}.text-button{color:#6a7fa6;background:0 0;align-items:center;gap:2px;font-size:13px;display:flex}.today-course{border-top:1px solid #eff4fa;align-items:center;gap:10px;padding:12px 0;display:flex}.today-course b,.today-course span{display:block}.today-course span{color:#7890b1;align-items:center;gap:3px;margin-top:5px;font-size:13px;display:flex}.course-stripe{background:#257cf5;border-radius:5px;width:4px;height:52px}.course-stripe.coral{background:#ff696f}.today-course em{color:#1a9d71;background:#e1fbef;border-radius:8px;margin-left:auto;padding:6px 8px;font-size:12px;font-style:normal}.todo-row{text-align:left;background:0 0;border-top:1px solid #eff4fa;gap:10px;width:100%;padding:11px 0;display:flex}.check{color:#fff;border:2px solid #b9cae3;border-radius:5px;flex:none;place-items:center;width:19px;height:19px;display:grid}.todo-row.done .check{background:#2b7cf5;border-color:#2b7cf5}.todo-copy{flex:1;gap:4px;display:grid}.todo-copy b{font-size:14px}.todo-copy small{border-radius:5px;width:max-content;padding:2px 6px;font-size:11px}.todo-copy small.violet{color:#7357d6}.todo-copy small.blue{color:#2879e9}.todo-copy small.mint{color:#129568}.todo-row em{color:#e34f56;font-size:12px;font-style:normal}.notice{border-top:1px solid #eff4fa;align-items:center;gap:9px;padding:11px 0;font-size:14px;display:flex}.notice small{color:#7f90af;white-space:nowrap;margin-left:auto}.dot{background:#ff535c;border-radius:50%;width:8px;height:8px}.dot-1{background:#367ff5}.dot-2{background:#8190b4}.page-title{justify-content:space-between;align-items:end;margin:10px 0 22px;display:flex}.page-title p{color:#277af0;margin:0;font-size:14px;font-weight:750}.filter-bar{border-radius:14px;gap:7px;margin-bottom:16px;padding:8px;display:flex}.filter{color:#61779f;background:0 0;border-radius:9px;padding:9px 14px;font-weight:700}.filter.active{color:#fff;background:#287bf5}.assignment-list{gap:12px;display:grid}.assignment{align-items:center;gap:14px;padding:19px;display:flex}.check.large{color:#fff;background:#fff;border:2px solid #b7c8e3;border-radius:6px;place-items:center;width:23px;height:23px;display:grid}.check.large.checked{background:#2b7df5;border-color:#2b7df5}.assignment-main{flex:1}.assignment-main>div{color:#6a7fa6;align-items:center;gap:7px;font-size:13px;display:flex}.course-dot{background:#287bf5;border-radius:50%;width:9px;height:9px;display:inline-block}.course-dot.mint{background:#23bd88}.course-dot.amber{background:#f6b744}.course-dot.coral{background:#ff6b78}.course-dot.violet{background:#8766eb}.assignment h3,.note-item h3{margin:5px 0;font-size:17px}.assignment p,.note-item p{color:#7b8eae;margin:0;font-size:13px}.assignment-meta{color:#7287aa;justify-items:end;gap:7px;font-size:13px;display:grid}.assignment-meta em{border-radius:8px;padding:4px 8px;font-style:normal}.assignment-meta .pending{color:#e65060;background:#ffedf0}.assignment-meta .complete{color:#129d6b;background:#e5fbef}.assignment-meta button,.note-item>button,.quick-actions button{color:#7890b7;background:0 0}.quick-note{padding:21px}.quick-note textarea{resize:vertical;color:#24385f;border:1px solid #d9e7fb;border-radius:12px;outline-color:#2a7df5;width:100%;height:128px;padding:15px;font-size:16px;line-height:1.6}.light-tip{color:#e5a725;font-size:13px}.quick-actions{justify-content:space-between;align-items:center;margin-top:11px;display:flex}.quick-actions>div{align-items:center;gap:14px;display:flex}.quick-actions>div span{color:#367cf2;background:#eef4ff;border-radius:17px;padding:6px 12px;font-size:13px}.notes-list{gap:12px;margin-top:16px;display:grid}.note-item{align-items:start;gap:15px;padding:18px;display:flex}.note-icon,.setting-icon,.import-icon{border-radius:14px;flex:none;place-items:center;width:50px;height:50px;display:grid}.note-icon.mint,.setting-icon.mint{color:#1eb77c;background:#dff8eb}.note-icon.amber,.setting-icon.amber{color:#e6a61c;background:#fff3d7}.note-icon.coral,.setting-icon.coral{color:#f05566;background:#ffeaec}.note-item>div:nth-child(2){flex:1}.note-item>div:nth-child(2)>span{color:#2379f0;background:#ecf4ff;border-radius:6px;margin-top:9px;padding:3px 7px;font-size:11px;display:inline-block}.note-item time{color:#8b9ab7;font-size:13px}.reminders{padding:0}.setting{border-bottom:1px solid #edf3fa;align-items:center;gap:15px;padding:20px;display:flex}.setting:last-child{border-bottom:0}.setting-icon.blue,.import-icon{color:#287bf5;background:#e4efff}.setting>div:nth-child(2){flex:1}.setting h3{margin:0 0 4px}.setting p{color:#7c8faf;margin:0;font-size:14px}.switch{text-align:left;background:#dce3ef;border-radius:20px;width:49px;height:28px;padding:3px;transition:background .25s}.switch i{background:#fff;border-radius:50%;width:22px;height:22px;display:block;box-shadow:0 2px 5px #667}.switch.on{text-align:right;background:#287bf5}.timing{margin-top:16px;padding:20px}.timing>.section-heading>span{color:#7e91b1;font-size:13px}.timing>div{gap:15px;display:flex}.timing label{color:#536b91;flex:1;gap:7px;font-size:14px;display:grid}.timing select{color:#233d69;background:#fff;border:1px solid #dce8f8;border-radius:10px;padding:11px}.import-hero{background:linear-gradient(100deg,#fff,#eff8ff);align-items:center;gap:18px;padding:28px;display:flex}.import-hero>div:nth-child(2){flex:1}.import-hero h2{margin:0;font-size:21px}.import-hero p{color:#6e83a8;margin:8px 0;line-height:1.7}.steps{flex-wrap:wrap;gap:9px;display:flex}.steps span{color:#7689a8;background:#eef4fc;border-radius:14px;padding:5px 8px;font-size:12px}.steps .active{color:#2777f1;background:#e5efff}.import-preview{margin-top:16px;padding:20px}.success{color:#109d6c;font-size:13px}.preview-row{color:#6d82a6;border-top:1px solid #ecf2fa;align-items:center;gap:12px;padding:13px 0;font-size:14px;display:flex}.preview-row b{color:#20385f;min-width:115px}.preview-row span:nth-child(3){flex:1}.preview-row span{align-items:center;gap:4px;display:flex}.preview-row em{color:#189a68;background:#e2faed;border-radius:7px;padding:4px 7px;font-size:12px;font-style:normal}.dialog-backdrop{z-index:8;background:#0e23465c;place-items:center;padding:20px;animation:.18s fade-in;display:grid;position:fixed;inset:0}.share-dialog{text-align:center;width:min(430px,100%);padding:26px;animation:.26s cubic-bezier(.2,.8,.2,1) material-in;position:relative}.dialog-close{color:#7890b1;background:0 0;font-size:29px;position:absolute;top:9px;right:13px}.share-preview{color:#1775ed;background:linear-gradient(145deg,#e5f4ff,#f6fffb);border-radius:16px;padding:22px}.share-preview h2{color:#17345f;margin:10px 0 4px}.share-preview p{color:#6d86aa;margin:0;font-size:13px}.qr{color:#fff;background:repeating-linear-gradient(45deg,#173763 0 6px,#fff 6px 12px);border:9px solid #183968;place-items:center;width:130px;height:130px;margin:17px auto 0;font-size:68px;line-height:1;display:grid}.share-actions{gap:10px;margin:17px 0;display:flex}.share-actions button{flex:1}.share-dialog>small{color:#7186a8;line-height:1.5}.mobile-nav{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes material-in{0%{filter:none;transform:scale(.99)translateY(4px)}to{filter:none;transform:none}}@media (width<=1023px){.sidebar{display:none}.main-content{width:100%;margin:0;padding:13px 15px 92px}.topbar{height:auto;padding:8px;top:7px}.week-switch,.profile span{display:none}.page{margin:18px auto}.greeting{min-height:122px;padding:22px}.greeting h1,.page-title h1{font-size:27px}.dashboard-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:54px repeat(5,minmax(91px,1fr));min-width:540px;overflow-x:auto}.schedule-card{overflow:auto}.mobile-nav{z-index:4;border-radius:22px 22px 0 0;justify-content:space-around;gap:0;padding:9px 7px 14px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #31547b14}.mobile-nav button{color:#7084a6;background:0 0;justify-items:center;gap:4px;padding:5px 9px;font-size:11px;display:grid}.mobile-nav button.active{color:#1976f2}.page-title{align-items:center}.page-title .primary{padding:11px;font-size:0}.page-title .primary svg{margin:0}.assignment{align-items:start}.assignment-meta{min-width:72px}.note-item time{display:none}.import-hero{flex-wrap:wrap;align-items:start}.import-hero .primary{width:100%}.preview-row{flex-wrap:wrap}.preview-row span:nth-child(3){flex:auto}.timing>div{display:grid}.filter-bar{overflow:auto}.filter{white-space:nowrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-reduced-transparency:reduce){.material{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}}.greeting-import{color:#1466df;font:inherit;cursor:pointer;background:#ffffffad;border:1px solid #2d7cff3d;border-radius:12px;align-items:center;gap:7px;margin-top:18px;padding:9px 13px;font-weight:700;display:inline-flex}.greeting-import:hover{background:#fff}.greeting-import:active{transform:scale(.98)}.greeting-sun{color:#f7a928}.sidebar-art{background:linear-gradient(#fff0,#bfebddd1),radial-gradient(circle at 84% 72%,#d7ecff 0 18%,#0000 18.5%),radial-gradient(circle at 12% 90%,#b7e3d3 0 16%,#0000 16.5%);flex:1;align-items:flex-end;height:auto;min-height:0;margin-top:20px;padding-bottom:44px;display:flex}@media (width>=1024px){.sidebar{padding-bottom:0}}.auth-toast{z-index:9;color:#1a67dc;background:#e9f3ff;border-radius:12px;max-width:min(360px,100vw - 32px);padding:12px 16px;font-weight:650;position:fixed;top:84px;right:32px;box-shadow:0 12px 28px #2459a129}.auth-toast.failed{color:#c94355;background:#fff0f1}.login-dialog{text-align:center;width:min(420px,100%);padding:32px;animation:.26s cubic-bezier(.2,.8,.2,1) material-in;position:relative}.login-dialog>svg{color:#2677f4}.login-dialog h2{color:#17345f;margin:14px 0 8px}.login-dialog p{color:#6c82a5;text-align:left;margin:0 0 22px;line-height:1.7}.login-dialog .primary{width:100%}@media (width<=1023px){.auth-toast{top:72px;right:16px}}.action-toast{z-index:10;color:#fff;background:#173763;border-radius:11px;padding:11px 15px;font-weight:650;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0f2b5647}.profile-wrap{position:relative}.profile-menu,.notification-panel{z-index:7;border-radius:15px;position:absolute;box-shadow:0 18px 40px #264c802e}.profile-menu{width:184px;top:48px;right:0;overflow:hidden}.profile-menu a,.profile-menu button{color:#38577e;text-align:left;background:0 0;align-items:center;gap:8px;width:100%;padding:11px 13px;text-decoration:none;display:flex}.profile-menu a:hover,.profile-menu button:hover{background:#edf5ff}.notification-panel{width:min(320px,100vw - 32px);padding:17px;top:74px;right:32px}.notification-panel>div{justify-content:space-between;align-items:center;display:flex}.notification-panel h2{color:#183960;margin:0;font-size:18px}.notification-list{gap:2px;margin:12px 0;display:grid}.notification-item{color:#2778ed;text-align:left;background:0 0;border-top:1px solid #eaf1fa;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;width:100%;padding:10px 4px;display:grid}.notification-item span{color:#305179;gap:3px;display:grid}.notification-item b{font-size:13px}.notification-item small{color:#7186a7;font-size:12px;line-height:1.45}.mobile-import-notice{color:#aa6b00;background:#fff9ea;border:1px solid #ffe2a8;border-radius:14px;gap:10px;margin-bottom:14px;padding:14px 16px;display:flex}.mobile-import-notice p{color:#8f7548;margin:4px 0 0;font-size:13px;line-height:1.55}.notification-panel p{color:#7186a8;font-size:14px;line-height:1.6}.notification-panel button{color:#2d78ee;background:0 0}.notification-panel .secondary{border:1px solid #dce9fb;padding:9px 12px}.empty-state{color:#7d90ae;text-align:center;justify-items:center;gap:8px;padding:22px 10px;display:grid}.empty-state p{margin:0}.empty-page{padding:16px}.grid-empty{text-align:center;color:#7387a8;padding:16px 20px 2px}.grid-empty p{margin:0 0 10px}.import-security{color:#2577e8;align-items:flex-start;gap:12px;margin-top:16px;padding:17px;display:flex}.import-security p{color:#6f84a6;margin:4px 0 0;font-size:13px;line-height:1.65}.import-sync-status{color:#235c9d;background:#edf5ff;border-radius:13px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:13px 16px;font-size:14px;line-height:1.5;display:flex}.import-sync-status>span{flex:220px}.import-sync-status>svg{flex:none}.import-sync-status .secondary{min-height:36px}.import-sync-status.error{color:#a73542;background:#fff0f0}.import-sync-status.saved{color:#18754f;background:#e9f9f0}.dialog-backdrop{overscroll-behavior:contain;padding:16px}.modal-card{flex-direction:column;width:min(560px,100%);max-height:min(92dvh,760px);padding:0;animation:.26s cubic-bezier(.2,.8,.2,1) material-in;display:flex;position:relative;overflow:hidden}.modal-header{flex:none;justify-content:space-between;align-items:center;padding:24px 24px 15px 28px;display:flex}.modal-card h2{color:#17345f;margin:0}.modal-card .dialog-close{width:34px;height:34px;font-size:initial;border-radius:9px;place-items:center;display:grid;position:static}.modal-card .dialog-close:hover{color:#1f76ec;background:#edf5ff}.ui-modal-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#a9c9f4 #edf4fd;min-height:0;padding:0 28px 28px;overflow-y:auto}.ui-modal-scroll::-webkit-scrollbar{width:9px}.ui-modal-scroll::-webkit-scrollbar-track{background:#edf4fd;border-radius:99px}.ui-modal-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#b6d3f8,#78adf3);border:2px solid #edf4fd;border-radius:99px}.form-grid{gap:13px;display:grid}.form-grid label{color:#456185;gap:7px;font-size:14px;font-weight:700;display:grid}.form-grid input,.form-grid textarea,.form-grid select{color:#20385f;background:#fff;border:1px solid #dbe8f9;border-radius:10px;outline-color:#287bf5;width:100%;padding:10px 11px}.form-grid textarea{resize:vertical;min-height:116px}.date-time-picker{grid-template-columns:1.2fr 1.2fr 1fr 1fr;gap:7px;display:grid}.date-time-picker select{min-width:0;padding-inline:8px}.calendar-field{gap:7px;min-width:0;display:grid;position:relative}.calendar-label{color:#456185;font-size:14px;font-weight:700}.calendar-trigger{color:#29466f;text-align:left;background:#fff;border:1px solid #dbe8f9;border-radius:10px;align-items:center;gap:8px;width:100%;padding:11px;display:flex}.calendar-trigger:hover{background:#f8fbff;border-color:#8dbdfb}.calendar-popover{z-index:4;background:#fff;border:1px solid #d8e6f8;border-radius:14px;width:min(330px,100vw - 72px);padding:13px;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 18px 35px #1c43792e}.modal-card:has(.calendar-popover){overflow:visible}.modal-card:has(.calendar-popover) .ui-modal-scroll{overflow:visible}.calendar-popover{z-index:20}.calendar-header{color:#29466f;justify-content:space-between;align-items:center;display:flex}.calendar-header button{color:#2678ef;background:#eff6ff;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.calendar-weekdays,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{color:#8193ae;margin:12px 0 5px;font-size:11px}.calendar-days{gap:3px}.calendar-days button,.calendar-days i{border-radius:8px;place-items:center;min-height:32px;font-size:12px;font-style:normal;display:grid}.calendar-days button{color:#42638f;background:0 0}.calendar-days button:hover{color:#2077ed;background:#eaf3ff}.calendar-days button.selected{color:#fff;background:#287bf5;box-shadow:0 4px 9px #287bf540}.calendar-time{border-top:1px solid #e8eff8;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding-top:11px;display:grid}.calendar-time label{color:#607b9f;gap:6px;font-size:12px;font-weight:700;line-height:1.2;display:grid}.calendar-time select{color:#36547c;background:#fff;border:1px solid #dbe8f9;border-radius:8px;width:100%;min-height:40px;padding:8px}.calendar-popover[data-placement=top]{top:auto;bottom:calc(100% + 7px)}.calendar-popover[data-placement=center]{width:min(320px,100vw - 24px);max-height:calc(100dvh - 32px);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.calendar-month-toggle{justify-content:center;align-items:center;gap:5px;padding:0 9px;font-weight:800;color:#29466f!important;background:0 0!important;width:auto!important;display:inline-flex!important}.calendar-month-toggle svg{transition:transform .18s}.calendar-month-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.calendar-months{grid-template-columns:repeat(3,1fr);gap:6px;padding:15px 0 6px;display:grid}.calendar-months button{color:#3d5d88;background:#f4f8fe;border-radius:8px;min-height:37px;font-size:13px;font-weight:700}.calendar-months button:hover{color:#176ce0;background:#eaf3ff}.calendar-months button.selected{color:#fff;background:#287bf5}.calendar-footer{border-top:1px solid #e8eff8;justify-content:space-between;gap:8px;margin-top:8px;padding-top:9px;display:flex}.calendar-footer button{border-radius:8px;min-height:34px;padding:6px 12px;font-size:12px;font-weight:750}.calendar-today{color:#2676e7;background:#eef5ff}.calendar-done{color:#fff;background:#287bf5}.select-shell{width:100%;min-width:0;display:block;position:relative}.select-shell select{appearance:none;color:#20385f;cursor:pointer;background:#fff;border:1px solid #dbe8f9;border-radius:10px;width:100%;min-width:0;min-height:42px;padding-right:38px;transition:border-color .18s,background-color .18s,box-shadow .18s}.select-shell select:hover{background:#fafdff;border-color:#9dc5f7}.select-shell select:focus-visible{outline-offset:1px;border-color:#287bf5;outline:2px solid #287bf557;box-shadow:0 2px 12px #287bf514}.select-shell select:disabled{cursor:not-allowed;color:#8a9bb4;background:#f5f8fc}.select-shell .select-chevron{color:#637fa5;pointer-events:none;transition:color .18s,transform .18s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.select-shell:focus-within .select-chevron{color:#2478f5;transform:translateY(-50%)rotate(180deg)}.calendar-time .select-shell select{min-height:40px;padding:8px 32px 8px 10px}.calendar-time .select-chevron{right:9px}::selection{color:#153765;background:#c9e3ff}.calendar-trigger,.calendar-days,.calendar-time,.week-switch{font-variant-numeric:tabular-nums}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #287bf5}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.install-guide{color:#607b9f;padding-left:23px;line-height:1.7}.admin-card{gap:16px;padding:25px;display:grid}.admin-card>div:first-child>svg{color:#1f78ef}.admin-card h2{color:#173763;margin:8px 0 4px;font-size:20px}.admin-card p{color:#7287a8;margin:0;line-height:1.6}.admin-setting{border-top:1px solid #eaf0f8;justify-content:space-between;align-items:center;padding-top:15px;display:flex}.admin-setting span{gap:4px;display:grid}.admin-setting small{color:#788baa}.qr-placeholder{color:#173763;background:#fff;border:7px solid #183968;place-items:center;width:130px;height:130px;margin:17px auto 0;display:grid}.qr-image{background:#fff;width:170px;height:170px;margin:16px auto 0;padding:6px;display:block}.today-locate{color:#2177ed;background:#edf5ff;border-radius:10px;padding:9px 11px;font-weight:700}.week-switch button:disabled{cursor:not-allowed;color:#c4d0e2;background:#f8fbff}.season-tag{color:#c87813;vertical-align:middle;background:#fff1d9;border-radius:8px;margin-left:8px;padding:4px 8px;font-size:12px;font-weight:700}.sections-grid .time{align-content:center;gap:3px;padding:6px}.sections-grid .time b{color:#3a527a;font-size:12px}.sections-grid .time small{color:#8a9bb7;text-align:center;font-size:10px}.sections-grid .slot{min-height:58px}.sections-grid .course-block{min-height:48px}.sections-grid{grid-template-columns:76px repeat(7,minmax(112px,1fr));grid-auto-rows:minmax(86px,auto)}.sections-grid .slot{min-height:86px;position:relative;overflow:visible}.sections-grid .course-block{z-index:1;align-self:stretch;gap:4px;height:auto;min-height:0;margin:4px;padding:8px;display:grid;position:relative;box-shadow:0 4px 10px #3e6eb814}.sections-grid .course-block b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sections-grid .course-block span,.sections-grid .course-block small{color:#506989;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:11px;line-height:1.25;display:flex;overflow:hidden}.sections-grid .course-block em{color:#59759e;font-size:10px;font-style:normal;font-weight:700}.course-status{border-radius:999px;justify-content:center;align-items:center;width:max-content;padding:3px 7px;font-style:normal;font-weight:750;line-height:1.2;font-size:10px!important;display:inline-flex!important}.course-status.in-progress{background:#dff9ed;color:#13895d!important}.course-status.finished{background:#edf1f7;color:#7585a0!important}.course-status.upcoming{background:#e7f1ff;color:#2676df!important}.today-course .course-status{margin-left:auto}.meeting-details .course-status{margin-top:2px}.course-details{gap:16px;display:grid}.course-detail-title{color:#173763;border-radius:14px;align-items:center;gap:12px;padding:15px;display:flex}.course-detail-title h3{margin:0 0 3px;font-size:19px}.course-detail-title span{color:#627c9e;font-size:13px}.course-details dl{gap:0;margin:0;display:grid}.course-details dl>div{border-bottom:1px solid #edf2f8;grid-template-columns:92px 1fr;gap:12px;padding:10px 2px;display:grid}.course-details dt{color:#7387a5;font-size:13px}.course-details dd{color:#263d63;margin:0;font-weight:650}.course-detail-note{color:#7286a6;margin:0;font-size:12px;line-height:1.65}.meeting-details{gap:8px;display:grid}.meeting-details h3{color:#36557f;margin:0;font-size:14px}.meeting-details article{color:#2c4a73;border:1px solid #e6eef9;border-radius:10px;gap:3px;padding:10px;display:grid}.meeting-details span,.meeting-details small{color:#7186a6;font-size:12px}.meeting-editor{background:#fbfdff;border:1px solid #dce9f9;border-radius:13px;gap:10px;padding:13px;display:grid}.meeting-editor>div:first-child{gap:2px;display:grid}.meeting-editor>div:first-child span{color:#7a8ead;font-size:12px}.meeting-editor article{background:#fff;border:1px solid #e5edf8;border-radius:11px;gap:9px;padding:11px;display:grid}.add-meeting{justify-self:start;padding:8px 11px}.course-edit{width:100%;margin-top:2px}.course-detail-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:2px;display:grid}.course-detail-actions button{min-height:43px}.import-source-section{margin-top:18px}.import-source-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:0 2px 12px;display:flex}.import-source-heading h2{color:#183761;margin:0;font-size:19px}.import-source-heading span{color:#7186a6;font-size:13px}.import-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.import-source-card{flex-direction:column;align-items:flex-start;padding:20px 22px;display:flex}.import-source-card>div{align-items:center;gap:10px;display:flex}.import-source-card b{color:#173761;font-size:17px}.import-source-tag{color:#2673d9;background:#e7f3ff;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.import-source-card p{color:#7186a6;flex:1;margin:9px 0 17px;font-size:13px;line-height:1.6}.import-source-card a{justify-content:center;align-items:center;gap:8px;min-height:42px;text-decoration:none;display:inline-flex}.import-store-links{gap:17px;margin-top:16px;padding:22px 24px 17px;display:grid}.import-store-heading h2{color:#1b3763;margin:0 0 5px;font-size:19px}.import-store-heading p{color:#617a9d;margin:0;font-size:13px;line-height:1.6}.import-store-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.import-store-actions .store-link{color:#2d69b7;background:#f8fbff;border:1px solid #d5e5fa;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:14px 17px;font-weight:750;text-decoration:none;transition:background .2s,border-color .2s,box-shadow .2s;display:flex}.import-store-actions .store-link>span{align-items:center;gap:9px;min-width:0;display:inline-flex}.import-store-actions .store-link svg{flex:none}.import-store-actions .store-link small{color:inherit;white-space:nowrap;background:#ffffff29;border-radius:7px;flex:none;padding:4px 7px;font-size:11px}.import-store-actions .store-link.preferred{color:#fff;background:#287bf5;border-color:#287bf5;box-shadow:0 9px 20px #287bf52e}.import-store-actions .store-link:not(.preferred):hover{background:#eef6ff;border-color:#8db9ee}.import-store-actions .store-link.preferred:hover{background:#1669dc}.import-store-footer{border-top:1px solid #e8f0fa;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:13px;display:flex}.import-store-footer a,.import-store-footer button{color:#276fc6;background:0 0;align-items:center;gap:5px;padding:5px 0;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.import-store-footer a:hover,.import-store-footer button:hover{color:#135bb5}.import-store-footer button:disabled{color:#90a3bc;cursor:not-allowed}.import-store-footer .import-package-link{color:#7388a5;margin-left:auto;font-size:12px;font-weight:600}.import-store-footer :is(a,button):focus-visible,.import-store-actions a:focus-visible{outline-offset:3px;outline:3px solid #94c2fa}.page-title-actions{justify-content:flex-end;align-items:center;gap:9px;display:flex}.page-guide-link{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:42px;text-decoration:none;display:inline-flex}.batch-bar{color:#264a78;border-radius:13px;align-items:center;gap:10px;margin-bottom:12px;padding:10px 13px;display:flex}.batch-bar b{margin-right:auto}.assignment-menu-wrap{position:relative}.assignment-menu{z-index:3;border-radius:10px;width:100px;padding:5px;position:absolute;top:28px;right:0;box-shadow:0 12px 26px #1a41712e}.assignment-menu button{text-align:left;background:0 0;border-radius:7px;width:100%;padding:8px}.assignment-menu button:hover{background:#eef5ff}.assignment{align-items:center}.check.large{justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:flex}.check.large svg{margin:0;display:block;transform:translate(-.5px)}.assignment-meta{justify-content:flex-end;align-items:center;gap:10px;min-width:auto;display:flex}.completion-button{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-width:90px;min-height:42px;padding:10px 14px;font-size:14px;font-weight:800;display:inline-flex}.completion-button.complete{color:#fff;background:#16a56f;box-shadow:0 6px 13px #16a56f33}.completion-button.pending{color:#d95663;background:#fff1f2;border-color:#ffd7db}.assignment-more{color:#557198;background:#fff;border:1px solid #dbe8f8;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.assignment-more:hover{color:#2476eb;background:#edf5ff}.confirm-copy{color:#657f9f;line-height:1.7}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.danger-button{color:#fff;background:#ed5666;border-radius:10px;padding:10px 14px;font-weight:700}.note-upload{color:#456185;background:#f8fbff;border:1px dashed #b9d5fa;border-radius:12px;gap:9px;padding:13px;display:grid}.note-upload>b{color:#244a7c}.note-upload>small,.note-upload>p{color:#7187a8;margin:0;font-size:12px;line-height:1.55}.upload-control{cursor:pointer;width:max-content;min-height:38px;margin:0}.note-upload>span{color:#426286;background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:9px;padding:8px 10px;font-size:13px;display:flex}.note-upload>span button{color:#d95462;background:#fff0f1;border-radius:7px;place-items:center;width:25px;height:25px;display:grid}.note-attachment-count{color:#527299;margin-left:8px;font-size:12px;display:inline-block}.reminder-methods{gap:14px;display:grid}.reminder-methods>section{border:1px solid #e1ebf8;border-radius:13px;gap:11px;padding:16px;display:grid}.reminder-methods>section>div{color:#24517f;align-items:center;gap:9px;display:flex}.reminder-methods h3{margin:0;font-size:16px}.reminder-methods p{color:#7287a7;margin:0;font-size:13px;line-height:1.6}.reminder-methods label{color:#456185;gap:7px;font-size:13px;font-weight:700;display:grid}.reminder-methods input{color:#20385f;border:1px solid #dbe8f9;border-radius:10px;outline-color:#287bf5;width:100%;min-height:42px;padding:10px 11px}.reminder-methods .primary,.reminder-methods .secondary{width:max-content}.verified-email{color:#129566;background:#e5faef;border-radius:10px;padding:10px 12px;font-size:13px;display:block}.verify-row{grid-template-columns:1fr auto;gap:9px;display:grid}.verify-row input{min-width:0}.verify-row .secondary{white-space:nowrap;width:auto;min-width:74px}.saved-email-list{gap:7px;display:grid}.saved-email-list>div{color:#24745a;background:#e9fbf1;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.saved-email-list .text-button{color:#d35461}.webhook-manager{background:#f8fbff;border:1px solid #e1ebf8;border-radius:13px;gap:11px;padding:16px;display:grid}.webhook-manager>div:first-child{color:#24517f;align-items:center;gap:9px;display:flex}.webhook-manager>div:first-child svg{color:#8571d4}.webhook-manager h3{margin:0;font-size:16px}.webhook-manager>p{color:#7287a7;margin:0;font-size:13px;line-height:1.6}.webhook-manager label{color:#456185;gap:7px;font-size:13px;font-weight:700;display:grid}.webhook-manager input,.webhook-manager select{color:#20385f;background:#fff;border:1px solid #dbe8f9;border-radius:10px;outline-color:#287bf5;width:100%;min-height:42px;padding:10px 11px}.webhook-manager .secondary{width:max-content}.webhook-unavailable{background:#fff7e8;border-radius:10px;padding:10px 12px;color:#956611!important}.wecom-help{background:#eef7ff;border-radius:10px;padding:10px 12px;color:#436993!important}.wecom-note{color:#53749d!important}.wxpusher-setup{background:linear-gradient(135deg,#fff9ff,#f8fbff);border:1px solid #efd8ef;border-radius:12px;grid-template-columns:minmax(0,1fr) 148px;gap:13px;padding:13px;display:grid}.wxpusher-copy{gap:8px;display:grid}.wxpusher-copy>div:first-child{color:#9a3a9b;align-items:center;gap:8px;display:flex}.wxpusher-copy>div:first-child svg{color:#b300b3}.wxpusher-copy h4{color:#54275f;margin:0;font-size:15px}.wxpusher-copy p{color:#6b6483!important}.wxpusher-downloads{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.wxpusher-downloads .secondary{min-height:34px;padding:7px 9px;font-size:12px}.wxpusher-downloads .text-button{color:#8e3d9c}.reminder-methods a,.wxpusher-setup a,.webhook-manager a{text-decoration:none}.wxpusher-qr{align-content:start;justify-items:center;gap:7px;display:grid}.wxpusher-qr img{object-fit:cover;background:#fff;border:1px solid #eadbea;border-radius:9px;width:112px;height:112px}.wxpusher-qr .secondary{min-height:32px;padding:6px 8px;font-size:12px}.wxpusher-setup label{grid-column:1/-1}.wxpusher-setup textarea{resize:vertical;color:#20385f;background:#fff;border:1px solid #dbe8f9;border-radius:10px;outline-color:#b300b3;width:100%;min-height:74px;padding:10px 11px}.wxpusher-setup>small{color:#7d7490;grid-column:1/-1;font-size:12px;line-height:1.55}.webhook-secret{color:#31567f;background:#eef7ff;border:1px solid #b7d6ff;border-radius:11px;gap:8px;padding:12px;display:grid}.webhook-secret code{overflow-wrap:anywhere;color:#173763;background:#fff;border-radius:8px;padding:8px;font-size:12px}.webhook-secret small{color:#7186a7}.webhook-endpoint{background:#fff;border:1px solid #dce9f8;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:11px;padding:12px;display:grid}.webhook-endpoint>div:first-child{gap:3px;min-width:0;display:grid}.webhook-endpoint b{color:#264b7b}.webhook-endpoint span,.webhook-endpoint small{overflow-wrap:anywhere;color:#7085a5;font-size:12px}.webhook-endpoint small{color:#c05a65}.webhook-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.webhook-actions .secondary,.webhook-actions .danger-outline{min-height:36px;padding:7px 10px;font-size:12px}.webhook-deliveries{border-top:1px solid #e8eff8;grid-column:1/-1;gap:6px;padding-top:9px;display:grid}.webhook-deliveries>div{color:#426286;grid-template-columns:1fr auto;gap:4px 9px;font-size:12px;display:grid}.webhook-deliveries small{grid-column:1/-1}.webhook-deliveries time{color:#7186a8;font-variant-numeric:tabular-nums}.switch{touch-action:pan-y;justify-content:flex-start;align-items:center;display:flex;padding:3px!important}.switch i{transition:transform .18s cubic-bezier(.2,.8,.2,1)}.switch.on{text-align:initial;justify-content:flex-end}.switch.on i{transform:translate(0)}.form-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.share-dialog{text-align:left;gap:17px;display:grid}.share-dialog .share-preview{text-align:center}.share-preview h3{color:#17345f;margin:9px 0 4px}.share-settings{gap:14px;display:grid}.visibility-switch{touch-action:pan-y;background:#eaf2fc;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid;position:relative;overflow:hidden}.visibility-switch span{z-index:0;background:#287bf5;border-radius:9px;transition:transform .22s cubic-bezier(.2,.8,.2,1);position:absolute;inset:4px 50% 4px 4px;box-shadow:0 5px 12px #2171ee33}.visibility-switch:has(button:nth-child(2).active) span{transform:translate(100%)}.visibility-switch button{z-index:1;color:#6b82a5;background:0 0;border-radius:9px;padding:9px;font-weight:750;position:relative}.visibility-switch button.active{color:#fff}.visibility-copy{color:#6d84a6;margin:-7px 2px 0;font-size:12px}.share-content-list{gap:8px;display:grid}.share-content-list article{border:1px solid #e1ebf8;border-radius:11px;overflow:hidden}.share-content-list article.selected{background:#f8fbff;border-color:#9fc8ff}.share-content-list article>div{align-items:center;min-height:43px;padding:0 7px 0 12px;display:flex}.share-content-list label{color:#385b8b;flex:1;align-items:center;gap:8px;font-weight:700;display:flex}.expand-share{color:#627b9f;background:0 0;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.expand-share:hover{color:#2678ef;background:#eaf3ff}.share-detail-options{border-top:1px solid #e7eef8;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px 12px 12px;display:grid}.share-detail-options label{font-size:12px;font-weight:600}.share-settings fieldset{border:1px solid #e2edf9;border-radius:12px;gap:9px;margin:0;padding:12px;display:grid}.share-settings legend{color:#385d91;padding:0 5px;font-size:13px;font-weight:750}.share-settings label{color:#49678f;align-items:center;gap:8px;font-size:14px;display:flex}.share-settings input{accent-color:#277cf4}.share-password{font-weight:700;align-items:initial!important;color:#456185!important;gap:7px!important;display:grid!important}.share-password input{color:#20385f;border:1px solid #dbe8f9;border-radius:10px;outline-color:#287bf5;width:100%;padding:10px 11px}.share-themes{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.share-theme{color:#244367;border:2px solid #0000;border-radius:11px;min-height:66px;font-weight:750}.share-theme.morning{background:linear-gradient(135deg,#d9efff,#fff5e8)}.share-theme.mint{background:linear-gradient(135deg,#d9fbec,#edfaff)}.share-theme.night{color:#fff;background:linear-gradient(135deg,#172b57,#557bbd)}.share-theme.selected{border-color:#2177ed;box-shadow:0 0 0 3px #dcecff}.share-image-preview{border:1px solid #dbe8f9;border-radius:12px;width:100%;display:block}.modal-card:has(.share-dialog) .ui-modal-scroll{padding-inline:12px}.modal-card:has(.share-dialog) .share-dialog{width:100%;max-width:none;padding:0;position:static}.share-manager-list{gap:12px;display:grid}.share-manager-item{align-items:center;gap:18px;padding:18px;display:flex}.share-manager-item>div:first-child{flex:1;gap:5px;display:grid}.share-manager-item b{color:#213e69;font-size:17px}.share-manager-item span,.share-manager-item small{color:#6f84a6;font-size:13px}.share-manager-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.danger-outline{color:#d65361;background:#fff7f8;border:1px solid #ffcbd1;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:9px 12px;font-weight:700;display:inline-flex}.shared-page{background:radial-gradient(circle at 85% 10%,#dff6ef,#0000 28rem),#f5f9ff;place-items:center;min-height:100vh;padding:28px 16px;display:grid;position:relative}.shared-account{color:#5c7499;border-radius:13px;align-items:center;gap:10px;padding:7px 8px 7px 13px;font-size:13px;display:flex;position:absolute;top:16px;right:20px}.shared-account .secondary{min-height:34px;padding:7px 10px}.shared-card{width:min(1120px,100%);padding:30px}.shared-card h1{color:#17345f;margin:26px 0 8px}.shared-intro{color:#6d83a6;margin:0 0 18px}.shared-courses{gap:10px;margin:18px 0;display:grid}.shared-schedule{border-radius:14px;margin:18px 0;overflow:auto}.shared-schedule .week-grid-wrap{min-width:790px}.shared-course{color:#233c63;border-radius:12px;gap:5px;padding:14px;display:grid}.shared-course span,.shared-course small{color:#5f789c;font-size:13px}.share-gate{color:#647d9f;gap:13px;padding:18px 0;display:grid}.share-gate label{color:#456185;gap:7px;font-weight:700;display:grid}.share-gate input{border:1px solid #dbe8f9;border-radius:10px;padding:10px}@media (width>=1024px){.modal-card:has(.share-dialog){max-height:min(92dvh,900px)}}@media (width<=1023px){.notification-panel{top:69px;right:16px}.action-toast{text-align:center;width:max-content;max-width:calc(100vw - 32px);bottom:84px}.today-locate{display:none}.import-source-heading{flex-direction:column;align-items:flex-start;gap:4px}.import-source-grid{grid-template-columns:1fr}.import-source-card a{width:100%}.import-store-links{padding:18px}.import-store-actions{grid-template-columns:1fr}.import-store-actions .store-link{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px}.import-store-footer .import-package-link{width:100%;margin-left:0}.page-title-actions{margin-left:auto}.page-guide-link{padding:9px 11px}.batch-bar{flex-wrap:wrap}.batch-bar b{width:100%}.sections-grid{grid-template-columns:58px repeat(7,minmax(96px,1fr));min-width:730px}.schedule-card .heading-actions .secondary{width:54px;min-width:54px;min-height:68px;padding:10px;font-size:0}.schedule-card .heading-actions .secondary svg{width:20px;height:20px}.modal-card{max-height:96dvh}.modal-header{padding:20px 20px 13px}.ui-modal-scroll{padding:0 20px calc(20px + env(safe-area-inset-bottom))}.form-pair,.course-detail-actions{grid-template-columns:1fr}.assignment{align-items:flex-start}.assignment-meta{flex-direction:row}.reminder-methods .primary,.reminder-methods .secondary{width:100%}.wxpusher-setup{grid-template-columns:1fr}.wxpusher-qr{grid-template-columns:auto 1fr;place-items:center start}.wxpusher-qr img{grid-row:1/span 2}.wxpusher-qr .secondary{width:max-content}.verify-row .secondary{width:auto}.share-manager-item{flex-direction:column;align-items:stretch}.share-manager-actions{justify-content:stretch}.share-manager-actions>button{flex:1}.shared-account{top:10px;right:10px}.date-time-picker{grid-template-columns:1fr 1fr}.share-detail-options{grid-template-columns:1fr}.modal-card:has(.share-dialog) .ui-modal-scroll{padding-inline:16px}}.wxpusher-methods{gap:11px;display:grid}.wxpusher-mode-switch{background:#eaf2fc;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.wxpusher-mode-switch button{color:#617a9f;background:0 0;border-radius:9px;min-height:38px;font-weight:750}.wxpusher-mode-switch button.active{color:#fff;background:#287bf5;box-shadow:0 5px 12px #2171ee33}.wxpusher-scan{background:#fbfdff;border:1px solid #dbe8f9;border-radius:12px;gap:11px;padding:13px;display:grid}.wxpusher-scan>div:first-child{color:#284d7e;align-items:center;gap:8px;display:flex}.wxpusher-scan h4{margin:0}.wxpusher-scan p{color:#6d84a6;margin:0;font-size:13px;line-height:1.6}.wxpusher-scan-result{background:#fff;border-radius:11px;align-items:center;gap:14px;padding:11px;display:flex}.wxpusher-scan-result img{object-fit:cover;background:#fff;border:1px solid #d9e7f7;border-radius:9px;width:128px;height:128px}.wxpusher-scan-result>div{color:#35577f;gap:8px;display:grid}.wxpusher-scan-result span{color:#7085a5;font-size:12px}.email-channel-actions{flex-wrap:wrap;gap:8px;display:flex}.email-deliveries{background:#fbfdff;border:1px solid #dce9f8;border-radius:10px;gap:7px;padding:10px;display:grid}.email-deliveries>div{color:#426286;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;font-size:12px;display:grid}.email-deliveries span,.email-deliveries time{color:#7186a8;overflow-wrap:anywhere}.email-deliveries time{font-variant-numeric:tabular-nums}.email-deliveries small{color:#c05a65;overflow-wrap:anywhere;grid-column:1/-1}@media (width<=1023px){.wxpusher-scan-result{align-items:flex-start}.email-channel-actions .secondary{width:auto}}.notification-scrim{z-index:6;background:0 0;padding:0;position:fixed;inset:0}.notification-panel{z-index:7;position:fixed;top:82px;right:32px}.reminder-page-actions{flex-wrap:wrap;gap:9px;display:flex}.reminder-page-actions a{text-decoration:none}.channel-doc-link{color:#2a71cf;align-items:center;gap:6px;width:max-content;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.channel-doc-link:hover{color:#135cb8}.week-grid-wrap{min-width:0}.dashboard .heading-actions>button{min-height:40px}.profile:focus-visible{outline:none}@media (width<=1023px){.topbar{z-index:5;position:sticky}.notification-panel{overscroll-behavior:contain;max-height:calc(100dvh - 86px);top:70px;right:15px;overflow-y:auto}.profile{border-radius:50%;width:38px;height:38px;padding:0}.profile:focus-visible{box-shadow:0 0 0 4px #287bf538}.schedule-card{overflow:visible}.schedule-card .week-grid-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:14px;overflow-x:auto}.schedule-card .week-grid{overflow:hidden}.schedule-card .heading-actions .secondary{border-radius:12px;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;font-size:0}.schedule-card .heading-actions .secondary svg{width:20px;height:20px}.page-title .primary{border-radius:12px;place-items:center;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;display:grid}.page-title .primary svg{margin:0}.dashboard .heading-actions{gap:8px}.dashboard .heading-actions>button{height:42px;min-height:42px}.calendar-popover[data-placement]{z-index:30;overscroll-behavior:contain;width:calc(100vw - 24px);max-height:calc(100dvh - 32px);position:fixed;top:50%;bottom:auto;left:12px;overflow-y:auto;transform:translateY(-50%)}.modal-card:has(.calendar-popover){overflow:hidden}.modal-card:has(.calendar-popover) .ui-modal-scroll{overflow:hidden}.reminder-page-actions{gap:7px}.reminder-page-actions .secondary{min-height:42px;padding:9px 11px}.schedule-card .section-heading>div:first-child{gap:7px;min-width:0}.schedule-card .section-heading h2{white-space:nowrap;font-size:17px}.schedule-card .season-tag{margin-left:4px;padding:3px 5px;font-size:10px}.schedule-card .section-heading>div:first-child>svg{display:none}}.todo-page{gap:16px;display:grid}.todo-page .page-title{margin-bottom:0}.todo-overview{background:#e7eff9;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(180px,1.25fr);gap:1px;padding:0;display:grid;overflow:hidden}.todo-overview>div{background:#fff;align-content:center;gap:5px;min-height:92px;padding:17px 19px;display:grid}.todo-overview span{color:#7186a7;font-size:13px}.todo-overview>div>b{color:#193e70;letter-spacing:-.04em;font-size:27px}.todo-overview .todo-progress{background:linear-gradient(135deg,#eef7ff,#f8fbff);gap:9px}.todo-progress>span{align-items:baseline;gap:5px;display:flex}.todo-progress>span b{color:#287bf5;font-size:22px}.todo-progress i{background:#dceafa;border-radius:99px;height:7px;overflow:hidden}.todo-progress em{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg,#287bf5,#51adff);width:100%;height:100%;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:block}.todo-toolbar{border-radius:14px;justify-content:space-between;align-items:center;gap:15px;padding:8px 10px 8px 8px;display:flex}.todo-toolbar>span{color:#7890ad;font-size:13px}.todo-toolbar .filter-bar{background:0 0;border:0;margin:0;padding:0}.assignment.is-complete{background:linear-gradient(100deg,#fcfefd,#f6fffa)}.assignment.is-complete h3{color:#688198;-webkit-text-decoration:line-through #b8c9d7;text-decoration:line-through #b8c9d7}.assignment-main>div>small{color:#7186a7;background:#eff5fb;border-radius:99px;margin-left:auto;padding:3px 7px;font-size:11px}.assignment.is-complete .assignment-main>div>small{color:#158a60;background:#e1f9eb}.assignment-main>div{width:100%}.assignment-main{min-width:0}.assignment-main h3{overflow-wrap:anywhere}@media (width<=1023px){.todo-overview{grid-template-columns:repeat(3,1fr)}.todo-overview .todo-progress{grid-column:1/-1;min-height:70px}.todo-toolbar{flex-direction:column;align-items:stretch;padding:9px}.todo-toolbar>span{padding:0 5px 2px}.todo-toolbar .filter-bar{width:100%}.todo-toolbar .filter{flex:1}.assignment-main>div>small{display:none}}.avatar{overflow:hidden}.avatar>img{object-fit:cover;width:100%;height:100%;display:block}.reminder-page-actions{justify-content:flex-end;margin-left:auto}.reminders{isolation:isolate;overflow:hidden}.reminders .setting{position:relative;overflow:hidden}.course-detail-actions button,.reminder-page-actions .secondary{justify-content:center;align-items:center;line-height:1;display:inline-flex}.course-detail-actions .danger-button{gap:7px}@media (width<=1023px){.dashboard .heading-actions{align-items:center;margin-left:auto}.dashboard .heading-actions>button{justify-content:center;align-items:center;min-height:42px;line-height:1;display:inline-flex}.schedule-card .heading-actions .secondary,.page-title .primary{justify-content:center;align-items:center;gap:0;padding:0;line-height:0;display:inline-flex}.schedule-card .heading-actions .secondary>svg,.page-title .primary>svg,.course-detail-actions button>svg{flex:none;margin:0}.reminder-page-actions{flex:none;justify-content:flex-end;align-self:flex-end;margin-left:auto}.reminder-page-actions .secondary{border-radius:12px;min-height:42px}.reminders{border-radius:20px}.reminders .setting:has(.switch:active){border-radius:16px}}@media (width<=600px){.reminder-page>.page-title{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;display:grid}.reminder-page>.page-title>div:first-child{min-width:0}.reminder-page .reminder-page-actions{justify-content:flex-end;align-self:auto;width:100%;margin:0}}.auth-callback-page{background:radial-gradient(circle at 50% -12%,#e2f3ff 0,#0000 34rem),#f4f8fd;place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-callback-card{text-align:center;background:#fff;border:1px solid #e4edf7;border-radius:20px;justify-items:center;gap:18px;width:min(420px,100%);padding:30px;display:grid;box-shadow:0 18px 48px #254b7818}.auth-callback-brand{color:#17345f;text-align:left;align-items:center;gap:10px;display:flex}.auth-callback-brand>span:last-child{gap:1px;display:grid}.auth-callback-brand b{font-size:18px}.auth-callback-brand small{color:#7186a7;font-size:12px}.auth-callback-indicator{border:3px solid #dcecff;border-top-color:#287bf5;border-radius:50%;place-items:center;width:42px;height:42px;animation:.85s linear infinite auth-callback-spin;display:grid}.auth-callback-indicator.failed{color:#c94355;background:#fff0f1;border:0;animation:none}.auth-callback-card h1{color:#17345f;margin:0;font-size:21px}.auth-callback-card p{color:#667d9f;margin:7px 0 0;line-height:1.65}.auth-callback-card .primary{min-height:42px;padding:10px 18px}@keyframes auth-callback-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-callback-indicator{animation-duration:2.2s}}
