.sp-app,.tb-noti{--sp-blue:#3d5ee8;--sp-blue-ink:#2443b8;--sp-blue-soft:#eef2fd;--sp-blue-line:#c9d4f7;--sp-side:#23335a;--sp-bg:#f3f5fa;--sp-ink:#1d2640;--sp-copy:#3a4460;--sp-sub:#5d6780;--sp-muted:#6b7489;--sp-faint:#a3abbd;--sp-line:#e6eaf2;--sp-line-2:#f0f2f7;--sp-field:#d5dbe7;--sp-fill:#f7f8fb;--sp-red:#c4170e;--sp-dot:#ff3b30;--sp-red-soft:#ffe5e3}.sp-app{background:var(--sp-bg);height:100dvh;min-height:560px;color:var(--sp-ink);font-family:PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.5;display:flex;position:relative;overflow:hidden}.sp-app *,.sp-app :before,.sp-app :after{box-sizing:border-box}:where(.sp-app) button{color:inherit;font-family:inherit}.sp-app h1,.sp-app h2,.sp-app h3,.sp-app p,.sp-app dl,.sp-app dd,.sp-app ol{margin:0}.sp-app .is-red{color:var(--sp-red)!important}.sp-side{background:var(--sp-side);color:#c9d3ea;flex-direction:column;flex:0 0 232px;gap:2px;height:100%;padding:20px 12px;display:flex;overflow-y:auto}.sp-brand{align-items:center;gap:10px;padding:0 8px 16px;display:flex}.sp-brand img{border-radius:50%;width:40px;height:40px}.sp-brand span{flex-direction:column;gap:2px;display:flex}.sp-brand b{color:#fff;font-size:16px;font-weight:600}.sp-brand small{color:#9fb0d4;letter-spacing:1.5px;font-size:12px}.sp-side nav{flex-direction:column;gap:2px;display:flex}.sp-side hr{background:#ffffff29;border:0;height:1px;margin:12px 8px}.sp-nav{color:#c9d3ea;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;font-size:14px;display:flex}.sp-nav span{flex-grow:1}.sp-nav b{background:#ffffff29;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:600;display:grid}.sp-nav:hover{background:#ffffff12}.sp-nav.is-on{color:#fff;background:#ffffff24;font-weight:600}.sp-dot{background:var(--sp-dot);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.sp-rail{background:var(--sp-side);flex-direction:column;flex-shrink:0;align-items:center;gap:4px;width:76px;height:100%;padding:14px 8px;display:none;overflow-y:auto}.sp-rail>img{border-radius:50%;width:40px;height:40px;margin-bottom:10px}.sp-rail-btn{color:#c9d3ea;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:60px;height:56px;font-size:12px;display:flex}.sp-rail-btn.is-on{color:#fff;background:#ffffff24;font-weight:600}.sp-rail-icon{display:flex;position:relative}.sp-rail-icon .sp-dot{position:absolute;top:-2px;right:-4px}.sp-body{flex-direction:column;flex:1 1 0;min-width:0;height:100%;display:flex}.sp-top{border-bottom:1px solid var(--sp-line);background:#fff;flex-shrink:0;align-items:center;gap:12px;height:64px;padding:0 24px;display:flex}.sp-crumbs{min-width:0;color:var(--sp-muted);flex-grow:1;align-items:center;gap:8px;display:flex}.sp-crumbs h1{color:var(--sp-ink);font-size:14px;font-weight:600}.sp-crumbs i{font-style:normal}.sp-pop-anchor{position:relative}.sp-bell{border:1px solid var(--sp-line);width:40px;height:40px;color:var(--sp-copy);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.sp-bell.is-phone{background:0 0;border:0;width:44px;height:44px}.sp-bell-n{background:var(--sp-dot);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:12px;font-weight:700;display:flex;position:absolute;top:2px;right:2px}.sp-me{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 0 0 8px;display:flex}.sp-avatar{background:var(--sp-blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-weight:600;display:flex}.sp-me-text{flex-direction:column;gap:2px;display:flex}.sp-me-text b{font-size:14px;font-weight:600}.sp-me-text small{color:var(--sp-sub);font-size:12px}.sp-pop{z-index:40;border:1px solid var(--sp-line);background:#fff;border-radius:12px;flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 32px #1d264024}.sp-pop>button,.sp-pop>a{color:var(--sp-ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.sp-pop>button:hover,.sp-pop>a:hover{background:var(--sp-fill)}.sp-pop small{color:var(--sp-muted);font-size:12px}.sp-pop p{color:var(--sp-muted);padding:14px 12px;font-size:13px}.sp-ptop{border-bottom:1px solid var(--sp-line);background:#fff;flex-shrink:0;align-items:center;gap:4px;height:52px;padding:0 8px 0 16px;display:none}.sp-ptop h1{flex-grow:1;font-size:18px;font-weight:700}.sp-main{overscroll-behavior:contain;flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.sp-tabs{border-top:1px solid var(--sp-line);background:#fff;flex-shrink:0;grid-template-columns:repeat(5,minmax(0,1fr));height:62px;padding-bottom:6px;display:none}.sp-tabs button{color:var(--sp-sub);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;display:flex}.sp-tabs button.is-on{color:#2a46c4;font-weight:600}.sp-card{border:1px solid var(--sp-line);background:#fff;border-radius:16px;padding:16px 20px;box-shadow:0 2px 10px #1d26400f}.sp-card-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.sp-card-head h2{flex-grow:1;font-size:16px;font-weight:600}.sp-card-head>span{color:var(--sp-sub);font-size:13px}.sp-btn{border:1px solid var(--sp-field);height:34px;color:var(--sp-ink);white-space:nowrap;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.sp-btn:hover:not(:disabled){border-color:#b8c1d4}.sp-btn:disabled{opacity:.55;cursor:default}.sp-btn.is-icon{width:34px;padding:0;font-size:16px}.sp-btn.is-main{background:var(--sp-blue);color:#fff;border:0;height:38px;padding:0 16px;font-size:14px;font-weight:600}.sp-btn.is-main:hover:not(:disabled){background:#2a46c4}.sp-btn.is-line{border-color:var(--sp-blue);color:var(--sp-blue-ink);font-weight:600}.sp-link{color:var(--sp-blue-ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:13px}.sp-seg{background:#e8ecf4;border-radius:10px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:3px;display:inline-grid}.sp-seg button{color:#4a5470;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;height:30px;padding:0 14px;font-size:13px}.sp-seg button.is-on{color:var(--sp-ink);background:#fff;font-weight:600}.sp-seg button:disabled{cursor:default}.sp-seg button:disabled:not(.is-on){color:var(--sp-faint)}.sp-seg.is-big{align-self:flex-start}.sp-seg.is-big button{height:36px;padding:0 20px;font-size:14px}.sp-pill{border:1px solid var(--sp-field);min-height:32px;color:var(--sp-copy);cursor:pointer;background:#fff;border-radius:16px;padding:4px 12px;font-size:13px}.sp-pill.is-on{border-color:var(--sp-blue);background:var(--sp-blue-soft);color:var(--sp-blue-ink);font-weight:600}.sp-pill:disabled{cursor:default}.sp-pill:disabled:not(.is-on){border-color:var(--sp-line);color:var(--sp-faint)}.sp-tag{color:var(--sp-sub);white-space:nowrap;background:#f1f3f7;border-radius:6px;padding:1px 7px;font-size:12px;font-style:normal}.sp-tag.is-strong{color:var(--sp-copy);padding:2px 8px;font-weight:600}.sp-chip{white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:12px}.sp-empty{color:var(--sp-muted);padding:14px 0 6px;font-size:13px}.sp-muted{color:var(--sp-muted);white-space:nowrap;font-size:12px}.sp-muted.is-red{color:var(--sp-red)}.sp-more{color:var(--sp-blue-ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 0 2px;font-size:13px}.sp-blank{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px 20px;display:flex}.sp-blank b{font-size:14px;font-weight:600}.sp-blank span{color:var(--sp-sub);font-size:13px}.sp-note{background:var(--sp-fill);color:var(--sp-sub);border-radius:10px;margin-bottom:6px;padding:10px 12px;font-size:13px}.sp-phone-only{display:none!important}.sp-k-cls{background:#8fa6f5}.sp-k-one{background:var(--sp-side)}.sp-k-talk,.sp-k-exam{background:#b8c1d4}.sp-k-due{background:var(--sp-dot)}.sp-c-cls{background:var(--sp-blue-soft);color:var(--sp-blue-ink)}.sp-c-one{color:var(--sp-side);background:#e8ebf3}.sp-c-talk,.sp-c-exam{color:var(--sp-copy);background:#f1f3f7}.sp-c-due{background:var(--sp-red-soft);color:var(--sp-red)}.sp-main.is-home{flex-direction:column;display:flex;overflow:hidden}.sp-home{flex:1;grid-template-columns:minmax(0,1fr) 340px;gap:16px;min-height:0;display:grid}.sp-home-left{flex-direction:column;gap:16px;min-height:0;display:flex}.sp-home-right{flex-direction:column;gap:16px;min-height:0;display:flex;overflow-y:auto}.sp-home-right>.sp-card{flex-shrink:0}.sp-hello{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px 24px;display:flex}.sp-hello-text{flex-direction:column;flex:240px;gap:4px;display:flex}.sp-hello-text b{font-size:18px;font-weight:700}.sp-hello-text span{color:var(--sp-sub);font-size:13px}.sp-hello-nums{gap:28px;display:flex}.sp-hello-nums div{flex-direction:column;gap:2px;display:flex}.sp-hello-nums span{color:var(--sp-sub);font-size:12px}.sp-hello-nums b{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.sp-cal{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.sp-cal-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-cal-head h2{font-size:16px;font-weight:600}.sp-cal-range{color:var(--sp-sub);flex-grow:1}.sp-cal-head .sp-seg{margin-left:4px}.sp-week{flex-shrink:0;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.sp-wday{cursor:pointer;background:#fafbfd;border:1px solid #eef1f6;border-radius:12px;flex-direction:column;align-items:center;gap:2px;min-height:68px;padding:6px 2px;display:flex}.sp-wday small{color:var(--sp-muted);font-size:12px}.sp-wday b{font-size:18px;font-weight:600}.sp-wday b.is-weekend{color:#c53b3b}.sp-wday em{min-height:16px;color:var(--sp-blue);font-size:12px;font-style:normal}.sp-wday em.is-red{color:var(--sp-red);font-weight:600}.sp-wday.is-today{border:1.5px solid var(--sp-blue);background:#fff}.sp-wday.is-sel{border-color:var(--sp-blue);background:var(--sp-blue)}.sp-wday.is-sel small,.sp-wday.is-sel em{color:#ffffffe6}.sp-wday.is-sel b{color:#fff}.sp-month{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.sp-month-head{color:var(--sp-muted);text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));font-size:12px;display:grid}.sp-month-head .is-weekend{color:#c53b3b}.sp-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.sp-mday{cursor:pointer;background:#fafbfd;border:1px solid #eef1f6;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:3px;height:50px;padding:4px 0;display:flex}.sp-mday.is-out{cursor:default;background:0 0;border:0}.sp-mday b{font-size:14px;font-weight:600}.sp-mday b.is-weekend{color:#c53b3b}.sp-mday.is-today{border:1.5px solid var(--sp-blue);background:#fff}.sp-mday.is-sel{border-color:var(--sp-blue);background:var(--sp-blue)}.sp-mday.is-sel b{color:#fff}.sp-dots{gap:3px;height:6px;display:flex}.sp-dots i{border-radius:50%;width:6px;height:6px}.sp-mday.is-sel .sp-dots i{box-shadow:0 0 0 1px #fff}.sp-day{border-top:1px solid #eef1f6;flex-direction:column;flex:1;min-height:0;padding-top:10px;display:flex;overflow-y:auto}.sp-day-head{align-items:baseline;gap:8px;padding-bottom:2px;display:flex}.sp-day-head b{font-size:16px;font-weight:700}.sp-day-head span{color:var(--sp-sub);font-size:13px}.sp-day-row{border-top:1px solid var(--sp-line-2)}.sp-day-row.is-dim{opacity:.55}.sp-day-main{align-items:center;gap:12px;min-height:56px;display:flex}.sp-day-time{font-variant-numeric:tabular-nums;flex-shrink:0;width:96px;font-size:13px;font-weight:600}.sp-day-bar{border-radius:2px;align-self:stretch;width:3px;margin:9px 0}.sp-day-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-day-text b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.sp-day-text small{color:var(--sp-muted);overflow-wrap:anywhere;font-size:12px}.sp-day-empty{border-top:1px solid var(--sp-line-2);color:var(--sp-muted);text-align:center;padding:18px;font-size:13px}.sp-leave{flex-wrap:wrap;gap:8px;padding:0 0 12px 111px;display:flex}.sp-leave input{border:1px solid var(--sp-field);height:34px;font:inherit;border-radius:8px;flex:200px;padding:0 10px;font-size:13px}.sp-leave .sp-btn.is-main{height:34px;font-size:13px}.sp-cal-foot{border-top:1px solid #eef1f6;flex-direction:column;flex-shrink:0;gap:4px;padding-top:8px;display:flex}.sp-legend{color:var(--sp-sub);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.sp-legend>span{align-items:center;gap:5px;display:flex}.sp-legend>span i{border-radius:2px;width:8px;height:8px}.sp-legend .sp-link{margin-left:auto}.sp-classes{flex-direction:column;display:flex}.sp-classes>div{border-top:1px solid var(--sp-line-2);flex-wrap:wrap;align-items:center;gap:4px 16px;padding:10px 0;display:flex}.sp-classes>div>div{flex-direction:column;flex:220px;gap:2px;min-width:0;display:flex}.sp-classes b{font-size:14px;font-weight:600}.sp-classes small{color:var(--sp-muted);font-size:12px}.sp-classes>div>span{color:var(--sp-copy);font-size:13px}.sp-classes>div.is-dim b,.sp-classes>div.is-dim>span{color:var(--sp-muted)}.sp-list{flex-direction:column;gap:4px;display:flex}.sp-todo{border-top:1px solid var(--sp-line-2);align-items:center;gap:10px;min-height:52px;display:flex}.sp-todo>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-todo b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.sp-todo small{color:var(--sp-sub);font-size:12px}.sp-todo.is-done b{color:var(--sp-muted);text-decoration:line-through}.sp-box{cursor:pointer;background:#fff;border:1.5px solid #b8c1d4;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;padding:0;display:grid}.sp-box svg{opacity:0}.sp-todo.is-done .sp-box{border-color:var(--sp-blue);background:var(--sp-blue)}.sp-todo.is-done .sp-box svg{opacity:1}button.sp-exam{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;padding:0}button.sp-exam:hover b{color:var(--sp-blue-ink)}.sp-exam>svg{color:var(--sp-faint);flex-shrink:0}.sp-exam.is-dim b{color:var(--sp-muted);font-weight:400}.sp-exam-mark{flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.sp-exam-mark i{background:var(--sp-blue);border-radius:50%;width:8px;height:8px}.sp-exam-days{color:var(--sp-sub);flex-shrink:0;align-items:baseline;gap:2px;font-size:12px;display:flex}.sp-exam-days b{color:var(--sp-ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.sp-exam-days.is-red b{color:var(--sp-red)}.sp-exam-dl{flex-direction:column;margin:0;display:flex}.sp-exam-dl>div{border-bottom:1px solid var(--sp-line-2);grid-template-columns:72px minmax(0,1fr);gap:12px;padding:8px 0;font-size:14px;display:grid}.sp-exam-dl dt{color:var(--sp-sub);font-size:13px}.sp-exam-dl dd{margin:0;font-weight:600}.sp-exam-note{background:var(--sp-fill);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.6}.sp-sheet-foot.sp-exam-foot{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sp-exam-foot .sp-btn{width:100%;height:48px;font-size:16px}.sp-exam-foot .sp-btn.is-picked{border-color:var(--sp-blue);background:var(--sp-blue-soft);color:var(--sp-blue-ink);font-weight:600}.sp-due{border-top:1px solid var(--sp-line-2);align-items:center;gap:10px;min-height:50px;display:flex}.sp-due>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-due b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.sp-due small{color:var(--sp-muted);font-size:12px}.sp-due em{white-space:nowrap;font-size:13px;font-style:normal;font-weight:700}.sp-talk{flex-direction:column;gap:8px;display:flex}.sp-talk>small{color:var(--sp-sub);font-size:12px}.sp-talk>p{-webkit-line-clamp:3;white-space:pre-line;-webkit-box-orient:vertical;font-size:14px;line-height:1.7;display:-webkit-box;overflow:hidden}.sp-wishsum{flex-direction:column;gap:10px;display:flex}.sp-wishsum-nums{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sp-wishsum-nums div{background:var(--sp-fill);border-radius:10px;padding:8px 4px}.sp-wishsum-nums b{font-size:22px;font-weight:700;display:block}.sp-wishsum-nums small{color:var(--sp-sub);font-size:12px}.sp-matchpage{flex-direction:column;gap:14px;display:flex}.sp-match{flex-direction:column;gap:16px;display:flex}.sp-scores{flex-direction:column;gap:16px;padding:18px 20px;display:flex}.sp-scores-head{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.sp-scores-head h2{font-size:16px;font-weight:600}.sp-scores-head>span{color:var(--sp-sub);flex-grow:1;font-size:12px}.sp-scores-head .sp-seg{width:220px}.sp-scores-opts{flex-wrap:wrap;align-items:center;gap:10px 20px;display:flex}.sp-opt{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-opt>span,.sp-frow>span{color:var(--sp-copy);font-size:13px;font-weight:600}.sp-opt .sp-seg{width:150px}.sp-score-grid{grid-template-columns:repeat(var(--sp-cols,6), minmax(0, 1fr));gap:10px;display:grid}.sp-score{flex-direction:column;gap:4px;min-width:0;display:flex}.sp-score>span{color:var(--sp-sub);justify-content:space-between;gap:6px;font-size:12px;display:flex}.sp-score>span b{color:var(--sp-copy);white-space:nowrap;font-weight:600}.sp-score>span small{white-space:nowrap}.sp-score input{width:100%;height:38px;color:var(--sp-ink);font:inherit;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #c9d0de;border-radius:8px;padding:0 10px;font-size:16px}.sp-score input:read-only{border-color:var(--sp-line);background:var(--sp-fill);color:var(--sp-copy)}.sp-score-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.sp-en{border:1px solid #eef1f6;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 14px;display:flex}.sp-en>div{flex-direction:column;gap:6px;display:flex}.sp-en-title{color:var(--sp-copy);font-size:13px;font-weight:600}.sp-en .sp-score{flex:140px}.sp-total{background:var(--sp-fill);border-radius:12px;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;display:flex}.sp-total>div{align-items:baseline;gap:8px;display:flex}.sp-total>div span{color:var(--sp-sub);flex-grow:1;font-size:13px}.sp-total>div b{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.sp-total>div small,.sp-total>small{color:var(--sp-muted);font-size:13px}.sp-total>small{font-size:12px;line-height:1.5}.sp-filters{border-top:1px solid #eef1f6;flex-direction:column;gap:12px;padding-top:14px;display:flex}.sp-frow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sp-frow>span{width:96px}.sp-results{flex-direction:column;gap:14px;min-width:0;display:flex}.sp-res-head{flex-direction:column;gap:12px;display:flex}.sp-res-head h2{font-size:18px;font-weight:700}.sp-tiers{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.sp-tiers button{border:1px solid var(--sp-line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.sp-tiers button b{font-size:22px;font-weight:700;line-height:1.2}.sp-tiers button span{color:var(--sp-copy);font-size:12px}.sp-tiers button.is-on{border-color:var(--sp-blue);background:var(--sp-blue-soft);color:var(--sp-blue-ink)}.sp-how{color:var(--sp-sub);font-size:12px;line-height:1.7}.sp-how summary{color:var(--sp-blue-ink);cursor:pointer}.sp-group{flex-direction:column;gap:8px;display:flex}.sp-group-title{color:var(--sp-copy);margin:4px 4px 0;font-size:14px;font-weight:700}.sp-group-title.is-button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.sp-unknown{flex-direction:column;gap:8px;display:flex}.sp-rows{padding:0;overflow:hidden}.sp-row{border-top:1px solid var(--sp-line-2);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:14px 18px;display:grid}.sp-row:first-child{border-top:0}.sp-row-name{flex-direction:column;gap:3px;min-width:0;display:flex}.sp-row-name>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-name-link{text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:700}.sp-name-link:hover{color:var(--sp-blue-ink)}.sp-row-name small{color:var(--sp-muted);overflow-wrap:anywhere;font-size:12px}.sp-row-name .sp-row-dept{color:var(--sp-copy);font-size:13px}.sp-row-bar{flex-direction:column;gap:6px;display:flex}.sp-row-bar.is-none small{color:var(--sp-muted);font-size:12px}.sp-bar-label{color:var(--sp-muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.sp-bar-label span:last-child:not(:first-child){overflow-wrap:anywhere;text-align:right;min-width:0}.sp-bar{background:#eef1f6;border-radius:4px;height:8px;position:relative}.sp-bar-ref{background:var(--sp-sub);width:2px;height:12px;position:absolute;top:-2px}.sp-bar-me{background:var(--sp-blue);width:14px;height:14px;box-shadow:0 0 0 1px var(--sp-blue);border:2px solid #fff;border-radius:50%;margin-left:-7px;position:absolute;top:-3px}.sp-row-bar>b{color:var(--sp-copy);font-size:12px;font-weight:600}.sp-fav{border:1px solid var(--sp-field);height:34px;color:var(--sp-ink);white-space:nowrap;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.sp-fav.is-on{border-color:var(--sp-blue);background:var(--sp-blue-soft);color:var(--sp-blue-ink);font-weight:600}.sp-fav:disabled{opacity:.5;cursor:default}.sp-mschool{padding:0;overflow:hidden}.sp-mschool.is-open{border-color:var(--sp-blue-line)}.sp-mschool-head{text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:8px 14px;width:100%;padding:14px 18px;display:flex}.sp-mschool-name{flex-direction:column;flex:220px;gap:3px;min-width:0;display:flex}.sp-mschool-name>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-mschool-name b{font-size:15px;font-weight:700}.sp-mschool-name small{color:var(--sp-muted);overflow-wrap:anywhere;font-size:12px}.sp-mschool-tiers{flex-wrap:wrap;gap:6px;display:flex}.sp-mschool-fav{color:var(--sp-blue-ink);white-space:nowrap;font-size:12px;font-weight:600}.sp-mschool-fold{color:var(--sp-sub);white-space:nowrap;font-size:12px}.sp-mschool>.sp-rows{border-top:1px solid #eef1f6}.sp-pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:4px 0;display:flex}.sp-pager button{border:1px solid var(--sp-field);min-width:34px;height:34px;color:var(--sp-copy);cursor:pointer;background:#fff;border-radius:8px;padding:0 8px;font-size:13px}.sp-pager button.is-on{border-color:var(--sp-blue);background:var(--sp-blue-soft);color:var(--sp-blue-ink);font-weight:600}.sp-pager button:disabled{opacity:.4;cursor:default}.sp-pager>span{color:var(--sp-faint)}.sp-pager>small{color:var(--sp-muted);margin-left:6px;font-size:12px}.sp-finder{flex-direction:column;gap:14px;display:flex}.sp-finder-bar{flex-direction:column;gap:12px;display:flex}.sp-finder-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sp-search{border:1px solid var(--sp-field);height:42px;color:var(--sp-muted);border-radius:10px;flex:280px;align-items:center;gap:8px;padding:0 12px;display:flex}.sp-search input{min-width:0;color:var(--sp-ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:14px}.sp-sort{color:var(--sp-sub);align-items:center;gap:6px;font-size:13px;display:flex}.sp-sort select{border:1px solid var(--sp-field);height:42px;color:var(--sp-ink);font:inherit;background:#fff;border-radius:10px;padding:0 10px;font-size:13px}.sp-pills{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-fpill{border:1px solid var(--sp-field);height:36px;color:var(--sp-ink);white-space:nowrap;cursor:pointer;background:#fff;border-radius:18px;align-items:center;gap:6px;padding:0 12px 0 14px;font-size:13px;display:inline-flex}.sp-fpill span{font-size:12px}.sp-fpill.is-on{border-color:var(--sp-blue);background:var(--sp-blue-soft);color:var(--sp-blue-ink);font-weight:600}.sp-fpill.is-more:not(.is-on){color:var(--sp-copy);border-style:dashed;border-color:#b8c1d4}.sp-pop-rows{border-top:1px solid #eef1f6;flex-direction:column;gap:10px;padding-top:12px;display:flex}.sp-pop-row{flex-direction:column;gap:8px;display:flex}.sp-pop-row>span{color:var(--sp-copy);font-size:13px;font-weight:600}.sp-pop-row>div{flex-wrap:wrap;gap:6px;display:flex}.sp-pop-row .sp-pill{border-radius:17px;min-height:34px;padding:4px 14px}.sp-pop-done{justify-content:flex-end;display:flex}.sp-pop-done .sp-btn.is-main{height:34px}.sp-active{flex-wrap:wrap;align-items:center;gap:6px 8px;padding:0 4px;display:flex}.sp-active>b{margin-right:4px;font-size:14px;font-weight:700}.sp-achip{border:1px solid var(--sp-blue-line);background:var(--sp-blue-soft);height:28px;color:var(--sp-blue-ink);cursor:pointer;border-radius:14px;padding:0 10px;font-size:12px}.sp-clear{color:var(--sp-sub);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.sp-schools{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.sp-school{flex-direction:column;gap:12px;padding:16px 18px;display:flex}.sp-school-name{flex-direction:column;gap:4px;display:flex}.sp-school-name>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-school-name b{font-size:16px;font-weight:700}.sp-school-name small{color:var(--sp-muted);font-size:12px}.sp-school dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;font-size:13px;display:grid}.sp-school dt{color:var(--sp-muted);font-size:12px}.sp-school dd{font-weight:600}.sp-school dd.is-grey{color:#8a93a8}.sp-school-acts{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:auto;display:grid}.sp-drawer{z-index:90;justify-content:flex-end;display:flex;position:fixed;inset:0}.sp-drawer-mask{background:#1d264052;position:absolute;inset:0}.sp-drawer-panel{background:#fff;flex-direction:column;width:400px;max-width:100%;height:100%;display:flex;position:relative;box-shadow:0 8px 32px #1d26402e}.sp-drawer-panel>header,.sp-modal-card>header{border-bottom:1px solid #eef1f6;flex-shrink:0;align-items:center;gap:10px;height:60px;padding:0 12px 0 20px;display:flex}.sp-drawer-panel>header h2,.sp-modal-card>header h2{flex-grow:1;font-size:16px;font-weight:600}.sp-drawer-panel>header button,.sp-modal-card>header button{width:36px;height:36px;color:var(--sp-sub);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:20px}.sp-drawer-body{flex-direction:column;flex:1;gap:20px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.sp-drawer-row{flex-direction:column;gap:8px;display:flex}.sp-drawer-row>span{color:var(--sp-copy);font-size:13px;font-weight:600}.sp-drawer-row>div{flex-wrap:wrap;gap:6px;display:flex}.sp-drawer-row .sp-pill{border-radius:17px;min-height:34px;padding:4px 14px}.sp-drawer-panel>footer{border-top:1px solid #eef1f6;flex-shrink:0;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px 20px;display:grid}.sp-drawer-panel>footer .sp-btn{height:42px;padding:0 18px}.sp-modal{z-index:95;background:#1d264052;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.sp-modal-card{background:#fff;border-radius:16px;flex-direction:column;width:min(520px,100%);max-height:100%;display:flex;overflow:hidden;box-shadow:0 8px 32px #1d26402e}.sp-modal-body{padding:4px 20px 12px;overflow-y:auto}.sp-pick{border-top:1px solid var(--sp-line-2);align-items:center;gap:12px;min-height:56px;padding:8px 0;display:flex}.sp-pick:first-child{border-top:0}.sp-pick>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-pick b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.sp-pick small{color:var(--sp-muted);font-size:12px}.sp-wish{flex-direction:column;gap:14px;display:flex}.sp-wish-top{flex-wrap:wrap;align-items:center;gap:12px 28px;display:flex}.sp-wish-top h2{flex:260px;font-size:18px;font-weight:700}.sp-wish-stats{gap:28px;display:flex}.sp-wish-stats div{flex-direction:column;gap:2px;display:flex}.sp-wish-stats span{color:var(--sp-sub);font-size:12px}.sp-wish-stats b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.sp-wish-go{gap:8px;display:flex}.sp-wcard{padding:0;overflow:hidden}.sp-wcard.is-open{border-color:var(--sp-blue-line)}.sp-wcard-head{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px 20px;width:100%;padding:16px 20px;display:grid}.sp-wcard-name{flex-direction:column;gap:3px;min-width:0;display:flex}.sp-wcard-name>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-wcard-name b{font-size:16px;font-weight:700}.sp-wcard-name small{color:var(--sp-copy);overflow-wrap:anywhere;font-size:13px}.sp-wcard-steps{flex-direction:column;gap:6px;display:flex}.sp-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.sp-steps i{background:var(--sp-line);border-radius:3px;height:6px}.sp-steps i.is-on{background:var(--sp-blue)}.sp-wcard-steps>span{color:var(--sp-muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.sp-wcard-steps>span b{color:var(--sp-ink);font-weight:600}.sp-wcard-next{align-items:center;gap:10px;min-width:0;display:flex}.sp-wcard-next>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-wcard-next small{color:var(--sp-muted);font-size:12px}.sp-wcard-next b{overflow-wrap:anywhere;font-size:13px;font-weight:600}.sp-wcard-next>span{color:var(--sp-sub);white-space:nowrap;font-size:12px}.sp-wcard-body{border-top:1px solid #eef1f6;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:16px 20px 20px;display:grid}.sp-wcard-body>section{flex-direction:column;min-width:0;display:flex}.sp-wcard-body h3{margin:0 0 12px;font-size:14px;font-weight:700}.sp-tl{padding:0;list-style:none}.sp-tl li{grid-template-columns:16px 104px minmax(0,1fr);align-items:start;gap:10px;min-height:40px;padding-bottom:6px;display:grid;position:relative}.sp-tl li:before{content:"";background:var(--sp-line);width:2px;position:absolute;top:14px;bottom:-6px;left:7px}.sp-tl li:last-child:before{display:none}.sp-tl li.is-done:before{background:var(--sp-blue)}.sp-tl-dot{z-index:1;background:#fff;border:2px solid #c9d0de;border-radius:50%;width:10px;height:10px;margin:5px 0 0 3px;position:relative}.sp-tl li.is-done .sp-tl-dot{background:var(--sp-blue);border:0}.sp-tl li.is-next .sp-tl-dot{border:2.5px solid var(--sp-blue)}.sp-tl li.is-urgent .sp-tl-dot{border-color:var(--sp-dot)}.sp-tl-date{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.sp-tl li.is-done .sp-tl-date,.sp-tl li.is-done b{color:var(--sp-muted);font-weight:400}.sp-tl li.is-next .sp-tl-date{color:var(--sp-blue-ink)}.sp-tl li.is-urgent .sp-tl-date{color:var(--sp-red)}.sp-tl li>div{flex-direction:column;gap:2px;min-width:0;display:flex}.sp-tl li b{overflow-wrap:anywhere;font-size:14px;font-weight:400}.sp-tl li.is-next b{font-weight:700}.sp-tl li small{color:var(--sp-muted);font-size:12px}.sp-tl-act{align-self:flex-start;margin-top:2px;font-size:12px}.sp-tl li .sp-tl-state{color:var(--sp-blue-ink)}.sp-mat-head{align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.sp-mat-head h3{flex-grow:1;margin:0!important}.sp-mat-head span{color:var(--sp-sub);font-size:12px}.sp-mat{border-top:1px solid var(--sp-line-2);align-items:center;gap:10px;min-height:48px;display:flex}.sp-mat-box{border:1.5px solid #b8c1d4;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:flex}.sp-mat>div,.sp-mat-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-mat b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.sp-mat small{color:var(--sp-muted);overflow-wrap:anywhere;font-size:12px}.sp-mat em{color:var(--sp-muted);white-space:nowrap;background:#f1f3f7;border-radius:6px;padding:2px 8px;font-size:12px;font-style:normal}.sp-mat.is-done .sp-mat-box{background:var(--sp-blue);color:#fff;border:0}.sp-mat.is-done em{background:var(--sp-blue-soft);color:var(--sp-blue-ink)}.sp-mat.is-doing em{color:var(--sp-copy)}.sp-mat.is-late .sp-mat-box{border-color:var(--sp-dot);color:var(--sp-red)}.sp-mat.is-late em{background:var(--sp-red-soft);color:var(--sp-red)}.sp-mat.is-btn{border:0;border-top:1px solid var(--sp-line-2);text-align:left;cursor:pointer;background:0 0;width:100%;padding:0}.sp-mat.is-btn:hover .sp-mat-box{border-color:var(--sp-blue)}.sp-mat.is-checked .sp-mat-box{border-color:var(--sp-blue);color:var(--sp-blue)}.sp-mat.is-checked em{color:var(--sp-blue-ink)}.sp-profile{flex-direction:column;gap:14px;display:flex}.sp-info{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.sp-info-col{flex-direction:column;gap:16px;min-width:0;display:flex}.sp-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.sp-fields>div{border-top:1px solid var(--sp-line-2);flex-direction:column;gap:2px;min-width:0;padding:10px 0;display:flex}.sp-fields dt{color:var(--sp-muted);font-size:12px}.sp-fields dd{overflow-wrap:anywhere;font-size:14px;font-weight:600}.sp-contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding-top:6px;display:grid}.sp-contact-form.is-narrow{grid-template-columns:minmax(0,1fr);max-width:420px}.sp-contact-form label{flex-direction:column;gap:4px;min-width:0;display:flex}.sp-contact-form label span{color:var(--sp-muted);font-size:12px}.sp-contact-form input{width:100%;height:38px;color:var(--sp-ink);font:inherit;background:#fff;border:1px solid #c9d0de;border-radius:8px;padding:0 10px;font-size:14px}.sp-contact-form input:focus{border-color:var(--sp-blue);outline:0}.sp-form-acts{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.sp-form-err{color:var(--sp-red);grid-column:1/-1;font-size:13px}.sp-eju{flex-direction:column;gap:12px;display:flex}.sp-eju .sp-card-head{margin-bottom:0}.sp-eju-total{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.sp-eju .sp-card-head>small{color:var(--sp-muted);font-size:13px}.sp-eju-cells{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.sp-eju-cells>div{background:var(--sp-fill);border-radius:12px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.sp-eju-cells span{color:var(--sp-sub);font-size:12px}.sp-eju-cells b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.sp-eju-cells b small{color:var(--sp-muted);font-size:12px;font-weight:400}.sp-eju-cells>div>small{color:var(--sp-muted);font-size:12px}.sp-eju-subs{color:var(--sp-sub);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.sp-eju-subs em{background:var(--sp-blue-soft);color:var(--sp-blue-ink);border-radius:12px;padding:2px 10px;font-size:12px;font-style:normal}.sp-eju-next{color:var(--sp-sub);font-size:13px}.sp-eju-next b{color:var(--sp-red)}.sp-hist-btn{align-self:flex-start}.sp-hist{overflow-x:auto}.sp-hist table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.sp-hist th{color:var(--sp-muted);text-align:left;white-space:nowrap;padding:6px 8px;font-weight:400}.sp-hist td{border-top:1px solid var(--sp-line-2);white-space:nowrap;padding:8px}.sp-contracts{flex-direction:column;gap:14px;display:flex}.sp-ct-list{padding:0;overflow:hidden}.sp-ct-list .sp-card-head{margin:0;padding:14px 20px}.sp-ct{border-top:1px solid var(--sp-line-2);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.7fr) auto;align-items:center;gap:8px 20px;padding:14px 20px;display:grid}.sp-ct>div{flex-direction:column;gap:2px;min-width:0;display:flex}.sp-ct>div>small{color:var(--sp-muted);font-size:12px}.sp-ct>div>b{font-size:13px;font-weight:600}.sp-ct-name>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-ct-name>span b{font-size:14px;font-weight:700}.sp-ct-ended{flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 20px;font-size:13px;display:flex}.sp-ct-ended b{flex-grow:1;font-weight:600}.sp-goset{width:100%;color:var(--sp-ink);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;font-weight:600}.sp-goset>span{align-items:center;gap:8px;display:inline-flex}.sp-guide{flex-wrap:wrap;align-items:center;gap:16px;padding:20px;display:flex}.sp-guide-cover{border:1px solid var(--sp-line);background:#fff;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:flex-end;gap:2px;width:96px;height:132px;padding:10px;display:flex;box-shadow:0 2px 8px #1d26401f}.sp-guide-cover small{color:var(--sp-muted);font-size:9px}.sp-guide-cover b{font-size:15px;font-weight:700}.sp-guide-cover span{color:var(--sp-copy);font-size:10px}.sp-guide-text{flex-direction:column;flex:260px;gap:6px;min-width:0;display:flex}.sp-guide-text h2{overflow-wrap:anywhere;font-size:18px;font-weight:700}.sp-guide-meta{color:var(--sp-sub);font-size:13px}.sp-guide-text b{font-size:12px;font-weight:600}.sp-guide-text b.is-read{color:var(--sp-blue-ink)}.sp-guide-text b.is-unread{color:var(--sp-red)}.sp-guide-btns{flex-direction:column;gap:8px;display:flex}.sp-guide-btns .sp-btn{text-decoration:none}.sp-pdf{z-index:90;background:#525866;flex-direction:column;display:flex;position:fixed;inset:0}.sp-pdf>header{color:#fff;background:#2b303b;flex-shrink:0;align-items:center;gap:10px;min-height:56px;padding:8px 12px 8px 16px;display:flex}.sp-pdf>header b{overflow-wrap:anywhere;flex-grow:1;min-width:0;font-size:15px;font-weight:600}.sp-pdf>header a,.sp-pdf>header button{cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;height:34px;padding:0 12px;font-size:13px;text-decoration:none;display:inline-flex}.sp-pdf>header a{color:#fff;border:1px solid #ffffff4d}.sp-pdf>header button{color:var(--sp-ink);background:#fff;border:0;padding:0 14px;font-weight:600}.sp-pdf>iframe{background:#525866;border:0;flex:1;width:100%;min-height:0}.sp-account{flex-direction:column;gap:14px;max-width:640px;display:flex}.sp-account-login{padding-top:6px;font-size:14px;font-weight:600}.sp-logout{color:var(--sp-red);text-align:center;font-size:14px;font-weight:600;text-decoration:none}@media (max-width:1279px){.sp-side{display:none}.sp-rail{display:flex}.sp-home{grid-template-columns:minmax(0,1fr) 300px}.sp-schools{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-wcard-body{grid-template-columns:minmax(0,1fr)}}@media (min-width:1024px) and (max-height:950px){.sp-main.is-home{overflow-y:auto}.sp-home{flex:1 0 auto}.sp-home-left,.sp-cal{min-height:auto}.sp-day{flex:1 0 auto;min-height:160px;overflow:visible}}@media (max-width:1023px){.sp-main{padding:16px 20px 20px}.sp-main.is-home{display:block;overflow-y:auto}.sp-home{flex-direction:column;gap:16px;display:flex}.sp-home-left,.sp-home-right{display:contents}.sp-day{overflow:visible}.sp-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-score-row{grid-template-columns:minmax(0,1fr);gap:10px}.sp-info{grid-template-columns:minmax(0,1fr)}.sp-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}@media (max-width:767px){.sp-rail,.sp-top{display:none}.sp-ptop{display:flex}.sp-tabs{display:grid}.sp-main{padding:12px 16px 16px}.sp-phone-only{display:flex!important}.sp-card{padding:14px 16px}.sp-hello-nums{justify-content:space-between;gap:12px;width:100%}.sp-hello-nums b{font-size:22px}.sp-cal-range{flex-basis:100%;order:5}.sp-mday{height:46px}.sp-day-time{width:74px;font-size:12px}.sp-day-main{gap:8px}.sp-leave{padding-left:0}.sp-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-scores-head .sp-seg,.sp-frow>span{width:100%}.sp-tiers{gap:6px}.sp-tiers button{padding:8px 10px}.sp-row{grid-template-columns:minmax(0,1fr);padding:14px 16px}.sp-row .sp-fav{justify-self:start}.sp-mschool-head{padding:14px 16px}.sp-schools{grid-template-columns:minmax(0,1fr)}.sp-drawer{align-items:flex-end}.sp-drawer-panel{border-radius:16px 16px 0 0;width:100%;height:auto;max-height:85%}.sp-wish-top{gap:12px}.sp-wish-stats{justify-content:space-between;gap:12px;width:100%}.sp-wish-go{width:100%}.sp-wish-go .sp-btn{flex:1}.sp-wcard-head{grid-template-columns:minmax(0,1fr);padding:14px 16px}.sp-wcard-body{padding:14px 16px 16px}.sp-tl li{grid-template-columns:16px 88px minmax(0,1fr)}.sp-fields,.sp-contact-form{grid-template-columns:minmax(0,1fr)}.sp-eju-cells{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-seg.is-big{align-self:stretch}.sp-btn,.sp-fav,.sp-fpill,.sp-pill{min-height:44px}.sp-seg button{min-height:38px}.sp-app~.toast{bottom:calc(76px + env(safe-area-inset-bottom))}}.spr-ticks,.spr-row{grid-template-columns:64px minmax(0,1fr) 150px;align-items:center;gap:4px 12px;display:grid}.spr-ticks{color:var(--sp-muted);padding:6px 0 4px;font-size:12px}.spr-tick-line{height:14px;position:relative}.spr-tick-line i{white-space:nowrap;font-style:normal;position:absolute;top:0;transform:translate(-50%)}.spr-tick-line i:first-child{transform:none}.spr-tick-line i:last-child{transform:translate(-100%)}.spr-row{border-top:1px solid var(--sp-line-2);min-height:44px}.spr-row b{overflow-wrap:anywhere;font-size:14px;font-weight:700}.spr-bar{background:#dfe7fd;border-radius:4px;height:14px;position:relative;overflow:hidden}.spr-bar i{background:#c3c9d6;position:absolute;top:0;bottom:0}.spr-bar em{background:#ff3b30;width:2px;position:absolute;top:0;bottom:0}.spr-text{color:var(--sp-sub);font-size:13px}.spr-text.is-free{color:#2443b8;font-weight:600}.spr-legend{color:var(--sp-sub);gap:14px;padding-top:8px;font-size:12px;display:flex}.spr-legend span{align-items:center;gap:5px;display:flex}.spr-legend i{border-radius:2px;width:10px;height:10px}.spr-legend i.is-free{background:#dfe7fd}.spr-legend i.is-busy{background:#c3c9d6}@media (max-width:767px){.spr-ticks,.spr-bar,.spr-legend{display:none}.spr-row{grid-template-columns:52px minmax(0,1fr)}}.sp-first{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.sp-first-top{align-items:center;gap:12px;display:flex}.sp-first-name{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-first-name small{color:#2443b8;font-size:12px;font-weight:600}.sp-first-name b{overflow-wrap:anywhere;font-size:18px;font-weight:700}.sp-first-days{flex-direction:column;flex:none;align-items:flex-end;display:flex}.sp-first-days b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.sp-first-days b.is-red{color:#c4170e}.sp-first-days small{color:var(--sp-sub);font-size:12px}.sp-first-line{color:#1d2640;font-size:13px}.sp-first-line b{color:#c4170e}.sp-bell-dot{background:var(--sp-dot);border-radius:50%;width:8px;height:8px;position:absolute;top:9px;right:9px}.sp-pop.sp-noti-pop{border-radius:16px;width:380px;max-height:70vh;padding:0;display:flex;overflow:hidden;box-shadow:0 12px 32px #1d264029}.sp-noti{background:#fff;flex-direction:column;width:100%;min-height:0;display:flex}.sp-noti-head{border-bottom:1px solid #eef1f6;flex-shrink:0;align-items:center;gap:8px;padding:14px 16px 14px 20px;display:flex}.sp-noti-head h2{flex-grow:1;font-size:16px;font-weight:600}.sp-noti-all{color:var(--sp-blue-ink);cursor:pointer;background:0 0;border:0;padding:8px;font-size:13px}.sp-noti-all:disabled{color:var(--sp-faint);cursor:default}.sp-noti-x{width:40px;height:40px;color:var(--sp-sub);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:20px}.sp-noti-list{flex:1;min-height:0;overflow-y:auto}.sp-noti-list>button{border:0;border-bottom:1px solid var(--sp-line-2);width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;grid-template-columns:8px minmax(0,1fr);align-items:start;gap:4px 10px;padding:12px 20px;display:grid}.sp-noti-list>button:hover{background:var(--sp-fill)}.sp-noti-list>button>i{border-radius:50%;width:8px;height:8px;margin-top:7px}.sp-noti-list>button.is-new>i{background:var(--sp-dot)}.sp-noti-list>button>span{flex-direction:column;gap:3px;min-width:0;display:flex}.sp-noti-meta{align-items:baseline;gap:8px;display:flex}.sp-noti-meta b{color:var(--sp-blue-ink);font-size:12px;font-weight:600}.sp-noti .sp-noti-meta small{color:var(--sp-muted);font-size:12px}.sp-noti-text{color:var(--sp-copy);overflow-wrap:anywhere;font-size:14px;line-height:1.5}.sp-noti-list>button.is-new .sp-noti-text{color:var(--sp-ink);font-weight:600}.sp-noti .sp-noti-none{color:var(--sp-muted);text-align:center;padding:32px 20px;font-size:13px}.sp-pop.sp-noti-mask{z-index:60;box-shadow:none;background:#1d264052;border:0;border-radius:0;padding:0;display:flex;position:fixed;inset:0}.sp-noti.is-phone{flex:1}.tb-noti{color:var(--sp-ink);font-size:14px;font-weight:400;line-height:1.5}.tb-noti h2,.tb-noti p{margin:0}.sp-card.sp-remind{flex-shrink:0;margin-bottom:16px;padding:0;overflow:hidden}.pp-home .sp-card.sp-remind{margin-bottom:0}.sp-remind-row{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 20px;display:flex}.sp-remind-row+.sp-remind-row{border-top:1px solid var(--sp-line-2)}.sp-remind-row>i{background:var(--sp-blue);border-radius:50%;flex-shrink:0;width:8px;height:8px}.sp-remind-row>i.is-red{background:var(--sp-dot)}.sp-remind-text{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.sp-remind-text b{overflow-wrap:anywhere;font-size:14px;font-weight:600}.sp-remind-text small{color:var(--sp-muted);font-size:12px}.sp-remind-btns{flex-shrink:0;gap:8px;display:flex}.sp-remind-btns .sp-btn{height:36px}.sp-remind-more{border:0;border-top:1px solid var(--sp-line-2);width:100%;height:40px;color:var(--sp-blue-ink);cursor:pointer;background:#fff;font-size:13px}.sp-card.sp-renew{flex-direction:column;gap:12px;display:flex}.sp-renew-head{flex-direction:column;gap:2px;display:flex}.sp-renew-head b{font-size:16px;font-weight:700}.sp-renew-head span{color:var(--sp-red);font-size:13px;font-weight:600}.sp-renew-ask{flex-direction:column;gap:8px;font-size:14px;display:flex}.sp-renew-opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:480px;display:grid}.sp-renew-opts .sp-btn{height:44px;font-size:14px}.sp-renew-opts .sp-btn.is-on{border-color:var(--sp-blue);color:var(--sp-blue-ink);font-weight:600}.sp-renew-picked{background:var(--sp-fill);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.sp-renew-picked span{flex:220px;font-size:14px}.sp-card.sp-inst{padding:0;overflow:hidden}.sp-inst .sp-card-head{margin:0;padding:14px 20px}.sp-inst-group{border-top:1px solid var(--sp-line-2)}.sp-inst-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:12px 20px 2px;display:flex}.sp-inst-head b{flex:200px;font-size:14px;font-weight:700}.sp-inst-head small{color:var(--sp-muted);font-size:12px}.sp-inst-row{flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 20px;display:flex}.sp-inst-main{flex-direction:column;flex:240px;gap:3px;min-width:0;display:flex}.sp-inst-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sp-inst-line>span{color:var(--sp-sub);font-size:13px}.sp-inst-line>b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.sp-inst-chip{color:var(--sp-copy);white-space:nowrap;background:#f1f3f7;border-radius:6px;padding:2px 8px;font-size:12px;font-style:normal;font-weight:600}.sp-inst-chip.is-ok{background:var(--sp-blue-soft);color:var(--sp-blue-ink)}.sp-inst-chip.is-ask{background:var(--sp-red-soft);color:var(--sp-red)}.sp-inst-chip.is-later{color:var(--sp-faint)}.sp-inst-main>small{color:var(--sp-sub);overflow-wrap:anywhere;font-size:12px}.sp-inst-main>small.is-strong{color:var(--sp-ink);font-weight:600}.sp-inst-main>small .is-red{color:var(--sp-red)}.sp-inst-main>small>span:not(.is-red){color:var(--sp-muted);font-weight:400}.sp-btn.is-main.sp-inst-pay{height:36px;margin-left:auto;font-size:13px}.sp-sheet{z-index:70;background:#1d264052;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sp-sheet-panel{background:#fff;border-radius:20px;flex-direction:column;width:480px;max-width:calc(100% - 32px);max-height:88%;display:flex;overflow:hidden}.sp-sheet-head{border-bottom:1px solid #eef1f6;flex-shrink:0;align-items:center;gap:10px;padding:16px 20px;display:flex}.sp-sheet-head>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sp-sheet-head h2{font-size:16px;font-weight:600}.sp-sheet-head small{color:var(--sp-sub);font-size:13px}.sp-sheet-x{width:40px;height:40px;color:var(--sp-sub);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:20px}.sp-sheet-body{flex-direction:column;flex:1;gap:18px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.sp-sheet-field{flex-direction:column;gap:8px;display:flex}.sp-sheet-field>span{color:var(--sp-copy);font-size:13px;font-weight:600}.sp-sheet-field textarea{border:1px solid var(--sp-field);font:inherit;resize:vertical;border-radius:8px;padding:10px 12px;font-size:14px}.sp-shots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sp-shots img{aspect-ratio:.75;border:1px solid var(--sp-line);object-fit:cover;border-radius:10px;width:100%}.sp-shot-add{aspect-ratio:.75;color:var(--sp-blue-ink);cursor:pointer;background:#fff;border:1.5px dashed #b8c1d4;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex;position:relative}.sp-shot-add.is-busy{border-style:solid;border-color:var(--sp-blue-line);cursor:wait;background:#f5f7fe;font-size:13px}.sp-shot-add input{opacity:0;cursor:pointer;position:absolute;inset:0}.sp-sheet-wait{color:var(--sp-sub);font-size:12px}.sp-sheet-check{min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:14px;display:flex}.sp-sheet-check>i{box-sizing:border-box;color:#fff;background:#fff;border:1.5px solid #b8c1d4;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-style:normal;font-weight:700;display:flex}.sp-sheet-check[aria-checked=true]>i{background:var(--sp-blue);border:0}.sp-sheet-foot{border-top:1px solid #eef1f6;flex-shrink:0;padding:12px 20px 20px}.sp-sheet-foot .sp-btn.is-main{width:100%;height:48px;font-size:16px}.sp-sheet-foot .sp-btn.is-main:disabled{opacity:1;background:#b8c1d4}@media (max-width:767px){.sp-remind-row{padding:12px 16px}.sp-remind-row.is-many .sp-remind-btns{flex:100%;padding-left:20px}.sp-remind-row.is-many .sp-remind-btns .sp-btn{flex:1}.sp-inst .sp-card-head,.sp-inst-head,.sp-inst-row{padding-left:16px;padding-right:16px}.sp-sheet{align-items:flex-end}.sp-sheet-panel{border-radius:20px 20px 0 0;width:100%;max-width:none;max-height:92%}.sp-ct{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 16px}.sp-ct-name,.sp-ct-period,.sp-ct-money{grid-column:1/-1}.sp-ct-period>small{display:none}.sp-ct-period>b{font-weight:400}.sp-ct-extra,.sp-ct-money{flex-wrap:wrap;align-items:baseline;flex-direction:row!important;gap:4px 6px!important}.sp-ct-extra{order:3}.sp-ct-pdf{order:3;grid-column:auto}.sp-ct-money{order:4}.sp-ct-pdf .sp-btn.is-line{background:0 0;border:0;width:auto;height:36px;min-height:36px;padding:0}.sp-ct-pdf .sp-btn.is-line svg{display:none}}
