
/* Camada de tema (visual moderno) */
:root{
  --primary:#6259ca;
  --primary-2:#7a74d6;
  --bg:#f3f4f8;
  --card:#ffffff;
  --border:rgba(15,23,42,.10);
  --text:#0f172a;
  --muted:#64748b;

  --ok:#25a55b;
  --warn:#f0b429;
  --danger:#ef4444;
}

/* Base */
html,body{background:var(--bg) !important; color:var(--text)}
body{font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";}
a{color:var(--primary)}
.muted{color:var(--muted) !important}
.hr{border-color:var(--border) !important}

/* Layout */
.app{gap:14px}
.sidebar{
  background:var(--card) !important;
  border-right:1px solid var(--border);
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.topbar{
  background:var(--card) !important;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
}
.content{padding:14px}

/* Sidebar items */
.menu a, .menu button{
  border-radius:12px !important;
}
.menu a:hover, .menu button:hover{
  background:rgba(98,89,202,.10) !important;
}
.menu a.active, .menu button.active{
  background:rgba(98,89,202,.14) !important;
  color:var(--primary) !important;
  font-weight:800;
}

/* Cards / sections */
.section{
  background:transparent !important;
}
.panel, .card, .modal-card{
  background:var(--card) !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}
.panel{padding:16px}

/* Buttons */
.btn{
  border-radius:12px !important;
  border:1px solid rgba(98,89,202,.20) !important;
  background:var(--primary) !important;
  color:#fff !important;
  box-shadow:0 10px 20px rgba(98,89,202,.18);
}
.btn:hover{filter:brightness(1.03)}
.btn.alt{
  background:rgba(98,89,202,.12) !important;
  color:var(--primary) !important;
  border-color:rgba(98,89,202,.25) !important;
  box-shadow:none;
}
.btn.ghost{
  background:transparent !important;
  color:var(--text) !important;
  border:1px solid var(--border) !important;
  box-shadow:none;
}
.btn.ghost:hover{background:rgba(15,23,42,.04) !important}
.btn.danger, .btn.ghost.danger{
  color:#fff !important;
  background:var(--danger) !important;
  border-color:rgba(239,68,68,.25) !important;
}

/* Inputs */
input, select, textarea{
  border-radius:12px !important;
  border:1px solid var(--border) !important;
  background:#fff !important;
}
input:focus, select:focus, textarea:focus{
  outline:none !important;
  border-color:rgba(98,89,202,.55) !important;
  box-shadow:0 0 0 4px rgba(98,89,202,.14) !important;
}

/* Tables */
.table{
  background:var(--card) !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  overflow:hidden;
}
.table table{width:100%}
.table thead th{
  background:rgba(15,23,42,.02) !important;
  border-bottom:1px solid var(--border) !important;
  color:var(--muted) !important;
  font-weight:800;
}
.table td{
  border-bottom:1px solid rgba(15,23,42,.06) !important;
}
.table tbody tr:hover{background:rgba(98,89,202,.05) !important}

/* Badges already exist; improve */
.st-badge{box-shadow:0 10px 20px rgba(15,23,42,.10)}

/* Progress */
.progress{background:rgba(15,23,42,.08) !important}
.progress span{background:var(--ok) !important}
.progress.warn span{background:var(--warn) !important}
.progress.bad span{background:var(--danger) !important}

/* Modal */
.modal .modal-card{border-radius:18px !important}
