/* aouie workstation. Owner direction: blue top/left, white body, orange accent. */
:root{--action-radius:999px;--button-orange:#F07828;--button-orange-hover:#D96418;--toolbar-radius:6px;color-scheme:light;--ink:#202936;--muted:#5e6b7a;--line:#dfe5eb;--divider:#cad4df;--canvas:#fff;--surface:#fff;--surface-raised:#f4f6f9;--inset:#fff;--chrome:#0D1A3C;--blue:#2E5AA8;--blue-soft:#eef4fb;--navy:#0D1A3C;--clay:#b74b0a;--clay-soft:#fff1e7;--accent-border:#F07828;--mint:#26744e;--mint-soft:#eaf5ee;--success:#26744e;--success-soft:#eaf5ee;--success-border:#b8d9c4;--amber:#8d611b;--warning:#8d611b;--danger:#a63731;--danger-soft:#fcefed;--danger-border:#e4b6b0;--action-primary:var(--button-orange);--action-primary-hover:var(--button-orange-hover);--action-primary-active:#59260c;--action-secondary:#fff;--action-secondary-hover:#f2f5f9;--action-border:#ccd6e0;--action-focus:#c55a12;--shadow:0 8px 24px #142e5514}
body,.portal-body,.public-body{background:#fff;color:var(--ink)}
.app-toolbar,.portal-top.app-toolbar,.auth-topbar{background:var(--chrome);color:#fff;border-bottom:1px solid #08132d;box-shadow:none}
.app-toolbar{min-height:64px;padding-block:12px}
a.app-identity,a.app-identity:hover,a.app-identity:active,a.app-identity:visited,.app-toolbar .top-clock strong{color:#fff}
a.app-identity,a.app-identity:hover{background:transparent;text-decoration:none}
.app-brand b{color:#ff9a4f}.app-client{font-size:13px;line-height:18px}.app-toolbar .workspace-switcher label,.top-clock small{color:#c4d1e2}
.app-toolbar .workspace-switcher{text-align:center}.app-toolbar .workspace-switcher select{text-align:center;text-align-last:center;color:#fff;background:var(--chrome)}.app-toolbar select option{background:#fff;color:var(--ink)}
.app-toolbar .avatar{background:#1A3878;color:#fff}.account-target:after{border-color:var(--chrome)}
.account-menu-panel{color:var(--ink)}.account-menu-panel .btn{color:var(--ink);background:#fff}
.account-menu-panel .btn:hover{color:var(--blue);background:var(--blue-soft)}
:root{--sidebar-chrome:#101F43;--app-toolbar-height:64px}
.sidebar{background:var(--sidebar-chrome);border-right:1px solid #102346}
.nav-item{color:#c5d3e6}.sidebar .nav-item:hover{background:#1A3878;color:#fff}
.sidebar .nav-item.active{border-color:#F07828;background:#F07828;color:#fff}.sidebar .nav-item.active .nav-icon,.sidebar .nav-item.active .nav-label-text{color:#fff}
.nav-label-text{background:var(--chrome);color:#fff;border-color:#385a81}
.nav-item:focus-visible{outline-color:#ff9a4f}
@media(min-width:781px){
 .app-toolbar{height:var(--app-toolbar-height)}
 .app-shell{min-height:calc(100dvh - var(--app-toolbar-height))}
 .sidebar{padding-top:24px;top:var(--app-toolbar-height);height:calc(100dvh - var(--app-toolbar-height))}
 .sidebar .nav-scroll{gap:12px}
 .sidebar .nav-item{min-height:40px;flex-shrink:0}
 .sidebar .nav-label-text{visibility:hidden;transform:translateX(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
 .sidebar .nav-item:hover .nav-label-text,.sidebar .nav-item:focus-visible .nav-label-text{visibility:visible;opacity:1;transform:translateX(0)}
}
@media(prefers-reduced-motion:reduce){.sidebar .nav-label-text{transition:none;transform:none}}
.page{max-width:none;padding:0 20px 16px}
.page>.subtabs{min-height:42px;margin:0 -20px 0;padding:5px 20px;gap:4px;border-bottom:1px solid var(--line);border-radius:0;background:#f7f9fb;align-items:center}
.page>.subtabs~.subtabs{margin:0 -20px 12px;padding:5px 20px;border-bottom:1px solid var(--line)}
.subtab{min-height:30px;display:inline-flex;align-items:center;padding:5px 10px;color:var(--muted);border-radius:4px;font-weight:400}
.subtab.active,.subtab.active:hover{background:var(--blue);color:#fff;box-shadow:none;border-color:transparent}
.subtab.active:before{display:none}
.page-head,.tracker-head{min-height:76px;margin:0 -20px 14px;padding:14px 20px;border-bottom:1px solid var(--line);gap:12px;background:#fff}
.page-head .eyebrow,.tracker-head .eyebrow{display:none}
.page-head h1,.tracker-head h1{font-size:14px;font-weight:600;letter-spacing:0}
.page-head p,.tracker-head p{font-size:11px;line-height:1.5;margin:3px 0 0;color:var(--muted)}
.page-head>div:first-child,.tracker-head>div:first-child{flex:1 1 220px}
.head-actions{gap:6px}.btn,.mini-action,.dialog-close{border-radius:var(--action-radius);box-shadow:none}.password-toggle{border-radius:var(--action-radius,999px);box-shadow:none}
.btn,.mini-action,.dialog-close{background:#fff;color:var(--ink);border-color:var(--action-border)}
.btn:hover,.mini-action:hover,.dialog-close:hover{background:var(--surface-raised);color:var(--blue);border-color:#95acc7}
.btn-primary,.btn-clay,.btn-mint-soft{color:#fff;background:var(--action-primary);border-color:var(--action-primary)}
.btn-primary:hover,.btn-clay:hover,.btn-mint-soft:hover{color:#fff;background:var(--action-primary-hover);border-color:var(--action-primary-hover)}
.btn:active,.mini-action:active{background:var(--clay-soft);border-color:var(--accent-border);color:var(--ink)}
.btn-danger-soft,.mini-action.remove{background:var(--danger);color:#fff;border-color:var(--danger)}
.btn-danger-soft:hover,.mini-action.remove:hover{background:var(--danger);color:#fff;border-color:var(--danger);filter:brightness(.94)}
button:disabled,.btn:disabled{background:var(--surface-raised);border-color:var(--line);color:#697786;opacity:.8}
.input,.select,.textarea{background:#fff;color:var(--ink);border-color:#cdd6df;min-height:34px}
.input::placeholder,.textarea::placeholder{color:#687685}
.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-border);outline:0;box-shadow:none}
.password-toggle{background:#fff;color:var(--ink);border-color:var(--action-border)}.password-toggle:hover{background:var(--surface-raised);border-color:var(--blue)}
.card,.toolbar,.metric,.student-qr-card,.shoot-floor{border-color:var(--line);box-shadow:none}
.card-head{background:#fafbfd}.card-head p,.card-head small{font-size:11px}
.toolbar{border-radius:6px;padding:10px;gap:8px;background:#f8fafc}
.control-label{font-size:11px;color:var(--muted)}
.filter-chip{border-radius:var(--action-radius,999px);font-size:11px;padding:6px 9px;min-height:30px;background:#fff;color:var(--muted)}
.filter-chip.active{border-color:#b8cbe1;background:var(--blue-soft);color:var(--blue)}
.data-table th,.ledger th{background:#f7f9fb;font-size:11px;letter-spacing:.03em;color:var(--muted)}
.data-table td,.ledger td{font-variant-numeric:tabular-nums}.numeric,.amount{font-variant-numeric:tabular-nums}
.tracker-table .select-column{width:48px;min-width:48px;padding:10px 12px;vertical-align:middle}
.tracker-table .select-column input{display:block;margin:0 auto;cursor:pointer}
.tracker-table th{padding-block:12px;white-space:nowrap}
.tracker-table td{padding-block:11px}
.tracker-table .person{min-width:210px}.tracker-table .person small{display:block;margin-top:3px}
.tracker-table .tracker-state{border-radius:var(--action-radius,999px);min-height:32px}
.tracker-metrics{gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.tracker-metrics>.metric{border:0;border-right:1px solid var(--line);border-radius:0;padding:14px 18px}
.tracker-metrics>.metric:last-child{border-right:0}
.tracker-metrics .metric-value{font-size:24px;margin-top:8px}
.bulk-bar{flex-wrap:wrap}.bulk-bar .control-label{margin:0}
@media(max-width:1100px){.tracker-metrics>.metric{border-bottom:1px solid var(--line)}.tracker-metrics>.metric:nth-child(2n){border-right:0}.tracker-metrics>.metric:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:470px){.tracker-metrics>.metric{border-right:0}.tracker-metrics>.metric:nth-last-child(2){border-bottom:1px solid var(--line)}.tracker-metrics .metric-value{margin:0}}
.status-pill{font-size:10px;line-height:1.4;font-weight:600;border-radius:4px;letter-spacing:.02em}
.status-pill.no_package{background:#f0f2f5;color:#596674}
.roster-row{border-radius:0;padding:11px 14px}.roster-summary{gap:4px 14px;font-size:11px}
.roster-more>summary{font-size:11px;font-weight:400}.roster-label{font-size:10px}
.dashboard-core-metrics{gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.dashboard-core-metrics>.metric{border:0;border-right:1px solid var(--line);border-radius:0;padding:14px 18px}
.dashboard-core-metrics>.metric:last-child{border-right:0}.metric-value{font-size:24px;margin-top:8px;font-weight:600}
.dashboard-core-metrics .metric-top{font-size:11px;letter-spacing:.04em}.dashboard-core-metrics .metric-foot{font-size:11px}
.profile-grid{gap:16px}.profile-hero{padding:16px}.profile-hero .avatar{width:48px;height:48px;font-size:16px}
.detail-grid{border-top:1px solid var(--line)}.detail{padding:12px 16px}.detail small{font-size:11px}
.student-qr-card{padding:16px;gap:20px}.student-qr-image{background:white}
.workflow-column{background:#f4f6f9}.workflow-card{background:#fff;box-shadow:none}
.portal-top.app-toolbar>nav a{color:#e2eaf4}.portal-top .account-menu-panel .btn{color:var(--ink);background:#fff}
.portal-hero{color:var(--ink)}.portal-hero:has(>img){color:#fff}
.portal-auth-art{background:var(--chrome);color:#fff}.portal-auth-card,.portal-auth-brand{color:var(--ink)}
.portal-footer{background:#fff;border-top:1px solid var(--line)}
.auth-topbar{min-height:52px;padding:8px 24px;display:flex;align-items:center}
.auth-topbar .wordmark,.auth-topbar .wordmark:hover{font-size:13px;color:#fff}
.auth-topbar .aouie-brand-mark{width:36px;height:36px}
.error-topbar .wordmark strong{display:block;font-size:19px;line-height:1.2}
.error-topbar .wordmark small{color:#c4d1e2;font-size:9px;margin-top:2px}
.error-topbar .wordmark:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px;border-radius:4px}
@media print{.error-topbar .wordmark,.error-topbar .wordmark:hover,.error-topbar .wordmark small{color:var(--ink)}}
.auth-content{min-height:calc(100dvh - 53px);display:grid;place-items:center;padding:40px 24px;background:#fff}
.auth-unified .auth-card{width:min(420px,100%);border:0;border-radius:0;background:none;box-shadow:none}
.auth-intro{margin-bottom:26px}.auth-intro .eyebrow{display:block;font-size:10px;letter-spacing:.06em;font-weight:600}
.auth-intro h1{font-size:20px;font-weight:600;margin:10px 0 5px;line-height:1.3}
.auth-intro p{font-size:12px;color:var(--muted);margin:0}
.auth-form{display:grid;gap:18px}.auth-form .input,.auth-form .btn,.auth-form .password-toggle{min-height:44px}
.auth-form .field label{font-size:11px;text-transform:none;letter-spacing:0;margin-bottom:6px}
/* Students: command bar + record list + persistent inspector. */
.workspace-count{display:inline-block;font-size:11px;font-weight:400;color:var(--muted);margin-left:8px}
.workspace-filters{margin-bottom:12px;background:#f8fafc}
.workspace-filters .search{min-width:200px}.workspace-filters .control-label{margin-bottom:4px}
.workspace-filters .filter-chips{gap:4px;flex-wrap:wrap}.workspace-filters .more-filters{margin-left:auto}
.records-workspace{--inspector-size:320px;display:grid;grid-template-columns:minmax(0,1fr) 8px var(--inspector-size);height:var(--workspace-height,calc(100dvh - 260px));min-height:380px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.records-roster{min-width:0;min-height:0;display:grid;grid-template-rows:36px minmax(0,1fr) auto}
.workspace-pane-heading{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:#f8fafc;border-bottom:1px solid var(--line)}
.workspace-pane-heading h2{font-size:11px;font-weight:600;margin:0}.workspace-key-hint{font-size:10px;color:var(--muted)}
.records-list-scroll{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4c2d2 transparent;scroll-padding:8px}
.records-list{list-style:none;padding:0;margin:0}.record-row{position:relative;padding:11px 14px;border-bottom:1px solid #e9edf2;transition:background-color .1s}
.record-row:last-child{border-bottom:0}.record-row:hover{background:#f8fafc}.record-row.is-selected{background:#eef4fb;box-shadow:none}
.record-row-main{display:flex;align-items:center;gap:10px;min-width:0}.record-select{display:flex;align-items:center;gap:10px;flex:1;min-width:0;border-radius:4px;color:var(--ink)}
.record-select>span:last-child{min-width:0}.record-select strong{display:block;font-size:12px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
.record-select small{display:block;margin-top:2px;font-size:10px;color:var(--muted)}
.record-initials{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:6px;background:#e5edf7;color:var(--blue);font-size:10px;font-weight:600}
.record-open{font-size:10px;color:var(--blue);padding:5px 0;white-space:nowrap}
.record-overview{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin:6px 0 0 40px;font-size:11px;color:var(--muted)}
.record-overview-field{min-width:0;overflow-wrap:anywhere}.record-overview-field:empty{display:none}
.record-extra{margin:5px 0 0 40px;font-size:10px;color:var(--muted)}.record-extra summary{display:inline-block;cursor:pointer;border-radius:3px;color:var(--blue);font-size:10px}
.record-extra summary:after{content:' +';color:var(--muted)}.record-extra[open] summary:after{content:' −'}
.record-extra dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:8px 0;margin:0}.record-extra dt{color:var(--muted);font-size:10px}.record-extra dd{margin:2px 0 0;font-size:11px;color:var(--ink);overflow-wrap:anywhere}
.workspace-pagination{min-height:38px;padding:6px 12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:var(--muted);background:#fafbfd}
.workspace-pagination>div{display:flex;gap:5px}.workspace-pagination .btn{min-height:26px;padding:3px 8px;font-size:10px}
.workspace-divider{background:#f1f4f8;cursor:col-resize;border-inline:1px solid var(--line);touch-action:none}
.workspace-divider:hover,.workspace-divider:focus-visible{background:#dce7f4}.workspace-divider:focus-visible{outline:2px solid var(--action-focus);outline-offset:-2px}
.student-inspector{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff;outline:0}
.inspector-scroll{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#b4c2d2 transparent;flex:1}
.inspector-identity{padding:18px 16px 12px}.inspector-initials{display:grid;place-items:center;width:40px;height:40px;background:var(--blue-soft);color:var(--blue);font-size:12px;border-radius:7px;margin-bottom:12px}
.inspector-identity h2{font-size:14px;margin:0;overflow-wrap:anywhere}.inspector-identity p{font-size:11px;color:var(--muted);margin:4px 0 0}
.inspector-actions{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 16px;border-bottom:1px solid var(--line)}.inspector-actions .btn{font-size:10px;min-height:28px;padding:4px 8px}
.inspector-fields{margin:0;padding:4px 16px}.inspector-fields>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid #edf0f4;font-size:11px}
.inspector-fields dt{color:var(--muted);font-size:10px}.inspector-fields dd{margin:0;overflow-wrap:anywhere}.inspector-fields a{color:var(--blue)}
.inspector-section{padding:16px;display:grid;gap:7px}.inspector-section h3{font-size:11px;margin:0 0 3px}.inspector-section .btn{justify-content:flex-start;min-height:30px}
.inspector-footer{font-size:10px;color:var(--muted);padding:9px 14px;border-top:1px solid var(--line);background:#fafbfd}
.inspector-close{display:none}.workspace-status{display:flex;justify-content:space-between;gap:12px;padding:7px 2px;font-size:10px;color:var(--muted)}
.workspace-status a{color:var(--blue);text-decoration:underline}.workspace-status kbd{font:10px Outfit,system-ui;padding:1px 4px;border:1px solid var(--line);border-radius:3px;background:#f7f9fb}
.workspace-empty{padding:32px 20px;color:var(--muted)}.workspace-empty h2{font-size:13px;color:var(--ink);margin:0 0 6px}.workspace-empty p{font-size:11px;margin:0 0 14px}
.records-workspace[aria-busy=true] .student-inspector{opacity:.65}
@media(max-width:980px){.workspace-filters{flex-wrap:wrap}.workspace-filters .search{flex-basis:100%}}
@media(max-width:780px){
 .sidebar{background:var(--sidebar-chrome);border-bottom-color:#102346}.nav-scroll{gap:4px}.nav-label-text{background:transparent;border:0}
 .page{padding:0 12px 12px}.page>.subtabs,.page>.subtabs~.subtabs{margin:0 -12px;padding:5px 12px;gap:2px}
 .page-head,.tracker-head{margin:0 -12px 12px;padding:12px;min-height:64px}.head-actions{flex-wrap:wrap}
 .page-head>div:first-child,.tracker-head>div:first-child{flex:0 1 auto}
 .team-members-layout{grid-template-columns:minmax(0,1fr)}.team-members-layout>div{min-width:0}
 .team-members-layout .data-table{min-width:650px}
 .records-workspace{display:block;height:auto;min-height:0;overflow:visible;border-radius:6px}
 .records-roster{display:block}.records-list-scroll{max-height:none;overflow:visible}.workspace-divider{display:none}
 .student-inspector{display:none}.records-workspace[data-inspector-open] .student-inspector{display:flex;border-top:1px solid var(--line);max-height:none}
 .records-workspace[data-inspector-open]{display:flex;flex-direction:column}.records-workspace[data-inspector-open] .student-inspector{order:-1;border-top:0;border-bottom:1px solid var(--line)}
 .inspector-scroll{overflow:visible}.inspector-close{display:inline-flex;font-size:10px;min-height:28px;padding:3px 6px}
 .workspace-key-hint{display:none}.workspace-pagination{flex-wrap:wrap}.workspace-status{font-size:10px}
 .record-row{padding:12px}.record-extra dl{grid-template-columns:1fr}.workspace-filters .more-filters{margin-left:0}
 .dashboard-core-metrics>.metric{border-right:0;border-bottom:1px solid var(--line)}.dashboard-core-metrics>.metric:last-child{border-bottom:0}
 .auth-content{padding:32px 24px;align-items:start}.auth-topbar{padding-inline:20px}
}
@media(pointer:coarse){.record-select,.record-open,.inspector-actions .btn,.inspector-close,.workspace-pagination .btn{min-height:44px}.record-extra summary{padding:6px 0;min-height:30px}}
@media(prefers-reduced-motion:reduce){.record-row{transition:none}}
@media print{.app-toolbar,.sidebar,.page>.subtabs,.workspace-filters,.workspace-divider,.workspace-status,.workspace-key-hint,.workspace-command .head-actions{display:none!important}.page{padding:0}.records-workspace{display:block;height:auto;min-height:0;overflow:visible;border:0}.records-roster{display:block}.records-list-scroll,.inspector-scroll{height:auto;max-height:none;overflow:visible}.student-inspector{display:block;break-before:auto}.records-workspace .inspector-close,.inspector-actions,.record-open{display:none}.record-row{break-inside:avoid}.auth-topbar{color:#142e55;background:#fff}}
/* Keep the record list compact while retaining every configured field. */
@media(min-width:781px){
 .record-row{padding-block:10px}.record-overview{padding-right:80px;flex-wrap:nowrap;gap:12px}
 .record-overview-field{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:42%}
 .record-extra{margin:0 0 0 40px;position:relative}.record-extra:not([open]) summary{position:absolute;right:0;bottom:0}
 .record-extra[open]{margin-top:6px}
}
/* Light-surface foregrounds for older shared components. */
.package-order,.accounting-actions a>strong,.widget-position,.checklist-number{background:var(--blue);color:#fff}
.widget-setting-row.disabled .widget-position{color:var(--muted)}
.segmented a.active{background:var(--blue);color:#fff}
.calendar-day.today .calendar-day-number,.calendar-week-head .today strong{background:var(--clay);color:#fff}
.gallery-album-bar a.active{background:var(--blue-soft);color:var(--blue);border-color:#b8cbe1}
.gallery-empty>div{background:var(--blue-soft);color:var(--blue)}
.preview-section{color:var(--ink)}
@media(max-width:780px){.student-inspector{scroll-margin-top:96px}}
.field-palette .mini-action,.widget-order-actions .mini-action{background:#fff;color:var(--ink);border-color:var(--action-border)}
.field-palette .mini-action:hover,.widget-order-actions .mini-action:hover{background:var(--surface-raised);color:var(--blue)}
.school-preview button{background:var(--action-primary);color:#fff;border-color:var(--action-primary)}
.school-cover-empty{background:linear-gradient(135deg,var(--school-secondary,var(--chrome)),var(--clay));background-color:var(--chrome);color:#fff}

.sidebar .nav-item.active:focus-visible{outline-color:#fff;outline-offset:-3px}

/* Student sign-in reference layout; retain aouie assets and local Inter. */
.student-signin-body{background:#0D1A3C;color:#fff}
.student-signin-body .portal-main.portal-guest{min-height:100vh;padding:48px 0;display:flex;flex-direction:column;justify-content:center}
.student-signin-body .portal-footer{display:none}
.student-signin-body .portal-alert{width:min(1040px,calc(100% - 48px));margin:0 auto 20px}
.student-signin{width:min(800px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:48px;align-items:center}
.student-signin-brand{display:inline-flex;gap:12px;align-items:center;margin-bottom:28px;color:#fff}
a.student-signin-brand:hover,a.student-signin-brand:focus-visible{color:#fff}
.student-signin-brand:focus-visible{outline:2px solid #F07828;outline-offset:-2px;border-radius:4px}
.student-signin-brand img{object-fit:contain;flex-shrink:0}.student-signin-brand strong{display:block;font-size:21px;line-height:1.2;letter-spacing:-.04em}.student-signin-brand small{display:block;margin-top:2px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:#aeb8cc}
.student-signin-welcome{display:flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;color:#F07828;margin:0 0 15px}.student-signin-welcome:before{content:'';width:22px;height:2px;background:#F07828}
.student-signin-intro h1{font-family:Fraunces,Georgia,serif;font-size:40px;line-height:1.08;letter-spacing:-.035em;margin:0 0 16px;font-weight:700;color:#fff}.student-signin-intro h1 em{color:#F07828;font-weight:500}
.student-signin-intro .student-signin-headline{inline-size:max-content;max-inline-size:100%}
.student-signin-description{font-size:14px;line-height:1.8;max-width:460px;color:#c4ccde;margin:0}.student-signin-school{font-size:11px;line-height:1.6;color:#aeb8cc;margin:16px 0 0}
.student-signin-card{background:#fff;border-radius:10px;padding:28px 30px 24px;color:#0D1A3C;box-shadow:0 22px 40px #0002;font-family:Outfit,ui-sans-serif,system-ui,sans-serif;min-width:0}
.student-signin-card h2{font-family:inherit;font-size:24px;line-height:1.3;font-weight:750;margin:0 0 4px;letter-spacing:-.025em}.student-signin-card header p{font-size:12px;line-height:1.6;margin:0;color:#344f83}
.student-signin-card form{display:grid;gap:11px;margin-top:22px}.student-signin-card label{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.09em;font-weight:750;color:#344f83;margin-bottom:6px}
.student-signin-card .input{width:100%;min-height:44px;height:44px;border:1px solid #d4dff3;border-radius:10px;background:#fff;color:#0D1A3C;padding:10px 12px;font-family:inherit;font-size:13px;box-shadow:none}
.student-signin-card .input:focus{border-color:var(--accent-border,#F07828);box-shadow:none;outline:none}.student-signin-card .input::placeholder{color:#6e82a8;opacity:1}
.staff-signup-body .student-signin-card .input:focus{border-color:var(--accent-border,#F07828);box-shadow:none;outline:0}
.student-signin-card .password-control{position:relative;display:block;width:100%}.student-signin-card .password-control .input{padding-right:48px}.student-signin-card .password-toggle{position:absolute;right:2px;top:2px;width:40px;height:40px;min-height:40px;border:0;background:transparent;color:#6e82a8;box-shadow:none}
.student-signin-card .student-signin-submit{min-height:44px;width:100%;border:1px solid #F07828;border-radius:24px;background:#F07828;color:#fff;font-size:13px;font-weight:700;gap:10px;box-shadow:0 7px 16px #f0782830}.student-signin-card .student-signin-submit:hover{background:#d85f15;border-color:#d85f15;color:#fff}
.student-signin-register{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:11px 12px;border:1px solid #d4dff3;background:#f3f6fc;border-radius:12px}.student-signin-register strong{font-size:12px}.student-signin-register p{font-size:11px;color:#344f83;margin:3px 0 0}.student-signin-register .btn{min-height:36px;border-radius:var(--action-radius,999px);background:#0D1A3C;color:#fff;border-color:#0D1A3C;font-size:11px;white-space:nowrap;padding:7px 12px}
.student-signin-card footer{margin-top:16px;padding-top:15px;border-top:1px solid #d4dff3;text-align:center;color:#586f99;font-size:11px;line-height:1.6}.student-signin-card footer a{color:#234f9b;font-weight:650;text-decoration:underline}
.student-signin-card a:focus-visible,.student-signin-card button:focus-visible{outline:2px solid #F07828;outline-offset:-2px}
@media(max-width:850px){.student-signin{width:calc(100% - 48px);gap:36px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.student-signin-intro h1{font-size:32px}.student-signin-card{padding:24px}.student-signin-description{font-size:13px}}
@media(max-width:650px){.student-signin-body .portal-main.portal-guest{padding:28px 0}.student-signin{grid-template-columns:minmax(0,1fr);width:min(440px,calc(100% - 32px));gap:28px}.student-signin-brand{margin-bottom:22px}.student-signin-intro h1{font-size:34px}.student-signin-description{font-size:13px}.student-signin-school{margin-top:10px}}
@media print{.student-signin-body{background:#fff;color:#0D1A3C}.student-signin-intro{display:none}.student-signin{display:block;width:100%}.student-signin-card{box-shadow:none;border:1px solid #d4dff3}}

@font-face{font-family:Fraunces;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/fraunces-700-normal.ttf') format('truetype')}
@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url('/assets/fonts/fraunces-500-italic.ttf') format('truetype')}

.client-home{background:#fff;color:var(--ink)}.client-home>header{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:18px 28px;background:#0D1A3C;color:#fff}.client-home>header .student-signin-brand{margin:0 auto 0 0}.client-home>main{max-width:1040px;margin:auto;padding:32px 24px}.client-home h1{font-size:26px}.client-home h2{font-size:18px}.client-home main>p{color:var(--muted);line-height:1.6}.client-pictorials{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin:24px 0}.client-pictorials article,.client-link{border:1px solid var(--line);border-radius:10px;padding:20px}.client-link{margin-top:24px}.client-link summary{cursor:pointer;font-weight:650}.client-link p{font-size:13px;line-height:1.6}.client-link form{display:grid;max-width:420px;gap:12px}.client-account-form{width:min(440px,calc(100% - 32px));margin:8vh auto}.client-account-form h1{font-size:23px}.client-account-form>p{font-size:13px;line-height:1.6}.client-account-form>.portal-auth-brand{display:flex;align-items:center;gap:10px}

/* Shared compact Yes/No knob; labels retain generous hit targets. */
.clab-switch{display:flex;align-items:center;gap:8px;position:relative;min-height:32px;margin:6px 0 10px;font-size:12px;cursor:pointer}.clab-switch>input{position:absolute;left:0;top:0;width:48px;height:100%;margin:0;opacity:0;z-index:1;cursor:pointer}.clab-switch>.clab-switch-track{position:relative;display:inline-block;flex:0 0 48px;width:48px;height:19.8px;border:1px solid transparent;box-sizing:border-box;border-radius:12px;background:var(--danger,#b91c1c);transition:background-color .18s}.clab-switch>.clab-switch-track:before{content:'No';position:absolute;right:6px;top:1.9px;color:#fff;font:600 10px/14px Outfit,sans-serif}.clab-switch>.clab-switch-track:after{content:'';position:absolute;left:1px;top:1.2px;width:15.4px;height:15.4px;background:#fff;border-radius:50%;box-shadow:none;transition:transform .18s}.clab-switch>input:checked+.clab-switch-track{background:var(--success,#15803d)}.clab-switch>input:checked+.clab-switch-track:before{content:'Yes';left:6px;right:auto}.clab-switch>input:checked+.clab-switch-track:after{transform:translateX(28.6px)}.clab-switch>input:focus-visible+.clab-switch-track{outline:2px solid var(--action-focus,#F07828);outline-offset:-2px}.clab-switch>input:disabled{cursor:not-allowed}.clab-switch:has(>input:disabled){cursor:not-allowed;opacity:.65}.widget-switch.clab-switch{margin:0;white-space:nowrap}.widget-switch.clab-switch em{width:44px;font-size:10px;text-transform:none}@media(pointer:coarse){.clab-switch{min-height:44px}}@media(prefers-reduced-motion:reduce){.clab-switch>.clab-switch-track,.clab-switch>.clab-switch-track:after{transition:none}}@media print{.clab-switch{break-inside:avoid}.clab-switch>.clab-switch-track{background:#fff!important;border-color:#202936;print-color-adjust:exact}.clab-switch>.clab-switch-track:before{color:#202936}.clab-switch>.clab-switch-track:after{background:#202936}}


/* Client Google sign-in stays separate from the password form and staff access. */
.student-signin-card .student-google-form{margin-top:20px}
.student-signin-card .student-google-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #747775;border-radius:var(--action-radius,999px);background:#fff;color:#1f1f1f;font:500 14px Outfit,Arial,sans-serif;box-shadow:none}
.student-signin-card .student-google-button:hover{background:#f3f6fc;border-color:#344f83;color:#1f1f1f}
.student-google-button svg{flex-shrink:0}
.student-signin-divider{display:flex;align-items:center;gap:12px;margin:18px 0 -4px;color:#586780;font-size:11px}
.student-signin-divider:before,.student-signin-divider:after{content:'';height:1px;background:#d4dff3;flex:1}

/* The project name is the centered context indicator and opens project selection. */
.app-toolbar .active-project{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(34vw,440px);max-width:calc(100% - 440px);min-width:0;color:#fff;text-align:center;display:block}
.active-project strong{display:block;font-size:14px;font-weight:600;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-project:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px;border-radius:4px}
.projects-heading>div:first-child{flex-basis:auto}
@media(max-width:780px){.app-toolbar .active-project{position:static;transform:none;order:3;flex-basis:100%;width:100%;max-width:none}}
@media print{.app-toolbar .active-project{display:none}}

/* Searchable project drawer: one compact, independently scrolling list. */
.project-drawer{position:fixed;inset:var(--app-toolbar-height) auto 0 60px;margin:0;width:min(380px,calc(100vw - 60px));height:calc(100dvh - var(--app-toolbar-height));max-width:none;max-height:none;padding:0;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:12px 0 30px #0d1a3c26;overflow:hidden}
.project-drawer[open]{display:flex;flex-direction:column}
html:has(.project-drawer){scrollbar-gutter:stable}
.project-drawer::backdrop{background:transparent}
body:has(.project-drawer[open]){overflow:hidden}
.project-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--line);flex-shrink:0}
.project-drawer-header h2{font-size:14px;margin:0}.project-drawer-header p{font-size:11px;color:var(--muted);margin:3px 0 0}
.project-search{padding:16px 16px 8px;flex-shrink:0}.project-search label{display:block;font-size:11px;font-weight:600;margin-bottom:6px}
.project-search>div{display:flex;gap:6px}.project-search .input{width:100%;min-width:0}.project-search .input:focus{border-color:var(--accent-border);outline:0;box-shadow:none}
.project-results-count{margin:0;padding:0 16px 10px;color:var(--muted);font-size:11px;flex-shrink:0}
.project-picker-list{overflow:auto;overscroll-behavior:contain;min-height:0;padding:0 8px 12px;scrollbar-gutter:stable}
.project-option{margin:0 0 4px}.project-option-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 10px;border:1px solid transparent;border-radius:6px;background:var(--surface);color:var(--ink);text-align:left;font:inherit;cursor:pointer}
.project-option-button>span{min-width:0}.project-option-button strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.project-option-button small{display:block;font-size:11px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.project-option-button svg{width:16px;height:16px;flex-shrink:0;color:var(--muted)}
.project-option-button:hover{background:var(--surface-raised)}.project-option-button{transition:background-color .16s ease,border-color .16s ease}.project-option-button.is-current{background:var(--blue-soft);border-color:var(--line);box-shadow:none}
.project-option-button:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}
.project-current-label{display:inline-block;margin-top:6px;color:var(--blue);font-size:10px;font-weight:600}
.project-picker-empty{padding:16px;color:var(--muted);font-size:12px}
.project-picker-fallback{max-width:380px;border:1px solid var(--line);border-radius:6px}
.project-picker-fallback .project-picker-list{max-height:65dvh}
@media(max-width:780px){.project-drawer{inset:0 auto 0 0;width:min(380px,100vw);height:100dvh}}

@media print{.project-drawer,.project-search,.project-results-count,.projects-heading>[data-project-picker-open]{display:none!important}.project-picker-fallback{max-width:none;border:0}.project-picker-fallback .project-picker-list{max-height:none;overflow:visible}.project-option-button{break-inside:avoid}}

@media(prefers-reduced-motion:reduce){.project-option-button{transition:none}}

@media print{.projects-page [data-project-fallback]{visibility:visible;animation:none}}

.project-drawer[data-enhanced] .project-search button{display:none}
@media print{body:has(.project-drawer[open]){overflow:visible}html:has(.project-drawer){scrollbar-gutter:auto}}

.branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}.branch-row{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid var(--line)}.branch-row small{color:var(--muted)}.branch-row .btn{justify-self:start}.branch-project-create,.shoot-assignment-create,.shoot-assignment-card{margin-bottom:16px}.branch-project-create{margin-top:16px}.branch-project-create summary,.shoot-assignment-card summary{cursor:pointer;margin-bottom:12px}.shoot-crew-fields{margin:0;padding:0;border:0}.shoot-crew-fields legend{font-size:12px;font-weight:600;margin-bottom:12px}.shoot-crew-fields>label{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,230px);align-items:center;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.shoot-crew-fields small{display:block;color:var(--muted);overflow-wrap:anywhere}.project-search>[data-project-branch]{width:100%;margin-bottom:12px}.branch-grid label,.branch-project-create label,.shoot-assignment-card label,.shoot-assignment-create label{font-size:11px}.branch-grid .input,.branch-project-create .input,.shoot-assignment-card .input,.shoot-assignment-create .input{display:block;width:100%;margin-top:5px}
@media(max-width:480px){.shoot-crew-fields>label{grid-template-columns:1fr;gap:6px}}

/* Personal files retain native keyboard-accessible project / shoot folders. */
.client-file-folders summary{cursor:pointer;line-height:1.6;overflow-wrap:anywhere}
.client-file-folders summary .muted{margin-left:.5rem}
.client-file-progress{margin-top:12px;overflow-wrap:anywhere}.client-file-progress p{margin:6px 0;color:var(--muted)}
.client-file-shoot{margin:1rem 0 0;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.client-file-shoot time{font-size:.875rem}
.client-file-list{display:grid;gap:.75rem;padding-left:1.25rem;overflow-wrap:anywhere}
.client-file-list small{display:block;color:var(--muted)}

@media print{.client-files > header{display:none}.client-files main{max-width:none;margin:0;padding:0}.client-file-folders details::details-content{display:block;content-visibility:visible}.client-file-list a{color:var(--ink);text-decoration:underline}.client-file-shoot{break-inside:avoid}}

/* Client account pages: compact, directly visible mobile account actions. */
.client-home>header .client-identity{min-width:0;overflow-wrap:anywhere}
.client-home>header .client-account-action{color:#fff}
.client-account-ready{padding:20px}
.client-home main h1{margin:0 0 12px;line-height:1.25}
.client-home main h2{margin:0 0 10px;line-height:1.35}
.client-home main p{line-height:1.6}
.client-pictorials:empty{display:none}
@media(max-width:650px){
 .client-home>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:12px 16px}
 .client-home>header .student-signin-brand{margin:0;gap:8px}
 .client-home>header .student-signin-brand img{width:32px;height:32px}
 .client-home>header .student-signin-brand strong{font-size:20px}
 .client-home>header .client-identity{font-size:12px;line-height:1.4;text-align:right;max-width:190px}
 .client-home>header .client-account-action{font-size:12px;min-height:44px;display:inline-flex;align-items:center;justify-self:start}
 .client-home>header form{margin:0;justify-self:end}
 .client-home>header .btn{min-height:44px;padding:8px 12px;font-size:12px}
 .client-home>main{padding:20px 16px 88px}
 .client-home h1{font-size:22px}.client-home h2{font-size:17px}
 .client-home main>p,.client-home .client-account-ready p{font-size:13px}
 .client-account-ready,.client-link,.client-pictorials article{padding:16px}
 .client-account-ready{margin-top:16px}.client-account-ready p:last-child{margin-bottom:0}
 .client-link{margin-top:16px}.client-link form{max-width:none;gap:10px}
 .client-link .input{font-size:16px;min-width:0;width:100%;min-height:44px}
 .client-link .btn{white-space:normal;min-height:44px}
 .client-pictorials{grid-template-columns:minmax(0,1fr);gap:12px;margin:16px 0}
}
@media print{.client-home>header form,.client-home>header .client-account-action{display:none}}

.project-create{margin:12px 16px 0;flex-shrink:0;min-height:32px}
.project-create>summary{cursor:pointer;display:inline-flex;align-items:center;min-height:32px;font-size:12px}
.project-create[open]>summary{border-color:var(--blue);color:var(--blue)}
.project-create-form{display:grid;gap:12px;padding:12px 1px 8px;max-height:min(360px,45dvh);overflow:auto;overscroll-behavior:contain}
.project-create-form label{display:grid;gap:6px;font-size:11px;font-weight:600}
.project-create-form .input,.project-create-form .select{width:100%;min-width:0}
.project-create-form small{font-size:10px;font-weight:400;color:var(--muted)}
.project-create-form .alert{margin:0}
.project-create>summary:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}
@media(max-width:780px){.project-create-form .input,.project-create-form .select{font-size:16px;min-height:44px}.project-create>summary{min-height:44px}}
@media print{.project-create{display:none!important}}

.project-create-notice{margin:12px 16px 0;font-size:12px;color:var(--success);flex-shrink:0}

/* Project directory shares the quick picker's existing search and switch contract. */
.project-drawer-actions{padding:12px 16px 0;flex-shrink:0}
.projects-page .project-create{margin:0 0 20px;max-width:640px}
.projects-page .project-create:not([open]){display:none}
.projects-page .project-create-form{max-height:none;overflow:visible}
.projects-directory>.project-search{padding:0 0 16px}
.projects-filters{display:grid!important;grid-template-columns:minmax(160px,240px) minmax(180px,1fr) auto;align-items:end;gap:12px!important}
.projects-filters label{margin:0;min-width:0}.projects-filters .input,.projects-filters .select{display:block;width:100%;margin-top:6px}
.projects-directory>.project-results-count{padding-left:0}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}
.project-card{display:flex;flex-direction:column;margin:0;padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--surface);min-width:0;overflow-wrap:anywhere}
.project-card.is-current{box-shadow:none}
.project-card h2{font-size:14px;margin:0 0 6px}.project-card p{margin:0;color:var(--muted);font-size:12px}
.project-card dl{display:grid;gap:10px;margin:20px 0}.project-card dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;font-size:11px}.project-card dt{color:var(--muted)}.project-card dd{margin:0}
.project-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.project-card-actions .btn{margin-left:auto}.project-card-actions .project-current-label{margin:0}
.project-card[hidden]{display:none}
.projects-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.projects-results-toolbar .project-results-count{margin:0;padding:0}
.projects-view-switch{display:flex;gap:6px}
.projects-directory.projects-view-list .projects-grid{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.projects-directory.projects-view-list .project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 20px;padding:14px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.projects-directory.projects-view-list .project-card:last-child{border-bottom:0}
.projects-directory.projects-view-list .project-card-identity{min-width:0;grid-column:1;grid-row:1}
.projects-directory.projects-view-list .project-card h2{margin-bottom:4px}
.projects-directory.projects-view-list .project-card dl{display:flex;flex-wrap:wrap;gap:4px 16px;margin:6px 0 0}
.projects-directory.projects-view-list .project-card dl>div{display:flex;flex-wrap:wrap;gap:4px 8px}
.projects-directory.projects-view-list .project-card-actions{grid-column:2;grid-row:1 / 3;flex-wrap:wrap;justify-content:flex-end;margin:0;gap:6px}
.projects-directory.projects-view-list .project-card-actions .btn{margin:0}
.project-list-sharing{grid-column:1;grid-row:2;font-size:11px;min-width:0}.project-list-sharing[open]{grid-column:1/-1;grid-row:2}.projects-view-list .project-card:has(.project-list-sharing[open]) .project-card-actions{grid-row:1}
.project-list-sharing>summary{width:fit-content;cursor:pointer;min-height:24px;display:list-item;align-content:center;color:var(--muted);border-radius:3px}
.project-list-sharing>summary:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}
.project-list-sharing[open]>.project-sharing{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:6px}
@media(max-width:700px){.projects-directory.projects-view-list .project-card{grid-template-columns:minmax(0,1fr)}.projects-directory.projects-view-list .project-card-actions{grid-column:1;grid-row:2;justify-content:flex-start}.project-list-sharing,.project-list-sharing[open]{grid-row:3}.projects-directory.projects-view-list .project-card:has(.project-list-sharing[open]) .project-card-actions{grid-row:2}}
@media(max-width:780px){.projects-view-switch .btn,.project-list-sharing>summary{min-height:44px}.projects-directory.projects-view-list .project-card{padding:14px}.projects-directory.projects-view-list .project-card-actions{gap:8px}.projects-directory.projects-view-list .project-card-actions .btn{flex:1 1 auto}}
@media print{.projects-view-switch,.project-list-sharing{display:none!important}.projects-directory.projects-view-list .project-card{display:block;break-inside:avoid;box-shadow:none}.projects-results-toolbar{margin-bottom:12px}}
@media(max-width:780px){.projects-filters{grid-template-columns:1fr}.projects-filters .input,.projects-filters .select{font-size:16px;min-height:44px}.project-card .btn,.project-drawer-actions .btn{min-height:44px}}
@media print{.projects-heading>.btn,.projects-filters,.project-card-actions .btn{display:none!important}.projects-grid{display:block}.project-card{break-inside:avoid;margin-bottom:12px;box-shadow:none}}

/* School groups use native disclosures so keyboard and no-script browsing agree. */
.student-view-switch{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.school-browser{border:1px solid var(--line);border-radius:6px;margin:0 0 16px;padding:14px;background:var(--surface)}
.school-browser-heading h2{font-size:14px;margin:0 0 4px}.school-browser-heading p{font-size:12px;color:var(--muted);margin:0}
.school-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;font-size:12px}.school-breadcrumbs a{overflow-wrap:anywhere}.school-breadcrumbs [aria-current]{font-weight:600}
.school-tree{list-style:none;margin:0;padding:0}.school-tree .school-tree{margin:4px 0 8px 16px;border-left:1px solid var(--line);padding-left:12px}
.school-group{margin:4px 0}.school-group-summary{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;list-style:none}
.school-group-summary::-webkit-details-marker{display:none}.school-group-summary::before{content:'▸';color:var(--muted)}.school-group[open]>.school-group-summary::before{content:'▾'}
.school-group-summary>span:first-of-type{min-width:0;flex:1}.school-group-summary small{display:block;font-size:10px;color:var(--muted)}.school-group-summary strong{display:block;font-size:12px;overflow-wrap:anywhere;font-weight:500}.school-group-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.school-group-open{display:inline-block;margin:6px 10px;font-size:12px;padding:8px}.school-group-open[aria-current]{font-weight:600;color:var(--ink)}
.school-group-summary:focus-visible,.school-group-open:focus-visible,.school-breadcrumbs a:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}
.school-empty{color:var(--muted);font-size:12px}
@media(max-width:780px){.workspace-command>div:first-child{flex:0 1 auto}.student-view-switch .btn{min-height:44px}.school-browser{padding:10px}.school-tree .school-tree{margin-left:6px;padding-left:6px}.school-group-open{min-height:44px;align-content:center}}
@media print{.student-view-switch,.school-browser>.school-tree,.school-browser-heading{display:none!important}.school-browser{border:0;padding:0}.school-breadcrumbs a{color:var(--ink)}}

#student-records{scroll-margin-top:calc(var(--app-toolbar-height,64px) + 12px)}

.school-inline-students{margin:10px 0 12px;min-width:0}
.school-inline-students .records-workspace{height:clamp(320px,60dvh,560px);min-height:320px;max-height:none}
.school-inline-students .records-list-scroll{max-height:none}
.school-inline-students .workspace-status{margin-bottom:0}
@media(max-width:780px){.school-inline-students .records-workspace{height:auto;max-height:none;min-height:0}.school-inline-students .records-list-scroll{max-height:none}}
@media print{.school-browser>.school-tree{display:block!important}.school-group-summary,.school-group-open{display:none!important}.school-tree .school-tree{border:0;margin:0;padding:0}}

@media print{.school-inline-students .records-workspace,.school-inline-students .records-list-scroll{height:auto;max-height:none;min-height:0;overflow:visible}}

.student-panel-nav{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line)}
.student-history{padding:14px 16px}.student-history h3{font-size:13px;margin:0 0 6px}.student-history-intro{font-size:11px;color:var(--muted);margin:0 0 14px;line-height:1.5}
.student-history-list{list-style:none;margin:0;padding:0}.student-history-event{padding:12px 0;border-top:1px solid var(--line);font-size:11px}.student-history-event:first-child{border-top:0;padding-top:0}
.student-history-event strong{font-size:12px;display:block;font-weight:600}.student-history-meta{display:block;color:var(--muted);margin:4px 0;line-height:1.5}.student-history-event p{margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.student-history-amount{font-variant-numeric:tabular-nums}.student-history-event a{display:inline-block;margin-top:4px}
.student-history-pages{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:12px;margin-top:8px;font-size:11px}.student-history-pages>span{flex:1}.student-history-pages .btn{min-height:28px}
@media(max-width:780px){.student-panel-nav .btn,.student-history-pages .btn{min-height:44px}}
@media print{.student-panel-nav,.student-history-pages a{display:none!important}}

.history-record-interaction{margin:0 0 16px}.history-record-interaction>summary{display:inline-flex;cursor:pointer;list-style:none}.history-record-interaction>summary::-webkit-details-marker{display:none}.history-record-interaction form{display:grid;gap:10px;margin-top:12px}.history-record-interaction label{display:grid;gap:5px;font-size:11px}.history-record-interaction .input,.history-record-interaction .select{width:100%;min-width:0}.history-record-interaction textarea{resize:vertical}.history-record-interaction form>.btn{justify-self:start}
@media(max-width:780px){.history-record-interaction .input,.history-record-interaction .select{font-size:16px}.history-record-interaction .btn{min-height:44px}}
@media print{.history-record-interaction{display:none!important}}
/* Printing must not inherit viewport-sized workspaces or the phone inspector order. */
@media print{html,body,.app-shell{height:auto;min-height:0}.records-workspace[data-inspector-open]{display:block}.records-workspace[data-inspector-open] .student-inspector{order:initial;border:0}.student-history-event{break-inside:avoid}.inspector-footer{display:none}}

:root{--notification-dot:#ef4444}.nav-icon{position:relative}.nav-unread-dot{position:absolute;top:-1px;right:-1px;width:8px;height:8px;border-radius:50%;background:var(--notification-dot);border:2px solid var(--sidebar,#101F43);box-sizing:content-box}.nav-item.active .nav-unread-dot{border-color:#fff}@media print{.nav-unread-dot{display:none}}
.staff-attention-dot{position:absolute;top:-2px;right:-3px;width:8px;height:8px;border:2px solid var(--sidebar,#101F43);border-radius:50%;background:var(--notification-dot);box-sizing:content-box}
.nav-item.active .staff-attention-dot{border-color:#fff}
.staff-attention-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;min-height:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:10px;font-weight:600;line-height:18px}
.staff-attention-dot[hidden],.staff-attention-count[hidden]{display:none}
@media print{.staff-attention-dot,.staff-attention-count{display:none!important}}

/* Match clab's 1.4s unread notification pulse. */
.nav-unread-dot:not([hidden]){animation:requestUnreadPulse 1.4s infinite}@keyframes requestUnreadPulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.55)}70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}@media(prefers-reduced-motion:reduce){.nav-unread-dot:not([hidden]){animation:none}}@media print{.nav-unread-dot:not([hidden]){animation:none}}
/* Owner's sign-in introduction scale: 1.25×, with layout reflow. */
.student-signin-intro .student-signin-brand{gap:15px;margin-bottom:35px}.student-signin-intro .student-signin-brand img{width:52.5px;height:52.5px}.student-signin-intro .student-signin-brand strong{font-size:26.25px}.student-signin-intro .student-signin-brand small{font-size:11.25px;margin-top:2.5px}.student-signin-intro h1{font-size:50px;margin-bottom:20px}.student-signin-intro .student-signin-description{font-size:17.5px}@media(min-width:851px){.student-signin{width:min(880px,calc(100% - 64px));grid-template-columns:minmax(0,.875fr) minmax(0,1fr)}}@media(max-width:850px){.student-signin-intro h1{font-size:40px}.student-signin-intro .student-signin-description{font-size:16.25px}}@media(max-width:650px){.student-signin-intro .student-signin-brand{margin-bottom:27.5px}.student-signin-intro h1{font-size:42.5px}}

/* Canonical client pages share the staff account-menu component. */
.client-home>header.client-header{display:flex;flex-wrap:nowrap;gap:18px;position:relative;z-index:60}.client-header>.app-identity{min-width:0;flex-shrink:1}.client-header .app-client{overflow-wrap:anywhere}.client-header>.client-navigation{display:flex;align-items:center;gap:14px;margin-left:auto}.client-header .client-navigation a{color:#e2eaf4;font-size:12px;white-space:nowrap}.client-header .client-navigation a[aria-current]{text-decoration:underline;text-underline-offset:4px}.client-header .avatar{background:var(--action-primary);color:#fff}.client-header .account-menu-panel{z-index:61}.client-header .account-menu-panel form{display:block;margin:0;justify-self:stretch}.client-header .account-menu-panel .btn{color:var(--ink);background:var(--surface);min-height:36px}.client-header .account-target:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}.client-home.client-account-page>main.client-account-form{max-width:440px;box-sizing:border-box;margin:32px auto;padding:24px}
@media(max-width:650px){.client-home>header.client-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}.client-header>.client-navigation{grid-column:1/-1;grid-row:2;justify-content:space-between;margin:0;gap:8px}.client-header>.account-menu{grid-column:2;grid-row:1;justify-self:end}.client-header .client-navigation a{display:inline-flex;align-items:center;min-height:44px}.client-header .account-menu-panel .btn{min-height:44px}.client-home.client-account-page>main.client-account-form{padding:20px;margin:20px auto}}
@media(pointer:coarse){.client-header .account-target{width:44px;height:44px}}@media print{.client-header>.account-menu,.client-header>.client-navigation{display:none!important}}

.client-history-list{list-style:none;padding:0;margin:24px 0}.client-history-list>.client-link{margin:0 0 14px}.client-history-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.client-history-heading h2{font-size:16px;margin:0}.client-history-heading time{font-size:12px;color:var(--muted)}.client-history-list p{overflow-wrap:anywhere}.receipt-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.payment-receipt{max-width:700px;margin:0 auto}.receipt-brand{display:flex;align-items:center;gap:10px;font-size:22px}.receipt-details>div{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.receipt-details dt{color:var(--muted)}.receipt-details dd{margin:0;overflow-wrap:anywhere}.receipt-details{font-size:14px}.payment-receipt h1{font-size:24px}@media print{.client-receipt .client-header,.receipt-actions,.client-receipt #student-qr{display:none!important}.client-receipt>main{padding:0;margin:0;max-width:none}.payment-receipt{border:0;padding:0;max-width:none}.receipt-details>div{break-inside:avoid}}

/* Four labeled client controls on phones, with account actions inside Profile. */
.client-header{display:flex;align-items:center;gap:18px;padding:16px 22px;background:var(--topbar,#0D1A3C);color:#fff;position:relative;z-index:60}.client-header>.client-navigation{margin-left:auto;display:flex;align-items:center;gap:16px}.client-navigation>a{color:#e2eaf4;font-size:12px}.client-navigation svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.client-navigation>a>svg,.client-navigation .account-target>svg,.client-mobile-label,.client-navigation>.client-mobile-control{display:none}.client-header .account-menu-panel a{white-space:normal}.client-header .account-menu-panel{max-height:min(75dvh,560px);overflow:auto}.client-header .account-menu-panel .btn{font-size:12px;color:var(--ink);text-decoration:none}.client-header .account-menu-panel .btn:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}
@media(max-width:650px){.client-home>header.client-header,.portal-body>header.client-header{display:flex;padding:12px 16px}.client-header>.client-navigation{position:fixed;z-index:70;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:4px 6px calc(4px + env(safe-area-inset-bottom));background:var(--sidebar,#101F43);border-top:1px solid #344362;margin:0;max-width:none;overflow:visible}.client-header .client-navigation>a,.client-header .client-navigation>.client-mobile-control,.client-header .client-navigation .account-target{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:56px;height:auto;padding:5px 2px;border:0;border-radius:6px;background:transparent;color:#fff;font:inherit;font-size:11px;box-sizing:border-box;text-decoration:none;cursor:pointer}.client-navigation>a>svg,.client-navigation .account-target>svg{display:block}.client-navigation .client-mobile-label{display:inline}.client-navigation .client-desktop-label,.client-navigation .account-target>.avatar{display:none}.client-header .client-navigation>a[aria-current],.client-navigation .account-menu[open]>.account-target{background:var(--accent,#F07828);color:#fff}.client-navigation>.account-menu{position:relative;min-width:0}.client-navigation .account-menu-panel{position:absolute;top:auto;bottom:calc(100% + 12px);right:0;width:min(270px,calc(100vw - 24px));max-height:calc(100dvh - 100px);box-sizing:border-box}.client-home>main,.portal-body>.portal-main{padding-bottom:100px}.portal-footer{padding-bottom:92px}.client-home #student-qr,.portal-body #student-qr{padding:0;width:0;height:0;border:0;background:transparent}.client-home #student-qr>.student-qr-expand,.portal-body #student-qr>.student-qr-expand{display:none}.client-navigation a:focus-visible,.client-navigation button:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}}
@media print{.client-header,.client-navigation{display:none!important}}

.client-navigation>.client-home-link{display:none}.portal-main a.btn-primary{color:#fff}@media(max-width:650px){.client-header .client-navigation>.client-desktop-control{display:none}.client-header .client-navigation>.client-home-link{display:flex}.client-navigation .account-target[aria-current]{background:var(--accent,#F07828);color:#fff}}
/* Client phone selection uses orange icon/label on the unchanged navy bar. */
@media(max-width:650px){.client-header .client-navigation>a[aria-current],.client-navigation .account-menu[open]>.account-target,.client-navigation .account-target[aria-current]{background:transparent;color:var(--accent,#F07828)}}

/* Client schedule spacing and distinct assigned sessions. */
.portal-body #my-schedule{margin-bottom:16px}.portal-body #my-schedule .card-body>article+article{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}

.bill-receipts>form{max-width:640px;margin-bottom:24px}.bill-receipts a{overflow-wrap:anywhere}
@media print{.bill-receipts form,.bill-receipts details{display:none!important}.bill-receipts{border:0}.bill-receipts .student-history-event{break-inside:avoid}}

.bill-change-history p,.bill-change-history dd{overflow-wrap:anywhere}.bill-draft-form{margin-top:18px}
@media print{.bill-draft-form{display:none!important}.bill-change-history{border:0}.bill-change-history li{break-inside:avoid}}

@media print{.bill-register-related{display:none!important}}

@media print{.accounting-contact-form{display:none!important}}
@media print{.book-scope-settings{display:none!important}.table-wrap:has([data-statement-table]){overflow:visible}.table-wrap [data-statement-table]{min-width:0;font-size:10px}.table-wrap [data-statement-table] th,.table-wrap [data-statement-table] td{white-space:normal;overflow-wrap:anywhere;padding:6px}.table-wrap [data-statement-table] tfoot{display:table-row-group}.table-wrap [data-statement-table] tr{break-inside:avoid}}
@media print{.bill-payment-form,.bill-payment-history details{display:none!important}.bill-payment-history li{break-inside:avoid}}
@media print{.bank-reconciliation-form{display:none!important}.bank-reconciliation-detail li{break-inside:avoid}}
.bank-reconciliation-detail{scroll-margin-top:80px}@media(max-width:800px){.bank-reconciliation-detail{scroll-margin-top:112px}}
#invoice-detail{scroll-margin-top:80px}@media(max-width:800px){#invoice-detail{scroll-margin-top:112px}}@media print{#invoice-detail form,.invoice-receipt-form,.invoice-receipt-history details{display:none!important}.invoice-receipt-history li{break-inside:avoid}}
@media print{.invoice-draft-form{display:none!important}.invoice-change-history li{break-inside:avoid}}

#invoice-credits { scroll-margin-top:80px; }
@media(max-width:760px){#invoice-credits{scroll-margin-top:112px;}}
@media print{.invoice-credit-history form,.invoice-credit-history details{display:none!important}.invoice-credit-history li{break-inside:avoid;}}
#account-detail{scroll-margin-top:80px}
@media(max-width:760px){#account-detail{scroll-margin-top:112px}}
@media print{.account-maintenance form{display:none!important}.account-change-history li{break-inside:avoid}}

#employment-detail{scroll-margin-top:80px}
@media(max-width:760px){#employment-detail{scroll-margin-top:112px}}
@media print{.employment-maintenance form,.employment-directory form,.employment-create{display:none!important}.employment-history li{break-inside:avoid}}

.credit-extent{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.credit-extent label{display:inline-flex;align-items:center;gap:6px;margin-right:18px}.credit-extent:has(input[value="full"]:checked)+.credit-item-fields{display:none}.credit-item-fields{display:grid;gap:12px;margin-top:12px}.invoice-applied-history{margin-top:20px}

.company-finance-status,.company-finance-maintenance,.company-finance-history{padding:20px}.company-change-fields{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,3fr);gap:8px}.company-change-fields dd{margin:0;overflow-wrap:anywhere}.document-company-identity{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px;overflow-wrap:anywhere}#company-finance{scroll-margin-top:80px}@media(max-width:760px){#company-finance{scroll-margin-top:112px}.company-change-fields{grid-template-columns:1fr}.company-change-fields dd{margin-bottom:8px}}@media print{.company-finance-maintenance form{display:none!important}.company-finance-history li{break-inside:avoid}}
.company-finance-print{display:none}@media print{.company-finance-maintenance .section-heading a{display:none!important}.company-finance-print{display:grid!important}}

/* Output review: an empty sample must not expose the hidden image's alt text. */
[data-yearbook-checklist] [hidden]{display:none!important}
.output-pickup{margin:16px 0}.output-pickup-list{display:grid;gap:12px;padding:16px}.output-pickup-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--line);border-radius:8px}.output-pickup-row p{margin:4px 0;color:var(--muted)}.standard-inventory{margin-top:20px}.standard-inventory>summary{cursor:pointer;font-weight:600;padding:14px 0}.standard-inventory .field-help{margin-bottom:16px}
@media(max-width:600px){.output-pickup-row{align-items:flex-start;flex-direction:column}}
@media print{.standard-inventory>summary{display:none}.standard-inventory::details-content{content-visibility:visible}.output-pickup-row{break-inside:avoid}}

.output-print-note{display:none}
@media print{.public-body .review-pdf,.portal-body .portal-yearbook-pdf{display:none!important}.output-print-note{display:block}.public-review-head,.locked-review,.portal-review-actions{break-inside:avoid}}

/* All tokenized/public pages use the same aouie brand shell as the application. */
.public-toolbar{min-height:64px;padding:12px 20px;gap:20px;border-bottom:2px solid var(--accent-border);font-family:Outfit,ui-sans-serif,system-ui,sans-serif}
.public-toolbar .app-identity{flex:0 0 auto;gap:10px}
.public-toolbar .aouie-brand-mark{width:36px;height:36px}
.public-page-label{margin-left:auto;min-width:0;max-width:65%;color:#e2eaf4;font-size:12px;line-height:1.5;text-align:right;overflow-wrap:anywhere}
.public-body>.public-shell{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:24px 0 48px}
.public-review-tools{display:flex;gap:8px;margin:16px 0}
.public-toolbar .app-identity:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--accent-border);border-radius:4px}
@media(max-width:600px){.public-toolbar{padding:12px;gap:12px}.public-body>.public-shell{width:calc(100% - 24px);padding-top:20px}}
@media print{.public-toolbar{min-height:0;padding:0 0 12px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);break-inside:avoid}.public-toolbar a.app-identity,.public-toolbar .public-page-label{color:var(--ink)}.public-toolbar .aouie-brand-mark{width:36px;height:36px}.public-body>.public-shell{width:100%;padding:16px 0 0}.public-review-tools{display:none}}

/* Current icon paired with the owner-requested original lettering only. */
.public-toolbar .aouie-brand-lettering{display:block;width:108px;height:38px;object-fit:contain;filter:brightness(0) invert(1)}
@media print{.public-toolbar .aouie-brand-lettering{filter:none}}

.indesign-client-proof{display:block;max-width:100%;height:auto;margin:12px auto}

/* A project returns to its parent branch without making Branch a project tool. */
.app-toolbar .branch-parent-link{color:#fff;text-decoration:underline;font-size:12px;line-height:16px}
.app-toolbar .branch-parent-link:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}

@media(max-width:650px){.client-header>.client-navigation{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Branch work and activity cards need readable spacing without changing shared card tables. */
.branch-work-card,.branch-activity-card{padding:16px;margin-bottom:16px;overflow-wrap:anywhere}.branch-work-card>h2,.branch-activity-card>h2{margin-top:0}.branch-work-card .branch-work-card,.branch-activity-card .branch-activity-card{margin-bottom:12px}.branch-activity-card summary{cursor:pointer;min-height:32px}

/* Print stays directly visible alongside the existing client controls. */
@media(max-width:650px){.client-header>.client-navigation{grid-template-columns:repeat(6,minmax(0,1fr));padding-left:2px;padding-right:2px;gap:0}.client-header .client-navigation>a{font-size:10px}}
.client-print-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px;margin:16px 0 24px}.client-print-products article{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.client-print-products h3{margin:0 0 12px}.client-print-products strong{font-size:22px}.client-print-products p{color:var(--muted)}

.product-catalog-controls{padding:16px;display:grid;gap:12px}.product-catalog-controls .form-actions{justify-content:flex-start;margin:0!important;flex-wrap:wrap}.product-catalog-controls form{align-items:flex-end}.product-catalog-controls .field{flex:1;max-width:420px;min-width:min(220px,100%)}.product-catalog-controls .input{width:100%}

/* Shared page rhythm: plain cards need the same inset as structured card heads. */
.page > .card:has(> h2),.page > .card:has(> h3){padding:16px;margin-block:16px}
.page > .card:has(> h2) > h2,.page > .card:has(> h3) > h3{margin:0 0 10px}
.page > .card:has(> h2) > p,.page > .card:has(> h3) > p{margin:0 0 14px;line-height:1.55}
.page > .card:has(> h2) > :last-child,.page > .card:has(> h3) > :last-child{margin-bottom:0}
.page > .card + .card{margin-top:16px}
.toolbar > label{display:grid;gap:6px;min-width:0}
.toolbar:has(>label){align-items:end}
.card h2,.card h3,.page-head h1,.tracker-head h1{overflow-wrap:anywhere}
@media(max-width:520px){.page > .card:has(> h2),.page > .card:has(> h3){padding:14px}.toolbar > label{flex:1 1 160px}.toolbar > .btn{min-height:34px}}
@media print{.page > .card:has(> h2),.page > .card:has(> h3){box-shadow:none;break-inside:avoid}}
/* Audit history is a compact chronological list, not nested oversized cards. */
.branch-activity-card .branch-activity-card{border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:14px 0}
.branch-activity-card .branch-activity-card h2{font-size:14px;margin:0 0 6px}
.branch-activity-card .branch-activity-card p{margin:6px 0;line-height:1.45}
.branch-activity-card .branch-activity-card summary{margin-top:8px}

.settings-options .school-overview-card:last-child{grid-column:auto}

.lab-connect-heading{flex-wrap:wrap;gap:16px}
.lab-connect-form,.calendar-context-form{display:flex;align-items:end;flex-wrap:wrap;gap:10px}
.lab-connect-form label,.calendar-context-form label{display:grid;gap:6px;flex:1;min-width:min(220px,100%)}
.lab-connect-form{flex:0 1 440px}
.calendar-context-form label{max-width:440px}
.product-catalog-controls .form-actions{padding:0;border:0}

.client-auth-page{display:block;min-height:100vh;background:#fff}.client-auth-page .student-signin-card{margin:48px auto;max-width:440px;width:calc(100% - 32px);box-shadow:none;border:1px solid var(--line)}
.financial-report>header>.financial-report-currency{font:500 12px/1.5 Outfit,ui-sans-serif,system-ui,sans-serif;color:var(--muted)}
@media(max-width:520px){.client-auth-page .student-signin-card{margin:24px auto}}

.client-auth-page .student-signin-submit{background:var(--blue);color:#fff;border-radius:var(--action-radius,999px);box-shadow:none}
@media(max-width:780px){.lab-connect-form{flex:0 1 auto;width:100%;align-items:end;align-content:start}.lab-connect-heading{align-items:stretch}.lab-connect-form label{flex:1 1 220px}}
.communication-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.communication-metrics>div{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-radius:8px}.communication-metrics strong{font-size:24px}.communication-metrics span{color:var(--muted)}.communication-explainer{padding:16px;margin:16px 0}.communication-explainer p{margin:8px 0 0;line-height:1.55}.communication-status{font-weight:600}.communication-status.failed{color:#a32323}.communication-status.success{color:#176641}.communication-status.pending{color:#835600}@media(max-width:640px){.communication-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.communication-explainer details{margin-top:8px}.communication-explainer summary{cursor:pointer}.communication-explainer+section code{overflow-wrap:anywhere}.communication-metrics~nav[aria-label="Communication filters"]{justify-content:flex-start;padding:8px 0;margin:8px 0}
.package-output-plan{margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px}.package-output-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 90px auto;gap:10px;align-items:end;margin:12px 0}.package-output-row label{display:grid;gap:6px}@media(max-width:640px){.package-output-row{grid-template-columns:1fr 1fr}.package-output-row>button{justify-self:start}}

.photo-review-card{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;padding:20px;margin:16px 0;border:1px solid var(--line);border-radius:8px}.photo-review-card fieldset{display:grid;gap:10px;padding:14px}.photo-review-card fieldset label{display:grid;grid-template-columns:minmax(120px,1fr) 80px 60px;align-items:center;gap:8px}@media(max-width:700px){.photo-review-card{grid-template-columns:1fr}.photo-review-card img{max-height:180px!important}}
.deliverable-list{display:flex;gap:12px;overflow-x:auto;padding:4px 0 12px}.deliverable-slot{flex:0 0 180px;border:1px solid var(--border,#d4dce8);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}.deliverable-slot [data-output-photos]{min-height:68px;display:flex;gap:4px;flex-wrap:wrap}.deliverable-slot img{width:48px;height:64px;object-fit:cover;border-radius:4px}.deliverable-slot:focus-within{border-color:#F07828}[data-select-photo][aria-pressed=true]{background:#2E5AA8;color:white}

.checker-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.checker-photo-gallery .photo-review-card{display:flex;flex-direction:column;padding:12px;gap:8px;align-self:start;min-width:0}.checker-photo-gallery .photo-review-card img{width:100%;height:150px;object-fit:contain}.checker-photo-gallery h2{font-size:13px;overflow-wrap:anywhere}.checker-photo-gallery fieldset label{display:flex;flex-wrap:wrap;gap:6px}.checker-photo-gallery input[type=number]{width:68px}.checker-photo-gallery summary{cursor:pointer;padding:8px 0;font-weight:600}

.deliverable-slot [data-output-photos]:empty:before{content:'Drop photo';display:grid;place-items:center;width:100%;min-height:68px;border:1px dashed #cbd5e1;border-radius:4px;color:#627086;font-size:12px}

.branch-grid{align-items:start}.branch-address{border:0;padding:0;margin:0;min-width:0}.branch-address legend{font-size:12px;font-weight:600;margin-bottom:12px}.branch-row p{margin:0;overflow-wrap:anywhere}

.branch-list-card{overflow:visible}.branch-row-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.branch-actions{position:relative;flex:none}.branch-actions>summary{list-style:none;min-width:36px;min-height:32px;font-size:20px;line-height:1;justify-content:center}.branch-actions>summary::-webkit-details-marker{display:none}.branch-actions-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;display:grid;gap:6px;min-width:140px;padding:8px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #0d1a3c20}.branch-actions-menu .btn{width:100%;justify-content:flex-start}.branch-actions-menu form{margin:0}.branch-edit-card{max-width:760px}

.branch-up-button{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 12px;min-height:36px;color:#fff;background:transparent;border-color:#627086}.branch-up-button:hover{color:#fff;background:#1A3878}.branch-up-button:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}@media(max-width:760px){.branch-up-button{align-self:flex-start;margin:0 0 8px}}@media print{.branch-up-button{display:none!important}}

@media(min-width:781px) and (max-width:1199px){.branch-up-button{justify-content:center;min-width:36px;padding:6px}.branch-up-label{display:none}}

.project-card{overflow:visible;position:relative}.project-card .branch-row-head{align-items:flex-start}.project-card .project-actions{position:absolute;top:12px;right:14px}.project-card-identity h2{padding-right:44px}.project-card-actions>form{margin-left:auto}.projects-view-list .project-card-actions{padding-right:0}.project-card .branch-actions-menu{z-index:35}

.projects-directory.projects-view-list .projects-grid{overflow:visible}.project-card:has(.project-actions[open]){z-index:36}@media print{.project-actions{display:none!important}}

.project-period{min-width:0;margin:8px 0;padding:16px;border:1px solid var(--line);border-radius:6px}.project-period legend{font-weight:600;padding:0 6px}.project-period-summary{margin-top:10px!important}.project-period-summary dd{font-variant-numeric:tabular-nums}

/* Project directory: distinct cards with a clear header menu and entry action. */
.projects-directory.projects-view-list .projects-grid{gap:12px;border:0;border-radius:0}
.projects-directory.projects-view-list .project-card,.projects-directory.projects-view-list .project-card:last-child{border:1px solid var(--line);border-radius:8px;padding:16px;gap:12px 24px;min-height:148px}
.project-card .project-actions{top:16px;right:16px}
.projects-directory.projects-view-list .project-card-actions{align-self:stretch;align-items:flex-end;padding-top:48px;min-width:108px}
.project-card-actions .btn{min-height:34px}
.project-period-summary{gap:8px 24px!important}
.project-period-summary>div{display:flex;gap:8px}
@media(max-width:700px){.projects-directory.projects-view-list .project-card-actions{padding-top:0;min-width:0;align-self:auto}.projects-directory.projects-view-list .project-card-actions>form{margin-left:0}.projects-directory.projects-view-list .project-card{min-height:0;gap:12px}.project-card .project-actions{right:14px;top:14px}.project-period-summary{flex-direction:column}}

.projects-directory .projects-filters{grid-template-columns:minmax(0,1fr) auto}.projects-directory .projects-filters>button{min-height:36px}

.branch-product-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 24px 70px #0d1a3c40}
.branch-product-dialog::backdrop{background:#0d1a3c99}
.branch-product-dialog[open]{display:flex;flex-direction:column}
.branch-product-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0}
.branch-product-dialog h2{margin:0;font-size:16px}
.branch-product-dialog>form{display:flex;flex-direction:column;min-height:0;overflow:hidden;margin:0}
.branch-product-fields{overflow-y:auto;overscroll-behavior:contain;padding:20px;min-height:0}
.branch-product-dialog footer{flex-shrink:0;justify-content:flex-end;padding:14px 20px;margin:0;border-top:1px solid var(--line);background:var(--surface,#fff)}
.branch-product-dialog .package-output-plan{margin:0}
@media(max-width:600px){.branch-product-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.branch-product-fields{padding:16px}.branch-product-dialog>header,.branch-product-dialog footer{padding:12px 16px}}
@media print{.branch-product-dialog{display:none!important}}

.branch-product-list .data-table th,.branch-product-list .data-table td{padding:12px 16px;vertical-align:middle}
.branch-product-list .data-table td:first-child{min-width:180px}.branch-product-list td p{margin:4px 0;font-size:12px;color:var(--muted)}.branch-product-list td small{font-size:11px;color:var(--muted)}
.branch-product-price{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}
.branch-product-status{display:inline-flex;padding:4px 8px;border:1px solid var(--line);border-radius:5px;font-size:11px;background:#f5f7fb;white-space:nowrap}
.branch-product-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;white-space:nowrap}.branch-product-row-actions .btn{min-height:34px;margin:0}
.product-project-dialog{width:min(600px,calc(100vw - 32px))}.product-project-dialog .branch-product-fields{display:grid;gap:12px}.product-project-dialog p{margin:0}.product-project-dialog [data-project-search-status]{font-size:12px;color:var(--muted)}
.product-project-results{display:grid;gap:8px;max-height:40dvh;overflow:auto}.product-project-choice{display:grid;gap:4px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:var(--action-radius,999px);background:var(--surface,#fff);color:var(--ink);font:inherit;cursor:pointer}.product-project-choice small{color:var(--muted)}.product-project-choice[aria-pressed=true]{border-color:var(--blue);background:#eef3fc}.product-project-choice:focus-visible{outline:2px solid var(--accent-border);outline-offset:-2px}
@media(max-width:780px){.branch-product-row-actions .btn{min-height:44px}.branch-product-list .data-table th,.branch-product-list .data-table td{padding:10px 12px}}

.field-validation-error{color:#a32323;font-size:12px;line-height:1.5}.branch-product-dialog input[aria-invalid=true]{border-color:#a32323}

/* Consistent package process dialog: compact fields, full-width steps, stable actions. */
.package-dialog{width:min(800px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.package-dialog[open]{display:flex;flex-direction:column}
.package-dialog>form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 34px);overflow:hidden;margin:0}
.package-dialog>form>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0}
.package-dialog header h2{margin:4px 0 0;font-size:15px;line-height:1.4}
.package-dialog .order-dialog-body{display:flex;flex-direction:column;gap:16px;padding:20px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
.package-dialog .cpg-steps{width:100%;margin:0;padding:0;flex-shrink:0}
.package-dialog .cpg-step{min-height:44px;padding-top:10px;padding-bottom:10px}
.package-dialog .cpg-step-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-content:start;min-width:0}
.package-dialog .cpg-step-panel>h3{grid-column:1/-1;margin:0;font-size:13px;line-height:1.5}
.package-dialog .cpg-step-panel>.wide{grid-column:1/-1}
.package-dialog .field{display:grid;gap:6px;margin:0;min-width:0}
.package-dialog .field>span{font-size:11px;line-height:1.4}
.package-dialog .input,.package-dialog .select{height:36px;min-height:36px;width:100%;margin:0;box-sizing:border-box}
.package-dialog .textarea{height:88px;min-height:88px;margin:0;box-sizing:border-box}
.package-dialog .btn,.package-dialog .mini-action,.package-dialog .dialog-close,.package-dialog .add-checklist-item{display:inline-flex;align-items:center;justify-content:center;min-height:36px;height:36px;padding:0 12px;border:1px solid var(--action-border);border-radius:var(--action-radius,999px);font:500 12px/1.2 Outfit,ui-sans-serif,system-ui,sans-serif;white-space:nowrap;box-sizing:border-box}
.package-dialog .package-inclusion-builder{padding:0;margin:0;min-width:0}
.package-dialog .package-inclusion-builder legend{padding:0;margin-bottom:8px}
.package-dialog .package-inclusion-builder .add-checklist-item{margin:10px 0 0}
.package-dialog .package-inclusion-builder small{margin-top:8px;line-height:1.5}
.package-dialog .package-inclusion-row{align-items:center;gap:8px}
.package-dialog .package-output-plan{margin:0;padding:16px;border:1px solid var(--line);border-radius:6px;min-width:0}
.package-dialog .package-output-plan>p{margin:8px 0 12px;font-size:12px;line-height:1.5}
.package-dialog .package-output-plan>p:last-child{margin:12px 0 0}
.package-dialog .package-output-row{margin:12px 0;gap:8px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) 76px auto}
.package-dialog .package-output-row label{font-size:11px;gap:6px;min-width:0}
.package-dialog .package-active{margin:0;padding:12px;align-items:flex-start;gap:10px}
.package-dialog .package-active input{margin:3px 0 0}
.package-dialog .package-active small{line-height:1.5}
.package-dialog>form>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--line);flex-shrink:0;background:var(--surface,#fff)}
.package-dialog footer>[data-package-mode-note]{margin:0;font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none;color:var(--muted);width:auto}
.package-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.package-dialog-actions>.btn{flex:none;min-width:70px}
.package-dialog-actions>.btn-primary{min-width:120px}
.package-dialog .cpg-step-panel ul{margin:0;padding-left:20px;line-height:1.7}
.package-dialog .cpg-step-panel>div>p{margin:10px 0}
@media(max-width:600px){.package-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.package-dialog>form{max-height:calc(100dvh - 18px)}.package-dialog>form>header,.package-dialog .order-dialog-body{padding:16px}.package-dialog>form>footer{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 16px}.package-dialog .cpg-step-panel{grid-template-columns:minmax(0,1fr)}.package-dialog .package-output-row{grid-template-columns:repeat(2,minmax(0,1fr))}.package-dialog .package-output-row>.btn{justify-self:start}.package-dialog-actions>.btn,.package-dialog-actions>.btn-primary{min-width:0;flex:1}.package-dialog .btn,.package-dialog .mini-action,.package-dialog .dialog-close,.package-dialog .add-checklist-item{min-height:40px;height:40px}.package-dialog footer .package-dialog-actions{width:100%;margin:0}}

.package-dialog>form>footer>.package-dialog-actions{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;width:auto;margin:0}.package-dialog>form>footer>.package-dialog-actions>.btn{width:auto;margin:0}@media(max-width:600px){.package-dialog>form>footer>.package-dialog-actions{width:100%}}

.registration-information .registration-field-group{display:contents}.registration-information .registration-field-group[hidden]{display:none!important}.registration-information>.form-grid{gap:20px 24px}.registration-information .field{min-width:0}.registration-information .field>small{font-size:12px;color:var(--muted);line-height:1.5}

.form-source-guidance{margin:0;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface-raised);color:var(--ink);font-size:12px;line-height:1.5}

.client-project-overview .portal-project-heading h1{font:700 26px/1.25 Outfit,ui-sans-serif,system-ui,sans-serif;margin:6px 0}
.portal-project-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.portal-next-step{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;margin:16px 0;border-left:1px solid var(--border,var(--line,#dfe5eb))}
.portal-next-step h2{margin:6px 0;font-size:18px;line-height:1.4}.portal-next-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.portal-next-step>.btn{flex-shrink:0;white-space:nowrap}
.client-project-overview .portal-status-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.portal-notification-preferences>summary{padding:16px;cursor:pointer;font-weight:600;font-size:13px}.portal-notification-preferences form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.portal-notification-preferences label{display:flex;gap:8px;align-items:center;font-size:12px}.portal-notification-preferences .btn{margin:0}
@media(max-width:650px){.portal-next-step{align-items:flex-start;flex-direction:column;gap:16px;padding:16px}.portal-project-actions .btn{min-height:40px}.portal-next-step>.btn{min-height:40px}.client-project-overview .portal-project-heading h1{font-size:22px}}

.client-project-overview .portal-project-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.portal-project-heading>div:first-of-type{flex:1;min-width:0}.portal-project-heading>.portal-project-actions{flex:0 0 auto}.client-project-overview .portal-project-heading p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.5}.client-project-overview .portal-empty{padding:20px}@media(max-width:650px){.client-project-overview .portal-project-heading{align-items:flex-start;flex-direction:column;gap:16px}}

/* Package order controls retain contrast across shared button themes. */
.package-move .mini-action{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:5px;color:var(--ink);background:var(--surface);border:1px solid var(--action-border)}
.package-move .mini-action svg{display:block;width:16px;height:16px;flex:none}
.package-move .mini-action:hover:not(:disabled){color:var(--blue);background:var(--surface-raised)}
.package-move .mini-action:disabled{color:var(--muted);background:var(--surface-raised);opacity:1;cursor:not-allowed}
@media(max-width:600px){.package-move .mini-action{min-width:40px;min-height:40px}}

/* Shared staff navigation keeps identical metrics in every state. */
.sidebar .nav-item,.sidebar .nav-item.active,.topbar .nav-item{font-family:Outfit,system-ui,sans-serif;transition:none;transform:none}
.topbar h1{font-family:Outfit,system-ui,sans-serif!important}
/* Shared profile-style account and contextual action menus. */
.account-menu-panel,.branch-actions-menu{padding:12px;gap:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 8px 24px #0d1a3c18}
.account-menu-panel strong{font-size:12px;font-weight:600;padding:4px}
.account-menu-panel .btn,.branch-actions-menu .btn{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:36px;height:auto;margin:0;padding:8px;border:0;border-radius:var(--action-radius);box-shadow:none;background:transparent;color:var(--ink);font:400 12px/1.5 var(--font-ui,Outfit,sans-serif);text-align:left;white-space:normal}
.account-menu-panel .btn:hover,.branch-actions-menu .btn:hover{background:var(--blue-soft,#f3f5f8);color:var(--ink)}
.account-menu-panel .btn-danger,.branch-actions-menu .btn-danger{color:var(--danger,#b42318)}
.account-menu-panel form,.branch-actions-menu form{margin:0}
@media(pointer:coarse){.account-menu-panel .btn,.branch-actions-menu .btn{min-height:44px}}

/* Phone labels must fit readable touch targets rather than eight tiny columns. */
@media(max-width:780px){
 .sidebar .nav-scroll{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:4px}
 .sidebar .nav-item{min-height:64px;padding:8px 6px}
 .sidebar .nav-label-text{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
}
@media(max-width:780px){
 dialog footer .btn,dialog footer button,dialog>header .btn,dialog>form>header .btn{min-height:44px}
 .account-menu-panel>a,.account-menu-panel>form>.btn{min-height:44px}
}

@media print{.express-cash-internal,.express-cash-receipt .print-actions{display:none!important}.express-cash-receipt{break-inside:avoid}.express-cash-receipt .data-table{min-width:0}}

.express-cash-receipt .data-table td{white-space:nowrap;overflow-wrap:normal;word-break:normal}.express-cash-receipt .data-table th{overflow-wrap:normal;word-break:normal}

.duplicate-review-table.data-table{min-width:760px}.duplicate-review-table.data-table th,.duplicate-review-table.data-table td{white-space:nowrap}
@media print{.duplicate-review-table.data-table{min-width:0}.duplicate-review-table.data-table th,.duplicate-review-table.data-table td{white-space:normal;position:static}}

.registration-email-frame{display:block;width:100%;min-height:680px;border:0;background:#fff}
@media print{.registration-email-frame{min-height:850px}}

.gallery-bulk{align-items:end;gap:12px}.gallery-bulk .gallery-select-page{display:flex;align-items:center;gap:6px;min-height:38px}.gallery-bulk [hidden]{display:none}.gallery-select{display:flex;align-items:flex-start;gap:6px;font-size:12px;overflow-wrap:anywhere}.gallery-select input{flex:none;margin-top:3px}.gallery-bulk .field{min-width:150px}.gallery-bulk [role=status]{align-self:center}.gallery-log-table details form{min-width:190px;display:grid;gap:8px;padding-top:8px}
@media(max-width:600px){.gallery-bulk{flex-wrap:wrap}.gallery-bulk .field{flex:1 1 100%}.gallery-bulk button{width:100%}}
.gallery-access-state{background:var(--surface-raised);color:var(--text)}
@media(max-width:780px){.gallery-claim-bar{position:static;bottom:auto;box-shadow:none}}

.gallery-bulk .gallery-select-page input{width:16px;height:16px;flex:none;margin:0}

/* Native parallel author reconciliation: preserve readable columns on phones. */
.reconciliation-candidates{min-width:560px}.reconciliation-records{min-width:720px}.reconciliation-facts dd{overflow-wrap:anywhere}
@media print{.reconciliation-candidates,.reconciliation-records{min-width:0}.table-wrap:has(.reconciliation-candidates),.table-wrap:has(.reconciliation-records){overflow:visible}}

@media screen{.express-cash-orders.data-table{min-width:680px}.express-cash-orders.data-table th,.express-cash-orders.data-table td{white-space:nowrap;overflow-wrap:normal;word-break:normal}}

/* Owner visual acceptance: scoped client spacing, fresh audit 1 November 2026. */
.client-project-overview #shoot-queue + .portal-dashboard{margin-top:16px}
.client-project-overview #my-orders > .card-body > form{display:grid;gap:8px}
.client-project-overview #my-orders > .card-body > form > .btn{justify-self:start}
.client-project-overview .portal-order-package > .portal-order-progress,
.client-project-overview .portal-order-updates{padding:16px}

/* Main actions follow the measured legacy orange reference; navigation is unchanged. */
.main .btn.btn-primary,.portal-main .btn.btn-primary,.client-home .btn.btn-primary,.auth-card .btn.btn-primary,.print-actions .btn.btn-primary{background:var(--button-orange);border-color:var(--button-orange);color:#fff;font-size:13px;font-weight:700;line-height:1.2;min-height:40px;padding:10px 20px;border-radius:var(--action-radius)}
.main .btn.btn-primary:hover,.portal-main .btn.btn-primary:hover,.client-home .btn.btn-primary:hover,.auth-card .btn.btn-primary:hover,.print-actions .btn.btn-primary:hover{background:var(--button-orange-hover);color:#fff;border-color:var(--button-orange)}
.main .btn.btn-primary:focus-visible,.portal-main .btn.btn-primary:focus-visible,.client-home .btn.btn-primary:focus-visible,.auth-card .btn.btn-primary:focus-visible,.print-actions .btn.btn-primary:focus-visible{outline:2px solid #0D1A3C;outline-offset:-4px}
@media(max-width:650px){.main .btn.btn-primary,.portal-main .btn.btn-primary,.client-home .btn.btn-primary,.auth-card .btn.btn-primary,.print-actions .btn.btn-primary{min-height:44px}}

.student-signin-card .btn.student-signin-submit{background:var(--button-orange);color:#fff;border-color:var(--button-orange);border-radius:var(--action-radius);font-size:13px;font-weight:700;box-shadow:none}
.student-signin-card .btn.student-signin-submit:hover{background:var(--button-orange-hover);color:#fff;border-color:var(--button-orange-hover)}
.student-signin-card .btn.student-signin-submit:focus-visible{outline:2px solid #0D1A3C;outline-offset:-4px}

/* Registration uses the same approved icon and original lettering artwork. */
.portal-registration-head .aouie-brand-lettering{display:block;object-fit:contain;width:60px;height:21px;filter:brightness(0) invert(1)}
@media print{.portal-registration-head .aouie-brand-lettering{filter:none}}

/* Fresh active-session audit: separate lower project cards when their content appears. */
.client-project-overview > .portal-dashboard + .portal-card,
.client-project-overview > .portal-card + .portal-card{margin-top:16px}
.client-project-overview > section.card.portal-card{padding:16px}

/* Content actions stay capsules. These direct controls are actual top/left
   navigation or page-level filter/view toolbars; their nested dialogs, cards,
   pagination and generic head-actions groups are not rounded-box exceptions. */
.app-toolbar>.btn,.sidebar>.btn,.portal-top nav>.btn,
.client-header .client-navigation>.btn,
.main>.page>.toolbar:not(.gallery-bulk)>.btn,
.main>.page>.toolbar>.actions>.btn,
.main>.page>.toolbar>.head-actions>.btn,
.main>.page>.toolbar>.search>.btn,
.main>.page>.toolbar>.filter-chips>.filter-chip,
.main>.page>.calendar-toolbar>.calendar-controls>.btn,
.main>.page>.projects-directory>.projects-results-toolbar>.projects-view-switch>.btn{border-radius:var(--toolbar-radius)}
.projects-view-switch .btn[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}
.projects-view-switch .btn[aria-current="page"]:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.branch-actions>summary.btn,.project-list-sharing>summary.btn{border-radius:var(--action-radius)}
.package-dialog :is(.btn,.mini-action,.dialog-close,.add-checklist-item){border-radius:var(--action-radius)}
.student-qr-dialog .btn{border-radius:var(--action-radius)}
.student-qr-dialog .student-qr-actions .btn-primary,.public-body .btn-primary{background:var(--button-orange);border-color:var(--button-orange);color:#fff}
.student-qr-dialog .student-qr-actions .btn-primary:hover,.public-body .btn-primary:hover{background:var(--button-orange-hover);border-color:var(--button-orange);color:#fff}
.student-qr-dialog .student-qr-actions .btn-primary:focus-visible{outline:2px solid #0D1A3C;outline-offset:-4px}
/* Top account navigation stays boxed; card action menus remain capsules. */
.account-menu-panel .btn,.branch-actions-menu .btn{border-radius:var(--action-radius);background:transparent;color:var(--ink);border:0;filter:none}
.account-menu-panel .btn:hover,.branch-actions-menu .btn:hover{background:var(--surface-raised);color:var(--ink);filter:none}

/* Copied original login presentation after fresh source/reference capture.
   Original student_home default signin layout; current auth behaviors retained.
   Scope excludes signup/reset forms, app navigation and other page typography. */
.student-signin-body .portal-main.portal-guest:has(>.login-reference-layout){padding:32px 20px}
.student-signin.login-reference-layout{width:100%;max-width:960px;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
.login-reference-layout .student-signin-intro{padding:0 4px}
.login-reference-layout .student-signin-brand{display:flex;width:max-content;gap:12px;margin-bottom:32px}
.login-reference-layout .student-signin-brand .student-signin-brand-icon{width:48px;height:48px;object-fit:contain}
.login-reference-layout .student-signin-brand .student-signin-brand-lettering{width:108px;height:38px;object-fit:contain;border-radius:0;background:transparent;box-shadow:none;filter:brightness(0) invert(1)}
.login-reference-layout .student-signin-welcome{display:inline-flex;align-items:center;text-transform:uppercase;color:#F07828;font-size:11px;font-weight:800;letter-spacing:2px;gap:10px;margin-bottom:14px}
.login-reference-layout .student-signin-welcome:before{content:"";display:block;background:#F07828;width:22px;height:1.5px}
.login-reference-layout .student-signin-intro h1{font-family:Fraunces,Georgia,serif;font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0 0 14px;inline-size:auto}
.login-reference-layout .student-signin-description{font-size:14px;line-height:1.6;max-width:44ch;color:rgba(255,255,255,.68)}
.login-reference-layout .student-signin-card{width:100%;max-width:420px;justify-self:stretch;padding:32px 30px;border-radius:10px;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.login-reference-layout .student-signin-card h2{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:700;line-height:1.55;letter-spacing:normal;margin-bottom:4px}
.login-reference-layout .student-signin-card header p{font-size:13px;color:#3A5080}
.login-reference-layout .student-signin-card label{font-size:11px;font-weight:800;letter-spacing:1.2px;margin-bottom:5px}
.login-reference-layout .student-signin-card .input{height:42px;min-height:42px;font-size:14px;border-width:1.5px;border-color:#DDE5F5;padding:11px 14px;border-radius:10px}
.login-reference-layout .student-signin-card .password-control .input{padding-right:48px}
.login-reference-layout .student-signin-card .input:focus{border-color:#F07828;box-shadow:none;outline:0}
/* Latest owner shape/color correction takes precedence over old white/rectangular signin. */
.login-reference-layout .student-signin-card .student-signin-submit,
.login-reference-layout .student-signin-card .student-google-button,
.login-reference-layout .student-signin-register .btn{border-radius:var(--action-radius)}
.login-reference-layout .student-signin-register .btn{background:#fff;color:#0D1A3C;border-color:#DDE5F5}
@media(min-width:880px){.student-signin.login-reference-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}}
@media(max-width:640px){.student-signin-body .portal-main.portal-guest:has(>.login-reference-layout){padding:24px 14px}.login-reference-layout .student-signin-card{padding:24px 22px}.login-reference-layout .student-signin-card h2{font-size:20px}}

.login-reference-layout .student-signin-card{font-size:14px;line-height:1.55}
.login-reference-layout .student-signin-card .input{height:42px;min-height:42px;line-height:normal}
.login-reference-layout .student-signin-card .student-signin-submit{height:44px;min-height:44px;padding:13px;font-size:13.5px;font-weight:800;line-height:normal;letter-spacing:.3px;border-radius:var(--action-radius)}

/* Reviewed semantic-action cascade corrections; no dimensions or handlers changed. */
/* Keep destructive content roles above package/builder neutral control rules.
   Disabled controls retain their existing disabled appearance. */
:where(.package-dialog,.widget-order-actions,.field-palette) .mini-action.remove:not(:disabled),
.package-dialog .btn-danger-soft:not(:disabled){
  background:var(--danger);color:#fff;border-color:var(--danger);
}
:where(.package-dialog,.widget-order-actions,.field-palette) .mini-action.remove:not(:disabled):hover,
.package-dialog .btn-danger-soft:not(:disabled):hover{
  background:var(--danger);color:#fff;border-color:var(--danger);filter:brightness(.94);
}
.btn-danger-soft:not(:disabled):active,
.mini-action.remove:not(:disabled):active{
  background:var(--danger);color:#fff;border-color:var(--danger);filter:brightness(.90);
}
/* Known custom content action; no text-link or card/input redesign. */
.checklist-column>.add-checklist-item{border-radius:var(--action-radius,999px)}
/* The staff QR enlarge action loads student-qr.css after workspace.css. */
.student-qr-card>.student-qr-expand{border-radius:var(--action-radius,999px)}
/* Preserve existing menu rows even during a keyboard press. */
.account-menu-panel .btn-danger-soft:active,
.branch-actions-menu .btn-danger-soft:active{background:transparent;color:var(--ink);border:0;filter:none}

/* Filled button icons inherit their white foreground; outlined controls remain dark. */
.student-signin-card .student-signin-submit :is(span,svg){color:inherit}
.student-signin-card .student-signin-submit:active,.student-signin-card .student-signin-submit:disabled{color:#fff}

/* Filled actions retain white foreground through keyboard/touch states. */
:is(.btn-primary,.btn-clay,.btn-mint-soft):active{background:var(--button-orange-hover);border-color:var(--button-orange-hover);color:#fff}
:is(.btn-primary,.btn-clay,.btn-mint-soft,.btn-danger-soft) :is(svg,.icon){color:inherit}
/* View selection changes color, never type scale or button dimensions. */
.main .projects-view-switch .btn,.main .projects-view-switch .btn.btn-primary{font-size:11px;font-weight:400;padding:6px 10px;line-height:1.2;min-height:40px}
@media(max-width:780px){.main .projects-view-switch .btn,.main .projects-view-switch .btn.btn-primary{min-height:44px}}

/* Filled disabled actions stay distinct and legible without fading their labels. */
:is(.main,.portal-main,.client-home,.auth-card,.print-actions,.public-body,.student-qr-dialog) .btn.btn-primary:disabled,
.student-signin-card .btn.student-signin-submit:disabled{background:#697786;border-color:#697786;color:#fff;opacity:1;filter:none}

/* Match original 14px field-group spacing while retaining current auth controls. */
.login-reference-layout .student-signin-card form:not(.student-google-form){gap:14px}

/* Raw secondary actions share the same readable surface and action geometry. */
.token-strip button,.token-button,.field-palette button,.school-preview button,
.package-move button,.widget-order-actions button,
[data-cpg-step-back],[data-cpg-step-next],[data-cpg-step-save]{border-radius:var(--action-radius)}
.token-strip button{background:var(--action-secondary);color:var(--ink)}
.token-strip button:hover{background:var(--action-secondary-hover);color:var(--ink)}
.app-toolbar .account-menu-panel .btn,.client-header .account-menu-panel .btn{border-radius:var(--toolbar-radius)}

/* Clean client-feature integration: existing global presentation is preserved. */
:is(.client-directory,.client-form-preview,.client-form-preset-start,.client-form-preset-tools){--card-outline:#e7e9ed}
.information-setup-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:16px 18px;border:1px solid #f0dfc7;border-radius:8px;background:#fffaf2;color:var(--ink)}
.information-setup-notice h2{margin:0 0 5px;font-size:14px;line-height:1.4}
.information-setup-notice p{margin:0;max-width:720px;font-size:12px;line-height:1.55;color:var(--muted)}
.information-setup-notice>.btn{flex:none}
.workspace-command .head-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
@media(max-width:700px){.information-setup-notice{align-items:flex-start;flex-direction:column;padding:16px}.information-setup-notice>.btn{max-width:100%;white-space:normal}}
/* Saved client form preview reuses the actual registration field renderer. */
.client-form-preview{max-width:1000px;margin:16px 0;padding:0;overflow:hidden}
.client-form-preview-notice{padding:18px 22px;border-bottom:1px solid var(--line);background:#f8fafc}
.client-form-preview-notice strong{font-size:14px}.client-form-preview-notice p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.client-form-preview .registration-information{padding:22px;border:0;margin:0}
.client-form-preview .registration-information>header{margin-bottom:18px}
.client-form-preview .registration-information h2{margin:0 0 5px;font-size:16px}
.client-form-preview .registration-information>header p{margin:0;color:var(--muted);font-size:12px}
.client-form-preview .registration-field-group{display:contents}
.client-form-preview .field{min-width:0;display:grid;align-content:start;gap:6px}
.client-form-preview .field>label{margin:0;letter-spacing:0;text-transform:none;font-size:12px;color:var(--ink)}
.client-form-preview :is(.input,.select){width:100%;min-width:0;box-sizing:border-box}
.client-form-preview .field small{font-size:11px;line-height:1.5;color:var(--muted)}
.client-form-preview-footnote{padding:0 22px 20px;margin:0;font-size:12px;color:var(--muted)}
.client-form-preset-start{max-width:1000px;padding:18px 22px;margin:16px 0}
.client-form-preset-start h2,.client-form-preset-tools h2{margin:0 0 8px;font-size:14px}
.client-form-preset-start p,.client-form-preset-tools p{font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 12px}
.client-form-preset-list{display:flex;flex-wrap:wrap;gap:12px}
.client-form-preset-list>form{display:flex;align-items:center;gap:8px;margin:0}
.client-form-preset-list span,.client-form-preset-tools li span{color:var(--muted);font-size:12px}
.client-form-preset-tools{max-width:1000px;margin:16px 0}
.client-form-preset-tools>summary{cursor:pointer;padding:16px 22px;font-weight:600}
.client-form-preset-tools>div{padding:0 22px 22px}
.client-form-preset-tools ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px}
.client-form-preset-tools li{display:flex;align-items:center;gap:12px}
.client-form-preset-tools form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px}
.client-form-preset-tools label{display:grid;gap:6px;flex:1 1 240px;max-width:460px;font-size:12px}
@media(max-width:600px){.client-form-preview .form-grid{grid-template-columns:minmax(0,1fr)}.client-form-preview :is(.client-form-preview-notice,.registration-information){padding:16px}.client-form-preview-footnote{padding:0 16px 16px}.client-form-preset-tools>summary{padding:16px}.client-form-preset-tools>div{padding:0 16px 16px}}
@media print{.client-form-preset-start,.client-form-preset-tools,.client-form-preview-notice{display:none}.client-form-preview{border:0}.client-form-preview .field{break-inside:avoid}}
.page-head>.actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}

/* Client directory: quiet navigation at left, the selected profile at right. */
.client-directory{grid-template-columns:var(--inspector-size,320px) 5px minmax(0,1fr);border-color:var(--card-outline);border-radius:10px}
.client-directory .records-roster{background:#fcfcfd}
.client-directory .workspace-divider{background:#f1f2f4;border:0}
.client-directory .workspace-pane-heading{background:transparent;border-bottom:1px solid var(--line);padding:12px 16px;min-height:44px}
.client-directory .records-roster{grid-template-rows:44px minmax(0,1fr) auto}
.client-directory .record-row{border:0!important;border-radius:6px;margin:3px 8px;padding:10px 12px;background:transparent}
.client-directory .record-row:hover{background:#f1f2f4}
.client-directory .record-row.is-selected{background:#f3f3f5}
.client-directory .record-initials{display:none}
.client-directory .record-overview,.client-directory .record-extra{margin-left:0}
.client-directory .record-overview{padding-right:0;font-size:10px;gap:4px 8px}
.client-directory .record-open{display:none}
.client-directory .record-select{min-height:32px}
.client-directory .school-browser{padding:10px 8px;border:0;background:transparent;margin:0}
.client-directory .school-breadcrumbs{display:none}
.client-directory .group-map-root{background:transparent;color:var(--ink);border:0;padding:10px 12px}
.client-directory .group-map-root strong{font-size:12px}
.client-directory .group-map-tree ul.group-map-branches{padding:0 0 0 12px;margin:0 0 0 4px;border:0}
.client-directory .group-map-tree li.group-map-branch{margin:2px 0}
.client-directory .group-map-branch:before{display:none}
.client-directory .group-map-tree .group-map-node>summary{border:0!important;box-shadow:none;min-height:34px;padding:7px 8px;border-radius:6px;background:transparent;gap:6px}
.client-directory .group-map-tree .group-map-node>summary:hover{background:#f1f2f4}
.client-directory .group-map-tree .group-map-node.is-selected>summary{background:#f3f3f5}
.client-directory .group-map-label strong{font-size:11px;font-weight:500}
.client-directory .group-map-count{font-size:10px;color:var(--muted)}
.client-directory .records-list{padding-block:4px}

.client-directory .inspector-identity{padding:24px 24px 16px}
.client-directory .inspector-identity h2{font-size:20px}
.client-directory .inspector-actions{padding:0 24px 20px;gap:8px}
.client-directory .inspector-fields{padding:8px 24px}
.client-directory .inspector-fields>div{grid-template-columns:minmax(100px,150px) minmax(0,1fr);padding-block:12px}
@media(max-width:780px){.client-directory{display:block}.client-directory .records-list-scroll{max-height:none}.client-directory .inspector-identity{padding:20px 16px 12px}.client-directory .inspector-actions{padding:0 16px 16px}.client-directory .inspector-fields{padding:8px 16px}}
@media print{.client-directory{display:block}.client-directory .school-browser{display:none}.client-directory .record-row{background:transparent}}

.client-directory .client-group-select{font-size:11px;font-weight:500;color:inherit;line-height:1.5;overflow-wrap:anywhere;text-decoration:none}
.client-directory .client-group-select:focus-visible{outline:2px solid var(--action-focus);outline-offset:-2px;border-radius:3px}
.client-directory .school-browser{max-height:none;overflow:visible}
.client-directory .group-map-node.is-selected>summary .client-group-select{font-weight:600}
/* Group names are the navigation; no redundant arrows or action captions. */
.client-directory .group-map-node>summary:before,
.client-directory .group-map-node[open]>summary:before{display:none;content:none}
.client-directory .client-group-select{display:block;padding-block:2px}
/* View switches share action typography; only selection colors differ. */
.student-view-switch .btn{font-family:inherit!important;font-size:12px!important;font-weight:600!important;line-height:1.3!important;min-height:36px!important;padding:8px 14px!important;border-radius:var(--action-radius,999px)!important;display:inline-flex;align-items:center;justify-content:center}
@media(pointer:coarse){.student-view-switch .btn{min-height:44px!important}}
/* Quiet vertical guides reveal nesting without boxing individual rows. */
.client-directory .group-map-tree ul.group-map-branches{border-left:1px solid #e4e5e7;margin-left:10px;padding-left:12px}
.client-directory .group-map-tree>ul.group-map-branches{border-left:0;margin-left:0;padding-left:0}

.client-directory .group-map-node>.records-list{margin-left:10px;padding-left:12px;border-left:1px solid #e4e5e7}


.client-photo-options{position:relative}.client-photo-options>summary{list-style:none;cursor:pointer;white-space:nowrap}.client-photo-options>summary::-webkit-details-marker{display:none}
.client-photo-options-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:12;width:200px;padding:16px;display:grid;gap:12px;border:1px solid var(--card-outline);border-radius:12px;background:white;box-shadow:0 8px 24px #0d1a3c12;font-size:12px}.client-photo-options-panel label{display:flex;align-items:center;gap:8px}.client-photo-options-panel input[type=checkbox]{margin:0}.client-photo-options-panel .btn{width:100%}
.client-photo-folders{padding:0 24px 20px}.client-photo-folders>section{padding:12px 0;border-bottom:1px solid var(--line)}.client-photo-folders h3{font-size:12px;margin:0 0 12px}.client-photo-folders p{font-size:11px}.client-photo-folders ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.client-photo-folders li a{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--ink);overflow-wrap:anywhere}.client-photo-folders img{object-fit:contain;background:#fafafa;border-radius:6px;flex-shrink:0}
@media(max-width:780px){.client-photo-folders{padding:0 16px 16px}}


/* Photo-first client workspace with a separate optional information drawer. */
.client-details-choice{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:11px;white-space:nowrap}.client-details-choice input{margin:0}
.client-photo-workspace{display:flex;flex:1;min-height:0;min-width:0;position:relative;overflow:hidden}.client-gallery-pane{flex:1;min-width:0;overflow:auto}.client-gallery-heading{padding:20px 24px 4px}.client-gallery-heading h2{font-size:16px;margin:0}
.client-details-drawer{width:0;flex-shrink:0;overflow:hidden;visibility:hidden;background:white;transform:translateX(100%);border-left:0;display:flex;flex-direction:column;min-height:0}.client-details-drawer>.inspector-scroll{min-width:0;width:100%}
.client-directory[data-client-details-open] .client-details-drawer{width:320px;max-width:48%;visibility:visible;transform:translateX(0);border-left:1px solid var(--line)}
.client-directory .client-details-drawer .inspector-identity{padding:20px 16px 14px}.client-directory .client-details-drawer .inspector-identity h2{font-size:14px}.client-directory .client-details-drawer .inspector-actions{padding:0 16px 16px}.client-directory .client-details-drawer .inspector-fields{padding:8px 16px}.client-directory .client-details-drawer .inspector-fields>div{display:block}.client-details-drawer .inspector-fields dd{margin-top:5px}
.client-photo-folders ul{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.client-photo-folders li a{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0;min-width:0}.client-photo-folders img{width:100%;height:180px;object-fit:contain;background:#fafafb}.client-photo-folders li a>span{font-size:11px;overflow-wrap:anywhere}
.client-photo-lightbox{width:min(1100px,94vw);max-width:94vw;height:min(850px,92dvh);max-height:92dvh;padding:0;border:1px solid var(--card-outline);border-radius:14px;background:#fff;color:var(--ink)}.client-photo-lightbox::backdrop{background:#101725b3}.client-photo-lightbox[open]{display:flex;flex-direction:column}.client-photo-lightbox header,.client-photo-lightbox footer{display:flex;align-items:center;gap:12px;padding:14px 18px;flex-shrink:0}.client-photo-lightbox header{border-bottom:1px solid var(--line)}.client-photo-lightbox h2{font-size:14px;margin:0;flex:1;overflow-wrap:anywhere}.client-lightbox-image{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:16px;background:#f8f9fa}.client-lightbox-image img{width:100%;height:100%;object-fit:contain}.client-lightbox-image img[hidden],.client-lightbox-image p[hidden]{display:none}.client-photo-lightbox footer{justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line)}.client-photo-lightbox footer span{font-size:12px;color:var(--muted)}
@media(prefers-reduced-motion:no-preference){.client-details-drawer{transition:width .2s ease,transform .2s ease,visibility .2s}}
@media(max-width:780px){.client-photo-workspace{min-height:420px}.client-directory[data-client-details-open] .client-details-drawer{position:absolute;inset:0 0 0 auto;width:min(340px,100%);max-width:100%;z-index:3;box-shadow:-8px 0 20px #0d1a3c0a}.client-gallery-heading{padding:16px 16px 4px}.client-photo-folders ul{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.client-photo-lightbox header,.client-photo-lightbox footer{padding:12px;gap:8px}.client-photo-lightbox footer .btn{padding:8px 10px!important}}
@media print{.client-details-choice,.client-photo-lightbox{display:none!important}.client-photo-workspace{display:block;overflow:visible}.client-gallery-pane{overflow:visible}.client-details-drawer{display:block;width:auto!important;max-width:none!important;visibility:visible;transform:none}.client-details-drawer>.inspector-scroll{min-width:0}}

/* Flat project directory ordering is visible outside collapsible filters. */
.client-directory-sort{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px}.client-directory-sort label{display:flex;align-items:center;gap:8px;margin:0}.client-directory-sort .select{width:auto;max-width:100%;min-width:180px}

.client-field-visibility{margin:16px 0}.client-field-visibility>summary{cursor:pointer;padding:16px 20px;font-weight:600}.client-field-visibility>div{padding:0 16px 16px}.client-field-visibility .widget-editor{display:block;width:100%;margin:0}.client-field-visibility .card-head{display:flex;justify-content:space-between;gap:16px}.client-field-visibility .card-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.client-field-visibility .record-check{max-width:none;margin:0}
@media(max-width:560px){.client-field-visibility>div{padding:0 8px 8px}.client-field-visibility .student-display-row{grid-template-columns:26px minmax(72px,1fr) repeat(3,40px);gap:5px}.client-field-visibility .record-check span{display:block;font-size:10px}.client-field-visibility .card-head{flex-wrap:wrap}}
@media print{.client-field-visibility{display:none!important}}

.client-field-visibility .student-display-head>span:nth-child(n+3):nth-child(-n+5){text-align:center}

/* Narrow tree leaves show identity only; details belong in the right pane. */
.client-directory .group-map-node>.records-list .record-row{margin:3px 0;padding:8px 10px}
.client-directory .group-map-node>.records-list .record-row-main{display:block;min-width:0}
.client-directory .group-map-node>.records-list .record-select{display:block;min-width:0;padding:0;line-height:1.5}
.client-directory .group-map-node>.records-list .record-select>span:last-child{min-width:0;display:block}
.client-directory .group-map-node>.records-list .record-select strong{display:block;overflow-wrap:anywhere}
.client-directory .record-overview{display:flex;flex-wrap:wrap}
.client-directory .record-extra:not([open]) summary{position:static}
.client-browse-modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.photo-client-search{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}
.photo-client-search>label{flex:1;min-width:0;margin:0;font-size:11px}
.photo-client-search .input{margin-top:6px}
.photo-client-directory{min-height:calc(100dvh - 260px);height:auto;align-items:stretch}
.photo-client-directory .records-roster{min-width:0}
.photo-client-directory .records-list-scroll{max-height:none;overflow:visible}
.photo-client-directory .photo-work-pane{min-width:0;display:flex;flex-direction:column}
.photo-client-directory .client-photo-workspace{flex:1;min-height:480px}
.photo-client-directory .client-gallery-pane{min-width:0}
.photo-client-work{padding:0 20px 20px;margin-top:20px}
.photo-client-work>summary{font-weight:600;padding:12px 0;cursor:pointer}
.photo-client-work>.panel{margin:0 0 16px}
@media(max-width:780px){.photo-client-search{flex-wrap:wrap}.photo-client-search>label{flex-basis:100%}.photo-client-directory .records-list-scroll{max-height:45dvh;overflow:auto}.photo-client-directory .photo-work-pane{border-top:1px solid var(--line)}}

.editor-app-toolbar{margin:0;padding:0;border:0}.editor-app-toolbar p{padding:12px 20px;margin:0;color:var(--muted);font-size:12px}.editor-app-toolbar p:empty{display:none}
.client-photo-folders li,.checker-photo-gallery>article{position:relative}
.editor-photo-menu{position:absolute;left:4px;right:4px;top:4px;z-index:2}
.editor-photo-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:32px;height:32px;border:0;border-radius:4px;background:#fffffff0;color:var(--ink);font-size:22px;margin-left:auto;line-height:1;cursor:pointer}
.editor-photo-menu>summary::-webkit-details-marker{display:none}
.editor-photo-menu>summary:focus-visible{outline:2px solid var(--action-focus);outline-offset:-2px}
.editor-photo-menu-panel{position:absolute;right:0;top:calc(100% + 6px);width:100%;box-sizing:border-box;display:grid;gap:8px;padding:8px;background:#fff;border:1px solid var(--card-outline);border-radius:12px;box-shadow:0 8px 24px #0d1a3c14}
.editor-photo-menu:not([open])>.editor-photo-menu-panel{display:none}
.editor-photo-menu-panel .btn{width:100%;white-space:normal}
@media(pointer:coarse){.editor-photo-menu>summary{width:44px;height:44px}}
