/* Scoped revision: Student drawers/history and Staff manage/quick action. */
.student-home .home-drawer-item > .attendance-expand > div > .attendance-panel { padding-top:36px; padding-bottom:16px; }
.student-home .home-absence-action .absence-button.is-inset-action { min-height:60px!important; padding-block:12px!important; }
/* One shared surface connects the front and the expanded controls. */
.schedule-page .v93-student-drawer { isolation:isolate; border-radius:24px; }
.schedule-page .agenda-item.is-open .v93-student-drawer { background:var(--cio-solid-surface); }
.schedule-page .v93-student-drawer > .cio-timeline-card { position:relative; z-index:2; margin-bottom:0!important; border-radius:24px!important; background:var(--cio-solid-surface)!important; box-shadow:0 5px 8px -5px #00000028!important; }
.schedule-page .v93-student-drawer > .attendance-expand { width:100%; position:relative; z-index:1; margin:0!important; transform:none!important; visibility:hidden; transition:grid-template-rows 240ms ease,opacity 170ms ease,visibility 240ms; }
.schedule-page .agenda-item.is-open .v93-student-drawer > .attendance-expand { visibility:visible; }
.schedule-page .v93-student-drawer > .attendance-expand > div > .attendance-panel { box-sizing:border-box; min-height:0!important; margin:0!important; padding:12px 16px 14px!important; border:0!important; border-radius:0 0 24px 24px!important; background:transparent!important; background-image:none!important; box-shadow:none!important; }
.student-home .attendance-title-row, .schedule-page .v93-student-drawer .attendance-title-row { gap:14px; }
.record-history-sheet .record-history-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.record-history-sheet .record-history-heading h1 { font-size:23px!important; font-weight:600!important; line-height:1.25; letter-spacing:-.02em; margin:2px 0 0!important; }
.record-history-sheet .record-history-context { font-size:12px!important; font-weight:400!important; line-height:1.4; letter-spacing:0!important; text-transform:none!important; color:var(--muted); margin:0!important; }
.record-history-sheet .record-history-total { font-size:24px!important; font-weight:600; text-align:right; flex-shrink:0; }
.record-history-sheet .record-history-total small { display:block; font-size:12px; font-weight:400; color:var(--muted); }
.record-history-sheet .record-history-items { background:transparent!important; border:0!important; box-shadow:none!important; border-radius:0!important; }
.record-history-sheet .record-history-entry { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0!important; background:transparent!important; border-radius:0!important; border:0; border-bottom:1px solid var(--line); box-shadow:none!important; }
.record-history-sheet .record-history-entry > span { min-width:0; }
.record-history-sheet .record-history-entry strong { font-size:15px!important; font-weight:600!important; line-height:1.4; overflow-wrap:anywhere; }
.record-history-sheet .record-history-entry small { display:block; font-size:12px!important; line-height:1.4; font-weight:400; margin-top:3px; color:var(--muted); }
.record-history-sheet .record-history-entry > b { font-size:15px; font-weight:600; flex-shrink:0; font-variant-numeric:tabular-nums; }
.record-history-sheet .record-history-more { min-height:44px; margin-top:10px; }
#app .v93-quick-action { display:flex; align-items:center; justify-content:space-between; width:100%; box-sizing:border-box; margin:12px 0 0; padding:16px 18px; min-height:60px; border-radius:24px; border:1px solid var(--cio-solid-border); background:var(--cio-solid-surface); color:var(--ink); font:inherit; font-size:16px; font-weight:600; }
#app .v61-manage .v93-tool-heading { padding:16px 18px 8px; margin:0; font-size:12px; line-height:1.4; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
#app .v61-manage :is(.v61-tool-group,.v61-attendance-group) { margin:0 0 14px; border-radius:24px; overflow:hidden; background:var(--cio-solid-surface); }
#app .v61-manage :is(.v61-tool,.v61-attendance-row) { min-height:56px; padding:14px 18px; font-size:15px; font-weight:600; }
#app .v61-manage :is(.v61-tool,.v61-attendance-row) small { font-size:12px; font-weight:400; margin-top:3px; }
#app .v61-people .v61-faction-points-mount { margin-bottom:20px; }
#app .v61-people .v61-faction-points { width:100%; padding:18px; border-radius:24px; text-align:left; }
#app .v61-people .v61-faction-points strong { display:block; font-size:24px; font-weight:600; margin:5px 0; }
#app .v61-people .v61-faction-points em { display:block; font-size:12px; line-height:1.5; font-style:normal; color:var(--muted); }
.v93-faction-breakdown { margin:18px 0; }
.v93-faction-breakdown > div { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); font-size:14px; }
.v93-faction-breakdown > div:last-child { font-weight:600; }
@media(prefers-reduced-motion:reduce) { .schedule-page .v93-student-drawer > .attendance-expand { transition:none; } }

#app .v61-home .staff-greeting { margin-bottom:32px; }
#app .v94-archon-people .v94-roster-toolbar { background:transparent!important; border:0!important; box-shadow:none!important; padding:0 4px!important; border-radius:0; min-height:44px; gap:12px; }
#app .v94-archon-people .v94-roster-toolbar strong { font-size:16px; font-weight:600; }
#app .v94-archon-people .v94-roster-toolbar small { font-size:13px; }
#app .v94-archon-people .v61-student-summary { margin:12px 0; }

/* v97: compact Staff spacing and always-visible Extend footer. */
#app .v61-home .v61-today-row.has-extend-drawer { display:block; padding:0; }
#app .v61-home .staff-session-front { display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:12px; padding:18px; min-height:80px; box-sizing:border-box; border-radius:24px; background:var(--cio-solid-surface); box-shadow:0 5px 8px -5px #00000028; position:relative; z-index:1; }
#app .v61-home .has-extend-drawer .staff-home-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; border:0; padding:12px 18px 14px; }
#app .v61-home .staff-home-actions > strong { font-size:14px; line-height:1.4; font-weight:600; }
#app .v61-manage .v97-group-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; padding:16px 18px; min-height:52px; box-sizing:border-box; font-size:15px; font-weight:600; cursor:pointer; }
#app .v61-manage .v97-group-heading::-webkit-details-marker { display:none; }
#app .v61-manage details[open] > .v97-group-heading > :last-child { transform:rotate(90deg); }
.record-history-sheet .record-history-heading, .record-history-sheet .record-history-entry { border:0!important; }
.record-history-sheet .record-history-heading { margin-bottom:12px; padding-bottom:0; }
.record-history-sheet .record-history-entry { padding:12px 0!important; }
#app .v94-archon-people .v94-roster-toolbar { display:flex; align-items:center; justify-content:space-between; padding:4px 0!important; }
#app .v94-archon-people .v94-roster-toolbar > span { flex:1; min-width:0; }
#app .v94-archon-people .v94-roster-toolbar .v64-filter { margin:0; position:relative; flex-shrink:0; }
#app .v94-archon-people #v64-filter-toggle { min-height:44px; padding:9px 14px; border-radius:14px; font-size:14px; font-weight:600; }
#app .v94-archon-people .v61-roster-meta { margin:8px 4px 12px; font-size:12px; opacity:.8; }

/* v98: tighter history and Archon spacing. */
.record-history-sheet .record-history-heading { margin-bottom:12px!important; padding-bottom:0!important; }
.record-history-sheet .record-history-entry { padding:8px 0!important; margin:0!important; min-height:0!important; border:0!important; }
.record-history-sheet .record-history-entry strong { font-size:14px!important; line-height:1.35!important; }
.record-history-sheet .record-history-entry small { font-size:11px!important; line-height:1.35!important; margin-top:3px!important; }
.record-history-sheet .record-history-entry > b { font-size:14px!important; }
.student-home .home-rest-copy { gap:3px!important; }
.student-home .home-rest-copy small { font-size:11px!important; font-weight:400!important; line-height:1.4!important; margin:0!important; }
#app .v61-manage .v61-archon-attendance { display:grid; gap:10px!important; }
#app .v61-manage .v61-attendance-group { margin:0!important; padding:0!important; }
#app .v61-manage .v61-attendance-group > .v97-group-heading { min-height:52px; padding:14px 18px; line-height:24px; }
#app .v61-manage .v61-archon-manage-intro { margin:0 4px 16px!important; }
#app .v61-manage .v61-archon-manage-intro p { margin:0!important; }
#app .v61-manage .v61-archon-assignment { display:flex; align-items:center; justify-content:space-between; width:100%; box-sizing:border-box; margin:10px 0 0!important; padding:14px 18px; min-height:52px; }
