/* Partner reporting uses the operator console's raised / inset / pressed
   surfaces, tinted sage and forest. Layout and print rules stay in statistics.css. */
@font-face {
  font-family: 'Palletivo Digital';
  src: url('/fonts/DSEG7Classic-Regular.woff2') format('woff2');
  font-display: swap;
}
@media screen {
  :root {
    color-scheme: light;
    --ivory: #e8ece5;
    --paper: #e8ece5;
    --ink: #243d31;
    --muted: #566957;
    --forest: #224c3a;
    --green: #34694e;
    --sage: #a6bf91;
    --line: #cbd4c5;
    --surface: #e8ece5;
    --display: #e0e7dc;
    --surface-hover: #edf1e9;
    --edge: #d0d9c966;
    --raised-1: 5px 5px 14px #cbd2c5, -5px -5px 14px #fbfff5;
    --raised-2: 4px 4px 8px #c7d0c0, -4px -4px 8px #fbfff5;
    --hover: 6px 6px 12px #c3ccbc, -5px -5px 10px #fbfff5;
    --inset: inset 3px 3px 7px #c5cebe, inset -3px -3px 7px #fafff3;
    --pressed: inset 2px 2px 5px #becab6, inset -2px -2px 5px #fafff3;
    --focus: #30664a;
  }
  .site-header {
    background: var(--surface);
    border-bottom: 1px solid var(--edge);
    box-shadow: 0 3px 12px #bcc8b52b, inset 0 -1px 0 #fafff380;
  }
  .report-shell { max-width: 1440px; padding-top: 32px; }
  .report-heading h1, .login h1, .page-title h1 {
    font-family: inherit;
    font-weight: 650;
    letter-spacing: -.035em;
  }
  h2, h3, .feature h2, .passport h2, .companies-panel .panel-heading h2 { font-weight: 650; }
  .report-heading h1 { font-size: clamp(28px, 3vw, 38px); }
  .brand img {
    padding: 7px;
    width: 46px;
    height: 46px;
    border-radius: 11px;
    background: var(--surface);
    box-shadow: var(--raised-2);
  }
  .panel, .login-card, .record-card, .compact-filters, .stock-band, .method {
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 12px;
    box-shadow: var(--raised-1);
  }
  .passport { background: var(--surface); }
  .hero-grid, .passport-grid { gap: 26px; }
  .compact-filters { padding: 18px 20px; margin-bottom: 28px; gap: 16px; }
  .compact-filters label>span, .recorded-since, .eyebrow { color: var(--muted); }
  input:not([type=checkbox]), select,
  .compact-filters select, .compact-filters input[type=month] {
    background: var(--display);
    border: 1px solid var(--edge);
    border-radius: 9px;
    box-shadow: var(--inset);
    min-height: 42px;
  }
  .all-time input { accent-color: var(--forest); }
  .icon-button, .apply-button, .report-button, .primary, .secondary,
  .row-arrow, .account-menu summary, .drawer-tabs button, .more-records {
    border: 1px solid var(--edge);
    border-radius: 9px;
    background: var(--surface);
    color: var(--ink);
    box-shadow: var(--raised-2);
    font-weight: 650;
    transition: box-shadow 120ms ease, background-color 120ms ease, transform 120ms ease;
  }
  .icon-button { width: 42px; height: 42px; }
  .apply-button, .report-button, .primary, .secondary { min-height: 42px; }
  .report-button, .primary {
    background: linear-gradient(145deg, #c0d8af, #a6c18e);
    color: #243e28;
    border-color: #a2b99355;
  }
  :is(.icon-button,.apply-button,.secondary,.row-arrow,.account-menu summary,.drawer-tabs button,.more-records):hover:not(:disabled) {
    background: var(--surface-hover);
    box-shadow: var(--hover);
    text-decoration: none;
  }
  :is(.report-button,.primary):hover:not(:disabled) {
    background: linear-gradient(145deg, #c9dfba, #b2cb9e);
    box-shadow: var(--hover);
  }
  :is(.icon-button,.apply-button,.report-button,.primary,.secondary,.row-arrow,.account-menu summary,.drawer-tabs button,.more-records):active:not(:disabled) {
    box-shadow: var(--pressed);
    transform: translateY(1px);
  }
  :is(button,a,summary,input,select,[tabindex]):focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 4px;
  }
  button:disabled { box-shadow: none; cursor: not-allowed; }
  .account-menu>div { background: var(--surface); box-shadow: 7px 10px 24px #9fac9966; border-radius: 12px; }
  .feature {
    background: linear-gradient(145deg,#305b46,#224535);
    border: 1px solid #173d2d40;
    border-radius: 12px;
    box-shadow: var(--raised-1), inset 1px 1px 1px #82a88c55;
  }
  .feature-number {
    align-self: flex-start;
    max-width: 100%;
    padding: 18px 20px 12px;
    margin-top: 22px;
    margin-bottom: 10px;
    border-radius: 10px;
    background: #264b39;
    box-shadow: inset 4px 4px 9px #163627, inset -3px -3px 8px #477155;
    font-family: 'Palletivo Digital', ui-monospace, monospace;
    font-size: clamp(56px,6vw,82px);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0;
    color: #d2e7b8;
  }
  .feature-number.dense { font-size: clamp(30px,3.6vw,49px); }
  .feature h2 { letter-spacing: -.02em; }
  .feature .eyebrow, .feature-context, .feature-foot small { color: #c4d5b8; }
  .feature-explore {
    border-radius: 9px;
    background: #305641;
    border-color: #50765a55;
    box-shadow: 3px 3px 7px #153426, -2px -2px 6px #56795d55;
  }
  .feature-explore:hover { background: #3a644b; }
  .feature-explore:active { box-shadow: inset 2px 2px 5px #163727; }
  .chart-total strong, .stock-total strong, .stock-legend strong, .tracked-summary>strong, .movement>strong {
    font-family: 'Palletivo Digital', ui-monospace, monospace;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.45;
  }
  .chart-total strong { padding: 4px 10px; border-radius: 7px; background: var(--display); box-shadow: var(--inset); }
  .chart-legend button { padding: 6px 9px; border: 1px solid var(--edge); border-radius: 7px; box-shadow: var(--raised-2); }
  .chart-legend button[aria-pressed=false] { box-shadow: var(--pressed); color: var(--muted); }
  .chart-grid line { stroke: #cbd5c4; }
  .chart-tooltip { background: var(--display); box-shadow: inset 0 3px 6px #c6d0bf55; }
  .stock-band { padding: 22px 24px; gap: 24px; margin-top: 26px; }
  .stock-total strong { font-size: 30px; }
  .stock-legend strong { font-size: 20px; }
  .stock-composition>svg { height: 12px; box-shadow: var(--inset); border: 2px solid var(--display); border-radius: 8px; }
  .tracked-summary>strong { font-size: 26px; }
  .stock-total strong, .stock-legend strong, .tracked-summary>strong {
    padding: 7px 10px;
    border-radius: 8px;
    background: var(--display);
    box-shadow: var(--inset);
    width: fit-content;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .stage-stamp {
    border: 1px solid var(--edge);
    background: var(--display);
    color: var(--muted);
    box-shadow: var(--inset);
    outline: none;
    font-weight: 600;
  }
  .has-journeys .stage-stamp { background: #dbe7cf; color: var(--forest); border-color: #8ea47e88; outline: none; }
  .passport-stages:before { border-color: #b1c2a6; }
  .passport-stage:hover, .passport-stage[aria-expanded=true] { background: var(--surface); box-shadow: var(--raised-2); border-color: var(--edge); transform: none; }
  .passport-stage:active { box-shadow: var(--pressed); }
  .passport-caption>span { font-family: inherit; font-style: normal; font-weight: 600; color: var(--muted); }
  .passport-seal { background: var(--display); box-shadow: var(--inset); border: 1px solid var(--edge); transform: none; }
  .reuse-proportion { border-radius: 50%; background: var(--display); box-shadow: var(--inset); }
  .reuse-proportion svg { padding: 7px; }
  .reuse-proportion strong { color: var(--forest); font-weight: 650; }
  .movement-band { border: 0; gap: 22px; padding: 0; margin-top: 27px; }
  .movement, .movement:first-child, .movement:last-child {
    padding: 19px 22px;
    background: var(--surface);
    border: 1px solid var(--edge);
    border-radius: 12px;
    box-shadow: var(--raised-2);
  }
  .movement:hover { background: var(--surface-hover); box-shadow: var(--hover); }
  .movement:active { box-shadow: var(--pressed); }
  .movement>strong { font-size: 27px; }
  .movement>svg { top: 20px; right: 16px; }
  .movement>span { padding-right: 12px; }
  .company-monogram, .summary-mark { background: var(--display); border: 1px solid var(--edge); box-shadow: var(--inset); color: var(--forest); }
  .companies-panel thead { background: var(--display); box-shadow: inset 0 2px 4px #c5cebe55; }
  .companies-panel th:first-child, .companies-panel td:first-child { padding-left: 12px; }
  .companies-panel th:last-child, .companies-panel td:last-child { padding-right: 12px; }
  tbody tr:hover, tbody tr:has([aria-expanded=true]) { background: #dce5d5; }
  .method { padding: 17px 21px; max-width: none; }
  .record-drawer { background: var(--surface); border-left-color: var(--edge); box-shadow: -12px 0 50px #2b463845; }
  .drawer-head { border-bottom: 1px solid var(--edge); margin-bottom: 16px; }
  .drawer-tabs button[aria-pressed=true] { background: var(--display); box-shadow: var(--pressed); color: var(--forest); }
  .record-card { box-shadow: var(--raised-2); }
  .drawer-footer { background: var(--display); }
  .record-heading small, .status, .invite-created { background: var(--display); box-shadow: var(--inset); }
  .panel-subtitle, .chart-controls>span, .column-label, .stock-total small,
  .stock-legend span, .tracked-summary>span, .stage-order, .stage-code,
  .passport-caption p, .reuse-panel p, .reuse-equivalent span, .movement>small,
  .company-row-button small, thead th, .method, footer, .drawer-scope,
  .record-date, .record-qualifier, .login small, .login-card>p:not(.eyebrow), .muted { color: var(--muted); }
  footer { padding-bottom: 8px; }
}
@media screen and (max-width:850px) {
  .compact-filters { flex-wrap: wrap; }
  .stock-band { gap: 22px; }
  .hero-grid, .passport-grid { gap: 22px; }
}
@media screen and (max-width:600px) {
  .report-shell { padding: 24px 18px; }
  .brand img { width: 36px; height: 36px; padding: 5px; }
  .compact-filters { padding: 16px; gap: 14px; }
  .compact-filters select { width: 100%; max-width: 100%; }
  .feature-number { font-size: 64px; padding: 15px 18px 10px; }
  .feature-number.dense { font-size: clamp(24px,7vw,40px); }
  .stock-band { padding: 19px 18px; }
  .stock-total strong { font-size: 26px; }
  .stock-legend { gap: 10px; }
  .stock-legend strong { font-size: 17px; padding: 7px; }
  .movement-band { gap: 16px; }
  .movement, .movement:first-child, .movement:last-child { padding: 17px 20px!important; }
  .movement>svg { right: 12px; top: 21px; }
  .movement>strong { padding-right: 13px; }
  .method { padding: 16px; }
}

/* Shares the operator app language preference; also available on the partner host. */
.statistics-language{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted,#526157)}
.statistics-language select{font:inherit;padding:.45rem .65rem;border:1px solid #ccd4c7;border-radius:.6rem;background:var(--surface,#f0f2e9);color:inherit;max-width:8rem}
.login>.statistics-language{justify-content:flex-end;margin:1rem 0}
@media(max-width:600px){.header-identity{flex-wrap:wrap;justify-content:flex-end}.header-identity .statistics-language>span{display:none}.statistics-language select{max-width:6rem}}

.statistics-month{display:flex;gap:.35rem;align-items:center}.compact-filters .statistics-month select{min-width:0;width:8rem}.compact-filters .statistics-month input[type=number]{min-width:0;width:5rem}
@media screen and (max-width:600px){
  .compact-filters label:nth-of-type(2)>.statistics-month{display:flex;flex-wrap:wrap}
  .site-header{height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}
  .header-identity{gap:6px}
}
