/* ============================================================
   GO TECH — Apple Design System
   Cobre os 4 padrões de página: Launcher, Lista, Detalhe, Form
   Todas as classes usadas nos templates devem estar aqui.
   ============================================================ */

/* ── Tokens ── */
:root {
  --bg:           #ffffff;
  --border:       #f0f0f0;
  --border-mid:   #e5e7eb;
  --text-primary: #111111;
  --text-sub:     #6b7280;
  --text-label:   #9ca3af;
  --text-card:    #1f2937;
  --shadow-card:  0 4px 14px rgba(0,0,0,0.04);
  --shadow-hover: 0 8px 24px rgba(0,0,0,0.07);
  --shadow-icon:  0 6px 16px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.4);
  --font:         'Inter', sans-serif;
  --radius-hero:  20px;
  --radius-card:  18px;
  --radius-btn:   12px;
  --radius-input: 12px;
}

/* ── Animações ── */
@keyframes heroIn   { from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;} }
@keyframes cardIn   { from{opacity:0;transform:scale(0.97) translateY(8px);}to{opacity:1;transform:none;} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;} }

.fade-in { animation:fadeInUp 0.5s ease-out both; opacity:0; }

/* Cascata automática para os primeiros 12 items de uma lista */
.list-shell > :nth-child(1)  { animation:heroIn 0.4s 0.04s ease-out both; opacity:0; }
.list-shell > :nth-child(2)  { animation:heroIn 0.4s 0.08s ease-out both; opacity:0; }
.list-shell > :nth-child(3)  { animation:heroIn 0.4s 0.12s ease-out both; opacity:0; }
.list-shell > :nth-child(4)  { animation:heroIn 0.4s 0.16s ease-out both; opacity:0; }
.list-shell > :nth-child(5)  { animation:heroIn 0.4s 0.20s ease-out both; opacity:0; }
.list-shell > :nth-child(6)  { animation:heroIn 0.4s 0.24s ease-out both; opacity:0; }
.list-shell > :nth-child(7)  { animation:heroIn 0.4s 0.28s ease-out both; opacity:0; }
.list-shell > :nth-child(8)  { animation:heroIn 0.4s 0.32s ease-out both; opacity:0; }
.list-shell > :nth-child(9)  { animation:heroIn 0.4s 0.35s ease-out both; opacity:0; }
.list-shell > :nth-child(10) { animation:heroIn 0.4s 0.37s ease-out both; opacity:0; }
.list-shell > :nth-child(11) { animation:heroIn 0.4s 0.39s ease-out both; opacity:0; }
.list-shell > :nth-child(12) { animation:heroIn 0.4s 0.40s ease-out both; opacity:0; }

/* global input reset to prevent overflow */
input, select, textarea { box-sizing:border-box; max-width:100%; }

/* ── Page shell ── */
.page-shell {
  display:flex; flex-direction:column; gap:12px;
  padding:16px 20px; max-width:1600px; margin:0 auto; width:100%;
}
/* Launcher usa altura total */
.page-shell.launcher { height:100vh; }

@media (min-width:768px)  { .page-shell { padding:16px 20px; gap:12px; } }
@media (min-width:1280px) { .page-shell { padding:20px 32px; gap:14px; } }

/* ── Hero ── */
.hero {
  background:var(--bg);
  border-radius:var(--radius-hero);
  padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-shrink:0;
  border:1px solid var(--border);
  box-shadow:var(--shadow-card);
  animation:heroIn 0.45s 0.05s ease-out both; opacity:0;
}
@media (min-width:768px)  { .hero { padding:20px 28px; border-radius:22px; } }
@media (min-width:1280px) { .hero { padding:22px 36px; border-radius:24px; } }

.hero-left  { flex:1; min-width:0; position:relative; z-index:1; }
.hero-right { flex-shrink:0; position:relative; z-index:1; }

.hero-title {
  font-size:clamp(1.1rem,2.6vw,1.6rem);
  font-weight:700; color:var(--text-primary);
  line-height:1.2; letter-spacing:-0.02em;
}
.hero-sub { margin-top:3px; font-size:0.85rem; color:var(--text-sub); font-weight:400; }

/* ── Section label (Launcher) ── */
.section-label {
  font-size:10px; font-weight:700; letter-spacing:0.13em;
  text-transform:uppercase; color:var(--text-label);
  margin-bottom:8px; flex-shrink:0;
}

/* ── Guide button (Launcher hero) ── */
.guide-btn {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; background:#fff;
  border:none; border-bottom:3px solid #c7d2fe; border-radius:10px;
  color:#4338ca; font-size:12px; font-weight:700; font-family:var(--font);
  cursor:pointer; white-space:nowrap;
  box-shadow:0 3px 10px rgba(0,0,0,0.08);
  transition:background 0.15s, transform 0.15s;
}
.guide-btn:hover { background:#eef2ff; transform:scale(1.02); }

/* ── Launcher grid ── */
.launcher-section { flex:1; display:flex; flex-direction:column; min-height:0; }
.launcher-grid {
  display:grid;
  grid-template-columns:repeat(var(--cols,3),1fr);
  gap:var(--gap,10px);
  flex:1; grid-auto-rows:1fr; align-content:stretch;
}

/* ── App tiles (lcard) ── */
.lcard {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; border-radius:var(--radius-card); padding:10px;
  text-decoration:none; cursor:pointer; background:transparent;
  transition:transform 0.18s ease, box-shadow 0.18s ease;
}
.lcard:hover  { transform:scale(1.06); box-shadow:var(--shadow-hover); }
.lcard:active { transform:scale(0.96); }

.lcard-icon {
  width:clamp(48px,6.5vw,76px); height:clamp(48px,6.5vw,76px);
  max-width:120px; max-height:120px;
  border-radius:22px; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-icon); transition:transform 0.18s ease;
  color:#fff; font-weight:600;
}
.lcard:hover .lcard-icon { transform:scale(1.08); }
.lcard-label { font-size:13px; font-weight:500; color:var(--text-card); text-align:center; margin-top:6px; }

/* ── Cores — launcher tiles (.c-X .lcard-icon) e avatars (.lcard-avatar.c-X) ── */
.c-blue    { background:linear-gradient(135deg,#3b82f6,#2563eb); }
.c-green   { background:linear-gradient(135deg,#22c55e,#16a34a); }
.c-indigo  { background:linear-gradient(135deg,#6366f1,#4338ca); }
.c-purple  { background:linear-gradient(135deg,#a855f7,#7e22ce); }
.c-emerald { background:linear-gradient(135deg,#10b981,#059669); }
.c-amber   { background:linear-gradient(135deg,#f59e0b,#d97706); }
.c-cyan    { background:linear-gradient(135deg,#06b6d4,#0891b2); }
.c-rose    { background:linear-gradient(135deg,#f43f5e,#be123c); }
.c-teal    { background:linear-gradient(135deg,#14b8a6,#0f766e); }
.c-gray    { background:linear-gradient(135deg,#6b7280,#374151); }
.c-red     { background:linear-gradient(135deg,#ef4444,#b91c1c); }

/* No launcher, a cor vai no .lcard-icon */
.c-blue    .lcard-icon { background:linear-gradient(135deg,#3b82f6,#2563eb); }
.c-green   .lcard-icon { background:linear-gradient(135deg,#22c55e,#16a34a); }
.c-indigo  .lcard-icon { background:linear-gradient(135deg,#6366f1,#4338ca); }
.c-purple  .lcard-icon { background:linear-gradient(135deg,#a855f7,#7e22ce); }
.c-emerald .lcard-icon { background:linear-gradient(135deg,#10b981,#059669); }
.c-amber   .lcard-icon { background:linear-gradient(135deg,#f59e0b,#d97706); }
.c-cyan    .lcard-icon { background:linear-gradient(135deg,#06b6d4,#0891b2); }
.c-rose    .lcard-icon { background:linear-gradient(135deg,#f43f5e,#be123c); }
.c-teal    .lcard-icon { background:linear-gradient(135deg,#14b8a6,#0f766e); }
.c-gray    .lcard-icon { background:linear-gradient(135deg,#6b7280,#374151); }
.c-red     .lcard-icon { background:linear-gradient(135deg,#ef4444,#b91c1c); }

/* ── Avatar (lista de registros) ── */
.lcard-avatar {
  width:44px; height:44px; border-radius:14px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; font-weight:700; color:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,0.12);
}

/* ── Botões globais ── */
.btn-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; background:#2563eb; color:#fff;
  border-radius:var(--radius-btn); font-size:14px; font-weight:600;
  text-decoration:none; border:none; cursor:pointer;
  box-shadow:0 4px 14px rgba(37,99,235,0.18);
  transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.btn-primary:hover { background:#1d4ed8; transform:scale(1.03); box-shadow:0 6px 18px rgba(37,99,235,0.26); }

.btn-hero-primary {
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 18px; background:#2563eb; color:#fff;
  border-radius:var(--radius-btn); font-size:14px; font-weight:600;
  text-decoration:none; white-space:nowrap; border:none; cursor:pointer;
  box-shadow:0 4px 14px rgba(37,99,235,0.22);
  transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.btn-hero-primary:hover { background:#1d4ed8; transform:scale(1.03); box-shadow:0 6px 20px rgba(37,99,235,0.30); }

.btn-subtle {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--bg); border:1px solid var(--border-mid); color:var(--text-primary);
  padding:7px 14px; border-radius:var(--radius-btn);
  font-size:13px; font-weight:500; text-decoration:none; cursor:pointer;
  transition:background 0.15s, transform 0.15s;
}
.btn-subtle:hover { background:#f3f4f6; transform:scale(1.02); }

.btn-danger {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; background:#ef4444; color:#fff;
  border-radius:var(--radius-btn); font-size:14px; font-weight:600;
  text-decoration:none; border:none; cursor:pointer;
  box-shadow:0 4px 14px rgba(239,68,68,0.16);
  transition:transform 0.15s ease, background 0.15s ease;
}
.btn-danger:hover { background:#dc2626; transform:scale(1.03); }

/* ── Botão incompletos ── */
.btn-incompletos {
  display:inline-flex; align-items:center; gap:7px;
  padding:8px 14px; background:var(--bg);
  border:1px solid var(--border-mid); border-radius:var(--radius-btn);
  font-size:13px; font-weight:500; color:#374151;
  cursor:pointer; white-space:nowrap;
  box-shadow:0 1px 4px rgba(0,0,0,0.05);
  transition:all 0.15s ease;
}
.btn-incompletos:hover { background:#fafafa; border-color:#d1d5db; transform:scale(1.02); }

.btn-incompletos-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 6px;
  background:#fef3c7; color:#92400e; border:1px solid #fde68a;
  border-radius:99px; font-size:11px; font-weight:700;
}

/* ── Dropdown incompletos ── */
#dropdown-incompletos {
  background:var(--bg); border:1px solid var(--border-mid); border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,0.10); overflow:hidden; min-width:300px;
}
.dropdown-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; border-bottom:1px solid var(--border);
}
.dropdown-title  { font-size:13px; font-weight:600; color:var(--text-primary); }
.dropdown-close  {
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:8px; border:none;
  background:transparent; color:var(--text-sub); cursor:pointer; transition:background 0.15s;
}
.dropdown-close:hover  { background:#f3f4f6; color:#374151; }
.dropdown-list   { max-height:280px; overflow-y:auto; }
.dropdown-footer {
  padding:10px 16px; border-top:1px solid var(--border);
  background:#fafafa; text-align:right;
}
.dropdown-ver-todos {
  font-size:13px; font-weight:500; color:#2563eb;
  background:none; border:none; cursor:pointer; padding:0;
}
.dropdown-ver-todos:hover { text-decoration:underline; }

/* ── Campo de busca ── */
.search-shell {
  display:flex; align-items:center; gap:12px;
  padding:0 18px; height:52px;
  background:var(--bg); border:1px solid var(--border); border-radius:16px;
  box-shadow:var(--shadow-card); flex-shrink:0;
  animation:heroIn 0.45s 0.08s ease-out both; opacity:0;
  transition:border-color 0.2s ease, box-shadow 0.2s ease;
}
.search-shell:focus-within {
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,0.08), var(--shadow-card);
}
.search-icon { color:var(--text-label); flex-shrink:0; }
.search-input {
  flex:1; border:none; outline:none; background:transparent;
  font-size:14px; color:var(--text-primary); font-family:var(--font);
}
.search-input::placeholder { color:var(--text-label); }
.search-results {
  background:var(--bg); border:1px solid var(--border); border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,0.08); overflow:hidden; margin-top:-4px;
}

/* ── PADRÃO 2 — Lista ── */
.list-shell { display:flex; flex-direction:column; gap:8px; }

.list-card {
  background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-card);
  box-shadow:var(--shadow-card); padding:16px 20px;
  display:flex; align-items:center; gap:16px;
  transition:transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.list-card:hover {
  transform:scale(1.012);
  box-shadow:var(--shadow-hover);
  border-color:var(--border-mid);
}

.list-card-body  { flex:1; min-width:0; }
.list-card-title {
  font-size:15px; font-weight:600; color:var(--text-primary);
  letter-spacing:-0.01em; margin-bottom:4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.list-card-meta  { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:6px; }
.list-card-meta-item { display:flex; align-items:center; gap:5px; font-size:13px; color:var(--text-sub); }

.list-card-badge {
  display:inline-flex; align-items:center; gap:4px;
  padding:3px 10px; border-radius:99px; font-size:11px; font-weight:600;
}
.badge-pf { background:#dbeafe; color:#1e40af; }
.badge-pj { background:#ede9fe; color:#5b21b6; }
.badge-nd { background:#f3f4f6; color:var(--text-sub); }

.list-card-actions { display:flex; align-items:center; gap:8px; flex-shrink:0; }

.btn-action {
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:10px;
  font-size:13px; font-weight:500; white-space:nowrap;
  text-decoration:none;
  transition:transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.btn-action:hover          { transform:scale(1.04); }
.btn-action-ghost          { background:#f9fafb; border:1px solid var(--border-mid); color:#374151; }
.btn-action-ghost:hover    { background:#f3f4f6; }
.btn-action-primary        { background:#2563eb; color:#fff; box-shadow:0 4px 12px rgba(37,99,235,0.18); border:none; }
.btn-action-primary:hover  { background:#1d4ed8; box-shadow:0 6px 16px rgba(37,99,235,0.24); }
.btn-action-danger         { background:#fee2e2; color:#b91c1c; border:none; }
.btn-action-danger:hover   { background:#fecaca; }

.empty-state {
  display:flex; flex-direction:column; align-items:center;
  padding:64px 20px; animation:heroIn 0.45s ease-out both;
}
.empty-icon-box {
  width:72px; height:72px; background:#f9fafb; border:1px solid var(--border);
  border-radius:22px; display:flex; align-items:center; justify-content:center;
  margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.empty-title { font-size:16px; font-weight:600; color:var(--text-primary); margin-bottom:6px; }
.empty-sub   { font-size:14px; color:var(--text-sub); text-align:center; max-width:320px; }

/* ── PADRÃO 3 — Detalhe ── */
.detail-card {
  background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-card);
  box-shadow:var(--shadow-card); padding:28px;
  animation:heroIn 0.45s 0.10s ease-out both; opacity:0;
}
.detail-section-title {
  display:flex; align-items:center; gap:8px;
  font-size:11px; font-weight:700; color:var(--text-label);
  text-transform:uppercase; letter-spacing:0.08em;
  padding-bottom:14px; margin-bottom:18px;
  border-bottom:1px solid var(--border);
}
.detail-grid  { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.detail-field { display:flex; flex-direction:column; gap:4px; }
.detail-label { font-size:11px; font-weight:600; color:var(--text-label); text-transform:uppercase; letter-spacing:0.06em; }
.detail-value { font-size:14px; color:var(--text-primary); font-weight:500; }

/* ── PADRÃO 4 — Formulário ── */
.form-shell { max-width:720px; margin:0 auto; padding:0 16px 40px; width:100%; display:flex; flex-direction:column; align-items:center; overflow-x:hidden; }
.form-shell .hero { width:100%; margin-bottom:24px; }
.form-shell .form-card { width:100%; max-width:720px; }
/* ensure inputs never grow past parent */
.form-shell input, .form-shell select, .form-shell textarea { max-width:100%; }

/* utility for grouping inputs side‑by‑side */
.input-group { display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; }
.input-group > * { min-width:0; }


.form-card {
  background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-card);
  overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,0.04);
  animation:heroIn 0.4s ease-out both; opacity:0;
}
.form-card-header {
  display:flex; align-items:center; gap:10px;
  padding:20px 28px; border-bottom:1px solid var(--border);
  font-size:15px; font-weight:700; color:var(--text-primary); background:#fafafa;
}
.form-body { padding:28px; display:flex; flex-direction:column; gap:22px; }

.form-field  { display:flex; flex-direction:column; gap:6px; }
.form-label  { display:flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:#374151; }
.form-label svg { color:var(--text-label); }

.form-input {
  /* remove explicit width so w-full isn’t needed */
  max-width:100%; height:46px; padding:0 14px;
  border:1px solid var(--border-mid); border-radius:var(--radius-input);
  font-size:14px; color:var(--text-primary); background:var(--bg);
  outline:none; font-family:var(--font);
  transition:border-color 0.15s, box-shadow 0.15s;
}
.form-input:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,0.08); }
.form-input-error { border-color:#f87171; box-shadow:0 0 0 3px rgba(248,113,113,0.10); }

.form-select {
  width:100%; height:46px; padding:0 36px 0 14px;
  border:1px solid var(--border-mid); border-radius:var(--radius-input);
  font-size:14px; color:var(--text-primary); background:var(--bg)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")
    no-repeat right 12px center;
  appearance:none; outline:none; cursor:pointer;
  transition:border-color 0.15s;
}
.form-select:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,0.08); }

.form-textarea {
  width:100%; padding:12px 14px; min-height:100px;
  border:1px solid var(--border-mid); border-radius:var(--radius-input);
  font-size:14px; color:var(--text-primary); resize:vertical;
  outline:none; font-family:var(--font);
  transition:border-color 0.15s;
}
.form-textarea:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,0.08); }

.form-field-error {
  display:flex; align-items:center; gap:5px; font-size:12px; color:#ef4444;
}
.form-error-banner {
  display:flex; gap:12px; align-items:flex-start;
  background:#fef2f2; border:1px solid #fecaca; border-radius:12px; padding:14px 16px;
}

.segmented-control { display:inline-flex; background:#f3f4f6; border-radius:10px; padding:3px; }
.segmented-label   {
  cursor:pointer; padding:6px 14px; border-radius:8px;
  font-size:13px; font-weight:500; color:var(--text-sub);
  transition:all 0.15s; display:flex; align-items:center; gap:6px;
}
.segmented-radio   { position:absolute; opacity:0; pointer-events:none; }
.segmented-radio:checked + .segmented-label {
  background:#fff; color:#2563eb; font-weight:600;
  box-shadow:0 1px 4px rgba(0,0,0,0.08);
}

.form-actions { display:flex; align-items:center; gap:12px; padding-top:8px; }

.btn-form-submit {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 22px; background:#2563eb; color:#fff;
  border-radius:var(--radius-btn); font-size:14px; font-weight:600;
  box-shadow:0 4px 14px rgba(37,99,235,0.20); border:none; cursor:pointer;
  transition:all 0.15s ease;
}
.btn-form-submit:hover { background:#1d4ed8; transform:scale(1.02); }

.btn-form-cancel {
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 18px; background:transparent; color:var(--text-sub);
  font-size:13px; font-weight:500; border-radius:var(--radius-btn);
  transition:color 0.15s; text-decoration:none;
}
.btn-form-cancel:hover { color:#374151; }

/* ── Mobile ── */
@media (max-width:640px) {
  .btn-action span { display:none; }
  .btn-action      { padding:8px; border-radius:10px; }
  .list-card       { padding:14px 16px; gap:12px; }
  .hero            { padding:14px 18px; flex-direction:column; align-items:flex-start; gap:10px; }
  .hero-left, .hero-right { width:100%; }
  .hero-right      { display:flex; justify-content:flex-end; gap:8px; }
  .hero-right .flex { flex-wrap:wrap; gap:8px; }
  .hero-title      { font-size:1.125rem; }
  .hero-sub        { font-size:0.8rem; }
  .detail-grid     { grid-template-columns:1fr; }
  .form-body       { padding:20px; }
  .form-card-header { padding:16px 20px; }
  /* on small screens inputs should stretch full width */
  .input-group { flex-direction:column; }
}

/* ── APPLE SELECT DROPDOWN GLOBAL — reutilizável em qualquer página ── */
.apple-select-source {
  position:absolute;
  opacity:0;
  pointer-events:none;
  width:0;
  height:0;
}

.apple-select-wrap {
  position:relative;
  width:100%;
  display:flex;
  flex-direction:column;
  overflow:visible; /* permitir dropdown sair */
}

.apple-select-trigger {
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:0 14px;
  font-size:13px;
  color:#374151;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  transition:all 0.15s ease;
}

.apple-select-trigger:hover {
  border-color:#d1d5db;
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
  transform:scale(1.01);
}

.apple-select-trigger.is-open {
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,0.08), 0 4px 12px rgba(0,0,0,0.06);
}

.apple-select-trigger-text {
  flex:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:left;
  color:#374151;
}

.apple-select-trigger-text.empty {
  color:#9ca3af;
}

.apple-select-trigger-icon {
  color:#6b7280;
  flex-shrink:0;
  transition:transform 0.2s ease;
}

.apple-select-trigger.is-open .apple-select-trigger-icon {
  transform:rotate(180deg);
}

.apple-select-menu {
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:0;
  z-index:999999; /* MÁXIMO para sempre ficar por cima */
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  box-shadow:0 10px 32px rgba(0,0,0,0.12);
  overflow:hidden;
  max-height:280px;
  overflow-y:auto;
  animation:appleSelectMenuIn 0.15s ease-out both;
}

@keyframes appleSelectMenuIn {
  from { opacity:0; transform:scale(0.96) translateY(-4px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}

.apple-select-option {
  display:block;
  width:100%;
  text-align:left;
  border:none;
  background:#fff;
  color:#374151;
  padding:11px 14px;
  font-size:13px;
  font-family:var(--font);
  cursor:pointer;
  transition:background 0.12s, color 0.12s;
  border-bottom:1px solid #f3f4f6;
}

.apple-select-option:last-child {
  border-bottom:none;
}

.apple-select-option:hover {
  background:#eff6ff;
  color:#1d4ed8;
}

.apple-select-option.is-selected {
  background:#2563eb;
  color:#fff;
  font-weight:600;
}

/* Scrollbar customizada */
.apple-select-menu::-webkit-scrollbar {
  width:6px;
}
.apple-select-menu::-webkit-scrollbar-track {
  background:#f9fafb;
}
.apple-select-menu::-webkit-scrollbar-thumb {
  background:#d1d5db;
  border-radius:3px;
}
.apple-select-menu::-webkit-scrollbar-thumb:hover {
  background:#9ca3af;
}
