.lo .lo-drawer:has(>.so){width:780px}.lo-layer:has(>.lo-drawer>.so){pointer-events:auto;background:rgba(20,24,34,.45);transition:background .24s ease;animation:so-scrim-in .28s ease}.lo-layer:has(>.lo-drawer.is-closing>.so){pointer-events:none;background:transparent}@keyframes so-scrim-in{0%{background:transparent}}@media (prefers-reduced-motion:reduce){.lo-layer:has(>.lo-drawer>.so){transition:none;animation:none}}.lo .so{display:flex;flex-direction:column;gap:18px}.lo .so section{min-width:0}.lo .so-head{display:flex;align-items:center;gap:12px;padding-right:36px}.lo .so-who{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.lo .so-head h2{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:21px}.lo .so-head h2>.small{font-weight:400}.lo .so-name-line{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:4px 8px;min-width:0}.lo .so-name-line>.small{font-weight:400}.lo .so-head-actions{display:flex;align-items:center;gap:4px}.lo .so-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:12px 24px;gap:12px 24px;padding:12px 16px;border-radius:10px;background:#f6f8fa;font-size:14px}.lo .so-info>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.lo .so-memo{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;white-space:pre-wrap;word-break:keep-all}.lo .so-sib{display:inline-flex;padding:0;border:0;border-radius:999px;background:none;font:inherit;cursor:pointer}.lo .so-sib:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}.lo .so-monthbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:8px 12px;border-radius:10px;background:#f6f8fa}.lo .so-month-step .ui-iconbtn--outline{background:var(--surface)}.lo .so-month-step{display:flex;align-items:center;gap:8px}.lo .so-month-step b{font-size:16px}.lo .so-month-chips{display:flex;gap:2px;padding:3px;border-radius:9px;background:var(--surface);box-shadow:0 0 0 1px var(--line)}.lo .so-month-chips button{padding:4px 9px;border:0;border-radius:7px;background:none;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}.lo .so-month-chips button:hover{color:var(--ink)}.lo .so-month-chips button.is-on{background:var(--ink);color:#fff;font-weight:700}.lo .so-month-chips button:focus-visible{outline:2px solid var(--accent-bright);outline-offset:1px}.lo .so-month-body{display:flex;flex-direction:column;gap:18px;transition:opacity var(--motion-fast)}.lo .so-month-body.is-busy{opacity:.6}.lo .so-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lo .so-kpis .kpi{padding:12px 14px;border:0;background:#f6f8fa;box-shadow:none}.lo .so-kpis .kpi b{font-size:22px}.lo .so-kpis .lo-danger-text,.lo .so-kpis b.so-tone-red{color:var(--danger)}.lo .so-kpis b.so-tone-blue{color:var(--accent)}.lo .so-kpis b.so-tone-green{color:var(--ok)}.lo .so-kpis b.so-tone-gold{color:var(--warn)}.lo .so-kpis .so-trend{display:block;margin-top:2px}.lo .so-kpis .so-trend.is-down{color:var(--danger)}.lo .so-kpis .so-trend.is-up{color:var(--ok)}.lo .so-sec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px}.lo .so-sec-head h3{margin:0;font-size:15px}.lo .so-sec-head .ui-button{margin-left:auto}.lo .so .ui-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.lo .so-empty{margin:0;padding:12px;border:1px dashed var(--line);border-radius:8px;text-align:center}.lo .so-tab-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:2px 0 10px}.lo .so-tab-head>.small:first-child{flex:1 1;min-width:200px}.lo .so-tab-head b{color:var(--ink)}.lo .so-tab-head b.lo-danger-text{color:var(--danger)}.lo .so-classes{margin:0;padding:0;border:1px solid var(--line);border-radius:10px;list-style:none}.lo .so-classes li{display:grid;grid-template-columns:minmax(0,1.2fr) 96px minmax(0,1.6fr) auto;align-items:center;grid-gap:4px 12px;gap:4px 12px;min-height:48px;padding:6px 8px 6px 16px}.lo .so-classes li+li{border-top:1px solid var(--line)}.lo .so-when-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lo .so-table{overflow-x:auto;border-bottom:1px solid var(--line)}.lo .so-table thead th{background:#f6f8fa}.lo .so-table tr.sel td{background:var(--accent-soft)}.lo .so .bulk .ui-button.so-bulk-white,.lo .so .bulk .ui-button.so-bulk-white:hover{border-color:var(--surface);background:var(--surface);color:var(--ink);font-weight:600}.lo .so-tab-head b.so-unread{color:var(--warn)}.lo .so-table table{min-width:560px}.lo .so-table tr:last-child td{border-bottom:0}.lo .so-table tr.so-row{cursor:pointer}.lo .so-table tr.so-row:hover td{background:var(--canvas)}.lo .so-table td.so-low{color:var(--alert);font-weight:700}.lo .so-table .so-line{display:block}.lo .so-table .so-notice-line{display:block;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lo .so .bulk{margin:0 0 8px}.lo .so .ui-pager{margin-top:8px}.lo .so-table td.so-num,.lo .so-table th.so-num{text-align:right;white-space:nowrap}.lo .so-table td.so-when{white-space:nowrap}.lo .so .so-link{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.lo .so .so-title{overflow:hidden;color:inherit;text-overflow:ellipsis;white-space:nowrap}.lo .so .so-under{margin:6px 0 0}.lo .so-att{--so-present:var(--ok);--so-late:var(--warn);--so-absent:var(--danger);--so-excused:var(--info);--so-upcoming:var(--line-strong)}.lo .so-att-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:2px 0 10px}.lo .so-att-head>b{font-size:18px}.lo .so-att-head>b.so-low{color:var(--danger)}.lo .so-att-n{font-size:13px}.lo .so-att-n.is-late{color:var(--warn)}.lo .so-att-n.is-absent{color:var(--danger)}.lo .so-legend{display:flex;flex-wrap:wrap;gap:2px 10px;margin-left:auto;color:var(--muted);font-size:12px}.lo .so-cal li:before,.lo .so-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%;background:var(--so-dot,var(--so-upcoming));vertical-align:1px}.lo .so-att .is-present{--so-dot:var(--so-present)}.lo .so-att .is-late{--so-dot:var(--so-late)}.lo .so-att .is-absent{--so-dot:var(--so-absent)}.lo .so-att .is-excused{--so-dot:var(--so-excused)}.lo .so-att .is-upcoming{--so-dot:var(--so-upcoming)}.lo .so-cal-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.lo .so-cal{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed}.lo .so-cal th{padding:6px;border-bottom:1px solid var(--line);background:var(--canvas);color:var(--muted);font-size:12px;font-weight:600;text-align:center}.lo .so-cal td{height:77px;padding:4px 5px;border-width:1px;border-left:0 solid var(--line);border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-top:0 solid var(--line);vertical-align:top}.lo .so-cal tr:last-child td{border-bottom:0}.lo .so-cal td:last-child{border-right:0}.lo .so-cal td.is-out{background:var(--canvas)}.lo .so-cal td.is-today{box-shadow:inset 0 0 0 2px var(--accent-bright)}.lo .so-cal-day{display:block;margin-bottom:2px;font-size:12px;font-weight:600}.lo .so-cal td.is-sun .so-cal-day{color:var(--danger)}.lo .so-cal ul{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.lo .so-cal li{display:flex;align-items:center;gap:2px;padding:1px 3px;border-radius:4px;font-size:11px;line-height:1.35}.lo .so-cal li.is-absent{background:var(--danger-soft)}.lo .so-cal li.is-late{background:var(--warn-soft)}.lo .so-cal li b{margin-left:auto;padding-left:2px;color:var(--so-dot);font-weight:600;white-space:nowrap}.lo .so-cal li.is-upcoming b{color:var(--muted)}.lo .so-cal-class{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.lo .so-att-list-head{margin-top:14px}.lo .so-missed{margin:0;padding:0;border:1px solid var(--line);border-radius:8px;list-style:none}.lo .so-missed li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 12px;font-size:13px}.lo .so-missed li+li{border-top:1px solid var(--line)}.lo .so-missed .so-when{color:var(--muted);white-space:nowrap}.lo .so-watch{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.lo .so-bar{position:relative;display:inline-block;overflow:hidden;width:72px;height:6px;border-radius:3px;background:var(--line)}.lo .so-bar i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--accent-bright)}.lo .so-bar i.is-done{background:var(--ok)}.lo .so-rmonths{gap:8px;margin:0;padding:0;list-style:none}.lo .so-rmonth,.lo .so-rmonths{display:flex;flex-direction:column}.lo .so-rmonth{gap:6px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.lo .so-rmonth.is-now{border-color:#dfe3f2;background:#edf2fe}.lo .so-rmonth-line .so-rmonth-open{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.lo .so-rmonth-line .so-rmonth-open:hover b{color:var(--accent)}.lo .so-rmonth-line{display:flex;align-items:center;gap:10px;color:var(--muted)}.lo .so-rmonth-line>svg{flex:none}.lo .so-rmonth-line .t{display:flex;flex:1 1;flex-direction:column;min-width:0;font-size:13px}.lo .so-rmonth-line b{color:var(--ink);font-size:14px}.lo .so-rclass-row{display:flex;align-items:center;gap:10px;padding-left:24px}.lo .so-rclass-row .t{display:flex;flex:1 1;flex-direction:column;min-width:0;font-size:13px}.lo .so-rstate{color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}.lo .so-rclass .so-report-body{margin:6px 0 0 24px}.lo .so-report-body{padding:10px 12px;border-radius:8px;background:var(--canvas);font-size:13px}.lo .so-report-body p{margin:2px 0 8px;white-space:pre-wrap}.lo .so-report-body p:last-child{margin-bottom:0}@media (max-width:720px){.lo .so-head{align-items:flex-start}.lo .so-head h2{gap:4px 6px;word-break:keep-all}.lo .so-head .so-sib{order:3;flex-basis:100%}.lo .so-head-actions{flex:none}.lo .so .bulk{flex-wrap:nowrap;gap:6px;padding:8px 10px}.lo .so .bulk .bulk-clear,.lo .so .bulk .ui-button,.lo .so .bulk>b{flex:none;white-space:nowrap}.lo .so .bulk .so-bulk-excel{padding:0 8px}.lo .so .bulk .so-bulk-excel>span{display:none}.lo .so-info{grid-template-columns:minmax(0,1fr)}.lo .so-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.lo .so-classes li{grid-template-columns:minmax(0,1fr) auto auto}.lo .so-classes .so-when-line{grid-column:1/-1;grid-row:2}.lo .so-classes li{padding:11px 8px 10px 16px}.lo .so-classes li>:last-child{grid-row:1/span 2;grid-column:3;align-self:center}.lo .so-classes li>.so-when-line{grid-column:1/3}.lo .so-month-chips{width:100%;justify-content:space-between}.lo .so-legend{width:100%;margin-left:0}.lo .so-cal{min-width:0}.lo .so-cal td{height:48px;padding:3px}.lo .so-cal ul{flex-flow:row wrap}.lo .so-cal li,.lo .so-cal li.is-absent,.lo .so-cal li.is-late{padding:0;background:none}.lo .so-cal li:before{margin-right:0}.lo .so-cal li b,.lo .so-cal-class{display:none}.lo .so-rmonth-line{flex-wrap:wrap}.lo .so-rmonth-line .t{flex:1 1 60%}.lo .so-rclass-row{flex-wrap:wrap;padding-left:0}.lo .so-rclass-row .t{flex-basis:100%}.lo .so-rclass .so-report-body{margin-left:0}}.lo .so>.so-month-body{margin-top:-7px}.lo .so-kpis .kpi b{line-height:1.25}.lo .so-info b{font-size:15px}.lo .so-sec-head h3{font-size:16px}.lo .so-classes li{min-height:55px}.lo .so-classes .so-title b{font-size:15px}.lo .so-table tbody td{padding-top:11px;padding-bottom:11px}.lo .so-hw td :is(b.so-line,.so-link>b){font-weight:400}.lo .so-table .so-mark{color:var(--muted);font-size:13px}.lo .so-head h2{font-size:22px}.lo .so-who>.small{font-size:13px}.lo .so-head h2 .ui-pill,.lo .so-monthbar .ui-pill{border-radius:6px}.lo .so-head .so-sib .ui-pill{padding:2px 6px;border-radius:5px;font-size:12px}.lo .so-info{padding:10px 16px;border-radius:12px;line-height:1.4}.lo .so-info>div{gap:0}.lo .so-info>div>.small:first-child{font-weight:500}.lo .so-memo{gap:4px}.lo .so-memo .ui-button{height:auto;min-height:0;padding:0}.lo .so-kpis .kpi b{font-size:18px}.lo .so-sec-head .ui-button{font-size:13px}.lo .so-hw td :is(b.so-line,.so-link>b){font-weight:500}.lo .so-tab-head>.small:first-child{font-size:14px}@media (min-width:721px){.lo .so .bulk{padding:7px 12px 7px 16px;border-radius:10px}.lo .so-table:is(.so-hw,.so-notices) table{table-layout:fixed}.lo .so-table:is(.so-hw,.so-notices) th.lo-small-w{width:40px}.lo .so-hw th:nth-child(2){width:39%}.lo .so-hw th:nth-child(3){width:17.6%}.lo .so-hw th:nth-child(4){width:19.3%}.lo .so-hw th.so-num{text-align:left}}.lo .so-rmonth{padding:13px 16px 13px 19px;border-radius:12px}.lo .so-rmonth-line{gap:12px}.lo .so-rmonth-line>svg{width:14px;height:14px;color:#4b5563}.lo .so-videos th:first-child{width:29%}.lo .so-videos th:nth-child(2){width:12.7%}.lo .so-notices th:nth-child(2){width:17.6%}.lo .so-notices th:nth-child(3){width:14.9%}.lo .so-notices th:nth-child(4){width:14.8%}.lo .so-notices th:nth-child(5){width:35.6%}.lo .so-notices tbody td{padding-top:13px;padding-bottom:13px}.lo .so-tab-head .so-pick-unread[aria-pressed=true]{background:var(--canvas)}