:root{--navy:#102A43;--blue:#2563EB;--green:#16A34A;--orange:#F59E0B;--red:#DC2626;--bg:#F8FAFC;--border:#E2E8F0;--text:#0F172A;--muted:#64748B}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#102A43,#2563EB)}.login-card{width:420px;max-width:92%;background:#fff;border-radius:20px;padding:34px;box-shadow:0 20px 50px rgba(0,0,0,.25)}.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#102A43,#2563EB);color:#fff;display:grid;place-items:center;font-weight:800;font-size:26px}.brand h1{margin:0;font-size:24px}.brand small{color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 13px;font-size:14px;background:#fff}label{font-weight:600;font-size:13px;margin-bottom:6px;display:block}.field{margin:14px 0}.btn{border:0;border-radius:10px;padding:12px 16px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary{background:#fff;color:var(--blue);border:1px solid var(--blue)}.btn.danger{background:var(--red)}.btn.green{background:var(--green)}.layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--navy);color:#fff;padding:22px;position:fixed;height:100vh}.sidebar .brand{margin-bottom:32px}.nav a{display:block;padding:12px 14px;border-radius:12px;color:#dbeafe;margin:6px 0}.nav a.active,.nav a:hover{background:rgba(37,99,235,.45);color:#fff}.main{margin-left:260px;width:calc(100% - 260px)}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:3}.content{padding:28px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:0 5px 18px rgba(15,23,42,.04)}.metric{font-size:34px;font-weight:800}.muted{color:var(--muted)}.tag{font-size:12px;border-radius:100px;padding:5px 10px;font-weight:700;display:inline-block}.tag.hot{background:#fee2e2;color:#b91c1c}.tag.warm{background:#fef3c7;color:#92400e}.tag.cold{background:#e2e8f0;color:#334155}.tag.green{background:#dcfce7;color:#166534}.tag.red{background:#fee2e2;color:#991b1b}.tag.blue{background:#dbeafe;color:#1d4ed8}table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--border)}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--border);font-size:14px}th{background:#f1f5f9;color:#334155}.actions{display:flex;gap:8px;flex-wrap:wrap}.flash{padding:12px 16px;border-radius:12px;background:#dcfce7;color:#166534;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kanban{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:16px;overflow-x:auto}.col{background:#f1f5f9;border-radius:14px;padding:12px;min-height:350px}.lead-card{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;border:1px solid var(--border)}@media(max-width:900px){.sidebar{position:static;width:100%;height:auto}.layout{display:block}.main{margin:0;width:100%}.grid,.form-grid{grid-template-columns:1fr}.content{padding:16px}.topbar{padding:0 16px}.kanban{grid-template-columns:1fr}.actions .btn{width:100%}}

@media (max-width: 768px) {
  body {
    overflow-x: hidden;
  }

  .app,
  .layout,
  .dashboard,
  .main {
    width: 100%;
    max-width: 100%;
  }

  .sidebar {
    position: fixed;
    left: -280px;
    top: 0;
    width: 260px;
    height: 100vh;
    z-index: 999;
    transition: 0.3s ease;
  }

  .sidebar.open {
    left: 0;
  }

  .content,
  .main-content {
    margin-left: 0 !important;
    width: 100% !important;
    padding: 16px !important;
  }

  .cards,
  .stats-grid,
  .dashboard-grid,
  .grid {
    grid-template-columns: 1fr !important;
  }

  table {
    display: block;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }

  .actions,
  .form-row,
  .filters {
    flex-direction: column;
    gap: 10px;
  }

  input,
  select,
  textarea,
  button,
  .btn {
    width: 100%;
  }

  .kanban {
    overflow-x: auto;
    display: flex;
  }

  .kanban-column {
    min-width: 280px;
  }

  .login-card {
    width: calc(100% - 32px);
    margin: 20px auto;
  }
}