:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#1c2736;background:#eef2f6;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea,select{font:inherit}pre{margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word}.app-shell{display:grid;grid-template-columns:1fr;min-height:100vh}.studio-shell{grid-template-columns:1fr;background:#eef2f6}.studio-shell .sidebar{display:block}.theme-civic{--studio-accent: #1b6d8f;--studio-accent-2: #4f8f6f;--studio-target: #c2782d}.theme-studio{--studio-accent: #236d9b;--studio-accent-2: #268f83;--studio-target: #bd7b2a}.theme-presentation{--studio-accent: #234f7d;--studio-accent-2: #4f8f6f;--studio-target: #a85f37}.sidebar{padding:1.35rem;background:#fff;border-right:1px solid #d9e1ea;overflow:auto;resize:both;width:24rem;min-width:18rem;max-width:40vw;height:fit-content;min-height:100vh;max-height:none}.workspace{width:min(1560px,100%);margin:0 auto;padding:1rem;display:grid;gap:.85rem;align-content:start}.workspace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.hero-card,.panel{background:#fff;border:1px solid #d9e1ea;border-radius:8px;box-shadow:0 12px 28px #1020380f;padding:1.25rem}.panel-grid{display:grid;gap:1rem}.advanced-panel{margin-top:1rem;background:#ffffffc7}.advanced-panel summary{cursor:pointer;font-weight:700;color:#143b63;list-style:none}.advanced-panel summary::-webkit-details-marker{display:none}.advanced-panel summary:before{content:"+";display:inline-block;margin-right:.55rem;color:#8a5a14}.advanced-panel[open] summary:before{content:"−"}.advanced-panel-body{display:grid;gap:1rem;margin-top:1rem}.panel-subsection{display:grid;gap:.85rem;padding:1rem;border-radius:16px;background:#143b630a;border:1px solid rgba(16,32,56,.06)}.panel-subsection h3{margin:0}.selection-panel{margin-top:1rem}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1.25rem}.eyebrow{margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:#8a5a14}.intro-copy{margin:0;color:#4a5b75}.field{display:grid;gap:.5rem;margin-top:1.5rem}.compact-field{margin-top:0}.field textarea{width:100%;border:1px solid rgba(16,32,56,.16);border-radius:8px;padding:.9rem 1rem;background:#fffffff2}.field select,.field input{width:100%;border:1px solid rgba(16,32,56,.16);border-radius:8px;padding:.8rem .9rem;background:#fffffff2}.field small{color:#61718b}.checkbox-field{align-content:end}.checkbox-field input{width:1.1rem;height:1.1rem;padding:0}.checkbox-inline{display:inline-flex;align-items:center;gap:.55rem;color:#2f4b68}.checkbox-inline input{width:1rem;height:1rem}.spotlight-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(18rem,.9fr);gap:1.25rem;align-items:start}.spotlight-copy p:last-child{margin-bottom:0}.stats-grid{display:grid;gap:.8rem}.stat-card{padding:1rem;border-radius:16px;background:linear-gradient(135deg,#143b63,#326ea2);color:#f8fbff}.stat-card span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.76}.stat-card strong{display:block;margin-top:.2rem;font-size:1.8rem}.panel-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center}.panel-heading h2{margin-bottom:.15rem}.panel-subtitle{margin:0;color:#61718b}.legend-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .7rem;border-radius:999px;background:#eef4fb;color:#2f4b68}.legend-swatch{width:.85rem;height:.85rem;border-radius:999px;background:linear-gradient(90deg,#df8c2f,#3b83c0)}.sankey-stage{margin-top:1rem;overflow:auto;border-radius:8px;background:#fff;border:1px solid #d9e1ea}.sankey-svg{width:100%;max-width:100%;height:auto;display:block;transform-origin:top left}.sankey-column-label{fill:#5f6f86;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sankey-column-label-target{fill:#9a5a12}.sankey-link{fill:none;stroke:#236d9b9e;stroke-linecap:round}.sankey-link-bridge{stroke:#8a5a149e;stroke-dasharray:7 5}.sankey-node{fill:var(--studio-accent, #236d9b);stroke:#ffffffd9;stroke-width:2;filter:drop-shadow(0 4px 8px rgba(20,33,52,.16))}.sankey-node-group.is-clickable{cursor:pointer}.sankey-node-group.is-clickable:hover .sankey-node,.sankey-node.is-expanded-drill-node{stroke:#9a5a12;stroke-width:3}.sankey-node-label{fill:#172235;font-size:15px;font-weight:700}.sankey-node-value{fill:#61718b;font-size:12px;font-weight:650}.sankey-loop-icon{cursor:pointer;filter:drop-shadow(0 2px 4px rgba(220,38,38,.45));transition:transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s ease}.sankey-loop-icon:hover{transform:scale(1.22) rotate(15deg);filter:drop-shadow(0 4px 8px rgba(220,38,38,.65))}.loop-icon-bg{fill:#dc2626;stroke:#fff;stroke-width:1.5;transition:fill .2s ease}.sankey-loop-icon:hover .loop-icon-bg{fill:#b91c1c}.loop-icon-arrow{stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none}.flow-board{display:grid;gap:.75rem;margin-top:1rem}.linked-trace-summary{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;color:#61718b}.linked-trace-summary span{padding:.35rem .6rem;border-radius:999px;background:#143b630f}.workflow-step-list{display:grid;gap:.75rem}.workflow-step{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:.8rem .9rem;border-radius:14px;background:#143b630d}.workflow-step small{display:block;margin-top:.15rem;color:#61718b}.workflow-step-badge{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#143b631f;color:#143b63;font-size:.82rem;font-weight:700}.workflow-step-badge.is-complete{background:#1b5b87;color:#f8fbff}.warning-banner{margin-top:.85rem;padding:.8rem .9rem;border-radius:14px;background:#c8862f24;color:#7b4c0d}.flow-card{padding:1rem;border-radius:14px;background:linear-gradient(90deg,#fff3da,#edf7ff)}.flow-card-head{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}.flow-card-head strong{font-size:1.05rem}.flow-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.75rem;color:#61718b}.flow-annotation{margin-top:.65rem;color:#4a5b75;font-size:.92rem}.empty-state{padding:1.25rem;text-align:center;border:1px dashed rgba(16,32,56,.2);border-radius:16px;background:#ffffff8c}.empty-state h3{margin-top:0;margin-bottom:.5rem}.empty-state p{margin:0;color:#61718b}.sector-edit-list{display:grid;gap:.75rem}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.editor-card{display:grid;gap:.55rem;padding:.9rem;border-radius:14px;background:#143b630d}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.75rem}.sector-edit-row{display:grid;grid-template-columns:1fr auto;gap:.75rem}.sector-edit-row input[type=text],.editor-grid input[type=text],.editor-grid input[type=number]{width:100%;border:1px solid rgba(16,32,56,.16);border-radius:14px;padding:.8rem .9rem;background:#fffffff2}.sector-edit-row input[type=color],.editor-grid input[type=color]{width:3rem;height:3rem;border:none;background:transparent;padding:0}.action-button{border:none;border-radius:14px;padding:.9rem 1rem;background:linear-gradient(135deg,#143b63,#326ea2);color:#f8fbff;cursor:pointer}.action-button:disabled{opacity:.58;cursor:not-allowed}.file-button{position:relative;overflow:hidden;display:inline-flex;justify-content:center}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.secondary-button{background:linear-gradient(135deg,#8a5a14,#c8862f)}.preset-note{display:grid;align-items:center;padding:.8rem .9rem;border-radius:14px;background:#143b630f;color:#4a5b75;font-size:.92rem}.inventory-list{display:grid;gap:.6rem;padding:.85rem;border-radius:14px;background:#143b630d;max-height:22rem;overflow:auto}.inventory-item{display:grid;gap:.15rem;padding-bottom:.5rem;border-bottom:1px solid rgba(16,32,56,.08)}.inventory-detail-card{display:grid;gap:.25rem;padding:.85rem;border-radius:14px;background:#8a5a1414;color:#4b3c25}.text-button{justify-self:start;border:none;padding:0;background:transparent;color:#1b5b87;cursor:pointer;font-weight:600}.sankey-integrated-controls{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(320px,1.5fr) minmax(220px,1fr);gap:1.25rem;padding:.9rem 1.25rem;background:#f8fafc;border-bottom:1px solid #d9e1ea;align-items:start}.sankey-control-group{display:flex;flex-direction:column;min-width:0}.sankey-control-group .dataset-source-panel{display:flex;flex-wrap:wrap;gap:.75rem;align-self:stretch}.sankey-control-group .dataset-source-panel .toolbar-field{flex:1;min-width:100px}.geo-toggles-dropdown-container{display:inline-block}.geo-toggles-dropdown-menu label{transition:background .15s ease;padding:4px 8px;border-radius:4px}.geo-toggles-dropdown-menu label:hover{background:#ffffff14}.studio-title-block{min-width:0}.studio-kicker{display:block;margin-bottom:.15rem;color:#65748a;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.studio-title-block h2{margin:0;color:#1c2736;font-size:1.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-search-field{position:relative;z-index:5}.industry-search-results{position:absolute;top:calc(100% + .35rem);left:0;right:0;display:grid;gap:.2rem;max-height:18rem;overflow:auto;padding:.35rem;border:1px solid #cad4df;border-radius:8px;background:#fff;box-shadow:0 16px 36px #10203829}.industry-search-results button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;border:none;border-radius:6px;padding:.55rem .6rem;background:transparent;color:#1c2736;text-align:left;cursor:pointer}.industry-search-results button:hover{background:#eef5f8}.industry-search-results span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.industry-search-results small{color:#65748a}.destination-sector-builder{display:grid;gap:.35rem;align-self:stretch;min-width:0}.dataset-source-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;align-self:stretch;min-width:0}.dataset-source-panel .toolbar-field{min-width:0}.dataset-load-button{min-height:1.5rem}.dataset-load-button:disabled{color:#9aa7b7;cursor:not-allowed}.dataset-import-button{min-height:1.5rem}.dataset-import-button input:disabled{cursor:not-allowed}.dataset-remove-button{color:#9c3e33}.dataset-remove-button:disabled{color:#9aa7b7;cursor:not-allowed}.destination-sector-head{display:flex;justify-content:space-between;gap:.5rem;color:#526177;font-size:.78rem;font-weight:800}.saved-sector-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(8rem,.9fr);gap:.35rem}.saved-sector-controls input,.saved-sector-controls select{min-width:0;min-height:2.15rem;border:1px solid #cad4df;border-radius:8px;padding:.4rem .55rem;background:#fbfcfe;color:#1c2736;font:inherit;font-size:.84rem}.destination-chip-list{display:flex;flex-wrap:wrap;gap:.35rem;min-height:2.35rem;max-height:5.6rem;overflow:auto;align-content:flex-start;padding:.38rem;border:1px solid #cad4df;border-radius:8px;background:#fbfcfe}.destination-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:15rem;border:1px solid #b8c8d8;border-radius:999px;padding:.25rem .45rem .25rem .6rem;background:#eef5f8;color:#1f364e;cursor:pointer;font-size:.8rem;font-weight:750}.destination-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.destination-chip strong{color:#607086}.empty-destination-hint{align-self:center;color:#718096}.clear-destinations-button:disabled{color:#9aa7b7;cursor:not-allowed}.sector-action-row{display:flex;flex-wrap:wrap;gap:.6rem}.sector-action-row .text-button:disabled{color:#9aa7b7;cursor:not-allowed}.toolbar-field,.drawer-control{display:grid;gap:.25rem;color:#526177;font-size:.78rem;font-weight:700}.toolbar-field input,.toolbar-field select,.drawer-control input,.drawer-control select{width:100%;min-height:2.35rem;border:1px solid #cad4df;border-radius:8px;padding:.48rem .62rem;background:#fbfcfe;color:#1c2736}.compact-toolbar-field input{text-align:center}.studio-primary-action{min-height:2.35rem;border-radius:8px;background:#174f78}.studio-status{grid-column:1 / -1;min-height:1.4rem;color:#526177;font-size:.86rem}.studio-chart-panel{padding:.9rem}.studio-chart-heading{align-items:start;display:grid;grid-template-columns:minmax(0,1fr) auto}.studio-chart-heading h2{margin:0 0 .2rem}.studio-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.chart-view-controls{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:flex-end;padding-top:.55rem}.chart-view-controls button{min-width:2.2rem;min-height:2.1rem;border:1px solid #cad4df;border-radius:8px;background:#fff;color:#27364a;cursor:pointer;font-weight:800}.chart-view-controls label{display:inline-flex;align-items:center;gap:.45rem;min-height:2.1rem;padding:0 .55rem;border:1px solid #d9e1ea;border-radius:8px;background:#f8fafc;color:#526177;font-size:.82rem;font-weight:750}.chart-view-controls input[type=range]{width:8rem}.chart-view-controls select{border:none;background:transparent;color:#27364a;font-weight:750}.chart-view-controls strong{min-width:3rem;color:#27364a}.studio-metrics span{padding:.38rem .55rem;border:1px solid #d9e1ea;border-radius:8px;background:#f6f8fb;color:#40516a;font-size:.82rem;font-weight:700}.studio-sankey-stage{position:relative;min-height:34rem;background:linear-gradient(180deg,#fff,#f8fafc)}.studio-sankey-stage.with-grid{background-image:linear-gradient(rgba(210,220,232,.58) 1px,transparent 1px),linear-gradient(90deg,rgba(210,220,232,.58) 1px,transparent 1px),linear-gradient(180deg,#fff,#f8fafc);background-size:32px 32px}.canvas-resize-handle-bottom{position:absolute;bottom:0;left:0;right:12px;height:8px;cursor:ns-resize;background:#00000005;border-top:1px solid rgba(0,0,0,.05);transition:background .2s ease,border-color .2s ease;z-index:10}.canvas-resize-handle-bottom:hover{background:#3182ce1f!important;border-top-color:#3182ce4d}.canvas-resize-handle-right{position:absolute;right:0;top:0;bottom:12px;width:8px;cursor:ew-resize;background:#00000005;border-left:1px solid rgba(0,0,0,.05);transition:background .2s ease,border-left-color .2s ease;z-index:10}.canvas-resize-handle-right:hover{background:#3182ce1f!important;border-left-color:#3182ce4d}.canvas-resize-handle-corner{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;background:#0000000a;border-left:1px solid rgba(0,0,0,.08);border-top:1px solid rgba(0,0,0,.08);border-bottom-right-radius:8px;transition:background .2s ease,border-color .2s ease;z-index:11;display:flex;align-items:flex-end;justify-content:flex-end;padding:2px}.canvas-resize-handle-corner:hover{background:#3182ce33!important;border-color:#3182ce66}.canvas-resize-handle-corner:after{content:"";width:6px;height:6px;border-right:2px solid rgba(0,0,0,.25);border-bottom:2px solid rgba(0,0,0,.25);transition:border-color .2s ease}.canvas-resize-handle-corner:hover:after{border-right-color:#3182cecc;border-bottom-color:#3182cecc}.presentation-mode .studio-sankey-stage{min-height:36rem}.theme-civic .sankey-link{stroke:#1b6d8fa8}.theme-presentation .sankey-link{stroke:#234f7dad}.inside-label{fill:#fff;font-size:10px;pointer-events:none}.sankey-callout line{stroke:#8d9aab;stroke-width:1.5}.sankey-callout rect{fill:#fff;stroke:#cbd5e1;filter:drop-shadow(0 4px 10px rgba(16,32,56,.12))}.sankey-callout text{fill:#27364a;font-size:13px;font-weight:700}.studio-drawer{background:#fff;border:1px solid #d9e1ea;border-radius:8px;box-shadow:0 12px 28px #1020380f}.drawer-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem .6rem 0;border-bottom:1px solid #e1e7ef}.drawer-tab{border:none;border-bottom:2px solid transparent;padding:.55rem .8rem;background:transparent;color:#526177;cursor:pointer;font-weight:700}.drawer-tab.is-active{border-bottom-color:var(--studio-accent, #236d9b);color:#1c2736}.drawer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;align-items:end;padding:.85rem}.drawer-control-wide{grid-column:1 / -1}.consumer-use-colour-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:.75rem}.consumer-use-colour-grid label{display:grid;gap:.3rem}.consumer-use-colour-grid input[type=color]{height:2.45rem;padding:.2rem}.drawer-check{display:inline-flex;align-items:center;gap:.55rem;min-height:2.35rem;color:#40516a;font-size:.9rem;font-weight:700}.drawer-check input{width:1rem;height:1rem}.risk-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;padding:.85rem}.taxonomy-filter-card,.taxonomy-risk-matrix{display:grid;gap:.45rem;align-self:stretch;padding:.65rem;border:1px solid #d9e1ea;border-radius:8px;background:#fbfcfe}.taxonomy-filter-card>span,.taxonomy-risk-matrix>span{color:#526177;font-size:.78rem;font-weight:800}.taxonomy-filter-card label{display:grid;gap:.25rem}.taxonomy-filter-card small{color:#65748a;font-size:.72rem;font-weight:750}.taxonomy-filter-card select{width:100%;min-height:2.1rem;border:1px solid #cad4df;border-radius:8px;background:#fff;color:#1c2736;font:inherit;font-size:.82rem;font-weight:750}.risk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.risk-cell{display:grid;gap:.08rem;min-height:3.15rem;padding:.45rem;border:2px solid rgba(20,33,52,.08);border-radius:8px;color:#1c2736;cursor:pointer;transition:all .2s ease-in-out}.risk-cell:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d;border-color:#14213426}.risk-cell.active{border-color:#2b6cb0;box-shadow:0 0 0 3px #3182ce66}.risk-grid.has-active .risk-cell:not(.active){opacity:.6}.risk-cell strong{font-size:.78rem}.risk-cell small{color:#40516a;font-size:.72rem;font-weight:700}.risk-high{background:#f9d7da}.risk-second{background:#ffe7c2}.risk-medium{background:#fff4c7}.risk-low{background:#dff3e6}.risk-distribution-container,.consumer-distribution-container{display:flex;flex-direction:column;align-self:stretch;margin-top:.35rem}.risk-distribution-bar,.consumer-distribution-bar{display:flex;width:100%;height:26px;border-radius:6px;background:#1421340a;border:1px solid rgba(20,33,52,.08);overflow:hidden;box-shadow:inset 0 1px 3px #0000000f}.risk-distribution-segment{display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer;-webkit-user-select:none;user-select:none;border-right:1px solid rgba(20,33,52,.06);transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.consumer-segment{border-right:1px solid rgba(20,33,52,.08);box-sizing:border-box}.risk-distribution-segment:last-child{border-right:none}.risk-distribution-segment:hover{filter:brightness(.96) saturate(1.1);transform:scaleY(1.04)}.risk-distribution-segment.active{filter:brightness(.93) saturate(1.2);box-shadow:inset 0 0 0 2px #2b6cb0b3}.risk-distribution-segment .segment-label{font-size:.74rem;font-weight:800;color:#1a202c;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.consumer-non-critical{background:#f1f5f9;border-left:4px solid #94a3b8}.consumer-non-critical.active{background:#e2e8f0;border-color:#475569}.risk-distribution-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#14213405;color:#718096;font-size:.72rem;font-weight:700;font-style:italic}.consumer-criticality-panel{display:grid;gap:.45rem;align-self:stretch;padding:.65rem;border:1px solid #d9e1ea;border-radius:8px;background:#fbfcfe}.consumer-criticality-panel>span{color:#526177;font-size:.78rem;font-weight:800}.consumer-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.consumer-cell{display:grid;gap:.08rem;min-height:3.15rem;padding:.45rem;border:2px solid rgba(20,33,52,.08);border-radius:8px;color:#1c2736;cursor:pointer;transition:all .2s ease-in-out}.consumer-cell:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d;border-color:#14213426}.consumer-cell.active{border-color:#2b6cb0;box-shadow:0 0 0 3px #3182ce66}.consumer-filter-grid.has-active .consumer-cell:not(.active){opacity:.6}.consumer-cell strong{font-size:.76rem;font-weight:800}.consumer-cell small{color:#526177;font-size:.68rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consumer-electricity{background:#fffdf0;border-left:4px solid #f6e05e}.consumer-electricity.active{background:#fefcbf;border-color:#d69e2e}.consumer-water{background:#f0f9ff;border-left:4px solid #63b3ed}.consumer-water.active{background:#ebf8ff;border-color:#3182ce}.consumer-communications{background:#faf5ff;border-left:4px solid #b794f4}.consumer-communications.active{background:#f3e8ff;border-color:#805ad5}.consumer-transport{background:#f0fdf4;border-left:4px solid #68d391}.consumer-transport.active{background:#e6fffa;border-color:#319795}.consumer-fuel{background:#fff5f5;border-left:4px solid #fc8181}.consumer-fuel.active{background:#fff5f5;border-color:#e53e3e}.geo-shell-panel,.source-info-panel{display:grid;gap:.85rem;padding:.85rem}.geo-shell-summary,.source-info-heading,.source-planned-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.85rem;align-items:center}.geo-shell-summary>div:first-child,.source-info-heading{min-width:0}.geo-shell-summary span,.geo-shell-card>span{color:#526177;font-size:.78rem;font-weight:800;text-transform:uppercase}.geo-shell-summary strong,.source-info-heading strong{display:block;color:#1c2736;font-size:1rem}.geo-shell-summary small,.geo-shell-card small,.source-info-heading small,.source-planned-inputs small{display:block;color:#65748a}.geo-readiness{justify-self:end;padding:.4rem .55rem;border:1px solid #e3b2a8;border-radius:8px;background:#fff2ef;color:#9c3e33;font-size:.78rem;font-weight:800}.geo-readiness.is-ready{border-color:#badfc5;background:#eef9f1;color:#267846}.geo-map-placeholder{position:relative;min-height:18rem;overflow:hidden;border:1px solid #d9e1ea;border-radius:8px;background:#f7fafc}.geo-boundary-toolbar,.geo-boundary-metrics,.geo-map-controls{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.geo-boundary-toolbar small{color:#526177;font-weight:700}.geo-status-banner{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:100%;box-sizing:border-box;transition:all .2s ease-in-out}.geo-status-banner.status-success{background:#dff3e6a6;border:1px solid rgba(38,120,70,.25);color:#1b5e34;box-shadow:0 4px 12px #2678460d}.geo-status-banner.status-warning{background:#fff4c7a6;border:1px solid rgba(138,90,20,.25);color:#70470d;box-shadow:0 4px 12px #8a5a140d}.geo-status-banner.status-info{background:#eef2f6a6;border:1px solid rgba(96,112,134,.25);color:#4a5768;box-shadow:0 4px 12px #6070860d}.geo-csd-search{position:relative;display:grid;gap:.25rem;min-width:min(24rem,100%);color:#526177;font-size:.78rem;font-weight:800}.geo-csd-search input{min-height:2.35rem;border:1px solid #cad4df;border-radius:8px;padding:.48rem .62rem;background:#fbfcfe;color:#1c2736}.geo-csd-results{display:grid;width:min(26rem,100%);max-height:14rem;overflow:auto;border:1px solid #d9e1ea;border-radius:8px;background:#fff;box-shadow:0 10px 24px #1020381f}.geo-csd-results button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;align-items:center;border:none;border-bottom:1px solid #edf1f6;padding:.55rem .65rem;background:transparent;color:#1c2736;cursor:pointer;text-align:left}.geo-csd-results button:hover{background:#eef5f8}.geo-csd-results span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-csd-results small{padding:.15rem .35rem;border-radius:8px;background:#f1f5f9;color:#526177;font-weight:800}.geo-map-controls{justify-content:flex-start}.geo-map-controls button{min-height:2.1rem;border:1px solid #cad4df;border-radius:8px;background:#fff;color:#27364a;cursor:pointer;font-weight:800}.geo-map-controls button:disabled{color:#9aa7b7;cursor:not-allowed}.geo-map-controls strong{min-width:3.4rem;color:#27364a;text-align:center}.geo-boundary-map{min-height:18rem}.geo-boundary-svg{display:block;width:100%;height:100%;user-select:none;-webkit-user-select:none}.geo-boundary-svg rect.map-background{fill:#f7fafc}.geo-boundary-svg path.interactive-province-outline{fill:#e7f0f226;stroke:#1b6d8fa6;stroke-width:1.15;cursor:pointer;vector-effect:non-scaling-stroke;transition:fill .2s ease,stroke .2s ease}.geo-boundary-svg path.interactive-csd-outline-bg{fill:#e7f0f2;stroke:#1b6d8f75;stroke-width:.75;cursor:pointer;vector-effect:non-scaling-stroke}.geo-boundary-svg .density-0{fill:#e7f0f2}.geo-boundary-svg .density-1{fill:#65c6f0;stroke:#1d60919e}.geo-boundary-svg .density-2{fill:#3f8fd8;stroke:#1d60919e}.geo-boundary-svg .density-3{fill:#5b6ee1;stroke:#313f8f9e}.geo-boundary-svg .density-4{fill:#8d63c7;stroke:#4d367f9e}.geo-boundary-svg .density-5{fill:#50b878;stroke:#2b6c32ad}.geo-boundary-svg .density-6{fill:#b7c83c;stroke:#5a6e22ad}.geo-boundary-svg .density-7{fill:#ffd34e;stroke:#8f6d1fad}.geo-boundary-svg .density-8{fill:#f49a3d;stroke:#8f4f1fad}.geo-boundary-svg .density-9{fill:#ef5d4a;stroke:#8f2b26b3}.geo-boundary-svg .density-10{fill:#b82242;stroke:#8f2b26b3}.geo-boundary-svg path.interactive-province-outline:hover,.geo-boundary-svg path.interactive-csd-outline-bg:hover{fill:#c2782d33;stroke:#bd7b2a}.geo-boundary-svg .selected-csd{fill:#b3e5fc!important;stroke:#01579b!important;stroke-width:3}.geo-boundary-svg .province-outline{fill:#143b6308;stroke:#143b63;stroke-width:2.4;pointer-events:none}.geo-boundary-svg .geo-orientation-label{fill:#1a365d;font-weight:750;pointer-events:none;stroke:#fff;stroke-linejoin:round;paint-order:stroke}.geo-boundary-svg .geo-hub-label{fill:#2d3748;font-size:7px;font-weight:600;pointer-events:none;stroke:#ffffffe6;stroke-width:.5px;paint-order:stroke}.geo-boundary-svg .geo-hub-label.hub{font-weight:800;fill:#c53030}.geo-hub-flow-arc{fill:none;stroke:#3182ce;stroke-linecap:round;transition:stroke .2s,opacity .2s;pointer-events:stroke}.geo-hub-flow-arc:hover{stroke:#2b6cb0;opacity:1!important;cursor:help}.geo-hub-node{stroke:#fff;stroke-width:1.5;transition:transform .2s,r .2s}.geo-hub-node.hub{fill:#e53e3e}.geo-hub-node.supplier{fill:#3182ce}.geo-hub-node.sink{fill:#38a169}.geo-hub-node.import{fill:#805ad5}.geo-hub-node.export{fill:#7c3aed}.geo-hub-node.hub{fill:#e53e3e;cursor:pointer}.geo-hub-node.industry{fill:#718096}.geo-hub-node:hover{stroke-width:3}.geo-hub-node.selected{stroke:#2d3748;stroke-width:3.5;filter:drop-shadow(0 0 4px rgba(0,0,0,.4))}.geo-selection-info{display:flex;align-items:center;gap:.5rem;margin-top:.4rem;padding:.4rem .6rem;background:#3182ce1a;border-radius:4px;font-size:.75rem}.geo-boundary-metrics span{padding:.34rem .5rem;border:1px solid #d9e1ea;border-radius:8px;background:#f6f8fb;color:#40516a;font-size:.78rem;font-weight:750}.geo-map-label-card{position:absolute;left:1rem;top:1rem;z-index:5;display:grid;gap:.22rem;max-width:min(44rem,calc(100% - 2rem));padding:.55rem .7rem;border:1px solid rgba(39,54,74,.22);border-radius:8px;background:#fffffff0;box-shadow:0 10px 24px #10203824;pointer-events:none}.geo-map-label-card strong{color:#1c2736;font-size:.92rem}.geo-map-label-card span{color:#27364a;font-size:.84rem;font-weight:800}.geo-selected-csd{display:grid;gap:.16rem;padding:.65rem;border:1px solid #d9e1ea;border-radius:8px;background:#fbfcfe}.geo-selected-csd strong{color:#1c2736}.geo-selected-csd small{color:#526177}.geo-selected-csd-industries{display:grid;gap:.18rem;margin-top:.35rem;padding-top:.35rem;border-top:1px solid #edf1f6}.geo-map-context-menu{position:absolute;z-index:100;display:grid;gap:.2rem;min-width:16rem;max-width:24rem;width:max-content;box-sizing:border-box;padding:.35rem;border:1px solid #cad4df;border-radius:8px;background:#fff;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.geo-map-context-menu button{min-height:2rem;border:none;border-radius:6px;background:transparent;color:#27364a;cursor:pointer;font-weight:800;text-align:left}.geo-map-context-menu button:hover{background:#eef5f8}.geo-layer3-panel{display:grid;gap:.75rem;padding:.7rem;border:1px solid #d9e1ea;border-radius:8px;background:#fff}.geo-layer3-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center}.geo-layer3-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.geo-layer3-heading span,.geo-naics-mapping-row label span{color:#526177;font-size:.76rem;font-weight:800;text-transform:uppercase}.geo-layer3-heading strong,.geo-naics-mapping-row strong{display:block;color:#1c2736}.geo-layer3-heading small,.geo-layer3-panel>small,.geo-naics-mapping-row small{color:#65748a}.geo-naics-mapping-list{display:grid;gap:.55rem}.geo-naics-mapping-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) auto auto;gap:.55rem;align-items:end;padding:.55rem;border:1px solid #edf1f6;border-radius:8px;background:#fbfcfe}.geo-naics-mapping-row label{display:grid;gap:.2rem}.geo-naics-mapping-row input{min-height:2.2rem;border:1px solid #cad4df;border-radius:8px;padding:.42rem .55rem;color:#1c2736}.geo-naics-mapping-row button,.geo-business-count-list button{min-height:2.2rem;border:1px solid #cad4df;border-radius:8px;background:#fff;color:#27364a;cursor:pointer;font-weight:800}.geo-naics-mapping-row button:disabled{color:#9aa7b7;cursor:not-allowed}.geo-business-count-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem}.geo-map-clustering-toggle{position:absolute;left:1rem;bottom:1rem;z-index:5;display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;border-radius:8px;background:#0f172ad1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #00000040;color:#f8fafc;font-size:.82rem;font-weight:700;transition:all .25s ease;-webkit-user-select:none;user-select:none}.geo-map-clustering-toggle:hover{background:#0f172ae6;border-color:#ffffff40}.geo-map-clustering-toggle label{cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:.5rem;margin:0}.geo-map-clustering-toggle input[type=checkbox]{cursor:pointer;width:1.1rem;height:1.1rem;accent-color:#38bdf8;margin:0}.geo-business-legend{display:grid;grid-template-columns:repeat(2,1fr);gap:.2rem .6rem;padding:.4rem .5rem;border:1px solid rgba(226,232,240,.6);border-radius:6px;color:#475569;font-size:.72rem;font-weight:700}.geo-map-legend{position:absolute;top:.75rem;right:.75rem;z-index:6;width:max-content;max-width:14rem;background:#ffffffbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 16px #0f172a14}.geo-business-legend span{grid-column:span 2;color:#27364a;font-size:.75rem;font-weight:800;border-bottom:1px solid rgba(226,232,240,.8);padding-bottom:.2rem;margin-bottom:.15rem}.geo-business-legend div{display:inline-flex;gap:.3rem;align-items:center}.geo-business-legend i{width:1.2rem;height:.75rem;border:1px solid rgba(115,77,18,.4);border-radius:4px}.geo-business-legend small{flex-basis:100%;color:#65748a;font-weight:700}.legend-0{background:#e7f0f2}.legend-1{background:#65c6f0}.legend-2{background:#3f8fd8}.legend-3{background:#5b6ee1}.legend-4{background:#8d63c7}.legend-5{background:#50b878}.legend-6{background:#b7c83c}.legend-7{background:#ffd34e}.legend-8{background:#f49a3d}.legend-9{background:#ef5d4a}.legend-10{background:#b82242}.geo-business-count-list button{display:flex;justify-content:space-between;gap:.6rem;align-items:center;padding:.5rem .6rem;text-align:left}.geo-business-count-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-map-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(180,195,212,.42) 1px,transparent 1px),linear-gradient(90deg,rgba(180,195,212,.42) 1px,transparent 1px);background-size:28px 28px}.geo-map-message{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:.2rem;padding:1rem;text-align:center}.geo-map-message strong{color:#1c2736;font-size:1.1rem}.geo-map-message span,.geo-note{color:#526177}.geo-note{padding:.65rem .75rem;border:1px solid #d9e1ea;border-radius:8px;background:#fbfcfe;font-size:.88rem;font-weight:700}.geo-layer-list{display:grid;gap:.55rem}.geo-layer-item{display:grid;grid-template-columns:minmax(7rem,auto) minmax(0,1fr);gap:.65rem;align-items:start;padding:.6rem;border:1px solid #e1e7ef;border-radius:8px;background:#fff}.geo-layer-item strong{display:block;color:#1c2736}.geo-layer-item small{display:block;color:#65748a}.geo-layer-status{justify-self:start;padding:.24rem .42rem;border-radius:8px;background:#edf2f7;color:#40516a;font-size:.72rem;font-weight:800;text-transform:uppercase}.status-complete{background:#dff3e6;color:#267846}.status-pending-review{background:#fff4c7;color:#8a5a14}.status-not-started{background:#eef2f6;color:#607086}.status-blocked{background:#f9d7da;color:#9c3e33}.geo-shell-grid,.source-planned-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.geo-shell-card,.source-planned-inputs>div,.source-limitations{display:grid;gap:.45rem;padding:.65rem;border:1px solid #d9e1ea;border-radius:8px;background:#fbfcfe}.geo-chip-list{display:flex;flex-wrap:wrap;gap:.35rem}.geo-chip-list span{padding:.28rem .42rem;border:1px solid #d9e1ea;border-radius:8px;background:#fff;color:#40516a;font-size:.75rem;font-weight:750}.source-detail-list{display:grid;border:1px solid #d9e1ea;border-radius:8px;background:#fff}.source-detail-list div{grid-template-columns:minmax(12rem,.35fr) minmax(0,1fr);padding:.55rem .65rem;border-bottom:1px solid #edf1f6}.source-detail-list div:last-child{border-bottom:none}.source-detail-list dd{margin:0;min-width:0;overflow-wrap:anywhere;color:#40516a}.source-detail-list input,.source-limitations textarea{width:100%;border:1px solid #cad4df;border-radius:8px;padding:.48rem .62rem;background:#fbfcfe;color:#1c2736;font:inherit}.source-limitations textarea{resize:vertical}.source-limitations ul{margin:0;padding-left:1.1rem;color:#40516a}.taxonomy-panel{display:grid;gap:.85rem;padding:.85rem}.taxonomy-toolbar{display:grid;grid-template-columns:minmax(16rem,.35fr) minmax(0,1fr);gap:.85rem;align-items:end}.taxonomy-summary{display:flex;flex-wrap:wrap;gap:.45rem}.taxonomy-summary span{padding:.34rem .5rem;border:1px solid #d9e1ea;border-radius:8px;background:#f6f8fb;color:#40516a;font-size:.78rem;font-weight:750}.taxonomy-table{display:grid;max-height:26rem;overflow:auto;border:1px solid #d9e1ea;border-radius:8px;background:#fff}.taxonomy-row{display:grid;grid-template-columns:minmax(20rem,1.6fr) minmax(10rem,.7fr) minmax(10rem,.7fr) auto;gap:.65rem;align-items:center;padding:.55rem .65rem;border-bottom:1px solid #edf1f6}.taxonomy-row:last-child{border-bottom:none}.taxonomy-row-head{position:sticky;top:0;z-index:1;background:#f8fafc;color:#526177;font-size:.76rem;font-weight:800;text-transform:uppercase}.taxonomy-industry-cell{display:grid;gap:.12rem;min-width:0}.taxonomy-industry-cell strong{overflow:hidden;color:#1c2736;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.taxonomy-industry-cell small{color:#65748a}.taxonomy-select-cell select{width:100%;min-height:2rem;border:1px solid #cad4df;border-radius:8px;background:#fbfcfe;color:#1c2736;font:inherit;font-size:.82rem;font-weight:700}.taxonomy-row .text-button:disabled{color:#9aa7b7;cursor:not-allowed}.inventory-item:last-child{border-bottom:none;padding-bottom:0}.linked-table-list{display:grid;gap:.65rem;margin-top:.75rem}.linked-table-row{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.8rem .9rem;border-radius:14px;background:#143b630d}.linked-table-row input{width:1rem;height:1rem}.linked-table-row small{color:#61718b}dl{margin:0}dl div{display:grid;grid-template-columns:6rem 1fr;gap:.5rem;padding:.2rem 0}dt{font-weight:700}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid rgba(16,32,56,.08)}.workspace-grid,.control-grid,.spotlight-card,.editor-grid,.sankey-integrated-controls,.drawer-grid,.risk-panel,.geo-shell-summary,.geo-shell-grid,.geo-layer-item,.source-detail-list div,.source-planned-inputs,.taxonomy-toolbar,.taxonomy-row{grid-template-columns:1fr}.panel-heading{flex-direction:column;align-items:flex-start}}.confidence-badge{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:capitalize}.confidence-badge.high{background-color:#c6f6d5;color:#276749}.confidence-badge.medium{background-color:#feebc8;color:#c05621}.confidence-badge.low,.confidence-badge.unknown{background-color:#fed7d7;color:#9b2c2c}.confidence-badge.manual{background-color:#bee3f8;color:#2b6cb0}.interactive-province-outline{cursor:pointer;fill:#236d9b05;stroke:#3b83c0b3;stroke-width:1.5;transition:all .2s ease-in-out}.interactive-province-outline:hover{fill:#236d9b1a;stroke:#1b6d8f;stroke-width:2.5;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}.geo-csd-circle{cursor:pointer;stroke:#fff!important;stroke-width:1.5;transition:all .25s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.geo-csd-circle:hover{stroke:#fff!important;stroke-width:2.2;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3)) brightness(1.15)}.geo-hub-node.density-1{fill:#65c6f0!important}.geo-hub-node.density-2{fill:#3f8fd8!important}.geo-hub-node.density-3{fill:#5b6ee1!important}.geo-hub-node.density-4{fill:#8d63c7!important}.geo-hub-node.density-5{fill:#50b878!important}.geo-hub-node.density-6{fill:#b7c83c!important}.geo-hub-node.density-7{fill:#ffd34e!important}.geo-hub-node.density-8{fill:#f49a3d!important}.geo-hub-node.density-9{fill:#ef5d4a!important}.geo-hub-node.density-10{fill:#b82242!important}.interactive-csd-outline-bg{fill:#143b6305;stroke:#143b6326;stroke-width:1;transition:all .2s ease-in-out;cursor:pointer}.interactive-csd-outline-bg:hover{fill:#143b630d;stroke:#143b634d;stroke-width:1.5}.interactive-csd-outline-bg.has-presence{fill:#236d9b14;stroke:#236d9b38;stroke-width:1}.interactive-csd-outline-bg.has-presence:hover{fill:#236d9b24;stroke:#236d9b73;stroke-width:1.5}.interactive-csd-outline-bg.clustered-boundary{stroke-dasharray:2 2;stroke:#236d9b59}.floating-back-btn{position:absolute;top:1rem;left:1rem;z-index:10;display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;border-radius:8px;background:#0f172ad1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #00000040;color:#f8fafc;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .25s ease;-webkit-user-select:none;user-select:none}.floating-back-btn:hover{background:#0f172af2;border-color:#ffffff40;box-shadow:0 8px 36px #0000004d;transform:translateY(-1px)}.floating-back-btn:active{transform:translateY(0)}.geo-hub-flow-arc.self-loop{stroke:#dd6b20;stroke-dasharray:4 2;animation:geoSelfLoopDash 12s linear infinite}@keyframes geoSelfLoopDash{to{stroke-dashoffset:-20}}.geo-top-suppliers-dashboard,.geo-top-consumers-dashboard{background:#1e293b73;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;margin-top:24px;margin-bottom:24px;box-shadow:0 8px 32px #0000005e;font-family:inherit}.geo-dashboard-header{margin-bottom:18px}.geo-dashboard-header h4{margin:0 0 4px;font-size:1.15rem;font-weight:600;color:#f8fafc;letter-spacing:-.025em}.geo-dashboard-subtitle{font-size:.85rem;color:#fff}.geo-supplier-card{background:#0f172a99;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.geo-supplier-card:hover{transform:translateY(-2px);border-color:#ffffff26;box-shadow:0 6px 20px #0006}.geo-card-industry{font-size:.95rem;font-weight:600;color:#fff;margin-bottom:8px;line-height:1.35}.geo-dashboard-subtitle{font-size:.85rem;color:#f1f5f9!important;opacity:.95!important}.geo-supplier-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.geo-supplier-card{background:#0f172ab3;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.geo-supplier-card:hover{transform:translateY(-2px);border-color:#ffffff40;box-shadow:0 6px 20px #00000080}.geo-supplier-card.self-loop-card{border-left:3px solid #dd6b20}.geo-card-industry{font-size:.95rem;font-weight:600;color:#fff!important;margin-bottom:8px;line-height:1.35}.geo-card-location{display:flex;align-items:center;gap:8px;margin-bottom:12px}.geo-csd-name-text{font-size:.85rem;color:#fff!important;font-weight:600}.geo-card-loop-tag{background:#dd6b2033;color:#fbd38d;font-size:.7rem;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.geo-card-criteria{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.geo-badge{font-size:.72rem;font-weight:700;padding:3px 8px;border-radius:9999px;width:fit-content}.badge-local{background:#48bb7840;color:#a3e635}.badge-out-of-province{background:#6366f14d;color:#e0e7ff}.badge-self-loop{background:#dd6b204d;color:#ffedd5}.geo-criteria-detail{font-size:.72rem;color:#f1f5f9!important;line-height:1.35;opacity:1!important;font-weight:500}.geo-card-value{border-top:1px solid rgba(255,255,255,.08);padding-top:10px;display:flex;justify-content:space-between;align-items:baseline}.geo-value-label{font-size:.75rem;color:#cbd5e1!important;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.geo-value-num{font-size:1.1rem;font-weight:700;color:#38bdf8}.sidebar-accordion{border:1px solid #d9e1ea;border-radius:6px;margin-bottom:.75rem;background:#fff;overflow:hidden;transition:all .2s ease}.sidebar-accordion[open]{box-shadow:0 4px 12px #1020380d;border-color:var(--studio-accent, #236d9b)}.sidebar-accordion summary{padding:.75rem 1rem;font-weight:700;color:#143b63;cursor:pointer;background:#f8fafc;border-bottom:1px solid transparent;-webkit-user-select:none;user-select:none;display:flex;justify-content:space-between;align-items:center;outline:none}.sidebar-accordion[open] summary{background:#f1f5f9;border-bottom-color:#d9e1ea}.sidebar-accordion .accordion-content{padding:1rem}.sidebar .drawer-grid{grid-template-columns:1fr!important;padding:.5rem 0!important;gap:.75rem!important}.sidebar .drawer-control-wide{grid-column:span 1!important}.sidebar .consumer-use-colour-grid{grid-template-columns:1fr!important;gap:.5rem!important}.sidebar .drawer-check{min-height:2rem!important}.workspace-canvas-split{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;align-items:start;margin-top:.5rem;width:100%}@media (max-width: 1200px){.workspace-canvas-split{grid-template-columns:1fr!important}.workspace-resizer{display:none!important}}.workspace-resizer{cursor:col-resize;width:12px;align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:10;-webkit-user-select:none;user-select:none}.workspace-resizer:after{content:"";width:4px;height:40px;background:#cbd5e0;border-radius:2px;transition:all .2s ease}.workspace-resizer:hover:after,.workspace-resizer.active:after{background:var(--studio-accent, #236d9b);height:80px;width:6px}.workspace-resizer:hover{background:#236d9b0d}.workspace-resizer.active{background:#236d9b1a}.pane-geospatial{display:flex;flex-direction:column;min-height:650px;background:#fff;padding:1.25rem}.pane-geospatial .geo-boundary-map{height:480px;position:relative;flex-shrink:0;border-radius:6px;border:1px solid #e2e8f0;background:#f7fafc;overflow:hidden}.pane-geospatial .geo-dashboards-scroll-container{flex:1;overflow-y:auto;max-height:450px;margin-top:1rem;padding-right:.5rem}.hovered-highlight{transition:all .25s cubic-bezier(.4,0,.2,1)}g.sankey-node-group.hovered-highlight rect{stroke:#bd7b2a!important;stroke-width:2.5px!important;filter:drop-shadow(0 0 8px rgba(189,123,42,.6))!important;transform:scale(1.02);transform-origin:center}g.sankey-node-group.dimmed-fade{opacity:.15!important;pointer-events:none}path.sankey-link.hovered-highlight{opacity:.95!important;stroke-opacity:.95!important;filter:drop-shadow(0 0 4px var(--studio-accent, #236d9b))!important}path.sankey-link.dimmed-fade{opacity:.05!important;stroke-opacity:.05!important}path.interactive-csd-outline-bg.hovered-highlight{fill:#236d9b33!important;stroke:var(--studio-accent, #236d9b)!important;stroke-width:2px!important;filter:drop-shadow(0 0 6px rgba(35,109,155,.4))!important}path.interactive-csd-outline-bg.dimmed-fade{opacity:.3!important}path.geo-hub-flow-arc.hovered-highlight{stroke-opacity:1!important;filter:drop-shadow(0 0 6px currentColor)!important;stroke-width:6px!important}path.geo-hub-flow-arc.dimmed-fade{stroke-opacity:.1!important}polygon.geo-hub-flow-arrow.hovered-highlight{fill-opacity:1!important;stroke-opacity:1!important;filter:drop-shadow(0 0 4px currentColor)!important}polygon.geo-hub-flow-arrow.dimmed-fade{fill-opacity:.1!important;stroke-opacity:.1!important}circle.geo-hub-node.hovered-highlight{stroke:#fff!important;stroke-width:3.5px!important;filter:drop-shadow(0 0 12px currentColor)!important}circle.geo-hub-node.dimmed-fade{opacity:.15!important}circle.geo-csd-circle.hovered-highlight{stroke:var(--studio-accent, #236d9b)!important;stroke-width:3.5px!important;filter:drop-shadow(0 0 12px rgba(35,109,155,.9))!important}circle.geo-csd-circle.dimmed-fade{opacity:.15!important}.sidebar.bottom-panel{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;border-right:none!important;border-top:1px solid rgba(16,32,56,.08)!important;resize:none!important;background:#ffffffd1!important;backdrop-filter:blur(20px) saturate(190%)!important;-webkit-backdrop-filter:blur(20px) saturate(190%)!important;border-radius:12px!important;box-shadow:0 8px 32px #1f26870d!important;margin-top:1.5rem!important;padding:1.5rem!important;box-sizing:border-box!important}.sidebar.bottom-panel h2{font-size:1.25rem!important;color:#143b63!important;margin:0!important}.sidebar.bottom-panel .sidebar-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))!important;gap:1.25rem!important;margin-top:1.25rem!important;align-items:start!important}.sidebar.bottom-panel .sidebar-accordion{margin-bottom:0!important;border-color:#10203814!important;background:#ffffff80!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.sidebar.bottom-panel .sidebar-accordion[open]{box-shadow:0 4px 20px #1020380f!important;background:#fff!important}.sidebar.bottom-panel .sidebar-accordion summary{background:#f8fafcbf!important}.sidebar.bottom-panel .sidebar-accordion[open] summary{background:#f1f5f9!important}.wildfire-pulse{animation:wildfirePulse 2s infinite ease-in-out}@keyframes wildfirePulse{0%{opacity:.15}50%{opacity:.85}to{opacity:.15}}.app-header-top{display:flex;justify-content:space-between;align-items:center;padding:.65rem 2rem;background:#ffffffd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(226,232,240,.8);position:sticky;top:0;z-index:1000;box-shadow:0 4px 20px -2px #1020380a}.header-logo-container{display:flex;align-items:center}.header-logo{height:40px;width:auto;object-fit:contain;display:block}.header-about-container{position:relative;display:inline-block}.about-trigger-btn{background:transparent;border:1px solid rgba(15,23,42,.12);color:#1e293b;font-size:.9rem;font-weight:600;padding:.5rem 1.1rem;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:.45rem;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.about-trigger-btn:hover{background:#0f172a0d;border-color:#0f172a40;transform:translateY(-1px)}.about-trigger-btn:active{transform:translateY(0)}.dropdown-chevron{font-size:.65rem;color:#64748b;transition:transform .2s ease;display:inline-block}.dropdown-chevron.open{transform:rotate(180deg)}.about-dropdown-box{position:absolute;top:calc(100% + .65rem);right:0;width:320px;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:14px;box-shadow:0 10px 25px -5px #1020381f,0 8px 16px -6px #10203814;padding:1.1rem;z-index:1010;animation:dropdownFadeIn .2s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;gap:.85rem}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dropdown-arrow{position:absolute;top:-6px;right:22px;width:12px;height:12px;background:#fff;border-left:1px solid rgba(226,232,240,.9);border-top:1px solid rgba(226,232,240,.9);transform:rotate(45deg);z-index:-1}.dropdown-section{display:flex;flex-direction:column;gap:.35rem}.dropdown-title{font-size:.8rem;font-weight:700;color:#1e293b;line-height:1.35}.dropdown-link{font-size:.85rem;font-weight:600;color:#2563eb;text-decoration:none;display:inline-flex;align-items:center;align-self:flex-start;transition:color .15s ease,transform .15s ease}.dropdown-link:hover{color:#1d4ed8;text-decoration:underline;transform:translate(1px)}.dropdown-divider{height:1px;background:#e2e8f0cc;width:100%}.dropdown-btn-link{background:transparent;border:none;color:#2563eb;font-size:.85rem;font-weight:600;text-align:left;padding:0;cursor:pointer;display:inline-flex;align-items:center;align-self:flex-start;transition:color .15s ease,transform .15s ease;font-family:inherit}.dropdown-btn-link:hover{color:#1d4ed8;text-decoration:underline;transform:translate(1px)}.help-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a73;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:99999;animation:modalFadeIn .3s cubic-bezier(.16,1,.3,1)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.help-modal-container{width:90%;max-width:1100px;height:85vh;background:#fff;border-radius:16px;border:1px solid rgba(226,232,240,.8);box-shadow:0 25px 50px -12px #10203840;display:flex;flex-direction:column;overflow:hidden;animation:modalScaleUp .3s cubic-bezier(.16,1,.3,1)}@keyframes modalScaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.theme-dark .help-modal-container,.theme-slate-dark .help-modal-container,.theme-obsidian .help-modal-container{background:#0f172a;border-color:#ffffff1a;box-shadow:0 25px 50px -12px #00000080}.help-modal-header{padding:1.1rem 1.5rem;background:#f8fafc;border-bottom:1px solid rgba(226,232,240,.8);display:flex;justify-content:space-between;align-items:center}.theme-dark .help-modal-header,.theme-slate-dark .help-modal-header,.theme-obsidian .help-modal-header{background:#1e293b;border-bottom-color:#ffffff14}.help-modal-title{display:flex;align-items:center;gap:.6rem}.help-modal-title h3{margin:0;font-size:1.1rem;font-weight:700;color:#0f172a}.theme-dark .help-modal-title h3,.theme-slate-dark .help-modal-title h3,.theme-obsidian .help-modal-title h3{color:#f8fafc}.help-modal-title span{font-size:1.2rem}.help-modal-controls{display:flex;align-items:center;gap:.75rem}.help-modal-btn{background:#fff;border:1px solid rgba(15,23,42,.12);color:#334155;font-size:.82rem;font-weight:600;padding:.45rem .9rem;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .2s ease;font-family:inherit}.help-modal-btn:hover{background:#f1f5f9;border-color:#0f172a33;color:#0f172a}.theme-dark .help-modal-btn,.theme-slate-dark .help-modal-btn,.theme-obsidian .help-modal-btn{background:#334155;border-color:#ffffff14;color:#cbd5e1}.theme-dark .help-modal-btn:hover,.theme-slate-dark .help-modal-btn:hover,.theme-obsidian .help-modal-btn:hover{background:#475569;color:#f8fafc}.help-modal-btn.close-btn{background:#ef4444;border-color:#ef4444;color:#fff}.help-modal-btn.close-btn:hover{background:#dc2626;border-color:#dc2626}.help-modal-body{flex:1;background:#f8fafc;position:relative;overflow:hidden}.theme-dark .help-modal-body,.theme-slate-dark .help-modal-body,.theme-obsidian .help-modal-body{background:#0f172a}.help-modal-iframe{width:100%;height:100%;border:none;background:#fff;display:block}@keyframes cii-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cii-loading-spinner{display:inline-block;width:10px;height:10px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:cii-spin .6s linear infinite;margin-left:6px;vertical-align:middle}@keyframes cii-pulse-amber{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.3);opacity:1}to{transform:scale(.9);opacity:.6}}.cii-pulsing-dot-amber{display:inline-block;width:5px;height:5px;background-color:#d97706;border-radius:50%;margin-right:4.5px;animation:cii-pulse-amber 1.2s ease-in-out infinite;vertical-align:middle}.cii-loading-spinner-inline{display:inline-block;width:7px;height:7px;border:1.2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:cii-spin .6s linear infinite;margin-right:4.5px;vertical-align:middle}.cii-status-badge{box-shadow:0 1px 2px #0000000d;transition:all .2s ease-in-out}.cii-status-badge:hover{transform:translateY(-.5px);box-shadow:0 2px 4px #00000014}
