/* ============================================================
   ABEE Classificados — Design System
   Cores: Azul Marinho + Amarelo Dourado
   ============================================================ */

/* ── Variáveis ─────────────────────────────────────────────── */
:root {
  --navy-900:   #060F1F;
  --navy-800:   #0C1F3F;
  --navy-700:   #122747;
  --navy-600:   #1B3A6B;
  --navy-500:   #254d8f;
  --navy-400:   #3a6dbd;
  --gold:       #D4AF37;
  --gold-light: #F0C84A;
  --gold-dark:  #A88A1A;
  --gold-glow:  rgba(212,175,55,.18);
  --surface:    #0F2042;
  --surface-2:  #162D5A;
  --surface-3:  #1E3970;
  --border:     rgba(212,175,55,.15);
  --border-2:   rgba(255,255,255,.07);
  --text:       #E8EDF5;
  --text-muted: #7A8FB8;
  --text-dim:   #4A6090;
  --success:    #2ECC71;
  --danger:     #E74C3C;
  --warning:    #F39C12;
  --info:       #3498DB;
  --radius:     10px;
  --radius-lg:  16px;
  --shadow:     0 4px 24px rgba(0,0,0,.4);
  --shadow-lg:  0 8px 40px rgba(0,0,0,.5);
  --transition: .2s ease;
}

/* ── Reset & Base ───────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background: var(--navy-900);
  color: var(--text);
  line-height: 1.6;
  min-height: 100vh;
}
a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-light); }
img { max-width:100%; display:block; }
button { cursor:pointer; font-family:inherit; }
input,select,textarea { font-family:inherit; }

/* ── Utilitários ────────────────────────────────────────────── */
.container        { max-width:1200px; margin:0 auto; padding:0 1.25rem; }
.text-muted       { color:var(--text-muted); font-size:.875rem; }
.link--gold       { color:var(--gold); font-weight:600; }
.link--gold:hover { color:var(--gold-light); }

/* ── NAVBAR ─────────────────────────────────────────────────── */
.navbar {
  background: rgba(6,15,31,.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  position: sticky; top:0; z-index:1000;
  height: 64px;
}
.navbar__inner {
  display:flex; align-items:center; gap:1rem;
  height:100%;
}
.navbar__brand {
  display:flex; align-items:center; gap:.5rem;
  text-decoration:none; flex-shrink:0;
}
.brand-bolt  { font-size:1.5rem; line-height:1; }
.brand-name  { font-size:1.1rem; font-weight:800; color:#fff; letter-spacing:-.02em; }
.brand-sub   { color:var(--gold); font-weight:400; margin-left:.15rem; }
.navbar__links {
  display:flex; align-items:center; gap:.5rem; margin-left:auto;
}
.nav-link {
  color:var(--text-muted); padding:.4rem .75rem; border-radius:6px;
  font-size:.875rem; font-weight:500; transition:var(--transition);
  text-decoration:none;
}
.nav-link:hover, .nav-link--active {
  color:var(--text); background:var(--surface-2);
}
.nav-link--admin { color:var(--gold); }
.navbar__hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; padding:.5rem; margin-left:.5rem;
}
.navbar__hamburger span {
  width:24px; height:2px; background:var(--text);
  border-radius:2px; transition:var(--transition);
  display:block;
}

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.6rem 1.25rem; border-radius:var(--radius);
  font-weight:600; font-size:.875rem; border:none;
  transition:var(--transition); cursor:pointer; white-space:nowrap;
  text-decoration:none;
}
.btn--primary {
  background:var(--gold); color:var(--navy-800);
}
.btn--primary:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn--outline {
  background:transparent; color:var(--gold);
  border:1.5px solid var(--gold);
}
.btn--outline:hover { background:var(--gold-glow); }
.btn--ghost {
  background:var(--surface-2); color:var(--text);
  border:1px solid var(--border-2);
}
.btn--ghost:hover { background:var(--surface-3); color:var(--text); }
.btn--success { background:#27ae60; color:#fff; }
.btn--success:hover { background:#2ecc71; }
.btn--danger  { background:#c0392b; color:#fff; }
.btn--danger:hover  { background:var(--danger); }
.btn--warning { background:var(--warning); color:#fff; }
.btn--warning:hover { background:#e67e22; }
.btn--sm  { padding:.4rem .9rem; font-size:.8rem; }
.btn--xs  { padding:.25rem .6rem; font-size:.75rem; }
.btn--lg  { padding:.8rem 1.75rem; font-size:1rem; }
.btn--full { width:100%; justify-content:center; }

/* ── FORM FIELDS ────────────────────────────────────────────── */
.field { display:flex; flex-direction:column; gap:.4rem; }
.field__label {
  font-size:.8rem; font-weight:600; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:.05em;
  display:flex; justify-content:space-between;
}
.field__label-link { font-weight:400; color:var(--gold); text-transform:none; letter-spacing:0; }
.field__input-wrap { position:relative; }
.field__icon {
  position:absolute; left:.75rem; top:50%; transform:translateY(-50%);
  color:var(--text-dim); font-size:18px; pointer-events:none;
}
.field__input {
  width:100%; padding:.7rem 1rem .7rem 2.75rem;
  background:var(--surface); color:var(--text);
  border:1.5px solid var(--border-2); border-radius:var(--radius);
  font-size:.95rem; transition:var(--transition); outline:none;
}
.field__input:focus  { border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-glow); }
.field__input.is-invalid { border-color:var(--danger); }
.field__error { color:var(--danger); font-size:.78rem; }
.field__textarea { resize:vertical; min-height:100px; padding:.7rem 1rem; }
.field__textarea.field__input { padding-left:1rem; }
.field__toggle-pass {
  position:absolute; right:.75rem; top:50%; transform:translateY(-50%);
  background:none; border:none; color:var(--text-muted); padding:.25rem;
}
.form-grid { display:grid; gap:1rem; }
.form-grid--2 { grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); }
.form-section-title {
  font-size:1rem; font-weight:700; color:var(--gold);
  display:flex; align-items:center; gap:.5rem;
  padding-bottom:.5rem; border-bottom:1px solid var(--border);
  margin-bottom:1rem;
}
.form-actions { margin-top:2rem; }
.form-disclaimer { font-size:.78rem; color:var(--text-muted); text-align:center; margin-top:.75rem; }
.radio-group { display:flex; gap:1rem; flex-wrap:wrap; }
.radio-opt {
  display:flex; align-items:center; gap:.5rem;
  cursor:pointer; padding:.5rem .75rem;
  border:1.5px solid var(--border-2); border-radius:8px;
  transition:var(--transition);
}
.radio-opt:has(input:checked) { border-color:var(--gold); background:var(--gold-glow); }

/* ── ESPECIALIDADES GRID ────────────────────────────────────── */
.especialidades-grid { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }
.esp-tag {
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.4rem .8rem; border-radius:20px;
  border:1.5px solid var(--border-2); background:var(--surface);
  cursor:pointer; font-size:.8rem; color:var(--text-muted);
  transition:var(--transition);
}
.esp-tag:has(input:checked) {
  border-color:var(--gold); background:var(--gold-glow); color:var(--gold);
}
.esp-tag input { display:none; }
.esp-tag .material-icons-round { font-size:16px; }

/* ── CARDS ──────────────────────────────────────────────────── */
.card {
  background:var(--surface); border:1px solid var(--border-2);
  border-radius:var(--radius-lg); overflow:hidden;
}
.card--highlight { border-color:var(--border); }
.card--gold-border { border-color:var(--gold); border-width:2px; }
.card__header {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 1.5rem; border-bottom:1px solid var(--border-2);
}
.card__title {
  font-size:1rem; font-weight:700; color:var(--text);
  display:flex; align-items:center; gap:.5rem; margin:0;
}
.card__title .material-icons-round { color:var(--gold); font-size:20px; }

/* ── FLASH MESSAGES ─────────────────────────────────────────── */
.flash {
  display:flex; align-items:center; gap:.75rem;
  padding:.9rem 1.5rem; margin:.5rem 1.25rem;
  border-radius:var(--radius); font-size:.9rem; font-weight:500;
  border-left:4px solid transparent; animation:slideDown .3s ease;
}
@keyframes slideDown { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:none} }
.flash__close { margin-left:auto; background:none; border:none; font-size:1.2rem; color:inherit; opacity:.6; }
.flash--success { background:rgba(46,204,113,.12); border-color:var(--success); color:#2ecc71; }
.flash--danger  { background:rgba(231,76,60,.12);  border-color:var(--danger);  color:#e74c3c; }
.flash--warning { background:rgba(243,156,18,.12); border-color:var(--warning); color:#f39c12; }
.flash--info    { background:rgba(52,152,219,.12); border-color:var(--info);    color:#3498db; }
.flash__icon    { font-size:20px; flex-shrink:0; }

/* ── ALERTS ─────────────────────────────────────────────────── */
.alert {
  display:flex; align-items:flex-start; gap:.75rem;
  padding:1rem 1.25rem; border-radius:var(--radius); font-size:.9rem;
  border-left:4px solid transparent;
}
.alert--success { background:rgba(46,204,113,.1); border-color:var(--success); color:#2ecc71; }
.alert--danger  { background:rgba(231,76,60,.1);  border-color:var(--danger);  color:#e74c3c; }
.alert--warning { background:rgba(243,156,18,.1); border-color:var(--warning); color:#f39c12; }
.alert--info    { background:rgba(52,152,219,.1); border-color:var(--info);    color:#3498db; }

/* ── BADGES ─────────────────────────────────────────────────── */
.badge {
  display:inline-flex; align-items:center; padding:.2rem .6rem;
  border-radius:20px; font-size:.72rem; font-weight:700; letter-spacing:.03em;
  text-transform:uppercase;
}
.badge--cliente    { background:rgba(52,152,219,.15); color:var(--info); }
.badge--prestador  { background:rgba(46,204,113,.15); color:var(--success); }
.badge--admin      { background:var(--gold-glow); color:var(--gold); }
.badge--success    { background:rgba(46,204,113,.15); color:var(--success); }
.badge--warning    { background:rgba(243,156,18,.15); color:var(--warning); }
.badge--danger     { background:rgba(231,76,60,.15); color:var(--danger); }
.badge--info       { background:rgba(52,152,219,.15); color:var(--info); }
.badge--ativo      { background:rgba(46,204,113,.15); color:var(--success); }
.badge--pendente   { background:rgba(243,156,18,.15); color:var(--warning); }
.badge--suspenso   { background:rgba(231,76,60,.15); color:var(--danger); }
.badge--banido     { background:rgba(100,100,100,.15); color:var(--text-muted); }
.badge--em_mediacao{ background:rgba(231,76,60,.15); color:var(--danger); }
.badge--concluido  { background:rgba(46,204,113,.15); color:var(--success); }

/* ── PACOTE BADGES ──────────────────────────────────────────── */
.pacote-badge {
  display:inline-flex; align-items:center; gap:.3rem;
  padding:.2rem .7rem; border-radius:20px; font-size:.78rem; font-weight:700;
}
.pacote-badge--ouro         { background:rgba(212,175,55,.2); color:var(--gold); border:1px solid var(--gold); }
.pacote-badge--intermediario { background:rgba(108,117,125,.15); color:#c0c8d8; border:1px solid rgba(192,200,216,.3); }
.pacote-badge--basico       { background:rgba(205,127,50,.15); color:#cd7f32; border:1px solid rgba(205,127,50,.3); }

/* ── STATUS PILLS ───────────────────────────────────────────── */
.status-pill {
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.25rem .7rem; border-radius:20px; font-size:.75rem; font-weight:600;
}
.status-pill--aguardando_aprovacao { background:rgba(243,156,18,.12); color:var(--warning); }
.status-pill--aprovado             { background:rgba(52,152,219,.12); color:var(--info); }
.status-pill--rejeitado            { background:rgba(231,76,60,.12);  color:var(--danger); }
.status-pill--em_andamento         { background:rgba(46,204,113,.12); color:var(--success); }
.status-pill--aguardando_confirmacao{ background:rgba(243,156,18,.12);color:var(--warning); }
.status-pill--concluido            { background:rgba(46,204,113,.2);  color:#27ae60; }
.status-pill--em_mediacao          { background:rgba(231,76,60,.15);  color:var(--danger); }
.status-pill--cancelado            { background:rgba(100,100,100,.15);color:var(--text-muted); }
.status-pill--pago_integral        { background:rgba(212,175,55,.15); color:var(--gold); }

/* ── PAGE HEADER ────────────────────────────────────────────── */
.page-header {
  background:linear-gradient(135deg, var(--navy-800) 0%, var(--navy-700) 100%);
  border-bottom:1px solid var(--border);
  padding:2.5rem 0 2rem;
}
.page-header__title {
  font-size:1.75rem; font-weight:800; color:var(--text);
  display:flex; align-items:center; gap:.75rem; flex-wrap:wrap;
}
.page-header__title .material-icons-round { color:var(--gold); }
.page-header__sub  { color:var(--text-muted); margin-top:.35rem; font-size:.95rem; }
.page-header__flex { display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.page-body         { padding:2rem 0 4rem; }

/* ── MAIN CONTENT ───────────────────────────────────────────── */
.main-content { min-height: calc(100vh - 64px - 280px); }

/* ── STATS GRID (Admin 8 cards) ─────────────────────────────── */
.stats-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px,1fr));
  gap:1rem;
}
.stat-card {
  display:flex; gap:1rem; align-items:center;
  padding:1.25rem 1.5rem; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--border-2);
  transition:var(--transition); cursor:default;
}
.stat-card:hover { transform:translateY(-2px); border-color:var(--border); }
.stat-card__icon {
  width:48px; height:48px; border-radius:12px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.stat-card__icon .material-icons-round { font-size:24px; }
.stat-card__body     { display:flex; flex-direction:column; min-width:0; }
.stat-card__label    { font-size:.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; }
.stat-card__value    { font-size:2rem; font-weight:800; line-height:1; color:var(--text); }

.stat-card--ouro     .stat-card__icon { background:rgba(212,175,55,.15); color:var(--gold); }
.stat-card--ouro     .stat-card__value { color:var(--gold); }
.stat-card--inter    .stat-card__icon { background:rgba(192,200,216,.1); color:#c0c8d8; }
.stat-card--basic    .stat-card__icon { background:rgba(205,127,50,.15); color:#cd7f32; }
.stat-card--destaque .stat-card__icon { background:rgba(212,175,55,.1); color:var(--gold-light); }
.stat-card--novos    .stat-card__icon { background:rgba(46,204,113,.1); color:var(--success); }
.stat-card--msg      .stat-card__icon { background:rgba(52,152,219,.1); color:var(--info); }
.stat-card--pending  .stat-card__icon { background:rgba(243,156,18,.1); color:var(--warning); }
.stat-card--mediacao .stat-card__icon { background:rgba(231,76,60,.1); color:var(--danger); }

/* ── DASHBOARD GRID ─────────────────────────────────────────── */
.dashboard-grid {
  display:grid; grid-template-columns:1fr 380px; gap:1.5rem; align-items:start;
}
.dashboard-grid--prestador {
  grid-template-columns:repeat(auto-fit, minmax(340px,1fr));
}
.dashboard-side { display:flex; flex-direction:column; gap:1.5rem; }

/* ── TABLE ──────────────────────────────────────────────────── */
.table-wrap { overflow-x:auto; }
.table { width:100%; border-collapse:collapse; font-size:.875rem; }
.table thead tr { border-bottom:2px solid var(--border); }
.table th {
  padding:.75rem 1rem; text-align:left;
  color:var(--text-muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.05em;
  white-space:nowrap;
}
.table td { padding:.85rem 1rem; border-bottom:1px solid var(--border-2); vertical-align:middle; }
.table--hover tbody tr:hover td { background:rgba(255,255,255,.02); }
.table__empty { text-align:center; color:var(--text-muted); padding:2rem; }
.table__id    { color:var(--text-dim); font-size:.8rem; }

/* ── USER CELL ──────────────────────────────────────────────── */
.user-cell { display:flex; align-items:center; gap:.75rem; }
.user-cell__avatar {
  width:36px; height:36px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--navy-600), var(--navy-400));
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.85rem; color:var(--gold); border:1.5px solid var(--border);
}
.user-cell strong { display:block; font-size:.875rem; }
.user-cell small  { color:var(--text-muted); font-size:.78rem; }

/* ── FILTER BAR ─────────────────────────────────────────────── */
.filter-bar {
  display:flex; gap:.75rem; flex-wrap:wrap; align-items:center;
  background:var(--surface); border:1px solid var(--border-2);
  border-radius:var(--radius-lg); padding:1rem 1.25rem;
}
.filter-bar__search {
  flex:1; min-width:200px; display:flex; align-items:center; gap:.5rem;
  background:var(--navy-800); border:1.5px solid var(--border-2);
  border-radius:var(--radius); padding:.5rem .75rem;
}
.filter-bar__search .material-icons-round { color:var(--text-dim); font-size:18px; }
.filter-bar__input  { flex:1; background:none; border:none; outline:none; color:var(--text); font-size:.875rem; }
.filter-bar__select {
  background:var(--navy-800); border:1.5px solid var(--border-2);
  color:var(--text); padding:.55rem .75rem; border-radius:var(--radius);
  font-size:.875rem; outline:none; cursor:pointer;
}
.filter-bar__select:focus { border-color:var(--gold); }

/* ── STATUS / PACOTE SELECTS ────────────────────────────────── */
.status-select, .pacote-select {
  background:transparent; border:1.5px solid var(--border-2);
  border-radius:6px; padding:.3rem .5rem; font-size:.78rem;
  cursor:pointer; color:var(--text); outline:none;
}
.pacote-select--ouro         { border-color:var(--gold); color:var(--gold); }
.pacote-select--intermediario{ border-color:#c0c8d8; color:#c0c8d8; }
.pacote-select--basico       { border-color:#cd7f32; color:#cd7f32; }

/* ── ORÇ LIST ───────────────────────────────────────────────── */
.orc-list { list-style:none; }
.orc-item {
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  padding:1rem 1.5rem; border-bottom:1px solid var(--border-2);
  transition:var(--transition);
}
.orc-item:last-child { border-bottom:none; }
.orc-item:hover { background:rgba(255,255,255,.02); }
.orc-item--pending { border-left:3px solid var(--warning); }
.orc-item__info { flex:1; min-width:0; }
.orc-item__info strong { display:block; font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.orc-item__info span, .orc-item__info small { font-size:.8rem; color:var(--text-muted); display:block; }
.orc-item__meta { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }
.orc-item__actions { display:flex; gap:.5rem; flex-shrink:0; }

/* ── MINI STATS ─────────────────────────────────────────────── */
.mini-stats { display:flex; gap:1rem; flex-wrap:wrap; }
.mini-stat {
  display:flex; flex-direction:column; align-items:center; gap:.25rem;
  padding:1rem 1.5rem; border-radius:var(--radius-lg);
  background:var(--surface); border:1px solid var(--border-2);
  flex:1; min-width:100px; text-align:center;
}
.mini-stat .material-icons-round { color:var(--text-dim); font-size:22px; }
.mini-stat--active .material-icons-round { color:var(--gold); }
.mini-stat__value { font-size:1.75rem; font-weight:800; color:var(--text); line-height:1; }
.mini-stat__label { font-size:.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; }

/* ── EMPTY STATE ────────────────────────────────────────────── */
.empty-state {
  display:flex; flex-direction:column; align-items:center; gap:1rem;
  padding:3rem 2rem; text-align:center;
}
.empty-state .material-icons-round { font-size:48px; color:var(--text-dim); }
.empty-state p { color:var(--text-muted); max-width:300px; }
.empty-state--sm { padding:2rem 1.5rem; }
.empty-state--sm .material-icons-round { font-size:32px; }

/* ── CHAT PAGE ──────────────────────────────────────────────── */
.chat-page { display:flex; flex-direction:column; height:calc(100vh - 64px); }
.chat-header {
  background:var(--navy-800); border-bottom:1px solid var(--border);
  padding:.75rem 0; flex-shrink:0;
}
.chat-header__inner { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.chat-header__info h1 { font-size:1rem; font-weight:700; }
.chat-header__meta { display:flex; align-items:center; gap:.5rem; font-size:.8rem; color:var(--text-muted); }
.chat-container { flex:1; display:flex; flex-direction:column; overflow:hidden; padding:1rem 1.25rem; gap:1rem; }
.chat-window {
  flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:.75rem;
  padding:1rem; background:var(--navy-900); border-radius:var(--radius-lg);
  border:1px solid var(--border-2);
}
.chat-window__empty { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; color:var(--text-dim); }
.chat-window__empty .material-icons-round { font-size:40px; }
.chat-msg { display:flex; gap:.75rem; max-width:75%; }
.chat-msg--left  { align-self:flex-start; }
.chat-msg--right { align-self:flex-end; flex-direction:row-reverse; }
.chat-msg__avatar {
  width:32px; height:32px; border-radius:50%; flex-shrink:0;
  background:var(--navy-600); display:flex; align-items:center; justify-content:center;
  font-size:.8rem; font-weight:700; color:var(--gold); align-self:flex-end;
}
.chat-msg__content { display:flex; flex-direction:column; gap:.2rem; }
.chat-msg__author  { font-size:.72rem; color:var(--text-muted); font-weight:600; }
.chat-msg--right .chat-msg__author { text-align:right; }
.chat-msg__bubble {
  background:var(--surface-2); border-radius:12px 12px 12px 4px;
  padding:.65rem 1rem; font-size:.9rem; line-height:1.5; word-break:break-word;
}
.chat-msg--right .chat-msg__bubble { background:var(--navy-600); border-radius:12px 12px 4px 12px; }
.chat-msg__bubble--system { background:rgba(255,255,255,.05); font-style:italic; color:var(--text-muted); }
.chat-msg__time { font-size:.7rem; color:var(--text-dim); display:flex; align-items:center; gap:.25rem; }
.chat-msg--right .chat-msg__time { justify-content:flex-end; }
.chat-msg--system {
  align-self:center; max-width:80%; display:flex; align-items:center;
  gap:.5rem; font-size:.8rem; color:var(--text-muted); font-style:italic;
  background:rgba(255,255,255,.04); padding:.5rem 1rem; border-radius:20px;
}
.chat-msg--audit .chat-msg__meta { display:flex; align-items:center; gap:.5rem; margin-bottom:.3rem; }
.chat-input-bar {
  display:flex; gap:.75rem; align-items:flex-end;
  background:var(--surface); border:1px solid var(--border-2);
  border-radius:var(--radius-lg); padding:.75rem 1rem;
}
.chat-input {
  flex:1; background:none; border:none; outline:none; color:var(--text);
  font-size:.95rem; resize:none; max-height:120px; font-family:inherit; line-height:1.5;
}
.chat-send-btn {
  width:42px; height:42px; border-radius:10px; flex-shrink:0;
  background:var(--gold); color:var(--navy-800); border:none;
  display:flex; align-items:center; justify-content:center;
  transition:var(--transition);
}
.chat-send-btn:hover { background:var(--gold-light); }
.chat-blocked-bar {
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  padding:1rem; background:var(--surface); border:1px solid var(--border-2);
  border-radius:var(--radius-lg); color:var(--text-muted); font-size:.875rem;
}

/* ── AUDIT LAYOUT ───────────────────────────────────────────── */
.audit-layout { display:grid; grid-template-columns:1fr 380px; gap:1.5rem; align-items:start; }
.audit-chat   { height:calc(100vh - 260px); display:flex; flex-direction:column; }
.audit-chat .chat-window { flex:1; overflow-y:auto; }
.audit-side   { display:flex; flex-direction:column; gap:1.5rem; max-height:calc(100vh - 200px); overflow-y:auto; }
.chat-window--audit { height:100%; overflow-y:auto; }

/* ── DETAIL LIST ────────────────────────────────────────────── */
.detail-list { padding:1.25rem 1.5rem; }
.detail-list dt { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); margin-top:1rem; }
.detail-list dt:first-child { margin-top:0; }
.detail-list dd { color:var(--text); font-size:.9rem; margin-top:.3rem; }

/* ── EVIDÊNCIAS ─────────────────────────────────────────────── */
.evidencias-list { list-style:none; padding:1rem 1.5rem; display:flex; flex-direction:column; gap:.75rem; }
.evidencia-item  {
  display:flex; align-items:center; gap:.75rem;
  padding:.75rem; background:var(--navy-800); border-radius:var(--radius);
  border:1px solid var(--border-2);
}
.evidencia-item .material-icons-round { color:var(--gold); font-size:24px; flex-shrink:0; }
.evidencia-item > div { flex:1; min-width:0; }
.evidencia-item span  { display:block; font-size:.875rem; }
.evidencia-item small { color:var(--text-muted); font-size:.75rem; }

/* ── DECISION GRID ──────────────────────────────────────────── */
.decision-grid { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:.5rem; }
.decision-opt { cursor:pointer; }
.decision-opt input { display:none; }
.decision-opt__inner {
  display:flex; flex-direction:column; gap:.25rem;
  padding:1rem; border-radius:var(--radius);
  border:1.5px solid var(--border-2); text-align:center;
  transition:var(--transition);
}
.decision-opt:has(input:checked) .decision-opt__inner { border-color:var(--gold); background:var(--gold-glow); }
.decision-opt__icon { font-size:28px; margin:0 auto .25rem; }
.decision-opt__icon--paid       { color:var(--success); }
.decision-opt__icon--paid_partial{color:var(--warning); }
.decision-opt__icon--refund     { color:var(--info); }
.decision-opt__icon--cancel     { color:var(--danger); }
.decision-opt__inner strong     { font-size:.85rem; }
.decision-opt__inner small      { font-size:.72rem; color:var(--text-muted); }

/* ── MODAL ──────────────────────────────────────────────────── */
.modal { position:fixed; inset:0; z-index:2000; display:flex; align-items:center; justify-content:center; padding:1rem; }
.modal__overlay { position:absolute; inset:0; background:rgba(0,0,0,.75); }
.modal__box {
  position:relative; z-index:1; background:var(--surface);
  border:1px solid var(--border); border-radius:var(--radius-lg);
  width:100%; max-width:540px; max-height:90vh; overflow-y:auto;
  box-shadow:var(--shadow-lg);
}
.modal__header {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 1.5rem; border-bottom:1px solid var(--border-2);
}
.modal__header h2 { font-size:1.1rem; display:flex; align-items:center; gap:.5rem; }
.modal__header h2 .material-icons-round { color:var(--warning); }
.modal__close { background:none; border:none; font-size:1.5rem; color:var(--text-muted); line-height:1; }
.modal__body  { padding:1.5rem; }
.modal__footer{ display:flex; gap:.75rem; justify-content:flex-end; margin-top:1.25rem; }

/* ── RATING ─────────────────────────────────────────────────── */
.rating-hero       { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; }
.rating-hero__stars{ display:flex; }
.rating-hero__value{ font-size:2rem; font-weight:800; color:var(--gold); }
.rating-hero small { color:var(--text-muted); font-size:.8rem; }
.stars-mini        { display:flex; }

/* ── REVIEW LIST ────────────────────────────────────────────── */
.review-list { list-style:none; }
.review-item { padding:1rem 1.5rem; border-bottom:1px solid var(--border-2); }
.review-item:last-child { border-bottom:none; }
.review-item__header {
  display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-bottom:.35rem;
}
.review-item__text { font-size:.875rem; color:var(--text-muted); font-style:italic; margin:.25rem 0; }

/* ── PERF STATS ─────────────────────────────────────────────── */
.perf-stats { display:flex; gap:1rem; flex-wrap:wrap; padding:1.25rem 1.5rem; }
.perf-stat  {
  flex:1; min-width:80px; display:flex; flex-direction:column;
  align-items:center; gap:.25rem; text-align:center; padding:.75rem;
  background:var(--navy-800); border-radius:var(--radius);
  border:1px solid var(--border-2);
}
.perf-stat .material-icons-round { color:var(--gold); font-size:22px; }
.perf-stat__value { font-size:1.5rem; font-weight:800; color:var(--text); }
.perf-stat span:last-child { font-size:.72rem; color:var(--text-muted); }

/* ── QUICK LINKS ────────────────────────────────────────────── */
.quick-links { padding:.75rem; display:flex; flex-direction:column; gap:.25rem; }
.quick-link {
  display:flex; align-items:center; gap:.75rem;
  padding:.75rem 1rem; border-radius:var(--radius);
  color:var(--text); font-size:.875rem; font-weight:500;
  transition:var(--transition); text-decoration:none;
}
.quick-link:hover { background:var(--surface-2); color:var(--text); }
.quick-link .material-icons-round { color:var(--gold); font-size:20px; }
.quick-link .badge { margin-left:auto; }

/* ── ACTION BTNs ────────────────────────────────────────────── */
.action-btns { display:flex; gap:.5rem; align-items:center; }

/* ── QUICK SEARCH ───────────────────────────────────────────── */
.quick-search { padding:1.25rem 1.5rem; display:flex; flex-direction:column; gap:.75rem; }

/* ── NOTIF INLINE ───────────────────────────────────────────── */
.notif-inline-list { list-style:none; padding:.75rem 1.5rem; display:flex; flex-direction:column; gap:.75rem; }
.notif-inline-item { display:flex; gap:.75rem; align-items:flex-start; }
.notif-inline-item__icon { color:var(--gold); font-size:20px; flex-shrink:0; }
.notif-inline-item > div { flex:1; min-width:0; }
.notif-inline-item strong { font-size:.85rem; display:block; }
.notif-inline-item p { font-size:.8rem; color:var(--text-muted); margin:.15rem 0; }
.notif-inline-item small { font-size:.72rem; color:var(--text-dim); }

/* ── USER MENU DROPDOWN ──────────────────────────────────────── */
.user-menu { position:relative; }
.user-menu__trigger {
  display:flex; align-items:center; gap:.5rem; padding:.4rem .75rem;
  background:var(--surface); border:1px solid var(--border-2);
  border-radius:var(--radius); cursor:pointer; color:var(--text); font-size:.875rem;
  transition:var(--transition);
}
.user-menu__trigger:hover { border-color:var(--border); }
.user-avatar {
  width:28px; height:28px; border-radius:50%;
  background:linear-gradient(135deg, var(--navy-600), var(--gold-dark));
  display:flex; align-items:center; justify-content:center;
  font-size:.75rem; font-weight:700; color:var(--gold);
}
.user-name { max-width:100px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-menu__dropdown {
  position:absolute; right:0; top:calc(100% + .5rem);
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); min-width:220px;
  box-shadow:var(--shadow-lg); display:none; z-index:100;
}
.user-menu__dropdown.is-open { display:block; }
.user-menu__header { padding:1rem 1.25rem; }
.user-menu__header strong { display:block; font-size:.9rem; }
.user-menu__header small { color:var(--text-muted); font-size:.78rem; }
.user-menu__divider { border-bottom:1px solid var(--border-2); }
.user-menu__item {
  display:flex; align-items:center; gap:.6rem; width:100%;
  padding:.75rem 1.25rem; background:none; border:none;
  color:var(--text-muted); font-size:.875rem; cursor:pointer;
  transition:var(--transition); text-align:left;
}
.user-menu__item:hover { background:var(--surface-2); color:var(--text); }
.user-menu__item--danger:hover { color:var(--danger); }

/* ── NOTIFICATIONS ──────────────────────────────────────────── */
.notif-btn {
  position:relative; background:var(--surface); border:1px solid var(--border-2);
  border-radius:var(--radius); padding:.45rem; color:var(--text-muted);
  transition:var(--transition);
}
.notif-btn:hover { color:var(--text); border-color:var(--border); }
.notif-badge {
  position:absolute; top:-4px; right:-4px;
  background:var(--danger); color:#fff; font-size:.6rem;
  font-weight:700; min-width:16px; height:16px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; padding:0 3px;
}
.notif-panel {
  position:fixed; top:70px; right:1rem; width:360px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-lg);
  z-index:999; display:none;
}
.notif-panel.is-open { display:block; }
.notif-panel__header {
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 1.25rem; border-bottom:1px solid var(--border-2);
}
.notif-panel__list { max-height:360px; overflow-y:auto; }
.notif-empty { padding:2rem; text-align:center; color:var(--text-muted); font-size:.875rem; }

/* ── AUTH PAGES ──────────────────────────────────────────────── */
.auth-page { background:var(--navy-900); min-height:100vh; }
.auth-split { display:flex; min-height:100vh; }
.auth-split__left {
  flex:1; background:linear-gradient(160deg, var(--navy-700) 0%, var(--navy-800) 60%, var(--navy-900) 100%);
  padding:3rem; display:flex; align-items:center; position:relative; overflow:hidden;
}
.auth-split__left::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(212,175,55,.1) 0%, transparent 70%);
  pointer-events:none;
}
.auth-split__brand { max-width:420px; }
.auth-split__brand h2 { font-size:1.75rem; font-weight:800; color:var(--text); margin:1.5rem 0 2rem; line-height:1.3; }
.auth-features { list-style:none; display:flex; flex-direction:column; gap:1rem; }
.auth-features li { display:flex; align-items:center; gap:.75rem; color:var(--text-muted); font-size:.95rem; }
.auth-features .material-icons-round { color:var(--gold); font-size:22px; flex-shrink:0; }
.auth-split__right {
  width:480px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  padding:2rem; background:var(--navy-900);
}
.auth-card { width:100%; max-width:400px; }
.auth-card__title { font-size:1.75rem; font-weight:800; margin-bottom:.5rem; }
.auth-card__sub   { color:var(--text-muted); margin-bottom:2rem; }
.auth-card__footer{ text-align:center; margin-top:1.5rem; font-size:.875rem; color:var(--text-muted); }
.auth-form        { display:flex; flex-direction:column; gap:1.25rem; }

/* Register page */
.register-page    { max-width:760px; margin:0 auto; padding:2rem 1.25rem 4rem; }
.register-header  { text-align:center; margin-bottom:2rem; }
.register-header h1 { font-size:2rem; font-weight:800; margin:.75rem 0 .35rem; }
.register-header p  { color:var(--text-muted); }
.register-card    { background:var(--surface); border:1px solid var(--border-2); border-radius:var(--radius-lg); padding:2rem; }
.perfil-select    { margin-bottom:2rem; }
.perfil-select h2 { font-size:1rem; font-weight:700; color:var(--text-muted); text-transform:uppercase; letter-spacing:.05em; margin-bottom:1rem; }
.perfil-cards     { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.perfil-card      { cursor:pointer; }
.perfil-card input { display:none; }
.perfil-card__inner {
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  padding:1.5rem; text-align:center;
  border:2px solid var(--border-2); border-radius:var(--radius-lg);
  transition:var(--transition);
}
.perfil-card:has(input:checked) .perfil-card__inner {
  border-color:var(--gold); background:var(--gold-glow);
}
.perfil-card__inner .material-icons-round { font-size:36px; color:var(--text-muted); }
.perfil-card:has(input:checked) .perfil-card__inner .material-icons-round { color:var(--gold); }
.perfil-card__inner strong { font-size:1rem; }
.perfil-card__inner p      { font-size:.8rem; color:var(--text-muted); }

/* ── HERO ────────────────────────────────────────────────────── */
.hero {
  position:relative; padding:5rem 0 4rem; overflow:hidden;
  background:linear-gradient(160deg, var(--navy-800) 0%, var(--navy-900) 100%);
}
.hero__bg {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% -10%, rgba(212,175,55,.1) 0%, transparent 60%);
}
.hero__content { position:relative; z-index:1; }
.hero__text    { max-width:680px; margin:0 auto; text-align:center; }
.hero__eyebrow {
  display:inline-block; padding:.35rem .9rem; border-radius:20px;
  background:var(--gold-glow); color:var(--gold); font-size:.82rem; font-weight:600;
  letter-spacing:.06em; margin-bottom:1.25rem; border:1px solid var(--border);
}
.hero__title { font-size:clamp(2rem, 5vw, 3.5rem); font-weight:800; line-height:1.15; margin-bottom:1.25rem; }
.hero__title--gold { color:var(--gold); display:block; }
.hero__sub { font-size:1.1rem; color:var(--text-muted); max-width:520px; margin:0 auto 2.5rem; line-height:1.7; }

.hero-search {
  display:flex; gap:.75rem; max-width:680px; margin:0 auto 1.5rem;
  background:var(--surface); border:1.5px solid var(--border);
  border-radius:var(--radius-lg); padding:.6rem .6rem .6rem 1rem;
  flex-wrap:wrap;
}
.hero-search__field {
  flex:1; min-width:160px; display:flex; align-items:center; gap:.5rem;
}
.hero-search__field .material-icons-round { color:var(--text-dim); font-size:20px; flex-shrink:0; }
.hero-search__field input {
  flex:1; background:none; border:none; outline:none; color:var(--text); font-size:.95rem;
}
.hero-search__field input::placeholder { color:var(--text-dim); }
.hero-search__btn {
  display:flex; align-items:center; gap:.5rem;
  background:var(--gold); color:var(--navy-800); border:none;
  border-radius:var(--radius); padding:.65rem 1.25rem; font-weight:700; font-size:.9rem;
  cursor:pointer; transition:var(--transition); white-space:nowrap;
}
.hero-search__btn:hover { background:var(--gold-light); }

.hero-tags  { display:flex; justify-content:center; flex-wrap:wrap; gap:.5rem; }
.hero-tag {
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.35rem .8rem; border-radius:20px; font-size:.78rem;
  border:1px solid var(--border-2); color:var(--text-muted);
  text-decoration:none; background:rgba(255,255,255,.03);
  transition:var(--transition);
}
.hero-tag:hover { border-color:var(--border); color:var(--text); }
.hero-tag .material-icons-round { font-size:14px; }

/* ── HOW IT WORKS ───────────────────────────────────────────── */
.how-it-works { padding:5rem 0; background:var(--navy-800); border-top:1px solid var(--border-2); }
.section-title {
  font-size:1.75rem; font-weight:800; text-align:center;
  margin-bottom:2.5rem; color:var(--text);
}
.section-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.75rem; }
.section-header .section-title { margin-bottom:0; }
.steps { display:flex; align-items:flex-start; gap:1rem; flex-wrap:wrap; justify-content:center; }
.step  { flex:1; min-width:180px; max-width:220px; text-align:center; }
.step__icon {
  width:64px; height:64px; border-radius:16px; margin:0 auto 1rem;
  background:var(--gold-glow); border:1.5px solid var(--border);
  display:flex; align-items:center; justify-content:center;
}
.step__icon .material-icons-round { font-size:28px; color:var(--gold); }
.step h3 { font-size:1.05rem; font-weight:700; margin-bottom:.5rem; }
.step p  { font-size:.875rem; color:var(--text-muted); }
.step__arrow { color:var(--text-dim); display:flex; align-items:center; padding-top:1rem; }
.step__arrow .material-icons-round { font-size:28px; }

/* ── FEATURED / CARDS GRID ──────────────────────────────────── */
.featured-section { padding:5rem 0; }
.cards-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px,1fr)); gap:1.25rem; }

/* ── ESPECIALIDADES SHOWCASE ─────────────────────────────────── */
.especialidades-section { padding:4rem 0; background:var(--navy-800); border-top:1px solid var(--border-2); }
.esp-showcase { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
.esp-showcase-item {
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  padding:1.25rem 1rem; border-radius:var(--radius-lg);
  border:1px solid var(--border-2); background:var(--surface);
  min-width:110px; cursor:pointer; text-decoration:none; color:var(--text-muted);
  text-align:center; transition:var(--transition);
}
.esp-showcase-item:hover { border-color:var(--border); color:var(--text); transform:translateY(-2px); }
.esp-showcase-item__icon {
  width:44px; height:44px; border-radius:12px;
  background:var(--gold-glow); display:flex; align-items:center; justify-content:center;
}
.esp-showcase-item__icon .material-icons-round { color:var(--gold); font-size:22px; }
.esp-showcase-item span { font-size:.8rem; font-weight:600; }
.esp-showcase-item small { font-size:.72rem; color:var(--text-dim); }

/* ── CTA ─────────────────────────────────────────────────────── */
.cta-section { padding:5rem 0; background:linear-gradient(135deg, var(--navy-700) 0%, var(--navy-800) 100%); border-top:1px solid var(--border); }
.cta-section__inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.cta-section__text h2 { font-size:1.75rem; font-weight:800; }
.cta-section__text p  { color:var(--text-muted); margin-top:.5rem; }
.cta-section__btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* ── FOOTER ──────────────────────────────────────────────────── */
.footer { background:var(--navy-800); border-top:1px solid var(--border-2); padding:3rem 0 0; }
.footer__inner {
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem;
  padding-bottom:2.5rem;
}
.footer__brand .navbar__brand { margin-bottom:.75rem; }
.footer__brand p { color:var(--text-muted); font-size:.875rem; max-width:260px; margin-top:.5rem; }
.footer__links h4 { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-dim); margin-bottom:1rem; }
.footer__links a { display:block; color:var(--text-muted); font-size:.875rem; margin-bottom:.5rem; text-decoration:none; transition:var(--transition); }
.footer__links a:hover { color:var(--gold); }
.footer__bottom { border-top:1px solid var(--border-2); padding:1.25rem 0; text-align:center; }
.footer__bottom p { color:var(--text-dim); font-size:.8rem; }

/* ── ERROR PAGE ──────────────────────────────────────────────── */
.error-page { display:flex; align-items:center; justify-content:center; min-height:100vh; }
.error-container { text-align:center; padding:2rem; }
.error-code { font-size:8rem; font-weight:800; color:var(--gold); line-height:1; }
.error-icon { font-size:3rem; color:var(--text-dim); margin:.5rem 0 1rem; }
.error-container h1 { font-size:1.75rem; margin-bottom:.75rem; }
.error-container p  { color:var(--text-muted); margin-bottom:2rem; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .navbar__links { display:none; flex-direction:column; position:fixed; inset:64px 0 0;
    background:var(--navy-900); padding:1.5rem; gap:0; border-top:1px solid var(--border-2); z-index:999; }
  .navbar__links.is-open { display:flex; }
  .navbar__links .nav-link { padding:1rem; border-bottom:1px solid var(--border-2); width:100%; }
  .navbar__links .btn { margin-top:.75rem; justify-content:center; }
  .navbar__hamburger { display:flex; }

  .dashboard-grid { grid-template-columns:1fr; }
  .audit-layout   { grid-template-columns:1fr; }
  .audit-side     { max-height:none; }
  .footer__inner  { grid-template-columns:1fr; }
  .auth-split     { flex-direction:column; }
  .auth-split__left { display:none; }
  .auth-split__right{ width:100%; min-height:100vh; }
  .steps          { flex-direction:column; align-items:center; }
  .step__arrow    { transform:rotate(90deg); }
  .cta-section__inner { flex-direction:column; text-align:center; }
  .cta-section__btns  { justify-content:center; }
  .decision-grid  { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .stats-grid      { grid-template-columns:1fr 1fr; }
  .page-header__title { font-size:1.35rem; }
  .hero__title     { font-size:2rem; }
  .hero-search     { border-radius:var(--radius); padding:.5rem; }
  .hero-search__field:first-child { border-bottom:1px solid var(--border-2); padding-bottom:.5rem; width:100%; }
  .cards-grid      { grid-template-columns:1fr; }
  .perfil-cards    { grid-template-columns:1fr; }
  .form-grid--2    { grid-template-columns:1fr; }
  .chat-msg        { max-width:90%; }
}

@media (max-width: 380px) {
  .stats-grid { grid-template-columns:1fr; }
  .mini-stats { flex-direction:column; }
}
