// Refresh.css /* UI Refresh Wave 1 - global enhancements */ html, body { background: radial-gradient(circle at top right, #dde5f5, #eef2fb); color: #1f2a44; } body.ui-js-ready { scroll-behavior: smooth; } #mainheader { backdrop-filter: blur(2px); box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); } /* Restore legacy two-column shell after style.css removal */ #main::after { content: ""; display: table; clear: both; } #sidebar { clear: both; width: 230px; float: right; margin-right: 5px; margin-top: 10px; padding-top: 20px; } #content { float: left; width: calc(100% - 255px); margin-left: 5px; margin-top: 10px; } .navTable, .navTable2, .navTableThin, .navTableNormal { background-color: #f6f8fe; border: 1px solid #c9d2e5; border-radius: 10px; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); } .uihelper-panel { border: 1px solid #c9d2e5; border-radius: 10px; overflow: hidden; background: #ffffff; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); } .uihelper-panel summary { background: linear-gradient(90deg, #f8fbff, #f3f7ff); } .uihelper-panel-body { background: #ffffff; } .list-group-item { background-color: transparent; border-color: rgba(14, 122, 118, 0.15); } .btn, .button, .menuButton { border-radius: 6px !important; transition: transform 0.12s ease, box-shadow 0.2s ease; } .btn:hover, .button:hover, .menuButton:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(14, 122, 118, 0.28); } .btn-primary, input.button, button.button { background: #0e7a76; border-color: #0e7a76; color: #fff !important; } .btn-primary:hover, input.button:hover, button.button:hover { background: #0b5f5c; border-color: #0b5f5c; } .form-control, .element, select, input[type=text], textarea { border-radius: 6px; border: 1px solid #b8c3da; } .form-control:focus, .element:focus, select:focus, input[type=text]:focus, textarea:focus { outline: none; border-color: #0e7a76; box-shadow: 0 0 0 2px rgba(14, 122, 118, 0.15); } .ui-section-spacer { margin-top: 1.5rem; margin-bottom: 1.5rem; } .ui-action-row { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; } .ui-card-soft { background: #ffffff; border: 1px solid #c9d2e5; border-radius: 10px; padding: 1rem; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); } .ui-admin-dashboard, .ui-client-dashboard { display: grid; gap: 0.75rem; } .ui-admin-dashboard-intro, .ui-client-dashboard-intro { color: #5a6784; font-size: 0.95rem; } .ui-admin-stat-grid, .ui-client-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 0.5rem; } .ui-admin-stat-card, .ui-client-stat-card { display: grid; gap: 0.25rem; padding: 0.7rem 0.75rem; border: 1px solid #c9d2e5; border-radius: 10px; background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%); text-decoration: none; box-shadow: 0 6px 16px rgba(31, 42, 68, 0.08); } .ui-admin-stat-card:hover, .ui-client-stat-card:hover { background: linear-gradient(180deg, #f9fcff 0%, #eef4ff 100%); border-color: #aebfd8; } .ui-admin-stat-icon, .ui-client-stat-icon { font-size: 1.1rem; color: #0e7a76; } .ui-admin-stat-value, .ui-client-stat-value { font-size: 1.1rem; font-weight: 700; color: #1f2a44; } .ui-admin-stat-title, .ui-client-stat-title { font-size: 0.85rem; color: #5a6784; } .ui-admin-dashboard-actions, .ui-client-dashboard-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; } .ui-client-job-filter-shell { margin: 0 0 0.8rem; padding: 0.75rem 0.8rem; border: 1px solid #c9d2e5; border-radius: 10px; background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%); box-shadow: 0 6px 18px rgba(31, 42, 68, 0.08); } .ui-client-job-filter-title { font-weight: 700; color: #1f2a44; margin-bottom: 0.45rem; } .ui-client-job-filter-title .fa { margin-right: 0.35rem; color: #0e7a76; } .ui-client-job-filter-row { display: flex; flex-wrap: wrap; gap: 0.4rem; } .ui-client-filter-btn { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.32rem 0.58rem; border-radius: 999px; font-weight: 600; line-height: 1.2; text-decoration: none; } .ui-client-filter-btn .fa { font-size: 0.86rem; } .ui-client-filter-count { display: inline-block; min-width: 1.2rem; padding: 0.08rem 0.3rem; border-radius: 999px; background: rgba(31, 42, 68, 0.1); font-size: 0.77rem; text-align: center; } .ui-client-filter-active { background: linear-gradient(180deg, #e8f8f6 0%, #dff2f1 100%); border-color: #8ec7c4; color: #0f5e5b !important; } .ui-job-status-chip { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.18rem 0.52rem; border-radius: 999px; font-size: 0.82rem; font-weight: 700; white-space: nowrap; border: 1px solid #c9d2e5; background: #f5f8fc; color: #2f3e57; } .ui-job-status-open { background: #e8f8f6; border-color: #92cbc7; color: #0f5e5b; } .ui-job-status-closed { background: #eef3fb; border-color: #bccbe3; color: #284773; } .ui-job-status-archived { background: #f6f3ef; border-color: #d2c8bc; color: #605143; } .ui-admin-search-grid, .ui-client-search-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.5rem; } .ui-admin-search-form, .ui-client-search-form { display: grid; gap: 0.25rem; padding: 0.55rem 0.6rem; border: 1px dashed #c9d2e5; border-radius: 8px; background: #fbfdff; } .ui-admin-nav-shell { padding: 0.9rem; margin: 0.25rem 0 1rem; } .ui-admin-nav-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; text-align: left; } .ui-admin-nav-section { display: grid; gap: 0.55rem; } .ui-admin-section-title { font-weight: 700; color: #1f2a44; padding-bottom: 0.2rem; border-bottom: 1px solid #d7e0ef; } .ui-admin-nav-card { display: flex; align-items: flex-start; gap: 0.7rem; padding: 0.7rem 0.8rem; border: 1px solid #c9d2e5; border-radius: 10px; background: linear-gradient(180deg, #ffffff 0%, #f6f9ff 100%); text-decoration: none; color: #1f2a44; box-shadow: 0 6px 16px rgba(31, 42, 68, 0.08); } .ui-admin-nav-card:hover { border-color: #aebfd8; background: linear-gradient(180deg, #f9fcff 0%, #eef4ff 100%); } .ui-admin-nav-card strong, .ui-admin-nav-card small, .ui-client-nav-card strong, .ui-client-nav-card small { display: block; } .ui-admin-nav-card small, .ui-client-nav-card small { color: #5a6784; margin-top: 0.12rem; } .ui-admin-nav-icon, .ui-client-nav-icon { font-size: 1rem; margin-top: 0.15rem; color: #0e7a76; } .ui-client-transmittal-table { width: 100%; border-collapse: collapse; background: #ffffff; border: 1px solid #c9d2e5; border-radius: 8px; overflow: hidden; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.08); } .ui-client-transmittal-table th, .ui-client-transmittal-table td { padding: 0.5rem 0.6rem; border-bottom: 1px solid #d7e0ef; vertical-align: top; text-align: left; } .ui-client-transmittal-table thead th { background: linear-gradient(180deg, #eef4fb 0%, #dde8f7 100%); font-weight: 700; } .ui-client-transmittal-table tbody tr:nth-child(even) td { background: #f8fbff; } .ui-client-transmittal-empty { padding: 0.7rem 0.8rem; border: 1px dashed #c9d2e5; border-radius: 8px; background: #fbfdff; color: #5a6784; } .table-responsive.ui-enhanced-table { margin-bottom: 1rem; border: 1px solid #c9d2e5; border-radius: 6px; background: #ffffff; } .info-message { border-color: #c9d2e5; border-left-color: #0e7a76 !important; color: #5a6784; background: #f8fbff; } @media (max-width: 1199px) { #content { width: calc(100% - 260px); } } @media (max-width: 991px) { #mainheaderDummy, #mainheader { height: auto !important; position: static !important; left: 0 !important; } #sidebar { float: none; width: 100%; margin: 0.75rem 0; padding-top: 0; } #content { width: 100%; float: none; margin: 0; } #main { padding: 0 0.75rem 1rem; } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } } /* Wave 2 component refinements */ .ui-job-nav { padding: 10px 12px; margin-bottom: 12px; } .ui-job-nav .ui-job-nav-title { font-weight: 700; font-size: 1.02rem; color: #1f2a44; } .ui-job-nav .ui-job-nav-links a { display: inline-flex; align-items: center; padding: 0.3rem 0.55rem; border-radius: 6px; background: rgba(14, 122, 118, 0.08); margin: 2px 4px 2px 0; white-space: nowrap; } .ui-job-nav .ui-job-nav-links a:hover { background: rgba(14, 122, 118, 0.18); } .ui-job-nav-compact a { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.3rem 0.5rem; border-radius: 999px; background: rgba(14, 122, 118, 0.08); text-decoration: none; } .ui-job-nav-compact a:hover { background: rgba(14, 122, 118, 0.16); } .ui-home-jobs-table .ui-home-job-shortcuts { width: 1%; padding-top: 0.12rem !important; padding-bottom: 0.12rem !important; padding-left: 0.25rem !important; padding-right: 0.25rem !important; vertical-align: top !important; white-space: nowrap; } .ui-home-jobs-table .ui-home-job-shortcuts .ui-job-nav { display: block; padding: 0; margin: 0; border: 0; box-shadow: none; background: transparent; } .ui-home-jobs-table .ui-home-job-shortcuts .ui-job-nav-compact, .ui-home-jobs-table .ui-home-job-shortcuts .ui-job-nav-compact tbody, .ui-home-jobs-table .ui-home-job-shortcuts .ui-job-nav-compact tr { display: inline-flex; align-items: center; gap: 0.25rem; width: auto !important; vertical-align: top; } .ui-home-jobs-table .ui-home-job-shortcuts .ui-job-nav-compact td { display: inline-block; padding: 0 !important; } .ui-home-jobs-table .ui-home-job-shortcuts .ui-job-nav-compact a { padding: 0.18rem 0.36rem; font-size: 0.78rem; line-height: 1.15; } .ui-home-jobs-table .ui-home-job-shortcuts .ui-job-nav-compact img { height: 14px; width: auto; } .ui-job-tabs { padding: 0.35rem 0.35rem 0 !important; margin-bottom: 0.75rem; } .ui-job-tabs > ul { border-bottom: 1px solid #c9d2e5; padding-bottom: 0.2rem; } .ui-job-tabs.ui-job-tabs-strong { padding: 0.55rem 0.55rem 0.35rem !important; background: linear-gradient(180deg, #ffffff, #f4f8ff); } .ui-job-tabs .ui-job-tab-list, .ui-job-tabs .ui-tabs-nav, .ui-job-tabs > ul { list-style: none; margin: 0; padding: 0 0 0.35rem; display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; } .ui-job-tabs .ui-job-tab-list li, .ui-job-tabs .ui-tabs-nav li, .ui-job-tabs > ul li { margin: 0 !important; padding: 0 !important; border: none !important; background: transparent !important; } .ui-job-tabs > ul li a { display: inline-flex; align-items: center; gap: 0.25rem; font-weight: 600; } .ui-job-tabs .ui-job-tab-list li a, .ui-job-tabs .ui-tabs-nav li a, .ui-job-tabs > ul li a { padding: 0.42rem 0.7rem !important; border: 1px solid #bfd0eb !important; border-radius: 999px !important; background: #edf4ff !important; color: #1c2f50 !important; text-decoration: none !important; box-shadow: none !important; } .ui-job-tabs .ui-job-tab-list li a:hover, .ui-job-tabs .ui-tabs-nav li a:hover, .ui-job-tabs > ul li a:hover { background: #dbe9ff !important; border-color: #9db8e3 !important; } .ui-job-tabs .ui-tabs-active a, .ui-job-tabs .ui-state-active a, .ui-job-tabs .active a { background: linear-gradient(180deg, #0e7a76, #0b5f5c) !important; border-color: #0b5f5c !important; color: #ffffff !important; box-shadow: 0 4px 14px rgba(11, 95, 92, 0.3) !important; } .ui-job-list-tabs { margin-bottom: 1rem; } .ui-job-table { border: 1px solid #c9d2e5; border-radius: 6px; overflow: hidden; background: #ffffff; border-collapse: collapse; width: 100%; } .ui-job-table thead th, .ui-job-table tfoot th { background: linear-gradient(180deg, #eef4fb 0%, #dde8f7 100%); border: 1px solid #aebfd8; padding: 0.4rem 0.5rem; font-weight: 700; } .ui-job-table tbody td, .ui-job-table tfoot td { padding: 0.45rem 0.55rem; vertical-align: top; border-right: 1px solid #d2dbea; border-bottom: 1px solid #d2dbea; } .ui-job-table tbody tr:nth-child(odd) td, .ui-job-table tbody tr.odd td { background: #f7fbff; } .ui-job-table tbody tr:nth-child(even) td, .ui-job-table tbody tr.even td { background: #edf3fb; } .ui-job-table tbody tr:hover td { background: #e6f0ff; } /* Fallback for legacy Job Details tables that still render as #dataTable */ #content table#dataTable { background: #ffffff; border: 1px solid #c9d2e5; border-collapse: collapse; margin: 0.25rem 0; } #content table#dataTable td, #content table#dataTable th { padding: 0.45rem 0.55rem; border: 1px solid #d2dbea; } .ui-job-summary-toolbar { margin-bottom: 0.75rem; } .ui-job-summary-actions { padding: 0.45rem 0.6rem; border: 1px solid #cfdbee; border-radius: 6px; background: #f7fbff; margin-bottom: 0.5rem; } .ui-job-summary-links a, .ui-job-summary-admin-links a { display: inline-block; padding: 0.2rem 0.45rem; border-radius: 6px; text-decoration: none; } .ui-job-summary-links a:hover, .ui-job-summary-admin-links a:hover { background: #e7f1ff; } .ui-job-summary-limit { margin-top: 0.75rem; font-size: 0.95rem; color: #5a6784; } .ui-job-search-message { max-width: 980px; margin: 0.4rem auto 0.75rem; border-radius: 6px; } .ui-job-budget-header { margin: 0.45rem 0 0.6rem; border-left: 4px solid #0e7a76; background: #f4fbfa; } .ui-job-budget-section { margin: 0.55rem 0 0.45rem; background: #f7f9fd; border: 1px solid #d7dfed; } .ui-job-budget-panel-body { overflow-x: auto; padding-top: 0.2rem; } .ui-job-budget-panel-body table { width: 100%; min-width: 720px; border: 1px solid #d2deef; border-radius: 8px; overflow: hidden; background: #ffffff; } .ui-job-budget-panel-body td, .ui-job-budget-panel-body th { padding: 0.45rem 0.5rem; vertical-align: middle; border-bottom: 1px solid #e3ebf7; } .ui-job-budget-panel-body tr:last-child td { border-bottom: 0; } .ui-budget-viz-panel { margin: 0.4rem 0 0.8rem; padding: 0.65rem 0.75rem; border: 1px solid #cfe1d9; border-radius: 8px; background: linear-gradient(180deg, #f3fbf8, #edf7f3); } .ui-budget-viz-title { font-weight: 700; color: #215a4d; margin-bottom: 0.45rem; } .ui-budget-viz-track { height: 10px; background: #dfece7; border-radius: 999px; overflow: hidden; border: 1px solid #c8ddd5; } .ui-budget-viz-fill { display: block; height: 100%; background: linear-gradient(90deg, #1e8f76, #35a88a); } .ui-budget-viz-fill.over { background: linear-gradient(90deg, #c4692f, #d98b39); } .ui-budget-viz-legend { margin-top: 0.45rem; color: #34574c; font-size: 0.92rem; } .ui-budget-viz-metrics { margin-top: 0.45rem; display: flex; flex-wrap: wrap; gap: 0.35rem; } .ui-budget-viz-legend-key, .ui-fin-report-legend { margin-top: 0.35rem; display: flex; flex-wrap: wrap; gap: 0.35rem; font-size: 0.82rem; color: #53627f; } .ui-budget-viz-key, .ui-fin-legend-item { display: inline-flex; align-items: center; padding: 0.14rem 0.42rem; border-radius: 999px; border: 1px solid #d4dcea; background: #f8faff; font-weight: 600; } .ui-budget-viz-key.ok, .ui-fin-legend-item.ok { border-color: #bfdccb; background: #eef8f3; color: #246747; } .ui-budget-viz-key.risk, .ui-fin-legend-item.risk { border-color: #e7cf95; background: #fff7df; color: #8b6420; } .ui-budget-viz-key.over, .ui-fin-legend-item.over { border-color: #e6b7a9; background: #fff0eb; color: #8f3f2d; } /* Job terms type badges (HR / CB / FQ) */ .ui-terms-badge { display: inline-block; padding: 0.05rem 0.3rem; border-radius: 3px; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.02em; vertical-align: middle; line-height: 1.4; } .ui-terms-rates { background: #dbeafe; color: #1d4ed8; border: 1px solid #bfdbfe; } .ui-terms-costs { background: #ffedd5; color: #c2410c; border: 1px solid #fed7aa; } .ui-terms-quote { background: #dcfce7; color: #15803d; border: 1px solid #bbf7d0; } .ui-terms-unknown { background: #f3f4f6; color: #6b7280; border: 1px solid #e5e7eb; } /* Terms filter toggle strip in the filter bar */ .ui-fin-terms-toggles { display: inline-flex; align-items: center; gap: 0.6rem; margin-left: 0.7rem; } .ui-terms-toggle-label { display: inline-flex; align-items: center; gap: 0.25rem; font-size: 0.78rem; cursor: pointer; user-select: none; } /* No-budget warning flag */ .ui-fin-no-budget-flag { display: inline-block; width: 1rem; height: 1rem; line-height: 1rem; text-align: center; border-radius: 50%; background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; font-size: 0.65rem; font-weight: 700; cursor: help; vertical-align: middle; margin-left: 0.15rem; } /* Warning summary card (e.g. No Budget Set) */ .ui-fin-summary-card.ui-fin-card-warn .label { color: #92400e; } .ui-fin-summary-card.ui-fin-card-warn .value { color: #b45309; } .ui-fin-summary-card.ui-fin-card-warn { border-color: #fcd34d; background: #fffbeb; } .ui-budget-viz-visuals { margin-top: 0.45rem; display: flex; flex-wrap: wrap; gap: 0.9rem; } .ui-budget-viz-visual { min-width: 190px; padding: 0.35rem 0.45rem; border: 1px solid #cbe0d6; border-radius: 8px; background: #f8fcfa; } .ui-budget-viz-visual-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.04em; color: #4a6f63; margin-bottom: 0.25rem; } .ui-budget-viz-visual-sub { font-size: 0.82rem; color: #46655a; margin-top: 0.2rem; } .ui-budget-viz-chip { display: inline-block; padding: 0.16rem 0.42rem; border-radius: 999px; border: 1px solid #bfd8cd; background: #f8fdfa; font-size: 0.84rem; color: #2f574c; } .ui-job-import-link { display: inline-block; padding: 0.3rem 0.55rem; border-radius: 6px; border: 1px solid #b6ccbf; background: #f8fcfa; text-decoration: none; } .ui-job-import-link:hover { background: #eef8f3; } .ui-job-import-preview { margin: 0.5rem 0 0.7rem; border: 1px solid #d3deef; background: #f5f8ff; } .ui-fin-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0.55rem; margin: 0.45rem 0 0.7rem; } .ui-fin-summary-card { padding: 0.55rem 0.65rem; border-radius: 8px; border: 1px solid #d2ddee; background: #f7faff; } .ui-fin-summary-card .label { font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.06em; color: #5f6f90; } .ui-fin-summary-card .value { margin-top: 0.2rem; font-size: 1.04rem; font-weight: 700; color: #1a3559; } .ui-fin-report-filters { padding: 0.5rem 0.65rem; margin: 0.35rem 0 0.6rem; border: 1px solid #d5e1f2; background: #f4f8ff; border-radius: 8px; } .ui-fin-report-filters a { text-decoration: none; padding: 0.1rem 0.25rem; border-radius: 4px; } .ui-fin-report-filters a:hover { background: #e8f0ff; } .ui-import-batch-explainer { border: 1px solid #d9e3f5; background: #f6f9ff; margin-bottom: 0.65rem; } .ui-home-budget-alerts { border: 1px solid #dfc17a; border-left: 5px solid #b48519; background: #fff8e9; padding: 0.55rem 0.7rem; border-radius: 8px; box-shadow: 0 8px 20px rgba(31, 42, 68, 0.09); } .ui-home-budget-alerts summary { list-style: none; outline: none; background: linear-gradient(180deg, #fff7df 0%, #ffefc1 100%); border: 1px solid #dfc17a; border-radius: 6px; padding: 0.45rem 0.55rem; margin-bottom: 0.45rem; color: #624706; } .ui-home-budget-alerts summary::-webkit-details-marker { display: none; } .ui-home-budget-alerts-body { padding-top: 0.1rem; color: #5c4300; } .ui-home-budget-alerts-intro, .ui-home-budget-alert-note { color: #7a5a12; margin: 0.15rem 0 0.45rem; font-size: 0.88rem; } .ui-home-budget-alerts-empty { padding: 0.5rem 0.65rem; border-radius: 6px; border: 1px dashed #d5a33a; background: #fffdf5; color: #6a4c08; } .ui-home-budget-alerts-list { display: grid; gap: 0.35rem; margin: 0.2rem 0 0.3rem; padding: 0; list-style: none; } .ui-home-budget-alerts-list li { display: grid; grid-template-columns: minmax(8.5rem, 0.85fr) minmax(14rem, 2fr) minmax(9rem, 0.9fr); gap: 0.55rem; align-items: center; margin: 0; padding: 0.45rem 0.55rem; border: 1px solid #efd997; border-radius: 6px; background: #fffdf5; line-height: 1.35; } .ui-home-budget-alert-job { display: flex; align-items: center; gap: 0.35rem; white-space: nowrap; } .ui-home-budget-alert-desc { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #483200; } .ui-home-budget-alert-client { display: block; color: #7a5a12; font-size: 0.78rem; line-height: 1.2; } .ui-home-budget-alert-meta { display: block; margin-top: 0; color: #7d5b11; font-weight: 700; text-align: right; white-space: nowrap; } @media (max-width: 900px) { .ui-home-budget-alerts-list li { grid-template-columns: minmax(8rem, auto) 1fr; align-items: start; } .ui-home-budget-alert-desc { grid-column: 1 / -1; white-space: normal; } .ui-home-budget-alert-meta { text-align: right; } } .ui-fin-overruns { padding: 0.55rem 0.65rem; margin: 0.35rem 0 0.7rem; border: 1px solid #d5dff2; background: #f6f9ff; border-radius: 8px; } .ui-fin-overruns-title { font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; color: #425f92; margin-bottom: 0.35rem; } .ui-fin-overruns-empty { color: #5b6f96; font-size: 0.9rem; } .ui-fin-overrun-list { margin: 0; padding-left: 1.05rem; } .ui-fin-overrun-list li { margin: 0.22rem 0; line-height: 1.4; } .ui-fin-overrun-client { color: #4f6487; } .ui-fin-overrun-amount { display: inline-block; font-weight: 700; color: #8a3f2a; background: #fff1ee; border: 1px solid #e8bfb3; padding: 0.07rem 0.32rem; border-radius: 999px; } .ui-fin-overrun-detail { color: #6b7f9f; font-size: 0.86rem; } .ui-import-batch-help { margin-top: 0.45rem; border: 1px solid #e1d8b7; background: #fffdf2; border-radius: 8px; padding: 0.5rem 0.6rem; } .ui-import-batch-help-title { font-weight: 700; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: #7b6629; margin-bottom: 0.3rem; } .ui-import-batch-sql { margin: 0; padding: 0.5rem; border: 1px solid #efe3b8; background: #fffef8; font-size: 0.82rem; line-height: 1.35; white-space: pre-wrap; word-break: break-word; } .ui-fin-report-table-wrap { overflow-x: auto; padding: 0.4rem; } .ui-fin-report-table { width: 100%; min-width: 1200px; border-collapse: collapse; background: #ffffff; } .ui-fin-report-table th, .ui-fin-report-table td { padding: 0.38rem 0.42rem; border-bottom: 1px solid #e1e8f6; vertical-align: top; } .ui-fin-report-table thead th { background: #f0f4fb; border-bottom: 1px solid #d2deef; position: sticky; top: 0; z-index: 1; } .ui-fin-report-table .num { text-align: right; white-space: nowrap; } .ui-fin-status { display: inline-block; padding: 0.12rem 0.4rem; border-radius: 999px; font-size: 0.74rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; border: 1px solid #bcd5c9; background: #eef8f3; color: #22634f; } .ui-fin-status.risk { border-color: #e4c789; background: #fff6df; color: #8d6023; } .ui-fin-status.over { border-color: #e6b0a0; background: #fff0eb; color: #8f3e2c; } .ui-fin-pie { --p: 0; width: 54px; height: 54px; border-radius: 50%; background: conic-gradient(#1f8f76 calc(var(--p) * 1%), #e3ece8 0); position: relative; display: inline-flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 700; color: #264f44; } .ui-fin-pie::after { content: ""; position: absolute; width: 33px; height: 33px; border-radius: 50%; background: #ffffff; } .ui-fin-pie > span { position: relative; z-index: 1; line-height: 1; font-size: 0.63rem; } .ui-fin-pie.ok { background: conic-gradient(#1f8f76 calc(var(--p) * 1%), #e3ece8 0); color: #234f44; } .ui-fin-pie.risk { background: conic-gradient(#d59a2f calc(var(--p) * 1%), #f1e7cc 0); color: #6c5018; } .ui-fin-pie.over { background: conic-gradient(#c14d30 calc(var(--p) * 1%), #f3ddd7 0); color: #7f3220; } .ui-fin-pie.mix { background: conic-gradient(#2c70a9 calc(var(--p) * 1%), #9ac7e8 0); color: #224566; } .ui-fin-pie-label { font-size: 0.72rem; color: #5b6e8a; margin-top: 0.12rem; } .ui-fin-pie-cell { white-space: nowrap; text-align: center !important; } .ui-forecast-delta { display: inline-block; padding: 0.14rem 0.38rem; border-radius: 999px; font-size: 0.72rem; font-weight: 700; border: 1px solid #d2ddee; background: #f4f7fc; color: #324f7c; } .ui-forecast-delta.up { border-color: #bdddc8; background: #edf8f1; color: #246747; } .ui-forecast-delta.down { border-color: #e5c0b8; background: #fef1ee; color: #8f3f2d; } /* Tilde marker on forecasts estimated from hours burn rate */ .ui-forecast-est { font-size: 0.7rem; color: #8a7040; opacity: 0.85; cursor: help; } .ui-job-budget-table, .ui-job-cost-table, .ui-job-edit-surface { border: 1px solid #c9d2e5; border-radius: 10px; background: #ffffff; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); } .ui-job-edit-surface { padding: 0.75rem; margin-bottom: 1rem; } .ui-job-edit-table { width: 100%; border-collapse: separate; border-spacing: 0; } .ui-job-details-grid { overflow: hidden; border-radius: 6px; } .ui-job-edit-actions td { padding: 0.6rem 0.75rem !important; background: linear-gradient(90deg, #f0f6ff, #e7f1ff) !important; border-bottom: 1px solid #d2deef; } .ui-job-edit-actionbar { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; } .ui-job-edit-title { font-size: 1.05rem; font-weight: 700; color: #193759; } .ui-job-edit-buttons { display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; } .ui-job-edit-buttons .ui-job-density-toggle { background: #eaf2ff; border: 1px solid #bfd0eb; color: #1c2f50; } .ui-job-edit-table .table-header { background: linear-gradient(90deg, #f7fafc, #edf3fb); font-weight: 700; } .ui-job-edit-table .table-header td, .ui-job-budget-hours .table-header, #content table#dataTable .table-header { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%); color: #1f2a44; font-weight: 700; border-top: 1px solid #d7e0ef; border-bottom: 1px solid #d7e0ef; } .ui-job-meta-head td, .ui-job-scope-head td { font-size: 0.78rem; letter-spacing: 0.02em; text-transform: uppercase; color: #40597a; border-top: 1px solid #d7e0ef; } .ui-job-meta-values td { background: #ffffff; border-bottom: 1px solid #e2eaf5; } .ui-job-meta-values td:first-child, .ui-job-meta-values td:nth-child(2) { background: #fbfdff; } .ui-job-meta-values input, .ui-job-meta-values select, .ui-job-meta-values textarea { width: 100%; max-width: 100%; } .ui-job-details-table td { padding: 0.45rem 0.55rem; vertical-align: top; } .ui-job-description-input { width: 100%; max-width: 100%; min-height: 2rem; } .ui-job-details-row { background: #f9fbff; } .ui-job-details-main { padding-top: 0.85rem !important; padding-right: 0.95rem !important; } .ui-job-details-main .fck, .ui-job-details-main iframe { border-radius: 8px; box-shadow: inset 0 0 0 1px #d6e1f2; } .ui-job-details-main strong, .ui-job-details-budget strong { display: inline-block; margin-bottom: 0.45rem; color: #1b3555; } .ui-job-details-editor { width: 100%; min-height: 14rem; background: #ffffff; border: 1px solid #b9c9e1; border-radius: 8px; } .ui-job-edit-surface.ui-job-compact .ui-job-details-table td { padding: 0.22rem 0.35rem; } .ui-job-edit-surface.ui-job-compact .ui-job-meta-head td, .ui-job-edit-surface.ui-job-compact .ui-job-scope-head td { font-size: 0.72rem; } .ui-job-edit-surface.ui-job-compact .ui-job-details-editor { min-height: 10rem; } .ui-job-edit-surface.ui-job-compact .ui-job-budget-hours td { padding: 0.2rem 0.3rem; } .ui-job-result-message { max-width: 960px; margin: 0.45rem auto; } .ui-job-result-message ul { padding-left: 1.1rem; margin-top: 0.4rem; } .ui-job-action-links .list-group-item { padding-top: 0.35rem; padding-bottom: 0.35rem; } .ui-job-delete-confirm { max-width: 760px; margin: 0.75rem auto; } .ui-job-details-budget { background: #f2f7ff; border-left: 1px solid #d5e1f1; padding: 0.85rem 0.75rem !important; } .ui-job-budget-hours { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #cdd9ea; border-radius: 8px; overflow: hidden; background: #ffffff; } .ui-job-budget-hours td { padding: 0.35rem 0.5rem; border-bottom: 1px solid #e2e9f5; } .ui-job-budget-hours tr:last-child td { border-bottom: 0; } .ui-job-budget-hours input { width: 100%; min-width: 4.2rem; } .ui-data-surface { background: #ffffff; border: 1px solid #c9d2e5; border-radius: 10px; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); padding: 1rem; margin-bottom: 1rem; } .ui-transmit-grid { display: grid; grid-template-columns: minmax(220px, 0.9fr) minmax(220px, 0.9fr) minmax(280px, 1.2fr); gap: 1rem; } .ui-transmit-grid > td, .ui-transmit-view-grid > td { display: block; width: auto !important; } .ui-chip-label { display: inline-block; padding: 0.2rem 0.45rem; border-radius: 999px; background: rgba(243, 140, 43, 0.15); color: #6d450f; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em; text-transform: uppercase; } .ui-timesheet-header { display: table; width: 100%; border-collapse: separate; border-spacing: 0; margin-bottom: 0.75rem; background: linear-gradient(135deg, #f7fafc, #edf3fb); border: 1px solid #c9d2e5; border-radius: 10px; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); } .ui-timesheet-header td { padding: 0.55rem 0.7rem; vertical-align: top; } .ui-timesheet-header .ui-ts-meta { color: #5a6784; font-size: 0.92rem; } .ui-timesheet-header .ui-ts-title { font-size: 1.05rem; font-weight: 700; color: #1f2a44; } .ui-kpi-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 0.55rem 0.75rem; background: #f6fbf6; border: 1px solid #d4e6d4; border-radius: 6px; margin-bottom: 0.4rem; } .ui-ts-result-message, .ui-drawing-result-message { max-width: 920px; margin: 0.75rem auto; border-left-width: 4px; box-shadow: 0 3px 12px rgba(31, 42, 68, 0.08); } .ui-ts-table, .ui-drawing-resource-table, .ui-drawing-form-table { background: #fff; border: 1px solid #c9d2e5; border-radius: 6px; overflow: hidden; } table.ui-ts-table { width: 100%; float: none; border-collapse: collapse; border-spacing: 0; } table.ui-ts-table th, table.ui-ts-table td { padding: 0.35rem 0.5rem; border: 1px solid #d7e0ef; } .ui-ts-table th, .ui-drawing-resource-table .table-header, .ui-drawing-form-table .table-header { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%); color: #1f2a44; } .ui-drawing-shell { background: linear-gradient(180deg, #f6f9ff 0%, #eef4ff 100%); border-radius: 10px; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12); } @media (max-width: 991px) { .ui-transmit-grid { grid-template-columns: 1fr; } .ui-job-nav .ui-job-nav-links { display: flex; flex-wrap: wrap; } .ui-job-details-row .ui-job-details-main, .ui-job-details-row .ui-job-details-budget { display: block; width: 100%; border-left: 0; } .ui-job-meta-head td, .ui-job-meta-values td, .ui-job-scope-head td { display: block; width: 100%; } .ui-job-budget-panel-body table { min-width: 620px; } } /* Final cascade lock: keep refresh styles dominant over legacy selectors */ html body .ui-data-surface, html body .ui-card-soft, html body .ui-job-edit-surface, html body .ui-job-budget-table, html body .ui-job-cost-table, html body .ui-ts-table, html body .ui-drawing-form-table, html body .ui-drawing-resource-table { background: #ffffff !important; border-color: #c9d2e5 !important; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12) !important; } html body .ui-job-tabs .ui-job-tab-list li a, html body .ui-job-tabs .ui-tabs-nav li a, html body .ui-job-tabs > ul li a { text-decoration: none !important; border-radius: 999px !important; } html body .ui-timesheet-header, html body .ui-job-nav, html body .ui-drawing-shell { background-clip: padding-box !important; border: 1px solid #c9d2e5 !important; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12) !important; } html body .ui-ts-result-message, html body .ui-drawing-result-message, html body .ui-job-result-message, html body .ui-job-search-message { border-left: 4px solid #0e7a76 !important; border-radius: 6px !important; } /* Wave 5 - Module-wide visual polish (Pass 1: surfaces + spacing) */ html body .navTable, html body .navTable2, html body .navTableThin, html body .navTableNormal, html body .ui-data-surface { padding: 0.8rem; } html body table.sortTable, html body table.sortTable2, html body table.dataTable, html body table#dataTable, html body table.ui-ts-table, html body table.ui-drawing-form-table, html body table.ui-drawing-resource-table, html body table.ui-job-table { width: 100% !important; float: none !important; border-collapse: collapse !important; border-spacing: 0 !important; margin: 0 auto 0.85rem !important; background: #ffffff; } html body table.sortTable th, html body table.sortTable2 th, html body table.dataTable th, html body table#dataTable th, html body table.ui-ts-table th, html body table.ui-drawing-form-table th, html body table.ui-drawing-resource-table th, html body table.ui-job-table th, html body table.sortTable td, html body table.sortTable2 td, html body table.dataTable td, html body table#dataTable td, html body table.ui-ts-table td, html body table.ui-drawing-form-table td, html body table.ui-drawing-resource-table td, html body table.ui-job-table td { padding: 0.4rem 0.55rem !important; border-color: #d7e0ef !important; vertical-align: top; } /* Pass 2: headers + section rhythm */ html body .ui-timesheet-header { margin-bottom: 0.9rem !important; } html body .ui-timesheet-header td { font-size: 0.94rem; line-height: 1.35; } html body .error-message.rounded { max-width: 100%; padding: 0.35rem 0.55rem; margin: 0.25rem auto 0.45rem; border: 1px solid #d7e0ef; background: #f8fbff; color: #3a4b6c; } html body .ui-job-nav .printhide td, html body .ui-job-nav-compact td { padding-top: 0.2rem; padding-bottom: 0.2rem; } html body table.ui-home-jobs-table td.ui-home-job-shortcuts { padding: 0.12rem 0.25rem !important; vertical-align: top !important; line-height: 1; } html body table.ui-home-jobs-table td.ui-home-job-shortcuts > a[name="topAnchor"] { display: none !important; } html body table.ui-home-jobs-table td.ui-home-job-shortcuts .ui-job-nav { display: block !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; } html body table.ui-home-jobs-table td.ui-home-job-shortcuts .ui-job-nav-compact, html body table.ui-home-jobs-table td.ui-home-job-shortcuts .ui-job-nav-compact tbody, html body table.ui-home-jobs-table td.ui-home-job-shortcuts .ui-job-nav-compact tr { display: inline-flex !important; align-items: flex-start !important; gap: 0.25rem; width: auto !important; margin: 0 !important; vertical-align: top !important; } html body table.ui-home-jobs-table td.ui-home-job-shortcuts .ui-job-nav-compact td { display: inline-block !important; padding: 0 !important; vertical-align: top !important; } html body table.ui-home-jobs-table td.ui-home-job-shortcuts .ui-job-nav-compact a { padding: 0.16rem 0.34rem !important; line-height: 1.1 !important; } /* Pass 3: responsive tightening */ @media (max-width: 900px) { html body table.sortTable th, html body table.sortTable2 th, html body table.dataTable th, html body table#dataTable th, html body table.ui-ts-table th, html body table.sortTable td, html body table.sortTable2 td, html body table.dataTable td, html body table#dataTable td, html body table.ui-ts-table td { padding: 0.33rem 0.4rem !important; font-size: 0.9rem; } html body .ui-job-nav .ui-job-nav-links a, html body .ui-job-nav-compact a, html body .ui-job-tabs .ui-job-tab-list li a, html body .ui-job-tabs .ui-tabs-nav li a { padding: 0.28rem 0.5rem !important; font-size: 0.9rem; } } /* Pass 4: interaction + readability polish */ html body table.sortTable tbody tr:hover td, html body table.sortTable2 tbody tr:hover td, html body table.ui-ts-table tbody tr:hover td, html body table.ui-job-table tbody tr:hover td { background: #f4f8ff !important; } html body .button, html body .button1, html body .menuButton { font-weight: 600; letter-spacing: 0.01em; } html body a:focus-visible, html body button:focus-visible, html body input:focus-visible, html body select:focus-visible, html body textarea:focus-visible { outline: 2px solid #0e7a76; outline-offset: 1px; } /* Wave 6 - Unified module look across legacy templates */ html body table.headertable, html body .headertable, html body table.mainheader, html body .mainheader { background: #f7fbff !important; border: 1px solid #c9d2e5 !important; border-radius: 10px !important; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.12) !important; } html body table.headertable td, html body table.mainheader td, html body table#dataTable tr.table-header td, html body table.sortTable tr.table-header td, html body table.sortTable2 tr.table-header td, html body table.dataTable tr.table-header td, html body table.taskTable tr.table-header td, html body .ui-job-edit-table .table-header td, html body .ui-drawing-form-table .table-header, html body .ui-drawing-resource-table .table-header { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%) !important; color: #1f2a44 !important; font-weight: 700 !important; border-top: 1px solid #d7e0ef !important; border-bottom: 1px solid #d7e0ef !important; } html body table.sortTable tbody tr:nth-child(odd) td, html body table.sortTable2 tbody tr:nth-child(odd) td, html body table.dataTable tbody tr:nth-child(odd) td, html body table#dataTable tbody tr:nth-child(odd) td, html body table.taskTable tbody tr:nth-child(odd) td { background: #fbfdff; } html body table.sortTable tbody tr:nth-child(even) td, html body table.sortTable2 tbody tr:nth-child(even) td, html body table.dataTable tbody tr:nth-child(even) td, html body table#dataTable tbody tr:nth-child(even) td, html body table.taskTable tbody tr:nth-child(even) td { background: #f4f8ff; } html body table#taskTable, html body table.taskTable, html body table#jobTable, html body table#hoursTable, html body table#dwgTable, html body table#transmitTable, html body table#costTable, html body table#dataTable { border-radius: 8px; overflow: hidden; } html body .navTable a, html body .navTable2 a, html body .navTableThin a, html body .navTableNormal a, html body .headertable a { text-decoration: none; border-radius: 6px; padding: 0.16rem 0.36rem; } html body .navTable a:hover, html body .navTable2 a:hover, html body .navTableThin a:hover, html body .navTableNormal a:hover, html body .headertable a:hover { background: rgba(14, 122, 118, 0.12); } @media (max-width: 900px) { html body table.headertable td, html body table.mainheader td, html body table#dataTable td, html body table.sortTable td, html body table.sortTable2 td, html body table.dataTable td, html body table.taskTable td { font-size: 0.89rem; padding: 0.32rem 0.38rem !important; } } html body .ui-module-table { width: 100% !important; float: none !important; display: table !important; } html body .ui-module-shell { min-height: 500px; padding: 1rem 1rem 1.1rem; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); border: 1px solid #d7e0ef; border-radius: 10px; box-shadow: 0 10px 24px rgba(31, 42, 68, 0.08); } html body .ui-upload-container { max-width: 800px; margin: 0 auto; } html body .ui-upload-files { text-align: left; } html body .ui-upload-toolbar { width: 100%; padding-bottom: 5px; border-bottom: 2px dashed #a2b3c6; } html body .ui-upload-action { width: 150px; text-align: center; padding-left: 5px; padding-right: 5px; } html body .ui-upload-progress { float: none; width: 450px; border: 1px solid #000; text-align: center; } html body .ui-upload-status { width: 100%; max-width: 800px; text-align: left; padding: 0; margin: 0; background: #f8fbff; border: 1px solid #d7e0ef; border-radius: 8px; box-sizing: border-box; } html body .ui-popup-title { font-size: 24px; } html body .ui-popup-content { min-height: 400px; padding: 10px; margin: 0; background: #f8fbff; font-size: 18px; border: 1px solid #d7e0ef; border-radius: 8px; box-sizing: border-box; } html body .ui-demo-shell { display: block; width: 100%; height: 100%; margin: 0 auto; border: 1px solid #d7e0ef; border-radius: 8px; padding: 0.5rem; background: #f8fbff; } html body .ui-sheet-area { width: 100%; height: 80%; margin-top: 0; } html body .ui-sheet-area-narrow { width: 90%; } html body .ui-kpi-surface { display: block; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; border-top: 1px solid #d7e0ef; position: relative; top: 5px; } html body .ui-kpi-banner { width: 90%; margin: 0 auto; position: relative; top: 30px; text-align: center; float: left; height: 25px; } html body .ui-kpi-toggle { float: left; } html body .ui-kpi-hint { float: right; } html body .ui-block { display: block; } html body .ui-full-width { width: 100%; } html body .ui-float-left { float: left; } html body .ui-float-right { float: right; } html body .ui-negative-top { margin-top: -25px; } html body .ui-drawing-shell-layout { border: 1px solid #c9d2e5; float: right; width: 100%; padding: 8px; } html body .ui-drawing-form-panel { min-height: 400px; padding: 10px; margin: 0; font-size: 18px; } html body .ui-upload-error-row { border-top: 1px solid #ff4136; margin: 2px; color: #ffffff; background-color: #980000; } html body .ui-kpi-table { float: none; position: relative; margin-bottom: 10px; } html body .ui-divider-cell { background: #000000; } html body .legacy-template-notice { position: fixed; top: 0.6rem; left: 50%; transform: translateX(-50%); z-index: 9999; display: flex; align-items: center; gap: 0.55rem; padding: 0.5rem 0.75rem; border: 1px solid #e2bc53; border-left: 5px solid #c88900; border-radius: 8px; background: #fff7df; color: #5c4300; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.18); font-size: 0.9rem; max-width: 92vw; } html body .legacy-template-notice-text { opacity: 0.9; } html body .legacy-template-notice-button { white-space: nowrap; text-decoration: none; padding: 0.25rem 0.55rem; border: 1px solid #d5a33a; background: #ffeab8; color: #4a3500; border-radius: 6px; font-weight: 700; } html body .legacy-template-notice-button:hover { background: #ffe09b; } html body .db-tuning-notice { position: fixed; top: 3.2rem; left: 50%; transform: translateX(-50%); z-index: 9997; display: flex; align-items: center; gap: 0.55rem; padding: 0.5rem 0.75rem; border: 1px solid #a6d8bf; border-left: 5px solid #2f8c63; border-radius: 8px; background: #ebfff3; color: #1e5a3f; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.15); font-size: 0.9rem; max-width: 92vw; } html body .job-summary-lag-notice { position: fixed; top: 5.9rem; left: 50%; transform: translateX(-50%); z-index: 9995; display: flex; align-items: center; gap: 0.55rem; padding: 0.5rem 0.75rem; border: 1px solid #dfc17a; border-left: 5px solid #b48519; border-radius: 8px; background: #fff8e9; color: #624706; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.14); font-size: 0.9rem; max-width: 92vw; } html body .db-tuning-notice-text { opacity: 0.92; } html body .db-tuning-notice-button { white-space: nowrap; text-decoration: none; padding: 0.25rem 0.55rem; border: 1px solid #63b08a; background: #d7f8e6; color: #174733; border-radius: 6px; font-weight: 700; } html body .db-tuning-notice-button:hover { background: #c7f1db; } html body .job-summary-lag-notice-button { white-space: nowrap; text-decoration: none; padding: 0.25rem 0.55rem; border: 1px solid #d0a44c; background: #ffe8b8; color: #5a3e00; border-radius: 6px; font-weight: 700; } html body .job-summary-lag-notice-button:hover { background: #ffdf9f; } html body .notice-dismiss-button { white-space: nowrap; text-decoration: none; padding: 0.25rem 0.55rem; border: 1px solid #a8b2c7; background: #f2f5fb; color: #223553; border-radius: 6px; font-weight: 700; } html body .notice-dismiss-button:hover { background: #e7edf8; } html body .session-notice-ack { position: fixed; top: 5.8rem; left: 50%; transform: translateX(-50%); z-index: 9996; padding: 0.45rem 0.7rem; border: 1px solid #7dbda2; border-left: 5px solid #2f8c63; border-radius: 8px; background: #f0fff7; color: #1c573d; box-shadow: 0 8px 20px rgba(31, 42, 68, 0.14); font-size: 0.86rem; max-width: 88vw; animation: sessionNoticeFadeOut 4.2s ease-in forwards; } @keyframes sessionNoticeFadeOut { 0% { opacity: 0; transform: translateX(-50%) translateY(-8px); } 12% { opacity: 1; transform: translateX(-50%) translateY(0); } 76% { opacity: 1; } 100% { opacity: 0; transform: translateX(-50%) translateY(-6px); visibility: hidden; } } html body .legacy-template-result { margin-left: 0.4rem; padding: 0.2rem 0.45rem; border-radius: 6px; background: #f2f8ff; border: 1px solid #c4d8f0; color: #1f3f66; } html body .legacy-template-result-error { background: #ffe8e8; border-color: #efb3b3; color: #7d1f1f; } html body .ui-modern-menu-top { width: 100%; margin: 0 auto; } html body .ui-modern-menu-top .navIcon, html body .ui-modern-menu-top .small-text { padding: 0.15rem 0.35rem; text-align: center; } html body .ui-modern-menu-sidebar .ui-modern-nav-table { width: 100%; margin: 0; } html body .legacy-template-debug { position: fixed; right: 0.8rem; top: 4.2rem; z-index: 9998; background: #ffffff; border: 1px solid #c9d2e5; border-radius: 8px; box-shadow: 0 8px 24px rgba(31, 42, 68, 0.18); padding: 0.4rem 0.5rem; min-width: 420px; max-width: 92vw; font-size: 0.78rem; color: #1f2a44; } html body .legacy-template-debug-title { font-weight: 700; margin-bottom: 0.25rem; } html body .legacy-template-debug-table { width: 100%; border-collapse: collapse; } html body .legacy-template-debug-table th, html body .legacy-template-debug-table td { border: 1px solid #d7e0ef; padding: 0.2rem 0.3rem; text-align: left; vertical-align: top; background: #fdfefe; } html body .legacy-template-debug-table th { background: #eef4fb; font-weight: 700; } html body .legacy-template-debug-calls-title { margin-top: 0.35rem; font-weight: 700; } html body .legacy-template-debug-calls { margin: 0.2rem 0 0; padding-left: 1.1rem; max-height: 140px; overflow: auto; font-family: monospace; font-size: 0.74rem; } /* Wave 7 - Main shell/top-nav polish */ html body #mainheader { background: linear-gradient(180deg, rgba(247, 251, 255, 0.96), rgba(238, 245, 255, 0.96)); border: 1px solid #c9d2e5; border-radius: 0 0 10px 10px; padding-right: 0.35rem; } html body #mainheader table.mainheader { background: transparent; } html body #mainheader td { vertical-align: top; } html body #mainheader .navIcon { padding: 0.2rem 0.4rem; } html body #mainheader .navIcon a { display: inline-flex; align-items: center; justify-content: center; gap: 0.24rem; min-width: 2.1rem; min-height: 2.1rem; border-radius: 999px; background: rgba(14, 122, 118, 0.08); border: 1px solid rgba(14, 122, 118, 0.18); } html body #mainheader .navIcon a img { max-width: 22px; height: auto; border-radius: 4px; } html body #mainheader .navIcon .ui-nav-icon { font-size: 0.9rem; color: #0e7a76; } html body #mainheader .navIcon a:hover { background: rgba(14, 122, 118, 0.18); } html body #mainheader .small-text a { text-decoration: none; color: #1f2a44; font-weight: 600; } html body #mainheader .small-text a:hover { color: #0e7a76; } html body #mainheader .small-text { padding-top: 0.15rem; padding-left: 0.28rem; padding-right: 0.28rem; } html body #mainheader span.rounded { border: 1px solid #c9d2e5 !important; border-radius: 10px !important; background: #f9fcff; box-shadow: 0 4px 12px rgba(31, 42, 68, 0.12); } html body #sidebar #gridTable, html body #sidebar table#gridTable { width: 100%; border-collapse: collapse; border: 1px solid #d7e0ef; background: #ffffff; } html body #sidebar #gridTable td, html body #sidebar table#gridTable td { border: 1px solid #d7e0ef; padding: 0.35rem 0.45rem; } html body #sidebar #gridTable tr:first-child td, html body #sidebar table#gridTable tr:first-child td { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%); font-weight: 700; } html body #sidebar .navTable { padding: 0.7rem; border: 1px solid #d7e0ef; border-radius: 10px; background: #ffffff; box-shadow: 0 6px 16px rgba(31, 42, 68, 0.08); } html body #sidebar .navTable table { border-collapse: separate; border-spacing: 0 0.2rem; } html body #sidebar .navTable td { border: 0; padding: 0.15rem 0.3rem; } html body #content table#jobTable td { padding-top: 0.42rem; padding-bottom: 0.42rem; border-bottom: 1px solid #e1e8f3; } /* Wave 8 - Sidebar panel layout cleanup */ html body .ui-sidebar-shell { padding: 0.7rem; } html body .ui-sidebar-top { text-align: center; margin-bottom: 0.65rem; } html body .ui-sidebar-top #face { margin: 0 auto 0.4rem; max-width: 96%; } html body .ui-sidebar-top .calendarDiv { margin: 0 auto 0.35rem; } html body .ui-sidebar-panels { text-align: left; display: flex; flex-direction: column; gap: 0.55rem; } html body .ui-sidebar-panels .uihelper-panel { margin: 0 !important; border-radius: 10px; border: 1px solid #c9d2e5; overflow: hidden; } html body .ui-sidebar-panels .uihelper-panel summary { padding: 0.5rem 0.65rem; background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%); border-bottom: 1px solid #d7e0ef; } html body .ui-sidebar-panels .uihelper-panel-body { padding: 0.55rem 0.6rem; } html body .ui-sidebar-panels .ui-module-panel, html body .ui-sidebar-panels .uihelper-panel { background: #ffffff; border: 1px solid #c9d2e5; box-shadow: 0 6px 16px rgba(31, 42, 68, 0.12); } html body .ui-sidebar-panels .ui-module-panel-summary, html body .ui-sidebar-panels .uihelper-panel summary { font-size: 0.9rem; font-weight: 700; color: #1f2a44; } html body .ui-sidebar-panels .ui-module-panel-body { background: #ffffff; } html body .ui-sidebar-link-list .ui-sidebar-link-item { padding-top: 0.34rem; padding-bottom: 0.34rem; background: transparent; text-align: left !important; position: relative; padding-left: 0.95rem; } html body .ui-sidebar-link-list .ui-sidebar-link-item a { text-decoration: none; font-weight: 600; color: #1f2a44; text-align: left !important; } html body .ui-sidebar-link-list .ui-sidebar-link-item a:hover { color: #0e7a76; } html body .ui-sidebar-link-list .ui-sidebar-link-item::before { content: ""; position: absolute; left: 0.3rem; top: 0.75rem; width: 0.34rem; height: 0.34rem; border-radius: 50%; background: #9db3d6; } html body .ui-sidebar-icon-list .ui-sidebar-link-item { padding: 0.42rem 0.35rem !important; padding-left: 0.35rem !important; } html body .ui-sidebar-icon-list .ui-sidebar-link-item::before { display: none; } html body .ui-sidebar-link-icon { width: 1.25rem; display: inline-block; text-align: center; margin-right: 0.35rem; color: #5f77a3; flex-shrink: 0; } html body .ui-sidebar-icon-list .ui-sidebar-link-item a { display: inline-flex; align-items: center; gap: 0.2rem; } html body .ui-sidebar-panels .ui-module-panel { margin-bottom: 0.75rem; } html body #job-search-panel .uihelper-panel-body, html body #ts-reports-panel .uihelper-panel-body, html body #ts-search-panel .uihelper-panel-body { padding: 0.72rem 0.78rem; } html body #drawing-search-panel .uihelper-panel-body { padding: 0.72rem 0.78rem; } html body #drawing-search-panel .ui-drawing-search-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem 0.55rem; align-items: end; } html body #drawing-search-panel .ui-drawing-search-field { margin: 0; min-width: 0; } html body #drawing-search-panel .ui-drawing-search-term, html body #drawing-search-panel .ui-drawing-search-submit { grid-column: 1 / -1; } html body #drawing-search-panel label { display: block; margin: 0 0 0.2rem; font-size: 0.68rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #5a6784; } html body #drawing-search-panel input, html body #drawing-search-panel select, html body #drawing-search-panel .quadro-select-wrapper, html body #drawing-search-panel .quadro-select-button { width: 100% !important; max-width: 100% !important; box-sizing: border-box; } html body #drawing-search-panel .quadro-select-dropdown { min-width: 100% !important; max-width: 18rem; } html body .ui-sidebar-link-text { line-height: 1.35; } html body .ui-sidebar-panels .list-group-item { padding: 0.36rem 0.25rem; border-left: 0; border-right: 0; } html body table.ui-drawing-register-table { width: 100% !important; background: #ffffff; border: 1px solid #c9d2e5; border-collapse: collapse; box-shadow: 0 8px 20px rgba(31, 42, 68, 0.08); } html body table.ui-drawing-register-table thead th { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%) !important; color: #1f2a44 !important; border-color: #d7e0ef !important; } html body table.ui-drawing-register-table tbody td { border-color: #d7e0ef !important; } html body table.ui-drawing-register-table tbody tr:nth-child(odd) td { background: #fbfdff; } html body table.ui-drawing-register-table tbody tr:nth-child(even) td { background: #f4f8ff; } html body table.ui-drawing-register-table tbody tr:hover td { background: #eaf3ff !important; } html body .ui-dwg-markup-popup { padding: 0.5rem 0.5rem 0.35rem; background: #ffffff; } html body .ui-dwg-markup-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 0.85rem; border-bottom: 1px solid #d7e0ef; } html body .ui-dwg-markup-title { font-size: 1.1rem; font-weight: 700; color: #1f2a44; } html body .ui-dwg-markup-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.6rem; padding: 0.12rem 0.42rem; margin-left: 0.35rem; border-radius: 999px; background: #e8f0fb; border: 1px solid #bfd0e6; color: #23456f; font-size: 0.78rem; font-weight: 700; vertical-align: middle; } html body .ui-dwg-markup-subtitle { margin-top: 0.22rem; color: #52627a; font-size: 0.92rem; } html body .ui-dwg-markup-new { display: inline-flex; align-items: center; justify-content: center; padding: 0.44rem 0.8rem; border-radius: 6px; border: 1px solid #9db4d3; background: linear-gradient(180deg, #f8fbff 0%, #eaf2fb 100%); color: #23456f; font-weight: 700; text-decoration: none; white-space: nowrap; } html body .ui-dwg-markup-new:hover { background: linear-gradient(180deg, #edf5ff 0%, #ddeaf9 100%); text-decoration: none; } html body .ui-dwg-markup-new:focus, html body .ui-dwg-markup-open:focus, html body .ui-dwg-markup-delete:focus { outline: none; box-shadow: 0 0 0 3px rgba(93, 134, 196, 0.18); } html body table.ui-dwg-markup-table { margin-top: 0.9rem; box-shadow: none; } html body table.ui-dwg-markup-table thead th { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%) !important; color: #1f2a44 !important; border-color: #d7e0ef !important; } html body table.ui-dwg-markup-table tbody td { border-color: #d7e0ef !important; vertical-align: middle; } html body table.ui-dwg-markup-table tbody tr:nth-child(odd) td { background: #fbfdff; } html body table.ui-dwg-markup-table tbody tr:nth-child(even) td { background: #f4f8ff; } html body table.ui-dwg-markup-table tbody tr:hover td { background: #eaf3ff !important; } html body .ui-dwg-markup-empty { padding: 1rem 0.85rem; color: #5e6b81; font-style: italic; background: #f9fbfd; text-align: center; } html body .ui-dwg-markup-actions { white-space: nowrap; text-align: right; } html body .ui-dwg-markup-open { display: inline-flex; align-items: center; justify-content: center; padding: 0.28rem 0.58rem; border: 1px solid #b9cae1; border-radius: 5px; background: #f7fbff; color: #1f4f8a; font-weight: 700; text-decoration: none; } html body .ui-dwg-markup-open:hover { background: #edf5ff; border-color: #9eb7d9; text-decoration: underline; } html body .ui-dwg-markup-delete { display: inline-flex; align-items: center; justify-content: center; gap: 0.3rem; margin-left: 0.45rem; padding: 0.28rem 0.55rem; border: 1px solid #e6a7a7; border-radius: 5px; background: #fff4f4; color: #b42318; font-weight: 700; cursor: pointer; } html body .ui-dwg-markup-delete:hover { background: #ffe9e9; border-color: #d98d8d; } html body .ui-dwg-markup-disabled { display: inline-flex; align-items: center; gap: 0.3rem; color: #8b95a6; white-space: nowrap; cursor: not-allowed; } html body .ui-drawing-file-badge { display: inline-block; margin-left: 0.35rem; padding: 0.08rem 0.32rem; border: 1px solid #9db4d3; border-radius: 4px; background: #eef5ff; color: #23456f; font-size: 0.72rem; font-weight: 700; line-height: 1.2; vertical-align: middle; } html body .ui-dwg-select-all-head { width: 1.5em !important; min-height: 3.1em; border: 1px solid #c2cede !important; } html body .ui-dwg-select-all-wrap { position: relative; left: -14px; display: inline-flex; align-items: center; gap: 0.2rem; border: 0; } html body .ui-dwg-select-icon { display: inline-block; position: relative; left: 0.2em; top: 2px; color: #1f4f8a; } html body .ui-dwg-select-check { position: relative; top: 4px; } html body .ui-dwg-actions-head { width: auto; } html body .ui-dwg-actions-wrap { display: flex; align-items: center; justify-content: space-between; gap: 0.55rem; width: 100%; } html body .ui-dwg-actions-right { display: flex; align-items: center; justify-content: flex-end; gap: 0.55rem; } html body .ui-dwg-actions-wrap .menuContainer { float: none; } html body .ui-dwg-menu-button { color: #1f4f8a; } html body .ui-dwg-issue-cell { width: auto; } html body .ui-drawing-shell-layout { float: none; width: auto; padding: 0.75rem 0.85rem; margin-bottom: 0.75rem; border: 1px solid #c9d2e5; } html body .ui-drawing-toolbar, html body .ui-drawing-section-head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; } html body .ui-drawing-toolbar-title { font-size: 1.05rem; font-weight: 700; color: #1f2a44; } html body .ui-drawing-toolbar-title span { color: #0e7a76; } /* Drawing Register report toolbar links (embedded in drawing list header) */ html body .ui-dwgreg-toolbar-links { display: flex; align-items: center; gap: 0.3rem 0.55rem; flex-wrap: wrap; margin-left: auto; } html body .ui-dwgreg-toolbar-label { font-size: 0.78rem; font-weight: 600; color: #4a5568; text-transform: uppercase; letter-spacing: 0.03em; white-space: nowrap; } html body .ui-dwgreg-toolbar-link { font-size: 0.78rem; padding: 0.18rem 0.55rem; border: 1px solid #b9c8df; border-radius: 4px; background: linear-gradient(180deg, #ffffff 0%, #edf4ff 100%); color: #1f4f8a; text-decoration: none; white-space: nowrap; transition: background 0.15s, border-color 0.15s; } html body .ui-dwgreg-toolbar-link:hover { background: linear-gradient(180deg, #dce8ff 0%, #c5d9f5 100%); border-color: #3b6abf; color: #0e2f6a; text-decoration: none; } html body .ui-drawing-toolbar-actions, html body .ui-drawing-table-actions { display: flex; align-items: center; justify-content: flex-end; gap: 0.45rem; flex-wrap: wrap; } html body .ui-dwg-toolbar-button, html body .ui-dwg-menu-button { border-color: #b9c8df !important; background: linear-gradient(180deg, #ffffff 0%, #edf4ff 100%) !important; color: #1f4f8a !important; box-shadow: 0 2px 8px rgba(31, 42, 68, 0.12); } html body .ui-dwg-danger-button { border-color: #efb2b2 !important; background: linear-gradient(180deg, #fffafa 0%, #ffe7e7 100%) !important; color: #a33131 !important; } html body .ui-drawing-history { margin-top: 1rem; padding: 0.75rem; } html body .ui-drawing-section-head { margin-bottom: 0.55rem; } html body .ui-drawing-section-head h2 { margin: 0; font-size: 1rem; color: #1f2a44; } html body .ui-drawing-section-head p { margin: 0.15rem 0 0; color: #5a6784; font-size: 0.88rem; } html body table.ui-drawing-transmit-table, html body table.ui-drawing-transmit-items { width: 100% !important; border-collapse: collapse !important; border: 1px solid #d7e0ef; background: #ffffff; } html body table.ui-drawing-transmit-table th, html body table.ui-drawing-transmit-items tr:first-child td { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%) !important; color: #1f2a44 !important; font-weight: 700; border-bottom: 1px solid #d7e0ef !important; } html body table.ui-drawing-transmit-table td, html body table.ui-drawing-transmit-table th, html body table.ui-drawing-transmit-items td { padding: 0.42rem 0.55rem !important; border-color: #d7e0ef !important; vertical-align: top; } html body table.ui-drawing-form-table input[type=text], html body table.ui-drawing-form-table input:not([type]), html body table.ui-drawing-form-table input[type=file], html body table.ui-drawing-form-table textarea { max-width: 100%; } html body .ui-drawing-transmit-doc { width: 100% !important; max-width: 980px; margin: 0.6rem auto !important; padding: 0.75rem; background: #ffffff; border: 1px solid #c9d2e5; border-radius: 8px; box-shadow: 0 8px 22px rgba(31, 42, 68, 0.1); } html body .ui-transmit-body { background: radial-gradient(circle at top right, #dde5f5, #eef2fb) !important; } html body .ui-transmit-modal-note, html body .ui-transmit-modal-shell, html body .ui-transmit-prepare-panel, html body .ui-transmit-view-panel { width: calc(100% - 1.2rem) !important; margin: 0.6rem auto !important; border: 1px solid #c9d2e5 !important; border-radius: 8px; box-shadow: 0 8px 22px rgba(31, 42, 68, 0.1); background: #ffffff !important; } html body .ui-transmit-summary-row td { background: linear-gradient(180deg, #f7fbff 0%, #e8f0fb 100%) !important; color: #1f2a44 !important; border-color: #d7e0ef !important; } html body .ui-transmit-note { width: 100%; min-height: 7rem; } html body .ui-transmit-contact-panel, html body .ui-transmit-side-panel { padding: 0.65rem !important; border: 1px solid #d7e0ef !important; border-radius: 8px; background: #fbfdff; } html body .ui-transmit-add-email { display: flex; gap: 0.4rem; align-items: center; margin-bottom: 0.45rem; } html body .ui-transmit-add-email input#address { min-width: 0; flex: 1; } html body #contactList, html body #contactSelect { margin: 0.35rem 0 0; padding: 0.35rem; border: 1px dashed #b8c7df; border-radius: 8px; background: #ffffff; } html body #contactList li, html body #contactSelect li { margin: 0.25rem 0; border-radius: 6px; } html body .ui-transmit-view-grid { display: grid; grid-template-columns: repeat(2, minmax(240px, 1fr)); gap: 0.75rem; } @media (max-width: 991px) { html body .ui-drawing-toolbar, html body .ui-drawing-section-head, html body .ui-drawing-table-actions { align-items: flex-start; flex-direction: column; } .ui-transmit-grid, html body .ui-transmit-view-grid { grid-template-columns: 1fr; } } /* ─── Drawing Register Report ─────────────────────────────────────────────── */ .ui-dwgreg-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem 0.75rem; padding: 0.55rem 0.8rem; margin-bottom: 0.75rem; border-radius: 6px; font-size: 0.875rem; } .ui-dwgreg-view-label { color: #4a5568; } .ui-dwgreg-view-link { color: #3b5998; text-decoration: none; padding: 0.15rem 0.4rem; border-radius: 4px; transition: background 0.15s; } .ui-dwgreg-view-link:hover { background: #e8eef6; text-decoration: none; } .ui-dwgreg-view-active { font-weight: bold; color: #1a3560; background: #dce8ff; border-radius: 4px; padding: 0.15rem 0.4rem; } .ui-dwgreg-view-desc { color: #718096; font-style: italic; font-size: 0.82rem; } .ui-dwgreg-sep { color: #a0aec0; } .ui-dwgreg-print-btn, .ui-dwgreg-back-btn { margin-left: auto; font-size: 0.8rem; } .ui-dwgreg-back-btn { margin-left: 0.25rem; } /* Formal report header */ .ui-dwgreg-report-header { border: 2px solid #2c3e6d; border-radius: 6px; padding: 0.9rem 1.1rem 0.75rem; margin-bottom: 0.75rem; background: #f4f7fc; } .ui-dwgreg-report-title { font-size: 1.35rem; font-weight: 700; letter-spacing: 0.04em; color: #1a2a50; text-transform: uppercase; margin-bottom: 0.45rem; } .ui-dwgreg-report-meta { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; font-size: 0.87rem; color: #3a4b6c; } .ui-dwgreg-report-meta strong { color: #1a2a50; } /* Register table */ .ui-dwgreg-table-wrap { overflow-x: auto; margin-bottom: 0.5rem; } .ui-dwgreg-table { border-collapse: collapse; font-size: 0.84rem; width: 100%; background: #fff; } .ui-dwgreg-table thead th { background: linear-gradient(135deg, #2c3e6d 0%, #3d5a9a 100%); color: #fff; font-weight: 600; padding: 0.45rem 0.65rem; text-align: left; border: 1px solid #1a2a50; white-space: nowrap; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; } .ui-dwgreg-table tbody tr.ui-dwgreg-row { border-bottom: 1px solid #d7e0ef; } .ui-dwgreg-table tbody tr.ui-dwgreg-row:hover { background: #eef3fb; } .ui-dwgreg-table td { padding: 0.32rem 0.65rem; vertical-align: top; color: #2d3748; border-right: 1px solid #e8edf5; } .ui-dwgreg-table td:last-child { border-right: none; } .ui-dwgreg-revcell { white-space: nowrap; min-width: 3.5rem; } .ui-dwgreg-fname { font-size: 0.78rem; color: #555; word-break: break-all; } /* Latest revision highlight */ .ui-dwgreg-rev-latest { background: #f0f7f0 !important; } /* Obsolete rows */ .ui-dwgreg-row-obs td { color: #aaa; text-decoration: line-through; } /* Status badges */ .ui-dwgreg-active { display: inline-block; padding: 0.1rem 0.45rem; background: #d4edda; color: #155724; border-radius: 4px; font-size: 0.75rem; font-weight: 600; } .ui-dwgreg-obs { display: inline-block; padding: 0.1rem 0.45rem; background: #f8d7da; color: #721c24; border-radius: 4px; font-size: 0.75rem; font-weight: 600; } /* Stale transmittal indicator */ .ui-dwgreg-tx-stale { color: #856404; } /* Empty state */ .ui-dwgreg-empty { text-align: center; padding: 1.5rem; color: #718096; font-style: italic; } /* Summary strip */ .ui-dwgreg-summary { display: flex; gap: 1.25rem; font-size: 0.82rem; color: #4a5568; padding: 0.35rem 0.1rem; } .ui-dwgreg-obs-count { color: #c53030; } /* ─── Print styles for Drawing Register ───────────────────────────────────── */ @media print { html body .ui-dwgreg-toolbar, html body .ui-dwgreg-summary { display: none !important; } html body .ui-dwgreg-report-header { border: 2px solid #000; background: #fff; page-break-inside: avoid; } html body .ui-dwgreg-report-title { color: #000; } html body .ui-dwgreg-table-wrap { overflow: visible; } html body .ui-dwgreg-table { font-size: 0.78rem; } html body .ui-dwgreg-table thead th { background: #1a2a50 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; } html body .ui-dwgreg-table tbody tr.ui-dwgreg-row { page-break-inside: avoid; } html body .ui-dwgreg-active { background: none; color: #000; border: 1px solid #000; -webkit-print-color-adjust: exact; print-color-adjust: exact; } html body .ui-dwgreg-obs { background: none; color: #666; border: 1px solid #666; } html body .ui-dwgreg-rev-latest { background: #f5f5f5 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; } }