:root{--navy:#123b53;--ink:#172c3a;--muted:#687984;--cream:#f4f0e7;--card:#fff;--green:#168a5b;--red:#c83f49;--line:#dce3e5;--amber:#d97706}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{grid-template-columns:256px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{padding:4px 10px 26px;font-size:24px;font-weight:900}.brand small{opacity:.7;letter-spacing:.12em;text-transform:uppercase;font-size:11px;display:block}.nav{gap:5px;display:grid}.nav a{color:#dce8ed;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-weight:700;display:flex}.nav a:hover,.nav a.active{color:#fff;background:#ffffff17}.logout{margin-top:auto}.main{min-width:0;padding:32px}.topline{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.topline h1{margin:0;font-size:30px}.topline p{color:var(--muted);margin:6px 0 0}.grid{gap:18px;display:grid}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid #fff;border-radius:20px;padding:20px;box-shadow:0 10px 30px #15384b0b}.metric strong{color:var(--navy);margin-top:8px;font-size:32px;display:block}.metric span{color:var(--muted);font-weight:700}.toolbar{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.field{border:1px solid var(--line);background:#fff;border-radius:11px;min-height:42px;padding:10px 12px}.field:focus{border-color:var(--green);outline:2px solid #168a5b55}.grow{flex:1;min-width:220px}.button{background:var(--navy);color:#fff;border:0;border-radius:11px;padding:10px 14px;font-weight:800}.button.secondary{color:var(--navy);background:#e8eef0}.button.success{background:var(--green)}.button.danger{background:var(--red)}.button.warning{background:var(--amber)}.button:disabled{opacity:.45;cursor:not-allowed}.table-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}td{font-size:14px}.badge{color:var(--navy);background:#e8eef0;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;display:inline-flex}.badge.pending,.badge.open{color:#8d5200;background:#fff1d6}.badge.approved,.badge.resolved{color:#106d47;background:#dff4e9}.badge.rejected,.badge.blocked{color:#a82c36;background:#fbe4e6}.actions{flex-wrap:wrap;gap:6px;display:flex}.actions .button{padding:7px 9px;font-size:12px}.muted{color:var(--muted)}.error,.success-note{border-radius:12px;margin-bottom:14px;padding:12px 14px}.error{color:#8c2029;background:#fbe4e6}.success-note{color:#106d47;background:#dff4e9}.empty{text-align:center;color:var(--muted);padding:42px}.pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;display:flex}.photo{object-fit:cover;background:#e8eef0;border-radius:10px;width:92px;height:70px}.login{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border-radius:24px;width:min(420px,100%);padding:30px;box-shadow:0 24px 70px #15384b22}.login-card h1{margin:0 0 6px}.login-card form{gap:12px;margin-top:24px;display:grid}.login-card .field{width:100%}.modal-backdrop{z-index:20;background:#0a243499;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(680px,100%);max-height:90vh;padding:22px;overflow:auto}.modal h2{margin-top:0}.map{background:#dfe8e8;border-radius:14px;height:260px;margin:14px 0;overflow:hidden}.mobile-head{display:none}.audit-code{white-space:pre-wrap;max-width:360px;font-family:ui-monospace,monospace;font-size:11px}.two-col{grid-template-columns:1fr 1fr}@media (max-width:980px){.metrics{grid-template-columns:repeat(2,1fr)}.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.nav{grid-template-columns:repeat(4,1fr)}.logout{margin-top:16px}.main{padding:22px}.brand{padding-bottom:14px}}@media (max-width:640px){.metrics,.two-col{grid-template-columns:1fr}.nav{grid-template-columns:repeat(2,1fr)}.main{padding:16px}.topline h1{font-size:25px}th,td{padding:10px}.hide-mobile{display:none}}
