:root { --navy:#102a43; --blue:#1769e0; --sky:#edf5ff; --ink:#17212b; }
body { background:#f4f7fa; color:var(--ink); min-height:100vh; }
.app-navbar { background:var(--navy); min-height:64px; }
.navbar-brand span { color:#7db6ff; }
.subnav a { color:#486581; text-decoration:none; font-weight:600; white-space:nowrap; }
.subnav a:hover { color:var(--blue); }
.page-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.page-head h1 { font-size:clamp(1.75rem,5vw,2.35rem); margin:0; letter-spacing:-.03em; }
.eyebrow { color:var(--blue); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.35rem; }
.app-card { border:0; border-radius:1rem; }
.login-wrap { max-width:460px; margin:5vh auto; }
.form-control,.form-select { min-height:48px; border-color:#ccd6e0; }
.form-control:focus,.form-select:focus { border-color:#6aa6f8; box-shadow:0 0 0 .2rem rgba(23,105,224,.13); }
.btn-primary { background:var(--blue); border-color:var(--blue); font-weight:650; }
.time-block { background:var(--sky); border-radius:.8rem; padding:1rem; }
.table thead th { background:#edf2f7; color:#526579; border:0; font-size:.76rem; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; }
.table td,.table th { padding:.95rem 1rem; }
.empty-state { color:#7b8794; padding:2.5rem!important; text-align:center; }
.delta { display:inline-block; border-radius:2rem; background:#e9eef3; padding:.25rem .65rem; font-weight:750; }
.delta.positive { color:#08783e; background:#dcf7e8; }.delta.negative { color:#b42318; background:#fee9e7; }
.errorlist { color:#b42318; font-size:.875rem; margin:.4rem 0 0; padding-left:1.2rem; }
@media (max-width:767px) { main.container { padding-left:1rem; padding-right:1rem; } .page-head { align-items:flex-end; } .table td,.table th { padding:.8rem; } }
