/* ScottSite professional interface layer. Presentation only: no workflow behaviour. */
:root{
 --ui-canvas:#f6f5f2;--ui-surface:#fff;--ui-surface-soft:#fbfaf7;--ui-ink:#26262c;
 --ui-muted:#65656f;--ui-line:#dedbd4;--ui-line-strong:#cbc6bc;--ui-red:#a82130;
 --ui-red-dark:#861b27;--ui-gold:#b8953e;--ui-blue:#176f93;--ui-green:#2f704a;
 --ui-radius-sm:10px;--ui-radius:16px;--ui-radius-lg:22px;
 --ui-shadow-sm:0 1px 2px rgba(28,24,20,.04),0 5px 16px rgba(28,24,20,.045);
 --ui-shadow:0 2px 4px rgba(28,24,20,.035),0 12px 30px rgba(28,24,20,.055);
}
*{box-sizing:border-box}
html{background:var(--ui-canvas);color-scheme:light;scroll-behavior:smooth}
body{margin:0;background:var(--ui-canvas);color:var(--ui-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#eed4d8;color:#65151f}
a{color:#982331;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#741923}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(23,111,147,.4);outline-offset:3px}

/* A compact public masthead; workspace navigation retains its own layout. */
header:not(.office-header){min-height:0;padding:18px max(24px,calc((100vw - 1120px)/2));background:#fff;border-top:4px solid var(--ui-red);border-bottom:1px solid var(--ui-line);box-shadow:0 1px 0 rgba(30,25,20,.02)}
header:not(.office-header) .brand{width:max-content;max-width:100%;margin:0;padding:0;gap:18px;text-decoration:none}
header:not(.office-header) .school-logo{width:88px}
header:not(.office-header) .brand-caption{font-size:14px;line-height:1.4;color:#51515a;letter-spacing:.01em}

/* Workspace masthead and restrained navigation. */
.office-header{background:#fff;border-top:4px solid var(--ui-red);border-bottom:1px solid var(--ui-line);box-shadow:0 3px 18px rgba(30,25,20,.055)}
.office-header .workspace-title{font-size:30px;color:#9d2633;letter-spacing:-.045em}
.office-header .workspace-caption{color:#756847;letter-spacing:.04em}
.office-header #office-navigation a,.office-header #office-navigation summary,.office-header #office-navigation button.link{border-radius:9px;color:#4d4b50;font-weight:650}
.office-header #office-navigation a:hover,.office-header #office-navigation summary:hover,.office-header #office-navigation .nav-group[open]>summary{background:#f5f2ec;border-color:#e4dfd5;color:#27262a}
.office-header #office-navigation a[aria-current="page"]{background:var(--ui-red);border-color:var(--ui-red);color:#fff;box-shadow:0 4px 12px rgba(168,33,48,.18)}
.office-header #office-navigation a.nav-rollcall{background:#fff7f7;border-color:#e7c8cc;color:#942430;box-shadow:none}
.office-header #office-navigation a.nav-rollcall:hover{background:#fbeaec;border-color:#dab0b6}
.office-header #office-navigation a.nav-rollcall[aria-current="page"]{background:var(--ui-red);border-color:var(--ui-red);color:#fff}
.office-header #office-navigation .nav-group-current>summary{background:#f5f2ec;border-color:#e4dfd5;color:#28272b}
.office-header #office-navigation .nav-dropdown{border-color:var(--ui-line);border-radius:12px;box-shadow:0 16px 36px rgba(31,25,20,.14);padding:7px}

/* Page frame and typography. */
main{width:calc(100% - 40px);margin-left:auto;margin-right:auto;padding-bottom:20px}
main.narrow{max-width:680px;margin-top:34px}
main.wide{max-width:1180px;margin-top:38px}
main>h1{max-width:900px;margin:0 0 26px;font-size:clamp(31px,3.2vw,44px);line-height:1.16;letter-spacing:-.045em;color:#222126}
main>h1+ p{max-width:800px;color:#4f4e56}
main h2{line-height:1.3;letter-spacing:-.025em;color:#29282d}
main h3{line-height:1.35;color:#302f34}
main p{overflow-wrap:anywhere}
.muted{color:var(--ui-muted)!important}

/* Panels and content hierarchy. */
main .card{margin:20px 0;padding:26px;background:var(--ui-surface);border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-sm)}
main .card h2,main .card h3{font-family:inherit;font-weight:750;letter-spacing:-.018em}
main .card h2{font-size:21px}
main .card h3{font-size:18px}
main .card>:first-child{margin-top:0}
main .card>:last-child{margin-bottom:0}
main .columns,main .metrics{gap:18px}
main .metrics>.card{border-top:4px solid var(--ui-gold)}
main hr{height:1px;border:0;background:var(--ui-line);margin:30px 0}

/* Buttons and action clusters. */
main .button,main button:not(.link){display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid var(--ui-red);border-radius:var(--ui-radius-sm);background:var(--ui-red);color:#fff;font:700 15px/1.35 inherit;text-align:center;text-decoration:none;box-shadow:0 2px 5px rgba(168,33,48,.12);cursor:pointer;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s}
main .button:hover,main button:not(.link):hover{background:var(--ui-red-dark);border-color:var(--ui-red-dark);color:#fff;box-shadow:0 5px 14px rgba(134,27,39,.17);transform:translateY(-1px)}
main .button.secondary,main button.secondary{background:#fff;border-color:#d7c7c9;color:#8d2530;box-shadow:none}
main .button.secondary:hover,main button.secondary:hover{background:#fff8f8;border-color:#bf8e94;color:#761c27}
main button.link{color:#92232f;text-decoration:underline;text-underline-offset:3px}
main .actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0;align-items:center}
main .actions>*{margin-top:0;margin-bottom:0}
main .actions form{display:inline-flex}

/* Forms feel like one system across attendance, requests and administration. */
main form{max-width:100%}
main label{display:block;margin-top:18px;margin-bottom:7px;color:#34333a;font-size:15px;font-weight:700}
main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),main select,main textarea{width:100%;min-height:48px;margin:0;padding:11px 13px;border:1px solid var(--ui-line-strong);border-radius:9px;background:#fff;color:var(--ui-ink);font:inherit;line-height:1.4;box-shadow:inset 0 1px 1px rgba(28,24,20,.025);transition:border-color .14s,box-shadow .14s,background .14s}
main textarea{min-height:120px;resize:vertical}
main select{padding-right:36px}
main input:hover,main select:hover,main textarea:hover{border-color:#aaa49a}
main .pin-entry-form button{margin-top:12px}
.page-rollcalls main section.card form>button{margin-top:1rem}
main .reception-return{margin-top:14px}
main input:focus,main select:focus,main textarea:focus{border-color:var(--ui-blue);box-shadow:0 0 0 3px rgba(23,111,147,.13);outline:0}
main input::placeholder,main textarea::placeholder{color:#8a8990;opacity:1}
main input[type="checkbox"],main input[type="radio"]{width:20px;height:20px;accent-color:var(--ui-red)}
main input[type="file"]{min-height:48px;padding:8px;background:var(--ui-surface-soft)}
main fieldset{border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;padding:22px}
main legend{padding:0 8px;font-weight:750;color:#302f34}
main .check-label{display:flex;align-items:flex-start;gap:10px;font-weight:600}
main .check-label input{flex:0 0 auto;margin-top:2px}

/* Notices, system feedback and status information. */
main .notice,main .error,main .connection{padding:15px 17px;border-radius:12px;border-width:1px;box-shadow:none;line-height:1.5}
main .notice{background:#f3f8f5;border-color:#b9d6c4;color:#285b3d}
main .error{background:#fff2f3;border-color:#e2a9b0;color:#83212c}
main .connection{background:#f3f7fa;border-color:#bdd2dc;color:#31586a}
main .status{border-radius:999px;padding:6px 11px;font-size:14px;font-weight:750}

/* Data tables and filter panels. */
main .table-wrap{overflow:auto;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;box-shadow:var(--ui-shadow-sm)}
main table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
main th{background:#f2f0eb;color:#48464d;font-size:13px;letter-spacing:.025em;text-transform:none;text-align:left}
main th,main td{padding:14px 16px;border-bottom:1px solid #ebe8e2;vertical-align:top}
main tbody tr:nth-child(even){background:#fbfaf8}
main tbody tr:hover{background:#f8f5ef}
main .list-filters{margin:22px 0;padding:22px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:#fff;box-shadow:var(--ui-shadow-sm)}
main .filter-fields{gap:16px}
main .list-filters label{margin-top:0}
main .list-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--ui-muted)}

/* Native disclosure panels. */
main details.card>summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:750;color:#302f34}
main details.card>summary::marker{color:var(--ui-red)}
main details.card[open]>summary{border-bottom:1px solid var(--ui-line)}
main .section-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
main .section-tabs .button{min-width:140px}

/* Make repeated account and record cards scan like a professional directory. */
.page-access main>section.card,.page-staff main>section.card,.page-staff-archived main>section.card,.page-visitor-history main>section.card,.page-history main>section.card{border-left:4px solid #c4a75f;padding-left:23px}
.page-access main>section.card h2,.page-staff main>section.card h2,.page-staff-archived main>section.card h2{margin-bottom:8px}

/* Dashboard finishing touches. */
.home-welcome{padding:0 2px}
.home-access{text-transform:none;letter-spacing:.01em;background:#f7f2e7;border-color:#ddcfaa;color:#65532d}
main .home-quick{gap:18px}
main .home-quick>.card{border-top:3px solid var(--ui-gold);box-shadow:var(--ui-shadow-sm)}
.home-quick h2{font-family:inherit!important;font-size:20px!important;font-weight:750}
.home-overview{border-color:var(--ui-line)!important;background:#fff!important;box-shadow:var(--ui-shadow-sm)!important}
.home-tool{background:#fff!important;border-color:var(--ui-line)!important;box-shadow:var(--ui-shadow-sm)!important}
.home-tool:hover{border-color:#bda86e!important;box-shadow:var(--ui-shadow)!important}
.home-tool h4{font-family:inherit!important;letter-spacing:-.015em!important}

footer{max-width:1180px;margin-left:auto!important;margin-right:auto!important;padding:26px 0 34px;color:var(--ui-muted);font-size:14px}
footer a{color:#6d5256}
.site-footer{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px;width:100%;box-sizing:border-box;text-align:center}
.site-footer>div{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px}
.site-footer a{text-underline-offset:4px}
.site-footer small{display:block;margin:0;font:inherit;font-size:13px;color:var(--ui-muted)}

@media(max-width:768px){
 header:not(.office-header){padding:14px 18px}header:not(.office-header) .school-logo{width:70px}header:not(.office-header) .brand-caption{font-size:13px}
 .office-header{padding:13px 16px}.office-header .workspace-title{font-size:26px}
 main{width:calc(100% - 28px)}main.narrow,main.wide{margin-top:26px}main>h1{margin-bottom:20px;font-size:clamp(29px,8vw,36px)}
 main .card{padding:20px}.home-overview{padding:22px!important}
 main .button,main button:not(.link){min-height:48px}
 main .actions{align-items:stretch}.actions>.button,.actions>form{flex:1 1 190px}.actions>form button{width:100%}
 main fieldset{padding:18px}
 main .list-filters{padding:18px}
 main .table-wrap{border-radius:12px}main th,main td{padding:12px}
 footer{padding-bottom:26px}
}
@media(max-width:520px){
 header:not(.office-header) .school-logo{width:62px}header:not(.office-header) .brand{gap:12px}
 main{width:calc(100% - 22px)}main .card{padding:18px;border-radius:14px}
 main .button,main button:not(.link){width:100%}
 main .list-pagination{align-items:flex-start;flex-direction:column}
 footer span{display:none}footer a{display:block;margin:8px 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}main .button,main button:not(.link),main input,main select,main textarea{transition:none}main .button:hover,main button:not(.link):hover{transform:none}}
@media print{body{background:#fff}.office-header,header:not(.office-header){box-shadow:none}.no-print{display:none!important}main{width:100%;max-width:none}.card{box-shadow:none!important}}

.ticket-link-form button{margin-top:1rem}
;
/* Consistent inset for native single-choice dropdowns. */
select:not([multiple]):not([size]),select:not([multiple])[size="1"]{-webkit-appearance:none!important;appearance:none!important;padding-right:32px!important;background-image:linear-gradient(45deg,transparent 50%,#6c6871 50%),linear-gradient(135deg,#6c6871 50%,transparent 50%)!important;background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%!important;background-size:5px 5px!important;background-repeat:no-repeat!important}
@media(forced-colors:active){select:not([multiple]):not([size]),select:not([multiple])[size="1"]{appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important}}
