:root { --ink:#0b1522; --muted:#647182; --line:#dce2e8; --blue:#1458ff; --bg:#f4f7fa; --white:#fff; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font:14px/1.5 Inter,Segoe UI,Arial,sans-serif; }
a { color:var(--blue); text-decoration:none; }
.topbar { display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:0 max(24px,calc((100vw - 1240px)/2)); color:#fff; background:#0b1522; }
.brand { color:#fff; font-size:18px; font-weight:800; }.brand span { color:#7bdcff; }
.topbar nav,.topbar form { display:flex; align-items:center; gap:18px; margin:0; }.topbar nav a,.topbar button { color:#fff; }.topbar button { padding:0; border:0; background:none; cursor:pointer; }
main { width:min(1240px,calc(100% - 40px)); margin:40px auto 80px; }
.login-card { width:min(430px,100%); margin:10vh auto; padding:36px; border:1px solid var(--line); border-radius:20px; background:var(--white); box-shadow:0 22px 60px rgba(15,31,47,.12); }
h1 { margin:4px 0 8px; font-size:36px; letter-spacing:-.04em; } h2 { margin:0 0 20px; font-size:21px; }
.eyebrow { margin:0; color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.stack { display:grid; gap:18px; }.stack label,.filters label { display:grid; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }
input,select,textarea { width:100%; padding:12px 13px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:#fff; font:inherit; }
textarea { min-height:150px; resize:vertical; }
.primary,.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 18px; border:1px solid transparent; border-radius:9px; font-weight:800; cursor:pointer; }
.primary { color:#fff; background:var(--blue); }.button { border-color:var(--line); color:var(--ink); background:#fff; }
.alert,.success { margin:18px 0; padding:12px; border-radius:8px; }.alert { color:#8d1b1b; background:#fff0f0; }.success { color:#087145; background:#dcf5e9; }
.stack small { color:var(--muted); font-weight:400; }.form-actions { display:flex; flex-wrap:wrap; gap:12px; }.password-card { margin-top:5vh; }
.page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:28px; }.page-head p { margin:0; color:var(--muted); }
.filters { display:grid; grid-template-columns:2fr 1fr 1fr auto; gap:14px; align-items:end; margin-bottom:20px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:14px; background:#fff; } table { width:100%; border-collapse:collapse; } th,td { padding:15px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; } th { color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; background:#f9fbfc; } td small { display:block; margin-top:4px; color:var(--muted); }.empty { padding:50px; text-align:center; color:var(--muted); }
.status { display:inline-flex; padding:4px 9px; border-radius:999px; font-size:11px; font-weight:800; text-transform:uppercase; background:#eaf0f5; }.status-new { color:#073a90; background:#e4edff; }.status-qualified,.status-won { color:#087145; background:#dcf5e9; }.status-spam,.status-lost { color:#8d1b1b; background:#ffe5e5; }
.pagination { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:22px; }
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.panel { padding:26px; border:1px solid var(--line); border-radius:16px; background:#fff; }.panel dl { display:grid; grid-template-columns:150px 1fr; margin:0; }.panel dt,.panel dd { margin:0; padding:10px 0; border-bottom:1px solid var(--line); }.panel dt { color:var(--muted); }.prewrap { white-space:pre-wrap; }.break { overflow-wrap:anywhere; }.followup { margin-top:20px; }.two-col { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:760px){ main{width:min(100% - 24px,1240px);margin-top:24px}.topbar{padding:10px 16px;gap:14px;align-items:flex-start}.topbar nav{justify-content:flex-end;flex-wrap:wrap;gap:10px 14px}.filters,.detail-grid,.two-col{grid-template-columns:1fr}.page-head{align-items:flex-start}.panel dl{grid-template-columns:1fr}.panel dt{padding-bottom:0;border:0}.panel dd{padding-top:4px}.table-wrap{border-radius:10px}th,td{min-width:130px}.login-card{padding:26px} }

