:root{--page-padding: 28px;--bg: #d8e2e6;--bg-deep: #bfccd3;--surface: rgba(255, 255, 255, .99);--surface-strong: rgba(255, 255, 255, 1);--surface-tint: rgba(245, 249, 251, .99);--surface-warm: rgba(248, 242, 233, .95);--surface-popover: rgba(252, 254, 255, .995);--surface-elevated: rgba(233, 241, 244, .94);--surface-rail: rgba(203, 216, 222, .98);--ink: #12202b;--ink-soft: #213846;--muted: #6b7e8a;--muted-strong: #536878;--caption-color: var(--muted);--copy-color: var(--muted-strong);--line: rgba(18, 32, 43, .12);--line-soft: rgba(18, 32, 43, .08);--line-subtle: rgba(18, 32, 43, .06);--line-strong: rgba(18, 32, 43, .2);--line-accent: rgba(14, 91, 85, .26);--panel-border-selected: rgba(18, 96, 90, .2);--accent: #0f5b55;--accent-strong: #0a433e;--accent-soft: rgba(15, 91, 85, .13);--accent-softer: rgba(15, 91, 85, .05);--brand-blue: #3557e7;--brand-blue-soft: rgba(53, 87, 231, .1);--mode-accent: var(--accent);--mode-accent-strong: var(--accent-strong);--mode-accent-soft: var(--accent-soft);--mode-accent-softer: var(--accent-softer);--mode-surface-tint: rgba(15, 91, 85, .03);--mode-surface-strong: rgba(15, 91, 85, .08);--mode-frame: rgba(15, 91, 85, .22);--storm: #3b6673;--good: #2b6b58;--warn: #8f652d;--shadow-subtle: 0 6px 14px rgba(18, 31, 40, .04);--shadow-soft: 0 10px 28px rgba(18, 31, 40, .055);--shadow-panel: 0 14px 36px rgba(18, 31, 40, .07);--shadow-float: 0 16px 28px rgba(18, 31, 40, .1);--shadow-inset: 0 6px 14px rgba(18, 31, 40, .03);--shadow-selected: 0 24px 56px rgba(18, 31, 40, .1);--panel-bg-kpi: rgba(235, 244, 245, .96);--analytic-panel-bg: linear-gradient(180deg, rgba(251, 253, 253, .99), rgba(246, 250, 251, .97));--analytic-panel-border: 1px solid var(--line-soft);--analytic-panel-shadow: 0 8px 18px rgba(18, 31, 40, .03);--card-soft-border: 1px solid rgba(31, 109, 103, .11);--card-warm-bg: var(--surface-warm);--panel-shadow-soft: var(--shadow-subtle);--panel-shadow: var(--shadow-panel);--panel-shadow-float: var(--shadow-float);--control-bg: var(--control-surface-bg);--control-bg-hover: var(--control-surface-bg-hover);--control-border: var(--control-surface-border);--control-border-active: 1px solid color-mix(in srgb, var(--mode-accent) 18%, rgba(18, 32, 43, .12));--control-text: var(--ink);--control-text-muted: var(--ink-soft);--control-surface-bg: color-mix(in srgb, var(--surface-strong) 99%, transparent);--control-surface-bg-hover: var(--surface-tint);--control-surface-border: 1px solid var(--line-soft);--popover-border: 1px solid var(--line-soft);--popover-shadow: var(--shadow-float);--table-surface-bg: var(--surface-tint);--table-head-bg: rgba(240, 245, 249, .98);--table-head-color: var(--caption-color);--text-micro: 11px;--text-label: 12px;--text-meta: 14px;--text-body: 15px;--text-body-strong: 16px;--heading-sm: 18px;--heading-md: 20px;--heading-lg: 24px;--heading-xl: 28px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 18px;--radius-pill: 999px;--content-width: 1520px;color-scheme:light;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{padding:0}body,button,input,select,textarea{font-family:Inter,Segoe UI,system-ui,sans-serif}a{color:inherit;text-decoration:none}.shell{max-width:var(--content-width);margin:0 auto;padding:var(--page-padding)}.shell-wide{max-width:none;padding:0}.panel,.kpi{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)}.panel-nav{background:color-mix(in srgb,var(--surface-elevated) 88%,var(--surface-strong) 12%);border-color:var(--line);box-shadow:none}.panel-summary{background:var(--surface-strong);border-color:var(--line);box-shadow:var(--shadow-panel)}.panel-kpi{background:var(--surface-strong);border-color:var(--line-soft);box-shadow:var(--shadow-inset)}.panel-inset{border:1px solid var(--line-soft);border-radius:18px;background:color-mix(in srgb,var(--surface-tint) 82%,var(--surface-strong) 18%);box-shadow:var(--shadow-inset)}.auth-shell{position:relative;min-height:100vh;overflow:hidden;background:#e8eef1}.auth-backdrop{position:absolute;inset:0;pointer-events:none}.auth-orb{position:absolute;border-radius:999px;opacity:1}.auth-orb-b{right:13%;bottom:12%;width:220px;height:220px;background:#e8eef18f;border:1px solid rgba(18,32,43,.04)}.auth-gridline{position:absolute;border:1px solid rgba(255,255,255,.08)}.auth-gridline-a{top:14%;left:48%;width:204px;height:204px;border-radius:30px}.auth-gridline-b{right:8%;bottom:11%;width:152px;height:152px;border-radius:24px}.auth-layout{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.auth-brand-plane,.auth-signin-plane{min-width:0;display:flex}.auth-brand-plane{position:relative;flex-direction:column;justify-content:center;padding:48px 48px 48px 88px;overflow:hidden}.auth-brand-plane:before{content:"";position:absolute;inset:0;background:#182936fa;clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}.auth-brand-plane>*{position:relative;z-index:1}.auth-brand-stack{width:min(100%,680px);display:grid;gap:20px;color:#f8fbfcf5}.auth-brand-mark{min-height:72px}.auth-brand-mark img{width:min(100%,332px);height:auto;display:block}.auth-kicker,.auth-eyebrow{margin:-35px 0 0;font-size:var(--text-label);font-weight:800;letter-spacing:.16em;text-transform:uppercase}.auth-kicker{color:#d4e0e8e6}.auth-title{margin:0;max-width:9.2ch;color:#f6fafb;font-size:clamp(38px,4.4vw,71px);line-height:.98;letter-spacing:-.055em;font-weight:760;text-wrap:balance}.auth-body{margin:0;max-width:28rem;color:#d4dfe5d6;font-size:var(--text-body);line-height:1.58}.auth-signin-plane{align-items:center;justify-content:center;padding:48px 78px 48px 8px}.auth-signin-shell{position:relative;width:min(100%,440px);display:grid;gap:16px;padding:28px 30px 30px;border-radius:24px;background:#fcfefef5;border:1px solid var(--line-soft);box-shadow:var(--shadow-panel);backdrop-filter:blur(14px)}.auth-eyebrow{color:var(--caption-color)}.auth-signin-title{margin:0;color:#1b2c37;font-size:clamp(30px,2.5vw,38px);line-height:.98;letter-spacing:-.05em;font-weight:760}.auth-signin-copy{margin:0;max-width:24rem;color:var(--copy-color);font-size:var(--text-body);line-height:1.6}.auth-signin-copy strong,.auth-signin-note strong{color:#1b2c37}.auth-signin-note{margin:2px 0 0;color:var(--muted);font-size:var(--text-label);line-height:1.45}.auth-google-button,.dashboard-signout-button{appearance:none;border:0;cursor:pointer}.auth-google-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border-radius:999px;padding:14px 22px;background:#163745;color:#f8fbfc;box-shadow:0 12px 24px #16374529;font:inherit;font-size:var(--text-body);font-weight:700;letter-spacing:-.01em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.auth-google-button:hover{background:#0f2d3a;box-shadow:0 16px 28px #1637452e;transform:translateY(-1px)}.auth-google-button:disabled,.auth-google-button[aria-busy=true]{cursor:default;opacity:.78;transform:none;box-shadow:0 10px 18px #16374524}.auth-google-button:focus-visible{outline:3px solid rgba(53,87,231,.28);outline-offset:3px}@media(max-width:1080px){.auth-layout{grid-template-columns:1fr}.auth-shell{background:#e8eef1}.auth-brand-plane{padding:44px 32px 18px}.auth-brand-plane:before{clip-path:none;background:#182936fa}.auth-brand-stack{width:100%;gap:18px}.auth-title{max-width:10ch}.auth-signin-plane{padding:10px 28px 36px}}@media(max-width:720px){.auth-brand-plane{padding:32px 20px 12px}.auth-signin-plane{padding:8px 20px 28px}.auth-signin-shell{padding:24px 20px 22px;border-radius:20px}.auth-title{max-width:100%;font-size:clamp(34px,11vw,51px)}.auth-body{font-size:var(--text-body)}}.dashboard-screen{--sidebar-width: 260px;--shell-gap: 6px;--shell-top: 0px;--shell-height: 100vh;--shell-left: 0px;--dashboard-sidebar-padding-x: 26px;--dashboard-sidebar-padding-top: 28px;--dashboard-sidebar-padding-bottom: 24px;--dashboard-sidebar-keyline: 14px;--dashboard-nav-gap: 10px;--dashboard-nav-min-height: 44px;--dashboard-nav-radius: 10px;--dashboard-nav-pad-y: 9px;--dashboard-nav-pad-x: 13px;--dashboard-nav-font-size: var(--text-body);--dashboard-nav-letter-spacing: -.015em;--dashboard-table-cell-pad-y: 11px;--dashboard-table-cell-pad-x: 13px;--dashboard-table-head-size: var(--text-micro);--dashboard-table-head-spacing: .06em;--dashboard-table-body-size: var(--text-meta);--dashboard-chart-frame-radius: 14px;--dashboard-chart-frame-margin-top: 10px;--mode-accent: var(--accent);--mode-accent-strong: var(--accent-strong);--mode-accent-soft: var(--accent-soft);--mode-accent-softer: var(--accent-softer);--mode-surface-tint: rgba(31, 109, 103, .03);--mode-surface-strong: rgba(31, 109, 103, .07);--mode-frame: rgba(31, 109, 103, .22)}.dashboard-screen[data-tab=overview]{--mode-accent: #495c6a;--mode-accent-strong: #354652;--mode-accent-soft: rgba(73, 92, 106, .08);--mode-accent-softer: rgba(73, 92, 106, .04);--mode-frame: rgba(73, 92, 106, .2)}.dashboard-screen[data-tab=contractors]{--mode-accent: #315d76;--mode-accent-strong: #254659;--mode-accent-soft: rgba(49, 93, 118, .09);--mode-accent-softer: rgba(49, 93, 118, .045);--mode-frame: rgba(49, 93, 118, .22)}.dashboard-screen{display:block;position:relative;min-height:var(--shell-height);background:var(--surface-tint)}.dashboard-sidebar{position:fixed;top:var(--shell-top);left:var(--shell-left);width:var(--sidebar-width);height:var(--shell-height);padding:0;border-right:1px solid rgba(255,255,255,.04)}.sidebar-sticky{display:grid;gap:12px;align-content:start}.sidebar-shell{--sidebar-keyline: var(--dashboard-sidebar-keyline);height:100%;padding:var(--dashboard-sidebar-padding-top) var(--dashboard-sidebar-padding-x) var(--dashboard-sidebar-padding-bottom);overflow-y:auto;align-content:start;grid-template-rows:auto auto 1fr;border-radius:0!important;background:#182430;border:0;box-shadow:none}.sidebar-shell.panel-summary{background:#182430;border:0;box-shadow:none}.dashboard-main{min-width:0;margin-left:var(--sidebar-width);height:var(--shell-height);overflow-y:auto;scrollbar-gutter:stable;padding:0 0 18px;border-radius:0;background:var(--surface-tint)}.title-block{max-width:420px;align-self:start}.sidebar-title-block{padding:0 0 18px;border-bottom:1px solid rgba(255,255,255,.06)}.brand-logo{display:block;width:auto;height:35px;margin:0 0 12px}.sidebar-nav{padding:30px 0 0;margin-inline:0;background:transparent;border:0;box-shadow:none}.sidebar-nav.panel,.sidebar-nav.panel-nav{padding-inline:0;background:transparent;border:0;box-shadow:none}.eyebrow{margin:-15px 0 0;font-size:var(--text-micro);letter-spacing:.18em;text-transform:uppercase;color:#e0ebf4c2;font-weight:700;white-space:nowrap}.sidebar-section-label{margin:0 0 14px;padding-left:var(--sidebar-keyline);font-size:var(--text-micro);letter-spacing:.22em;text-transform:uppercase;color:#b3c5d39e;font-weight:700}.page-title,.page-subtitle{display:none}.meta-cluster{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.sidebar-meta-cluster{display:grid;gap:14px;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.06);align-self:end;opacity:.96}.snapshot{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;row-gap:5px;min-width:0;width:100%;padding:0 2px 0 0;border-radius:0;border:0;background:transparent;backdrop-filter:none;box-shadow:none}.snapshot-label{font-size:var(--text-micro);text-transform:uppercase;letter-spacing:.18em;color:#dae6efad;font-weight:700;white-space:nowrap}.snapshot strong{font-size:var(--text-label);color:#f2f8fccc;font-weight:600;text-align:left}.sidebar-account{display:grid;gap:10px;width:100%;padding-top:14px;margin-top:2px;margin-bottom:2px;border:0;border-radius:0;background:transparent;border-top:1px solid rgba(255,255,255,.05);box-shadow:none}.sidebar-account-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.sidebar-account-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:linear-gradient(135deg,#7891e64d,#ffbd5c2e);border:1px solid rgba(255,255,255,.08);color:#f8fbfff5;font-size:var(--text-label);font-weight:800;letter-spacing:.04em}.sidebar-account-copy{display:grid;gap:3px;min-width:0}.sidebar-account-copy .snapshot-label{font-size:var(--text-micro);letter-spacing:.2em;color:#dae6ef85}.sidebar-account-email{display:block;max-width:100%;font-size:var(--text-body);color:#f5f9fcf0;font-weight:650;line-height:1.15;overflow-wrap:anywhere}.sidebar-signout-button{appearance:none;width:100%;padding:8px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff09;color:#e2ecf2d1;font:inherit;font-size:var(--text-meta);font-weight:580;text-align:left;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.sidebar-signout-button:hover{background:#ffffff0f;border-color:#ffffff1f;box-shadow:0 6px 14px #08101e1a;transform:translate(1px)}.command-bar{position:sticky;top:0;z-index:12;display:grid;gap:0;margin-bottom:0;padding:12px 24px 13px;background:var(--surface-elevated);border-bottom:1px solid rgba(23,33,43,.18);border-color:#12202b0f;border-bottom-color:#12202b17;box-shadow:0 8px 18px #121f2805,inset 0 1px #ffffff8c;border-radius:0}.tab-row{display:flex;flex-direction:column;gap:var(--dashboard-nav-gap);border-radius:0}.tab{position:relative;display:grid;grid-template-columns:3px 1fr;align-items:center;column-gap:14px;width:100%;min-height:var(--dashboard-nav-min-height);padding:10px 14px 10px var(--sidebar-keyline);border-radius:var(--dashboard-nav-radius);border:1px solid rgba(255,255,255,.04);background:#ffffff04;color:#e8f0f7d1;font-weight:560;font-size:var(--dashboard-nav-font-size);letter-spacing:var(--dashboard-nav-letter-spacing);transition:background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.tab:hover{background:#ffffff09;border-color:#ffffff16;color:#f8fbfff5;transform:translate(2px)}.tab:before{content:"";position:absolute;left:var(--sidebar-keyline);top:var(--dashboard-nav-pad-y);bottom:var(--dashboard-nav-pad-y);width:3px;border-radius:999px;background:#ffffff08}.tab.active{background:linear-gradient(180deg,#4760b057,#3f549847);border-color:#7f97ee57;color:#eef3ff;font-weight:600;box-shadow:inset 0 1px #ffffff0a,0 10px 22px #08101e2e}.tab-label{grid-column:2;line-height:1.08;text-wrap:balance}.tab.active:before{background:#9eb2ff}.tab-meta{color:var(--muted);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;font-weight:600}.panel-analysis{background:var(--surface);border-color:var(--line-soft);box-shadow:var(--shadow-panel)}.panel-selected{background:var(--surface-strong);border-color:var(--panel-border-selected);box-shadow:var(--shadow-selected)}.kpi{padding:18px 20px 19px;background:var(--panel-bg-kpi);box-shadow:var(--shadow-soft);position:relative}.kpi:before{display:none}.kpi .label{font-size:var(--text-micro);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.kpi .value{margin-top:8px;font-weight:700;font-size:clamp(21px,1.8vw,31px);letter-spacing:-.045em}.kpi .hint{margin-top:8px;color:var(--muted-strong);font-size:var(--text-meta);line-height:1.32}.decision-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.decision-kpi-grid-top{position:relative;z-index:1}.decision-kpi-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.decision-kpi-grid-two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-kpi-grid-four-up{grid-template-columns:repeat(4,minmax(0,1fr))}.contractor-kpi-section{display:grid;gap:8px;margin-bottom:4px}.overview-kpi-section{margin-bottom:-2px}.contractor-kpi-grid,.overview-kpi-grid{gap:0;position:relative;border-radius:var(--radius-xl);background:var(--analytic-panel-bg);border:var(--analytic-panel-border);box-shadow:var(--analytic-panel-shadow);overflow:hidden}.overview-kpi-grid{margin-bottom:8px;box-shadow:none;padding:0}.decision-kpi{border-radius:var(--radius-lg);padding:15px 16px 16px;position:relative;background:var(--surface);border-color:var(--line-soft);box-shadow:var(--shadow-inset)}.overview-kpi-grid__item{border-radius:0;padding:18px 20px 17px;box-shadow:none;border:0;min-height:126px;display:grid;align-content:start}.overview-kpi-grid__item+.overview-kpi-grid__item{border-left:1px solid rgba(23,33,43,.08)}.decision-kpi:before{display:none}.decision-kpi .label{font-size:var(--text-label);color:var(--caption-color);text-transform:uppercase;letter-spacing:.09em;font-weight:700}.decision-kpi .value{margin-top:5px;font-weight:780;font-size:clamp(20px,1.56vw,28px);letter-spacing:-.04em;line-height:1.05;color:var(--ink)}.decision-kpi .hint{margin-top:6px;color:var(--copy-color);font-size:var(--text-meta);line-height:1.32}.overview-kpi-grid__item .value{margin-top:7px;font-size:clamp(26px,1.9vw,36px);line-height:.98;font-weight:780;letter-spacing:-.04em}.decision-kpi.tone-warm .label,.decision-kpi.tone-warm .value{color:#7a531f}.contractor-kpi-grid .decision-kpi{border-radius:0;box-shadow:none;border:0;padding:18px 24px 17px;min-height:132px;display:grid;align-content:start}.contractor-kpi-grid .decision-kpi+.decision-kpi{border-left:1px solid rgba(23,33,43,.08)}.contractor-kpi-grid .decision-kpi.tone-warm{background:linear-gradient(180deg,#fbf7f085,#f8f2eac2)}.contractor-kpi-grid .decision-kpi .label{letter-spacing:.1em}.contractor-kpi-grid .decision-kpi .value{margin-top:7px;font-size:clamp(28px,2.05vw,40px);line-height:.98}.contractor-kpi-grid .decision-kpi .hint{margin-top:10px;line-height:1.36;max-width:none}.overview-kpi-grid__item .hint{margin-top:10px;max-width:none}@media(max-width:980px){.contractor-kpi-grid,.overview-kpi-grid{grid-template-columns:1fr}.contractor-kpi-grid .decision-kpi+.decision-kpi{border-left:0;border-top:1px solid rgba(23,33,43,.08)}.overview-kpi-grid__item+.overview-kpi-grid__item{border-left:0;border-top:1px solid rgba(23,33,43,.08)}}.stack{display:grid;gap:12px}.panel{padding:20px 22px}.contractor-list-section{display:flex;flex-direction:column;gap:0;padding-top:4px}.contractor-list-section .panel-header{padding:0 2px;margin-bottom:6px}.contractor-list-section .panel-title{margin-bottom:6px}.contractor-list-section .panel-copy{max-width:62ch;font-size:var(--text-meta);line-height:1.46;color:var(--copy-color)}.panel-header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-title{margin:0;font-size:var(--heading-sm);letter-spacing:-.035em;font-weight:730}.panel-copy{margin:5px 0 0;max-width:58ch;color:var(--muted-strong);font-size:var(--text-meta);line-height:1.42}.filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:0;margin-bottom:0;background:transparent;box-shadow:none;position:static;top:auto;z-index:auto;border:0}.control-group{min-width:0}.control-group-core{display:grid;grid-template-columns:.68fr 1.24fr .94fr 1.04fr;gap:6px;min-width:0;align-items:start}.control-group-core-portfolio{grid-template-columns:.72fr 1.06fr 1.14fr}.control-group-core-contractors{width:fit-content;grid-template-columns:minmax(220px,280px) minmax(180px,240px);justify-content:start}.control-group-actions{min-width:0;padding-left:0;border-left:0}.field{display:grid;gap:4px;align-content:start}.field label{font-size:var(--text-micro);color:var(--caption-color);text-transform:uppercase;letter-spacing:.12em;line-height:1.15;font-weight:700}.control-surface,.field select,.field input{width:100%;min-height:32px;padding:5px 10px;border:var(--control-border);border-radius:var(--radius-sm);background:var(--control-bg);color:var(--control-text);font:inherit;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background .14s ease}.control-surface:hover,.field select:hover,.field input:hover{border-color:color-mix(in srgb,var(--mode-accent) 12%,rgba(18,32,43,.12));background:var(--control-bg-hover)}.control-surface:focus,.control-surface:focus-visible,.field select:focus,.field input:focus{outline:none;border-color:var(--mode-frame);box-shadow:0 0 0 4px color-mix(in srgb,var(--mode-accent) 10%,transparent)}.field select.active-select{border-color:#1f6d6733;box-shadow:0 0 0 3px #1f6d6714,inset 0 1px #ffffffd1;background:#f7fbfbfc;color:#27485b;font-weight:640}.field select.filter-select-active{border-color:#1f6d673d;background:color-mix(in srgb,var(--mode-accent) 8%,rgba(252,254,255,.99));color:color-mix(in srgb,var(--mode-accent) 62%,#213645)}.field select.service-select-active{border-color:#3557e72e;box-shadow:0 0 0 3px #3557e712,inset 0 1px #fffc;background:#fafcfffc;color:#2943bf;font-weight:700}.field select{appearance:auto}.field select option,.field select optgroup{color:var(--ink-soft);background:#fff}.field input[type=submit]{background:var(--accent);color:#fff;border-color:transparent;box-shadow:none;font-weight:600;cursor:pointer}.field input[type=submit]:hover{transform:translateY(-1px)}.secondary-action{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:calc(var(--dashboard-control-height) - 8px);padding:8px 14px;border-radius:var(--radius-md);border:var(--control-border);background:var(--control-bg);color:var(--control-text-muted);font-weight:600;white-space:nowrap;box-shadow:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease,transform .14s ease}.secondary-action:hover{border-color:color-mix(in srgb,var(--mode-accent) 12%,rgba(18,32,43,.12));background:var(--control-bg-hover);transform:translateY(-1px);box-shadow:var(--dashboard-inline-shadow)}.secondary-action:disabled{cursor:default}.contractor-filters-sticky{position:sticky;top:0;z-index:6;align-self:start;margin-bottom:10px;padding-bottom:6px;background:linear-gradient(180deg,var(--dashboard-toolbar-grad-fill) 0%,var(--dashboard-toolbar-grad-fill) 72%,var(--dashboard-toolbar-grad-bottom) 100%)}.contractor-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;padding:12px 15px;border:var(--analytic-panel-border);border-radius:var(--radius-lg);background:var(--surface-tint);backdrop-filter:blur(10px);box-shadow:inset 0 1px #fff9,var(--shadow-inset)}.contractor-filters-sticky.is-stuck .contractor-filters{border-top-left-radius:0;border-top-right-radius:0}.contractor-search-input,.contractor-select{min-height:var(--dashboard-control-height);padding:var(--dashboard-field-pad-y) var(--dashboard-field-pad-x);border:var(--control-border);border-radius:var(--radius-md);background:var(--control-bg);color:var(--control-text);cursor:pointer;font:inherit;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.contractor-search-input{max-width:270px;flex:1 1 320px;cursor:text}.contractor-select{min-width:150px;flex:0 0 auto;padding-right:42px;background-image:linear-gradient(45deg,transparent 50%,var(--muted-strong) 50%),linear-gradient(135deg,var(--muted-strong) 50%,transparent 50%),linear-gradient(180deg,var(--surface-tint),var(--control-bg));background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%,0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;box-shadow:inset 0 1px #ffffffbf,0 1px 2px #121f2805}.admin-select{position:relative;min-width:150px;flex:0 0 auto}.admin-select-control,.admin-select-sort{min-width:150px}.admin-select__trigger{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-height:var(--dashboard-control-height);padding:var(--dashboard-field-pad-y) 14px var(--dashboard-field-pad-y) var(--dashboard-field-pad-x);border:var(--control-border);border-radius:var(--radius-md);background:var(--control-bg);color:var(--control-text);font:inherit;text-align:left;cursor:pointer;appearance:none;box-shadow:inset 0 1px #ffffffb8;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.admin-select__trigger:hover{border-color:color-mix(in srgb,var(--mode-accent) 12%,rgba(18,32,43,.12));background:var(--control-bg-hover)}.admin-select__trigger:focus-visible{outline:none;border-color:var(--mode-frame);box-shadow:0 0 0 4px color-mix(in srgb,var(--mode-accent) 10%,transparent)}.admin-select__trigger-open{border-color:var(--control-border-active);background:var(--surface-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--mode-accent) 5%,transparent),var(--panel-shadow-soft)}.admin-select__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-select__chevron{inline-size:8px;block-size:8px;flex:0 0 auto;margin-right:2px;border-right:2px solid var(--muted-strong);border-bottom:2px solid var(--muted-strong);transform:rotate(45deg)}.admin-select__popover{position:absolute;inset:calc(100% + 8px) 0 auto;z-index:30;padding:6px;border:var(--popover-border);border-radius:var(--radius-md);background:var(--surface-popover);box-shadow:var(--popover-shadow)}.admin-select__list{display:grid;gap:2px;max-block-size:min(320px,46vh);margin:0;padding:0;overflow:auto;list-style:none}.admin-select__option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:34px;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--control-text-muted);font:inherit;font-size:var(--text-meta);font-weight:600;text-align:left;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}.admin-select__option:hover,.admin-select__option:focus-visible{outline:none;background:color-mix(in srgb,var(--mode-accent) 8%,rgba(239,245,249,.98));color:color-mix(in srgb,var(--mode-accent) 70%,#213948)}.admin-select__option.is-selected{background:color-mix(in srgb,var(--mode-accent) 8%,var(--surface-tint));color:color-mix(in srgb,var(--mode-accent) 78%,#1d3544)}.admin-select__check{color:color-mix(in srgb,var(--mode-accent) 76%,#1f4e48);font-size:var(--text-micro);font-weight:800}.contractor-search-input:focus,.contractor-select:focus{outline:none;border-color:var(--mode-frame);box-shadow:0 0 0 4px color-mix(in srgb,var(--mode-accent) 10%,transparent)}.contractor-select:hover{border-color:color-mix(in srgb,var(--mode-accent) 12%,rgba(18,32,43,.12));background-image:linear-gradient(45deg,transparent 50%,color-mix(in srgb,var(--mode-accent) 62%,var(--muted-strong)) 50%),linear-gradient(135deg,color-mix(in srgb,var(--mode-accent) 62%,var(--muted-strong)) 50%,transparent 50%),linear-gradient(180deg,var(--surface-tint),var(--surface-strong))}.contractor-filter-group{display:flex;flex-wrap:wrap;gap:8px;flex:0 1 auto}.contractor-filter-chip,.dashboard-preset-chip{display:inline-flex;align-items:center;gap:10px;min-height:var(--dashboard-chip-height-compact);padding:var(--dashboard-field-pad-y-compact) var(--dashboard-chip-pad-x-compact);border:var(--control-border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-strong) 92%,transparent);color:var(--control-text-muted);cursor:pointer;font:inherit;font-size:calc(var(--text-label) + 1px);font-weight:650;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.contractor-filter-chip:hover,.dashboard-preset-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--mode-accent) 12%,rgba(18,32,43,.12));background:var(--control-bg-hover)}.contractor-filter-chip.is-active,.dashboard-preset-chip-active{border-color:var(--control-border-active);background:color-mix(in srgb,var(--mode-accent) 11%,rgba(255,255,255,.96));color:color-mix(in srgb,var(--mode-accent) 68%,var(--ink-soft))}.contractor-filter-chip__hint{inline-size:17px;block-size:17px;margin-left:2px;margin-right:-2px;background:#e8f0f5e6;color:var(--muted-strong);flex:0 0 auto}.contractor-filter-chip.is-active .contractor-filter-chip__hint{background:color-mix(in srgb,var(--mode-accent) 14%,rgba(232,240,245,.96));color:color-mix(in srgb,var(--mode-accent) 72%,#284151)}.contractor-filter-chip__hint:hover,.contractor-filter-chip__hint:focus-visible{background:color-mix(in srgb,var(--mode-accent) 18%,rgba(220,232,239,1));color:color-mix(in srgb,var(--mode-accent) 84%,#223a48)}.contractor-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--line-soft);font-size:var(--text-micro);font-weight:700;letter-spacing:.01em;white-space:nowrap}.contractor-badge-dominant,.contractor-badge-watch{background:#fbf5edfa;border-color:#b876272b;color:#8a5d24}.contractor-badge-broad,.contractor-badge-qualified{background:#eef8f4fa;border-color:#327f6b2e;color:#216956}.contractor-badge-clustered{background:#f0f5fbfa;border-color:#3d609029;color:#365477}.reset-action{border-color:color-mix(in srgb,var(--warn) 12%,rgba(18,32,43,.12));background:color-mix(in srgb,var(--warn) 6%,rgba(255,255,255,.96));color:color-mix(in srgb,var(--warn) 58%,#5f4019);box-shadow:none}.reset-action:hover{border-color:color-mix(in srgb,var(--warn) 20%,rgba(18,32,43,.12));background:color-mix(in srgb,var(--warn) 10%,rgba(253,250,246,.98));color:color-mix(in srgb,var(--warn) 72%,#5f4019)}.reset-action.is-active{border-color:color-mix(in srgb,var(--warn) 28%,rgba(18,32,43,.12));background:color-mix(in srgb,var(--warn) 14%,rgba(255,245,232,.99));color:color-mix(in srgb,var(--warn) 86%,#5f4019)}.reset-action.is-active:hover{border-color:color-mix(in srgb,var(--warn) 36%,rgba(18,32,43,.12));background:color-mix(in srgb,var(--warn) 18%,rgba(255,240,220,.99));color:color-mix(in srgb,var(--warn) 92%,#5f4019)}.dashboard-toolbar-panel{display:block;align-items:start;border-width:1px;padding:18px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-tint) 92%,transparent),var(--surface-strong)),var(--surface-strong);box-shadow:var(--shadow-inset)}.dashboard-date-controls{display:grid;gap:14px}.dashboard-preset-row{display:flex;flex-wrap:wrap;gap:8px}.dashboard-preset-chip{appearance:none;padding:var(--dashboard-field-pad-y) var(--dashboard-chip-pad-x-compact);font-size:var(--text-label);font-weight:700}.dashboard-preset-chip-active{box-shadow:0 0 0 3px color-mix(in srgb,var(--mode-accent) 10%,transparent)}.dashboard-custom-range{display:grid;grid-template-columns:minmax(0,160px) minmax(0,160px) auto;gap:10px;align-items:end}.dashboard-custom-range-actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:720px){.dashboard-custom-range{grid-template-columns:1fr}}:root{--dashboard-control-height: 42px;--dashboard-control-height-compact: 38px;--dashboard-chip-height: 40px;--dashboard-chip-height-compact: 36px;--dashboard-chip-pad-x: 14px;--dashboard-chip-pad-x-compact: 12px;--dashboard-field-pad-y: 8px;--dashboard-field-pad-x: 14px;--dashboard-field-pad-y-compact: 6px;--dashboard-field-pad-x-compact: 10px;--dashboard-inline-shadow: var(--shadow-subtle);--dashboard-table-row-pad-y: 12px;--dashboard-table-row-pad-y-compact: 8px;--dashboard-table-row-pad-x: var(--dashboard-table-cell-pad-x, 14px);--dashboard-table-border: 1px solid var(--line-subtle);--dashboard-toolbar-grad-fill: rgba(246, 249, 249, .96);--dashboard-toolbar-grad-bottom: rgba(246, 249, 249, 0)}.score-badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--mode-accent) 14%,transparent);background:color-mix(in srgb,var(--mode-accent) 13%,rgba(250,253,253,.98));color:color-mix(in srgb,var(--mode-accent) 72%,var(--ink-soft));font-size:var(--text-label);font-weight:700;white-space:nowrap;box-shadow:none}.dashboard-screen[data-tab=overview] .panel-title,.dashboard-screen[data-tab=overview] .hero-stat-label{color:#44515d}.dashboard-screen[data-tab=contractors] .panel-title,.dashboard-screen[data-tab=contractors] .hero-stat-label{color:#4e5d7d}.dashboard-screen[data-tab=contractors] .panel-title{font-weight:690;letter-spacing:-.025em}.dashboard-screen .field input[type=submit]{background:var(--accent);border-color:transparent;color:#fff}.dashboard-screen .field input[type=submit]:hover{background:color-mix(in srgb,var(--accent) 88%,white 12%)}.dashboard-toolbar{position:sticky;top:0;z-index:20}.dashboard-controls,.dashboard-toolbar .filters{align-items:end}.dashboard-toolbar .control-group-actions{display:flex;align-items:end;justify-content:flex-end}.dashboard-page-loader{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:radial-gradient(circle at top left,rgba(53,87,231,.06),transparent 34%),#f6f9f9;transition:opacity .24s ease,visibility .24s ease}.dashboard-page-loader__inner{display:grid;gap:8px;justify-items:center}.dashboard-page-loader__brand{color:#1f3040;font-size:var(--heading-xl);font-weight:800;letter-spacing:-.04em}.dashboard-page-loader__copy{color:#5f7380;font-size:var(--text-body);letter-spacing:.02em}body.dashboard-ready .dashboard-page-loader{opacity:0;visibility:hidden;pointer-events:none}.dashboard-stack{display:grid;gap:22px;padding:26px 24px 0;position:relative}.dashboard-screen[data-tab=contractors] .dashboard-stack{gap:16px}.dashboard-loading,.dashboard-error{margin:18px 24px 0;padding:18px 20px;font-size:var(--text-body)}.dashboard-loading{display:grid;place-items:center;min-height:280px;border:1px solid var(--line-soft);background:radial-gradient(circle at top right,color-mix(in srgb,var(--mode-accent) 8%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 96%,transparent),var(--surface-tint));box-shadow:var(--shadow-inset)}.dashboard-loading__inner{display:grid;gap:10px;justify-items:center;max-width:520px;text-align:center}.dashboard-loading__badge{display:inline-flex;align-items:center;min-height:28px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--mode-accent) 8%,var(--surface-strong));border:1px solid color-mix(in srgb,var(--mode-accent) 14%,transparent);color:color-mix(in srgb,var(--mode-accent) 76%,#2c4757);font-size:var(--text-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-loading__title{margin:0;color:#203440;font-size:clamp(24px,2vw,30px);font-weight:760;letter-spacing:-.04em}.dashboard-loading__copy{margin:0;color:#5a6f7d;font-size:var(--text-body);line-height:1.5}.dashboard-loading__pulse{display:inline-flex;align-items:center;gap:8px;margin-top:6px}.dashboard-loading__pulse span{width:10px;height:10px;border-radius:999px;background:color-mix(in srgb,var(--mode-accent) 70%,white 30%);animation:dashboard-loading-bounce 1.1s ease-in-out infinite}.dashboard-loading__pulse span:nth-child(2){animation-delay:.12s}.dashboard-loading__pulse span:nth-child(3){animation-delay:.24s}@keyframes dashboard-loading-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.dashboard-error{color:#8e3030}.dashboard-error-state{min-height:260px;background:radial-gradient(circle at top right,color-mix(in srgb,#b45a49 10%,transparent),transparent 32%),linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 96%,#fff5f2),color-mix(in srgb,var(--surface) 88%,#fbf1ee));border-color:color-mix(in srgb,#b45a49 22%,transparent);box-shadow:var(--shadow-inset)}.dashboard-error-state__badge{background:color-mix(in srgb,#b45a49 8%,var(--surface-strong));border-color:color-mix(in srgb,#b45a49 18%,transparent);color:#8d4234}.dashboard-error-state .dashboard-loading__inner{gap:12px;max-width:760px}.dashboard-error-state .dashboard-loading__title{max-width:720px;text-wrap:balance}.dashboard-error-state .dashboard-loading__copy{max-width:680px;color:#607482;font-size:var(--text-body)}.dashboard-error-state__detail-wrap{display:grid;gap:6px;width:min(100%,720px);padding:14px 16px;border-radius:16px;border:1px solid color-mix(in srgb,#b45a49 16%,transparent);background:color-mix(in srgb,var(--surface-strong) 88%,#fff5f2);text-align:left}.dashboard-error-state__detail-label{color:#91655f;font-size:var(--text-micro);font-weight:780;letter-spacing:.12em;text-transform:uppercase}.dashboard-error-state__detail{margin:0;color:#8b4d45;font-size:var(--text-label);line-height:1.5;word-break:break-word}.dashboard-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,rgba(53,87,231,.1),transparent 32%),#1118206b;backdrop-filter:blur(10px)}.dashboard-modal{width:min(100%,480px);display:grid;gap:14px;padding:28px;border-radius:22px;border:1px solid var(--line-soft);background:var(--surface-strong);box-shadow:0 28px 80px #0c141c3d}.dashboard-modal-kicker{font-size:var(--text-micro);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mode-accent-strong)}.dashboard-modal-title{margin:0;font-size:clamp(26px,2vw,31px);line-height:1.02;letter-spacing:-.04em;color:var(--ink)}.dashboard-modal-copy{margin:0;color:var(--muted-strong);font-size:var(--text-body);line-height:1.55}.dashboard-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.dashboard-modal-button{appearance:none;min-width:138px;padding:12px 16px;border-radius:999px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}.dashboard-modal-button:disabled{cursor:default;opacity:.7;transform:none}.dashboard-modal-button:hover{transform:translateY(-1px)}.dashboard-modal-button-secondary{background:var(--surface-tint);border-color:var(--line-soft);color:var(--ink-soft)}.dashboard-modal-button-secondary:hover{box-shadow:var(--shadow-inset)}.dashboard-modal-button-primary{background:var(--accent);color:#fff;box-shadow:0 12px 24px #0f5b5538}.dashboard-modal-button-primary:hover{background:color-mix(in srgb,var(--accent) 88%,white 12%);box-shadow:0 14px 28px #0f5b5547}.dashboard-signout-overlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:24px;background:#121d274d;backdrop-filter:blur(8px)}.dashboard-signout-overlay__inner{display:grid;justify-items:center}.dashboard-signout-overlay__copy{color:#fffffff5;font-size:var(--text-body-strong);font-weight:600;letter-spacing:-.01em}@media(max-width:640px){.dashboard-modal{padding:22px}.dashboard-modal-actions{flex-direction:column-reverse}.dashboard-modal-button{width:100%}}.dashboard-section{display:grid;gap:14px}.dashboard-table-panel{overflow:hidden}.dashboard-button-link{appearance:none;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:color .12s ease}.dashboard-button-link:hover{color:var(--mode-accent-strong)}.dashboard-button-link:focus-visible,.tab:focus-visible,.mini-item:focus-visible,.secondary-action:focus-visible{outline:2px solid color-mix(in srgb,var(--mode-accent) 58%,white 42%);outline-offset:2px}.sidebar-nav button.tab{width:100%;appearance:none;font:inherit;line-height:inherit;text-align:left;cursor:pointer}.dashboard-controls .field>span{display:block;font-size:var(--text-micro);color:#627582;text-transform:uppercase;letter-spacing:.12em;line-height:1.15;font-weight:700}.dashboard-controls .field select.filter-select-active{border-color:#1f6d673d;background:color-mix(in srgb,var(--mode-accent) 8%,rgba(252,254,255,.99));color:color-mix(in srgb,var(--mode-accent) 62%,#213645)}.dashboard-controls .field select.service-select-active{border-color:#3557e72e;box-shadow:0 0 0 3px #3557e712,inset 0 1px #fffc;background:#fafcfffc;color:#2943bf;font-weight:700}.opportunity-list,.mini-list{display:grid;gap:8px}.takeaway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compact-list .mini-item{gap:4px}.takeaway-card,.opportunity-item,.mini-item{display:grid;padding:20px 22px;border-radius:var(--radius-lg);border:var(--card-soft-border);background:var(--surface-tint);box-shadow:none}.takeaway-card-warning{border-color:color-mix(in srgb,var(--warn) 24%,var(--line));background:var(--card-warm-bg)}.takeaway-label{font-size:var(--text-label);font-weight:700;color:var(--caption-color);text-transform:uppercase;letter-spacing:.09em}.takeaway-card strong{font-size:var(--heading-sm);font-weight:760;line-height:1.18;letter-spacing:-.018em;color:var(--ink-soft)}.takeaway-card p{margin:0;color:var(--copy-color);font-size:var(--text-body);line-height:1.4}.takeaway-card{gap:6px}.opportunity-item,.mini-item{gap:5px}.compact-opportunities .opportunity-item{gap:6px}.interactive-item{transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.interactive-item:hover{transform:translateY(-1px);border-color:var(--mode-frame);background:var(--surface-tint);box-shadow:var(--shadow-subtle)}.selected-item{border-color:var(--mode-frame);background:color-mix(in srgb,var(--mode-accent) 16%,rgba(255,255,255,.99));box-shadow:0 0 0 1px color-mix(in srgb,var(--mode-accent) 10%,transparent)}.opportunity-item strong,.mini-item strong{font-size:var(--text-body-strong)}.dashboard-section button.mini-item,.dashboard-section a.mini-item{cursor:pointer}.opportunity-topline,.cluster-topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.cluster-item{gap:8px}.meta-line{display:flex;flex-wrap:wrap;gap:5px 10px;color:var(--copy-color);font-size:var(--text-meta)}.rank{color:var(--muted);font-variant-numeric:tabular-nums}.table-wrap{overflow:auto;border-radius:0;border:var(--dashboard-table-border);background:var(--table-surface-bg)}.market-table-wrap{background:var(--table-surface-bg);border-color:var(--line-soft);box-shadow:var(--panel-shadow-soft)}.contractor-table-wrap{border-radius:var(--radius-xl);background:var(--table-surface-bg);border-color:var(--line-soft);box-shadow:var(--panel-shadow-soft);overflow:clip}.contractor-table-wrap.table-wrap{border:var(--analytic-panel-border);background:var(--table-surface-bg);box-shadow:var(--panel-shadow-soft)}.explorer-summary{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 2px 12px}.explorer-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--copy-color);font-size:var(--text-label)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--dashboard-table-cell-pad-y, var(--dashboard-table-row-pad-y)) var(--dashboard-table-cell-pad-x, var(--dashboard-table-row-pad-x));border-bottom:var(--dashboard-table-border);vertical-align:top;font-size:var(--dashboard-table-body-size)}th{position:sticky;top:0;background:var(--table-head-bg);color:var(--table-head-color);font-size:var(--dashboard-table-head-size);letter-spacing:.14em;text-transform:uppercase;line-height:1;backdrop-filter:blur(10px);box-shadow:inset 0 -1px #17212b0d;font-weight:720;vertical-align:middle}tbody tr:nth-child(2n){background:#ffffffb8}.selected-row{background:color-mix(in srgb,var(--mode-accent) 9%,rgba(255,255,255,.99))!important}.market-cell-primary,.market-cell-service,.market-cell-status,.market-cell-contractors,.market-cell-number{white-space:nowrap}.market-cell-primary{min-width:220px}.market-cell-service{min-width:170px}.market-cell-number{min-width:88px}.market-cell-contractors{min-width:280px;white-space:normal}.market-location,.market-service{font-size:var(--text-body);font-weight:700}.table-link{display:inline-block}.table-link:hover{color:var(--mode-accent)}.table-number{font-weight:700;font-size:var(--text-body-strong);font-variant-numeric:tabular-nums;color:var(--ink-soft)}.market-status-chips{gap:6px}.contractor-inline-list{display:flex;flex-wrap:wrap;gap:6px}.contractor-inline{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:#ffffffb3;border:1px solid var(--line-soft);color:var(--ink-soft);font-size:var(--text-label);line-height:1.15}.contractor-inline-empty{color:var(--muted)}.dashboard-section .mini-item{width:100%;text-align:left;border:0;appearance:none;cursor:pointer;font:inherit;background:#fffffffa;color:inherit}.dashboard-section .mini-item:hover{background:#fcfeff}.contractor-empty-state{padding:24px;text-align:center;color:var(--muted)}.revenue-loading-cell{display:table-cell}.revenue-loading-cell .table-loader{display:inline-block;inline-size:16px;block-size:16px;margin-right:10px;vertical-align:-3px;border:2px solid rgba(23,33,43,.12);border-top-color:color-mix(in srgb,var(--mode-accent) 78%,#29485a);border-radius:999px;animation:dashboard-table-loader-spin .7s linear infinite}@keyframes dashboard-table-loader-spin{to{transform:rotate(360deg)}}.contractor-empty-state-detail{padding:20px}.revenue-table-wrap{overflow:clip}.revenue-table{table-layout:fixed}.revenue-table th,.revenue-table td{padding-top:var(--dashboard-table-row-pad-y-compact);padding-bottom:var(--dashboard-table-row-pad-y-compact)}.revenue-table th{color:var(--table-head-color);font-size:var(--dashboard-table-head-size);font-weight:720;letter-spacing:.1em}.revenue-col-group{width:148px}.revenue-col-page{width:auto}.revenue-col-metric{width:108px;text-align:right;white-space:nowrap}.revenue-col-value{width:140px;text-align:right;white-space:nowrap}.revenue-table th.revenue-col-metric,.revenue-table td.revenue-col-metric,.revenue-table th.revenue-col-value,.revenue-table td.revenue-col-value{padding-right:18px}.revenue-page-cell{display:inline-block;color:var(--ink-soft);font-size:var(--text-meta);font-weight:680;line-height:1.2;overflow-wrap:anywhere}.revenue-page-link{text-decoration:none}.revenue-page-link:hover,.revenue-page-link:focus-visible{color:color-mix(in srgb,var(--mode-accent) 82%,var(--ink-soft));text-decoration:underline}.revenue-filter-group-secondary{margin-top:10px}.revenue-table .contractor-badge{min-height:20px;padding:2px 7px;background:var(--surface-tint);border-color:var(--line-subtle);color:var(--copy-color);font-size:var(--text-micro);font-weight:680}.revenue-table .score-badge{color:var(--ink);font-size:var(--text-body);font-weight:740}.revenue-metric{font-variant-numeric:tabular-nums}.revenue-metric-preleads{color:var(--muted-strong);font-size:var(--text-body);font-weight:650}.revenue-metric-leads{color:var(--ink-soft);font-size:var(--text-body-strong);font-weight:720}.contractor-page-intro{display:grid;gap:6px;margin-bottom:8px}.dashboard-page-intro{margin-bottom:2px}.dashboard-screen[data-tab=overview] .dashboard-page-intro{margin-bottom:-4px}.contractor-page-intro__copy h1{margin:0;color:#203643;font-size:clamp(25px,2.2vw,34px);line-height:1.02;letter-spacing:-.045em;font-weight:760}.contractor-page-intro__copy p{margin:6px 0 0;max-width:66ch;color:#5d7381;font-size:var(--text-body);line-height:1.52}.dashboard-screen[data-tab=revenue] .contractor-page-intro__copy p{max-width:none}.geo-pages-filters{align-items:flex-start;width:100%}.geo-pages-filters-sticky{align-self:stretch;width:100%}.geo-pages-rule{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;background:#f7fbfdf5;border:1px solid rgba(23,33,43,.08);color:#566c79;font-size:var(--text-meta);line-height:1.35}.contractor-table-toolbar{display:flex;align-items:center;justify-content:flex-end;margin:0 0 4px}.contractor-toolbar-stack{display:grid;gap:10px;margin-bottom:10px;align-items:start}.contractor-table-toolbar-heading{justify-content:flex-start}.contractor-table-note{margin:0;color:var(--copy-color);font-size:var(--text-meta);line-height:1.5;letter-spacing:.01em;max-width:72ch}.contractor-table tbody tr{transition:background-color .16s ease,box-shadow .16s ease}.contractor-table{overflow:hidden;border-radius:18px;border:0;background:transparent;table-layout:fixed}.contractor-col-rank{width:72px}.contractor-col-name{width:500px;min-width:0}.contractor-col-path{width:90px;text-align:center}.contractor-col-influence{width:150px}.contractor-col-count{width:116px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.contractor-col-count{font-weight:640}.contractor-col-qualified{width:168px}.contractor-col-dependent{width:188px}.contractor-col-footprint{width:140px}.contractor-col-risk{width:124px}.contractor-table th .ui-tooltip-trigger{inline-size:14px;block-size:14px;font-size:var(--text-micro);line-height:1;flex:0 0 auto;justify-content:center}.contractor-table th .ui-tooltip-trigger:after{inline-size:14px;block-size:14px;font-size:var(--text-micro)}.contractor-table .rank{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:0 9px;border-radius:999px;background:#f3f8fafa;border:1px solid rgba(23,33,43,.07);color:#738895;font-size:var(--text-label);font-weight:760;letter-spacing:0;font-variant-numeric:tabular-nums}.contractor-table .score-badge{display:inline-flex;align-items:center;justify-content:flex-end;min-height:0;padding:0;font-size:var(--text-body-strong);font-weight:700;white-space:nowrap;border-radius:0;border:0;background:transparent;color:var(--ink)}.contractor-table-row.contractor-row-top .rank{border-color:color-mix(in srgb,var(--mode-accent) 18%,rgba(23,33,43,.08));background:color-mix(in srgb,var(--mode-accent) 9%,rgba(248,252,253,.98));color:color-mix(in srgb,var(--mode-accent) 74%,#4f6472)}.contractor-table-row.contractor-row-top .score-badge{color:color-mix(in srgb,var(--mode-accent) 74%,#213845)}.contractor-col-influence,.contractor-col-count{font-variant-numeric:tabular-nums}.contractor-path-link{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:28px;padding:0 11px;border:1px solid color-mix(in srgb,var(--mode-accent) 16%,rgba(23,33,43,.1));border-radius:999px;background:color-mix(in srgb,var(--mode-accent) 7%,rgba(255,255,255,.96));color:color-mix(in srgb,var(--mode-accent) 74%,#2a4250);font-size:var(--text-micro);font-weight:700;letter-spacing:.01em;line-height:1;text-decoration:none;white-space:nowrap;transition:border-color .14s ease,background-color .14s ease,color .14s ease,transform .14s ease}.contractor-col-influence{text-align:right}.contractor-col-influence .score-badge{margin-left:0}.contractor-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch;margin-bottom:8px}.contractor-summary-grid .takeaway-card{display:grid;align-content:start;height:100%;min-height:126px;padding:18px 18px 16px;border-color:var(--line-soft);background:linear-gradient(180deg,var(--surface-strong),var(--surface-tint));box-shadow:var(--analytic-panel-shadow)}.contractor-summary-grid .takeaway-card-warning{background:linear-gradient(180deg,#fcf6eefa,#f8f1e9f0)}.contractor-summary-grid.geo-pages-summary-grid .takeaway-card{min-height:120px}.contractor-summary-grid.geo-pages-summary-grid .takeaway-card strong{font-size:clamp(20px,1.75vw,28px);font-weight:760;line-height:1.05;letter-spacing:-.03em}.table-tooltip-label{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;line-height:1;white-space:nowrap;vertical-align:middle;width:100%}.contractor-col-influence .table-tooltip-label,.contractor-col-count .table-tooltip-label{justify-content:flex-end}.ui-tooltip-trigger{display:inline-flex;align-items:center;align-self:center;cursor:help;justify-content:center;inline-size:16px;block-size:16px;padding:0;border:0;border-radius:999px;background:#e9f1f6f5;color:var(--caption-color);font:inherit;font-size:var(--text-micro);font-weight:800;line-height:1;transition:color .14s ease,background-color .14s ease,transform .14s ease}.ui-tooltip-trigger:hover,.ui-tooltip-trigger:focus-visible{color:#244252;background:#dce8ef;outline:none;transform:translateY(-1px)}.ui-tooltip-content{z-index:80;max-inline-size:min(280px,calc(100vw - 32px));padding:10px 12px;border:1px solid rgba(23,33,43,.1);border-radius:12px;background:#1a2730f7;box-shadow:0 14px 28px #121f282e;color:#f7fafcf5;font-size:var(--text-label);font-weight:520;line-height:1.42;text-align:left;text-transform:none;letter-spacing:normal;text-wrap:pretty;animation:tooltip-fade-in .15s ease}.ui-tooltip-arrow{fill:#1a2730f7}@keyframes tooltip-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.contractor-filters-main,.contractor-filters-secondary{display:flex;flex-wrap:wrap;align-items:center}.contractor-filters-main{gap:10px;flex:1 1 560px;min-width:0;align-content:center}.contractor-filters-secondary{gap:8px 10px;flex:1 1 700px;justify-content:flex-end;align-content:center}.contractor-filters-sort{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding-left:14px;border-left:1px solid var(--line-soft);color:var(--caption-color);flex:0 0 auto}.contractor-reset-action{flex:0 0 auto;min-width:92px;min-height:40px}.contractor-reset-action.is-active{border-color:#9a6d3057;background:#fff5e8fa;color:#6f4a1a;box-shadow:inset 0 1px #ffffffd1,0 3px 8px #9a6d300f}.contractor-reset-action.is-active:hover{border-color:#9a6d3070;background:#fff0dcfc;color:#5d3d14}.contractor-sort-label{font-size:var(--text-micro);font-weight:700;letter-spacing:.11em;text-transform:uppercase}.contractor-filters-secondary .contractor-select,.contractor-filters-secondary .admin-select-control{flex:0 0 auto;min-width:210px}.contractor-filters-secondary .admin-select-service{min-width:260px}.contractor-select-sort,.admin-select-sort{min-width:146px}.contractor-cell-help{margin-top:4px;color:var(--muted);font-size:var(--text-label);font-weight:500;line-height:1.3}.contractor-table .market-cell-primary{min-width:260px}.geo-pages-table .market-cell-primary{min-width:220px}.geo-pages-table .contractor-col-name{width:340px;min-width:220px}.geo-pages-table .market-cell-service{min-width:148px}.geo-pages-table tbody tr:hover{background:transparent}.geo-pages-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px 18px;margin-top:10px;padding:10px 12px 0}.geo-pages-pagination__meta{display:grid;gap:2px;color:#607684;font-size:var(--text-label);line-height:1.35}.geo-pages-pagination__meta strong{color:#243a48;font-size:var(--text-meta);font-weight:700}.geo-pages-pagination__actions{display:inline-flex;align-items:center;gap:8px}.geo-pages-pagination__button{min-width:98px;min-height:38px}.geo-pages-pagination--sticky{margin-top:8px;padding:0 12px 0 0}.geo-pages-pagination--inline{align-items:center;justify-content:flex-start;gap:10px;margin-top:0;padding:0;flex:0 1 auto;min-height:40px;min-width:0;max-width:100%}.geo-pages-pagination__meta--inline{gap:1px;min-width:0;font-size:var(--text-label);line-height:1.18;max-width:220px}.geo-pages-pagination__meta--inline strong{font-size:var(--text-label);font-weight:720;white-space:normal;overflow-wrap:anywhere}.geo-pages-pagination__button--inline{min-width:64px;min-height:34px;padding-inline:10px;font-size:var(--text-label)}.geo-pages-secondary-stack{display:grid;gap:6px;justify-items:start;align-content:start;min-width:0;max-width:296px}.geo-pages-secondary-stack .contractor-select{min-width:0;width:min(296px,100%)}.geo-pages-filters-secondary{gap:10px 16px;align-items:start;flex:1 1 540px;min-width:0}.geo-pages-filters-secondary .contractor-filters-sort,.geo-pages-filters-secondary .contractor-reset-action{margin-top:2px}.contractor-table .contractor-rank-link.dashboard-button-link{padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.contractor-rank-link{width:100%;text-align:left}.dashboard-clickable-cell{position:relative;width:500px;max-width:100%}.dashboard-clickable-cell__surface{display:grid;gap:3px;width:100%;min-height:0;padding:12px 18px 11px;margin:-4px -2px -4px 0;border:1px solid rgba(23,33,43,.08);border-radius:18px;background:#f8fbfdf5;text-align:left;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-clickable-cell__surface:hover,.dashboard-clickable-cell__surface:focus-visible{border-color:color-mix(in srgb,var(--mode-accent) 44%,rgba(23,33,43,.12));background:color-mix(in srgb,var(--mode-accent) 10%,rgba(255,255,255,.995));box-shadow:0 10px 22px #121f2811,inset 0 1px #ffffffd9;transform:translateY(-2px)}.dashboard-clickable-cell__surface:hover .dashboard-clickable-cell__title,.dashboard-clickable-cell__surface:focus-visible .dashboard-clickable-cell__title{color:color-mix(in srgb,var(--mode-accent) 84%,#1f3340)}.contractor-table td,.contractor-table th{padding-top:12px;padding-bottom:12px}.contractor-table-row{transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.dashboard-clickable-cell__topline{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:3px}.dashboard-clickable-cell__title{font-size:var(--text-body);font-weight:700;line-height:1.18;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-clickable-cell__meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:0;color:#708592;font-size:var(--text-label)}.dashboard-clickable-cell__meta span{position:relative}.dashboard-clickable-cell__meta span+span:before{content:"•";position:absolute;left:-8px;color:#5d708047}.contractor-table .score-badge{font-size:var(--heading-sm)}.contractor-col-influence .contractor-cell-help,.contractor-col-count .contractor-cell-help{font-size:var(--text-label)}.contractor-col-influence .contractor-cell-help{margin-top:5px}@media(max-width:1200px){.contractor-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-filters-sort{padding-left:0;border-left:0}}@media(max-width:780px){.contractor-summary-grid{grid-template-columns:1fr}.contractor-filters{align-items:stretch}.contractor-filters-main,.contractor-filters-secondary,.contractor-filters-sort{width:100%}.contractor-filters-secondary{justify-content:flex-start}.contractor-filters-sort{justify-content:flex-start;padding-left:0;border-left:0}.contractor-search-input,.contractor-select,.admin-select-control,.admin-select-sort{width:100%}.contractor-filters-secondary .contractor-select,.contractor-filters-secondary .admin-select-control,.contractor-filters-secondary .admin-select-sort{min-width:0}}.cms-health-intro{margin-bottom:0}.cms-health-intro .contractor-page-intro__copy p{max-width:58ch}.cms-health-progress{display:grid;gap:10px;padding:16px 18px;border-radius:18px;border:var(--analytic-panel-border);background:radial-gradient(circle at top right,rgba(31,109,103,.05),transparent 32%),linear-gradient(180deg,var(--surface-strong),var(--surface-tint));box-shadow:var(--analytic-panel-shadow)}.cms-health-progress__header{display:flex;align-items:end;justify-content:space-between;gap:14px}.cms-health-progress__title{margin:2px 0 0}.cms-health-progress__percent{color:#214150;font-size:var(--heading-md);font-weight:760;letter-spacing:-.04em}.cms-health-progress__bar{position:relative;overflow:hidden;width:100%;height:12px;border-radius:999px;background:#e1ebf0e6}.cms-health-progress__bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1e756feb,#478ab3eb);box-shadow:0 6px 14px #18565d2e;transition:width .18s ease}.cms-health-progress__meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--copy-color);font-size:var(--text-label);line-height:1.4}.cms-health-summary-grid{margin-bottom:0}.cms-health-summary-grid .takeaway-card{min-height:118px}.cms-health-summary-grid .takeaway-card p{max-width:32ch}.cms-health-table td,.cms-health-table th{white-space:nowrap}.cms-health-table th{padding-top:11px;padding-bottom:11px}.cms-health-table td{padding-top:10px;padding-bottom:10px}.cms-health-table .market-cell-primary,.cms-health-table .cms-health-slug-cell{white-space:normal}.cms-health-link{color:#29485a;font-weight:700;text-decoration:none}.cms-health-link:hover,.cms-health-link:focus-visible{color:color-mix(in srgb,var(--mode-accent) 82%,var(--ink-soft));text-decoration:underline}.dashboard-screen[data-tab=cms-health] .dashboard-stack{gap:14px}.dashboard-screen[data-tab=cms-health] .contractor-detail-stage{gap:12px}.dashboard-screen[data-tab=cms-health] .contractor-list-section{display:grid;gap:6px}.contractor-profile-page{gap:18px}.contractor-profile-shell{display:grid;gap:16px}.contractor-profile-nav{display:flex;justify-content:flex-start}.contractor-profile-back{min-height:40px;gap:8px;padding:9px 16px;border-radius:999px;border-color:color-mix(in srgb,var(--mode-accent) 18%,transparent);background:var(--control-bg);color:var(--ink-soft);font-size:var(--text-meta);font-weight:650;box-shadow:var(--shadow-inset),inset 0 1px #ffffffb3}.contractor-profile-back__arrow{font-size:var(--text-body-strong);line-height:1}.contractor-profile-hero{padding:30px;border-radius:26px;border:1px solid var(--line);background:radial-gradient(circle at top right,color-mix(in srgb,var(--mode-accent) 14%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--surface-strong) 99%,transparent),var(--surface-tint));box-shadow:var(--shadow-panel),inset 0 1px #fff9}.contractor-profile-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:18px;align-items:start}.contractor-profile-primary{min-width:0}.contractor-profile-headline{margin-bottom:18px}.detail-headline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.detail-headline h2,.detail-headline h3{margin:6px 0 0;font-size:clamp(34px,3.3vw,44px);font-weight:760;letter-spacing:-.06em;color:var(--ink)}.contractor-profile-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.contractor-profile-id{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--surface-tint) 88%,transparent);border:1px solid var(--line-soft);color:var(--muted);font-size:var(--text-micro);font-weight:680;letter-spacing:.08em;text-transform:uppercase}.contractor-profile-copy{max-width:54ch;font-size:var(--text-body-strong);line-height:1.52;color:var(--copy-color)}.contractor-profile-score{display:grid;justify-items:end;gap:8px}.contractor-profile-score-note{color:var(--muted);font-size:var(--text-label);font-weight:620;letter-spacing:-.01em}.contractor-profile-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:18px}.contractor-profile-highlight{display:grid;gap:5px;align-content:center;min-width:min(280px,100%);padding:13px 16px;border:var(--control-border);border-radius:var(--radius-lg);background:var(--control-bg);box-shadow:var(--shadow-inset)}.contractor-profile-highlight strong{color:var(--ink-soft);font-size:var(--heading-sm);font-weight:720;letter-spacing:-.03em}.geo-market-hero .contractor-profile-copy{max-width:62ch}.detail-kicker,.detail-card-title,.metric-label{color:var(--caption-color);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.11em}.detail-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.detail-stats-wide{margin-top:2px}.metric-pill{display:inline-grid;gap:5px;min-width:0;padding:15px 16px 14px;border-radius:16px;border:var(--control-border);background:var(--control-bg);box-shadow:var(--shadow-inset),inset 0 1px #ffffffad}.metric-value{font-size:var(--heading-md);font-weight:730;line-height:1;letter-spacing:-.025em;color:var(--ink-soft)}.contractor-profile-rail{display:grid;gap:12px}.contractor-profile-storyblok{justify-content:center;min-height:52px;padding-inline:18px;border-radius:16px;border-color:color-mix(in srgb,var(--mode-accent) 24%,transparent);background:color-mix(in srgb,var(--mode-accent) 12%,var(--surface-strong));color:var(--ink-soft);font-size:var(--text-meta);font-weight:700;box-shadow:var(--shadow-soft)}.geo-pages-detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.geo-pages-detail-table-wrap .market-cell-primary{min-width:260px}.geo-pages-detail-page .contractor-profile-rail{align-content:start}.geo-pages-detail-page .contractor-rail-card p{font-size:var(--text-body)}.contractor-rail-card{padding:18px 18px 19px;border-radius:var(--radius-xl);border:var(--analytic-panel-border);background:var(--surface-tint);box-shadow:var(--shadow-inset)}.contractor-rail-card p{margin:8px 0 0;color:var(--copy-color);font-size:var(--text-body);line-height:1.5}.contractor-rail-card strong,.detail-card strong{font-weight:650}.contractor-rail-card-accent{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-tint) 92%,transparent),color-mix(in srgb,var(--mode-accent) 7%,var(--surface-strong)))}.contractor-profile-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-card{padding:20px 20px 21px;border-radius:20px;border:var(--analytic-panel-border);background:var(--surface-tint);box-shadow:var(--shadow-inset)}.detail-card p{margin:8px 0 0;color:var(--copy-color);font-size:var(--text-body);line-height:1.52}.contractor-detail-summary-card{min-height:136px}.detail-section{display:grid;gap:12px}.contractor-dependent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contractor-dependent-item{align-content:start;min-height:0;padding:17px 18px 18px;border-radius:18px;border:var(--analytic-panel-border);background:var(--surface-tint);box-shadow:var(--shadow-inset)}.contractor-dependent-item__eyebrow{color:var(--caption-color);font-size:var(--text-micro);font-weight:800;letter-spacing:.09em;text-transform:uppercase}.contractor-dependent-item strong{display:block;margin-top:5px;font-size:var(--heading-sm);line-height:1.34;color:var(--ink-soft)}.contractor-dependent-item .meta-line{margin-top:2px;font-size:var(--text-body);gap:6px 14px}.contractor-market-path-link{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:28px;padding:0 11px;border:1px solid color-mix(in srgb,var(--mode-accent) 16%,rgba(23,33,43,.1));border-radius:999px;background:color-mix(in srgb,var(--mode-accent) 7%,rgba(255,255,255,.96));color:var(--ink-soft);font-size:var(--text-micro);font-weight:700;letter-spacing:.01em;line-height:1;text-decoration:none;white-space:nowrap;font-family:inherit;transition:border-color .14s ease,background-color .14s ease,color .14s ease,transform .14s ease;align-self:start}button.contractor-market-path-link,.geo-pages-market-link{cursor:pointer}.contractor-market-path-link:hover,.contractor-market-path-link:focus-visible{color:var(--ink-soft);background:color-mix(in srgb,var(--mode-accent) 11%,rgba(255,255,255,.98));border-color:color-mix(in srgb,var(--mode-accent) 24%,rgba(23,33,43,.14));transform:translateY(-1px);outline:none}.contractor-dependent-item .contractor-market-path-link{justify-self:start}.contractor-detail-subhead{margin-bottom:0}.contractor-detail-table-wrap{border-radius:18px;border:var(--analytic-panel-border);background:var(--surface-tint);box-shadow:var(--shadow-inset)}.contractor-mini-empty{background:color-mix(in srgb,var(--surface-tint) 80%,var(--surface-strong))}@media(max-width:1100px){.contractor-profile-hero-grid{grid-template-columns:1fr}.detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.contractor-profile-hero{padding:24px}.contractor-dependent-grid{grid-template-columns:1fr}.detail-headline h2,.detail-headline h3{font-size:clamp(30px,5vw,36px)}}@media(max-width:840px){.detail-headline{flex-direction:column;align-items:flex-start}.contractor-profile-score{justify-items:start}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.contractor-profile-grid,.detail-grid{grid-template-columns:1fr}.contractor-profile-hero{padding:20px}.contractor-profile-storyblok{justify-content:flex-start}.contractor-profile-copy{font-size:var(--text-meta)}.contractor-profile-actions{flex-direction:column}.contractor-profile-highlight{min-width:0}}@media(max-width:560px){.detail-stats{grid-template-columns:1fr}.detail-headline h2,.detail-headline h3{font-size:var(--heading-lg)}}.portfolio-stack{display:grid;gap:14px}.portfolio-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.portfolio-chart-card{overflow:hidden;align-self:start;border-color:var(--line-soft);background:var(--surface);box-shadow:var(--analytic-panel-shadow)}.portfolio-chart-frame{margin-top:var(--dashboard-chart-frame-margin-top);border-radius:var(--dashboard-chart-frame-radius);overflow:hidden;border:1px solid var(--line-subtle);background:var(--surface-tint)}.portfolio-chart-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.portfolio-chart-meta{color:var(--muted);font-size:var(--text-label);line-height:1.3}.portfolio-chart-toggle{appearance:none;border:var(--control-border);border-radius:999px;background:var(--control-bg);color:var(--control-text-muted);padding:8px 12px;font:inherit;font-size:var(--text-label);font-weight:650;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.portfolio-chart-toggle:hover{background:var(--control-bg-hover);border-color:var(--line);box-shadow:var(--panel-shadow-soft);transform:translateY(-1px)}.portfolio-analytics-shell{display:grid;gap:12px}.portfolio-analytics-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.portfolio-analytics-eyebrow{display:inline-block;color:var(--caption-color);font-size:var(--text-label);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.portfolio-analytics-title{margin:4px 0 0;color:var(--ink-soft);font-size:var(--text-body-strong);font-weight:730;letter-spacing:-.02em}.portfolio-analytics-copy{margin:4px 0 0;color:var(--copy-color);font-size:var(--text-meta);line-height:1.4}.portfolio-browser-chart{display:block;width:100%}.portfolio-storyblok-card{border-color:var(--line-soft);background:var(--surface-popover)}.revenue-filters{width:100%;padding:12px 15px;border-radius:var(--radius-lg);background:var(--surface-tint);box-shadow:inset 0 1px #fff9,var(--panel-shadow-soft)}.contractor-filters-sticky:has(.revenue-filters){align-self:stretch;width:100%}.revenue-toolbar-stack{display:grid;gap:6px;width:100%}.revenue-toolbar-row{display:grid;gap:10px 12px;align-items:start}.revenue-toolbar-grid{display:grid;grid-template-columns:560px max-content minmax(120px,1fr);justify-content:start;gap:10px 34px;align-items:end}.revenue-toolbar-column{display:grid;gap:6px;min-width:0;align-content:start}.revenue-toolbar-column-left{justify-items:stretch;width:560px;max-width:100%}.revenue-toolbar-column-right{justify-items:start;justify-self:start;width:fit-content;max-width:100%}.revenue-toolbar-column-summary{justify-items:end;justify-self:end;min-width:0;text-align:right}.revenue-toolbar-block{min-width:0}.revenue-toolbar-block-range{width:fit-content;max-width:100%;margin-left:0}.revenue-range-row{display:grid;grid-template-columns:minmax(220px,280px) auto;justify-content:start;gap:10px;align-items:center;width:fit-content}.revenue-toolbar-heading{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:6px}.revenue-toolbar-label{display:inline-block;margin-bottom:0;color:var(--caption-color);font-size:var(--text-label);font-weight:780;letter-spacing:.11em;text-transform:uppercase}.revenue-filter-group{flex-wrap:wrap;width:100%;max-width:100%;min-width:0;overflow:visible;padding:0;margin:0}.revenue-reset-action{flex:0 0 auto;min-width:84px;min-height:34px;padding:6px 11px;font-size:var(--text-label);font-weight:680}.revenue-toolbar-total{color:var(--ink-soft);font-size:var(--heading-sm);font-weight:760;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.revenue-filter-group .contractor-filter-chip{white-space:nowrap}.revenue-table-wrap.contractor-table-wrap{border-radius:var(--radius-lg);box-shadow:var(--panel-shadow-soft)}.revenue-toolbar-block .field label{font-size:var(--text-micro);letter-spacing:.1em}.revenue-toolbar-block .secondary-action{min-height:34px;padding:6px 11px;border-radius:var(--radius-md)}.revenue-apply-action{border-color:color-mix(in srgb,var(--mode-accent) 18%,transparent);background:color-mix(in srgb,var(--mode-accent) 86%,#274c5f);color:#fff;box-shadow:0 6px 14px color-mix(in srgb,var(--mode-accent) 16%,transparent)}.revenue-apply-action:hover{border-color:color-mix(in srgb,var(--mode-accent) 24%,transparent);background:color-mix(in srgb,var(--mode-accent) 92%,#214455);color:#fff}.revenue-apply-action:disabled{border-color:#12202b14;background:#edf3f6f5;color:#8ca0ac;box-shadow:none}.revenue-date-picker{position:relative;width:100%;max-width:280px}.revenue-date-trigger{display:flex;align-items:center;justify-content:flex-start;gap:0;width:100%;min-height:36px;padding:6px 14px;border:var(--control-border);border-radius:12px;background:var(--control-bg);color:var(--control-text);text-align:left;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background .14s ease}.revenue-date-trigger:hover,.revenue-date-trigger.is-open{border-color:color-mix(in srgb,var(--mode-accent) 12%,rgba(18,32,43,.12));background:var(--control-bg-hover);box-shadow:var(--panel-shadow-soft)}.revenue-date-trigger.is-open{box-shadow:0 0 0 3px color-mix(in srgb,var(--mode-accent) 9%,transparent),var(--panel-shadow-soft)}.revenue-date-trigger__content{display:block;min-width:0;width:100%}.revenue-date-trigger__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:calc(var(--text-label) + 1px);font-weight:720;letter-spacing:-.02em}.revenue-date-trigger .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}.revenue-date-popover{position:absolute;top:calc(100% + 10px);right:0;left:auto;z-index:30;display:grid;grid-template-columns:124px minmax(0,1fr);gap:12px;width:min(470px,calc(100vw - 32px));max-width:calc(100vw - 32px);padding:12px;border:var(--popover-border);border-radius:16px;background:var(--surface-popover);box-shadow:var(--popover-shadow);overflow:hidden}.revenue-day-picker{--rdp-accent-color: color-mix(in srgb, var(--mode-accent) 62%, #556e7d);--rdp-accent-background-color: color-mix(in srgb, var(--mode-accent) 6%, white);--rdp-range_middle-background-color: rgba(243, 247, 250, .98);--rdp-range_middle-color: #4a6170;--rdp-day_button-border-radius: 0;--rdp-day-width: 32px;--rdp-day-height: 32px;--rdp-nav_button-width: 28px;--rdp-nav_button-height: 28px;margin:0;width:auto;grid-column:2;grid-row:1;overflow:hidden;justify-self:start}.revenue-date-popover__presets{display:grid;grid-column:1;grid-row:1;align-content:start;gap:2px;padding-right:2px;border-right:1px solid rgba(18,32,43,.08)}.revenue-date-preset{appearance:none;display:inline-flex;align-items:center;justify-content:flex-start;min-height:28px;padding:5px 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted-strong);cursor:pointer;font:inherit;font-size:var(--text-label);font-weight:620;text-align:left;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.revenue-date-preset:hover{background:#f6fafcfa;border-color:#12202b0a}.revenue-date-preset.is-active{border-color:var(--line-soft);background:var(--surface-tint);color:var(--ink-soft)}.revenue-day-picker .rdp-root,.revenue-day-picker .rdp-month,.revenue-day-picker .rdp-month_grid,.revenue-day-picker .rdp-months{width:auto;max-width:none}.revenue-day-picker .rdp-month_caption{color:var(--ink-soft);font-size:var(--text-label);font-weight:760}.revenue-day-picker .rdp-weekday{color:var(--muted);font-size:var(--text-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.revenue-day-picker .rdp-day_button{font-size:var(--text-label);font-weight:670;border:1px solid transparent;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease,transform .12s ease}.revenue-day-picker .rdp-day_button:hover{background:var(--surface-tint);border-color:var(--line-subtle);color:var(--ink-soft)}.revenue-day-picker .rdp-day{padding:0}.revenue-day-picker .rdp-month_grid{width:auto;table-layout:fixed;border-collapse:separate;border-spacing:1px}.revenue-day-picker .rdp-months{justify-content:flex-start;gap:10px;flex-wrap:nowrap}.revenue-day-picker .rdp-weekdays{margin-bottom:2px}.revenue-day-picker .rdp-nav{gap:4px}.revenue-day-picker .rdp-range_middle,.revenue-day-picker .rdp-day_range_middle{background:#f3f7fafa}.revenue-day-picker .rdp-range_start,.revenue-day-picker .rdp-day_range_start{background:linear-gradient(to right,transparent 0,transparent 50%,rgba(243,247,250,.98) 50%,rgba(243,247,250,.98) 100%)}.revenue-day-picker .rdp-range_end,.revenue-day-picker .rdp-day_range_end{background:linear-gradient(to left,transparent 0,transparent 50%,rgba(243,247,250,.98) 50%,rgba(243,247,250,.98) 100%)}.revenue-day-picker .rdp-range_start.rdp-range_end,.revenue-day-picker .rdp-day_range_start.rdp-day_range_end{background:transparent}.revenue-day-picker .rdp-range_start .rdp-day_button,.revenue-day-picker .rdp-range_end .rdp-day_button,.revenue-day-picker .rdp-selected .rdp-day_button,.revenue-day-picker .rdp-day_range_start .rdp-day_button,.revenue-day-picker .rdp-day_range_end .rdp-day_button,.revenue-day-picker .rdp-day_selected .rdp-day_button{background:color-mix(in srgb,var(--mode-accent) 58%,#5a7080);color:#fff;border-color:transparent;border-radius:0;box-shadow:0 1px 4px #1b3f5414}.revenue-day-picker .rdp-range_start .rdp-day_button:hover,.revenue-day-picker .rdp-range_end .rdp-day_button:hover,.revenue-day-picker .rdp-selected .rdp-day_button:hover,.revenue-day-picker .rdp-day_range_start .rdp-day_button:hover,.revenue-day-picker .rdp-day_range_end .rdp-day_button:hover,.revenue-day-picker .rdp-day_selected .rdp-day_button:hover{background:color-mix(in srgb,var(--mode-accent) 64%,#506878);color:#fff}.revenue-day-picker .rdp-range_middle .rdp-day_button,.revenue-day-picker .rdp-day_range_middle .rdp-day_button{background:transparent;color:var(--muted-strong);font-weight:660}.revenue-day-picker .rdp-range_middle .rdp-day_button:hover,.revenue-day-picker .rdp-day_range_middle .rdp-day_button:hover{background:var(--surface-tint);border-color:var(--line-subtle);color:var(--ink-soft)}.revenue-date-popover__footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-column:1 / -1;gap:10px;padding-top:6px;margin-top:6px;border-top:1px solid rgba(18,32,43,.06)}.revenue-date-popover__summary{display:grid;align-items:center}.revenue-date-popover__summary strong{color:var(--muted-strong);font-size:var(--text-micro);font-weight:650;letter-spacing:-.01em}.revenue-custom-range-actions{display:grid;grid-template-columns:repeat(2,minmax(0,132px));justify-content:end;gap:8px;width:auto}.portfolio-storyblok-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.storyblok-kpi{display:grid;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--line-subtle);background:var(--surface-tint)}.storyblok-kpi .label{color:var(--caption-color);font-size:var(--text-label);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.storyblok-kpi strong{color:var(--ink-soft);font-size:var(--heading-md);font-weight:760;letter-spacing:-.03em}.portfolio-storyblok-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.storyblok-gap-list h3{margin:0;color:var(--ink-soft);font-size:var(--text-body);font-weight:720;letter-spacing:-.02em}.storyblok-gap-list p{margin:5px 0 10px;color:var(--copy-color);font-size:var(--text-meta);line-height:1.35}.storyblok-gap-item{background:#fffffffa}.storyblok-gap-item strong{color:var(--ink-soft)}.portfolio-latest-contractor{position:relative;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.portfolio-latest-contractor:after{content:"↗";position:absolute;top:18px;right:18px;color:color-mix(in srgb,var(--ink-soft) 40%,transparent);font-size:var(--text-body);font-weight:700;transition:color .16s ease,opacity .16s ease,transform .16s ease}.portfolio-latest-contractor:hover,.portfolio-latest-contractor:focus-visible{background:var(--surface-strong);border-color:var(--line-soft);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.portfolio-latest-contractor:hover:after,.portfolio-latest-contractor:focus-visible:after{color:var(--ink-soft);opacity:1;transform:translate(2px)}@media(max-width:1180px){.dashboard-kpis,.portfolio-overview-grid,.portfolio-storyblok-grid,.portfolio-storyblok-kpis,.revenue-toolbar-grid{grid-template-columns:1fr}.revenue-date-picker{max-width:none}.revenue-toolbar-heading{align-items:center}.revenue-toolbar-column-right{justify-self:stretch;width:100%;max-width:none}.revenue-toolbar-column-summary{justify-self:stretch;justify-items:start;text-align:left}.revenue-range-row{grid-template-columns:1fr auto;width:100%}}@media(max-width:720px){.portfolio-analytics-header{flex-direction:column;align-items:flex-start}.portfolio-chart-footer{align-items:flex-start;flex-direction:column}.revenue-date-trigger{min-height:40px;padding:7px 12px}.revenue-date-popover{grid-template-columns:1fr;width:min(100vw - 24px,360px);max-width:min(100vw - 24px,360px);padding:12px}.revenue-day-picker,.revenue-date-popover__presets,.revenue-date-popover__footer{grid-column:auto;grid-row:auto}.revenue-date-popover__footer,.revenue-custom-range-actions{width:100%;grid-template-columns:1fr}.revenue-date-popover__footer{align-items:stretch}.revenue-date-popover__presets{grid-template-columns:repeat(2,minmax(0,1fr));padding-right:0;padding-bottom:4px;border-right:0;border-bottom:1px solid rgba(18,32,43,.08)}.revenue-range-row{grid-template-columns:1fr}.revenue-day-picker{--rdp-day-width: 32px;--rdp-day-height: 32px}.revenue-day-picker .rdp-months{flex-wrap:wrap;gap:10px}}.portfolio-board-react .mini-item{width:100%;text-align:left;border:0;appearance:none;cursor:pointer;font:inherit;background:#fffffffa;color:inherit}
