:root{--bg:#091119;--panel:#0f1a24;--panel2:#13222f;--border:#263b4b;--text:#edf3f7;--muted:#8ea0ad;--orange:#f59a3c;--green:#69d08e;--red:#ff7c73;--yellow:#ffd56b}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{height:66px;display:flex;align-items:center;gap:20px;padding:0 22px;background:#0c151e;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1001}.logo{font-weight:900;font-size:22px;white-space:nowrap}.logo span{color:var(--orange)}.search{flex:1;max-width:720px;background:#081019;border:1px solid #304351;color:white;border-radius:10px;padding:11px 14px;outline:none}.user{color:#a9bac6;white-space:nowrap}.shell{display:grid;grid-template-columns:270px 1fr;min-height:calc(100vh - 66px)}.sidebar{padding:20px 14px;background:#0d1821;border-right:1px solid var(--border);position:sticky;top:66px;height:calc(100vh - 66px);overflow:auto}.nav button{width:100%;text-align:left;border:0;color:#c4d0d9;background:transparent;padding:11px 12px;border-radius:9px;margin:2px 0}.nav button:hover,.nav button.active{background:#1a2a37;color:white}.side-label{margin:24px 8px 9px;text-transform:uppercase;font-weight:800;letter-spacing:1.4px;font-size:11px;color:#728796}.quick button{width:100%;text-align:left;border:0;background:transparent;color:#b9c7d0;padding:8px 12px;border-radius:8px}.quick button:hover{background:#15232e}.main{padding:22px;min-width:0}.pagehead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}h1,h2,h3{margin-top:0}h1{font-size:30px;margin-bottom:3px}.muted{color:var(--muted)}.btn{border:0;border-radius:9px;padding:10px 14px;font-weight:800}.primary{background:var(--orange);color:#111}.secondary{background:#20323f;color:#e8f0f5;border:1px solid #314755}.danger{background:#3b2020;color:#ffd1cd}.map-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px}#map{height:560px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#0b141c}.listpanel{height:560px;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:10px}.project-card{background:#12202b;border:1px solid #263b4a;border-radius:11px;padding:13px;margin-bottom:9px;position:relative}.project-card:hover{border-color:#476172}.project-card h3{font-size:15px;margin:4px 0 2px;padding-right:55px}.tag{display:inline-block;padding:4px 7px;border-radius:6px;background:#1b2d3a;color:#b7c7d1;font-size:10px;margin-right:4px}.score{position:absolute;right:10px;top:10px;background:#11281c;color:#8ee6ac;border:1px solid #29563c;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.meta{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:9px 0}.meta div{background:#0c161e;border-radius:7px;padding:7px}.meta small{display:block;color:#758a99}.meta b{font-size:12px}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.filterbar select,.filterbar input{background:#0c171f;border:1px solid #2d4250;color:#dce6ec;border-radius:8px;padding:9px 10px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:17px}.statline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:14px}.stat b{display:block;font-size:23px}.stat small{color:var(--muted)}.modal{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:2000}.modalbox{width:min(900px,100%);max-height:90vh;overflow:auto;background:#0f1b25;border:1px solid #345063;border-radius:16px;padding:22px}.close{float:right;background:#20313d;border:0;color:white;border-radius:8px;padding:7px 10px}.pipeline{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.column{background:#0e1820;border:1px solid var(--border);border-radius:12px;padding:12px;min-height:300px}.lead{background:#15232d;border:1px solid #2b4050;border-radius:9px;padding:10px;margin-bottom:8px}.source-card{background:#101d27;border:1px solid var(--border);border-radius:12px;padding:15px;margin-bottom:12px}.badge-good{color:#86e2a3}.badge-warn{color:#ffd16c}.importbox{border:1px dashed #3b5669;border-radius:12px;padding:18px;background:#0c171f}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:9px;border-bottom:1px solid #223543;text-align:left}th{color:#9aadb9}.note{font-size:12px;color:#758a97;margin-top:10px}.leaflet-container{background:#0b1319}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#101b24;color:#fff}.leaflet-control-zoom a{background:#13222d!important;color:#fff!important;border-color:#2c4352!important}.crm-modal{align-items:flex-start;padding:18px}.crm-command{width:min(1380px,98vw);max-height:calc(100vh - 36px);padding:0;overflow:auto}.crm-header{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 26px 18px;background:rgba(15,27,37,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}.crm-header h1{margin:0 0 4px;font-size:28px}.crm-close{float:none;font-size:22px;line-height:1;padding:9px 12px}.crm-kicker{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:2px;margin-bottom:7px}.crm-loading{padding:50px 26px;color:var(--muted)}#crm-command-body{padding:0 26px 26px}.crm-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0 12px}.crm-metrics .stat b{font-size:18px;margin-top:5px}.crm-health em{font-style:normal;font-size:10px;color:var(--green);border:1px solid #29563c;background:#11281c;border-radius:999px;padding:3px 7px;margin-left:6px}.crm-today{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(90deg,#152738,#101d27);border:1px solid #365268;border-radius:13px;padding:13px 15px;margin-bottom:14px}.crm-today strong{display:block;font-size:13px}.crm-today span{display:block;color:#aebec8;font-size:12px;margin-top:2px}.crm-presets{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.crm-presets button,.crm-contact-actions button,.crm-contact-actions a{background:#1b303f;color:#dce8ee;border:1px solid #355165;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800;text-decoration:none}.crm-presets button:hover,.crm-contact-actions button:hover,.crm-contact-actions a:hover{border-color:var(--orange);color:white}.crm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.crm-wide{grid-column:1/-1}.crm-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}.crm-section-head h3{margin:0}.crm-section-head span{font-size:12px;color:var(--muted)}.crm-contact-head{margin-top:18px}.crm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.crm-field{display:block;margin-bottom:11px}.crm-field span{display:block;color:#9fb1bd;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.crm-field input,.crm-field select,.crm-field textarea{width:100%;background:#08131d;border:1px solid #304858;border-radius:8px;color:white;padding:10px;outline:none}.crm-field textarea{min-height:85px;resize:vertical}.crm-targets{display:grid;gap:8px}.crm-target{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#0a1620;border:1px solid #2b4353;border-radius:10px;padding:11px}.crm-target b{display:inline-block;margin-left:7px}.crm-target small{display:block;color:#8398a6;margin-top:4px}.crm-rank{color:var(--orange);font-weight:900;font-size:11px}.crm-contact-head{margin-top:18px}.crm-contact-list{display:grid;gap:8px;margin-bottom:14px}.crm-contact{display:flex;justify-content:space-between;gap:10px;background:#0b161f;border:1px solid #233a49;border-radius:10px;padding:11px;font-size:13px}.crm-contact-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.crm-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.crm-quick-actions button{background:#182b38;color:#eaf2f6;border:1px solid #315064;border-radius:999px;padding:8px 12px;font-weight:700}.crm-quick-actions button:hover{border-color:var(--orange)}.crm-timeline{display:grid;gap:0}.crm-activity{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #203542}.crm-activity small{color:#718794}.crm-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);margin-top:5px;box-shadow:0 0 0 4px rgba(245,154,60,.12)}.crm-pipeline{grid-template-columns:repeat(9,minmax(240px,1fr));overflow-x:auto;padding-bottom:14px}.crm-pipeline .column{min-height:420px}.crm-pipeline .lead{position:relative;padding:14px}.crm-pipeline .lead .btn{width:100%;margin-top:12px}.crm-pipe-score{position:absolute;right:10px;top:10px;color:var(--green);font-size:11px;font-weight:900}.crm-pipe-money{font-size:18px;font-weight:900;margin-top:12px}.crm-next{background:#0b161f;border-radius:7px;padding:8px;margin-top:10px;font-size:12px;color:#c7d4dc}.today-command-center{margin:0 0 20px}.today-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px}.today-head h2{font-size:24px;margin:1px 0 3px}.today-kicker{color:var(--orange);font-size:11px;font-weight:900;letter-spacing:2px}.today-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.today-stat{background:linear-gradient(145deg,#12222e,#0d1922);border:1px solid #2b4252;border-radius:12px;padding:12px 14px}.today-stat small{display:block;color:#8fa2af;font-size:11px;font-weight:700}.today-stat b{display:block;font-size:21px;margin-top:3px}.today-stat.dangerish{border-color:#583438}.today-stat.dangerish b{color:var(--red)}.today-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:12px}.today-section-head h3{margin-bottom:3px}.today-lead{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid #203440}.today-lead:last-child{border-bottom:0}.today-rank{font-size:13px;font-weight:900;color:var(--orange)}.today-lead-top{display:flex;justify-content:space-between;gap:10px}.today-lead-top b{font-size:14px}.today-priority{color:var(--green);font-size:12px;font-weight:900}.today-reason{font-size:11px;color:#8296a4;margin-top:5px}.today-next{font-size:12px;color:#d8e3e9;margin-top:5px}.today-next span{color:var(--orange);font-weight:800}.today-actions{display:flex;gap:6px}.today-actions .btn{font-size:11px;padding:7px 9px}.today-side{display:grid;gap:12px;align-content:start}.today-mini{display:flex;align-items:baseline;gap:9px;padding:10px 0;border-bottom:1px solid #203440}.today-mini:last-child{border-bottom:0}.today-mini b{font-size:22px}.today-mini span{color:#92a4b0;font-size:12px}.today-fast{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#0b1720;border:1px solid #263d4c;color:#edf3f7;border-radius:9px;padding:10px;margin-top:7px;text-align:left}.today-fast:hover{border-color:var(--orange)}.today-fast small{color:#8296a4}.phase4-intelligence{margin:0 0 20px;padding:20px}.phase4-intelligence .today-section-head{margin-bottom:16px}.phase4-intelligence .today-section-head h3{font-size:22px;margin:2px 0 3px}.phase4-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.phase4-stats>div{background:linear-gradient(145deg,#12222e,#0d1922);border:1px solid #2b4252;border-radius:11px;padding:12px 14px}.phase4-stats small{display:block;color:#8fa2af;font-size:11px;font-weight:700;margin-bottom:3px}.phase4-stats b{display:block;font-size:22px}.phase4-list{display:grid;gap:9px}.phase4-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.65fr) minmax(260px,1.2fr) auto;gap:16px;align-items:center;background:#0b1720;border:1px solid #263d4c;border-radius:11px;padding:13px 14px}.phase4-row>div{min-width:0}.phase4-row>div:first-child>b{display:block;font-size:14px}.phase4-row small{display:block;color:#8296a4;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.45px;margin-bottom:3px}.phase4-row>div:nth-child(2)>b,.phase4-row>div:nth-child(3)>b{display:block;font-size:13px}.phase4-delta{display:inline-block;margin-top:4px;color:var(--green);font-size:10px;font-weight:900;background:#11281c;border:1px solid #29563c;border-radius:999px;padding:2px 6px}.phase4-row .btn{white-space:nowrap;font-size:11px;padding:8px 11px}.phase4-changes{margin-top:16px;padding-top:14px;border-top:1px solid #223744}.phase4-changes h4{margin:0 0 7px;font-size:14px}@media(max-width:1050px){.map-wrap{grid-template-columns:1fr}.listpanel{height:auto;max-height:420px}.pipeline:not(.crm-pipeline){grid-template-columns:1fr 1fr}.crm-grid{grid-template-columns:1fr}.crm-wide{grid-column:auto}.crm-today{align-items:flex-start;flex-direction:column}.crm-presets{justify-content:flex-start}.today-stats{grid-template-columns:repeat(3,1fr)}.today-grid{grid-template-columns:1fr}.phase4-row{grid-template-columns:minmax(0,1fr) minmax(140px,.55fr);gap:10px}.phase4-row>div:nth-child(3){grid-column:1/2}.phase4-row>.btn{grid-column:2;grid-row:2}}@media(max-width:760px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:0 10px}.main{padding:13px}.map-wrap{display:block}.listpanel{margin-top:12px}.statline,.crm-metrics,.crm-form-grid{grid-template-columns:1fr 1fr}#map{height:430px}.crm-modal{padding:6px}.crm-command{max-height:calc(100vh - 12px)}.crm-header{padding:16px}.crm-header h1{font-size:22px}#crm-command-body{padding:0 14px 18px}.crm-target,.crm-contact{align-items:flex-start;flex-direction:column}.crm-contact-actions{justify-content:flex-start}.today-head{flex-direction:column}.today-stats{grid-template-columns:1fr 1fr}.today-lead{grid-template-columns:28px 1fr}.today-actions{grid-column:2}.today-lead-top{flex-direction:column;gap:3px}.phase4-intelligence{padding:15px}.phase4-stats{grid-template-columns:1fr}.phase4-row{grid-template-columns:1fr}.phase4-row>div:nth-child(3),.phase4-row>.btn{grid-column:auto;grid-row:auto}.phase4-row>.btn{width:max-content}}