@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#142a4c;background:#eef2f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e5ae31;outline-offset:2px}.app-shell{min-height:100vh;max-width:680px;margin:auto;padding:max(18px,env(safe-area-inset-top)) 18px calc(90px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#f8fafc,#f1f5fa)}.topbar,.section-heading,.role-card,.reminder,.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow,.editor .modal-heading p{color:#174e86;letter-spacing:.13em;font-size:10px;font-weight:700;margin:0 0 4px}.topbar h1,.overview h2,.section-heading h2,.modal-heading h2{margin:0;font:600 26px/1.15 Georgia,serif}.avatar{border:0;width:42px;height:42px;border-radius:14px;color:#fff;font-weight:700;background:linear-gradient(135deg,#0c4278,#1d6aaa);box-shadow:0 5px 14px #103d6a40}.overview{margin-top:22px;border-radius:25px;padding:21px;min-height:176px;display:flex;justify-content:space-between;color:#fff;overflow:hidden;position:relative;background:linear-gradient(125deg,#092f60,#15578e);box-shadow:0 12px 25px #10375d2e}.overview:after{content:"";position:absolute;width:170px;height:170px;right:-80px;bottom:-95px;border:28px solid #eebd4d52;border-radius:50%}.overview h2{font-size:28px;margin:9px 0 6px;position:relative;z-index:1}.overview p{margin:0;max-width:260px;font-size:12px;line-height:1.4;color:#d9e5fa}.week-badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;text-transform:uppercase;font-weight:800;letter-spacing:.07em;background:#e8b83e;color:#182c49}.week-auto{position:relative;z-index:2;width:70px;min-height:98px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #ffffff54;border-radius:17px;background:#071f4080;color:#fff}.week-auto span{font-size:19px;color:#f2c44b}.week-auto b{font-size:10px;letter-spacing:.12em}.week-auto small{font-size:9px;color:#cae1f5;font-weight:700}.role-card{margin:16px 1px 20px;padding:13px 14px;background:#fff;border:1px solid #e7ebf1;box-shadow:0 3px 12px #152a4a08;border-radius:16px}.role-card>div{display:flex;gap:10px;align-items:center}.role-icon{background:#fff4db;border-radius:11px;padding:8px;font-size:18px}.role-card strong,.reminder strong{display:block;font-size:13px}.role-card small{display:block;margin-top:2px;color:#758397;font-size:11px}.role-card button,.reminder button{border:0;background:#e1edf8;border-radius:9px;color:#124b83;font-weight:700;font-size:11px;padding:8px 10px}.day-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:22px;background:#fff;padding:5px;border:1px solid #e1e8f0;border-radius:18px}.day-tabs button{min-height:58px;border:0;border-radius:12px;background:transparent;color:#8491a3}.day-tabs button span,.day-tabs button b{display:block;font-size:11px}.day-tabs button b{font-size:15px;margin-top:3px}.day-tabs .active{color:#0a467e;background:#d9edf8;box-shadow:inset 0 -3px #e8b83e}.section-heading p{color:#8290a2;font-size:11px;margin:0 0 3px}.section-heading h2{font-size:22px}.add-button{border:0;width:38px;height:38px;color:#fff;background:linear-gradient(135deg,#0c4278,#1d6aaa);border-radius:12px;font-size:25px}.success,.sync{border-radius:9px;padding:9px 11px;font-size:12px}.success{color:#24745f;background:#ddf5e9}.sync{color:#164e82;background:#deedf8}.timeline{margin-top:18px;display:grid;gap:10px}.lesson{display:grid;grid-template-columns:54px 1fr 26px;gap:11px;padding:14px 11px 14px 14px;border-radius:16px;background:#fff;border:1px solid #e8edf3;border-left:4px solid #e4ae30;box-shadow:0 3px 10px #17293f08}.lesson.violet{border-left-color:#1d6aa9}.lesson.blue{border-left-color:#0f457d}.lesson time{font-weight:700;font-size:13px;color:#30445e}.lesson time small{display:block;font-size:10px;color:#8996a8;margin-top:2px;font-weight:500}.lesson-info span{color:#936709;font-weight:700;font-size:10px}.lesson.violet .lesson-info span,.lesson.blue .lesson-info span{color:#13548e}.lesson h3{font-size:14px;margin:3px 0;line-height:1.25}.lesson p{font-size:11px;color:#738196;margin:0}.lesson>button{border:0;background:transparent;color:#8693a4;align-self:start;letter-spacing:1px}.empty{text-align:center;margin-top:16px;padding:30px 15px;background:#fff;border:1px dashed #c9d4e1;border-radius:17px}.empty span{font-size:28px}.empty h3{margin:8px 0 4px;font-size:15px}.empty p{margin:0 auto 14px;max-width:240px;color:#718094;font-size:12px}.empty button{border:0;border-radius:10px;background:#e9f0f7;color:#28547d;padding:9px 12px;font-weight:700;font-size:12px}.reminder{margin-top:22px;padding:13px;border-radius:16px;background:#fff6dc;border:1px solid #f4df9c}.reminder>span{font-size:21px}.reminder div{flex:1}.reminder p{margin:3px 0 0;color:#7f724f;font-size:11px}footer{position:fixed;z-index:3;left:50%;transform:translate(-50%);bottom:0;width:min(680px,100%);height:73px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;background:#fff;border-top:1px solid #e9edf2}.nav-item{position:relative;min-width:50px;border:0;background:transparent;color:#7e8da1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:20px;padding:5px}.nav-item small{font-size:9px;font-weight:600}.nav-item.active{color:#0b4a84}.nav-add{width:47px;height:47px;margin-top:-24px;border:4px solid #f3f6fa;border-radius:16px;color:#fff;font-size:28px;line-height:1;background:linear-gradient(135deg,#0c4278,#1d6aaa);box-shadow:0 5px 13px #0c427844}.footer-notifications i{position:absolute;top:0;right:1px;min-width:15px;height:15px;border-radius:9px;padding:1px 4px;background:#e5ad30;color:#213956;font-style:normal;font-size:9px;font-weight:800}.modal-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;padding:20px;display:flex;align-items:end;background:#13223b8f}.editor,.notification-panel{width:min(540px,100%);max-height:min(78vh,650px);overflow:auto;margin:auto;border-radius:23px;background:#fff;padding:20px;animation:rise .2s ease-out}.modal-heading{margin-bottom:16px}.modal-heading h2{font-size:22px}.modal-heading button{border:0;color:#627188;background:#edf1f6;border-radius:9px;width:31px;height:31px;font-size:22px}.editor label{color:#53647a;font-size:12px;font-weight:700;display:block;margin:11px 0}.editor input,.editor select{display:block;width:100%;margin-top:5px;border:1px solid #d9e1ea;border-radius:9px;padding:10px;color:#1f3045;background:#fff;font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary{width:100%;border:0;border-radius:11px;background:#174e86;color:#fff;padding:12px;margin-top:10px;font-weight:700}.notification-list{display:grid;gap:10px}.notification-item{display:flex;gap:11px;padding:12px;background:#f4f8fc;border-left:3px solid #1d67a3;border-radius:12px}.notification-item.reminder{background:#fff7e5;border-left-color:#dfaa2d}.notification-item>span{width:27px;height:27px;flex:none;display:grid;place-items:center;border-radius:9px;color:#fff;background:#1c609a;font-size:13px}.notification-item.reminder>span{background:#e2af34}.notification-item h3{font-size:13px;margin:0 0 3px}.notification-item p{color:#64758a;margin:0;font-size:11px;line-height:1.35}.notification-item time{display:block;margin-top:6px;color:#8997a8;font-size:10px}.profile-hero{display:flex;align-items:center;gap:12px;padding:15px;margin-bottom:12px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#0b3769,#1c639c)}.profile-hero>span{display:grid;place-items:center;width:42px;height:42px;background:#e6b73c;color:#173153;border-radius:13px;font-weight:800}.profile-hero h3{margin:0;font:600 18px Georgia,serif}.profile-hero p{margin:2px 0 0;color:#cbe0f3;font-size:11px}.profile-setting{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid #e4eaf1}.profile-setting strong{font-size:13px}.profile-setting p,.profile-note{margin:3px 0 0;color:#708095;font-size:11px}.profile-setting button{border:0;border-radius:9px;padding:8px 10px;background:#e4eff8;color:#114e86;font-weight:700;font-size:11px}.auto-dot{border-radius:8px;padding:5px 7px;background:#e8b83e;color:#21395b;font-size:9px;font-weight:800}.profile-note{line-height:1.45;margin-top:14px}@keyframes rise{0%{transform:translateY(20px);opacity:0}}@media(min-width:681px){.app-shell{box-shadow:0 0 30px #2d46611a}.modal-backdrop{align-items:center}}.role-card>.role-switch{display:flex;gap:2px;padding:3px;border-radius:11px;background:#eaf0f7}.role-switch button{border:0;background:transparent;color:#738399;padding:7px 8px;border-radius:8px;font-size:10px;white-space:nowrap}.role-switch button.selected{color:#fff;background:#174e86;box-shadow:0 2px 5px #123b6444}.next-class{position:relative;z-index:2;width:108px;min-height:112px;padding:12px 10px;display:flex;flex-direction:column;justify-content:center;border:1px solid #ffffff55;border-radius:18px;background:linear-gradient(150deg,#071d3aab,#123d65a8);box-shadow:inset 0 1px #ffffff1f}.next-class span{color:#e6bc4d;font-size:8px;font-weight:800;letter-spacing:.08em;line-height:1.2}.next-class b{margin:4px 0 3px;color:#fff;font:600 25px Georgia,serif}.next-class small{color:#d9e9f8;font-size:10px;font-weight:600;line-height:1.25}.next-class em{margin-top:6px;color:#a8cce7;font-size:9px;font-style:normal}.overview:has(.next-class):after{width:150px;height:150px;right:-72px;bottom:-88px}.role-card{padding:12px 14px}.role-card>.role-switch{gap:3px;padding:4px;border-radius:14px;background:#e8eef6}.role-switch button{min-height:38px;padding:8px 12px;border-radius:11px;font-size:11px;font-weight:800}.role-switch button.selected{background:linear-gradient(135deg,#0b427a,#1c659e);box-shadow:0 4px 9px #0b3b6a3d}@media(max-width:430px){.role-card{align-items:flex-start}.role-card>div:first-child{max-width:44%}.role-card>.role-switch{flex:1}.role-switch button{flex:1;padding:8px 4px;font-size:10px}}.bell-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.footer-notifications{color:#174e86}.footer-notifications i{top:-2px;right:-2px}.calendar-backdrop{z-index:10;align-items:stretch;padding:0;background:#f2f6fa}.calendar-panel{width:100%;max-height:100vh;overflow:auto;margin:0;border-radius:0;background:#f8fafc;padding:max(20px,env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom));animation:rise .2s ease-out}.calendar-panel .modal-heading,.calendar-panel .calendar-hint,.calendar-panel .calendar-grid{max-width:1100px;margin-left:auto;margin-right:auto}.calendar-hint{margin-top:0;margin-bottom:13px;color:#718196;font-size:11px}.calendar-grid{min-width:620px;display:grid;grid-template-columns:58px repeat(5,minmax(108px,1fr));border:1px solid #dce5ee;border-radius:14px;overflow:hidden;background:#fff}.calendar-head,.time-label,.calendar-cell{min-height:66px;border-right:1px solid #e4ebf2;border-bottom:1px solid #e4ebf2}.calendar-head{display:grid;place-items:center;background:#123e70;color:#fff;font-size:12px;font-weight:800}.time-head{background:#0b315c}.time-label{display:grid;place-items:center;background:#f4f7fa;color:#44627f;font-size:11px;font-weight:800}.calendar-cell{position:relative;border-top:0;border-left:0;background:#fff;color:#1d3551;padding:6px;text-align:left}.calendar-cell:hover{background:#f2f8fc}.calendar-cell>span{display:grid;place-items:center;height:100%;color:#afbdca;font-size:18px}.calendar-cell.occupied{background:#e7f2fa;border-left:3px solid #174e86}.calendar-cell b{display:block;font-size:10px;line-height:1.25}.calendar-cell small{display:block;margin-top:3px;color:#58738c;font-size:9px}.calendar-cell em{position:absolute;right:5px;bottom:4px;color:#b37b08;font-size:8px;font-style:normal;font-weight:800}.editor-actions{display:flex;gap:10px;margin-top:10px}.editor-actions .primary{margin:0}.delete-button{border:0;border-radius:11px;padding:10px 13px;background:#fce8e6;color:#a42f29;font-weight:800;font-size:12px}@media(max-width:680px){.calendar-panel{padding:14px}.calendar-grid{min-width:590px}.calendar-cell{min-height:62px}.calendar-head{font-size:11px}}.free-day{border:1px solid #b7e5d3;background:linear-gradient(145deg,#f2fcf7,#e4f8ee)}.free-day h3{color:#17664d;font-size:18px}.free-day p{color:#397964}.status-toggle{width:43px;height:25px!important;padding:3px!important;border-radius:99px!important;background:#c4cfda!important}.status-toggle i{display:block;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s}.status-toggle.on{background:#1c6ba1!important}.status-toggle.on i{transform:translate(18px)}.modal-backdrop:has(.editor){z-index:30;align-items:flex-start;padding-top:max(22px,env(safe-area-inset-top))}.modal-backdrop:has(.editor) .editor{margin:0 auto}.editor{box-shadow:0 18px 48px #061b353d}.catalog-entry{width:100%;margin:-8px 0 18px;padding:13px;border:1px solid #bfd6e8;border-radius:16px;background:linear-gradient(120deg,#edf6fc,#fff);display:flex;align-items:center;gap:10px;text-align:left;color:#153d68}.catalog-entry>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#174e86;color:#fff;font-size:20px}.catalog-entry div{flex:1}.catalog-entry strong,.catalog-entry small{display:block}.catalog-entry strong{font-size:13px}.catalog-entry small{margin-top:2px;color:#5f7893;font-size:10px}.catalog-entry>b{font-size:25px}.catalog-panel{width:min(760px,100%);max-height:100vh;overflow:auto;margin:auto;background:#f8fafc;padding:max(20px,env(safe-area-inset-top)) 18px}.catalog-toolbar{display:flex;gap:8px}.catalog-toolbar select{flex:1;border:1px solid #cbd9e6;border-radius:10px;padding:10px;background:#fff}.catalog-toolbar button,.add-student{border:0;border-radius:10px;padding:10px;background:#174e86;color:#fff;font-weight:800}.catalog-tabs{display:flex;gap:5px;margin:16px 0 10px;padding:4px;background:#e7eef5;border-radius:12px}.catalog-tabs button{flex:1;border:0;border-radius:8px;padding:9px 4px;color:#647b93;background:transparent;font-size:11px;font-weight:700}.catalog-tabs button.active{background:#fff;color:#174e86;box-shadow:0 1px 4px #23456822}.catalog-message{font-size:11px;color:#9a6200;background:#fff4d8;padding:9px;border-radius:8px}.student-list{display:grid;gap:7px}.student-list article{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #dbe5ee;border-radius:11px;background:#fff;font-size:12px}.student-list article>b{color:#70849a;min-width:20px}.student-list article>span{flex:1}.student-list article button{border:0;border-radius:7px;padding:6px 8px;background:#e6eff7;color:#174e86;font-weight:800;font-size:10px}.student-list article div{display:flex;gap:4px}.student-list article div button:nth-child(1){background:#daf1e4;color:#176642}.student-list article div button:nth-child(2){background:#f9dfdf;color:#a32d2d}.student-list article div button:nth-child(3){background:#fff0cf;color:#956200}.empty-catalog{color:#718196;font-size:12px;text-align:center;padding:28px}.add-student{justify-self:start}.catalog-form{display:grid;gap:9px;margin:12px 0;padding:13px;border:1px solid #bed7ea;border-radius:14px;background:#fff}.catalog-form strong{font-size:13px;color:#174e86}.catalog-form input{width:100%;border:1px solid #cbd9e6;border-radius:9px;padding:10px;font-size:16px}.catalog-form>div:last-child{display:flex;justify-content:flex-end;gap:8px}.catalog-form button{border:0;border-radius:8px;padding:8px 10px;background:#e8eef5;color:#4c657e;font-size:11px;font-weight:800}.catalog-form button[type=submit]{background:#174e86;color:#fff}.add-student:disabled{opacity:.45;cursor:not-allowed}.catalog-panel{width:min(620px,calc(100vw - 32px))!important;max-height:min(82vh,720px)!important;margin:auto!important;border-radius:26px!important;background:linear-gradient(160deg,#fff,#f5f9fc)!important;padding:22px!important;box-shadow:0 24px 64px #071d3a45}.catalog-panel .modal-heading{margin-bottom:5px}.catalog-panel .modal-heading h2{font-size:27px}.catalog-subtitle{margin:0 0 17px;color:#667d94;font-size:12px;line-height:1.45}.catalog-toolbar select{min-height:44px;font-size:14px}.catalog-toolbar button{min-height:44px;white-space:nowrap}.catalog-tabs{margin:18px 0 12px}.catalog-tabs button{min-height:38px}.catalog-message{border:1px solid #f0d998;background:#fff8e5;color:#886000}.add-student{width:100%;padding:12px!important;background:linear-gradient(135deg,#164e86,#2371ab)!important;box-shadow:0 6px 14px #174e8630}.empty-catalog{display:grid;justify-items:center;gap:7px;margin:8px 0;padding:27px 15px;border:1px dashed #b8ccdd;border-radius:15px;background:#fff}.empty-catalog span{font-size:27px}.empty-catalog strong{font-size:14px;color:#284864}.empty-catalog p{margin:0;max-width:260px;font-size:11px;line-height:1.4;color:#718196}.catalog-form{box-shadow:0 7px 18px #173d6412}.catalog-form input{background:#fbfdff}.catalog-panel .student-list{max-height:330px;overflow:auto;padding-right:2px}.group-settings-link{width:100%;border:0;text-align:left;cursor:pointer}.group-settings-link>span:last-child{margin-left:auto;font-size:28px;line-height:1;color:#1c5b96}.setting-icon{display:grid;place-items:center;width:38px;height:38px;margin-right:11px;border-radius:12px;background:#eaf3fb;color:#1b5d98;font-size:20px}.existing-groups{margin:13px 0 4px}.existing-groups>strong{display:block;margin:0 0 8px;color:#244b70;font-size:13px}.existing-groups>div{display:flex;gap:7px;overflow:auto;padding:2px 0 6px}.existing-groups button{display:flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid #cbddeb;border-radius:12px;padding:8px 10px;background:#fff;color:#36536e;font:inherit;font-size:12px;cursor:pointer}.existing-groups button.selected{border-color:#195a96;background:#e9f4fc;color:#114d85}.existing-groups small{color:#718196;font-size:10px}@media(max-width:500px){.catalog-panel{width:calc(100vw - 20px)!important;padding:17px!important}.catalog-toolbar{align-items:stretch}.catalog-toolbar button{padding:8px;font-size:11px}.catalog-tabs button{font-size:10px}}.editor,.notification-panel,.calendar-panel,.catalog-panel,.catalog-panel .student-list,.existing-groups>div{-ms-overflow-style:none;scrollbar-width:none}.editor::-webkit-scrollbar,.notification-panel::-webkit-scrollbar,.calendar-panel::-webkit-scrollbar,.catalog-panel::-webkit-scrollbar,.catalog-panel .student-list::-webkit-scrollbar,.existing-groups>div::-webkit-scrollbar{display:none;height:0;width:0}
