/* Generated BP Tools public-shell stylesheet. Do not edit.
   BP Tools UI contract 96; source 647102d38e295c67.
   Run: python3 scripts/ui_toolbox.py build */
@layer reset, tokens, base, layout, features, components, utilities, overrides, print;
@layer tokens {
  :root {
    --native-text-scale: 1;
    --chart-readable-width: calc(320px * var(--native-text-scale));
    --chat-message-gap: calc(var(--space-panel) / 2);
    --chat-composer-height: 44px;
    --chat-panel-height: min(42rem, 80svh);
    --status-success: var(--lime);
    --status-warning: #c69736;
    --status-risk-high: #c9782d;
    --status-error: #d7697b;
    --status-progress: #6b9ec5;
    --status-neutral: #aaa2a6;
    --size-full: 100%;
    --viewport-height: 100svh;
    --login-card-portrait-width: min(660px, 100%);
    --login-form-width: min(520px, 100%);
    --login-form-height: 420px;
    --login-form-padding: var(--space-panel) var(--space-card) calc(var(--space-page) * 2);
    --wine: #49182d;
    --wine-2: #49182d;
    --lime: #b2bb1e;
    --gain: #65730d;
    --gain-soft: #f0f4d5;
    --loss: #b72f52;
    --loss-soft: #fae7ec;
    --category-1: #49182d;
    --category-2: #702440;
    --category-3: #b2bb1e;
    --category-4: #7f8715;
    --category-5: #b98197;
    --category-6: #8d7c84;
    --category-7: #d5cec7;
    --selection-primary: var(--wine);
    --selection-primary-soft: rgba(73, 24, 45, 0.08);
    --selection-primary-ring: 0 0 0 3px rgba(73, 24, 45, 0.28);
    --ink: #49182d;
    --muted: rgba(73, 24, 45, 0.7);
    --paper: #efeee4;
    --panel: #ffffff;
    --line: #dbd9d5;
    --soft: rgba(219, 217, 213, 0.35);
    --shadow: 0 16px 30px rgba(73, 24, 45, 0.14);
    --warning-soft: #fafbe9;

    --font-body: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-display: "Minion Pro", serif;
    --radius-control: 12px;
    --radius-panel: 16px;
    --space-control: 10px;
    --space-card: 16px;
    --space-panel: 22px;
    --space-panel-gap: 16px;
    --space-section: 18px;
    --space-page: 32px;
    --text-supporting: 12px;
    --text-sidebar-label: 11px;
    --text-sidebar-detail: 10px;
    --chat-transcript-max-height: min(26rem, 55vh);
    --chat-bubble-max-width: 82%;
    --media-capture-preview-height: min(42dvh, 420px);
    --aging-meter-height: 8px;
    --focus-ring: 0 0 0 3px rgba(178, 187, 30, 0.35);
    /* Lettering center is 158px down in the canonical 760px-wide logo. */
    --sidebar-wordmark-center: 0.208;
    --sidebar-icon-size: 20px;
    --sidebar-width: 242px;
    --sidebar-expanded-width: var(--sidebar-width);
    --sales-filter-collapsed-columns: minmax(120px, 180px) minmax(120px, 180px) max-content minmax(180px, 1fr);
    --z-sidebar: 10;
    --z-popover: 40;
    --z-dialog: 90;
    --z-session-warning: 100;
  }

  /* Minimum content gutters for the bundled iOS app. Safe areas are added by owners. */
  html.bp-native-app { --bp-content-gutter: 48px; --bp-navigation-sidebar-width: var(--sidebar-width); --bp-navigation-chrome-height: 76px; }
  html.bp-native-app.bp-sidebar-collapsed { --bp-navigation-sidebar-width: calc(var(--space-page) * 2); }
  @media screen and (orientation: portrait) {
    html.bp-native-app { --bp-content-gutter: 32px; }
  }
  @media screen and (max-width: 560px), screen and (max-height: 500px) and (max-width: 940px) {
    html.bp-native-app { --bp-content-gutter: 20px; }
  }
  @media screen and (max-width: 480px) {
    /* Screen history occupies the phone bar rather than a separate content row. */
    html.bp-native-app { --bp-navigation-chrome-height: var(--space-page); }
  }
}
@layer base {
  @font-face {
    font-family: "Inter";
    src: url("/static/assets/fonts/Inter-Regular.woff2?v=20260829") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: optional;
  }

  @font-face {
    font-family: "Inter";
    src: url("/static/assets/fonts/Inter-Bold.woff2?v=20260829") format("woff2");
    font-style: normal;
    font-weight: 600 900;
    font-display: optional;
  }

  @font-face {
    font-family: "Minion Pro";
    src: url("/static/assets/fonts/MinionPro-Regular.woff2?v=20260829") format("woff2");
    font-style: normal;
    font-weight: 400 500;
    font-display: block;
  }

  @font-face {
    font-family: "Minion Pro";
    src: url("/static/assets/fonts/MinionPro-Semibold.woff2?v=20260829") format("woff2");
    font-style: normal;
    font-weight: 600;
    font-display: block;
  }

  @font-face {
    font-family: "Minion Pro";
    src: url("/static/assets/fonts/MinionPro-Bold.woff2?v=20260829") format("woff2");
    font-style: normal;
    font-weight: 700 900;
    font-display: block;
  }

  /* Dynamic Type applies to the interface; printed reports retain paper metrics. */
  @media print {
    html[data-bp-text-size] { -webkit-text-size-adjust: 100% !important; }
  }
}
@layer components {
  *{box-sizing:border-box}
  html,body{width:100%;min-height:var(--size-full);margin:0;overflow-x:hidden}
  body{background:radial-gradient(circle at 0 0,rgba(178,187,30,.2),transparent 31rem),radial-gradient(circle at 100% 0,rgba(73,24,45,.2),transparent 34rem),linear-gradient(135deg,rgba(255,255,255,.45),transparent 48%),#efeee4;color:var(--ink);font-family:var(--font-body)}
  .login-shell{display:grid;height:100svh;place-items:center;padding:12px}
  .login-card{display:grid;grid-template-columns:minmax(350px,.86fr) minmax(520px,1.14fr);width:min(1120px,100%);height:min(700px,calc(100svh - 24px));overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(73,24,45,.17)}
  .login-brand-panel{display:flex;flex-direction:column;justify-content:space-between;padding:48px 42px;background:linear-gradient(155deg,#49182d,#6d2944);color:#fff}
  .login-logo{display:block;width:min(360px,100%);height:auto;margin-inline:auto;filter:none;mix-blend-mode:normal}
  .eyebrow{margin:0 0 10px;color:#d9e05d;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
  h1{margin:0;font-family:var(--font-display);font-size:clamp(34px,4vw,52px);font-weight:600;line-height:1.02;letter-spacing:-.02em}
  .login-copy{max-width:28rem;margin:16px 0 0;color:rgba(255,255,255,.78);font-size:17px;line-height:1.5}
  .login-assurance{display:flex;align-items:center;gap:11px;color:rgba(255,255,255,.74);font-size:12px}.login-assurance span{width:10px;height:10px;flex:none;border-radius:50%;background:#b2bb1e;box-shadow:0 0 0 5px rgba(178,187,30,.14)}.login-assurance p{margin:0}
  .login-auth-panel{position:relative;display:block;min-width:0;min-height:0;padding:0;background:#fff}
  .login-mount{position:absolute;inset:0;display:block;width:100%;min-height:0;overflow:hidden}
  .login-mount[hidden]{display:none}
  .login-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-card);padding:var(--space-page);text-align:center}
  .login-gate h2,.login-gate p{margin:0}
  .login-continue{padding:var(--space-control) var(--space-panel);border:0;border-radius:var(--radius-control);background:var(--wine);color:var(--panel);font:inherit;cursor:pointer}
  .login-continue:focus-visible{outline:solid var(--lime);outline-offset:calc(var(--space-control) / 3)}
  .login-mount iframe{position:absolute!important;top:50%!important;left:calc(50% + 32px)!important;display:block;width:min(590px,calc(100% - 68px))!important;height:min(570px,calc(100% - 110px))!important;min-height:0;border:0!important;transform:translate(-50%,-50%)!important}
  .login-help{margin:8px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;text-align:center}
  .login-auth-panel .login-help{position:absolute;z-index:2;right:34px;bottom:20px;left:34px;margin:0;background:#fff}
  .access-card{display:flex;width:min(660px,calc(100% - 24px));height:auto;min-height:420px;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center}.access-card .login-logo{width:min(320px,80%);margin:0 auto 28px}.access-card .login-copy{max-width:34rem;margin:22px auto 0;color:var(--muted);font-size:17px}.access-card .login-help{width:100%;margin-top:28px}
  @media(max-width:900px){.login-shell{height:auto;min-height:var(--viewport-height);padding:var(--space-card)}.login-card{grid-template-columns:1fr;grid-template-rows:auto 1fr;width:var(--login-card-portrait-width);height:auto}.login-brand-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;padding:16px 22px}.login-logo{width:180px}.login-brand-panel>div:nth-child(2){min-width:0}.eyebrow{margin-bottom:4px;font-size:9px}h1{font-size:25px}.login-copy{display:none}.login-assurance{display:none}.login-auth-panel{padding:0}.login-mount{position:relative;display:grid;place-items:center;padding:var(--login-form-padding)}.login-mount iframe{position:static!important;width:var(--login-form-width)!important;height:var(--login-form-height)!important;min-height:0;transform:none!important}.login-auth-panel .login-help{right:18px;bottom:10px;left:18px;padding-top:7px;font-size:10px}}
  @media(max-width:520px){.login-brand-panel{grid-template-columns:1fr;padding:12px 18px}.login-logo{width:170px}h1{font-size:20px}.eyebrow{font-size:8px}}
  @media(max-width:900px){.access-card{width:100%;height:100svh;min-height:0;padding:32px 22px}.access-card .login-copy{display:block;font-size:15px}.access-card .login-help{position:static;margin-top:24px}}
  .login-gate.login-mount{display:flex;min-height:var(--login-form-height);padding:var(--space-page)}
  .login-gate.login-mount[hidden]{display:none}
  .login-privacy-content{max-height:var(--login-form-height);overflow:auto}
}
