@import"https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&display=swap";:root{font-family:Inter Tight,Arial Narrow,Inter,Arial,sans-serif;color:#f3f5f5;background:#000;font-synthesis:none;text-rendering:optimizeLegibility;--black: #000000;--deep: #070707;--canvas: #141414;--surface: #1b1b1c;--surface-2: #202123;--block: #34424b;--block-soft: #29343b;--text: #f3f5f5;--muted: #aeb5bb;--dim: #6e777e;--line: #303236;--line-strong: #464b4e;--teal: #09d6b2;--pink: #f51f6a;--orange: #ff7046;--yellow: #f5c451;--danger: #ff5579;--radius: 8px;--ease: .16s ease}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%;width:100%}body{min-height:100vh;background:var(--black);color:var(--text)}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}input,textarea,select{color:var(--text);background:#0c0c0d;border:1px solid var(--line);border-radius:5px;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 2px #09d6b229}input::placeholder,textarea::placeholder{color:#687077}textarea{resize:vertical}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{min-height:100vh;display:flex;background:var(--canvas)}.sidebar{width:234px;flex:0 0 234px;background:#020202;border-right:1px solid #222426;display:flex;flex-direction:column;padding:23px 16px 16px}.brand-mark,.mobile-brand,.auth-brand{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:-.02em}.brand-glyph{width:28px;height:28px;display:inline-grid;place-items:center;background:var(--orange);color:#000;font-weight:800;border-radius:6px;font-size:18px;line-height:1}.brand-name{font-weight:600}.sidebar-rule{height:1px;background:#202224;margin:28px 8px 22px}.sidebar-nav{display:flex;flex-direction:column;gap:5px}.nav-caption,.eyebrow,.drawer-kicker{color:#697279;font-size:10px;font-weight:700;letter-spacing:.16em}.nav-caption{padding:0 12px 10px}.nav-item{display:flex;align-items:center;gap:12px;position:relative;width:100%;padding:11px 12px;background:transparent;border-radius:5px;color:#9da5ab;text-align:left;font-size:14px;transition:background var(--ease),color var(--ease)}.nav-item:hover{background:#171819;color:var(--text)}.nav-item.is-active{color:var(--text);background:#1e2021}.nav-item.is-active:before{content:"";position:absolute;left:-16px;top:7px;bottom:7px;width:3px;background:var(--orange)}.nav-item .nav-hint{margin-left:auto;color:var(--orange);font-size:12px}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:18px}.sync-mini{display:flex;align-items:center;gap:8px;padding:0 11px;color:#6f797f;font-size:11px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex:0 0 auto}.status-dot--teal{background:var(--teal);box-shadow:0 0 0 3px #09d6b21a}.status-dot--orange{background:var(--orange);box-shadow:0 0 0 3px #ff70461a}.profile-chip{display:flex;align-items:center;gap:9px;padding:9px 8px;background:#121314;border:1px solid #242729;color:var(--text);border-radius:6px;text-align:left}.profile-chip>svg{margin-left:auto;color:#6d767c}.avatar{display:inline-grid;place-items:center;border-radius:50%;background:var(--teal);color:#041714;font-weight:700}.avatar--small{width:27px;height:27px;font-size:10px}.profile-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy small{color:#788187;font-size:10px}.main-column{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--canvas)}.topbar{height:72px;flex:0 0 72px;display:flex;align-items:center;gap:24px;padding:0 34px;border-bottom:1px solid #252729;background:#0b0b0c}.mobile-brand{display:none;background:transparent;color:var(--text);padding:0}.search-wrap{width:min(430px,100%);position:relative;display:flex;align-items:center;gap:10px;padding:0 12px;height:38px;border:1px solid #2b2e31;background:#131415;border-radius:5px;color:#6b747b}.search-wrap:focus-within{border-color:#596065}.search-wrap input{width:100%;height:100%;padding:0;border:0;background:transparent;box-shadow:none;color:var(--text);font-size:13px}.search-wrap kbd{color:#666f75;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:20;padding:6px;background:#171819;border:1px solid #363a3d;border-radius:6px;box-shadow:0 18px 40px #0006}.search-results button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;color:var(--text);text-align:left;background:transparent;border-radius:4px}.search-results button:hover{background:#242729}.search-results button>span:nth-child(2){display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.search-results strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-results small{color:#80898f;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-type{flex:0 0 47px;color:var(--teal);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.type-task{color:var(--orange)}.type-teams{color:var(--pink)}.type-note{color:var(--yellow)}.type-lesson{color:var(--teal)}.topbar-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;background:transparent;color:#aeb5b9;border-radius:5px;transition:background var(--ease),color var(--ease)}.icon-button:hover{background:#222426;color:var(--text)}.notification-button{position:relative}.notification-count{position:absolute;right:1px;top:1px;min-width:15px;height:15px;padding:0 4px;display:grid;place-items:center;border-radius:20px;color:#080808;background:var(--orange);font-size:9px;font-weight:700}.desktop-avatar{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--pink);color:#16040a;font-size:10px;font-weight:800}.content-scroll{overflow:auto;flex:1}.page-stack{max-width:1550px;margin:0 auto;padding:34px 36px 60px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading h1,.schedule-toolbar h1{margin:7px 0 4px;font-size:clamp(28px,3vw,42px);line-height:.98;letter-spacing:-.045em;font-weight:600}.page-heading p:not(.eyebrow),.schedule-subtitle{margin:0;color:#8f999f;font-size:14px}.page-heading--today h1{color:var(--text)}.primary-button,.secondary-button,.danger-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:5px;font-size:12px;font-weight:600;transition:transform var(--ease),background var(--ease),border-color var(--ease)}.primary-button{background:var(--orange);color:#160904}.primary-button:hover{background:#ff8966;transform:translateY(-1px)}.secondary-button{background:transparent;color:var(--text);border:1px solid #474c50}.secondary-button:hover{background:#262a2c;border-color:#6a7378}.danger-button{background:var(--pink);color:#17050b}.danger-button:hover{background:#ff4d8b}.text-button{display:inline-flex;align-items:center;gap:4px;padding:0;background:transparent;color:#9da7ac;font-size:11px}.text-button:hover{color:var(--text)}.ghost-danger{display:inline-flex;align-items:center;gap:7px;padding:0;background:transparent;color:#d36a79;font-size:12px}.ghost-danger:hover{color:#ff8ba0}.schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.schedule-panel,.side-panel,.focus-panel,.today-schedule-preview{background:#0d0e0f;border:1px solid #282b2e;border-radius:var(--radius)}.schedule-panel{min-width:0;overflow:hidden}.schedule-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:25px 27px 19px}.schedule-toolbar h1{font-size:clamp(25px,3vw,37px)}.eyebrow{margin:0}.schedule-controls{display:flex;align-items:center;gap:14px}.segmented{display:flex;background:#1a1c1e;border:1px solid #303437;border-radius:4px;padding:3px}.segmented button{padding:7px 12px;color:#7d878d;background:transparent;border-radius:3px;font-size:11px}.segmented button.is-selected{color:#050505;background:var(--orange);font-weight:700}.date-controls{display:flex;align-items:center;gap:3px}.today-button{padding:7px 10px;color:var(--muted);background:transparent;font-size:11px}.today-button:hover{color:var(--text)}.week-strip{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #25282b;border-bottom:1px solid #25282b}.week-strip button{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px;color:#788288;background:#101112;text-transform:uppercase;font-size:10px;letter-spacing:.08em}.week-strip button strong{color:var(--muted);font-size:15px;letter-spacing:0}.week-strip button.is-active{color:var(--orange);background:#1d1715}.week-strip button.is-active strong{color:var(--orange)}.sync-line{display:flex;align-items:center;gap:8px;padding:12px 27px 13px;color:#747e84;font-size:10px;border-bottom:1px solid #25282a}.sync-line-separator{color:#454b4f}.sync-line button{padding:0;color:#b6bfc2;background:transparent;font-size:10px;text-decoration:underline;text-underline-offset:3px}.sync-line button:hover{color:var(--teal)}.day-timeline{display:grid;grid-template-columns:73px minmax(0,1fr);min-height:565px;padding:17px 23px 26px 0;background:#151617}.time-axis,.week-time-axis{display:grid;grid-template-rows:repeat(15,1fr);min-height:565px;color:#9ca5aa;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right;padding-right:14px}.time-axis span,.week-time-axis span{align-self:start;transform:translateY(-6px)}.timeline-track{position:relative;min-height:565px;border-left:1px solid #373b3e}.track-lines,.week-lines{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:repeat(15,1fr);pointer-events:none}.track-lines span,.week-lines span{border-top:1px solid #303336}.track-lines span:last-child,.week-lines span:last-child{border-bottom:1px solid #303336}.lesson-block{position:absolute;top:var(--lesson-top);height:var(--lesson-height);left:8px;right:8px;z-index:2;display:flex;align-items:flex-start;gap:8px;overflow:hidden;padding:11px 12px;color:var(--text);background:var(--block);border:2px solid var(--lesson-accent);border-radius:6px;text-align:left;transition:filter var(--ease),transform var(--ease),box-shadow var(--ease)}.lesson-block:hover{filter:brightness(1.12);transform:translate(2px);box-shadow:5px 0 #0003}.lesson-rail{width:5px;min-width:5px;height:100%;border-radius:4px;background:#e1ebee8c}.lesson-content{display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}.lesson-content strong{font-size:15px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-content>span{color:#d1d7da;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-content small{display:flex;align-items:center;gap:8px;color:#acb7bb;font-size:10px}.lesson-content em{color:var(--orange);font-style:normal}.lesson-task-mark{position:absolute;top:7px;right:7px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#160904;font-size:10px;font-weight:800}.lesson-task-mark.is-overdue{background:var(--pink);color:#fff}.lesson-block.is-current{box-shadow:0 0 0 2px #09d6b238,inset 0 0 25px #09d6b212}.lesson-block.is-next{box-shadow:0 0 0 1px #f51f6a38}.lesson-block.is-cancelled{opacity:.55;filter:saturate(.3);text-decoration:line-through}.week-grid-scroll{overflow-x:auto;background:#151617}.week-grid{min-width:720px;display:grid;grid-template-columns:73px repeat(5,minmax(130px,1fr));grid-template-rows:59px 565px;padding-right:23px}.week-time-head{grid-column:1;grid-row:1;border-right:1px solid #313538}.week-day-head{display:flex;align-items:center;justify-content:center;gap:8px;border-left:1px solid #303336;border-bottom:1px solid #303336;color:#879096;font-size:11px;text-transform:uppercase;letter-spacing:.09em}.week-day-head strong{color:var(--muted);font-size:17px;letter-spacing:0}.week-day-head.is-current{color:var(--orange);background:#1d1715}.week-day-head.is-current strong{color:var(--orange)}.week-time-axis{grid-column:1;grid-row:2}.week-day-column{grid-row:2;position:relative;min-height:565px;border-left:1px solid #303336}.week-day-column .lesson-block{left:4px;right:4px;padding:8px 7px;gap:5px}.week-day-column .lesson-rail{width:4px;min-width:4px}.week-day-column .lesson-content strong{font-size:12px}.week-day-column .lesson-content>span,.week-day-column .lesson-content small{font-size:9px}.week-day-column .lesson-task-mark{width:15px;height:15px;font-size:9px}.schedule-skeleton{min-height:565px;display:flex;flex-direction:column;gap:13px;padding:30px 27px;background:#151617}.schedule-skeleton span{display:block;height:70px;background:linear-gradient(90deg,#202426 25%,#2a3033,#202426 65%);background-size:300% 100%;animation:shimmer 1.3s infinite;border:1px solid #343a3d;border-radius:6px}.schedule-skeleton span:nth-child(2){width:78%}.schedule-skeleton span:nth-child(3){width:89%}.schedule-skeleton span:nth-child(4){width:64%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:25px;color:#7d878d;text-align:center}.empty-state svg{color:var(--teal)}.empty-state strong{color:#d8dddf;font-size:14px}.empty-state span{max-width:280px;font-size:12px;line-height:1.45}.empty-schedule{min-height:565px;background:#151617}.schedule-side{display:flex;flex-direction:column;gap:14px}.focus-panel,.side-panel{padding:19px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.panel-heading h2{margin:5px 0 0;font-size:17px;font-weight:600;letter-spacing:-.025em}.panel-heading>svg{color:#707a80}.focus-stack{display:flex;flex-direction:column;gap:8px;margin-top:17px}.focus-lesson{position:relative;display:flex;align-items:center;gap:9px;width:100%;padding:12px 10px;color:var(--text);background:#22292d;border:1px solid #39464c;border-left:3px solid var(--teal);border-radius:5px;text-align:left}.focus-lesson:hover{background:#2a3338}.focus-lesson--pink{border-left-color:var(--pink)}.focus-label{position:absolute;top:7px;right:9px;color:#7c898e;font-size:8px;letter-spacing:.12em}.focus-lesson-main{display:flex;flex-direction:column;gap:5px;min-width:0}.focus-lesson-main strong{font-size:15px}.focus-lesson-main span{color:#a2adb2;font-size:10px}.focus-lesson>svg{margin-left:auto;color:#758188}.focus-empty{display:flex;align-items:center;gap:10px;min-height:64px;color:#798389}.focus-empty>svg{color:var(--teal)}.focus-empty>div{display:flex;flex-direction:column;gap:4px}.focus-empty strong{color:#c8ced1;font-size:12px}.focus-empty span{font-size:10px}.side-panel{padding:18px 19px}.task-list{display:flex;flex-direction:column;margin-top:13px}.task-row{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 0;border-top:1px solid #2a2d2f}.task-row:first-child{border-top:0}.check-button{width:18px;height:18px;display:grid;place-items:center;flex:0 0 auto;padding:0;background:transparent;border:1px solid #596267;border-radius:50%;color:#020202}.check-button:hover{border-color:var(--teal)}.check-button span{width:12px;height:12px;display:grid;place-items:center;border-radius:50%}.is-done .check-button{background:var(--teal);border-color:var(--teal)}.task-row-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.task-row-copy strong{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row-copy span{color:#7d888e;font-size:10px;white-space:nowrap}.task-row-copy i{color:#515a5f;font-style:normal}.due-label{flex:0 0 auto;color:var(--teal);font-size:10px;text-align:right}.due-label.is-urgent{color:var(--orange)}.due-label.is-overdue,.task-row.is-overdue .task-row-copy strong{color:var(--pink)}.task-row.is-done .task-row-copy strong{color:#7f888d;text-decoration:line-through}.task-row--dense{padding:9px 0}.compact-empty{min-height:112px;padding:18px 6px}.compact-empty svg{color:var(--teal)}.changes-panel .panel-heading{align-items:center}.live-indicator{display:inline-flex;align-items:center;gap:5px;color:var(--teal);font-size:10px}.live-indicator span{width:6px;height:6px;background:var(--teal);border-radius:50%}.change-list{margin-top:12px}.change-row{display:flex;gap:9px;padding:10px 0;border-top:1px solid #2a2d2f}.change-icon{width:25px;height:25px;display:grid;place-items:center;color:var(--pink);border:1px solid rgba(245,31,106,.45);border-radius:50%}.change-row>div{display:flex;flex-direction:column;gap:3px}.change-row strong{color:#bdc5c8;font-size:11px;line-height:1.3}.change-row span{color:#737d82;font-size:9px}.activity-list{margin-top:11px}.activity-row{display:flex;align-items:flex-start;gap:9px;width:100%;padding:10px 0;background:transparent;color:var(--text);border-top:1px solid #2a2d2f;text-align:left}.activity-row:hover .activity-copy strong{color:var(--teal)}.activity-avatar{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#39464b;color:var(--teal);font-size:10px;font-weight:700}.activity-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.activity-copy strong{color:#cdd4d6;font-size:11px}.activity-copy>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:#899398;font-size:10px;line-height:1.25}.activity-copy small{color:#5f696e;font-size:9px}.activity-row.is-unread .activity-copy strong:before{content:"";width:5px;height:5px;display:inline-block;margin:0 5px 2px 0;border-radius:50%;background:var(--pink)}.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}.today-main,.today-side{display:flex;flex-direction:column;gap:18px}.today-schedule-preview{padding:21px}.mini-lessons{display:flex;flex-direction:column;margin-top:13px}.mini-lesson{display:flex;align-items:center;gap:12px;width:100%;padding:13px 0;background:transparent;color:var(--text);border-top:1px solid #292c2f;text-align:left}.mini-lesson:hover .mini-copy strong{color:var(--teal)}.mini-time{width:43px;color:#8e999f;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.mini-dot{width:7px;height:7px;border-radius:50%}.mini-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.mini-copy strong{font-size:13px}.mini-copy span{color:#7e898f;font-size:10px}.mini-lesson>svg{color:#6b757a}.tasks-page .page-heading,.teams-page .page-heading,.settings-page .page-heading{margin-bottom:29px}.task-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #2c3032;border-radius:6px;margin-bottom:17px;background:#101112}.task-summary>div{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border-left:1px solid #2c3032}.task-summary>div:first-child{border-left:0}.task-summary span{color:#7e898f;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.task-summary strong{color:var(--teal);font-size:24px;font-weight:500}.task-summary .summary-danger strong{color:var(--pink)}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #2a2d2f}.filter-tabs{display:flex;gap:5px}.filter-tabs button{padding:8px 11px;background:transparent;color:#7f898f;border-radius:4px;font-size:11px}.filter-tabs button:hover{color:var(--text);background:#202224}.filter-tabs button.is-active{color:#050505;background:var(--orange)}.select-wrap{position:relative;display:flex;align-items:center}.select-wrap select{min-width:125px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px 28px 8px 10px;color:#acb5b9;font-size:11px}.select-wrap svg{position:absolute;right:8px;pointer-events:none;color:#6f797f}.full-task-list{max-width:900px;margin-top:8px}.full-task-list .task-row{padding:17px 7px}.full-task-list .task-row-copy strong{font-size:13px}.full-task-list .task-row-copy span,.full-task-list .due-label{font-size:11px}.page-empty{min-height:280px;border:1px dashed #363a3e;border-radius:6px;margin-top:16px}.list-skeleton{display:flex;flex-direction:column;gap:8px;margin-top:14px}.list-skeleton span{height:62px;border-radius:5px;background:#202324;animation:shimmer 1.3s infinite}.teams-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px;align-items:start}.teams-activity-list,.mapping-panel{min-height:480px}.count-label{color:var(--pink);font-size:10px}.teams-activity-item{display:flex;align-items:flex-start;gap:11px;width:100%;padding:16px 0;color:var(--text);background:transparent;border-top:1px solid #2a2d2f;text-align:left}.teams-activity-item:first-of-type{margin-top:10px}.teams-activity-item:hover{background:#ffffff06}.teams-activity-item>svg{margin-left:auto;color:#6b757a}.teams-activity-content{display:flex;flex-direction:column;gap:4px;min-width:0}.teams-meta{color:var(--teal);font-size:10px}.teams-activity-content strong{font-size:13px}.teams-activity-content p{margin:0;color:#919b9f;font-size:12px;line-height:1.45}.teams-activity-content small{color:#6f797e;font-size:10px}.teams-activity-item.is-unread .teams-activity-content strong:after{content:" NEU";margin-left:6px;color:var(--pink);font-size:9px}.panel-intro{margin:19px 0;color:#8a9499;font-size:12px;line-height:1.5}.mapping-form{display:flex;flex-direction:column;gap:12px}.mapping-form label,.task-form label{display:flex;flex-direction:column;gap:6px;color:#8c969a;font-size:11px}.mapping-form select,.task-form select,.settings-control select{padding:10px;color:var(--text);font-size:12px}.mapping-form .secondary-button{margin-top:4px}.mapping-list{display:flex;flex-direction:column;gap:7px;margin-top:22px}.mapping-row{display:flex;align-items:center;gap:7px;padding:9px 10px;color:#b9c1c4;background:#17191a;border-left:2px solid var(--teal);font-size:11px}.mapping-row svg{color:#626d72}.mapping-subject{color:var(--teal)}.permission-note{display:flex;gap:8px;margin-top:25px;padding-top:17px;border-top:1px solid #2c2f31;color:#6f797e;font-size:10px;line-height:1.45}.permission-note svg{flex:0 0 auto;color:var(--orange)}.settings-layout{max-width:960px;display:flex;flex-direction:column;gap:18px}.settings-section{padding:22px;background:#0e0f10;border:1px solid #2a2d30;border-radius:7px}.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.settings-section-heading h2{margin:0 0 5px;font-size:17px;font-weight:600}.settings-section-heading p{margin:0;color:#7d878d;font-size:11px;line-height:1.45}.settings-section-heading>svg{color:#69737a}.service-card{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid #2a2d30}.service-icon{width:35px;height:35px;display:grid;place-items:center;color:var(--teal);border:1px solid #3b474a;border-radius:5px}.service-copy{flex:1;min-width:0}.service-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.service-title strong{font-size:13px}.service-copy p{margin:4px 0 5px;color:#8c969a;font-size:11px}.service-copy small{color:#6d777d;font-size:10px}.connection-state{display:inline-flex;align-items:center;gap:5px;color:#747e84;font-size:10px}.connection-state span{width:6px;height:6px;border-radius:50%;background:#717b80}.connection-state.is-connected{color:var(--teal)}.connection-state.is-connected span{background:var(--teal)}.connection-state.is-demo{color:var(--orange)}.connection-state.is-demo span{background:var(--orange)}.connection-state.is-error{color:var(--pink)}.connection-state.is-error span{background:var(--pink)}.error-copy{display:block;color:var(--pink)!important;margin-top:3px}.settings-control{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid #2a2d30}.settings-control>span{display:flex;flex-direction:column;gap:4px}.settings-control strong{color:#c5cccf;font-size:12px}.settings-control small{color:#747e84;font-size:10px}.settings-control select{min-width:175px}.settings-toggle{border-bottom:0}.toggle{width:38px;height:22px;padding:3px;background:#34393c;border-radius:99px}.toggle span{display:block;width:16px;height:16px;background:#a8b0b3;border-radius:50%;transition:transform var(--ease),background var(--ease)}.toggle.is-on{background:var(--teal)}.toggle.is-on span{background:#061814;transform:translate(16px)}.account-actions{display:flex;align-items:center;gap:18px;padding-top:14px;border-top:1px solid #2a2d30}.delete-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:#b8c0c3;font-size:11px}.delete-confirm .text-button{margin-left:4px}.drawer-backdrop,.popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:#000000a1;animation:fade-in .16s ease}.lesson-drawer,.notifications-popover{width:min(450px,100%);height:100%;overflow-y:auto;padding:28px;background:#111213;border-left:1px solid #3a3e41;box-shadow:-20px 0 60px #00000040;animation:slide-in .19s ease}.drawer-top,.popover-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.drawer-top h2,.popover-heading h2{margin:8px 0 4px;font-size:27px;letter-spacing:-.045em}.drawer-top p{margin:0;color:#899398;font-size:11px;line-height:1.4}.drawer-kicker{color:var(--teal)}.lesson-status-banner{display:flex;align-items:center;gap:8px;margin:20px 0 -3px;padding:11px 12px;border:1px solid #3d4346;color:#d0d6d8;background:#1b2427;font-size:11px}.lesson-status-banner.is-cancelled{color:var(--pink)}.lesson-status-banner.is-substitution{color:var(--orange)}.task-form{display:flex;flex-direction:column;gap:14px;margin-top:25px}.form-section-title{color:#cdd3d5;font-size:13px;font-weight:600;padding-bottom:4px;border-bottom:1px solid #2a2d30}.task-form input,.task-form textarea{width:100%;padding:11px;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.label-muted{color:#606b70;font-size:10px}.form-submit{width:100%;margin-top:5px}.notifications-popover{width:min(395px,100%);padding:23px}.popover-heading h2{font-size:21px}.notification-list{margin-top:18px}.notification-row{display:flex;align-items:flex-start;gap:10px;width:100%;padding:13px 0;background:transparent;color:var(--text);border-top:1px solid #2b2e30;text-align:left}.notification-row>span:last-child{display:flex;flex-direction:column;gap:4px}.notification-row strong{color:#cbd1d3;font-size:12px}.notification-row small{color:#818b90;font-size:10px;line-height:1.35}.notification-icon{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;color:var(--orange);border:1px solid rgba(255,112,70,.4);border-radius:50%}.notification-row.is-danger .notification-icon{color:var(--pink);border-color:#f51f6a73}.notification-row.is-success .notification-icon{color:var(--teal);border-color:#09d6b273}.notification-row.is-unread strong{color:var(--text)}.popover-footer{width:100%;justify-content:center;margin-top:20px;padding-top:15px;border-top:1px solid #2a2d30}.toast{position:fixed;z-index:80;right:24px;bottom:24px;display:flex;align-items:center;gap:9px;max-width:min(420px,calc(100% - 32px));padding:12px 13px;color:#d9dfe1;background:#202426;border:1px solid #464d51;border-left:3px solid var(--teal);border-radius:5px;box-shadow:0 10px 30px #0006;font-size:12px;animation:toast-in .18s ease}.toast--success{border-left-color:var(--teal)}.toast--error{border-left-color:var(--pink)}.toast>svg{color:var(--teal);flex:0 0 auto}.toast--error>svg{color:var(--pink)}.toast button{margin-left:auto;display:grid;place-items:center;color:#899297;background:transparent}.boot-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#8b959a;background:#000;font-size:12px}.boot-screen .brand-glyph{margin-right:4px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(18px);opacity:.5}to{transform:translate(0);opacity:1}}@keyframes toast-in{0%{transform:translateY(7px);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-nav{display:none}.auth-screen{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.88fr) minmax(420px,1.12fr);background:#000}.auth-aside{position:relative;display:flex;flex-direction:column;padding:36px 7vw 32px;background:#080909;border-right:1px solid #242729}.auth-brand strong{font-size:17px}.auth-aside-copy{max-width:420px;margin:auto 0}.auth-line{display:block;width:40px;height:3px;margin-bottom:27px;background:var(--orange)}.auth-aside-copy h1{margin:0;color:#eef1f1;font-size:clamp(38px,5vw,68px);line-height:.93;letter-spacing:-.07em;font-weight:600}.auth-aside-copy h1 em{color:var(--teal);font-style:normal}.auth-aside-copy p{max-width:350px;margin:24px 0 0;color:#8b969b;font-size:14px;line-height:1.5}.auth-signal{display:flex;align-items:center;gap:9px;margin-top:46px;color:#737e84;font-size:11px}.auth-footer{margin-top:auto;color:#4e585d;font-size:9px;letter-spacing:.12em}.auth-panel{display:grid;place-items:center;padding:45px 7vw;background:#111213}.auth-panel-inner{width:min(370px,100%)}.auth-mobile-logo{display:none}.auth-title h2{margin:8px 0 7px;font-size:29px;letter-spacing:-.05em;font-weight:600}.auth-title>p:last-child{margin:0;color:#899398;font-size:12px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:28px 0 20px;padding:4px;background:#1a1c1d;border:1px solid #303437;border-radius:5px}.auth-tabs button{padding:9px;color:#788389;background:transparent;border-radius:3px;font-size:11px}.auth-tabs button.is-active{color:#060606;background:var(--orange);font-weight:700}.auth-form{display:flex;flex-direction:column;gap:15px}.auth-form label{display:flex;flex-direction:column;gap:7px;color:#a0aaae;font-size:11px}.auth-form input{padding:12px;font-size:12px}.auth-submit{width:100%;margin-top:2px}.form-error{display:flex;align-items:center;gap:7px;padding:10px;color:#ff8ca4;background:#f51f6a1a;border:1px solid rgba(245,31,106,.35);border-radius:4px;font-size:11px}.demo-button{display:flex;align-items:center;gap:8px;width:100%;margin-top:14px;padding:11px;color:#aeb7ba;background:transparent;border:1px solid #3e4548;border-radius:5px;font-size:11px}.demo-button:hover{color:var(--teal);border-color:var(--teal)}.demo-dot{width:7px;height:7px;background:var(--teal);border-radius:50%}.demo-button small{margin-left:auto;color:#626d72;font-size:9px}.auth-privacy{margin:25px 0 0;color:#626d72;font-size:9px;line-height:1.5;text-align:center}@media(max-width:1100px){.schedule-layout,.today-grid{grid-template-columns:minmax(0,1fr) 290px;gap:14px}.sidebar{width:205px;flex-basis:205px}.topbar,.page-stack{padding-inline:24px}.schedule-toolbar{flex-direction:column;align-items:flex-start}.schedule-controls{width:100%;justify-content:space-between}}@media(max-width:820px){.app-shell{display:block;padding-bottom:65px}.sidebar{display:none}.main-column{min-height:calc(100vh - 65px)}.topbar{height:61px;flex-basis:61px;padding:0 16px;gap:12px}.mobile-brand{display:flex;font-size:15px}.mobile-brand .brand-glyph{width:25px;height:25px;font-size:16px}.search-wrap{flex:1;height:34px;padding-inline:9px}.search-wrap kbd,.desktop-avatar{display:none}.topbar-actions{margin-left:0}.content-scroll{max-height:none;overflow:visible}.page-stack{padding:22px 15px 32px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:22px}.page-heading h1,.schedule-toolbar h1{font-size:31px}.page-heading .primary-button,.page-heading .secondary-button{width:100%}.schedule-layout,.today-grid,.teams-grid{display:flex;flex-direction:column}.schedule-side,.today-side,.schedule-panel{width:100%}.schedule-toolbar{padding:20px 16px 16px}.schedule-subtitle{max-width:300px;line-height:1.4}.sync-line{padding-inline:16px}.day-timeline{grid-template-columns:58px minmax(0,1fr);padding-right:12px}.time-axis{padding-right:10px}.lesson-block{left:6px;right:6px;padding:9px}.lesson-content strong{font-size:13px}.lesson-content>span{font-size:10px}.lesson-content small{font-size:9px}.schedule-side .side-panel,.schedule-side .focus-panel{padding:16px}.today-schedule-preview{padding:17px}.today-schedule-preview .panel-heading{align-items:center}.today-schedule-preview .text-button{white-space:nowrap}.today-page .focus-panel{padding:17px}.task-summary>div{padding:13px}.filter-bar{align-items:flex-start;flex-direction:column}.filter-tabs{width:100%;overflow-x:auto}.select-wrap,.select-wrap select{width:100%}.teams-activity-list,.mapping-panel{min-height:auto}.settings-section{padding:17px}.service-card{align-items:flex-start;flex-wrap:wrap}.service-copy{min-width:calc(100% - 50px)}.service-card>.secondary-button,.service-card>a{margin-left:48px}.mobile-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);height:65px;padding:7px 4px max(7px,env(safe-area-inset-bottom));background:#000;border-top:1px solid #292c2f}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#818b90;background:transparent;font-size:9px}.mobile-nav-item.is-active{color:var(--orange)}.mobile-nav-item.is-active svg{filter:drop-shadow(0 0 5px rgba(255,112,70,.35))}.notifications-popover,.lesson-drawer{width:100%}.auth-screen{display:block}.auth-aside{display:none}.auth-panel{min-height:100vh;padding:30px 24px}.auth-mobile-logo{display:flex;align-items:center;gap:9px;margin-bottom:54px}.auth-mobile-logo strong{font-size:16px}}@media(max-width:430px){.search-wrap input{font-size:11px}.topbar-actions .icon-button{width:30px}.week-strip button{padding:9px 4px;gap:4px;font-size:9px}.week-strip button strong{font-size:14px}.form-grid{grid-template-columns:1fr}.drawer-top h2{font-size:24px}.lesson-block{padding:8px 7px}.lesson-rail{width:4px;min-width:4px}.lesson-content strong{font-size:12px}.lesson-content>span{font-size:9px}.lesson-content small{font-size:8px}.lesson-task-mark{width:16px;height:16px;font-size:9px}.page-heading h1{font-size:29px}}.service-config{border-top:1px solid #2a2d30;padding:13px 0 5px}.service-config summary{cursor:pointer;color:#9ba5a9;font-size:11px;list-style-position:inside}.service-config summary:hover{color:var(--teal)}.service-config-form{display:flex;flex-direction:column;gap:12px;padding:16px 0 6px 48px}.service-config-form input{width:100%;padding:10px;font-size:11px}.service-config-form .secondary-button{align-self:flex-start}.service-config>.secondary-button{margin:12px 0 6px 48px}.import-copy{max-width:530px;margin:12px 0 10px 48px;color:#747e84;font-size:10px;line-height:1.45}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.service-config-note{max-width:650px;margin:12px 0 0 48px;color:#8b959a;font-size:10px;line-height:1.5}.setup-banner{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:14px 16px;background:#172022;border:1px solid #31514e;border-left:3px solid var(--teal);border-radius:6px}.setup-banner-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;color:var(--teal);border:1px solid #3a7068;border-radius:5px}.setup-banner>div:nth-child(2){flex:1;min-width:0}.setup-banner strong{color:#e1e6e7;font-size:12px}.setup-banner p{margin:4px 0 0;color:#91a0a2;font-size:10px;line-height:1.45}.setup-banner .secondary-button{flex:0 0 auto;white-space:nowrap}@media(max-width:820px){.setup-banner{align-items:flex-start;flex-wrap:wrap}.setup-banner>.secondary-button{width:100%}}.local-storage-card,.local-service-card{display:flex;align-items:center;gap:13px;padding:15px 0;border-top:1px solid #2a2d30}.local-storage-card .service-copy,.local-service-card .service-copy{flex:1;min-width:0}.local-storage-card .service-copy>strong,.local-service-card .service-copy>strong{color:#dce2e3;font-size:13px}.local-storage-card .service-copy p,.local-service-card .service-copy p{margin:4px 0 5px;color:#8c969a;font-size:11px}.local-storage-card .service-copy small,.local-service-card .service-copy small{color:#6d777d;font-size:10px;line-height:1.45}.local-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 2px 48px}.local-warning{display:flex;align-items:flex-start;gap:8px;margin:17px 0 0 48px;padding-top:14px;border-top:1px solid #2a2d30;color:#747f84;font-size:10px;line-height:1.5}.local-warning svg{flex:0 0 auto;color:var(--orange)}.local-service-card+.file-input+.secondary-button{margin:12px 0 6px 48px}@media(max-width:820px){.local-storage-card,.local-service-card{align-items:flex-start;flex-wrap:wrap}.local-storage-card .connection-state,.local-service-card .connection-state{margin-left:48px}.local-actions,.local-warning,.local-service-card+.file-input+.secondary-button{margin-left:0}.local-actions .secondary-button{flex:1 1 180px}}
