:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#18212f;background:#f5f7fa;line-height:1.45}*{box-sizing:border-box}body{margin:0}a{color:#1769aa;text-decoration:none}a:hover{text-decoration:underline}.topbar{background:#15283b;color:#fff;padding:0 1rem}.topbar-inner{max-width:1200px;margin:auto;display:flex;align-items:center;gap:1.25rem;min-height:58px;flex-wrap:wrap}.brand{font-weight:700;color:#fff}.nav{display:flex;gap:1rem;flex:1}.nav a{color:#dce8f3}.logout{margin:0}.logout button{background:transparent;border:1px solid #8ba0b5;color:#fff}.container{max-width:1200px;margin:1.5rem auto;padding:0 1rem}.card{background:#fff;border:1px solid #dce2e8;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000000a}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.metric strong{display:block;font-size:2rem;color:#1769aa}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:.65rem .55rem;border-bottom:1px solid #e6eaee;text-align:left;white-space:nowrap}th{background:#f7f9fb;color:#465568}.status{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.78rem;font-weight:700}.status-online,.status-baseline{background:#dff6e7;color:#196c3a}.status-offline{background:#f2f3f5;color:#59636e}.status-unknown{background:#fff0c9;color:#7e5900}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem}.field{display:flex;flex-direction:column;gap:.3rem}.full{grid-column:1/-1}label{font-weight:600;font-size:.9rem}input,select,textarea,button{font:inherit;padding:.55rem .65rem;border:1px solid #b9c4cf;border-radius:5px;background:#fff}textarea{min-height:80px;resize:vertical}button,.button{cursor:pointer;background:#1769aa;border-color:#1769aa;color:#fff;padding:.55rem .9rem;border-radius:5px;display:inline-block}.button.secondary,button.secondary{background:#fff;color:#33475b;border-color:#aeb9c4}.filters{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap}.filters .field{min-width:130px}.filters .search{flex:1;min-width:200px}.flash{padding:.75rem 1rem;background:#e2f5e8;color:#185c31;border-radius:6px;margin-bottom:1rem}.error,.unassigned{color:#b3261e;font-size:.85rem}.unassigned{font-weight:700}.employee-link{color:#7c3aed;font-weight:700}.muted{color:#687786}.actions{display:flex;gap:.5rem;align-items:center}.actions form{margin:0}.detail-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.detail-list div{background:#f7f9fb;padding:.7rem;border-radius:5px}.detail-list small{display:block;color:#687786}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.login-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:min(420px,100%)}h1{font-size:1.6rem;margin-top:0}h2{font-size:1.2rem}.checkbox{display:flex;flex-direction:row;align-items:center;gap:.5rem}.checkbox input{width:auto}.page-heading,.section-heading,.date-filter,.work-bar-heading,.work-bar-meta{display:flex;align-items:center}.page-heading,.section-heading{justify-content:space-between;gap:1rem}.page-heading{margin-bottom:1rem}.page-heading h1,.section-heading h2{margin-bottom:.2rem}.page-heading p,.section-heading p{margin:.2rem 0}.date-filter{gap:.55rem;flex-wrap:wrap}.work-chart{display:grid;gap:1rem;margin-top:1rem}.work-bar-row{display:grid;gap:.35rem}.work-bar-heading,.work-bar-meta{justify-content:space-between;gap:1rem}.work-bar-heading strong{font-size:.9rem}.work-bar-meta{font-size:.8rem;color:#687786}.work-bar-track{height:18px;background:#edf1f5;border-radius:999px;overflow:hidden}.work-bar-fill{height:100%;border-radius:999px;transition:width .25s ease}.bar-color-0{background:#2563eb}.bar-color-1{background:#7c3aed}.bar-color-2{background:#db2777}.bar-color-3{background:#dc2626}.bar-color-4{background:#ea580c}.bar-color-5{background:#ca8a04}.bar-color-6{background:#16a34a}.bar-color-7{background:#0891b2}@media(max-width:800px){.grid,.two-col,.form-grid,.detail-list{grid-template-columns:1fr 1fr}.nav{order:3;flex-basis:100%;padding-bottom:.7rem;overflow-x:auto}.topbar-inner{gap:.7rem}}@media(max-width:520px){.grid,.two-col,.form-grid,.detail-list{grid-template-columns:1fr}.container{margin-top:1rem}.full{grid-column:auto}.page-heading{align-items:flex-start;flex-direction:column}.date-filter{width:100%}.date-filter input{flex:1}}
