:root { --navy:#071b3b; --blue:#1265d8; --ink:#162033; --text:#536074; --line:#e1e6ee; --soft:#f5f7fa; --white:#fff; --green:#1c9b5f; --orange:#ef791e; --red:#c73737; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--soft); font:14px/1.45 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } button,input,select { font:inherit; } button,select { cursor:pointer; } button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid rgba(18,101,216,.3); outline-offset:2px; }
.sidebar { position:fixed; z-index:20; inset:0 auto 0 0; width:245px; display:flex; flex-direction:column; color:#dce7f9; background:linear-gradient(180deg,#071b3b,#092651); }
.admin-brand { height:78px; display:flex; align-items:center; gap:11px; padding:0 22px; color:#fff; font-size:17px; font-weight:800; letter-spacing:.02em; }.admin-brand small { color:#96afd5; font-weight:600; }.admin-brand-mark { width:27px;height:27px;display:grid;grid-template-columns:1fr 1fr;gap:3px; }.admin-brand-mark i { background:#fff;border-radius:1px; }.admin-brand-mark i:first-child { background:#4d9cff; }
.sidebar nav { display:flex; flex-direction:column; gap:5px; padding:16px 10px; }.sidebar nav a { min-height:46px; display:flex; align-items:center; gap:12px; padding:0 13px; border-radius:10px; color:#c7d4e9; }.sidebar nav a > span { width:20px; font-size:19px; text-align:center; }.sidebar nav a small { margin-left:auto; color:#7e98c1; font-size:10px; }.sidebar nav a.active { color:#fff; background:#1265d8; box-shadow:0 8px 18px rgba(0,83,190,.36); }.sidebar nav a:not(.active):not([aria-disabled="true"]):hover { background:rgba(255,255,255,.07); color:#fff; }.sidebar nav a[aria-disabled="true"] { opacity:.62; cursor:not-allowed; }
.sidebar-footer { margin-top:auto; padding:18px 22px; border-top:1px solid rgba(255,255,255,.12); display:flex; justify-content:space-between; gap:10px; font-size:12px; }.sidebar-footer button { color:#c7d4e9; background:none; border:0; padding:0; }
.admin-main { min-height:100vh; margin-left:245px; }.admin-topbar { height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 30px; background:#fff; border-bottom:1px solid var(--line); }.admin-search { width:min(470px,50vw); padding:11px 14px; color:#8a95a6; border:1px solid var(--line); border-radius:10px; }.admin-search kbd { float:right; padding:1px 6px; background:var(--soft); border:1px solid var(--line); border-radius:5px; }.manager { display:flex; align-items:center; gap:10px; }.manager-avatar { width:38px;height:38px;display:grid;place-items:center;color:#fff;background:var(--navy);border-radius:50%;font-weight:700; }.manager div { display:flex;flex-direction:column; }.manager small { color:var(--text); }
.admin-content { max-width:1480px; margin:0 auto; padding:30px; }.page-heading { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px; }.page-heading h1 { margin:4px 0 2px;font-size:30px;letter-spacing:-.03em; }.page-heading p { margin:0;color:var(--text); }.admin-eyebrow { color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }.date-filter { padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--text); }.admin-button { min-height:42px;display:inline-flex;align-items:center;padding:0 16px;color:#fff;background:var(--blue);border-radius:9px;font-weight:700; }
.kpi-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px; }.kpi-grid article { display:flex;align-items:center;gap:16px;min-height:128px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px; }.kpi-icon { flex:0 0 48px;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;font-size:18px;font-weight:800; }.kpi-icon.blue { color:#1265d8;background:#e9f2ff; }.kpi-icon.violet { color:#7751c9;background:#f0eafa; }.kpi-icon.green { color:#168a54;background:#e7f7ef; }.kpi-icon.orange { color:#d96311;background:#fff0e4; }.kpi-grid p { margin:0;color:var(--text); }.kpi-grid strong { display:block;font-size:28px;letter-spacing:-.04em; }.kpi-grid small { color:#718096; }
.panel { background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden; }.analytics-grid { display:grid;grid-template-columns:1.18fr .82fr;gap:16px;margin-bottom:16px; }.panel-heading { min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--line); }.panel-heading h2 { margin:0;font-size:16px; }.panel-heading p { margin:2px 0 0;color:var(--text);font-size:12px; }.panel-heading > span,.panel-heading > a { color:var(--blue);font-size:12px;font-weight:700; }.line-chart { padding:15px 18px 12px; }.line-chart svg { width:100%;height:255px;overflow:visible; }.grid-lines line { stroke:#e6eaf0;stroke-width:1;stroke-dasharray:4 4; }.line-chart polyline { fill:none;stroke:var(--blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round; }.chart-area { fill:url(#none);opacity:.08; }.line-chart circle { fill:#fff;stroke:var(--blue);stroke-width:4; }.chart-labels { display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#7a8698;font-size:11px; }
.funnel { padding:25px 24px; }.funnel > div { display:grid;grid-template-columns:1fr .65fr auto;align-items:center;gap:16px;min-height:57px;border-bottom:1px solid #edf0f4; }.funnel > div:last-child { border:0; }.funnel i { display:block;width:100%;height:29px;border-radius:5px 5px 9px 9px;background:linear-gradient(90deg,#1265d8,#66a4f5); }.funnel > div:nth-child(2) i { width:78%;margin-left:11%; }.funnel > div:nth-child(3) i { width:56%;margin-left:22%; }.funnel > div:nth-child(4) i { width:36%;margin-left:32%; }.funnel strong { text-align:right; }.funnel strong small { color:var(--text);font-weight:500; }
.tables-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:16px; }.table-wrap { overflow:auto; } table { width:100%;border-collapse:collapse;white-space:nowrap; } th { padding:11px 16px;color:#7b8798;background:#fafbfc;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em; } td { padding:13px 16px;border-top:1px solid #edf0f4;color:var(--text); } td strong { color:var(--ink); } td small,td a { display:block;color:#7b8798;font-size:11px; }.empty-cell { height:95px;text-align:center;color:#8c97a7; }.empty-cell.large { height:250px;line-height:1.8; }.empty-cell a { display:inline;color:var(--blue);font-size:inherit; }.status { display:inline-flex;padding:4px 8px;border-radius:20px;font-size:11px;font-weight:700; }.status-new { color:#145cb6;background:#e7f1ff; }.status-contacted,.status-quote_sent { color:#a75a11;background:#fff0dd; }.status-measurement { color:#167347;background:#def5e8; }.status-contract,.status-completed { color:#176d48;background:#dff4e8; }.status-rejected { color:#a73636;background:#ffe6e6; }
.filter-tabs { display:flex;gap:6px;margin-bottom:14px;padding-bottom:2px;overflow-x:auto; }.filter-tabs a { flex:0 0 auto;padding:8px 12px;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:8px; }.filter-tabs a.active { color:#fff;background:var(--navy);border-color:var(--navy); }.leads-panel { min-height:400px; }.leads-table td { padding-block:16px; }.status-select { min-width:155px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff; }.consent-proof { color:var(--green);font-weight:700; }
.delete-lead { padding:7px 9px;color:#a73636;background:#fff;border:1px solid #efc7c7;border-radius:7px;font-size:11px;white-space:nowrap; }
.toast { position:fixed;z-index:50;right:24px;bottom:24px;padding:13px 17px;color:#fff;background:var(--navy);border-radius:10px;box-shadow:0 15px 40px rgba(5,23,51,.25); }.toast.error { background:var(--red); }
.login-page { min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 70% 15%,#d9e8ff,transparent 30%),var(--soft); }.login-card { width:min(440px,100%);padding:42px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 80px rgba(7,27,59,.15); }.login-brand { height:auto;padding:0;margin-bottom:52px;color:var(--navy); }.login-brand .admin-brand-mark i { background:var(--navy); }.login-brand .admin-brand-mark i:first-child { background:var(--blue); }.login-brand small { color:#6e7d92; }.login-card h1 { margin:7px 0 8px;font-size:32px;letter-spacing:-.04em; }.login-card p { color:var(--text); }.login-card form { margin-top:28px; }.login-card label { display:block;color:var(--text);font-weight:700; }.login-card input { width:100%;height:49px;margin:7px 0 14px;padding:0 13px;border:1px solid #cdd4df;border-radius:9px; }.login-card button { width:100%;height:49px;color:#fff;background:var(--blue);border:0;border-radius:9px;font-weight:750; }.login-error { padding:11px 13px;color:#a72727;background:#ffeded;border-radius:8px; }.back-link { display:block;margin-top:20px;color:#66758a;text-align:center;font-size:12px; }
@media(max-width:1100px){.sidebar{width:205px}.admin-main{margin-left:205px}.kpi-grid{grid-template-columns:1fr 1fr}.analytics-grid,.tables-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar{position:static;width:auto;height:auto}.admin-brand{height:62px}.sidebar nav{flex-direction:row;overflow-x:auto}.sidebar nav a{flex:0 0 auto}.sidebar nav a:nth-child(n+3){display:none}.sidebar-footer{display:none}.admin-main{margin-left:0}.admin-topbar{display:none}.admin-content{padding:20px 14px}.page-heading{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr}.analytics-grid,.tables-grid{grid-template-columns:1fr}.funnel>div{grid-template-columns:.75fr 1fr auto}.login-card{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
