/*
 * PRO shared design foundation.
 * Shared palette, type, spacing, shape, elevation and compatibility tokens live
 * here. Page styles consume these values while retaining their current layout.
 */

:root {
    --pro-v2-color-white: #ffffff;
    --pro-v2-color-transparent: transparent;
    --pro-v2-color-focus-visible: #e4eaee;
    --focus-ring: 2px solid var(--pro-v2-color-focus-visible);
    --focus-offset: 0px;
}

:focus-visible {
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}

.pro-ui-v2 {
    color-scheme: light;
    --pro-v2-color-app-background: var(--pro-v2-color-white);
    --pro-v2-color-surface-primary: var(--pro-v2-color-white);
    --pro-v2-color-surface-secondary: #e4e8ec;
    --pro-v2-color-surface-elevated: var(--pro-v2-color-white);
    --pro-v2-color-text-primary: #111315;
    --pro-v2-color-text-secondary: #5e666d;
    --pro-v2-color-text-muted: #879097;
    --pro-v2-color-border: #d8dee3;
    --pro-v2-color-accent: #111315;
    --pro-v2-color-accent-soft: #e7eaed;
    --pro-v2-color-brand: #c40000;
    --pro-v2-color-success: #167a52;
    --pro-v2-color-success-soft: #e1f8ef;
    --pro-v2-color-warning: #9a5a00;
    --pro-v2-color-warning-soft: #fff2d8;
    --pro-v2-color-danger: #b42318;
    --pro-v2-color-error-soft: #fae7e7;
    --pro-v2-color-info-soft: #e9f3fb;
    --pro-v2-color-info: #2767a8;
    --pro-v2-color-overlay: rgba(12, 16, 20, .64);
    --pro-v2-color-disabled-surface: #f2f3f4;
    --pro-v2-color-disabled-text: #a0a6ab;
    --pro-v2-color-surface-muted: #eef2f5;
    --pro-v2-color-surface-subtle: #f8fafb;
    --pro-v2-color-border-subtle: #d5dee6;
    --pro-v2-color-border-muted: #b8c4cf;
    --pro-v2-color-focus: #1769aa;

    /* Exact palette values retained by existing feature and admin styles. */
    --pro-v2-palette-hex-142e45: #142e45;
    --pro-v2-palette-hex-146244: #146244;
    --pro-v2-palette-hex-167553: #167553;
    --pro-v2-palette-hex-17212b: #17212b;
    --pro-v2-palette-hex-174e70: #174e70;
    --pro-v2-palette-hex-183247: #183247;
    --pro-v2-palette-hex-21664e: #21664e;
    --pro-v2-palette-hex-236da2: #236da2;
    --pro-v2-palette-hex-2377b5: #2377b5;
    --pro-v2-palette-hex-25a477: #25a477;
    --pro-v2-palette-hex-263b4c: #263b4c;
    --pro-v2-palette-hex-287b58: #287b58;
    --pro-v2-palette-hex-2d6388: #2d6388;
    --pro-v2-palette-hex-2f6284: #2f6284;
    --pro-v2-palette-hex-315346: #315346;
    --pro-v2-palette-hex-356b8e: #356b8e;
    --pro-v2-palette-hex-38536b: #38536b;
    --pro-v2-palette-hex-38566f: #38566f;
    --pro-v2-palette-hex-476176: #476176;
    --pro-v2-palette-hex-49685a: #49685a;
    --pro-v2-palette-hex-4f6b7e: #4f6b7e;
    --pro-v2-palette-hex-527088: #527088;
    --pro-v2-palette-hex-547084: #547084;
    --pro-v2-palette-hex-566c80: #566c80;
    --pro-v2-palette-hex-66798a: #66798a;
    --pro-v2-palette-hex-69251e: #69251e;
    --pro-v2-palette-hex-6c4b00: #6c4b00;
    --pro-v2-palette-hex-71808b: #71808b;
    --pro-v2-palette-hex-744300: #744300;
    --pro-v2-palette-hex-75b2d5: #75b2d5;
    --pro-v2-palette-hex-788592: #788592;
    --pro-v2-palette-hex-7aaed3: #7aaed3;
    --pro-v2-palette-hex-7b6acb: #7b6acb;
    --pro-v2-palette-hex-845900: #845900;
    --pro-v2-palette-hex-8cbddd: #8cbddd;
    --pro-v2-palette-hex-8dc8ad: #8dc8ad;
    --pro-v2-palette-hex-91a0ad: #91a0ad;
    --pro-v2-palette-hex-929ba3: #929ba3;
    --pro-v2-palette-hex-93bddb: #93bddb;
    --pro-v2-palette-hex-98a4af: #98a4af;
    --pro-v2-palette-hex-9b1111: #9b1111;
    --pro-v2-palette-hex-9cc3e2: #9cc3e2;
    --pro-v2-palette-hex-9eabb7: #9eabb7;
    --pro-v2-palette-hex-9fc5dd: #9fc5dd;
    --pro-v2-palette-hex-b3261e: #b3261e;
    --pro-v2-palette-hex-b7d8c5: #b7d8c5;
    --pro-v2-palette-hex-b8cedf: #b8cedf;
    --pro-v2-palette-hex-b9d4e6: #b9d4e6;
    --pro-v2-palette-hex-b9d4e9: #b9d4e9;
    --pro-v2-palette-hex-bdcdd7: #bdcdd7;
    --pro-v2-palette-hex-bfd7e5: #bfd7e5;
    --pro-v2-palette-hex-c2d0db: #c2d0db;
    --pro-v2-palette-hex-c6dbe9: #c6dbe9;
    --pro-v2-palette-hex-c9d7e1: #c9d7e1;
    --pro-v2-palette-hex-c9d9e1: #c9d9e1;
    --pro-v2-palette-hex-c9dce9: #c9dce9;
    --pro-v2-palette-hex-cbd5df: #cbd5df;
    --pro-v2-palette-hex-ccd8df: #ccd8df;
    --pro-v2-palette-hex-ced8e2: #ced8e2;
    --pro-v2-palette-hex-cfe1ef: #cfe1ef;
    --pro-v2-palette-hex-d4dde5: #d4dde5;
    --pro-v2-palette-hex-d5e4ed: #d5e4ed;
    --pro-v2-palette-hex-d7e0e5: #d7e0e5;
    --pro-v2-palette-hex-d8e0e6: #d8e0e6;
    --pro-v2-palette-hex-d8e8f2: #d8e8f2;
    --pro-v2-palette-hex-d9e4eb: #d9e4eb;
    --pro-v2-palette-hex-d9e5f0: #d9e5f0;
    --pro-v2-palette-hex-dbe3ea: #dbe3ea;
    --pro-v2-palette-hex-dce4ea: #dce4ea;
    --pro-v2-palette-hex-dce5ea: #dce5ea;
    --pro-v2-palette-hex-dce8e2: #dce8e2;
    --pro-v2-palette-hex-dceef8: #dceef8;
    --pro-v2-palette-hex-e2e9ed: #e2e9ed;
    --pro-v2-palette-hex-e2eaf0: #e2eaf0;
    --pro-v2-palette-hex-e3eaf0: #e3eaf0;
    --pro-v2-palette-hex-e5a6a6: #e5a6a6;
    --pro-v2-palette-hex-e5b4b4: #e5b4b4;
    --pro-v2-palette-hex-e5edf2: #e5edf2;
    --pro-v2-palette-hex-e6edf2: #e6edf2;
    --pro-v2-palette-hex-e8f8f1: #e8f8f1;
    --pro-v2-palette-hex-eaeaeb: #eaeaeb;
    --pro-v2-palette-hex-edf4f8: #edf4f8;
    --pro-v2-palette-hex-edf4f9: #edf4f9;
    --pro-v2-palette-hex-edf5fb: #edf5fb;
    --pro-v2-palette-hex-edf6fa: #edf6fa;
    --pro-v2-palette-hex-eef1f4: #eef1f4;
    --pro-v2-palette-hex-eef3f7: #eef3f7;
    --pro-v2-palette-hex-eef7fd: #eef7fd;
    --pro-v2-palette-hex-eef8fd: #eef8fd;
    --pro-v2-palette-hex-f0c2bd: #f0c2bd;
    --pro-v2-palette-hex-f0d6d6: #f0d6d6;
    --pro-v2-palette-hex-f1f8fc: #f1f8fc;
    --pro-v2-palette-hex-f2f8f4: #f2f8f4;
    --pro-v2-palette-hex-f5f7f9: #f5f7f9;
    --pro-v2-palette-hex-f6f7f8: #f6f7f8;
    --pro-v2-palette-hex-f7f9fb: #f7f9fb;
    --pro-v2-palette-hex-f7fafb: #f7fafb;
    --pro-v2-palette-hex-f7fafc: #f7fafc;
    --pro-v2-palette-hex-f7fbfe: #f7fbfe;
    --pro-v2-palette-hex-f7fbff: #f7fbff;
    --pro-v2-palette-hex-f8f7ff: #f8f7ff;
    --pro-v2-palette-hex-f8fcff: #f8fcff;
    --pro-v2-palette-hex-fafcfd: #fafcfd;
    --pro-v2-palette-hex-fbfdff: #fbfdff;
    --pro-v2-palette-hex-fff0f0: #fff0f0;
    --pro-v2-palette-hex-fff3f1: #fff3f1;
    --pro-v2-palette-hex-fff4df: #fff4df;
    --pro-v2-palette-hex-ffffff80: #ffffff80;
    --pro-v2-palette-rgb-0-0-0-20: rgb(0 0 0 / 20%);
    --pro-v2-palette-rgb-0-0-0-30: rgb(0 0 0 / 30%);
    --pro-v2-palette-rgb-12-16-20-64: rgb(12 16 20 / 64%);
    --pro-v2-palette-rgb-15-23-42-72: rgb(15 23 42 / 72%);
    --pro-v2-palette-rgb-17-19-21-18: rgb(17 19 21 / 18%);
    --pro-v2-palette-rgb-17-19-21-5: rgb(17 19 21 / 5%);
    --pro-v2-palette-rgb-18-48-34-28: rgb(18 48 34 / 28%);
    --pro-v2-palette-rgb-198-40-40-14: rgb(198 40 40 / 14%);
    --pro-v2-palette-rgb-20-40-60-18: rgb(20 40 60 / 18%);
    --pro-v2-palette-rgb-20-42-58-8: rgb(20 42 58 / 8%);
    --pro-v2-palette-rgb-24-37-52-16: rgb(24 37 52 / 16%);
    --pro-v2-palette-rgb-24-37-52-20: rgb(24 37 52 / 20%);
    --pro-v2-palette-rgb-255-255-255-40: rgb(255 255 255 / 40%);
    --pro-v2-palette-rgb-255-255-255-55: rgb(255 255 255 / 55%);
    --pro-v2-palette-rgb-255-255-255-88: rgb(255 255 255 / 88%);
    --pro-v2-palette-rgb-255-255-255-92: rgb(255 255 255 / 92%);
    --pro-v2-palette-rgb-255-255-255-94: rgb(255 255 255 / 94%);
    --pro-v2-palette-rgb-255-255-255-98: rgb(255 255 255 / 98%);
    --pro-v2-palette-rgb-35-59-77-12: rgb(35 59 77 / 12%);
    --pro-v2-palette-rgb-40-123-88-30: rgb(40 123 88 / 30%);
    --pro-v2-palette-rgba-20-42-58-0-08: rgba(20, 42, 58, 0.08);
    --pro-v2-palette-rgba-20-46-69-08: rgba(20, 46, 69, .08);
    --pro-v2-palette-rgba-255-255-255-0-5: rgba(255, 255, 255, 0.5);
    --pro-v2-palette-rgba-255-255-255-1: rgba(255,255,255,.1);
    --pro-v2-palette-rgba-255-255-255-22: rgba(255,255,255,.22);
    --pro-v2-palette-rgba-255-255-255-58: rgba(255,255,255,.58);
    --pro-v2-palette-rgba-255-255-255-72: rgba(255,255,255,.72);
    --pro-v2-palette-rgba-255-255-255-78: rgba(255,255,255,.78);
    --pro-v2-palette-rgba-255-255-255-9: rgba(255,255,255,.9);
    --pro-v2-palette-rgba-255-255-255-96: rgba(255, 255, 255, .96);
    --pro-v2-palette-rgba-34-50-68-0-04: rgba(34, 50, 68, 0.04);
    --pro-v2-palette-rgba-34-50-68-0-045: rgba(34, 50, 68, 0.045);
    --pro-v2-palette-rgba-34-50-68-0-055: rgba(34, 50, 68, 0.055);
    --pro-v2-palette-rgba-34-50-68-0-06: rgba(34, 50, 68, 0.06);
    --pro-v2-palette-rgba-34-72-96-12: rgba(34, 72, 96, .12);
    --pro-v2-palette-rgba-35-109-169-0-04: rgba(35, 109, 169, 0.04);
    --pro-v2-palette-rgba-35-109-169-0-06: rgba(35, 109, 169, 0.06);
    --pro-v2-palette-rgba-35-109-169-0-08: rgba(35, 109, 169, 0.08);
    --pro-v2-palette-rgba-35-109-169-0-10: rgba(35, 109, 169, 0.10);
    --pro-v2-palette-rgba-35-109-169-2: rgba(35, 109, 169, .2);
    --pro-v2-palette-rgba-52-131-202-12: rgba(52,131,202,.12);
    --pro-v2-palette-rgba-9-18-28-96: rgba(9, 18, 28, .96);

    --pro-v2-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --pro-v2-font-display-size: 32px;
    --pro-v2-font-display-line: 38px;
    --pro-v2-font-h1-size: 28px;
    --pro-v2-font-h1-line: 34px;
    --pro-v2-font-h2-size: 22px;
    --pro-v2-font-h2-line: 28px;
    --pro-v2-font-h3-size: 18px;
    --pro-v2-font-h3-line: 24px;
    --pro-v2-font-title-size: 16px;
    --pro-v2-font-title-line: 22px;
    --pro-v2-font-body-size: 16px;
    --pro-v2-font-body-line: 24px;
    --pro-v2-font-body-small-size: 14px;
    --pro-v2-font-body-small-line: 20px;
    --pro-v2-font-label-size: 14px;
    --pro-v2-font-label-line: 18px;
    --pro-v2-font-caption-size: 12px;
    --pro-v2-font-caption-line: 16px;
    --pro-v2-font-numeric-size: 24px;
    --pro-v2-font-numeric-line: 30px;
    --pro-v2-font-weight-regular: 400;
    --pro-v2-font-weight-medium: 600;
    --pro-v2-font-weight-semibold: 650;
    --pro-v2-font-weight-bold: 700;
    --pro-v2-font-weight-heavy: 750;
    --pro-v2-line-height-tight: 1;
    --pro-v2-line-height-snug: 1.25;
    --pro-v2-line-height-compact: 1.35;
    --pro-v2-line-height-copy: 1.4;
    --pro-v2-line-height-relaxed: 1.45;
    --pro-v2-line-height-loose: 1.5;

    --pro-v2-space-1: 4px;
    --pro-v2-space-2: 8px;
    --pro-v2-space-3: 12px;
    --pro-v2-space-4: 16px;
    --pro-v2-space-5: 20px;
    --pro-v2-space-6: 24px;
    --pro-v2-space-8: 32px;
    --pro-v2-space-10: 40px;
    --pro-v2-space-12: 48px;
    --pro-v2-space-16: 64px;
    --pro-v2-page-gutter: 16px;
    --pro-v2-tablet-gutter: 24px;

    --pro-v2-radius-xs: 8px;
    --pro-v2-radius-sm: 12px;
    --pro-v2-radius-md: 16px;
    --pro-v2-radius-lg: 20px;
    --pro-v2-radius-xl: 28px;
    --pro-v2-radius-pill: 999px;

    --pro-v2-elevation-flat: none;
    --pro-v2-elevation-low: 0 2px 8px rgba(17, 19, 21, .05);
    --pro-v2-elevation-card: 0 8px 24px rgba(17, 19, 21, .07);
    --pro-v2-elevation-floating: 0 12px 32px rgba(17, 19, 21, .12);
    --pro-v2-elevation-modal: 0 20px 48px rgba(17, 19, 21, .18);
    --pro-v2-elevation-plan-panel: 0 8px 32px rgb(0 0 0 / 18%);
    --pro-v2-elevation-control-floating: 0 2px 4px rgb(0 0 0 / 12%);

    --pro-v2-touch-min: 44px;
    --pro-v2-touch-preferred: 48px;
    --pro-v2-control-height: 48px;
    --pro-v2-layout-lighting-choice-columns: 2;
    --pro-v2-safe-top: env(safe-area-inset-top, 0px);
    --pro-v2-safe-right: env(safe-area-inset-right, 0px);
    --pro-v2-safe-bottom: env(safe-area-inset-bottom, 0px);
    --pro-v2-safe-left: env(safe-area-inset-left, 0px);
    --pro-v2-focus-ring: var(--focus-ring);
    --pro-v2-primary-navigation-space: calc(72px + var(--pro-v2-safe-bottom));
    --pro-v2-z-sticky: 20;
    --pro-v2-z-floating: 30;
    --pro-v2-z-toast: 40;

    /* Ceiling-plan colors describe drawing elements and object categories. */
    --pro-v2-plan-ink: #1d2b38;
    --pro-v2-plan-muted: #607487;
    --pro-v2-plan-border: #d4dde5;
    --pro-v2-plan-divider: #edf0f2;
    --pro-v2-plan-canvas: #fafafa;
    --pro-v2-plan-grid: #e9eaec;
    --pro-v2-plan-focus: var(--pro-v2-plan-group-blue);
    --pro-v2-plan-focus-strong: #07527b;
    --pro-v2-plan-control-selected: #384b60;
    --pro-v2-plan-text: #233b4d;
    --pro-v2-plan-status-error: #c62828;
    --pro-v2-plan-status-success: #288345;
    --pro-v2-plan-status-stale-text: #743b00;
    --pro-v2-plan-status-stale-surface: #fff0d2;
    --pro-v2-plan-status-conflict-text: #8b1d24;
    --pro-v2-plan-status-conflict-surface: #ffe3e5;
    --pro-v2-plan-wall: #234f75;
    --pro-v2-plan-wall-selected: #e78536;
    --pro-v2-plan-diagonal: #a9b2bb;
    --pro-v2-plan-sketch: #28638f;
    --pro-v2-plan-wall-label: #28465e;
    --pro-v2-plan-label-muted: #75818c;
    --pro-v2-plan-label-selected: #b85b1d;
    --pro-v2-plan-alignment: #c13b87;
    --pro-v2-plan-selection: #ef9c21;
    --pro-v2-plan-contour: #405568;
    --pro-v2-plan-contour-fill: #f6f8fa;
    --pro-v2-plan-template-cell: #f1f4f7;
    --pro-v2-plan-template-active-border: #1d5c8b;
    --pro-v2-plan-template-active-surface: #58a2d1;
    --pro-v2-plan-dimension: #243d50;
    --pro-v2-plan-dimension-source: #61778a;
    --pro-v2-plan-dimension-light-line: #d6a300;
    --pro-v2-plan-dimension-selected: #a65300;
    --pro-v2-plan-offset-guide: #71869a;
    --pro-v2-plan-track-spot: #0b593b;
    --pro-v2-plan-track-spot-edge: #06452d;
    --pro-v2-plan-object-selected: #e29421;
    --pro-v2-plan-track-selected-edge: #b26a13;
    --pro-v2-plan-panel-border: #ccd6df;
    --pro-v2-plan-panel-divider: #e3e9ee;
    --pro-v2-plan-delete-confirm-border: #a13b3f;
    --pro-v2-plan-delete-confirm-surface: #fff0f0;
    --pro-v2-plan-form-label: #526476;
    --pro-v2-plan-form-border: #b7c4d0;
    --pro-v2-plan-form-text: #182534;
    --pro-v2-plan-grid-border: #dce5ed;
    --pro-v2-plan-grid-surface: #f4f7fa;
    --pro-v2-plan-grid-selected-text: #123f68;
    --pro-v2-plan-grid-selected-surface: #e8f2fa;
    --pro-v2-plan-list-divider: #e0e6ec;
    --pro-v2-plan-tool-text: #102b3c;
    --pro-v2-plan-error-surface: #fff1f0;
    --pro-v2-plan-group-border: #cbd6df;
    --pro-v2-plan-tool-border: #c8d7e2;
    --pro-v2-plan-tool-selected-text: #173a55;
    --pro-v2-plan-tool-selected: #25618c;
    --pro-v2-plan-action-text: #172638;
    --pro-v2-plan-action-surface: #f1f5f8;
    --pro-v2-plan-action-hover-border: #b9c9d6;
    --pro-v2-plan-action-hover-surface: #e4edf4;
    --pro-v2-plan-action-selected-text: #174f7b;
    --pro-v2-plan-action-selected-surface: #e3f0fa;
    --pro-v2-plan-action-danger-hover: #f4d5d5;
    --pro-v2-plan-action-delete-text: #a52a2a;
    --pro-v2-plan-action-delete-border: #d8a0a0;
    --pro-v2-plan-control-border: #e0e7ed;
    --pro-v2-plan-vertex-action: #2d78ad;
    --pro-v2-plan-message: #53697c;
    --pro-v2-plan-green: #168457;
    --pro-v2-plan-violet: #7048a7;
    --pro-v2-plan-red: #b63f46;
    --pro-v2-plan-profile: var(--pro-v2-plan-green);
    --pro-v2-plan-profile-shadow: var(--pro-v2-plan-violet);
    --pro-v2-plan-profile-floating: #098da4;
    --pro-v2-plan-profile-contour: #ce6d11;
    --pro-v2-plan-profile-seamless: #222222;
    --pro-v2-plan-snap-guide: #1683d8;
    --pro-v2-plan-marker-spot: #245f99;
    --pro-v2-plan-marker-outer: #8f3038;
    --pro-v2-plan-marker-chandelier: var(--pro-v2-plan-red);
    --pro-v2-plan-marker-surface-light: var(--pro-v2-plan-violet);
    --pro-v2-plan-marker-ventilation: #07879a;
    --pro-v2-plan-marker-reinforcement: #68737d;
    --pro-v2-plan-marker-custom: #8a5a2b;
    --pro-v2-plan-marker-light-line: var(--pro-v2-plan-dimension-light-line);
    --pro-v2-plan-marker-track: var(--pro-v2-plan-green);
    --pro-v2-plan-marker-curtain: var(--pro-v2-plan-profile-seamless);
    --pro-v2-plan-highlight-fill: rgb(56 75 96 / 10%);
    --pro-v2-plan-group-blue: #2267a7;
    --pro-v2-plan-group-green: var(--pro-v2-plan-green);
    --pro-v2-plan-group-orange: #c3660b;
    --pro-v2-plan-group-violet: var(--pro-v2-plan-violet);
    --pro-v2-plan-group-red: var(--pro-v2-plan-red);

    /* Exact document-export colors, resolved by the history canvas renderer. */
    --pro-v2-history-export-heading: #183247;
    --pro-v2-history-export-body: #263b4c;
    --pro-v2-history-export-muted: #566c80;
    --pro-v2-history-export-page-number: #66798a;
    --pro-v2-history-export-rule: #dbe3ea;
    --pro-v2-history-export-highlight-fill: var(--pro-v2-plan-highlight-fill);
    --pro-v2-history-export-guide: rgba(152, 164, 175, 0.58);
    --pro-v2-history-export-plan-outline: #38536b;
    --pro-v2-history-export-warning-outline: rgba(180, 35, 24, 0.55);
    --pro-v2-history-export-warning: #b42318;
    --pro-v2-history-export-diagonal-muted: #788592;

    font-family: var(--pro-v2-font-family);
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-app-background);
}

/* Kelvin-dependent colors are part of the temperature demonstration output. */
.pro-ui-v2 .color-temperature-demo {
    --pro-v2-temperature-glow: #fff0d7;
    --pro-v2-temperature-edge: #f5dfbd;
    --pro-v2-temperature-text: #30271c;
    --pro-v2-temperature-control-border: rgb(40 45 50 / 22%);
    --pro-v2-temperature-control-outline: rgb(40 45 50 / 28%);
    --pro-v2-temperature-white-clear: rgb(255 255 255 / 0%);
    --pro-v2-temperature-white-soft: rgb(255 255 255 / 44%);
    --pro-v2-temperature-white-strong: rgb(255 255 255 / 82%);
    --pro-v2-temperature-shadow: 0 3px 14px rgb(45 37 25 / 13%);
}

.pro-ui-v2 .color-temperature-demo[data-temperature="1800"] {
    --pro-v2-temperature-glow: #ffc078;
    --pro-v2-temperature-edge: #ff9d4d;
    --pro-v2-temperature-text: #38200d;
}

.pro-ui-v2 .color-temperature-demo[data-temperature="2700"] {
    --pro-v2-temperature-glow: #ffe0b5;
    --pro-v2-temperature-edge: #ffc887;
    --pro-v2-temperature-text: #352515;
}

.pro-ui-v2 .color-temperature-demo[data-temperature="3000"] {
    --pro-v2-temperature-glow: #fff0d7;
    --pro-v2-temperature-edge: #f7d7aa;
    --pro-v2-temperature-text: #30271c;
}

.pro-ui-v2 .color-temperature-demo[data-temperature="4000"] {
    --pro-v2-temperature-glow: #fff8e9;
    --pro-v2-temperature-edge: #f2e6ce;
    --pro-v2-temperature-text: #292924;
}

.pro-ui-v2 .color-temperature-demo[data-temperature="6000"] {
    --pro-v2-temperature-glow: #f6f9ff;
    --pro-v2-temperature-edge: #dbe8ff;
    --pro-v2-temperature-text: #1d2b40;
}

.pro-ui-v2 .color-temperature-demo[data-temperature="6500"] {
    --pro-v2-temperature-glow: #f0f6ff;
    --pro-v2-temperature-edge: #cbdcff;
    --pro-v2-temperature-text: #1c2b43;
}

/* Compatibility tokens for existing PRO screens. Keep these values stable while
   screen styles continue to migrate to the pro-v2 token names. */
.pro-ui-v2 {
    --color-white: var(--pro-v2-color-surface-primary);
    --color-surface: var(--pro-v2-color-surface-primary);
    --color-canvas: #efefef;
    --color-background: var(--pro-v2-palette-hex-f7f9fb);
    --color-brand: #cc0000;
    --color-text: #223244;
    --color-muted: #5a6876;
    --color-border: #d8dde2;
    --color-interactive: #236da9;
    --color-interactive-soft: var(--pro-v2-color-info-soft);
    --color-positive: #29ce90;
    --color-positive-soft: #e1f8ef80;
    --color-warning: var(--pro-v2-color-warning);
    --color-warning-soft: #fff2d880;
    --color-error: #a40000;
    --color-error-soft: var(--pro-v2-color-error-soft);

    --space-1: var(--pro-v2-space-1);
    --space-2: var(--pro-v2-space-2);
    --space-3: var(--pro-v2-space-3);
    --space-4: var(--pro-v2-space-4);
    --space-5: var(--pro-v2-space-5);
    --space-6: var(--pro-v2-space-6);
    --space-8: var(--pro-v2-space-8);
    --radius-sm: 10px;
    --radius-md: var(--pro-v2-radius-md);
    --radius-lg: 22px;
    --shadow-card: 0 8px 28px rgba(34, 50, 68, 0.07);
    --font-sm: 1rem;
    --font-base: 1rem;
    --font-lg: 1.25rem;
    --font-xl: clamp(1.75rem, 8vw, 2.35rem);
    --weight-medium: var(--pro-v2-font-weight-medium);
    --weight-bold: var(--pro-v2-font-weight-heavy);
    --touch-size: var(--pro-v2-touch-preferred);
    --top-bar-height: 50px;
    --primary-navigation-height: 72px;
    --content-max-width: 900px;
    --safe-top: var(--pro-v2-safe-top);
    --safe-right: var(--pro-v2-safe-right);
    --safe-bottom: var(--pro-v2-safe-bottom);
    --safe-left: var(--pro-v2-safe-left);
    --z-top-bar: var(--pro-v2-z-sticky);
    --z-toast: var(--pro-v2-z-toast);
}

.pro-ui-v2__container {
    width: min(100%, 960px);
    margin-inline: auto;
    padding-inline: max(var(--pro-v2-page-gutter), var(--pro-v2-safe-left)) max(var(--pro-v2-page-gutter), var(--pro-v2-safe-right));
}

/* Only the main content scrolls. The document must not pan behind its fixed bars. */
html.pro-app-document,
html.pro-app-document > body.pro-ui-v2 {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
    overscroll-behavior: none;
}

.pro-ui-v2__app-shell {
    position: fixed;
    inset: 0 0 var(--pro-v2-primary-navigation-space);
    display: grid;
    width: 100%;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    overscroll-behavior: none;
}

.pro-ui-v2__main {
    position: relative;
    min-height: 0;
    padding-bottom: var(--pro-v2-space-8);
}

.pro-ui-v2__stack {
    display: grid;
    gap: var(--pro-v2-space-4);
}

.pro-ui-v2__stack--compact {
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2__cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2__surface {
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-primary);
    border: 1px solid var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-md);
    box-shadow: var(--pro-v2-elevation-flat);
}

.pro-ui-v2__surface--secondary {
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2__surface--elevated {
    border-color: transparent;
    box-shadow: var(--pro-v2-elevation-floating);
}

.pro-ui-v2__surface--card {
    box-shadow: var(--pro-v2-elevation-card);
}

.pro-ui-v2__surface--modal {
    border-color: transparent;
    border-radius: var(--pro-v2-radius-lg);
    box-shadow: var(--pro-v2-elevation-modal);
}

html.pro-ui-v2-dialog-open {
    overflow: hidden;
}

.pro-ui-v2__dialog-backdrop {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: grid;
    place-items: center;
    overflow-y: auto;
    padding: max(var(--pro-v2-space-4), var(--pro-v2-safe-top)) max(var(--pro-v2-space-4), var(--pro-v2-safe-right)) max(var(--pro-v2-space-4), var(--pro-v2-safe-bottom)) max(var(--pro-v2-space-4), var(--pro-v2-safe-left));
    background: var(--pro-v2-color-overlay);
}

.pro-ui-v2__dialog {
    width: min(100%, 480px);
    margin: auto;
    padding: var(--pro-v2-space-6);
}

.pro-ui-v2__dialog-title,
.pro-ui-v2__dialog-message,
.pro-ui-v2__dialog-context {
    margin: 0;
}

.pro-ui-v2__dialog-title {
    font-size: var(--pro-v2-font-h2-size);
    line-height: var(--pro-v2-font-h2-line);
    font-weight: 700;
}

.pro-ui-v2__dialog-message {
    margin-top: var(--pro-v2-space-3);
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-size);
    line-height: var(--pro-v2-font-body-line);
}

.pro-ui-v2__dialog-context {
    margin-top: var(--pro-v2-space-2);
    color: var(--pro-v2-color-text-muted);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
    overflow-wrap: anywhere;
}

.pro-ui-v2__dialog-actions {
    display: flex;
    justify-content: end;
    gap: var(--pro-v2-space-2);
    margin-top: var(--pro-v2-space-6);
}

.pro-ui-v2__dialog-actions .pro-ui-v2__button {
    min-width: 120px;
}

@media (max-width: 480px) {
    .pro-ui-v2__dialog {
        padding: var(--pro-v2-space-5);
    }

    .pro-ui-v2__dialog-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .pro-ui-v2__dialog-actions .pro-ui-v2__button {
        width: 100%;
    }
}

.pro-ui-v2__type {
    margin: 0;
    font-family: var(--pro-v2-font-family);
    color: var(--pro-v2-color-text-primary);
}

.pro-ui-v2__type--display {
    font-size: var(--pro-v2-font-display-size);
    line-height: var(--pro-v2-font-display-line);
    font-weight: 750;
}

.pro-ui-v2__type--h1 {
    font-size: var(--pro-v2-font-h1-size);
    line-height: var(--pro-v2-font-h1-line);
    font-weight: 750;
}

.pro-ui-v2__type--h2 {
    font-size: var(--pro-v2-font-h2-size);
    line-height: var(--pro-v2-font-h2-line);
    font-weight: 700;
}

.pro-ui-v2__type--h3 {
    font-size: var(--pro-v2-font-h3-size);
    line-height: var(--pro-v2-font-h3-line);
    font-weight: 700;
}

.pro-ui-v2__type--title {
    font-size: var(--pro-v2-font-title-size);
    line-height: var(--pro-v2-font-title-line);
    font-weight: 700;
}

.pro-ui-v2__type--body {
    font-size: var(--pro-v2-font-body-size);
    line-height: var(--pro-v2-font-body-line);
    font-weight: 400;
}

.pro-ui-v2__type--body-small {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
    font-weight: 400;
}

.pro-ui-v2__type--label {
    font-size: var(--pro-v2-font-label-size);
    line-height: var(--pro-v2-font-label-line);
    font-weight: 650;
}

.pro-ui-v2__type--caption {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    font-weight: 600;
}

.pro-ui-v2__type--numeric {
    font-size: var(--pro-v2-font-numeric-size);
    line-height: var(--pro-v2-font-numeric-line);
    font-weight: 750;
    font-variant-numeric: tabular-nums;
}

.pro-ui-v2__button,
.pro-ui-v2__icon-button {
    display: inline-flex;
    min-width: var(--pro-v2-touch-min);
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    justify-content: center;
    gap: var(--pro-v2-space-2);
    border: 1px solid transparent;
    border-radius: var(--pro-v2-radius-sm);
    font: inherit;
    font-weight: 650;
    line-height: 1.2;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, transform 120ms ease;
}

.pro-ui-v2__button {
    padding: var(--pro-v2-space-2) var(--pro-v2-space-4);
}

.pro-ui-v2__icon-button {
    width: var(--pro-v2-touch-preferred);
    padding: var(--pro-v2-space-2);
}

.pro-ui-v2__button--primary {
    color: var(--pro-v2-color-surface-primary);
    background: var(--pro-v2-color-accent);
}

.pro-ui-v2__button--secondary,
.pro-ui-v2__icon-button {
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-secondary);
    border-color: var(--pro-v2-color-border);
}

.pro-ui-v2__button--quiet {
    color: var(--pro-v2-color-text-primary);
    background: transparent;
}

.pro-ui-v2__button:hover,
.pro-ui-v2__icon-button:hover {
    border-color: var(--pro-v2-color-text-primary);
}

.pro-ui-v2__button:active,
.pro-ui-v2__icon-button:active,
.pro-ui-v2__button[data-state="pressed"],
.pro-ui-v2__icon-button[data-state="pressed"] {
    transform: translateY(1px);
}

.pro-ui-v2__focus[data-focus-visible="true"] {
    outline: var(--pro-v2-focus-ring);
    outline-offset: var(--focus-offset);
}

.pro-ui-v2__button[data-state="selected"],
.pro-ui-v2__icon-button[data-state="selected"] {
    color: var(--pro-v2-color-surface-primary);
    background: var(--pro-v2-color-accent);
    border-color: var(--pro-v2-color-accent);
}

.pro-ui-v2__button:disabled,
.pro-ui-v2__icon-button:disabled,
.pro-ui-v2__button[data-state="disabled"],
.pro-ui-v2__icon-button[data-state="disabled"] {
    color: var(--pro-v2-color-disabled-text);
    background: var(--pro-v2-color-disabled-surface);
    border-color: var(--pro-v2-color-border);
    cursor: not-allowed;
    opacity: 1;
}

.pro-ui-v2__button[data-state="loading"],
.pro-ui-v2__icon-button[data-state="loading"] {
    cursor: progress;
    pointer-events: none;
}

.pro-ui-v2__button[data-state="error"],
.pro-ui-v2__icon-button[data-state="error"] {
    color: var(--pro-v2-color-danger);
    border-color: var(--pro-v2-color-danger);
}

.pro-ui-v2__button[data-state="success"],
.pro-ui-v2__icon-button[data-state="success"] {
    color: var(--pro-v2-color-success);
    border-color: var(--pro-v2-color-success);
}

.pro-ui-v2__status {
    display: inline-flex;
    min-height: var(--pro-v2-touch-min);
    align-items: center;
    gap: var(--pro-v2-space-2);
    padding: var(--pro-v2-space-2) var(--pro-v2-space-3);
    border-radius: var(--pro-v2-radius-pill);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    font-weight: 600;
}

.pro-ui-v2__status--success {
    color: var(--pro-v2-color-success);
    background: color-mix(in srgb, var(--pro-v2-color-success) 12%, white);
}

.pro-ui-v2__status--warning {
    color: var(--pro-v2-color-warning);
    background: color-mix(in srgb, var(--pro-v2-color-warning) 12%, white);
}

.pro-ui-v2__status--error {
    color: var(--pro-v2-color-danger);
    background: color-mix(in srgb, var(--pro-v2-color-danger) 12%, white);
}

.pro-ui-v2__status--info {
    color: var(--pro-v2-color-info);
    background: color-mix(in srgb, var(--pro-v2-color-info) 12%, white);
}

.pro-ui-v2__sticky-actions {
    position: sticky;
    z-index: var(--pro-v2-z-sticky);
    bottom: 0;
    display: flex;
    gap: var(--pro-v2-space-2);
    padding: var(--pro-v2-space-3) max(var(--pro-v2-space-4), var(--pro-v2-safe-right)) calc(var(--pro-v2-space-3) + var(--pro-v2-safe-bottom)) max(var(--pro-v2-space-4), var(--pro-v2-safe-left));
    background: color-mix(in srgb, var(--pro-v2-color-surface-primary) 94%, transparent);
    box-shadow: var(--pro-v2-elevation-floating);
    backdrop-filter: blur(12px);
}

.pro-ui-v2__sticky-actions > * {
    flex: 1 1 0;
}

.pro-ui-v2__save-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2__save-bar > .pro-ui-v2__button {
    min-height: var(--pro-v2-touch-preferred);
}

.pro-ui-v2__save-bar > :where(.pro-ui-v2__button, .pro-ui-v2__status) {
    max-width: 100%;
}

.pro-ui-v2 :where(input, select, textarea, button, a):focus {
    scroll-margin-block: var(--pro-v2-space-4);
}

.pro-ui-v2 .pro-ui-v2__toast-region {
    position: fixed;
    z-index: var(--pro-v2-z-toast);
    right: max(var(--pro-v2-space-4), var(--pro-v2-safe-right));
    bottom: calc(var(--pro-v2-primary-navigation-space) - var(--pro-v2-space-1) + var(--pro-v2-space-3));
    left: max(var(--pro-v2-space-4), var(--pro-v2-safe-left));
    display: grid;
    justify-items: center;
    pointer-events: none;
}

.pro-ui-v2 .pro-ui-v2__toast {
    display: flex;
    width: min(100%, 460px);
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-2) var(--pro-v2-space-2) var(--pro-v2-space-2) var(--pro-v2-space-4);
    border: 1px solid var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-md);
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-primary);
    box-shadow: var(--pro-v2-elevation-floating);
    pointer-events: auto;
}

/* Compatibility for the cached/legacy PWA updater producer. */
.pro-ui-v2 [data-pwa-update] {
    display: flex;
    width: min(100%, 460px);
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-2) var(--pro-v2-space-2) var(--pro-v2-space-2) var(--pro-v2-space-4);
    border: 1px solid var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-md);
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-primary);
    box-shadow: var(--pro-v2-elevation-floating);
    pointer-events: auto;
}

.pro-ui-v2 [data-pwa-update] :where(.button, button) {
    display: inline-flex;
    min-height: var(--pro-v2-touch-min);
    align-items: center;
    justify-content: center;
    padding: var(--pro-v2-space-2) var(--pro-v2-space-3);
    border: 1px solid var(--pro-v2-color-text-primary);
    border-radius: var(--pro-v2-radius-sm);
    color: var(--pro-v2-color-surface-primary);
    background: var(--pro-v2-color-text-primary);
    font: inherit;
    font-weight: 650;
    cursor: pointer;
}

.pro-ui-v2 .pro-ui-v2__toast[data-tone="success"] {
    border-color: var(--pro-v2-color-success);
    background: color-mix(in srgb, var(--pro-v2-color-success) 12%, white);
}

.pro-ui-v2 .pro-ui-v2__toast[data-tone="warning"] {
    border-color: var(--pro-v2-color-warning);
    background: color-mix(in srgb, var(--pro-v2-color-warning) 12%, white);
}

.pro-ui-v2 .pro-ui-v2__toast[data-tone="error"] {
    border-color: var(--pro-v2-color-danger);
    background: color-mix(in srgb, var(--pro-v2-color-danger) 12%, white);
}

.pro-ui-v2 .pro-ui-v2__toast-close {
    display: inline-flex;
    min-width: var(--pro-v2-touch-min);
    min-height: var(--pro-v2-touch-min);
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: var(--pro-v2-radius-sm);
    color: var(--pro-v2-color-text-primary);
    background: transparent;
    cursor: pointer;
}

.pro-ui-v2 [hidden] {
    display: none !important;
}

@media (min-width: 600px) {
    .pro-ui-v2 {
        --pro-v2-page-gutter: var(--pro-v2-tablet-gutter);
    }

    .pro-ui-v2__container {
        width: min(100%, 1120px);
    }
}

@media (orientation: landscape) and (max-height: 600px) {
    .pro-ui-v2__sticky-actions {
        padding-top: var(--pro-v2-space-2);
        padding-bottom: max(var(--pro-v2-space-2), var(--pro-v2-safe-bottom));
    }
}

@media (forced-colors: active) {
    .pro-ui-v2__button,
    .pro-ui-v2__icon-button,
    .pro-ui-v2__surface {
        border: 1px solid ButtonText;
        box-shadow: none;
    }

    .pro-ui-v2__button:focus-visible,
    .pro-ui-v2__icon-button:focus-visible,
    .pro-ui-v2__focus:focus-visible {
        outline: 3px solid Highlight;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pro-ui-v2 *,
    .pro-ui-v2 *::before,
    .pro-ui-v2 *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media (max-width: 600px) {
    .pro-ui-v2__save-bar > .pro-ui-v2__button {
        flex: 1 1 180px;
    }
}

/* AppShell migration bridge. Legacy screen content remains outside these rules. */
.pro-ui-v2 > .pro-ui-v2__app-shell > .pro-ui-v2__top-bar {
    position: relative;
    z-index: var(--pro-v2-z-sticky);
    top: 0;
    display: block;
    width: 100%;
    min-height: calc(46px + var(--pro-v2-safe-top));
    margin-inline: auto;
    padding: var(--pro-v2-safe-top) max(var(--pro-v2-space-4), var(--pro-v2-safe-right)) 0 max(var(--pro-v2-space-4), var(--pro-v2-safe-left));
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--pro-v2-color-border) 78%, transparent);
    /* border-radius: 0 0 var(--pro-v2-radius-lg) var(--pro-v2-radius-lg); */
    color: var(--pro-v2-color-text-primary);
    background: #ffffff;
    box-shadow: var(--pro-v2-elevation-low);
    backdrop-filter: blur(14px);
}

.pro-ui-v2 .pro-ui-v2__top-bar-brand {
    position: absolute;
    top: calc(var(--pro-v2-safe-top) + 23px);
    left: 50%;
    display: inline-flex;
    min-width: var(--pro-v2-touch-preferred);
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
}

.pro-ui-v2 .pro-ui-v2__top-bar-brand {
    color: var(--pro-v2-color-text-primary);
    text-decoration: none;
}

.pro-ui-v2 .pro-ui-v2__top-bar-brand .brand-mark {
    display: block;
    width: 50px;
    height: 25px;
    object-fit: contain;
}

.pro-ui-v2 .pro-ui-v2__top-bar-actions {
    position: absolute;
    top: calc(var(--pro-v2-safe-top) + 23px);
    inset-inline-end: max(var(--pro-v2-space-4), var(--pro-v2-safe-right));
    display: flex;
    align-items: center;
    transform: translateY(-50%);
}

.pro-ui-v2 .pro-ui-v2__top-bar-action {
    display: inline-flex;
    min-width: var(--pro-v2-touch-preferred);
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    justify-content: center;
    padding: var(--pro-v2-space-2);
    border: 1px solid transparent;
    border-radius: var(--pro-v2-radius-sm);
    color: var(--pro-v2-color-text-primary);
    background: transparent;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, transform 120ms ease;
}

.pro-ui-v2 .top-bar-calculator .top-bar-back {
    position: absolute;
    top: calc(var(--pro-v2-safe-top) + 23px);
    inset-inline-start: max(var(--pro-v2-space-4), var(--pro-v2-safe-left));
    transform: translateY(-50%);
    color: var(--pro-v2-color-text-primary);
    text-decoration: none;
}

.pro-ui-v2 .top-bar-calculator .top-bar-back .icon {
    display: block;
    width: 25px;
    height: 25px;
}

.pro-ui-v2 .pro-ui-v2__top-bar-action:hover:not(:disabled) {
    border-color: var(--pro-v2-color-border);
    background: var(--pro-v2-color-accent-soft);
}

.pro-ui-v2 .pro-ui-v2__top-bar-action:active:not(:disabled) {
    transform: translateY(1px);
}

.pro-ui-v2 .pro-ui-v2__top-bar-action .icon-save,
.pro-ui-v2 .pro-ui-v2__top-bar-action .icon-trash,
.pro-ui-v2 .top-bar-back .icon-arrow-back {
    transform-origin: center;
    transition: transform 140ms ease-out;
}

.pro-ui-v2 .pro-ui-v2__top-bar-action:active:not(:disabled) .icon-save {
    transform: scale(.96);
}

.pro-ui-v2 .pro-ui-v2__top-bar-action:active:not(:disabled) .icon-trash {
    transform: rotate(-3deg) scale(.96);
}

.pro-ui-v2 .top-bar-back:active .icon-arrow-back {
    transform: translateX(-1px);
}

.pro-ui-v2 .top-bar-calculator .top-bar-back:active {
    transform: translateY(calc(-50% + 1px));
}

.pro-ui-v2 .pro-ui-v2__top-bar-action:disabled {
    color: var(--pro-v2-color-disabled-text);
    cursor: not-allowed;
}

.pro-ui-v2 .pro-ui-v2__top-bar-action:disabled .icon-trash {
    opacity: .42;
}

.pro-ui-v2 .pro-ui-v2__top-bar-action .icon,
.pro-ui-v2 .pro-ui-v2__top-bar-status .icon {
    width: 25px;
    height: 25px;
}

.pro-ui-v2 .pro-ui-v2__top-bar-status {
    position: absolute;
    top: calc(var(--pro-v2-safe-top) + 23px + 12.5px + 4px);
    left: 50%;
    display: block;
    width: 24px;
    height: 4px;
    min-height: 0;
    overflow: hidden;
    padding: 0;
    border-radius: var(--pro-v2-radius-pill);
    font-size: 0;
    line-height: 0;
    transform: translateX(-50%);
}

.pro-ui-v2 .pro-ui-v2__top-bar-status[data-tone="warning"] {
    color: var(--pro-v2-color-warning);
    background: transparent;
}

.pro-ui-v2 .pro-ui-v2__top-bar-status::before {
    display: block;
    width: 24px;
    height: 4px;
    margin: 0;
    border-radius: var(--pro-v2-radius-pill);
    background: var(--pro-v2-color-success);
    content: "";
}

.pro-ui-v2 .pro-ui-v2__top-bar-status[data-tone="warning"]::before {
    background: var(--pro-v2-color-warning);
}

.pro-ui-v2 > .pro-ui-v2__app-shell > .pro-ui-v2__main {
    width: min(100%, 1120px);
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    margin-inline: auto;
    padding: var(--pro-v2-space-2) max(var(--space-3), var(--pro-v2-safe-right)) var(--pro-v2-space-8) max(var(--space-3), var(--pro-v2-safe-left));
}

/* The panel reaches the viewport edge. Only its controls clear the actual system
   safe area, included once in the panel height and matching content boundary. */
body.pro-ui-v2 > nav.pro-primary-navigation {
    position: fixed;
    inset: auto 0 0;
    z-index: var(--pro-v2-z-sticky);
    display: flex;
    width: 100%;
    min-width: 0;
    height: var(--pro-v2-primary-navigation-space);
    min-height: var(--pro-v2-primary-navigation-space);
    max-height: var(--pro-v2-primary-navigation-space);
    box-sizing: border-box;
    align-items: stretch;
    justify-content: center;
    margin: 0;
    padding: 8px max(8px, var(--pro-v2-safe-right)) var(--pro-v2-safe-bottom) max(8px, var(--pro-v2-safe-left));
    border: 0;
    border-top: 1px solid var(--pro-v2-color-border);
    /* border-radius: var(--pro-v2-radius-lg) var(--pro-v2-radius-lg) 0 0; */
    color: var(--pro-v2-color-text-secondary);
    background: var(--pro-v2-color-surface-primary);
    box-shadow: 0 -8px 24px rgba(17, 19, 21, .06);
    overflow: hidden;
    transform: none;
    translate: none;
    animation: none;
    transition: none;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

body.pro-ui-v2[data-keyboard-open="true"] > nav.pro-primary-navigation,
body.pro-ui-v2.history-plan-viewer-open > nav.pro-primary-navigation {
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 767px) {
    body.pro-ui-v2:has(input:focus:not([readonly]), textarea:focus, select:focus, [contenteditable="true"]:focus) > nav.pro-primary-navigation {
        visibility: hidden;
        pointer-events: none;
    }
}

body.pro-ui-v2 > nav.pro-primary-navigation > .pro-primary-navigation__items {
    display: grid;
    width: min(100%, 720px);
    min-width: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0 auto;
    align-items: end;
}

body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link {
    display: flex;
    min-width: 0;
    min-height: 56px;
    box-sizing: border-box;
    align-items: center;
    justify-content: flex-end;
    flex-direction: column;
    gap: 2px;
    padding: 4px 2px;
    border: 0;
    border-radius: var(--pro-v2-radius-md);
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-caption-size);
    line-height: 1.1;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease;
    -webkit-tap-highlight-color: transparent;
}

body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link > span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link .icon {
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
}

body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link[aria-current="page"] {
    color: var(--pro-v2-color-surface-primary);
    background: #111315;
}

body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link[aria-current="page"] > .icon {
    filter: invert(1);
}

body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link:focus-visible {
    outline: 3px solid var(--pro-v2-focus-ring);
    outline-offset: -3px;
}

@media (hover: hover) {
    body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link:hover:not([aria-current="page"]) {
        color: var(--pro-v2-color-text-primary);
        background: var(--pro-v2-color-accent-soft);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link {
        transition: none;
    }
}

@media (max-width: 374px) {
    body.pro-ui-v2 > nav.pro-primary-navigation .pro-primary-navigation__link {
        font-size: 11px;
    }
}

@media (max-width: 374px) {
    .pro-ui-v2 > .pro-ui-v2__app-shell > .pro-ui-v2__top-bar {
        padding-inline: max(var(--pro-v2-space-3), var(--pro-v2-safe-right)) max(var(--pro-v2-space-3), var(--pro-v2-safe-left));
    }

    .pro-ui-v2 .pro-ui-v2__top-bar-actions {
        inset-inline-end: max(12px, var(--pro-v2-safe-right));
    }
}

/* Core Components contract. Consumers opt in per screen family. */
.pro-ui-v2__button--danger {
    color: var(--pro-v2-color-surface-primary);
    background: var(--pro-v2-color-danger);
}

.pro-ui-v2__button--danger:hover:not(:disabled) {
    border-color: var(--pro-v2-color-danger);
    background: color-mix(in srgb, var(--pro-v2-color-danger) 88%, black);
}

.pro-ui-v2__button--danger[data-state="error"] {
    color: var(--pro-v2-color-surface-primary);
    border-color: var(--pro-v2-color-danger);
}

.pro-ui-v2__page-header {
    display: grid;
    gap: var(--pro-v2-space-2);
    margin-bottom: var(--pro-v2-space-6);
}

.pro-ui-v2__page-header > .eyebrow,
.pro-ui-v2__section-header > .eyebrow {
    margin: 0;
    color: var(--pro-v2-color-brand);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.pro-ui-v2__page-header > h1,
.pro-ui-v2__section-header > h2 {
    margin: 0;
    color: var(--pro-v2-color-text-primary);
}

.pro-ui-v2__page-header > .page-intro {
    margin: 0;
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-size);
    line-height: var(--pro-v2-font-body-line);
}

.pro-ui-v2__section-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: var(--pro-v2-space-3);
    margin-bottom: var(--pro-v2-space-3);
}

.pro-ui-v2__surface,
.pro-ui-v2__card {
    min-width: 0;
}

.pro-ui-v2__card {
    padding: var(--pro-v2-space-4);
    border-radius: var(--pro-v2-radius-md);
}

.pro-ui-v2__card--interactive {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.pro-ui-v2__card--interactive:hover {
    border-color: var(--pro-v2-color-text-secondary);
    box-shadow: var(--pro-v2-elevation-card);
}

.pro-ui-v2__card--interactive:active {
    transform: translateY(1px);
}

.pro-ui-v2__list {
    overflow: hidden;
    padding: 0;
}

.pro-ui-v2__list-row {
    display: grid;
    min-height: var(--pro-v2-touch-preferred);
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-3) var(--pro-v2-space-4);
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-primary);
    text-decoration: none;
    transition: background-color 120ms ease, color 120ms ease;
}

.pro-ui-v2__list-row + .pro-ui-v2__list-row {
    border-top: 1px solid var(--pro-v2-color-border);
}

.pro-ui-v2__list-row:hover {
    background: var(--pro-v2-color-accent-soft);
}

.pro-ui-v2__list-row:active {
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2__list-row > span:first-child {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-1);
}

.pro-ui-v2__list-row strong {
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-title-size);
    line-height: var(--pro-v2-font-title-line);
}

.pro-ui-v2__list-row small {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2__list-row > .icon {
    width: 20px;
    height: 20px;
    color: var(--pro-v2-color-text-secondary);
}

.pro-ui-v2 .pro-ui-v2__setting-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-icon,
.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-chevron {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    border-radius: var(--pro-v2-radius-pill);
    color: var(--pro-v2-color-text-secondary);
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-icon > .icon {
    width: 20px;
    height: 20px;
}

.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-copy {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-1);
    text-align: left;
}

.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-copy strong,
.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-copy small {
    overflow-wrap: anywhere;
}

.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-chevron {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    background: transparent;
}

.pro-ui-v2 .pro-ui-v2__setting-row > .pro-ui-v2__setting-chevron > .icon {
    width: 20px;
    height: 20px;
}

.pro-ui-v2__list-row[data-state="disabled"],
.pro-ui-v2__list-row[aria-disabled="true"] {
    color: var(--pro-v2-color-disabled-text);
    background: var(--pro-v2-color-disabled-surface);
    cursor: not-allowed;
    pointer-events: none;
}

.pro-ui-v2__list-row[data-state="disabled"] strong,
.pro-ui-v2__list-row[data-state="disabled"] small,
.pro-ui-v2__list-row[aria-disabled="true"] strong,
.pro-ui-v2__list-row[aria-disabled="true"] small {
    color: var(--pro-v2-color-disabled-text);
}

.pro-ui-v2__divider {
    height: 1px;
    margin-block: var(--pro-v2-space-3);
    border: 0;
    background: var(--pro-v2-color-border);
}

.pro-ui-v2__badge,
.pro-ui-v2__chip {
    display: inline-flex;
    min-height: var(--pro-v2-touch-min);
    align-items: center;
    justify-content: center;
    gap: var(--pro-v2-space-1);
    border: 1px solid transparent;
    border-radius: var(--pro-v2-radius-pill);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    font-weight: 650;
}

.pro-ui-v2__badge {
    min-height: 28px;
    padding: var(--pro-v2-space-1) var(--pro-v2-space-2);
    color: var(--pro-v2-color-text-secondary);
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2__badge[data-tone="success"] {
    color: var(--pro-v2-color-success);
    background: #e8f3ed;
}

.pro-ui-v2__badge[data-tone="warning"] {
    color: var(--pro-v2-color-warning);
    background: #fff2d8;
}

.pro-ui-v2__badge[data-tone="error"] {
    color: var(--pro-v2-color-danger);
    background: #fbe9e7;
}

.pro-ui-v2__chip {
    min-height: var(--pro-v2-touch-preferred);
    padding: var(--pro-v2-space-2) var(--pro-v2-space-3);
    color: var(--pro-v2-color-text-secondary);
    background: var(--pro-v2-color-surface-secondary);
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

.pro-ui-v2__chip:hover,
.pro-ui-v2__chip[data-state="selected"],
.pro-ui-v2__chip[aria-pressed="true"] {
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-accent-soft);
    border-color: var(--pro-v2-color-text-primary);
}

.pro-ui-v2__field {
    display: grid;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2__field-label {
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-label-size);
    line-height: var(--pro-v2-font-label-line);
    font-weight: 650;
}

.pro-ui-v2__field-hint,
.pro-ui-v2__field-error {
    margin: 0;
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2__field-hint {
    color: var(--pro-v2-color-text-secondary);
}

.pro-ui-v2__field-error {
    color: var(--pro-v2-color-danger);
}

.pro-ui-v2__text-input,
.pro-ui-v2__textarea,
.pro-ui-v2__select {
    width: 100%;
    min-height: var(--pro-v2-control-height);
    padding: var(--pro-v2-space-2) var(--pro-v2-space-3);
    border: 1px solid var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-sm);
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-primary);
    font: inherit;
    font-size: var(--pro-v2-font-body-size);
}

.pro-ui-v2__textarea {
    min-height: 112px;
    resize: vertical;
}

.pro-ui-v2__text-input:hover,
.pro-ui-v2__textarea:hover,
.pro-ui-v2__select:hover {
    border-color: var(--pro-v2-color-text-secondary);
}

.pro-ui-v2__text-input:focus-visible,
.pro-ui-v2__textarea:focus-visible,
.pro-ui-v2__select:focus-visible {
    border-color: var(--pro-v2-color-info);
}

.pro-ui-v2__field[data-state="error"] .pro-ui-v2__text-input,
.pro-ui-v2__field[data-state="error"] .pro-ui-v2__textarea,
.pro-ui-v2__field[data-state="error"] .pro-ui-v2__select,
.pro-ui-v2__text-input[aria-invalid="true"],
.pro-ui-v2__textarea[aria-invalid="true"],
.pro-ui-v2__select[aria-invalid="true"] {
    border-color: var(--pro-v2-color-danger);
}

.pro-ui-v2__text-input:disabled,
.pro-ui-v2__textarea:disabled,
.pro-ui-v2__select:disabled {
    color: var(--pro-v2-color-disabled-text);
    background: var(--pro-v2-color-disabled-surface);
    cursor: not-allowed;
}

.pro-ui-v2__choice-group {
    display: grid;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2__choice {
    display: inline-flex;
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    gap: var(--pro-v2-space-2);
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-body-size);
}

.pro-ui-v2__choice input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: var(--pro-v2-color-accent);
}

.pro-ui-v2__inline-message {
    display: grid;
    gap: var(--pro-v2-space-1);
    padding: var(--pro-v2-space-3);
    border: 1px solid var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-sm);
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2__inline-message[data-tone="success"] {
    color: var(--pro-v2-color-success);
    background: #e8f3ed;
}

.pro-ui-v2__inline-message[data-tone="warning"] {
    color: var(--pro-v2-color-warning);
    background: #fff2d8;
}

.pro-ui-v2__inline-message[data-tone="error"] {
    color: var(--pro-v2-color-danger);
    background: #fbe9e7;
}

.pro-ui-v2__inline-message[data-tone="info"] {
    color: var(--pro-v2-color-info);
    background: #e8f0f8;
}

.pro-ui-v2__state {
    display: grid;
    gap: var(--pro-v2-space-2);
    place-items: start;
    padding: var(--pro-v2-space-6) var(--pro-v2-space-4);
    color: var(--pro-v2-color-text-secondary);
    text-align: left;
}

.pro-ui-v2__state > :where(h2, h3, p) {
    margin: 0;
}

.pro-ui-v2__state--empty,
.pro-ui-v2__state--loading {
    background: var(--pro-v2-color-surface-secondary);
    border-radius: var(--pro-v2-radius-md);
}

.pro-ui-v2__state--error {
    color: var(--pro-v2-color-danger);
    background: #fbe9e7;
    border: 1px solid color-mix(in srgb, var(--pro-v2-color-danger) 35%, white);
    border-radius: var(--pro-v2-radius-md);
}

.pro-ui-v2__skeleton {
    min-height: var(--pro-v2-space-4);
    border-radius: var(--pro-v2-radius-xs);
    background: linear-gradient(90deg, var(--pro-v2-color-surface-secondary), #f4f6f7, var(--pro-v2-color-surface-secondary));
    background-size: 200% 100%;
    animation: pro-ui-v2-skeleton 1.2s ease-in-out infinite;
}

@keyframes pro-ui-v2-skeleton {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .pro-ui-v2 .pro-ui-v2__skeleton {
        animation: none;
        background: var(--pro-v2-color-surface-secondary);
    }
}

/* HISTORY_LIST screen-family contract. */
.pro-ui-v2 .pro-ui-v2__history-list {
    width: min(100%, 760px);
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: grid;
    gap: var(--pro-v2-space-3);
}

.pro-ui-v2 .pro-ui-v2__search-form {
    display: grid;
    width: min(100%, 760px);
    grid-template-columns: minmax(0, 1fr);
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-4);
    border-color: transparent;
    border-radius: var(--pro-v2-radius-lg);
    background: var(--pro-v2-color-surface-primary);
    box-shadow: var(--pro-v2-elevation-card);
    margin: 0 auto var(--pro-v2-space-4);
}

.pro-ui-v2 .pro-ui-v2__search-form > label {
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-label-size);
    line-height: var(--pro-v2-font-label-line);
    font-weight: 650;
}

.pro-ui-v2 .pro-ui-v2__search-controls {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2 .pro-ui-v2__search-form .pro-ui-v2__text-input {
    min-width: 0;
    min-height: var(--pro-v2-control-height);
    border-radius: var(--pro-v2-radius-pill);
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2 .pro-ui-v2__search-form .pro-ui-v2__button {
    min-width: 88px;
    min-height: var(--pro-v2-control-height);
    border-radius: var(--pro-v2-radius-pill);
}

.pro-ui-v2 .pro-ui-v2__history-empty {
    width: min(100%, 760px);
    margin-inline: auto;
}

.pro-ui-v2 .pro-ui-v2__page-header[data-pro-screen="history-list"] {
    width: min(100%, 760px);
    margin-inline: auto;
}

.pro-ui-v2 [data-calculation-conflicts] {
    display: grid;
    width: min(100%, 760px);
    min-width: 0;
    margin: 0 auto var(--pro-v2-space-3);
    gap: var(--pro-v2-space-3);
}

.pro-ui-v2 .pro-ui-v2__history-conflict {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-4);
    border: 1px solid var(--pro-v2-color-warning);
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2 .pro-ui-v2__history-sync-status {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-2);
    padding: var(--pro-v2-space-4);
    border-inline-start: 4px solid var(--pro-v2-color-info);
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2 .pro-ui-v2__history-sync-status > :where(h2, p) {
    margin: 0;
    overflow-wrap: anywhere;
}

.pro-ui-v2 .pro-ui-v2__history-sync-status h2 {
    font-size: var(--pro-v2-font-title-size);
    line-height: var(--pro-v2-font-title-line);
}

.pro-ui-v2 .pro-ui-v2__history-conflict > :where(h2, p) {
    margin: 0;
}

.pro-ui-v2 .pro-ui-v2__history-conflict h2 {
    font-size: var(--pro-v2-font-h3-size);
    line-height: var(--pro-v2-font-h3-line);
}

.pro-ui-v2 .pro-ui-v2__history-conflict-versions,
.pro-ui-v2 .pro-ui-v2__history-conflict-actions {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2 .pro-ui-v2__history-conflict-versions > p {
    margin: 0;
    overflow-wrap: anywhere;
}

.pro-ui-v2 .pro-ui-v2__history-conflict-actions .pro-ui-v2__button {
    min-height: 48px;
    white-space: normal;
}

@media (min-width: 600px) {
    .pro-ui-v2 .pro-ui-v2__history-conflict-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* DASHBOARD screen-family contract. */
.pro-ui-v2 .pro-ui-v2__dashboard {
    display: grid;
    width: min(100%, 960px);
    min-width: 0;
    margin-inline: auto;
    gap: var(--pro-v2-space-6);
    /* padding-inline: max(var(--pro-v2-page-gutter), var(--pro-v2-safe-left)) max(var(--pro-v2-page-gutter), var(--pro-v2-safe-right)); */
    padding-bottom: var(--pro-v2-space-4);
}

.pro-ui-v2 .pro-ui-v2__dashboard .pro-ui-v2__page-header {
    margin-bottom: 0;
}

.pro-ui-v2 .pro-ui-v2__dashboard-actions,
.pro-ui-v2 .pro-ui-v2__dashboard-section {
    min-width: 0;
}

.pro-ui-v2 .pro-ui-v2__dashboard-action-grid {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-3);
}

.pro-ui-v2 .pro-ui-v2__dashboard-action {
    display: grid;
    min-height: 80px;
    grid-template-columns: 48px minmax(0, 1fr) 20px;
    align-items: center;
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-3);
}

.pro-ui-v2 .pro-ui-v2__dashboard-action-icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-secondary);
    border-radius: var(--pro-v2-radius-pill);
}

.pro-ui-v2 .pro-ui-v2__dashboard-action-icon .icon {
    width: 22px;
    height: 22px;
}

.pro-ui-v2 .pro-ui-v2__dashboard-action .launcher-copy {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-1);
}

.pro-ui-v2 .pro-ui-v2__dashboard-action .launcher-copy strong {
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-title-size);
    line-height: var(--pro-v2-font-title-line);
}

.pro-ui-v2 .pro-ui-v2__dashboard-action .launcher-copy span {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__dashboard-action > .icon {
    width: 20px;
    height: 20px;
    color: var(--pro-v2-color-text-secondary);
}

.pro-ui-v2 .pro-ui-v2__dashboard-section {
    padding: var(--pro-v2-space-4);
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list {
    display: grid;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row {
    display: grid;
    min-width: 0;
    min-height: var(--pro-v2-touch-preferred);
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-3);
    border: 1px solid var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-sm);
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-primary);
    box-shadow: var(--pro-v2-elevation-flat);
    text-decoration: none;
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row-copy,
.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row-value {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-1);
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row-copy strong,
.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row-value strong {
    overflow-wrap: anywhere;
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row-copy small {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row-value {
    grid-auto-flow: column;
    align-items: center;
    color: var(--pro-v2-color-text-secondary);
    text-align: right;
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row-value strong {
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__dashboard-recent-list .calculation-row:hover {
    border-color: var(--pro-v2-color-text-secondary);
    box-shadow: var(--pro-v2-elevation-low);
}

.pro-ui-v2 .pro-ui-v2__dashboard-empty {
    padding: var(--pro-v2-space-2) 0;
}

.pro-ui-v2 .pro-ui-v2__dashboard-empty p {
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__dashboard-history-link {
    margin-top: var(--pro-v2-space-3);
    color: var(--pro-v2-color-text-primary);
    font-weight: 650;
}

@media (min-width: 700px) {
    .pro-ui-v2 .pro-ui-v2__dashboard-action-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pro-ui-v2 .pro-ui-v2__dashboard-action {
        align-content: center;
    }
}

@media (max-width: 390px) {
    .pro-ui-v2 .pro-ui-v2__dashboard {
        padding-inline: max(12px, var(--pro-v2-safe-left)) max(12px, var(--pro-v2-safe-right));
    }

    .pro-ui-v2 .pro-ui-v2__dashboard-section {
        padding: var(--pro-v2-space-3);
    }
}

.pro-ui-v2 .pro-ui-v2__history-list-item {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--pro-v2-radius-lg);
    isolation: isolate;
}

.pro-ui-v2 .pro-ui-v2__history-delete {
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 0;
    display: grid;
    width: 96px;
    min-height: 44px;
    place-content: center;
    justify-items: center;
    gap: 4px;
    padding: var(--pro-v2-space-2);
    border: 0;
    border-radius: var(--pro-v2-radius-lg) 0 0 var(--pro-v2-radius-lg);
    color: var(--pro-v2-color-surface-primary);
    background: var(--pro-v2-color-danger);
    font: inherit;
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    cursor: pointer;
}

.pro-ui-v2 .pro-ui-v2__history-list-item.is-swipe-from-right .pro-ui-v2__history-delete {
    inset-inline: auto 0;
    border-radius: 0 var(--pro-v2-radius-lg) var(--pro-v2-radius-lg) 0;
}

.pro-ui-v2 .pro-ui-v2__history-delete .icon {
    width: 20px;
    height: 20px;
    filter: invert(1);
}

.pro-ui-v2 .pro-ui-v2__history-delete:focus-visible + .pro-ui-v2__history-item {
    transform: translateX(96px);
}

.pro-ui-v2 .pro-ui-v2__history-swipe-status {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.pro-ui-v2 .pro-ui-v2__history-item {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: var(--pro-v2-touch-preferred);
    grid-template-columns: minmax(0, 1fr) minmax(112px, auto);
    align-items: center;
    gap: var(--pro-v2-space-4);
    padding: var(--pro-v2-space-4);
    touch-action: pan-y;
    transition: transform 180ms ease-out;
}

.pro-ui-v2 .pro-ui-v2__history-item.is-swipe-dragging {
    transition: none;
    user-select: none;
}

.pro-ui-v2 .pro-ui-v2__history-item:hover {
    border-color: var(--pro-v2-color-text-secondary);
    background: var(--pro-v2-color-surface-primary);
    box-shadow: var(--pro-v2-elevation-card);
}

.pro-ui-v2 .pro-ui-v2__history-item:active {
    transform: translateY(1px);
}

.pro-ui-v2 .pro-ui-v2__history-item-copy,
.pro-ui-v2 .pro-ui-v2__history-item-value {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-1);
}

.pro-ui-v2 .pro-ui-v2__history-meta {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--pro-v2-space-1);
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
}

.pro-ui-v2 .pro-ui-v2__history-date {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__history-status {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
}

.pro-ui-v2 .pro-ui-v2__history-item-copy > strong {
    overflow-wrap: anywhere;
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-title-size);
    line-height: var(--pro-v2-font-title-line);
}

.pro-ui-v2 .pro-ui-v2__history-item-value {
    grid-auto-flow: column;
    align-items: center;
    justify-content: end;
    gap: var(--pro-v2-space-2);
    min-width: 0;
    color: var(--pro-v2-color-text-secondary);
    text-align: right;
}

.pro-ui-v2 .pro-ui-v2__history-total {
    max-width: 160px;
    overflow-wrap: anywhere;
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-title-size);
    line-height: var(--pro-v2-font-title-line);
}

.pro-ui-v2 .pro-ui-v2__history-total--missing {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__history-total--variants {
    max-width: 180px;
    overflow-wrap: normal;
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__history-item-value > .icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: var(--pro-v2-color-text-secondary);
}

@media (max-width: 390px) {
    .pro-ui-v2 .pro-ui-v2__history-item {
        grid-template-columns: minmax(0, 1fr) minmax(96px, 35%);
        gap: var(--pro-v2-space-3);
        padding: var(--pro-v2-space-3);
    }

    .pro-ui-v2 .pro-ui-v2__history-item:has(> .pro-ui-v2__history-item-value > .pro-ui-v2__history-total--missing) {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--pro-v2-space-2);
    }

    .pro-ui-v2 .pro-ui-v2__history-total {
        max-width: 112px;
        font-size: var(--pro-v2-font-body-small-size);
        line-height: var(--pro-v2-font-body-small-line);
    }

    .pro-ui-v2 .pro-ui-v2__history-total--missing {
        max-width: none;
        overflow-wrap: normal;
    }
}

@media (min-width: 840px) {
    .pro-ui-v2 .pro-ui-v2__history-item {
        padding: var(--pro-v2-space-4) var(--pro-v2-space-5);
    }
}

/* HISTORY_DETAIL screen-family contract. */
.pro-ui-v2 .pro-ui-v2__history-detail {
    display: grid;
    width: min(100%, 760px);
    min-width: 0;
    margin-inline: auto;
    gap: var(--pro-v2-space-4);
    /* padding-inline: max(var(--pro-v2-page-gutter), var(--pro-v2-safe-left)) max(var(--pro-v2-page-gutter), var(--pro-v2-safe-right)); */
    padding-bottom: calc(var(--pro-v2-space-12) + var(--pro-v2-safe-bottom));
}

.pro-ui-v2 .pro-ui-v2__history-detail-header,
.pro-ui-v2 .pro-ui-v2__history-detail-summary,
.pro-ui-v2 .pro-ui-v2__history-detail-section,
.pro-ui-v2 .pro-ui-v2__history-detail-actions {
    min-width: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-header {
    margin-bottom: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-header h1 {
    overflow-wrap: anywhere;
    margin-bottom: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary,
.pro-ui-v2 .pro-ui-v2__history-detail-section {
    padding: var(--pro-v2-space-5);
}

.pro-ui-v2 .pro-ui-v2__history-detail-composition > .pro-ui-v2__history-detail-ceiling-card + .pro-ui-v2__history-detail-ceiling-card {
    margin-top: var(--pro-v2-space-4);
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling-card {
    min-width: 0;
    border: 1px solid var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-sm);
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling-preview {
    min-width: 0;
    padding: var(--pro-v2-space-3);
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling[open] + .pro-ui-v2__history-detail-ceiling-preview {
    display: none;
}

.pro-ui-v2 .section-card.pro-ui-v2__history-detail-installation {
    background: var(--pro-v2-color-surface-secondary);
    box-shadow: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-installation > .section-heading h2 {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-size);
    line-height: var(--pro-v2-font-body-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-installation .pro-ui-v2__history-detail-total {
    font-size: var(--pro-v2-font-h3-size);
    line-height: var(--pro-v2-font-h3-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-selected-row {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--pro-v2-space-4);
    flex-direction: column;
}

.pro-ui-v2 .pro-ui-v2__history-detail-selected-row strong:first-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.pro-ui-v2 .pro-ui-v2__history-detail-selected-row strong:last-child {
    flex: 0 0 auto;
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-numeric-size);
    line-height: var(--pro-v2-font-numeric-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-selected-row--missing strong:last-child {
    flex: 0 1 auto;
    max-width: 100%;
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .pro-ui-v2 .pro-ui-v2__history-detail-selected-row--missing {
        display: grid;
        justify-items: start;
        gap: var(--pro-v2-space-2);
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-selected-row--missing > strong {
        min-width: 0;
        max-width: 100%;
    }
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-metrics h2,
.pro-ui-v2 .pro-ui-v2__history-detail-summary-metrics h3 {
    margin: 0 0 var(--pro-v2-space-3);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
    font-weight: 700;
}

.pro-ui-v2 .pro-ui-v2__history-detail-selected .pro-ui-v2__history-detail-summary-metrics {
    margin-top: var(--pro-v2-space-4);
    padding-top: var(--pro-v2-space-4);
    border-top: 1px solid var(--pro-v2-color-border);
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-metrics dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pro-v2-space-3);
    margin: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-metrics dl > div {
    min-width: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-metrics dt {
    color: var(--pro-v2-color-text-muted);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-metrics dd {
    margin: var(--pro-v2-space-1) 0 0;
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-body-size);
    line-height: var(--pro-v2-font-body-line);
    font-weight: 700;
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-top {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--pro-v2-space-4);
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-top h2 {
    margin: 0;
    font-size: var(--pro-v2-font-h3-size);
    line-height: var(--pro-v2-font-h3-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-total {
    margin: 0;
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-numeric-size);
    line-height: var(--pro-v2-font-numeric-line);
    font-weight: 700;
}

.pro-ui-v2 .pro-ui-v2__history-detail-total--missing,
.pro-ui-v2 .calculation-total--missing {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-h3-size);
    line-height: var(--pro-v2-font-h3-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-total-state {
    display: grid;
    gap: var(--pro-v2-space-2);
}

.pro-ui-v2 .pro-ui-v2__history-detail-saved-breakdown {
    display: grid;
    gap: var(--pro-v2-space-2);
    margin-top: var(--pro-v2-space-5);
    padding-top: var(--pro-v2-space-4);
    border-top: 1px solid var(--pro-v2-color-border);
}

.pro-ui-v2 .pro-ui-v2__history-detail-price-options .detail-value-row {
    padding: var(--pro-v2-space-2) 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-position-list {
    display: grid;
    gap: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-position-row {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--pro-v2-space-4);
    padding: var(--pro-v2-space-3) 0;
    border-bottom: 1px solid var(--pro-v2-color-border);
}

.pro-ui-v2 .pro-ui-v2__history-detail-position-row:last-child {
    border-bottom: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-position-row > span {
    display: grid;
    min-width: 0;
    gap: var(--pro-v2-space-1);
}

.pro-ui-v2 .pro-ui-v2__history-detail-position-row strong {
    overflow-wrap: anywhere;
}

.pro-ui-v2 .pro-ui-v2__history-detail-position-row small {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling {
    min-width: 0;
    border: 0;
    background: transparent;
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling summary {
    display: flex;
    flex-wrap: wrap;
    min-width: 0;
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    gap: var(--pro-v2-space-3);
    padding: var(--pro-v2-space-3);
    cursor: pointer;
    list-style: none;
    font-weight: 700;
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling summary::-webkit-details-marker {
    display: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling summary > span:first-child {
    flex: 1 1 9rem;
    min-width: min(100%, 9rem);
    overflow-wrap: anywhere;
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling-meta {
    flex: 0 0 auto;
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-caption-line);
    line-height: var(--pro-v2-font-caption-line);
    font-weight: 400;
}

.pro-ui-v2 .pro-ui-v2__history-detail-work-group,
.pro-ui-v2 .pro-ui-v2__history-detail-variants {
    min-width: 0;
    border-top: 1px solid var(--pro-v2-color-border);
}

.pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary,
.pro-ui-v2 .pro-ui-v2__history-detail-variants > details > summary {
    display: flex;
    flex-wrap: wrap;
    min-width: 0;
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    justify-content: space-between;
    gap: var(--pro-v2-space-3);
    cursor: pointer;
    list-style: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary::-webkit-details-marker,
.pro-ui-v2 .pro-ui-v2__history-detail-variants > details > summary::-webkit-details-marker {
    display: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary > span:first-child,
.pro-ui-v2 .pro-ui-v2__history-detail-variants > details > summary {
    flex: 1 1 auto;
    overflow-wrap: anywhere;
    font-weight: 650;
}

.pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary strong {
    flex: 0 0 auto;
}

.pro-ui-v2 .pro-ui-v2__history-detail-work-group > .detail-value-list,
.pro-ui-v2 .pro-ui-v2__history-detail-variants .detail-value-list {
    padding-bottom: var(--pro-v2-space-3);
}

.pro-ui-v2 .pro-ui-v2__history-detail-variants > details > summary {
    color: var(--pro-v2-color-text-secondary);
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling-price {
    flex: 0 0 auto;
    color: var(--pro-v2-color-text-primary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-disclosure {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: var(--pro-v2-space-2);
    margin-inline-start: auto;
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    font-weight: 500;
    white-space: nowrap;
}

.pro-ui-v2 .pro-ui-v2__history-detail-disclosure-open {
    display: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-disclosure-chevron {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    transition: transform 160ms ease;
}

.pro-ui-v2 .pro-ui-v2__history-detail-disclosure-chevron .icon {
    width: 16px;
    height: 16px;
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling[open] > summary .pro-ui-v2__history-detail-disclosure-closed,
.pro-ui-v2 .pro-ui-v2__history-detail-work-group[open] > summary .pro-ui-v2__history-detail-disclosure-closed,
.pro-ui-v2 .pro-ui-v2__history-detail-variants > details[open] > summary .pro-ui-v2__history-detail-disclosure-closed,
.pro-ui-v2 .pro-ui-v2__history-detail-parameters > details[open] > summary .pro-ui-v2__history-detail-disclosure-closed {
    display: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling[open] > summary .pro-ui-v2__history-detail-disclosure-open,
.pro-ui-v2 .pro-ui-v2__history-detail-work-group[open] > summary .pro-ui-v2__history-detail-disclosure-open,
.pro-ui-v2 .pro-ui-v2__history-detail-variants > details[open] > summary .pro-ui-v2__history-detail-disclosure-open,
.pro-ui-v2 .pro-ui-v2__history-detail-parameters > details[open] > summary .pro-ui-v2__history-detail-disclosure-open {
    display: inline;
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling[open] > summary .pro-ui-v2__history-detail-disclosure-chevron,
.pro-ui-v2 .pro-ui-v2__history-detail-work-group[open] > summary .pro-ui-v2__history-detail-disclosure-chevron,
.pro-ui-v2 .pro-ui-v2__history-detail-variants > details[open] > summary .pro-ui-v2__history-detail-disclosure-chevron,
.pro-ui-v2 .pro-ui-v2__history-detail-parameters > details[open] > summary .pro-ui-v2__history-detail-disclosure-chevron {
    transform: rotate(90deg);
}

@media (prefers-reduced-motion: reduce) {
    .pro-ui-v2 .pro-ui-v2__history-detail-disclosure-chevron {
        transition: none;
    }
}

.pro-ui-v2 .pro-ui-v2__history-detail-ceiling > .pro-ui-v2__history-detail-position-list {
    padding: 0 var(--pro-v2-space-3) var(--pro-v2-space-3);
}

.pro-ui-v2 .pro-ui-v2__history-detail-custom {
    display: grid;
    gap: var(--pro-v2-space-2);
    margin-top: var(--pro-v2-space-5);
    padding-top: var(--pro-v2-space-4);
    border-top: 1px solid var(--pro-v2-color-border);
}

.pro-ui-v2 .pro-ui-v2__history-detail-custom h3 {
    margin: 0;
    font-size: var(--pro-v2-font-title-size);
    line-height: var(--pro-v2-font-title-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-actions {
    display: grid;
    gap: var(--pro-v2-space-3);
    padding-bottom: var(--pro-v2-space-4);
}

.pro-ui-v2 .pro-ui-v2__history-detail-actions .button {
    min-height: var(--pro-v2-touch-preferred);
    width: 100%;
}

.pro-ui-v2 .pro-ui-v2__history-detail-actions .pro-ui-v2__button {
    min-height: var(--pro-v2-touch-preferred);
    width: 100%;
}

.pro-ui-v2 .pro-ui-v2__history-detail-actions [data-calculation-detail-status]:empty {
    display: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-actions [data-calculation-detail-action="delete"] {
    margin-top: var(--pro-v2-space-2);
}

.pro-ui-v2 .pro-ui-v2__app-version {
    margin: var(--pro-v2-space-3) 0 0;
    color: var(--pro-v2-color-text-muted);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    text-align: center;
}

@media (min-width: 840px) {
    .pro-ui-v2 .pro-ui-v2__history-detail-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-actions [data-calculation-detail-action="delete"] {
        margin-top: 0;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-actions [data-calculation-detail-status] {
        grid-column: 1 / -1;
    }
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-actions {
    grid-template-columns: minmax(0, 1fr);
    margin-top: var(--pro-v2-space-4);
    padding-bottom: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-actions > a {
    color: var(--pro-v2-color-text-primary);
    text-decoration: none;
}

.pro-ui-v2 .pro-ui-v2__history-detail-updated {
    padding-block: var(--pro-v2-space-1);
}

.pro-ui-v2 .pro-ui-v2__history-detail-updated > .pro-ui-v2__history-detail-updated-copy {
    display: grid;
    flex: 1 1 auto;
    min-width: 0;
    gap: 0;
    text-align: center;
}

.pro-ui-v2 .pro-ui-v2__history-detail-updated-arrow {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    color: var(--pro-v2-color-text-secondary);
}

.pro-ui-v2 .pro-ui-v2__history-detail-updated-arrow .icon {
    width: 18px;
    height: 18px;
}

.pro-ui-v2 .pro-ui-v2__history-detail-updated small {
    color: var(--pro-v2-color-text-muted);
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
    font-weight: 400;
}

.pro-ui-v2 .pro-ui-v2__history-detail-updated strong {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: var(--pro-v2-font-caption-size);
    line-height: var(--pro-v2-font-caption-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-summary-actions [data-calculation-detail-action="delete"] {
    margin-top: 0;
}

.pro-ui-v2 .pro-ui-v2__history-detail-delete {
    color: var(--pro-v2-color-danger);
    background: transparent;
    border-color: color-mix(in srgb, var(--pro-v2-color-danger) 48%, var(--pro-v2-color-border));
}

.pro-ui-v2 .pro-ui-v2__history-detail-delete:hover:not(:disabled) {
    color: #fff;
    background: var(--pro-v2-color-danger);
    border-color: var(--pro-v2-color-danger);
}

@media (min-width: 700px) {
    .pro-ui-v2 .pro-ui-v2__history-detail-summary-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }
}

.pro-ui-v2 .pro-ui-v2__history-detail-total--variants {
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-h3-size);
    line-height: var(--pro-v2-font-h3-line);
}

.pro-ui-v2 .pro-ui-v2__history-detail-parameters > details > summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--pro-v2-space-3);
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    cursor: pointer;
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    font-weight: 650;
}

.pro-ui-v2 .pro-ui-v2__history-detail-parameters > details > summary:focus-visible,
.pro-ui-v2 .pro-ui-v2__history-detail-ceiling > summary:focus-visible,
.pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary:focus-visible,
.pro-ui-v2 .pro-ui-v2__history-detail-variants > details > summary:focus-visible {
    border-radius: var(--pro-v2-radius-xs);
}

.pro-ui-v2 .pro-ui-v2__history-detail-parameters > details > .detail-value-list {
    padding-top: var(--pro-v2-space-2);
}

@media (max-width: 430px) {
    .pro-ui-v2 .pro-ui-v2__history-detail-installation > .section-heading {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--pro-v2-space-2);
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-installation .pro-ui-v2__history-detail-total {
        white-space: nowrap;
    }
}

@media (max-width: 390px) {
    .pro-ui-v2 .pro-ui-v2__history-detail-summary,
    .pro-ui-v2 .pro-ui-v2__history-detail-section {
        padding: var(--pro-v2-space-4);
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-summary-top {
        display: grid;
    }
}

/* WORK UI calculator family: visual layer only; legacy data hooks remain authoritative. */
.pro-ui-v2 .pro-ui-v2__work-screen {
    display: grid;
    width: min(100%, 960px);
    min-width: 0;
    margin-inline: auto;
    gap: var(--pro-v2-space-4);
    padding-bottom: var(--pro-v2-space-8);
}

.pro-ui-v2 .pro-ui-v2__calculator-switcher {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--pro-v2-space-2);
    width: 100%;
    padding: var(--pro-v2-space-1);
    border: 1px solid var(--pro-v2-color-border);
    border-radius: 28px;
    background: var(--pro-v2-color-surface-secondary);
}

.pro-ui-v2 .pro-ui-v2__calculator-switcher > a {
    display: flex;
    min-width: 0;
    min-height: var(--pro-v2-touch-preferred);
    align-items: center;
    justify-content: center;
    gap: var(--pro-v2-space-1);
    padding: var(--pro-v2-space-2) var(--pro-v2-space-3);
    border-radius: var(--pro-v2-radius-pill);
    color: var(--pro-v2-color-text-secondary);
    font-size: var(--pro-v2-font-body-small-size);
    line-height: var(--pro-v2-font-body-small-line);
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.pro-ui-v2 .pro-ui-v2__calculator-switcher .icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.pro-ui-v2 .pro-ui-v2__calculator-switcher > a:hover,
.pro-ui-v2 .pro-ui-v2__calculator-switcher > a[aria-current="page"] {
    color: var(--pro-v2-color-text-primary);
    background: var(--pro-v2-color-surface-primary);
    box-shadow: var(--pro-v2-elevation-low);
}

.pro-ui-v2 .pro-ui-v2__work-header {
    margin: 0;
}

.pro-ui-v2 .pro-ui-v2__work-screen > .pro-ui-v2__status {
    width: 100%;
    margin: 0;
    border: 1px solid var(--pro-v2-color-border);
    background: var(--pro-v2-color-surface-primary);
}

.pro-ui-v2 .pro-ui-v2__work-screen > .pro-ui-v2__status[data-tone="positive"] {
    color: var(--pro-v2-color-success);
    background: color-mix(in srgb, var(--pro-v2-color-success) 10%, white);
}

.pro-ui-v2 .pro-ui-v2__work-screen > .pro-ui-v2__status[data-tone="warning"] {
    color: var(--pro-v2-color-warning);
    background: color-mix(in srgb, var(--pro-v2-color-warning) 10%, white);
}

.pro-ui-v2 .pro-ui-v2__work-screen > .pro-ui-v2__status[data-tone="error"] {
    color: var(--pro-v2-color-danger);
    background: color-mix(in srgb, var(--pro-v2-color-danger) 10%, white);
}

.pro-ui-v2 .pro-ui-v2__work-section {
    padding: var(--pro-v2-space-3) 0;
}

.pro-ui-v2 .pro-ui-v2__work-section .pro-ui-v2__section-header {
    margin-bottom: var(--pro-v2-space-2);
}

.pro-ui-v2 .pro-ui-v2__work-section .pro-ui-v2__section-header h2 {
    font-size: var(--pro-v2-font-h3-size);
    line-height: var(--pro-v2-font-h3-line);
}

.pro-ui-v2 .pro-ui-v2__work-screen :where(input, select, textarea) {
    border-color: var(--pro-v2-color-border);
    border-radius: var(--pro-v2-radius-sm);
}

.pro-ui-v2 .pro-ui-v2__work-screen :where(input, select, textarea):focus-visible {
    border-color: var(--pro-v2-color-info);
}

.pro-ui-v2 .pro-ui-v2__work-screen :where(.calculator-number-button, .calculator-custom-unit) {
    min-width: var(--pro-v2-touch-min);
    min-height: var(--pro-v2-touch-min);
}

.pro-ui-v2 .pro-ui-v2__work-screen .pro-ui-v2__work-total {
    padding: var(--pro-v2-space-5);
    border-color: transparent;
    background: var(--pro-v2-color-accent);
    color: var(--pro-v2-color-surface-primary);
}

.pro-ui-v2 .pro-ui-v2__work-screen .pro-ui-v2__work-total :where(p, strong) {
    color: inherit;
}

.pro-ui-v2 .pro-ui-v2__work-screen .pro-ui-v2__work-actions {
    margin-inline: 0;
}

@media (max-width: 599px) {
    .pro-ui-v2 .pro-ui-v2__work-screen .pro-ui-v2__work-actions {
        flex-wrap: wrap;
    }

    .pro-ui-v2 .pro-ui-v2__work-screen .pro-ui-v2__work-actions > :first-child {
        flex-basis: 100%;
    }
}

@media (min-width: 600px) {
    .pro-ui-v2 .pro-ui-v2__work-screen .pro-ui-v2__work-actions {
        margin-inline: 0;
    }
}
/* B21 V2-owned ceiling calculator styles. Legacy hooks are preserved. */
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] {
    display: grid;
    gap: var(--space-5);
    min-width: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-status {
    position: sticky;
    top: 0px;
    z-index: var(--pro-v2-z-sticky);
    justify-self: center;
    width: fit-content;
    max-width: 100%;
    min-height: 36px;
    box-sizing: border-box;
    padding: 8px 12px;
    border-radius: var(--radius-sm);
    color: var(--color-muted);
    background: #eef3f780;
    font-size: 14px;
    line-height: 18px;
    font-weight: var(--weight-bold);
    text-align: center;
    backdrop-filter: blur(2px);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-status[data-dismissed="true"],
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-status[data-dismissed="true"] {
    visibility: hidden;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-status[data-tone="positive"] {
    color: #146244;
    background: var(--color-positive-soft);
    backdrop-filter: blur(2px);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-status[data-tone="warning"] {
    color: #744300;
    background: var(--color-warning-soft);
    backdrop-filter: blur(2px);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-status[data-tone="error"] {
    color: var(--color-error);
    background: var(--color-error-soft);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-form, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-section, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-grid, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-options, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-history, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-list {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-form {
    gap: var(--space-5);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-section {
    gap: var(--space-4);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field > span:first-child, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-options legend, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .adjustment-picker legend {
    font-size: var(--font-sm);
    font-weight: var(--weight-bold);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field small {
    color: var(--color-muted);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field :where(input, select, textarea), .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-upload {
    width: 100%;
    min-width: 0;
    min-height: var(--touch-size);
    border: 1px solid #b8c4cf;
    border-radius: var(--radius-sm);
    color: var(--color-text);
    background: var(--color-white);
    font: inherit;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field :where(input, select, textarea) {
    padding: 11px 12px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field select {
    display: block;
    height: var(--touch-size);
    min-height: var(--touch-size);
    line-height: 1.25;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field textarea {
    min-height: 120px;
    resize: vertical;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field [aria-invalid="true"] {
    border-color: var(--color-error);
    box-shadow: 0 0 0 3px rgba(164, 0, 0, 0.12);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-row {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0 0 10px 0;
    border-bottom: 2px dashed #eef2f5;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field:where( .calculator-field-objectName, .calculator-field-entrance, .calculator-field-floor, .calculator-field-objectType, .calculator-field-furniture, .calculator-field-repairStage, .calculator-field-texture, .calculator-field-fixtureModel, .calculator-field-curtainBaffleModel, .calculator-field-source ) {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0 0 10px;
    border-bottom: 2px dashed #eef2f5;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field:where( .calculator-field-objectName, .calculator-field-entrance, .calculator-field-floor, .calculator-field-objectType, .calculator-field-furniture, .calculator-field-repairStage, .calculator-field-texture, .calculator-field-fixtureModel, .calculator-field-curtainBaffleModel, .calculator-field-source ) > span:first-child {
    min-width: 0;
    flex: 1 1 auto;
    line-height: 1.25;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field:where( .calculator-field-objectName, .calculator-field-entrance, .calculator-field-floor, .calculator-field-objectType, .calculator-field-furniture, .calculator-field-repairStage, .calculator-field-texture, .calculator-field-fixtureModel, .calculator-field-curtainBaffleModel, .calculator-field-source ) > :where(input, select) {
    width: 200px;
    min-width: 0;
    max-width: 200px;
    flex: 0 0 200px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field-objectName > small {
    min-width: 0;
    flex: 0 1 180px;
    text-align: right;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-label {
    min-width: 0;
    flex: 1 1 auto;
    color: var(--color-text);
    font-size: var(--font-sm);
    font-weight: var(--weight-bold);
    line-height: 1.25;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-control {
    display: grid;
    flex: 0 0 200px;
    grid-template-columns: minmax(0, 1fr) 44px 44px;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-button {
    display: inline-grid;
    width: 44px;
    min-height: 44px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-interactive);
    background: var(--color-white);
    font-size: 22px;
    font-weight: var(--weight-bold);
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-button-plus {
    border-color: #8dc8ad;
    color: #146244;
    background: var(--color-positive-soft);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-button:disabled {
    color: #91a0ad;
    background: #eef2f5;
    cursor: not-allowed;
    opacity: 0.7;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-value {
    display: flex;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    overflow: hidden;
    border: 1px solid #b8c4cf;
    border-radius: var(--radius-sm);
    color: var(--color-text);
    background: var(--color-white);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-value:focus-within {
    border-color: var(--color-interactive);
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-value input {
    width: 100%;
    min-width: 0;
    min-height: var(--touch-size);
    padding: 8px 2px 8px 8px;
    border: 0;
    border-radius: 0;
    outline: 0;
    text-align: left;
    font-weight: var(--weight-bold);
    font-variant-numeric: tabular-nums;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-number-value > span {
    flex: 0 0 auto;
    padding: 0 7px 0 2px;
    color: var(--color-muted);
    font-size: var(--font-sm);
    white-space: nowrap;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-check, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .extra-choice, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-options label, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .adjustment-picker label {
    display: inline-flex;
    min-height: var(--touch-size);
    align-items: center;
    cursor: pointer;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-check {
    display: flex;
    min-height: 40px;
    justify-content: flex-start;
    gap: var(--space-2);
    padding: 0 0 10px;
    border-bottom: 2px dashed #eef2f5;
    flex-direction: row-reverse;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] :where(.calculator-check, .extra-choice, .calculator-options label, .adjustment-picker label) input {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-options {
    margin: 0;
    padding: 0;
    border: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-options > div, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .extras-picker-grid, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .adjustment-picker > div {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-3);
    justify-content: space-between;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .extras-picker {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: #f8fafb;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .extras-picker summary {
    min-height: var(--touch-size);
    padding: 13px 14px;
    cursor: pointer;
    font-weight: var(--weight-bold);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .extras-picker-grid {
    max-height: 320px;
    overflow: auto;
    padding: 0 14px 14px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .extra-choice {
    width: min(100%, 250px);
    padding: 3px 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-active-extras:empty::after {
    color: var(--color-muted);
    content: "Дополнительные позиции не выбраны";
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-extra-group {
    display: grid;
    gap: var(--space-3);
    min-width: 0;
    touch-action: pan-y;
    will-change: transform, opacity;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-extra-group[hidden] {
    display: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-extra-field {
    touch-action: pan-y;
    will-change: transform, opacity;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] :where(.calculator-extra-field, .calculator-extra-group).is-swipe-dragging {
    transition: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] :where(.calculator-extra-field, .calculator-extra-group).is-swipe-removing {
    opacity: 0;
    transform: translateX(100%);
    transition: transform 180ms ease, opacity 180ms ease;
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] :where(.calculator-extra-field, .calculator-extra-group).is-swipe-removing {
    transition: none;
}
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-add {
    justify-self: center;
    min-height: 44px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-items {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card {
    display: grid;
    gap: var(--space-3);
    align-items: center;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: #f8fafb;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card-content, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-editor {
    display: grid;
    gap: 6px;
    min-width: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card-content > * {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card-details {
    color: var(--color-muted);
    font-size: var(--font-sm);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card-total {
    font-size: var(--font-sm);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card-actions, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-editor-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    flex-direction: row-reverse;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card-actions .button, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-editor-actions .button {
    min-height: 44px;
    padding: 8px 10px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-editor {
    padding: 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: #f8fafb;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-field {
    display: flex;
    min-height: 56px;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 0 0 10px;
    border-bottom: 2px dashed #eef2f5;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-units {
    display: grid;
    gap: 6px;
    min-width: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-field > span:first-child, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-units legend {
    font-size: var(--font-sm);
    font-weight: var(--weight-bold);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-field input, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-price {
    width: 100%;
    min-width: 0;
    min-height: var(--touch-size);
    border: 1px solid #b8c4cf;
    border-radius: var(--radius-sm);
    color: var(--color-text);
    background: var(--color-white);
    font: inherit;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-field input {
    padding: 11px 12px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-field > input, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-field > .calculator-custom-price {
    width: 200px;
    max-width: 200px;
    flex: 0 0 200px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-price {
    display: flex;
    align-items: center;
    overflow: hidden;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-price:focus-within {
    border-color: var(--color-interactive);
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-price input {
    border: 0;
    border-radius: 0;
    outline: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-price > span {
    padding-right: 12px;
    color: var(--color-muted);
    white-space: nowrap;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-units {
    margin: 0;
    padding: 0;
    border: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-units > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-2);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-unit {
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: #91a0ad;
    background: #eef2f5;
    font: inherit;
    font-weight: var(--weight-bold);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-unit[aria-pressed="true"] {
    border-color: #8dc8ad;
    color: #146244;
    background: var(--color-positive-soft);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-quantity {
    padding: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-quantity[hidden] {
    display: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-results {
    position: relative;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-adjustment-settings {
    display: grid;
    gap: 0;
    min-width: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-settings-toggle {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    padding: 6px 2px;
    border: 0;
    color: var(--color-muted);
    background: transparent;
    font: inherit;
    font-size: var(--font-sm);
    font-weight: inherit;
    text-align: left;
    cursor: pointer;
    touch-action: manipulation;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-settings-arrow {
    font-size: 18px;
    line-height: 1;
    transition: transform 0.15s ease;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-settings-toggle.is-open .calculator-settings-arrow {
    transform: rotate(90deg);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-adjustment-panel {
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: #f8fafb;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-adjustment-panel[hidden] {
    display: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .adjustment-picker {
    margin: 0;
    padding: 0;
    border: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .adjustment-picker label span {
    min-width: 48px;
    padding: 8px 8px;
    text-align: left;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-totals {
    display: grid;
    gap: var(--space-2);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-total {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    padding: 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    color: var(--color-text);
    background: #f8fafb;
    text-align: left;
    font: inherit;
    cursor: pointer;
    appearance: none;
    transition: transform 150ms ease, border-color 150ms ease, background-color 150ms ease, box-shadow 150ms ease;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-total[aria-pressed="true"] {
    z-index: 1;
    border-color: #8dc8ad;
    background: var(--color-positive-soft);
    box-shadow: 0 4px 12px rgba(20, 98, 68, 0.12);
    transform: scale(1.01);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-brand-logo-wrap {
    display: flex;
    min-width: 0;
    min-height: 36px;
    align-items: center;
    flex: 1 1 auto;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-brand-logo {
    display: block;
    width: 180px;
    max-width: 100%;
    height: 36px;
    object-fit: contain;
    object-position: left center;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-total strong {
    white-space: nowrap;
    font-size: 24px;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-upload {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 11px 14px;
    color: var(--color-interactive);
    font-weight: var(--weight-bold);
    cursor: pointer;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-upload input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-upload:has(input:disabled) {
    opacity: 0.55;
    cursor: not-allowed;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-item, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-history-item {
    display: grid;
    min-width: 0;
    gap: var(--space-2);
    padding: 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-item {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-item span {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-history-item small {
    color: var(--color-muted);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-history-item > strong {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-history-item > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-2);
}
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-history-item .button, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-item .button {
    min-height: 44px;
    padding: 8px 10px;
}
@media (min-width: 700px) {
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field-objectName, .pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-field-note {
    grid-column: 1 / -1;
}
}
@media (min-width: 700px) {
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (max-width: 390px) {
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-history-item > div {
    grid-template-columns: 1fr;
}
}
@media (max-width: 390px) {
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .photo-item {
    grid-template-columns: 1fr;
}
}
@media (max-width: 390px) {
.pro-ui-v2 [data-pro-screen="calculator-ceiling"] .calculator-custom-card {
    grid-template-columns: 1fr;
}
}
/* B19 V2-owned installation calculator styles. Legacy hooks are preserved. */
.pro-ui-v2 [data-pro-screen="calculator-installation"],
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-form,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-section,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-fields,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-object-field,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-search,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history {
    display: grid;
    min-width: 0;
    gap: var(--space-3);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"],
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-form {
    gap: var(--space-5);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-heading {
    margin-bottom: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-status {
    position: sticky;
    top: 12px;
    z-index: var(--pro-v2-z-sticky);
    justify-self: center;
    width: fit-content;
    max-width: 100%;
    min-height: 56px;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: var(--radius-sm);
    color: var(--color-muted);
    background: #e8edf1;
    font-size: var(--font-sm);
    font-weight: var(--weight-bold);
    text-align: center;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-status[data-tone="positive"] {
    color: #146244; background: var(--color-positive-soft);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-status[data-tone="warning"] {
    color: #744300; background: var(--color-warning-soft);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-status[data-tone="error"] {
    color: var(--color-error); background: var(--color-error-soft);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-section {
    gap: var(--space-4);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-object-field > span,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-search > span {
    font-size: var(--font-sm);
    font-weight: var(--weight-bold);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-object-field small,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-field-copy small,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-switch small,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history-item small {
    color: var(--color-muted);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-object-field input,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-search input {
    width: 100%;
    min-width: 0;
    min-height: var(--touch-size);
    padding: 11px 12px;
    border: 1px solid #aebcc8;
    border-radius: var(--radius-sm);
    color: var(--color-text);
    background: var(--color-white);
    font: inherit;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-field {
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) minmax(104px, 136px);
    align-items: center;
    gap: var(--space-2) var(--space-3);
    padding-bottom: var(--space-3);
    border-bottom: 1px dashed var(--color-border);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-field-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-field-copy strong {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-input {
    display: flex;
    min-width: 0;
    min-height: var(--touch-size);
    align-items: center;
    border: 1px solid #aebcc8;
    border-radius: var(--radius-sm);
    background: var(--color-white);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-input:focus-within {
    border-color: var(--color-interactive);
    outline: var(--focus-ring);
    outline-offset: var(--focus-offset);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-input input {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 10px 5px 10px 10px;
    border: 0;
    outline: 0;
    color: var(--color-text);
    background: transparent;
    font: inherit;
    font-size: 1.05rem;
    font-weight: var(--weight-bold);
    text-align: right;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-input > span {
    flex: 0 0 auto;
    padding-right: 9px;
    color: var(--color-muted);
    font-size: 0.8rem;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-input input[aria-invalid="true"],
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-object-field input[aria-invalid="true"] {
    box-shadow: inset 0 0 0 2px var(--color-error);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-line-total {
    grid-column: 1 / -1;
    justify-self: end;
    color: var(--color-muted);
    font-size: 0.85rem;
    font-weight: var(--weight-bold);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-field-error {
    grid-column: 1 / -1;
    color: var(--color-error);
    font-size: 0.8rem;
    line-height: 1.35;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-switch {
    display: flex;
    min-height: var(--touch-size);
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) 0 var(--space-3);
    border-bottom: 1px dashed var(--color-border);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-switch input {
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-switch span {
    display: grid;
    gap: 3px;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total {
    display: flex;
    min-width: 0;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--space-4);
    border-color: #8dc8ad;
    background: var(--color-positive-soft);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total p,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total small {
    margin: 0;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total strong {
    display: block;
    margin-top: var(--space-1);
    color: #146244;
    font-size: clamp(1.8rem, 9vw, 2.5rem);
    line-height: 1;
    white-space: nowrap;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total small {
    color: var(--color-muted);
    text-align: right;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total[data-invalid="true"] {
    border-color: var(--color-error);
    background: var(--color-error-soft, #fff1f1);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total[data-invalid="true"] strong,
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total[data-invalid="true"] .installation-total-error {
    color: var(--color-error);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history-item {
    display: grid;
    min-width: 0;
    gap: var(--space-3);
    padding: var(--space-3);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history-item > div:first-child {
    display: grid;
    min-width: 0;
    gap: var(--space-1);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history-item strong {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history-item > div:last-child {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history-item .button {
    min-height: 44px;
    padding: 8px 10px;
}
@media (max-width: 350px) {
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-field {
    grid-template-columns: minmax(0, 1fr) minmax(96px, 116px);
    gap: var(--space-2);
}
}
@media (max-width: 350px) {
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total {
    align-items: flex-start;
    flex-direction: column;
}
}
@media (max-width: 350px) {
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-total small {
    text-align: left;
}
}
@media (min-width: 700px) {
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
@media (min-width: 700px) {
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-switch {
    align-self: start;
}
}
@media (min-width: 700px) {
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-history-item {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-custom-items {
    display: grid; gap: 10px;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-custom-item {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px dashed #e2e9ed;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-custom-item small {
    color: #71808b;
}
.pro-ui-v2 [data-pro-screen="calculator-installation"] .installation-custom-item input {
    width: 110px;
}

@media (max-width: 600px) {
    .pro-ui-v2 .pro-ui-v2__history-detail-ceiling > summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "title area" "price disclosure";
        gap: var(--pro-v2-space-2) var(--pro-v2-space-3);
        padding-block: var(--pro-v2-space-3);
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-ceiling > summary > span:first-child {
        grid-area: title;
        min-width: 0;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-ceiling > summary > .pro-ui-v2__history-detail-ceiling-meta {
        grid-area: area;
        justify-self: end;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-ceiling > summary > .pro-ui-v2__history-detail-ceiling-price {
        grid-area: price;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-ceiling > summary > .pro-ui-v2__history-detail-disclosure {
        grid-area: disclosure;
        justify-self: end;
        margin-inline-start: 0;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "label subtotal" "disclosure disclosure";
        gap: var(--pro-v2-space-2) var(--pro-v2-space-3);
        padding-block: var(--pro-v2-space-3);
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary > span:first-child {
        grid-area: label;
        min-width: 0;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary > strong {
        grid-area: subtotal;
        justify-self: end;
    }

    .pro-ui-v2 .pro-ui-v2__history-detail-work-group > summary > .pro-ui-v2__history-detail-disclosure {
        grid-area: disclosure;
        justify-self: end;
        margin-inline-start: 0;
    }
}
