:root{--bg:#f6f7fb;--panel:#fff;--text:#202235;--muted:#72758b;--line:#e7e8ef;--primary:#635bff;--primary2:#5148eb;--green:#16a34a;--yellow:#f2b705;--red:#ef4444;--nav:#151827;--shadow:0 10px 30px rgba(24,26,46,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:var(--nav);color:#d9dbea;padding:20px 14px;position:sticky;top:0;height:100vh}.logo{display:flex;gap:10px;align-items:center;font-weight:800;font-size:18px;padding:6px 10px 24px}.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#786fff,#b565ff);color:white;font-weight:900}.nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;margin:3px 0;color:#aeb2c8;font-size:14px}.nav a:hover,.nav a.active{background:#262a3d;color:#fff}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:50}.content{padding:26px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:25px;margin:0 0 5px}.muted{color:var(--muted)}.small{font-size:12px}.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;gap:7px;align-items:center;justify-content:center}.btn:hover{box-shadow:0 4px 16px rgba(40,42,70,.08)}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.danger{color:#b91c1c}.btn.wide{width:100%}.grid{display:grid;gap:18px}.grid.cols4{grid-template-columns:repeat(4,1fr)}.grid.cols3{grid-template-columns:repeat(3,1fr)}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.card.pad{padding:20px}.metric{padding:18px}.metric .value{font-size:30px;font-weight:850;margin-top:5px}.metric .label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.metric .delta{font-size:12px;margin-top:8px;color:var(--green)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:#fafafe}tr:last-child td{border-bottom:0}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.status.complete{background:#dcfce7;color:#166534}.status.running,.status.queued{background:#e0e7ff;color:#3730a3}.status.failed{background:#fee2e2;color:#991b1b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:750;color:#4b4e64}.span2{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #dcdfea;border-radius:9px;padding:11px 12px;background:white;font:inherit;color:var(--text)}input:focus,select:focus,textarea:focus{outline:2px solid #dddaff;border-color:#8b84ff}.hint{font-weight:400;color:var(--muted)}.alert{padding:12px 14px;border-radius:10px;margin:10px 0}.alert.success{background:#ecfdf5;color:#166534}.alert.danger{background:#fef2f2;color:#991b1b}.login-bg{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at top,#ecebff,#f7f8fc 48%)}.install-card{width:min(720px,100%);background:#fff;padding:32px;border-radius:18px;box-shadow:0 20px 60px rgba(44,47,76,.13)}.install-card h1{margin:15px 0 5px}.report-shell{background:#f2f3f7;min-height:100vh}.report-top{background:white;border-bottom:1px solid var(--line);padding:13px 24px;display:flex;align-items:center;justify-content:space-between}.report-brand{display:flex;gap:10px;align-items:center;font-weight:800}.report-wrap{max-width:1480px;margin:auto;padding:18px}.report-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}.map-card{overflow:hidden;position:relative}.map{height:690px;background:#e7e9ee}.side-panel{display:flex;flex-direction:column;gap:14px}.business-card{padding:18px}.business-card h2{font-size:18px;margin:0 0 5px}.keyword-pill{display:inline-block;border:1px solid var(--line);background:#f8f8fd;border-radius:8px;padding:7px 10px;font-weight:700;font-size:13px;margin-top:9px}.rank-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px}.rank-box{padding:12px;border:1px solid var(--line);border-radius:10px}.rank-box b{font-size:22px;display:block}.legend{display:flex;gap:10px;align-items:center;font-size:11px;color:var(--muted);padding:10px 14px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.green{background:var(--green)}.dot.yellow{background:var(--yellow)}.dot.red{background:var(--red)}.rank-marker{width:39px;height:39px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:3px solid white;box-shadow:0 2px 8px rgba(0,0,0,.25);display:grid;place-items:center}.rank-marker span{transform:rotate(45deg);color:#fff;font-weight:900;font-size:13px;text-shadow:0 1px 1px rgba(0,0,0,.2)}.rank-marker.green{background:var(--green)}.rank-marker.yellow{background:var(--yellow)}.rank-marker.red{background:var(--red)}.leaflet-div-icon{background:transparent!important;border:0!important}.drawer{position:absolute;right:12px;top:12px;width:330px;max-height:calc(100% - 24px);overflow:auto;background:white;border-radius:12px;box-shadow:0 16px 45px rgba(24,26,46,.25);z-index:500;padding:14px;display:none}.drawer.show{display:block}.drawer h3{margin:0 0 4px}.comp-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);align-items:center}.rank-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f1f2f7;font-weight:800;font-size:12px}.progress{height:9px;background:#eceef5;border-radius:999px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#635bff,#9a65ff);width:0}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs button{border:0;background:transparent;padding:10px 12px;font-weight:750;color:var(--muted);cursor:pointer}.tabs button.active{color:var(--primary);border-bottom:2px solid var(--primary)}.section-title{font-size:16px;margin:0 0 12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.copybox{display:flex;gap:8px}.copybox input{font-size:12px}.analysis{white-space:pre-wrap;line-height:1.58;font-size:14px}.footer-note{text-align:center;color:var(--muted);font-size:11px;padding:18px}.empty{padding:45px;text-align:center;color:var(--muted)}@media(max-width:1050px){.app{grid-template-columns:76px 1fr}.sidebar .logo span,.nav a span{display:none}.sidebar .logo{justify-content:center}.nav a{justify-content:center}.report-grid{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:1fr 1fr}.map{height:580px}}@media(max-width:720px){.app{display:block}.sidebar{height:auto;position:static;display:none}.content{padding:14px}.topbar{padding:0 14px}.grid.cols4,.grid.cols3,.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.page-head{align-items:flex-start;flex-direction:column}.report-top{padding:10px 13px}.report-wrap{padding:10px}.side-panel{display:flex}.map{height:520px}.drawer{left:8px;right:8px;width:auto}.report-top .contact{display:none}}

/* v1.1 URL-to-GBP client intake */
.lookup-hero{background:linear-gradient(135deg,rgba(99,91,255,.08),rgba(255,255,255,1));}
.url-lookup-row{display:flex;gap:14px;align-items:end}.url-lookup-row label{margin:0}.url-lookup-row .btn{height:44px;white-space:nowrap;margin-bottom:1px}
.lookup-results{display:grid;gap:12px}.lookup-result{transition:.15s ease}.lookup-result:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(24,34,56,.10)}
.lookup-result-main{display:flex;justify-content:space-between;gap:20px;align-items:center}.lookup-result h3{margin:3px 0 7px}.page-head.compact{margin-bottom:10px}
@media(max-width:720px){.url-lookup-row,.lookup-result-main{display:block}.url-lookup-row .btn,.lookup-result-main .btn{width:100%;margin-top:12px}}



/* v1.1.4 GeoGrid map: use Leaflet defaults and native SVG markers. */
#map.map{position:relative;overflow:hidden;background:#e7e9ee}
#map .leaflet-container,#map.leaflet-container{width:100%;height:100%}
#map .leaflet-tile{max-width:none!important;max-height:none!important}
#map .leaflet-pane img{max-width:none!important;max-height:none!important}
.rank-label-v114{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;font-weight:900!important;font-size:11px!important;line-height:1!important;text-align:center!important;pointer-events:none!important;padding:0!important;margin:0!important}
.rank-label-v114:before{display:none!important}
.map-render-status{font-weight:700;color:#52566d;margin-left:6px;white-space:nowrap}
