:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#163149;background:#f3f6fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:#135d95;text-underline-offset:4px}.app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}aside{background:#112d43;color:white;padding:38px 24px;display:flex;flex-direction:column;gap:18px}.brand{font-size:29px;font-weight:800;color:white;text-decoration:none}.brand span{color:#ff8a2b}aside .muted{color:#c1cfdd}nav{display:grid;gap:9px;margin-top:28px}nav a{color:#dbe7f0;text-decoration:none;padding:13px 16px;border-radius:10px}nav a[aria-current]{background:#28465e;color:white}.logout{color:#dbe7f0;margin-top:40px;font-size:14px}main{padding:40px clamp(20px,4vw,64px);max-width:1600px;width:100%}header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:35px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#687a8a;font-size:12px}h1{font-size:clamp(26px,3vw,36px);margin:0}h2{font-size:21px;margin:0 0 20px}.badge,.pill{background:#eaf1f8;color:#174969;padding:7px 12px;border-radius:100px;font-size:13px;display:inline-block}.card{background:white;border:1px solid #dce4ec;border-radius:16px;padding:26px;margin-bottom:24px;min-width:0}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.metrics strong{font-size:30px}.metrics p{color:#657586;margin-top:0}.large{font-size:26px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:grid;gap:8px;font-size:14px;font-weight:600;margin-bottom:16px}input,select{padding:12px;border:1px solid #b9c8d5;border-radius:8px;min-height:44px;width:100%;font:inherit;color:#183247;background:white}button,.button,input[type=submit]{display:inline-block;background:#f9781e;color:#112d43;border:0;border-radius:9px;padding:13px 20px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;min-height:44px}.secondary{background:#e8f0f7}.small{padding:9px 14px}button:hover,.button:hover{filter:brightness(.95)}:focus-visible{outline:3px solid #1a6fba;outline-offset:3px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th,td{padding:16px 12px;border-bottom:1px solid #e2e8ef;vertical-align:top}th{background:#f6f8fb;color:#587083}td small{display:block;color:#627689;margin-top:7px}td form{min-width:145px}td label{font-size:12px;margin-bottom:9px}td select{padding:7px}.muted{color:#64778a;font-size:13px;line-height:1.6}.notice{background:#edf4fb;border-left:4px solid #296d9f;padding:14px 18px;border-radius:6px;line-height:1.5}.login{max-width:560px}.login p{line-height:1.7}.login-remember label{display:flex;align-items:center}.login-remember input{width:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:2}.sr{font-size:12px}@media(max-width:900px){.app{grid-template-columns:1fr}aside{padding:20px;gap:8px}aside>p{margin:0}nav{display:flex;flex-wrap:wrap;margin:10px 0 0;gap:4px}nav a{padding:10px}.logout{margin:8px 0 0}main{padding:25px 18px}.metrics{gap:10px}.metrics .card{padding:16px}.metrics strong{font-size:23px}header{align-items:flex-start}.badge{white-space:nowrap}}@media(max-width:550px){.fields,.metrics{grid-template-columns:1fr}.metrics .card{margin:0}.metrics{margin-bottom:24px}.card{padding:20px}.brand{font-size:25px}header{display:block}.badge{margin-top:14px}}

.check{display:flex;align-items:center;gap:10px}.check input{width:18px;min-height:18px}

main{min-width:0}input,select{min-width:0;max-width:100%}@media(max-width:900px){.app{grid-template-columns:minmax(0,1fr)}}

/* Center the signed-out login group within the main panel. */
.app-login main{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh}.app-login main>header,.app-login .login{width:100%;max-width:560px}.app-login .login{margin-bottom:0}@media(max-width:900px){.app-login{grid-template-rows:auto 1fr}.app-login main{min-height:0;padding-top:32px;padding-bottom:32px}}

.user-permissions{padding:24px 0;border-bottom:1px solid #dce4ec}.user-permissions h3{margin-top:0}.user-permissions details{margin:20px 0}.user-permissions summary{cursor:pointer;font-weight:600}.permissions-grid{padding-top:20px}.hours-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;align-items:center}ol li{margin-bottom:12px;line-height:1.6}@media(max-width:550px){.hours-row{grid-template-columns:1fr 1fr}.hours-row>.check{grid-column:1/-1}}
