/* SchoolOS 10 – unified native-feeling visual layer. No external runtime dependencies. */
:root{color-scheme:light;--bg:#f3f4fa;--ink:#20243b;--muted:#737991;--line:#e5e7f2;--border:#e7e9f4;--soft:#eceefa;--accent:#6656d9;--accent-deep:#5040bb;--accent-soft:#efedff;--school-blue:#6656d9;--school-blue-dark:#5040bb;--nav-bg:#f9f9ff;--surface:#fff;--glass:rgba(255,255,255,.79);--shadow:0 12px 38px rgba(44,42,100,.065),0 2px 8px rgba(44,42,100,.035);--success:#1b9168;--danger:#cf4b60;--warning:#bd7a22;--info:#506bdf;--radius:23px;--tap:150ms;--transition:250ms}
html{color-scheme:light;scroll-behavior:smooth}body{background:radial-gradient(ellipse at 83% 0%,#eae7ff 0,transparent 45%),var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent}body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text',system-ui,sans-serif}button,input,textarea,select{font-size:max(16px,1em)}button,a,[role=button]{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #998cf2!important;outline-offset:3px}::selection{background:#dcd6ff}
.shell{min-height:100dvh}.sidebar{width:248px;flex-basis:248px;background:rgba(249,249,255,.91);border-right:1px solid #e4e3f4;box-shadow:none;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.brand{padding:26px 18px 20px;min-height:90px}.brand-mark{width:48px;height:48px;border-radius:17px!important;background:linear-gradient(135deg,#8b7afa,#5140bf)!important;box-shadow:0 9px 22px #7164c83d;color:white}.brand-mark span{color:#ddd8ff}.brand-label{color:#2a2845}.brand-label>span{color:#6357ad}.brand-label small{color:#8985ab}.sidebar nav{padding:4px 13px 20px;scrollbar-width:thin}.nav-group{margin:6px 0 15px}.nav-group-label{font-size:10px;letter-spacing:1.65px;color:#9392ae;padding:14px 13px 5px}.sidebar .nav-link{min-height:46px;border:0;color:#62627d;font-size:13px;font-weight:670;letter-spacing:-.1px;border-radius:14px;padding:11px 13px;transition:background var(--transition),color var(--transition),transform var(--tap)}.sidebar .nav-link:hover{background:#f0edff;color:#4c429c}.sidebar .nav-link.active{background:linear-gradient(115deg,#ebe8ff,#f4f1ff);color:#5747bb;box-shadow:inset 0 0 0 1px #e0dafd}.sidebar .nav-link.active .nav-symbol{color:#6758d7}.sidebar .nav-symbol{color:#9692ba;font-size:20px}.sidebar-footer{background:transparent;color:#8586a1;border-top:1px solid #e8e7f4}.sidebar .collapse,.sidebar .icon-button{color:#746c9f}.sidebar .icon-button:hover{background:#e9e6fb}.sidebar .offline-dot{background:var(--success);box-shadow:0 0 0 3px #d9f3e9}
.topbar{height:76px;background:var(--glass);border-bottom:1px solid rgba(223,222,240,.75);box-shadow:none;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);padding:0 clamp(18px,3vw,45px);z-index:20}.breadcrumbs{font-size:13px;font-weight:720;color:#77718f;letter-spacing:0}.top-actions{gap:9px}.icon-button{border-radius:14px;color:var(--accent-deep);min-width:44px;min-height:44px}.top-search,.top-plus{border-radius:16px;width:45px;min-width:45px;height:45px;box-shadow:0 2px 8px #3930660b}.top-search{background:rgba(255,255,255,.9);border:1px solid #dedbf2;color:var(--accent-deep)}.top-plus{background:linear-gradient(135deg,#7766ed,#5a49c6)!important;border:0!important;color:#fff;box-shadow:0 8px 18px #6a5ad036}.body-area{min-width:0}.body-area main{max-width:1500px;padding:clamp(23px,3vw,43px) clamp(16px,3vw,46px) 110px}.section-head{align-items:center;margin-bottom:22px}.section-head h1{font-size:clamp(29px,3.2vw,43px);letter-spacing:-1.8px;line-height:1.1;color:#25233b;font-weight:790}.section-head p{display:none!important}.section-head .head-actions{gap:8px}
.card,.stat{border:1px solid rgba(221,222,238,.8);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink)}.card{padding:clamp(17px,2vw,26px)}.card h2{color:#292640;font-size:16px;font-weight:770;letter-spacing:-.4px}.stat{padding:22px}.stat strong{color:#302a63}.stat small,.stat span,.muted{color:var(--muted)}.button{min-height:42px;border:1px solid #e2e0f1;border-radius:13px;background:#fff;color:#504b73;font-size:13px;font-weight:710;padding:10px 15px;transition:transform var(--tap),background var(--tap),box-shadow var(--tap)}.button:hover{background:#f3f1ff}.button:active,.icon-button:active,.nav-link:active,.subject-tile:active,.lesson-pill:active,.day-tab:active,.filter:active{transform:scale(.965)}.button-dark{background:linear-gradient(135deg,#7666e8,#5a49c5)!important;border-color:transparent!important;color:white!important;box-shadow:0 6px 16px #6758cc2a}.button-dark:hover{background:linear-gradient(135deg,#6c5bdb,#5040b8)!important}.button-danger{color:var(--danger);border-color:#f0cfd6}.button-small{min-height:36px;padding:7px 12px}.grid,.next-grid{gap:15px}.next-grid{margin:14px 0}.next-welcome{background:linear-gradient(122deg,#6454d1,#9b8af0)!important;border-radius:26px;padding:27px 30px;box-shadow:0 13px 34px #6858c332}.next-welcome h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.8px}.next-welcome .next-eyebrow{color:#e8e4ff}.next-welcome .button{color:#5c4dc1}
#main.view-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;align-items:stretch}#main.view-dashboard .dashboard-grid>.card:first-child{background:linear-gradient(140deg,#f0edff,#ffffff 70%);border-color:#e1ddfa}#main.view-dashboard .dashboard-grid>.card:nth-child(3){grid-column:1/-1}#main.view-dashboard .dashboard-grid>.card{margin:0}#main.view-dashboard .next-grid .card,#main.view-dashboard .next-grid .stat{position:relative;overflow:hidden}.next-stat{color:var(--accent-deep)}.next-line,.kpi-line,.task-row,.list-item{border-color:#f0eff7}.kpi-line{min-height:55px}.kpi-line .item-body{min-width:0}.tag{border-radius:999px;background:#f5f3ff;border-color:#e9e5fc;color:#6a60a1}.tag.good{background:#e7f7ef;color:#167d59;border-color:#c5e9d7}.tag.bad,.tag.urgent{background:#fff0ef;color:#a53d50;border-color:#f5d0d4}.empty{border:1px dashed #e0dff0;border-radius:17px;background:#fafaff;color:var(--muted);padding:23px}.empty strong{color:var(--ink)}
.subject-tile{min-height:155px;position:relative;overflow:hidden;transition:transform var(--tap),box-shadow var(--transition)}.subject-tile:before{display:block!important;top:0;left:0;right:auto;width:100%;height:5px;border-radius:0;background:var(--subject,#7568d8)}.subject-tile:hover{transform:translateY(-2px);box-shadow:0 15px 32px #3c306f18}.subject-square{border-radius:17px}.tabs{border:0;gap:7px;padding:5px 0 12px}.tab,.filter,.day-tab{border:1px solid transparent!important;background:#f0eef9;color:#6b668b;border-radius:13px;padding:10px 15px;font-weight:690;transition:transform var(--tap),background var(--transition)}.tab.active,.filter.active,.day-tab.selected{background:#e5dfff!important;color:#5744b9!important;border-color:#d8cffb!important}.subject-organized{border-bottom:0}.subject-tab-group{background:#f5f4fb;border:1px solid #eae8f5;border-radius:17px;padding:6px}.subject-tab-group .tab.active{background:#e3ddff;color:#5442b5}.subject-tab-label{color:#928cab}
.schedule-wrap{border:1px solid #e6e3f1;border-radius:22px;box-shadow:var(--shadow)}.day-head{background:#f7f5ff;border-color:#ece9f5;color:#5d557f}.day-head.today{background:var(--accent)!important;color:#fff}.period-cell,.lesson-cell{border-color:#efedf6}.period-cell strong{color:var(--ink)}.lesson-pill{border-left-width:4px;border-radius:13px;transition:transform var(--tap),box-shadow var(--transition)}.lesson-pill:hover{box-shadow:0 4px 14px #3b2f771a}.ghost-add{border-radius:13px}.tick{width:28px;height:28px;border:2px solid #aaa1d5;border-radius:10px;background:#fff;transition:transform var(--tap),background var(--transition)}.tick.checked{background:var(--success)!important;border-color:var(--success)!important}.tick.checked:after{content:'✓';color:white;font-size:17px}.tick:active{transform:scale(.85)}
.field label{font-size:13px;color:#5d5975}.field input,.field textarea,.field select,.modal input,.modal textarea,.modal select,.chat-bottom textarea{border:1px solid #dedced;background:#fff;border-radius:14px;min-height:46px;padding:12px 14px;color:var(--ink);font-size:16px!important}.field input:focus,.field textarea:focus,.field select:focus{border-color:#9588e9;box-shadow:0 0 0 3px #ece9ff;outline:0!important}.notice{background:#f5f3ff;border-radius:15px;color:#6b648e}.overlay{background:#19122e72;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.modal{background:var(--surface);border:1px solid #e5e1f4;border-radius:27px;padding:clamp(18px,2.5vw,28px);box-shadow:0 25px 75px #1d164d40;animation:os10-sheet-in 260ms cubic-bezier(.2,.8,.2,1)}.modal-head h2{color:var(--ink);font-size:22px}.modal-actions{gap:10px}.formula,.quiz-answer{background:#f4f1ff;border-radius:17px;border-color:#e3ddff}.progress-thumb{background:var(--accent)}.grade-big{color:var(--accent-deep)}.grade-circle{border-radius:17px}.chat-shell{max-width:860px;min-height:min(68vh,720px);border-radius:26px}.chat-history{scrollbar-width:thin}.chat-bubble{border-radius:20px;background:#f1f0f8;color:var(--ink);font-size:15px;line-height:1.5}.chat-bubble.mine{background:#e7e2ff}.chat-bottom textarea{border-radius:18px}.chat-bottom button{border-radius:16px}.chat-intro{color:#8b84a5}.chat-settings{color:#7d749c}#toast{background:#282344;border:1px solid #51497b;border-radius:17px;box-shadow:0 15px 38px #18133435;bottom:calc(24px + env(safe-area-inset-bottom));z-index:80}.success{color:var(--success)}.warning{color:var(--warning)}
.os10-bottom-nav{display:none}.os10-back{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;border:0;border-radius:14px;background:#f0edff;color:var(--accent-deep);font-size:23px;font-weight:600;cursor:pointer}.os10-scrim{display:none}.os10-appear{animation:os10-appear 250ms ease-out both}@keyframes os10-appear{from{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes os10-sheet-in{from{opacity:.5;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:761px) and (max-width:1100px){.sidebar{width:208px;flex-basis:208px}.brand-label{font-size:18px}.sidebar .nav-link{padding:10px 9px}.body-area main{padding:25px 23px 100px}}
@media(max-width:760px){.sidebar{position:fixed;width:min(310px,85vw)!important;max-width:85vw;height:100dvh;transform:translateX(-105%);z-index:36;border-radius:0 25px 25px 0;box-shadow:0 22px 55px #28204129}.sidebar.mobile-visible{transform:translateX(0)}.sidebar.collapsed{width:min(310px,85vw)!important}.sidebar.mobile-visible~*{}.os10-scrim.visible{display:block;position:fixed;inset:0;background:#211c3a6e;z-index:35}.topbar{height:64px!important;padding:0 14px!important}.top-search,.top-plus{width:43px;min-width:43px;height:43px}.breadcrumbs{font-size:13px!important}.body-area main{padding:23px 15px calc(110px + env(safe-area-inset-bottom))!important}.section-head h1{font-size:clamp(29px,8vw,36px)}.section-head{gap:10px}.section-head .head-actions{width:100%}.section-head .head-actions .button{flex:1}.grid.two,.grid.three,.grid.four,.next-grid,.next-grid.two,#main.view-dashboard .dashboard-grid{grid-template-columns:minmax(0,1fr)!important}#main.view-dashboard .dashboard-grid>.card:nth-child(3){grid-column:auto}.card{padding:19px!important;border-radius:22px}.next-welcome{padding:21px!important;border-radius:23px}.next-welcome h2{font-size:24px}.next-grid{gap:12px}.modal{width:100%;max-width:100%;max-height:min(91dvh,900px);border-radius:27px 27px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));margin-top:auto}.overlay{padding:0;align-items:flex-end}.os10-bottom-nav{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;right:12px;z-index:24;display:flex;justify-content:space-around;align-items:center;padding:7px;min-height:67px;border:1px solid #ffffffbb;border-radius:23px;background:rgba(255,255,255,.88);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);box-shadow:0 10px 36px #342c6b26}.os10-bottom-nav button{border:0;background:transparent;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:51px;min-width:56px;color:#77718f;font-size:10px;font-weight:730;padding:5px 8px}.os10-bottom-nav button .os10-icon{font-size:21px;line-height:1}.os10-bottom-nav button[aria-current=page]{background:#eeeaff;color:#5e4ac6}.os10-bottom-nav button:active{transform:scale(.94)}#toast{bottom:calc(91px + env(safe-area-inset-bottom));left:15px;right:15px;max-width:none;text-align:center}.chat-shell{min-height:calc(65dvh - 70px)}.chat-history{max-height:52dvh}.week-toolbar{gap:8px}.week-picker strong{min-width:0}.subject-tab-group{max-width:100%;overflow-x:auto;flex-wrap:nowrap}.subject-tab-label{display:none}.subject-organized{flex-wrap:nowrap;overflow-x:auto}.kpi-line{flex-wrap:wrap}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#10101a;--ink:#f2f0ff;--muted:#aaa7bd;--line:#353244;--border:#343044;--soft:#22202f;--surface:#201e2c;--glass:rgba(29,27,42,.84);--nav-bg:#1a1827;--accent-soft:#322a50;--shadow:0 10px 30px #0003}body{background:radial-gradient(ellipse at 85% 0%,#282043,transparent 48%),var(--bg);color:var(--ink)}.sidebar{background:#1c1a2a;border-color:#302d40}.brand-label,.section-head h1,.card h2,.period-cell strong,.empty strong,.modal-head h2,.stat strong{color:var(--ink)}.brand-label>span{color:#b2a5ff}.brand-label small,.nav-group-label{color:#aaa4c2}.sidebar .nav-link{color:#c1bbd2}.sidebar .nav-link.active{background:#332b50;color:#d9d1ff;box-shadow:inset 0 0 0 1px #4a3b73}.sidebar .nav-link.active .nav-symbol{color:#b9a8ff}.sidebar .nav-link:hover{background:#29243c;color:#e3dcff}.sidebar-footer{border-color:#302d40}.topbar{background:var(--glass);border-color:#353044}.breadcrumbs{color:#b3acc8}.card,.stat,.modal,.schedule-wrap{background:var(--surface);border-color:#363247}.card,.stat{color:var(--ink)}.next-welcome{background:linear-gradient(120deg,#3f327c,#6651af)!important}.button,.field input,.field textarea,.field select,.modal input,.modal textarea,.modal select,.chat-bottom textarea,.top-search{background:#2b283b;color:var(--ink);border-color:#48425f}.button:hover{background:#36304d}.tab,.filter,.day-tab,.subject-tab-group,.empty,.notice,.tag,.formula,.quiz-answer{background:#2d293e;color:#c9c1e4;border-color:#443d5d}.tab.active,.filter.active,.day-tab.selected{background:#463769!important;color:#e7ddff!important;border-color:#63518b!important}.next-line,.kpi-line,.task-row,.list-item{border-color:#353044}.day-head{background:#2a263b;border-color:#39334a;color:#d5ccec}.period-cell,.lesson-cell{border-color:#383346}.tick{background:#292538}.chat-bubble{background:#2f2d3c}.chat-bubble.mine{background:#433762}.chat-intro{color:#b2aac7}.os10-back{background:#352e51;color:#c9baff}.os10-bottom-nav{background:rgba(32,29,47,.91);border-color:#544b68}.os10-bottom-nav button{color:#b9b2ce}.os10-bottom-nav button[aria-current=page]{background:#41365e;color:#d5c8ff}#main.view-dashboard .dashboard-grid>.card:first-child{background:linear-gradient(135deg,#31284d,#211e2d 75%);border-color:#41385a}.lesson-pill{color:#222}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.os10-appear{animation:none!important}}
@media(prefers-reduced-transparency:reduce){.sidebar,.topbar,.os10-bottom-nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--surface)!important}.overlay{backdrop-filter:none!important}}
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){.sidebar,.topbar,.os10-bottom-nav{background:var(--surface)}}
