/
slsh
/
agent_register
Обзор
Документация
Войти
/
slsh
/
agent_register
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/static/styles.css
4 114 строк
77 KB
Igor Tveritin
error tracking
27 июл 2026, 11:52
27 июл 2026, 11:52
37b4776
Код
Авторство
О чём код?
:root { color-scheme: light; font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", sans-serif; background: #FAF7F2; color: #1F1F1E; scrollbar-gutter: stable; --palette-light-bg: #FAF7F2; --palette-light-surface: #F9F4ED; --palette-light-border: #F7F0E8; --palette-light-ink: #1F1F1E; --palette-light-red: #E54B4B; --chart-high: #E54B4B; --chart-mid: #EDC74A; --chart-low: #85CB33; --chart-other: #1F1F1E; --chart-muted: #F7F0E8; --chart-blue: #4A78C2; --chart-cyan: #3FA7A3; --chart-purple: #8A68A6; --chart-orange: #D98245; --sidebar-width: clamp(240px, 21vw, 340px); --preview-drawer-width: 560px; --file-preview-drawer-width: 1040px; } * { box-sizing: border-box; } body { background: #FAF7F2; color: #1F1F1E; font-size: 14px; line-height: 1.5; margin: 0; } body.modal-open { overflow: hidden; } .toast-region { bottom: 22px; display: grid; gap: 10px; position: fixed; right: 22px; width: min(360px, calc(100vw - 32px)); z-index: 12000; } .toast { align-items: center; background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 18px; box-shadow: 0 18px 44px rgba(31, 31, 30, 0.18); color: #1F1F1E; display: grid; gap: 10px; grid-template-columns: 9px minmax(0, 1fr) 28px; min-height: 48px; opacity: 0; padding: 10px 10px 10px 14px; transform: translateY(8px); transition: opacity 160ms ease, transform 160ms ease; } .toast.is-visible { opacity: 1; transform: translateY(0); } .toast-marker { background: #E54B4B; border-radius: 999px; height: 9px; width: 9px; } .toast.is-success .toast-marker { background: #85CB33; } .toast.is-error .toast-marker { background: #E54B4B; } .toast-close { align-items: center; background: transparent; border: 0; border-radius: 999px; color: rgba(31, 31, 30, 0.62); cursor: pointer; display: inline-grid; font: inherit; font-size: 20px; height: 28px; justify-items: center; line-height: 1; padding: 0; width: 28px; } .toast-close:hover, .toast-close:focus-visible { background: rgba(31, 31, 30, 0.05); outline: none; } .topbar { align-items: center; background: #F9F4ED; border-bottom: 1px solid #F7F0E8; display: flex; gap: 20px; justify-content: space-between; min-height: 64px; padding: 0 32px; transition: background-color 140ms ease, border-color 140ms ease; } .shell { background: #FCFAF7; display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); min-height: 100vh; } .shell.nav-animating { transition: grid-template-columns 140ms ease-out; } :root[data-sidebar-initial="collapsed"] .shell { --sidebar-width: 72px; } .sidebar { background: #F9F4ED; border-right: 1px solid rgba(31, 31, 30, 0.08); display: flex; flex-direction: column; gap: 16px; overflow: hidden; padding: 18px 14px 16px; position: relative; transition: background-color 140ms ease, border-color 140ms ease; } .sidebar-brand { align-items: center; border-radius: 999px; color: #1F1F1E; display: flex; flex: 0 0 auto; min-height: 48px; min-width: 0; padding: 0 12px; } .sidebar-brand-mark { display: block; font-size: 24px; font-weight: 600; line-height: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .nav { display: grid; gap: 16px; } .nav-section { display: grid; gap: 8px; min-width: 0; } .nav-section-title { color: rgba(31, 31, 30, 0.62); font-size: 12px; font-weight: 500; line-height: 1.25; margin: 0 12px 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .nav-section-links { display: grid; gap: 8px; min-width: 0; } .nav-link { align-items: center; border-radius: 999px; color: rgba(31, 31, 30, 0.72); display: flex; gap: 9px; font-size: 14px; font-weight: 500; min-height: 40px; min-width: 0; padding: 9px 12px; text-decoration: none; transition: background-color 120ms ease, color 120ms ease; } .nav-text { max-width: calc(var(--sidebar-width) - 92px); min-width: 0; opacity: 1; overflow: hidden; text-overflow: ellipsis; transition: opacity 70ms ease, max-width 90ms ease; white-space: nowrap; } .nav-link:hover, .nav-link.active { background: rgba(31, 31, 30, 0.05); color: #1F1F1E; } .nav-link.active { box-shadow: inset 2px 0 0 #E54B4B; } .nav-icon { border: 1px solid #F7F0E8; border-radius: 999px; display: inline-block; flex: 0 0 22px; height: 22px; position: relative; width: 22px; } .table-icon::before { background: linear-gradient(#F7F0E8, #F7F0E8) 0 33% / 100% 1px no-repeat, linear-gradient(#F7F0E8, #F7F0E8) 0 66% / 100% 1px no-repeat, linear-gradient(90deg, #F7F0E8, #F7F0E8) 33% 0 / 1px 100% no-repeat, linear-gradient(90deg, #F7F0E8, #F7F0E8) 66% 0 / 1px 100% no-repeat; content: ""; inset: 4px; position: absolute; } .app-icon::before { border: 1px solid #F7F0E8; border-radius: 6px; content: ""; inset: 5px; position: absolute; } .app-icon::after { background: radial-gradient(circle, #E54B4B 0 2px, transparent 2px) 0 0 / 7px 7px, radial-gradient(circle, #F7F0E8 0 2px, transparent 2px) 4px 4px / 7px 7px; content: ""; inset: 7px; position: absolute; } .chart-icon::before, .chart-icon::after { bottom: 4px; content: ""; position: absolute; } .chart-icon::before { background: #E54B4B; box-shadow: 6px -5px 0 #F7F0E8, 12px -10px 0 #1F1F1E; height: 7px; left: 50%; transform: translateX(-8px); width: 4px; } .chart-icon::after { background: #F7F0E8; height: 1px; left: 3px; right: 3px; } .psi-icon::before { color: #E54B4B; content: "П"; display: grid; font-size: 13px; font-weight: 900; inset: 0; line-height: 1; place-items: center; position: absolute; text-align: center; } .test-icon::before { border: solid #E54B4B; border-width: 0 2px 2px 0; content: ""; height: 10px; left: 50%; position: absolute; top: 50%; transform: translate(-50%, -60%) rotate(45deg); width: 5px; } .risk-icon::before { background: #E54B4B; border-radius: 999px; content: ""; height: 9px; left: 50%; position: absolute; top: 5px; transform: translateX(-50%); width: 2px; } .risk-icon::after { background: #E54B4B; border-radius: 999px; bottom: 5px; content: ""; height: 3px; left: 50%; position: absolute; transform: translateX(-50%); width: 3px; } .shell.nav-collapsed { --sidebar-width: 72px; } .shell.nav-collapsing .nav-text, .shell.nav-expanding .nav-text { max-width: 0; opacity: 0; } .shell.nav-collapsed .sidebar, :root[data-sidebar-initial="collapsed"] .shell .sidebar { gap: 12px; padding: 16px 12px; } .shell.nav-collapsed .sidebar-brand, :root[data-sidebar-initial="collapsed"] .shell .sidebar-brand { align-self: center; height: 46px; justify-content: center; min-height: 46px; padding: 0; width: 46px; } .shell.nav-collapsed .sidebar-brand-mark, :root[data-sidebar-initial="collapsed"] .shell .sidebar-brand-mark { font-size: 14px; text-align: center; } .shell.nav-collapsed .nav, :root[data-sidebar-initial="collapsed"] .shell .nav { gap: 9px; justify-items: center; } .shell.nav-collapsed .nav-section, :root[data-sidebar-initial="collapsed"] .shell .nav-section { justify-items: center; } .shell.nav-collapsed .nav-section-title, .shell.nav-collapsing .nav-section-title, .shell.nav-expanding .nav-section-title, :root[data-sidebar-initial="collapsed"] .shell .nav-section-title { display: none; } .shell.nav-collapsed .nav-section-links, :root[data-sidebar-initial="collapsed"] .shell .nav-section-links { justify-items: center; } .shell.nav-collapsed .nav-link, :root[data-sidebar-initial="collapsed"] .shell .nav-link { border-radius: 999px; display: grid; gap: 0; height: 46px; place-items: center; justify-items: center; min-height: 46px; padding: 0; width: 46px; } .shell.nav-collapsed .settings-button, :root[data-sidebar-initial="collapsed"] .shell .settings-button { border-radius: 999px; display: grid; gap: 0; height: 46px; place-items: center; justify-items: center; min-height: 46px; padding: 0; width: 46px; } .shell.nav-collapsed .nav-text, :root[data-sidebar-initial="collapsed"] .shell .nav-text { display: none; max-width: 0; opacity: 0; } .shell.nav-collapsed .nav-icon, :root[data-sidebar-initial="collapsed"] .shell .nav-icon { flex-basis: 24px; height: 24px; width: 24px; } .shell.nav-collapsed .settings-icon, :root[data-sidebar-initial="collapsed"] .shell .settings-icon { flex-basis: 24px; height: 24px; width: 24px; } .shell.nav-collapsed .sidebar-footer, :root[data-sidebar-initial="collapsed"] .shell .sidebar-footer { justify-content: center; } .sidebar-resizer { bottom: 0; cursor: col-resize; position: absolute; right: -5px; top: 0; width: 10px; z-index: 30; } .sidebar-resizer::after { background: transparent; border-radius: 999px; content: ""; left: 4px; position: absolute; top: 18px; bottom: 18px; width: 2px; } .sidebar-resizer:hover::after, .sidebar-resizer:focus-visible::after, body.resizing-sidebar .sidebar-resizer::after { background: #E54B4B; } body.resizing-sidebar { cursor: col-resize; user-select: none; } .brand { color: #1F1F1E; font-size: 16px; font-weight: 600; text-decoration: none; } .sidebar-footer { display: flex; margin-top: auto; padding-top: 18px; } .settings-button { align-items: center; background: transparent; border: 0; border-radius: 999px; color: rgba(31, 31, 30, 0.72); cursor: pointer; display: flex; font: inherit; font-size: 14px; font-weight: 500; gap: 9px; min-height: 40px; min-width: 0; padding: 9px 12px; text-align: left; transition: background-color 120ms ease, color 120ms ease; width: 100%; } .settings-button:hover, .settings-button:focus-visible { background: rgba(31, 31, 30, 0.05); color: #1F1F1E; outline: none; } .settings-icon { align-items: center; border: 1px solid #F7F0E8; border-radius: 999px; display: inline-grid; flex: 0 0 22px; height: 22px; justify-items: center; position: relative; width: 22px; } .settings-icon::before { content: "⚙"; font-size: 14px; line-height: 1; transform: translateY(-1px); } .theme-toggle { align-items: center; background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 999px; color: #1F1F1E; cursor: pointer; display: inline-grid; height: 34px; justify-items: center; padding: 0; transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease; width: 46px; } .theme-toggle:hover, .theme-toggle:focus-visible { border-color: #E54B4B; outline: none; } .theme-toggle-icon::before { content: "☀"; display: block; font-size: 18px; line-height: 1; } :root[data-theme="dark"] .theme-toggle { background: #1F1F1E; border-color: #F7F0E8; color: #F9F4ED; } :root[data-theme="dark"] .theme-toggle-icon::before { content: "☾"; font-size: 20px; transform: translateY(-1px); } .page { background: #FCFAF7; min-width: 0; overflow-x: hidden; padding: 24px clamp(16px, 2.8vw, 30px) 42px; transition: background-color 140ms ease; } .toolbar { align-items: center; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 16px; min-width: 0; } .toolbar-title { align-items: center; display: inline-flex; flex: 0 0 auto; flex-wrap: nowrap; gap: 12px; min-width: 0; width: max-content; white-space: nowrap; } .toolbar h1 { flex: 0 0 auto; font-size: 26px; font-weight: 600; letter-spacing: 0; line-height: 1.25; margin: 0; min-width: 0; white-space: nowrap; } .toolbar-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; min-width: 0; } .error-filter-control { flex: 0 0 auto; position: relative; } .error-filter-button { align-items: center; background: rgba(229, 75, 75, 0.07); border: 1px solid rgba(229, 75, 75, 0.34); border-radius: 50%; color: #C83C3C; display: inline-flex; font-size: 14px; font-weight: 700; height: 27px; justify-content: center; line-height: 1; text-decoration: none; transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease; width: 27px; } .error-filter-button:hover, .error-filter-button:focus-visible { background: rgba(229, 75, 75, 0.14); border-color: rgba(229, 75, 75, 0.52); color: #A82E2E; outline: none; } .error-filter-button.active { background: #E54B4B; border-color: #E54B4B; color: #FFFFFF; } .error-filter-tooltip { background: #FFFFFF; border: 1px solid rgba(31, 31, 30, 0.1); border-radius: 6px; box-shadow: 0 12px 30px rgba(31, 31, 30, 0.14); color: #1F1F1E; display: grid; gap: 9px; left: 0; min-width: 230px; opacity: 0; padding: 12px; pointer-events: none; position: absolute; top: calc(100% + 8px); transform: translateY(-4px); transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease; visibility: hidden; z-index: 90; } .error-filter-control:hover .error-filter-tooltip, .error-filter-control:focus-within .error-filter-tooltip { opacity: 1; transform: translateY(0); visibility: visible; } .error-filter-tooltip > strong { font-size: 12px; font-weight: 600; } .error-filter-tooltip > span { align-items: center; display: flex; gap: 14px; justify-content: space-between; } .error-filter-tooltip em { color: rgba(31, 31, 30, 0.7); font-size: 12px; font-style: normal; white-space: nowrap; } .error-filter-tooltip b { align-items: center; background: rgba(229, 75, 75, 0.1); border-radius: 999px; color: #A82E2E; display: inline-flex; font-size: 11px; justify-content: center; min-width: 24px; padding: 3px 7px; } .counter { background: #F7F0E8; border-radius: 999px; color: #1F1F1E; flex: 0 0 auto; font-size: 13px; font-weight: 500; padding: 5px 11px; white-space: nowrap; } .result-line { color: rgba(31, 31, 30, 0.62); font-size: 13px; margin-bottom: 10px; } .result-line span { color: #1F1F1E; font-weight: 500; } .search-panel { margin: -2px 0 10px; } .search-box { align-items: center; background: #F9F4ED; border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 999px; display: grid; gap: 9px; grid-template-columns: 20px minmax(0, 1fr) 36px; min-height: 46px; padding: 5px 8px 5px 16px; transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease; width: 100%; } .search-box:focus-within { background: #F9F4ED; border-color: rgba(31, 31, 30, 0.14); box-shadow: 0 0 0 3px rgba(229, 75, 75, 0.18); } .search-icon { border: 2px solid rgba(31, 31, 30, 0.62); border-radius: 50%; display: inline-block; height: 16px; position: relative; width: 16px; } .search-icon::after { background: rgba(31, 31, 30, 0.62); border-radius: 999px; content: ""; height: 2px; position: absolute; right: -7px; top: 11px; transform: rotate(45deg); width: 8px; } .search-box input { appearance: none; background: #F9F4ED; border: 0; border-radius: 999px; color: #1F1F1E; font-size: 14px; min-height: 36px; min-width: 0; padding: 7px 4px; } .search-box input::-webkit-search-decoration, .search-box input::-webkit-search-cancel-button, .search-box input::-webkit-search-results-button, .search-box input::-webkit-search-results-decoration { appearance: none; display: none; } .search-box input:focus { outline: none; } .search-box input::placeholder { color: rgba(31, 31, 30, 0.62); } .search-clear { align-items: center; background: transparent; border: 0; border-radius: 999px; color: rgba(31, 31, 30, 0.62); cursor: pointer; display: inline-grid; font: inherit; font-size: 20px; height: 32px; justify-items: center; line-height: 1; padding: 0; width: 32px; } .search-clear:hover, .search-clear:focus-visible { background: rgba(229, 75, 75, 0.18); color: #1F1F1E; outline: none; } .button { align-items: center; background: transparent; border: 1px solid rgba(31, 31, 30, 0.12); border-radius: 999px; color: #1F1F1E; cursor: pointer; display: inline-flex; font: inherit; font-size: 14px; font-weight: 500; min-height: 36px; padding: 7px 13px; text-decoration: none; } .button:hover, .button:focus-visible { background: rgba(31, 31, 30, 0.05); outline: none; } .button.view-toggle { justify-content: center; padding-left: 9px; padding-right: 9px; white-space: nowrap; width: 118px; } .button.view-toggle.active { background: #F7F0E8; border-color: rgba(31, 31, 30, 0.12); color: #1F1F1E; } .button.primary { background: #E54B4B; border-color: #E54B4B; color: #F9F4ED; } .button.primary:hover, .button.primary:focus-visible { background: #E54B4B; border-color: #E54B4B; color: #F9F4ED; } .button:disabled, .button[aria-disabled="true"] { cursor: not-allowed; opacity: 0.48; pointer-events: none; } .button.is-loading { gap: 8px; } .button.is-loading::before, .preview-file-action.is-loading::before { animation: ui-spin 720ms linear infinite; border: 2px solid currentColor; border-right-color: transparent; border-radius: 999px; content: ""; flex: 0 0 auto; height: 14px; width: 14px; } @keyframes ui-spin { to { transform: rotate(360deg); } } .button.danger { border-color: #E54B4B; color: #E54B4B; } .settings-backdrop { align-items: center; background: rgba(31, 31, 30, 0.52); display: flex; height: 100dvh; inset: 0; justify-content: center; min-height: 100vh; opacity: 0; overflow: hidden; overscroll-behavior: contain; padding: 18px; position: fixed; transition: opacity 180ms ease; width: 100vw; z-index: 11000; } .settings-backdrop.is-open { opacity: 1; } .settings-backdrop[hidden] { display: none; } .settings-dialog { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 20px; box-shadow: 0 24px 64px rgba(31, 31, 30, 0.28); display: grid; grid-template-rows: auto minmax(0, 1fr); max-height: calc(100dvh - 36px); opacity: 0; overflow: hidden; position: relative; transform: translateY(10px) scale(0.98); transition: opacity 180ms ease, transform 180ms ease; width: min(420px, calc(100vw - 36px)); z-index: 1; } .settings-backdrop.is-open .settings-dialog { opacity: 1; transform: translateY(0) scale(1); } .settings-body { display: grid; gap: 14px; padding: 18px; } .settings-row { align-items: center; background: rgba(31, 31, 30, 0.03); border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 16px; display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) auto; min-height: 62px; padding: 12px 14px; } .settings-copy { display: grid; gap: 3px; min-width: 0; } .settings-copy strong { color: #1F1F1E; font-size: 14px; font-weight: 600; } .settings-row .theme-toggle { flex: 0 0 auto; } .modal-backdrop { align-items: stretch; background: rgba(31, 31, 30, 0.72); display: flex; height: 100dvh; inset: 0; justify-content: flex-end; min-height: 100vh; overflow: hidden; overscroll-behavior: contain; padding: 0; position: fixed; opacity: 0; transition: opacity 180ms ease; width: 100vw; z-index: 10000; } .modal-backdrop.is-open { opacity: 1; } .modal-backdrop[hidden] { display: none; } .modal { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 0; box-shadow: 0 24px 64px rgba(31, 31, 30, 0.28); height: 100dvh; max-height: none; overflow: auto; position: relative; backface-visibility: hidden; transform: translate3d(100%, 0, 0); transition: transform 240ms ease-out; will-change: transform; width: min(520px, 100vw); z-index: 1; } .modal:focus { outline: none; } .modal-backdrop.is-open .modal { transform: translate3d(0, 0, 0); } .import-modal { border-bottom: 0; border-right: 0; border-top: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); } .preview-modal { border-bottom: 0; border-right: 0; border-top: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: min(var(--preview-drawer-width), 100vw); z-index: 3; } .file-preview-backdrop { background: transparent; inset: 0; pointer-events: none; position: absolute; z-index: 2; } .file-preview-backdrop[hidden] { display: none; } .file-preview-modal { border-bottom: 0; border-right: 0; border-top: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; pointer-events: auto; position: absolute; right: min(var(--preview-drawer-width), 100vw); top: 0; transform: translate3d(100%, 0, 0); transition: transform 240ms ease-out; width: min(var(--file-preview-drawer-width), calc(100vw - min(var(--preview-drawer-width), 100vw))); } .preview-backdrop .file-preview-backdrop .file-preview-modal { transform: translate3d(100%, 0, 0); } .preview-backdrop .file-preview-backdrop.is-open .file-preview-modal { transform: translate3d(0, 0, 0); } .preview-backdrop .file-preview-backdrop.is-opening .file-preview-modal { animation: file-preview-slide-in 260ms ease-out both; } .preview-backdrop .file-preview-backdrop.is-closing .file-preview-modal { animation: file-preview-slide-out 240ms ease-in both; } @keyframes file-preview-slide-in { from { transform: translate3d(100%, 0, 0); } to { transform: translate3d(0, 0, 0); } } @keyframes file-preview-slide-out { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(100%, 0, 0); } } .preview-header { align-items: flex-start; padding: 16px 20px; } .file-preview-header { min-height: 67px; padding: 16px 20px; } .file-preview-header .preview-heading { gap: 0; } .preview-heading { display: grid; gap: 5px; min-width: 0; } .preview-heading > span { color: rgba(31, 31, 30, 0.62); font-size: 12px; font-weight: 500; } .preview-heading h2 { line-height: 1.2; overflow-wrap: anywhere; } .modal-header { align-items: center; border-bottom: 1px solid #F7F0E8; display: flex; justify-content: space-between; padding: 16px 18px; } .modal-header h2 { font-size: 20px; font-weight: 600; margin: 0; } .preview-body { display: grid; gap: 16px; grid-auto-rows: max-content; min-height: 0; overflow-y: auto; padding: 16px 20px 20px; } .preview-identity { border-bottom: 1px solid rgba(31, 31, 30, 0.08); display: grid; gap: 12px; padding: 0 0 16px; } .preview-identity-copy { display: grid; gap: 8px; min-width: 0; } .preview-id-pill { background: #F7F0E8; border-radius: 999px; color: rgba(31, 31, 30, 0.72); font-size: 12px; font-weight: 600; justify-self: start; line-height: 1; max-width: 100%; overflow: hidden; padding: 6px 9px; text-overflow: ellipsis; white-space: nowrap; } .preview-id-pill[hidden] { display: none; } .preview-subtitle { color: rgba(31, 31, 30, 0.62); line-height: 1.5; margin: 0; } .preview-subtitle[hidden] { display: none; } .preview-status-grid { display: flex; flex-wrap: wrap; gap: 7px; } .preview-ci-warning { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid rgba(229, 75, 75, 0.34); border-radius: 6px; background: rgba(229, 75, 75, 0.08); color: #A82E2E; } .preview-ci-warning[hidden] { display: none; } .preview-ci-warning strong { color: #9D2929; font-size: 13px; line-height: 1.35; } .preview-ci-warning span { font-size: 12px; line-height: 1.45; } .preview-status-card { align-items: center; background: rgba(31, 31, 30, 0.035); border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 999px; box-shadow: none; display: inline-flex; gap: 6px; min-width: 0; max-width: 100%; padding: 6px 10px; } .preview-status-card span { color: rgba(31, 31, 30, 0.62); font-size: 11px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .preview-status-card strong { color: #1F1F1E; font-size: 12px; font-weight: 600; overflow-wrap: anywhere; } .preview-status-card.is-high, .preview-status-card.is-prom { background: rgba(229, 75, 75, 0.08); border-color: rgba(229, 75, 75, 0.22); } .preview-status-card.is-medium { background: rgba(237, 199, 74, 0.12); border-color: rgba(237, 199, 74, 0.26); } .preview-status-card.is-low { background: rgba(133, 203, 51, 0.1); border-color: rgba(133, 203, 51, 0.24); } .preview-section { display: grid; gap: 8px; } .preview-section + .preview-section { border-top: 1px solid rgba(31, 31, 30, 0.08); padding-top: 16px; } .preview-section-header { display: grid; gap: 4px; } .preview-section h3 { color: #1F1F1E; font-size: 14px; font-weight: 600; margin: 0; } .preview-section-header p { color: rgba(31, 31, 30, 0.62); font-size: 13px; line-height: 1.45; margin: 0; } .preview-detail-grid { display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); } .preview-detail-card { display: grid; gap: 12px; grid-template-columns: minmax(130px, 34%) minmax(0, 1fr); min-width: 0; padding: 9px 0; } .preview-detail-card + .preview-detail-card { border-top: 1px solid rgba(31, 31, 30, 0.08); } .preview-detail-card span, .preview-muted { color: rgba(31, 31, 30, 0.62); font-size: 12px; margin: 0; } .preview-detail-card strong { color: #1F1F1E; font-size: 14px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; white-space: pre-wrap; } .preview-muted { grid-column: 1 / -1; padding: 4px 0; } .preview-files { display: grid; gap: 0; } .preview-file { align-items: center; border-top: 1px solid rgba(31, 31, 30, 0.08); color: #1F1F1E; display: grid; gap: 10px; grid-template-columns: 28px minmax(0, 1fr) auto; font-weight: 500; overflow-wrap: anywhere; padding: 10px 0; text-decoration: none; } .preview-file:hover, .preview-file:focus-visible { color: #E54B4B; outline: none; } .preview-file-icon { background: rgba(229, 75, 75, 0.08); border-radius: 999px; display: inline-grid; height: 28px; place-items: center; width: 28px; } .preview-file-icon::before { color: #E54B4B; content: "↧"; font-size: 16px; line-height: 1; transform: translateY(-1px); } .preview-file-copy { display: grid; gap: 2px; min-width: 0; } .preview-file-copy strong { color: #1F1F1E; font-size: 14px; font-weight: 600; } .preview-file-copy span { color: rgba(31, 31, 30, 0.62); font-size: 12px; overflow-wrap: anywhere; } .preview-file-actions { align-items: center; display: inline-flex; gap: 8px; justify-content: flex-end; } .preview-file-action, .preview-file-download { align-items: center; background: transparent; border: 0; border-radius: 999px; color: #E54B4B; cursor: pointer; display: inline-flex; font: inherit; font-size: 12px; font-weight: 600; min-height: 28px; padding: 0 9px; text-decoration: none; } .preview-file-action:hover, .preview-file-action:focus-visible, .preview-file-download:hover, .preview-file-download:focus-visible { background: rgba(229, 75, 75, 0.08); outline: none; } .preview-file-action:disabled { color: rgba(31, 31, 30, 0.36); cursor: default; } .preview-file-action.is-loading { gap: 6px; pointer-events: none; } .file-preview-body { display: grid; min-height: 0; overflow: auto; padding: 12px 14px 14px; } .file-preview-frame { background: #FAF7F2; border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 12px; height: 100%; min-height: 520px; width: 100%; } .file-preview-image { align-self: start; background: #FAF7F2; border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 12px; justify-self: center; max-height: calc(100dvh - 170px); max-width: 100%; object-fit: contain; } .file-preview-text-wrap, .file-preview-table-wrap, .file-preview-docx-wrap { display: grid; gap: 8px; min-width: 0; } .file-preview-text { background: #FAF7F2; border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 12px; color: #1F1F1E; font: 12px/1.45 Consolas, "Courier New", monospace; margin: 0; min-height: 360px; overflow: auto; padding: 10px; white-space: pre-wrap; } .file-preview-table-wrap { overflow: auto; } .file-preview-sheet-title { color: #1F1F1E; font-size: 12px; font-weight: 700; margin-bottom: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .file-preview-table { border-collapse: collapse; color: #1F1F1E; font-size: 11px; line-height: 1.3; min-width: 100%; } .file-preview-table th, .file-preview-table td { background: #FAF7F2; border: 1px solid rgba(31, 31, 30, 0.08); max-width: 220px; min-width: 78px; padding: 5px 7px; text-align: left; vertical-align: top; } .file-preview-table th { background: #F7F0E8; font-weight: 600; position: sticky; top: 0; z-index: 1; } .file-preview-docx { background: #FAF7F2; border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 12px; color: #1F1F1E; display: grid; font-size: 13px; gap: 8px; line-height: 1.42; padding: 14px; } .file-preview-docx-paragraph { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; } .file-preview-docx-table { margin: 2px 0; } .file-preview-empty { align-self: center; border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 16px; display: grid; gap: 6px; justify-self: center; max-width: 420px; padding: 18px; text-align: center; } .file-preview-empty strong { color: #1F1F1E; font-size: 15px; font-weight: 600; } .file-preview-empty p { color: rgba(31, 31, 30, 0.62); line-height: 1.45; margin: 0; } .icon-button { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 999px; color: rgba(31, 31, 30, 0.62); cursor: pointer; display: inline-grid; font: inherit; font-size: 24px; height: 34px; justify-items: center; line-height: 1; padding: 0; width: 34px; } .icon-button:hover, .icon-button:focus-visible { background: #F7F0E8; border-color: #F7F0E8; outline: none; } .icon-button:disabled, .stats-switch-button:disabled { cursor: not-allowed; opacity: 0.48; } .import-form { display: grid; gap: 14px; grid-auto-rows: max-content; min-height: 0; overflow-y: auto; padding: 18px; } .drop-zone { align-items: center; background: #F9F4ED; border: 2px dashed #F7F0E8; border-radius: 22px; cursor: pointer; display: grid; gap: 7px; justify-items: center; min-height: 176px; padding: 22px; text-align: center; transition: background-color 120ms ease, border-color 120ms ease; } .drop-zone.drag-over, .drop-zone.has-file { background: #F7F0E8; border-color: #E54B4B; } .drop-zone input { height: 1px; opacity: 0; padding: 0; position: absolute; width: 1px; } .drop-zone-icon { align-items: center; background: #F7F0E8; border-radius: 999px; color: #1F1F1E; display: inline-grid; font-size: 26px; font-weight: 500; height: 50px; justify-items: center; line-height: 1; width: 50px; } .drop-zone strong { color: #1F1F1E; overflow-wrap: anywhere; } .drop-zone em { color: rgba(31, 31, 30, 0.62); font-style: normal; } .import-status { align-items: center; border: 1px solid #F7F0E8; border-radius: 20px; display: grid; gap: 9px; grid-template-columns: 28px minmax(0, 1fr); padding: 11px 13px; } .import-status-copy { display: grid; gap: 3px; min-width: 0; } .import-status-copy span { color: rgba(31, 31, 30, 0.62); font-size: 12px; line-height: 1.35; } .import-status-copy span[hidden] { display: none; } .import-status[hidden] { display: none; } .status-icon { align-items: center; border-radius: 999px; display: inline-grid; font-weight: 700; height: 28px; justify-items: center; width: 28px; } .import-status[data-status="pending"] { background: #F7F0E8; color: rgba(31, 31, 30, 0.62); } .import-status[data-status="pending"] .status-icon { background: #F7F0E8; } .import-status[data-status="pending"] .status-icon::before { animation: ui-spin 720ms linear infinite; border: 2px solid currentColor; border-right-color: transparent; border-radius: 999px; content: ""; height: 14px; width: 14px; } .import-status[data-status="success"] { background: rgba(133, 203, 51, 0.12); border-color: rgba(133, 203, 51, 0.28); color: #1F1F1E; } .import-status[data-status="success"] .status-icon { background: #85CB33; color: #1F1F1E; } .import-status[data-status="success"] .status-icon::before { content: "✓"; } .import-status[data-status="error"] { background: #F9F4ED; border-color: #E54B4B; color: #E54B4B; } .import-status[data-status="error"] .status-icon { background: #E54B4B; color: #F9F4ED; } .import-status[data-status="error"] .status-icon::before { content: "×"; } .import-mode { width: 100%; } .modal-actions { border-top: 1px solid #F7F0E8; display: flex; gap: 8px; justify-content: flex-end; margin-top: auto; padding-top: 14px; } .preview-modal .modal-actions { align-items: center; display: flex; justify-content: space-between; margin-top: 0; padding: 14px 18px calc(20px + env(safe-area-inset-bottom)); } .file-preview-modal .modal-actions { align-items: center; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); margin-top: 0; padding: 14px 18px calc(20px + env(safe-area-inset-bottom)); } .preview-modal .modal-actions .button { justify-content: center; min-width: 128px; text-align: center; } .file-preview-actions .button { justify-content: center; justify-self: start; min-width: 128px; text-align: center; } .file-preview-pager { align-items: center; display: inline-grid; gap: 8px; grid-template-columns: 34px auto 34px; justify-self: center; } .file-preview-pager[hidden] { display: none; } .file-preview-page-button { align-items: center; background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 999px; color: #1F1F1E; cursor: pointer; display: inline-grid; font: inherit; font-size: 18px; font-weight: 700; height: 34px; justify-items: center; line-height: 1; padding: 0; width: 34px; } .file-preview-page-button:hover, .file-preview-page-button:focus-visible { background: #F7F0E8; outline: none; } .file-preview-page-button:disabled { cursor: not-allowed; opacity: 0.42; } .file-preview-page-status { color: rgba(31, 31, 30, 0.62); font-size: 12px; font-weight: 600; max-width: min(280px, 32vw); min-width: 42px; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; } .file-preview-collapse { align-items: center; background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 999px; color: #1F1F1E; cursor: pointer; display: inline-grid; font: inherit; font-size: 18px; font-weight: 600; height: 36px; justify-items: center; line-height: 1; padding: 0; justify-self: end; width: 44px; } .file-preview-collapse:hover, .file-preview-collapse:focus-visible { background: #F7F0E8; outline: none; } .table-wrap { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 20px; max-height: calc(100vh - 230px); overflow-x: auto; overflow-y: auto; } table { border-collapse: collapse; min-width: 980px; width: 100%; } .full-table table { min-width: 2400px; } th, td { border-bottom: 1px solid #F7F0E8; font-size: 14px; line-height: 1.45; padding: 12px 14px; text-align: left; vertical-align: middle; } th { background: #F9F4ED; color: rgba(31, 31, 30, 0.62); font-size: 12px; font-weight: 600; position: sticky; top: 0; z-index: 20; } tbody tr[data-agent-row] td { cursor: pointer; transition: background-color 120ms ease; } tbody tr[data-agent-row]:hover td { background: rgba(31, 31, 30, 0.035); } tbody tr[data-agent-row]:focus-visible td { background: rgba(31, 31, 30, 0.05); outline: none; } tbody tr[data-agent-row].has-duplicate-ci td { background: rgba(229, 75, 75, 0.09); border-bottom-color: rgba(229, 75, 75, 0.22); } tbody tr[data-agent-row].has-duplicate-ci:hover td, tbody tr[data-agent-row].has-duplicate-ci:focus-visible td { background: rgba(229, 75, 75, 0.14); } tbody tr[data-agent-row].has-duplicate-ci td:first-child { box-shadow: inset 3px 0 0 #E54B4B; } tr:last-child td { border-bottom: 0; } .actions { text-align: right; } .actions .button { min-height: 32px; padding: 5px 11px; } .cell-badge { white-space: nowrap; } .badge { align-items: center; background: rgba(31, 31, 30, 0.06); border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 999px; color: #1F1F1E; display: inline-flex; font-size: 12px; font-weight: 500; line-height: 1; min-height: 24px; padding: 5px 9px; white-space: nowrap; } .badge-criticality.is-high { background: rgba(229, 75, 75, 0.14); border-color: rgba(229, 75, 75, 0.22); color: #E54B4B; } .badge-criticality.is-medium { background: rgba(237, 199, 74, 0.2); border-color: rgba(237, 199, 74, 0.28); color: #1F1F1E; } .badge-criticality.is-low { background: rgba(133, 203, 51, 0.18); border-color: rgba(133, 203, 51, 0.28); color: #1F1F1E; } .badge.is-prom { background: rgba(229, 75, 75, 0.12); border-color: rgba(229, 75, 75, 0.2); color: #E54B4B; } .badge.is-muted, .badge.is-neutral { background: rgba(31, 31, 30, 0.05); border-color: rgba(31, 31, 30, 0.08); color: rgba(31, 31, 30, 0.72); } .empty { color: rgba(31, 31, 30, 0.62); padding: 28px 14px; text-align: center; } .empty-state { display: grid; gap: 4px; justify-items: center; margin: 0 auto; max-width: 420px; } .empty-state strong { color: #1F1F1E; font-size: 15px; font-weight: 600; } .empty-state span { color: rgba(31, 31, 30, 0.62); font-size: 13px; line-height: 1.4; } .table-wrap.has-pagination { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } .pagination-bar { align-items: center; background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 0 0 20px 20px; border-top: 0; display: grid; gap: 12px; grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr); margin-top: -1px; min-height: 58px; min-width: 0; padding: 10px 14px; } .pagination-summary { align-items: center; display: flex; gap: 5px; min-width: 0; } .pagination-summary span, .pagination-size > span { color: rgba(31, 31, 30, 0.62); font-size: 13px; font-weight: 500; white-space: nowrap; } .pagination-summary strong { color: #1F1F1E; font-size: 13px; font-weight: 600; white-space: nowrap; } .pagination-pages { align-items: center; background: rgba(31, 31, 30, 0.035); border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 999px; display: flex; gap: 2px; justify-self: center; padding: 3px; } .pagination-size { align-items: center; display: flex; gap: 8px; justify-self: end; min-width: 0; } .pagination-size-options { align-items: center; background: rgba(31, 31, 30, 0.035); border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 999px; display: flex; gap: 2px; padding: 3px; } .pagination-arrow, .pagination-page, .pagination-size-option { align-items: center; background: transparent; border: 0; border-radius: 999px; color: rgba(31, 31, 30, 0.72); display: inline-grid; font-weight: 500; justify-content: center; text-decoration: none; } .pagination-arrow { font-size: 22px; height: 32px; line-height: 1; width: 32px; } .pagination-arrow span { transform: translateY(-1px); } .pagination-arrow.is-disabled { cursor: not-allowed; opacity: 0.38; } .pagination-page { font-size: 13px; height: 32px; min-width: 32px; padding: 0 10px; } .pagination-size-option { font-size: 13px; height: 28px; min-width: 42px; padding: 0 9px; } .pagination-arrow:hover, .pagination-arrow:focus-visible, .pagination-page:hover, .pagination-page:focus-visible, .pagination-size-option:hover, .pagination-size-option:focus-visible { background: rgba(31, 31, 30, 0.05); color: #1F1F1E; outline: none; } .pagination-page.active, .pagination-size-option.active { background: #F9F4ED; box-shadow: 0 1px 3px rgba(31, 31, 30, 0.16); color: #1F1F1E; } .pagination-gap { color: rgba(31, 31, 30, 0.62); display: inline-grid; font-size: 13px; height: 32px; place-items: center; min-width: 20px; } .column-filter { position: relative; } .column-filter summary { align-items: center; cursor: pointer; display: inline-flex; gap: 7px; list-style: none; min-height: 24px; user-select: none; } .column-filter summary::-webkit-details-marker { display: none; } .column-filter summary::after { color: rgba(31, 31, 30, 0.62); content: "▾"; font-size: 11px; } .column-filter.active summary { color: #1F1F1E; } .column-filter.active summary::before { background: #E54B4B; border-radius: 999px; content: ""; flex: 0 0 6px; height: 6px; width: 6px; } .column-filter summary b { background: rgba(31, 31, 30, 0.07); border-radius: 999px; color: rgba(31, 31, 30, 0.72); font-size: 10px; min-width: 18px; padding: 2px 6px; text-align: center; } .column-filter summary i { color: #E54B4B; font-size: 13px; font-style: normal; font-weight: 700; } .filter-menu { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 18px; box-shadow: 0 16px 34px rgba(31, 31, 30, 0.18); display: grid; gap: 5px; left: var(--filter-left, 0); max-height: var(--filter-max-height, 420px); min-width: 260px; overflow-y: auto; padding: 10px; position: fixed; top: var(--filter-top, 0); z-index: 1000; } .filter-menu-title { color: #1F1F1E; font-size: 13px; font-weight: 700; margin-bottom: 2px; } .filter-menu-section { border: 0; margin: 0; padding: 0; } .filter-section-title { color: rgba(31, 31, 30, 0.56); font-size: 10px; font-weight: 700; letter-spacing: 0; padding: 4px 7px; text-transform: uppercase; } .filter-values-title { padding-top: 6px; } .filter-sort-actions { border-bottom: 1px solid #F7F0E8; display: grid; gap: 3px; margin-bottom: 5px; padding-bottom: 8px; } .filter-sort-action { align-items: center; background: transparent; border: 0; border-radius: 8px; color: #1F1F1E; cursor: pointer; display: grid; font-family: inherit; font-size: 12px; font-weight: 500; gap: 7px; grid-template-columns: 16px minmax(0, 1fr); justify-content: stretch; min-height: 30px; padding: 5px 7px; text-align: left; width: 100%; } .filter-sort-action:hover, .filter-sort-action:focus-visible, .filter-sort-action.active { background: #F7F0E8; color: #E54B4B; outline: none; } .filter-option { align-items: center; border-radius: 999px; display: grid; gap: 7px; grid-template-columns: 18px minmax(0, 1fr) auto; min-height: 28px; padding: 4px 6px; } .filter-option:hover { background: #F7F0E8; } .filter-option input { min-height: auto; width: auto; } .filter-option span { color: #1F1F1E; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .filter-option em { color: rgba(31, 31, 30, 0.62); font-style: normal; font-weight: 500; } .filter-option.is-extra { display: none; } .filter-menu.show-all .filter-option.is-extra { display: grid; } .filter-show-more { background: transparent; border: 0; color: #E54B4B; cursor: pointer; font: inherit; font-weight: 500; justify-self: start; padding: 5px 0; } .filter-empty { color: rgba(31, 31, 30, 0.62); font-weight: 400; padding: 7px 0; } .filter-menu-actions { border-top: 1px solid #F7F0E8; display: flex; gap: 8px; margin-top: 6px; padding-top: 10px; } .agent-form { display: grid; gap: 20px; } .form-warning { align-items: start; background: rgba(229, 75, 75, 0.08); border: 1px solid rgba(229, 75, 75, 0.24); border-radius: 18px; color: #1F1F1E; display: grid; gap: 10px; grid-template-columns: 9px minmax(0, 1fr); padding: 13px 14px; } .form-warning-marker { background: #E54B4B; border-radius: 999px; height: 9px; margin-top: 6px; width: 9px; } .form-warning strong { display: block; font-size: 14px; font-weight: 600; margin-bottom: 2px; } .form-warning p { color: rgba(31, 31, 30, 0.72); margin: 0; } .form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); } .file-grid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); } .field { display: grid; gap: 6px; } .form-section-title { border-top: 1px solid rgba(31, 31, 30, 0.08); color: #1F1F1E; font-size: 14px; font-weight: 600; grid-column: 1 / -1; margin: 2px 0 0; padding-top: 14px; } .form-section-title:first-child { border-top: 0; padding-top: 0; } .field.wide { grid-column: 1 / -1; } .field > span, .file-field-title { color: rgba(31, 31, 30, 0.62); font-size: 12px; font-weight: 500; } input, select, textarea { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 18px; color-scheme: light; color: #1F1F1E; font: inherit; font-size: 14px; min-height: 38px; padding: 8px 11px; width: 100%; } select option { background: #F9F4ED; color: #1F1F1E; } select option:checked { background: #F7F0E8; } input:focus, select:focus, textarea:focus { border-color: rgba(31, 31, 30, 0.18); box-shadow: 0 0 0 3px rgba(31, 31, 30, 0.08); outline: none; } .agent-form.is-submitting { cursor: progress; } .agent-form.was-validated input:invalid, .agent-form.was-validated select:invalid, .agent-form.was-validated textarea:invalid, input.is-invalid, select.is-invalid, textarea.is-invalid { border-color: rgba(229, 75, 75, 0.72); box-shadow: 0 0 0 3px rgba(229, 75, 75, 0.12); } input[readonly] { background: #F7F0E8; color: rgba(31, 31, 30, 0.62); } textarea { resize: vertical; } .files { border-top: 1px solid #F7F0E8; padding-top: 20px; } .files h2 { font-size: 19px; font-weight: 600; margin: 0; } .files-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 14px; } .file-field { cursor: pointer; background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 20px; display: grid; gap: 9px; min-height: 154px; padding: 12px; position: relative; transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease; } .file-field:hover, .file-field:focus-within, .file-field.is-drag-over { border-color: rgba(31, 31, 30, 0.16); box-shadow: 0 10px 24px rgba(31, 31, 30, 0.08); } .file-field.is-drag-over { transform: translateY(-1px); } .file-input { height: 1px; inset: 0 auto auto 0; min-height: 0; opacity: 0; padding: 0; pointer-events: none; position: absolute; width: 1px; } .file-drop-surface { align-items: center; background: #FAF7F2; border: 1px dashed rgba(31, 31, 30, 0.14); border-radius: 16px; display: grid; gap: 12px; grid-template-columns: 42px minmax(0, 1fr); min-height: 94px; padding: 14px; transition: background 140ms ease, border-color 140ms ease; } .file-field:hover .file-drop-surface, .file-field:focus-within .file-drop-surface, .file-field.is-drag-over .file-drop-surface, .file-field.has-selected-file .file-drop-surface { background: #F7F0E8; border-color: rgba(229, 75, 75, 0.42); } .file-drop-icon { align-items: center; background: #F7F0E8; border: 1px solid rgba(31, 31, 30, 0.08); border-radius: 14px; display: inline-flex; height: 42px; justify-content: center; position: relative; width: 42px; } .file-drop-icon::before { border: 2px solid #E54B4B; border-bottom: 0; border-left: 0; content: ""; height: 10px; margin-top: -5px; transform: rotate(-45deg); width: 10px; } .file-drop-icon::after { background: #E54B4B; content: ""; height: 18px; left: 50%; position: absolute; top: 13px; transform: translateX(-50%); width: 2px; } .file-drop-copy { display: grid; gap: 3px; min-width: 0; } .file-drop-copy strong { color: #1F1F1E; font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .file-drop-copy em { color: rgba(31, 31, 30, 0.62); font-size: 12px; font-style: normal; } .file-current-link { color: #E54B4B; font-size: 12px; font-weight: 600; justify-self: start; overflow-wrap: anywhere; } .file-current-link:hover, .file-current-link:focus-visible { color: #1F1F1E; outline: none; } .danger-zone { border-top: 1px solid #F7F0E8; padding-top: 18px; } .stats-toolbar { align-items: center; } .stats-toolbar > div:first-child { align-items: center; display: flex; gap: 14px; } .stats-switch { background: #F7F0E8; border: 1px solid #F7F0E8; border-radius: 999px; display: inline-grid; gap: 2px; grid-template-columns: repeat(2, minmax(120px, 1fr)); padding: 3px; } .stats-toolbar .stats-switch { grid-template-columns: repeat(5, minmax(104px, 1fr)); max-width: min(100%, 660px); overflow-x: auto; } .stats-switch-button { background: transparent; border: 0; border-radius: 999px; color: rgba(31, 31, 30, 0.62); cursor: pointer; font: inherit; font-size: 14px; font-weight: 500; min-height: 34px; padding: 6px 13px; } .stats-switch-button.active { background: #F9F4ED; box-shadow: 0 1px 3px rgba(31, 31, 30, 0.16); color: #1F1F1E; } .import-mode.import-mode-three { grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; } .import-mode.import-mode-three .stats-switch-button { font-size: 12px; min-width: 0; } .stats-panel-window { overflow: hidden; } .stats-panels { display: block; width: 100%; } .stats-page { min-width: 0; } .stats-page[hidden] { display: none; } .stats-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); } .chart-panel { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 20px; } .stats-summary { background: transparent; border: 0; border-radius: 0; } .chart-panel { display: grid; gap: 20px; padding: 22px; } .chart-copy h2 { font-size: 20px; font-weight: 600; margin: 0 0 10px; } .chart-copy p { color: rgba(31, 31, 30, 0.62); font-size: 14px; line-height: 1.5; margin: 0; } .pie-layout { align-items: center; display: grid; gap: 22px; grid-template-columns: 176px minmax(0, 1fr); } .pie-chart { align-items: center; aspect-ratio: 1; border-radius: 50%; display: grid; justify-items: center; position: relative; width: 176px; } .pie-chart::after { background: #F9F4ED; border-radius: 50%; content: ""; inset: 32px; position: absolute; } .pie-chart span { color: #1F1F1E; font-size: 25px; font-weight: 600; position: relative; z-index: 1; } .legend { display: grid; gap: 9px; max-height: 250px; overflow-y: auto; } .legend-row { align-items: center; display: grid; gap: 8px; grid-template-columns: 12px minmax(0, 1fr) auto; } .legend-color { border-radius: 999px; height: 12px; width: 12px; } .legend-row strong { color: #1F1F1E; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .legend-row em { color: rgba(31, 31, 30, 0.62); font-style: normal; font-size: 13px; font-weight: 500; } .legend-empty { color: rgba(31, 31, 30, 0.62); font-size: 13px; } .stats-summary { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; } .stats-summary.audit-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stats-summary.testing-summary { grid-template-columns: minmax(0, 1fr); } .stats-summary div { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 18px; display: grid; gap: 7px; padding: 16px; } .stats-summary span { color: rgba(31, 31, 30, 0.62); font-size: 12px; font-weight: 500; } .stats-summary strong { color: #1F1F1E; font-size: 24px; font-weight: 600; line-height: 1.15; } .stats-table-section { margin-top: 16px; min-width: 0; } .stats-table-header { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin-bottom: 10px; } .stats-table-header h2 { color: #1F1F1E; font-size: 18px; font-weight: 600; margin: 0; } .stats-table-wrap { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 8px; max-width: 100%; overflow: auto; } .stats-detail-table { border-collapse: collapse; min-width: 1280px; width: 100%; } .stats-detail-table th, .stats-detail-table td { border-bottom: 1px solid #F7F0E8; color: #1F1F1E; font-size: 12px; padding: 10px 12px; text-align: left; vertical-align: top; } .stats-detail-table th { background: #F7F0E8; font-weight: 600; position: sticky; top: 0; z-index: 1; } .stats-detail-table tbody tr:last-child td { border-bottom: 0; } .home-panel, .empty-page { background: #F9F4ED; border: 1px solid #F7F0E8; border-radius: 20px; } .home-panel { align-items: center; display: grid; min-height: min(500px, calc(100vh - 56px)); padding: clamp(24px, 5vw, 64px); } .home-copy { display: grid; gap: 13px; max-width: 720px; } .home-copy span { color: #E54B4B; font-size: 14px; font-weight: 600; } .home-copy h1 { color: #1F1F1E; font-size: 48px; font-weight: 600; line-height: 1.08; margin: 0; } .home-copy p, .empty-page p { color: rgba(31, 31, 30, 0.62); font-size: 15px; line-height: 1.55; margin: 0; } .empty-page { display: grid; gap: 9px; padding: 24px; } .empty-page h2 { color: #1F1F1E; font-size: 22px; font-weight: 600; margin: 0; } :root[data-theme="dark"] { background: #1F1F1E; color: #FAF7F2; color-scheme: dark; --palette-dark-bg: #1F1F1E; --palette-dark-surface: #2E2E2D; --palette-dark-text: #FAF7F2; --palette-dark-muted: #3D3D3C; --palette-dark-red: #E54B4B; --chart-high: #E54B4B; --chart-mid: #EDC74A; --chart-low: #85CB33; --chart-other: #FAF7F2; --chart-muted: #3D3D3C; --chart-blue: #6F9CE0; --chart-cyan: #5FC4BE; --chart-purple: #B397C8; --chart-orange: #E39A63; } :root[data-theme="dark"] body { background: #1F1F1E; color: #FAF7F2; } :root[data-theme="dark"] .shell, :root[data-theme="dark"] .page { background: #1F1F1E; } :root[data-theme="dark"] .toast { background: #2E2E2D; border-color: #3D3D3C; box-shadow: 0 18px 44px rgba(31, 31, 30, 0.42); color: #FAF7F2; } :root[data-theme="dark"] .toast-close { color: rgba(250, 247, 242, 0.8); } :root[data-theme="dark"] .toast-close:hover, :root[data-theme="dark"] .toast-close:focus-visible { background: rgba(250, 247, 242, 0.08); } :root[data-theme="dark"] .topbar, :root[data-theme="dark"] .sidebar, :root[data-theme="dark"] .table-wrap, :root[data-theme="dark"] .filter-menu, :root[data-theme="dark"] .file-field, :root[data-theme="dark"] .chart-panel, :root[data-theme="dark"] .home-panel, :root[data-theme="dark"] .empty-page { background: #2E2E2D; border-color: #3D3D3C; } :root[data-theme="dark"] .brand, :root[data-theme="dark"] .toolbar h1, :root[data-theme="dark"] .chart-copy h2, :root[data-theme="dark"] .files h2, :root[data-theme="dark"] .filter-menu-title, :root[data-theme="dark"] .legend-row strong, :root[data-theme="dark"] .stats-summary strong, :root[data-theme="dark"] .pie-chart span, :root[data-theme="dark"] .home-copy h1, :root[data-theme="dark"] .empty-page h2 { color: #FAF7F2; } :root[data-theme="dark"] .sidebar { background: #242423; border-bottom-color: #3D3D3C; border-right-color: #3D3D3C; } :root[data-theme="dark"] .sidebar-brand { color: #FAF7F2; } :root[data-theme="dark"] .nav-section-title { color: #3D3D3C; } :root[data-theme="dark"] .nav-link { color: #FAF7F2; } :root[data-theme="dark"] .settings-button { color: #FAF7F2; } :root[data-theme="dark"] .nav-link:hover, :root[data-theme="dark"] .nav-link.active, :root[data-theme="dark"] .settings-button:hover, :root[data-theme="dark"] .settings-button:focus-visible { background: #2E2E2D; color: #FAF7F2; } :root[data-theme="dark"] .nav-icon, :root[data-theme="dark"] .settings-icon { border-color: #3D3D3C; } :root[data-theme="dark"] .table-icon::before { background: linear-gradient(#3D3D3C, #3D3D3C) 0 33% / 100% 1px no-repeat, linear-gradient(#3D3D3C, #3D3D3C) 0 66% / 100% 1px no-repeat, linear-gradient(90deg, #3D3D3C, #3D3D3C) 33% 0 / 1px 100% no-repeat, linear-gradient(90deg, #3D3D3C, #3D3D3C) 66% 0 / 1px 100% no-repeat; } :root[data-theme="dark"] .app-icon::before { border-color: #3D3D3C; } :root[data-theme="dark"] .app-icon::after { background: radial-gradient(circle, #FAF7F2 0 2px, transparent 2px) 0 0 / 7px 7px, radial-gradient(circle, #3D3D3C 0 2px, transparent 2px) 4px 4px / 7px 7px; } :root[data-theme="dark"] .chart-icon::after { background: #3D3D3C; } :root[data-theme="dark"] .chart-icon::before { background: #FAF7F2; box-shadow: 6px -5px 0 #3D3D3C, 12px -10px 0 #FAF7F2; } :root[data-theme="dark"] .psi-icon::before { color: #FAF7F2; } :root[data-theme="dark"] .test-icon::before { border-color: #FAF7F2; } :root[data-theme="dark"] .risk-icon::before, :root[data-theme="dark"] .risk-icon::after { background: #FAF7F2; } :root[data-theme="dark"] .counter { background: #2E2E2D; color: #FAF7F2; } :root[data-theme="dark"] .result-line, :root[data-theme="dark"] .empty, :root[data-theme="dark"] .chart-copy p, :root[data-theme="dark"] .legend-row em, :root[data-theme="dark"] .stats-summary span, :root[data-theme="dark"] .filter-option em, :root[data-theme="dark"] .filter-empty, :root[data-theme="dark"] .file-field em, :root[data-theme="dark"] .home-copy p, :root[data-theme="dark"] .empty-page p { color: #FAF7F2; } :root[data-theme="dark"] .empty-state strong { color: #FAF7F2; } :root[data-theme="dark"] .empty-state span { color: rgba(250, 247, 242, 0.74); } :root[data-theme="dark"] .result-line span { color: #FAF7F2; } :root[data-theme="dark"] .pagination-bar { background: #2E2E2D; border-color: #3D3D3C; } :root[data-theme="dark"] .pagination-summary span, :root[data-theme="dark"] .pagination-size > span, :root[data-theme="dark"] .pagination-gap { color: rgba(250, 247, 242, 0.74); } :root[data-theme="dark"] .pagination-summary strong { color: #FAF7F2; } :root[data-theme="dark"] .pagination-pages, :root[data-theme="dark"] .pagination-size-options { background: #1F1F1E; border-color: #3D3D3C; } :root[data-theme="dark"] .pagination-arrow, :root[data-theme="dark"] .pagination-page, :root[data-theme="dark"] .pagination-size-option { color: rgba(250, 247, 242, 0.8); } :root[data-theme="dark"] .pagination-arrow:hover, :root[data-theme="dark"] .pagination-arrow:focus-visible, :root[data-theme="dark"] .pagination-page:hover, :root[data-theme="dark"] .pagination-page:focus-visible, :root[data-theme="dark"] .pagination-size-option:hover, :root[data-theme="dark"] .pagination-size-option:focus-visible { background: #3D3D3C; color: #FAF7F2; } :root[data-theme="dark"] .pagination-page.active, :root[data-theme="dark"] .pagination-size-option.active { background: #2E2E2D; box-shadow: none; color: #FAF7F2; } :root[data-theme="dark"] .home-copy span { color: #FAF7F2; } :root[data-theme="dark"] .search-box { background: #2E2E2D; border-color: #2E2E2D; } :root[data-theme="dark"] .search-box:focus-within { background: #2E2E2D; border-color: #2E2E2D; box-shadow: 0 0 0 3px rgba(250, 247, 242, 0.18); } :root[data-theme="dark"] .search-box input { background: #2E2E2D; color: #FAF7F2; } :root[data-theme="dark"] .search-box input::placeholder, :root[data-theme="dark"] .search-clear { color: #FAF7F2; } :root[data-theme="dark"] .search-icon { border-color: #FAF7F2; } :root[data-theme="dark"] .search-icon::after { background: #FAF7F2; } :root[data-theme="dark"] .search-clear:hover, :root[data-theme="dark"] .search-clear:focus-visible { background: #3D3D3C; color: #FAF7F2; } :root[data-theme="dark"] .error-filter-button { background: rgba(229, 75, 75, 0.12); border-color: rgba(229, 75, 75, 0.36); color: #FFB9B9; } :root[data-theme="dark"] .error-filter-button:hover, :root[data-theme="dark"] .error-filter-button:focus-visible { background: rgba(229, 75, 75, 0.2); border-color: rgba(229, 75, 75, 0.48); color: #FFD0D0; } :root[data-theme="dark"] .error-filter-button.active { background: #E54B4B; border-color: #E54B4B; color: #FFFFFF; } :root[data-theme="dark"] .error-filter-tooltip { background: #2E2E2D; border-color: #3D3D3C; box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3); color: #FAF7F2; } :root[data-theme="dark"] .error-filter-tooltip em { color: rgba(250, 247, 242, 0.72); } :root[data-theme="dark"] .error-filter-tooltip b { background: rgba(229, 75, 75, 0.18); color: #FFB9B9; } :root[data-theme="dark"] .button { background: #2E2E2D; border-color: #3D3D3C; color: #FAF7F2; } :root[data-theme="dark"] .button:hover, :root[data-theme="dark"] .button:focus-visible { background: #3D3D3C; outline: none; } :root[data-theme="dark"] .button.primary { background: #E54B4B; border-color: #E54B4B; color: #FAF7F2; } :root[data-theme="dark"] .button.primary:hover, :root[data-theme="dark"] .button.primary:focus-visible { background: #E54B4B; border-color: #E54B4B; color: #FAF7F2; } :root[data-theme="dark"] .button.view-toggle.active { background: #2E2E2D; border-color: #3D3D3C; color: #FAF7F2; } :root[data-theme="dark"] .button.danger { border-color: #E54B4B; color: #E54B4B; } :root[data-theme="dark"] th { background: #2E2E2D; color: #FAF7F2; } :root[data-theme="dark"] th, :root[data-theme="dark"] td { border-bottom-color: #3D3D3C; } :root[data-theme="dark"] tbody tr[data-agent-row]:hover td { background: rgba(250, 247, 242, 0.04); } :root[data-theme="dark"] tbody tr[data-agent-row].has-duplicate-ci td { background: rgba(229, 75, 75, 0.14); border-bottom-color: rgba(229, 75, 75, 0.3); } :root[data-theme="dark"] tbody tr[data-agent-row].has-duplicate-ci:hover td, :root[data-theme="dark"] tbody tr[data-agent-row].has-duplicate-ci:focus-visible td { background: rgba(229, 75, 75, 0.2); } :root[data-theme="dark"] .badge { background: rgba(250, 247, 242, 0.06); border-color: rgba(250, 247, 242, 0.1); color: #FAF7F2; } :root[data-theme="dark"] .badge-criticality.is-high, :root[data-theme="dark"] .badge.is-prom { background: rgba(229, 75, 75, 0.18); border-color: rgba(229, 75, 75, 0.26); color: #E54B4B; } :root[data-theme="dark"] .badge-criticality.is-medium { background: rgba(237, 199, 74, 0.18); border-color: rgba(237, 199, 74, 0.28); color: #EDC74A; } :root[data-theme="dark"] .badge-criticality.is-low { background: rgba(133, 203, 51, 0.18); border-color: rgba(133, 203, 51, 0.28); color: #85CB33; } :root[data-theme="dark"] .badge.is-muted, :root[data-theme="dark"] .badge.is-neutral { background: rgba(250, 247, 242, 0.06); border-color: rgba(250, 247, 242, 0.1); color: rgba(250, 247, 242, 0.8); } :root[data-theme="dark"] .column-filter summary::after { color: #3D3D3C; } :root[data-theme="dark"] .column-filter.active summary, :root[data-theme="dark"] .filter-show-more, :root[data-theme="dark"] .file-current-link { color: #FAF7F2; } :root[data-theme="dark"] .column-filter summary b { background: rgba(250, 247, 242, 0.08); color: rgba(250, 247, 242, 0.8); } :root[data-theme="dark"] .filter-menu { box-shadow: 0 18px 36px rgba(31, 31, 30, 0.42); } :root[data-theme="dark"] .filter-option:hover { background: #2E2E2D; } :root[data-theme="dark"] .filter-option span { color: #FAF7F2; } :root[data-theme="dark"] .filter-menu-actions, :root[data-theme="dark"] .files, :root[data-theme="dark"] .danger-zone { border-top-color: #3D3D3C; } :root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea { background: #1F1F1E; border-color: #3D3D3C; color-scheme: dark; color: #FAF7F2; } :root[data-theme="dark"] select option { background: #1F1F1E; color: #FAF7F2; } :root[data-theme="dark"] select option:checked { background: #2E2E2D; } :root[data-theme="dark"] input:focus, :root[data-theme="dark"] select:focus, :root[data-theme="dark"] textarea:focus { border-color: rgba(250, 247, 242, 0.18); box-shadow: 0 0 0 3px rgba(250, 247, 242, 0.08); } :root[data-theme="dark"] .agent-form.was-validated input:invalid, :root[data-theme="dark"] .agent-form.was-validated select:invalid, :root[data-theme="dark"] .agent-form.was-validated textarea:invalid, :root[data-theme="dark"] input.is-invalid, :root[data-theme="dark"] select.is-invalid, :root[data-theme="dark"] textarea.is-invalid { border-color: rgba(229, 75, 75, 0.76); box-shadow: 0 0 0 3px rgba(229, 75, 75, 0.18); } :root[data-theme="dark"] input[readonly] { background: #2E2E2D; color: #FAF7F2; } :root[data-theme="dark"] .field > span, :root[data-theme="dark"] .file-field-title { color: #FAF7F2; } :root[data-theme="dark"] .file-field:hover, :root[data-theme="dark"] .file-field:focus-within, :root[data-theme="dark"] .file-field.is-drag-over { border-color: rgba(250, 247, 242, 0.18); box-shadow: 0 10px 24px rgba(31, 31, 30, 0.24); } :root[data-theme="dark"] .file-drop-surface { background: #1F1F1E; border-color: rgba(250, 247, 242, 0.16); } :root[data-theme="dark"] .file-field:hover .file-drop-surface, :root[data-theme="dark"] .file-field:focus-within .file-drop-surface, :root[data-theme="dark"] .file-field.is-drag-over .file-drop-surface, :root[data-theme="dark"] .file-field.has-selected-file .file-drop-surface { background: #242423; border-color: rgba(229, 75, 75, 0.48); } :root[data-theme="dark"] .file-drop-icon { background: #2E2E2D; border-color: #3D3D3C; } :root[data-theme="dark"] .file-drop-copy strong { color: #FAF7F2; } :root[data-theme="dark"] .file-drop-copy em { color: rgba(250, 247, 242, 0.72); } :root[data-theme="dark"] .file-current-link:hover, :root[data-theme="dark"] .file-current-link:focus-visible { color: #E54B4B; } :root[data-theme="dark"] .form-warning { background: rgba(229, 75, 75, 0.14); border-color: rgba(229, 75, 75, 0.3); color: #FAF7F2; } :root[data-theme="dark"] .form-warning p { color: rgba(250, 247, 242, 0.78); } :root[data-theme="dark"] .form-section-title { border-top-color: rgba(250, 247, 242, 0.1); color: #FAF7F2; } :root[data-theme="dark"] .stats-switch { background: #1F1F1E; border-color: #3D3D3C; } :root[data-theme="dark"] .stats-switch-button { color: #FAF7F2; } :root[data-theme="dark"] .stats-switch-button.active { background: #2E2E2D; box-shadow: none; color: #FAF7F2; } :root[data-theme="dark"] .stats-summary div { background: #2E2E2D; border-color: #3D3D3C; } :root[data-theme="dark"] .stats-table-header h2, :root[data-theme="dark"] .stats-detail-table th, :root[data-theme="dark"] .stats-detail-table td { color: #FAF7F2; } :root[data-theme="dark"] .stats-table-wrap { background: #2E2E2D; border-color: #3D3D3C; } :root[data-theme="dark"] .stats-detail-table th { background: #242423; } :root[data-theme="dark"] .stats-detail-table th, :root[data-theme="dark"] .stats-detail-table td { border-bottom-color: #3D3D3C; } :root[data-theme="dark"] .legend-empty { color: rgba(250, 247, 242, 0.74); } :root[data-theme="dark"] .filter-sort-actions { border-bottom-color: #3D3D3C; } :root[data-theme="dark"] .filter-sort-action { color: #FAF7F2; } :root[data-theme="dark"] .filter-section-title { color: rgba(250, 247, 242, 0.58); } :root[data-theme="dark"] .filter-sort-action:hover, :root[data-theme="dark"] .filter-sort-action:focus-visible, :root[data-theme="dark"] .filter-sort-action.active { background: #1F1F1E; color: #E54B4B; } :root[data-theme="dark"] .modal, :root[data-theme="dark"] .settings-dialog, :root[data-theme="dark"] .drop-zone { background: #2E2E2D; border-color: #3D3D3C; } :root[data-theme="dark"] .settings-backdrop { background: rgba(0, 0, 0, 0.58); } :root[data-theme="dark"] .modal-header, :root[data-theme="dark"] .modal-actions { border-color: #3D3D3C; } :root[data-theme="dark"] .modal-header h2, :root[data-theme="dark"] .settings-copy strong, :root[data-theme="dark"] .preview-section h3, :root[data-theme="dark"] .preview-status-card strong, :root[data-theme="dark"] .preview-detail-card strong, :root[data-theme="dark"] .preview-file-copy strong, :root[data-theme="dark"] .drop-zone strong { color: #FAF7F2; } :root[data-theme="dark"] .settings-row { background: rgba(250, 247, 242, 0.05); border-color: rgba(250, 247, 242, 0.1); } :root[data-theme="dark"] .preview-heading > span, :root[data-theme="dark"] .preview-subtitle, :root[data-theme="dark"] .preview-section-header p, :root[data-theme="dark"] .preview-status-card span, :root[data-theme="dark"] .preview-detail-card span, :root[data-theme="dark"] .preview-file-copy span, :root[data-theme="dark"] .preview-muted { color: rgba(250, 247, 242, 0.74); } :root[data-theme="dark"] .preview-identity, :root[data-theme="dark"] .preview-status-card, :root[data-theme="dark"] .preview-detail-card { background: transparent; border-color: rgba(250, 247, 242, 0.1); } :root[data-theme="dark"] .preview-ci-warning { background: rgba(229, 75, 75, 0.14); border-color: rgba(229, 75, 75, 0.38); color: #F3A5A5; } :root[data-theme="dark"] .preview-ci-warning strong { color: #FFB9B9; } :root[data-theme="dark"] .preview-status-card { background: rgba(250, 247, 242, 0.05); } :root[data-theme="dark"] .preview-status-card.is-high, :root[data-theme="dark"] .preview-status-card.is-prom { background: rgba(229, 75, 75, 0.16); border-color: rgba(229, 75, 75, 0.28); } :root[data-theme="dark"] .preview-status-card.is-medium { background: rgba(237, 199, 74, 0.16); border-color: rgba(237, 199, 74, 0.28); } :root[data-theme="dark"] .preview-status-card.is-low { background: rgba(133, 203, 51, 0.16); border-color: rgba(133, 203, 51, 0.28); } :root[data-theme="dark"] .preview-id-pill, :root[data-theme="dark"] .preview-file-icon { background: #3D3D3C; color: rgba(250, 247, 242, 0.8); } :root[data-theme="dark"] .preview-section + .preview-section { border-top-color: rgba(250, 247, 242, 0.1); } :root[data-theme="dark"] .preview-detail-card + .preview-detail-card, :root[data-theme="dark"] .preview-file { border-color: rgba(250, 247, 242, 0.1); } :root[data-theme="dark"] .preview-muted { background: transparent; border-color: transparent; } :root[data-theme="dark"] .preview-file { background: transparent; color: #FAF7F2; } :root[data-theme="dark"] .preview-file:hover, :root[data-theme="dark"] .preview-file:focus-visible { background: transparent; color: #E54B4B; } :root[data-theme="dark"] .preview-file-action, :root[data-theme="dark"] .preview-file-download { color: #E54B4B; } :root[data-theme="dark"] .preview-file-action:hover, :root[data-theme="dark"] .preview-file-action:focus-visible, :root[data-theme="dark"] .preview-file-download:hover, :root[data-theme="dark"] .preview-file-download:focus-visible { background: rgba(229, 75, 75, 0.16); } :root[data-theme="dark"] .preview-file-action:disabled { color: rgba(250, 247, 242, 0.34); } :root[data-theme="dark"] .file-preview-frame, :root[data-theme="dark"] .file-preview-image, :root[data-theme="dark"] .file-preview-text, :root[data-theme="dark"] .file-preview-docx, :root[data-theme="dark"] .file-preview-table th, :root[data-theme="dark"] .file-preview-table td { background: #1F1F1E; border-color: rgba(250, 247, 242, 0.1); color: #FAF7F2; } :root[data-theme="dark"] .file-preview-table th { background: #242423; } :root[data-theme="dark"] .file-preview-sheet-title { color: #FAF7F2; } :root[data-theme="dark"] .file-preview-empty { border-color: rgba(250, 247, 242, 0.1); } :root[data-theme="dark"] .file-preview-empty strong { color: #FAF7F2; } :root[data-theme="dark"] .file-preview-empty p { color: rgba(250, 247, 242, 0.74); } :root[data-theme="dark"] .file-preview-collapse { background: #2E2E2D; border-color: #3D3D3C; color: #FAF7F2; } :root[data-theme="dark"] .file-preview-collapse:hover, :root[data-theme="dark"] .file-preview-collapse:focus-visible { background: #3D3D3C; } :root[data-theme="dark"] .file-preview-page-button { background: #2E2E2D; border-color: #3D3D3C; color: #FAF7F2; } :root[data-theme="dark"] .file-preview-page-button:hover, :root[data-theme="dark"] .file-preview-page-button:focus-visible { background: #3D3D3C; } :root[data-theme="dark"] .file-preview-page-status { color: rgba(250, 247, 242, 0.74); } :root[data-theme="dark"] .drop-zone em { color: #FAF7F2; } :root[data-theme="dark"] .import-status-copy span { color: rgba(250, 247, 242, 0.74); } :root[data-theme="dark"] .import-status[data-status="success"] { background: rgba(133, 203, 51, 0.14); border-color: rgba(133, 203, 51, 0.3); color: #FAF7F2; } :root[data-theme="dark"] .import-status[data-status="success"] .status-icon { background: #85CB33; color: #1F1F1E; } :root[data-theme="dark"] .drop-zone.drag-over, :root[data-theme="dark"] .drop-zone.has-file { background: #2E2E2D; border-color: #E54B4B; } :root[data-theme="dark"] .icon-button { color: #FAF7F2; } :root[data-theme="dark"] .icon-button:hover, :root[data-theme="dark"] .icon-button:focus-visible { background: #2E2E2D; border-color: #3D3D3C; } :root[data-theme="dark"] .pie-chart::after { background: #2E2E2D; } :root[data-theme="dark"] .sidebar-resizer:hover::after, :root[data-theme="dark"] .sidebar-resizer:focus-visible::after, :root[data-theme="dark"] body.resizing-sidebar .sidebar-resizer::after { background: #FAF7F2; } @media (max-width: 980px) { .file-preview-backdrop { background: rgba(31, 31, 30, 0.52); pointer-events: auto; z-index: 4; } .file-preview-modal { position: relative; right: auto; width: 100vw; } } @media (max-width: 760px) { .topbar { padding: 14px; } .shell { grid-template-columns: 72px minmax(0, 1fr); } .sidebar { border-bottom: 0; border-right: 1px solid #3D3D3C; gap: 12px; padding: 16px 12px; } .sidebar-brand { align-self: center; height: 46px; justify-content: center; min-height: 46px; padding: 0; width: 46px; } .sidebar-brand-mark { font-size: 14px; text-align: center; } .sidebar-resizer { display: none; } .nav { gap: 9px; grid-template-columns: 1fr; justify-items: center; } .nav-section, .nav-section-links { justify-items: center; } .nav-section-title { display: none; } .nav-link { border-radius: 999px; display: grid; gap: 0; height: 46px; place-items: center; justify-items: center; min-height: 46px; padding: 0; width: 46px; } .settings-button { border-radius: 999px; display: grid; gap: 0; height: 46px; place-items: center; justify-items: center; min-height: 46px; padding: 0; width: 46px; } .nav-text { display: none; max-width: 0; opacity: 0; } .nav-icon { flex-basis: 24px; height: 24px; width: 24px; } .settings-icon { flex-basis: 24px; height: 24px; width: 24px; } .sidebar-footer { justify-content: center; padding-top: 16px; } .toolbar { align-items: stretch; flex-direction: column; } .toolbar-title { justify-content: flex-start; max-width: 100%; } .toolbar-actions, .modal-actions { justify-content: stretch; } .toolbar-actions .button, .modal-actions .button { justify-content: center; } .preview-body { padding: 16px 14px 20px; } .preview-status-grid, .preview-detail-grid { grid-template-columns: 1fr; } .preview-detail-card { gap: 4px; grid-template-columns: 1fr; } .preview-file { align-items: start; grid-template-columns: 28px minmax(0, 1fr); } .preview-file-actions { grid-column: 2; justify-content: flex-start; } .file-preview-body { padding: 12px 10px 14px; } .file-preview-modal .modal-actions { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); padding-left: 14px; padding-right: 14px; } .file-preview-actions .button { min-width: 0; padding-left: 12px; padding-right: 12px; } .file-preview-page-status { display: none; } .file-preview-frame { min-height: 420px; } .pagination-bar { align-items: stretch; grid-template-columns: 1fr; } .pagination-summary, .pagination-size { justify-self: stretch; justify-content: space-between; } .pagination-pages { justify-content: flex-start; justify-self: stretch; max-width: 100%; overflow-x: auto; } .stats-toolbar > div:first-child { justify-content: space-between; } .stats-switch { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; } .stats-toolbar .stats-switch { display: flex; max-width: 100%; overflow-x: auto; } .stats-toolbar .stats-switch-button { flex: 0 0 auto; min-width: 104px; } .stats-switch-button { min-width: 0; padding-left: 8px; padding-right: 8px; } .page { padding: 18px 14px 34px; } .form-grid, .file-grid { grid-template-columns: 1fr; } .stats-grid, .pie-layout, .stats-summary, .stats-summary.audit-summary, .stats-summary.testing-summary { grid-template-columns: 1fr; } .chart-panel { padding: 16px; } .home-copy h1 { font-size: 34px; } .legend-row { grid-template-columns: 14px minmax(0, 1fr); } .legend-row em { grid-column: 2; } .pie-chart { justify-self: center; } } @media (max-width: 520px) { .toolbar-actions, .modal-actions { display: grid; grid-template-columns: 1fr; } .counter { align-self: flex-start; } .import-modal { width: 100vw; } .drop-zone { min-height: 160px; padding: 18px; } }