:root{--bg:#0b1220;--card:#101a2f;--muted:#90a4c2;--text:#e8eefb;--accent:#4ea1ff;--warn:#f6c177;--danger:#ff6b6b;}
*{box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
body{margin:0;background:linear-gradient(180deg,#070b14 0%,#0b1220 50%,#070b14 100%);color:var(--text)}
a{color:var(--accent);text-decoration:none}
.container{max-width:1100px;margin:22px auto;padding:0 16px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;background:rgba(7,11,20,.9);backdrop-filter:blur(10px)}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:38px;height:38px;border-radius:12px;background:rgba(78,161,255,.15);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--accent)}
.brand-title{font-weight:700}
.brand-sub{font-size:12px;color:var(--muted)}
.nav{display:flex;gap:12px;align-items:center}
.user-pill{padding:6px 10px;border:1px solid rgba(255,255,255,.10);border-radius:999px;color:var(--muted);font-size:12px}
.btn-link{padding:8px 10px;border:1px solid rgba(255,255,255,.10);border-radius:10px}
h1{margin:0 0 12px 0;font-size:26px}
h2{margin:0 0 12px 0;font-size:18px}
.muted{color:var(--muted)}
.small{font-size:12px}
.hint{margin-top:14px;color:var(--muted);font-size:12px}
.card{background:rgba(16,26,47,.92);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px;box-shadow:0 16px 40px rgba(0,0,0,.35);margin-bottom:16px}
.auth-card{max-width:420px;margin:40px auto}
input,select,textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(7,11,20,.7);color:var(--text);margin:6px 0 12px 0}
textarea{resize:vertical}
.btn{background:rgba(78,161,255,.18);border:1px solid rgba(78,161,255,.5);color:var(--text);padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:600}
.btn.secondary{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.metric{border-radius:18px;padding:14px;border:1px solid rgba(255,255,255,.08);background:rgba(16,26,47,.65)}
.metric.warn{border-color:rgba(246,193,119,.3)}
.metric.danger{border-color:rgba(255,107,107,.3)}
.metric-label{color:var(--muted);font-size:12px}
.metric-value{font-size:26px;font-weight:800;margin-top:6px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:top}
.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.pill{display:inline-block;padding:4px 8px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:12px;color:var(--muted)}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:var(--text);font-size:12px;background:rgba(255,255,255,.04)}
.flash-wrap{margin-bottom:14px}
.flash{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);margin-bottom:10px}
.flash.success{border-color:rgba(78,161,255,.35)}
.flash.error{border-color:rgba(255,107,107,.35)}
.kv div{margin:6px 0}
.details summary{cursor:pointer;color:var(--accent);margin-top:10px}
pre{white-space:pre-wrap;word-break:break-word;background:rgba(7,11,20,.7);padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08)}
.ai-box{padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(7,11,20,.55)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end;margin-top:10px}
.form-grid label{grid-column:span 2;color:var(--muted);font-size:12px;margin-top:4px}
.form-grid input{margin:0}
.form-grid button{grid-column:span 2}
.list{list-style:none;padding:0;margin:0}
.list li{padding:10px;border-bottom:1px solid rgba(255,255,255,.07)}
.notes{margin-top:6px}
.checklist{margin:12px 0;display:grid;grid-template-columns:1fr;gap:8px;max-height:420px;overflow:auto;padding-right:6px}
.check{display:flex;gap:10px;align-items:center}
.footer{padding:18px 16px;color:var(--muted);text-align:center;border-top:1px solid rgba(255,255,255,.06)}
@media (max-width: 900px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-2{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .form-grid button{grid-column:span 1}
}
:root{
  --border: rgba(255,255,255,.16);
  --border2: rgba(255,255,255,.10);
}

/* --- Portfolio checklist (melhor alinhamento) --- */
.checklist{
  margin:12px 0;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  max-height:520px;
  overflow:auto;
  padding-right:6px;
}

.check{
  display:flex;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(7,11,20,.35);
}

.check input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  flex:0 0 auto;
}

.check .check-main{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1.2;
}

.check .check-title{
  font-weight:650;
}

.check .check-sub{
  color:var(--muted);
  font-size:12px;
}
/* Admin portfolio (carteiras) */
.portfolio-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto;padding-right:6px}
.portfolio-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border2);border-radius:12px;background:rgba(255,255,255,.04);cursor:pointer}
.portfolio-item:hover{border-color:var(--border)}
.portfolio-left{display:flex;align-items:center;gap:10px;min-width:0;width:100%}
.portfolio-left input[type="checkbox"]{width:18px;height:18px;margin:0;flex:0 0 auto}
.portfolio-text{min-width:0}
.portfolio-name{font-weight:700}
.portfolio-db{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

