@font-face{font-family:GeistSans;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:GeistSans;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:GeistSans;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:GeistSans;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-sans/Geist-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:GeistMono;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:GeistMono;src:url(https://cdn.jsdelivr.net/npm/geist@1.3.1/dist/fonts/geist-mono/GeistMono-Medium.woff2) format("woff2");font-weight:500;font-display:swap}:root{--bg: #f7f8f7;--surface: #ffffff;--surface-2: #fafbfa;--surface-sunken: #f1f3f2;--line: #e6e8e7;--line-strong: #d3d6d4;--line-soft: #eef0ef;--ink: #0b1418;--ink-2: #2a3439;--ink-3: #5a6469;--ink-4: #8b9398;--ink-5: #b3b9bd;--primary: #0e1a1f;--primary-hover: #1b2a30;--primary-active: #050b0e;--blue: #1b65d4;--blue-hover: #1455bc;--blue-soft: #ddeaff;--blue-ink: #0c3580;--accent: #237a4a;--accent-hover: #1c6a3f;--accent-soft: #e6f1ea;--accent-ink: #11371f;--viable: #237a4a;--viable-soft: #e6f1ea;--viable-ink: #11371f;--marginal: #b87514;--marginal-soft: #fbf0dc;--marginal-ink: #5a3805;--not-viable: #a83a2a;--not-viable-soft: #f7e3df;--not-viable-ink: #561a11;--neutral-soft: #eceeed;--neutral-ink: #3a4347;--status-new: #1d4f8b;--status-new-soft: #e3ecf6;--status-progressing: #237a4a;--status-progressing-soft: #e6f1ea;--status-callback: #b87514;--status-callback-soft: #fbf0dc;--status-parked: #6b7378;--status-parked-soft: #ececec;--status-closed: #4a3a6b;--status-closed-soft: #ece6f3;--font-sans: "GeistSans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "GeistMono", ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-xl: 14px;--shadow-pop: 0 1px 0 rgba(11, 20, 24, .04), 0 6px 18px -8px rgba(11, 20, 24, .12);--shadow-modal: 0 24px 60px -20px rgba(11, 20, 24, .35), 0 8px 20px -8px rgba(11, 20, 24, .18);--shadow-card: 0 1px 0 rgba(11, 20, 24, .03);--row-h: 44px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app{height:100vh;min-height:100vh;display:grid;grid-template-rows:auto 1fr;background:var(--bg)}.nav{height:60px;display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--surface);border-bottom:1px solid var(--line);padding:0 20px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,#164f45,#237a69);box-shadow:0 4px 12px #164f4538;position:relative;flex-shrink:0;overflow:hidden}.brand-mark:before{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#f3ad45;top:5px;right:4px}.brand-mark:after{content:"";position:absolute;width:40px;height:17px;border-radius:50%;border:2.5px solid rgba(255,255,255,.9);border-top-color:transparent;border-left-color:transparent;transform:rotate(-26deg);left:-11px;bottom:0}.brand-name{font-size:15px;font-weight:600}.brand-sub{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);line-height:1}.brand-env{margin-left:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4);border:1px solid var(--line);padding:1px 6px;border-radius:999px;background:var(--surface-2)}.nav-tabs{display:flex;gap:2px;align-items:center;margin-right:6px}.nav-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;color:var(--ink-3);font-size:13.5px;font-weight:500;padding:7px 12px;border-radius:6px;transition:background .12s,color .12s;display:inline-flex;align-items:center;gap:7px}.nav-tab:hover{background:var(--surface-sunken);color:var(--ink)}.nav-tab[aria-current=true]{background:var(--blue);color:#fff}.nav-tab[aria-current=true]:hover{background:var(--blue-hover)}.nav-tab .pill-count{font-family:var(--font-mono);font-size:11px;background:var(--line-strong);color:var(--ink-2);padding:1px 6px;border-radius:999px;font-weight:500}.nav-tab[aria-current=true] .pill-count{background:#ffffff38;color:#fff}.nav-right{display:flex;align-items:center;gap:8px}.search-box{display:flex;align-items:center;gap:6px;background:var(--surface-sunken);border:1px solid transparent;border-radius:7px;padding:5px 10px;width:240px}.search-box input{border:none;background:transparent;outline:none;flex:1;font-size:13px}.search-box kbd{font-family:var(--font-mono);font-size:10.5px;background:var(--surface);color:var(--ink-4);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.avatar{width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#4c5c63,#1a262b);color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:600;letter-spacing:.02em}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface-sunken);color:var(--ink-3);font-size:13px;font-weight:500;padding:7px 12px;border-radius:7px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .12s,border-color .12s,transform .04s,color .12s;white-space:nowrap;line-height:1.2}.btn:hover{background:var(--line-soft);border-color:var(--line-strong);color:var(--ink)}.btn:active{transform:translateY(.5px)}.btn.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-3)}.btn.btn-ghost:hover{background:var(--surface-sunken);color:var(--ink)}.btn.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn.btn-primary:active{background:var(--primary-active)}.btn.btn-accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.btn-danger-ghost{color:var(--not-viable);border-color:transparent}.btn.btn-danger-ghost:hover{background:var(--not-viable-soft);border-color:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--surface);border-color:var(--line-strong);transform:none}.btn.btn-sm{padding:4px 8px;font-size:12px;border-radius:6px}.btn.btn-lg{padding:10px 16px;font-size:14px;border-radius:8px}.action-icon{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;color:var(--ink-4);width:28px;height:28px;border-radius:5px;display:inline-grid;place-items:center}.action-icon:hover{background:var(--surface-sunken);color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;margin-bottom:14px}.card-pad{padding:18px 20px}.section-title{font-size:12px;font-weight:500;color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;margin:0}.mono{font-family:var(--font-mono)}.tabular{font-variant-numeric:tabular-nums}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:500;border-radius:999px;line-height:1.4;letter-spacing:.01em;white-space:nowrap}.pill .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.pill-viable{color:var(--viable-ink);background:var(--viable-soft)}.pill-viable .dot{background:var(--viable)}.pill-marginal{color:var(--marginal-ink);background:var(--marginal-soft)}.pill-marginal .dot{background:var(--marginal)}.pill-not-viable{color:var(--not-viable-ink);background:var(--not-viable-soft)}.pill-not-viable .dot{background:var(--not-viable)}.pill-neutral{color:var(--neutral-ink);background:var(--neutral-soft)}.pill-neutral .dot{background:var(--ink-4)}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:1px 8px;font-size:11.5px;border-radius:999px;font-weight:500;white-space:nowrap}.stage-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;font-size:12px;font-weight:500;border-radius:999px;line-height:1.4;white-space:nowrap;border:1px solid transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.stage-pill-caret{font-size:9px;line-height:1;opacity:.7}.stage-pill-active{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-soft)}.stage-pill-future_contact{color:var(--marginal-ink);background:var(--marginal-soft);border-color:var(--marginal-soft)}.stage-pill-archived{color:var(--neutral-ink);background:var(--neutral-soft);border-color:var(--neutral-soft)}.stage-pill-dead{color:var(--not-viable-ink);background:var(--not-viable-soft);border-color:var(--not-viable-soft)}.stage-pill:hover{filter:brightness(.97)}.status-new{color:var(--status-new);background:var(--status-new-soft)}.status-contacted{color:var(--ink-2);background:var(--surface-sunken)}.status-callback{color:var(--status-callback);background:var(--status-callback-soft)}.status-progressing{color:var(--status-progressing);background:var(--status-progressing-soft)}.status-closed{color:var(--status-closed);background:var(--status-closed-soft)}.status-parked{color:var(--status-parked);background:var(--status-parked-soft)}.page{max-width:1320px;margin:0 auto;padding:26px 24px 80px}.page-wide{max-width:1400px}.page-narrow{max-width:1100px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0}.page-sub{color:var(--ink-3);font-size:13.5px;margin-top:2px}.page-actions{display:flex;gap:8px;align-items:center}.toolbar{display:flex;align-items:flex-end;gap:8px;padding:10px 14px;border:1px solid var(--line);border-bottom:none;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-wrap:wrap}.filter-field{display:flex;flex-direction:column;gap:4px}.filter-label{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);padding-left:2px}.filter-group{display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:2px}.filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;font-size:12.5px;color:var(--ink-3);padding:4px 10px;border-radius:5px;font-weight:500;display:inline-flex;align-items:center;gap:5px}.filter-chip:hover{color:var(--ink)}.filter-chip[aria-pressed=true]{background:var(--blue);color:#fff;box-shadow:none}.filter-chip[aria-pressed=true]:hover{background:var(--blue-hover)}.filter-chip .count{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-4)}.filter-chip[aria-pressed=true] .count{color:#ffffffb3}.toolbar .spacer{flex:1}.toolbar .toolbar-search{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:4px 10px;min-width:220px}.toolbar .toolbar-search input{border:none;background:transparent;outline:none;flex:1;font-size:13px}select.plain{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;width:170px;padding:5px 24px 5px 8px;font-size:12.5px;color:var(--ink-2);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'><path d='M2 4l3 3 3-3' stroke='%235a6469' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer}.lead-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden}table.lead-table{width:100%;border-collapse:collapse;font-size:13px}.lead-table thead th{text-align:left;font-weight:600;color:var(--ink-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--surface-sunken);position:sticky;top:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.lead-table thead th.sortable{cursor:pointer}.lead-table thead th.sortable:hover{color:var(--ink-2)}.lead-table thead th .arrow{opacity:.4;font-size:10px}.lead-table thead th.sort-active .arrow{opacity:1;color:var(--accent)}.lead-table tbody td{padding:12px;border-bottom:1px solid var(--line-soft);vertical-align:middle;height:var(--row-h)}.lead-table tbody tr{transition:background .08s;cursor:pointer}.lead-table tbody tr:hover{background:var(--surface-2)}.lead-table tbody tr:last-child td{border-bottom:none}.lead-name{font-weight:700;font-size:14px;color:var(--ink)}.lead-meta{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-4)}.eircode{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);letter-spacing:.02em}.score-cell{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.score-num{font-family:var(--font-mono);font-weight:600;font-size:13px;min-width:22px}.score-bar{width:64px;height:6px;background:var(--surface-sunken);border-radius:3px;overflow:hidden}.score-bar .fill{height:100%;border-radius:2px;background:var(--viable)}.score-bar .fill.marginal{background:var(--marginal)}.score-bar .fill.low{background:var(--not-viable)}.kwh-cell{font-family:var(--font-mono);font-size:12.5px;color:var(--ink-2)}.kwh-pending{color:var(--ink-4)}.row-actions{display:flex;gap:2px;justify-content:flex-end}.empty-state{padding:60px 20px;text-align:center;color:var(--ink-4)}.empty-state .ic{width:36px;height:36px;margin:0 auto 8px;color:var(--ink-5)}.table-foot{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink-4);border-top:1px solid var(--line-soft)}.detail-back{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:13.5px;font-weight:500;margin-bottom:18px;cursor:pointer;background:var(--blue-soft);border:1px solid rgba(27,101,212,.25);border-radius:var(--r-sm);padding:7px 14px;transition:background .12s,color .12s}.detail-back:hover{background:#ccdeff;color:var(--blue-ink)}.detail-head{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 22px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:14px;box-shadow:var(--shadow-card)}.detail-name{font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0;display:flex;align-items:center;gap:10px}.detail-meta{margin-top:6px;display:flex;gap:16px;color:var(--ink-3);font-size:13px;align-items:center;flex-wrap:wrap}.detail-meta .sep{color:var(--line-strong)}.detail-meta a{color:var(--ink-2);text-decoration:none;font-family:var(--font-mono);font-size:12.5px}.detail-meta a:hover{color:var(--accent)}.detail-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;margin-bottom:14px}.detail-row-bottom{grid-column:1 / -1;display:grid;grid-template-columns:minmax(220px,.8fr) 1.7fr;gap:16px;align-items:stretch}@media (max-width: 1100px){.detail-row-bottom{grid-template-columns:1fr}}.quote-activity-card{margin-bottom:0}.qa-header{min-height:48px;justify-content:space-between}.qa-header h2{margin:0;font:inherit}.qa-revision-pill{display:inline-flex;align-items:center;gap:7px;padding:3px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink-3);font-size:11.5px;font-weight:500}.qa-record{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 20px}.qa-record+.qa-record{border-top:1px solid var(--line-soft)}.qa-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink-3)}.qa-icon--link{border-color:#cdddf7;background:var(--blue-soft);color:var(--blue)}.qa-content{min-width:0}.qa-title-row{display:flex;align-items:center;gap:9px;min-height:26px}.qa-title-row h3{margin:0;font-size:14px;font-weight:650;letter-spacing:-.01em}.qa-status{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.45}.qa-status--success{color:var(--viable);background:var(--viable-soft)}.qa-status--neutral{color:var(--neutral-ink);background:var(--neutral-soft)}.qa-status--warning{color:var(--marginal-ink);background:var(--marginal-soft)}.qa-status--danger{color:var(--not-viable-ink);background:var(--not-viable-soft)}.qa-metadata,.qa-secondary-metadata{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:5px;color:var(--ink-3);font-size:12px}.qa-secondary-metadata{margin-top:8px;color:var(--ink-4);font-size:11px}.qa-separator{color:var(--ink-5)}.qa-quote-id{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.qa-empty,.qa-helper,.qa-alert{margin:7px 0 0;color:var(--ink-4);font-size:12px;line-height:1.45}.qa-helper{margin-top:10px;color:var(--ink-3)}.qa-alert{color:var(--not-viable-ink)}.qa-actions{display:flex;justify-content:flex-end;min-width:0}.qa-actions--tracked{flex-direction:column;align-items:stretch;gap:10px}.qa-action-btn{min-height:34px;justify-content:center}.qa-create-action{display:flex;flex-direction:column;align-items:center;gap:5px}.qa-create-action>span{color:var(--ink-4);font-size:10.5px}.qa-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 0;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface-2)}.qa-metrics>div{position:relative;display:flex;min-width:0;flex-direction:column-reverse;align-items:center;justify-content:center;gap:3px;min-height:62px;padding:8px;text-align:center}.qa-metrics>div+div:before{content:"";position:absolute;inset:10px auto 10px 0;width:1px;background:var(--line)}.qa-metrics dd{max-width:100%;margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:13px;font-weight:650;font-variant-numeric:tabular-nums}.qa-metrics dt{color:var(--ink-4);font-size:9px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}.qa-generated-link{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:8px 10px;border-radius:7px;background:var(--blue-soft);color:var(--ink-3);font-size:11.5px}.qa-generated-link a{color:var(--blue);overflow-wrap:anywhere}.qa-history{margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}.qa-history-title{margin-bottom:7px;color:var(--ink-4);font-size:9.5px;font-weight:650;letter-spacing:.065em;text-transform:uppercase}.qa-history-row{display:grid;grid-template-columns:minmax(135px,auto) 1fr;gap:3px 12px;padding:7px 0;color:var(--ink-4);font-size:11px}.qa-history-row+.qa-history-row{border-top:1px solid var(--line-soft)}.qa-history-row>div{grid-row:1 / span 2;display:flex;align-items:baseline;gap:6px;color:var(--ink-2)}.qa-history-pill{padding:1px 5px;border-radius:999px;background:var(--neutral-soft);color:var(--neutral-ink);font-size:9px;font-weight:600}@media (max-width: 850px){.qa-record{grid-template-columns:54px minmax(0,1fr)}.qa-actions{grid-column:2;justify-content:flex-start}.qa-actions--tracked{flex-direction:row;align-items:flex-start}}@media (max-width: 600px){.qa-record{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:15px 14px}.qa-icon{width:38px;height:38px}.qa-icon svg{width:18px;height:18px}.qa-metrics{grid-template-columns:1fr 1fr}.qa-metrics>div:nth-child(3),.qa-metrics>div:nth-child(4){border-top:1px solid var(--line)}.qa-metrics>div:nth-child(3):before{display:none}.qa-actions,.qa-actions--tracked{grid-column:1 / -1;width:100%;flex-direction:column}.qa-action-btn,.qa-create-action,.qa-create-action .qa-action-btn{width:100%}.qa-history-row{grid-template-columns:1fr}.qa-history-row>div{grid-row:auto}.qa-quote-id{max-width:min(100%,210px)}}.combined-card{overflow:hidden}.combined-grid{display:grid;grid-template-columns:1fr 1fr;height:100%}.combined-section{padding:16px 18px}.combined-section--right{border-left:1px solid var(--line-soft);background:var(--surface-2)}.solar-data{width:100%;border-collapse:collapse;font-size:13px}.solar-data td{padding:7px 0;border-bottom:1px solid var(--line-soft)}.solar-data tr:last-child td{border-bottom:none}.solar-data td:first-child{color:var(--ink-3);font-size:12.5px;width:50%}.solar-data td:last-child{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;font-size:13px}.aerial-card{overflow:hidden;margin-bottom:0}.aerial{position:relative;aspect-ratio:16/9;background:#2d3a3f;overflow:hidden}.aerial img{width:100%;height:100%;object-fit:cover;display:block}.aerial-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--ink-5);font-size:13px}.aerial-toolbar{position:absolute;top:10px;left:10px;display:flex;gap:6px;z-index:2}.aerial-toolbar .chip{background:#ffffffeb;color:#0b1418;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:inline-flex;align-items:center;gap:5px;box-shadow:0 1px 5px #00000038;transition:background .1s}.aerial-toolbar .chip.viable{background:var(--blue);color:#fff}.aerial-toolbar .chip:not([disabled]):not(.viable):hover{background:#fff}.aerial-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);color:#e63030;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));pointer-events:none;z-index:3}.aerial-date-tag{position:absolute;bottom:10px;right:10px;background:#ffffffe0;color:#0b1418;font-size:11px;font-weight:500;font-family:var(--font-mono, monospace);padding:3px 9px;border-radius:4px;pointer-events:none;z-index:3;letter-spacing:.03em;box-shadow:0 1px 4px #0000002e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.score-big-card{padding:16px 18px;margin-bottom:0}.score-big-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.score-big{font-size:44px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.score-big-sub{font-size:12px;color:var(--ink-3);margin-top:4px}.score-breakdown{margin-top:10px;display:flex;flex-direction:column;gap:6px}.score-bd-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:12.5px}.score-bd-row .k{color:var(--ink-3)}.score-bd-bar{grid-column:1 / -1;height:4px;background:var(--surface-sunken);border-radius:2px;overflow:hidden}.score-bd-bar .f{height:100%;background:var(--viable);border-radius:2px}.score-bd-bar .f.marg{background:var(--marginal)}.sidecard{padding:0;overflow:hidden;margin-bottom:0}.sidecard-head{padding:12px 16px 10px;border-bottom:1px solid var(--line-soft);font-size:12px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;font-weight:500;display:flex;align-items:center;justify-content:space-between}.sidecard-body{padding:14px 16px 16px}.kv{display:grid;grid-template-columns:110px 1fr;gap:6px 14px;font-size:13px}.kv .k{color:var(--ink-4);font-size:12.5px}.kv .v{color:var(--ink)}.kv .v.mono{font-family:var(--font-mono);font-size:12.5px}.upload-prompt{border:1px dashed var(--line-strong);border-radius:8px;padding:14px;text-align:center;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:background .12s,border-color .12s}.upload-prompt:hover{background:var(--accent-soft);border-color:var(--accent)}.upload-prompt .pi{width:24px;height:24px;color:var(--ink-3)}.upload-prompt .ttl{font-weight:500;font-size:13px}.upload-prompt .sub{font-size:11.5px;color:var(--ink-4)}.system-card{padding:16px 18px;background:linear-gradient(135deg,var(--primary) 0%,#16242a 100%);color:#fff;border-color:transparent;margin-bottom:0}.system-card .ttl{font-size:12px;color:#a8b5bb;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.system-card .v{font-size:28px;font-weight:600;letter-spacing:-.015em;margin-top:2px}.system-card .row{display:flex;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.system-card .row .lk{color:#a8b5bb;font-size:12px}.system-card .row .vk{font-family:var(--font-mono);font-size:13px;font-weight:500}.notes-bar{margin-bottom:14px;padding:14px 18px;display:flex;flex-direction:column;gap:8px;overflow:visible}.notes-bar-head{display:flex;align-items:center;justify-content:space-between}.notes-box{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:10px 12px;font-size:13.5px;color:var(--ink);line-height:1.5;min-height:56px;width:100%;resize:vertical;outline:none}.notes-box:focus{border-color:var(--ink-4);background:var(--surface)}.action-bar{position:sticky;bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;z-index:10}.action-bar-buttons{display:flex;align-items:center;gap:8px}.action-bar .summary{font-size:13px;color:var(--ink-3);flex:1;display:flex;align-items:center;gap:12px}.action-bar .summary strong{color:var(--ink);font-weight:500}.divider-h{height:1px;background:var(--line-soft);margin:12px 0}.row-flex{display:flex;align-items:center;gap:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b141873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:grid;place-items:center;padding:24px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-modal);width:520px;max-width:100%;overflow:hidden;animation:pop .18s cubic-bezier(.2,1,.3,1.05)}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head{padding:16px 20px 12px;border-bottom:1px solid var(--line-soft);display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal-head h3{margin:0;font-size:16px;font-weight:600}.modal-head .sub{font-size:13px;color:var(--ink-3);margin-top:3px}.modal-body{padding:16px 20px 20px}.modal-foot{padding:12px 20px;border-top:1px solid var(--line-soft);background:var(--surface-2);display:flex;justify-content:flex-end;align-items:center;gap:10px}@media (max-width: 1100px){.detail-grid,.combined-grid{grid-template-columns:1fr}.combined-section--right{border-left:none;border-top:1px solid var(--line-soft)}}@media (max-width: 900px){.lead-table-wrap{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}table.lead-table{min-width:1060px}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block;flex-shrink:0}.spinner.dark{border-color:#0b14181a;border-top-color:var(--ink-3)}.spinner.lg{width:20px;height:20px;border-width:2.5px}.loading-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 20px;color:var(--ink-4);font-size:13px}.app-body{display:flex;overflow:hidden}.app-body-wizard{flex-direction:column}.step-content{flex:1;overflow-y:auto;padding:32px 36px;background:var(--bg)}.step-body{max-width:720px;margin:0 auto}.step-body.wide{max-width:1200px}.wizard-nav{flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--line);padding:10px 24px 12px}.wizard-nav-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.wizard-nav-context{display:flex;align-items:center;gap:16px;min-width:0}.wizard-nav-progress{display:flex;align-items:center;gap:10px;flex-shrink:0}.wn-step-count{font-size:11px;color:var(--ink-3);font-weight:600;font-family:var(--font-mono);white-space:nowrap}.wn-progress-bar{width:130px;height:4px;background:var(--line);border-radius:999px;overflow:hidden}.wn-progress-fill{height:100%;background:var(--blue);border-radius:999px;transition:width .3s ease}.wizard-nav-steps{display:flex;align-items:flex-start}.wn-connector{flex:1;height:2px;min-width:12px;background:var(--line);margin:11px 6px 0}.wn-connector.done{background:var(--viable)}.wn-step{display:flex;align-items:flex-start;gap:8px;padding:4px 8px;border:none;background:none;border-radius:8px;text-align:left;cursor:default;font:inherit}.wn-step.accessible{cursor:pointer}.wn-step.accessible:hover{background:var(--surface-sunken)}.wn-step.active{background:var(--blue-soft)}.wn-dot{position:relative;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;flex-shrink:0;font-family:var(--font-mono)}.wn-dot.done{background:var(--viable);color:#fff}.wn-dot.active{background:var(--blue);color:#fff;box-shadow:0 0 0 3px var(--blue-soft)}.wn-dot.pending{background:var(--line);color:var(--ink-4)}.wn-dot.fail{background:var(--not-viable);color:#fff}.wn-step-text{display:flex;flex-direction:column;gap:1px;min-width:0;padding-top:2px}.wn-step-label{font-size:11.5px;color:var(--ink-3);font-weight:500;white-space:nowrap}.wn-step.active .wn-step-label{font-weight:700;color:var(--blue-ink)}.wn-step.done .wn-step-label{color:var(--ink)}.wn-step-summary{font-size:10px;color:var(--ink-4);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}@media (max-width: 1200px){.wn-step-summary{display:none}}@media (max-width: 920px){.wn-progress-bar{width:90px}}@media (max-width: 760px){.app-body-wizard,.step-content,.step-body{width:100%;min-width:0}.step-content{padding:24px 20px;overflow-x:hidden}.wizard-nav{width:100%;min-width:0;overflow:hidden}.wizard-nav-steps{min-width:0}.wn-connector{min-width:4px;margin-inline:2px}.wizard-nav{padding:8px 12px 10px}.wn-step-label{display:none}.wn-step.active .wn-step-label{display:inline}.wn-step{padding:5px 6px}}@media (max-width: 600px){.nav{padding-inline:12px}.nav .brand>div:last-child{display:none}.nav-right{gap:4px}.nav-tabs{gap:0;margin-right:0}.nav-tab{gap:4px;padding-inline:7px;font-size:0}.nav-tab .pill-count{font-size:10px}.nav-right>.btn-primary{width:34px;padding-inline:0;justify-content:center;overflow:hidden;font-size:0}.page{padding:20px 14px 72px}.page-header{align-items:flex-start;flex-direction:column;gap:12px}.page-actions{width:100%;flex-wrap:wrap}.page-actions .btn{flex:1 1 auto;justify-content:center}.toolbar{padding:10px}.filter-field{flex:1 1 calc(50% - 8px);min-width:130px}select.plain{width:100%}.toolbar .spacer{display:none}.toolbar .toolbar-search{width:100%;min-width:0}.lead-table-wrap{overflow-x:auto}table.lead-table{min-width:0;table-layout:fixed}.lead-table th:nth-child(4),.lead-table td:nth-child(4),.lead-table th:nth-child(5),.lead-table td:nth-child(5),.lead-table th:nth-child(6),.lead-table td:nth-child(6),.lead-table th:nth-child(7),.lead-table td:nth-child(7){display:none}.lead-table th:nth-child(1),.lead-table td:nth-child(1){width:34%}.lead-table th:nth-child(2),.lead-table td:nth-child(2){width:21%}.lead-table th:nth-child(3),.lead-table td:nth-child(3){width:28%}.lead-table th:nth-child(8),.lead-table td:nth-child(8){width:17%}.lead-table thead th,.lead-table tbody td{padding:9px 7px}.lead-name{font-size:12.5px;overflow-wrap:anywhere}.lead-meta,.eircode{font-size:9.5px}.lead-table .pill{max-width:100%;padding-inline:6px;font-size:9px}.lead-table .pill .dot{display:none}.row-actions{flex-wrap:wrap;justify-content:center}.row-actions .action-icon{width:26px;height:26px}.detail-head{grid-template-columns:minmax(0,1fr);padding:16px}.detail-name{align-items:flex-start;flex-wrap:wrap;font-size:20px}.detail-name-text{flex-basis:100%}.detail-meta{gap:7px 9px;overflow-wrap:anywhere}.detail-meta .sep{display:none}.detail-head>.page-actions{justify-content:flex-start}.action-bar{position:static;align-items:stretch;flex-direction:column;margin-bottom:0}.action-bar-buttons{width:100%;align-items:stretch;flex-direction:column}.action-bar-buttons .btn{width:100%;justify-content:center}.wizard-action-bar .step-actions-note{margin:0;text-align:center;white-space:normal}.panel-main .canvas-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.panel-main .canvas-controls>.control-group:first-child,.panel-main .canvas-controls>.btn{grid-column:1 / -1}.panel-main .canvas-controls>.control-group{width:100%;min-width:0!important;justify-content:space-between}.panel-main .canvas-controls>.btn{justify-content:center}.modal-backdrop{display:flex;align-items:center;justify-content:center;padding:12px}.modal{width:100%!important;max-width:100%!important;max-height:calc(100vh - 24px);overflow-y:auto}.modal-head,.modal-body{padding-inline:16px}.new-lead-address-row{display:flex;flex-direction:column;gap:8px}.new-lead-address-row .text-input{margin-bottom:0}.new-lead-address-row .btn{width:100%;justify-content:center}.new-lead-fields{display:grid;grid-template-columns:1fr;gap:0}.new-lead-footer{display:flex;padding:12px 16px;border-top:1px solid var(--line-soft);gap:8px}.new-lead-footer .btn{flex:1;justify-content:center}.imp-modal{width:100%;max-width:100%;max-height:calc(100vh - 24px);border-radius:12px}.imp{--imp-pad: 16px}.imp-head{padding-block:16px}.imp-head h2{font-size:20px}.imp-body{gap:16px}.imp-foot{align-items:stretch;flex-direction:column;padding-block:12px}.imp-foot .imp-btn{width:100%;justify-content:center}.imp-drop{padding:32px 16px}.cA-slot{align-items:flex-start;flex-direction:column}.cA-slot-field,.cA-slot-drop{width:100%}}@media (max-width: 420px){.wn-step.active .wn-step-label{display:none}.wn-step{padding-inline:4px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.panel-workspace{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start;margin-bottom:16px}.panel-aside{padding-top:4px}.panel-aside .step-title,.step-body.step-pricing>.step-title{margin-top:0;margin-bottom:2px}.panel-aside .step-subtitle,.step-body.step-pricing>.step-subtitle{margin-top:0}.panel-main{min-width:0}.panel-main .canvas-controls{margin-bottom:12px}@media (max-width: 880px){.panel-workspace{grid-template-columns:1fr;gap:12px}}.optimiser-control{display:flex;align-items:center;justify-content:center;gap:6px}.opt-step{width:20px;height:20px;padding:0;border:1px solid var(--line);background:var(--surface);border-radius:4px;color:var(--ink-3);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.opt-step:hover:not(:disabled){background:var(--surface-sunken);color:var(--ink)}.opt-step:disabled{opacity:.4;cursor:default}.opt-val{min-width:18px;text-align:center;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}.opt-total{font-size:15px;font-weight:600;color:var(--ink);margin-left:4px;font-variant-numeric:tabular-nums}@media (max-width: 880px){.readout-strip{flex-wrap:wrap}.readout-strip .readout-cell{flex:1 1 33%;border-bottom:1px solid var(--line-soft)}}@media (max-width: 560px){.readout-strip .readout-cell{flex:1 1 50%}}.wizard-action-bar{margin-top:20px}.wizard-action-bar .step-actions-note{margin-right:12px}.wizard-action-bar.disclosures-open{position:static}.step-eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:6px;font-family:var(--font-mono)}.step-title{font-size:24px;font-weight:700;color:var(--ink);margin-bottom:6px;letter-spacing:-.015em}.step-subtitle{font-size:15px;color:var(--ink-3);margin-bottom:22px;line-height:1.55}.card-header{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line-soft);font-weight:600;font-size:13px;color:var(--ink)}.card-body{padding:16px}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.fact-row{display:flex;flex-direction:column;gap:2px}.fact-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);font-family:var(--font-mono)}.fact-value{font-size:13.5px;font-weight:500;color:var(--ink)}.fact-value.muted{color:var(--ink-3);font-weight:400}.fact-value.large{font-size:18px;font-weight:700;color:var(--accent)}.badge{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border-radius:999px;text-transform:uppercase;font-family:var(--font-mono)}.badge-high{background:var(--viable-soft);color:var(--viable-ink)}.badge-medium{background:var(--marginal-soft);color:var(--marginal-ink)}.badge-low{background:var(--not-viable-soft);color:var(--not-viable-ink)}.badge-blue{background:var(--accent-soft);color:var(--accent-ink)}.badge-gray{background:var(--neutral-soft);color:var(--neutral-ink)}.alert{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--r-md);font-size:13.5px;margin-bottom:14px}.alert-error{background:var(--not-viable-soft);border:1px solid rgba(168,58,42,.25);color:var(--not-viable-ink)}.alert-warn{background:var(--marginal-soft);border:1px solid rgba(184,117,20,.25);color:var(--marginal-ink)}.alert-info{background:var(--accent-soft);border:1px solid rgba(35,122,74,.25);color:var(--accent-ink)}.alert-icon{flex-shrink:0;margin-top:1px}.outcome-hero{border-radius:var(--r-md);padding:18px 20px;margin-bottom:14px;display:flex;align-items:center;gap:16px}.outcome-hero.feasible{background:var(--viable-soft);border:1.5px solid rgba(35,122,74,.3)}.outcome-hero.review{background:var(--marginal-soft);border:1.5px solid rgba(184,117,20,.3)}.outcome-hero.fail{background:var(--not-viable-soft);border:1.5px solid rgba(168,58,42,.3)}.outcome-icon{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.outcome-icon.feasible{background:#237a4a26;color:var(--viable)}.outcome-icon.review{background:#b8751426;color:var(--marginal)}.outcome-icon.fail{background:#a83a2a26;color:var(--not-viable)}.outcome-title{font-weight:600;font-size:15px;margin-bottom:2px}.outcome-hero.feasible .outcome-title{color:var(--viable-ink)}.outcome-hero.review .outcome-title{color:var(--marginal-ink)}.outcome-hero.fail .outcome-title{color:var(--not-viable-ink)}.outcome-sub{font-size:12.5px;color:var(--ink-3)}.rule-list{display:flex;flex-direction:column;gap:4px}.rule-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3)}.rule-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.rule-dot.pass{background:var(--viable)}.rule-dot.warn{background:var(--marginal)}.rule-dot.fail{background:var(--not-viable)}.readout-strip{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:14px}.readout-cell{flex:1;padding:12px 16px;text-align:center;border-right:1px solid var(--line-soft)}.readout-cell:last-child{border-right:none}.readout-val{font-size:20px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.015em}.readout-lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);margin-top:2px;font-family:var(--font-mono)}.step-actions{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:22px;border-top:2px solid var(--line-soft)}.step-actions .btn-primary{padding:12px 28px;font-size:15px;font-weight:600;border-radius:9px}.step-actions-note{font-size:13px;color:var(--ink-4)}.upload-zone{border:1.5px dashed var(--line-strong);border-radius:var(--r-md);padding:36px 24px;text-align:center;background:var(--surface-2);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:12px}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-soft)}.upload-zone-icon{color:var(--ink-4);margin-bottom:10px}.upload-zone-text{font-size:13.5px;color:var(--ink-3)}.upload-zone-text strong{color:var(--accent);cursor:pointer}.upload-zone-hint{font-size:12.5px;color:var(--ink-4);margin-top:4px}.file-selected{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);margin-bottom:12px;font-family:var(--font-mono)}.file-selected-name{font-weight:500;color:var(--ink);font-family:var(--font-sans)}.address-row{display:flex;gap:8px;margin-bottom:14px}.address-row input{flex:1;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:13.5px;outline:none;color:var(--ink);background:var(--surface)}.address-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.text-input{width:100%;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:13.5px;outline:none;color:var(--ink);background:var(--surface);margin-bottom:8px}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-hint{font-size:12px;color:var(--ink-4);margin-bottom:12px}.datepicker{position:relative;margin-bottom:8px}.datepicker-trigger{width:100%;text-align:left;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);font-size:13.5px;color:var(--ink);background:var(--surface);cursor:pointer}.datepicker-trigger:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.datepicker-pop{position:fixed;z-index:200;width:248px;padding:10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:0 8px 24px #0000001f}.datepicker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.datepicker-title{font-size:13px;font-weight:600;color:var(--ink)}.datepicker-nav{width:24px;height:24px;border:none;background:transparent;cursor:pointer;border-radius:var(--r-sm);color:var(--ink-3);font-size:16px;line-height:1}.datepicker-nav:hover{background:var(--surface-2);color:var(--ink)}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-wd{text-align:center;font-size:10px;color:var(--ink-4);padding:2px 0;font-weight:600}.datepicker-day{aspect-ratio:1;border:none;background:transparent;cursor:pointer;border-radius:var(--r-sm);font-size:12.5px;color:var(--ink-2)}.datepicker-day:hover{background:var(--surface-2)}.datepicker-day.empty{cursor:default}.datepicker-day.today{font-weight:700;color:var(--accent)}.datepicker-day.selected{background:var(--accent);color:#fff}.datepicker-foot{margin-top:8px;display:flex;justify-content:flex-end}.datepicker-today{border:none;background:transparent;cursor:pointer;font-size:12px;color:var(--accent);font-weight:500;padding:2px 4px}.datepicker-today:hover{text-decoration:underline}.price-table{width:100%;font-size:13px;border-collapse:collapse}.price-table tr{border-bottom:1px solid var(--line-soft)}.price-table tr:last-child{border-bottom:none}.price-table td{padding:9px 12px}.price-table td:last-child{text-align:right;font-weight:500;font-family:var(--font-mono)}.price-table .total-row td{font-weight:600;background:var(--surface-2)}.price-table .rebate-row td{color:var(--viable-ink)}.step-body.wide.step-pricing{max-width:1360px}.pricing-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;align-items:stretch}.pricing-two-col>.card{margin-bottom:0}.pricing-two-col.disclosure-row{margin-bottom:0}.savings-input-grid+.pricing-two-col.disclosure-row{margin-top:14px}.savings-input-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px}.savings-input-grid.disclosure-body{padding:12px 14px;background:var(--surface-2);border-top:1px solid var(--line-soft)}.savings-field{display:flex;flex-direction:column;gap:3px;min-width:0}.savings-field-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-3);font-weight:500}.savings-field-ro{font-size:13px;color:var(--ink);font-family:var(--font-mono);padding:3px 0}.disclosure-card{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.disclosure-trigger{padding:10px 14px;font-size:13px;color:var(--ink);font-weight:600;align-items:center}.disclosure-head{display:flex;flex-direction:column;gap:2px;min-width:0}.disclosure-title{display:flex;align-items:center;gap:8px}.disclosure-summary{font-size:11px;color:var(--ink-4);font-weight:400;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.disclosure-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;color:var(--ink-4)}.disclosure-count{font-size:11px;font-family:var(--font-mono);white-space:nowrap}.disclosure-edited{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--not-viable-soft);color:var(--not-viable-ink);padding:2px 6px;border-radius:9px}@media (max-width: 1100px){.pricing-two-col{grid-template-columns:1fr}.savings-input-grid{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.savings-input-grid{grid-template-columns:1fr}}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);font-family:var(--font-mono)}.summary-value{font-size:14px;font-weight:500;color:var(--ink)}.canvas-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.control-group{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 12px;font-size:12.5px}.control-label{color:var(--ink-4);font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.control-group select,.control-group input[type=range]{border:none;background:transparent;font-size:13px;color:var(--ink);outline:none;cursor:pointer}.control-group input[type=range]{width:80px}.angle-label{font-weight:600;color:var(--accent);font-size:13px;min-width:28px;font-family:var(--font-mono)}.canvas-wrap{position:relative;border-radius:var(--r-md);overflow:hidden;background:#1a202c;margin-bottom:12px;cursor:crosshair;max-width:1200px;margin-left:auto;margin-right:auto}.canvas-wrap canvas{display:block;width:100%}.canvas-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#000000a6;color:#fff;font-size:12px;padding:5px 12px;border-radius:20px;white-space:nowrap;pointer-events:none;transition:opacity .3s}.canvas-hint.hidden{opacity:0}.fallback-panel{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;margin-bottom:12px}.fallback-label{font-size:12.5px;color:var(--ink-3);margin-bottom:10px}.fallback-row{display:flex;align-items:center;gap:12px}.fallback-row input[type=range]{flex:1}.fallback-count{font-weight:600;font-size:14px;color:var(--accent);min-width:80px;font-family:var(--font-mono)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b141873;display:flex;align-items:center;justify-content:center;z-index:100}.dialog{background:var(--surface);border-radius:var(--r-lg);padding:24px;max-width:400px;width:90%;box-shadow:var(--shadow-modal)}.dialog-title{font-weight:600;font-size:15px;margin-bottom:8px;color:var(--ink)}.dialog-body{font-size:13.5px;color:var(--ink-3);margin-bottom:20px;line-height:1.5}.dialog-actions{display:flex;gap:8px;justify-content:flex-end}.collapsible-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:8px 0;font-size:12.5px;font-weight:500;color:var(--ink-4);border:none;background:transparent;width:100%;text-align:left}.collapsible-trigger:hover{color:var(--ink)}.satellite-img{width:100%;display:block}.mock-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;color:var(--marginal-ink);background:var(--marginal-soft);border:1px solid rgba(184,117,20,.3);padding:2px 8px;border-radius:999px;font-family:var(--font-mono)}.section-divider{border:none;border-top:1px solid var(--line-soft);margin:18px 0}.uk-name-row{display:flex;gap:8px;margin-bottom:8px}.feasibility-reasons{list-style:none;padding:0;margin:0}.feasibility-reason{display:flex;align-items:flex-start;font-size:13px;color:var(--ink-3);padding:5px 0;border-bottom:1px solid var(--line-soft);line-height:1.5}.feasibility-reason:last-child{border-bottom:none}.tooltip-wrap{display:inline-flex;align-items:center}.lead-tooltip{background:#1b2a30;color:#fff;border-radius:8px;padding:12px 14px;min-width:195px;max-width:235px;z-index:9999;box-shadow:0 10px 32px #0006;pointer-events:none;border:1px solid rgba(255,255,255,.07);font-size:12px;line-height:1.5}.lead-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1b2a30}.lead-tooltip-title{font-weight:600;font-size:12px;margin-bottom:9px;display:flex;justify-content:space-between;align-items:center}.lead-tooltip-band{font-size:10.5px;color:#fff6;margin-top:9px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.lead-tooltip-dim{display:flex;align-items:center;gap:6px;margin-bottom:5px}.lead-tooltip-dim-label{width:72px;font-size:10.5px;color:#ffffff80;flex-shrink:0}.lead-tooltip-dim-bar-track{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.lead-tooltip-dim-bar-fill{height:100%;border-radius:2px}.lead-tooltip-dim-val{width:22px;text-align:right;font-size:10.5px;font-family:var(--font-mono);color:#ffffffa6;flex-shrink:0}.export-edit-wrap{display:inline-flex;align-items:center;gap:3px}.export-edit-input{background:transparent;border:none;border-bottom:1.5px solid transparent;padding:1px 2px;font-size:13.5px;font-weight:500;color:var(--ink);font-family:var(--font-sans);outline:none;min-width:32px;transition:border-color .15s}.export-edit-input:hover{border-bottom-color:var(--line-strong)}.export-edit-input:focus{border-bottom-color:var(--blue)}.export-edit-suffix{font-size:12.5px;color:var(--ink-3);font-weight:400}.quote-edit-field{display:flex;flex-direction:column;gap:5px}.quote-field-label{font-size:10.5px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:.055em}.quote-field-input{padding:7px 10px;border:1.5px solid var(--line-strong);border-radius:var(--r-sm);font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface-2);outline:none;width:100%;box-sizing:border-box;transition:border-color .15s,background .15s;font-family:var(--font-sans)}.quote-field-input:hover{border-color:var(--blue)}.quote-field-input:focus{border-color:var(--blue);background:var(--surface)}.step-body.wide.step-export{max-width:1380px}.export-review{min-width:0;padding-bottom:4px}.export-review-header{margin-bottom:18px}.export-review-header .step-subtitle{margin-bottom:0}.export-review-grid{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:20px;align-items:start}.export-review-card{margin:0;min-width:0;overflow:hidden}.export-review-card>.card-header{font-size:14px;gap:8px}.export-card-section{padding:15px 17px;min-width:0}.export-card-section-divided{border-top:1px solid var(--line)}.export-section-title{margin:0 0 12px;color:var(--ink-2);font-size:12px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.export-details-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:11px 22px;margin:0 0 14px}.export-detail{min-width:0}.export-detail-wide{grid-column:1 / -1}.export-detail dt,.export-outcomes-grid dt{margin-bottom:3px;color:var(--ink-4);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.065em;text-transform:uppercase}.export-detail dd,.export-outcomes-grid dd{margin:0;color:var(--ink);font-size:13.5px;font-weight:500;overflow-wrap:anywhere}.export-detail dd{line-height:1.35}.export-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px}.export-payback-toggle{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--ink-2);cursor:pointer;font-size:12.5px}.export-payback-toggle input{margin:0}.export-pricing-table{table-layout:fixed}.export-pricing-table td{padding:8px 0}.export-pricing-table td:first-child{padding-right:16px;overflow-wrap:anywhere}.export-pricing-table td:last-child{width:160px}.export-pricing-table .export-grant-row td{color:var(--ink-2);background:transparent}.export-pricing-table .export-total-row td{border-top:2px solid var(--line-strong);background:var(--surface-2);font-weight:700}.export-discount-label{color:var(--ink-3)}.export-discount-value{margin-left:6px;color:var(--ink-3);font-size:11px}.export-discount-control{display:flex;align-items:center;justify-content:flex-end;gap:5px}.export-discount-mode{padding:3px 7px;border:1px solid var(--line-strong);border-radius:4px;background:var(--surface-2);color:var(--ink-3);cursor:pointer;font-family:var(--font-mono);font-size:11px;font-weight:600;line-height:1.4}.export-discount-mode:hover,.export-discount-mode:focus-visible{border-color:var(--blue);outline:none}.export-discount-input{width:72px;padding:4px 7px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);color:var(--ink);font-family:var(--font-mono);font-size:13px;text-align:right}.export-discount-input:focus{border-color:var(--blue);outline:none}.export-system-grid{margin-bottom:0}.export-scenario-scroll{max-width:100%;overflow-x:auto}.export-scenario-table{width:100%;min-width:430px;border-collapse:collapse;color:var(--ink-2);font-size:12px}.export-scenario-table th,.export-scenario-table td{padding:8px 7px;border-bottom:1px solid var(--line-soft);text-align:right;vertical-align:middle}.export-scenario-table thead th{color:var(--ink-4);font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.055em;text-transform:uppercase}.export-scenario-table th:first-child{width:47%;text-align:left}.export-scenario-table tbody th{color:var(--ink-2);font-weight:500}.export-scenario-table tbody td{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.export-scenario-table tbody tr.is-selected{background:var(--blue-soft)}.export-scenario-table tbody tr:last-child th,.export-scenario-table tbody tr:last-child td{border-bottom:0}.export-selected-badge{display:flex;align-items:center;width:fit-content;gap:4px;margin-top:3px;color:var(--blue);font-size:9.5px;font-weight:700;letter-spacing:.025em}.export-scenario-note{margin:9px 0 0;color:var(--ink-3);font-size:11px;font-style:italic;line-height:1.4}.export-outcomes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.export-outcomes-grid>div{min-width:0}.export-outcomes-grid dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.export-generation-alert{margin:14px 0 0}.export-action-footer{position:sticky;z-index:15;bottom:-20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:16px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 -5px 18px #171f230f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.export-back-action{white-space:nowrap}.export-footer-status{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;color:var(--viable-ink);font-size:12px;font-weight:600}.export-footer-actions{display:flex;align-items:center;gap:8px}.export-footer-actions .btn{white-space:nowrap}.export-download-action{order:1}.export-email-action{order:2}.export-generate-action{order:3}@media (max-width: 1100px){.export-review-grid{grid-template-columns:1fr}.export-action-footer{grid-template-columns:auto 1fr}.export-footer-status{grid-column:1 / -1;grid-row:1;justify-content:flex-end}.export-back-action{grid-column:1;grid-row:2}.export-footer-actions{grid-column:2;grid-row:2;justify-self:end}}@media (max-width: 760px){.step-body.wide.step-export{width:100%}.export-form-grid,.export-details-grid{grid-template-columns:1fr}.export-detail-wide{grid-column:auto}.export-outcomes-grid{grid-template-columns:1fr}.export-pricing-table td:last-child{width:128px}.export-action-footer{position:static;display:flex;flex-direction:column;align-items:stretch;gap:9px}.export-footer-status{order:1;justify-content:flex-start}.export-back-action{order:2;justify-content:center}.export-footer-actions{display:flex;flex-direction:column;align-items:stretch;order:3}.export-footer-actions .btn{width:100%;justify-content:center}}.pricing-addon-control{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-weight:400}.pricing-addon-checkbox{width:20px;height:20px;margin:0;accent-color:var(--blue)}.pricing-num-input{width:46px;height:26px;margin:0;padding:0 5px 0 8px;border:1.5px solid var(--line-strong);border-radius:5px;background:var(--surface);color:var(--ink);cursor:pointer;font-family:var(--font-mono);font-size:13px;line-height:1}.pricing-num-input:hover{border-color:var(--ink-4)}.pricing-num-input:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.pricing-num-input::-webkit-outer-spin-button,.pricing-num-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pricing-num-input{-moz-appearance:textfield}.pricing-edit-input{background:transparent;border:none;border-bottom:1.5px dashed var(--ink-4);padding:1px 2px;font-size:13px;font-weight:500;color:var(--ink-2);font-family:var(--font-sans);outline:none;text-align:right;transition:border-color .15s}.pricing-edit-input:hover{border-bottom-color:var(--blue);border-bottom-style:solid}.pricing-edit-input:focus{border-bottom:1.5px solid var(--blue);color:var(--ink)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-family:var(--font-sans);font-size:12px;font-weight:500;white-space:nowrap;padding:5px 9px;border-radius:5px;pointer-events:none;opacity:0;transition:opacity .15s .08s;z-index:200}[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--ink);pointer-events:none;opacity:0;transition:opacity .15s .08s;z-index:200}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1}[data-tooltip][data-tooltip-align=right]:after{left:auto;right:0;transform:none}[data-tooltip][data-tooltip-align=right]:before{left:auto;right:8px;transform:none}.lead-table tbody tr[data-viability=viable]>td:first-child{box-shadow:inset 3px 0 0 var(--viable)}.lead-table tbody tr[data-viability=marginal]>td:first-child{box-shadow:inset 3px 0 0 var(--marginal)}.lead-table tbody tr[data-viability=not_viable]>td:first-child{box-shadow:inset 3px 0 0 var(--not-viable)}.prov-badge{display:inline-block;font-size:10px;font-weight:600;line-height:1;padding:2px 6px;border-radius:9px;margin-left:4px;vertical-align:middle;white-space:nowrap}.prov-bill,.prov-annualised{background:var(--accent-soft);color:var(--accent-ink)}.prov-default{background:var(--marginal-soft);color:var(--marginal-ink)}.prov-edited{background:var(--not-viable-soft);color:var(--not-viable-ink)}.savings-scenarios th,.savings-scenarios td:not(:first-child){text-align:right}.savings-scenarios thead th{font-weight:600;color:var(--ink-3);padding:8px 14px}.savings-provenance{display:flex;flex-wrap:wrap;gap:8px 16px;padding:12px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-3)}.savings-provenance .prov-title{font-weight:600;color:var(--ink-2)}.field-label{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 4px}.imp-modal{width:100%;max-width:1040px;max-height:90vh;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-modal);border:1px solid var(--line);display:flex;flex-direction:column;animation:pop .18s cubic-bezier(.2,1,.3,1.05)}.imp{--imp-pad: 28px;width:100%;background:var(--surface);color:var(--ink);font-family:var(--font-sans);display:flex;flex-direction:column;min-height:0;flex:1}.imp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px var(--imp-pad);border-bottom:1px solid var(--line)}.imp-head h2{margin:0;font-size:24px;font-weight:600;letter-spacing:-.01em}.imp-head .imp-file{margin-top:6px;display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--ink-4)}.imp-x{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-3);cursor:pointer}.imp-x:hover{background:var(--surface-sunken)}.imp-body{padding:var(--imp-pad);display:flex;flex-direction:column;gap:22px;flex:1;min-height:0;overflow:auto}.imp-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px var(--imp-pad);border-top:1px solid var(--line);background:var(--surface-2)}.imp-foot-note{font-size:15px;color:var(--ink-4)}.imp-foot-note b{color:var(--ink-2)}.imp-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:1;padding:13px 22px;border-radius:10px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .12s,border-color .12s,transform .04s}.imp-btn:hover{background:var(--surface-sunken)}.imp-btn:active{transform:translateY(1px)}.imp-btn:disabled{opacity:.5;cursor:not-allowed}.imp-btn:disabled:hover{background:var(--surface)}.imp-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.imp-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.imp-btn--ghost{border-color:transparent;background:transparent;color:var(--ink-4)}.imp-btn--ghost:hover{background:var(--surface-sunken);color:var(--ink-2)}.imp-btn--lg{font-size:18px;padding:16px 28px}.imp-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.imp-section-label{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-bottom:10px}.imp-error{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:10px;background:var(--not-viable-soft);border:1.5px solid #ecc6bd;color:var(--not-viable-ink);font-size:15px}.imp-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;border:2px dashed var(--line-strong);border-radius:14px;background:var(--surface-2);padding:56px 28px;transition:border-color .12s,background .12s}.imp-drop.drag-live{border-color:var(--accent);background:var(--accent-soft)}.imp-drop-ic{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.imp-drop h3{margin:0;font-size:20px;font-weight:600}.imp-drop p{margin:0;font-size:15px;color:var(--ink-3);max-width:46ch;line-height:1.5}.imp-drop small{font-size:13.5px;color:var(--ink-4)}.cA-map{display:flex;flex-direction:column;gap:14px}.cA-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cA-slot{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface)}.cA-slot.drop-live{border-color:var(--accent);border-style:dashed;background:var(--accent-soft)}.cA-slot-field{width:150px;flex-shrink:0}.cA-slot-field .lbl{font-size:17px;font-weight:600;display:flex;align-items:center;gap:7px}.cA-slot-field .hint{font-size:13.5px;color:var(--ink-4);margin-top:2px}.cA-slot-drop{flex:1;min-height:46px;display:flex;align-items:center;gap:8px;border-radius:9px;border:1.5px dashed var(--line-strong);padding:6px 8px;background:var(--surface-2)}.imp-pill{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border-radius:999px;background:var(--surface);border:1.5px solid var(--line-strong);font-size:15.5px;font-weight:500;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-card)}.imp-pill:active{cursor:grabbing}.imp-pill .grip{color:var(--ink-4);display:inline-flex}.imp-pill .samp{color:var(--ink-4);font-size:13.5px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-pill--placed{background:var(--accent-soft);border-color:#9fcdb2}.imp-pill--placed .x{margin-left:2px;color:var(--ink-3);display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;cursor:pointer}.imp-pill--placed .x:hover{background:#00000012}.imp-pill.dragging{opacity:.45}.cA-tray{border:1.5px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-2)}.cA-tray.drop-live{border-color:var(--accent);border-style:dashed}.cA-tray-head{font-size:15px;color:var(--ink-3);margin-bottom:12px}.cA-tray-pills{display:flex;flex-wrap:wrap;gap:10px}.imp-sheets{display:flex;flex-wrap:wrap;gap:8px}.imp-sheet-chip{display:inline-flex;align-items:center;gap:7px;font-size:14px;padding:7px 13px;border-radius:999px;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none}.imp-sheet-chip.sel{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.imp-sheet-chip .muted{color:var(--ink-5);font-weight:400}.imp-problems{display:flex;flex-direction:column;gap:12px}.imp-prob{display:flex;align-items:flex-start;gap:14px;border:1.5px solid var(--line);border-left-width:5px;border-radius:10px;padding:16px 18px;background:var(--surface)}.imp-prob.k-no-eircode{border-left-color:var(--marginal)}.imp-prob.k-duplicate{border-left-color:var(--status-new)}.imp-prob.k-error{border-left-color:var(--not-viable)}.imp-prob.skipped{opacity:.55;background:var(--surface-sunken)}.imp-prob-ic{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:9px}.k-no-eircode .imp-prob-ic{background:var(--marginal-soft);color:var(--marginal)}.k-duplicate .imp-prob-ic{background:var(--status-new-soft);color:var(--status-new)}.k-error .imp-prob-ic{background:var(--not-viable-soft);color:var(--not-viable)}.imp-prob-main{flex:1;min-width:0}.imp-prob-row1{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.imp-prob-name{font-size:17px;font-weight:600}.imp-prob-rownum{font-size:14px;color:var(--ink-5)}.imp-prob-title{font-size:16px;font-weight:600;color:var(--ink-2)}.imp-prob-detail{font-size:15px;color:var(--ink-3);margin-top:4px;line-height:1.45}.imp-prob.resolved{border-left-color:var(--viable)}.imp-prob.resolved .imp-prob-ic{background:var(--viable-soft);color:var(--viable)}.imp-eir-addr{font-size:15px;color:var(--ink-3);margin-top:4px;line-height:1.45}.imp-eir-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 12px;border:1px solid var(--accent);border-radius:7px;background:var(--surface);color:var(--accent);font-size:14px;font-weight:600;cursor:pointer}.imp-eir-btn:hover:not(:disabled){background:var(--accent);color:#fff}.imp-eir-btn:disabled{opacity:.6;cursor:default}.imp-eir-ok{font-size:15px;color:var(--viable)}.imp-eir-ok b{font-weight:700;letter-spacing:.3px}.imp-eir-match{color:var(--ink-4)}.imp-eir-err{font-size:14px;color:var(--not-viable);margin-top:6px}.imp-prob.k-guessed{border-left-color:var(--accent)}.k-guessed .imp-prob-ic{background:var(--accent-soft);color:var(--accent)}.imp-guess{margin-top:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.imp-guess .imp-eir-btn{margin-top:0}.imp-guess-dropped{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;color:var(--ink-4)}.imp-skip{flex-shrink:0;display:inline-flex;align-items:center;gap:10px;font-size:15.5px;font-weight:500;color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 4px;position:relative}.imp-skip input{position:absolute;opacity:0;width:0;height:0}.imp-skip .box{width:26px;height:26px;border-radius:7px;border:2px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;color:#fff;transition:background .1s,border-color .1s}.imp-skip .box svg{opacity:0}.imp-skip input:checked+.box{background:var(--ink-3);border-color:var(--ink-3)}.imp-skip input:checked+.box svg{opacity:1}.imp-skip input:focus-visible+.box{outline:3px solid var(--accent);outline-offset:2px}.imp-skip input:disabled+.box{background:var(--surface-sunken);border-color:var(--line)}.imp-empty{font-size:15px;color:var(--ink-3);padding:4px 0}.imp-enrich{display:inline-flex;align-items:center;gap:10px;font-size:15px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none}.imp-enrich input{position:absolute;opacity:0;width:0;height:0}.imp-enrich .box{width:24px;height:24px;border-radius:6px;border:2px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;color:#fff;flex-shrink:0;transition:background .1s,border-color .1s}.imp-enrich .box svg{opacity:0}.imp-enrich input:checked+.box{background:var(--accent);border-color:var(--accent)}.imp-enrich input:checked+.box svg{opacity:1}.imp-enrich input:focus-visible+.box{outline:3px solid var(--accent);outline-offset:2px}.imp-enrich .sub{font-size:13px;color:var(--ink-4);display:block}.imp-done{display:flex;flex-direction:column;gap:16px;padding:12px 0}.imp-done-head{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:600;color:var(--viable-ink)}.imp-done-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.imp-done-item{display:flex;align-items:baseline;gap:10px;border:1.5px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--surface)}.imp-done-item .n{font-size:22px;font-weight:700}.imp-done-item .t{font-size:15px;color:var(--ink-3)}@media (max-width: 760px){.cA-slots,.imp-done-list{grid-template-columns:1fr}}.route-page{display:flex;height:calc(100vh - 52px);min-height:520px;overflow:hidden;background:#f7f8fa}.route-map-panel{position:relative;flex:1;min-width:0;background:#eef1f4}.route-map-canvas{width:100%;height:100%}.route-map-loading{position:absolute;top:16px;left:50%;z-index:700;padding:7px 12px;color:var(--ink-3);font-size:12px;background:#fffffff0;border:1px solid var(--line);border-radius:7px;transform:translate(-50%);box-shadow:0 3px 12px #0f172a1a;pointer-events:none}.route-map-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--ink-4);background:#fff}.route-map-empty span{font-size:12px}.route-toast{position:fixed;bottom:24px;left:50%;z-index:2000;max-width:min(520px,calc(100vw - 32px));padding:9px 16px;color:#fff;font-size:13px;text-align:center;background:#17212b;border-radius:7px;transform:translate(-50%);box-shadow:0 8px 24px #0f172a33}.route-map-legend{position:absolute;top:86px;left:16px;z-index:600;display:flex;flex-direction:column;min-width:150px;padding:10px;background:#fffffff0;border:1px solid rgb(15 23 42 / 10%);border-radius:8px;box-shadow:0 4px 16px #0f172a1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.route-map-legend button,.route-map-legend div{display:flex;align-items:center;gap:8px;min-height:27px;padding:3px 4px;color:var(--ink-2);font:inherit;font-size:12px;text-align:left;background:none;border:0;border-radius:4px}.route-map-legend button{cursor:pointer}.route-map-legend button:hover,.route-map-legend button:focus-visible{background:#eef4ff}.route-map-legend button>span{width:13px;height:13px;border:2px solid #fff;border-radius:3px;box-shadow:0 0 0 1px #0f172a1f}.route-map-marker-wrap{background:transparent;border:0}.route-map-marker{position:relative;display:grid;width:30px;height:30px;color:#fff;font-weight:800;background:var(--route-color);border:3px solid #fff;border-radius:50%;place-items:center;box-shadow:0 2px 7px #0f172a47;transition:transform .12s ease}.route-map-marker.is-active{width:34px;height:34px;transform:translate(-2px,-2px) scale(1.04)}.route-map-marker span{font-size:12px;line-height:1}.route-map-marker small{position:absolute;right:-7px;bottom:-6px;padding:1px 4px;color:var(--route-color);font-size:8px;line-height:1.2;background:#fff;border:1px solid currentColor;border-radius:6px}.route-depot-marker{display:grid;width:34px;height:34px;color:#fff;font-size:20px;line-height:1;background:#17212b;border:3px solid #fff;border-radius:50%;place-items:center;box-shadow:0 2px 8px #0f172a52}.route-map-popup{display:flex;flex-direction:column;min-width:175px;gap:3px;font-family:var(--font-sans, Inter, system-ui, sans-serif)}.route-map-popup strong{font-size:13px}.route-map-popup span{color:var(--ink-4);font-size:11px}.route-map-popup button{margin-top:6px;padding:6px 8px;color:#fff;font-weight:650;font-size:11px;background:#1468d7;border:0;border-radius:5px;cursor:pointer}.route-builder{position:relative;z-index:700;display:flex;flex:0 0 450px;width:450px;min-width:0;flex-direction:column;overflow:hidden;background:#fff;border-left:1px solid var(--border);box-shadow:-4px 0 18px #0f172a0d}.route-builder-head{flex:0 0 auto;padding:17px 20px 14px;border-bottom:1px solid var(--border)}.route-builder-title-row,.route-status-heading,.route-status-foot,.route-card>header,.route-footer-actions{display:flex;align-items:center}.route-builder-title-row{justify-content:space-between;margin-bottom:17px}.route-builder-title-row h1{margin:0;color:var(--ink-1);font-size:17px;line-height:1.2}.route-link-button{display:inline-flex;align-items:center;gap:5px;padding:3px;color:#095dcc;font:inherit;font-size:12px;background:none;border:0;border-radius:4px;cursor:pointer}.route-link-button:hover,.route-link-button:focus-visible{background:#eef4ff}.route-start-label{display:block;margin-bottom:7px;color:var(--ink-4);font-size:10px;font-weight:750;letter-spacing:.05em}.route-start-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px}.route-start-row input{min-width:0;padding:5px 3px;color:var(--ink-2);font-size:12px;background:transparent;border:0;border-bottom:1px solid transparent}.route-start-row input:hover,.route-start-row input:focus{border-bottom-color:var(--border);outline:none}.route-start-row>span{padding:3px 7px;color:var(--ink-4);font-size:9px;background:#f5f7f9;border:1px solid var(--border);border-radius:999px}.route-builder-scroll{flex:1;min-height:0;padding:14px 20px 22px;overflow-y:auto;overscroll-behavior:contain}.route-status-card{padding:14px;background:#f8fafc;border:1px solid var(--border);border-radius:8px}.route-status-card.ready{background:#f5faf7;border-color:#cce3d4}.route-status-card.stale{background:#fff9eb;border-color:#eed9a3}.route-status-card.error{background:#fff6f5;border-color:#efc3be}.route-status-heading{gap:8px;color:var(--ink-1);font-size:13px}.route-status-card.ready .route-status-heading{color:#237744}.route-status-card.stale .route-status-heading{color:#96630a}.route-status-card.error .route-status-heading{color:#a3372d}.route-status-card p{margin:7px 0 0 29px;color:var(--ink-4);font-size:11px;line-height:1.45}.route-status-card p.route-method{color:var(--ink-2);font-weight:650}.route-status-card>.btn{margin:12px 0 0 29px}.route-summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.route-summary-metrics div{display:flex;min-width:0;flex-direction:column;gap:2px;text-align:center}.route-summary-metrics strong{color:var(--ink-1);font-size:14px}.route-summary-metrics span{color:var(--ink-4);font-size:8px;font-weight:650;letter-spacing:.03em;text-transform:uppercase}.route-status-foot{justify-content:space-between;gap:10px;margin-top:12px;padding-top:9px;border-top:1px solid rgb(15 23 42 / 8%)}.route-status-foot>span{color:var(--ink-4);font-size:9px}.route-spin{animation:route-spin .9s linear infinite}@keyframes route-spin{to{transform:rotate(360deg)}}.route-tabs{display:grid;grid-template-columns:1fr 1fr;margin:13px 0;padding:2px;background:#f7f8fa;border:1px solid var(--border);border-radius:6px}.route-tabs button{padding:7px;color:var(--ink-4);font:inherit;font-size:11px;font-weight:650;background:transparent;border:0;border-radius:4px;cursor:pointer}.route-tabs button.active{color:#fff;background:#1468d7;box-shadow:0 1px 4px #1468d738}.route-select-all{display:inline-flex;align-items:center;gap:7px;margin:3px 0 9px;color:var(--ink-2);font-size:11px;font-weight:650;cursor:pointer}.route-stop-picker{display:flex;flex-direction:column;gap:6px}.route-stop-option{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;background:#fafbfc;border:1px solid var(--border);border-radius:6px;cursor:pointer}.route-stop-option.selected{background:#f0f6ff;border-color:#80ace8}.route-stop-option.disabled{opacity:.58;cursor:not-allowed}.route-stop-option input{margin-top:2px}.route-stop-option>span{display:flex;min-width:0;flex-direction:column;gap:2px}.route-stop-option strong{color:var(--ink-2);font-size:12px}.route-stop-option small{overflow:hidden;color:var(--ink-4);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.route-inline-error{margin-bottom:9px;color:#a3372d;font-size:11px}.route-order-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--ink-4);font-size:9px;line-height:1.4}.route-order-tools>div{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:2px}.route-cards{display:flex;flex-direction:column;gap:10px}.route-card{overflow:hidden;background:#fff;border:1px solid color-mix(in srgb,var(--route-color) 32%,#dbe2e9);border-radius:8px;transition:border-color .12s ease,box-shadow .12s ease}.route-card.active,.route-card:focus-within{border-color:var(--route-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--route-color) 12%,transparent)}.route-card>header{gap:7px;padding:9px 10px;border-bottom:1px solid var(--border)}.route-card>header>strong{color:var(--ink-1);font-size:12px;white-space:nowrap}.route-card-swatch{width:12px;height:12px;flex:0 0 auto;background:var(--route-color);border:2px solid #fff;border-radius:3px;box-shadow:0 0 0 1px color-mix(in srgb,var(--route-color) 45%,transparent)}.route-count-pill{flex:0 0 auto;padding:2px 5px;color:var(--route-color);font-size:9px;font-weight:700;background:color-mix(in srgb,var(--route-color) 8%,white);border:1px solid color-mix(in srgb,var(--route-color) 20%,white);border-radius:999px}.route-card-metrics{min-width:0;margin-left:auto;overflow:hidden;color:var(--ink-4);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.route-card>header .btn{flex:0 0 auto;gap:3px;padding:4px 7px;font-size:9px}.route-card>header a[aria-disabled=true]{opacity:.45;pointer-events:none}.route-card ol{margin:0;padding:5px 9px 7px;list-style:none}.route-card li{position:relative;display:grid;grid-template-columns:16px 23px minmax(0,1fr) 25px;align-items:center;gap:7px;min-height:40px;padding:4px 0;border-radius:4px}.route-card li:not(:last-child):after{position:absolute;bottom:-4px;left:29px;width:2px;height:10px;background:color-mix(in srgb,var(--route-color) 55%,white);content:""}.route-card li.active{background:color-mix(in srgb,var(--route-color) 7%,white)}.route-drag-handle{color:var(--ink-5);cursor:grab}.route-drag-handle:active{cursor:grabbing}.route-stop-number{display:grid;width:20px;height:20px;color:#fff;font-size:9px;font-weight:800;background:var(--route-color);border-radius:50%;place-items:center}.route-stop-copy{display:flex;min-width:0;flex-direction:column}.route-stop-copy strong{overflow:hidden;color:var(--ink-1);font-size:11px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.route-stop-copy small{overflow:hidden;color:var(--ink-4);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.route-reorder-buttons{display:flex;flex-direction:column}.route-reorder-buttons button{display:grid;width:22px;height:17px;padding:0;color:var(--ink-4);background:transparent;border:0;border-radius:3px;cursor:pointer;place-items:center}.route-reorder-buttons button:hover:not(:disabled),.route-reorder-buttons button:focus-visible{background:#eef2f6}.route-reorder-buttons button:disabled{opacity:.25;cursor:default}.route-builder-footer{position:relative;flex:0 0 auto;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;padding:13px 20px 15px;background:#fff;border-top:1px solid var(--border);box-shadow:0 -5px 15px #0f172a0a}.route-footer-actions{position:static;justify-content:flex-end;gap:5px}.route-builder-footer>small{grid-column:2;color:var(--ink-4);font-size:9px;text-align:right}.route-share-wrap,.route-launch-wrap{position:static}.route-share-popover{position:absolute;right:20px;bottom:calc(100% + 8px);z-index:900;box-sizing:border-box;width:min(360px,calc(100% - 40px));padding:11px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #0f172a2e}.route-launch-popover{position:absolute;right:20px;bottom:calc(100% + 8px);z-index:900;box-sizing:border-box;width:min(360px,calc(100% - 40px));padding:12px;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 30px #0f172a2e}.route-launch-popover>strong{display:block;padding-right:22px;color:var(--ink-1);font-size:12px}.route-launch-popover>p{margin:4px 22px 10px 0;color:var(--ink-4);font-size:10px;line-height:1.4}.route-launch-links{display:flex;flex-direction:column;gap:6px}.route-launch-links>a{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:8px 9px;color:var(--ink-2);text-decoration:none;background:#f8fafc}.route-launch-links>a:hover{background:#eef4ff;border-color:#9dbde8}.route-launch-links>a>span{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:2px}.route-launch-links>a strong{font-size:11px}.route-launch-links>a small{overflow:hidden;max-width:200px;color:var(--ink-4);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.route-share-popover p{margin:0 20px 8px 0;color:var(--ink-4);font-size:10px;line-height:1.4}.route-share-popover>div{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:7px 0;border-top:1px solid var(--border)}.route-share-popover strong{font-size:11px}.route-share-popover strong,.route-share-popover small{min-width:0;overflow-wrap:anywhere}.route-share-popover small{grid-column:1;color:var(--ink-4);font-size:9px}.route-share-popover>div>span{grid-row:1 / span 2;grid-column:2;display:flex;align-items:center;gap:4px}.route-share-close{position:absolute;top:7px;right:7px;display:grid;width:22px;height:22px;color:var(--ink-4);background:transparent;border:0;border-radius:4px;cursor:pointer;place-items:center}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (max-width:1050px){.route-builder{flex-basis:400px;width:400px}.route-builder-head,.route-builder-scroll,.route-builder-footer{padding-right:15px;padding-left:15px}.route-share-popover,.route-launch-popover{right:15px;width:min(360px,calc(100% - 30px))}}@media (max-width:760px){.route-page{position:relative;display:block}.route-map-panel{width:100%;height:42%;min-height:250px}.route-builder{position:absolute;right:0;bottom:0;left:0;width:100%;height:58%;border-top:1px solid var(--border);border-left:0;box-shadow:0 -8px 24px #0f172a1f}.route-builder-head{padding-top:11px;padding-bottom:9px}.route-builder-title-row{margin-bottom:9px}.route-map-legend{top:62px;left:10px}}@media (max-width:480px){.route-map-panel{height:34%;min-height:190px}.route-builder{height:66%}.route-summary-metrics{gap:3px}.route-status-foot{align-items:flex-end}.route-card>header{flex-wrap:wrap}.route-card-metrics{order:5;width:100%;margin-left:19px}.route-builder-footer{grid-template-columns:1fr}.route-builder-footer>.route-link-button{display:none}.route-footer-actions{grid-column:1}.route-builder-footer>small{grid-column:1}.route-map-legend{display:none}}
