:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:#111827;color:#f8fafc;padding:22px 18px}.brand{display:flex;align-items:center;gap:12px}.brandMark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:#2dd4bf;color:#10212b;font-weight:800}.brand small{display:block;color:#8ea2bd;margin-top:2px}nav{display:grid;gap:8px;margin-top:32px}nav button,.iconText,.iconOnly,.primary,.rowToggle{border:0;cursor:pointer}nav button{display:flex;align-items:center;gap:10px;color:#d7deea;background:transparent;padding:11px 12px;border-radius:8px;text-align:left}nav button.active,nav button:hover{background:#263244;color:#fff}.main{min-width:0}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 22px;background:#fffffff2;border-bottom:1px solid #e2e8f0}.period,.actions,.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}label{display:grid;gap:6px;color:#64748b;font-size:12px;font-weight:700;text-transform:uppercase}input{min-height:38px;border:1px solid #d5deea;border-radius:8px;background:#fff;padding:0 10px;color:#172033}.iconText,.iconOnly,.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:8px}.iconText{background:#e8eef8;color:#1f3a5f;padding:0 12px}.iconOnly{width:38px;background:#172033;color:#fff}.primary{width:100%;color:#fff;background:#2563eb;padding:0 16px}.content{padding:22px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.metric,.panel,.loginPanel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 28px #0f172a0f}.metric{padding:14px}.metric small{display:block;color:#64748b;margin-bottom:8px}.metric strong{font-size:28px;line-height:1}.chartGrid,.reportGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel{padding:16px;min-width:0}.panel h2{margin:0 0 14px;font-size:17px}.filters{margin-bottom:14px}.filters input{min-width:180px}.searchBox{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d5deea;border-radius:8px;padding-left:10px}.searchBox input{border:0}.tableWrap{overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:8px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:11px 12px;border-bottom:1px solid #edf2f7;text-align:left;vertical-align:top;white-space:nowrap}th{color:#475569;background:#f8fafc;font-size:12px;text-transform:uppercase}.rowToggle{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:#eef2f7}.expanded td{background:#fbfdff}.leadCard{display:grid;gap:14px;padding:12px 0}.leadInfo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.leadInfo div{padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.leadInfo small{display:block;color:#64748b;margin-bottom:5px}.history td,.compact td{white-space:normal}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:12px;font-weight:700}.badge.good{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.badge.neutral{background:#e8eef8;color:#334155}.loginScreen{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,#f8fafc,#e8eef8 50%,#ecfdf5)}.loginPanel{width:min(420px,100%);display:grid;gap:16px;padding:24px}.loginBrand{margin-bottom:6px}.error{margin:0;color:#b91c1c}.loading{padding:40px;color:#64748b}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{position:static;padding:14px}nav{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.topbar{align-items:flex-start;flex-direction:column}.chartGrid,.reportGrid,.leadInfo{grid-template-columns:1fr}}
