@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color-scheme:dark;--bg:#101411;--bg-soft:#141a15;--panel:#191f1a;--panel2:#202820;--line:#333e34;--text:#f0f2eb;--muted:#a8b3a8;--lime:#d4f27a;--lime-dark:#293522;--red:#eb795e;--blue:#9bc9e5;--shadow:0 18px 50px #0002;font-family:DM Sans,system-ui,-apple-system,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button{cursor:pointer;transition:background .17s,border-color .17s,transform .17s,color .17s}button:active{transform:scale(.985)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:2px}a{color:inherit;text-decoration:none}.hidden{display:none!important}.boot-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--lime);font-weight:800;font-size:26px}.boot-screen span{font-size:13px;color:var(--muted);font-weight:500}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--lime)}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.wide{grid-column:1/-1}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:10px 13px;border-radius:10px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px}.btn:hover{border-color:#586952;background:#2a3429}.btn.primary{background:var(--lime);color:#172014;border-color:var(--lime)}.btn.primary:hover{background:#def995}.btn.ghost{background:transparent}.btn:disabled{opacity:.55;cursor:default}.icon-btn{width:39px;height:39px;padding:0;font-size:23px;flex-shrink:0}.text-action{border:0;background:transparent;color:var(--lime);font-size:12px;font-weight:700;padding:5px 0}.text-action:hover{color:#ecffc0}.danger-text{color:var(--red)}.badge{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:6px;background:#2b3628;color:var(--lime);font-size:9px;font-weight:800;letter-spacing:.5px;white-space:nowrap}.card{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:14px;min-width:0}.footnote{font-size:11px;color:#849184;line-height:1.65}.notice{padding:12px 13px;border-radius:10px;font-size:12px;line-height:1.55;margin:12px 0}.notice.error{background:#392421;border:1px solid #75483e;color:#ffd5cc}.notice code{color:var(--lime)}.auth-wrap{min-height:100dvh;display:grid;grid-template-columns:minmax(330px,480px) 1fr;background:#111612}.auth-card{width:100%;max-width:480px;margin:auto;padding:clamp(25px,5vw,56px)}.auth-mark{width:50px;height:50px;background:var(--lime);color:#172014;border-radius:15px;display:grid;place-items:center;font-size:29px;font-weight:900;margin-bottom:27px;box-shadow:0 0 0 7px #d4f27a12}.auth-card h1{font:800 clamp(34px,5vw,48px)/1.06 Manrope,sans-serif;letter-spacing:-2px;margin:13px 0}.auth-card h1 span{color:var(--lime)}.auth-card>p{max-width:350px;line-height:1.7;margin:14px 0 22px}.auth-features{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0}.auth-features div{display:flex;gap:9px;align-items:center;background:var(--panel);border:1px solid var(--line);padding:11px;border-radius:10px;font-size:11px}.auth-features b{color:var(--lime);font-size:17px}.google-button{width:100%;display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid #d7ded7;border-radius:10px;background:#f3f5ef;color:#1b211c;font-weight:800;text-align:left}.google-button:hover{background:#fff}.google-button:disabled{opacity:.55;cursor:not-allowed}.google-g{font:800 18px Arial;color:#4285f4;background:#fff;border-radius:5px;width:25px;height:25px;display:grid;place-items:center}.button-arrow{margin-left:auto;font-size:20px}.auth-caption,.auth-foot{font-size:11px;color:var(--muted);text-align:center;margin-top:13px}.auth-foot{margin-top:28px;text-align:left;line-height:1.6}.auth-side{position:relative;overflow:hidden;min-height:100dvh;border-left:1px solid var(--line);background:radial-gradient(ellipse at 65% 43%,#293829,#182119 43%,#101411 75%);display:flex;align-items:center;justify-content:center}.giant-kanji{font:800 clamp(130px,22vw,310px)/1 Manrope,sans-serif;letter-spacing:-.1em;color:#d4f27a0b;transform:rotate(-11deg);-webkit-user-select:none;user-select:none}.orb{position:absolute;border:1px solid #d4f27a37;border-radius:50%;aspect-ratio:1}.orb-one{width:min(40vw,440px);box-shadow:inset 0 0 80px #d4f27a09,0 0 80px #d4f27a08}.orb-two{width:min(25vw,270px);border-color:#d4f27a22}.side-caption{position:absolute;bottom:45px;left:45px;color:#9bab98;font-weight:800;letter-spacing:3px;line-height:2;font-size:11px}.side-bottom{position:absolute;bottom:24px;right:28px;color:#647164;font-size:10px;letter-spacing:2px}.compact-auth{padding:34px;max-width:500px}.user-chip{display:flex;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin:18px 0}.user-chip strong,.user-chip small{display:block}.user-chip small{font-size:11px;color:var(--muted);margin-top:3px}.wide-btn{width:100%}.spinner{width:17px;height:17px;border-radius:50%;border:2px solid #1b211c3c;border-top-color:#1b211c;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{max-width:1180px;margin:auto;min-height:100dvh;padding-bottom:98px}.app-header{height:72px;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid var(--line);background:#141a15f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px}.brand-symbol{height:38px;width:38px;display:grid;place-items:center;background:var(--lime);color:#172014;border-radius:11px;font-size:22px;font-weight:900}.brand strong,.brand small{display:block}.brand strong{font:800 13px Manrope,sans-serif;letter-spacing:.5px}.brand small{font-size:9px;color:var(--muted);letter-spacing:1.6px;margin-top:1px}.header-right{display:flex;align-items:center;gap:17px;position:relative}.cloud-status{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.cloud-status i,.cloud-detail i{width:7px;height:7px;border-radius:50%;background:#a7b6a2;display:inline-block}.cloud-status.online i,.cloud-detail i{background:var(--lime);box-shadow:0 0 0 3px #d4f27a13}.cloud-status.error i{background:var(--red)}.profile-button{display:flex;align-items:center;gap:9px;border:1px solid transparent;background:transparent;color:var(--text);border-radius:10px;padding:5px;text-align:left}.profile-button:hover{background:var(--panel);border-color:var(--line)}.avatar{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;background:#34402f;border:1px solid #536649;border-radius:50%;font-size:13px;font-weight:800;color:var(--lime)}.profile-meta strong,.profile-meta small{display:block}.profile-meta strong{font-size:11px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-meta small{font-size:9px;letter-spacing:1px;color:var(--lime);margin-top:3px}.chevron{color:var(--muted);font-size:16px}.profile-menu{position:absolute;top:50px;right:0;width:220px;padding:9px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:20}.menu-email{font-size:11px;color:var(--muted);padding:10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.profile-menu button{width:100%;text-align:left;background:transparent;color:var(--text);border:0;padding:11px;border-radius:8px}.profile-menu button:hover{background:var(--panel2)}.app-content{padding:23px 25px 30px}.screen{display:none;grid-template-columns:1fr;gap:15px;animation:slidein .2s ease}.screen.active{display:grid}@keyframes slidein{0%{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}.bottom-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;display:flex;align-items:stretch;justify-content:center;gap:4px;padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom));background:#171d18f5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-item{max-width:220px;min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 3px 6px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:11px}.nav-item:hover{background:#242d24}.nav-item.active{background:#283326;color:var(--lime)}.nav-icon{width:100%;height:25px;display:flex;align-items:center;justify-content:center}.nav-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.timer-icon svg{width:27px;height:27px;stroke-width:2}.more-icon svg{fill:currentColor;stroke:none;width:26px;height:26px}.toast{position:fixed;z-index:40;left:50%;bottom:105px;transform:translate(-50%);width:max-content;max-width:calc(100vw - 28px);background:#eef4e5;color:#192116;padding:11px 15px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;font-weight:700;animation:toast-in .18s ease}.toast.error{background:#fce3dc;color:#49261f}.toast.success{background:var(--lime);color:#1c2416}.toast.hidden{display:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:0}.section-heading h2{font:800 clamp(22px,3vw,28px)/1.2 Manrope,sans-serif;letter-spacing:-.9px;margin:6px 0 0}.section-heading p{margin:7px 0 0}.hero-panel{position:relative;min-height:270px;padding:clamp(22px,4vw,38px);border:1px solid #3b4836;border-radius:18px;overflow:hidden;background:linear-gradient(116deg,#242f23,#182019 61% 100%);display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-copy{position:relative;z-index:1;max-width:440px}.hero-copy h1{font:800 clamp(36px,5.5vw,58px)/.99 Manrope,sans-serif;letter-spacing:-2.9px;margin:14px 0}.hero-copy h1 span{color:var(--lime)}.hero-copy p{font-size:13px;color:#b3bfb1;line-height:1.7;margin:13px 0 22px;max-width:360px}.hero-copy .row{gap:8px}.hero-art{width:215px;min-width:160px;aspect-ratio:1;position:relative;display:grid;place-items:center;margin-right:5%;color:var(--lime)}.hero-art>span{font:800 88px Manrope,sans-serif;color:#d4f27a19;z-index:1}.hero-art small{position:absolute;bottom:7%;font-size:9px;letter-spacing:1.5px;color:#809277}.hero-ring{position:absolute;inset:8%;border:1px solid #d4f27a40;border-radius:50%;box-shadow:0 0 30px #d4f27a0b,inset 0 0 30px #d4f27a08}.hero-ring:before,.hero-ring:after{content:"";position:absolute;border:1px solid #d4f27a20;border-radius:50%;inset:12%}.hero-ring:after{inset:-13%;border-style:dashed;animation:slowspin 38s linear infinite}@keyframes slowspin{to{transform:rotate(360deg)}}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}.stat-label{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:1.2px}.stat-value{font:800 29px Manrope,sans-serif;letter-spacing:-1.2px;margin:10px 0 0}.stat-denom{font-size:16px;color:var(--muted)}.stat-caption{font-size:11px;color:var(--muted);margin:3px 0 8px}.mini-progress{height:4px;border-radius:99px;background:#323c32;overflow:hidden;margin-top:9px}.mini-progress i{display:block;height:100%;background:var(--lime);border-radius:99px;transition:width .25s}.stat-card .text-action{margin-top:7px}.section-heading h2+.muted{margin-top:7px}.week-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.week-card{padding:15px;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:14px;color:var(--text)}.week-card:hover{border-color:#637552;transform:translateY(-1px)}.week-arrow{color:var(--lime)}.week-card>strong{display:block;font:800 15px Manrope,sans-serif;margin:14px 0 6px;letter-spacing:-.3px}.week-card>strong span{color:var(--muted);font-weight:500}.week-card>small{font-size:11px;color:var(--muted)}.week-status{font-size:11px;margin-top:12px}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;padding:14px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:13px;min-height:130px}.quick-card:hover{border-color:#637552;background:#1c251d}.quick-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:#2b3628;color:var(--lime);font-size:19px;margin-bottom:7px}.quick-card strong{font-size:12px}.quick-card small{font-size:10px;color:var(--muted);line-height:1.45}.quick-card>b{position:absolute;top:14px;right:13px;color:var(--lime)}.planner-toolbar,.attendance-datebar,.notes-datebar{display:flex;align-items:center;gap:8px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.date-control{display:flex;flex:1;min-width:130px;flex-direction:column;gap:4px}.date-control>span{font-size:9px;color:var(--muted);letter-spacing:1.2px;font-weight:800}.date-control input{width:100%;background:#111612;border:1px solid #3c473d;border-radius:7px;padding:8px 9px;color:var(--text);font-size:13px}.plan-summary{background:linear-gradient(135deg,#1f2a20,#191f1a);border:1px solid #3b4937;border-radius:15px;padding:17px}.summary-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.autosave-status{font-size:10px;color:var(--muted)}.field-label{display:flex;flex-direction:column;gap:6px;font-size:9px;letter-spacing:1px;font-weight:800;color:var(--muted);margin:10px 0}.field-label input{letter-spacing:0;font-weight:500;font-size:13px}.plan-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;margin-top:5px;border-top:1px solid #303c30}.plan-metrics>div strong,.plan-metrics>div small{display:block}.plan-metrics strong{font:800 20px Manrope,sans-serif}.plan-metrics small{font-size:10px;color:var(--muted);margin-top:3px}.drill-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.drill-toolbar h3{font:800 17px Manrope,sans-serif;margin:0}.block-list{display:grid;gap:9px}.plan-block{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:13px}.block-head{width:100%;display:flex;align-items:center;gap:11px;padding:13px;background:transparent;border:0;color:var(--text);text-align:left}.block-icon{width:38px;height:38px;display:grid;place-items:center;background:#2a3528;color:var(--lime);border-radius:10px;font-size:20px;flex-shrink:0}.block-heading{flex:1;min-width:0}.block-heading strong,.block-heading small{display:block}.block-heading strong{font-size:13px}.block-heading small{color:var(--muted);font-size:10px;margin-top:4px}.block-chevron{color:var(--muted);font-size:19px}.block-body{padding:0 13px 13px}.block-focus{font-size:11px;color:var(--muted);margin:0;padding:8px 0 10px}.drill-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto 25px;align-items:center;gap:9px;padding:11px 0;border-top:1px solid #2e382e}.check-button{width:26px;height:26px;border:1px solid #526052;background:#252d25;color:#172013;border-radius:8px;display:grid;place-items:center;padding:0}.check-button.checked{background:var(--lime);border-color:var(--lime)}.drill-row.is-done .drill-info strong{text-decoration:line-through;color:#aab5a6}.drill-info{min-width:0}.drill-info strong,.drill-info small{display:block}.drill-info strong{font-size:12px}.drill-info small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}.drill-minutes{font-size:11px;font-weight:800;white-space:nowrap}.dots-button{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;letter-spacing:1px}.dots-button:hover{background:#303a30;color:var(--lime)}.add-inline{margin-top:8px}.empty-state{padding:28px 20px;text-align:center;border:1px dashed #455045;background:#171d18;border-radius:15px}.empty-state h3{margin:8px 0;font:800 16px Manrope,sans-serif}.empty-state p{max-width:390px;margin:7px auto 15px;color:var(--muted);font-size:12px;line-height:1.6}.empty-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:#2a3528;color:var(--lime);font-size:23px;margin:auto}.calendar-card{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:15px}.calendar-controls{display:grid;grid-template-columns:39px 1fr 39px;gap:10px;align-items:center}.calendar-controls h3{text-align:center;margin:0;font:800 17px Manrope,sans-serif}.calendar-legend{display:flex;gap:13px;flex-wrap:wrap;margin:15px 0 12px}.calendar-legend span{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime)}.legend-dot.custom{background:var(--blue)}.legend-dot.note{background:var(--red)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;padding:7px 0;color:var(--muted);font-size:10px;font-weight:700}.calendar-blank{min-height:45px}.calendar-day{position:relative;min-width:0;min-height:45px;border:1px solid transparent;border-radius:9px;background:#141a15;color:var(--text);font-size:12px;padding:5px;display:flex;align-items:flex-start;justify-content:center}.calendar-day:hover{border-color:#627552}.calendar-day.class-day{background:#202a20;font-weight:800}.calendar-day.custom-day{box-shadow:inset 0 -2px 0 var(--blue)}.calendar-day.selected{background:var(--lime);color:#192115;border-color:var(--lime);box-shadow:0 0 0 2px #d4f27a22}.calendar-day.selected .day-dot,.calendar-day.selected .note-dot{border-color:#192115}.calendar-day i{position:absolute;width:5px;height:5px;border-radius:50%;bottom:5px}.day-dot{background:#9aaf8c}.note-dot{background:var(--red);left:calc(50% + 4px)}.day-check{font-size:8px!important;font-style:normal;width:auto!important;height:auto!important;color:var(--lime);bottom:3px!important}.calendar-day.selected .day-check{color:#192115}.calendar-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:11px;color:var(--muted)}.selected-date-card{padding:16px;background:linear-gradient(140deg,#202b20,#191f1a);border:1px solid #3c4938;border-radius:14px}.selected-date-card h3{margin:6px 0;font:800 17px Manrope,sans-serif}.selected-date-card p{margin:5px 0 13px}.has-attendance:before{content:"";position:absolute;top:4px;right:4px;width:4px;height:4px;background:var(--blue);border-radius:50%}.attendance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.attendance-toolbar h3{font:800 16px Manrope,sans-serif;margin:0}.attendance-toolbar small{display:block;font-size:10px;margin-top:4px}.attendance-list,.roster-list,.member-list{display:grid;gap:7px}.attendance-row,.roster-row,.member-row{display:flex;align-items:center;gap:10px;padding:11px;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-width:0}.student-avatar{width:35px;height:35px;display:grid;place-items:center;flex-shrink:0;background:#2a3528;border:1px solid #3f5038;border-radius:50%;font-weight:800;color:var(--lime);font-size:12px}.student-info{flex:1;min-width:0}.student-info strong,.student-info small{display:block}.student-info strong{font-size:12px;overflow-wrap:anywhere}.student-info small{font-size:10px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.status-buttons{display:flex;gap:4px;flex-shrink:0}.status-chip{width:28px;height:28px;display:grid;place-items:center;border:1px solid #3d493d;border-radius:8px;background:#202820;color:var(--muted);font-size:10px;font-weight:800;padding:0}.status-chip:hover{border-color:#718265}.status-chip.active{color:#162013;background:var(--lime);border-color:var(--lime)}.status-chip.status-absent.active{background:#efab9d;border-color:#efab9d;color:#341a16}.status-chip.status-late.active{background:#f4ce7c;border-color:#f4ce7c;color:#34240b}.status-chip.status-excused.active{background:#a9d4ee;border-color:#a9d4ee;color:#102b3b}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-form,.member-form{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-label{font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:800}.field-label input{display:block;margin-top:6px;font-size:13px;letter-spacing:0;font-weight:500}.full-field{grid-column:1/-1}.roster-row.inactive{opacity:.6}.stat-card{min-height:113px}.stat-value{line-height:1.1}.role-badge{display:inline-flex;background:#273e48;color:var(--blue);border-radius:6px;padding:5px 7px;font-size:9px;font-weight:800;text-transform:uppercase}.role-badge.is-admin{background:#313923;color:var(--lime)}.owner-label{font-size:9px;letter-spacing:.5px;color:var(--lime);font-weight:800}.member-row .btn{padding:7px 9px;font-size:10px;min-height:30px}.notes-card{background:#1b211c;border:1px solid #3a4738;padding:18px}.notes-paper-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:11px;border-bottom:1px solid #344034;color:var(--muted);font-size:9px;letter-spacing:1.5px;font-weight:800}.notes-paper-top span+span{letter-spacing:0;font-weight:500}.notes-card h3{font:800 17px Manrope,sans-serif;margin:14px 0}.notes-card textarea{width:100%;min-height:280px;resize:vertical;background:#151b16;border:1px solid #344034;border-radius:10px;padding:14px;font-size:13px;line-height:1.8;color:var(--text)}.notes-bottom{margin-top:10px}.cloud-detail{display:flex;align-items:flex-start;gap:9px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.6}.cloud-detail i{flex-shrink:0;margin-top:5px}.workspace-info h3,.workspace-info p{margin:6px 0}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.more-card{display:flex;align-items:center;gap:10px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);min-width:0}.more-card:hover{border-color:#60754d;background:#1c251d}.more-icon{width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;border-radius:11px;background:#2a3528;color:var(--lime);font-size:20px}.more-card>div{flex:1;min-width:0}.more-card strong,.more-card small{display:block}.more-card strong{font-size:12px}.more-card small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}.more-card>b{color:var(--lime)}.skill-grid{display:grid;grid-template-columns:1fr;gap:11px}.skill-card{overflow:hidden;background:linear-gradient(145deg,#1c241e,#171d18);border:1px solid var(--line);border-radius:15px;padding:14px;min-width:0}.skill-card-head{display:flex;align-items:center;gap:11px;padding-bottom:13px;border-bottom:1px solid #303930}.skill-card-head>span{width:41px;height:41px;display:grid;place-items:center;border-radius:12px;background:#2b3628;color:var(--lime);font-size:22px;flex-shrink:0}.skill-card-head>div{flex:1;min-width:0}.skill-card-head strong,.skill-card-head small{display:block}.skill-card-head strong{font:800 14px Manrope,sans-serif}.skill-card-head small{font-size:10px;color:var(--muted);margin-top:4px}.skill-list{padding-top:3px}.skill-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #303930;font-size:12px}.skill-item:last-child{border-bottom:0}.skill-item>span{flex:1;min-width:0;line-height:1.4}.skill-item .btn{flex-shrink:0;min-width:72px;padding:7px 9px;font-size:11px}.skill-item .btn:disabled{color:var(--lime);border-color:#586b43;background:#283226;opacity:1}.timer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.timer-card{position:relative;padding:18px;background:linear-gradient(145deg,#1b231c,#161c17);border:1px solid var(--line);border-radius:16px;overflow:hidden}.timer-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.live-tag{display:inline-flex;padding:4px 7px;border-radius:5px;background:#2b3528;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.8px}.timer-dial.running .live-tag{color:var(--lime)}.timer-dial{position:relative;width:min(100%,240px);aspect-ratio:1;margin:20px auto}.timer-dial svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.dial-track,.dial-progress{fill:none;stroke-width:6}.dial-track{stroke:#303b31}.dial-progress{stroke:var(--lime);stroke-linecap:round;stroke-dasharray:490.09;stroke-dashoffset:490.09;transition:stroke-dashoffset .14s linear;filter:drop-shadow(0 0 7px #d4f27a19)}.countdown-dial .dial-progress{stroke:#a4d56c}.stopwatch-dial.running .dial-progress{stroke-dashoffset:112;animation:ringpulse 1.8s ease-in-out infinite}.countdown-dial.running .dial-progress{filter:drop-shadow(0 0 8px #d4f27a77)}.countdown-dial.finished .dial-progress{stroke:var(--red);filter:drop-shadow(0 0 10px #ee755e99)}.dial-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.dial-glyph{font-size:19px;color:var(--lime);margin-bottom:4px}.timer-number{font:800 clamp(29px,4vw,40px)/1.15 Manrope,sans-serif;letter-spacing:-1.6px;font-variant-numeric:tabular-nums}.dial-center small{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin-top:7px}.timer-actions{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.timer-actions .btn{flex:1;min-width:65px;min-height:42px}.timer-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.timer-inputs label{font-size:10px;color:var(--muted)}.timer-inputs input{display:block;margin-top:6px;min-width:0;width:100%;padding:11px;font-size:16px}.preset-row{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:12px}.preset-row button{border:1px solid var(--line);border-radius:8px;background:#232c23;color:var(--text);padding:9px 1px;font-size:10px;font-weight:800}.preset-row button:hover{background:#34412e;border-color:#536647}.lap-list{max-height:120px;overflow:auto;margin-top:12px}.lap-entry{display:flex;align-items:center;justify-content:space-between;padding:7px 2px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.lap-entry strong{font-variant-numeric:tabular-nums;color:var(--text)}@keyframes ringpulse{0%,to{opacity:.86;filter:drop-shadow(0 0 4px #d4f27a24)}50%{opacity:1;filter:drop-shadow(0 0 12px #d4f27a88)}}@media(min-width:760px){.app-content{padding:27px 30px 35px}.screen.active{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.hero-panel,.week-grid,.quick-grid,.section-heading.wide,.planner-toolbar.wide,.plan-summary.wide,.drill-toolbar.wide,.block-list.wide,.calendar-card,.attendance-datebar.wide,.attendance-toolbar.wide,.attendance-list.wide,.notes-datebar.wide,.notes-card.wide,.more-grid.wide,.student-form.wide,.roster-list.wide,.member-form.wide,.member-list.wide,.workspace-info.wide,.skill-grid.wide,.footnote.wide,.empty-state.wide,.form-grid.wide{grid-column:1/-1}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-card{max-width:none}.calendar-day{min-height:53px}.timer-grid{grid-column:1/-1;max-width:860px;width:100%;margin:auto}.screen#screen-timer.active{grid-template-columns:1fr}.screen#screen-timer.active>.section-heading{grid-column:1}.screen#screen-attendance.active>.stat-grid{grid-column:1/-1}.screen#screen-attendance.active>.attendance-datebar{grid-column:1/-1}.screen#screen-attendance.active>.attendance-toolbar{grid-column:1/-1}.screen#screen-attendance.active>.attendance-list{grid-column:1/-1}.screen#screen-planner.active>.block-list{grid-column:1/-1}.screen#screen-planner.active>.plan-summary{grid-column:1/-1}.screen#screen-planner.active>.drill-toolbar{grid-column:1/-1}.screen#screen-planner.active>.planner-toolbar{grid-column:1/-1}.screen#screen-calendar.active>.calendar-card,.screen#screen-calendar.active>.selected-date-card{grid-column:1/-1}.screen#screen-more.active>.more-grid,.screen#screen-more.active>.workspace-info{grid-column:1/-1}.screen#screen-students.active>.student-form,.screen#screen-students.active>.roster-list{grid-column:1/-1}.screen#screen-team.active>.member-form,.screen#screen-team.active>.member-list{grid-column:1/-1}.screen#screen-notes.active>.notes-card,.screen#screen-notes.active>.notes-datebar{grid-column:1/-1}.screen#screen-more.active>.skill-grid{grid-column:1/-1}}@media(max-width:759px){.app-header{height:63px;padding:0 13px}.app-content{padding:15px 12px 25px}.brand-symbol{width:34px;height:34px;font-size:20px}.brand strong{font-size:12px}.brand small{font-size:8px}.header-right{gap:8px}.cloud-status{font-size:9px}.profile-meta{display:none}.profile-button{gap:3px}.profile-button .chevron{display:none}.bottom-nav{gap:2px;padding-left:5px;padding-right:5px;min-height:74px}.nav-item{font-size:10px;gap:4px;padding:7px 2px 6px;border-radius:11px}.nav-icon{height:25px}.nav-icon svg{width:22px;height:22px}.timer-icon svg{width:27px;height:27px}.hero-panel{min-height:236px;padding:22px 18px}.hero-copy{max-width:72%}.hero-copy h1{font-size:clamp(34px,8vw,46px);letter-spacing:-2px}.hero-copy p{font-size:12px}.hero-art{position:absolute;right:-19px;top:20px;width:145px;min-width:145px;opacity:.75;margin:0}.hero-art>span{font-size:62px}.hero-art small{font-size:7px}.hero-copy .btn{font-size:11px;padding:9px 10px}.stat-grid{gap:8px}.stat-card{padding:13px}.stat-value{font-size:25px}.week-grid{gap:8px}.week-card{padding:12px}.week-card>strong{font-size:13px;line-height:1.4}.week-card>strong span{display:block;margin-top:2px}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-card{min-height:112px;padding:12px}.quick-card strong{font-size:12px}.section-heading h2{font-size:23px}.section-heading{align-items:flex-start}.section-heading>.btn{flex-shrink:0}.planner-toolbar{gap:6px;padding:8px}.planner-toolbar .btn.ghost{font-size:10px;padding:7px}.plan-summary{padding:13px}.calendar-card{padding:11px}.calendar-grid{gap:3px}.calendar-day{min-height:42px;font-size:12px;border-radius:7px}.calendar-blank{min-height:42px}.calendar-legend{gap:9px}.calendar-legend span{font-size:9px}.attendance-datebar{flex-wrap:wrap}.attendance-datebar .badge{display:none}.attendance-row{gap:7px;padding:9px}.student-avatar{width:31px;height:31px}.student-info strong{font-size:11px}.status-buttons{gap:3px}.status-chip{width:26px;height:27px}.attendance-toolbar{align-items:flex-end}.attendance-toolbar .btn{font-size:10px;padding:8px}.form-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.more-grid{grid-template-columns:1fr}.more-card,.skill-card{padding:12px}.timer-grid{grid-template-columns:1fr;gap:11px}.timer-card{padding:16px}.timer-dial{width:min(72%,250px);margin:14px auto 18px}.timer-number{font-size:clamp(34px,9vw,44px)}.timer-actions .btn{min-height:45px}.timer-inputs input{min-height:46px}.preset-row button{font-size:11px;padding:11px 1px}.notes-card{padding:13px}.notes-card textarea{min-height:240px}.calendar-controls h3{font-size:15px}.plan-metrics strong{font-size:18px}.drill-row{grid-template-columns:27px minmax(0,1fr) auto 25px;gap:7px}.drill-info strong{font-size:11px}.drill-info small{font-size:9px}.drill-toolbar h3{font-size:15px}}@media(max-width:370px){.cloud-status{display:none}.hero-art{right:-37px;opacity:.45}.hero-copy{max-width:100%}.hero-panel{min-height:240px}.hero-copy p{max-width:245px}.hero-copy .row{max-width:240px}.week-card>strong span{font-size:11px}.status-buttons{gap:2px}.status-chip{width:24px}.section-heading>.btn{font-size:10px;padding:8px}.calendar-day{min-height:37px;padding:4px}.timer-card{padding:13px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:17px;background:#060906bd;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);animation:fade-in .16s ease}.modal-card{width:min(100%,490px);max-height:min(88dvh,820px);overflow:auto;padding:23px;border:1px solid #495743;border-radius:18px;background:linear-gradient(145deg,#202920,#141a15);box-shadow:0 30px 110px #0009;animation:modal-up .2s ease}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.modal-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--lime);color:#172014;font-size:22px;font-weight:900}.modal-close{border:1px solid var(--line);background:#232b23;color:var(--muted);height:34px;width:34px;border-radius:9px;font-size:21px}.modal-card h2{font:800 25px/1.2 Manrope,sans-serif;letter-spacing:-.8px;margin:7px 0}.modal-card>p{line-height:1.65;margin:7px 0 17px}.modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.modal-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:9px;letter-spacing:1px;color:var(--muted);font-weight:800}.modal-field.full-field,.modal-field:has(textarea){grid-column:1/-1}.modal-field input,.modal-field select,.modal-field textarea{font-size:14px;letter-spacing:0;font-weight:500;width:100%;min-width:0;padding:12px;border:1px solid #414d40;border-radius:9px;background:#101511;color:var(--text)}.modal-field textarea{min-height:90px;resize:vertical}.modal-field small{letter-spacing:0;font-weight:400;font-size:10px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-up{0%{opacity:.6;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.month-cycle-card{padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:15px}.month-cycle-card h3{font:800 17px Manrope,sans-serif;margin:5px 0 0}.cycle-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.cycle-week{padding:11px;border:1px solid var(--line);background:#151b16;border-radius:10px;min-width:0}.cycle-week.current{border-color:var(--lime);background:#232e21;box-shadow:inset 0 0 0 1px #d4f27a26}.cycle-week>span,.cycle-week strong,.cycle-week small,.cycle-week em{display:block}.cycle-week>span{font-size:9px;color:var(--lime);letter-spacing:1px;font-weight:800}.cycle-week strong{font-size:12px;margin-top:8px;line-height:1.35}.cycle-week small{color:var(--muted);font-size:10px;line-height:1.5;margin-top:6px}.cycle-week em{font-style:normal;color:#c8d4c2;font-size:10px;line-height:1.45;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}@media(max-width:759px){.auth-wrap{grid-template-columns:1fr}.auth-card{padding:29px 23px;max-width:540px}.auth-side{display:none}.modal-card{padding:18px}.cycle-grid{grid-template-columns:1fr 1fr}.cycle-week{padding:10px}.cycle-week strong{font-size:11px}.cycle-week small,.cycle-week em{font-size:9px}}@media(max-width:370px){.modal-fields{grid-template-columns:1fr}.modal-field.full-field,.modal-field:has(textarea){grid-column:auto}.modal-actions .btn{flex:1}.cycle-grid{grid-template-columns:1fr 1fr}}
