/* 견적 사이트의 화면 테마. A4 회사별 문서·PDF의 색상은 변경하지 않는다. */
:root:has(body.workspace-quotation), body.workspace-quotation, body.workspace-quotation.ql-page {
    --quote-accent: #2563eb; --quote-hover: #1d4ed8; --quote-soft: #eff6ff;
    --quote-paper: #ffffff; --quote-ink: #1e293b; --quote-muted: #64748b; --quote-line: #dbe4ef;
    --quote-sidebar: #17345b; --quote-sidebar-hover: #244977;
    --quote-sidebar-text: #f8fbff; --quote-sidebar-muted: #bed2ed;
    --quote-surface: #f3f7fd; --quote-selected: #dbeafe; --quote-focus: #93c5fd;
    --quote-placeholder: #94a3b8; --quote-shadow-faint: #17345b0b;
    --quote-shadow-soft: #17345b18; --quote-shadow-medium: #17345b33; --quote-backdrop: #0f274780;
    --quote-accent-rgb: 37, 99, 235; --quote-hover-rgb: 29, 78, 216;
    --bs-primary: var(--quote-accent); --bs-primary-rgb: var(--quote-accent-rgb);
    --bs-primary-text-emphasis: var(--quote-hover); --bs-primary-bg-subtle: var(--quote-soft);
    --bs-primary-border-subtle: var(--quote-line);
    --bs-link-color: var(--quote-accent); --bs-link-color-rgb: var(--quote-accent-rgb);
    --bs-link-hover-color: var(--quote-hover); --bs-link-hover-color-rgb: var(--quote-hover-rgb);
    --bs-body-color: var(--quote-ink); --bs-body-bg: var(--quote-paper);
    --bs-border-color: var(--quote-line); --bs-secondary-color: var(--quote-muted);
    --bs-tertiary-bg: var(--quote-surface); --bs-focus-ring-color: var(--quote-shadow-medium);
    --bg-body: var(--quote-paper); --bg-sidebar: var(--quote-sidebar);
    --text-main: var(--quote-ink); --text-muted: var(--quote-muted); --border-color: var(--quote-line);
    --primary: var(--quote-accent); --primary-hover: var(--quote-hover); --primary-bg: var(--quote-soft);
    --accent: var(--quote-accent); --muted: var(--quote-muted); --line: var(--quote-line); --soft: var(--quote-soft);
    --qp-ink: var(--quote-ink); --qp-muted: var(--quote-muted); --qp-line: var(--quote-line);
    --qp-blue: var(--quote-accent); --qp-accent: var(--quote-accent); --qi-accent: var(--quote-accent);
    color: var(--quote-ink); background: var(--quote-paper);
}
.workspace-quotation #sidebar { background: var(--quote-sidebar); }
.workspace-quotation #sidebar .sidebar-site-caption { color: var(--quote-sidebar-muted); }
.workspace-quotation #sidebar ul li a { color: var(--quote-sidebar-text); }
.workspace-quotation #sidebar ul li a.active { color: var(--quote-sidebar); background: var(--quote-selected); box-shadow: none; }
.workspace-quotation #sidebar ul li a:hover { background: var(--quote-sidebar-hover); color: #fff; }
.workspace-quotation #sidebar .menu-divider { color: var(--quote-sidebar-muted); }
.workspace-quotation #sidebar .sidebar-icon-btn { color: var(--quote-sidebar-text); }
.workspace-quotation .erp-account-controls { border-top-color: #ffffff24; }
.workspace-quotation #sidebar .erp-account-name, .workspace-quotation #sidebar .erp-account-links a,
.workspace-quotation #sidebar .erp-account-links button { color: var(--quote-sidebar-text); }

body.workspace-quotation.auth-page { background: var(--quote-paper); }
.workspace-quotation .auth-card { border-color: var(--quote-line); box-shadow: 0 18px 60px var(--quote-shadow-faint); }
.workspace-quotation .auth-workspace > p { color: var(--quote-accent); }
.workspace-quotation .auth-primary { background: var(--quote-accent); }
.workspace-quotation .auth-primary:hover { background: var(--quote-hover); }
.workspace-quotation .auth-back { color: var(--quote-accent); }
.workspace-quotation.auth-page input:focus { border-color: var(--quote-focus); outline-color: var(--quote-selected); }
.workspace-quotation .auth-description, .workspace-quotation .auth-footer { color: var(--quote-muted); }

.workspace-quotation .quotation-workspace {
    --czm-ink: var(--quote-ink); --czm-muted: var(--quote-muted); --czm-line: var(--quote-line);
    --czm-soft: var(--quote-surface); --czm-blue: var(--quote-accent); --czm-blue-soft: var(--quote-soft);
    --qw-line: var(--quote-line); --qw-muted: var(--quote-muted); --qw-soft: var(--quote-surface);
}
.workspace-quotation .quotation-workspace .qf-primary-nav [aria-current],
.workspace-quotation .quotation-workspace .qf-case-nav [aria-current],
.workspace-quotation .quotation-workspace .qcm-tabs a.is-active { color: var(--quote-accent); border-color: var(--quote-accent); }
.workspace-quotation .quotation-workspace .qf-case-nav { background: var(--quote-surface); }
.workspace-quotation .quotation-workspace .czm-button { color: var(--quote-ink); border-color: var(--quote-line); }
.workspace-quotation .quotation-workspace .czm-button:hover { color: var(--quote-ink); background: var(--quote-surface); border-color: var(--quote-focus); }
.workspace-quotation .quotation-workspace .czm-button.is-primary {
    border-color: var(--quote-focus); color: var(--quote-hover); background: var(--quote-soft);
}
.workspace-quotation .quotation-workspace .czm-button.is-primary:hover {
    border-color: var(--quote-accent); background: var(--quote-selected);
}
.workspace-quotation .quotation-workspace .qf-quote-title { color: var(--quote-accent); }
.workspace-quotation .quotation-workspace .qw-summary-price,
.workspace-quotation .quotation-workspace .qw-company-preview,
.workspace-quotation .quotation-workspace .qw-history-entry .qw-actions > strong,
.workspace-quotation .quotation-workspace .qcm-table a { color: var(--quote-accent); }
.workspace-quotation .quotation-workspace .qw-selected-row > td { background: var(--quote-surface); }
.workspace-quotation .quotation-workspace .qw-part-editor { border-color: var(--quote-line); background: var(--quote-paper); }
.workspace-quotation .quotation-workspace .qw-editor-head strong { color: var(--quote-hover); }
.workspace-quotation .quotation-workspace .qw-change.is-replace { color: var(--quote-accent); background: var(--quote-soft); border-color: var(--quote-line); }
.workspace-quotation .quotation-workspace input:focus,
.workspace-quotation .quotation-workspace select:focus,
.workspace-quotation .quotation-workspace textarea:focus { border-color: var(--quote-focus); outline-color: var(--quote-selected); }
.workspace-quotation .quotation-workspace .qcm-badge[data-status="ISSUED"] { background: var(--quote-soft); color: var(--quote-accent); }
.workspace-quotation .quotation-workspace .qcm-badge[data-status="NEW"],
.workspace-quotation .quotation-workspace .qcm-badge[data-status="WORKING"] { background: var(--quote-soft); color: var(--quote-accent); border-color: var(--quote-line); }
.workspace-quotation .btn-primary {
    --bs-btn-bg: var(--quote-accent); --bs-btn-border-color: var(--quote-accent);
    --bs-btn-hover-bg: var(--quote-hover); --bs-btn-hover-border-color: var(--quote-hover);
    --bs-btn-active-bg: var(--quote-hover); --bs-btn-active-border-color: var(--quote-hover);
    --bs-btn-disabled-bg: var(--quote-accent); --bs-btn-disabled-border-color: var(--quote-accent);
    --bs-btn-focus-shadow-rgb: var(--quote-accent-rgb);
}
.workspace-quotation .btn-outline-primary {
    --bs-btn-color: var(--quote-accent); --bs-btn-border-color: var(--quote-accent);
    --bs-btn-hover-bg: var(--quote-accent); --bs-btn-hover-border-color: var(--quote-accent);
    --bs-btn-active-bg: var(--quote-hover); --bs-btn-active-border-color: var(--quote-hover);
    --bs-btn-disabled-color: var(--quote-accent); --bs-btn-disabled-border-color: var(--quote-accent);
    --bs-btn-focus-shadow-rgb: var(--quote-accent-rgb);
}

/* 고객 요청·조회 화면의 기존 간격과 전환 애니메이션을 유지한다. */
body.workspace-quotation .qi-ambient { background: radial-gradient(ellipse at 14% 10%, #dbeafe75, transparent 62%), radial-gradient(ellipse at 90% 70%, #eaf2ff55, transparent 53%); }
body.workspace-quotation .qi-kicker, body.workspace-quotation .qi-progress-fill,
body.workspace-quotation .ql-side-switch, body.workspace-quotation .qi-choice-icon { color: var(--quote-accent); }
body.workspace-quotation .qi-progress-fill, body.workspace-quotation .qi-progress-bar > span { background: var(--quote-accent); }
body.workspace-quotation .qi-choice-icon { background: var(--quote-soft); }
body.workspace-quotation .qi-mini-dot { background: var(--quote-accent); }
body.workspace-quotation .qi-question-card, body.workspace-quotation .qi-choice,
body.workspace-quotation .qp-card { border-color: var(--quote-line); }
body.workspace-quotation .qi-choice:hover, body.workspace-quotation .qi-choice[aria-pressed="true"],
body.workspace-quotation .qi-spec-choice:hover { border-color: var(--quote-focus); background: var(--quote-paper); }
body.workspace-quotation .qi-spec-choice[aria-checked="true"],
body.workspace-quotation .qi-option:has(input:checked) { color: var(--quote-accent); background: var(--quote-soft); border-color: var(--quote-accent); }
body.workspace-quotation .qi-nav-button.is-primary,
body.workspace-quotation .qi-nav-button.primary,
body.workspace-quotation .qi-next, body.workspace-quotation .qp-primary,
body.workspace-quotation .ql-page .qp-primary { background: var(--quote-accent); border-color: var(--quote-accent); color: #fff; }
body.workspace-quotation .qi-button-primary { background: var(--quote-accent); box-shadow: 0 5px 16px var(--quote-shadow-soft); }
body.workspace-quotation .qi-button-primary:hover { background: var(--quote-hover); }
body.workspace-quotation progress, body.workspace-quotation progress::-webkit-progress-bar { background: var(--quote-line); }
body.workspace-quotation .qp-primary:hover, body.workspace-quotation .qi-nav-button.is-primary:hover,
body.workspace-quotation .qi-nav-button.primary:hover { background: var(--quote-hover); color: #fff; }
body.workspace-quotation .qi-text-button, body.workspace-quotation .qi-os-lock,
body.workspace-quotation .qi-file-box, body.workspace-quotation .qi-receipt-box { background: var(--quote-surface); border-color: var(--quote-line); color: var(--quote-hover); }
body.workspace-quotation .qi-receipt-box > strong { color: var(--quote-accent); }
body.workspace-quotation .qi-tooltip { background: var(--quote-sidebar); }
body.workspace-quotation .qi-field input::file-selector-button { background: var(--quote-soft); color: var(--quote-hover); }
body.workspace-quotation .ql-file-layout input[type=file] { border-color: var(--quote-focus) !important; background: var(--quote-paper) !important; }
body.workspace-quotation .ql-credential-fields input:focus-visible,
body.workspace-quotation .qp-button:focus-visible,
body.workspace-quotation button:focus-visible, body.workspace-quotation input:focus-visible,
body.workspace-quotation select:focus-visible, body.workspace-quotation summary:focus-visible { outline-color: var(--quote-focus); }
body.workspace-quotation input[type=checkbox], body.workspace-quotation input[type=radio] { accent-color: var(--quote-accent); }

body.workspace-quotation .qch-hub, body.workspace-quotation .qch-viewer, body.workspace-quotation .qch-dialog {
    --qch-blue: var(--quote-accent); --qch-ink: var(--quote-ink); --qch-muted: var(--quote-muted);
}
body.workspace-quotation .qch-tabs button[aria-selected="true"] { background: var(--quote-soft); }
body.workspace-quotation .qch-tabs button[aria-selected="true"] span,
body.workspace-quotation .qch-tabs button[aria-selected="true"] strong { color: var(--quote-accent); }
body.workspace-quotation .qch-hub .qch-focus, body.workspace-quotation .qch-registration,
body.workspace-quotation .qch-bank { background: var(--quote-surface); border-color: var(--quote-line); }
body.workspace-quotation .qch-spec-grid section { background: var(--quote-paper); border-color: var(--quote-line); }
body.workspace-quotation .qch-spec-grid h3 { color: var(--quote-hover); }
body.workspace-quotation .qch-hub .qp-card, body.workspace-quotation .qch-tabs button { border-color: var(--quote-line); }
body.workspace-quotation .qch-tabs button[aria-selected="true"] { border-color: var(--quote-accent); }
body.workspace-quotation .qch-hub .qp-primary, body.workspace-quotation .qch-viewer .qp-primary { background: var(--quote-accent); border-color: var(--quote-accent); color: white; }
body.workspace-quotation .qch-order-progress .is-current .qch-step-icon { box-shadow: 0 0 0 5px var(--quote-soft); }
body.workspace-quotation .qch-order-progress small { color: var(--quote-accent); }
body.workspace-quotation .qch-tracking, body.workspace-quotation .qch-document-stage { background: var(--quote-surface); }
body.workspace-quotation .qch-dialog { border-color: var(--quote-line); color: var(--quote-ink); }
body.workspace-quotation .qch-dialog input:focus,
body.workspace-quotation .qch-dialog select:focus,
body.workspace-quotation .qch-dialog textarea:focus { outline-color: var(--quote-focus); }
