/* styles.css — shared design tokens, matching loggia.work and the internal
   Loggia portal so the whole product family feels like one thing. */

:root{
  --bg-canvas:#F7F4EC; --bg-surface:#FFFFFF; --bg-muted:#EDE8DA; --border:#D9D2BE;
  --text-primary:#1F2421; --text-secondary:#5B564A;
  --accent:#8A6D3B; --accent-soft:#F1E7D4; --accent-deep:#1B2A4A;
  --success:#3F6B4F; --success-soft:#E7EFE9;
  --danger:#8A3B3B; --danger-soft:#F3E4E4;
  --font-serif:'Source Serif 4', Georgia, serif;
  --font-sans:'Inter', -apple-system, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-canvas);line-height:1.5;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;letter-spacing:-.01em;}
button{font-family:var(--font-sans);cursor:pointer;}
input,textarea,select{font-family:var(--font-sans);}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:4px;font-size:13.5px;font-weight:600;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-primary);}
.btn.primary{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep);}
.btn.primary:hover{background:#142038;}
.btn.outline{background:transparent;border-color:var(--accent-deep);color:var(--accent-deep);}
.btn.outline:hover{background:var(--accent-soft);}
.btn.danger{border-color:var(--danger);color:var(--danger);background:transparent;}
.btn.danger:hover{background:var(--danger-soft);}
.btn.small{padding:6px 12px;font-size:12.5px;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

input[type=text],input[type=email],input[type=password],input[type=tel],textarea,select{
  width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:4px;font-size:13.5px;
  background:var(--bg-surface);color:var(--text-primary);
}
input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-deep);outline-offset:1px;}
label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:600;display:block;margin-bottom:5px;}

.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:600;}

.pill{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 9px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;}
.pill.admin{background:var(--accent-deep);color:#fff;}
.pill.member{background:var(--bg-muted);color:var(--text-secondary);}
.pill.searchable{background:var(--success-soft);color:var(--success);}
.pill.unsearchable{background:var(--bg-muted);color:var(--text-secondary);}

.error-banner{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:4px;padding:9px 12px;font-size:13px;margin-bottom:14px;display:none;}
.error-banner.open{display:block;}

.toast{position:fixed;bottom:20px;right:20px;background:var(--accent-deep);color:#fff;padding:12px 18px;border-radius:6px;font-size:13.5px;box-shadow:0 8px 24px rgba(27,42,74,.25);z-index:100;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none;}
.toast.show{opacity:1;transform:translateY(0);}

::-webkit-scrollbar{width:9px;height:9px;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px;}
::-webkit-scrollbar-track{background:transparent;}

.modal-backdrop{position:fixed;inset:0;background:rgba(31,36,33,.45);display:none;align-items:center;justify-content:center;z-index:50;}
.modal-backdrop.open{display:flex;}
.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:26px;width:440px;max-width:92vw;max-height:86vh;overflow-y:auto;box-shadow:0 24px 60px rgba(27,42,74,.2);}
.modal h3{font-size:19px;margin-bottom:16px;}
.modal .field{margin-bottom:13px;}
.modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
