:root{color:#243c37;font-synthesis:none;background:#f3f6f8;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:13px}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a{transition:background .15s,color .15s}button{cursor:pointer;background:var(--surface,#f3f6f8);color:#435851;border:1px solid #e1e6e5;border-radius:7px;padding:9px 13px}button:disabled{opacity:.5;cursor:wait}:is(button:focus-visible,a:focus-visible){outline-offset:3px;outline:3px solid #79b9a9}a{color:inherit;text-decoration:none}small{font-size:11px}button svg{flex-shrink:0}.primary{color:#fff;background:#286956;border:1px solid #286956;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 17px;font-weight:600;display:inline-flex}.icon-button{background:0 0;border:0;justify-content:center;align-items:center;padding:6px;display:inline-flex}.brand{letter-spacing:.025em;white-space:nowrap;align-items:center;gap:10px;font-size:19px;font-weight:750;display:flex}.brand-icon{color:#fff;background:#286956;border-radius:11px;place-items:center;width:37px;height:37px;font-family:Georgia;font-size:28px;font-style:italic;font-weight:700;display:grid}.brand small{color:#8a9691;letter-spacing:.08em;margin-top:5px;font-size:9px;font-weight:400;display:block}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--surface,#f3f6f8);z-index:40;border-right:1px solid #e6eae7;flex-direction:column;width:236px;padding:32px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.school{white-space:nowrap;background:#fafbf9;border:1px solid #e8ebe8;border-radius:9px;align-items:center;gap:9px;margin:32px 0 28px;padding:12px 8px;font-size:11px;font-weight:600;display:flex}.school small{letter-spacing:.1em;color:#8c9992;margin-top:5px;font-size:8px;display:block}.school-mark{color:#738764;background:#e9efe6;border-radius:6px;place-items:center;width:30px;height:32px;display:grid}.nav-label{color:#a0aaa4;letter-spacing:.08em;margin-bottom:12px;padding:0 10px;font-size:10px}nav{gap:7px;display:grid}nav button{text-align:left;color:#75817d;border:0;align-items:center;gap:11px;padding:13px 12px;font-size:12px;display:flex}nav .nav-active{color:#286956;background:#eaf3ee;font-weight:650}nav b{background:#d5e8dd;border-radius:4px;margin-left:auto;padding:2px 5px;font-size:10px}.sidebar-note{margin-top:auto;padding:24px 10px 27px}.leaf{color:#8eab90;margin-bottom:14px;font-size:33px;display:block}.sidebar-note strong{color:#819082;font-size:10px;display:block}.sidebar-note p{color:#a0aaa2;font-size:10px;line-height:1.9}.profile{border-top:1px solid #edf0ed;align-items:center;gap:8px;padding:19px 0;font-size:11px;display:flex}.profile>div{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile small{color:#919b95;margin-top:4px;font-size:10px;display:block}.profile a{color:#9ca79f;margin-left:auto}.avatar{color:#6b7e5e;background:#e9eee3;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:600;display:inline-grid}.avatar.small{width:29px;height:29px;font-size:11px}.main-wrap{flex:1;min-width:0;margin-left:236px}.topbar{background:var(--surface,#f3f6f8);border-bottom:1px solid #e7ebe7;justify-content:space-between;align-items:center;height:72px;padding:0 34px;display:flex}.topbar>div{align-items:center;display:flex}.breadcrumb span{color:#c7ceca;padding:0 15px}.breadcrumb b{color:#586e62;font-weight:500}.top-right{color:#8a9990;gap:12px;font-size:10px}.live-dot{background:#639f7c;border-radius:50%;width:5px;height:5px}.mobile-menu{display:none}main{max-width:1650px;margin:auto;padding:34px 34px 0}.page-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.eyebrow{letter-spacing:.17em;color:#9aa99f;font-size:9px;font-weight:600}.page-head p{color:#8b9791;margin:0;font-size:11px;line-height:1.8}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:25px;display:grid}.stats>div{background:var(--surface,#f3f6f8);border:1px solid #e6ebe7;border-radius:10px;align-items:center;gap:13px;padding:19px 17px;display:flex;position:relative}.stat-icon{border-radius:10px;place-items:center;width:43px;height:43px;display:grid}.green{color:#59846b;background:#edf4ef}.blue{color:#7196b6;background:#ecf2f8}.amber{color:#b69b65;background:#faf2e4}.stats small{color:#85948b;font-size:10px;display:block}.stats strong{letter-spacing:-.03em;font-size:29px;font-weight:650;line-height:1.5;display:block}.stats em{color:#94a098;letter-spacing:0;margin-left:8px;font-size:10px;font-style:normal;font-weight:400}.stat-hint,.stat-link{color:#a0aaa3;white-space:nowrap;align-self:flex-end;margin-bottom:6px;margin-left:auto;font-size:9px}.stat-link{color:#9b865a;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:flex}.calendar-layout{grid-template-columns:minmax(0,1fr) 234px;align-items:start;gap:20px;display:grid}.calendar-card,.panel{background:var(--surface,#f3f6f8);border:1px solid #e2e8e3;border-radius:11px;overflow:hidden}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;padding:22px 20px 17px;display:flex}.month-picker{align-items:center;gap:3px;display:flex}.month-picker h2{white-space:nowrap;margin:0 15px 0 0;font-size:21px;font-weight:650}.month-picker h2 small{margin-left:2px;font-size:12px;font-weight:400}.today-button{margin-left:7px;padding:5px 10px;font-size:10px}.segmented{background:#f4f6f4;border-radius:6px;flex-shrink:0;padding:3px;display:flex}.segmented button{color:#8c9991;background:0 0;border:0;padding:6px 13px;font-size:10px}.segmented .active{background:var(--surface,#f3f6f8);color:#436d58;font-weight:600;box-shadow:0 1px 3px #183e2714}.filterbar{border-bottom:1px solid #e9ede9;gap:9px;padding:0 20px 20px;display:flex}.filterbar select{color:#6d8173;width:135px;padding:8px 7px;font-size:10px}.search{color:#a0aca4;background:#fafbf9;border:1px solid #e6ebe5;border-radius:6px;flex:1;align-items:center;gap:7px;min-width:120px;padding:0 9px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%;padding:8px 0;font-size:10px}.search input::placeholder{color:#a0aca4}select,input,textarea{background:var(--surface,#f3f6f8);color:#486151;border:1px solid #dfe5df;border-radius:6px;min-width:0;padding:10px}.weekdays,.days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdays{background:#fcfdfb;border-bottom:1px solid #e9ede9}.weekdays span{text-align:center;color:#7b8980;padding:12px 0;font-size:10px}.weekdays .sun{color:#c18f87}.weekdays .sat{color:#7998b6}.day-cell{border-bottom:1px solid #edf0eb;border-right:1px solid #edf0eb;min-height:108px;padding:7px 5px 5px}.day-cell:nth-child(7n){border-right:0}.day-number{color:#697f70;background:0 0;border:0;border-radius:50%;place-items:center;width:25px;height:25px;margin-bottom:4px;padding:0;font-size:11px;font-weight:500;display:grid}.day-cell:nth-child(7n+1) .day-number{color:#ba918b}.day-cell:nth-child(7n) .day-number{color:#7e9db6}.day-cell.outside{background:#fbfcfa}.outside .day-number{opacity:.35}.day-number.today{color:#fff!important;background:#286956!important}.event{text-align:left;color:#547862;white-space:nowrap;background:#eaf3ed;border:0;border-left:2px solid #8cb197;border-radius:3px;width:100%;margin:2px 0;padding:5px;font-size:9px;display:block;overflow:hidden}.event span{text-overflow:ellipsis;display:block;overflow:hidden}.event b{font-weight:600}.event small{text-overflow:ellipsis;margin-top:3px;font-size:9px;display:block;overflow:hidden}.event.color1{color:#6786a6;background:#eef3fa;border-left-color:#8aa9ca}.event.color2{color:#a08b66;background:#f7f0e6;border-left-color:#c4ad82}.more{background:0 0;border:0;padding:3px;font-size:9px}.calendar-footer{color:#a0aaa2;justify-content:space-between;align-items:center;gap:8px;padding:13px 16px;font-size:8px;display:flex}.calendar-footer>span:first-child{align-items:center;gap:5px;display:flex}.dot{border-radius:50%;width:5px;height:5px;margin-left:8px;display:inline-block}.agenda{background:var(--surface,#f3f6f8);border:1px solid #e2e8e3;border-radius:11px;padding:22px 18px}.agenda-title{border-bottom:1px solid #edf0eb;padding-bottom:18px}.agenda-title h2{margin:10px 0;font-size:18px;font-weight:600}.agenda-empty{text-align:center;padding:31px 0}.agenda-empty>div{color:#9aad92;background:#f2f6ef;border-radius:50%;place-items:center;width:55px;height:55px;margin:0 auto 17px;display:grid}.agenda-empty h3{color:#82937f;font-size:12px;font-weight:500}.agenda-empty p{color:#a0aaa0;font-size:10px;line-height:1.9}.agenda-empty button{color:#5c8268;background:#f8faf6;border-color:#e4ece0;align-items:center;gap:4px;margin-top:9px;font-size:10px;display:inline-flex}.agenda-tip{color:#acb69e;border-top:1px solid #edf0eb;align-items:center;gap:12px;padding-top:16px;font-size:22px;display:flex}.agenda-tip p{color:#9ba794;margin:0;font-size:9px;line-height:1.9}.agenda-lesson{text-align:left;background:#f5f8f1;border:0;border-left:3px solid #9bbb9c;border-radius:3px;width:100%;margin:15px 0;padding:11px;display:block}.agenda-time{color:#5e7b61;margin-bottom:9px;font-size:12px;font-weight:600}.agenda-time span{color:#a0ae9c;margin-left:4px;font-size:10px;font-weight:400}.agenda-lesson strong{font-size:13px}.agenda-lesson p{margin:8px 0 4px;font-size:11px}.agenda-lesson small{color:#8d9b88;font-size:10px}.agenda-lesson>div:last-child{color:#9ba591;align-items:center;gap:4px;margin-top:11px;font-size:9px;display:flex}.bottom-note{color:#a1aba2;align-items:center;gap:5px;padding:17px 2px;font-size:9px;display:flex}.bottom-note span{letter-spacing:.15em;color:#b6beb5;margin-left:auto;font-size:8px}footer{color:#9da99e;gap:10px;padding:27px 34px;font-size:9px;display:flex}footer span{color:#b7bfb4}.panel{padding:24px}.panel-heading{border-bottom:1px solid #edf0eb;justify-content:space-between;align-items:center;gap:10px;padding-bottom:18px;display:flex}.panel-heading h2{margin:0;font-size:16px}.panel-heading h2 small{color:#9ca897;margin-left:10px;font-weight:400}.panel-heading>span{color:#9aa58f;font-size:10px}.member-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:23px 0;display:grid}.member-card{border:1px solid #e5ebe1;border-radius:8px;align-items:start;gap:13px;padding:18px;display:flex}.member-card p{color:#97a48f;word-break:break-all;font-size:11px}.badge{color:#8a9a7f;background:#f0f3ec;border-radius:4px;padding:4px 8px;font-size:10px;display:inline-block}.badge.teacher,.badge.approved{color:#67896e;background:#eaf3ed}.badge.student{color:#7897b2;background:#edf3fa}.badge.pending{color:#b79b54;background:#fbf1db}.badge.rejected{color:#b38b7c;background:#f9eae5}.info{color:#85927a;white-space:pre-wrap;background:#f4f7f0;border-radius:7px;padding:14px;font-size:11px;line-height:1.9}.empty{text-align:center;color:#9cab95;padding:65px 16px}.empty>svg{color:#a9b8a1;margin:auto}.empty h3{font-size:14px;font-weight:500}.empty p{font-size:11px;line-height:1.8}.empty button{margin-top:8px;font-size:11px}.request-card{border-bottom:1px solid #edf0eb;justify-content:space-between;gap:20px;padding:24px 0;display:flex}.request-card h3{margin:12px 0;font-size:14px}.request-card h3 small{color:#8e9d86;margin-left:10px;font-weight:400}.request-card p{color:#83917c;font-size:11px;line-height:1.8}.request-card .reason{white-space:pre-wrap;color:#99a18d}.request-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.lesson-row{text-align:left;border:0;border-bottom:1px solid #edf0eb;border-radius:0;align-items:center;gap:25px;width:100%;padding:18px 22px;font-size:11px;display:flex}.lesson-row small{color:#95a18d;margin-top:6px;font-size:10px;font-weight:400;display:block}.lesson-row strong{flex:1}.lesson-row>span:last-of-type{color:#9aa68f}.error{color:#a16a54;background:#fff0e9;border:1px solid #f0d6c9;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;padding:12px 15px;font-size:12px;line-height:1.7;display:flex}.error button{color:inherit;background:0 0;border:0;padding:0}.loading{text-align:center;color:#9cac91;padding:70px 20px}.loading>svg{margin:auto}.loading h2{font-size:17px}.loading p{font-size:12px}.toast{color:#fff;z-index:100;background:#286956;border-radius:8px;align-items:center;gap:9px;padding:13px 23px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #284c332b}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:80;background:#18342766;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface,#f3f6f8);border-radius:16px;width:510px;max-width:100%;max-height:92dvh;padding:27px;overflow:auto;box-shadow:0 20px 90px #17382f30}.modal header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.modal h2{margin:9px 0 0;font-size:21px}.modal form label{color:#7d8e74;flex-direction:column;gap:8px;margin-bottom:17px;font-size:11px;font-weight:500;display:flex}.modal input,.modal select,.modal textarea{width:100%;padding:11px;font-size:13px}.modal textarea{resize:vertical;height:80px}.form-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.modal-actions .danger{color:#b3796a;background:0 0;border-color:#0000;margin-right:auto;padding:8px;font-size:10px}.detail h3{margin:18px 0;font-size:23px}.detail p{color:#829174;align-items:center;gap:10px;margin:19px 0;font-size:12px;display:flex}.detail .info{margin-top:23px}.login{background:radial-gradient(at 76% 30%,#dfe9d8 0,#0000 55%),#f5f7f0;max-width:none;min-height:100dvh;padding:40px 6vw}.login-card{background:#ffffffc9;border:1px solid #fff;border-radius:22px;max-width:520px;margin:10vh auto 0;padding:55px;box-shadow:0 20px 100px #30462b08}.login-card h1{letter-spacing:.03em;margin:22px 0;font-size:38px;font-weight:600;line-height:1.5}.login-card p{color:#8a9981;margin:25px 0 30px;font-size:13px;line-height:2.1}.login-button{text-align:center;padding:15px;font-size:13px;display:flex}.login-card small{text-align:center;color:#a5b09b;margin-top:15px;font-size:9px;display:block}.login-foot{text-align:center;color:#a5b09b;margin:25px;font-size:10px}.shade{display:none}@media (min-width:1500px){.day-cell{min-height:130px}.calendar-layout{grid-template-columns:minmax(0,1fr) 270px}.event{padding:6px;font-size:10px}.event small{font-size:10px}.sidebar{width:250px}.main-wrap{margin-left:250px}}@media (max-width:1200px){.sidebar{width:205px;padding:27px 14px 0}.main-wrap{margin-left:205px}main{padding:25px 22px 0}.topbar{padding:0 22px}.brand{font-size:17px}.school{padding:10px 6px;font-size:10px}.calendar-layout{grid-template-columns:minmax(0,1fr) 200px;gap:14px}.agenda{padding:20px 14px}.stats{gap:10px}.stats>div{gap:10px;padding:15px 12px}.stat-hint{display:none}.filterbar{padding:0 14px 15px}.filterbar select{width:110px}.calendar-toolbar{padding:18px 14px}.month-picker h2{margin-right:5px;font-size:18px}.segmented button{padding:6px 9px}.day-cell{min-height:95px;padding:5px 3px}.event,.event small,.stat-link{font-size:8px}.stat-icon{width:35px;height:39px}.stats strong{font-size:26px}}@media (max-width:1000px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.agenda{grid-template-columns:180px 1fr;gap:12px;display:grid}.agenda-title{border:0}.agenda-empty{text-align:left;flex-wrap:wrap;align-items:center;gap:14px;padding:10px;display:flex}.agenda-empty>div{width:40px;height:40px;margin:0}.agenda-empty p{display:none}.agenda-empty h3,.agenda-empty button{margin:0}.agenda-tip{display:none}.agenda-lesson{margin:0}.request-card{flex-direction:column}.panel-heading>span{display:none}}@media (max-width:760px){.sidebar{width:236px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.shade{z-index:30;background:#132f2759;border:0;border-radius:0;display:block;position:fixed;inset:0}.main-wrap{margin-left:0}.mobile-menu{margin-right:10px;display:inline-flex}.topbar{height:60px;padding:0 15px}.breadcrumb{font-size:10px}.breadcrumb span{padding:0 7px}.top-right{gap:8px;font-size:0}.top-right .live-dot{display:none}main{padding:23px 15px 0}.page-head{align-items:start;gap:10px;margin-bottom:22px}.page-head h1{margin:8px 0;font-size:22px}.page-head p{max-width:220px;font-size:10px}.page-head .primary{white-space:nowrap;gap:4px;margin-top:18px;padding:10px;font-size:10px}.page-head .primary svg{width:14px}.eyebrow{font-size:8px}.stats{gap:7px;margin-bottom:18px}.stats>div{align-items:start;gap:7px;padding:12px 9px}.stat-icon{border-radius:6px;width:25px;height:28px}.stat-icon svg{width:15px}.stats small{font-size:8px}.stats strong{margin-top:5px;font-size:23px}.stats em{margin-left:5px;font-size:8px}.stat-link{display:none}.calendar-toolbar{padding:16px 12px}.month-picker h2{font-size:19px}.month-picker .icon-button{padding:5px}.today-button{margin-left:3px}.segmented button{padding:6px 9px;font-size:9px}.filterbar{flex-wrap:wrap;gap:7px;padding:0 12px 13px}.search{flex-basis:100%}.filterbar select{flex:1;width:auto;font-size:10px}.day-cell{min-height:84px;padding:4px 2px}.day-number{width:22px;height:22px;margin-bottom:2px;font-size:10px}.event{border-left-width:2px;padding:4px 2px;font-size:8px}.event span{display:block}.event b{text-overflow:ellipsis;margin-top:2px;display:block;overflow:hidden}.event small{display:none}.weekdays span{padding:10px 0;font-size:9px}.calendar-footer{padding:10px 7px;font-size:7px}.calendar-footer>span:first-child{gap:3px}.dot{width:4px;height:4px;margin-left:3px}.agenda{grid-template-columns:130px 1fr;padding:16px 13px}.agenda-title h2{font-size:16px}.agenda-empty{justify-content:center;gap:8px}.agenda-empty>div{display:none}.agenda-empty h3{font-size:11px}.agenda-empty button{padding:6px;font-size:9px}.bottom-note{font-size:8px;line-height:1.7}.bottom-note span{display:none}footer{padding:20px 15px;font-size:8px}.panel{padding:18px}.member-grid{grid-template-columns:1fr}.request-card p{font-size:10px}.request-actions{justify-content:flex-end}.request-actions button{font-size:11px}.modal{padding:23px 19px}.modal-backdrop{padding:12px}.modal h2{font-size:20px}.modal-actions{gap:7px}.modal-actions button{font-size:11px}.lesson-row{gap:12px;padding:15px 12px;font-size:10px}.lesson-row>span:last-of-type{display:none}.login{padding:26px 20px}.login-card{margin-top:10vh;padding:32px 25px}.login-card h1{font-size:31px}.login-card p{font-size:12px}}:root{--primary:#286956;--primary-ink:#fff;--accent:#286956;--accent-ink:#fff;--tint:#edf4ef;--accent-tint:#edf4ef;--muted-primary:#93b4aa;color:#263532}body{background:#f3f6f8;font-size:14px}.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.app-shell{color:#263532}.sidebar{width:216px;padding:27px 16px 0}.main-wrap{margin-left:216px}.brand.school-brand{white-space:normal;overflow-wrap:anywhere;letter-spacing:0;color:#263532;border-top:4px solid var(--primary);padding:16px 8px 27px;font-size:18px;line-height:1.65;display:block}.sidebar nav{gap:5px}.sidebar nav button{color:#67746d;padding:13px 12px;font-size:14px}.sidebar nav .nav-active{color:#263532;background:var(--accent-tint);border-left:3px solid var(--accent);padding-left:9px}.sidebar nav b{background:var(--accent);color:var(--accent-ink)}.profile{margin-top:auto;font-size:12px}.avatar{background:var(--tint);color:#46584e}.profile small{font-size:11px}.topbar{height:58px}.breadcrumb{color:#69756d;font-size:13px}.top-right .avatar{display:none}main{padding-top:25px;padding-bottom:35px}.page-head{margin-bottom:22px}.page-head h1{letter-spacing:0;margin:0;font-size:24px;font-weight:650}.page-head .primary{margin-top:0;font-size:13px}.calendar-toolbar{padding:18px}.filterbar{padding:0 18px 16px}.search input,.filterbar select{font-size:12px}.filterbar select{width:142px}.search{background:var(--surface,#f3f6f8)}.day-number{color:#53655b;font-size:12px}.day-number.today{background:var(--primary)!important;color:var(--primary-ink)!important}.day-cell.selected{background:var(--tint)}.weekdays span{font-size:12px}.event,.event.color2{background:var(--tint);border-left-color:var(--primary);color:#344e42;font-size:10px}.event.color1{background:var(--accent-tint);border-left-color:var(--accent);color:#344e42}.event small,.calendar-footer{font-size:10px}.green-dot{background:var(--primary)}.amber-dot{background:var(--accent)}.agenda-title h2{margin-top:0;font-size:18px}.agenda-title>span:last-child{color:#7b887e;font-size:12px}.agenda-empty{padding:24px 0}.agenda-empty>div{display:none}.agenda-empty h3{color:#7a887d;font-size:13px}.agenda-empty button{background:var(--surface,#f3f6f8);color:#465a4d;font-size:12px}.agenda-lesson{border-color:var(--accent);background:var(--accent-tint)}.agenda-lesson small,.agenda-lesson>div:last-child{color:#657563;font-size:11px}.agenda-time{color:#435f4a}.agenda-time span{color:#748471}.badge.teacher,.badge.approved{background:var(--tint);color:#405c4a}.info{color:#61725e}.loading{color:#798778}.loading h2{color:#3d5143}.toast{background:var(--primary);color:var(--primary-ink)}.modal h2{margin-top:0;font-size:20px}.modal form label{color:#53664f;font-size:13px}.modal form label input,.modal form label select,.modal form label textarea{font-size:14px}.modal-actions button{font-size:13px}.empty h3{color:#6d7c68}.empty p{color:#8c9687;font-size:12px}.setup-line{background:var(--surface,#f3f6f8);border:1px solid #e3e8e2;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;display:flex}.setup-line>span{color:#84907e;font-size:12px}.setup-line button{color:#3d5746;border:0;padding:5px 8px;font-size:12px}.admin-panel{background:var(--surface,#f3f6f8);border:1px solid #e2e8e3;border-radius:10px;min-height:260px;overflow:hidden}.settings-tabs{border-bottom:1px solid #e3e8e2;gap:22px;padding:0 24px;display:flex;overflow:auto}.settings-tabs button{color:#7b8777;white-space:nowrap;background:0 0;border:0;border-radius:0;padding:17px 2px;font-size:14px}.settings-tabs button.active{border-bottom:3px solid var(--primary);color:#263532;font-weight:600}.settings-body{max-width:900px;padding:26px}.section-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.section-title h2,.school-form>h2{margin:0 0 9px;font-size:16px;font-weight:600}.section-title p{color:#84907f;margin:0;font-size:12px;line-height:1.7}.section-title .primary{white-space:nowrap;padding:10px 12px;font-size:12px}.hours-table{max-width:620px}.hours-labels,.hours-row{grid-template-columns:90px 90px 1fr 1fr;align-items:center;gap:22px;display:grid}.hours-labels{color:#8d9787;padding:0 10px 12px;font-size:12px}.hours-row{border-top:1px solid #edf0ea;padding:13px 10px}.hours-row>strong{font-size:13px;font-weight:500}.hours-row input[type=time]{color:#485e47;width:100%;padding:9px;font-size:14px}.closed-check{color:#85907e;cursor:pointer;align-items:center;gap:7px;font-size:12px;display:flex}.closed-check input{accent-color:var(--primary);width:15px;height:15px;margin:0}.hours-row.is-closed input[type=time]{opacity:.35;background:#f4f5f1}.field-hint{color:#889380;margin:14px 0;font-size:12px;line-height:1.8}.settings-actions{justify-content:flex-end;max-width:620px;margin-top:24px;display:flex}.roster-toolbar{justify-content:space-between;align-items:center;gap:16px;padding:24px 24px 13px;display:flex}.roster-filters{flex:1;gap:10px;min-width:0;display:flex}.roster-filters input{width:280px;max-width:100%;font-size:13px}.roster-filters select{min-width:100px;font-size:13px}.roster-toolbar>.primary{white-space:nowrap;font-size:13px}.list-count{color:#83917b;padding:4px 25px 17px;font-size:12px}.table-scroll{overflow:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;min-width:510px;font-size:13px}.admin-table th{color:#8b9683;white-space:nowrap;background:#fafbf9;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;padding:12px 24px;font-size:12px;font-weight:400}.admin-table td{color:#64735b;border-bottom:1px solid #edf0e9;padding:18px 24px;line-height:1.6}.admin-table td strong{color:#34472e;font-weight:500}.admin-table small{color:#9aa18f;margin-top:5px;font-size:11px;display:block}.row-actions{white-space:nowrap;text-align:right}.row-actions button{color:#7a8970;align-items:center;gap:5px;margin-left:5px;padding:7px 9px;font-size:12px;display:inline-flex}.simple-empty{color:#8c9782;text-align:center;padding:50px 24px;font-size:13px}.simple-empty button{margin:20px auto 0;font-size:12px;display:block}.required-label,.optional-label{color:#8c9782;font-size:10px;font-weight:400}:is(.modal form label:has(.required-label),.modal form label:has(.optional-label)){position:relative}.required-label,.optional-label{position:absolute;top:0;left:auto;right:0}.school-form{max-width:710px}.school-form>h2{margin-bottom:26px}.school-form>label{flex-direction:column;gap:10px;margin-bottom:25px;font-size:13px;display:flex}.school-form>label input{max-width:520px;font-size:15px}.theme-mode{border:0;flex-wrap:wrap;gap:22px;margin:0 0 27px;padding:0;display:flex}.theme-mode legend{margin-bottom:13px;font-size:13px}.theme-mode label{cursor:pointer;align-items:center;gap:7px;font-size:13px;display:flex}.theme-mode input{accent-color:var(--primary);margin:0}.color-field{margin:0 0 25px}.color-field>label{margin-bottom:13px;font-size:13px;display:block}.palette{flex-wrap:wrap;gap:9px;display:flex}.color-swatch{border:2px solid #fff;border-radius:50%;width:32px;height:32px;padding:0;font-size:15px;box-shadow:0 0 0 1px #e6eae3}.color-swatch.chosen{outline-offset:2px;outline:2px solid #5b6a52}.custom-color{color:#87917e;align-items:center;gap:10px;margin-top:15px;font-size:12px;display:flex}.custom-color input{cursor:pointer;width:36px;height:30px;padding:2px}.theme-preview{border:1px solid #e4e9df;border-radius:8px;max-width:520px;margin-top:25px;overflow:hidden}.theme-preview>small{color:#8e9985;background:#fbfcf9;padding:10px 14px;font-size:11px;display:block}.theme-preview-bar{border-top:4px solid var(--primary);padding:16px;font-size:16px;font-weight:600}.theme-preview-body{flex-wrap:wrap;align-items:center;gap:10px;padding:0 16px 18px;display:flex}.theme-preview-active{background:var(--accent-tint);border-left:3px solid var(--accent);color:#263532;border-radius:3px;padding:8px 13px;font-size:12px}.theme-preview-event{background:var(--tint);border-left:3px solid var(--primary);color:#263532;border-radius:3px;padding:8px 13px;font-size:12px}.theme-preview-button{background:var(--primary);color:var(--primary-ink);border-radius:5px;padding:9px 13px;font-size:12px}.school-form .settings-actions{max-width:520px}.settings-body .admin-table th,.settings-body .admin-table td{padding-left:12px;padding-right:12px}@media (min-width:1500px){.sidebar{width:216px}.main-wrap{margin-left:216px}}@media (max-width:1000px){.agenda{grid-template-columns:170px 1fr}.agenda-title{padding:0}.agenda-empty{padding:5px}.agenda-title h2{margin-bottom:8px}.profile small{font-size:10px}}@media (max-width:760px){.sidebar{width:216px}.main-wrap{margin-left:0}.page-head{align-items:center;margin-bottom:18px}.page-head h1{font-size:22px}.page-head .primary{padding:10px 12px;font-size:12px}.topbar{height:55px}.breadcrumb{font-size:12px}.filterbar select{width:auto;font-size:12px}.search input{padding:9px 0;font-size:12px}.day-number{font-size:11px}.event,.event.color1,.event.color2{padding:4px 2px;font-size:9px}.event small{display:none}.calendar-footer{font-size:8px}.agenda{grid-template-columns:120px 1fr}.agenda-empty h3{font-size:12px}.agenda-empty button{font-size:11px}.agenda-title h2{font-size:15px}.settings-tabs{gap:20px;padding:0 16px}.settings-tabs button{padding:15px 0;font-size:13px}.settings-body{padding:20px 15px}.section-title{align-items:start;gap:12px;margin-bottom:23px}.section-title h2,.school-form>h2{font-size:15px}.section-title p{font-size:11px}.section-title .primary{gap:4px;padding:9px;font-size:11px}.hours-labels,.hours-row{grid-template-columns:50px 47px 1fr 1fr;gap:9px;padding-left:0;padding-right:0}.hours-row>strong{font-size:12px}.hours-row input[type=time]{padding:8px 4px;font-size:13px}.closed-check{gap:4px;font-size:11px}.closed-check input{width:14px;height:14px}.hours-labels{font-size:11px}.settings-actions .primary{font-size:13px}.roster-toolbar{flex-wrap:wrap;gap:12px;padding:17px 15px 12px}.roster-filters{flex-basis:100%}.roster-filters input{flex:1;width:auto;min-width:0;font-size:12px}.roster-filters select{min-width:80px;font-size:12px}.roster-toolbar>.primary{margin-left:auto;font-size:12px}.list-count{padding-left:16px;font-size:11px}.admin-table th,.admin-table td{padding:12px 15px}.admin-table{min-width:480px;font-size:12px}.admin-table th,.field-hint{font-size:11px}.theme-mode{gap:15px}.theme-mode label{font-size:12px}.palette{gap:9px}.color-swatch{width:29px;height:29px}.school-form>label input{font-size:16px}.theme-preview-body{gap:7px}.theme-preview-body span{padding:8px 10px;font-size:11px}.setup-line{gap:5px;padding:10px}.setup-line>span{flex-basis:100%;font-size:11px}.setup-line button{padding:4px;font-size:11px}.modal form label{font-size:12px}.modal form label input,.modal form label select,.modal form label textarea{font-size:16px}.modal-actions button{font-size:12px}.custom-color input{width:38px}}.topbar{z-index:20;border-top:3px solid var(--primary);gap:12px;height:auto;min-height:64px;padding-top:12px;padding-bottom:12px;position:sticky;top:0}.topbar>div:first-child{flex:1;min-width:0}.persistent-school-name{overflow-wrap:anywhere;min-width:0;font-size:17px;font-weight:650;line-height:1.5}.top-right{flex-shrink:0}.system-brand.school-brand{letter-spacing:.02em;border-top:0;padding-top:4px;font-size:20px}.system-brand small{color:#97a198;letter-spacing:.03em;margin-top:2px;font-size:10px;font-weight:400}.mobile-menu{flex-shrink:0}.login-card h1{overflow-wrap:anywhere}@media (max-width:760px){.topbar{gap:8px;min-height:60px;padding:10px 15px}.persistent-school-name{font-size:15px}.topbar .mobile-menu{margin-right:10px}.topbar .top-right{gap:0}}.calendar-first main{max-width:1600px}.calendar-first .page-head{margin-bottom:18px}.calendar-first .bottom-nav{display:none}.calendar-home{max-width:1400px}.calendar-shortcuts{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.calendar-shortcuts button{background:var(--surface,#f3f6f8);border:1px solid #e1e7e0;align-items:center;gap:8px;padding:10px 13px;font-size:13px;display:flex}.calendar-shortcuts button b{background:var(--accent-tint);color:#324837;border-radius:20px;min-width:22px;padding:2px 6px;font-size:12px}.calendar-shortcuts button span{color:#87937f;margin-left:5px;font-size:11px}.placing-bar{background:#fff9e9;border:1px solid #ead4a5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:13px 15px;display:flex}.placing-bar strong{font-size:13px;display:block}.placing-bar small{color:#9a8b67;margin-top:5px;font-size:11px;display:block}.placing-bar button{flex-shrink:0;font-size:11px}.board-date{align-items:center;gap:5px;min-width:0;display:flex}.board-date h2{white-space:nowrap;margin:0 7px;font-size:18px;font-weight:600}.board-date .today-button{margin-left:8px;font-size:12px}.calendar-home .segmented button{padding:7px 16px;font-size:12px}.calendar-home .calendar-toolbar{gap:15px}.calendar-home .filterbar select{width:180px}.time-scroll{position:relative;overflow-x:auto}.time-grid{width:max-content;min-width:100%;display:grid;position:relative}.time-gutter-heading,.time-heading{background:var(--surface,#f3f6f8);text-align:center;border-bottom:1px solid #e3e9df;min-height:66px;padding:12px 5px}.time-heading{border-left:1px solid #e7ece3}.time-heading button{color:#4f664a;background:0 0;border:0;border-radius:0;padding:0;font-size:13px;font-weight:600}.time-heading small{color:#95a08b;margin-top:7px;font-size:10px;display:block}.time-heading.is-today{background:var(--tint)}.time-labels{background:#fafbf9;border-right:1px solid #e3e8de;position:relative}.time-labels span{text-align:center;color:#8e9d85;background:#fafbf9;font-size:9px;position:absolute;left:0;right:0;transform:translateY(-5px)}.time-labels span:first-child{transform:translateY(4px)}.time-column{isolation:isolate;background:var(--surface,#f3f6f8);border-right:1px solid #e9eee4;min-width:0;position:relative}.shift-background{background:var(--accent-tint);z-index:0;pointer-events:none;position:absolute;inset-inline:0}.time-slot{z-index:1;text-align:right;color:#b0bda5;background:0 0;border:0;border-bottom:1px solid #e8ede2;border-radius:0;justify-content:space-between;align-items:center;width:100%;height:44px;padding:3px 7px;display:flex;position:absolute;left:0;right:0}.time-slot span{color:#a0b18e;white-space:nowrap;font-size:9px}.time-slot svg{opacity:.55}.time-slot:disabled{cursor:default;opacity:1}.time-slot.closed-slot{background:repeating-linear-gradient(-45deg,#f5f6f2,#f5f6f2 4px,#f0f2ec 4px 5px)}.time-slot:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;z-index:5}.time-lesson{z-index:3;text-align:left;border:1px solid #fff;border-left:3px solid var(--primary);background:var(--tint);color:#354c31;border-radius:5px;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;padding:7px 9px;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 3px #233c2412}.time-lesson-time{color:#6f8565;white-space:nowrap;font-size:10px}.time-lesson strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.time-lesson>span:not(.time-lesson-time){white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;overflow:hidden}.time-lesson small{color:#8b9b7e;white-space:nowrap;font-size:10px}.pending-tag{color:#9b7a35;white-space:nowrap;background:#fff4cf;border-radius:3px;padding:2px 4px;font-size:8px;font-weight:500}.board-legend{color:#8c9980;border-top:1px solid #e5ebdf;gap:15px;padding:13px 18px;font-size:10px;display:flex}.board-legend span{align-items:center;gap:6px;display:flex}.board-legend span:last-child{margin-left:auto}.board-legend i{border-radius:2px;width:12px;height:10px}.legend-shift{background:var(--accent-tint);border:1px solid #c7d6bc}.legend-lesson{background:var(--tint);border-left:3px solid var(--primary)}.shift-guidance{color:#8c9a7d;padding:13px 2px;font-size:11px}.management-tabs{align-items:center;gap:7px;margin-bottom:20px;display:flex;overflow:auto}.management-tabs button{color:#8b9880;white-space:nowrap;background:0 0;border:0;padding:10px 13px;font-size:13px}.management-tabs .active{background:var(--accent-tint);color:#3f5635;font-weight:600}.management-tabs a{color:#95a18b;margin-left:auto;padding:8px}.queue-filters{border-bottom:1px solid #e9eee2;gap:8px;padding-bottom:17px;display:flex;overflow:auto}.queue-filters button{white-space:nowrap;border-color:#0000;padding:8px 12px;font-size:12px}.queue-filters .active{background:var(--tint);color:#3c5632}.queue-panel .request-card>.primary{white-space:nowrap;align-self:center;font-size:12px}.ops-hint{color:#8c9a7e;margin:0;padding:3px 24px 20px;font-size:11px;line-height:1.8}.lesson-tools{flex-wrap:wrap;gap:9px;margin-top:25px;display:flex}.lesson-tools button{align-items:center;gap:5px;font-size:12px;display:flex}.cancel-lesson{color:#b08d7b;background:0 0;border:0;margin-top:15px;padding:10px 0;font-size:11px}.billing-summary{flex-wrap:wrap;gap:30px;padding:15px 24px 24px;display:flex}.billing-summary>span{color:#8d9b7f;font-size:11px}.billing-summary b{color:#425a36;margin-top:9px;font-size:22px;font-weight:600;display:block}.payment-row{border-bottom:1px solid #e8eee0;align-items:center;gap:12px;padding:17px 0;font-size:12px;display:flex}.payment-row span:first-child{flex:1}.payment-row small{color:#9ba78e;white-space:pre-wrap;margin-top:4px;font-size:10px;display:block}.payment-row button{font-size:10px}.calendar-first .toast{bottom:26px}.calendar-first .calendar-card{overflow:hidden}.calendar-home .time-grid{width:100%}.calendar-home .week-view .time-grid{min-width:1026px}.calendar-home .day-view .time-grid{min-width:100%}@media (max-width:1000px){.board-date h2{font-size:16px}.calendar-home .calendar-toolbar{flex-wrap:wrap}.calendar-home .calendar-toolbar .segmented{margin-left:auto}}@media (max-width:760px){.calendar-first .sidebar{display:none}.calendar-first .main-wrap{margin-left:0}.calendar-first main{padding:18px 12px calc(85px + env(safe-area-inset-bottom))}.calendar-first .topbar{padding:10px 15px}.calendar-first .page-head h1{font-size:21px}.calendar-first .page-head .primary{padding:9px 11px;font-size:11px}.calendar-first .bottom-nav{height:calc(65px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);background:var(--surface,#f3f6f8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:35;border-top:1px solid #e1e8db;justify-content:space-around;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.calendar-first .bottom-nav button{color:#99a58b;background:0 0;border:0;border-radius:7px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;padding:6px 3px;font-size:10px;line-height:1.1;display:flex}.calendar-first .bottom-nav button.active{color:#344e2a;background:var(--tint);font-weight:600}.calendar-first .toast{bottom:calc(80px + env(safe-area-inset-bottom));white-space:nowrap;font-size:12px}.calendar-shortcuts{gap:7px;margin-bottom:12px}.calendar-shortcuts button{gap:6px;padding:9px 10px;font-size:11px}.calendar-shortcuts button svg{width:15px}.calendar-shortcuts button span{display:none}.calendar-shortcuts button b{min-width:19px;padding:2px 5px;font-size:10px}.calendar-home .calendar-toolbar{flex-wrap:wrap;gap:11px;padding:13px 9px}.board-date{flex:1;gap:0;min-width:210px}.board-date h2{margin:0 2px;font-size:15px}.board-date .icon-button{padding:4px}.board-date .today-button{margin-left:5px;padding:5px 7px;font-size:10px}.calendar-home .segmented{margin-left:auto}.calendar-home .segmented button{padding:6px 12px;font-size:11px}.calendar-home .filterbar{flex-wrap:nowrap;gap:7px;padding:0 9px 13px}.calendar-home .filterbar .search{flex-basis:auto;min-width:100px}.calendar-home .filterbar input{font-size:11px}.calendar-home .filterbar select{flex:0 0 125px;width:125px;padding:8px 5px;font-size:11px}.time-heading{min-height:56px;padding:9px 4px}.time-heading button{font-size:12px}.time-heading small{margin-top:5px;font-size:9px}.time-lesson{gap:3px;padding:6px}.time-lesson strong{font-size:12px}.time-lesson>span:not(.time-lesson-time){font-size:11px}.time-lesson small{font-size:9px}.board-legend{gap:12px;padding:12px 10px;font-size:9px}.board-legend span:last-child{font-size:8px}.shift-guidance{font-size:10px;line-height:1.8}.management-tabs{gap:2px;margin-bottom:14px}.management-tabs button{padding:9px 10px;font-size:11px}.management-tabs a{padding:6px}.queue-panel{padding:15px}.queue-filters{gap:3px}.queue-filters button{padding:7px 9px;font-size:11px}.queue-panel .request-card>.primary{align-self:flex-end}.billing-summary{gap:18px;padding:12px 15px 20px}.billing-summary>span{font-size:10px}.billing-summary b{margin-top:7px;font-size:19px}.ops-hint{padding:5px 15px 18px;font-size:10px}.placing-bar{gap:8px;padding:11px}.placing-bar strong{font-size:11px}.placing-bar small{font-size:9px}.placing-bar button{padding:7px;font-size:10px}.calendar-home .day-cell{min-height:90px}}.month-board .day-cell{min-height:120px;padding:6px 4px;position:relative}.month-day-target{text-align:left;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:flex-start;width:100%;height:100%;padding:6px;display:flex;position:absolute;inset:0}.month-day-target:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.month-board .day-cell:nth-child(7n+1) .day-number{color:#697f70}.month-board .day-cell:nth-child(7n+6) .day-number{color:#7e9db6}.month-board .day-cell:nth-child(7n) .day-number{color:#ba918b}.month-board .month-events{pointer-events:none;margin-top:30px;position:relative}.month-board .month-events button{pointer-events:auto}.month-board .event{z-index:1;position:relative}.month-board .more{z-index:1;font-size:10px;position:relative}.day-details{width:520px}.day-detail-lesson{text-align:left;background:var(--tint);border:0;border-left:3px solid var(--primary);width:100%;margin-bottom:12px;padding:14px 30px 14px 14px;line-height:1.6;display:block;position:relative}.day-detail-lesson>span{color:#758767;font-size:12px;display:block}.day-detail-lesson>strong{margin-top:5px;font-size:15px;display:block}.day-detail-lesson>p{margin:6px 0 2px;font-size:13px}.day-detail-lesson>small{color:#859776;font-size:11px}.day-detail-lesson>svg{color:#8da17d;position:absolute;top:50%;right:10px}.day-detail-lesson>.badge{width:max-content;margin-top:7px;display:block}.day-detail-shifts{border-top:1px solid #e7eddf;margin-top:20px;padding-top:17px}.day-detail-shifts h3{color:#819471;margin:0 0 12px;font-size:12px;font-weight:500}.day-detail-shifts>div{color:#5b7350;justify-content:space-between;gap:14px;padding:8px 0;font-size:12px;display:flex}.day-detail-shifts strong{font-weight:500}.day-detail-shifts p{color:#9ba68e;font-size:12px}@media (max-width:760px){.month-board .day-cell{min-height:100px;padding:4px 2px}.month-board .month-events{margin-top:27px}.month-day-target{padding:4px 3px}.month-board .event{margin:2px 0;padding:3px 2px;font-size:8px}.month-board .more{padding:2px;font-size:8px}.day-details .modal-actions{gap:7px}.day-details .modal-actions button{padding:10px;font-size:11px}.day-detail-lesson{padding:12px 27px 12px 12px}.day-detail-lesson>strong{font-size:14px}.month-board .day-cell{min-height:90px}.month-board .event span{white-space:nowrap;line-height:1.3}.month-board .event b{margin:0;display:inline}.month-board .event small{display:none}.calendar-first .bottom-nav button{min-width:0;padding:6px 1px;font-size:9px}.calendar-first .bottom-nav button span{white-space:nowrap}.calendar-first .bottom-nav button svg{width:20px;height:20px}}.plain-calendar .calendar-toolbar{border-bottom:1px solid #e6ebe3;flex-wrap:nowrap;padding:17px 18px}.plain-calendar .calendar-add{flex-shrink:0;padding:9px 13px;font-size:12px}.calendar-first main:has(.plain-calendar){padding-top:22px}@media (max-width:760px){.calendar-first main:has(.plain-calendar){padding-top:12px}.plain-calendar .calendar-toolbar{flex-wrap:nowrap;gap:7px;padding:12px 9px}.plain-calendar .board-date{flex:1;min-width:0}.plain-calendar .board-date h2{white-space:nowrap;font-size:16px}.plain-calendar .calendar-add{gap:3px;padding:8px 9px;font-size:10px}.plain-calendar .calendar-add svg{width:14px}.plain-calendar .today-button{margin-left:3px;padding:5px 6px}.plain-calendar .month-board .day-cell{min-height:106px}}@media (max-width:350px){.plain-calendar .calendar-add span{display:none}.plain-calendar .calendar-add{padding:9px}.plain-calendar .board-date h2{font-size:15px}}.teacher-courses{max-width:300px;margin-top:8px}.teacher-courses>div{flex-wrap:wrap;gap:5px;display:flex}.teacher-course-tag{background:var(--tint);color:#536b46;border-radius:4px;padding:3px 6px;font-size:10px;line-height:1.6;display:inline-block}.teacher-courses>button{background:var(--surface,#f3f6f8);margin-top:8px;padding:5px 7px;font-size:10px}.teacher-plan-picker{border:1px solid #e2e8db;border-radius:8px;margin:3px 0 20px;padding:14px}.teacher-plan-picker legend{color:#5a7050;padding:0 5px;font-size:13px}.teacher-plan-picker>p{color:#8c9c7f;margin:0 0 10px;font-size:11px;line-height:1.8}.teacher-plan-picker>div{max-height:240px;overflow-y:auto}.modal .teacher-plan-picker>div>label{cursor:pointer;border-bottom:1px solid #edf0e8;flex-direction:row;align-items:center;gap:10px;margin:0;padding:9px 3px;display:flex}.modal .teacher-plan-picker input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary);flex-shrink:0;padding:0}.teacher-plan-picker span{display:block}.teacher-plan-picker strong{font-size:12px;font-weight:500}.teacher-plan-picker small{color:#92a183;margin-top:3px;font-size:10px;display:block}@media (max-width:760px){.teacher-courses{max-width:170px}.teacher-course-tag{font-size:9px}.teacher-plan-picker{padding:11px}.teacher-plan-picker legend{font-size:12px}}.student-add-lesson{color:var(--primary);white-space:nowrap;align-items:center;gap:4px;margin-top:8px;padding:5px 0;font-size:12px;font-weight:600;display:flex}.weekly-lessons{padding-top:4px}.modal form .weekly-check{cursor:pointer;flex-direction:row;align-items:center;gap:9px;display:flex}.modal form .weekly-check input{width:18px;height:18px;accent-color:var(--primary);flex:none}.weekly-lessons .field-hint{font-weight:400;line-height:1.6}.student-edit-add{border:1px solid var(--primary);background:var(--tint);width:100%;color:var(--primary);border-radius:7px;justify-content:center;align-items:center;gap:6px;margin-top:8px;padding:12px;font-size:14px;font-weight:600;display:flex}.course-toolbar{justify-content:flex-end;padding:20px;display:flex}.course-list{padding:0 20px 20px}.course-list section{margin-bottom:22px}.course-list h2{color:#687771;margin:0 0 8px;font-size:13px}.course-row{text-align:left;border-bottom:1px solid #e8ede9;justify-content:space-between;align-items:center;width:100%;padding:16px 12px;display:flex}.course-row strong{font-size:15px;display:block}.course-row small{color:#718078;margin-top:5px;font-size:12px;display:block}@media (max-width:760px){.calendar-first .bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr))}.bottom-nav button{min-width:0}.calendar-first .bottom-nav button span{font-size:9px}.course-toolbar,.course-list{padding-left:15px;padding-right:15px}}.assignment-category{margin:12px 0 18px}.assignment-category h3{color:#718078;margin:0 0 6px;font-size:12px;font-weight:600}.assignment-category:last-child{margin-bottom:0}.plain-calendar .month-board.compact-counts .day-cell{height:76px;min-height:76px;padding:0}.compact-counts .month-day-target{flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px 9px}.compact-counts .day-number{margin:0}.lesson-count{min-width:40px;color:var(--primary);background:var(--tint);border-radius:6px;justify-content:center;align-self:center;align-items:center;margin-bottom:3px;padding:4px 9px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}@media (max-width:760px){.plain-calendar .month-board.compact-counts .day-cell{height:64px;min-height:64px}.compact-counts .month-day-target{padding:4px 3px}.compact-counts .lesson-count{min-width:32px;margin-bottom:2px;padding:3px 6px;font-size:11px}}.lesson-count{gap:5px}.lesson-count svg{flex-shrink:0}.lesson-count.status-normal{color:#16804a;background:#edf8f0}.lesson-count.status-warning{color:#986900;background:#fff5d6}.day-status-warning{color:#916500;background:#fff8e5;border:1px solid #eddaa4;border-radius:7px;align-items:center;gap:8px;margin-bottom:15px;padding:12px;font-size:12px;display:flex}.day-status-warning svg{flex-shrink:0}.day-status-warning>span{flex:1}.day-status-warning button{white-space:nowrap;background:#fffdf6;border-color:#eddaa4;padding:6px 8px;font-size:11px}.day-waiting-lesson{background:#fffbef;border-radius:7px;align-items:center;gap:9px;margin-bottom:12px;padding:12px;font-size:12px;display:flex}.day-waiting-lesson strong{font-weight:600}.day-waiting-lesson>span:last-child{margin-left:auto}@media (max-width:760px){.compact-counts .lesson-count{gap:3px;min-width:0;padding:3px 4px}.compact-counts .lesson-count svg{width:12px;height:12px}.day-status-warning{gap:6px;font-size:11px}.day-waiting-lesson{flex-wrap:wrap}}.day-date-line{align-items:center;gap:3px;max-width:100%;display:flex}.day-status-icon{background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.day-status-icon.status-normal{color:#18844a}.day-status-icon.status-warning{color:#bd8a09}.day-status-icon svg{stroke-width:2.4px}.compact-counts .lesson-count{color:#435851;background:0 0;border:0;border-radius:0;min-width:0;margin-bottom:8px;padding:0;font-size:15px;font-weight:500;line-height:1}.month-select-trigger{white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:5px;font-size:18px;font-weight:600;display:inline-flex}.month-picker-dialog{width:340px}.month-wheels{grid-template-columns:1fr 1fr;gap:24px;padding:8px 12px 20px;display:grid}.month-wheel{text-align:center;min-width:0}.wheel-label{color:#7d8d82;margin-bottom:10px;font-size:12px;display:block}.wheel-options{overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;height:180px;padding-block:72px;position:relative;overflow-y:auto}.wheel-options::-webkit-scrollbar{display:none}.wheel-options button{scroll-snap-align:center;color:#9ba59d;background:0 0;border:0;border-radius:0;width:100%;height:36px;padding:0;font-size:16px;font-weight:400;line-height:36px;display:block}.wheel-options button.wheel-selected{color:var(--primary);background:#f5f7f5;font-weight:650}.month-picker-dialog .modal-actions{margin-top:8px}@media (max-width:760px){.plain-calendar .board-date{gap:0}.month-select-trigger{gap:2px;padding:5px 1px;font-size:15px}.month-select-trigger svg{width:12px}.day-date-line{gap:0}.day-status-icon svg{width:12px;height:12px}.compact-counts .lesson-count{margin-bottom:8px;padding:0;font-size:14px}.month-wheels{gap:16px}}.system-brand.school-brand{letter-spacing:0;white-space:nowrap;font-size:17px}.app-shell{color:var(--text);background:linear-gradient(135deg,var(--page-bg),var(--accent-page-bg))}.app-shell .main-wrap{background:0 0}.app-shell .sidebar,.app-shell .topbar{background:var(--surface-soft);border-color:var(--border)}.app-shell .topbar{border-top-color:var(--primary)}.app-shell .persistent-school-name,.app-shell .system-brand{color:var(--primary-strong)}.app-shell button,.app-shell input,.app-shell select,.app-shell textarea{color:var(--text-secondary);border-color:var(--border)}.app-shell .primary,.app-shell .toast{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}:is(.app-shell button:focus-visible,.app-shell a:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible,.app-shell textarea:focus-visible){outline-color:var(--primary)}.app-shell input[type=checkbox],.app-shell input[type=radio]{accent-color:var(--primary)}.app-shell .sidebar nav .nav-active{color:var(--accent-strong);background:var(--accent-tint);border-left-color:var(--accent)}.app-shell .profile,.app-shell .calendar-card,.app-shell .admin-panel,.app-shell .panel,.app-shell .modal,.app-shell .course-row,.app-shell .teacher-plan-picker{border-color:var(--border)}.app-shell .profile,.app-shell .profile small,.app-shell nav button,.app-shell .course-row small,.app-shell .course-list h2,.app-shell .assignment-category h3{color:var(--text-muted)}.app-shell .avatar,.app-shell .teacher-course-tag{background:var(--tint);color:var(--primary-strong)}.app-shell .settings-tabs button.active{color:var(--primary-strong);border-bottom-color:var(--primary)}.app-shell .management-tabs .active{background:var(--accent-tint);color:var(--accent-strong)}.app-shell .queue-filters .active{background:var(--tint);color:var(--primary-strong)}.app-shell .admin-table th,.app-shell .weekdays{background:var(--surface-soft);color:var(--text-muted);border-color:var(--border)}.app-shell .admin-table td,.app-shell .day-cell,.app-shell .calendar-toolbar,.app-shell .day-detail-shifts,.app-shell .teacher-plan-picker label{border-color:var(--border)}.app-shell .admin-table td,.app-shell .admin-table small,.app-shell .weekdays span,.app-shell .field-hint,.app-shell .list-count,.app-shell .section-title p,.app-shell .teacher-plan-picker legend,.app-shell .teacher-plan-picker p{color:var(--text-secondary)}.app-shell .admin-table td strong,.app-shell .section-title h2,.app-shell .page-head h1,.app-shell .course-row strong{color:var(--text)}.app-shell .day-cell.outside{background:var(--surface-soft)}.app-shell .day-cell.selected{background:var(--tint)}.app-shell .day-number,.app-shell .lesson-count{color:var(--text-secondary)}.app-shell .day-number.today{background:var(--primary)!important;color:var(--primary-ink)!important}.app-shell .event,.app-shell .day-detail-lesson{background:var(--tint);border-left-color:var(--primary);color:var(--text)}.app-shell .day-detail-lesson>span,.app-shell .day-detail-lesson>small,.app-shell .day-detail-lesson>svg,.app-shell .day-detail-shifts h3,.app-shell .day-detail-shifts>div{color:var(--text-secondary)}.app-shell .badge.teacher,.app-shell .badge.approved{background:var(--tint);color:var(--primary-strong)}.app-shell .student-add-lesson{color:var(--primary-strong)}.app-shell .student-edit-add{background:var(--tint);border-color:var(--primary);color:var(--primary-strong)}.app-shell .wheel-options .wheel-selected{background:var(--tint);color:var(--primary-strong)}.app-shell .modal{box-shadow:0 20px 90px rgb(var(--theme-rgb) / .18)}.app-shell .day-status-icon.status-normal{color:#18844a}.app-shell .day-status-icon.status-warning{color:#bd8a09}.app-shell .day-status-warning button{color:#916500;background:#fffdf6;border-color:#eddaa4}.login{color:var(--text);background:radial-gradient(ellipse at 76% 30%,var(--accent-tint) 0,transparent 55%),var(--page-bg)}.login-card{border-color:var(--border)}.login .primary{background:var(--primary);color:var(--primary-ink);border-color:var(--primary)}.app-shell .palette{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:520px;display:grid}.app-shell .palette-choice{border:1px solid var(--border);background:var(--surface,#f3f6f8);color:var(--text-secondary);border-radius:8px;flex-direction:column;align-items:center;gap:7px;padding:9px 4px;font-size:11px;display:flex}.app-shell .palette-choice.chosen{border-color:var(--primary);background:var(--tint);color:var(--primary-strong)}.palette-dot{border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;line-height:1;display:grid}@media (max-width:760px){.calendar-first .bottom-nav{background:var(--surface-soft);border-color:var(--border)}.calendar-first .bottom-nav button.active{background:var(--accent-tint);color:var(--accent-strong)}.app-shell .palette-choice{gap:6px;padding:8px 2px;font-size:10px}}.app-shell .sidebar nav button:not(.nav-active){background:0 0}.subject-tabs{border-bottom:1px solid var(--border);grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:20px;display:grid}.subject-tabs button{color:var(--text-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:13px 4px;font-weight:600}.subject-tabs button.active{color:var(--primary-strong);border-bottom-color:var(--primary)}@media (max-width:600px){.subject-tabs{margin-bottom:16px}.subject-tabs button{padding:12px 2px;font-size:14px}}.app-shell .month-board .day-cell.is-school-closed{background:#eceeef}.app-shell .month-board .is-school-closed .lesson-count{color:#535d65}.day-closure-label{color:#66717a;margin:0 0 16px;font-size:13px;font-weight:600}.holiday-setting{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;max-width:680px;margin-bottom:20px;padding:16px 0 20px;display:flex}.holiday-setting strong{font-size:13px;font-weight:600}.holiday-setting small{color:var(--text-secondary);margin-top:6px;font-size:11px;display:block}.app-shell .holiday-switch{color:#4b5563;background:#e5e7eb;border:0;border-radius:20px;justify-content:center;align-items:center;gap:7px;min-width:80px;padding:8px 12px;font-weight:600;display:inline-flex}.holiday-switch>span{background:var(--surface,#f3f6f8);border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0002}.app-shell .holiday-switch.enabled{background:var(--primary);color:var(--primary-ink)}.closures-settings h2{margin-top:0}.closures-settings .holiday-setting{max-width:none}.closure-hint{color:var(--text-secondary);margin:0 0 14px;font-size:12px}.closures-settings .closure-calendar{max-width:780px}.closure-calendar .day-cell{height:68px;min-height:68px;padding:0;position:relative}.app-shell .closure-day-target{background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:space-between;align-items:flex-start;width:100%;height:100%;padding:8px 10px;display:flex}.closure-day-target small{color:#66717a;align-self:center;margin-bottom:2px;font-size:11px}.closure-day-target .day-number{margin:0}@media (max-width:760px){.closures-settings{padding:18px 12px}.closure-calendar .day-cell{height:58px;min-height:58px}.app-shell .closure-day-target{padding:6px}.closure-day-target small{font-size:10px}.closure-calendar .calendar-toolbar{padding:12px 6px}.closures-settings .holiday-setting{gap:8px}}.closure-save-bar{background:var(--surface,#f3f6f8);z-index:5;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:14px 0;display:flex;position:sticky;bottom:0}.closure-save-bar>span{color:var(--text-secondary);font-size:11px}.closure-save-bar>.primary{min-width:110px}@media (max-width:760px){.closure-save-bar{bottom:72px}}.credential-login .login-card{text-align:left;width:min(420px,100%);padding:32px}.credential-login h1{overflow-wrap:anywhere;margin:0 0 10px;font-size:23px}.credential-login .login-caption{color:var(--text-secondary);margin:0 0 25px;font-size:13px}.credential-login form{gap:18px;display:grid}.credential-login label{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:13px;display:flex}.credential-login input{border:1px solid var(--border);background:var(--surface,#f3f6f8);width:100%;color:var(--text);border-radius:7px;padding:12px;font-size:16px}.credential-login .login-button{width:100%;font-size:14px}.credential-login label small{text-align:left;margin:0;font-size:11px;line-height:1.6}.credential-login .login-help{color:var(--text-secondary);margin-top:22px;font-size:11px;line-height:1.9}.credential-login .admin-entry{color:var(--primary-strong);margin-top:18px;font-size:12px;display:block}.credential-login .login-card>small{text-align:center;color:var(--text-muted);margin-top:24px;font-size:11px;display:block}.credential-login .login-success{background:var(--tint);color:var(--text);border-radius:6px;padding:12px;font-size:12px;line-height:1.7}.activation-person{margin:0;font-size:14px}.account-access-button{white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:inline-flex}.account-access-modal form>button{margin:4px 0 12px}.account-state{color:var(--text-secondary);margin:-5px 0 16px;font-size:12px}.setup-link-box{border-top:1px solid var(--border);margin-top:16px;padding-top:18px}.setup-link-box>button{align-items:center;gap:6px;display:inline-flex}.setup-link-box p{color:var(--text-secondary);font-size:11px;line-height:1.8}.account-secondary-actions{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.account-secondary-actions button,.text-action{font-size:11px}.row-actions .account-access-button{padding:5px 7px}.sidebar .profile>button{margin-left:auto}.settings-tabs{white-space:nowrap;overflow-x:auto}@media (max-width:760px){.credential-login .login-card{padding:25px 20px}.credential-login{padding:24px 16px}.account-access-modal h2{font-size:15px}}.roster-name{align-items:center;gap:5px;display:inline-flex}.account-link-status{align-items:center;display:inline-flex}.account-link-status.linked{color:#18844a}.account-link-status.unlinked{color:#bd8a09}.account-link-status svg{stroke-width:2.4px}.login .admin-entry{text-align:left;background:0 0;border:0;padding:0}.payroll-panel .ops-hint{max-width:760px}.payroll-note{padding:16px 24px}.payroll-total{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding-bottom:16px;display:flex}.payroll-total strong{font-size:24px}.payroll-lessons{max-height:52vh;overflow:auto}.payroll-lessons>div{border-bottom:1px solid var(--border);gap:5px;padding:14px 0;display:grid}.payroll-settings .preparation-input{max-width:300px}.payroll-formula{color:var(--text-secondary);gap:6px;margin:20px 0;font-size:13px;display:grid}.payroll-settings .settings-actions{align-items:center;gap:16px;display:flex}.payroll-settings-results{border-top:1px solid var(--border);padding-top:24px}.payroll-settings-results>h2{margin:0 24px 8px;font-size:16px}.payroll-time-summary{border-bottom:1px solid var(--border);gap:8px;padding-bottom:16px;display:grid}.payroll-time-summary>span{color:var(--text-secondary);justify-content:space-between;gap:12px;font-size:13px;display:flex}.payroll-table td{white-space:nowrap}.payroll-lessons small{color:var(--text-muted)}.exclusion-choices{border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-height:42vh;margin:16px 0;overflow:auto}.exclusion-choices>label{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;margin:0;padding:13px 8px;display:flex}.exclusion-choices>label:last-child{border:0}.exclusion-choices input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin:0}.exclusion-choices small{color:var(--text-muted);margin-top:3px;display:block}.exclusion-choices strong{font-size:14px;font-weight:500}.member-exclusion-modal{white-space:normal;text-align:left}.modal form .exclusion-choices>label{flex-direction:row;align-items:center;gap:12px;margin:0}.member-exclusion-modal .field-hint{white-space:normal}.member-exclusion-modal .exclusion-choices strong{color:var(--text)}.payroll-summary-table{table-layout:fixed;min-width:0}.payroll-summary-table th,.payroll-summary-table td{white-space:normal;overflow-wrap:anywhere}.payroll-amount strong{font-variant-numeric:tabular-nums;font-size:17px}.payroll-amount small{font-size:12px}@media (max-width:700px){.payroll-summary-table th,.payroll-summary-table td{padding:14px 10px}.payroll-amount strong{font-size:15px}.payroll-amount small{font-size:11px}.payroll-summary-table td:first-child{font-size:12px}}.roster-scroll{overflow:visible}.roster-table{min-width:0}.roster-table .member-name{min-width:150px}.member-actions{position:relative}.row-actions .modal{white-space:normal;text-align:left}.row-actions .modal button{margin-left:0}.course-price{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:12px;font-size:13px;display:flex}.roster-table .member-actions>button,.roster-table .member-actions>.account-access-button{padding:7px 9px}.modal .field-hint{white-space:normal}@media (max-width:700px){.roster-scroll .roster-table,.roster-scroll tbody{width:100%;display:block}.roster-scroll thead{display:none}.roster-scroll tr{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:8px 10px;padding:16px;display:grid}.roster-scroll .roster-table td{white-space:normal;border:0;min-width:0;padding:0}.roster-table .member-name{grid-column:1/3}.roster-table .member-name strong{font-size:15px}.roster-table .member-name small{margin-top:2px}.roster-table .member-state{text-align:right;grid-area:1/3}.roster-table .member-grade{grid-area:2/1}.roster-table .member-school{color:var(--text-secondary);grid-area:2/2/auto/-1}.roster-table .member-actions{text-align:left;grid-column:1/-1;align-items:center;gap:6px;margin-top:6px;display:flex}.roster-table .member-actions>button,.roster-table .member-actions>.account-access-button{min-height:36px;margin:0;padding:8px 10px}.roster-table .member-rate{text-align:right;white-space:nowrap;grid-area:1/3}.course-price{gap:6px;font-size:12px}.profile{padding-right:12px}}.app-shell .month-board .day-cell.is-school-closed{background:#d5dce3;border-bottom-color:#fff;border-right-color:#fff}.app-shell .month-board .day-cell.is-school-closed.selected{box-shadow:inset 0 0 0 2px var(--primary);background:#cbd4de}.app-shell .month-board .is-school-closed .day-number:not(.today),.app-shell .month-board .is-school-closed .closure-day-target small{color:#47515e}.teacher-assignment-link{color:var(--primary-strong);background:0 0;border:0;margin-top:3px;padding:4px 0;font-size:11px;display:block}@media (max-width:700px){.roster-table .member-actions{flex-wrap:wrap}.roster-table .member-actions>button,.roster-table .member-actions>.account-access-button{padding:8px;font-size:11px}.roster-table .member-name .teacher-assignment-link{font-size:11px}}.reschedule-panel .queue-filters{padding:0 0 18px}.queue-count{background:var(--tint);min-width:19px;height:19px;color:var(--primary-strong);border-radius:50%;place-items:center;margin-left:7px;padding:0 5px;font-size:11px;display:inline-grid}.reschedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.reschedule-card{background:var(--surface,#f3f6f8);border:1px solid var(--border);border-radius:14px;flex-direction:column;min-width:0;padding:22px;display:flex}.reschedule-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.reschedule-card-head>strong{font-size:15px}.reschedule-card h2{margin:14px 0 5px;font-size:17px}.reschedule-teacher{color:var(--text-secondary);margin:0 0 18px;font-size:12px}.reschedule-date{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:6px 12px;padding:14px 0;display:grid}.reschedule-date>span{color:var(--text-muted);grid-column:1/-1;font-size:11px}.reschedule-date strong,.reschedule-date b{font-size:14px;font-weight:500}.reschedule-pending{color:var(--primary-strong);margin:14px 0 0;font-size:12px}.reschedule-reason{color:var(--text-secondary);overflow-wrap:anywhere;margin:12px 0 0;font-size:12px;line-height:1.7}.reschedule-actions{justify-content:flex-end;gap:10px;margin-top:auto;padding-top:20px;display:flex}.reschedule-actions button{padding:10px 14px;font-size:13px}@media (max-width:700px){.reschedule-grid{grid-template-columns:1fr;gap:12px}.reschedule-card{padding:18px}.reschedule-actions button{min-height:40px}.reschedule-date strong,.reschedule-date b{font-size:13px}}.placement-legend{color:var(--text-secondary);flex-wrap:wrap;gap:10px 18px;margin-bottom:12px;font-size:12px;display:flex}.placement-legend>span{align-items:center;gap:7px;display:flex}.placement-legend>span:before{content:"";background:#d5dce3;border-radius:3px;width:12px;height:12px}.placement-legend .original:before{background:#bde2cb}.placement-legend .other:before{background:#c8dbfa}.app-shell .month-board .day-cell.placement-original{background:#e0f0e6;border-color:#fff}.app-shell .month-board .day-cell.placement-other{background:#e3edfc;border-color:#fff}.app-shell .month-board .day-cell.placement-unavailable{background:#d5dce3;border-color:#fff}.app-shell .month-board .day-cell.placement-original.selected,.app-shell .month-board .day-cell.placement-other.selected{box-shadow:inset 0 0 0 2px var(--primary)}.placement-choices label{flex-direction:column;gap:10px;margin-top:20px;font-size:13px;display:flex}.placement-choices select{width:100%}.reschedule-notice{text-align:left;background:var(--tint);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.reschedule-notice>svg{color:var(--primary);flex-shrink:0}.notice-link{white-space:nowrap;color:var(--primary-strong);margin-left:auto;font-weight:600}.reschedule-settings{max-width:620px}.reschedule-toggle{justify-content:space-between;align-items:center;gap:20px;flex-direction:row!important;display:flex!important}.reschedule-toggle select{width:110px}.student-request-action{margin-top:20px}@media (max-width:600px){.reschedule-notice{gap:8px;padding:10px;font-size:12px}}.day-details:has(.day-schedule){width:600px}.schedule-tabs{background:var(--surface-soft);border-radius:10px;gap:4px;margin:4px 0 22px;padding:4px;display:flex}.schedule-tabs button{color:var(--text-secondary);background:0 0;border:0;border-radius:7px;flex:1;padding:10px;font-size:14px}.app-shell .schedule-tabs button[aria-selected=true]{background:var(--primary);color:var(--primary-ink);font-weight:600}.person-schedule+.person-schedule{margin-top:26px}.person-schedule h3{color:var(--text);margin:0 0 12px;font-size:15px}.schedule-shift{color:var(--text-secondary);margin:-4px 0 14px;font-size:12px}.schedule-entry{grid-template-columns:54px minmax(0,1fr);gap:14px;margin-bottom:12px;display:grid;position:relative}.schedule-entry:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:14px;bottom:-25px;left:61px}.schedule-time{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-start;gap:5px;padding-top:11px;display:flex}.schedule-time strong{color:var(--text);font-size:15px;font-weight:650}.schedule-time>span{color:var(--text-muted);font-size:12px}.app-shell .schedule-card{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--surface-soft);text-align:left;width:100%;color:var(--text);border-radius:10px;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding:14px 32px 14px 16px;display:flex;position:relative}.schedule-card>strong{overflow-wrap:anywhere;font-size:15px}.schedule-card>svg{color:var(--text-muted);position:absolute;top:18px;right:12px}.schedule-person{overflow-wrap:anywhere;align-items:baseline;gap:10px;font-size:13px;display:flex}.schedule-person small{color:var(--text-muted);white-space:nowrap;font-size:10px}.schedule-room{color:var(--text-secondary);margin:0;font-size:12px}.schedule-no-lessons{color:var(--text-muted);font-size:12px}.lesson-detail-date{color:var(--text-secondary);font-size:13px;margin:0 0 14px!important}.lesson-summary-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;grid-template-columns:54px minmax(0,1fr);gap:15px;margin-bottom:18px;padding:16px;display:grid}.lesson-summary-card .schedule-time{padding-top:2px}.lesson-summary-content{border-left:2px solid var(--primary);min-width:0;padding-left:15px}.detail .lesson-summary-content h3{overflow-wrap:anywhere;margin:0 0 15px;font-size:17px}.lesson-person-line{align-items:baseline;gap:12px;margin:8px 0;display:flex}.lesson-person-line>span{color:var(--text-muted);white-space:nowrap;font-size:11px}.lesson-person-line>strong{overflow-wrap:anywhere;font-size:14px;font-weight:500}.detail .lesson-summary-content .schedule-room{margin:14px 0 0}@media (max-width:600px){.schedule-entry{grid-template-columns:48px minmax(0,1fr);gap:10px}.schedule-entry:not(:last-child):before{left:52px}.schedule-time strong{font-size:14px}.schedule-card{padding:13px 28px 13px 13px}.lesson-summary-card{grid-template-columns:48px minmax(0,1fr);gap:10px;padding:13px}}.member-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;display:grid}.member-card{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:12px;flex-direction:column;min-width:0;padding:18px;display:flex}.member-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.member-card h2{overflow-wrap:anywhere;color:var(--text);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.member-card-heading .badge{white-space:nowrap}.member-display-name{color:var(--text-secondary);margin:7px 0 0;font-size:12px}.member-card-profile{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:10px;padding:16px 0;font-size:12px;display:flex}.member-grade-label{color:var(--primary-strong);font-weight:600}.member-card .teacher-assignment-link{margin:0 0 0 auto}.member-card-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:13px;display:flex}.member-card-actions button{white-space:nowrap;align-items:center;gap:5px;padding:8px 9px;font-size:11px;display:inline-flex}.schedule-grade-filter{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:8px;width:100%;margin:0 0 18px;padding:10px 12px}.day-schedule:has(.schedule-grade-filter) .schedule-tabs{margin-bottom:12px}@media (max-width:600px){.member-card-grid{grid-template-columns:1fr;gap:12px}.member-card{padding:16px}.roster-filters:has([aria-label=学年で絞り込み]){grid-template-columns:1fr 1fr;width:100%;display:grid}.roster-filters:has([aria-label=学年で絞り込み])>input{grid-column:1/-1;width:100%;min-width:0}.roster-filters select{width:100%;min-width:0}}.app-shell .member-card{box-shadow:0 3px 14px rgb(var(--theme-rgb) / .035);border-radius:16px;align-items:stretch;gap:0;padding:20px}.member-card-heading{align-items:center;gap:12px}.member-card-avatar{background:var(--tint);width:42px;height:42px;color:var(--primary-strong);border-radius:13px;flex-shrink:0;place-items:center;font-size:17px;font-weight:600;display:grid}.member-card-identity{flex:1;min-width:0}.member-card h2{font-size:16px;line-height:1.5}.member-card h2 .account-link-status{flex-shrink:0}.member-display-name{margin:3px 0 0;font-size:11px}.member-info-line{min-height:56px;color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 10px;font-size:12px;display:flex}.member-info-line svg{color:var(--text-muted);flex-shrink:0}.member-info-line strong{color:var(--text);font-weight:600}.member-info-line>span:last-child{overflow-wrap:anywhere;min-width:0}.app-shell .member-card-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;padding-top:14px;display:grid}.app-shell .member-card-actions>button{border-color:var(--border);background:var(--surface,#f3f6f8);min-height:38px;color:var(--text-secondary);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 8px;font-size:12px;display:flex}.app-shell .member-card-actions>.member-main-action{background:var(--tint);color:var(--primary-strong);border-color:#0000;font-weight:600}.member-course-count{background:var(--surface,#f3f6f8);border-radius:6px;place-items:center;min-width:19px;height:19px;font-size:10px;font-weight:500;display:inline-grid}.app-shell .member-card-grid{gap:18px}.app-shell .admin-panel:has(>.member-card-grid){background:0 0;border:0;padding:0}.app-shell .admin-panel:has(>.member-card-grid)>.roster-toolbar{padding:0 0 8px}.app-shell .admin-panel:has(>.member-card-grid)>.list-count{margin:8px 0 16px}@media (max-width:600px){.app-shell .member-card{padding:18px}.app-shell .member-card-grid{gap:14px}.member-card-avatar{width:40px;height:40px}.app-shell .member-card-actions>button{min-height:40px}}.shift-teacher-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px;display:grid}.app-shell .shift-teacher-card{background:var(--surface,#f3f6f8);border:1px solid var(--border);text-align:left;color:var(--text);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:22px 20px;display:flex}.shift-teacher-card strong{overflow-wrap:anywhere;font-size:15px;font-weight:600}.shift-teacher-card svg{color:var(--text-muted);flex-shrink:0}.shift-calendar-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.shift-calendar-heading h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:18px}.shift-calendar-heading>.primary{margin-left:auto}.shift-month-card{background:var(--surface,#f3f6f8);border:1px solid var(--border);border-radius:13px;overflow:hidden}.shift-month-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:5px;padding:16px 18px;display:flex}.shift-month-toolbar .today-button{margin-left:6px;font-size:11px}.shift-color-key{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:11px;display:flex}.shift-color-key i{background:var(--tint);border:1px solid var(--muted-primary);border-radius:3px;width:12px;height:12px}.shift-weekdays,.shift-month-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.shift-weekdays{background:var(--surface-soft);color:var(--text-muted);text-align:center;border-bottom:1px solid var(--border);font-size:11px}.shift-weekdays span{padding:10px 0}.app-shell .shift-date-cell{text-align:left;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface,#f3f6f8);min-width:0;min-height:108px;color:var(--text);border-radius:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:8px;padding:10px;display:flex}.app-shell .shift-date-cell:nth-child(7n){border-right:0}.app-shell .shift-date-cell.has-shift{background:var(--tint)}.shift-date-number{text-align:center;align-self:flex-start;min-width:24px;font-size:13px;font-weight:500;line-height:24px}.shift-date-cell.has-shift .shift-date-number{color:var(--primary-strong);font-weight:700}.shift-date-cell.is-today .shift-date-number{background:var(--primary);color:var(--primary-ink);border-radius:50%}.shift-date-cell.outside{opacity:.45}.app-shell .shift-date-cell.shift-closed{color:#5e6872;background:#d5dce3;border-color:#fff}.shift-cell-block{flex-direction:column;gap:4px;min-width:0;display:flex}.shift-cell-block>small{color:var(--text-muted);font-size:9px;line-height:1.3}.shift-cell-time{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:0;font-size:11px;line-height:1.4;display:flex}.shift-cell-time time{white-space:nowrap}.shift-cell-lessons{border-top:0;padding-top:0}.shift-cell-lessons .shift-cell-time{color:var(--text);font-weight:600}.shift-day-modal header p{color:var(--text-secondary);margin:8px 0 0;font-size:12px}.shift-day-modal h3{margin:22px 0 12px;font-size:13px}.shift-registered-row{background:var(--tint);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;font-size:14px;display:flex}.shift-lesson-row{border:1px solid var(--border);border-radius:10px;grid-template-columns:54px minmax(0,1fr);gap:16px;margin-bottom:10px;padding:13px;display:grid}.shift-lesson-row .schedule-time{padding-top:0}.shift-lesson-row>div:last-child{border-left:2px solid var(--primary);padding-left:14px}.shift-lesson-row>div>strong{font-size:14px}.shift-lesson-row p{color:var(--text-secondary);margin:8px 0;font-size:12px}.shift-lesson-row small{color:var(--text-muted);font-size:11px}.shift-form-teacher{margin:0 0 20px;font-weight:600}@media (max-width:760px){.shift-teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.app-shell .shift-teacher-card{min-height:66px;padding:18px 14px}.shift-teacher-card strong{font-size:14px}.shift-calendar-heading{gap:8px}.shift-calendar-heading h2{font-size:16px}.shift-calendar-heading>.primary{padding:10px;font-size:11px}.shift-month-toolbar{flex-wrap:wrap;gap:0;padding:12px 5px}.shift-month-toolbar .month-select-trigger{gap:3px;padding:6px;font-size:14px}.shift-color-key{gap:4px;margin-left:auto;padding-right:7px;font-size:9px}.shift-month-toolbar .today-button{margin-left:2px;padding:7px}.app-shell .shift-date-cell{gap:5px;min-height:95px;padding:7px 3px}.shift-date-number{min-width:22px;font-size:12px;line-height:22px}.shift-cell-time{font-size:10px}.shift-cell-block>small{font-size:8px}.shift-cell-lessons{padding-top:0}}@media (max-width:370px){.shift-color-key{flex-basis:100%;justify-content:flex-end;margin-top:6px}}.app-shell .shift-date-cell{gap:6px;height:100px;min-height:0;overflow:hidden}.shift-date-heading{align-items:center;gap:5px;min-height:24px;display:flex}.shift-day-count{background:var(--primary);min-width:22px;height:22px;color:var(--primary-ink);border-radius:6px;place-items:center;padding:0 4px;font-size:14px;font-weight:700;line-height:1;display:inline-grid}.shift-cell-lessons{gap:5px}.shift-cell-lessons .shift-cell-time{font-size:11px;font-weight:500}.shift-date-cell.outside .shift-day-count{opacity:.7}.app-shell .shift-date-cell.shift-closed .shift-day-count{color:#fff;background:#64727e}@media (max-width:760px){.app-shell .shift-date-cell{gap:5px;height:94px;padding:6px 3px}.shift-date-heading{gap:2px;min-height:22px}.shift-date-heading .shift-date-number{min-width:20px;font-size:11px;line-height:20px}.shift-day-count{border-radius:5px;min-width:18px;height:18px;padding:0 3px;font-size:12px}.shift-cell-lessons .shift-cell-time{flex-direction:column;align-items:flex-start;gap:0;font-size:9px;line-height:1.25;display:flex}.shift-cell-lessons{gap:5px}}.meetings-toolbar,.meetings-toolbar>div{align-items:center;gap:6px;display:flex}.meetings-toolbar{justify-content:space-between;gap:12px;margin-bottom:20px}.meeting-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;display:grid}.app-shell .meeting-card{text-align:left;background:var(--surface,#f3f6f8);border:1px solid var(--border);color:var(--text);border-radius:13px;grid-template-columns:48px minmax(0,1fr) 16px;align-items:start;gap:14px;padding:18px;display:grid}.meeting-card .schedule-time{padding:0}.meeting-card-content{border-left:2px solid var(--accent);flex-direction:column;align-items:flex-start;gap:8px;min-width:0;padding-left:13px;display:flex}.meeting-card-content>strong{overflow-wrap:anywhere;font-size:15px}.meeting-card-content>small{color:var(--text-secondary);font-size:11px}.meeting-label{color:var(--accent-strong);background:var(--accent-tint);border-radius:4px;padding:3px 6px;font-size:10px;font-weight:600}.meeting-people-summary{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.meeting-card>svg{color:var(--text-muted)}.meeting-participant-picker{border:0;margin:22px 0;padding:0}.meeting-participant-picker legend{width:100%;margin-bottom:10px;font-size:13px;font-weight:600}.meeting-participant-picker legend>span{float:right;color:var(--text-muted);font-size:11px;font-weight:400}.meeting-participant-picker>select{width:100%;margin-bottom:10px}.meeting-participant-options{grid-template-columns:1fr 1fr;gap:7px;max-height:205px;padding:2px;display:grid;overflow-y:auto}.meeting-dialog form .meeting-participant-options label{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:7px;flex-direction:row;align-items:center;gap:8px;margin:0;padding:10px;font-size:12px;font-weight:400;display:flex}.meeting-dialog form .meeting-participant-options input{flex-shrink:0;width:15px;height:15px;padding:0}.meeting-participant-options .chosen{background:var(--tint)}.meeting-participant-options label>span{overflow-wrap:anywhere;min-width:0}.meeting-participant-options small{color:var(--text-muted);margin-top:3px;font-size:10px;display:block}.meeting-attendees{margin:20px 0}.meeting-attendees h3{margin:0 0 10px;font-size:12px}.meeting-attendees h3 small{color:var(--text-muted);margin-left:5px;font-size:11px;font-weight:400}.meeting-attendees>div{flex-wrap:wrap;gap:7px;display:flex}.meeting-attendees>div>span{background:var(--surface-soft);border-radius:7px;padding:8px 12px;font-size:13px}.meeting-cancel{margin-right:auto}.day-meetings{margin:0 0 24px}.day-meetings>h3{margin:0 0 12px;font-size:13px}.day-meetings .meeting-list{grid-template-columns:1fr}.meeting-day-count{color:var(--accent-strong);font-size:10px;font-weight:600}.app-shell .meeting-event{background:var(--accent-tint);border-left-color:var(--accent)}@media (max-width:760px){.meetings-toolbar{flex-wrap:wrap;gap:5px}.meetings-toolbar>.primary{margin-left:auto;padding:10px;font-size:11px}.meetings-toolbar .month-select-trigger{gap:3px;padding:5px;font-size:14px}.app-shell .meeting-card{gap:10px;padding:15px}.meeting-participant-options{grid-template-columns:1fr 1fr}.calendar-first .bottom-nav button span{font-size:9px}.calendar-first .bottom-nav button{padding-left:1px;padding-right:1px}}.meeting-tabs{gap:4px}.proposal-tab-count{background:var(--tint);color:var(--primary-strong);border-radius:12px;margin-left:6px;padding:2px 6px;font-size:11px}.proposal-list{gap:12px;display:grid}.proposal-card{background:var(--surface,#f3f6f8);border:1px solid var(--border);text-align:left;border-radius:15px;align-items:center;gap:12px;width:100%;padding:19px 20px;display:flex}.proposal-card-main{flex:1;gap:8px;min-width:0;display:grid}.proposal-card-main>strong{font-size:17px}.proposal-card-main>small{color:var(--primary-strong);font-weight:600}.proposal-card-main>span{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.proposal-card-side{color:var(--primary-strong);white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.proposal-form-panel{background:var(--surface,#f3f6f8);border:1px solid var(--border);border-radius:16px;max-width:680px;padding:24px}.proposal-form-panel form{gap:16px;display:grid}.proposal-form-panel h2{margin:0;font-size:18px}.proposal-fieldset{border:0;min-width:0;margin:0;padding:0}.proposal-fieldset legend{margin-bottom:10px;font-size:14px;font-weight:600}.proposal-fieldset legend small{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:400;display:block}.proposal-conditions{background:var(--tint);border-radius:12px;gap:6px;margin-bottom:20px;padding:16px;font-size:12px;display:grid}.proposal-conditions strong{color:var(--primary-strong);font-size:17px}.proposal-student-name{font-weight:600}.proposal-dialog h3{justify-content:space-between;font-size:15px;display:flex}.proposal-dialog h3 small{color:var(--text-secondary);font-weight:400}.proposal-candidates{gap:12px;display:grid}.proposal-candidate-editor{border:1px solid var(--border);border-radius:12px;padding:14px;position:relative}.proposal-candidate-editor>span{color:var(--primary-strong);margin-bottom:10px;font-size:12px;font-weight:600;display:block}.proposal-candidate-editor label{font-size:12px}.proposal-candidate-editor>small{color:var(--text-secondary);margin-top:8px;font-size:12px;display:block}.candidate-remove{position:absolute;top:4px;right:6px}.candidate-add{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:12px;display:flex}.proposal-choices{gap:8px;display:grid}.proposal-choices>label{border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px;display:flex}.proposal-choices>label.selected{border-color:var(--primary-strong);background:var(--tint)}.proposal-choices input{flex:none;width:18px;height:18px}.proposal-choices>label>span{gap:4px;display:grid}.proposal-choices small{color:var(--text-secondary);font-size:11px}.proposal-choices strong,.proposal-choices span span{font-size:14px}.proposal-confirmed{background:var(--tint);color:var(--primary-strong);border-radius:12px;align-items:center;gap:12px;padding:18px;display:flex}.proposal-confirmed p{margin-bottom:0;font-size:14px}@media (max-width:640px){.proposal-form-panel{padding:17px}.proposal-card{padding:16px 14px}.meeting-tabs button{padding:10px 9px;font-size:12px}.proposal-dialog .form-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.proposal-dialog input{min-width:0}.proposal-tab-count{margin-left:4px;padding:1px 4px}}.proposal-form-panel form>label,.proposal-fieldset .form-pair>label{gap:7px;font-size:13px;font-weight:500;display:grid}.proposal-form-panel form>label>input,.proposal-form-panel form>label>select,.proposal-fieldset input{width:100%;min-width:0}.meeting-people-summary{flex-wrap:wrap;row-gap:5px}.meeting-people-summary>span{color:var(--text-secondary);font-size:11px}.sidebar nav .menu-count{margin-left:auto}.menu-count{color:#fff;background:#d75542;border-radius:10px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.menu-icon{display:inline-flex;position:relative}.bottom-nav .menu-count{min-width:16px;height:16px;padding:0 4px;font-size:10px;position:absolute;top:-5px;left:14px;box-shadow:0 0 0 2px #fff}.bottom-nav .menu-icon{overflow:visible}.bottom-nav button>.menu-icon{font-size:inherit}.app-shell .meeting-card{grid-template-columns:minmax(0,1fr) 16px}.meeting-card-content{border-left:0;width:100%;padding-left:0}.meeting-card-when{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 12px;width:100%;margin-bottom:2px;padding-bottom:10px;display:flex}.meeting-card-when time{font-size:14px;font-weight:600}.meeting-card-when strong{color:var(--primary-strong);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.proposal-date-list{gap:8px;margin-top:3px;display:grid}.proposal-date-list>small{color:var(--text-secondary);font-size:11px}.proposal-date-list time{flex-wrap:wrap;align-items:center;gap:5px 12px;font-size:13px;display:flex}.proposal-date-list time strong{font-weight:500}.proposal-date-list time b{font-variant-numeric:tabular-nums;color:var(--primary-strong);font-weight:600}.proposal-card-side{align-self:center}.lesson-time-choice{border:0;min-width:0;margin:16px 0;padding:0}.lesson-time-choice legend{margin-bottom:10px;font-size:13px;font-weight:600}.time-choice-buttons{background:var(--surface-soft);border-radius:10px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:16px;padding:4px;display:grid}.modal .time-choice-buttons button{color:var(--text-secondary);background:0 0;border:0;border-radius:7px;padding:11px 6px;font-size:12px}.modal .time-choice-buttons button[aria-pressed=true]{background:var(--surface,#f3f6f8);color:var(--primary-strong);font-weight:600;box-shadow:0 1px 4px #0000000d}.modal .time-choice-buttons button:disabled{opacity:.4}.lesson-time-choice .form-pair{margin:0}.lesson-kind-choice{margin:0 0 20px}.trial-label{color:var(--primary-strong);background:var(--tint);border-radius:4px;margin-right:7px;padding:3px 6px;font-size:10px;font-weight:600;display:inline-block}.compact-counts .month-day-target{justify-content:flex-start;gap:3px;overflow:hidden}.day-event-counts{flex-direction:column;gap:2px;width:100%;min-width:0;display:flex}.day-event-counts>span{max-width:58px;color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:4px;line-height:13px;display:flex}.day-event-counts small{white-space:nowrap;font-size:10px;font-weight:500}.day-event-counts b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:650;line-height:13px}.compact-counts .day-date-line{flex-shrink:0;min-height:18px}@media (max-width:760px){.compact-counts .month-day-target{gap:1px}.compact-counts .day-date-line{min-height:17px}.day-event-counts{gap:0}.day-event-counts>span{gap:2px;max-width:40px;line-height:11px}.day-event-counts small{font-size:8px}.day-event-counts b{font-size:11px;line-height:11px}}.compact-counts .day-date-line{height:20px;min-height:20px}.compact-counts .day-number{justify-content:center;align-items:center;width:20px;height:20px;padding:0;line-height:20px;display:inline-flex}.day-event-counts{gap:0}.day-event-counts>span{align-items:center;height:12px;line-height:12px}.day-event-counts small,.day-event-counts b{line-height:12px}@media (max-width:760px){.compact-counts .day-date-line{height:18px;min-height:18px}.compact-counts .day-number{width:18px;height:18px;line-height:18px}.day-event-counts>span{height:11px;line-height:11px}.day-event-counts small,.day-event-counts b{line-height:11px}}.payroll-rate-button{background:var(--tint);color:var(--primary-strong);font-variant-numeric:tabular-nums;white-space:nowrap;border:0;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:6px 8px;font-size:11px;display:inline-flex}.rate-editor{max-width:380px}.rate-editor-name{font-weight:600}.own-hourly-rate{color:var(--text-secondary);margin-top:16px;font-size:13px}.reschedule-reason small{color:var(--text-muted);margin-bottom:3px;font-size:10px;display:block}.reschedule-reason p{white-space:pre-wrap;margin:0}.reschedule-picker-dialog{width:min(760px,100vw - 24px);max-width:760px;padding:22px}.reschedule-picker-dialog header>div>small{color:var(--text-secondary);margin-top:6px;font-size:12px;display:block}.reschedule-picker-dialog .placement-legend{margin:0 0 14px}.reschedule-picker-dialog .calendar-toolbar{padding:12px 8px}.reschedule-picker-dialog .calendar-card{margin:0}.reschedule-picker-dialog .day-details{max-width:560px}.reschedule-picker-dialog .month-day-target{font-size:inherit}@media (max-width:760px){.reschedule-picker-dialog{padding:16px 10px}.reschedule-picker-dialog header{padding-inline:5px}.reschedule-picker-dialog .board-date{min-width:0}.reschedule-picker-dialog .placement-legend{gap:9px;font-size:9px}.payroll-rate-button{padding:5px 6px;font-size:10px}}.payroll-mode-choice{border:0;max-width:460px;margin:20px 0;padding:0}.payroll-mode-choice legend{margin-bottom:10px;font-size:13px;font-weight:600}.payroll-mode-choice .time-choice-buttons button{color:var(--text-secondary);background:0 0;border:0;border-radius:7px;padding:12px 9px;font-size:13px}.payroll-mode-choice .time-choice-buttons button[aria-pressed=true]{color:var(--primary-strong);background:var(--surface,#f3f6f8);font-weight:600;box-shadow:0 1px 4px #0000000d}.feature-switches{max-width:460px;margin:8px 0 24px}.feature-switch-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-weight:600;position:relative;display:flex!important}.feature-switch-row input{opacity:0;cursor:pointer;height:26px;position:absolute;right:0;width:44px!important}.feature-switch-track{pointer-events:none;background:#cbd0d6;border-radius:20px;width:44px;height:26px;transition:background .15s;position:relative}.feature-switch-track:after{content:"";background:var(--surface,#f3f6f8);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0002}.feature-switch-row input:checked+.feature-switch-track{background:var(--primary)}.feature-switch-row input:checked+.feature-switch-track:after{transform:translate(18px)}.feature-switch-row input:focus-visible+.feature-switch-track{outline:2px solid var(--primary);outline-offset:4px}.feature-switch-row input:disabled+.feature-switch-track{opacity:.5}.management-panel{min-width:0;padding-bottom:28px}.management-home{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:26px 28px;max-width:1060px;display:grid}.management-group-operations{grid-row:span 2}.management-group h2{color:var(--text-secondary);letter-spacing:.04em;margin:0 0 12px 2px;font-size:12px;font-weight:600}.management-links{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:14px;overflow:hidden}.management-link{text-align:left;border:0;border-bottom:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:0;align-items:center;gap:16px;width:100%;min-height:88px;padding:22px 20px;display:flex}.management-link:last-child{border-bottom:0}.management-link-icon{color:var(--primary-strong)}.management-link>span{flex:1;min-width:0}.management-link strong{color:var(--text);font-size:14px;font-weight:600;line-height:1.5;display:block}.management-link small{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.5;display:block}.management-link>svg:last-child{color:var(--text-secondary)}.management-link:focus-visible{outline-offset:-4px}.management-back{color:var(--text-secondary);background:0 0;border:0;align-items:center;gap:6px;margin:0 0 14px;padding:8px 2px;font-size:13px;display:inline-flex}.management-detail{background:var(--surface,#f3f6f8);border:1px solid var(--border);border-radius:14px;max-width:1000px;overflow:hidden}.management-detail>.settings-body,.management-detail>.payroll-settings>.settings-body{max-width:none;padding:28px}.management-detail h2{margin:0 0 26px;font-size:18px;font-weight:650}.management-detail .section-title{align-items:center;gap:14px;margin-bottom:22px}.management-detail .section-title h2{margin:0}.management-detail .settings-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;max-width:none;margin-top:26px;padding-top:22px}.management-detail .settings-actions .primary{min-width:116px}.management-detail .school-form .settings-actions{max-width:none}.period-settings-list{max-width:680px}.period-settings-row{border-top:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.period-settings-row:last-child{border-bottom:1px solid var(--border)}.period-settings-main{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:20px;min-width:0;padding:14px 4px;display:flex}.period-settings-main strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:600}.period-settings-main>span{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px}.period-settings-dash{color:var(--text-secondary);padding:0 8px}.period-settings-main>svg{color:var(--text-secondary)}.period-settings-row>.icon-button{color:var(--text-secondary);padding:10px}.management-detail .hours-table,.management-detail .feature-switches{max-width:none}.management-detail .feature-switch-row:first-child{padding-top:0}@media (max-width:1000px){.management-home{grid-template-columns:minmax(0,1fr);gap:24px;max-width:680px}.management-group-operations{grid-row:auto}.management-link{min-height:80px;padding:18px}}@media (max-width:760px){.management-panel{padding-bottom:24px}.management-home{gap:22px}.management-group h2{margin-bottom:10px;font-size:12px}.management-link{gap:14px;min-height:78px;padding:17px 16px}.management-link strong{font-size:14px}.management-link small{font-size:11px}.management-detail>.settings-body,.management-detail>.payroll-settings>.settings-body{padding:22px 16px}.management-detail h2{margin-bottom:22px;font-size:17px}.management-detail .section-title{flex-wrap:wrap;align-items:flex-start}.management-detail .section-title .primary{font-size:12px}.period-settings-main{flex-wrap:wrap;gap:10px}.period-settings-main strong{flex-basis:100%}.period-settings-main>span{flex:1}.management-detail .hours-labels,.management-detail .hours-row{grid-template-columns:42px 44px minmax(0,1fr) minmax(0,1fr);gap:6px}.management-detail .hours-row>strong{font-size:11px}.management-detail .hours-row input[type=time]{min-width:0;padding:8px 2px;font-size:12px}.management-detail .theme-mode{flex-wrap:wrap}.management-back{margin-bottom:10px}}.admin-login-fields{gap:20px;max-width:480px;display:grid}.admin-login-fields label{color:var(--text);gap:9px;font-size:13px;font-weight:500;display:grid}.admin-login-fields input{width:100%;color:var(--text);border-color:var(--border);padding:12px;font-size:16px}.admin-login-settings>.field-hint{margin-top:22px}.course-category-tabs{border-bottom:1px solid var(--border);background:var(--tint);gap:6px;padding:18px 22px 14px;display:flex}.course-category-tabs button{color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;flex:1;padding:10px 12px;font-size:13px}.course-category-tabs button.active{background:var(--primary);color:var(--primary-ink);font-weight:600}.lesson-course-filters{margin-top:18px}@media (max-width:760px){.course-category-tabs{gap:3px;padding:14px 10px}.course-category-tabs button{padding:10px 4px;font-size:12px}}.shift-request-button{color:var(--primary-strong);background:var(--tint);border-color:var(--border);align-items:center;gap:6px;font-size:12px;display:inline-flex}.course-assignment-picker{border:0;min-width:0;margin:4px 0 20px;padding:0}.course-assignment-picker legend{margin-bottom:14px;padding:0;font-size:13px;font-weight:600}.assignment-course-list{border:1px solid var(--border);border-radius:10px;max-height:350px;overflow-y:auto}.modal form .assignment-course-option{border-bottom:1px solid var(--border);cursor:pointer;color:var(--text);flex-direction:row;align-items:center;gap:12px;margin:0;padding:14px;display:flex}.assignment-course-option:last-child{border-bottom:0!important}.assignment-course-option.is-checked{background:var(--tint)}.modal form .assignment-course-option input{width:19px;height:19px;accent-color:var(--primary);flex-shrink:0;padding:0}.assignment-course-option>span{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.assignment-course-option strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.6}.assignment-course-option small{white-space:nowrap;color:var(--text-secondary);font-size:11px}.assignment-empty{text-align:center;color:var(--text-secondary);padding:22px 14px;font-size:12px}.assignment-selection-count{color:var(--text-secondary);margin:12px 0 0;font-size:12px}.assignment-subject-filter{border:0;min-width:0;margin:0 0 16px;padding:0}.course-assignment-picker .assignment-subject-filter legend{color:var(--text-secondary);margin-bottom:10px;font-size:12px;font-weight:400}.assignment-subject-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.modal form .assignment-subject-checks label{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:8px;margin:0;padding:12px 6px;font-size:13px;display:flex}.modal form .assignment-subject-checks label.is-checked{background:var(--tint);border-color:var(--primary)}.modal form .assignment-subject-checks input{width:16px;height:16px;accent-color:var(--primary);padding:0}.assignment-subject-group h3{color:var(--text-secondary);background:var(--tint);margin:0;padding:9px 14px;font-size:12px;font-weight:500}.assignment-subject-group+.assignment-subject-group{border-top:1px solid var(--border)}.modal form .assignment-bulk-select{cursor:pointer;color:var(--text);flex-direction:row;align-items:center;gap:10px;margin:0 0 10px;padding:8px 2px;font-size:13px;font-weight:500;display:flex}.modal form .assignment-bulk-select input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;padding:0}.attendance-control{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.attendance-control h3{margin:0 0 10px;font-size:14px}.attendance-options{gap:10px;display:flex}.attendance-options button{flex:1;justify-content:center;align-items:center;gap:6px;min-height:44px;display:flex}.attendance-options button.selected{border-color:var(--primary);background:var(--tint);font-weight:700}.attendance-badge{color:var(--text-muted);align-items:center;gap:3px;width:fit-content;font-size:12px;font-weight:600;display:inline-flex}.attendance-badge.held{color:#18804b}.attendance-badge.absent{color:#986510}.reschedule-actions.reschedule-placement-action{justify-content:center}.calendar-notices{background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;margin:0 0 16px;padding:13px 15px}.calendar-notices-heading{color:#986510;align-items:center;gap:7px;margin-bottom:8px;display:flex}.calendar-notices-heading h2{margin:0;font-size:13px;font-weight:650}.calendar-notice-links{flex-wrap:wrap;gap:6px 18px;display:flex}.calendar-notice-links button{min-height:32px;color:var(--text);background:0 0;border:0;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.calendar-notice-links b{color:#89600c;text-align:center;background:#fff0c9;border-radius:8px;min-width:22px;padding:1px 6px;font-size:12px}.attendance-queue header h2{align-items:center;gap:8px;display:flex}.attendance-queue-list{gap:8px;display:grid}.attendance-queue-item{text-align:left;border-color:var(--border);align-items:center;gap:14px;width:100%;padding:14px;display:flex}.attendance-queue-date{color:var(--text-secondary);flex-shrink:0;gap:5px;font-size:12px;display:grid}.attendance-queue-date b{color:var(--text);font-size:13px}.attendance-queue-person{overflow-wrap:anywhere;flex:1;gap:4px;min-width:0;display:grid}.attendance-queue-person>span,.attendance-queue-person small{color:var(--text-secondary);font-size:12px}.attendance-queue-item>svg{color:var(--text-muted);flex-shrink:0}.attendance-unconfirmed{color:#986510;font-size:12px;font-weight:600}@media (max-width:760px){.calendar-notices{margin-bottom:12px;padding:10px 12px}.calendar-notice-links{grid-template-columns:1fr 1fr;gap:3px 14px;display:grid}.calendar-notice-links button{justify-content:space-between;gap:4px;font-size:11px}.calendar-notice-links button>span{flex:1}.attendance-queue-item{gap:10px;padding:12px}}.course-hub-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.course-hub-toolbar .management-tabs{margin:0}.course-hub-toolbar>div:last-child{gap:8px;display:flex}.lecture-plan-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;padding:20px;display:grid}.lecture-plan-card{text-align:left;border-color:var(--border);border-radius:14px;gap:10px;padding:20px;display:grid;position:relative}.lecture-plan-card>strong{font-size:16px}.lecture-plan-card>span,.lecture-plan-card small{color:var(--text-secondary);font-size:12px}.lecture-plan-card>svg{position:absolute;top:22px;right:18px}.lecture-plan-card b{color:var(--primary-strong);font-size:20px}.lecture-plan-card progress,.lecture-progress progress{width:100%;height:6px;accent-color:var(--primary)}.lecture-editor.lecture-calendar-editor{width:780px;max-width:calc(100vw - 24px)}.lecture-progress{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.lecture-progress>div{gap:5px;display:grid}.lecture-progress>div span{color:var(--text-secondary);font-size:12px}.lecture-progress label{align-items:center;gap:6px;font-size:12px;display:flex}.lecture-progress input{width:65px;padding:7px}.lecture-progress-count{color:var(--primary-strong);font-size:24px}.lecture-progress-count small{color:var(--text-secondary);font-size:12px;font-weight:400}.lecture-progress progress{flex-basis:100%}.lecture-month{border:1px solid var(--border);border-radius:12px;overflow:hidden}.lecture-month-toolbar{justify-content:center;align-items:center;gap:8px;padding:10px;display:flex}.lecture-month-toolbar button{border:0}.lecture-weekdays,.lecture-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.lecture-weekdays span{text-align:center;color:var(--text-muted);padding:7px;font-size:11px}.lecture-days button{border:0;border-top:1px solid var(--border);border-right:1px solid var(--border);text-align:left;border-radius:0;flex-direction:column;align-items:flex-start;gap:3px;height:56px;padding:7px;display:flex}.lecture-days button:nth-child(7n){border-right:0}.lecture-days button>span{font-size:12px}.lecture-days b{color:var(--primary-strong);font-size:12px}.lecture-days button.closed{background:#d5dce3}.lecture-days button.outside{color:var(--text-muted)}.lecture-days button.selected{background:var(--tint);box-shadow:inset 0 0 0 2px var(--primary)}.lecture-days button:disabled{opacity:1;color:var(--text-muted);cursor:default}.lecture-periods{margin-top:18px}.lecture-periods h3,.lecture-draft-list h3{font-size:14px}.lecture-period-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.lecture-period-row label{align-items:center;gap:10px;font-size:13px;display:flex}.lecture-period-row label>span{gap:4px;display:grid}.lecture-period-row small{color:var(--text-secondary);font-size:12px}.lecture-period-row select{max-width:52%;font-size:12px}.lecture-period-row.blocked{opacity:.55}.lecture-period-row input{accent-color:var(--primary)}.lecture-add-periods{margin-top:14px}.lecture-draft-list{margin-top:18px}.lecture-draft-list>div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;font-size:12px;display:flex}.lecture-draft-list small{color:var(--text-secondary);margin-top:4px;display:block}.lecture-saved-list{color:var(--text-secondary);margin-top:18px;font-size:12px}.lecture-save{background:var(--surface,#f3f6f8);padding:16px 0 0;position:sticky;bottom:-28px}.lecture-masters{width:900px;max-width:calc(100vw - 24px)}.teacher-assignment-card{border:1px solid var(--border);border-radius:12px;gap:7px;padding:16px;display:grid}.teacher-assignment-card>span{color:var(--text-secondary);font-size:12px}.teacher-assignment-controls{gap:8px;margin-top:5px;display:flex}.teacher-assignment-controls select{flex:1;min-width:0;font-size:12px}.teacher-assignment-controls button{white-space:nowrap;font-size:12px}@media (max-width:760px){.course-hub-toolbar{gap:8px}.course-hub-toolbar>div:last-child{gap:5px}.lecture-plan-grid{padding:14px}.lecture-progress{gap:8px}.lecture-progress-count{font-size:21px}.lecture-period-row{flex-wrap:wrap}.lecture-period-row select{width:100%;max-width:100%}.lecture-save{bottom:-20px}.teacher-assignment-controls{flex-direction:column}}.lecture-calendar-editor .lecture-progress{background:var(--surface,#f3f6f8);z-index:2;border-bottom:1px solid var(--border);padding:10px 0;position:sticky;top:0}.system-brand-description{letter-spacing:0;font-size:11px;font-weight:500}.tuition-total{font-variant-numeric:tabular-nums;font-size:24px}.tuition-students{gap:10px;margin:16px 0;display:grid}.tuition-student{border:1px solid var(--border);border-radius:12px;overflow:hidden}.tuition-student>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px;list-style:none;display:flex}.tuition-student>summary::-webkit-details-marker{display:none}.tuition-student>summary:after{content:"⌄";color:var(--text-secondary)}.tuition-student>summary>span{flex:1}.tuition-student small,.tuition-lessons small{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.tuition-lessons{padding:0 16px 12px}.tuition-lessons>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:13px;display:flex}.tuition-lessons strong{white-space:nowrap;font-variant-numeric:tabular-nums}.tuition-panel{padding:20px}.tuition-panel .roster-toolbar{margin:0;padding:0 0 16px}.tuition-panel>.field-hint{margin:12px 0}.tuition-student[open]>summary:after{content:"⌃"}@media (max-width:600px){.tuition-panel{padding:14px}.tuition-total{font-size:20px}.tuition-student>summary{gap:8px;padding:14px}.tuition-lessons>div{flex-wrap:wrap;align-items:flex-start}}.course-format-tabs{border-bottom:1px solid var(--border);gap:24px;margin-bottom:18px;display:flex}.course-format-tabs button{color:var(--text-secondary);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;padding:8px 6px 12px;font-size:18px;font-weight:650}.course-format-tabs button.active{color:var(--primary-strong);border-bottom-color:var(--primary)}.group-lesson-heading{justify-content:space-between;align-items:center;gap:12px;margin:8px 0 20px;font-size:17px;display:flex}.group-student-picker{border:1px solid var(--border);border-radius:10px;margin:16px 0;padding:12px}.group-student-picker legend{padding:0 6px}.group-student-picker legend b{color:var(--primary-strong);margin-left:8px;font-size:12px}.group-student-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:240px;display:grid;overflow:auto}.group-student-picker label{background:var(--surface-soft);cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-width:0;margin:0;padding:10px;display:flex}.group-student-picker input{flex-shrink:0;width:16px;height:16px}.group-student-picker small{color:var(--text-secondary);margin-top:3px;display:block}.group-schedule-button{width:100%;margin:8px 0 20px}.group-session-list{margin-top:20px}.group-session-list h2{padding:16px;font-size:15px}.group-session-list .course-row>span:last-child{white-space:nowrap;align-items:center;gap:8px;display:flex}@media (max-width:420px){.group-student-picker>div{grid-template-columns:1fr}}.course-hub .course-hub-toolbar{margin-bottom:16px}.course-hub .course-hub-toolbar>.course-fees-link{font-size:12px}.course-action-bar{justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;display:flex}.course-area-choice{background:var(--surface-soft);border-radius:9px;gap:4px;padding:4px;display:flex}.course-area-choice button{color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;padding:8px 12px}.course-area-choice button.active{background:var(--surface,#f3f6f8);color:var(--primary-strong);font-weight:650;box-shadow:0 1px 4px #0000000b}.course-catalog-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:18px 0;display:flex}.course-catalog-row:last-child{border-bottom:0}.course-catalog-info{gap:6px;min-width:0;display:grid}.course-catalog-info strong{font-size:15px}.course-catalog-info>span{font-size:13px}.course-catalog-info small{color:var(--text-secondary)}.course-catalog-actions{flex-shrink:0;gap:7px;display:flex}.course-catalog-actions button{white-space:nowrap;align-items:center;gap:3px;font-size:12px;display:inline-flex}.course-hub .course-list{padding-top:4px}.course-hub .course-list section{margin:0}.course-schedule-month{align-items:center;gap:6px;padding:16px;display:flex}.course-schedule-list{padding:0 16px 12px}.course-schedule-row{text-align:left;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;align-items:center;gap:18px;width:100%;padding:16px 0;display:flex}.course-schedule-time{gap:6px;min-width:100px;display:grid}.course-schedule-time strong{font-size:12px}.course-schedule-time>span{font-variant-numeric:tabular-nums;font-size:13px}.course-schedule-description{flex:1;gap:6px;min-width:0;display:grid}.course-schedule-description small{color:var(--text-secondary)}@media (max-width:600px){.course-action-bar{gap:8px}.course-action-bar>.primary{padding:10px;font-size:12px}.course-area-choice button{padding:8px 10px;font-size:12px}.course-catalog-row{flex-direction:column;align-items:flex-start;gap:12px}.course-catalog-actions{justify-content:flex-end;width:100%}.course-catalog-actions button{padding:9px 12px}.course-schedule-row{gap:12px}.course-schedule-time{min-width:94px}.course-schedule-description strong{font-size:13px}}.course-hub .admin-panel{min-height:0}.calendar-attendance-below{margin-top:16px}.notice-history-toggle{align-items:center;gap:4px;margin-bottom:14px;display:flex}.notice-history-toggle button{color:var(--text-secondary);background:0 0;border:0;padding:8px 14px}.notice-history-toggle button[aria-pressed=true]{background:var(--tint);color:var(--primary);font-weight:650}.notice-history-toggle small{color:var(--text-secondary);margin-left:auto}.app-shell .student-confirmation.notice-archived{opacity:1;cursor:default;background:var(--surface-soft);color:var(--text-secondary)}.app-shell article.student-confirmation{cursor:default;align-items:flex-start}.notice-content{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.notice-content>strong{flex-wrap:wrap;gap:10px;display:flex}.notice-content>strong b{font-weight:650}.notice-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.notice-new{background:var(--primary);color:var(--primary-ink);border-radius:4px;padding:4px 6px;font-size:10px;font-weight:650;line-height:1}.notice-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.notice-open{background:0 0;border:0;align-items:center;gap:3px;padding:6px;font-size:12px;display:inline-flex}.notice-read-button{padding:7px 15px;font-size:12px}.app-shell article.student-confirmation.notice-read{color:#58636b;background:#edf0f2;border-color:#e0e5e8}.notice-read>svg{color:#80908b}.notice-read .notice-content small{color:#66727a}.attendance-edit-control{justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-edit-control>button{padding:8px 12px;font-size:12px}.app-shell article.student-confirmation.notice-read>svg{color:#80908b}.app-shell .calendar-attendance-below{background:0 0;border:0;padding:0}.app-shell .attendance-reminder-card{text-align:left;background:#fff9eb;border:1px solid #ebdfbd;border-radius:12px;align-items:center;gap:14px;width:100%;padding:16px;display:flex}.attendance-reminder-card>svg{color:#b18420;flex-shrink:0}.attendance-reminder-body{flex:1;gap:5px;min-width:0;display:grid}.attendance-reminder-body>strong{color:#493e25;font-size:15px}.attendance-reminder-body>span{color:#6d624b;font-size:12px}.attendance-reminder-body b{font-variant-numeric:tabular-nums;margin-left:5px;font-size:15px}.attendance-reminder-action{color:#755916;white-space:nowrap;align-items:center;gap:3px;font-size:12px;font-weight:650;display:flex}@media (max-width:760px){.app-shell .attendance-reminder-card{gap:10px;padding:14px 12px}.attendance-reminder-body>strong{font-size:14px}}.theme-color-field{border:0;min-width:0;max-width:520px;margin:0;padding:0}.theme-color-field>legend{margin-bottom:13px;padding:0;font-size:13px}.theme-custom-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:22px;display:grid}.theme-custom-controls>label{min-width:0;color:var(--text-secondary);flex-direction:column;gap:9px;font-size:12px;display:flex}.theme-custom-controls input{box-sizing:border-box;width:100%;min-width:0;height:44px}.theme-color-picker input[type=color]{background:var(--surface,#f3f6f8);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:4px;display:block}.theme-color-picker input::-webkit-color-swatch-wrapper{padding:0}.theme-color-picker input::-webkit-color-swatch{border:0;border-radius:4px}.theme-color-picker input::-moz-color-swatch{border:0;border-radius:4px}.theme-color-code input{letter-spacing:.04em;font-family:ui-monospace,monospace;font-size:16px}.theme-color-field .palette-choice{min-height:64px}.theme-custom-controls input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width:400px){.theme-custom-controls{gap:12px}}.finance-settings{max-width:620px}.finance-settings .month-navigation{margin-bottom:24px}.finance-settings form>label,.finance-editor form>label{flex-direction:column;gap:8px;margin:18px 0;display:flex}.finance-settings select,.finance-settings input{width:100%;min-width:0;min-height:44px}.finance-more{border-block:1px solid var(--border);margin:20px 0;padding:12px 0}.finance-more>summary{cursor:pointer;min-height:32px;color:var(--primary-strong);align-items:center;font-size:13px;display:flex}.finance-more label{flex-direction:column;gap:8px;margin-top:14px;display:flex}.finance-editor .finance-check{flex-direction:row;align-items:center;gap:10px;min-height:44px;line-height:1.6;display:flex}.finance-check input[type=checkbox]{flex-shrink:0;width:20px;height:20px;min-height:0}.finance-editor .choice-tabs{margin-bottom:20px}.finance-editor .form-pair>label{min-width:0}.finance-editor select{max-width:100%}.settlement-details{margin-top:8px;font-size:11px}.settlement-details summary{cursor:pointer;color:var(--primary-strong);padding:5px 0}.settlement-details dl{grid-template-columns:1fr auto;gap:7px 12px;margin:8px 0;display:grid}.settlement-details dt,.settlement-details dd{margin:0}.settlement-details dd{font-variant-numeric:tabular-nums;text-align:right}.finance-settings .settings-actions{align-items:center;gap:16px}.finance-editor .field-hint{line-height:1.7}@media (max-width:600px){.finance-editor .form-pair{grid-template-columns:1fr}.finance-editor{padding:20px 16px}.finance-editor input,.finance-editor select{min-height:44px;font-size:16px}.finance-editor .finance-check input{min-height:0}.finance-settings .form-pair{grid-template-columns:1fr}.finance-settings select{font-size:16px}}.pdf-creation{max-width:900px}.pdf-creation form{padding:4px 24px 26px}.pdf-kind{border:0;min-width:0;margin:0 0 24px;padding:0}.pdf-kind legend{margin-bottom:12px;font-size:13px}.pdf-kind>div{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pdf-kind label{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:84px;margin:0;padding:16px;display:flex}.pdf-kind label.selected{background:var(--tint);border-color:var(--primary)}.pdf-kind input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0}.pdf-kind svg{color:var(--primary-strong);flex-shrink:0}.pdf-kind strong{font-size:14px;line-height:1.5;display:block}.pdf-kind small{color:var(--text-secondary);margin-top:4px;font-size:11px;line-height:1.6;display:block}.pdf-creation form>label{flex-direction:column;gap:9px;max-width:520px;margin:18px 0;font-size:13px;display:flex}.pdf-creation select{width:100%;min-height:44px;font-size:15px}.pdf-creation .finance-check{flex-direction:row;align-items:center;min-height:44px}.pdf-creation .settings-actions{align-items:center;gap:16px;max-width:none}.pdf-creation .settings-actions>span{color:var(--text-secondary);font-size:12px}@media (max-width:600px){.pdf-creation form{padding:4px 16px 24px}.pdf-kind>div{grid-template-columns:1fr;gap:10px}.pdf-kind label{min-height:76px;padding:14px 12px}.pdf-creation select{font-size:16px}.pdf-creation .settings-actions{flex-wrap:wrap}.pdf-creation .settings-actions button{justify-content:center;width:100%;min-height:46px}}.lecture-billing-filter{padding:0 24px 18px}.lecture-billing-filter label{align-items:center;gap:14px;font-size:13px;display:flex}.lecture-billing-filter select{min-width:200px;max-width:100%;min-height:44px}.lecture-bill-list{padding:0 24px 24px}.lecture-bill-list article{border-top:1px solid var(--border);justify-content:space-between;gap:18px;padding:20px 0;display:flex}.lecture-bill-list article>div:last-child{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:7px;display:flex}.lecture-bill-list p{color:var(--text-secondary);margin:6px 0;font-size:12px;line-height:1.6}.lecture-bill-list small{color:var(--text-secondary);font-size:11px}.lecture-bill-list article>div:last-child>strong{font-size:20px}.lecture-bill-list button{align-items:center;gap:6px;min-height:40px;font-size:12px;display:flex}.lecture-bill-total{justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:12px;display:flex}.lecture-bill-total strong{font-size:19px}.tuition-total>small{color:var(--text-secondary);font-size:12px;font-weight:400}@media (max-width:600px){.lecture-billing-filter{padding:0 16px 16px}.lecture-billing-filter label{flex-direction:column;align-items:flex-start;gap:8px}.lecture-billing-filter select{width:100%;font-size:16px}.lecture-bill-list{padding:0 16px 16px}.lecture-bill-list article{gap:12px}.lecture-bill-list article>div:first-child{overflow-wrap:anywhere;min-width:0}.lecture-bill-total{flex-direction:column;align-items:flex-start;gap:8px}}.pdf-preview{border-top:1px solid var(--border,#e2e8e5);border-bottom:1px solid var(--border,#e2e8e5);gap:14px;padding:18px 0;display:grid}.pdf-preview>strong{font-size:14px}.pdf-amount{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.pdf-amount b{font-variant-numeric:tabular-nums;font-size:26px}.pdf-preview details{font-size:13px;line-height:1.7}.pdf-preview details summary{cursor:pointer}.pdf-preview details p{margin:7px 0}.manual-charge-card>div:last-child{justify-items:end;gap:10px;display:grid}.manual-charge-card button{padding:8px 12px;font-size:13px}.invoice-settings-fields{border:0;min-width:0;margin:22px 0;padding:0}.invoice-settings-fields legend{margin-bottom:14px;padding:0;font-size:15px;font-weight:600}.invoice-settings-fields>label,.invoice-settings-fields .form-pair{margin-top:14px}.app-shell{--ui-radius:12px;--ui-control-radius:8px;--ui-control-height:40px;--ui-gap:16px;--notification-bg:#c63f46;--notification-ink:#fff;--notification-action-bg:#a95622;--notification-tab-bg:#466f98}.app-shell button:disabled{cursor:default}:is(.app-shell button:focus-visible,.app-shell summary:focus-visible,.app-shell input:focus-visible,.app-shell select:focus-visible,.app-shell textarea:focus-visible){outline:2px solid var(--primary);outline-offset:3px}.app-shell :is(input,select,textarea){border-color:var(--border);color:var(--text);border-radius:var(--ui-control-radius);line-height:1.5}.app-shell :is(input,select):not([type=checkbox]):not([type=radio]):not([type=hidden]){min-height:var(--ui-control-height)}.app-shell input::placeholder,.app-shell textarea::placeholder{color:var(--text-muted)}.app-shell :is(input[type=checkbox],input[type=radio]){accent-color:var(--primary)}.app-shell .primary{min-height:var(--ui-control-height);border-radius:var(--ui-control-radius);white-space:nowrap;gap:7px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.4}.app-shell :is(.topbar,.month-navigation,.board-date,.shift-month-toolbar,.course-schedule-month) .icon-button{border-radius:var(--ui-control-radius);width:36px;height:36px;padding:8px}.app-shell .page-head{margin-bottom:20px}.app-shell .page-head h1{letter-spacing:0;font-size:23px;line-height:1.4}.app-shell :is(.admin-panel,.calendar-card,.management-links,.management-detail,.proposal-form-panel,.shift-month-card){border-radius:var(--ui-radius);border-color:var(--border);box-shadow:none}.app-shell .admin-panel{min-height:0}.app-shell :is(.member-card,.reschedule-card,.meeting-card,.proposal-card,.lecture-plan-card,.shift-teacher-card){border-color:var(--border);border-radius:var(--ui-radius);box-shadow:none}.app-shell :is(.member-card-grid,.reschedule-grid,.meeting-list,.proposal-list,.shift-teacher-grid){gap:var(--ui-gap)}.app-shell :is(.member-card,.reschedule-card,.meeting-card,.proposal-card){padding:20px}.app-shell :is(.member-card h2,.reschedule-card h2,.meeting-card-content>strong,.proposal-card-main>strong){font-size:16px;font-weight:600;line-height:1.6}.app-shell .member-card-avatar{border-radius:10px;width:40px;height:40px;font-size:16px}.app-shell .member-info-line{min-height:44px;margin:8px 0 12px}.app-shell .member-card-actions>button{min-height:var(--ui-control-height);border-radius:var(--ui-control-radius)}.app-shell :is(.course-catalog-actions,.row-actions) button{border-radius:var(--ui-control-radius);min-height:36px}.app-shell :is(.roster-toolbar,.meetings-toolbar,.course-action-bar,.course-hub-toolbar){gap:12px}.app-shell .roster-toolbar{padding:20px 20px 12px}.app-shell .list-count{padding:0 20px 16px}.app-shell .roster-filters{flex-wrap:wrap;gap:8px}.app-shell .roster-filters input{flex:180px;width:auto}.app-shell .roster-filters select{flex:0 auto}.app-shell .simple-empty{color:var(--text-secondary);margin:0;padding:40px 20px;font-size:13px;line-height:1.8}.app-shell .month-navigation{align-items:center;gap:2px;min-width:0;display:flex}.app-shell .month-select-trigger{white-space:nowrap;min-height:36px;color:var(--text);border-radius:var(--ui-control-radius);font-variant-numeric:tabular-nums;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:16px;font-weight:650;line-height:1.4;display:inline-flex}.app-shell .choice-tabs{align-items:stretch;gap:4px;min-width:0;max-width:100%;margin:0 0 20px;display:flex}.app-shell .choice-tabs>button{white-space:nowrap;min-height:42px;color:var(--text-secondary);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:14px;font-weight:500;line-height:1.4;display:inline-flex}.app-shell .choice-tabs>button[aria-selected=true]{color:var(--primary-strong);font-weight:650}.app-shell .choice-tabs-line{border-bottom:1px solid var(--border);gap:12px}.app-shell .choice-tabs-line>button{border-bottom:2px solid #0000;border-radius:0;padding:10px 6px 12px}.app-shell .choice-tabs-line>button[aria-selected=true]{border-bottom-color:var(--primary)}.app-shell .choice-tabs-segment{background:var(--surface-soft);border-radius:10px;gap:4px;width:fit-content;margin:0;padding:4px}.app-shell .choice-tabs-segment>button{border-radius:7px;min-height:34px;padding:7px 14px;font-size:13px}.app-shell .choice-tabs-segment>button[aria-selected=true]{background:var(--surface,#f3f6f8);box-shadow:0 1px 3px #0000000d}.app-shell .choice-tab-count{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.app-shell :is(.menu-count,.choice-tab-count,.pending-count,.notice-new,.queue-count,.calendar-notice-links>button>b,.attendance-review-heading>b,.attendance-reminder-body b){box-sizing:border-box;width:max-content;height:auto;min-width:var(--notification-size,20px);min-height:var(--notification-size,20px);aspect-ratio:1;white-space:nowrap;background:var(--notification-bg);color:var(--notification-ink);border-radius:50%;flex:none;justify-content:center;align-self:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.app-shell :is(.choice-tab-count,.pending-count){--notification-bg:var(--notification-tab-bg);--notification-size:18px}.app-shell :is(.queue-count,.calendar-notice-links>button>b,.attendance-review-heading>b,.attendance-reminder-body b){--notification-bg:var(--notification-action-bg);--notification-size:18px;letter-spacing:0;padding:0 3px;font-size:11px;font-weight:700}.app-shell .bottom-nav .menu-count{--notification-size:16px;padding-inline:4px}.app-shell :is(.subject-tabs,.course-category-tabs){gap:4px}.app-shell :is(.subject-tabs,.course-category-tabs)>button{min-height:40px;font-size:13px;line-height:1.4}.app-shell .course-hub-toolbar>.choice-tabs{margin:0}.app-shell .course-action-bar>.choice-tabs{flex-shrink:1}.app-shell .course-schedule-month{padding:16px 20px}.app-shell .meetings-toolbar{margin-bottom:16px}.app-shell .course-catalog-row{gap:16px}.app-shell .course-catalog-info{gap:5px}.app-shell .tuition-panel{padding:20px}.app-shell .tuition-panel .roster-toolbar{padding:0 0 16px}.app-shell .info-disclosure{color:var(--text-secondary);margin:16px 0 0;font-size:12px;line-height:1.8}.app-shell .info-disclosure>summary{cursor:pointer;-webkit-user-select:none;user-select:none;width:fit-content;min-height:36px;padding:7px 0}.app-shell .info-disclosure>div{max-width:760px;padding:4px 0 12px}.app-shell .payroll-panel>.info-disclosure{margin:8px 20px 12px}.app-shell .management-link{min-height:76px;padding:18px 20px}.app-shell .management-link small{margin-top:4px;font-size:12px}.app-shell .management-back{gap:6px;min-height:36px;font-size:13px}.app-shell .modal{border-radius:16px;padding:24px}.app-shell .modal header{align-items:center;gap:16px;margin-bottom:22px}.app-shell .modal h2{margin:0;font-size:19px;font-weight:650;line-height:1.5}.app-shell .modal header>.icon-button{flex-shrink:0;width:36px;height:36px}.app-shell .modal form>label,.app-shell .modal .form-pair>label{color:var(--text);gap:8px;font-size:13px;font-weight:500}.app-shell .modal .modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:22px;padding-top:18px}.app-shell .modal .modal-actions>button{border-radius:var(--ui-control-radius);min-height:40px;padding:10px 14px;font-size:13px}.app-shell .modal .modal-actions>.primary{min-width:100px}.app-shell .modal .field-hint{font-size:12px;line-height:1.75}.app-shell .error{border-radius:var(--ui-control-radius);font-size:13px;line-height:1.7}@media (max-width:760px){.app-shell{--ui-gap:12px}.app-shell .page-head{margin-bottom:16px}.app-shell .page-head h1{font-size:21px}.app-shell .primary{padding:10px 12px;font-size:12px}.app-shell :is(.member-card,.reschedule-card,.meeting-card,.proposal-card){padding:16px}.app-shell .roster-toolbar{flex-wrap:wrap;align-items:flex-start;padding:16px 16px 12px}.app-shell .roster-toolbar>.primary{margin-left:auto}.app-shell .roster-filters,.app-shell .roster-filters input{flex-basis:100%;width:100%}.app-shell .roster-filters select{flex:1;min-width:0}.app-shell .list-count{padding:0 16px 12px}.app-shell .choice-tabs{gap:8px;margin-bottom:16px}.app-shell .choice-tabs>button{gap:5px;padding:10px 5px;font-size:13px}.app-shell .choice-tabs-segment{gap:2px;margin:0}.app-shell .choice-tabs-segment>button{padding:7px 10px;font-size:12px}.app-shell .choice-tab-count{--notification-size:18px;padding-inline:4px;font-size:10px}.app-shell .month-select-trigger{padding:6px;font-size:15px}.app-shell .month-navigation{gap:0}.app-shell .course-schedule-month{padding:12px}.app-shell .tuition-panel{padding:16px}.app-shell .tuition-panel .roster-toolbar{flex-wrap:wrap;align-items:center;padding:0 0 12px}.app-shell .payroll-panel .roster-toolbar{padding:16px}.app-shell .modal{padding:20px 16px}.app-shell .modal h2{font-size:18px}.app-shell .modal form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-shell .modal form select,.app-shell .modal form textarea{font-size:16px}.app-shell .modal .modal-actions>button{font-size:13px}.app-shell .management-link{min-height:72px;padding:16px}}@media (prefers-reduced-motion:reduce){.app-shell *{scroll-behavior:auto;transition:none!important}}.app-shell .time-choice-buttons{background:var(--surface-soft);border-radius:10px;gap:4px;padding:4px}.app-shell .time-choice-buttons>button{min-height:34px;color:var(--text-secondary);background:0 0;border:0;border-radius:7px;padding:8px 10px;font-size:13px;font-weight:500}.app-shell .time-choice-buttons>button[aria-pressed=true]{background:var(--surface,#f3f6f8);color:var(--primary-strong);font-weight:650;box-shadow:0 1px 3px #0000000d}@media (min-width:761px) and (max-width:1100px){.app-shell .roster-toolbar:has(.roster-filters){flex-wrap:wrap}.app-shell .roster-toolbar .roster-filters{flex-basis:100%}.app-shell .roster-toolbar:has(.roster-filters)>.primary{margin-left:auto}}.app-shell .teacher-capacity-options{border:0;min-width:0;margin:20px 0;padding:0}.app-shell .teacher-capacity-options legend{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:600}.app-shell .teacher-capacity-options legend small{color:var(--text-secondary);margin-top:5px;font-size:12px;font-weight:400;display:block}.app-shell .teacher-capacity-options>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.app-shell .teacher-capacity-options>div>label{border:1px solid var(--border);min-height:44px;color:var(--text);cursor:pointer;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:7px;margin:0;padding:10px 5px;display:flex;position:relative}.app-shell .teacher-capacity-options input{opacity:0;width:1px;height:1px;position:absolute}.app-shell .teacher-capacity-options label:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:3px}.app-shell .teacher-capacity-options label.selected{background:var(--tint);border-color:var(--primary)}.app-shell .capacity-check{border:1px solid var(--text-muted);border-radius:3px;flex-shrink:0;place-items:center;width:16px;height:16px;display:grid}.app-shell .selected .capacity-check{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.app-shell .member-capacity{color:var(--text-secondary);white-space:nowrap;font-size:11px}.app-shell .teacher-capacity-trigger{white-space:nowrap;min-height:36px;font-size:12px}.app-shell .shift-calendar-heading{flex-wrap:wrap}.app-shell .group-student-picker>select{width:100%;margin:4px 0 12px}@media (max-width:760px){.app-shell .shift-calendar-heading h2{flex:1}.app-shell .shift-calendar-heading>.primary{margin-left:auto}}.app-shell .group-course-selection{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:4px}.app-shell .group-course-selection label{color:var(--text);flex-direction:column;gap:8px;margin-bottom:17px;font-size:13px;font-weight:500;display:flex}.app-shell .group-course-selection select{width:100%;padding:11px;font-size:14px}@media (max-width:760px){.app-shell .group-course-selection select{font-size:16px}}.app-shell .modal .group-student-picker label{border:1px solid var(--border);background:var(--surface,#f3f6f8);cursor:pointer;border-radius:8px;flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-width:0;min-height:56px;margin:0;padding:12px;font-size:13px;display:flex}.app-shell .modal .group-student-picker label.selected{background:var(--tint);border-color:var(--primary)}.app-shell .modal .group-student-picker label input{flex:none;width:17px;height:17px;margin:0;padding:0}.app-shell .modal .group-student-picker label>span{overflow-wrap:anywhere;min-width:0}.app-shell .weekly-range{border:1px solid var(--border);border-radius:10px;margin:8px 0 16px;padding:16px}.app-shell .weekly-range .choice-tabs{margin:0 0 16px}.app-shell .weekly-range>label{margin-bottom:12px}.app-shell .weekly-range-summary{color:var(--primary-strong);flex-wrap:wrap;gap:8px 16px;margin:0;font-size:13px;font-weight:600;line-height:1.8;display:flex}.app-shell .weekly-range-summary>span{color:var(--text-secondary);font-weight:400}.app-shell .series-scope{margin:0 0 20px}.app-shell .series-fixed-fields{border:0;min-width:0;padding:0}.app-shell .series-fixed-fields:disabled{opacity:.55}.app-shell .modal .billing-month-field{color:var(--text);gap:8px;margin-bottom:16px;font-size:13px;font-weight:500;display:grid}.app-shell .billing-month-field .month-navigation{width:fit-content;max-width:100%}.app-shell .fee-plan-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.app-shell .fee-plan-row:last-child{border-bottom:0}.app-shell .fee-plan-info{overflow-wrap:anywhere;gap:6px;min-width:0;display:grid}.app-shell .fee-plan-info>span{color:var(--text-secondary);font-variant-numeric:tabular-nums}.app-shell .fee-plan-row .row-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.mobile-menu-backdrop{display:none}@media (max-width:760px){.app-shell .bottom-nav>button{min-width:0;min-height:44px;color:var(--text-secondary);font-size:11px}.app-shell .bottom-nav>button.active{color:var(--primary-strong)}.mobile-menu-backdrop{z-index:90;background:#18342766;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-sheet{background:var(--surface,#fff);width:100%;max-height:85dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow:auto;box-shadow:0 -12px 40px #00000012}.mobile-menu-sheet>header{justify-content:space-between;align-items:center;margin:0 0 8px;display:flex}.mobile-menu-sheet h2{margin:0;font-size:17px}.mobile-menu-sheet>header button{width:44px;height:44px}.mobile-menu-sheet>div{gap:4px;display:grid}.mobile-menu-sheet>div>button{text-align:left;min-height:56px;color:var(--text);background:0 0;border:0;border-radius:10px;align-items:center;gap:14px;padding:12px;font-size:15px;display:flex}.mobile-menu-sheet>div>button[aria-current=page]{color:var(--primary-strong);background:var(--tint);font-weight:600}.mobile-menu-sheet>div>button>span:first-of-type{flex:1}.app-shell :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]){min-width:0;max-width:100%;font-size:16px}.app-shell .form-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .form-pair>label{min-width:0}.app-shell .choice-tabs{flex-wrap:wrap;max-width:100%}.app-shell .choice-tabs>button,.app-shell .time-choice-buttons>button{min-height:44px}.app-shell .course-action-bar{flex-wrap:wrap}.app-shell .course-action-bar>.primary{margin-left:auto}.app-shell .fee-plan-row{flex-wrap:wrap;align-items:flex-start;gap:12px}.app-shell .fee-plan-info{flex:100%}.app-shell .fee-plan-row .row-actions{margin-left:auto}.app-shell .fee-plan-row .row-actions>button{min-height:44px}.app-shell .assignment-course-option>span{flex-wrap:wrap;gap:4px}.app-shell .assignment-course-option strong{flex-basis:100%}.app-shell .course-schedule-description{overflow-wrap:anywhere}}@media (max-width:380px){.app-shell .choice-tabs-line:has(>button:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px;display:grid}.app-shell .meetings-toolbar{flex-wrap:wrap}.app-shell .meetings-toolbar>.primary{margin-left:auto}.app-shell .modal .form-pair{grid-template-columns:minmax(0,1fr)}}.app-shell .repeat-warning{color:#916000;align-items:flex-start;gap:8px;margin:12px 0;font-size:13px;line-height:1.7;display:flex}.app-shell .repeat-warning svg{color:#b27800;flex-shrink:0;margin-top:3px}.app-shell .shift-submission-overview,.app-shell .shift-submission-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;display:flex}.app-shell .shift-submission-overview>span{color:var(--text-secondary);font-size:13px}.app-shell .shift-teacher-identity{overflow-wrap:anywhere;text-align:left;gap:10px;min-width:0;display:grid}.app-shell .shift-submission-status{align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.app-shell .shift-submission-status.submitted{color:#26794e}.app-shell .shift-submission-status.unsubmitted{color:#916000}.app-shell .shift-submission-status svg{flex-shrink:0}@media (max-width:760px){.app-shell .shift-submission-bar>.primary{min-height:44px;margin-left:auto}}.app-shell .shift-reminders{gap:8px;margin:0 0 16px;display:grid}.app-shell .shift-reminders>button{text-align:left;border:1px solid var(--border);background:var(--surface,#fff);border-radius:10px;align-items:center;gap:10px;width:100%;padding:14px;display:flex}.app-shell .shift-reminders>button>svg:first-child{color:#b27800;flex-shrink:0}.app-shell .shift-reminders>button>span{flex:1;gap:5px;min-width:0;display:grid}.app-shell .shift-reminders strong{overflow-wrap:anywhere;font-size:13px}.app-shell .shift-reminders small,.app-shell .shift-submission-bar>small{color:var(--text-secondary);font-size:12px}.app-shell .student-confirmations{margin:0 0 20px}.app-shell .student-confirmations>header{align-items:center;margin:0 0 10px;display:flex}.app-shell .student-confirmations h2{align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.app-shell .student-confirmations h2>span{color:var(--text-secondary);font-size:12px;font-weight:500}.app-shell .student-confirmations>div{gap:8px;display:grid}.app-shell .student-confirmation{text-align:left;border:1px solid var(--border);background:var(--surface,#fff);border-radius:12px;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.app-shell .student-confirmation>svg{color:#26794e;flex-shrink:0}.app-shell .student-confirmation>span:first-of-type{flex:1;gap:6px;min-width:0;display:grid}.app-shell .student-confirmation small{color:var(--text-secondary);font-size:12px}.app-shell .student-confirmation strong{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 12px;font-size:15px;line-height:1.5;display:flex}.app-shell .student-confirmation strong>b{font-weight:600}.app-shell .student-confirmation>span>span{overflow-wrap:anywhere;font-size:13px}.app-shell .confirmation-open{white-space:nowrap;color:var(--primary-strong);align-items:center;gap:4px;font-size:12px;display:flex}.app-shell .confirmation-more{color:var(--primary-strong);background:0 0;border:0;min-height:44px;padding:12px 0;font-size:13px}.app-shell .personal-day-schedule{padding-top:4px}.app-shell .personal-shift-settings{color:var(--text-secondary);margin:0 0 16px;font-size:13px}.app-shell .personal-shift-settings>summary{cursor:pointer;min-height:44px;padding:12px 0}@media (max-width:760px){.app-shell .student-confirmation{align-items:flex-start;gap:10px;padding:14px}.app-shell .student-confirmation>.confirmation-open{align-self:center;font-size:0}.app-shell .student-confirmation strong{gap:3px;display:grid}.app-shell .personal-day-schedule .schedule-card{min-height:76px}.app-shell .personal-day-schedule .schedule-time{min-width:48px}}.app-shell{--text-leading:1.6;--title-leading:1.45;--meta-leading:1.5;letter-spacing:.012em;line-height:var(--text-leading)}.app-shell :is(h1,h2,h3){line-height:var(--title-leading);letter-spacing:.02em}.app-shell .page-head h1{line-height:var(--title-leading);margin:0}.app-shell :is(button,input,select){letter-spacing:0;line-height:1.4}.app-shell textarea{letter-spacing:.012em;line-height:var(--text-leading)}.app-shell :is(label,legend){line-height:var(--meta-leading);letter-spacing:.01em}.app-shell :is(.field-hint,.info-disclosure,.simple-empty,.error){letter-spacing:.012em;line-height:1.7}.app-shell .badge{letter-spacing:0;line-height:1.3}.app-shell :is(.menu-count,.choice-tab-count,.notice-new){letter-spacing:0}.app-shell :is(.sidebar nav button,.bottom-nav button){letter-spacing:0;line-height:1.35}.app-shell .persistent-school-name{letter-spacing:.02em;line-height:1.4}.app-shell :is(.member-card h2,.reschedule-card h2,.meeting-card-content>strong,.proposal-card-main>strong,.schedule-card>strong){letter-spacing:.015em;line-height:1.5}.app-shell .reschedule-card h2{margin:12px 0 6px}.app-shell .reschedule-teacher{line-height:var(--meta-leading);margin:0 0 12px}.app-shell :is(.meeting-card-content,.proposal-card-main,.course-catalog-info,.course-schedule-description){gap:6px}.app-shell :is(.member-info-line,.schedule-person,.meeting-card-content>small,.course-catalog-info small){line-height:var(--meta-leading)}.app-shell .schedule-card{gap:6px}.app-shell .reschedule-date{line-height:var(--meta-leading);row-gap:6px;padding:12px 0}.app-shell .reschedule-reason p{line-height:var(--text-leading);margin:6px 0 0}.app-shell .notice-content{line-height:var(--meta-leading);gap:6px}.app-shell .notice-title{line-height:var(--meta-leading);gap:8px}.app-shell .notice-content>strong{letter-spacing:0;gap:4px 12px;line-height:1.5}.app-shell .notice-actions{gap:8px;margin-top:6px}.app-shell .attendance-reminder-body{line-height:var(--meta-leading);gap:6px}.app-shell .attendance-reminder-body>strong{letter-spacing:.015em;line-height:1.45}.app-shell :is(.payroll-amount,.payroll-time-summary,.tuition-panel td){line-height:var(--meta-leading);font-variant-numeric:tabular-nums;letter-spacing:0}.app-shell .modal header{margin-bottom:20px}.app-shell .modal form>label,.app-shell .modal .form-pair>label{line-height:var(--meta-leading);gap:8px;margin-bottom:16px}.app-shell .form-pair{gap:12px}.app-shell .school-form>label{gap:8px;margin-bottom:20px}.app-shell .settings-body>h2{line-height:var(--title-leading);margin-top:0;margin-bottom:20px}.app-shell .management-link small{line-height:var(--meta-leading);margin-top:6px}.app-shell .modal .modal-actions{margin-top:20px;padding-top:16px}.app-shell :is(.calendar-grid,.shift-month-card,.lecture-month,.month-wheel,.schedule-time,.course-schedule-time,.month-select-trigger,.proposal-date-list time){letter-spacing:0;font-variant-numeric:tabular-nums}.app-shell :is(.day-cell,.shift-date-cell,.lecture-days){line-height:1.25}.app-shell .schedule-time,.app-shell .course-schedule-time{gap:4px;line-height:1.4}.credential-login{letter-spacing:.012em;line-height:1.6}.credential-login :is(h1,h2){letter-spacing:.02em;line-height:1.45}.credential-login label{line-height:1.5}.credential-login :is(input,button){letter-spacing:0;line-height:1.4}@media (max-width:760px){.app-shell{letter-spacing:.01em}.app-shell .page-head{margin-bottom:16px}.app-shell :is(.member-card,.reschedule-card,.meeting-card,.proposal-card,.student-confirmation){padding:16px}.app-shell .notice-content>strong{gap:3px}.app-shell .modal header{margin-bottom:18px}.app-shell .modal form>label,.app-shell .modal .form-pair>label{margin-bottom:14px}.app-shell .modal .modal-actions{margin-top:18px;padding-top:14px}.app-shell .settings-body>h2{margin-bottom:18px}.app-shell .bottom-nav>button{gap:5px}}.app-shell .participant-description{flex:1;gap:5px;min-width:0;display:grid}.app-shell .participant-existing{flex-wrap:wrap;gap:4px 8px;display:flex}.app-shell .participant-existing small{background:var(--tint);color:var(--primary-strong);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;margin:0;padding:3px 6px;font-size:11px;line-height:1.4;display:inline-flex}.app-shell .proposal-list-entry{background:var(--surface,#fff);border:1px solid var(--border);border-radius:var(--ui-radius);min-width:0;overflow:hidden}.app-shell .proposal-list-entry>.proposal-card{width:100%;box-shadow:none;border:0;border-radius:0}.app-shell .proposal-card-actions{justify-content:flex-end;padding:0 20px 16px;display:flex}.app-shell .proposal-card-actions button{min-height:36px;color:var(--text-secondary);background:0 0;padding:7px 10px;font-size:12px}@media (max-width:760px){.app-shell .proposal-card-actions{padding:0 16px 14px}.app-shell .proposal-card-actions button{min-height:44px}.app-shell .participant-existing{gap:4px}}.app-shell .choice-tabs.subject-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;display:grid}.app-shell .choice-tabs.subject-tabs>button{min-width:0;padding-inline:2px}.app-shell .choice-tabs.course-category-tabs{width:100%;margin-bottom:16px}.app-shell .choice-tabs.course-category-tabs>button{flex:1}.app-shell .lesson-discount-fields{border:1px solid var(--border);border-radius:12px;min-width:0;margin:16px 0;padding:14px}.app-shell .discount-toggle{justify-content:space-between;align-items:center;gap:12px;margin:0;font-weight:600;display:flex}.app-shell .discount-toggle input{width:20px;height:20px;accent-color:var(--primary);margin:0}.app-shell .discount-options{gap:12px;margin-top:14px;display:grid}.app-shell .discount-options>label{margin:0}.app-shell .discount-number{align-items:center;gap:10px;display:flex}.app-shell .discount-number input{flex:1;min-width:0}.app-shell .discount-preview{background:var(--tint);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px;font-size:13px;display:grid}.app-shell .discount-preview>strong{font-variant-numeric:tabular-nums;font-size:18px}.app-shell .discount-preview>small{color:var(--text-secondary);grid-column:1/-1;line-height:1.5}.app-shell .lesson-discount-summary{color:var(--text-secondary);margin-top:6px;font-size:12px;display:block}.app-shell .lecture-discount{margin-top:16px}.app-shell .fee-plan-filters{flex-wrap:wrap;gap:12px;margin:0 0 20px;display:flex}.app-shell .fee-plan-filters>.choice-tabs{margin:0}@media (max-width:480px){.app-shell .fee-plans-panel>.section-title{align-items:flex-start;gap:12px}.app-shell .fee-plans-panel>.section-title>.primary{padding-inline:10px;font-size:12px}.app-shell .fee-plan-filters{gap:10px}}.app-shell .lesson-form-section{border:0;width:100%;min-width:0;margin:0 0 22px;padding:0}.app-shell .lesson-form-section>legend{float:left;border-bottom:1px solid var(--border);width:100%;color:var(--text);margin:0 0 16px;padding:0 0 10px;font-size:14px;font-weight:650;line-height:1.5}.app-shell .lesson-section-body{clear:both;min-width:0;display:flow-root}.app-shell .lesson-section-body>label,.app-shell .lesson-course-picker>label{color:var(--text);font-size:13px;line-height:1.6}.app-shell .lesson-section-body>label:last-child,.app-shell .lesson-course-picker>label:last-child{margin-bottom:0}.app-shell .lesson-registration-form .choice-tabs-segment{width:100%;margin:0 0 14px;display:flex}.app-shell .lesson-registration-form .choice-tabs-segment>button{white-space:normal;flex:1;min-width:0}.app-shell .lesson-registration-form .lesson-course-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-shell .lesson-registration-form .lesson-entry-toggle{min-height:36px;color:var(--primary-strong);text-align:left;background:0 0;border:0;padding:4px 0;font-size:12px}.app-shell .lesson-fee-summary{color:var(--text-secondary);justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;font-size:12px;line-height:1.7;display:flex}.app-shell .lesson-fee-summary strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.app-shell .lesson-fee-summary small{color:var(--text-secondary);font-size:12px;font-weight:400}.app-shell .lesson-course-summary{align-items:center;gap:10px;font-size:15px;display:flex}.app-shell .lesson-capacity-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.app-shell .lesson-capacity-row>strong{color:var(--primary-strong);font-variant-numeric:tabular-nums;font-size:21px}.app-shell .lesson-capacity-row small{color:var(--text-secondary);font-size:12px;font-weight:400}.app-shell .modal .lesson-capacity-row>label{color:var(--text);flex-direction:row;align-items:center;gap:10px;margin:0;font-size:13px}.app-shell .lesson-capacity-row input{width:80px}.app-shell .lesson-registration-form .group-student-picker{border:0;min-width:0;margin:0;padding:0}.app-shell .lesson-registration-form .group-student-picker>select{margin:0 0 12px}.app-shell .lesson-registration-form .lesson-time-choice{margin:0 0 16px}.app-shell .lesson-registration-form .lesson-time-choice legend{margin-bottom:8px;font-size:13px;font-weight:500}.app-shell .lesson-registration-form .lesson-time-choice>label,.app-shell .lesson-registration-form .lesson-time-choice .form-pair>label{margin-bottom:0}.app-shell .modal label.lesson-option-row{border-top:1px solid var(--border);min-height:48px;color:var(--text);flex-direction:row;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:12px 0;font-size:13px;line-height:1.6;display:flex}.app-shell .modal label.lesson-option-row>input{width:19px;height:19px;accent-color:var(--primary);flex:none;margin:0;padding:0}.app-shell .lesson-registration-form .weekly-range{background:var(--surface-soft);border:0;margin:0 0 12px;padding:14px}.app-shell .lesson-registration-form .lesson-discount-fields{border:0;border-top:1px solid var(--border);border-radius:0;min-width:0;margin:0;padding:0}.app-shell .lesson-registration-form .discount-toggle{min-height:48px;color:var(--text);flex-direction:row;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:12px 0;font-size:13px;font-weight:500;display:flex}.app-shell .lesson-registration-form .discount-toggle input{flex:none;width:19px;height:19px;margin:0;padding:0}.app-shell .lesson-registration-form .discount-options{background:var(--surface-soft);border-radius:10px;margin:0 0 16px;padding:14px}.app-shell .lesson-registration-form .discount-options>label{color:var(--text);font-size:13px}.app-shell .lesson-registration-form>.modal-actions,.app-shell .lesson-registration-modal .lecture-save{background:var(--surface,#f3f6f8);z-index:2;margin-bottom:-16px;padding-bottom:16px;position:sticky;bottom:-24px}@media (max-width:760px){.app-shell .lesson-form-section{margin-bottom:20px}.app-shell .lesson-form-section>legend{margin-bottom:14px}.app-shell .lesson-registration-form>.modal-actions,.app-shell .lesson-registration-modal .lecture-save{padding-bottom:max(16px,env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;display:grid;bottom:-20px}.app-shell .lesson-registration-form .lesson-time-choice .form-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .lesson-registration-form .group-student-picker>div{grid-template-columns:minmax(0,1fr);max-height:230px}.app-shell .lesson-registration-form .group-student-picker label{min-height:48px;padding:10px 12px}}.payroll-mobile-label{display:none}@media (max-width:760px){.app-shell .bottom-nav>button>span:last-child{font-size:11px;line-height:1.4}.app-shell .bottom-nav .menu-count{font-size:10px;line-height:1}.app-shell .bottom-nav>button{min-height:48px}.app-shell .topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.app-shell .persistent-school-name{overflow-wrap:anywhere;font-size:15px}.app-shell .plain-calendar .calendar-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:8px;display:grid}.app-shell .plain-calendar .board-date{flex-wrap:wrap;gap:0;min-width:0;display:flex}.app-shell .plain-calendar .board-date>.icon-button{flex:none;width:36px;height:44px;padding:8px}.app-shell .plain-calendar .board-date>.month-select-trigger{gap:2px;min-height:44px;padding:6px 2px;font-size:14px}.app-shell .plain-calendar .today-button{min-height:44px;margin-left:4px;padding:8px;font-size:12px}.app-shell .plain-calendar .calendar-add{gap:0;min-width:44px;min-height:44px;padding:10px}.app-shell .plain-calendar .calendar-add>span{display:none}.app-shell .plain-calendar .calendar-add svg{width:20px;height:20px}.app-shell :is(.month-navigation,.shift-month-toolbar,.course-schedule-month) .icon-button{flex:none;width:44px;height:44px}.app-shell :is(.month-select-trigger,.management-back,.teacher-capacity-trigger,.notice-actions button,.member-card-actions button,.course-catalog-actions button,.lesson-tools button){min-height:44px}.app-shell .modal header>.icon-button{width:44px;height:44px}.app-shell .modal .modal-actions>button{min-height:44px}.app-shell .lesson-registration-form .lesson-entry-toggle{min-height:44px;font-size:13px}.app-shell .modal-backdrop{top:var(--dialog-viewport-top,0px);height:var(--dialog-viewport-height,100dvh);padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overscroll-behavior:contain;bottom:auto}.app-shell .modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-width:0;max-height:100%;scroll-padding-block:16px 96px}.app-shell .modal :is(input,select,textarea){scroll-margin-block:20px 96px}.app-shell .modal form label{min-width:0}.app-shell :is(.notice-content,.course-catalog-info,.tuition-student>summary>span,.tuition-lessons>div>span){overflow-wrap:anywhere;min-width:0}.app-shell .notice-actions{flex-wrap:wrap;gap:8px}.app-shell .tuition-student>summary{flex-wrap:wrap}.app-shell .tuition-student>summary>span{flex:120px}.app-shell .tuition-student>summary>strong{font-variant-numeric:tabular-nums;white-space:nowrap}.app-shell .course-catalog-row{flex-wrap:wrap}.app-shell .course-catalog-actions{flex-wrap:wrap;margin-left:auto}.app-shell .course-schedule-row{gap:10px}.app-shell .course-schedule-row>svg{flex:none}.app-shell .shift-teacher-card{min-width:0;min-height:76px}}@media (max-width:600px){.app-shell .payroll-panel>.table-scroll{padding:0 16px;overflow:visible}.app-shell .payroll-summary-table,.app-shell .payroll-summary-table tbody{width:100%;min-width:0;display:block}.app-shell .payroll-summary-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell .payroll-summary-table tr{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;display:grid;overflow:hidden}.app-shell .payroll-summary-table td{white-space:normal;overflow-wrap:anywhere;border:0;min-width:0;padding:14px 12px;display:block}.app-shell .payroll-admin-table td:first-child{background:var(--surface-soft);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px 12px;font-size:14px;display:flex}.app-shell .payroll-admin-table td:first-child>strong{font-size:15px}.app-shell .payroll-admin-table td:first-child>.payroll-rate-button{min-height:44px;margin:0 0 0 auto}.app-shell .payroll-mobile-label{color:var(--text-secondary);margin-bottom:8px;font-size:12px;line-height:1.5;display:block}.app-shell .payroll-amount strong{font-size:17px}.app-shell .payroll-amount small{margin-top:6px;font-size:12px;line-height:1.6}.app-shell .own-hourly-rate{overflow-wrap:anywhere;padding:0 16px;line-height:1.8}}@media (max-width:360px){.app-shell .plain-calendar .board-date>.icon-button{width:32px;padding:6px}.app-shell .plain-calendar .board-date>.month-select-trigger{font-size:13px}.app-shell .plain-calendar .today-button{margin-left:0;padding:6px}.app-shell .shift-teacher-grid,.app-shell .lesson-registration-form .lesson-course-filters{grid-template-columns:minmax(0,1fr)}}@media (max-height:500px) and (max-width:760px){.app-shell .modal-backdrop{align-items:flex-start;padding-top:8px;padding-bottom:8px}.app-shell .modal{padding-top:14px;padding-bottom:14px}.app-shell .modal header{margin-bottom:12px}}.app-shell .selection-summary{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;font-size:13px;display:flex}.app-shell .selection-summary>strong{color:var(--primary-strong);font-weight:600}.app-shell .member-exclusion-modal .exclusion-choices>label.selected{background:var(--tint)}.app-shell .member-exclusion-modal .info-disclosure{margin-top:8px}.app-shell .simple-empty>p{margin:0 0 12px}.app-shell .simple-empty>button{min-height:40px;color:var(--primary-strong);padding:9px 14px;font-size:13px}.app-shell .modal-actions>.secondary-destructive{color:var(--text-secondary);background:0 0;border-color:#0000;margin-right:auto}.app-shell .manual-charge-list{gap:12px;padding:0 20px 20px;display:grid}.app-shell .manual-charge-card{border:1px solid var(--border);border-radius:var(--ui-radius);background:var(--surface,#f3f6f8);justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;padding:16px;display:flex}.app-shell .manual-charge-card>div{overflow-wrap:anywhere;gap:6px;min-width:0;font-size:13px;display:grid}.app-shell .manual-charge-card>div>strong{font-size:15px}.app-shell .manual-charge-card span,.app-shell .manual-charge-card small{color:var(--text-secondary)}.app-shell .manual-charge-card small{font-size:12px}.app-shell .manual-charge-card>strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:17px}@media (max-width:760px){.app-shell .simple-empty>button{min-height:44px}.app-shell .manual-charge-list{padding:0 16px 16px}.app-shell .manual-charge-card{flex-wrap:wrap;gap:12px;padding:14px}.app-shell .manual-charge-card>strong{margin-left:auto}.app-shell .modal-actions:has(>.secondary-destructive){flex-wrap:wrap;display:flex}.app-shell .modal-actions>.secondary-destructive{text-align:left;flex-basis:100%;justify-content:flex-start;padding-left:0}}.app-shell .student-confirmation>svg{color:var(--primary-strong);align-self:flex-start;margin-top:3px}.app-shell .student-confirmation.notice-read>svg{color:#81878b}.app-shell .notice-content time{font-weight:600}.app-shell .personal-shift-heading{justify-content:flex-end;margin-bottom:12px}.app-shell .personal-shift-settings{border-top:1px solid var(--border);margin:18px 0 0;padding-top:4px}.app-shell .personal-shift-settings>summary{color:var(--text-secondary);padding:14px 0;line-height:1.6}.app-shell .personal-shift-settings>summary>span{float:right;color:var(--text);margin-left:12px;font-weight:600}.app-shell .personal-shift-settings>form{max-width:420px;padding:0 0 16px}.app-shell .personal-shift-settings .teacher-capacity-options{margin:0 0 14px}.app-shell .personal-shift-settings>form>.primary{min-height:40px}.app-shell .personal-pay-rates{gap:8px;max-width:360px;margin-bottom:14px;display:grid}.app-shell .personal-pay-rates p{justify-content:space-between;align-items:baseline;gap:16px;margin:0;display:flex}.app-shell .personal-pay-rates strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:760px){.app-shell .personal-shift-settings>form>.primary{min-height:44px}.app-shell .topbar .top-right>.icon-button{flex:none;width:44px;height:44px}.app-shell .personal-shift-heading>.primary{margin-left:auto}}.app-shell .error .error-retry{white-space:nowrap;min-height:40px;margin-left:auto;padding:8px 12px;font-size:13px;position:static}@media (max-width:760px){.app-shell .error .error-retry{min-height:44px}}.app-shell .member-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:16px}.app-shell .member-card{border:1px solid var(--border);background:var(--surface,#f3f6f8);box-shadow:none;border-radius:12px;gap:0;padding:24px 24px 0;overflow:hidden}.app-shell .member-card-heading{align-items:flex-start;gap:12px;width:100%}.app-shell .member-card-identity{min-width:0;padding-top:0}.app-shell .member-card h2{letter-spacing:.025em;overflow-wrap:anywhere;margin:0;font-size:21px;font-weight:650;line-height:1.5;display:block}.app-shell .member-display-name{letter-spacing:.02em;color:var(--text-secondary);margin:3px 0 0;font-size:12px;line-height:1.6}.app-shell .member-roster-state{color:var(--text-secondary);margin-top:6px;font-size:11px;display:inline-block}.app-shell .member-account-indicator{background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;margin:-6px -10px 0 0;padding:0;display:inline-flex}.app-shell .member-account-indicator.linked{color:#18844a}.app-shell .member-account-indicator.unlinked{color:#b78308}.app-shell .member-account-indicator svg{stroke-width:2px}.app-shell .member-card-overview{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0 16px;display:grid}.app-shell .member-student-info{min-width:0;min-height:0;color:var(--text-secondary);flex-direction:column;align-items:flex-start;gap:3px;padding:0;font-size:13px;line-height:1.6;display:flex}.app-shell .member-monthly-count{flex-direction:column;align-items:flex-end;gap:3px;min-width:80px;display:flex}.app-shell .member-monthly-count small{color:var(--text-secondary);font-size:12px;line-height:1.5}.app-shell .member-monthly-count small>span{text-align:right;font-size:11px;display:block}.app-shell .member-monthly-count strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.35}.app-shell .member-monthly-count strong>span{margin-left:4px;font-size:12px;font-weight:400}.app-shell .member-student-info>strong{color:var(--primary-strong);flex:none;font-size:13px;font-weight:600}.app-shell .member-student-info>span{overflow-wrap:anywhere;min-width:0;margin:0}.app-shell .member-card-metrics{flex-direction:column;gap:6px;padding:16px 0;display:flex}.app-shell .member-card-metrics>div{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.app-shell .member-card-metrics>div+div{border:0;margin:0;padding:0}.app-shell .member-card-metrics small{color:var(--text-secondary);letter-spacing:0;font-size:12px;line-height:1.5}.app-shell .member-card-metrics strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:18px;font-weight:600;line-height:1.5}.app-shell .member-card-metrics strong>span{margin-left:4px;font-size:12px;font-weight:400}.app-shell .member-card-actions{border-top:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:auto;padding-top:0;display:grid}.app-shell .member-card-actions>.member-main-action{background:var(--tint);min-height:44px;color:var(--primary-strong);text-align:left;white-space:normal;border:1px solid #0000;border-radius:8px;grid-column:1/-1;justify-content:flex-start;gap:8px;margin:0 0 6px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.5}.app-shell .member-action-arrow{flex:none;margin-left:auto}.app-shell .member-card-actions>button:not(.member-main-action){border:0;border-top:1px solid var(--border);white-space:normal;min-width:0;min-height:46px;color:var(--text-secondary);overflow-wrap:anywhere;background:0 0;border-radius:0;flex-direction:row;gap:5px;margin:0;padding:10px 2px;font-size:12px;font-weight:400;line-height:1.5}.app-shell .member-course-count{font-variant-numeric:tabular-nums;background:0 0;border-radius:0;min-width:0;height:auto;font-size:12px;font-weight:400;display:inline}.app-shell .account-guidance{background:var(--surface-soft);border-radius:10px;align-items:flex-start;gap:12px;margin:0 0 20px;padding:16px;font-size:13px;line-height:1.7;display:flex}.app-shell .account-guidance>svg{flex:none;margin-top:2px}.app-shell .account-guidance.incomplete>svg{color:#b78308}.app-shell .account-guidance.complete>svg{color:#18844a}.app-shell .account-guidance>div{min-width:0}.app-shell .account-guidance strong{color:var(--text);font-size:14px;font-weight:600;line-height:1.6}.app-shell .account-guidance p{color:var(--text-secondary);overflow-wrap:anywhere;margin:6px 0 0;font-size:12px;line-height:1.8}.app-shell .account-access-modal .account-secondary-actions{margin-top:16px;padding-top:16px}.app-shell .account-access-modal .account-secondary-actions>button{min-height:44px}.app-shell .account-loading{color:var(--text-secondary);padding:12px 0;font-size:13px}@media (max-width:760px){.app-shell .member-card{padding:16px 16px 0}.app-shell .member-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}.app-shell .member-card-actions>button:not(.member-main-action){min-height:46px;font-size:12px}.app-shell .member-card h2{font-size:20px}.app-shell .account-guidance{gap:10px;padding:14px}.app-shell .account-access-modal form>.primary{width:100%;min-height:44px}}@media (max-width:600px){.app-shell .member-card-grid{grid-template-columns:minmax(0,1fr)}.app-shell .member-card-overview{gap:12px;padding:12px 0 14px}.app-shell .member-card-metrics{padding:14px 0}}.app-shell .member-card-actions>button:focus-visible{outline-offset:-3px}@media (min-width:761px){.app-shell .member-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell .invoice-settings{max-width:760px}.app-shell .invoice-settings-fields label{flex-direction:column;align-items:stretch;gap:8px;min-width:0;font-size:13px;font-weight:500;line-height:1.5;display:flex}.app-shell .invoice-settings-fields :is(input,select){border:1px solid var(--border);border-radius:var(--ui-control-radius,8px);background:var(--surface,#fff);width:100%;min-width:0;max-width:100%;min-height:44px;color:var(--text);font:inherit;margin:0;padding:10px 12px;line-height:1.5;display:block}.app-shell .invoice-settings-fields .form-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.app-shell .invoice-settings-fields>label{margin-top:16px}@media (max-width:600px){.app-shell .invoice-settings-fields .form-pair{grid-template-columns:minmax(0,1fr)}.app-shell .invoice-settings-fields :is(input,select){font-size:16px}}.app-shell .finance-page-actions{justify-content:flex-end;margin-bottom:12px;display:flex}.app-shell .finance-settings-dialog,.app-shell .teacher-pay-settings{width:640px;max-width:calc(100vw - 24px)}.app-shell .finance-settings-dialog .settings-body{max-width:none;padding:0}.app-shell .finance-settings-dialog .settings-body>h2{display:none}.app-shell .finance-inline{background:0 0;border:0;padding:0}.app-shell .finance-inline form>label{flex-direction:column;gap:8px;display:flex}.app-shell .finance-inline .choice-tabs{margin-top:12px}.app-shell .finance-settings-dialog .settings-actions{margin-top:22px}.app-shell .finance-settings-dialog .preparation-input{flex-direction:column;gap:8px;line-height:1.6;display:flex}.app-shell .finance-settings-dialog .preparation-input input{width:100%;min-width:0}.app-shell .teacher-pay-settings .rate-editor{max-width:none}.app-shell .management-category-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-width:760px;margin-bottom:20px;display:grid}.app-shell .management-category-tabs>button{min-width:0;min-height:44px;padding:10px 8px;font-size:14px}.app-shell .management-home{max-width:760px;display:block}.app-shell .management-home .management-group{width:100%}.app-shell .management-home .management-link{min-height:76px}.app-shell .management-group-help{min-height:0}@media (max-width:600px){.app-shell .management-category-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:16px}.app-shell .management-category-tabs>button{min-height:44px;padding:10px 6px;font-size:13px}.app-shell .management-home .management-link{min-height:76px;padding:16px}}.app-shell .management-home .management-links{border-radius:12px}.app-shell .management-home .management-link{gap:14px;min-height:72px;padding:16px 18px}.app-shell .management-home .management-link strong{font-size:14px;line-height:1.5}.app-shell .management-home .management-link small{margin-top:3px;font-size:12px;line-height:1.5}.app-shell .management-home .management-link-icon{flex:none;width:20px;height:20px}.app-shell .management-home .management-link>svg:last-child{flex:none;width:16px}.app-shell .management-back{gap:6px;min-height:44px;margin:0 0 8px;padding:8px 2px}.app-shell .management-detail{border-radius:12px;max-width:760px}.app-shell .management-detail>.settings-body,.app-shell .management-detail>.payroll-settings>.settings-body{padding:24px}.app-shell .management-detail h2{margin-bottom:22px;font-size:18px;line-height:1.5}.app-shell .management-detail .section-title{gap:12px;margin-bottom:18px}.app-shell .management-detail .section-title h2{margin:0}.app-shell .management-detail :is(.settings-body>label,.settings-body>form>label,.settings-body .form-pair>label,.admin-login-fields>label):not(.finance-check){flex-direction:column;align-items:stretch;gap:8px;min-width:0;margin-bottom:18px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.app-shell .management-detail :is(.settings-body>label,.settings-body>form>label,.settings-body .form-pair>label,.admin-login-fields>label)>:is(input,select){width:100%;min-width:0;max-width:100%}.app-shell .management-detail :is(input,select):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){border:1px solid var(--border);background:var(--surface,#f3f6f8);min-width:0;max-width:100%;min-height:44px;color:var(--text);border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.5}.app-shell .management-detail .field-hint{overflow-wrap:anywhere;margin:10px 0 0;font-size:12px;line-height:1.7}.app-shell .management-detail .settings-actions{align-items:center;gap:12px;margin-top:24px;padding-top:18px}.app-shell .management-detail .settings-actions .primary{min-height:44px}.app-shell .management-detail .settings-actions [role=status]{font-size:12px;line-height:1.5}.app-shell .management-detail .feature-switches{margin:0}.app-shell .management-detail .feature-switch-row{min-height:56px;padding:14px 0;font-size:14px}.app-shell .management-detail .feature-switch-row:first-child{padding-top:10px}.app-shell .management-detail .feature-switch-row:last-child{border-bottom:0}.app-shell .management-detail .admin-login-fields{gap:18px;max-width:520px}.app-shell .management-detail .admin-login-fields>label{margin:0}.app-shell .management-detail .form-pair{gap:16px}.app-shell .management-detail .invoice-settings-fields .form-pair>label{margin-bottom:0}.app-shell .management-detail .invoice-settings-fields{margin:0 0 24px}.app-shell .management-detail .invoice-settings-fields legend{margin-bottom:12px;font-size:14px}.app-shell .management-detail .invoice-settings-fields .form-pair{margin-top:12px}.app-shell .management-detail>.payroll-settings>.choice-tabs{margin-bottom:0;padding:12px 24px 0}@media (max-width:600px){.app-shell .management-home .management-link{gap:12px;min-height:70px;padding:14px}.app-shell .management-home .management-link small{margin-top:3px;font-size:12px}.app-shell .management-detail>.settings-body,.app-shell .management-detail>.payroll-settings>.settings-body{padding:20px 14px}.app-shell .management-detail h2{margin-bottom:20px;font-size:17px}.app-shell .management-detail .form-pair{grid-template-columns:minmax(0,1fr);gap:16px}.app-shell .management-detail :is(input,select):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){font-size:16px}.app-shell .management-detail .hours-labels,.app-shell .management-detail .hours-row{grid-template-columns:36px 44px minmax(0,1fr) minmax(0,1fr);gap:6px}.app-shell .management-detail .hours-row input[type=time]{width:100%;min-height:44px;padding:6px 2px;font-size:16px}.app-shell .management-detail .settings-actions{margin-top:22px;padding-top:16px}.app-shell .management-detail .settings-actions .primary{width:100%;min-height:46px}.app-shell .management-detail .settings-actions [role=status]{text-align:center;width:100%}.app-shell .management-detail>.payroll-settings>.choice-tabs{padding:10px 14px 0}.app-shell .management-detail .period-settings-main{gap:6px 10px;min-width:0;padding:12px 0}.app-shell .management-detail .period-settings-main strong{overflow-wrap:anywhere}.app-shell .management-detail .period-settings-row>.icon-button{min-width:44px;min-height:44px}.app-shell .management-detail .time-choice-buttons button{min-height:44px;padding-inline:8px}}.app-shell .management-detail .invoice-settings-fields:last-of-type,.app-shell .management-detail .invoice-settings-fields>label:last-child{margin-bottom:0}.app-shell .management-detail .hours-row .closed-check{justify-content:center;align-items:center;min-width:44px;min-height:44px;margin:0;display:flex}.app-shell .management-detail .hours-row .closed-check input{width:18px;height:18px;margin:0}.app-shell .payroll-person-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.app-shell .payroll-person-actions>button{border:1px solid var(--border);background:var(--surface,#f3f6f8);min-height:44px;color:var(--primary-strong);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin:0;padding:9px 11px;font-size:12px;display:inline-flex}.app-shell .financial-document-button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:44px;display:inline-flex}.app-shell .tuition-student-card{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:12px;padding:18px}.app-shell .tuition-student-heading{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.app-shell .tuition-student-heading>span{overflow-wrap:anywhere;min-width:0}.app-shell .tuition-student-heading>span>strong{font-size:15px;line-height:1.5}.app-shell .tuition-student-heading>span>small{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.app-shell .tuition-student-heading>strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:18px}.app-shell .tuition-student-card .tuition-student{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;margin-top:14px}.app-shell .tuition-student-card .tuition-student>summary{min-height:44px;color:var(--primary-strong);padding:12px 0 0;font-size:13px}.app-shell .tuition-student-card .tuition-lessons{padding:0}.app-shell .finance-record-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.app-shell .finance-record-actions>button{justify-content:center;align-items:center;gap:6px;min-height:44px;display:inline-flex}.app-shell .lecture-bill-list>article{grid-template-columns:minmax(0,1fr) auto;gap:14px;display:grid}.app-shell .lecture-bill-list>article>div{overflow-wrap:anywhere;min-width:0}.app-shell .lecture-bill-list>article>div:nth-child(2){text-align:right}.app-shell .lecture-bill-list>article>div:nth-child(2)>strong{font-size:20px;display:block}.app-shell .lecture-bill-list>article>.finance-record-actions{flex-direction:row;grid-column:1/-1;gap:8px;display:flex}.app-shell .financial-document-preview{width:620px;max-width:calc(100vw - 24px)}.app-shell .document-recipient{overflow-wrap:anywhere;margin:4px 0 18px;font-size:14px;font-weight:600;line-height:1.7}.app-shell .document-total{border-block:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:18px 0;display:flex}.app-shell .document-total span{color:var(--text-secondary);font-size:13px}.app-shell .document-total strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:28px}.app-shell .document-metadata{gap:12px;margin:20px 0;display:grid}.app-shell .document-metadata>div,.app-shell .document-breakdown dl>div{grid-template-columns:100px minmax(0,1fr);gap:12px;font-size:13px;line-height:1.7;display:grid}.app-shell .document-metadata dt,.app-shell .document-breakdown dt{color:var(--text-secondary);margin:0}.app-shell .document-metadata dd,.app-shell .document-breakdown dd{overflow-wrap:anywhere;min-width:0;margin:0}.app-shell .document-breakdown{font-size:13px;line-height:1.7}.app-shell .document-breakdown>summary{cursor:pointer;min-height:44px;color:var(--primary-strong);padding:10px 0}.app-shell .document-breakdown dl{gap:10px;margin:12px 0;display:grid}.app-shell .document-breakdown dl>div{grid-template-columns:minmax(0,1fr) auto}.app-shell .document-breakdown p{color:var(--text-secondary);margin:10px 0;font-size:12px}.app-shell .document-actions{flex-wrap:wrap;gap:10px}.app-shell .document-actions .primary{justify-content:center;align-items:center;gap:8px;display:inline-flex}.app-shell .manual-charge-card>div:last-child>.financial-document-button{min-height:44px;padding:9px 11px;font-size:12px}@media (max-width:600px){.app-shell .payroll-admin-table td:first-child>.payroll-person-actions{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:4px;display:grid}.app-shell .payroll-person-actions>button{width:100%;padding:9px 6px;font-size:12px}.app-shell .tuition-student-card{padding:14px}.app-shell .tuition-student-heading{grid-template-columns:minmax(0,1fr) auto;gap:12px}.app-shell .tuition-student-heading>.financial-document-button{grid-column:1/-1;width:100%}.app-shell .lecture-bill-list>article{gap:12px;padding:16px 14px}.app-shell .lecture-bill-list>article>.finance-record-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.app-shell .finance-record-actions>button{width:100%;padding-inline:8px;font-size:12px}.app-shell .manual-charge-card{align-items:start;gap:12px}.app-shell .manual-charge-card>div{overflow-wrap:anywhere;min-width:0}.app-shell .document-total strong{font-size:25px}.app-shell .document-metadata>div{grid-template-columns:minmax(0,1fr);gap:2px}.app-shell .document-actions .primary{order:2;width:100%;min-height:46px}.app-shell .document-actions>button:not(.primary){flex:1;min-height:44px}}.app-shell .financial-document-preview{white-space:normal;text-align:left;font-size:14px;font-weight:400;line-height:1.6}.app-shell :is(.payroll-panel,.tuition-panel,.lecture-billing,.financial-document-preview){letter-spacing:0;line-height:1.6}.app-shell :is(.payroll-amount,.tuition-total,.tuition-student-heading,.document-total) strong{font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1.45}.app-shell .payroll-amount small{margin-top:6px;line-height:1.7;display:block}.app-shell .payroll-needs-settings>strong{color:var(--text-secondary);font-size:14px;font-weight:600;line-height:1.6}.app-shell .payroll-person-actions{margin-top:12px}.app-shell .tuition-student-heading>span>strong{line-height:1.6;display:block}.app-shell .tuition-lessons>div{gap:14px;padding-block:12px;line-height:1.7}.app-shell .tuition-lessons>div>span{overflow-wrap:anywhere;min-width:0}.app-shell .tuition-lessons>div>strong{white-space:nowrap;font-variant-numeric:tabular-nums}.app-shell .financial-document-preview .document-actions{background:var(--surface,#f3f6f8);border-top:1px solid var(--border);z-index:1;padding-top:14px;position:sticky;bottom:0}.app-shell :is(.payroll-panel,.tuition-panel,.lecture-billing) .error>button{min-height:44px;margin:8px 0 0 10px;font-size:12px}@media (max-width:600px){.app-shell .payroll-admin-table td:first-child{gap:6px 12px;line-height:1.6}.app-shell .payroll-person-actions{margin-top:8px}.app-shell .tuition-student-heading{gap:12px 10px}.app-shell .tuition-lessons>div{gap:10px;font-size:12px}.app-shell .document-total{padding:16px 0}.app-shell .document-recipient{margin-bottom:14px;font-size:14px}.app-shell .document-metadata{gap:14px;margin-block:18px}.app-shell .document-breakdown dl>div{gap:12px}.app-shell .financial-document-preview .document-actions{padding-top:12px}}.app-shell .plain-form-fields{border:0;min-width:0;margin:0;padding:0}.app-shell .proposal-form-panel .plain-form-fields{gap:16px;display:grid}.app-shell .proposal-form-panel .plain-form-fields>label{gap:7px;font-size:13px;font-weight:500;display:grid}.app-shell .proposal-form-panel .plain-form-fields>label>input,.app-shell .proposal-form-panel .plain-form-fields>label>select{width:100%;min-width:0}.app-shell .meeting-participant-picker [data-unsaved-ignore]>select{width:100%;margin-bottom:10px}.app-shell .meeting-participant-options label{border:1px solid var(--border);min-height:44px;color:var(--text);cursor:pointer;border-radius:7px;flex-direction:row;align-items:center;gap:8px;margin:0;padding:10px;font-size:12px;font-weight:400;display:flex}.app-shell .meeting-participant-options input{flex:none;width:16px;height:16px;padding:0}.app-shell .meeting-participant-options .chosen{background:var(--tint)}.app-shell .proposal-choices>label:has(input:disabled){cursor:default;color:var(--text-secondary);background:var(--surface-soft)}.app-shell .roster-toolbar~.error>button{min-height:44px;margin-left:10px}@media (max-width:600px){.app-shell .proposal-card{align-items:flex-start;gap:10px}.app-shell .proposal-card-side{flex-wrap:wrap;justify-content:flex-end;gap:6px;font-size:11px}.app-shell .proposal-card-main>span{flex-wrap:wrap;line-height:1.7}.app-shell .proposal-conditions{padding:12px;line-height:1.7}.app-shell .proposal-conditions strong{font-size:15px}.app-shell .proposal-form-panel :is(input,select),.app-shell .proposal-dialog :is(input[type=date],input[type=time]){min-width:0;font-size:16px}.app-shell .proposal-candidate-editor .form-pair{gap:10px}.app-shell .meeting-participant-picker legend>span{float:none;margin-left:10px;display:inline-block}.app-shell .reschedule-date{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.app-shell .reschedule-date strong{overflow-wrap:anywhere}.app-shell .reschedule-actions>button{min-height:44px}}.app-shell .calendar-card>.simple-empty{place-content:center;gap:10px;min-height:240px;display:grid}.app-shell .calendar-card>.simple-empty p{margin:0}.app-shell .management-detail .error>button{min-height:44px;margin-left:10px;font-size:12px}.app-shell .tax-setting-fields>label{flex-direction:column;gap:8px;min-width:0;margin-bottom:18px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.app-shell .tax-setting-fields>label>select{width:100%;min-width:0}.app-shell .hours-time-field{display:contents}.app-shell .hours-time-field>span{display:none}@media (max-width:760px){.app-shell .plain-calendar .board-date>.icon-button,.app-shell .closure-calendar .board-date>.icon-button{flex:none;width:44px;min-height:44px;padding:10px}.app-shell .plain-calendar .today-button,.app-shell .closure-calendar .today-button{min-width:44px;min-height:44px}.app-shell .plain-calendar .day-event-counts>span{height:12px;line-height:12px}.app-shell .plain-calendar .day-event-counts small{font-size:10px;line-height:12px}.app-shell .plain-calendar .day-event-counts b{font-size:11px;line-height:12px}}@media (max-width:600px){.app-shell .management-detail .hours-labels{display:none}.app-shell .management-detail .hours-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:14px 0}.app-shell .management-detail .hours-row>strong{font-size:14px;line-height:1.5}.app-shell .management-detail .hours-row .closed-check{justify-self:end;gap:6px}.app-shell .management-detail .hours-row .closed-check>span{font-size:12px;display:inline}.app-shell .management-detail .hours-time-field{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.app-shell .management-detail .hours-time-field>span{color:var(--text-secondary);font-size:12px;display:block}.app-shell .management-detail .hours-row input[type=time]{width:100%;min-width:0;padding:10px 12px;font-size:16px}.app-shell .closure-save-bar{flex-wrap:wrap;gap:8px;padding:12px 0}.app-shell .closure-save-bar>span:empty{display:none}.app-shell .closure-save-bar>.primary{width:100%;min-height:46px}.app-shell .closure-calendar .month-select-trigger{min-height:44px;font-size:14px}}.app-shell{--ui-radius:20px;--ui-control-radius:12px;--ui-gap:16px;background:var(--page-bg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif}.app-shell .sidebar{background:var(--surface,#f3f6f8);border-right:0;padding:28px 16px 0}.app-shell .sidebar nav{gap:6px}.app-shell .sidebar nav>button{border-radius:14px;min-height:46px;padding:12px 16px;font-weight:550}.app-shell .sidebar nav>button.nav-active{background:var(--tint);color:var(--primary-strong);box-shadow:none;font-weight:700}.app-shell .topbar{background:var(--surface);border-bottom:0}.app-shell .persistent-school-name{letter-spacing:.02em;font-weight:750}.app-shell .page-head h1{letter-spacing:.02em;font-size:28px;font-weight:750}.app-shell :is(.management-panel,.student-roster-panel,.plain-calendar) .primary{min-height:44px;box-shadow:0 3px 0 rgb(var(--theme-rgb)/.13);border-radius:14px;font-weight:700}.app-shell :is(.management-panel,.student-roster-panel,.plain-calendar) button{transition:background .15s,box-shadow .15s,transform .15s}.app-shell :is(.management-panel,.student-roster-panel) :is(input,select):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){background:var(--surface-soft);border:1px solid #0000;border-radius:12px;min-height:46px;padding:11px 13px;font-size:14px}.app-shell :is(.management-panel,.student-roster-panel) :is(input,select):focus{border-color:var(--primary)}.app-shell .plain-calendar .calendar-card{border:1px solid rgb(var(--theme-rgb)/.08);box-shadow:0 8px 30px rgb(var(--theme-rgb)/.045);background:var(--surface);border-radius:22px}.app-shell .plain-calendar .calendar-toolbar{border-bottom:0;gap:12px;padding:18px 20px}.app-shell .plain-calendar .board-date{gap:5px}.app-shell .plain-calendar .month-select-trigger{letter-spacing:0;padding:6px 8px;font-size:23px;font-weight:750}.app-shell .plain-calendar .board-date>.icon-button{background:var(--surface-soft);border-radius:50%;width:38px;height:38px}.app-shell .plain-calendar .today-button{background:var(--tint);color:var(--primary-strong);border:0;border-radius:12px;padding:10px 14px;font-weight:650}.app-shell .plain-calendar .weekdays{background:var(--surface-soft);border:0;padding-block:10px;font-weight:650}.app-shell .plain-calendar .weekdays>span{font-size:12px}.app-shell .plain-calendar .day-cell{border-color:rgb(var(--theme-rgb)/.065);background:var(--surface,#f3f6f8)}.app-shell .plain-calendar .day-cell.outside{background:var(--surface-soft)}.app-shell .plain-calendar .day-number{font-variant-numeric:tabular-nums;font-weight:650}.app-shell .plain-calendar .day-number.today{border-radius:8px}.app-shell .plain-calendar .day-event-counts>span{gap:3px;max-width:66px}.app-shell .plain-calendar .day-event-counts b{color:var(--primary-strong);font-weight:750}.app-shell .plain-calendar .calendar-add{border-radius:14px}.app-shell .day-details{border:0;border-radius:24px;box-shadow:0 20px 70px #17212b20}.app-shell .day-details .schedule-card{background:var(--surface-soft);border:0;border-radius:16px;padding:16px}.app-shell .day-details .person-schedule h3{font-size:16px;font-weight:700}.app-shell .calendar-notices{background:var(--tint);border:0;border-radius:18px;margin-bottom:16px;padding:16px 18px}.app-shell .calendar-notice-links{gap:8px}.app-shell .calendar-notice-links>button{background:var(--surface,#f3f6f8);border:0;border-radius:12px;min-height:44px;padding:11px 13px}.app-shell .calendar-notice-links>button>b{font-variant-numeric:tabular-nums}.app-shell .calendar-notice-links>.initial-setup-notice{text-align:left;grid-column:1/-1;gap:10px;font-size:13px}.app-shell .calendar-notice-links>.initial-setup-notice>span{flex:1;min-width:0}.app-shell .student-roster-panel{background:0 0;border:0;padding:0;overflow:visible}.app-shell .student-roster-panel .roster-toolbar{align-items:flex-start;padding:0 0 14px}.app-shell .student-roster-panel .roster-filters{flex:1;align-items:flex-start}.app-shell .student-roster-panel .list-count{color:var(--text-secondary);padding:0 0 12px;font-size:12px;font-weight:600}.app-shell .student-roster-panel .member-card-grid{padding:0}.app-shell .student-roster-card{border:1px solid rgb(var(--theme-rgb)/.08);box-shadow:0 5px 20px rgb(var(--theme-rgb)/.035);border-radius:22px;padding:22px 22px 0}.app-shell .student-roster-card .member-card-heading{align-items:center;gap:12px}.app-shell .student-avatar{background:var(--tint);width:48px;height:48px;color:var(--primary-strong);border-radius:17px;flex:none;place-items:center;font-size:22px;font-weight:750;display:grid}.app-shell .student-roster-card .member-card-identity{flex:1;min-width:0}.app-shell .student-roster-card h2{letter-spacing:.01em;font-size:21px;line-height:1.45}.app-shell .student-roster-card .member-account-indicator{border-radius:12px;margin:0 -7px 0 0}.app-shell .student-roster-card .member-card-overview{background:var(--surface-soft);border-radius:16px;gap:12px;margin:16px 0;padding:14px 16px}.app-shell .student-roster-card .member-student-info>strong{background:var(--surface,#f3f6f8);border-radius:8px;padding:4px 9px;font-size:12px}.app-shell .student-roster-card .member-student-info>span{margin-top:4px;font-size:12px}.app-shell .student-roster-card .member-monthly-count{gap:4px}.app-shell .student-roster-card .member-monthly-count small{font-size:11px}.app-shell .student-roster-card .member-monthly-count small>span{margin-left:3px;font-size:10px;display:inline}.app-shell .student-roster-card .member-monthly-count strong{color:var(--primary-strong);font-size:29px;line-height:1.15}.app-shell .student-roster-card .member-card-actions>.member-main-action{background:var(--primary);color:var(--primary-ink);border:0;border-radius:13px;min-height:46px;margin-bottom:8px;padding:12px 14px}.app-shell .student-roster-card .member-card-actions>button:not(.member-main-action){min-height:46px;color:var(--text-secondary);border:0;padding:10px 3px;font-weight:550}.app-shell .grade-filter{flex:none;min-width:140px}.app-shell .grade-filter-trigger{background:var(--surface,#f3f6f8);width:100%;min-height:46px;color:var(--text-secondary);border:0;border-radius:12px;align-items:center;gap:8px;padding:11px 13px;display:flex}.app-shell .grade-filter-trigger.has-value{background:var(--tint);color:var(--primary-strong);font-weight:650}.app-shell .grade-filter-trigger>span{text-align:left;flex:1}.app-shell .grade-filter-options{background:var(--surface,#f3f6f8);border:1px solid var(--border);width:270px;max-width:100%;box-shadow:0 6px 20px rgb(var(--theme-rgb)/.07);border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;padding:10px;display:grid}.app-shell .grade-filter-options>button{background:var(--surface-soft);border:0;border-radius:10px;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:7px 3px;font-size:13px;display:flex}.app-shell .grade-filter-options>button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.app-shell .management-home .management-links{box-shadow:none;background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid;overflow:visible}.app-shell .management-home .management-link{border:1px solid rgb(var(--theme-rgb)/.08);background:var(--surface,#f3f6f8);text-align:left;min-height:112px;box-shadow:0 4px 18px rgb(var(--theme-rgb)/.03);border-radius:20px;grid-template-columns:46px minmax(0,1fr) 16px;align-items:center;gap:13px;padding:20px 18px;display:grid}.app-shell .management-icon-tile{background:var(--tint);width:46px;height:46px;color:var(--primary-strong);border-radius:15px;place-items:center;display:grid}.app-shell .management-home .management-link strong{font-size:15px;font-weight:700}.app-shell .management-home .management-link small{overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.6;display:block}.app-shell .management-detail{border:1px solid rgb(var(--theme-rgb)/.08);box-shadow:0 5px 20px rgb(var(--theme-rgb)/.035);border-radius:22px}.app-shell .management-back{color:var(--primary-strong);background:0 0;border:0;font-weight:600}.app-shell .management-detail h2{font-size:20px;font-weight:750}.app-shell .management-detail .settings-actions{border-top:1px solid rgb(var(--theme-rgb)/.08)}.app-shell .management-detail .feature-switches{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app-shell .management-detail .feature-switch-row{background:var(--surface-soft);border:1px solid #0000;border-radius:16px;gap:10px;min-height:80px;padding:16px 14px;font-size:15px;font-weight:650}.app-shell .management-detail .feature-switch-row:has(input:checked){background:var(--tint);border-color:rgb(var(--theme-rgb)/.14)}.app-shell .management-detail .feature-switch-row:first-child,.app-shell .management-detail .feature-switch-row:last-child{padding:16px 14px}.app-shell .feature-switch-row input{border-radius:16px;height:100%;inset:0;width:100%!important}.app-shell .feature-switch-row .feature-switch-track{flex:none;margin-left:auto}.app-shell .setting-toggle-card{background:var(--tint);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:80px;margin-bottom:20px;padding:16px;font-size:14px;font-weight:650;display:flex}.app-shell .tap-toggle{min-height:44px;color:var(--text-secondary);background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:5px 0;font-size:12px;font-weight:600;display:flex}.app-shell .tap-toggle-track{background:#c9d0d5;border-radius:20px;width:46px;height:28px;display:block;position:relative}.app-shell .tap-toggle-track:after{content:"";background:var(--surface,#f3f6f8);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0001}.app-shell .tap-toggle.is-on .tap-toggle-track{background:var(--primary)}.app-shell .tap-toggle.is-on .tap-toggle-track:after{transform:translate(18px)}.app-shell .management-detail .time-choice-buttons{gap:8px}.app-shell .management-detail .time-choice-buttons>button{background:var(--surface-soft);border:0;border-radius:12px;min-height:48px}.app-shell .management-detail .time-choice-buttons>button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.app-shell .minute-presets{flex-wrap:wrap;gap:8px;margin-top:-6px;display:flex}.app-shell .minute-presets>button{background:var(--surface-soft);border:0;border-radius:12px;min-width:54px;min-height:44px;padding:10px 14px}.app-shell .minute-presets>button[aria-pressed=true]{background:var(--tint);color:var(--primary-strong);box-shadow:inset 0 0 0 1px var(--primary);font-weight:650}.app-shell .management-detail .hours-row{border-color:rgb(var(--theme-rgb)/.07)}.app-shell .management-detail .period-settings-row{background:var(--surface-soft);border:0;border-radius:14px;margin-top:8px;padding:0 12px}.app-shell .management-detail .palette-choice{border-radius:14px;min-height:64px;padding:10px 4px}.app-shell .management-detail .palette-choice.chosen{background:var(--tint)}.app-shell .management-detail .palette-dot{border-radius:10px;width:30px;height:30px}.app-shell .closure-stamp{color:#b95064;letter-spacing:0;background:#fff6f8;border:1.5px solid;border-radius:5px;flex:none;place-items:center;width:19px;height:19px;font-size:12px;font-weight:750;line-height:1;display:inline-grid;transform:rotate(-9deg)}.app-shell .month-board .day-cell.is-school-closed,.app-shell .month-board .day-cell.is-school-closed.selected{background:var(--surface,#f3f6f8);border-right-color:rgb(var(--theme-rgb)/.065);border-bottom-color:rgb(var(--theme-rgb)/.065);box-shadow:none}.app-shell .month-board .is-school-closed .day-number:not(.today){color:var(--text-secondary)}.app-shell .closure-date-line{align-items:center;gap:6px;width:100%;display:flex}.app-shell .closure-key:before{display:none}.app-shell .closure-key .closure-stamp{width:17px;height:17px;font-size:11px}.app-shell .shift-date-cell.shift-closed,.app-shell .shift-date-cell.shift-closed.has-shift{background:var(--surface,#f3f6f8);color:var(--text)}.app-shell .lecture-days>button.closed{background:var(--surface,#f3f6f8);color:var(--text-secondary);opacity:1}.app-shell .lecture-days>button>.closure-stamp{width:16px;height:16px;font-size:10px;position:absolute;top:5px;right:4px}@media (max-width:760px){.app-shell .page-head h1{font-size:24px}.app-shell .plain-calendar .calendar-toolbar{gap:4px;padding:10px 8px}.app-shell .plain-calendar .board-date{flex-wrap:wrap;gap:1px}.app-shell .plain-calendar .month-select-trigger{gap:3px;padding:6px 3px;font-size:17px}.app-shell .plain-calendar .board-date>.icon-button{background:0 0;width:36px;height:44px;padding:9px}.app-shell .plain-calendar .today-button{min-width:40px;margin-left:2px;padding:8px;font-size:12px}.app-shell .plain-calendar .calendar-add{width:44px;min-width:44px;height:44px;padding:10px}.app-shell .plain-calendar .weekdays{padding-block:8px}.app-shell .plain-calendar .day-event-counts>span{max-width:40px;height:12px;line-height:12px}.app-shell .plain-calendar .day-event-counts small{font-size:10px;line-height:12px}.app-shell .plain-calendar .day-event-counts b{font-size:11px;line-height:12px}.app-shell .closure-stamp{border-width:1px;border-radius:4px;width:14px;height:14px;font-size:10px}.app-shell .compact-counts .is-school-closed .day-date-line{gap:2px}.app-shell .compact-counts .is-school-closed .day-number{width:16px;height:18px}.app-shell .compact-counts .is-school-closed .day-status-icon svg{width:10px;height:10px}.app-shell .student-roster-panel .roster-toolbar{flex-wrap:wrap;gap:10px}.app-shell .student-roster-panel .roster-toolbar>.primary{min-height:44px;margin-left:auto}.app-shell .student-roster-panel .roster-filters{flex-basis:100%;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.app-shell .student-roster-panel .roster-filters>input{width:100%;min-width:0}.app-shell .student-roster-card{border-radius:20px;padding:18px 18px 0}.app-shell .student-roster-card h2{font-size:20px}.app-shell .student-avatar{border-radius:15px;width:44px;height:44px;font-size:20px}.app-shell .student-roster-card .member-card-overview{margin:14px 0;padding:12px 14px}.app-shell .student-roster-card .member-monthly-count small>span{margin-left:0;display:block}.app-shell .grade-filter{min-width:128px}.app-shell .grade-filter-options{z-index:15;width:min(280px,100vw - 32px);max-width:none;position:absolute;right:0}.app-shell .grade-filter{position:relative}.app-shell .management-detail>.settings-body,.app-shell .management-detail>.payroll-settings>.settings-body{padding:22px 16px}.app-shell .management-detail h2{font-size:19px}.app-shell .management-category-tabs>button{font-size:13px}.app-shell .management-home .management-link{gap:12px;min-height:94px;padding:16px}.app-shell .management-home .management-link strong{font-size:14px}.app-shell .management-detail .settings-actions .primary{min-height:48px}.app-shell :is(.management-panel,.student-roster-panel) :is(input,select):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){font-size:16px}.app-shell .modal-backdrop:has(>.day-details){isolation:isolate;align-items:flex-end;padding:0}.app-shell .day-details{width:100%;max-width:100%;max-height:min(88dvh,100%);padding:24px 18px max(20px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;margin:0;position:relative}.app-shell .day-details:before{content:"";background:#d8dee2;border-radius:4px;width:36px;height:4px;margin:-12px auto 18px;display:block}.app-shell .day-details .modal-actions{background:var(--surface,#f3f6f8);padding-top:14px;position:sticky;bottom:0}}@media (max-width:600px){.app-shell .student-roster-panel .roster-state-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.app-shell .student-roster-panel .roster-state-tabs>button{padding:10px 6px;font-size:13px}.app-shell .management-home .management-links{grid-template-columns:minmax(0,1fr);gap:10px}.app-shell .management-category-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.app-shell .management-detail .feature-switch-row{flex-wrap:wrap;align-content:space-between;min-height:104px;padding:14px;font-size:14px}.app-shell .management-detail .feature-switch-row:first-child,.app-shell .management-detail .feature-switch-row:last-child{padding:14px}.app-shell .management-detail .feature-switch-row>span:first-child{width:100%}.app-shell .setting-toggle-card{gap:8px;padding:14px;font-size:13px}.app-shell .closure-date-line{gap:4px}}@media (max-width:360px){.app-shell .plain-calendar .month-select-trigger{font-size:15px}.app-shell .compact-counts .is-school-closed .day-date-line{gap:1px}.app-shell .compact-counts .is-school-closed .day-number{width:14px}.app-shell .compact-counts .is-school-closed .closure-stamp{width:12px;height:12px;font-size:9px}.app-shell .compact-counts .is-school-closed .day-status-icon svg{width:8px;height:8px}.app-shell .student-roster-card{padding:16px 14px 0}.app-shell .student-roster-card .member-card-overview{gap:8px;padding:12px}.app-shell .student-roster-card .member-monthly-count strong{font-size:26px}}@media (prefers-reduced-motion:reduce){.app-shell :is(.management-panel,.student-roster-panel,.plain-calendar) button,.app-shell .tap-toggle-track:after{transition:none;transform:none}}.app-shell .feature-switch-row:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:3px}.app-shell .lecture-days>button.closed,.app-shell .shift-date-cell.shift-closed{position:relative}.app-shell .shift-date-cell.shift-closed .closure-stamp{position:absolute;bottom:4px;right:4px}@media (max-width:760px){.app-shell .closure-calendar .closure-day-target{padding:5px 2px}.app-shell .closure-date-line{gap:3px}.app-shell .closure-date-line .day-number{width:16px;height:18px;font-size:11px}}.app-shell .sidebar nav>button{border:0;transition:background .2s,color .2s}.app-shell .sidebar nav>button>svg,.app-shell .sidebar nav>button>span:not(.menu-count){transform-origin:0;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.app-shell .sidebar nav>button.nav-active{background:var(--primary);color:var(--primary-ink);border:0;padding-left:16px;font-weight:700}.app-shell .sidebar nav>button.nav-active>svg,.app-shell .sidebar nav>button.nav-active>span:not(.menu-count){transform:translate(-3px)scale(1.055)}.app-shell .sidebar nav>button.nav-active>.menu-count{box-shadow:none}.app-shell .mobile-menu-sheet>div>button{border-radius:14px;transition:background .2s,color .2s}.app-shell .mobile-menu-sheet>div>button>svg:first-child,.app-shell .mobile-menu-sheet>div>button>span:not(.menu-count){transform-origin:0;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.app-shell .mobile-menu-sheet>div>button[aria-current=page]{background:var(--primary);color:var(--primary-ink);font-weight:700}.app-shell .mobile-menu-sheet>div>button[aria-current=page]>svg:first-child,.app-shell .mobile-menu-sheet>div>button[aria-current=page]>span:not(.menu-count){transform:translate(-2px)scale(1.04)}@media (max-width:760px){.app-shell .bottom-nav>button{border-radius:14px;transition:background .2s,color .2s;overflow:visible}.app-shell .bottom-nav>button>span{transform-origin:50%;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.app-shell .bottom-nav>button.active{background:var(--primary);color:var(--primary-ink);font-weight:700}.app-shell .bottom-nav>button.active>span{transform:translate(-1px)scale(1.04)}}@media (prefers-reduced-motion:reduce){.app-shell .sidebar nav>button,.app-shell .sidebar nav>button>svg,.app-shell .sidebar nav>button>span,.app-shell .bottom-nav>button,.app-shell .bottom-nav>button>span,.app-shell .mobile-menu-sheet>div>button,.app-shell .mobile-menu-sheet>div>button>svg,.app-shell .mobile-menu-sheet>div>button>span{transition:none}}.app-shell .choice-tab-count{font-variant-numeric:tabular-nums}.app-shell .primary{min-height:44px;box-shadow:0 3px 0 rgb(var(--theme-rgb)/.12);border-radius:13px;font-weight:650}.app-shell :is(.teacher-roster-panel,.course-page,.meeting-hub,.reschedule-panel,.finance-page) button{transition:background .16s,color .16s,box-shadow .16s,transform .16s}.app-shell .modal:not(.day-details) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){background:var(--surface-soft);min-height:46px;color:var(--text);border:1px solid #0000;border-radius:12px;max-width:100%;padding:11px 13px}.app-shell .modal:not(.day-details) :is(input,select,textarea):focus{border-color:var(--primary)}.app-shell .modal .modal-actions{flex-wrap:wrap;gap:10px}.app-shell .modal .modal-actions>button{border-radius:12px;min-height:44px}.app-shell .teacher-roster-panel{background:0 0;border:0;padding:0;overflow:visible}.app-shell .teacher-roster-panel .roster-toolbar{align-items:flex-start;padding:0 0 14px}.app-shell .teacher-roster-panel .list-count{color:var(--text-secondary);padding:0 0 12px;font-size:12px;font-weight:600}.app-shell .teacher-roster-panel .member-card-grid{padding:0}.app-shell .teacher-roster-card{border:1px solid rgb(var(--theme-rgb)/.08);box-shadow:0 5px 20px rgb(var(--theme-rgb)/.035);border-radius:22px;padding:22px 22px 0}.app-shell .teacher-roster-card .member-card-heading{align-items:center;gap:12px}.app-shell .teacher-avatar{background:var(--tint);width:48px;height:48px;color:var(--primary-strong);border-radius:17px;flex:none;place-items:center;font-size:22px;font-weight:750;display:grid}.app-shell .teacher-roster-card .member-card-identity{flex:1;min-width:0}.app-shell .teacher-roster-card h2{letter-spacing:.01em;font-size:21px;line-height:1.45}.app-shell .teacher-roster-card .member-account-indicator{border-radius:12px;margin:0 -7px 0 0}.app-shell .teacher-roster-card .member-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 0;display:grid}.app-shell .teacher-roster-card .member-card-metrics>div{background:var(--surface-soft);border-radius:15px;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;padding:12px;display:flex}.app-shell .teacher-roster-card .member-card-metrics>div:only-child{grid-column:1/-1}.app-shell .teacher-roster-card .member-card-metrics small{font-size:11px;line-height:1.6}.app-shell .teacher-roster-card .member-card-metrics strong{color:var(--primary-strong);font-size:21px;line-height:1.4}.app-shell .teacher-roster-card .member-card-actions>.member-main-action{background:var(--primary);color:var(--primary-ink);border:0;border-radius:13px;min-height:46px;margin-bottom:8px;padding:12px 14px}.app-shell .teacher-roster-card .member-card-actions>button:not(.member-main-action){border:0;min-height:46px;padding:10px 3px;font-weight:550}.app-shell .teacher-roster-panel input:not([type=checkbox]){background:var(--surface,#f3f6f8);border:1px solid #0000;border-radius:12px;min-height:46px;padding:11px 13px}.app-shell .course-catalog-panel{background:0 0;border:0;padding:0;overflow:visible}.app-shell .course-catalog-panel .subject-tabs{justify-content:space-between;width:100%;margin-bottom:16px}.app-shell .course-hub-toolbar{margin-bottom:12px}.app-shell .course-action-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.app-shell .course-list>section{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.app-shell .course-catalog-row{border:1px solid rgb(var(--theme-rgb)/.08);background:var(--surface,#f3f6f8);border-radius:20px;flex-direction:column;align-items:stretch;gap:18px;min-width:0;margin:0;padding:20px;display:flex}.app-shell .course-catalog-info{gap:7px;min-width:0;display:grid}.app-shell .course-catalog-info>strong{font-size:18px;font-weight:700;line-height:1.5}.app-shell .course-catalog-info>span{color:var(--primary-strong);font-size:16px;font-weight:650}.app-shell .course-catalog-info>small{color:var(--text-secondary);font-size:12px;line-height:1.6}.app-shell .course-catalog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:auto 0 0;display:grid}.app-shell .course-catalog-actions>button{background:var(--surface-soft);border:0;border-radius:12px;justify-content:center;min-height:44px;padding:10px}.app-shell .course-catalog-actions>button:last-child{background:var(--primary);color:var(--primary-ink);font-weight:650}.app-shell .course-schedule-panel{background:var(--surface,#f3f6f8);border:0;border-radius:20px}.app-shell .course-schedule-row{border-color:rgb(var(--theme-rgb)/.07);min-height:82px;padding:16px}.app-shell .course-schedule-description>strong{font-size:15px}.app-shell .fee-plans-panel{padding:22px}.app-shell .fee-plan-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.app-shell .fee-plan-row{background:var(--surface-soft);border:0;border-radius:18px;flex-direction:column;align-items:stretch;gap:16px;margin:0;padding:18px}.app-shell .fee-plan-info{gap:8px;display:grid}.app-shell .fee-plan-info>strong{font-size:16px}.app-shell .fee-plan-info>span{color:var(--primary-strong);font-size:20px;font-weight:700}.app-shell .fee-plan-row .row-actions>button{background:var(--surface,#f3f6f8);border:0;border-radius:12px;width:100%;min-height:44px}.app-shell .lecture-plan-card{border-color:rgb(var(--theme-rgb)/.08);border-radius:20px;padding:20px}.app-shell :is(.meeting-card,.proposal-list-entry,.reschedule-card){border:1px solid rgb(var(--theme-rgb)/.08);background:var(--surface,#f3f6f8);box-shadow:0 5px 20px rgb(var(--theme-rgb)/.035);border-radius:20px}.app-shell .meeting-card{padding:20px}.app-shell .meeting-card-when{background:var(--surface-soft);border:0;border-radius:12px;margin-bottom:7px;padding:11px 12px}.app-shell .meeting-card-when strong{font-size:18px}.app-shell .meeting-card-content>strong{font-size:17px;font-weight:700}.app-shell .meeting-people-summary{gap:7px;font-size:12px;line-height:1.7}.app-shell .proposal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-shell .proposal-list-entry{flex-direction:column;display:flex;overflow:hidden}.app-shell .proposal-list-entry>.proposal-card{flex:1;align-items:flex-start;padding:20px}.app-shell .proposal-card-main>small{font-size:13px}.app-shell .proposal-card-main>strong{font-size:18px;font-weight:700}.app-shell .proposal-card-side{font-size:12px;font-weight:650}.app-shell .proposal-date-list{background:var(--surface-soft);border-radius:12px;gap:9px;padding:12px}.app-shell .proposal-card-actions{padding:0 16px 14px}.app-shell .proposal-card-actions>button{background:var(--surface-soft);border:0;border-radius:10px;min-height:44px;padding:10px 12px}.app-shell .proposal-form-panel{border-color:rgb(var(--theme-rgb)/.08);border-radius:20px;padding:24px}.app-shell .proposal-form-panel .plain-form-fields>label>input,.app-shell .proposal-form-panel .plain-form-fields>label>select,.app-shell .proposal-fieldset input{background:var(--surface-soft);border:1px solid #0000;border-radius:12px;min-height:46px;padding:11px 13px}.app-shell .meeting-participant-options label{background:var(--surface-soft);border:1px solid #0000;border-radius:12px;min-height:48px}.app-shell .meeting-participant-options .chosen{background:var(--tint);border-color:var(--primary)}.app-shell .proposal-choices>label{background:var(--surface-soft);border-color:#0000;border-radius:14px;min-height:64px}.app-shell .proposal-choices>label.selected{border-color:var(--primary);background:var(--tint)}.app-shell .reschedule-card{padding:22px}.app-shell .reschedule-card-head>strong{font-size:17px;font-weight:700}.app-shell .reschedule-card h2{margin:14px 0 6px;font-size:18px;font-weight:700}.app-shell .reschedule-date{background:var(--surface-soft);border:0;border-radius:12px;gap:7px 10px;padding:13px}.app-shell .reschedule-date strong,.app-shell .reschedule-date b{font-variant-numeric:tabular-nums;font-size:14px}.app-shell .reschedule-reason{font-size:13px;line-height:1.8}.app-shell .reschedule-actions{gap:8px;padding-top:18px}.app-shell .reschedule-placement-action{justify-content:center}.app-shell .reschedule-placement-action>.primary{justify-content:center;width:100%;min-height:46px}.app-shell .badge{border-radius:8px;padding:5px 9px;font-size:11px;font-weight:600}.app-shell .finance-page{background:0 0;border:0;padding:0;overflow:visible}.app-shell .finance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:0 0 18px;display:flex}.app-shell .finance-toolbar .month-select-trigger{font-size:21px;font-weight:750}.app-shell .finance-settings-button{background:var(--surface,#f3f6f8);min-height:44px;color:var(--primary-strong);border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:650;display:inline-flex}.app-shell .finance-record-panel{background:0 0;border:0;padding:0;overflow:visible}.app-shell .finance-record-grid,.app-shell .tuition-students{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;display:grid}.app-shell .finance-record-card{border:1px solid rgb(var(--theme-rgb)/.08);background:var(--surface,#f3f6f8);min-width:0;box-shadow:0 5px 20px rgb(var(--theme-rgb)/.035);border-radius:22px;flex-direction:column;gap:16px;padding:22px;display:flex}.app-shell .finance-record-heading{align-items:center;gap:12px;min-width:0;margin:0;display:flex}.app-shell .finance-record-heading>div{flex:1;min-width:0}.app-shell .finance-person-avatar{background:var(--tint);width:44px;height:44px;color:var(--primary-strong);border-radius:15px;flex:none;place-items:center;font-size:20px;font-weight:750;display:grid}.app-shell .finance-record-heading h2{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:700;line-height:1.5}.app-shell .finance-record-heading p{color:var(--text-secondary);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.7}.app-shell .finance-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app-shell .finance-amount-grid>section{background:var(--surface-soft);border-radius:15px;min-width:0;padding:14px 12px}.app-shell .finance-amount-grid>.finance-current-amount{background:var(--tint)}.app-shell .finance-amount-grid h3{color:var(--text-secondary);margin:0 0 10px;font-size:12px;font-weight:600;line-height:1.5}.app-shell .finance-current-amount .payroll-amount>strong{color:var(--primary-strong)}.app-shell .finance-amount-grid .payroll-amount>strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;letter-spacing:0;font-size:21px;font-weight:750;line-height:1.4}.app-shell .finance-amount-grid .payroll-needs-settings>strong{color:var(--text-secondary);font-size:13px;font-weight:650}.app-shell .finance-amount-grid .payroll-amount>small{margin-top:8px;font-size:11px;line-height:1.7}.app-shell .settlement-details>summary{cursor:pointer;min-height:36px;color:var(--primary-strong);padding:10px 0 0;font-size:12px}.app-shell .settlement-details dl{grid-template-columns:minmax(0,1fr);gap:3px;margin-bottom:0;font-size:11px;line-height:1.6;display:grid}.app-shell .settlement-details dd{overflow-wrap:anywhere;margin:0 0 6px;font-weight:600}.app-shell .finance-single-amount{background:var(--tint);border-radius:15px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.app-shell .finance-single-amount>span{color:var(--text-secondary);flex:none;font-size:12px;font-weight:600}.app-shell .finance-single-amount>strong{color:var(--primary-strong);letter-spacing:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:27px;font-weight:750;line-height:1.4}.app-shell .finance-record-meta{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.7}.app-shell .finance-record-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:2px;display:grid}.app-shell .finance-record-actions>button{background:var(--surface-soft);min-width:0;min-height:44px;color:var(--primary-strong);white-space:normal;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;margin:0;padding:10px 9px;font-size:12px;font-weight:650;line-height:1.5;display:inline-flex}.app-shell .finance-record-actions>button:only-child{grid-column:1/-1}.app-shell .finance-total-card{background:var(--tint);border-radius:18px;align-items:center;gap:12px;margin-bottom:16px;padding:18px;display:flex}.app-shell .finance-total-icon{background:var(--surface,#f3f6f8);width:44px;height:44px;color:var(--primary-strong);border-radius:14px;flex:none;place-items:center;display:grid}.app-shell .finance-total-card>span:not(.finance-total-icon){color:var(--primary-strong);font-size:13px;font-weight:650}.app-shell .finance-total-card small{color:var(--text-secondary);margin-top:3px;font-size:11px;font-weight:400;line-height:1.6;display:block}.app-shell .finance-total-card>strong{color:var(--primary-strong);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-left:auto;font-size:28px;font-weight:750;line-height:1.4}.app-shell .finance-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 16px;padding:0;display:flex}.app-shell .finance-filter-row>label{flex-direction:column;gap:7px;min-width:180px;font-size:12px;line-height:1.5;display:flex}.app-shell .finance-filter-row select{background:var(--surface,#f3f6f8);border:0;border-radius:12px;max-width:100%;min-height:44px;padding:10px 12px;font-size:14px}.app-shell .finance-section-actions>.primary{margin-left:auto}.app-shell .finance-record-card.tuition-student-card>.tuition-student{border:0;margin:0;padding:0}.app-shell .tuition-student>summary{min-height:44px;color:var(--primary-strong);cursor:pointer;padding:10px 0;font-size:12px}.app-shell .tuition-lessons>div{border-color:rgb(var(--theme-rgb)/.08);padding:12px 0}.app-shell .finance-record-card.manual-charge-card,.app-shell .lecture-bill-list>.finance-record-card{justify-content:flex-start;align-items:stretch;gap:16px;display:flex}.app-shell .lecture-bill-list>.finance-record-card>div:last-child{font-size:inherit;display:flex}.app-shell .finance-page .info-disclosure{margin-top:18px}.app-shell .payroll-settings>.settings-body>h2{margin:0 0 22px;font-size:20px;font-weight:750;line-height:1.5}.app-shell .payroll-settings .settings-body>label{flex-direction:column;align-items:stretch;gap:8px;min-width:0;margin-bottom:18px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.app-shell .payroll-settings .settings-body>label>input{background:var(--surface-soft);border:1px solid #0000;border-radius:12px;width:100%;min-height:46px;padding:11px 13px;font-size:14px}.app-shell .payroll-settings .payroll-mode-choice{margin:0 0 20px}.app-shell .payroll-settings .payroll-mode-choice legend{margin-bottom:10px;font-size:13px;font-weight:600}.app-shell .payroll-settings .time-choice-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.app-shell .payroll-settings .time-choice-buttons>button{background:var(--surface-soft);border:0;border-radius:12px;min-height:48px;padding:10px 8px;font-size:13px}.app-shell .payroll-settings .time-choice-buttons>button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.app-shell .payroll-settings .field-hint{margin:12px 0 0;font-size:12px;line-height:1.7}.app-shell .payroll-settings .settings-actions{border-top:1px solid rgb(var(--theme-rgb)/.08);gap:12px;margin-top:24px;padding-top:18px}.app-shell .payroll-settings .settings-actions>.primary{border-radius:13px;min-height:44px}.app-shell .finance-settings-dialog>.payroll-settings>.settings-body>h2{display:none}.app-shell :is(.payroll-rate-button,.financial-document-button,.finance-settings-button):focus-visible{outline:2px solid var(--primary);outline-offset:3px}@media (max-width:1100px){.app-shell .finance-record-grid,.app-shell .tuition-students{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.app-shell .choice-tabs-line{scrollbar-width:none;max-width:100%;overflow-x:auto}.app-shell .choice-tabs-line>button{flex:none;min-height:44px;padding:10px 12px;font-size:13px}.app-shell .choice-tabs-segment>button{min-height:44px;padding:10px 12px;font-size:13px}.app-shell .teacher-roster-panel .roster-state-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.app-shell .teacher-roster-panel .roster-state-tabs>button{padding:10px 6px;font-size:13px}.app-shell .teacher-roster-panel .roster-toolbar{flex-wrap:wrap;gap:10px}.app-shell .teacher-roster-panel .roster-filters{flex-basis:100%;width:100%}.app-shell .teacher-roster-panel .roster-filters>input{width:100%;font-size:16px}.app-shell .teacher-roster-panel .roster-toolbar>.primary{margin-left:auto}.app-shell .teacher-roster-card{border-radius:20px;padding:18px 18px 0}.app-shell .teacher-roster-card h2{font-size:20px}.app-shell .teacher-avatar{border-radius:15px;width:44px;height:44px;font-size:20px}.app-shell .teacher-roster-card .member-card-metrics strong{font-size:20px}.app-shell .course-page>.choice-tabs-line{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid;overflow:visible}.app-shell .course-page>.choice-tabs-line>button{padding-inline:5px}.app-shell .course-list>section,.app-shell .fee-plan-list,.app-shell .proposal-list{grid-template-columns:minmax(0,1fr)}.app-shell .course-catalog-panel .subject-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;overflow:visible}.app-shell .course-catalog-panel .subject-tabs>button{padding:10px 4px}.app-shell .course-action-bar{flex-wrap:wrap;gap:12px}.app-shell .course-action-bar>.primary{margin-left:auto}.app-shell .course-catalog-row{gap:16px;padding:18px}.app-shell .course-catalog-actions{width:100%}.app-shell .fee-plans-panel{padding:18px 14px}.app-shell .fee-plans-panel .section-title{flex-wrap:wrap;gap:12px}.app-shell .fee-plans-panel .section-title>.primary{margin-left:auto}.app-shell .meeting-hub>.choice-tabs-line,.app-shell .reschedule-panel>.choice-tabs-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;display:grid;overflow:visible}.app-shell .meeting-hub>.choice-tabs-line>button,.app-shell .reschedule-panel>.choice-tabs-line>button{padding:10px 8px}.app-shell .meeting-card,.app-shell .reschedule-card{padding:18px}.app-shell .proposal-list-entry>.proposal-card{gap:10px;padding:18px}.app-shell .meeting-card-when{padding:10px;font-size:12px}.app-shell .proposal-form-panel{padding:20px 16px}.app-shell .meeting-participant-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.app-shell .proposal-card-actions>button{width:100%}.app-shell .finance-toolbar{gap:10px;padding-bottom:16px}.app-shell .finance-toolbar .month-select-trigger{padding-inline:4px;font-size:18px}.app-shell .finance-settings-button{min-height:44px;padding:10px 12px;font-size:12px}.app-shell .finance-page>.choice-tabs-line{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid;overflow:visible}.app-shell .finance-page>.choice-tabs-line>button{padding:10px 5px;font-size:12px}.app-shell .finance-record-grid,.app-shell .tuition-students{grid-template-columns:minmax(0,1fr);gap:12px}.app-shell .finance-record-card{border-radius:20px;gap:14px;padding:18px}.app-shell .finance-record-heading h2{font-size:18px}.app-shell .finance-amount-grid{gap:8px}.app-shell .finance-amount-grid>section{padding:13px 11px}.app-shell .finance-amount-grid .payroll-amount>strong{font-size:20px}.app-shell .finance-amount-grid .payroll-needs-settings>strong{font-size:13px}.app-shell .finance-single-amount{padding:14px}.app-shell .finance-single-amount>strong{font-size:26px}.app-shell .finance-total-card{gap:10px;padding:16px 14px}.app-shell .finance-total-card>strong{font-size:24px}.app-shell .finance-filter-row{align-items:flex-end;gap:10px}.app-shell .finance-filter-row>label{flex:1;min-width:0}.app-shell .finance-filter-row select{width:100%;min-width:0;font-size:16px}.app-shell .finance-filter-row>.primary{min-height:46px;padding:11px;font-size:12px}.app-shell .payroll-settings .settings-body>label>input{font-size:16px}.app-shell .payroll-settings .settings-actions>.primary{width:100%;min-height:48px}.app-shell .modal:not(.day-details) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){min-width:0;font-size:16px}}@media (max-width:360px){.app-shell .finance-record-card{padding:16px 14px}.app-shell .finance-amount-grid>section{padding:12px 9px}.app-shell .finance-amount-grid .payroll-amount>strong{font-size:18px}.app-shell .finance-amount-grid .payroll-needs-settings>strong{font-size:12px}.app-shell .finance-total-icon{display:none}.app-shell .teacher-roster-card{padding:16px 14px 0}.app-shell .teacher-roster-card .member-card-metrics strong{font-size:18px}}@media (prefers-reduced-motion:reduce){.app-shell :is(.teacher-roster-panel,.course-page,.meeting-hub,.reschedule-panel,.finance-page) button{transition:none}}.app-shell .choice-tabs.choice-tabs{border:0;border-bottom:1px solid var(--border);width:100%;box-shadow:none;background:0 0;border-radius:0;gap:8px;margin-bottom:18px;padding:0}.app-shell .choice-tabs.choice-tabs>button{color:var(--text-secondary);box-shadow:none;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0;min-height:46px;padding:11px 12px;font-size:14px;font-weight:550}.app-shell .choice-tabs.choice-tabs>button[aria-selected=true]{color:var(--primary-strong);border-bottom-color:var(--primary);box-shadow:none;background:0 0;font-weight:700}.app-shell .choice-tabs.choice-tabs.choice-tabs-segment{width:fit-content;margin-bottom:0}.app-shell .roster-state-tabs.choice-tabs.choice-tabs,.app-shell .management-category-tabs.choice-tabs.choice-tabs{width:100%;margin-bottom:18px}.app-shell .management-category-tabs.choice-tabs.choice-tabs{display:grid}.app-shell .day-details .schedule-tabs.choice-tabs{margin-bottom:18px}.app-shell .finance-inline-panel{border:1px solid rgb(var(--theme-rgb)/.08);background:var(--surface,#f3f6f8);border-radius:22px;max-width:760px;padding:24px}.app-shell .finance-inline-panel .settings-body{max-width:none;padding:0}.app-shell .finance-inline-panel .settings-body>h2{margin:0 0 22px;font-size:20px;font-weight:750;line-height:1.5}.app-shell .finance-inline-panel .settings-body :is(input,select):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){background:var(--surface-soft);min-height:46px;color:var(--text);border:1px solid #0000;border-radius:12px;min-width:0;max-width:100%;padding:11px 13px;font-size:14px}.app-shell .finance-inline-panel :is(.settings-body>label,.tax-setting-fields>label,.form-pair>label){flex-direction:column;align-items:stretch;gap:8px;min-width:0;margin-bottom:18px;font-size:13px;font-weight:500;line-height:1.5;display:flex}.app-shell .finance-inline-panel .settings-actions{border-top:1px solid rgb(var(--theme-rgb)/.08);gap:12px;margin-top:24px;padding-top:18px}.app-shell .finance-inline-panel .field-hint{margin:12px 0 0;font-size:12px;line-height:1.7}.app-shell .finance-inline-panel .payroll-mode-choice>.choice-tabs{width:100%}.app-shell .finance-inline-panel .tuition-settings-panel>.choice-tabs{margin-bottom:24px}@media (max-width:760px){.app-shell .choice-tabs.choice-tabs>button{min-height:46px;padding:11px 8px;font-size:13px}.app-shell .choice-tabs.choice-tabs{gap:4px}.app-shell .course-page>.choice-tabs.choice-tabs,.app-shell .finance-page>.choice-tabs.choice-tabs{width:100%}.app-shell .finance-page.tuition-page>.choice-tabs.choice-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .course-action-bar .choice-tabs.choice-tabs>button{font-size:12px}.app-shell .finance-inline-panel{border-radius:20px;padding:22px 16px}.app-shell .finance-inline-panel .settings-body>h2{font-size:19px}.app-shell .finance-inline-panel .settings-body :is(input,select):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){font-size:16px}.app-shell .finance-inline-panel .settings-actions>.primary{width:100%;min-height:48px}.app-shell .finance-inline-panel .invoice-settings-fields .form-pair{grid-template-columns:minmax(0,1fr)}}.app-shell .choice-tabs.choice-tabs,.app-shell .management-category-tabs.choice-tabs.choice-tabs{scrollbar-width:thin;scrollbar-color:rgb(var(--theme-rgb)/.25) transparent;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:100%;scroll-padding-inline:8px;display:flex;overflow:auto hidden}.app-shell .choice-tabs.choice-tabs>button{flex:none;min-width:max-content}.app-shell .page-filter-row{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.app-shell :is(.page-filter-row>label,.compact-page-filter){color:var(--text-secondary);flex-direction:column;gap:7px;min-width:0;font-size:12px;font-weight:600;display:flex}.app-shell :is(.page-filter-row>label,.compact-page-filter)>select{border:1px solid var(--border);background:var(--surface-soft);width:100%;min-width:140px;min-height:46px;color:var(--text);border-radius:12px;padding:10px 34px 10px 12px;font-size:14px}.app-shell .course-action-bar{align-items:end}.app-shell .lecture-enrollments{margin-top:24px}.app-shell .lecture-enrollments>h2{margin-bottom:16px;font-size:18px}.app-shell .tuition-settings-panel>.compact-page-filter,.app-shell .payroll-settings>.compact-page-filter{max-width:320px;margin-bottom:20px}.app-shell .payroll-settings .settings-body>label>select{background:var(--surface-soft);border-radius:12px;min-height:46px}.app-shell .pdf-creation form>.choice-tabs{margin-bottom:24px}@media (max-width:760px){.app-shell .choice-tabs.choice-tabs,.app-shell .management-category-tabs.choice-tabs.choice-tabs{flex-wrap:nowrap;gap:4px;width:100%;display:flex;overflow-x:auto}.app-shell .choice-tabs.choice-tabs>button{min-height:46px;padding:11px 12px}.app-shell :is(.page-filter-row>label,.compact-page-filter)>select{min-width:0;font-size:16px}.app-shell .page-filter-row>label{flex:120px}.app-shell .course-action-bar>.compact-page-filter{flex:1;max-width:240px}}.app-shell .teacher-roster-panel .roster-filters{align-items:end}.app-shell .teacher-roster-panel .roster-filters>.compact-page-filter{flex:0 0 140px}@media (max-width:760px){.app-shell .teacher-roster-panel .roster-filters{flex-wrap:wrap;display:flex}.app-shell .teacher-roster-panel .roster-filters>.compact-page-filter{flex:0 0 112px}.app-shell .teacher-roster-panel .roster-filters>input{flex:140px;width:auto}}.app-shell .student-roster-card .has-lecture-action>.member-main-action{grid-column:1/span 2;margin-right:8px}.app-shell .student-roster-card .has-lecture-action>.student-lecture-action{background:var(--tint);color:var(--primary-strong);border-radius:13px;grid-area:1/3;gap:6px;margin-bottom:8px;font-size:13px}.app-shell .student-lectures .lecture-plan-grid{grid-template-columns:minmax(0,1fr)}.app-shell .student-lectures .lecture-plan-card{width:100%}.app-shell .location-page>.roster-toolbar{justify-content:space-between;align-items:center}.app-shell .location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.app-shell .location-card{background:var(--surface,#f3f6f8);border:1px solid var(--border);border-radius:20px;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:22px;display:flex}.app-shell .location-card>strong{overflow-wrap:anywhere;font-size:17px}.app-shell .location-card>button{background:var(--tint);min-height:46px;color:var(--primary-strong);border:0;border-radius:12px;flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.app-shell .lesson-location-detail{color:var(--text-secondary);align-items:center;gap:7px;font-size:13px;display:flex}@media (max-width:760px){.app-shell .location-grid{grid-template-columns:minmax(0,1fr);gap:12px}.app-shell .location-card{padding:18px}}.app-shell :is(.student-roster-panel,.teacher-roster-panel)>.roster-search-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:0;display:grid}.app-shell .roster-search-toolbar>.roster-name-search{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:13px;width:100%;min-width:0;max-width:none;height:46px;padding:11px 14px;font-size:14px}.app-shell .roster-search-toolbar>.primary{height:46px;min-height:46px;margin:0;padding:11px 16px;font-size:13px}.app-shell .roster-secondary-filters{align-items:end;gap:12px;min-height:68px;margin-bottom:16px;display:flex}.app-shell .roster-filter-control{color:var(--text-secondary);flex-direction:column;gap:7px;width:180px;max-width:100%;margin:0;font-size:12px;font-weight:600;display:flex}.app-shell .roster-filter-control>select,.app-shell .roster-filter-control .grade-filter-trigger{background:var(--surface,#f3f6f8);border:1px solid var(--border);border-radius:12px;width:100%;height:46px;min-height:46px;margin:0;font-size:14px}.app-shell .meeting-card-people{gap:14px;width:100%;padding-top:4px;display:grid}.app-shell .meeting-attendees{min-width:0;margin:0}.app-shell .meeting-attendees h3{color:var(--primary-strong);align-items:center;gap:7px;margin:0 0 10px;font-size:13px;font-weight:700;display:flex}.app-shell .meeting-attendees h3 small{color:var(--text-secondary);background:var(--surface-soft);border-radius:7px;margin:0 0 0 auto;padding:3px 7px;font-size:11px;font-weight:600}.app-shell .meeting-attendees ul{grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.app-shell .meeting-attendees li{text-align:left;align-items:center;gap:10px;min-width:0;line-height:1.6;display:flex}.app-shell .meeting-person-name{overflow-wrap:anywhere;min-width:0;color:var(--text);font-size:14px;font-weight:550}.app-shell .meeting-attendees-compact h3{margin-bottom:6px;font-size:11px}.app-shell .meeting-attendees-compact ul{gap:4px;padding-left:23px}.app-shell .meeting-attendees-compact .meeting-person-name{font-size:13px;line-height:1.65}.app-shell .meeting-attendees-compact h3 small{background:0 0;margin-left:3px;padding:0}.app-shell .meeting-people-more{color:var(--text-secondary);margin:5px 0 0 23px;font-size:11px;line-height:1.5}.app-shell .meeting-people-empty{color:var(--text-secondary);font-size:13px}.app-shell .meeting-dialog{max-width:620px}.app-shell .meeting-detail-hero{background:var(--tint);border-radius:20px;margin-bottom:20px;padding:22px}.app-shell .meeting-detail-hero .meeting-label{background:var(--surface,#f3f6f8);color:var(--primary-strong);border-radius:9px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.app-shell .meeting-detail-hero>h3{overflow-wrap:anywhere;letter-spacing:.015em;margin:14px 0 18px;font-size:23px;line-height:1.5}.app-shell .meeting-detail-when{gap:10px;display:grid}.app-shell .meeting-detail-when time,.app-shell .meeting-detail-when strong{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-shell .meeting-detail-when time{font-size:14px;font-weight:550}.app-shell .meeting-detail-when strong{font-variant-numeric:tabular-nums;color:var(--primary-strong);gap:9px;font-size:25px;font-weight:750;line-height:1.4}.app-shell .meeting-detail-when strong>span{font-size:17px;font-weight:500}.app-shell .meeting-detail-people{gap:14px;display:grid}.app-shell .meeting-detail-people>.meeting-attendees{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:16px;padding:18px}.app-shell .meeting-detail-people .meeting-attendees li:not(.meeting-people-empty){background:var(--surface-soft);border-radius:12px;padding:9px 10px}.app-shell .meeting-person-avatar{background:var(--tint);width:32px;height:32px;color:var(--primary-strong);border-radius:10px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.app-shell .meeting-dialog>.modal-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:18px}.app-shell .meeting-dialog>.modal-actions>button{border-radius:12px;min-height:46px;font-size:13px}.app-shell .meeting-edit-form>label{flex-direction:column;gap:8px;margin:18px 0;display:flex}.app-shell .meeting-edit-form :is(input,select):not([type=checkbox]):not([type=hidden]){background:var(--surface-soft);border-radius:12px;min-height:46px}@media (max-width:760px){.app-shell :is(.student-roster-panel,.teacher-roster-panel)>.roster-search-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}.app-shell .roster-search-toolbar>.roster-name-search{padding-inline:11px;font-size:16px}.app-shell .roster-search-toolbar>.primary{gap:5px;padding-inline:12px;font-size:12px}.app-shell .roster-filter-control>select{font-size:16px}.app-shell .meeting-detail-hero{border-radius:17px;padding:18px}.app-shell .meeting-detail-hero>h3{font-size:21px}.app-shell .meeting-detail-when strong{font-size:23px}.app-shell .meeting-detail-people>.meeting-attendees{padding:16px}.app-shell .meeting-dialog>.modal-actions{grid-template-columns:1fr 1fr;display:grid}.app-shell .meeting-dialog>.modal-actions>.meeting-cancel{color:var(--text-secondary);background:0 0;border:0;order:1;grid-column:1/-1;margin:0}}.app-shell .closure-stamp{vertical-align:middle;text-indent:0;text-align:center;box-sizing:border-box;justify-content:center;align-items:center;gap:0;padding:0;font-style:normal}.app-shell .closure-stamp:before,.app-shell .closure-stamp:after{content:none!important;display:none!important}.app-shell .day-number.today,.app-shell .shift-date-cell.is-today .shift-date-number{border-radius:0;outline:none;font-weight:800;transform:none;color:var(--primary-strong)!important;background:0 0!important}.app-shell .salary-card-heading h2{overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.5}.app-shell .payroll-record-card{flex-direction:column;align-items:stretch;display:flex}.app-shell .payroll-record-card>.finance-amount-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}.app-shell .payroll-record-card .finance-amount-grid>section{background:var(--tint);border:1px solid #0000;border-radius:17px;flex-direction:column;min-width:0;padding:18px;display:flex}.app-shell .payroll-record-card .finance-amount-grid>.finance-forecast-amount{background:var(--surface-soft);border-color:var(--border)}.app-shell .payroll-record-card .finance-amount-grid h3{margin:0 0 12px;font-size:12px;font-weight:700;line-height:1.5}.app-shell .salary-three-metrics{flex:1;grid-template-rows:repeat(3,minmax(59px,auto));gap:12px;margin:0;display:grid}.app-shell .salary-three-metrics>div{border-top:1px solid rgb(var(--theme-rgb)/.09);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;min-width:0;padding-top:10px;display:flex}.app-shell .salary-three-metrics dt{color:var(--text-secondary);font-size:11px;line-height:1.5}.app-shell .salary-three-metrics dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:750;line-height:1.5}.app-shell .salary-three-metrics dd small{margin-left:4px;font-size:12px;font-weight:500}.app-shell .salary-three-metrics .salary-work-time{font-size:16px}.app-shell .salary-three-metrics .salary-money{color:var(--primary-strong);font-size:24px}.app-shell .salary-three-metrics .salary-unset{color:var(--text-secondary);font-size:13px}.app-shell .payroll-record-card>.finance-record-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.app-shell .payroll-record-card>.finance-record-actions>button{border-radius:12px;justify-content:center;width:100%;min-height:44px;padding:10px 7px;font-size:12px}.app-shell .salary-details{max-width:760px}.app-shell .salary-detail-month{color:var(--text-secondary);margin:0 0 20px;font-size:14px}.app-shell .salary-details .finance-amount-grid>section{background:var(--surface-soft);border-radius:17px;padding:18px}@media (max-width:760px){.app-shell .payroll-record-card .finance-amount-grid>section{padding:14px 12px}.app-shell .payroll-record-card>.finance-amount-grid{gap:8px}.app-shell .salary-three-metrics .salary-money{font-size:20px}.app-shell .salary-three-metrics .salary-work-time{font-size:14px}.app-shell .salary-details .finance-amount-grid{grid-template-columns:minmax(0,1fr)}}.app-shell .payroll-record-card>.finance-record-actions:has(>button:only-child){grid-template-columns:minmax(0,1fr)}.app-shell .month-board .day-cell.is-today,.app-shell .shift-date-cell.is-today{z-index:2;transform-origin:50%;isolation:isolate;position:relative;transform:scale(1.035)}.app-shell .month-board .day-cell.is-today:after,.app-shell .shift-date-cell.is-today:after{content:"";border:2px solid var(--primary);pointer-events:none;z-index:5;border-radius:5px;position:absolute;inset:1px}@media (max-width:760px){.app-shell .month-board .day-cell.is-today,.app-shell .shift-date-cell.is-today{transform:scale(1.025)}}.app-shell .payroll-record-card>.payroll-card-actions{grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;gap:12px;width:100%;margin:0;padding:0;display:grid}.app-shell .payroll-action-cell{width:100%;min-width:0;display:flex}.app-shell .payroll-action-cell>button{background:var(--surface-soft);width:100%;min-width:0;min-height:46px;color:var(--primary-strong);white-space:normal;border:0;border-radius:12px;justify-content:center;align-self:stretch;align-items:center;gap:5px;margin:0;padding:10px 6px;font-size:12px;font-weight:650;line-height:1.5;display:flex}.app-shell .payroll-card-actions:has(>.payroll-action-cell:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .salary-details>header>div{min-width:0}.app-shell .salary-details .salary-detail-month{margin:7px 0 0}.app-shell .salary-detail-total{background:var(--tint);border-radius:18px;gap:10px;margin-bottom:24px;padding:20px;display:grid}.app-shell .salary-detail-total>span{color:var(--text-secondary);font-size:12px}.app-shell .salary-detail-total>strong{color:var(--primary-strong);overflow-wrap:anywhere;font-size:29px}.app-shell .salary-detail-total>div{flex-wrap:wrap;gap:18px;font-size:13px;display:flex}.app-shell .salary-detail-total>div>span{align-items:center;gap:6px;display:flex}.app-shell .salary-breakdown{margin-bottom:28px}.app-shell :is(.salary-breakdown,.salary-work-details)>h3{margin:0 0 14px;font-size:15px}.app-shell .salary-breakdown dl{gap:0;margin:0;display:grid}.app-shell .salary-breakdown dl>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:11px 2px;font-size:13px;line-height:1.5;display:flex}.app-shell .salary-breakdown dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.app-shell .salary-breakdown-total{font-weight:700}.app-shell .salary-work-details>h3 small{color:var(--text-secondary);margin-left:8px;font-size:12px;font-weight:500}.app-shell .salary-work-list{gap:12px;display:grid}.app-shell .salary-work-item{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:17px;min-width:0;padding:17px}.app-shell .salary-work-item>header{flex-wrap:wrap;align-items:center;gap:7px 12px;font-size:12px;display:flex}.app-shell .salary-work-item>header>span{color:var(--primary-strong);background:var(--tint);border-radius:7px;margin-left:auto;padding:4px 8px}.app-shell .salary-work-item h4{overflow-wrap:anywhere;margin:13px 0;font-size:15px}.app-shell .salary-work-item dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;display:grid}.app-shell .salary-work-item dl>div{justify-content:space-between;gap:8px;min-width:0;font-size:12px;line-height:1.6;display:flex}.app-shell .salary-work-item dt{color:var(--text-secondary)}.app-shell .salary-work-item dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:600}.app-shell .salary-work-item>footer,.app-shell .salary-work-total{border-top:1px solid var(--border);justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;font-size:13px;display:flex}.app-shell .salary-work-item>footer>strong,.app-shell .salary-work-total>strong{color:var(--primary-strong)}@media (max-width:760px){.app-shell .payroll-record-card>.payroll-card-actions{gap:8px}.app-shell .payroll-action-cell>button{font-size:11px}.app-shell .salary-work-item{padding:14px}.app-shell .salary-work-item dl{gap:10px}.app-shell .plain-calendar .board-date{flex-wrap:wrap}.app-shell .plain-calendar .today-button{white-space:nowrap;font-size:11px}}.assignment-empty{color:var(--text-secondary);margin:4px 0;font-size:13px;line-height:1.6}.assignment-options{grid-template-columns:1fr;gap:8px;margin-top:4px;display:grid}.assignment-options>button{text-align:left;border:1px solid var(--border);background:var(--surface,#fff);border-radius:12px;align-items:center;gap:10px;min-height:46px;padding:11px 14px;font-weight:600;line-height:1.5;display:flex}.assignment-options>button[aria-pressed=true]{border-color:var(--primary);background:var(--tint);color:var(--primary-strong)}.assignment-options svg{color:var(--primary-strong);flex-shrink:0}.assignment-choice-panel{background:var(--tint);border-radius:14px;gap:12px;min-width:0;margin-top:8px;padding:16px;display:grid}.assignment-choice-panel h3{margin:0;font-size:14px;line-height:1.6}.assignment-choice-panel label{gap:6px;min-width:0;font-size:13px;display:grid}.assignment-choice-panel select,.assignment-choice-panel input{width:100%;min-width:0;min-height:46px}.assignment-choice-panel>button{min-height:46px}.assignment-choice-panel .field-hint{margin:0;line-height:1.6}.app-shell .plain-calendar .weekdays>.calendar-saturday{color:#7e9db6}.app-shell .plain-calendar .weekdays>.calendar-sunday{color:#ba918b}.app-shell .plain-calendar .day-cell.shift-has-shift{background:var(--tint)}.shift-input-times{gap:4px}.shift-extra-pc{color:var(--text-secondary);font-size:10px;line-height:12px}.shift-extra-mobile{display:none}@media (max-width:760px){.shift-input-times{gap:2px}.shift-input-times>.shift-entered-range:nth-child(n+2),.shift-extra-pc{display:none}.shift-extra-mobile{color:var(--text-secondary);font-size:10px;line-height:12px;display:block}}.shift-input-day .month-day-target{gap:2px}.shift-input-times{gap:2px;margin-top:0}.shift-entered-range{font-size:11px;line-height:12px}.shift-extra-pc{line-height:10px}.shift-input-times>.shift-entered-range:nth-child(n+2),.shift-extra-pc{display:none}.shift-extra-mobile{color:var(--text-secondary);font-size:10px;line-height:12px;display:block}.meeting-card-entry{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:16px;min-width:0;overflow:hidden}.app-shell .meeting-card-entry>.meeting-card{width:100%;box-shadow:none;border:0;border-radius:0}.meeting-card-entry>footer{justify-content:flex-end;padding:0 14px 12px;display:flex}.meeting-add-teacher{background:var(--tint);min-height:42px;color:var(--primary-strong);border-color:#0000;align-items:center;gap:6px;font-weight:650;display:inline-flex}.meeting-teacher-date{background:var(--tint);font-variant-numeric:tabular-nums;border-radius:12px;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding:14px;display:flex}.meeting-teacher-date>span{font-weight:650}.student-reschedule-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:16px;display:flex}.student-reschedule-toolbar .field-hint{flex:1;min-width:180px;margin:0;line-height:1.7}.student-reschedule-picker .month-navigation{margin-bottom:18px}.student-request-lessons{gap:10px;display:grid}.student-request-lesson{text-align:left;border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:14px;grid-template-columns:auto minmax(0,1fr) 17px;align-items:center;gap:14px;min-height:80px;padding:14px;display:grid}.student-request-when,.student-request-subject{gap:6px;min-width:0;display:grid}.student-request-when{font-variant-numeric:tabular-nums}.student-request-when>span,.student-request-subject>span{color:var(--text-secondary);font-size:12px}.student-request-subject small{color:var(--text-secondary);font-size:11px;line-height:1.5}.student-request-summary{background:var(--tint);border-radius:12px;gap:8px;margin-bottom:18px;padding:14px;display:grid}.student-request-summary>span{font-variant-numeric:tabular-nums;font-size:13px}@media (max-width:500px){.student-request-lesson{grid-template-columns:minmax(0,1fr) 17px;gap:10px}.student-request-when{flex-wrap:wrap;grid-column:1;gap:10px;display:flex}.student-request-subject{grid-column:1}.student-request-lesson>svg{grid-area:1/2/3}.student-reschedule-toolbar>button{min-height:46px}}.student-request-time{border:0;min-width:0;margin:20px 0;padding:0}.student-request-time legend{margin-bottom:12px;font-size:14px;font-weight:700}.student-request-time .form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.student-request-time output{background:var(--tint);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:10px;align-items:center;min-height:44px;padding:10px 12px;display:flex}.student-request-time input{width:100%;min-width:0;max-width:100%}.student-request-lesson:disabled{opacity:.55;cursor:default}.reschedule-wish{background:var(--tint);border-radius:12px;padding:12px}.reschedule-panel>.field-hint{margin:12px 0;display:block}.financial-record-state{min-height:36px;color:var(--primary-strong);background:var(--tint);border-radius:20px;align-self:flex-start;align-items:center;gap:6px;margin:10px 0;padding:7px 12px;font-size:12px;display:inline-flex}.financial-record-state.is-final,.record-final-info{color:#13724a;background:#edf9f1}.record-final-info{border-radius:12px;align-items:center;gap:8px;padding:14px;display:flex}.financial-record-dialog>p{line-height:1.8}.financial-record-dialog .choice-tabs{margin-bottom:16px}.financial-audit-list{gap:12px;display:grid}.financial-audit-list>.field-hint{align-items:center;gap:6px;display:flex}.audit-item{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:14px;padding:14px}.audit-item>div{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.audit-item time,.audit-item>p{color:var(--text-secondary);font-size:12px;line-height:1.7}.audit-item dl>div{grid-template-columns:100px 1fr;gap:10px;padding:5px 0;font-size:12px;display:grid}.audit-item dd{margin:0}.financial-record-dialog .document-breakdown p{font-size:13px;line-height:1.7}.attendance-review-notice{background:#fffaf0;border:1px solid #f2d58f;border-radius:18px;margin-bottom:16px;overflow:hidden}.attendance-review-heading{text-align:left;color:#7a5513;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:16px;display:flex}.attendance-review-heading>span{flex:1;gap:5px;display:grid}.attendance-review-heading small{font-size:12px}.attendance-review-heading>b{color:#583d08;text-align:center;background:#f5cf6a;border-radius:12px;min-width:30px;padding:5px}.attendance-review-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px;display:grid}.attendance-review-cards>article{background:var(--surface,#f3f6f8);border:1px solid #efe3c8;border-radius:14px;min-width:0;padding:16px}.attendance-review-cards time{color:var(--text-secondary);font-size:12px}.attendance-review-cards h3{margin:10px 0;font-size:15px}.attendance-review-cards dl{gap:8px;font-size:13px;display:grid}.attendance-review-cards dl>div{gap:12px;display:flex}.attendance-review-cards dt{color:var(--text-secondary);min-width:28px}.attendance-review-cards dd{margin:0}.attendance-review-actions>p{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding:12px 0;font-size:13px;display:flex}.attendance-review-actions>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.attendance-review-actions button{min-height:44px}.reschedule-card>.absence-correction{width:100%;min-height:44px;margin-top:18px;margin-bottom:0}.reschedule-card .reschedule-actions:has(.absence-decision-skip){grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:12px;padding:0;display:grid}.absence-decision-skip{color:#795406!important;background:#fff2c7!important;border:1px solid #ebcf78!important}.absence-decision-apply{color:#fff!important;background:#22845b!important;border:1px solid #22845b!important}.reschedule-actions .absence-decision-skip,.reschedule-actions .absence-decision-apply{justify-content:center;width:100%;min-width:0;min-height:44px;margin:0}.lesson-detail-overview{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:20px;overflow:hidden}.lesson-overview-date{background:var(--tint);color:var(--primary-strong);align-items:center;gap:8px;padding:13px 18px;font-size:14px;display:flex}.lesson-overview-main{align-items:center;gap:14px;padding:20px 18px;display:flex}.lesson-overview-icon{background:var(--tint);width:48px;height:48px;color:var(--primary-strong);border-radius:16px;flex:none;place-items:center;display:grid}.lesson-overview-time{font-variant-numeric:tabular-nums;letter-spacing:.01em;align-items:center;gap:9px;margin:0 0 8px;font-size:23px;font-weight:800;line-height:1.2;display:flex}.lesson-overview-time>span{color:var(--text-secondary);font-size:15px;font-weight:500}.lesson-overview-main h3{overflow-wrap:anywhere;margin:0 0 9px;font-size:17px;line-height:1.5}.lesson-overview-kind{background:var(--tint);color:var(--primary-strong);border-radius:7px;padding:4px 8px;font-size:11px}.lesson-overview-people{border-top:1px solid var(--border);gap:13px;padding:14px 18px;display:grid}.lesson-overview-people>div{grid-template-columns:18px 40px minmax(0,1fr);align-items:center;gap:8px;font-size:13px;display:grid}.lesson-overview-people svg,.lesson-overview-people span{color:var(--text-secondary)}.lesson-overview-people strong{overflow-wrap:anywhere}.lesson-request-panel{border-top:1px solid var(--border);margin-top:22px;padding-top:16px}.lesson-request-panel>.field-hint{margin:0 0 10px;font-size:12px}.lesson-reschedule-action{border:1px solid var(--border);background:var(--tint);width:100%;min-height:60px;color:var(--primary-strong);text-align:left;border-radius:17px;align-items:center;gap:12px;padding:10px 14px;display:flex}.lesson-reschedule-action>strong{flex:1;font-size:15px}.lesson-reschedule-icon{background:var(--surface,#f3f6f8);width:36px;height:36px;color:var(--primary-strong);border-radius:12px;place-items:center;display:grid}@media (max-width:600px){.attendance-review-cards{grid-template-columns:1fr;padding:0 12px 12px}.attendance-review-heading{gap:9px;padding:14px}.lesson-overview-main{gap:10px;padding:17px 14px}.lesson-overview-time{gap:7px;font-size:21px}.lesson-overview-icon{border-radius:14px;width:42px;height:42px}.lesson-overview-date,.lesson-overview-people{padding:13px 14px}.financial-record-dialog .modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}}.app-shell .topbar{z-index:30;justify-content:center;gap:0;min-height:74px;display:flex;position:sticky;top:0}.app-shell .topbar>div:first-child{text-align:center;flex:1;justify-content:center;min-width:0;padding:0 96px;display:flex}.app-shell .topbar .persistent-school-name{letter-spacing:.035em;white-space:normal;overflow-wrap:anywhere;max-width:100%;color:var(--text);font-size:clamp(19px,2vw,24px);font-weight:800;line-height:1.45;display:block}.app-shell .topbar .top-right{align-items:center;gap:8px;display:flex;position:absolute;top:50%;right:22px;transform:translateY(-50%)}@media (max-width:600px){.app-shell .topbar{min-height:72px;padding:10px 12px}.app-shell .topbar>div:first-child{padding:0 78px}.app-shell .topbar .persistent-school-name{letter-spacing:.02em;font-size:18px}.app-shell .topbar .top-right{gap:3px;right:10px}.app-shell .topbar .top-right .icon-button{width:34px;min-width:34px;height:38px}}.finance-amount-grid:has(>section:only-child){grid-template-columns:1fr}.app-shell select:not([multiple]):not([size]){cursor:pointer;min-width:0;max-width:100%;-webkit-appearance:none!important;appearance:none!important;border:1px solid var(--border)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23657586' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:16px 16px!important;background-color:var(--surface-soft)!important;height:46px!important;min-height:46px!important;color:var(--text)!important;box-shadow:none!important;border-radius:12px!important;padding-block:10px!important;padding-inline:13px 42px!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.45!important}:is(.app-shell select:not([multiple]):not([size]):focus,.app-shell select:not([multiple]):not([size]):focus-visible){box-shadow:none!important;border-color:var(--primary)!important;background-color:var(--tint)!important;outline:none!important}.app-shell select:disabled{cursor:default;opacity:.6}.app-shell .month-select-trigger{justify-content:center;align-items:center;display:inline-flex}.app-shell .month-select-trigger>svg{vertical-align:middle;flex:none;align-self:center}.app-shell .grade-filter-select{background-color:var(--surface,#f3f6f8);width:100%;height:46px}.app-shell .member-card{position:relative}.app-shell .member-card-open{z-index:1;border-radius:inherit;width:100%;height:100%;box-shadow:none;cursor:pointer;border:0;margin:0;padding:0;position:absolute;inset:0;background:0 0!important}.app-shell .member-card-open:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.app-shell .member-card .member-account-indicator,.app-shell .member-card .member-card-actions{z-index:2;position:relative}.member-detail-dialog{max-width:540px}.member-detail-identity{align-items:center;gap:14px;margin:6px 0 20px;display:flex}.member-detail-identity>span{background:var(--tint);width:54px;height:54px;color:var(--primary-strong);border-radius:18px;flex:none;place-items:center;display:grid}.member-detail-identity h3{overflow-wrap:anywhere;margin:0 0 5px;font-size:21px;line-height:1.5}.member-detail-identity small{color:var(--text-secondary);font-size:12px}.member-detail-metric{background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;padding:14px;display:flex}.member-detail-metric>span{font-size:13px}.member-detail-metric>strong{color:var(--primary-strong);font-size:18px}.member-detail-facts{gap:0;margin:18px 0;display:grid}.member-detail-facts>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(90px,35%) minmax(0,1fr);gap:12px;padding:11px 0;font-size:13px;line-height:1.6;display:grid}.member-detail-facts dt{color:var(--text-secondary)}.member-detail-facts dd{overflow-wrap:anywhere;margin:0}.member-detail-subsection h4{margin:18px 0 10px;font-size:13px}.member-detail-tags{flex-wrap:wrap;gap:7px;display:flex}.member-detail-tags>span{background:var(--surface-soft);border-radius:8px;padding:6px 9px;font-size:12px;line-height:1.5}.member-detail-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.member-detail-actions button{justify-content:center;min-height:46px}.line-integration-placeholder{text-align:center;background:var(--surface,#f3f6f8);border:1px solid var(--border);border-radius:20px;padding:34px 20px}.line-integration-symbol{color:#fff;letter-spacing:-.02em;background:#06c755;border-radius:21px;justify-content:center;align-items:center;width:62px;height:62px;font-size:17px;font-weight:800;display:inline-flex}.line-integration-placeholder h2{margin:18px 0 10px;font-size:18px}.line-integration-placeholder p{color:var(--text-secondary);font-size:13px;line-height:1.7}.app-shell .proposal-list:has(>.approval-proposal-entry){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.app-shell .approval-proposal-entry{padding:0;overflow:hidden}.app-shell .approval-proposal-content{text-align:left;background:0 0;border:0;border-radius:0;width:100%;min-width:0;padding:20px;display:block}.app-shell .approval-proposal-content>header{border:0;justify-content:space-between;align-items:center;gap:12px;margin:0 0 13px;padding:0;display:flex}.approval-proposal-content>header>div{gap:5px;min-width:0;display:grid}.approval-student-label{color:var(--text-secondary);font-size:11px}.approval-proposal-content header strong{overflow-wrap:anywhere;font-size:18px;line-height:1.5}.approval-duration{white-space:nowrap;background:var(--tint);color:var(--primary-strong);border-radius:10px;align-items:center;gap:5px;padding:7px 9px;font-size:12px;display:flex}.approval-proposal-content h2{color:var(--text-secondary);margin:0 0 18px;font-size:14px;font-weight:500;line-height:1.6}.approval-candidates-heading{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.approval-candidates-heading>span{color:var(--text-secondary)}.approval-candidates-heading>b{color:var(--primary-strong);font-size:12px}.approval-candidate-preview{gap:8px;display:grid}.approval-candidate-preview>div{background:var(--surface-soft);border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.approval-candidate-number{background:var(--surface,#f3f6f8);width:25px;height:25px;color:var(--primary-strong);border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.approval-candidate-preview time{font-variant-numeric:tabular-nums;gap:4px;min-width:0;display:grid}.approval-candidate-preview time>span{font-size:12px;line-height:1.5}.approval-candidate-preview time>strong{letter-spacing:.01em;color:var(--text);font-size:16px;line-height:1.3}.approval-more{text-align:right;color:var(--text-secondary);margin:9px 0 0;font-size:11px;display:block}.approval-proposal-actions{grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 18px;display:grid}.approval-proposal-actions button{justify-content:center;min-height:44px;padding:10px 8px;font-size:12px}.approval-proposal-actions>button:first-child{color:var(--text-secondary);background:var(--surface-soft);border-color:#0000}.proposal-person-summary{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:14px 0;display:flex}.proposal-person-summary>div{gap:7px;min-width:0;display:grid}.proposal-person-summary strong{font-size:19px;line-height:1.5}.proposal-person-summary span{color:var(--text-secondary);overflow-wrap:anywhere;font-size:13px}.proposal-person-summary>b{background:var(--tint);color:var(--primary-strong);white-space:nowrap;border-radius:12px;padding:8px 12px;font-size:13px}.proposal-reception-details{color:var(--text-secondary);margin:0 0 22px;font-size:12px}.proposal-reception-details>summary{cursor:pointer;min-height:32px;padding:8px 0}.proposal-reception-details .proposal-conditions{margin:8px 0 0}.app-shell .proposal-choices>.proposal-choice{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:15px;align-items:center;gap:12px;min-height:84px;padding:14px;display:flex;position:relative}.app-shell .proposal-choice>input{-webkit-appearance:none;appearance:none;border:2px solid var(--border);background:var(--surface,#f3f6f8);border-radius:50%;flex:none;width:21px;min-width:21px;height:21px;min-height:21px;margin:0;padding:0;position:static;transform:none}.app-shell .proposal-choice>input:checked{border:6px solid var(--primary)}.app-shell .proposal-choice-content{flex:1;gap:5px;min-width:0;display:grid}.app-shell .proposal-choice-content>small{font-size:11px}.app-shell .proposal-choice-content>strong{font-size:14px;line-height:1.5}.app-shell .proposal-choice-content>span{letter-spacing:.01em;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;line-height:1.35}.app-shell .proposal-choices>.proposal-choice.selected{border-color:var(--primary);background:var(--tint)}.proposal-choice-check{color:var(--primary-strong);flex:none}.app-shell .proposal-choices>.proposal-choice:has(input:disabled){opacity:.6}.proposal-selection-summary{background:var(--tint);border-radius:13px;gap:7px;margin-top:18px;padding:13px;display:grid}.proposal-selection-summary>span{color:var(--text-secondary);font-size:11px}.proposal-selection-summary>strong{font-size:13px;line-height:1.6}.app-shell .proposal-approval-actions{background:var(--surface,#f3f6f8);z-index:2;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:0;padding:14px 0;display:grid;position:sticky;bottom:-22px}.proposal-approval-actions button{justify-content:center;width:100%;min-height:46px;margin:0}@media (max-width:700px){.app-shell .proposal-list:has(>.approval-proposal-entry){grid-template-columns:1fr}.app-shell .approval-proposal-content{padding:17px}.approval-proposal-actions{padding:0 17px 16px}.app-shell select:not([multiple]):not([size]){font-size:16px!important}.app-shell .proposal-approval-actions{bottom:-16px}.member-detail-facts>div{grid-template-columns:minmax(80px,35%) minmax(0,1fr)}}.tuition-card-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.tuition-card-label{color:var(--text-secondary);letter-spacing:.04em;font-size:11px;font-weight:700}.tuition-card-heading h3{overflow-wrap:anywhere;margin:3px 0 0;font-size:19px;line-height:1.45}.tuition-lesson-count{color:var(--primary);flex-shrink:0;align-items:baseline;gap:4px;font-size:25px;font-weight:800;display:flex}.tuition-lesson-count small{font-size:11px;font-weight:600}.tuition-student-card .finance-single-amount{background:var(--tint);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:15px 16px;display:flex}.tuition-student-card .finance-single-amount strong{white-space:nowrap;font-size:26px;line-height:1.3}.tuition-missing-action{text-align:left;align-items:center;gap:9px;width:100%;margin-bottom:14px;display:flex;color:#855900!important;background:#fff8df!important;border:1px solid #f2dda1!important;border-radius:12px!important;padding:12px 14px!important}.tuition-missing-action span{flex:1;font-size:13px}.tuition-missing-action strong{margin-left:6px}.tuition-inline-missing{color:#855900!important;background:#fff8df!important;border-color:#f2dda1!important;padding:5px 8px!important;font-size:12px!important}.missing-fee-recipient{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 18px;font-weight:700;display:flex}.missing-fee-recipient span{color:#855900;font-size:12px}.missing-fee-list{gap:12px;display:grid}.missing-fee-item{border:1px solid var(--border);border-radius:15px;overflow:hidden}.missing-fee-item.is-selected{border-color:var(--primary)}.missing-fee-choose{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:14px!important}.missing-fee-choose span{gap:5px;display:grid}.missing-fee-choose small{color:var(--text-secondary);font-size:12px;font-weight:500}.missing-fee-item form{gap:12px;padding:0 14px 14px;display:grid}.missing-fee-preview{justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:12px;display:flex}.missing-fee-preview strong{font-size:17px}@media (max-width:600px){.tuition-card-heading h3{font-size:18px}.tuition-student-card .finance-single-amount strong{font-size:24px}.missing-fee-choose small{font-size:11px}}.app-shell :is(input,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]):focus{box-shadow:none!important;border-color:var(--primary)!important;outline:none!important}.app-shell .choice-tabs>button:focus-visible{box-shadow:none!important;background:var(--tint)!important;outline:none!important}@media (max-width:760px){.app-shell select:not([multiple]):not([size]){font-size:16px!important}}.meeting-location{color:var(--text-secondary);overflow-wrap:anywhere;align-items:center;gap:7px;font-size:12px;line-height:1.6;display:flex}.meeting-location>svg{color:var(--primary-strong);flex:none}.meeting-detail-location{background:var(--surface-soft);border-radius:12px;margin:16px 0;padding:12px 14px;font-size:13px}.down-select{width:100%;min-width:0;display:block;position:relative}.down-select[data-open]{z-index:130}.app-shell .down-select-trigger{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;border:1px solid var(--border)!important;background:var(--surface-soft)!important;height:46px!important;min-height:46px!important;color:var(--text)!important;box-shadow:none!important;border-radius:12px!important;outline:none!important;margin:0!important;padding:10px 13px!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;line-height:1.45!important;display:flex!important}.down-select-trigger>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.down-select-trigger>span:last-child{color:#657586;flex:none;display:flex}:is(.app-shell .down-select-trigger:focus-visible,.app-shell .down-select-trigger[data-popup-open]){border-color:var(--primary)!important;background:var(--tint)!important}.app-shell .down-select-trigger:disabled{opacity:.6;cursor:default}.down-select-positioner{z-index:120;width:var(--anchor-width);max-width:min(calc(100vw - 24px),var(--available-width,100vw));min-width:0}.down-select-popup{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:12px;outline:0;width:100%;padding:0;overflow:hidden;box-shadow:0 8px 24px #0000001a}.down-select-scroll-region{max-height:max(0px,min(248px,calc(var(--available-height,250px) - 2px)));flex-direction:column;min-height:0;display:flex}.down-select-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:var(--text-muted) var(--surface-soft);outline:none;min-width:0;min-height:0;padding:5px;scroll-padding-block:5px;overflow:hidden auto}.down-select-list::-webkit-scrollbar{width:7px}.down-select-list::-webkit-scrollbar-track{background:var(--surface-soft);border-radius:8px}.down-select-list::-webkit-scrollbar-thumb{background:var(--text-muted);border:2px solid var(--surface-soft);border-radius:8px}.down-select-option{min-width:0;min-height:44px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:14px;line-height:1.5;display:flex}.down-select-option-text{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0}.down-select-option-check{flex:none;align-items:center;display:flex}.down-select-option[data-highlighted]{background:var(--surface-soft)}.down-select-option[data-selected]{background:var(--tint);color:var(--primary-strong);font-weight:650}.down-select-option[data-disabled]{opacity:.45;cursor:default}.down-select-group-label{color:var(--text-secondary);overflow-wrap:anywhere;padding:10px 10px 6px;font-size:11px;font-weight:700}.down-select-scroll-controls{border-top:1px solid var(--border);background:var(--surface,#f3f6f8);flex:none;grid-template-columns:1fr 1fr;display:grid}.app-shell .down-select-scroll-hint{cursor:pointer;justify-content:center;align-items:center;min-width:44px;height:44px;min-height:44px;display:flex;color:var(--primary-strong)!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.app-shell .down-select-scroll-hint:disabled{visibility:hidden;cursor:default}@media (max-width:760px){.app-shell .down-select-trigger,.down-select-option{font-size:16px!important}}.app-shell :is(.student-roster-card,.teacher-roster-card,.shift-teacher-card,.course-catalog-row,.lecture-plan-card,.fee-plan-row,.location-card,.meeting-card-entry,.proposal-list-entry,.reschedule-card,.finance-record-card,.management-link,.student-request-lesson,.schedule-card,.student-confirmation,.attendance-reminder-card){transition:border-color .16s,box-shadow .16s}@media (hover:hover) and (pointer:fine){.app-shell :is(.student-roster-card,.teacher-roster-card,.shift-teacher-card,.course-catalog-row,.lecture-plan-card,.fee-plan-row,.location-card,.meeting-card-entry,.proposal-list-entry,.reschedule-card,.finance-record-card,.management-link,.student-request-lesson,.schedule-card,.student-confirmation,.attendance-reminder-card):hover{border-color:rgb(var(--theme-rgb)/.18);box-shadow:0 8px 24px rgb(var(--theme-rgb)/.07)}}@media (prefers-reduced-motion:reduce){.app-shell :is(.student-roster-card,.teacher-roster-card,.shift-teacher-card,.course-catalog-row,.lecture-plan-card,.fee-plan-row,.location-card,.meeting-card-entry,.proposal-list-entry,.reschedule-card,.finance-record-card,.management-link,.student-request-lesson,.schedule-card,.student-confirmation,.attendance-reminder-card){transition:none}}.office-work-toolbar{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.office-work-summary{background:var(--tint);text-align:center;border-radius:18px;justify-items:center;gap:12px;padding:24px 16px;display:grid}.office-work-summary strong,.office-work-summary b{font-size:20px}.office-work-cancel{width:100%;min-height:44px;margin-top:16px}.office-work-dialog .form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.office-work-dialog .form-row label,.office-work-dialog input{min-width:0}.office-work-dialog .meeting-label{align-items:center;gap:6px;display:inline-flex}.day-office-icon{color:var(--primary-strong);flex-shrink:0;align-items:center;margin-left:4px;display:inline-flex}.app-shell article.student-confirmation.notice-split{grid-template-columns:minmax(0,4fr) minmax(64px,1fr);align-items:stretch;gap:0;padding:0;display:grid;overflow:hidden}.app-shell .notice-split .notice-main{text-align:left;min-width:0;color:inherit;white-space:normal;background:0 0;border:0;border-radius:0;grid-template-columns:20px minmax(0,1fr) 17px;align-items:start;gap:12px;margin:0;padding:18px;font-weight:400;display:grid}.app-shell .notice-split .notice-main>svg:first-child{color:var(--primary-strong);margin-top:3px}.app-shell .notice-split .notice-content{overflow-wrap:anywhere;flex-direction:column;gap:6px;min-width:0;display:flex}.app-shell .notice-split .notice-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.app-shell .notice-split .notice-content>strong{flex-wrap:wrap;gap:3px 10px;display:flex}.app-shell .notice-split .notice-chevron{color:var(--text-secondary);align-self:center}.app-shell .notice-split .notice-read-button,.app-shell .notice-split .notice-seen-state{border:0;border-left:1px solid var(--border);text-align:center;white-space:normal;overflow-wrap:anywhere;border-radius:0;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;gap:6px;width:100%;min-width:0;height:auto;min-height:64px;margin:0;padding:12px 8px;font-size:14px;font-weight:700;line-height:1.5;display:flex}.app-shell .notice-split .notice-seen-state{color:#66727a;background:0 0;font-size:12px}.app-shell .notice-split.notice-read .notice-main>svg:first-child{color:#81878b}:is(.app-shell .notice-split .notice-main:focus-visible,.app-shell .notice-split .notice-read-button:focus-visible){outline-offset:-4px}@media (max-width:600px){.app-shell .notice-split .notice-main{grid-template-columns:18px minmax(0,1fr) 12px;gap:8px;padding:14px 10px}.app-shell .notice-split .notice-main>svg:first-child{width:18px}.app-shell .notice-split .notice-chevron{width:12px}.app-shell .notice-split .notice-content>strong{gap:2px;font-size:14px;display:grid}.app-shell .notice-split .notice-read-button{padding:10px 6px;font-size:14px}}.app-shell .member-detail-history-dialog{max-width:680px}.app-shell .member-detail-actions{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));padding-top:16px}.app-shell .member-detail-actions>button{justify-content:center;align-items:center;gap:8px;min-width:0;padding:11px 9px;line-height:1.5;display:inline-flex}.app-shell .member-detail-actions>button>svg{flex:none;margin:0;display:block}.app-shell .member-detail-actions>button>span{min-width:0}.member-detail-dialog>.choice-tabs{margin-bottom:18px}.member-history{min-width:0}.member-history-month{gap:8px;margin:0 0 16px;font-size:13px;font-weight:600;display:grid}.member-history-caption{color:var(--text-secondary);margin:10px 0 14px;font-size:12px;line-height:1.6}.member-history-list{gap:10px;display:grid}.member-history-lesson,.member-history-charge,.member-history-bill{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;min-width:0;padding:14px}.member-history-lesson>header,.member-history-charge>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin:0 0 10px;font-size:12px;line-height:1.6;display:flex}.member-history-lesson>header>strong{color:var(--primary-strong);font-size:14px}.member-history-person{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:9px 0;display:flex}.member-history-person>div{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.member-history-person strong,.member-history-charge strong{font-size:14px;line-height:1.5}.member-history-person>div>span,.member-history-charge small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:12px;line-height:1.6}.member-history-status{background:var(--tint);color:var(--primary-strong);border-radius:8px;flex:none;padding:5px 8px;font-size:11px}.member-history-status.status-absent,.member-history-status.status-unconfirmed{color:#885600;background:#fff3d7}.member-history-status.status-cancelled{color:#616774;background:#eceef1}.member-history-finance{margin-top:22px}.member-history-finance>h4{margin:0 0 12px;font-size:15px}.member-history-total,.member-history-charge>div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;line-height:1.6;display:flex}.member-history-total{background:var(--tint);border-radius:15px;padding:15px;font-size:13px}.member-history-total strong{color:var(--primary-strong);font-size:21px}.member-history-money{gap:10px;margin:16px 0 0;font-size:13px;display:grid}.member-history-money>div{justify-content:space-between;gap:16px;line-height:1.6;display:flex}.member-history-money dd{margin:0;font-weight:600}.member-history-money>div:last-child{border-top:1px solid var(--border);padding-top:10px}.member-history-bill{margin-bottom:10px}.member-history-bill h5{margin:0 0 8px;font-size:14px;line-height:1.6}.member-history-bill p{color:var(--text-secondary);margin:8px 0;font-size:12px;line-height:1.6}.app-shell .member-payroll-details{width:100%;max-width:none;box-shadow:none;border:0;padding:0}.member-payroll-details>label{gap:8px;margin-bottom:16px;font-size:13px;display:grid}@media (max-width:450px){.member-history-lesson,.member-history-charge,.member-history-bill{padding:12px}.member-history-person{gap:8px}.member-history-total{padding:12px}.member-history-total strong{font-size:19px}}.subscription-overview{border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:22px;min-width:0;margin:0 0 24px;padding:22px}.subscription-heading,.subscription-plan-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;margin-bottom:16px;display:flex}.subscription-heading h2{margin:0;font-size:17px;line-height:1.6}.subscription-heading>span{background:var(--surface-soft);color:var(--text-secondary);border-radius:8px;padding:5px 9px;font-size:11px;line-height:1.5}.subscription-enrollment{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.subscription-enrollment>div{background:var(--tint);border-radius:16px;gap:10px;min-width:0;padding:16px;display:grid}.subscription-enrollment>div>span{color:var(--primary-strong);align-items:center;gap:8px;font-size:13px;line-height:1.6;display:flex}.subscription-enrollment strong{font-variant-numeric:tabular-nums;color:var(--primary-strong);font-size:30px;font-weight:750;line-height:1.2}.subscription-enrollment strong small{margin-left:6px;font-size:13px;font-weight:500}.subscription-note{color:var(--text-secondary);overflow-wrap:anywhere;margin:12px 0 0;font-size:12px;line-height:1.7}.subscription-plan-heading{margin:24px 0 12px}.subscription-plan-heading h3,.subscription-extra h3{margin:0;font-size:14px;line-height:1.6}.subscription-plan-heading>span{color:var(--text-secondary);font-size:12px}.subscription-comparison-note{margin-top:11px}.subscription-extra{background:var(--tint);border-radius:13px;margin:16px 0 0;padding:15px}.subscription-extra p{overflow-wrap:anywhere;margin:7px 0 0;font-size:12px;line-height:1.8}.feature-plan-hint{color:var(--text-secondary);margin-top:4px;font-size:11px;font-weight:400;line-height:1.6;display:block}.subscription-enrollment strong{flex-wrap:wrap;align-items:baseline;gap:4px 6px;display:flex}.subscription-enrollment strong small{white-space:nowrap;margin:0}@media (max-width:600px){.subscription-overview{border-radius:18px;padding:12px}.subscription-enrollment{gap:10px}.subscription-enrollment>div{gap:8px;padding:12px}.subscription-enrollment>div>span{gap:6px;font-size:12px}.subscription-enrollment strong{font-size:28px}.subscription-enrollment strong small{font-size:12px}.subscription-heading{gap:8px;margin-bottom:14px}.subscription-heading h2{font-size:16px}.subscription-comparison-note{font-size:12px}.subscription-note{line-height:1.8}}.service-notice{color:#775319;background:#fff8e9;border:1px solid #ead3a1;border-radius:16px;align-items:center;gap:13px;margin:0 0 18px;padding:16px 18px;line-height:1.7;display:flex}.service-notice>svg{flex:none}.service-notice>div{flex:1;min-width:0}.service-notice strong{font-size:14px}.service-notice p{margin:3px 0 0;font-size:12px}.service-notice>button{flex:none;min-height:44px}.service-status{border:1px solid var(--border);background:var(--surface-soft);border-radius:18px;margin-bottom:18px;padding:18px}.service-status>header{align-items:center;gap:9px;display:flex}.service-status h3{margin:0;font-size:15px;line-height:1.6}.service-status header>small{color:var(--text-secondary);margin-left:auto;font-size:11px}.service-status>p,.service-demo>p,.service-confirm>p{margin:12px 0 0;font-size:13px;line-height:1.8}.service-status>dl{gap:10px;margin:16px 0 0;font-size:12px;display:grid}.service-status>dl>div{justify-content:space-between;gap:12px;line-height:1.6;display:flex}.service-status dd{font-variant-numeric:tabular-nums;margin:0}.service-status.service-overdue,.service-notice.service-locked{background:#fff7e8;border-color:#e6c884}.service-status.service-locked,.service-status.service-cancelled{background:#f7f0ed;border-color:#d7bdb0}.service-demo{border-top:1px solid var(--border);margin-top:16px;padding-top:13px}.service-demo>summary{cursor:pointer;min-height:32px;font-size:12px;line-height:2}.service-demo>label{gap:8px;margin:13px 0;font-size:12px;display:grid}.service-demo>button{width:100%;min-height:44px}.service-confirm{max-width:440px}.service-personal-lock{text-align:center;border:1px solid var(--border);background:var(--surface,#f3f6f8);border-radius:22px;padding:40px 22px}.service-personal-lock>svg{color:var(--primary-strong)}.service-personal-lock h2{font-size:20px;line-height:1.6}.service-personal-lock p{font-size:14px;line-height:1.8}.service-personal-lock button{min-height:44px;margin-top:15px}.service-payment-status{background:var(--tint);border-radius:15px;align-items:center;gap:12px;margin:16px 0;padding:18px;display:flex}.service-payment-status>div{gap:5px;display:grid}.service-payment-status span{font-size:12px}.service-payment>p{font-size:13px;line-height:1.8}.service-payment-actions{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;display:grid}.service-payment-actions>button{min-height:46px}@media (max-width:600px){.service-notice{flex-wrap:wrap;padding:15px}.service-notice>button{width:100%}.service-status{padding:15px}.service-status>dl>div{flex-direction:column;gap:3px}.service-payment-actions{grid-template-columns:1fr}}.app-shell .error.service-plan-warning{color:#765312;background:#fff7e5;border:1px solid #e4c47f}.service-roster-limit{color:#765312;background:#fff7e5;border:1px solid #e4c47f;border-radius:13px;margin:12px 0;padding:13px}.service-roster-limit p,.service-upgrade-guidance{margin:0 0 12px;font-size:13px;line-height:1.8}.service-roster-limit>button{justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;display:flex}.service-upgrade-dialog{max-width:680px}.service-upgrade-dialog>.subscription-overview{border:0;padding:0}.subscription-additions{border:1px solid var(--border);background:var(--surface-soft);border-radius:20px;gap:16px;padding:20px;display:grid}.subscription-additions>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.subscription-additions h3{margin:0}.subscription-additions>header>span{color:var(--text-secondary);font-size:12px}.subscription-addition-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.subscription-addition-fields>label{gap:8px;min-width:0;display:grid}.subscription-addition-fields small,.subscription-addon-limit{color:var(--text-secondary);font-size:12px}.subscription-stepper{grid-template-columns:40px minmax(0,1fr) 40px;gap:4px;display:grid}.subscription-stepper>button{justify-content:center;align-items:center;min-height:44px;padding:0;display:flex}.subscription-stepper>input{text-align:center;-webkit-appearance:textfield;appearance:textfield;width:100%;min-width:0;height:44px;padding:6px}.subscription-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none}.subscription-monthly-total{gap:10px;margin:0;display:grid}.subscription-monthly-total>div{justify-content:space-between;gap:12px;display:flex}.subscription-monthly-total dd{font-variant-numeric:tabular-nums;margin:0}.subscription-monthly-total .subscription-total{border-top:1px solid var(--border);align-items:center;padding-top:12px;font-weight:800}.subscription-total dd{color:var(--primary-strong);font-size:24px}.subscription-total small{margin-left:4px;font-size:12px}.subscription-additions>.primary{width:100%;min-height:44px}.subscription-additions>.subscription-note{margin:0}@media (max-width:480px){.subscription-additions{gap:14px;padding:14px}.subscription-addition-fields{gap:10px}.subscription-stepper{grid-template-columns:34px minmax(0,1fr) 34px;gap:2px}.subscription-stepper input{font-size:16px}}.app-shell main,.modal{overflow-anchor:none}.context-back{min-height:44px;color:var(--primary-strong);background:var(--surface-soft);border:1px solid var(--border);border-radius:12px;align-items:center;gap:5px;margin-bottom:12px;padding:8px 12px;display:inline-flex}.modal>header>.dialog-back{flex:none;margin-right:2px}.modal>header:has(>.dialog-back)>h2{flex:1;min-width:0}.dialog-back{font-size:26px;line-height:1}.app-shell .pending-count{letter-spacing:0;vertical-align:middle;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.app-shell .management-home .management-link .management-item-heading{align-items:center;gap:8px;display:flex}.app-shell .management-item-heading>span:first-child{min-width:0}.subscription-lifecycle{border-top:1px solid var(--border);justify-items:start;gap:12px;margin-top:16px;padding-top:16px;display:grid}.subscription-lifecycle>p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.8}.subscription-lifecycle>button{min-height:44px}.subscription-lifecycle .modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.subscription-lifecycle .modal-actions button{justify-content:center;width:100%;min-height:46px}.subscription-lifecycle .service-confirm>p{margin:14px 0 0;line-height:1.8}@media (max-width:600px){.subscription-lifecycle{justify-items:stretch}.subscription-lifecycle>button{width:100%}}button{--button-hover-bg:var(--tint,#edf4ef);--button-hover-color:var(--primary-strong,#235b4a);--button-press-bg:color-mix(in srgb,var(--primary,#286956) 20%,white);--button-press-color:var(--primary-strong,#235b4a);--button-press-motion:scale(.98);--button-press-shadow:inset 0 0 0 1px rgb(var(--theme-rgb,40 105 86)/.18);touch-action:manipulation;transition:background-color .16s,color .16s,box-shadow .16s,transform .12s!important}:is(button.primary,button.member-main-action,button.theme-preview-button,.sidebar nav>button.nav-active,.mobile-menu-sheet>div>button[aria-current=page],.bottom-nav>button.active,.course-catalog-actions>button:last-child,.grade-filter-options>button[aria-pressed=true],.time-choice-buttons>button[aria-pressed=true],.course-category-tabs>button.active){--button-hover-bg:var(--primary-hover,#205645);--button-hover-color:var(--primary-hover-ink,#fff);--button-press-bg:var(--primary-hover,#205645);--button-press-color:var(--primary-hover-ink,#fff);--button-press-shadow:inset 0 0 0 2px #0000001f}button.absence-decision-skip{--button-hover-bg:#ffe7a0;--button-hover-color:#795406;--button-press-bg:#ffdd7a;--button-press-color:#795406}button.absence-decision-apply{--button-hover-bg:#196a48;--button-hover-color:#fff;--button-press-bg:#155b3d;--button-press-color:#fff}:is(button.secondary-destructive,button.meeting-cancel,button.candidate-remove){--button-hover-bg:#fff0f0;--button-hover-color:#a93636;--button-press-bg:#ffe0e0;--button-press-color:#a93636}:is(button.member-card-open,button.proposal-card,button.approval-proposal-content,button.meeting-card,button.notice-main-action){--button-hover-bg:transparent;--button-hover-color:inherit;--button-press-bg:var(--tint,#edf4ef);--button-press-color:inherit;--button-press-motion:none}button.management-link,button.shift-teacher-card,button.lecture-plan-card,button.schedule-card,button.student-request-lesson{--button-hover-bg:#fff;--button-hover-color:inherit;--button-press-bg:var(--tint,#edf4ef);--button-press-color:inherit;--button-press-motion:none}button.attendance-reminder-card,button.attendance-review-heading{--button-hover-bg:#fff4d8;--button-hover-color:#7a5513;--button-press-bg:#ffedbc;--button-press-color:#7a5513}:is(.choice-tabs>button,.sidebar nav>button,.bottom-nav>button,.mobile-menu-sheet>div>button,button[role=switch],button[role=combobox],button.month-day-target,button.closure-day-target,button.day-number,button.day-status-icon,button.shift-date-cell,.lecture-days>button,.wheel-options>button,button.down-select-scroll-hint,button.notice-read-button){--button-press-motion:none}button.shift-date-cell.is-today{--button-press-motion:scale(1.035)}@media (max-width:760px){button.shift-date-cell.is-today{--button-press-motion:scale(1.025)}}button.month-day-target,button.closure-day-target,button.shift-date-cell,.lecture-days>button{--button-hover-color:inherit;--button-press-color:inherit}@media (hover:hover) and (pointer:fine){button:enabled:not([aria-disabled=true]):hover{background:var(--button-hover-bg)!important;color:var(--button-hover-color)!important;filter:none!important}.app-shell .down-select-trigger:hover:enabled{border-color:var(--primary)!important}}button:enabled:not([aria-disabled=true]):active{background:var(--button-press-bg)!important;color:var(--button-press-color)!important;box-shadow:var(--button-press-shadow)!important;transform:var(--button-press-motion)!important;filter:none!important;transition-duration:60ms!important}button:enabled:focus-visible{outline:2px solid var(--primary,#286956);outline-offset:3px}.app-shell .down-select-trigger:focus-visible{border-color:var(--primary)!important;outline:none!important}.feature-switch-row:active:has(input:enabled) .feature-switch-track{filter:brightness(.9)}.discount-toggle:active:has(input:enabled){filter:brightness(.9)}button:disabled,button[aria-disabled=true]{cursor:default}@media (prefers-reduced-motion:reduce){button,button>*{transition:none!important}button:enabled:not([aria-disabled=true]):active{transform:none!important}}.app-shell button>svg:is(.lucide-chevron-left,.lucide-chevron-right,.lucide-chevron-up,.lucide-chevron-down,.lucide-arrow-left,.lucide-arrow-right){vertical-align:middle;flex:none;align-self:center;display:block}.app-shell button.absence-decision-apply{justify-content:center;align-items:center;gap:8px;line-height:1.5;display:inline-flex}.app-shell :is(.meeting-card,.management-link,.student-request-lesson,.shift-teacher-card,.missing-fee-choose,.attendance-queue-item,.tuition-missing-action)>svg.lucide-chevron-right{place-self:center end;margin-block:0}.app-shell :is(.meeting-card,.management-link,.student-request-lesson,.shift-teacher-card,.missing-fee-choose,.attendance-queue-item,.tuition-missing-action){padding-inline-end:14px}.app-shell :is(.day-details .schedule-card,.schedule-card,.lecture-plan-card){padding-inline-end:44px}.app-shell :is(.schedule-card,.lecture-plan-card)>svg.lucide-chevron-right{inset-inline-end:14px;margin:0;position:absolute;top:50%;left:auto;right:14px;transform:translateY(-50%)}.app-shell .down-select-trigger{min-width:0;white-space:nowrap!important;flex-flow:row!important;column-gap:10px!important}.app-shell .down-select-trigger>.down-select-value{text-overflow:ellipsis;writing-mode:horizontal-tb;flex:1;min-width:0;max-width:100%;line-height:1.45;overflow:hidden;white-space:nowrap!important;display:block!important}.app-shell .down-select-trigger>.down-select-chevron{color:#657586;flex:0 0 18px;justify-content:center;align-items:center;display:flex!important}.down-select-chevron>svg{flex:none;margin:0;display:block}.down-select-positioner{width:max(var(--anchor-width,0px),min(240px,calc(var(--select-viewport-width,100vw) - 24px)));max-width:min(calc(var(--select-viewport-width,100vw) - 24px),var(--available-width,100vw))}.down-select-option-text{writing-mode:horizontal-tb;word-break:normal;overflow-wrap:break-word;white-space:normal;flex:1;min-width:0;display:block}.down-select-option-check{flex:0 0 18px;justify-content:center;align-items:center}.app-shell .calendar-loading{isolation:isolate;position:relative}.app-shell .plain-calendar .calendar-loading .calendar-loading-day{color:var(--text-muted);pointer-events:none;flex-direction:column;gap:8px;padding:7px 9px;display:flex}.app-shell .calendar-loading-lines{opacity:.45;gap:5px;width:75%;max-width:58px;display:grid}.app-shell .calendar-loading-lines i{background:var(--border);border-radius:6px;height:5px;display:block}.app-shell .calendar-loading-lines i:last-child{width:70%}.app-shell .calendar-loading-status{z-index:1;pointer-events:none;place-items:center;padding:12px;display:grid;position:absolute;inset:40px 0 0}.app-shell .calendar-loading-status>.simple-empty,.app-shell .calendar-loading-status>.loading{border:1px solid var(--border);width:max-content;max-width:100%;box-shadow:0 5px 20px rgb(var(--theme-rgb)/.06);pointer-events:auto;background:#fff;border-radius:16px;padding:18px 22px;font-size:14px;line-height:1.6}.app-shell .calendar-loading-status p{margin:0 0 12px}.app-shell .calendar-loading-status button{min-height:44px}.app-shell .calendar-startup-month{font-size:23px;font-weight:750;line-height:38px}@media (max-width:760px){.app-shell .plain-calendar .calendar-loading .calendar-loading-day{gap:5px;padding:4px 3px}.app-shell .calendar-loading-status>.simple-empty,.app-shell .calendar-loading-status>.loading{padding:14px 16px;font-size:13px}.app-shell .calendar-startup-month{font-size:17px}}.line-integration-settings{border:1px solid var(--border);background:var(--surface,#fff);box-sizing:border-box;border-radius:20px;width:100%;max-width:760px}.line-section-heading{align-items:center;gap:16px;margin-bottom:24px;display:flex}.line-section-heading .line-integration-symbol{border-radius:17px;flex:none;width:52px;height:52px;font-size:14px}.line-section-heading h2{line-height:1.5;margin:0 0 5px!important;font-size:20px!important}.line-section-heading p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.line-connection-status{background:var(--surface-soft);border-radius:15px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:16px;display:flex}.line-connection-status>div{gap:5px;min-width:0;display:grid}.line-connection-status strong{overflow-wrap:anywhere;font-size:15px;line-height:1.5}.line-connection-status>div>span{color:var(--text-secondary);font-size:12px}.line-status-tag{color:var(--text-secondary);background:var(--surface,#fff);border-radius:9px;flex:none;align-items:center;gap:4px;padding:6px 9px;font-size:11px;font-weight:650;display:inline-flex}.line-status-tag.is-ready{color:#14743e;background:#e9f8ed}.line-setup-notice{color:#765a13;overflow-wrap:anywhere;background:#fff8e6;border-radius:12px;margin:14px 0;padding:12px 14px;font-size:13px;line-height:1.7}.line-connection-status>.line-connection-checks{text-align:right;justify-items:end;gap:7px}.line-connection-checks>.line-status-tag{justify-self:end}.line-connection-checks>.line-receipt-status{white-space:normal;justify-content:flex-end;align-items:center;gap:5px;font-size:11px;line-height:1.6;display:inline-flex}.line-receipt-status>svg{flex:none}.line-setup-steps{min-width:0;margin:20px 0 24px}.line-setup-steps h3{margin:0 0 14px;font-size:15px;line-height:1.5}.line-setup-steps ol{gap:14px;margin:0;padding:0;list-style:none;display:grid}.line-setup-steps li{align-items:flex-start;gap:10px;min-width:0;display:flex}.line-setup-steps li>span{background:var(--tint);width:27px;height:27px;color:var(--primary-strong);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:750;line-height:1;display:grid}.line-setup-steps li>div{min-width:0}.line-setup-steps strong{font-size:13px;line-height:1.6;display:block}.line-setup-steps p{color:var(--text-secondary);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.7}.line-setup-steps>a{min-height:44px;color:var(--primary-strong);align-items:center;gap:6px;margin:6px 0 0 37px;font-size:12px;line-height:1.6;text-decoration:none;display:inline-flex}.line-setup-steps>a>svg{flex:none}.line-connection-save-note{overflow-wrap:anywhere;margin:16px 0 0;font-size:12px;line-height:1.7}.line-friend-prompt{margin:14px 0 16px}.line-friend-prompt>.field-hint{margin:0 0 10px;line-height:1.7}.line-friend-action{box-sizing:border-box;color:#087b35;background:#e8f8ee;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;padding:11px 14px;font-size:13px;font-weight:650;line-height:1.6;text-decoration:none;display:flex}.line-friend-action>svg{flex:none}.line-friend-action:hover{color:#06692d;background:#d9f2e3}.line-friend-action:active{transform:scale(.985)}.line-friend-action:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.account-access-modal .account-access-methods{min-width:0;margin:0 0 20px}.account-access-modal .account-access-methods>button{white-space:nowrap;flex:1;justify-content:center;min-height:46px}.account-access-modal .line-member-link{border-top:0;margin-top:0;padding-top:0}.account-access-modal .line-member-heading{margin-top:0}.account-access-modal .account-secondary-actions>button{justify-content:center;width:100%}.line-unlink-guidance{margin:14px 0 0;line-height:1.7}.line-registration-invitation{margin:18px 0}.line-registration-invitation h4{color:var(--text);margin:0 0 12px;font-size:13px;line-height:1.7}.line-notification-options{min-width:0;margin:22px 0 24px}.line-notification-options-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.line-notification-options-heading h3{margin:0;font-size:15px;line-height:1.5}.line-notification-save-status{min-height:20px;color:var(--text-secondary);white-space:nowrap;font-size:12px;line-height:1.6}.line-notification-options>p{color:var(--text-secondary);margin:6px 0 13px;font-size:12px;line-height:1.6}.line-notification-option-list{gap:8px;display:grid}.line-notification-option{background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.line-notification-option>div{min-width:0}.line-notification-option>div>span{font-size:14px;font-weight:650;line-height:1.6}.line-notification-option p{color:var(--text-secondary);overflow-wrap:anywhere;margin:3px 0 0;font-size:12px;line-height:1.6}.line-notification-option .tap-toggle{flex:none;min-width:88px;min-height:44px}.line-notification-options>.error{margin:12px 0 0}.line-integration-settings fieldset{border:0;min-width:0;margin:0;padding:0}.line-integration-settings fieldset:disabled{opacity:.65}.line-integration-settings .line-notification-toggle,.line-member-link .line-notification-toggle{background:var(--surface-soft);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;padding:14px;display:flex}.line-notification-toggle>span{min-width:0;font-size:13px;font-weight:600;line-height:1.6}.line-notification-toggle .tap-toggle{flex:none;min-height:44px}.line-credentials,.line-setup-guide{border-top:1px solid var(--border);margin-top:18px;padding-top:4px}.line-credentials>summary,.line-setup-guide>summary{cursor:pointer;min-height:48px;color:var(--text);box-sizing:border-box;padding:14px 0;font-size:14px;font-weight:650;line-height:1.5}:is(.line-credentials>summary:focus-visible,.line-setup-guide>summary:focus-visible){outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}.line-credential-fields{gap:18px;padding:7px 0;display:grid}.line-credential-fields>label,.line-copy-field>label{flex-direction:column;align-items:stretch;gap:8px;min-width:0;max-width:100%;font-size:13px;line-height:1.6;display:flex}.line-credential-fields input,.line-copy-field input{box-sizing:border-box;background:var(--surface-soft);width:100%;min-width:0;min-height:46px;color:var(--text);border:1px solid #0000;border-radius:12px;padding:11px 13px;font-size:14px}.line-integration-settings .settings-actions{align-items:center;gap:12px;max-width:none;display:flex;margin-top:20px!important}.line-integration-settings .settings-actions .primary{justify-content:center;width:100%;min-height:46px}.line-integration-settings .settings-actions>span{white-space:nowrap;font-size:12px}.line-setup-guide ol{color:var(--text-secondary);gap:11px;margin:6px 0 20px;padding-left:22px;font-size:13px;line-height:1.7;display:grid}.line-setup-guide>a{color:var(--primary-strong);align-items:center;gap:6px;min-height:44px;font-size:13px;text-decoration:none;display:inline-flex}.line-copy-field{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin:16px 0;display:grid}.line-copy-field input{font-size:12px}.line-copy-field>button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:46px;padding:10px 12px;display:inline-flex}.line-copy-field>p{grid-column:1/-1;margin:0}.line-delivery-status{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.line-delivery-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.line-delivery-heading h3{margin:0;font-size:14px;line-height:1.5}.line-delivery-heading .icon-button{min-width:44px;min-height:44px}.line-delivery-status dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0;display:grid}.line-delivery-status dl>div{background:var(--surface-soft);border-radius:12px;padding:13px}.line-delivery-status dt{color:var(--text-secondary);font-size:11px;line-height:1.6}.line-delivery-status dd{font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:22px;font-weight:700;line-height:1.25}.line-delivery-issue{color:#765a13;background:#fff8e6;border-radius:12px;margin-top:12px;padding:13px 14px}.line-delivery-issue p{margin:0;font-size:12px;line-height:1.7}.line-delivery-issue a{color:inherit;text-underline-offset:3px;align-items:center;gap:6px;min-height:44px;font-size:12px;line-height:1.6;text-decoration:underline;display:inline-flex}.line-member-link{border-top:1px solid var(--border);min-width:0;margin-top:20px;padding-top:20px}.line-member-heading{color:var(--text);align-items:center;gap:8px;margin-bottom:14px;display:flex}.line-member-heading>svg{color:#18883d;flex:none}.line-member-heading>h3{margin:0;font-size:15px;line-height:1.5}.line-linked-person{background:var(--surface-soft);border-radius:13px;align-items:center;gap:10px;padding:14px;display:flex}.line-linked-check{color:#13743b;background:#e1f4e8;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.line-linked-person>div{gap:4px;min-width:0;display:grid}.line-linked-person strong{overflow-wrap:anywhere;font-size:14px;line-height:1.5}.line-linked-person>div>span{color:var(--text-secondary);font-size:12px}.line-primary-action,.line-open-link{box-sizing:border-box;color:#063e1b;background:#06c755;border:0;border-radius:13px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;padding:12px 14px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.line-primary-action>svg,.line-open-link>svg{flex:none}.line-primary-action:hover,.line-open-link:hover{color:#063e1b;background:#05b64d}.line-primary-action:disabled{opacity:.6}:is(.line-primary-action:focus-visible,.line-open-link:focus-visible){outline:2px solid var(--primary);outline-offset:3px}.line-unlink-button{width:100%;min-height:44px;color:var(--text-secondary);justify-content:center;align-items:center;gap:7px;font-size:13px;display:inline-flex}.line-invitation{text-align:center;min-width:0}.line-invitation>p{color:var(--text-secondary);margin:12px 0;font-size:13px;line-height:1.7}.line-qr-image{aspect-ratio:1;width:min(280px,100%);height:auto;box-shadow:0 0 0 1px var(--border);background:#fff;border-radius:12px;margin:12px auto;display:block}.line-invitation .line-invitation-expiry{margin:12px 0 16px;font-size:12px}.line-copy-invite{justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;margin:10px 0;font-size:13px;display:flex}.line-invitation .text-action{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.line-invitation .line-expired{color:#866315;background:#fff8e6;border-radius:12px;padding:14px}.line-account-dialog{max-width:460px}.line-account-dialog .line-member-link{border-top:0;margin-top:0;padding-top:0}.line-account-dialog .line-member-heading{display:none}.line-member-link .error{overflow-wrap:anywhere;margin:12px 0;font-size:13px;line-height:1.7}.line-integration-settings .error{overflow-wrap:anywhere;font-size:13px;line-height:1.7}@media (max-width:600px){.line-integration-settings{padding:20px 14px}.line-section-heading{gap:12px;margin-bottom:20px}.line-section-heading h2{font-size:18px!important}.line-section-heading p{font-size:12px}.line-section-heading .line-integration-symbol{border-radius:15px;width:46px;height:46px}.line-connection-status{flex-wrap:wrap;align-items:flex-start;padding:13px}.line-connection-status strong{font-size:14px}.line-credential-fields input,.line-copy-field input{font-size:16px}.line-copy-field{grid-template-columns:minmax(0,1fr) 46px}.line-copy-field>button{width:46px;padding:10px}.line-copy-field>button>span{display:none}.line-copy-field input{font-size:13px}.line-credential-fields>label{font-size:12px}.line-integration-settings .settings-actions{flex-wrap:wrap}.line-setup-notice,.line-notification-toggle>span{font-size:12px}.line-delivery-status dl{gap:8px}.line-delivery-status dt{font-size:11px}.line-delivery-status dl>div{padding:11px}.line-account-dialog{max-width:calc(100vw - 24px)}.line-primary-action,.line-open-link{min-height:48px;font-size:14px}.line-qr-image{max-width:256px}}.line-member-heading>h3{min-width:0}.line-registration-count{white-space:nowrap;color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;margin-left:auto;font-size:13px;display:inline-flex}.line-registration-count>strong{color:var(--text);font-size:21px;font-weight:650;line-height:1.2}.line-registration-guide{background:var(--surface-soft);border-left:3px solid #158b46;margin:0 0 17px;padding:13px 14px}.line-registration-guide p{color:var(--text);margin:0;font-size:13px;line-height:1.7}.line-registration-guide p+p{color:var(--text-secondary);margin-top:5px;font-size:12px}.line-registration-success{color:#17663d;background:#e9f5ee;align-items:flex-start;gap:8px;padding:12px 14px;font-size:13px;line-height:1.7;display:flex}.line-registration-success>svg{flex:none;margin-top:3px}.line-linked-list{gap:10px;min-width:0;display:grid}.line-linked-account{border:1px solid var(--border);background:var(--surface);min-width:0;padding:12px}.line-linked-account .line-linked-person{background:0 0;border-radius:0;gap:10px;padding:0}.line-linked-account .line-linked-person>div{flex:1}.line-linked-account .line-linked-person>div>span{overflow-wrap:anywhere;font-size:11px;line-height:1.6}.line-linked-account .line-linked-check{width:28px;height:28px}.line-target-unlink{min-height:44px;color:var(--text-secondary);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:12px;display:inline-flex}.line-target-unlink>svg{flex:none}.line-linked-account .line-notification-toggle{border-radius:5px;margin:10px 0 0;padding:9px 10px}.line-linked-account .line-notification-toggle>span{font-size:12px}.line-linked-account .line-notification-toggle .tap-toggle{min-height:36px;font-size:12px}.line-registration-invitation .line-invitation-next{color:var(--text-secondary);text-align:center;margin:12px 0 0;font-size:12px;line-height:1.7}.line-registration-invitation:has(.line-invitation){margin-bottom:12px}.line-capacity-note{line-height:1.7;margin:16px 0 0!important}.account-access-modal{max-width:490px}.account-access-modal>header{align-items:flex-start;gap:12px}.account-access-modal>header h2{overflow-wrap:anywhere;min-width:0}.account-access-modal>header .icon-button{flex:none}.account-access-modal .line-registration-guide{margin-top:2px}.account-access-modal .line-primary-action{margin-top:12px}.account-access-modal .line-invitation-expiry{font-variant-numeric:tabular-nums}@media (max-width:420px){.line-linked-account{padding:10px}.line-linked-account .line-linked-person{gap:8px}.line-linked-account .line-linked-person strong{font-size:13px}.line-target-unlink{gap:4px;padding:8px 4px}.line-registration-guide{padding:11px 12px}.line-registration-guide p{font-size:12px}.line-registration-count>strong{font-size:19px}.line-registration-invitation .line-qr-image{width:min(220px,100%)}.line-linked-account .line-notification-toggle{gap:8px}.line-linked-account .line-notification-toggle .tap-toggle{min-width:78px}}.line-linked-check.is-pending{color:#946718;background:#fff4db}.line-member-link.is-inviting .line-registration-guide{margin-bottom:10px;padding:10px 12px}.line-member-link.is-inviting .line-registration-guide p{font-size:12px;line-height:1.6}.line-member-link.is-inviting .line-registration-guide p+p{margin-top:3px}.line-member-link.is-inviting .line-registration-invitation{margin:0}.line-member-link.is-inviting .line-qr-image{width:min(232px,100%);margin:8px auto}.line-member-link.is-inviting .line-invitation-expiry{margin:8px 0 10px;font-size:11px;line-height:1.6}.line-member-link.is-inviting .line-copy-invite{min-height:44px;margin:0 0 8px}.line-invitation-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.line-invitation-actions>button{white-space:normal;justify-content:center;align-items:center;width:100%;min-height:44px;margin:0;padding:9px 6px;font-size:12px;line-height:1.5;display:flex}.line-member-link.is-inviting .line-member-heading{margin-bottom:10px}@media (max-width:420px){.line-member-link.is-inviting .line-qr-image{width:min(210px,100%)}.line-invitation-actions>button{font-size:11px}.line-member-link.is-inviting .line-registration-guide{padding:9px 10px}.line-member-link.is-inviting .line-registration-guide p+p{font-size:11px}}.line-invitation .line-invitation-person{background:var(--surface-soft);border-radius:12px;gap:3px;margin:12px 0 8px;padding:10px 12px;line-height:1.6;display:grid}.line-invitation-person>span{color:var(--text-secondary);font-size:11px}.line-invitation-person>strong{color:var(--text);overflow-wrap:anywhere;font-size:16px;font-weight:650}.line-linked-account{border-radius:14px}.line-target-unlink{background:var(--surface-soft);border-radius:10px;min-width:58px;min-height:44px}.line-linked-account .line-notification-toggle .tap-toggle{min-height:44px}.line-registration-guide{border-radius:12px}.line-primary-action>span{overflow-wrap:anywhere;min-width:0;line-height:1.6}.line-member-link .line-invitation-actions>button{border-radius:11px;font-size:12px}@media (max-width:420px){.line-member-link .line-primary-action{gap:8px;padding-inline:10px;font-size:13px}.line-invitation .line-invitation-person{margin-top:8px}.line-target-unlink{min-width:54px}.line-member-link .line-registration-guide p+p{font-size:12px}}.line-integration-settings>.choice-tabs{border-bottom:1px solid var(--border);margin:0}.line-integration-settings>.choice-tabs>button{flex:1;justify-content:center;min-height:48px}.line-settings-panel{min-width:0;padding-top:20px}.line-settings-panel>.line-setup-notice:first-child{margin-top:0}.line-settings-panel .line-credentials{border-top:0;margin-top:0;padding-top:0}.line-settings-panel .line-credentials>summary,.line-settings-panel .line-setup-guide>summary{background:var(--surface-soft);border-radius:12px;min-height:52px;padding:15px 12px}.line-settings-panel .line-credentials[open]>summary,.line-settings-panel .line-setup-guide[open]>summary{margin-bottom:14px}.line-settings-panel .line-credentials .settings-actions{padding-bottom:8px}.line-settings-panel .line-plan-guidance{margin:18px 0 0;font-size:12px;line-height:1.7}.line-connection-saved{color:var(--primary-strong);align-items:center;gap:7px;margin:12px 0 0;font-size:13px;line-height:1.7;display:flex}.line-connection-saved>svg{flex:none}.line-settings-panel .line-notification-master{border-bottom:1px solid var(--border);padding-bottom:20px}.line-settings-panel .line-notification-master .line-notification-toggle{margin-top:0}.line-settings-panel .line-notification-options{margin-top:22px;margin-bottom:0}.line-settings-panel .line-delivery-status{margin-top:22px}.line-settings-panel .line-setup-steps{margin-top:0}@media (max-width:600px){.line-settings-panel{padding-top:16px}.line-settings-panel .line-credential-fields{gap:16px}.line-settings-panel .line-credentials>summary,.line-settings-panel .line-setup-guide>summary{font-size:13px}.line-settings-panel .line-notification-options-heading{flex-wrap:wrap;align-items:flex-start;gap:5px}.line-settings-panel .line-notification-options-heading h3{font-size:14px}.line-settings-panel .line-notification-option{gap:10px;padding:12px}.line-settings-panel .line-notification-option>div>span{font-size:13px}}.line-integration-settings .feature-switch-control,.line-member-link .feature-switch-control{--button-hover-bg:transparent;--button-press-bg:transparent;--button-press-shadow:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.feature-switch-control[aria-checked=true]>.feature-switch-track{background:var(--primary)}.feature-switch-control[aria-checked=true]>.feature-switch-track:after{transform:translate(18px)}.feature-switch-control:disabled>.feature-switch-track{opacity:.5}@media (prefers-reduced-motion:reduce){.feature-switch-control>.feature-switch-track,.feature-switch-control>.feature-switch-track:after{transition:none}}.app-shell .pdf-creation{background:0 0;border:0;max-width:960px;padding:0}.app-shell .pdf-creation>form{max-width:none;display:block}.app-shell .pdf-creation .choice-tabs{margin-bottom:20px}.pdf-document-controls{border:1px solid var(--border);background:#fff;border-radius:20px;gap:16px;margin:0 0 22px;padding:18px 20px;display:grid}.pdf-document-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.pdf-document-fields>label,.pdf-lecture-selection>label{flex-direction:column;gap:8px;min-width:0;font-size:13px;line-height:1.65;display:flex}.pdf-document-fields>label:only-child{grid-column:1/-1;max-width:440px}.pdf-document-fields .down-select,.pdf-lecture-selection .down-select{width:100%;min-width:0}.pdf-document-controls .billing-month-field{justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0;display:flex}.pdf-document-controls .billing-month-field>span{white-space:nowrap;font-size:13px}.pdf-document-controls .month-toolbar{margin:0}.pdf-lecture-selection .field-hint{margin:9px 0 0;font-size:12px;line-height:1.8}.pdf-live-preview{border:1px solid var(--border);background:#fff;border-radius:18px;width:100%;min-width:0;overflow:hidden}.pdf-preview-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.pdf-preview-toolbar>strong{font-size:13px;line-height:1.6}.pdf-preview-pagination{align-items:center;gap:6px;display:flex}.pdf-preview-pagination>span{font-variant-numeric:tabular-nums;text-align:center;min-width:44px;font-size:12px}.app-shell .pdf-preview-toolbar button{border-radius:10px;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:8px;font-size:12px;display:inline-flex}.pdf-preview-paper{overscroll-behavior:contain;scrollbar-gutter:stable;background:#e9eeec;min-width:0;min-height:300px;max-height:min(72dvh,820px);padding:12px;position:relative;overflow:auto}.pdf-preview-paper>canvas{background:#fff;max-width:none;margin:0 auto;display:block;box-shadow:0 3px 14px #14282321}.pdf-preview-paper>canvas[style*=hidden]{max-height:300px}.pdf-preview-loading{color:var(--text-secondary);justify-content:center;align-items:center;margin:0;padding:24px;font-size:13px;line-height:1.8;display:flex;position:absolute;inset:0}.pdf-preview-paper>.error{text-align:center;background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:230px;padding:30px 20px;font-size:13px;line-height:1.8;display:flex}.pdf-preview-paper>.error p{margin:0}.pdf-preview-paper>.error button{min-height:44px}.app-shell .pdf-download-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:18px;display:flex}.pdf-download-actions>.primary{justify-content:center;align-items:center;gap:8px;min-height:46px;display:inline-flex}.pdf-download-actions>span{color:var(--primary-strong);font-size:12px}.app-shell .financial-document-preview{width:min(900px,100vw - 32px);max-height:var(--dialog-height,calc(100dvh - 32px));padding:22px;overflow:auto}.financial-document-preview .pdf-live-preview{margin-top:16px}.app-shell .financial-document-preview .document-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:0;display:flex}.financial-document-preview .document-actions>button{justify-content:center;align-items:center;gap:7px;min-height:46px;display:inline-flex}@media (max-width:600px){.pdf-document-controls{border-radius:17px;gap:14px;padding:15px 14px}.pdf-document-fields{grid-template-columns:minmax(0,1fr);gap:13px}.pdf-document-fields>label:only-child{max-width:none}.pdf-document-controls .billing-month-field{flex-wrap:wrap}.pdf-preview-toolbar{gap:4px;padding:6px 8px}.pdf-preview-toolbar>strong{font-size:12px}.pdf-preview-pagination{gap:2px}.pdf-preview-pagination>span{min-width:36px}.pdf-preview-toolbar .pdf-preview-zoom{gap:3px;font-size:11px}.pdf-preview-paper{min-height:270px;max-height:65dvh;padding:12px}.app-shell .financial-document-preview{border-radius:20px;width:calc(100vw - 20px);padding:16px 12px}.app-shell .financial-document-preview .document-actions>.primary{order:-1;width:100%}.app-shell .pdf-download-actions{flex-direction:column;align-items:stretch}.pdf-download-actions>.primary{width:100%}.pdf-download-actions>span{text-align:center}}.app-shell .tuition-page :is(.tuition-students,.finance-record-grid){align-items:start;gap:14px}.app-shell .finance-record-card.tuition-charge-card{border-radius:20px;flex-direction:column;align-items:stretch;gap:10px;padding:18px;display:flex}.app-shell .tuition-charge-summary{border:0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0;margin:0;padding:0;display:grid}.app-shell .tuition-charge-identity{min-width:0}.app-shell .tuition-charge-identity h3{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:750;line-height:1.5}.app-shell .tuition-charge-identity p{color:var(--text-secondary);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:3px 8px;margin:4px 0 0;font-size:12px;line-height:1.6;display:flex}.app-shell .tuition-charge-identity .tuition-charge-count{white-space:nowrap;color:var(--primary-strong);font-weight:650}.app-shell .tuition-charge-amount{background:0 0;flex-direction:column;align-items:flex-end;gap:3px;min-width:0;padding:0;display:flex}.app-shell .tuition-charge-amount>span{color:var(--text-secondary);font-size:11px;line-height:1.5}.app-shell .tuition-charge-amount>strong{color:var(--primary-strong);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:25px;font-weight:800;line-height:1.35}.app-shell .tuition-charge-card>.error,.app-shell .tuition-charge-card>.finance-record-meta{margin:0;font-size:12px;line-height:1.6}.app-shell .tuition-charge-card>.tuition-missing-action{gap:8px;min-height:44px;margin:0;padding:9px 11px!important}.app-shell .tuition-charge-card>.tuition-student{background:0 0;border:0;margin:0;padding:0}.app-shell .tuition-charge-card>.tuition-student>summary{border:0;gap:8px;min-height:44px;margin:0;padding:9px 0;font-size:13px;font-weight:600;line-height:1.5}.app-shell .tuition-charge-card .tuition-lessons{padding:0}.app-shell .tuition-charge-card .tuition-lessons>div{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:9px 0;font-size:12px;line-height:1.6;display:grid}.app-shell .tuition-charge-card .tuition-lessons>div>span{overflow-wrap:anywhere;min-width:0}.app-shell .tuition-charge-card .tuition-lessons>div>strong{white-space:nowrap;font-size:12px;line-height:1.6}.app-shell .tuition-charge-card .tuition-lessons small{margin-top:2px;font-size:11px;line-height:1.6}.app-shell .tuition-charge-card>.finance-record-actions{border-top:1px solid rgb(var(--theme-rgb)/.08);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;margin:0;padding:10px 0 0;display:grid}.app-shell .tuition-charge-card>.finance-record-actions>button{white-space:normal;border-radius:11px;justify-content:center;align-self:stretch;align-items:center;gap:6px;width:100%;min-width:0;min-height:44px;margin:0;padding:9px 8px;font-size:12px;line-height:1.5;display:inline-flex}.app-shell .tuition-charge-card>.finance-record-actions>button:only-child{grid-column:1/-1}.app-shell .tuition-charge-card>.finance-record-actions>.financial-record-state{background:var(--tint);color:var(--primary-strong);border:0}.app-shell .tuition-charge-card>.finance-record-actions>.financial-record-state.is-final{color:#13724a;background:#edf9f1}.app-shell .tuition-charge-card>.finance-record-actions.tuition-charge-actions-three{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell .tuition-page .finance-total-card{border-radius:16px;gap:10px;margin-bottom:12px;padding:14px 16px}.app-shell .tuition-page .finance-total-icon{border-radius:12px;width:38px;height:38px}.app-shell .tuition-page .finance-total-card>strong{white-space:nowrap;font-size:26px}.app-shell .tuition-page .tuition-panel>.field-hint{margin:8px 0;font-size:12px;line-height:1.6}.app-shell .tuition-page .tuition-panel>.error{margin:8px 0 12px;font-size:12px;line-height:1.6}@media (max-width:600px){.app-shell .finance-record-card.tuition-charge-card{border-radius:18px;gap:8px;padding:15px 14px}.app-shell .tuition-charge-summary{gap:10px}.app-shell .tuition-charge-identity h3{font-size:17px}.app-shell .tuition-charge-amount>strong{font-size:23px}.app-shell .tuition-charge-card>.finance-record-actions{gap:6px;padding-top:8px}.app-shell .tuition-charge-card>.finance-record-actions>button{padding-inline:6px;font-size:12px}.app-shell .tuition-page .finance-total-card{padding:12px}.app-shell .tuition-page .finance-total-card>strong{font-size:24px}}@media (max-width:359px){.app-shell .tuition-charge-summary{grid-template-columns:minmax(0,1fr);gap:6px}.app-shell .tuition-charge-amount{flex-direction:row;justify-content:space-between;align-items:baseline;gap:10px}.app-shell .tuition-charge-card>.finance-record-actions.tuition-charge-actions-three{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .tuition-charge-actions-three>.financial-document-button{grid-column:1/-1}}.finance-attention-notice{color:#75551c;background:#fff8e8;border:1px solid #ead7a8;border-radius:15px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:14px 0;padding:12px 14px;font-size:13px;line-height:1.7;display:flex}.finance-attention-notice>span{align-items:center;gap:9px;display:inline-flex}.finance-attention-notice strong{font-variant-numeric:tabular-nums;font-size:18px}.app-shell .finance-attention-notice button{color:#75551c;background:#fff;border:1px solid #e3c786;border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:9px 13px;font-size:12px;font-weight:650;display:inline-flex}.finance-attention-badge{white-space:nowrap;color:#75551c;background:#fff1ca;border-radius:8px;align-items:center;padding:5px 9px;font-size:11px;font-weight:650;line-height:1.6;display:inline-flex}.salary-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.lecture-missing-prices{margin-bottom:20px}.lecture-missing-price-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.app-shell .lecture-missing-price-card{border:1px solid var(--border);text-align:left;background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:72px;padding:14px 15px;display:flex}.lecture-missing-price-card>span:first-child{gap:5px;min-width:0;display:grid}.lecture-missing-price-card strong{overflow-wrap:anywhere;font-size:14px;line-height:1.6}.lecture-missing-price-card small{color:var(--text-secondary);font-size:12px;line-height:1.6}.lecture-missing-price-card>span:last-child{color:var(--primary-strong);flex:none;font-size:12px;font-weight:650}.attention-load-error{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.attention-load-error button{min-height:44px}@media (max-width:600px){.finance-attention-notice{gap:8px;padding:11px 12px;font-size:12px}.lecture-missing-price-list{grid-template-columns:minmax(0,1fr)}}:root{--qulass-font-sans:"Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic UI",Meiryo,sans-serif;--qulass-font-mono:ui-monospace,SFMono-Regular,Consolas,monospace;font-family:var(--qulass-font-sans)}.app-shell,.login.qulass-signin,.login-loading-screen,.down-select-popup{font-family:var(--qulass-font-sans);font-kerning:normal;-webkit-font-smoothing:antialiased}.app-shell{--ui-radius:12px;--ui-control-radius:10px;--premium-edge:#1b2d4521;--premium-shadow:0 2px 8px #0b1a2d06,0 12px 28px #0b1a2d09;--navigation-bg:var(--surface,#f3f6f8);--navigation-hover:#e5edf3;--navigation-ink:#314760;--navigation-muted:#60748b;color:var(--text,#19283b)}.app-shell .system-brand>span:first-child{letter-spacing:.12em;font-weight:600}.app-shell .system-brand-description{letter-spacing:.035em}.app-shell .sidebar{background:var(--navigation-bg);color:var(--navigation-ink);border-right:1px solid #d7e1e9;box-shadow:5px 0 24px #0b1a2d06}.app-shell .sidebar .system-brand{color:#1a2c42}.app-shell .sidebar .system-brand-description{color:var(--navigation-muted)}.app-shell .sidebar nav>button{letter-spacing:.025em;border-radius:9px;font-weight:600}.app-shell .sidebar nav>button:not(.nav-active){color:var(--navigation-ink);--button-hover-bg:var(--navigation-hover);--button-hover-color:#1a2c42;--button-press-bg:#dce7ef;--button-press-color:#1a2c42;--button-press-shadow:none}.app-shell .sidebar nav>button.nav-active{background:var(--primary);color:var(--primary-ink);font-weight:700}.app-shell .sidebar nav>button:not(.nav-active)>svg{color:#536b83}.app-shell .sidebar .profile{color:var(--navigation-ink);border-top-color:#d6e0e8}.app-shell .sidebar .profile small{color:var(--navigation-muted)}.app-shell .sidebar .profile-school,.app-shell .mobile-menu-sheet>.profile-school{color:var(--navigation-ink);--button-hover-bg:var(--navigation-hover);--button-hover-color:#1a2c42;--button-press-bg:#dce7ef;--button-press-color:#1a2c42;--button-press-shadow:none;border-top-color:#d6e0e8}.app-shell .sidebar .profile-school>svg,.app-shell .mobile-menu-sheet>.profile-school>svg{color:var(--navigation-muted)}@media (hover:hover) and (pointer:fine){.app-shell .sidebar .profile-school:hover,.app-shell .mobile-menu-sheet>.profile-school:hover{background:var(--navigation-hover)}}.app-shell .topbar{background:var(--surface,#f3f6f8);border-bottom:1px solid var(--premium-edge);box-shadow:0 4px 18px #0b1a2d06}.app-shell .topbar .persistent-school-name{color:#1a2c42;letter-spacing:.025em;font-weight:700}.app-shell .page-head h1{color:#1a2c42;letter-spacing:.025em;font-size:26px;font-weight:700}.app-shell :is(.management-detail h2,.settings-body>h2,.finance-inline-panel .settings-body>h2){letter-spacing:.02em;font-weight:650}.app-shell :is(.student-roster-card h2,.teacher-roster-card h2,.meeting-card-content>strong,.proposal-card-main>strong,.reschedule-card h2){letter-spacing:.015em;font-weight:650}.app-shell :is(.student-roster-card,.teacher-roster-card,.shift-teacher-card,.course-catalog-row,.lecture-plan-card,.fee-plan-row,.location-card,.meeting-card-entry,.proposal-list-entry,.reschedule-card,.finance-record-card),.app-shell :is(.management-detail,.finance-inline-panel,.proposal-form-panel){border-color:var(--premium-edge);box-shadow:var(--premium-shadow);border-radius:12px}.app-shell .management-home .management-link{border-color:var(--premium-edge);border-radius:12px;box-shadow:0 3px 14px #0b1a2d06}.app-shell .management-icon-tile,.app-shell :is(.student-roster-card,.teacher-roster-card) .member-card-overview,.app-shell .teacher-roster-card .member-card-metrics>div{border-radius:12px}.app-shell :is(.student-avatar,.teacher-avatar){border-radius:11px;font-weight:600}.app-shell :is(.management-home .management-link strong,.finance-record-heading h2,.salary-card-heading h2,.tuition-charge-identity h3){font-weight:650}.app-shell :is(.calendar-card,.lecture-month),.app-shell .plain-calendar .calendar-card{border-color:var(--premium-edge);box-shadow:var(--premium-shadow);border-radius:0}.app-shell :is(.month-board .day-cell,.month-day-target,.closure-day-target,.lecture-days>button),.app-shell .month-board .day-cell.is-today:after{border-radius:0}.app-shell .plain-calendar .calendar-toolbar{border-bottom:1px solid #1b2d450d}.app-shell .plain-calendar .month-select-trigger{letter-spacing:-.015em;font-weight:650}.app-shell .plain-calendar .board-date>.icon-button{border-radius:10px}.app-shell .plain-calendar .weekdays{letter-spacing:.04em;font-weight:600}.app-shell .plain-calendar .day-cell{border-color:#1b2d451f}.app-shell .plain-calendar .day-number{font-weight:650}.app-shell .calendar-card .weekdays>span,.app-shell .lecture-month .lecture-weekdays>span{color:#506278}.app-shell .calendar-card .weekdays>:nth-child(6),.app-shell .lecture-month .lecture-weekdays>:nth-child(6){color:#4c7094}.app-shell .calendar-card .weekdays>:nth-child(7),.app-shell .lecture-month .lecture-weekdays>:nth-child(7){color:#9d5863}.app-shell .plain-calendar .month-board .day-number{color:#34465a}.app-shell .plain-calendar .month-board .day-cell:not(.is-school-closed):nth-child(7n+6) .day-number{color:#4c7094}.app-shell .plain-calendar .month-board .day-cell:not(.is-school-closed):nth-child(7n) .day-number{color:#9d5863}.app-shell .plain-calendar .day-time-range{color:#344b63}.app-shell .plain-calendar :is(.day-event-counts,.personal-day-count)>span,.app-shell .plain-calendar :is(.day-event-counts,.personal-day-count) small{color:#526378}.app-shell .plain-calendar .day-event-counts b{font-weight:700}.app-shell :is(.month-select-trigger,.day-number,.day-time-range,.day-event-counts,.member-monthly-count,.member-card-metrics,.finance-amount-grid,.tuition-charge-amount,.salary-three-metrics,.shift-entered-range){font-variant-numeric:tabular-nums lining-nums}.app-shell .primary{border-radius:10px;font-weight:650;box-shadow:0 1px 2px #0b1a2d14}.app-shell :is(.management-panel,.student-roster-panel,.plain-calendar) .primary{border-radius:10px;box-shadow:0 1px 2px #0b1a2d14}.app-shell :is(.student-roster-card,.teacher-roster-card) .member-card-actions>.member-main-action{border-radius:10px}.app-shell .choice-tabs.choice-tabs{border-bottom-color:var(--premium-edge)}.app-shell .choice-tabs.choice-tabs>button{letter-spacing:.015em;font-weight:550}.app-shell .choice-tabs.choice-tabs>button[aria-selected=true]{font-weight:650}.app-shell .modal-backdrop{background:#070b1257}.app-shell .topbar .top-right{top:0;bottom:0;transform:none}.app-shell .topbar:has(.modal-backdrop){z-index:250}.app-shell .topbar .modal-backdrop{color:var(--text);font-size:14px}.app-shell .topbar .modal header .icon-button{width:44px;min-width:44px;height:44px;min-height:44px}.app-shell .modal:not(.day-details){border:1px solid #ffffffa6;border-radius:14px;box-shadow:0 18px 70px #07122129}.app-shell .modal h2{letter-spacing:.02em;font-weight:650}.app-shell .modal .modal-actions>button,.app-shell .modal:not(.day-details) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=hidden]){border-radius:10px}.down-select-popup{box-shadow:0 8px 28px #0b1a2d1a}.qulass-signin .signin-wordmark strong{font-weight:550}.login.qulass-signin .signin-heading h1{letter-spacing:.02em;font-weight:600}.login.qulass-signin .login-card.signin-card{box-shadow:0 4px 16px #0b1a2d06,0 20px 52px #0b1a2d09}.login.qulass-signin .login-button{font-weight:650}.login-loading-caption{font-family:var(--qulass-font-mono)}@media (max-width:760px){.app-shell .page-head h1{font-size:22px}.app-shell .plain-calendar .calendar-card{border-radius:0}.app-shell :is(.student-roster-card,.teacher-roster-card,.reschedule-card,.finance-record-card){border-radius:12px}.app-shell .topbar .persistent-school-name{letter-spacing:.015em}.app-shell.calendar-first .bottom-nav{background:var(--navigation-bg);-webkit-backdrop-filter:none;backdrop-filter:none;border-top:1px solid #d7e1e9;box-shadow:0 -5px 24px #0b1a2d0d}.app-shell .bottom-nav>button{border-radius:9px;font-weight:600}.app-shell .bottom-nav>button:not(.active){color:var(--navigation-ink);--button-hover-bg:var(--navigation-hover);--button-hover-color:#1a2c42;--button-press-bg:#dce7ef;--button-press-color:#1a2c42;--button-press-shadow:none}.app-shell .bottom-nav>button.active{background:var(--primary);color:var(--primary-ink)}.app-shell .mobile-menu-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#070b1257}.app-shell .mobile-menu-sheet{background:var(--navigation-bg);color:var(--navigation-ink);border:1px solid #d7e1e9;border-bottom:0;border-radius:14px 14px 0 0;box-shadow:0 -18px 50px #0b1a2d1f}.app-shell .mobile-menu-sheet>header h2{color:#1a2c42;font-weight:650}.app-shell .mobile-menu-sheet>header>.icon-button,.app-shell .mobile-menu-sheet>div>button:not([aria-current=page]){color:var(--navigation-ink);--button-hover-bg:var(--navigation-hover);--button-hover-color:#1a2c42;--button-press-bg:#dce7ef;--button-press-color:#1a2c42;--button-press-shadow:none}.app-shell .mobile-menu-sheet>div>button{border-radius:9px;font-weight:600}.app-shell .mobile-menu-sheet>div>button[aria-current=page]{background:var(--primary);color:var(--primary-ink)}}.app-shell .plain-calendar{--calendar-cell-height:76px;--calendar-cell-padding:7px 9px;--calendar-content-gap:3px;--calendar-date-height:20px;--calendar-count-width:66px;--calendar-count-size:13px;--calendar-label-size:10px;--calendar-count-height:12px;--calendar-time-height:13px}.app-shell .plain-calendar .month-board.compact-counts .day-cell{height:var(--calendar-cell-height);min-height:var(--calendar-cell-height);padding:0}.app-shell .plain-calendar .compact-counts .month-day-target{padding:var(--calendar-cell-padding);gap:var(--calendar-content-gap)}.app-shell .plain-calendar .compact-counts .day-date-line{height:var(--calendar-date-height);min-height:var(--calendar-date-height);gap:3px}.app-shell .plain-calendar .compact-counts .day-number{width:var(--calendar-date-height);height:var(--calendar-date-height);line-height:var(--calendar-date-height)}.app-shell .plain-calendar :is(.day-event-counts>span,.personal-day-count){width:100%;max-width:var(--calendar-count-width);height:var(--calendar-count-height);line-height:var(--calendar-count-height);justify-content:space-between;align-items:center;gap:3px;display:flex}.app-shell .plain-calendar :is(.day-event-counts,.personal-day-count) small{color:#526378;font-size:var(--calendar-label-size);line-height:var(--calendar-count-height);white-space:nowrap;font-weight:500}.app-shell .plain-calendar :is(.day-event-counts,.personal-day-count) b{color:var(--primary-strong);font-size:var(--calendar-count-size);line-height:var(--calendar-count-height);font-variant-numeric:tabular-nums;font-weight:700}.app-shell .plain-calendar .personal-day-summary{flex-direction:column;gap:1px;width:100%;min-width:0;margin-top:0;display:flex}.day-time-range{grid-template-columns:max-content max-content;grid-template-rows:var(--calendar-time-height,13px) var(--calendar-time-height,13px);width:100%;font-size:12px;font-weight:600;line-height:var(--calendar-time-height,13px);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:0;justify-content:start;align-items:center;gap:0;display:grid}.day-time-range time:first-child{grid-area:1/1}.day-time-range>span{grid-area:1/2;font-size:10px}.day-time-range time:last-child{grid-area:2/1}.day-meeting-icon,.day-office-icon{color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.day-calendar-markers{flex:none;justify-content:center;align-items:center;height:100%;display:inline-flex}.app-shell .plain-calendar .day-calendar-markers :is(.day-meeting-icon,.day-office-icon,.day-status-icon){justify-content:center;align-items:center;margin:0;display:inline-flex;position:static}.app-shell .plain-calendar .day-calendar-markers svg{width:14px;height:14px}.app-shell .plain-calendar .day-calendar-markers:has(>:nth-child(2)){grid-template-rows:repeat(2,minmax(0,1fr));display:grid}.app-shell .plain-calendar .day-calendar-markers:has(>:nth-child(2)) svg{width:10px;height:10px}.app-shell .plain-calendar .calendar-loading .calendar-loading-day{padding:var(--calendar-cell-padding)}@media (max-width:760px){.app-shell .plain-calendar{--calendar-cell-height:64px;--calendar-cell-padding:4px 3px;--calendar-content-gap:1px;--calendar-date-height:18px;--calendar-count-width:40px;--calendar-count-size:11px;--calendar-time-height:11px}.app-shell .plain-calendar .day-time-range{font-size:11px}.app-shell .plain-calendar .day-time-range>span{font-size:9px}.app-shell .plain-calendar .day-calendar-markers svg{width:12px;height:12px}.app-shell .plain-calendar .day-calendar-markers:has(>:nth-child(2)) svg{width:9px;height:9px}.app-shell .plain-calendar .compact-counts .is-school-closed .day-date-line{gap:2px}.app-shell .plain-calendar .compact-counts .is-school-closed .day-number{width:16px}.app-shell .plain-calendar .is-school-closed .day-calendar-markers svg{width:10px;height:10px}.app-shell .plain-calendar .is-school-closed .day-calendar-markers:has(>:nth-child(2)) svg{width:9px;height:9px}}@media (max-width:360px){.app-shell .plain-calendar .day-time-range{font-size:10px}.app-shell .plain-calendar .day-time-range>span{font-size:8px}.app-shell .plain-calendar .compact-counts .is-school-closed .day-date-line{gap:1px}.app-shell .plain-calendar .compact-counts .is-school-closed .day-number{width:14px}.app-shell .plain-calendar .is-school-closed .day-calendar-markers svg{width:8px;height:8px}}
