:root{--grip-blue: #0078D4;--grip-navy: #152238;--grip-bg: #F7F8FA;--grip-border: #E2E5EA;--grip-text: #222222;--grip-text-muted: #6B7280}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--grip-bg);color:var(--grip-text)}.centered-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.card{background:#fff;border:1px solid var(--grip-border);border-radius:12px;padding:40px;width:100%;max-width:380px;box-shadow:0 1px 3px #0000000a}.wordmark{font-weight:800;font-size:22px;color:var(--grip-navy);margin-bottom:4px}.subtitle{color:var(--grip-text-muted);font-size:14px;margin-bottom:28px}label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;margin-top:16px;color:var(--grip-text)}input{width:100%;padding:10px 12px;border:1px solid var(--grip-border);border-radius:8px;font-size:14px;font-family:inherit}input:focus{outline:2px solid var(--grip-blue);outline-offset:1px}button{width:100%;margin-top:24px;padding:11px;background:var(--grip-blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer}button:hover{opacity:.92}button:disabled{opacity:.5;cursor:not-allowed}.error-text{color:#b42318;font-size:13px;margin-top:12px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#fff;border-bottom:1px solid var(--grip-border)}.topbar-right{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--grip-text-muted)}.topbar-right button{width:auto;margin-top:0;background:transparent;color:var(--grip-text-muted);border:1px solid var(--grip-border);padding:6px 14px}.dashboard-content{padding:32px;max-width:1100px;margin:0 auto}.dashboard-content h1{font-size:20px;color:var(--grip-navy)}table{width:100%;border-collapse:collapse;margin-top:20px;background:#fff;border:1px solid var(--grip-border);border-radius:8px;overflow:hidden}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--grip-text-muted);background:#fafbfc;padding:10px 16px;border-bottom:1px solid var(--grip-border)}td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--grip-border)}tr:last-child td{border-bottom:none}.empty-state{margin-top:40px;text-align:center;color:var(--grip-text-muted);font-size:14px}
