.horizontal-table-scroll{scrollbar-width:none}.horizontal-table-scroll::-webkit-scrollbar{display:none}.horizontal-table-scroll[data-table-overflow]{padding-bottom:20px}.floating-table-scrollbar{position:fixed;z-index:30;overflow-x:scroll;overflow-y:hidden;height:20px;background:var(--surface-card);scrollbar-width:thin;scrollbar-color:var(--color-ink3) var(--color-soft)}.floating-table-scrollbar::-webkit-scrollbar{height:12px}.floating-table-scrollbar::-webkit-scrollbar-thumb{background:var(--color-ink3);border-radius:8px}.floating-table-scrollbar::-webkit-scrollbar-track{background:var(--color-soft)}.app-sidebar>nav{min-height:0;scrollbar-width:none}.app-sidebar>nav::-webkit-scrollbar{display:none}.portrait-group-layout{min-width:0;width:100%}.portrait-table-search{width:240px;min-width:0}.portrait-risk-editor,.portrait-marker-editor{min-width:0}.portrait-passport-person{padding:0 16px;align-items:center;gap:10px}.portrait-passport-person>div:first-child{flex:1}.portrait-marker-popover,.portrait-marker-dismiss{position:absolute}.portrait-groups-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1150px){.portrait-groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1099px){.portrait-group-content{--portrait-add-columns: repeat(2, minmax(0, 1fr))}}@media(max-width:700px){.app-shell[data-role=TEACHER]>main{width:100%;min-width:0}.app-shell[data-role] .portrait-refined.portrait-group-layout{padding:12px;--portrait-name-width: 152px;--portrait-header-action-padding: 12px;--portrait-add-columns: minmax(0, 1fr);--portrait-risk-list-width: 100%;--portrait-marker-list-width: 100%;--portrait-marker-list-basis: auto;--portrait-risk-list-basis: auto}.portrait-group-content>*{min-width:0}.portrait-group-layout>.portrait-header .portrait-actions{width:100%;gap:8px}.portrait-group-layout>.portrait-header .portrait-actions>button{flex:1}.portrait-group-layout .portrait-header h1{font-size:22px;overflow-wrap:anywhere}.portrait-group-layout>.portrait-tabs{gap:20px;scrollbar-width:none;scroll-padding-inline:4px}.portrait-group-layout>.portrait-tabs .portrait-tab{flex-shrink:0;min-height:44px;display:inline-flex;align-items:center}.portrait-group-layout>.portrait-tabs::-webkit-scrollbar{display:none}.portrait-group-layout .portrait-tab:focus-visible{outline:none;background:var(--blue-75);border-radius:6px 6px 0 0}.portrait-passport-tools{flex-wrap:wrap}.portrait-passport-tools>div:first-child{width:100%}.portrait-passport-tools>div:nth-child(2){display:none}.portrait-group-layout .portrait-table-search{width:100%;flex:1 0 100%}.portrait-group-layout .portrait-table-scroll{scrollbar-width:none}.portrait-group-layout .portrait-table-scroll::-webkit-scrollbar{display:none}.portrait-group-layout .top-scrollbar{display:none}.portrait-risk-editor,.portrait-marker-editor{flex-direction:column}.portrait-risk-editor>div:first-child,.portrait-marker-editor>div:first-child{max-height:240px}.portrait-risk-person{flex-direction:column}.portrait-risk-person>div:first-child{min-width:0;width:100%}.app-shell[data-role=TEACHER] main input,.app-shell[data-role=TEACHER] main textarea{scroll-margin-block:80px}.app-shell[data-role=TEACHER] main p,.app-shell[data-role=TEACHER] main h1,.app-shell[data-role=TEACHER] main h2{overflow-wrap:anywhere}.app-shell[data-role=TEACHER] .app-sidebar nav{scrollbar-width:none}.app-shell[data-role=TEACHER] .app-sidebar nav::-webkit-scrollbar{display:none}.portrait-passport-person{flex-direction:column;align-items:stretch;justify-content:center;padding-inline:10px;gap:0}.portrait-passport-person>div:first-child{flex:none}.app-shell[data-role] .portrait-refined.portrait-group-layout{--portrait-marker-fields: minmax(0, 1fr)}.portrait-marker-person{flex-wrap:wrap}.portrait-marker-person>div:first-child{min-width:0;width:100%}.portrait-risk-field-heading{flex-direction:column}.portrait-risk-field-heading>div{max-width:100%}.portrait-group-layout .portrait-group-content{--portrait-add-columns: minmax(0, 1fr)}html:has(.app-shell[data-role=TEACHER]){scrollbar-gutter:auto;scrollbar-width:none}html:has(.app-shell[data-role=TEACHER])::-webkit-scrollbar{display:none}.portrait-group-layout .portrait-filter{white-space:nowrap}.portrait-group-layout .portrait-actions>.portrait-search{width:100%}.app-shell[data-role=TEACHER] .portrait-tabs{scrollbar-width:none}.app-shell[data-role=TEACHER] .portrait-tabs::-webkit-scrollbar{display:none}.portrait-group-layout{--segmented-option-padding: 8px;--segmented-option-height: 36px;--portrait-marker-popover-left: 12px;--portrait-marker-popover-top: 50%;--portrait-marker-popover-width: calc(100vw - 24px) ;--portrait-marker-values-height: calc(100dvh - 200px) }.portrait-marker-popover{position:fixed;transform:translateY(-50%);max-height:calc(100dvh - 24px)}.portrait-marker-dismiss{position:fixed}.portrait-notifications{--notification-page-flex: 0 0 auto}.portrait-notification-footer{flex-wrap:wrap}.portrait-notification-footer>div:nth-child(2){display:none}.portrait-notification-footer>div:last-child{width:100%}.portrait-groups-grid{grid-template-columns:minmax(0,1fr)}.portrait-table-footer{flex-wrap:wrap}.portrait-table-footer>div:first-child{width:100%}.portrait-table-footer>div:nth-child(2){display:none}.portrait-passport-footer>div:last-child{display:none}}@media(max-width:360px){.app-shell[data-role] .portrait-refined.portrait-group-layout{padding:8px;--portrait-name-width: 136px;--portrait-header-action-padding: 9px}.portrait-group-layout>.portrait-header .portrait-actions>button{font-size:11px;padding-inline:9px}}.auth-screen{--color-primary: #5566e8;--color-ink2: #74798f;--color-ink3: #8a90a3;--color-field-border: #d5d9e4}.auth-brand{position:relative;isolation:isolate;overflow:hidden;background:var(--color-primary)}.auth-panel{height:100%;max-height:100%}.auth-form-column{overscroll-behavior-y:contain;scrollbar-gutter:stable}.auth-form-column>div{flex-shrink:0}.auth-brand>*{position:relative;z-index:1}.auth-brand .text-ink{color:#fff}.auth-brand .text-ink2{color:#e8ecff}.auth-brand .text-ink3{color:#e0e5ff}.auth-brand:before,.auth-brand:after{content:"";position:absolute;pointer-events:none;z-index:0}.auth-brand:before{width:clamp(340px,38vw,720px);aspect-ratio:1;right:-27%;bottom:-19%;border-radius:50%;border:1px solid rgb(194 204 255 / 9%);background:#aab9ff05;box-shadow:0 0 0 52px #aab9ff05,0 0 0 53px #c2ccff0f,0 0 0 108px #aab9ff04,0 0 0 109px #c2ccff0a}.auth-brand:after{width:58%;height:36%;right:-19%;top:-12%;border:1px solid rgb(194 204 255 / 7%);border-radius:32px;transform:rotate(-30deg);box-shadow:-42px 42px 0 -1px #aab9ff05}.auth-passwords>div{flex:1}.auth-screen button:focus-visible{outline:2px solid #5566e8;outline-offset:3px}@media(max-width:1099px){.auth-brand:before{width:320px;right:-170px;bottom:-200px}.auth-brand:after{opacity:.5}}@media(max-width:380px){.auth-passwords{flex-direction:column}}@media(prefers-reduced-motion:reduce){.auth-screen{animation:none}}.department-page{--dept-line: #e7e9f2;--dept-muted: #74798f;display:flex;flex-direction:column;gap:22px;min-width:0;color:var(--color-ink, #172441);font-size:14px;line-height:1.5}html:has(.department-page){scrollbar-gutter:stable}.department-page>header h1{font-size:30px;letter-spacing:-.035em}:where(.department-page>header) button{background:var(--color-primary, #5956e9);color:#fff;border-radius:8px}.department-page>.dept-tabs{display:flex;gap:28px;border-bottom:1px solid var(--dept-line);overflow:auto;scrollbar-width:none}.department-page>.dept-tabs::-webkit-scrollbar{display:none}.dept-tabs button,.dept-tabs a{padding:0 0 14px;border-bottom:2px solid transparent;white-space:nowrap;color:var(--dept-muted);font-size:14px;cursor:pointer}.dept-tabs button[aria-pressed=true],.dept-tabs a[aria-current=page]{border-color:var(--color-primary, #5956e9);color:var(--color-primary, #5956e9);font-weight:600}.department-page>.dept-filters{border:1px solid var(--dept-line);border-radius:12px;padding:18px 20px}.dept-filter-fields{display:grid;grid-template-columns:1.2fr 1.4fr .7fr auto;gap:14px;align-items:end}.dept-filter-fields>*{min-width:0}.dept-filter-buttons{display:flex;gap:8px;align-items:center}.dept-filter-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;color:var(--dept-muted);font-size:11px}.dept-panel{border:1px solid var(--dept-line);border-radius:13px;background:var(--color-surface, #fff);padding:24px;min-width:0;scroll-margin-top:20px}.dept-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.dept-panel-heading{flex:1;min-width:0}.dept-panel-heading h2{font-size:17px;font-weight:600;letter-spacing:-.02em}.dept-subtitle{font-size:12px;color:var(--dept-muted);margin-top:6px}.dept-panel-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.dept-collapse{height:36px;width:36px;border:1px solid var(--dept-line);border-radius:8px;background:#f8f8fc;color:#73758f;font-size:20px;line-height:1;cursor:pointer}.dept-collapse:hover{background:#eeedff;color:var(--color-primary, #5956e9)}.dept-panel.is-collapsed .dept-panel-head{margin-bottom:0;align-items:center}.dept-panel-body{display:flex;flex-direction:column;gap:14px;min-width:0}.dept-panel-body[hidden]{display:none}:where(.department-page) button:focus-visible,:where(.department-page) summary:focus-visible{outline:3px solid #aaa7fb;outline-offset:3px}.dept-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dept-metric{position:relative;border:1px solid var(--dept-line);border-radius:12px;background:var(--color-surface, #fff);padding:20px 22px;display:flex;flex-direction:column;min-width:0;text-align:left}.dept-metric-title{font-size:13px;color:#696e86;min-height:20px}.dept-metric strong{font-size:34px;letter-spacing:-.04em;font-weight:600;line-height:1.25;margin:8px 0 6px}.dept-metric-note{font-size:12px;color:var(--dept-muted)}.dept-metric-arrow{position:absolute;right:16px;top:18px;color:#aaa6cb}button.dept-metric{cursor:pointer}button.dept-metric:hover{border-color:#bab7f0}.department-page .dept-table-scroll{overflow:auto;max-width:100%}.department-page table{width:100%;border-collapse:collapse;table-layout:auto;text-align:left}.department-page th{background:#fafafe;color:#757b91;font-size:11px;font-weight:500;line-height:1.5;white-space:normal;padding:10px 12px}.department-page td{border-bottom:1px solid var(--dept-line);padding:12px;font-size:13px;color:#535972;vertical-align:top;line-height:1.6}.department-page tbody tr:last-child td{border-bottom:0}.department-page .dept-cell{min-width:0;overflow-wrap:anywhere}.department-page th:first-child{min-width:130px}.department-page .dept-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--dept-line);padding-top:12px;margin-top:12px;color:var(--dept-muted);font-size:12px}.dept-pagination>div{display:flex;gap:10px;align-items:center}.dept-pagination button{border:1px solid var(--dept-line);border-radius:7px;padding:6px 10px;cursor:pointer;background:#fff}.dept-pagination button:disabled{opacity:.45;cursor:default}.dept-group-tools,.dept-chips{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.dept-group-tools{margin-bottom:4px}.dept-group-tools>span{margin-left:auto}.dept-group-task-filter{min-height:40px}.dept-group-tools input[type=search]{width:230px;max-width:100%;padding:9px 12px;border:1px solid #dfe2ed;border-radius:8px;background:#fcfcfe;color:var(--color-ink, #172441);font-size:13px}.dept-group-tools label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--dept-muted)}.dept-chip{border:1px solid transparent;border-radius:7px;background:#f4f4f9;color:#72778e;padding:8px 12px;font-size:13px;cursor:pointer}.dept-chip[aria-pressed=true]{background:#eeedff;color:var(--color-primary, #5956e9)}.dept-task{display:flex;align-items:center;gap:12px;text-align:left;border-bottom:1px solid var(--dept-line);padding:10px 0;width:100%;cursor:pointer}.dept-task:last-child{border-bottom:0}.dept-task-count{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#faf1e3;color:#9b702f;font-size:17px;flex-shrink:0}.dept-task>span:last-child{margin-left:auto;color:#9f9abe}.dept-task small{display:block;color:var(--dept-muted);font-size:12px}.dept-issues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dept-issue{border:1px solid #eededb;background:#fffdfc;border-radius:10px;padding:18px;min-width:0}.dept-issue h3{font-weight:600}.dept-issue>p{font-size:12px;color:#b65454;margin:10px 0}.department-page details>summary{cursor:pointer;min-height:32px;color:#5956e9}.department-page details .dept-table-block{margin-top:12px}@media(max-width:1200px){.dept-filter-fields{grid-template-columns:1fr 1fr .65fr}.dept-filter-buttons{grid-column:1 / -1}.dept-metric{padding:18px}.dept-metric strong{font-size:30px}.dept-panel{padding:20px}.department-page .grid.app\:grid-cols-2,.dept-issues{grid-template-columns:1fr}}@media(max-width:700px){.dept-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dept-filter-fields{grid-template-columns:1fr}.dept-filter-buttons{grid-column:auto}.dept-panel{padding:18px 16px}.dept-panel-actions{gap:6px}.dept-panel-head{gap:10px}.dept-panel-heading h2{font-size:16px}.dept-metric{padding:16px 14px}.dept-metric-title{min-height:36px;font-size:12px}.dept-metric strong{font-size:29px}.department-page>.dept-tabs{gap:18px}.dept-tabs button,.dept-tabs a{font-size:12px}.department-page table,.department-page tbody,.department-page tr{display:block;width:100%}.department-page thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.department-page tbody tr{padding:10px 12px;border:1px solid var(--dept-line);border-radius:9px;margin-bottom:12px}.department-page tbody tr:last-child{border:1px solid var(--dept-line);margin-bottom:0}.department-page td{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;padding:8px 0;font-size:13px}.department-page td:before{content:attr(data-label);font-size:11px;color:var(--dept-muted);overflow-wrap:anywhere}.department-page td:last-child{border:0}.dept-group-tools{align-items:center}.dept-group-tools input[type=search]{width:100%}.dept-group-tools label:has(input[type=search]){width:100%}.department-page .dept-pagination{flex-wrap:wrap}.dept-panel .dept-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.department-page *{scroll-behavior:auto}}.dept-issue-detail{padding:12px 0;border-bottom:1px solid var(--dept-line);font-size:12px}.department-attendance h2{font-size:17px;font-weight:600;letter-spacing:-.02em}.department-attendance .dept-panel p{color:var(--dept-muted);line-height:1.6}.department-attendance .da-group>summary{color:var(--color-ink)}.da-loading{min-height:400px}.da-date{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--dept-muted, var(--color-ink2))}.da-date-button{display:flex;align-items:center;gap:22px;height:44px;border:1px solid var(--color-field-border);border-radius:10px;padding:0 12px;color:var(--color-ink2);background:var(--color-surface);cursor:pointer}.da-panel-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.da-panel-heading p{font-size:12px;margin-top:6px}.da-provisional{font-size:11px;color:var(--status-free-fg);background:var(--status-free-bg);padding:6px 10px;border-radius:8px}.da-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.da-reason-card{--reason-accent: var(--color-primary);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;min-width:0;border:1px solid var(--color-divider);border-radius:14px;padding:16px 18px 12px;background:var(--color-field);transition:border-color .15s,background .15s}.da-reason-card[data-tone=red]{--reason-accent: var(--color-alert-fg)}.da-reason-card[data-tone=amber]{--reason-accent: var(--color-peach-fg)}.da-reason-card[data-tone=purple]{--reason-accent: var(--color-lilac-fg)}.da-reason-card[data-empty=false]:is(:hover,:focus-within){border-color:var(--reason-accent);background:var(--color-surface)}.da-reason-card[data-empty=true]{background:var(--color-surface)}.da-reason-card dt{grid-column:1;min-height:32px;line-height:1.4}.da-reason-card dt>span:last-child{font-size:12px;font-weight:500;color:var(--color-ink)}.da-reason-card dd{display:contents}.da-reason-metric{display:flex;grid-column:2;grid-row:1 / 3;align-self:center;flex-direction:column;align-items:flex-end;gap:4px}.da-reason-metric strong{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--reason-accent)}.da-reason-metric>span{font-size:11px;color:var(--color-ink3)}.da-reason-card[data-empty=true] .da-reason-metric strong{color:var(--color-ink4)}.da-reason-card[data-empty=true] .da-reason-metric>span{display:none}.da-reason-action,.da-reason-empty{display:flex;grid-column:1;grid-row:2;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:32px;margin-top:0;font-size:11px}.da-reason-action{cursor:pointer;color:var(--reason-accent);font-weight:600;text-align:left}.da-reason-action:after{content:"";position:absolute;inset:0;border-radius:14px}.da-reason-action:focus-visible{outline:none}.da-reason-action:focus-visible:after{outline:2px solid var(--color-primary);outline-offset:3px}.da-reason-action:disabled{cursor:wait;opacity:.6}.da-reason-empty{color:var(--color-ink4)}.da-reasons-note{font-size:12px;color:var(--color-ink3);line-height:1.6;margin-top:14px}.da-reason-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-content:start}.da-reason-students[data-paged=true]{min-height:416px}.da-reason-modal{max-height:min(760px,calc(100dvh - 40px))}.da-reason-pagination{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;color:var(--color-ink3);font-size:12px}.da-reason-pages{display:flex;align-items:center;gap:4px}.da-reason-pages button{min-width:36px;min-height:36px;padding:8px 10px}.da-reason-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,2fr);gap:14px;align-items:end}.da-reason-filters input{height:44px;padding:0 14px}.da-reason-filters label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-caps)}.da-reason-filter-status{display:flex;justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;color:var(--color-ink3)}.da-reason-filter-status button{color:var(--color-primary);cursor:pointer}.da-reason-filter-status button:hover{text-decoration:underline}@media(max-width:700px){.da-reason-students[data-paged=true]{min-height:260px}.da-reason-modal{max-height:min(700px,calc(100dvh - 28px))}.da-reason-students,.da-reason-filters{grid-template-columns:minmax(0,1fr)}.da-reason-pagination{flex-wrap:wrap}.da-reason-pages{margin-left:auto}.da-reason-pages button{min-width:40px;min-height:40px}.da-reason-page-word{display:none}}.da-reason-students li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--color-divider)}.da-reason-students li:last-child{border-bottom:0}.da-reason-students :where(li>div){display:flex;flex-direction:column;gap:4px;min-width:0}.da-reason-students strong{font-size:13px;font-weight:600;overflow-wrap:anywhere}.da-reason-students li>div>span{color:var(--color-ink3);font-size:12px}.da-reason-students button{flex-shrink:0}.da-reasons dt,.da-group-reasons dt{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--color-ink2)}.da-mark{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:8px;font-size:10px;flex-shrink:0}.da-mark-blue{background:var(--color-indigo-bg);color:var(--color-primary)}.da-mark-red{background:var(--color-alert-bg);color:var(--color-alert-fg)}.da-mark-amber{background:var(--color-peach-bg);color:var(--color-peach-fg)}.da-mark-purple{background:var(--color-lilac-bg);color:var(--color-lilac-fg)}.da-mark-present{background:var(--color-mint-bg);color:var(--color-mint-fg)}.da-search{width:250px;max-width:100%;min-width:0;height:42px;border:1px solid var(--color-field-border);border-radius:var(--radius-control);padding:0 12px;font:inherit;font-size:12px;background:var(--color-surface)}.da-group-list{display:flex;flex-direction:column;gap:10px}.da-group-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;max-width:100%}.da-status-filter{width:290px;max-width:100%;min-width:0}.da-group{border:1px solid var(--dept-line, var(--color-divider));border-radius:12px;min-width:0}.da-group>summary{display:grid;grid-template-columns:minmax(150px,1fr) repeat(3,minmax(80px,.4fr)) minmax(140px,.7fr) 28px;align-items:center;gap:12px;padding:16px;cursor:pointer;list-style:none}.da-group>summary::-webkit-details-marker{display:none}.da-group-name{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.da-group-name strong{font-size:13px;font-weight:600}.da-group-name small{color:var(--color-ink3);font-size:10px}.da-group-stat{display:flex;flex-direction:column;gap:3px;font-size:18px;text-align:center}.da-group-stat small{font-size:10px;color:var(--color-ink3)}.da-check-state{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--status-free-fg);text-align:right}.da-check-time{font-size:10px;line-height:1.5;color:var(--color-ink3)}.da-check-state.is-confirmed{color:var(--color-mint-fg)}.da-chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--color-soft);color:var(--color-ink2);justify-self:end;transition:transform .15s ease}.da-group[open] .da-chevron{transform:rotate(180deg)}.da-group-body{border-top:1px solid var(--line-row);padding:16px}.da-group-info{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:12px;font-size:11px}.da-group-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.da-group-reasons>div{min-width:0}.da-group-reasons dd{font-size:12px;color:var(--dept-muted, var(--color-ink2));margin:8px 0 0 34px;overflow-wrap:anywhere}.da-empty,.da-footnote{font-size:12px;padding:10px 0}.da-calendar-popover{z-index:100;width:min(292px,calc(100vw - 24px));max-height:var(--radix-popover-content-available-height);overflow:auto;background:var(--color-surface);border:1px solid var(--dept-line, var(--color-divider));border-radius:16px;padding:14px;box-shadow:var(--shadow-dropdown)}.da-calendar-popover .attendance-calendar{border:0;padding:0}.da-calendar-popover .attendance-calendar-title{display:flex;align-items:center;justify-content:space-between;text-transform:capitalize;font-size:12px;margin-bottom:8px}.da-calendar-popover .attendance-calendar-title button{height:32px;width:32px;border:1px solid var(--color-field-border);border-radius:9px;cursor:pointer}.da-calendar-popover .attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:11px}.da-calendar-popover .attendance-calendar-grid>span{padding:5px;color:var(--color-ink3)}.da-calendar-popover .attendance-calendar-grid button{height:34px;border-radius:10px;cursor:pointer;color:var(--color-ink2)}.da-calendar-popover .attendance-calendar-grid button:hover{background:var(--blue-50)}.da-calendar-popover .attendance-calendar-grid button.edge{background:var(--color-primary);color:#fff}.da-calendar-popover .attendance-calendar-grid button.outside:not(.edge){color:var(--ink-300)}.da-calendar-popover .attendance-calendar-today{display:block;margin:12px 0 0 auto;padding:7px 12px;border-radius:8px;background:var(--color-indigo-bg);color:var(--color-primary-hover);font-size:12px;cursor:pointer}.da-journal-scroll{overflow:auto;max-width:100%}.da-journal{width:100%;min-width:720px;border-collapse:collapse;font-size:12px}.da-journal :is(th,td){padding:12px;border-bottom:1px solid var(--line-row);text-align:center}.da-journal :is(th,td):first-child{position:sticky;left:0;background:var(--color-surface);text-align:left;min-width:150px}@media(max-width:1200px){.da-group>summary{grid-template-columns:minmax(130px,1fr) repeat(3,80px) 28px}.da-check-state{grid-column:1 / -1;text-align:left;grid-row:2}.da-chevron{grid-column:5;grid-row:1}}@media(max-width:700px){.da-reasons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.da-panel-heading{align-items:start}.da-search,.da-group-controls,.da-status-filter{width:100%}.da-group>summary{grid-template-columns:repeat(3,minmax(0,1fr)) 28px;gap:12px 4px;padding:14px}.da-group-name{grid-column:1 / 4}.da-group-stat{grid-row:2}.da-check-state{grid-row:3}.da-chevron{grid-column:4}.da-group-reasons{grid-template-columns:minmax(0,1fr)}}.da-attendance-total{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;max-width:100%}.da-attendance-total-all{font-size:.75em;color:var(--color-ink2)}@media(max-width:460px){.da-reasons{grid-template-columns:minmax(0,1fr)}.da-reason-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 14px}.da-reason-card dt{grid-column:1;min-height:28px}.da-reason-card dd{display:contents}.da-reason-metric{grid-column:2;grid-row:1 / 3;align-self:center;flex-direction:column;align-items:flex-end;gap:2px}.da-reason-card[data-empty=true] .da-reason-metric>span{display:none}.da-reason-action,.da-reason-empty{grid-column:1;grid-row:2;width:auto;margin-top:0;min-height:24px;justify-content:flex-start}.da-reason-action>span{max-width:none}}.aa-periods,.aa-controls,.aa-student-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.aa-periods{margin-bottom:18px}.aa-controls{justify-content:space-between;margin:16px 0}.aa-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.aa-filters>*,.aa-columns>*,.aa-student-tools>*{min-width:0}.aa-checkbox{display:flex;gap:10px;align-items:center;font-size:13px}.aa-checkbox button{text-align:left;cursor:pointer}.aa-muted{color:var(--color-ink3);font-size:12px;line-height:1.6}.aa-link{color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:600;text-align:left}.aa-note{padding:14px 18px;background:var(--color-indigo-bg);border-radius:12px;font-size:12px;line-height:1.7}.aa-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}.department-analytics h2{font-size:17px;font-weight:600;margin-bottom:16px}.aa-reasons{display:flex;flex-direction:column;gap:10px;font-size:12px}.aa-reasons>div{display:flex;justify-content:space-between;gap:16px}.aa-reasons dd{font-weight:600}.aa-reasons dt{flex:1;min-width:0}.aa-reason-track{display:block;height:5px;margin-top:7px;border-radius:8px;background:var(--color-soft);overflow:hidden}.aa-reason-track>span{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.aa-chart-value{display:flex;align-items:center;gap:16px;min-height:68px;margin-bottom:12px}.aa-chart-value strong{font-size:30px;color:var(--color-primary);font-weight:600}.aa-chart-value>span{color:var(--color-ink3);font-size:12px;line-height:1.7}.aa-chart-slider{display:block;width:92%;margin:4px 1% 8px 7%;height:24px;accent-color:var(--color-primary);cursor:pointer}.aa-sparkline{width:100px;height:28px}.aa-delta-up{color:var(--color-mint-fg)}.aa-delta-down{color:var(--color-peach-fg)}.aa-table-note{margin:-6px 0 18px}.aa-group-overview{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:24px;align-items:center}.aa-group-overview h2{margin-bottom:4px;font-size:22px}.aa-group-overview p{font-size:13px}.aa-scope-label{display:block;font-size:11px;color:var(--color-primary);font-weight:600;margin-bottom:8px}.aa-trend{margin:0}.aa-trend svg{width:100%;height:auto;display:block}.aa-trend figcaption{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--color-ink3)}.aa-course{display:block;font-weight:600;color:var(--color-ink3);margin-bottom:6px}.aa-student-tools{margin-bottom:16px}.aa-student-tools>*{flex:1}@media(max-width:1000px){.aa-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.aa-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:540px){.aa-group-overview{grid-template-columns:minmax(0,1fr);gap:16px}.aa-chart-value{align-items:flex-start;flex-direction:column;gap:4px}.aa-filters{grid-template-columns:minmax(0,1fr)}.aa-periods{gap:8px}.aa-periods>button{flex:1}.aa-student-tools{flex-direction:column;align-items:stretch}.aa-student-tools>*{flex:none;width:100%}.aa-student-tools .da-search{min-height:44px}.aa-trend figcaption{flex-wrap:wrap}}.attention-page{width:100%;padding:20px 24px 18px;gap:18px;font-family:var(--font-sans)}.attention-page>header h1{font-size:27px;line-height:1.25}:where(.attention-page>header) p{font-size:13px;color:var(--color-ink2)}.attention-zones{display:flex;gap:26px;min-width:0;border-bottom:1px solid var(--color-divider)}.attention-zones button{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 0 13px;border-bottom:2px solid transparent;font-size:13px;color:var(--color-ink2);cursor:pointer}.attention-zones button[aria-pressed=true]{color:var(--color-primary);border-color:var(--color-primary)}.attention-zones :where(button) span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--color-soft);font-size:10px}.attention-zones :where(button[aria-pressed=true]) span{background:var(--color-indigo-bg)}.attention-filter-disclosure{min-width:0}.attention-filter-disclosure>summary{display:none}.attention-filters{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px 12px;padding:19px 20px;border:1px solid var(--color-field-border);border-radius:18px;background:var(--color-surface)}.attention-filters>*{min-width:0;grid-column:span 3}.attention-filters>.attention-filter-specialty{grid-column:span 4}.attention-filters>.attention-filter-course{grid-column:span 2}.attention-filter-label{font-size:12px;font-weight:500;letter-spacing:normal;text-transform:none;color:var(--color-ink2)}.attention-filters label{font-size:12px;font-weight:500}.attention-filters>div>div>button{min-height:44px}.attention-filters input{height:44px;font-size:13px}.attention-filter-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px}.attention-filter-actions button{min-height:44px;padding:10px 13px;font-size:12px}.attention-rules{min-width:0;font-size:12px;color:var(--color-ink2);line-height:1.7}.attention-rules summary{cursor:pointer;min-height:32px;color:var(--color-primary)}.attention-rules>div{padding:14px 16px;border:1px solid var(--color-divider);border-radius:14px;background:var(--color-surface)}.attention-rules p+p{margin-top:8px}.attention-list-note{color:var(--color-ink2);font-size:12px;line-height:1.6}.attention-list{display:flex;flex-direction:column;gap:14px;min-width:0}.attention-student{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,1.1fr);border:1px solid var(--color-field-border);border-radius:18px;background:var(--color-surface);overflow:hidden}.attention-student>*{min-width:0;padding:19px 20px}.attention-student>*+*{border-left:1px solid var(--color-divider)}.attention-person{display:flex;flex-direction:column;justify-content:space-between;gap:8px}.attention-identity{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.attention-student h2{font-size:15px;font-weight:650;line-height:1.5}.attention-student-name{text-align:left;font:inherit;color:inherit;cursor:pointer;overflow-wrap:anywhere}.attention-student-name:hover{color:var(--color-primary);text-decoration:underline}.attention-student h3{margin-bottom:10px;font-size:12px;font-weight:600}.attention-student p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.attention-person p{color:var(--color-ink2)}.attention-person :where(p) strong{font-weight:500}.attention-identity>span{font-size:11px}.attention-open-card{display:inline-flex;align-items:center;min-height:44px;text-align:left;font-size:12px;color:var(--color-primary);cursor:pointer}.attention-open-card:hover{text-decoration:underline}.attention-ground-details{display:flex;flex-direction:column;gap:14px;overflow-wrap:anywhere}.attention-ground-details h4{font-size:12px;color:var(--color-ink2);line-height:1.6}.attention-grounds{padding-left:16px;list-style:disc;font-size:12px;line-height:1.7}.attention-grounds li+li{margin-top:6px}.attention-grounds strong{font-weight:600}.attention-grounds li::marker{color:var(--color-ink4)}.attention-work-preview{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:14px}.attention-work-preview>div{min-width:0}.attention-work-preview .attention-work-meta{font-size:11px;color:var(--color-ink2);margin-bottom:6px}.attention-preview-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.attention-work-preview .attention-event-count{margin-top:10px;font-size:11px;color:var(--color-ink2)}.attention-work-preview>button{min-height:44px;max-width:100%;font-size:11.5px;padding:9px 12px;white-space:normal}.attention-empty{padding:24px;border:1px solid var(--color-divider);border-radius:18px;background:var(--color-surface);font-size:14px;line-height:1.7}.attention-empty button{margin-top:12px}.attention-error{font-size:14px;line-height:1.6}.attention-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:var(--color-ink2)}.attention-footer>div{flex:1;min-width:0}.attention-dialog{padding:0;border-radius:22px;box-shadow:var(--shadow-float);font-family:var(--font-sans)}.attention-dialog>div:first-child{margin-bottom:0;padding:22px 22px 16px}.attention-dialog>div:nth-child(2){padding:0 20px 20px}.attention-dialog>div:first-child button{min-height:44px;min-width:44px}.attention-history{display:flex;flex-direction:column;gap:14px;min-width:0}.attention-history-tabs{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:6px;min-width:0;padding:0 0 14px;background:var(--color-surface)}.attention-history-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 12px;border:1px solid var(--color-divider);border-radius:12px;background:var(--color-rowhover);font-size:12px;color:var(--color-ink2);cursor:pointer}.attention-history-tabs button[aria-pressed=true]{color:var(--color-primary);border-color:var(--color-indigo-bg);background:var(--color-indigo-bg)}.attention-history-count{min-width:20px;padding:0 5px;border-radius:6px;background:var(--color-soft);font-size:10px}.attention-history-item{min-width:0;padding:17px;border:1px solid var(--color-field-border);border-radius:14px;background:var(--color-rowhover);font-size:13px;line-height:1.7}.attention-history-item h3{font-size:13px;font-weight:600;margin-bottom:8px;overflow-wrap:anywhere}.attention-history-item p{margin-bottom:10px;white-space:pre-wrap;overflow-wrap:anywhere}.attention-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;line-height:1.6;color:var(--color-ink2);margin-bottom:12px}.attention-marker+.attention-marker{border-top:1px solid var(--color-divider);margin-top:12px;padding-top:12px}.attention-marker>span{font-size:12px;color:var(--color-ink2)}.attention-work-result{padding:12px 14px;border-left:3px solid var(--color-mint-fg);border-radius:8px;background:var(--color-mint-bg)}.attention-work-result p:last-child{margin-bottom:0}.attention-page button:focus-visible,.attention-page summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}@media(max-width:1240px){.attention-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.attention-filters>*,.attention-filters>.attention-filter-specialty,.attention-filters>.attention-filter-course{grid-column:auto}.attention-filters>.attention-filter-search,.attention-filters>.attention-filter-actions{grid-column:1 / -1}.attention-filter-actions{order:1}}@media(max-width:1100px){.attention-page{padding:14px 8px}.attention-student{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.attention-person{grid-row:1 / 3}.attention-student>*{padding:16px}.attention-student>.attention-work-preview{border-top:1px solid var(--color-divider)}}@media(max-width:900px){.attention-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.attention-page{padding:12px 2px;gap:14px}.attention-page>header h1{font-size:25px}.attention-zones{gap:0;justify-content:space-between}.attention-zones button{flex:1 1 0;justify-content:center;min-height:48px;min-width:0;font-size:12px;gap:6px;padding:10px 3px}.attention-filter-disclosure{border:1px solid var(--color-field-border);border-radius:14px;background:var(--color-surface)}.attention-filter-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:50px;padding:12px 14px;font-size:13px;color:var(--color-ink2);cursor:pointer;list-style:none}.attention-filter-disclosure>summary::-webkit-details-marker{display:none}.attention-filter-disclosure>summary span{display:flex;align-items:center;gap:8px}.attention-filter-disclosure>summary b{font-size:11px;background:var(--color-indigo-bg);color:var(--color-primary);padding:1px 6px;border-radius:6px}.attention-filters{border:0;border-top:1px solid var(--color-divider);border-radius:0 0 14px 14px;padding:14px 12px;gap:13px 10px}.attention-filter-actions button{flex:1}.attention-student{grid-template-columns:minmax(0,1fr)}.attention-person{grid-row:auto}.attention-student>*{padding:15px}.attention-student>*+*{border-left:0;border-top:1px solid var(--color-divider)}.attention-student h2{font-size:16px}.attention-work-preview>button{width:100%;justify-content:center;font-size:12px}.attention-dialog{max-height:calc(100dvh - 16px);width:calc(100% - 14px);border-radius:20px}.attention-dialog>div:first-child{padding:16px 15px 12px}.attention-dialog>div:nth-child(2){padding:0 12px 16px}.attention-history-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.attention-history-tabs button{min-height:46px;padding:8px 7px;line-height:1.4}.attention-history-item{padding:14px}.attention-footer{align-items:flex-start}}@media(max-width:350px){.attention-zones button{font-size:11px;gap:5px}.attention-filters{grid-template-columns:minmax(0,1fr)}.attention-history-tabs button{font-size:11px}}.social-overview{display:flex;flex-direction:column;gap:20px;min-width:0;width:100%;font-family:var(--font-sans)}.social-overview>header{flex-shrink:0}.social-dashboard-stream>*{min-width:0}@media(max-width:1200px){.social-overview{--social-kpi-columns: 2;--social-fill-columns: 2;--social-needs-width: 100%;--social-needs-basis: auto}.social-dashboard-stream{flex-direction:column}}@media(max-width:700px){.social-overview{--social-fill-columns: 1}.social-overview>header>:last-child{max-width:100%}}@media(max-width:380px){.social-overview{--social-kpi-columns: 1}}.portrait-groups-page{container:portrait-groups / inline-size;display:flex;flex-direction:column;gap:14px;width:100%;min-width:0}.portrait-groups-page .portrait-groups-grid{grid-template-columns:minmax(0,1fr)}.portrait-group-card{min-width:0;overflow-wrap:anywhere}.portrait-group-card-heading{flex-wrap:wrap}@container portrait-groups (min-width: 640px){.portrait-groups-page .portrait-groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container portrait-groups (min-width: 1020px){.portrait-groups-page .portrait-groups-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-shell:has(.portrait-refined){--color-primary: #5566e8;--color-primary-hover: #4658d4;--color-indigo-bg: #e9edff;--color-ink2: #535e73;--color-ink3: #626b80;--color-ink4: #697287}.portrait-refined{--color-primary: #5566e8;--color-primary-hover: #4658d4;--color-ink3: #626b80;--color-ink4: #697287;display:flex;flex-direction:column;gap:20px;color:#242741;font-family:Inter,Segoe UI,sans-serif;padding:28px 48px 40px}html:has(.app-shell){scrollbar-gutter:stable}.portrait-group-layout>.portrait-header,.portrait-group-layout>.portrait-tabs{flex-shrink:0}.portrait-group-content{font-family:var(--font-sans);--fw-black: 600;--fw-bold: 600;min-width:0;display:flex;flex-direction:column;gap:14px}.portrait-group-content>.portrait-refined{padding:0}.portrait-refined .portrait-card{border:1px solid #dce1eb;border-radius:14px;background:#fff;padding:23px 28px}.portrait-refined .portrait-eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#626b80}.portrait-refined h1{font-size:32px;font-weight:650;line-height:1.2;letter-spacing:-.025em}.portrait-refined h2{font-size:16px;font-weight:600}.portrait-refined .portrait-muted{color:#626b80;font-size:13px;line-height:1.6}.portrait-refined .portrait-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.portrait-refined .portrait-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.portrait-refined .portrait-tabs{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid #e2e4ee}.portrait-refined .portrait-tab{white-space:nowrap;padding:14px 0;border-bottom:2px solid transparent;color:#5e687d;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.portrait-refined .portrait-tab[aria-current=page],.portrait-refined .portrait-tab[aria-pressed=true]{color:#4658d4;border-color:#4658d4}.portrait-refined .portrait-tab:focus-visible,.portrait-refined .portrait-filter:focus-visible{outline:2px solid #4658d4;outline-offset:-2px}.portrait-refined .portrait-stats{display:grid;grid-template-columns:1.1fr 1.8fr 1fr;gap:24px}.portrait-refined .portrait-stat+.portrait-stat{border-left:1px solid #dce1eb;padding-left:24px}.portrait-refined .portrait-stat-value{font-size:43px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}.portrait-refined .portrait-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.portrait-refined .portrait-focus{background:#fffdf9;border-color:#eee4d4}.portrait-refined .portrait-task{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #eae8e0}.portrait-refined .portrait-task:last-child{padding-bottom:0;border:0}.portrait-refined .portrait-filter{border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;color:#5e687d;cursor:pointer}.portrait-refined .portrait-filter[aria-pressed=true]{background:#eeebff;color:#4658d4}.portrait-refined .portrait-search{border:1px solid #d9dce7;border-radius:9px;padding:9px 12px;font-size:13px;min-width:0}.portrait-refined .portrait-student-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}.portrait-refined [hidden]{display:none}.portrait-refined .portrait-stack{display:flex;flex-direction:column;gap:20px;min-width:0}.portrait-refined .portrait-section-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.portrait-refined .portrait-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portrait-refined .portrait-field-grid>:last-child{grid-column:1 / -1}.portrait-refined .portrait-tag{display:inline-block;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600;color:#5d51ce;background:#f0edff}.portrait-refined .portrait-detail-row{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:16px;padding:14px 0;border-bottom:1px solid #eeeef4;font-size:13px}.portrait-refined .portrait-attention{background:#f8f6ff}.portrait-refined .portrait-overview-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"focus fill" "social uchet" "practice practice";gap:20px;align-items:stretch}.portrait-refined .portrait-overview-columns>.portrait-stack{display:contents}.portrait-refined .portrait-overview-columns .portrait-card{min-width:0}.portrait-refined .portrait-focus{grid-area:focus}.portrait-refined .portrait-fill-card{grid-area:fill}.portrait-refined .portrait-social-card{grid-area:social}.portrait-refined .portrait-uchet-card{grid-area:uchet}.portrait-refined .portrait-practice-card{grid-area:practice}.portrait-refined .portrait-compact-heading{margin-bottom:16px}.portrait-refined .portrait-compact>p{margin:0}.portrait-refined .portrait-compact-heading h2{min-width:0;overflow-wrap:anywhere}.portrait-refined .portrait-count{flex-shrink:0}.portrait-refined .portrait-card{overflow-wrap:break-word}.portrait-refined .portrait-event-list{display:grid;gap:12px;margin-top:18px}.portrait-refined .portrait-event-list article{background:#f6f6fb;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;font-size:13px}.portrait-refined .portrait-event-list h3{font-size:15px;font-weight:600}.portrait-refined .portrait-event-list summary{cursor:pointer}.portrait-refined .portrait-event-students{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;color:#5566e8}.portrait-refined .portrait-age-values{display:flex;flex-wrap:wrap;gap:35px;margin-top:12px;font-size:13px;color:#626b80}.portrait-refined .portrait-age-values b{color:#242741;font-size:21px;font-weight:500;margin-right:7px}.portrait-refined .portrait-age-strip{display:flex;height:5px;gap:3px;margin-top:17px;background:#eeedf7;border-radius:4px}.portrait-refined .portrait-age-strip span{background:#5566e8;border-radius:4px}.portrait-refined .portrait-age-strip span:last-child{background:#dddafa}.portrait-refined .portrait-focus .portrait-section-header{margin-bottom:7px}.portrait-refined .portrait-task{padding:15px 0}.portrait-refined .portrait-task-main{display:flex;align-items:center;gap:12px;min-width:0}.portrait-refined .portrait-task-main strong{font-weight:500}.portrait-refined .portrait-task-icon{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;background:#f8efdf;color:#ad7735;border-radius:9px}.portrait-refined .portrait-task button{border:1px solid #e9dfcf;border-radius:8px;background:#fffdf9;min-height:40px;width:112px;height:40px;white-space:nowrap;padding:7px 10px;font-size:13px;font-weight:400;color:#62657c;flex-shrink:0}.portrait-refined .portrait-marks-summary{border-top:1px solid #dce1eb;margin-top:6px;padding-top:16px;font-size:14px}.portrait-refined .portrait-marks-summary p{margin-top:6px}.portrait-refined .portrait-social-layout{display:flex;align-items:center;gap:26px}.portrait-refined .portrait-donut{width:120px;height:120px;border-radius:50%;position:relative;display:grid;place-items:center;flex-shrink:0}.portrait-refined .portrait-donut:before{content:"";position:absolute;inset:15px;background:#fff;border-radius:50%}.portrait-refined .portrait-donut>div{position:relative;text-align:center;transform:translateY(-3px)}.portrait-refined .portrait-donut b{display:block;font-size:26px;font-weight:600;letter-spacing:-1px;line-height:1.2}.portrait-refined .portrait-donut small{display:block;margin-top:3px;font-size:9px;color:#626b80;line-height:1.4}.portrait-refined .portrait-legend{flex:1;min-width:0}.portrait-refined .portrait-legend>div{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:14px}.portrait-refined .portrait-legend i{width:6px;height:6px;border-radius:2px;flex-shrink:0}.portrait-refined .portrait-legend b{margin-left:auto;font-size:12px;font-weight:500}.portrait-refined .portrait-social-tags{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #dce1eb;margin-top:21px;padding-top:16px}.portrait-refined .portrait-social-tags>span{background:#f6f6fb;color:#74778e;padding:6px 8px;border-radius:5px;font-size:14px}.portrait-refined .portrait-detail-link{font-size:12px;color:#5566e8}.portrait-refined .portrait-compact{padding:19px 23px}.portrait-refined .portrait-compact-heading{display:flex;gap:17px;align-items:center}.portrait-refined .portrait-compact h2{font-size:14px}.portrait-refined .portrait-compact>p{margin:0;font-size:13px}.portrait-refined .portrait-compact-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:#eff5f2;color:#568679;flex-shrink:0}.portrait-refined .portrait-compact-icon.practice{background:#f2f0fc;color:#8a81b5}.portrait-refined .portrait-count{margin-left:auto;background:#eaf4ef;color:#438374;padding:4px 7px;border-radius:5px;font-size:12px}.portrait-refined .portrait-risk-fields{grid-template-columns:minmax(0,1fr)}.portrait-refined .portrait-risk-field>span{text-transform:none;letter-spacing:normal;color:#242741;font-size:14px;font-weight:500}.portrait-refined .portrait-risk-fields textarea{min-height:105px;height:105px;border-radius:8px;padding:12px;background:#fcfcfe;border-color:#cdd5e2;font-size:14px;line-height:1.7;resize:vertical}.portrait-refined .portrait-risk-fields textarea:focus{border-color:#aba9ff}.portrait-refined .portrait-risk-fields textarea::placeholder{color:#a3a5b6}@media(max-width:1550px){.portrait-refined .portrait-overview-columns{grid-template-columns:1fr 1fr}}@media(max-width:1150px){.portrait-refined{padding:24px 20px}.portrait-refined .portrait-student-grid{grid-template-columns:minmax(0,1fr) 260px}}@media(max-width:900px){.portrait-refined .portrait-overview-columns{grid-template-columns:1fr;grid-template-areas:"focus" "fill" "social" "uchet" "practice"}}@media(max-width:900px){.portrait-refined .portrait-student-grid{grid-template-columns:minmax(0,1fr)}.portrait-refined .portrait-student-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.portrait-refined{padding:8px 0;gap:18px}.portrait-refined .portrait-card{padding:18px}.portrait-refined h1{font-size:24px;overflow-wrap:anywhere}.portrait-refined .portrait-grid,.portrait-refined .portrait-field-grid,.portrait-refined .portrait-student-aside{grid-template-columns:minmax(0,1fr)}.portrait-refined .portrait-stats{grid-template-columns:minmax(0,1fr);gap:16px}.portrait-refined .portrait-stat+.portrait-stat{border-left:0;padding-left:0;border-top:1px solid #dce1eb;padding-top:16px}.portrait-refined .portrait-detail-row{grid-template-columns:minmax(0,1fr);gap:6px}.portrait-refined .portrait-task{flex-wrap:wrap}}.portrait-refined .portrait-risk-field{display:flex;flex-direction:column;gap:8px}.portrait-refined .portrait-risk-field textarea{width:100%;color:#242741;font-family:inherit;border:1px solid #cdd5e2}.portrait-refined .portrait-collapse-bar{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:start;gap:12px;margin-bottom:20px}.portrait-refined .portrait-block-heading .portrait-section-header,.portrait-refined .portrait-block-heading .portrait-compact-heading{margin-bottom:0}.portrait-refined .portrait-block-heading h2{min-height:28px;display:flex;align-items:center}.portrait-refined .portrait-focus .portrait-collapse-bar{align-items:start;margin-bottom:7px}.portrait-refined .portrait-focus .portrait-section-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start}.portrait-refined .portrait-focus .portrait-section-header>:last-child{display:inline-flex;align-items:center;box-sizing:border-box;height:28px;padding-top:0;padding-bottom:0}.portrait-refined .portrait-compact .portrait-collapse-bar{align-items:center;margin-bottom:16px}.portrait-refined .portrait-block-heading>.mb-\[10px\]{margin-bottom:0;min-height:28px;display:flex;align-items:center}.portrait-refined .portrait-is-collapsed .portrait-collapse-bar{margin-bottom:0}.portrait-refined .portrait-collapse-bar button{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:7px;color:#73798b;background:#f6f6fb;font-size:20px;cursor:pointer}.portrait-refined .portrait-collapse-bar button:hover{background:#eeebff;color:#5566e8}.portrait-refined .portrait-collapse-bar button:focus-visible{outline:2px solid #5566e8}.portrait-refined .portrait-is-collapsed{align-self:start}.portrait-refined .portrait-is-collapsed .portrait-collapse-bar{position:static;margin-bottom:0}.portrait-group-layout .portrait-group-content h1{font-size:18px;font-weight:600;line-height:1.35}.portrait-refined.portrait-group-layout{font-family:var(--font-sans);padding:18px 20px;gap:12px}.portrait-risk-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.portrait-risk-badges>span{display:inline-flex;align-items:center;height:26px;box-sizing:border-box;line-height:1}.portrait-group-identity{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;min-width:0}.portrait-group-layout .portrait-header h1{font-size:24px;font-weight:600;line-height:1.3}.portrait-group-layout>.portrait-header{gap:12px;position:relative}.portrait-group-layout>.portrait-tabs .portrait-tab{padding:10px 0}.portrait-group-info{font-size:13px;color:var(--color-ink3)}.portrait-group-layout .portrait-group-info summary{cursor:pointer}.portrait-group-info-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:20;width:330px;max-width:100%;padding:14px;border:1px solid #dce1eb;border-radius:10px;background:#fff;box-shadow:0 8px 24px #24274112}@media(max-width:900px){.portrait-refined .portrait-tabs{scrollbar-width:none}.portrait-refined .portrait-tabs::-webkit-scrollbar{display:none}}.attendance-page{width:100%;min-width:0;display:flex;flex-direction:column;gap:16px;color:var(--ink-800);font-family:var(--font-sans)}.attendance-title,.attendance-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.attendance-title{justify-content:space-between}.attendance-title h2{font-size:18px;font-weight:600;margin:0}.attendance-title p{font-size:12px;color:var(--ink-500);line-height:1.6;margin:4px 0 0}.attendance-week{display:flex;align-items:center;gap:12px}.attendance-week strong{font-size:13px;font-weight:500;min-width:164px;text-align:center}.attendance-week button,.attendance-calendar-title button{width:32px;height:32px;border:1px solid var(--line-card);background:#fff;border-radius:8px;cursor:pointer;font-size:21px;color:var(--ink-600)}.attendance-field input,.attendance-field textarea{border:1px solid var(--line-field);border-radius:9px;background:#fff;padding:9px 11px;font:inherit;font-size:12px;color:var(--text-value);min-width:0}.attendance-week-picker{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink-500)}.attendance-sheet{position:relative;min-width:0;background:#fff;border:1px solid var(--line-card);border-radius:16px}.attendance-sticky-header{position:sticky;top:0;z-index:10;background:var(--surface-table-head);border-radius:16px 16px 0 0}.attendance-header-scroll,.attendance-table-wrap{width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.attendance-header-scroll{border-radius:16px 16px 0 0}.attendance-header-scroll::-webkit-scrollbar,.attendance-table-wrap::-webkit-scrollbar{display:none}.attendance-table-wrap{border-radius:0 0 16px 16px}.attendance-name-column{width:27%}.attendance-accessible-head{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.attendance-confirmation{display:flex;flex-direction:column;gap:4px;text-align:right}.attendance-confirmation small{font-size:11px;color:var(--ink-500);line-height:1.5}@media(max-width:600px){.attendance-name-column{width:132px}.attendance-confirmation{text-align:left}}.attendance-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:700px;font-size:12px}.attendance-table th,.attendance-table td{border-bottom:1px solid var(--line-row);text-align:center;padding:9px 8px;height:48px}.attendance-table th{font-weight:500}.attendance-table thead th{position:sticky;top:0;z-index:2;background:var(--surface-table-head);height:96px;border-bottom-color:var(--line-card)}.attendance-table .attendance-name{text-align:left;min-width:0;width:27%;padding-left:18px;position:sticky;left:0;z-index:1;background:#fff;border-right:1px solid var(--line-row)}.attendance-table thead .attendance-name{z-index:3;background:var(--surface-table-head)}.attendance-overline{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}.attendance-roster-count{display:block;margin-top:8px;font-size:11px;color:var(--ink-500)}.attendance-person{display:flex;align-items:center;gap:14px;font-weight:500}.attendance-person small{display:block;color:var(--ink-500);font-weight:400}.attendance-number{color:var(--ink-300);font-size:10px;font-variant-numeric:tabular-nums}.attendance-day-top{display:flex;justify-content:center;align-items:center;gap:5px;color:var(--ink-500);font-size:11px;margin-bottom:7px}.attendance-date-select{background:transparent;border:0;border-radius:5px;padding:2px 5px;font:inherit;font-size:13px;font-weight:500;color:var(--text-value);cursor:pointer}.attendance-date-select[aria-pressed=true]{background:var(--status-work-bg);color:var(--blue-600)}.attendance-today-dot{height:5px;width:5px;border-radius:50%;background:var(--blue-600)}.attendance-table th.attendance-today,.attendance-table td.attendance-today{background:var(--blue-50)}.attendance-table th.attendance-off,.attendance-table td.attendance-off{background:var(--surface-muted);color:var(--ink-300)}.attendance-day-state{display:block;background:none;border:0;color:var(--ink-500);font:inherit;font-size:10px;margin:7px auto 0;cursor:pointer}.attendance-day-state:disabled{cursor:default}.attendance-cell{display:inline-flex;justify-content:center;align-items:center;flex-direction:column;min-width:36px;height:30px;border:0;border-radius:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;font-style:normal}.attendance-cell small{font-size:8px;font-weight:400}.attendance-cell.present{background:var(--status-done-bg);color:var(--status-done-fg)}.attendance-cell.blue{background:var(--status-work-bg);color:var(--status-work-fg)}.attendance-cell.red{background:var(--status-overdue-bg);color:var(--status-overdue-fg)}.attendance-cell.amber{background:var(--status-free-bg);color:var(--status-free-fg)}.attendance-cell.purple{background:var(--color-lilac-bg);color:var(--color-lilac-fg)}.attendance-cell.provisional{background:transparent;color:var(--status-done-fg)}.attendance-cell.future,.attendance-cell.off{background:transparent;color:var(--ink-300)}button.attendance-cell:hover:not(:disabled){outline:2px solid var(--blue-100);outline-offset:2px}.attendance-reasons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.attendance-reasons>button{display:flex;align-items:center;text-align:left;gap:8px;border:1px solid var(--line-card);border-radius:10px;background:#fff;padding:8px;font:inherit;font-size:11px;cursor:pointer;color:var(--text-value)}.attendance-reasons>button[aria-pressed=true]{border-color:var(--blue-600);background:var(--blue-50)}.attendance-radio{margin-left:auto;color:var(--blue-600)}.attendance-field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--ink-600)}.attendance-field>span{color:var(--ink-300);font-size:10px}.attendance-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.attendance-period-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-600)}.attendance-period-toggle input{accent-color:var(--blue-600)}.attendance-calendar{border:1px solid var(--line-card);border-radius:12px;padding:12px}.attendance-calendar-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;text-transform:capitalize;margin-bottom:8px}.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:11px}.attendance-calendar-grid>span{padding:5px;color:var(--ink-500)}.attendance-calendar-grid button{height:30px;border:0;border-radius:6px;background:#fff;font:inherit;color:var(--ink-600);cursor:pointer}.attendance-calendar-grid button[aria-pressed=true]{background:var(--status-work-bg)}.attendance-calendar-grid button.edge{background:var(--blue-600);color:#fff}.attendance-calendar-grid button.outside:not(.edge){color:var(--ink-300)}.attendance-calendar p{font-size:10px;color:var(--ink-500);margin-top:9px}.attendance-notice{color:var(--status-done-fg);font-size:12px}.attendance-error{color:var(--status-overdue-fg);background:var(--status-overdue-bg);padding:10px;border-radius:8px;font-size:12px}.attendance-empty{padding:25px;color:var(--ink-500);font-size:13px}.attendance-page button:focus-visible,.attendance-page input:focus-visible,.attendance-calendar button:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px}@media(max-width:700px){.attendance-reasons{grid-template-columns:1fr}}.attendance-day-summary{background:var(--surface-card);border:1px solid var(--line-card);border-radius:16px;padding:17px 19px}.attendance-summary-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:15px}.attendance-summary-date{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.attendance-summary-date h3{margin:0;font-size:15px;font-weight:600}.attendance-day-trigger{font:inherit;font-size:12px;color:var(--ink-600);background:#fff;border:1px solid var(--line-card);border-radius:8px;padding:6px 9px}.attendance-summary-state{font-size:11px;color:var(--ink-500)}.attendance-summary-state.confirmed{color:var(--status-done-fg)}.attendance-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;align-items:stretch}.attendance-summary-item{--summary-accent: var(--blue-600);position:relative;min-width:0;min-height:144px;display:flex;flex-direction:column;padding:12px 14px;background:var(--surface-card);border:1px solid var(--line-card);border-radius:14px}.attendance-summary-item[data-tone=red]{--summary-accent: var(--color-alert-fg)}.attendance-summary-item[data-tone=amber]{--summary-accent: var(--color-peach-fg)}.attendance-summary-item[data-tone=purple]{--summary-accent: var(--color-lilac-fg)}.attendance-summary-item dt{display:flex;align-items:center;gap:8px;padding-right:40px;min-height:34px;flex-shrink:0;color:var(--ink-800);font-size:12px;font-weight:500;line-height:1.4}.attendance-summary-item dt .attendance-cell{min-width:26px;height:26px;font-size:10px;flex-shrink:0}.attendance-summary-item dd{margin:8px 0 0;display:flex;flex-direction:column;flex:1;font-size:12px;line-height:1.6}.attendance-summary-count{position:absolute;top:10px;right:14px;color:var(--summary-accent);font-size:28px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}.attendance-summary-item.empty .attendance-summary-count{color:var(--ink-300)}.attendance-summary-names{position:relative;min-width:0}.attendance-summary-people{display:flex;flex-wrap:wrap;gap:3px 6px;margin:0;padding:0;list-style:none}.attendance-summary-people li{max-width:100%;color:var(--ink-800);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.attendance-summary-people li:not(:last-child):after{content:","}.attendance-summary-measure{position:absolute;top:0;left:0;width:100%;visibility:hidden;pointer-events:none}.attendance-summary-empty{color:var(--ink-500);font-size:11px}.attendance-summary-expand{display:inline-flex;align-items:center;min-height:26px;margin-top:auto;padding-top:3px;color:var(--summary-accent);font-size:12px;font-weight:500;cursor:pointer}.attendance-day-trigger:focus-visible{outline:2px solid var(--blue-600);outline-offset:2px}@media(max-width:1250px){.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media(max-width:600px){.attendance-day-summary{padding:15px 13px}.attendance-summary-grid{gap:14px 12px}.attendance-summary-item dd{margin-left:0;font-size:12px}.attendance-day-trigger{min-height:36px;font-size:12px}.attendance-page .attendance-week button,.attendance-page .attendance-calendar-title button{width:44px;height:44px}.attendance-table{min-width:916px}.attendance-table .attendance-name{width:132px;padding-left:10px}.attendance-person{gap:7px}.attendance-table tbody .attendance-cell{min-width:44px;height:44px}.attendance-date-select{min-height:44px}}@media(max-width:600px){.attendance-summary-grid{grid-template-columns:minmax(0,1fr)}}.attendance-day-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.attendance-day-options{z-index:100;box-sizing:border-box;width:max(200px,var(--radix-select-trigger-width));max-height:min(320px,var(--radix-select-content-available-height));overflow:hidden;padding:5px;border:1px solid var(--line-field);border-radius:var(--radius-nested);background:var(--surface-card);color:var(--text-value);font-family:var(--font-sans);box-shadow:var(--shadow-dropdown)}.attendance-day-option{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 34px 10px 12px;min-height:38px;line-height:1.4;white-space:nowrap;border-radius:var(--radius-icon);font-size:12px;font-weight:500;cursor:pointer;outline:none}.attendance-day-option[data-highlighted],.attendance-day-option[data-state=checked]{background:var(--blue-75);color:var(--blue-700)}@media(max-width:600px){.attendance-day-option{min-height:44px}}.attendance-day-options [data-radix-select-viewport]{max-height:min(300px,calc(var(--radix-select-content-available-height) - 12px))}.attendance-day-option:focus-visible{outline:none}.attendance-day-check{position:absolute;right:12px;width:14px;text-align:center}.attendance-day-trigger>span:last-child{display:flex;align-items:center;justify-content:center;width:14px;flex-shrink:0}.portrait-group-layout:has(.attendance-page),.portrait-group-layout:has(.attendance-page)>.portrait-group-content{min-width:0;width:100%}.attendance-day-trigger{min-height:34px;font-size:12px;line-height:1.4;white-space:nowrap}.attendance-page .attendance-day-trigger:focus-visible{outline:none;border-color:var(--blue-600);box-shadow:0 0 0 3px var(--blue-75)}.attendance-date-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:36px;padding:8px 11px;border:1px solid var(--line-field);border-radius:10px;background:var(--surface-card);color:var(--text-value);font:inherit;font-size:12px;cursor:pointer}.attendance-date-trigger svg{color:var(--ink-400)}.attendance-date-popover{z-index:100;width:min(292px,calc(100vw - 24px));max-height:var(--radix-popover-content-available-height);overflow-y:auto;border:1px solid var(--line-card);border-radius:16px;background:var(--surface-card);box-shadow:var(--shadow-dropdown);font-family:var(--font-sans)}.attendance-date-popover .attendance-calendar{border:0;padding:14px}.attendance-date-popover .attendance-calendar-grid button{height:34px;border-radius:10px}.attendance-date-popover .attendance-calendar-grid button:hover:not(.edge){background:var(--blue-50)}.attendance-calendar-today{display:block;margin:12px 0 0 auto;padding:7px 12px;border:0;border-radius:8px;background:var(--blue-75);color:var(--blue-700);font:inherit;font-size:12px;cursor:pointer}.attendance-date-popover button:focus-visible{outline:2px solid var(--blue-100);outline-offset:1px}@media(max-width:600px){.portrait-group-layout:has(.attendance-page){padding:12px}.attendance-page{gap:14px}.attendance-title p{font-size:11px}.attendance-day-summary{width:100%;padding:14px}.attendance-summary-date{width:100%;justify-content:space-between;gap:8px}.attendance-summary-date h3{font-size:14px;white-space:nowrap}.attendance-summary-heading{gap:8px}.attendance-summary-grid{gap:12px}.attendance-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 8px;width:100%}.attendance-week{grid-column:1 / -1;justify-content:space-between;width:100%;gap:8px}.attendance-week strong{min-width:0}.attendance-week-picker{justify-self:end;min-width:0;gap:6px}.attendance-week-picker>span{font-size:10px}.attendance-date-trigger{gap:7px;padding:8px;font-size:11px}.attendance-table-wrap{width:100%;min-width:0}}.attendance-range-date{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;padding:9px 11px;border:1px solid var(--line-field);border-radius:10px;background:var(--surface-card);color:var(--text-value);font:inherit;font-size:12px;cursor:pointer}.attendance-range-date[aria-pressed=true]{border-color:var(--blue-600);background:var(--blue-50)}.attendance-range-date>span{color:var(--ink-400)}.attendance-range-date:focus-visible{outline:2px solid var(--blue-100);outline-offset:1px}.markers-sheet{min-width:0}.markers-sticky-header{position:sticky;top:0;z-index:10;background:var(--surface-muted)}.markers-header-scroll,.markers-body-scroll{width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}.markers-header-scroll::-webkit-scrollbar,.markers-body-scroll::-webkit-scrollbar{display:none}.markers-body-scroll{padding-bottom:20px}.passport-page{display:flex;flex-direction:column;gap:14px;min-width:0}.passport-sheet{min-width:0}.passport-sticky-header{position:sticky;top:0;z-index:10;background:var(--surface-table-head)}.passport-header-scroll,.passport-body-scroll{width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}.passport-header-scroll::-webkit-scrollbar,.passport-body-scroll::-webkit-scrollbar{display:none}.passport-body-scroll{padding-bottom:20px}
