/* ============================================================
   TEIXEIRA ADVOCACIA · Dashboard do Escritório Digital
   Design System compartilhado — paleta vinho + dourado
   ============================================================ */

:root{
  /* Fundos */
  --bg:    #1A0A0A;
  --bg2:   #2C1010;
  --bg3:   #3D0000;
  --bg4:   #5A0000;
  --bg5:   #6B0000;
  /* Bordas */
  --border:  rgba(212,175,55,0.12);
  --border2: rgba(212,175,55,0.35);
  --border3: rgba(212,175,55,0.6);
  /* Texto */
  --text:  #FFFFFF;
  --text2: #D6C9A8;
  --text3: rgba(245,236,215,0.45);
  /* Dourado */
  --gold:   #D4AF37;
  --gold-l: #E8C96A;
  --gold-d: #C9A84C;
  --gold-dk:#B8902A;
  --cream:  #F5ECD7;
  /* Estados */
  --green: #22c55e;
  --blue:  #60a5fa;
  --red:   #f87171;
  --purple:#a78bfa;
}

/* ── TEMA CLARO (fundo claro) ──
   Mantém o dourado como acento, troca os vinhos por tons de creme/papel. */
:root[data-theme="light"]{
  --bg:    #F4EFE6;
  --bg2:   #FFFFFF;
  --bg3:   #FBF7EF;
  --bg4:   #F0E7D4;
  --bg5:   #E8DCC2;
  --border:  rgba(120,90,20,0.16);
  --border2: rgba(120,90,20,0.32);
  --border3: rgba(120,90,20,0.55);
  --text:  #2A1A0A;
  --text2: #5C4A2E;
  --text3: rgba(60,45,20,0.55);
  --gold:   #B8902A;
  --gold-l: #9c7a20;
  --gold-d: #C9A84C;
  --gold-dk:#8a6a14;
  --green: #15803d;
  --blue:  #2563eb;
  --red:   #dc2626;
}
:root[data-theme="light"] body{color:var(--text)}
/* No tema claro, o botão primário dourado precisa de texto claro p/ contraste */
:root[data-theme="light"] .btn-primary{color:#fff}
:root[data-theme="light"] .stat-value.gold,
:root[data-theme="light"] .tile-name{color:var(--gold)}

/* Botão de alternar tema */
.theme-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:999px;
  border:1px solid var(--border2);background:var(--bg2);color:var(--text2);
  font-size:15px;cursor:pointer;transition:all .15s;flex-shrink:0;
}
.theme-toggle:hover{color:var(--gold-l);border-color:var(--border3)}

*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Lato',sans-serif;
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit;color:var(--text)}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ── Tipografia utilitária ── */
.serif{font-family:'Cormorant Garamond',serif}
.display{font-family:'Playfair Display',serif}
.mono{font-family:'Montserrat',sans-serif}

/* ── Marca ── */
.brand-balanca{filter:sepia(1) saturate(3) hue-rotate(5deg)}
.brand-name{
  font-family:'Cormorant Garamond',serif;font-weight:700;
  color:var(--gold);letter-spacing:1px;line-height:1.1;
}
.brand-name small{
  display:block;font-family:'Montserrat',sans-serif;font-weight:600;
  color:var(--text3);letter-spacing:3px;text-transform:uppercase;margin-top:4px;
}
.gold-sep{width:48px;height:1px;background:var(--gold-d);opacity:.6;margin:14px auto 0}

/* ── Botões ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 16px;border-radius:8px;
  font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.4px;cursor:pointer;border:none;transition:all .15s;
  color:var(--text2);background:transparent;
}
.btn-primary{background:var(--gold);color:#1A0A0A;font-weight:700}
.btn-primary:hover{background:var(--gold-l)}
.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border2)}
.btn-ghost:hover{color:var(--text);border-color:var(--border3);background:rgba(212,175,55,0.05)}
.btn-danger{border:1px solid var(--border)}
.btn-danger:hover{color:var(--red);border-color:var(--red)}
.btn-block{width:100%}

/* ── Topbar (voltar ao painel) ── */
.topbar{
  position:sticky;top:0;z-index:40;
  background:var(--bg2);border-bottom:1px solid var(--border);
  padding:12px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.topbar .tb-back{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 13px;border-radius:8px;border:1px solid var(--border2);
  font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;color:var(--text2);
  transition:all .15s;
}
.topbar .tb-back:hover{color:var(--gold-l);border-color:var(--border3);background:rgba(212,175,55,0.05)}
.topbar .tb-title{
  flex:1;min-width:160px;font-family:'Cormorant Garamond',serif;
  font-size:20px;font-weight:600;color:var(--gold-l);letter-spacing:.3px;
}
.topbar .tb-logo{display:flex;align-items:center;gap:9px}
.topbar .tb-logo .balanca{font-size:18px}
.topbar .tb-logo .name{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:700;color:var(--gold);line-height:1}
.topbar .tb-logo .name small{display:block;font-family:'Montserrat',sans-serif;font-size:8px;font-weight:600;color:var(--text3);letter-spacing:2px;text-transform:uppercase;margin-top:2px}

/* ── Cards ── */
.card{
  background:var(--bg2);border:1px solid var(--border);border-radius:12px;
  padding:16px;transition:all .15s;
}
.card:hover{border-color:var(--border2)}

/* ── Grade de setores / ferramentas ── */
.tiles{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:16px;padding:28px 24px;max-width:1100px;margin:0 auto;
}
.tile{
  display:flex;flex-direction:column;gap:8px;
  background:var(--bg2);border:1px solid var(--border);border-radius:14px;
  padding:22px 20px;cursor:pointer;transition:all .18s;
  border-left:3px solid var(--gold-dk);position:relative;overflow:hidden;
}
.tile:hover{border-color:var(--border2);border-left-color:var(--gold);transform:translateY(-2px);background:rgba(212,175,55,0.04)}
.tile.soon{opacity:.6;cursor:default;border-left-color:var(--text3)}
.tile.soon:hover{transform:none;border-color:var(--border);background:var(--bg2)}
.tile-icon{font-size:28px;line-height:1}
.tile-name{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:700;color:var(--gold-l)}
.tile-desc{font-size:12.5px;color:var(--text2);line-height:1.5}
.tile-badge{
  position:absolute;top:12px;right:12px;
  font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:.6px;
  text-transform:uppercase;padding:3px 8px;border-radius:5px;
  background:rgba(212,175,55,0.12);color:var(--gold);border:1px solid var(--border2);
}
.tile-badge.soon{background:rgba(245,236,215,0.06);color:var(--text3);border-color:var(--border)}

/* ── Formulários ── */
.form-group{margin-bottom:16px}
.form-label{
  display:block;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;
  color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;
}
.form-input,.form-select,.form-textarea{
  width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:8px;
  padding:11px 14px;color:var(--text);font-size:14px;font-family:'Lato',sans-serif;
  outline:none;transition:border-color .2s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border3)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--text3)}
.form-select option{background:var(--bg3)}
.form-textarea{resize:vertical;min-height:90px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ── Modal ── */
.modal-overlay{
  position:fixed;inset:0;background:rgba(26,10,10,0.85);backdrop-filter:blur(3px);
  z-index:100;display:none;align-items:center;justify-content:center;padding:20px;
}
.modal-overlay[data-open]{display:flex}
.modal{
  background:var(--bg2);border:1px solid var(--border2);border-radius:14px;
  width:100%;max-width:560px;max-height:90vh;overflow-y:auto;
}
.modal-header{
  padding:18px 22px 14px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:12px;
}
.modal-title{flex:1;font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;color:var(--gold-l)}
.modal-close{
  background:none;border:1px solid var(--border);border-radius:6px;color:var(--text3);
  cursor:pointer;padding:4px 10px;font-size:14px;font-family:'Montserrat',sans-serif;transition:all .15s;
}
.modal-close:hover{color:var(--text);border-color:var(--border2)}
.modal-body{padding:22px;display:flex;flex-direction:column;gap:2px}
.modal-footer{padding:14px 22px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

/* ── Toast ── */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--bg3);border:1px solid var(--gold-dk);padding:11px 20px;border-radius:8px;
  color:var(--text);font-size:13px;opacity:0;pointer-events:none;transition:all .2s;z-index:2000;
}
.toast[data-show]{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Aviso OAB ── */
.warn-oab{
  background:rgba(212,175,55,0.06);border:1px solid rgba(212,175,55,0.2);border-radius:8px;
  padding:10px 14px;margin-bottom:16px;font-size:12px;color:var(--gold-d);
  display:flex;align-items:flex-start;gap:8px;line-height:1.5;
}

/* ── Estado "Em breve" ── */
.soon-wrap{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:24px}
.soon-card{
  text-align:center;max-width:420px;background:var(--bg2);border:1px solid var(--border);
  border-radius:16px;padding:44px 36px;
}
.soon-card .ico{font-size:44px;margin-bottom:14px}
.soon-card h2{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold-l);margin-bottom:8px}
.soon-card p{color:var(--text2);font-size:13.5px;line-height:1.6}

/* ── Helpers ── */
.hidden{display:none!important}
.muted{color:var(--text3)}

@media (max-width:640px){
  .form-row{grid-template-columns:1fr}
  .tiles{padding:20px 16px}
}
