:root{
  --purple:#5b5bf5;
  --green:#16a34a;
  --bg:#f3f4fa;
  --card:#ffffff;
  --text:#1e1b3a;
  --muted:#8a88a3;
  --border:#eceafc;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);}

.topbar{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:16px 32px;border-bottom:4px solid #1e1b3a;}
.brand{font-weight:800;font-size:20px;color:var(--purple);display:flex;gap:8px;align-items:center;}
.topbar nav a{color:var(--purple);text-decoration:none;font-weight:600;}
.user-block{display:flex;align-items:center;gap:14px;}
.user-name{font-size:13px;font-weight:700;text-align:right;line-height:1.3;}
.user-name small{color:var(--muted);font-weight:600;letter-spacing:.05em;}
.btn-outline{border:1px solid var(--border);border-radius:8px;padding:8px 16px;text-decoration:none;color:var(--text);font-weight:600;font-size:13px;}

.wrap{max-width:1400px;margin:24px auto;padding:0 24px;display:flex;flex-direction:column;gap:20px;}
.card{background:var(--card);border-radius:16px;padding:24px 28px;box-shadow:0 1px 3px rgba(30,27,58,.06);}
.card h2{margin:0 0 6px;font-size:20px;}
.muted{color:var(--muted);font-size:13px;}

.filter-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.filter-form{display:flex;align-items:center;gap:10px;}
.filter-form input[type=date]{padding:9px 12px;border:1px solid var(--border);border-radius:8px;}
.btn-primary{background:var(--purple);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-weight:700;cursor:pointer;}

.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.stat-label{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;}
.stat-value{font-size:30px;font-weight:800;margin:8px 0 4px;}
.stat-green{color:var(--green);}
.badge{background:#eceafc;color:var(--purple);font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;}

.data-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px;}
.data-table th{text-align:left;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--border);}
.data-table td{padding:12px;border-bottom:1px solid var(--border);}
.data-table .profit{color:var(--green);font-weight:700;}
.data-table .roi{color:var(--purple);font-weight:700;}

.login-body{display:flex;align-items:center;justify-content:center;height:100vh;}
.login-card{background:#fff;border-radius:16px;padding:40px;width:340px;display:flex;flex-direction:column;gap:16px;box-shadow:0 4px 24px rgba(30,27,58,.1);}
.login-logo{font-weight:800;font-size:20px;color:var(--purple);text-align:center;margin-bottom:8px;}
.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;}
.login-card input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;}
.alert-error{background:#fef2f2;color:#b91c1c;padding:10px;border-radius:8px;font-size:13px;}

@media (max-width:900px){.stat-grid{grid-template-columns:1fr;}}
