:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#142033;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}header{height:68px;background:#fff;border-bottom:1px solid #dce4ef;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;z-index:3}.brand{font-size:1.25rem;font-weight:800;color:#164a86;text-decoration:none}nav{display:flex;gap:18px;align-items:center}nav a,.linkbtn{color:#334b68;text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}nav form{margin:0}main{max-width:1180px;margin:34px auto;padding:0 22px;min-height:calc(100vh - 150px)}footer{text-align:center;color:#728096;padding:24px}h1{font-size:2rem;margin:.2em 0}h2{margin-top:32px}.muted{color:#6d7a8f}.hero{padding:24px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.person{display:flex;flex-direction:column;background:#fff;padding:18px;border:1px solid #dfe6ef;border-radius:14px;text-decoration:none;color:#17263a;box-shadow:0 3px 14px #19334e0a}.person:hover{border-color:#7fa6d4}.person small{color:#718096;margin-top:4px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.chips span,.tag{background:#e8f1fb;color:#245587;border-radius:999px;padding:5px 9px;font-size:.8rem}.login-card,.narrow{max-width:470px;background:#fff;border:1px solid #dfe6ef;border-radius:18px;padding:28px;margin:8vh auto}.narrow{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-weight:650}label.check{flex-direction:row;align-items:center;font-weight:500}input,select{width:100%;padding:11px 12px;border:1px solid #cbd6e4;border-radius:9px;background:#fff;font:inherit}button{background:#175a9f;color:#fff;border:0;border-radius:9px;padding:10px 15px;font-weight:700;cursor:pointer}.secondary{background:#e8eef5;color:#28415f}.dangerbtn{background:#a72d3a}.tiny{padding:6px 9px;font-size:.8rem}.inline{display:inline-block;margin-top:14px}.title-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0}.stats div{background:#fff;padding:18px;border-radius:14px;border:1px solid #dfe6ef;display:flex;flex-direction:column}.stats b{font-size:1.8rem}.stats span{color:#738095}.table-wrap{overflow:auto;background:#fff;border:1px solid #dfe6ef;border-radius:14px;margin:16px 0}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid #edf1f6;vertical-align:middle}th{font-size:.8rem;text-transform:uppercase;color:#67768b;background:#f9fbfd}td form{margin:0}.search,.filters{display:flex;gap:10px;max-width:760px}.filters select{max-width:240px}.filelist{background:#fff;border:1px solid #dfe6ef;border-radius:14px;overflow:hidden}.file{display:flex;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #eef2f7;color:#1b3553;text-decoration:none}.file:hover{background:#f5f9fd}.empty{padding:24px;color:#748197}.flash{padding:12px 14px;border-radius:10px;margin-bottom:16px}.flash.success{background:#e7f6ed;color:#21643a}.flash.danger{background:#fdebed;color:#8a2330}.danger-zone{margin-top:36px;padding:20px;border:1px solid #efc6cb;background:#fff7f8;border-radius:14px}.danger-zone form{display:flex;gap:10px;max-width:650px}code{background:#edf2f7;border-radius:5px;padding:2px 5px}@media(max-width:760px){header{height:auto;padding:14px 18px;align-items:flex-start}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.title-row{align-items:flex-start;flex-direction:column}.search,.filters,.danger-zone form{flex-direction:column}.filters select{max-width:none}}
.service-card{margin:24px 0;background:#fff;border:1px solid #dfe6ef;border-radius:14px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.service-card h2{margin:0 0 8px}.service-card p{margin:5px 0}.status-on{color:#1e7a43}.status-off{color:#a72d3a}@media(max-width:760px){.service-card{align-items:flex-start;flex-direction:column}}
