:root {
  --primary: #7B2D8B;
  --primary-dark: #4B0082;
  --bg: #F7F3FA;
  --success: #10B981;
  --warning: #F59E0B;
  --muted: #64748B;
  --radius: 12px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'DM Sans', sans-serif; background: var(--bg); color: #1a1a1a; }
.navbar { background: white; padding: 16px 24px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid #e5e7eb; }
.brand { font-family: 'Cormorant Garamond', serif; font-weight: 700; font-size: 1.2rem; color: var(--primary); }
.container { max-width: 900px; margin: 32px auto; padding: 0 24px; }
.card { background: white; border-radius: var(--radius); padding: 32px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); margin-bottom: 24px; }
.btn { background: var(--primary-dark); color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1rem; cursor: pointer; font-family: 'DM Sans', sans-serif; }
.btn:hover { background: var(--primary); }
.btn-link { color: var(--muted); text-decoration: none; font-size: 0.9rem; }
input, select, textarea { width: 100%; padding: 10px 14px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 1rem; margin-top: 6px; font-family: 'DM Sans', sans-serif; }
label { font-weight: 500; font-size: 0.9rem; color: #374151; }
.form-group { margin-bottom: 18px; }
.alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 0.9rem; }
.alert-error { background: #fef2f2; color: #dc2626; }
.alert-success { background: #f0fdf4; color: #16a34a; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px 16px; text-align: left; border-bottom: 1px solid #e5e7eb; font-size: 0.9rem; }
th { font-weight: 600; color: var(--muted); font-size: 0.8rem; text-transform: uppercase; }
.badge { display: inline-block; padding: 2px 10px; border-radius: 99px; font-size: 0.78rem; font-weight: 500; }
.badge-pending { background: #fef3c7; color: #92400e; }
.badge-sent { background: #d1fae5; color: #065f46; }
.badge-failed { background: #fee2e2; color: #991b1b; }
.clinic-name { font-size: 0.85rem; color: var(--muted); margin-left: auto; }

.navbar{background:#2D0A5E;color:#fff;flex-wrap:wrap}.navbar .btn-link,.navbar .clinic-name{color:#E5D8F0}.brand{display:flex;align-items:center;gap:16px;text-decoration:none}.brand img{width:190px;height:auto}.brand span{font:500 .65rem 'DM Sans',sans-serif;letter-spacing:.16em;border-left:1px solid #7B608F;padding-left:16px;color:#D8C9E5}.container{max-width:1120px}.login-card{max-width:460px;margin:60px auto;padding:40px}.eyebrow{display:block;font-size:.65rem;letter-spacing:.18em;color:#7B2D8B;font-weight:700;margin-bottom:12px}h1{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:600;color:#2D0A5E}.intro{color:#756481;line-height:1.6;margin:12px 0 28px}.help{color:#756481;font-size:.8rem;line-height:1.6;margin-top:24px}.login-card .btn{width:100%}.logout{background:none;border:0;cursor:pointer}.btn:disabled{opacity:.65;cursor:wait}input:focus,textarea:focus,select:focus{outline:2px solid #C4A8D8;outline-offset:2px}.card{border:1px solid #EEE5F4;box-shadow:0 4px 20px #2D0A5E06}table{min-width:560px}.card:has(table){overflow-x:auto!important}@media(max-width:650px){.container{padding:0 14px;margin:22px auto}.card{padding:22px}.navbar{padding:16px;gap:12px}.brand img{width:160px}.clinic-name{width:100%;margin:0}.login-card{margin:24px auto;padding:28px}h1{font-size:2.1rem}.brand span{display:none}#modal-agendar>.card{margin:12px!important;max-height:90vh;overflow:auto}}

.clinical-open-record{display:inline-block;padding:8px 12px;background:#eee4f5;color:#4B0082;border-radius:8px;text-decoration:none;font-size:.8rem;font-weight:600}
