:root {
  --navy:#101827;
  --blue:#2563eb;
  --line:#e3e7ee;
  --muted:#6b7483;
  --paper:#f5f7fb;
}
* { box-sizing:border-box; }
body { margin:0;background:var(--paper);color:#111827;font-family:Inter,Arial,sans-serif; }
.auth-page { min-height:100vh;display:grid;place-items:center;padding:24px; }
.auth-card { width:min(720px,100%);padding:30px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 55px #11182716; }
.auth-card.login { width:min(480px,100%); }
.brand { display:flex;gap:13px;align-items:center;margin-bottom:26px; }
.brand>span { width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#7c3aed,#2563eb);display:grid;place-items:center;color:#fff; }
.brand h1 { margin:0;font-size:28px; }
.brand small { display:block;color:#7b8494;margin-top:4px;letter-spacing:1.4px; }
.auth-card h2 { margin:0 0 18px; }
.auth-grid { display:grid;grid-template-columns:1fr 1fr;gap:13px; }
.auth-card label { display:block;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase; }
.auth-card input,
.auth-card select { width:100%;padding:13px;margin-top:7px;border:1px solid #dce1e9;border-radius:9px;background:#fff;font-size:14px; }
.auth-card button,
.auth-button { display:block;width:100%;border:0;border-radius:9px;padding:13px;margin-top:17px;background:var(--blue);color:#fff;text-align:center;text-decoration:none;font-weight:800;cursor:pointer; }
.auth-button.secondary { background:#fff;color:#2563eb;border:1px solid #bed0ff;margin-top:10px; }
.notice,
.error { padding:12px;border-radius:9px; }
.notice { background:#ecfdf3;color:#16803d; }
.error { background:#fff1f2;color:#be123c; }
.wide { grid-column:1/-1; }
.auth-footer { text-align:center;margin-top:18px;color:#7b8494;font-size:12px; }
.admin-page { min-height:100vh; }
.admin-header { background:var(--navy);color:#fff;padding:20px max(24px,calc((100vw - 1080px)/2));display:flex;justify-content:space-between;align-items:center; }
.admin-header a { color:#dbeafe;text-decoration:none;font-weight:800;margin-left:15px; }
.admin-main { max-width:1080px;margin:auto;padding:28px 20px; }
.admin-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:18px; }
.admin-panel { background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 8px 25px #1118270e; }
.admin-panel form { display:grid;gap:14px; }
.admin-panel form label { display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase; }
.admin-panel form input,
.admin-panel form select { width:100%;min-width:0;padding:13px;border:1px solid #dce1e9;border-radius:9px;background:#fff;color:#111827;font:inherit;text-transform:none;letter-spacing:normal; }
.admin-panel form input:focus,
.admin-panel form select:focus { outline:3px solid #2563eb1f;border-color:var(--blue); }
.admin-panel form button { width:100%;border:0;border-radius:9px;padding:13px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer; }
.admin-panel form button:hover { background:#1d4ed8; }
.settings-card form:not(.field-grid):not(.create-business) { display:grid;gap:14px; }
.settings-card label { display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase; }
.settings-card input,
.settings-card select,
.settings-card textarea { width:100%;min-width:0;padding:13px;border:1px solid #dce1e9;border-radius:9px;background:#fff;color:#111827;font:14px Inter,Arial,sans-serif;text-transform:none;letter-spacing:normal; }
.settings-card input:focus,
.settings-card select:focus,
.settings-card textarea:focus { outline:3px solid #2563eb1f;border-color:var(--blue); }
.settings-card button { width:100%;border:0;border-radius:9px;padding:13px;background:var(--blue);color:#fff;font-weight:800;cursor:pointer; }
.settings-card button:hover { background:#1d4ed8; }
.settings-card .business-form { display:grid;gap:14px; }
.panel-intro { margin:-6px 0 20px;color:var(--muted);font-size:14px;line-height:1.5; }
.table-scroll { overflow:auto; }
.invitation-copy { display:grid;gap:7px;margin:14px 0;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase; }
.invitation-copy span { display:grid;grid-template-columns:1fr auto;gap:8px; }
.invitation-copy input { width:100%;min-width:0;padding:11px;border:1px solid #dce1e9;border-radius:9px;background:#f8fafc; }
.invitation-copy button,
.button-light { border:1px solid #bed0ff;border-radius:9px;padding:10px 13px;background:#fff;color:var(--blue);font-weight:800;cursor:pointer; }
.pending-title { margin:24px 0 10px;font-size:15px; }
.pending-list { display:grid;gap:9px; }
.pending-item { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px; }
.pending-item strong,
.pending-item small { display:block; }
.pending-item small { margin-top:4px;color:var(--muted);font-size:11px; }
.pending-item form { display:block; }
.pending-item form button { width:auto;background:#fff;color:var(--blue);padding:8px 11px;border:1px solid #bed0ff; }
.permissions-panel { margin-top:18px; }
.permission-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:10px; }
.permission-grid article { padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8fafc; }
.permission-grid strong { font-size:13px; }
.permission-grid p { margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.45; }
.admin-panel table { width:100%;border-collapse:collapse; }
.admin-panel th,
.admin-panel td { text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);font-size:13px; }
.admin-panel th { color:#7b8494;font-size:10px;text-transform:uppercase; }
.role-pill { display:inline-block;padding:5px 9px;border-radius:20px;background:#eef3ff;color:#2563eb;font-size:11px; }
@media(max-width:700px) {
  .auth-grid,
  .admin-grid { grid-template-columns:1fr; }
  .wide { grid-column:auto; }
  .auth-card { padding:22px; }
  .admin-header { align-items:flex-start; }
  .admin-header span { display:none; }
  .permission-grid { grid-template-columns:1fr; }
  .invitation-copy span { grid-template-columns:1fr; }
}
