/* ═══════════════════════════════════════════
   Alfa Medical ASO — Design System v4
═══════════════════════════════════════════ */
:root{
  --red:   #8b1a2b;
  --red2:  #6d1322;
  --red-l: #fdf2f4;
  --gray:  #6b7280;
  --dark:  #111827;
  --mid:   #374151;
  --bdr:   #e5e7eb;
  --bg:    #f9fafb;
  --white: #ffffff;
  --green: #059669;
  --amber: #d97706;
  --blue:  #2563eb;
  --rr:    8px;
  --sh:    0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --sh2:   0 4px 16px rgba(0,0,0,.12);
}

/* ── Reset scoped ── */
#alfa-app *{box-sizing:border-box;margin:0;padding:0}
#alfa-app{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--dark);line-height:1.5;max-width:960px;margin:0 auto}

/* ── Tabs ── */
.alfa-tabs{display:flex;gap:2px;background:var(--bg);border:1px solid var(--bdr);border-radius:var(--rr);padding:4px;margin-bottom:20px}
.alfa-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 16px;border:none;background:transparent;border-radius:6px;font-size:13.5px;font-weight:500;color:var(--gray);cursor:pointer;transition:all .18s}
.alfa-tab:hover{background:var(--white);color:var(--mid)}
.alfa-tab.active{background:var(--white);color:var(--red);font-weight:600;box-shadow:var(--sh)}

/* ── Lista ── */
.alfa-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.alfa-search-wrap{position:relative;flex:1;min-width:200px}
.alfa-search-wrap svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--gray);pointer-events:none}
#alfa-busca{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--bdr);border-radius:var(--rr);font-size:13.5px;outline:none;transition:border .2s}
#alfa-busca:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(139,26,43,.1)}

/* Tabela lista */
.alfa-table-wrap{background:var(--white);border:1px solid var(--bdr);border-radius:var(--rr);overflow:hidden;box-shadow:var(--sh)}
.alfa-table{width:100%;border-collapse:collapse;font-size:13px}
.alfa-table th{background:var(--bg);padding:10px 14px;text-align:left;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--gray);border-bottom:1px solid var(--bdr)}
.alfa-table td{padding:11px 14px;border-bottom:1px solid var(--bdr);vertical-align:middle}
.alfa-table tr:last-child td{border-bottom:none}
.alfa-table tr:hover td{background:#fafafa}
.alfa-table .nome-cell{font-weight:600;color:var(--dark)}
.alfa-table .sub{font-size:11.5px;color:var(--gray);margin-top:1px}

/* Badges resultado */
.alfa-badge-apt{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;background:#d1fae5;color:#065f46}
.alfa-badge-in{background:#fee2e2;color:#991b1b}
.alfa-badge-res{background:#fef3c7;color:#92400e}
.alfa-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;background:#eff6ff;color:var(--blue);margin-left:8px}

/* Ações lista */
.alfa-acoes{display:flex;gap:6px;justify-content:flex-end}
.alfa-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--bdr);background:var(--white);border-radius:6px;cursor:pointer;color:var(--gray);transition:all .16s;text-decoration:none}
.alfa-btn-icon:hover{border-color:var(--red);color:var(--red);background:var(--red-l)}
.alfa-btn-icon.del:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}
.alfa-btn-icon.dl:hover{border-color:var(--green);color:var(--green);background:#f0fdf4}

/* Empty/loading */
.alfa-loading,.alfa-empty{padding:40px;text-align:center;color:var(--gray);font-size:14px}
.alfa-empty svg{display:block;margin:0 auto 12px;opacity:.35}

/* ── Formulário ── */
.alfa-form-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--bdr)}
#alfa-form-titulo{font-size:20px;font-weight:700;color:var(--dark)}
.alfa-subtitle{font-size:13px;color:var(--gray);margin-top:3px}

.alfa-section{background:var(--white);border:1px solid var(--bdr);border-radius:var(--rr);margin-bottom:16px;overflow:hidden;box-shadow:var(--sh)}
.alfa-section-header{display:flex;align-items:center;gap:8px;padding:13px 18px;background:var(--bg);border-bottom:1px solid var(--bdr);font-weight:600;font-size:13px;color:var(--mid)}
.alfa-section-icon{font-size:15px}
.alfa-grid{display:grid;gap:14px;padding:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.span2{grid-column:span 2}
.span3{grid-column:span 3}

.alfa-field label{display:block;font-size:12px;font-weight:600;color:var(--mid);margin-bottom:5px}
.alfa-field label small{font-weight:400;color:var(--gray)}
.req{color:var(--red);margin-left:1px}
.alfa-field input,.alfa-field select,.alfa-field textarea{width:100%;padding:9px 12px;border:1px solid var(--bdr);border-radius:6px;font-size:13.5px;font-family:inherit;color:var(--dark);background:var(--white);outline:none;transition:border .2s,box-shadow .2s}
.alfa-field input:focus,.alfa-field select:focus,.alfa-field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(139,26,43,.1)}
.alfa-field input.err,.alfa-field select.err,.alfa-field textarea.err{border-color:#ef4444;background:#fff5f5}
.alfa-field textarea{resize:vertical;min-height:90px;line-height:1.55}
input[readonly]{background:#f9fafb;cursor:default;color:var(--gray)}

/* Botões */
.alfa-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;background:var(--red);color:#fff;border:none;border-radius:var(--rr);font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px rgba(139,26,43,.25);transition:all .18s}
.alfa-btn-primary:hover{background:var(--red2);box-shadow:0 4px 14px rgba(139,26,43,.35);transform:translateY(-1px)}
.alfa-btn-primary:active{transform:none}
.alfa-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}
.alfa-btn-lg{padding:13px 32px;font-size:15px}
.alfa-btn-ghost{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:transparent;border:1px solid var(--bdr);color:var(--mid);border-radius:var(--rr);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .18s}
.alfa-btn-ghost:hover{border-color:var(--red);color:var(--red);background:var(--red-l)}

.alfa-form-actions{display:flex;align-items:center;gap:12px;padding:20px 0 4px;flex-wrap:wrap}
.spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:alfaSpin .7s linear infinite;display:inline-block}
@keyframes alfaSpin{to{transform:rotate(360deg)}}

/* Mensagem */
#alfa-form-msg{margin-top:16px;padding:13px 16px;border-radius:var(--rr);font-size:14px;font-weight:500}
#alfa-form-msg.ok{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46}
#alfa-form-msg.err{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}
#alfa-form-msg a{color:inherit;font-weight:700}

/* Modal confirmação delete */
.alfa-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:9999;display:flex;align-items:center;justify-content:center}
.alfa-modal{background:var(--white);border-radius:12px;padding:28px;max-width:380px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,.25);text-align:center}
.alfa-modal h3{font-size:17px;font-weight:700;margin-bottom:8px}
.alfa-modal p{color:var(--gray);font-size:14px;margin-bottom:20px}
.alfa-modal-btns{display:flex;gap:10px;justify-content:center}

/* Responsivo */
@media(max-width:640px){
  .g2,.g3{grid-template-columns:1fr}
  .span2,.span3{grid-column:span 1}
  .alfa-list-header{flex-direction:column;align-items:stretch}
  .alfa-acoes{justify-content:flex-start}
  .alfa-form-topbar{flex-direction:column}
}
