/* 工作台精修；对账表仅调整控件外观，不改变固定表格尺寸与结构。 */
#quoteListHead[hidden] { display:none !important; }
#listView .quote-group-column-head > th { position:static; background:#f3f6fa; color:#263d59; border-top:1px solid #d6e0ee; border-bottom:1px solid #d6e0ee; font-weight:600; }
#listView .quote-group-separator td { height:14px; padding:0 !important; border:0 !important; background:#fff !important; }
#quoteMobileList > .quote-group-separator { height:14px; }
#listView .quote-independent-heading, #quoteMobileList > .quote-independent-heading { display:flex; align-items:center; flex-wrap:wrap; gap:12px; min-height:44px; padding:10px 16px; box-sizing:border-box; background:#f4f5f7; color:#334155; border:1px solid #cbd5e1; }
.quote-independent-heading span { font-size:12px; color:#475569; }
#listView .quote-number-group-member > td:first-child { border-left:1px solid #b5c7df; }
#listView .quote-number-group-member > td:last-child { border-right:1px solid #b5c7df; }
#listView .quote-number-group-member.is-group-end > td { border-bottom:2px solid #b5c7df; }
:root {
    --workspace-accent:#2457c6;
    --workspace-accent-hover:#1b459f;
    --workspace-save:#087f6d;
    --workspace-paper:#ffffff;
    --workspace-canvas:#f3f5f9;
    --workspace-line:#dce3ec;
    --workspace-muted:#52647c;
}
#appPage #goodsReconciliationView .filters { align-items:flex-end; }
#appPage .reconciliation-date-filter { display:flex; flex-direction:column; gap:6px; color:#52647c; font-size:12px; }
#appPage .reconciliation-date-filter input { width:170px; height:42px; }
#appPage #goodsReconciliationExportBtn { margin-left:auto !important; white-space:nowrap; }
#appPage .reconciliation-filter-note { flex-basis:100%; color:#52647c; line-height:1.6; }
#appPage #productPriceSummaryBody.linked-summary-body { padding:0; text-align:left; margin-top:20px; }
#appPage .linked-summary-body .linked-quote-record { margin:0; padding:0; border-radius:0; border:0; border-bottom:1px solid #e3e8ef; }
#appPage .linked-summary-body .linked-quote-record:first-child { border-top:1px solid #e3e8ef; }
#appPage .linked-summary-body .linked-quote-record > summary { padding:16px 18px; text-align:left; font-size:14px; font-weight:500; background:#f8fafc; }
#appPage .linked-summary-body .linked-quote-record > summary:hover { background:#edf3fc; }
#appPage .linked-summary-body .linked-quote-record > summary { display:flex; align-items:center; gap:10px; list-style:none; cursor:pointer; }
#appPage .linked-summary-body .linked-quote-record > summary::-webkit-details-marker { display:none; }
#appPage .linked-summary-body .linked-quote-record > summary::before { content:''; width:7px; height:7px; flex:0 0 7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); }
#appPage .linked-summary-body .linked-quote-record[open] > summary::before { transform:rotate(45deg); }
#appPage .linked-summary-fields { display:grid !important; grid-template-columns:200px 230px 150px minmax(0,1fr) 180px; gap:16px; align-items:center; width:100%; min-width:0; }
#appPage .linked-summary-fields > * { min-width:0; white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
@media(max-width:760px) {
  #appPage .linked-summary-fields { grid-template-columns:1fr; gap:6px; }
}
#appPage .linked-summary-body .linked-quote-record > summary:focus-visible { outline:2px solid #2457c6; outline-offset:-2px; }
#appPage .linked-summary-body .linked-quote-record[open] { padding:0 18px 20px; }
#appPage .linked-summary-body .linked-quote-record[open] > summary { margin:0 -18px; color:#1745a4; font-weight:600; }
#appPage #productPriceSummaryModal .product-price-summary-note { margin:16px 0; line-height:1.7; }
#appPage #productPriceSummarySearch { width:480px; max-width:100%; }
.linked-quote-record { border:1px solid #dce3ec; margin:16px 0; border-radius:8px; padding:16px; background:#fff; }
.linked-quote-record > summary { cursor:pointer; color:#213a55; font-weight:600; line-height:1.6; }
.linked-quote-record h3 { margin:24px 0 12px; font-size:15px; }
.linked-quote-record h4 { margin:16px 0 10px; }
.linked-quote-record td,.linked-quote-record th { white-space:nowrap; }
#appPage #purchaseApplicationBody > .purchase-internal {
    display:flex; flex-direction:column; align-items:stretch;
    gap:16px; margin:0 0 24px; color:#334e6b; line-height:1.6;
}
#appPage #purchaseApplicationBody > .purchase-internal > .btn { order:-2; align-self:flex-start; margin:0; }
#appPage #purchaseApplicationBody > .purchase-internal > .purchase-internal {
    order:-1; display:flex; flex-wrap:wrap; align-items:center;
    gap:12px; padding:18px 20px; border:1px solid #dce3ec;
    border-radius:8px; background:#f6f8fc;
}
#appPage #purchaseLinkedQuoteSearch {
    width:420px; max-width:100%; height:42px; box-sizing:border-box;
    padding:10px 12px; border:1px solid #cdd8e7; border-radius:6px; background:#fff; color:#213a55;
}
#appPage #purchaseLinkedQuoteSearch:focus { outline:2px solid #97b9fa; outline-offset:1px; border-color:#2457c6; }
#appPage #purchaseApplicationBody > .purchase-internal > .purchase-internal > .btn { min-height:42px; margin:0; padding:10px 20px; }
#appPage #purchaseQuoteOptions { flex-basis:100%; min-width:0; }
#appPage #purchaseApplicationBody > .purchase-internal > p { margin:0; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
@media(max-width:760px) { #appPage #purchaseLinkedQuoteSearch { width:100%; } }
#appPage .purchase-request-table th,
#appPage .purchase-request-table td { box-shadow:inset -1px 0 #e5eaf1; }
#appPage .purchase-request-table th:last-child,
#appPage .purchase-request-table td:last-child { box-shadow:none; }
#appPage .purchase-request-table input,
#appPage .purchase-request-table textarea,
#appPage .purchase-request-table select {
    border-color:transparent;
    border-radius:0;
    background:transparent;
    color:#213a55;
    box-shadow:none;
    caret-color:var(--workspace-accent);
}
#appPage .purchase-request-table input:not([readonly]):hover,
#appPage .purchase-request-table textarea:hover,
#appPage .purchase-request-table select:hover { background:#edf3fc; }
#appPage .purchase-request-table input:focus,
#appPage .purchase-request-table textarea:focus,
#appPage .purchase-request-table select:focus {
    border-color:#2457c6;
    background:#fff;
    outline:2px solid #97b9fa;
    outline-offset:1px;
}
#appPage .purchase-request-table .btn-danger { border-color:transparent; background:transparent; color:#b42318; box-shadow:none; }
#appPage .purchase-request-table .btn-danger:hover { background:#fff0ee; text-decoration:underline; }
#appPage #trackingSummaryModal > .card > p { margin:20px 0; color:#52647c; font-size:13px; line-height:1.7; }
#appPage #trackingSummaryModal > .card > .btn { margin-bottom:20px; min-height:40px; }
#appPage .tracking-summary-filters { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
#appPage .tracking-summary-filters select {
    width:220px; max-width:100%; height:42px; box-sizing:border-box;
    padding:9px 12px; border:1px solid #cdd8e7; border-radius:6px; background:#fff; color:#213a55;
}
#appPage #trackingSummaryModal > .card > input[type=search] {
    height:44px; box-sizing:border-box; border:1px solid #cdd8e7; border-radius:6px;
    background:#fff; color:#213a55; margin-bottom:24px !important;
}
#appPage .tracking-summary-filters select:focus,
#appPage #trackingSummaryModal > .card > input[type=search]:focus { outline:2px solid #97b9fa; outline-offset:1px; border-color:#2457c6; }
@media(max-width:760px) {
    #appPage .tracking-summary-filters select { flex:1 1 100%; width:100%; }
}
#appPage #goodsReconciliationView > .card > p {
    margin:20px 0 24px;
    font-size:13px;
    line-height:1.7;
    color:#52647c;
}
#appPage #goodsReconciliationView .filters {
    display:flex;
    align-items:flex-end;
    flex-wrap:wrap;
    gap:12px;
    padding:18px 20px;
    margin-bottom:24px;
}
#appPage #goodsReconciliationKeyword { width:420px; max-width:100%; height:42px; margin:0; }
#appPage #goodsReconciliationView .filters > .btn { min-height:42px; padding:10px 24px; margin:0; }
#appPage #goodsReconciliationView .reconciliation-date-filter { margin:0; }
#appPage #goodsReconciliationView .reconciliation-date-filter input,
#appPage #goodsReconciliationView .filters > .btn,
#appPage #goodsReconciliationKeyword { box-sizing:border-box; height:42px; min-height:42px; margin:0; }
@media(max-width:760px) {
    #appPage #goodsReconciliationKeyword { width:100%; }
}
/* 用户管理：紧凑网格、单元格编辑、轻量操作。 */
#appPage #userModal .user-list-table { border:1px solid #e3e8ef; border-collapse:collapse; width:100%; }
#appPage #userModal .user-list-table th,
#appPage #userModal .user-list-table td { border:1px solid #e3e8ef; padding:12px 14px; vertical-align:middle; }
#appPage #userModal .user-list-table th { background:#f3f6fa; color:#344054; }
#appPage #userModal .user-list-table tbody tr { background:#fff; }
#appPage #userModal .user-list-table tbody tr:hover { background:#f0f7ff; }
#appPage #userModal .user-list-table input {
    width:150px; max-width:100%; box-sizing:border-box;
    padding:7px 4px; border:1px solid transparent; background:transparent; color:#213a55;
}
#appPage #userModal .user-list-table input:focus { background:white; border-color:#2457c6; outline:2px solid #97b9fa; outline-offset:1px; }
#appPage #userModal .user-list-table select { padding:6px; border:1px solid #dce3ec; background:white; border-radius:4px; }
#appPage #userModal .user-list-table .btn {
    background:transparent; border-color:transparent; color:#2457c6;
    padding:5px 8px; box-shadow:none; white-space:nowrap;
}
#appPage #userModal .user-list-table .btn:hover { background:#eaf1ff; text-decoration:underline; }
#appPage #userModal .user-list-table .btn-danger { color:#b42318; }
#appPage #userModal .user-state { display:inline-block; padding:3px 7px; border-radius:4px; border:1px solid #a7d8c5; background:#edf9f3; color:#076757; font-size:12px; }
#appPage #userModal .user-state.inactive { background:#f2f4f7; border-color:#d0d5dd; color:#475467; }
#appPage #purchaseApplicationsView > .card > p {
    margin:20px 0 24px;
    color:#52647c;
    font-size:13px;
    line-height:1.6;
}
#appPage #purchaseApplicationBody > .filters {
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:20px;
    margin:0 0 24px;
}
#appPage #purchaseOrderListSearch { width:340px; max-width:100%; min-width:0; margin:0; }
#appPage #purchaseApplicationBody > .filters > .btn { min-height:38px; margin:0; }
#appPage #purchaseApplicationBody > .filters > #newPurchaseOrderBtn { margin-left:auto; }
#appPage .purchase-list-search-group { display:flex; align-items:center; gap:12px; min-width:0; }
#appPage .purchase-list-search-group #purchaseOrderListSearch { width:420px; height:42px; padding:10px 12px; }
#appPage .purchase-list-search-group > .btn,
#appPage #purchaseApplicationBody > .filters > #newPurchaseOrderBtn { min-height:42px; padding:10px 20px; }
@media(max-width:760px) {
    #appPage .purchase-list-search-group { width:100%; flex-wrap:wrap; }
    #appPage #purchaseOrderListSearch { flex:1 1 100%; width:100%; }
    #appPage #purchaseApplicationBody > .filters > .btn { flex:1; }
}
#appPage .dispatch-list-row { cursor:pointer; }
#appPage .dispatch-list-row:hover { background:#edf3fc; }
#appPage .dispatch-list-row:focus-within { background:#edf3fc; }
@media(min-width:761px) {
    #appPage #listView .filters {
        display:flex;
        flex-wrap:nowrap;
        align-items:center;
        gap:8px;
        overflow-x:auto;
    }
    #appPage #listView .filters > input,
    #appPage #listView .filters > select {
        width:128px;
        min-width:100px;
        flex:1 1 128px;
        margin:0;
    }
    #appPage #listView .filters > #filterKeyword { flex:1.5 1 180px; min-width:160px; }
    #appPage #listView .filters > .btn { flex:0 0 68px; width:68px; min-height:36px; margin:0; }
}
/* 出库新建页面：返回操作、查询栏、结果区分层排列。 */
#appPage #dispatchEditor > .btn:first-child { display:block; width:max-content; margin:4px 0 18px; }
#appPage #dispatchEditor > label {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    padding:16px;
    background:#f6f8fc;
    border:1px solid #dce3ec;
    border-radius:8px;
    font-size:13px;
    color:#334e6b;
}
#appPage #dispatchQuoteKeyword {
    width:320px;
    max-width:100%;
    height:38px;
    box-sizing:border-box;
    border:1px solid #cdd8e7;
    border-radius:6px;
    padding:8px 12px;
    background:#fff;
    color:#213a55;
}
#appPage #dispatchQuoteKeyword:focus { outline:2px solid #97b9fa; outline-offset:1px; border-color:#2457c6; }
#appPage #dispatchQuoteKeyword::placeholder { color:#607087; }
#appPage #dispatchEditor > label > .btn { min-height:38px; margin:0; }
#appPage #dispatchQuoteMatches { flex-basis:100%; min-width:0; color:#52647c; line-height:1.5; }
#appPage #dispatchQuoteMatches > p { margin:4px 0 10px; }
@media(max-width:760px) {
    #appPage #dispatchQuoteKeyword { width:100%; }
    #appPage #dispatchEditor > label > .btn { width:100%; }
}
/* 出货通知单沿用网格单元格编辑，保持单据原有尺寸。 */
#appPage .dispatch-sheet table th,
#appPage .dispatch-sheet table td {
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
}
#appPage .dispatch-sheet #dispatchQuantity { width:calc(100% - 32px); }
#appPage .dispatch-sheet table th,
#appPage .dispatch-sheet table td { box-shadow:inset -1px 0 #e5eaf1; }
#appPage .dispatch-sheet table th:last-child,
#appPage .dispatch-sheet table td:last-child { box-shadow:none; }
#appPage .dispatch-sheet table tbody tr:focus-within { background:#f0f5ff; }
#appPage .dispatch-sheet input[data-dispatch-field] {
    background:transparent;
    border-color:transparent;
    border-radius:0;
    box-shadow:none;
    color:#213a55;
    caret-color:var(--workspace-accent);
}
#appPage .dispatch-sheet input[data-dispatch-field]:hover { background:#edf3fc; }
#appPage .dispatch-sheet input[data-dispatch-field]:focus {
    background:#fff;
    border-color:#2457c6;
    outline:2px solid #97b9fa;
    outline-offset:1px;
}
#appPage .dispatch-signatures input[data-dispatch-field] { border-bottom-color:#b6c5d8; }
/* 表格内编辑：保留原控件尺寸、键盘操作和保存逻辑。 */
#appPage .goods-reconciliation-table th,
#appPage .goods-reconciliation-table td {
    border-right:1px solid #e5eaf1;
    border-bottom-color:#e5eaf1;
    font-variant-numeric:tabular-nums;
}
#appPage .goods-reconciliation-table th:last-child,
#appPage .goods-reconciliation-table td:last-child { border-right:0; }
#appPage .goods-reconciliation-table tbody tr { background:#fff; }
#appPage .goods-reconciliation-table tbody tr:hover { background:#f5f8fd; }
#appPage .goods-reconciliation-table tbody tr:focus-within { background:#f0f5ff; }
#appPage .goods-reconciliation-table th { background:#f3f6fa; }
#appPage .goods-reconciliation-table th.goods-accounting-heading { background:#fff176; }
#appPage .goods-reconciliation-table input[data-goods-field] {
    background:transparent;
    border-color:transparent;
    border-bottom-color:transparent;
    border-radius:0;
    box-shadow:none;
    color:#213a55;
    font:inherit;
    font-variant-numeric:tabular-nums;
    caret-color:var(--workspace-accent);
}
#appPage .goods-reconciliation-table input[data-goods-field]:not([readonly]):hover {
    background:#edf3fc;
    border-color:transparent;
}
#appPage .goods-reconciliation-table input[data-goods-field]:not([readonly]):focus {
    background:#fff;
    border-color:#2457c6;
    outline:2px solid #97b9fa;
    outline-offset:1px;
}
#appPage .goods-reconciliation-table input[data-goods-field][readonly] {
    border-color:transparent;
    background:transparent;
    outline:none;
}
#appPage .goods-reconciliation-table input[type=number] {
    appearance:textfield;
    -moz-appearance:textfield;
}
#appPage .goods-reconciliation-table input[type=number]::-webkit-inner-spin-button,
#appPage .goods-reconciliation-table input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance:none;
    margin:0;
}
#appPage > .header { background:var(--workspace-paper); border-bottom-color:var(--workspace-line); }
#appPage > .container { background:var(--workspace-canvas); }
#appPage .desktop-sidebar { background:#142a40; border-right-color:#243a50; }
#appPage .desktop-brand { background:#11263a; border-bottom-color:#2b4158; }
#appPage .desktop-brand > span { border-radius:6px; border-color:#70899f; }
#appPage .desktop-brand strong { letter-spacing:.04em; }
#appPage .desktop-brand small { color:#bed0e0; }
#appPage .desktop-nav-group { color:#a5b9cd; font-weight:600; }
#appPage .desktop-sidebar nav button { color:#d8e3ef; transition:background-color 140ms,color 140ms; }
#appPage .desktop-sidebar nav button:hover { background:#233e59; }
#appPage .desktop-sidebar nav button[aria-current=page] { background:#2457c6; border-left-color:#8eb5ff; color:#fff; }
#appPage .desktop-sidebar-footer { color:#b1c1d1; border-top-color:#2b4158; }
#appPage .desktop-location { color:var(--workspace-muted); }
#appPage .desktop-location strong { color:#213a55; font-weight:600; }
#appPage .desktop-tabbar { background:#fdfefe; border-bottom-color:var(--workspace-line); }
#appPage .desktop-tabbar button { border-radius:5px; color:var(--workspace-muted); border-color:var(--workspace-line); transition:background-color 140ms,border-color 140ms; }
#appPage .desktop-tabbar button:hover { background:#edf3fe; border-color:#a3bcea; color:#244d9f; }
#appPage .desktop-tabbar button[aria-current=page] { background:#eaf1ff; color:#1745a4; border-color:#aac3f4; font-weight:600; }
#appPage .desktop-tabbar button:disabled { opacity:1; cursor:default; }
#appPage .container .card { border-color:var(--workspace-line); border-radius:12px; box-shadow:none; background:var(--workspace-paper); }
#appPage .card > .card-title { color:#183451; border-bottom-color:#e3e9f1; }
#appPage .card-title .title-copy > span { letter-spacing:.02em; }
#appPage .card-title small,#appPage .editor-title-copy small { color:var(--workspace-muted); }
#appPage .card-title .btn,#appPage .editor-actions > .btn,
#appPage .filters .btn,#appPage .card > .btn,#appPage .user-info .logout-btn {
    border-radius:7px; box-shadow:none; transition:background-color 140ms,border-color 140ms,color 140ms;
}
#appPage .card-title .btn-default,#appPage .editor-actions > .btn-default,
#appPage .filters .btn-default,#appPage .card > .btn-default { background:#fff; color:#334e6b; border-color:#cfd9e8; }
#appPage .card-title .btn-default:hover,#appPage .editor-actions > .btn-default:hover,
#appPage .filters .btn-default:hover,#appPage .card > .btn-default:hover { background:#f0f5fd; border-color:#9fb8df; }
#appPage .card-title .btn-primary,#appPage .editor-actions > .btn-primary,
#appPage .filters .btn-primary,#appPage .card > .btn-primary { background:var(--workspace-accent); border-color:var(--workspace-accent); color:white; }
#appPage .card-title .btn-primary:hover,#appPage .editor-actions > .btn-primary:hover,
#appPage .filters .btn-primary:hover,#appPage .card > .btn-primary:hover { background:var(--workspace-accent-hover); border-color:var(--workspace-accent-hover); }
#appPage .card-title .btn-success,#appPage .editor-actions > .btn-success,
#appPage .filters .btn-success,#appPage .card > .btn-success { background:var(--workspace-save); border-color:var(--workspace-save); color:white; }
#appPage .card-title .btn-success:hover,#appPage .editor-actions > .btn-success:hover,
#appPage .filters .btn-success:hover,#appPage .card > .btn-success:hover { background:#076757; border-color:#076757; }
#appPage .filters { background:#f6f8fc; border-color:#e0e6f0; border-radius:9px; }
#appPage .filters input,#appPage .filters select {
    background:#fff; border:1px solid #cdd8e7; border-radius:6px; padding:8px 10px;
    color:#213a55; min-height:36px; box-sizing:border-box; caret-color:var(--workspace-accent);
}
#appPage .filters input::placeholder { color:#607087; opacity:1; }
#appPage .filters input:focus,#appPage .filters select:focus { outline:2px solid #97b9fa; outline-offset:1px; border-color:#2457c6; }
#appPage .card-title button:focus-visible,#appPage .editor-actions > button:focus-visible,
#appPage .filters button:focus-visible,#appPage .desktop-sidebar button:focus-visible,
#appPage .user-info button:focus-visible { outline:2px solid #74a4fa; outline-offset:2px; }
#appPage .card-title button:disabled,#appPage .filters button:disabled { opacity:.55; cursor:not-allowed; }
#appPage .user-info #currentUser { background:#eff3f9; color:#36516e; border-radius:16px; }
#appPage .user-info .logout-btn:hover { background:#f0f5fd; border-color:#a7bcda; }
#appPage .quote-header-layout { background:#f7f9fc; border-color:#dce4ef; }
#appPage .editor-toolbar { background:#fff; border-bottom-color:#dce4ef; }
#appPage .quote-list-pagination { color:var(--workspace-muted); }
#loginPage .login-shell { border-color:#dce3ec; box-shadow:0 16px 45px rgba(18,42,67,.10); }
#loginPage .login-box input { border-color:#cad6e6; border-radius:7px; }
#loginPage .login-box input:focus { outline:2px solid #97b9fa; outline-offset:1px; }
#loginPage .login-box > button { background:var(--workspace-accent); }
@media(max-width:760px) {
    #appPage .filters input,#appPage .filters select { min-height:40px; }
    #appPage .card-title .btn,#appPage .editor-actions > .btn { min-height:40px; }
}
@media(prefers-reduced-motion:reduce) {
    #appPage .desktop-sidebar nav button,#appPage .desktop-tabbar button,
    #appPage .card-title .btn,#appPage .editor-actions > .btn,#appPage .filters .btn { transition:none; }
}
[data-number-group][hidden] { display: none !important; }
.quote-list-modes { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; color:#344b6b; font-size:13px; }
.quote-list-modes > span { margin-right:4px; }
.quote-list-modes .btn { min-height:36px; }
.quote-number-group-toggle.is-customer-group > .quote-group-details { grid-template-columns:180px minmax(0,1fr); }
#listView .quote-number-group-heading td { background: #eef3fa; padding: 0; }
.quote-number-group-toggle { display: grid; grid-template-columns:200px minmax(0,1fr) 210px 40px; align-items: center; gap: 16px; width: 100%; min-height: 44px; padding: 10px 16px; border: 1px solid #d6e0ee; background: #eef3fa; color: #183b63; cursor: pointer; text-align: left; font: inherit; }
.quote-number-group-toggle span { font-size: 12px; }
.quote-number-group-toggle > strong { min-width:0; overflow-wrap:anywhere; }
.quote-number-group-toggle > .quote-group-details { display:grid; grid-template-columns:230px 150px minmax(0,1fr); align-items:center; gap:16px; min-width:0; white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
.quote-group-details > span { min-width:0; }
.quote-number-group-toggle > .quote-group-count { margin-left:0; white-space:normal; line-height:1.6; color:#0958d9; }
.quote-group-count .quote-pending-review { color:#000000; font-weight:700; }
.quote-group-count .quote-submitted-review { color:#b42318; font-weight:700; }
@media(max-width:760px) {
  .quote-number-group-toggle { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
  .quote-number-group-toggle > .quote-group-details { grid-column:1 / -1; grid-row:2; grid-template-columns:1fr; gap:4px; }
  .quote-number-group-toggle.is-customer-group > .quote-group-details { grid-template-columns:1fr; }
  .quote-list-modes .btn { min-height:44px; }
  #listView .filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #listView .filters input,#listView .filters select { width:100%; min-width:0; box-sizing:border-box; }
  .quote-number-group-toggle > .quote-group-count { grid-column:1; grid-row:3; margin-left:0; }
  .quote-number-group-toggle > [data-group-state] { grid-column:2; grid-row:3; }
}
.quote-number-group-toggle [data-group-state] { flex-shrink:0; color: #244fb8; }
.quote-number-group-toggle:hover { background: #e3ecfa; }
#listView .quote-list-table td.table-actions { display:table-cell; vertical-align:middle; }
#listView .quote-row-action-buttons { display:flex; align-items:center; flex-wrap:nowrap; gap:6px; }
.summary-export-controls { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; }
.summary-export-controls label { display:flex; flex-direction:column; gap:6px; margin:0; font-size:12px; font-weight:400; color:#526784; }
.summary-export-controls input { box-sizing:border-box; height:38px; width:170px; padding:6px 10px; border:1px solid #cbd5e1; border-radius:6px; font:inherit; color:#172b4d; background:#fff; }
/* Editor: separate document identity, workflow and file actions. */
#appPage .editor-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:16px; padding:20px; }
#appPage .editor-title-copy { min-width:0; border:0; padding:0; }
#appPage #editTitle { display:block; white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
#appPage .editor-title-copy small { display:block; margin-top:4px; }
#appPage .editor-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; width:100%; margin:0; padding-top:16px; border-top:1px solid #dce4ef; }
#appPage .editor-file-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-left:auto; }
#appPage .editor-actions .quote-progress { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0; border:0; background:transparent; margin:0; }
#appPage .editor-actions .quote-progress.hidden { display:none; }
#appPage .editor-actions .btn, #appPage .editor-actions select { min-height:38px; box-sizing:border-box; margin:0; white-space:nowrap; }
#appPage .editor-actions #quoteProgressText { margin-right:8px; font-size:13px; }
@media(max-width:760px) {
  #appPage .editor-toolbar { padding:16px; }
  #appPage .editor-file-actions { margin-left:0; width:100%; }
  #appPage .editor-actions .btn, #appPage .editor-actions select { min-height:44px; }
}
.quote-number-group-toggle:focus-visible { outline: 2px solid #3157d5; outline-offset: -2px; }

/* Bright blue / white workspace. Keep document geometry and status colors. */
:root {
  --workspace-accent:#2563eb;
  --workspace-accent-hover:#1d4ed8;
  --workspace-canvas:#f2f8ff;
  --workspace-line:#d9e7f6;
  --workspace-muted:#526987;
  --primary:#2563eb;
  --primary-dark:#1d4ed8;
  --cobalt:#2563eb;
  --cobalt-dark:#1d4ed8;
  --canvas:#f2f8ff;
}
#appPage .desktop-sidebar,
#appPage.mobile-company-nav-open .desktop-sidebar { background:#fff; color:#304e71; border-right-color:#d9e7f6; }
#appPage .desktop-brand { background:#fff; border-bottom-color:#e0ecf8; color:#214469; }
#appPage .desktop-brand > span { background:#edf5ff; color:#2563eb; border-color:#bdd6fc; }
#appPage .desktop-brand strong { color:#214469; }
#appPage .desktop-brand small { color:#526987; }
#appPage .desktop-nav-group { color:#526987; }
#appPage .desktop-sidebar nav button { color:#304e71; }
#appPage .desktop-sidebar nav button:hover { background:#f1f7ff; color:#1d4ed8; }
#appPage .desktop-sidebar nav button[aria-current=page] { background:#e8f1ff; color:#1d4ed8; border-left-color:#2563eb; font-weight:700; }
#appPage .desktop-sidebar-footer { background:#fff; color:#526987; border-top-color:#e0ecf8; }
#appPage #mobileNavClose { background:#f0f7ff; color:#1d4ed8; }
#appPage .desktop-tabbar { background:#fff; }
#appPage .desktop-tabbar button[aria-current=page] { background:#edf5ff; border-color:#c3d9fc; color:#1d4ed8; }
#appPage .user-info #currentUser { background:#edf5ff; color:#355c8c; }
#appPage .quote-list-card .toolbar,#appPage .filters { background:#f5faff; border-color:#deebf9; }
#appPage .filters input,#appPage .filters select { border-color:#ccdef3; }
#appPage .filters input::placeholder { color:#526987; }
#appPage .btn-primary { background:var(--workspace-accent); border-color:var(--workspace-accent); color:#fff; box-shadow:none; }
#appPage .btn-primary:hover { background:var(--workspace-accent-hover); border-color:var(--workspace-accent-hover); }
#appPage .btn-default,#appPage .user-info .logout-btn { color:#355c8c; border-color:#ccdef3; background:#fff; }
#appPage .btn-default:hover { color:#1d4ed8; background:#edf5ff; border-color:#a9c9fa; }
#appPage .quote-number-group-toggle { background:#edf6ff; border-color:#d3e5fb; color:#214469; }
#appPage .quote-number-group-toggle:hover { background:#e3f0ff; }
#appPage #listView .quote-group-column-head > th { background:#f5faff; color:#355c8c; border-color:#d9e7f6; }
#appPage #listView .quote-number-group-member > td { border-color:#d9e7f6; }
#appPage .quote-header-layout,#appPage .spec-edit-toolbar { background:#f5faff; border-color:#deebf9; }
#appPage .quote-mobile-card { background:#fff; border-color:#d3e5fb; }
#appPage .quote-mobile-card:hover { background:#f5faff; }
#loginPage.login-wrap { background:#f2f8ff; }
#loginPage .login-shell { border-color:#d9e7f6; box-shadow:0 16px 45px rgba(42,100,170,.08); }
#loginPage .login-context { background:#e8f3ff; color:#214469; }
#loginPage .login-context::after { display:none; }
#loginPage .login-context p { color:#466489; }
#loginPage .login-emblem { color:#2563eb; border-color:#94bdf7; background:#fff; }
#loginPage .login-emblem::after { background:#bfd7fa; }
#loginPage .login-flow span { color:#355c8c; border-color:#bdd6f6; background:#f5faff; }
#loginPage .login-tip { color:#526987; }
