/* Master design tokens from evanda-shell — linked root-relative so they
   resolve from any consumer on the same vhost. */

/* Map authkit's local variables to master tokens */
:root { 
  --ak-bg: var(--color-bg); 
  --ak-card: var(--color-surface); 
  --ak-bd: var(--color-border); 
  --ak-tx: var(--color-text); 
  --ak-mut: var(--color-text-muted); 
  --ak-pri: var(--color-accent-strong); 
  --ak-pri-hover: var(--color-accent-strong-hover);
  --ak-danger: var(--color-danger);
  --ak-danger-bg: #fdecec;
  --ak-danger-border: #f5c2c0;
  --ak-danger-dark-bg: #3a1a1a;
  --ak-danger-dark-fg: #ff9b96;
  --ak-danger-dark-border: #5a2626;
}

@media (prefers-color-scheme: dark){
  :root{ 
    --ak-bg: #0f141a; 
    --ak-card: #171e26; 
    --ak-bd: #2a333d; 
    --ak-tx: #e6ebf1; 
    --ak-mut: #93a1b0; 
  }
  .err{ background:var(--ak-danger-dark-bg); color:var(--ak-danger-dark-fg); border-color:var(--ak-danger-dark-border); }
}

* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; align-items:center; justify-content:center;
       font-family:var(--font-sans); background:var(--ak-bg); color:var(--ak-tx); }
.card { background:var(--ak-card); border:1px solid var(--ak-bd); border-radius:var(--radius-lg); padding:28px; width:92%; max-width:380px;
        box-shadow:0 10px 40px rgba(0,0,0,.08); }
h1 { font-size:20px; margin:0 0 4px; }
.sub { color:var(--ak-mut); font-size:14px; margin:0 0 20px; }
label { display:block; font-size:13px; font-weight:600; margin:12px 0 4px; }
input { width:100%; padding:11px 12px; border:1px solid var(--ak-bd); border-radius:var(--radius-sm); font-size:15px; background:var(--ak-card); color:var(--ak-tx); }
button { width:100%; margin-top:18px; padding:12px; border:none; border-radius:var(--radius-sm); background:var(--ak-pri); color:#fff; font-size:15px; font-weight:600; cursor:pointer; min-height:46px; }
button:hover { background: var(--ak-pri-hover); }
.err { background:var(--ak-danger-bg); color:var(--ak-danger); border:1px solid var(--ak-danger-border); border-radius:var(--radius-sm); padding:10px 12px; font-size:14px; margin-bottom:16px; }
.divider { text-align:center; color:var(--ak-mut); font-size:12px; margin:18px 0 6px; }
.sso { display:block; text-align:center; text-decoration:none; padding:12px; border:1px solid var(--ak-bd); border-radius:var(--radius-sm); color:var(--ak-tx); font-weight:600; margin-top:10px; }
.sso:hover { background: var(--color-bg-wash); }

/* Admin-specific styles */
.admin-body { padding: 2rem; max-width: 1200px; margin: 0 auto; width: 100%; }
.admin-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; }
.admin-nav { display: flex; gap: 1rem; }
.admin-nav a { color: var(--ak-tx); text-decoration: none; padding: 0.5rem 1rem; border-radius: var(--radius-sm); }
.admin-nav a.active { background: var(--color-bg-wash); font-weight: bold; }
.table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.table th, .table td { padding: 0.75rem; text-align: left; border-bottom: 1px solid var(--ak-bd); }
.table th { background: var(--color-bg-wash); font-weight: 600; }
.table tr:hover { background: var(--color-bg-wash); }
.badge { display: inline-block; padding: 0.25rem 0.75rem; border-radius: var(--radius-pill); font-size: 0.875rem; font-weight: 600; }
.badge-success { background: var(--color-success); color: white; }
.badge-warning { background: var(--color-warning); color: white; }
.badge-danger { background: var(--color-danger); color: white; }
.form-group { margin-bottom: 1rem; }
.form-actions { display: flex; gap: 1rem; justify-content: flex-end; margin-top: 2rem; }
.btn-secondary { background: var(--color-bg-wash); color: var(--ak-tx); }
.btn-secondary:hover { background: var(--color-surface); }