* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background:#0f1117; color:#e1e1e6; }

/* LOGIN */
#login-screen { display:flex; justify-content:center; align-items:center; height:100vh; background:linear-gradient(135deg,#0f1117,#1a1d2e); }
.login-box { background:#1c1f2e; padding:40px; border-radius:12px; text-align:center; min-width:320px; }
.login-box h1 { margin-bottom:20px; font-size:1.8em; }
.login-box input { display:block; width:100%; padding:12px; margin:8px 0; border:1px solid #333; border-radius:8px; background:#252836; color:#fff; font-size:14px; }
.login-box button { width:100%; padding:12px; margin-top:12px; border:none; border-radius:8px; background:#6c5ce7; color:#fff; font-size:16px; cursor:pointer; }
.login-box button:hover { background:#5a4bd1; }
#login-error { color:#ff6b6b; margin-top:10px; font-size:13px; }

/* NAV */
nav { display:flex; align-items:center; padding:12px 24px; background:#1c1f2e; border-bottom:1px solid #2d3048; gap:20px; flex-wrap:wrap; }
nav h2 { font-size:1.2em; white-space:nowrap; }
.nav-links { display:flex; gap:4px; flex:1; }
.nav-links a { color:#8b8fa3; text-decoration:none; padding:8px 14px; border-radius:6px; font-size:14px; }
.nav-links a.active, .nav-links a:hover { background:#6c5ce7; color:#fff; }
.nav-right { display:flex; align-items:center; gap:10px; font-size:13px; color:#8b8fa3; }

/* SECTIONS */
section { padding:24px; max-width:1400px; margin:0 auto; }

/* CONTROLS */
.controls { display:flex; gap:20px; margin-bottom:20px; align-items:center; flex-wrap:wrap; }
.controls label { display:flex; align-items:center; gap:8px; font-size:14px; color:#8b8fa3; }
.controls input { padding:8px 12px; border:1px solid #333; border-radius:6px; background:#252836; color:#fff; font-size:14px; }

/* RENDA BAR */
.renda-bar { display:flex; gap:12px; margin-bottom:16px; flex-wrap:wrap; align-items:center; background:#1c1f2e; padding:14px 20px; border-radius:10px; }
.renda-item { display:flex; align-items:center; gap:6px; font-size:13px; color:#8b8fa3; cursor:pointer; }
.renda-item span.val { color:#00b894; font-weight:600; font-size:14px; border-bottom:1px dashed #444; }
.renda-item span.val:hover { color:#fff; }
.renda-item .renda-edit { padding:4px 8px; border:1px solid #6c5ce7; border-radius:6px; background:#252836; color:#fff; font-size:13px; width:110px; outline:none; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:24px; }
.card { padding:20px; border-radius:12px; background:#1c1f2e; }
.card h3 { font-size:13px; color:#8b8fa3; margin-bottom:8px; }
.card p { font-size:1.6em; font-weight:700; }
.card.green p { color:#00b894; }
.card.red p { color:#ff6b6b; }
.card.blue p { color:#74b9ff; }
.card.purple p { color:#a29bfe; }

/* CHARTS */
.charts { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:24px; }
.chart-box { background:#1c1f2e; border-radius:12px; padding:20px; }
.chart-box.full { width:100%; }

/* TABLES */
.tables { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
table { width:100%; border-collapse:collapse; font-size:13px; }
th { text-align:left; padding:10px 8px; color:#8b8fa3; border-bottom:1px solid #2d3048; font-weight:500; }
td { padding:8px; border-bottom:1px solid #1a1d2e; }
h3 { margin-bottom:12px; font-size:1em; }

/* FORMS */
form { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px; align-items:end; }
form input, form select { padding:8px 12px; border:1px solid #333; border-radius:6px; background:#252836; color:#fff; font-size:13px; }
form button, .btn-sm { padding:8px 16px; border:none; border-radius:6px; background:#6c5ce7; color:#fff; cursor:pointer; font-size:13px; }
form button:hover, .btn-sm:hover { background:#5a4bd1; }
.btn-danger { background:#ff6b6b !important; }
.btn-danger:hover { background:#e55; }

/* LANCAMENTOS */
.lanc-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.lanc-card { background:#1c1f2e; padding:24px; border-radius:12px; }
.lanc-card h3 { margin-bottom:16px; font-size:1.1em; }
.lanc-card form { display:flex; flex-direction:column; gap:12px; }
.form-row { display:flex; gap:12px; }
.form-group { flex:1; display:flex; flex-direction:column; gap:4px; }
.form-group.full { flex:2; }
.form-group label { font-size:12px; color:#8b8fa3; }
.form-group input, .form-group select { padding:10px 12px; border:1px solid #333; border-radius:8px; background:#252836; color:#fff; font-size:14px; }
.btn-full { width:100%; padding:12px; border:none; border-radius:8px; background:#6c5ce7; color:#fff; font-size:14px; cursor:pointer; font-weight:600; margin-top:4px; }
.btn-full:hover { background:#5a4bd1; }
.btn-full.green { background:#00b894; }
.btn-full.green:hover { background:#00a381; }
.btn-full.purple { background:#a29bfe; color:#1c1f2e; }
.btn-full.purple:hover { background:#8c83f0; }

/* PROJECAO */
#proj-meta { background:#1c1f2e; padding:20px; border-radius:12px; margin-bottom:20px; font-size:1.1em; }
#proj-invest { margin-top:20px; }

/* RESPONSIVE */
@media(max-width:768px) {
  .charts, .tables, .lanc-grid { grid-template-columns:1fr; }
  .form-row { flex-direction:column; }
  nav { flex-direction:column; align-items:flex-start; }
  .nav-links { flex-wrap:wrap; }
}
