:root{--ink:#172129;--muted:#63717b;--line:#dfe5e8;--paper:#fff;--bg:#f1f4f5;--green:#167c4f;--green-dark:#0d5635;--red:#c52d32;--amber:#b46b00;--nav:#142128;--shadow:0 12px 32px rgba(23,33,41,.08)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;font-size:16px;line-height:1.45}.topbar{height:72px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:10}.brand,.auth-brand{display:flex;align-items:center;gap:12px;font-weight:760;letter-spacing:.01em}.brand{color:#fff;text-decoration:none}.brand-mark{display:inline-grid;place-items:center;background:var(--green);color:#fff;border-radius:7px;padding:7px 9px;font-weight:850;letter-spacing:.04em}.topbar nav{display:flex;align-items:center;gap:22px}.topbar nav a,.link-button{color:#dfe8e4;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:8px 0}.topbar nav a:hover,.link-button:hover{color:#fff}.topbar form{margin:0}.page{max-width:1240px;margin:0 auto;padding:42px 24px 72px}.page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;margin:4px 0 0;letter-spacing:-.04em}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin:0}.muted{color:var(--muted)}button,.primary{font:inherit}.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--green);border:1px solid var(--green);color:#fff;border-radius:8px;padding:11px 17px;font-weight:730;text-decoration:none;cursor:pointer;box-shadow:0 5px 15px rgba(22,124,79,.18)}.primary:hover{background:var(--green-dark)}.primary.inline{margin-top:12px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow);min-height:132px;display:flex;flex-direction:column}.kpi span,.kpi small{color:var(--muted)}.kpi strong{font-size:1.8rem;margin:8px 0 5px;letter-spacing:-.03em}.kpi-alert{border-top:4px solid var(--red)}.source-strip{display:flex;gap:28px;background:#e7ecee;border:1px solid #d8e0e3;border-radius:10px;padding:13px 17px;margin:0 0 22px}.source-strip>div{display:flex;align-items:center;gap:8px}.source-strip span:last-child{color:var(--muted);font-size:.9rem}.status-dot{width:10px;height:10px;border-radius:50%;background:#9aa5aa;display:inline-block}.status-dot.connected,.status-dot.ready_for_live_test{background:var(--green)}.status-dot.configured{background:#4285f4}.status-dot.needs_login,.status-dot.not_configured{background:var(--amber)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);margin-top:18px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line)}.panel-head h2,.source-title h2{margin:0;font-size:1.12rem}.panel-head span{color:var(--muted);font-size:.9rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:middle}th{background:#f8fafb;color:#62717a;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfc}.num{text-align:right;white-space:nowrap}.project-link{display:flex;flex-direction:column;color:var(--ink);text-decoration:none}.project-link strong{color:var(--green)}.project-link span{font-size:.92rem}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;white-space:nowrap}.status-pill.red{background:#fde7e8;color:#a81f24}.status-pill.yellow{background:#fff0d6;color:#8c5200}.status-pill.green{background:#daf2e7;color:#12633f}.status-pill.large{font-size:.9rem;padding:8px 12px}.back{display:inline-block;color:var(--green);font-weight:700;text-decoration:none;margin-bottom:20px}.project-head{align-items:center}.alert{border-radius:9px;padding:14px 16px;margin:14px 0}.alert.danger{background:#fdebed;border:1px solid #f2bec2;color:#8e2025}.alert.warning{background:#fff4dc;border:1px solid #efd49a;color:#7c5106}.alert.success{background:#e2f3eb;border:1px solid #addac6;color:#155d3e}.position-state{font-size:.82rem;color:var(--amber);font-weight:700}.empty,.empty-card{text-align:center;color:var(--muted);padding:32px}.settings-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.settings-card{padding:24px;overflow:visible;margin:0}.source-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:22px}.source-title .status-dot{margin-top:7px}.source-title p{margin:4px 0 0;color:var(--muted)}dl{margin:0 0 22px}dl>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}dt{color:var(--muted)}dd{margin:0;font-weight:680}.form-stack{display:grid;gap:15px}.form-stack label{display:grid;gap:7px;font-weight:680;color:#34434b}.form-stack input{width:100%;font:inherit;border:1px solid #bdc8cc;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink)}.form-stack input:focus{outline:3px solid rgba(22,124,79,.16);border-color:var(--green)}.info-box{background:#eef4f7;border-radius:9px;padding:16px;color:#43545d}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,480px);background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 24px 70px rgba(23,33,41,.13)}.auth-card h1{font-size:2rem;line-height:1.1;margin:8px 0 12px;letter-spacing:-.035em}.auth-brand{margin-bottom:32px}.empty-card{text-align:left}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.page{padding-top:28px}.source-strip{flex-direction:column;gap:9px}}
@media(max-width:640px){body{font-size:15px}.topbar{height:auto;min-height:68px;padding:12px 18px;align-items:flex-start}.brand>span:last-child{display:none}.topbar nav{gap:14px;flex-wrap:wrap;justify-content:flex-end}.page{padding:26px 16px 56px}.page-head{align-items:flex-start;flex-direction:column}.page-head form,.page-head .primary{width:100%}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:16px;min-height:118px}.kpi strong{font-size:1.35rem}.source-strip{padding:13px}.panel-head{align-items:flex-start;flex-direction:column}.auth-card{padding:26px 22px}.project-head .status-pill{align-self:flex-start}}
@media(max-width:420px){.kpi-grid{grid-template-columns:1fr}}

