:root{--ink:#172431;--muted:#6c7a86;--blue:#167d91;--blue2:#0d5968;--pale:#eef6f7;--line:#dce7e9;--red:#b64040;--white:#fff}*{box-sizing:border-box}body{margin:0;background:#f4f7f7;color:var(--ink);font:15px/1.5 Inter,Segoe UI,Arial,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:230px;background:#102b35;color:white;padding:28px 18px}.brand{font-size:28px;font-weight:800;margin:0 10px 32px}.brand span{color:#62d2c7}nav{display:grid;gap:6px}nav a{color:#d8e9ec;text-decoration:none;padding:11px 12px;border-radius:8px}nav a:hover{background:#1a3e49;color:white}main.app{margin-left:230px;padding:28px 38px;max-width:1500px}main:not(.app){max-width:520px;margin:8vh auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header h1{margin:2px 0;font-size:28px}header small{color:var(--blue);font-weight:700;letter-spacing:1.5px}.user{background:white;border:1px solid var(--line);padding:8px 14px;border-radius:99px}.card,.stat{background:white;border:1px solid var(--line);border-radius:13px;padding:22px;box-shadow:0 3px 15px #1d4d5810}.narrow,.login{max-width:480px;margin:auto}.login-mark{width:62px;height:62px;border-radius:14px;background:#102b35;color:white;display:grid;place-items:center;font-size:21px;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{display:grid}.stat strong{font-size:34px;color:var(--blue2)}.stat span{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.stack{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}label{display:grid;gap:6px;font-weight:600;color:#354752}input,select,textarea{width:100%;border:1px solid #cbdadd;border-radius:8px;padding:10px 11px;background:white;color:var(--ink);font:inherit}textarea{resize:vertical}button,.btn{border:0;border-radius:8px;background:var(--blue);color:white;font-weight:700;padding:10px 16px;text-decoration:none;cursor:pointer;display:inline-block}button:hover,.btn:hover{background:var(--blue2)}.secondary{background:#edf4f5;color:var(--blue2);border:1px solid #cde0e3}.small{padding:7px 11px}.section-head,.savebar,.actions,.inline,.search{display:flex;align-items:center;gap:12px;justify-content:space-between}.section-head h2,.card h2{margin:0 0 15px}.checks{display:flex;flex-wrap:wrap;gap:10px 18px;margin-bottom:15px}.checks label{display:flex;align-items:center;gap:7px;background:var(--pale);padding:8px 10px;border-radius:8px}.checks input{width:auto}.compact{margin-top:12px}.repeat-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr) 30px;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.remove{align-self:end;background:#f5e7e7;color:var(--red);padding:8px}.hist-block{position:relative;border:1px solid var(--line);border-radius:10px;padding:18px;margin:14px 0}.hist-block>.remove{position:absolute;right:12px;top:10px}.alert{padding:12px 15px;border-radius:8px;margin:10px 0 18px}.success{background:#e4f5ee;color:#176744}.error{background:#fbe9e9;color:#952c2c}.muted{color:var(--muted);font-size:13px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px}th{font-size:12px;color:var(--muted);text-transform:uppercase}.search{justify-content:flex-start;margin-bottom:15px}.search input{max-width:500px}.bars{display:grid;gap:10px}.bars>div{display:grid;grid-template-columns:110px 1fr 35px;gap:10px;align-items:center}.bars i{height:10px;background:#edf1f2;border-radius:99px;overflow:hidden}.bars b{display:block;height:100%;background:#3aa9aa;border-radius:99px}.tabs{display:flex;gap:7px;margin-bottom:14px;flex-wrap:wrap}.tabs a{padding:8px 12px;background:#e6eff0;border-radius:8px;text-decoration:none;color:var(--ink)}.tabs a.active{background:var(--blue);color:white}.lookup-list{columns:2;padding-left:20px}footer{color:var(--muted);font-size:12px;padding:25px 0}@media(max-width:1000px){.form-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.repeat-row{grid-template-columns:1fr 1fr}}@media(max-width:700px){aside{position:static;width:auto}.brand{margin-bottom:10px}nav{display:flex;overflow:auto}main.app{margin:0;padding:18px}.grid2,.form-grid,.stats,.repeat-row{grid-template-columns:1fr}.savebar{align-items:stretch;flex-direction:column}}
