/* Shared presentation; attendance, permission and ticket behaviour stay in their modules. */
:root{--scott-border:#ddd8ce;--scott-ink:#29292e;--scott-muted:#62646e;--scott-red:#af2030;--scott-gold:#bda252;--scott-radius:16px;--scott-shadow:0 3px 12px #30252005}
@media screen{
main{color:var(--scott-ink)}
main.wide{max-width:1120px;margin-top:32px}
main>h1{margin:0 0 24px;overflow-wrap:anywhere}
main h2,main h3{overflow-wrap:anywhere}
main .card{border-color:var(--scott-border);border-radius:var(--scott-radius);box-shadow:var(--scott-shadow)}
main .card>h2:first-child,main .card>h3:first-child{margin-top:0}
main .card>p:last-child{margin-bottom:0}
main .columns,main .metrics{gap:20px;margin:24px 0;align-items:stretch}
main .columns>.card,main .metrics>.card{margin:0;min-width:0}
main .card,main .row>div{min-width:0;overflow-wrap:anywhere}
main .button,main button:not(.link){border-radius:10px;line-height:1.4;max-width:100%;white-space:normal}
main .actions{gap:12px;align-items:center;margin:24px 0}
main .actions>form{margin:0;max-width:100%}
main .actions>form button{margin:0}
main form+form{margin-top:16px}
main .actions>form+form,main .stack>form+form{margin-top:0}
main label{line-height:1.45}
main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main select,main textarea{min-width:0;max-width:100%}
main input[type=checkbox],main input[type=radio]{accent-color:var(--scott-red)}
main input[type=file]{white-space:normal;overflow:hidden}
main .filter-fields{align-items:end}
main .filter-fields>div{min-width:0}
main .list-filters :is(input,select){height:50px}
main .table-wrap{border:1px solid var(--scott-border);border-radius:var(--scott-radius);background:#fff;margin:20px 0}
main th{background:#f5f0e5;color:#5d4d31;font-weight:700}
main th,main td{padding:14px 16px}
main tbody tr:last-child td{border-bottom:0}
main tbody tr:nth-child(even){background:#fdfbf7}
main .list-pagination{margin:18px 0}
main .list-pagination p{margin:0}
main details.card>summary{padding:2px 0;color:var(--scott-ink)}
main details.card[open]>summary{padding-bottom:16px;margin-bottom:8px;border-bottom:1px solid var(--scott-border)}
main .notice,main .error,main .connection{border-radius:12px;overflow-wrap:anywhere}
main footer{margin-top:36px;border-color:var(--scott-border)}
/* Keep security forms readable rather than stretching one input across the dashboard. */
.page-account main>form,.page-confirm-password main>form{max-width:680px}
.page-privacy main.narrow{max-width:820px}
.page-privacy main .card{line-height:1.75}
.page-access main .card h2,.page-my-jobs main .card h2,.page-email main .card h2{font-size:20px}
.page-register main table{border:1px solid var(--scott-border)}
/* Home uses the same white panels and gold accents as the helpdesk charts. */
.home-welcome{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}
.home-welcome p{margin:0;color:var(--scott-muted)}
.home-access{display:inline-block;border:1px solid #dfc98c;background:#fcf5e4;color:#695022;border-radius:30px;padding:6px 12px;font-size:13px;font-weight:650}
main .home-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 32px}
main .home-quick>.card{display:flex;flex-direction:column;min-width:0;margin:0;border-top:4px solid var(--scott-gold)}
.home-quick h2{margin:0 0 14px;font-size:21px}
.home-quick p{font-size:15px;color:var(--scott-muted);margin:0 0 22px;overflow-wrap:anywhere}
.home-quick .button{align-self:flex-start;margin-top:auto}
main .home-tools{border:0;padding:0;margin:0}
main .home-tools-intro{margin:0 0 24px}
main .home-tools-intro h2{margin:0 0 8px}
main .home-tool-group{margin-bottom:28px}
main .home-tool-grid{gap:20px}
main .home-tool{background:#fff;border-color:var(--scott-border);border-radius:var(--scott-radius);box-shadow:var(--scott-shadow)}
main .home-tool h4{font-family:"Libre Baskerville",Georgia,serif;font-size:18px;line-height:1.45;letter-spacing:-.025em}
main .home-tool p{font-size:15px;color:var(--scott-muted)}
main .home-tool:hover{transform:none;border-color:var(--scott-gold);background:#fffdf8}
main .purchase-stat{border-top-color:var(--scott-gold)}
main .home-tool-safety{border-top-color:var(--scott-red)}
main .staff-list .row>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid #d8c9ca;border-radius:10px;font-weight:650;text-decoration:none;color:var(--scott-red);background:#fff}
@media(max-width:800px){main .home-quick{grid-template-columns:1fr}.home-quick .button{align-self:stretch}.home-welcome{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){
main.wide{margin-top:24px}main>h1{margin-bottom:20px}
main .columns,main .metrics{grid-template-columns:1fr;gap:16px}
main .actions{align-items:stretch}main .actions>form button{width:100%}
main .row{flex-wrap:wrap;gap:16px}main .row>div{flex:1 1 220px}
main .card{padding:20px}main th,main td{padding:12px}
main .home-quick,main .home-tool-grid{gap:16px}
}
}
