*{box-sizing:border-box}.auth{max-width:22rem;color:var(--fg);margin:12vh auto;padding:0 1rem;font:14px/1.5 Manrope,system-ui,sans-serif}.auth h1{margin:0 0 22px;font-size:20px}.auth form{gap:14px;display:grid}.auth label{color:var(--fg-muted);gap:6px;font-size:12.5px;font-weight:600;display:grid}.auth input{font:inherit;box-sizing:border-box;border:1px solid var(--neutral-200);background:var(--neutral-0);border-radius:14px;width:100%;padding:10px 12px}.auth button{font:inherit;background:var(--rise-blue);color:#fff;cursor:pointer;border:0;border-radius:14px;padding:11px 18px;font-weight:700}.auth .err{color:#b42318;margin:0;font-size:12.5px}.sidebar .me{border-top:1px solid var(--neutral-100);align-items:center;gap:10px;margin-top:auto;padding:12px 8px 4px;display:flex}.sidebar .me b{font-size:13px;display:block}.sidebar .me small{color:var(--fg-muted);font-size:11.5px}.sidebar .me form{margin-left:auto}.sidebar .brand b{font-size:15px;font-weight:800}button.ghost{color:var(--fg-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:10px;padding:4px 6px;font-size:12px}button.ghost:hover{background:var(--neutral-100)}.page{padding:0 4px 40px}.filters{gap:8px;margin-bottom:12px;display:flex}.filters .q{font:inherit;border:1px solid var(--neutral-200);background:var(--neutral-0);border-radius:999px;flex:0 300px;padding:9px 14px;font-size:13px}.filters button{font:inherit;background:var(--rise-blue);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:700}.chips{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}a.chip{background:var(--neutral-chip-bg);color:var(--neutral-chip-fg);border-radius:999px;padding:6px 13px;font-size:11.5px;font-weight:700;text-decoration:none}a.chip:hover{background:var(--neutral-200)}a.chip.on{background:var(--rise-blue);color:#fff}a.chip b{opacity:.6;font-weight:700}.pager{justify-content:space-between;align-items:center;gap:16px;margin-top:14px;font-size:12.5px;display:flex}.pager a{color:var(--rise-blue);margin-left:16px;font-weight:700;text-decoration:none}.pager .mut{color:var(--fg-muted)}.empty{text-align:center;color:var(--fg-muted);padding:48px;font-size:13px}.tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.tile{padding:18px 20px}.tile small{color:var(--fg-muted);font-size:12px;font-weight:600;display:block}.tile b{letter-spacing:-.5px;font-size:28px;font-weight:800}.hint{color:var(--fg-muted);margin-top:18px;font-size:13px}.card-page .head{align-items:center;gap:18px;margin-bottom:12px;padding:20px 22px;display:flex}.card-page .head .who{min-width:0}.av.big{width:56px;height:56px;font-size:17px}.card-page h1{margin:0 0 8px;font-size:20px;font-weight:800}.card-page .meta{flex-wrap:wrap;align-items:center;gap:10px;font-size:12.5px;display:flex}.card-page .contacts{color:var(--fg-muted);flex-wrap:wrap;gap:14px;margin-top:8px;font-size:12.5px;display:flex}.card-page .mut{color:var(--fg-muted)}.cols{grid-template-columns:1fr 1fr;align-items:start;gap:16px;margin-top:16px;display:grid}@media (max-width:900px){.cols{grid-template-columns:1fr}}.cols h2{color:var(--fg-muted);margin:0 0 8px;font-size:13px;font-weight:700}.cols section>.card+h2{margin-top:18px}.feed{max-height:620px;padding:6px 0;overflow:auto}.feed .row{align-items:center;gap:10px;padding:7px 18px;font-size:12.5px;display:flex}.feed .row:hover{background:var(--neutral-50)}.feed .when{color:var(--fg-muted);flex:none;width:62px}.feed .what{flex:1}.feed .sum{flex:none;font-weight:700}.feed .dot{background:var(--neutral-300);border-radius:50%;flex:none;width:7px;height:7px}.feed .dot.payment{background:#10916a}.feed .dot.debit{background:var(--rise-blue)}.feed .dot.refund,.feed .dot.burn{background:#d84a3d}.feed .dot.enrolled{background:#7a5af8}.feed .dot.visit{opacity:.45;background:#10916a}.feed .dot.miss{opacity:.55;background:#c68416}.stu b a{color:inherit;text-decoration:none}.stu b a:hover{color:var(--rise-blue)}.tag-mini{color:var(--fg-muted);background:var(--neutral-chip-bg);border-radius:8px;margin-left:5px;padding:3px 7px;font-size:10.5px;font-weight:700}td.ends{font-variant-numeric:tabular-nums;color:var(--fg-muted)}.lvl.big{padding:10px 16px;font-size:15px}a.lvl{text-decoration:none}a.lvl:hover{filter:brightness(1.15)}.pill.mut{background:var(--neutral-chip-bg);color:var(--neutral-chip-fg)}.card-page .who h1{margin-bottom:6px}.daybar b{font-size:15px}.daybar a{color:var(--rise-blue);font-weight:700;text-decoration:none}.mark-row:last-child{border-bottom:0}.jrn-day{text-transform:capitalize;font-size:15px}a.btn{text-decoration:none}.blk-title{color:var(--fg);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;font-size:13px;font-weight:700;display:flex}.blk-title .when-line{color:var(--fg-muted);text-transform:none;letter-spacing:0;font-size:12px;font-weight:500}.blk-title .done{color:var(--fg-subtle);margin-left:auto;font-size:12px;font-weight:500}.mark-who{flex:1;min-width:0}.mark-who b{font-size:13px}.mark-who b a{color:inherit;text-decoration:none}.mark-who b a:hover{color:var(--rise-blue)}.mark-who small{color:var(--fg-subtle);font-size:11px;display:block}.mark-btns{gap:6px;margin-left:auto;display:flex}.mark-btns form{display:inline}.mk{border:1px solid var(--neutral-200);background:var(--neutral-0);color:var(--fg-muted);font:inherit;cursor:pointer;border-radius:999px;padding:6px 13px;font-size:11.5px;font-weight:700}.mk:hover{border-color:var(--rise-blue);color:var(--rise-blue)}.mk.was.on{color:#fff;background:#10916a;border-color:#10916a}.mk.no.on,.mk.exc.on{color:#fff;background:#c68416;border-color:#c68416}.crumb.back{margin-bottom:12px;text-decoration:none;display:inline-block}.undo-bar{background:var(--neutral-800);color:var(--neutral-50);border-radius:18px;align-items:center;gap:14px;margin-bottom:12px;padding:12px 18px;font-size:13px;display:flex}.undo-bar button{color:var(--acid-300);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.jrn-wrap{padding-left:10px;padding-right:10px;overflow-x:auto}.jrn-grid{grid-template-columns:40px repeat(var(--cols,7), minmax(112px, 1fr));align-items:start;gap:9px 5px;display:grid}.jrn-rule{background:var(--hairline-soft,#00000012);grid-column:1/-1;height:1px}.jrn-grid .time,.jrn-grid .hd.corner{z-index:2;background:var(--panel,#fff);box-shadow:0 -6px 0 0 var(--panel,#fff), 0 6px 0 0 var(--panel,#fff);position:sticky;left:0}.jrn-grid .hd{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-subtle);text-align:center;padding:4px 4px 10px;font-size:9.5px}.jrn-grid .hd b{letter-spacing:0;color:var(--fg);font-size:14px;font-family:var(--font-sans);display:block}.jrn-grid .hd.today b,.jrn-grid .hd.today{color:var(--rise-blue)}.jrn-grid .time{font-family:var(--font-mono);color:var(--fg-subtle);text-align:right;padding:8px 5px 0 0;font-size:9.5px}.jrn-grid .slot{background:var(--page-bg,#f4f4f5);opacity:.45;border-radius:14px;min-height:52px}.slot-stack{flex-direction:column;gap:4px;display:flex}a.les{background:color-mix(in srgb, var(--c) 12%, white);min-height:52px;color:var(--fg);border-left:3px solid var(--c);border-radius:12px;padding:7px 8px;font-size:11.5px;line-height:1.35;text-decoration:none;display:block;overflow:hidden}a.les:hover{background:color-mix(in srgb, var(--c) 22%, white)}a.les b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}a.les small{opacity:.7;font-size:10px;font-family:var(--font-mono);display:block}a.les .who{opacity:.65;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;display:block;overflow:hidden}a.les.gap{border-left-color:#d84a3d;box-shadow:inset 0 0 0 1px #d84a3d59}a.les.done{opacity:.82}.wk-range{font-size:15px}.seg{background:var(--neutral-chip-bg);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.seg a{color:var(--fg-muted);border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700;text-decoration:none}.seg a.on{background:var(--neutral-0);color:var(--fg);box-shadow:var(--shadow-sm)}.month{grid-template-columns:repeat(7,minmax(112px,1fr));gap:5px;display:grid}.month .hd{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-subtle);text-align:center;padding:4px;font-size:9.5px}.mday{background:var(--page-bg,#f4f4f5);border-radius:14px;flex-direction:column;gap:3px;min-height:104px;padding:6px;display:flex}.mday.out{background:0 0}.mday .num{color:var(--fg-subtle);padding:0 2px;font-size:11px;font-weight:700}.mday.today{box-shadow:inset 0 0 0 2px var(--rise-blue)}.mday.today .num{color:var(--rise-blue)}a.mles{color:var(--fg);background:color-mix(in srgb, var(--c) 14%, white);border-left:2px solid var(--c);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;padding:3px 6px;font-size:10.5px;line-height:1.3;text-decoration:none;display:block;overflow:hidden}a.mles:hover{background:color-mix(in srgb, var(--c) 26%, white)}a.mles i{font-family:var(--font-mono);opacity:.65;font-size:9.5px;font-style:normal}a.mles.gap{border-left-color:#d84a3d}.mday .more{color:var(--fg-subtle);padding:0 4px;font-size:10px;text-decoration:none}.mday .more:hover{color:var(--rise-blue)}.jrn-filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.fl-group{background:var(--neutral-chip-bg);border-radius:999px;flex-wrap:wrap;gap:4px;padding:3px;display:inline-flex}.fl-group .chip{background:0 0}.fl-group .chip:hover{background:var(--neutral-0)}.fl-group .chip.on{background:var(--rise-blue);color:#fff}.jrn-filters .chip b{opacity:.7;margin-left:2px;font-weight:700}.fl-find{align-items:center;gap:6px;display:flex}.fl-find input{font:inherit;color:var(--fg);background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:999px;min-width:240px;padding:7px 14px;font-size:12px;font-weight:600}.fl-find input:focus-visible{outline:2px solid var(--rise-blue);outline-offset:1px}.jrn-filters button{cursor:pointer}.sidebar .nav-item,.sidebar .nav-item:hover{text-decoration:none}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.head-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:4px;display:flex}.head-row .tabs{margin-bottom:0}.head-row .search{margin:0 0 0 auto}.tabs{background:var(--panel,#fff);width:fit-content;max-width:100%;box-shadow:var(--shadow-xs);border-radius:999px;gap:4px;margin-bottom:16px;padding:5px;display:flex;overflow-x:auto}.tabs a{white-space:nowrap;color:var(--fg-muted);border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-flex}.tabs a:hover{color:var(--fg)}.tabs a.on{background:var(--neutral-800);color:var(--neutral-50)}.tabs .cnt{font-family:var(--font-mono);background:var(--neutral-chip-bg);color:var(--fg-subtle);border-radius:999px;padding:3px 8px;font-size:10px}.tabs a.on .cnt{color:var(--neutral-50);background:#ffffff29}.lvl-block-gap,.page>section+section{margin-top:36px}.lvl-head{align-items:center;gap:10px;margin:0 0 12px;display:flex}.page>section:first-of-type{margin-top:16px}.lvl-head .swatch{border-radius:4px;flex:none;width:11px;height:11px}.lvl-head h4{margin:0;font-size:13px;font-weight:800}.lvl-head .cnt{font-family:var(--font-mono);background:var(--neutral-chip-bg);color:var(--fg-subtle);border-radius:999px;padding:3px 9px;font-size:10px}.bar{background:var(--chart-track,#ececec);border-radius:999px;flex:1;min-width:64px;height:8px;overflow:hidden}.bar>i{border-radius:999px;height:100%;display:block}.bar.g>i{background:#10916a}.bar.w>i{background:#c68416}.bar.r>i{background:#d84a3d}.fill-lbl{font-variant-numeric:tabular-nums;align-items:center;gap:11px;min-width:150px;display:flex}.tbl-wrap{overflow-x:auto}.grid.three-col{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.g-row{align-items:stretch;gap:14px;display:flex}.lvl-bar{border-radius:999px;flex:none;align-self:stretch;width:4px}.grp-h{align-items:center;gap:10px;display:flex}.grp-h h4{margin:0;font-size:13px;font-weight:800}.grp-h .meta{color:var(--fg-muted);font-size:11.5px}.grp-when{color:var(--fg-muted);margin-top:12px;font-size:12.5px}.grp-body{align-items:center;gap:12px;margin-top:12px;display:flex}.grp-tags{margin-top:10px}.stu small{color:var(--fg-subtle);font-size:11px;display:block}td.ends.soon{color:#b45309;font-weight:700}.danger{background:var(--danger-bg,#fcebec);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding:16px 20px;display:flex}.danger b{font-size:13px;display:block}.danger small{color:var(--fg-muted);margin-top:3px;font-size:12px;display:block}.btn.danger-btn{background:var(--danger-fg,#b42318);color:#fff;cursor:pointer;border:0}.role-form{align-items:center;gap:6px;display:flex}.role-form select{font:inherit;color:var(--fg);background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.role-form select:focus-visible{outline:2px solid var(--rise-blue);outline-offset:1px}tr.off{opacity:.5}.sets{grid-template-columns:1.15fr 1fr;align-items:start;gap:18px;display:grid}@media (max-width:1100px){.sets{grid-template-columns:1fr}}.sets tr.picked{background:var(--blue-50)}.sets .long{color:#b45309;font-weight:700}.sets td small{font-size:10.5px}.page-head .seg.kinds{margin-left:auto}.seg.kinds b{opacity:.55;margin-left:3px;font-weight:700}.stu .g-tags{gap:4px;display:inline-flex}table.fixed{table-layout:fixed}table.fixed td,table.fixed th{text-overflow:ellipsis;overflow:hidden}table.fixed td .stu{min-width:0}.sidebar .nav-item.on{background:var(--blue-50);color:var(--rise-blue)}.sidebar .nav-item.on .ic{color:var(--rise-blue)}.crumb.back{color:var(--fg-muted);margin-bottom:10px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block}.crumb.back:hover{color:var(--rise-blue)}.page{padding-top:6px}
