:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#132a46;background:#f5f8fa}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}.nav{background:#fff;border-bottom:1px solid #e4edf1;position:sticky;top:0;z-index:30}.nav .wrap{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:15px}.logo{width:215px;max-width:52vw}.links{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:700}.links a{text-decoration:none}.btn{border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#079d89;color:#fff;padding:13px 19px;border-radius:999px;text-decoration:none;font-weight:750}.btn:hover{background:#067f70}.btn.alt{background:white;color:#143251;border:1px solid #cddde4}.btn.small{padding:9px 14px;font-size:13px}.eyebrow{color:#078b78;text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:850}.hero{background:radial-gradient(circle at 82% 15%,#d7f5ed,transparent 45%),linear-gradient(#fff,#f3f9fa);padding:70px 0}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:46px;align-items:center}h1{font-size:clamp(39px,5vw,61px);letter-spacing:-.055em;line-height:1.1;margin:18px 0}h1 em{font-style:normal;color:#079d89}h2{font-size:clamp(28px,3.5vw,40px);letter-spacing:-.04em;line-height:1.18;margin:13px 0}p{line-height:1.65}.lead{font-size:18px;color:#5c7084}.muted{color:#617589}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.fine{font-size:13px;color:#677e90}.card{border:1px solid #e1eaf0;background:#fff;border-radius:18px;padding:22px;box-shadow:0 9px 30px #102d4d0a}.card h3{margin:0 0 10px}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.kpi{background:#f4f9fa;border-radius:12px;padding:15px}.kpi small{display:block;color:#74879b;margin-bottom:8px}.kpi b{font-size:clamp(19px,2.5vw,26px)}.good{color:#078a73}.bad{color:#bb4a49}.warn{color:#ad6b1f}.section{padding:70px 0}.center{text-align:center}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.feature{padding:25px;background:#fff;border-radius:17px;border:1px solid #dfebed}.feature .emoji{font-size:27px}.feature h3{margin:14px 0 6px}.feature p{font-size:14px;color:#67798e;margin:0}.highlight{background:#e7f7f3;border-radius:20px;padding:36px}.footer{background:#102b4b;color:#d4e0eb;padding:24px 0;font-size:13px}.footer .wrap{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer a{color:#b2f2e6}.site-note{font-size:12px;color:#6e8094}.demo-hero{padding:42px 0 24px;background:linear-gradient(125deg,#f2fbf8,#f5f8fa 65%)}.demo-layout{padding:24px 0 70px}.toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.toolbar label,.field label{display:block;font-size:12px;color:#5a7086;font-weight:750;margin-bottom:6px}.field input,.field select{border:1px solid #cbdce4;background:white;border-radius:9px;padding:10px 12px;width:100%;color:#16314c}.field{min-width:135px;flex:1}.tablist{display:flex;gap:7px;flex-wrap:wrap;padding:7px;background:#eaf0f3;border-radius:13px;margin:22px 0}.tab{border:0;background:transparent;border-radius:9px;padding:11px 14px;color:#4f6579;font-weight:700}.tab[aria-selected=true]{background:#fff;color:#063a4c;box-shadow:0 2px 9px #15314d14}.view[hidden]{display:none}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:18px 0}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;padding:6px 10px;background:#e5f6f0;border:1px solid #b8e4d7;border-radius:999px;color:#097e6e;line-height:1.2}.pill.good{background:#e5f6f0;border-color:#b8e4d7;color:#097e6e}.pill.warn{background:#fff1de;border-color:#f2c27f;color:#996318}.pill.bad{background:#feeaeb;border-color:#efb2b7;color:#b13e47}.pill.neutral{background:#f2f5f7;border-color:#d7e1e6;color:#5f7285}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:640px}th,td{text-align:left;border-bottom:1px solid #e5edf1;padding:12px 10px;font-size:13px;vertical-align:middle}th{background:#f7fafb;color:#64798c;font-weight:800}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.barrow{display:grid;grid-template-columns:100px 1fr 60px;align-items:center;gap:10px;margin:11px 0;font-size:12px}.track{height:12px;background:#e9f0f3;border-radius:99px;overflow:hidden}.fill{height:100%;background:#079d89;border-radius:99px}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:#63798a}.swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;background:#079d89}.info{padding:11px 13px;background:#eff7fa;color:#43647a;border-left:3px solid #61a9b7;border-radius:6px;font-size:13px;margin:12px 0;line-height:1.5}.error{color:#b13e47}.chart{width:100%;height:auto;display:block}.tag{font-size:11px;color:#6f8397}.spaced{margin-top:20px}.hide{display:none!important}@media(max-width:850px){.hero-grid,.grid2{grid-template-columns:1fr}.features{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}.links a:not(.btn){display:none}.hero{padding:49px 0}.section{padding:52px 0}.toolbar{align-items:stretch}.field{flex-basis:42%}}@media(max-width:420px){.wrap{padding:0 16px}.logo{width:175px}.grid4{gap:8px}.kpi{padding:12px}.tab{font-size:12px;padding:10px}.card{padding:16px}.barrow{grid-template-columns:70px 1fr 45px}}

.contact-section{background:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:17px}.contact-fields .field:nth-child(5){grid-column:1/-1}.contact-fields textarea{resize:vertical;min-height:110px}.contact-fields .field input,.contact-fields .field select,.contact-fields textarea{border:1px solid #cbdce4;background:#fff;border-radius:9px;padding:11px 12px;width:100%;color:#16314c}.contact-fields :is(input,textarea,select):focus-visible{outline:2px solid #079d89;outline-offset:1px}.optional{color:#7f91a1;font-weight:400}.consent{display:flex;gap:9px;align-items:start;margin-top:15px;color:#415973;font-size:13px;line-height:1.5}.consent input{accent-color:#079d89;margin-top:4px}.form-status{font-size:14px;min-height:23px;margin-bottom:0}.form-status.success{color:#087b66}.form-status.failure{color:#af3846}.trap{position:absolute!important;left:-10000px!important;opacity:0!important;width:1px!important;height:1px!important}@media(max-width:850px){.contact-grid{grid-template-columns:1fr;gap:20px}}@media(max-width:510px){.contact-fields{grid-template-columns:1fr}.contact-fields .field:nth-child(5){grid-column:auto}}

.list-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.list-controls label{font-size:12px;font-weight:750;color:#607488;display:grid;gap:5px}.list-controls input,.list-controls select{font:inherit;color:#15324e;background:#fff;border:1px solid #cbdce4;border-radius:8px;padding:10px;min-width:135px}.list-controls input{min-width:min(260px,78vw)}.list-controls .site-note{margin-left:auto;padding-bottom:9px}tr[hidden]{display:none!important}

.contact-feedback {margin: 14px 0 0; font-weight: 650; font-size: 1rem; line-height: 1.5;}
.contact-feedback:empty {display: none;}
.contact-feedback.success {color: #137a61; background: #eaf8f3; padding: 14px; border-radius: 12px;}
.contact-feedback.error {color: #a93d46; background: #fff0f0; padding: 14px; border-radius: 12px;}
#contactSubmit:disabled {opacity: 0.65; cursor: wait;}

.contact-feedback.pending{color:#155b6a;background:#e9f5f9;padding:14px;border-radius:12px;}
#contactSubmit:disabled{opacity:.7;cursor:wait;}

.customer-link{background:transparent;border:0;padding:0;color:#087d75;text-decoration:underline;text-underline-offset:3px;font-weight:750;text-align:left}.customer-link:hover,.customer-link:focus-visible{color:#065c57}.customer-dialog{border:1px solid #d8e7ea;border-radius:18px;padding:22px;width:min(960px,95vw);max-height:92dvh;box-shadow:0 20px 70px #072e4660;color:#132a46}.customer-dialog::backdrop{background:#10293ab8}.customer-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.customer-dialog h2{margin:10px 0}.customer-dialog h3{margin:0 0 12px}.profile-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.profile-cvg{display:flex;align-items:center;flex-wrap:wrap;gap:16px;background:#f2faf8;border:1px solid #d3eae3;border-radius:12px;padding:16px;margin:15px 0}.profile-cvg div{display:grid;gap:5px}.profile-cvg small{font-size:12px;color:#647c89}.profile-cvg strong{font-size:20px}.profile-alert{background:#fff2eb;padding:13px;border-radius:10px;margin:13px 0}.profile-alert div{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.profile-section{margin-top:24px}.profile-graph{overflow:auto}.profile-graph svg{width:100%;min-width:480px;height:auto}.profile-footer{margin:16px 0 6px}@media(max-width:700px){.profile-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-dialog{padding:15px;width:97vw;max-height:94dvh}.profile-cvg{gap:10px}}

#targetsRows .pill{white-space:nowrap}#targetsRows .customer-link{min-width:120px;text-align:left}

/* V17: accessible clickable report sorting */
.sort-head{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.sort-head:hover{color:#087d75}.sort-head:focus-visible{outline:2px solid #087d75;outline-offset:3px}.sort-arrow{font-size:13px;color:#8095a6}.sort-head[aria-pressed="true"] .sort-arrow{color:#078b78}

/* V18: column titles are rendered once inside the sort button. */
.sort-head{vertical-align:middle}

/* V22 grouped, expandable navigation */
.report-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px;margin:20px 0;border-radius:14px;background:#eaf0f3;position:relative;z-index:15}
.report-home,.report-menu>summary{display:inline-flex;align-items:center;gap:12px;padding:12px 17px;border:0;border-radius:10px;background:transparent;color:#425f77;font:inherit;font-weight:750;cursor:pointer;list-style:none}
.report-menu>summary::-webkit-details-marker{display:none}
.report-home:hover,.report-menu>summary:hover,.report-home[aria-current=page],.report-menu.active>summary{background:#fff;color:#083e48;box-shadow:0 2px 8px #17374a10}
.report-menu{position:relative}
.report-menu[open]>summary{background:#fff;color:#083e48}
.report-menu-items{position:absolute;z-index:100;left:0;top:calc(100% + 7px);min-width:210px;background:#fff;border:1px solid #d9e6eb;border-radius:12px;box-shadow:0 14px 38px #102d4d24;padding:7px;display:grid;gap:3px}
.report-menu-items button{background:transparent;border:0;border-radius:8px;color:#244960;padding:11px 13px;font:inherit;font-weight:650;text-align:left;cursor:pointer}
.report-menu-items button:hover,.report-menu-items button[aria-current=page]{background:#eaf7f3;color:#087566}
@media(max-width:600px){.report-nav{gap:6px}.report-home,.report-menu>summary{padding:10px 12px;font-size:13px}.report-menu-items{min-width:190px}}

/* V23: polished, responsive report navigation */
.report-nav{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;margin:22px 0 20px!important;padding:9px!important;border:1px solid #deeaed!important;border-radius:16px!important;background:#eaf1f3!important;box-shadow:0 3px 13px #102d4d08!important}
.report-nav .report-home,.report-nav .report-menu>summary{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:11px 17px!important;min-height:44px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#3a576a!important;font-size:14px!important;font-weight:750!important;list-style:none!important;cursor:pointer!important;white-space:nowrap!important}
.report-nav .report-home[aria-current=page],.report-nav .report-menu.active>summary,.report-nav .report-menu[open]>summary{background:#fff!important;color:#073b47!important;box-shadow:0 2px 9px #163b4d14!important}
.report-nav .report-menu{position:relative!important;display:block!important;margin:0!important;padding:0!important}
.report-nav .report-menu>summary::marker{content:""}
.report-nav .report-menu>summary::-webkit-details-marker{display:none}
.report-nav .report-menu-items{position:absolute!important;z-index:120!important;top:calc(100% + 8px)!important;left:0!important;display:grid!important;gap:3px!important;min-width:215px!important;padding:8px!important;background:#fff!important;border:1px solid #d7e5e9!important;border-radius:13px!important;box-shadow:0 17px 46px #102d4d29!important}
.report-nav .report-menu:not([open]) .report-menu-items{display:none!important}
.report-nav .report-menu-items button{display:block!important;width:100%!important;background:transparent!important;border:0!important;border-radius:8px!important;padding:11px 13px!important;text-align:left!important;font-size:13px!important;color:#274a60!important;font-weight:650!important}
.report-nav .report-menu-items button:hover,.report-nav .report-menu-items button[aria-current=page]{background:#eaf7f4!important;color:#067b69!important}
@media(max-width:600px){.report-nav{gap:4px!important;padding:6px!important}.report-nav .report-home,.report-nav .report-menu>summary{padding:10px 11px!important;font-size:12px!important}.report-nav .report-menu-items{min-width:185px!important}}

.profile-back{margin:0 0 13px;display:inline-flex;max-width:100%;white-space:normal;text-align:left}

.comparison-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:17px 0 10px}.comparison-value{background:#f3f8fa;border:1px solid #dfeaed;border-radius:12px;padding:13px 15px;min-width:0}.comparison-value small{display:block;color:#617589;font-size:12px;margin-bottom:5px}.comparison-value strong{display:block;color:#132a46;font-size:clamp(16px,1.7vw,23px);font-variant-numeric:tabular-nums}.comparison-value strong.bad{color:#bb4a49}.comparison-value strong.good{color:#078a73}@media(max-width:750px){.comparison-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V28: consistent table heading/body alignment */
.view .tablewrap table{width:100%;border-collapse:collapse}
.view .tablewrap th,.view .tablewrap td{vertical-align:middle}
.view .tablewrap th.num,.view .tablewrap td.num{text-align:right;font-variant-numeric:tabular-nums}
.view .tablewrap th:not(.num),.view .tablewrap td:not(.num){text-align:left}
.view .tablewrap th.num .sort-head{justify-content:flex-end;width:100%}
.view .tablewrap th:not(.num) .sort-head{justify-content:flex-start}
.view .tablewrap th .sort-head{white-space:normal;line-height:1.25}

/* V29: sort affordance stays visible even on long headers */
.view .tablewrap th .sort-head{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;white-space:normal;text-align:inherit;line-height:1.2;padding:5px 1px}
.view .tablewrap th .sort-head .sort-label{flex:1 1 auto;min-width:0;overflow-wrap:normal}
.view .tablewrap th .sort-head .sort-arrow{display:inline-block;flex:0 0 14px;min-width:14px;text-align:center;font-size:14px;line-height:1;font-weight:800}
.view .tablewrap th.num .sort-head{text-align:right;justify-content:flex-end}
.view .tablewrap th.num .sort-head .sort-label{text-align:right}
.view .tablewrap th:not(.num) .sort-head .sort-label{text-align:left}
.view .tablewrap th .sort-head:hover .sort-label{text-decoration:underline;text-underline-offset:2px}
/* Allow horizontally scrolling tables rather than clipping the sorting control */
#products .tablewrap table,#reps .tablewrap table{min-width:930px}

/* V30: arrow is shown even when text is long or space is constrained */
.view .tablewrap th .sort-head{display:inline-flex!important;justify-content:flex-start;gap:6px;align-items:center;max-width:none;min-width:max-content;white-space:nowrap!important;padding:6px 2px}
.view .tablewrap th .sort-head .sort-label{flex:0 0 auto;white-space:nowrap}
.view .tablewrap th .sort-head .sort-arrow{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 18px!important;min-width:18px!important;width:18px;color:#607f93!important;font-weight:900!important;visibility:visible!important;opacity:1!important}
.view .tablewrap th.num .sort-head{justify-content:flex-end}
.view .tablewrap{overflow-x:auto}
#products .tablewrap table,#reps .tablewrap table{min-width:1080px}

.health-links{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 8px}.report-nav .report-menu>summary{gap:0!important}.report-nav .report-menu>summary:after{content:none!important}

.chart,.profile-graph svg{overflow:visible}.chart circle,.profile-graph circle{cursor:pointer}

/* V35 readable scales and reliable, pointer/keyboard friendly tooltips */
.margin-chart-tooltip{position:fixed;z-index:100000;pointer-events:none;background:#142c45;color:#fff;padding:9px 12px;border-radius:9px;font-size:13px;font-weight:650;line-height:1.3;box-shadow:0 7px 18px #142c4540;white-space:nowrap;max-width:calc(100vw - 20px)}
.margin-chart-tooltip[hidden]{display:none!important}
[data-chart-label]{cursor:crosshair;outline:none}
[data-chart-label]:focus-visible{stroke:#12304a;stroke-width:2px;stroke-dasharray:3 2}

/* V40 desktop table layout: fill cards, reserve horizontal scrolling for smaller screens. */
@media (min-width: 901px){
  .view .tablewrap{overflow-x:visible;max-width:100%;}
  .view .tablewrap table, #products .tablewrap table, #reps .tablewrap table{width:100%;min-width:0!important;table-layout:auto;}
  .view .tablewrap th,.view .tablewrap td{padding:10px 6px;font-size:clamp(10px,0.87vw,13px);}
  .view .tablewrap th .sort-head{min-width:0!important;max-width:100%;width:100%;display:flex!important;white-space:normal!important;gap:4px;padding:4px 0;line-height:1.25;}
  .view .tablewrap th .sort-head .sort-label{min-width:0;white-space:normal!important;overflow-wrap:break-word;flex:1 1 auto;}
  .view .tablewrap th .sort-head .sort-arrow{flex:0 0 12px!important;min-width:12px!important;width:12px;}
  .view .tablewrap td{overflow-wrap:break-word;}
  .view .tablewrap td.num{white-space:nowrap;}
}
@media(max-width:900px){
 .view .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
 .view .tablewrap table{min-width:720px;}
 #products .tablewrap table,#reps .tablewrap table{min-width:1080px!important;}
}

/* V47: all numeric measure columns use centred headings and values. */
.view .tablewrap th.num,
.view .tablewrap td.num,
#monthlyHistoryRows td.num,
#targetRows td.num,
.tablewrap table th.num,
.tablewrap table td.num {
  text-align:center!important;
  font-variant-numeric:tabular-nums;
}
.view .tablewrap th.num .sort-head,
.tablewrap th.num .sort-head {
  justify-content:center!important;
  text-align:center!important;
}
.view .tablewrap th.num .sort-head .sort-label {
  text-align:center!important;
}
@media(min-width:901px) {
 .view .tablewrap th.num .sort-head {justify-content:center!important}
}

/* V53: original wave-and-serif MarginLens logo across all light page headers. */
.nav .logo{display:block;width:195px;height:67px;max-width:52vw;object-fit:contain}
.nav .wrap{min-height:80px}
@media(max-width:420px){.nav .logo{width:155px;height:57px}}
