/* Shared reset, typography, controls, forms, tables, cards and overlay primitives */ * { box-sizing: border-box; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); scrollbar-width: thin; } ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { background: var(--scrollbar-track); } ::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border: 2px solid var(--scrollbar-track); border-radius: var(--rp-radius-control, 999px); } ::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); } body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); line-height: 1.5; zoom: var(--ui-scale, 1); --ui-gap: 5px; --ui-card: 8px; --ui-font: 12px; --ui-control: 27px; --button-padding: 6px 10px; --button-font-size: 11px; --button-min-height: var(--ui-control); font-size: var(--ui-font); } button { font: inherit; -webkit-tap-highlight-color: transparent; touch-action: manipulation; cursor: pointer; border: 0; padding: var(--button-padding); font-size: var(--button-font-size); min-height: var(--button-min-height); } input { font: inherit; -webkit-tap-highlight-color: transparent; } select, textarea { font: inherit; -webkit-tap-highlight-color: transparent; display: block; width: 100%; background: var(--field-bg); border: 1px solid var(--field-line); border-radius: var(--rp-radius-control, 3px); color: var(--text); min-width: 0; padding: var(--ui-field-pad-y) var(--ui-field-pad-x); font-size: var(--ui-field-font-size); min-height: var(--ui-field-min-height); } a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; color: inherit; text-decoration: none; } button:disabled { opacity: .5; cursor: wait; } .ui-icon { display: inline-block; width: 14px; height: 14px; margin-inline-end: 6px; vertical-align: -2px; flex: 0 0 auto; pointer-events: none; } html[data-interface-icons="true"] svg.ui-icon { width: 14px; height: 14px; } .nav>.ui-icon { width: 16px; height: 16px; margin-inline-end: 0; } html[data-interface-icons="true"] .nav>svg.ui-icon { width: 16px; height: 16px; } .backend-sort-direction>.ui-icon, .dashboard-widget-scroll-button>.ui-icon, .host-chip button>.ui-icon, .acl-picker-remove>.ui-icon, .draft-dock-remove>.ui-icon, .vhost-backend-popup-close>.ui-icon, .dashboard-widget-toggle>.ui-icon { margin-inline-end: 0; } button.is-saving>.ui-icon[data-ui-icon="loader"] { animation: ui-icon-spin .8s linear infinite; } @keyframes ui-icon-spin { to { transform: rotate(360deg); } } html[data-interface-icons="true"] .nav>span:first-of-type, [hidden], #file-log-view-counts[hidden], #file-log-view-entries[hidden], [data-dashboard-widget^=stream_][hidden], #panel-overview .dashboard-overview-grid>[hidden], .overview-inline-actions[hidden], .overview-inline-hint[hidden], .acl-picker-empty[hidden], .acl-picker-limit[hidden], .acl-picker-option[hidden], .stream-health-probe-fields[hidden], .web-service-page[hidden], .settings-page[hidden], #panel-tls .certificate-page[hidden], #panel-tls .certificate-editor-card[hidden] { display: none !important; } h1 { margin: 0; font-size: calc(clamp(32px, 3.6vw, 52px)); line-height: 1.1; font-weight: 520; letter-spacing: -2px; } h2 { margin: 0; letter-spacing: -.5px; font-size: 17px; } h3 { margin: 0; font-size: 14px; margin-bottom: 10px; } a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; } .small-label { font: 10px var(--mono); color: var(--muted); font-size: 9px; letter-spacing: 1.2px; } .signal, .local-tag i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--green); } .quiet { color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: var(--rp-radius-control, 3px); padding: var(--button-padding); font-size: var(--button-font-size); min-height: var(--button-min-height); } .quiet:hover, .top-log-menu[open]>summary, .file-log-search-help[open]>summary { color: var(--text); border-color: var(--border-hover); } .primary { background: var(--accent); color: var(--accent-ink); border: 1px solid var(--accent); font-weight: 650; border-radius: var(--rp-radius-control, 3px); white-space: nowrap; padding: var(--button-padding); font-size: var(--button-font-size); min-height: var(--button-min-height); } .primary:hover { background: var(--accent-hover); } .outline { display: inline-flex; justify-content: center; align-items: center; border: 1px solid var(--outline-line); background: transparent; color: var(--text); border-radius: var(--rp-radius-control, 3px); white-space: nowrap; padding: var(--button-padding); font-size: var(--button-font-size); min-height: var(--button-min-height); } .outline:hover, .overview-inline-hidden-item>button:hover { border-color: var(--accent); } .notice { display: flex; gap: 13px; line-height: 1.65; color: var(--notice-text); border: 1px solid var(--notice-line); background: var(--notice-bg); border-radius: var(--rp-radius-surface, 3px); font-size: 10px; margin-bottom: var(--ui-gap); padding: 5px 9px; } .notice b { font-family: var(--mono); color: var(--accent); } .card-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; } .card-heading .small-label { display: block; font-size: 8px; margin-bottom: 3px; } .pill { padding: 4px 8px; border: 1px solid var(--pill-line); color: var(--accent); font: 9px var(--mono); letter-spacing: 1px; } .pill.live, .vhost-quick-toggle.is-enable, .acl-picker-policy.is-allow { border-color: var(--pill-live-line); color: var(--green); } table { width: 100%; border-collapse: collapse; text-align: left; font-size: 11px; white-space: nowrap; } #sparkline { stroke: var(--chart-accent); stroke-width: 2; fill: none; vector-effect: non-scaling-stroke; } .table-scroll { overflow: auto; } th { font: 10px var(--mono); color: var(--muted); font-weight: 400; border-bottom: 1px solid var(--line); padding: 7px 8px; } td { border-bottom: 1px solid var(--row-line); font-family: var(--mono); max-width: 260px; overflow: hidden; text-overflow: ellipsis; padding: 8px; } td:first-child, .pool-vhost-disabled td, .connection-legend span span, .dashboard-widget-toggle.is-hidden, #panel-overview .dashboard-overview-grid .mini-live-chart-head>span:first-child, #panel-overview .dashboard-overview-grid>.card:not(.system-card):not(.connection-card) .card-heading h2, .vh-origin-protocol-info, .vh-origin-protocol-warning, .docker-health-editor>summary::marker, .cache-bypass-key, #panel-cache>.card .card-heading h2, #panel-transform>.card .card-heading h2 { color: var(--muted); } .status-error, .host-chip button:hover, .acl-policy-preview-head .is-deny, .acl-profile-rule-action-badge.is-deny, .vhost-backend-popup-field.has-error>span:last-child, #panel-tls .certificate-operation-card[data-state=failed] .certificate-operation-heading strong, #panel-tls .certificate-operation-card[data-state=failed] .pill, #panel-tls .certificate-operation-card[data-state=unavailable] .certificate-operation-heading strong, #panel-tls .certificate-operation-card[data-state=unavailable] .pill { color: var(--red); } .fine, .meta { font-size: 11px; line-height: 1.7; color: var(--muted); overflow-wrap: anywhere; } .empty { color: var(--muted); font-size: 12px; padding: 17px 3px; } .section-heading { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin: 16px 0 12px; } .entity { border-bottom: 1px solid var(--line); padding: 12px 0; } .entity:first-child { padding-top: 0; } .entity:last-child { border-bottom: 0; padding-bottom: 0; } .entity-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; } .entity-title { font-weight: 650; font-size: 13px; } .entity-details { font: 11px/1.8 var(--mono); color: var(--muted); overflow-wrap: anywhere; white-space: pre-wrap; margin: 6px 0; line-height: 1.6; } .entity-actions { display: flex; flex-wrap: wrap; gap: 6px; } .entity-actions button { padding: 5px 9px; font-size: 10px; } .entity small { font: 9px var(--mono); color: var(--green); } .edit-form label { display: block; color: var(--muted); font-size: 11px; margin: 10px 0 5px; margin-top: 9px; } input:not([type=checkbox]):not([type=radio]) { display: block; width: 100%; background: var(--field-bg); border: 1px solid var(--field-line); border-radius: var(--rp-radius-control, 3px); color: var(--text); min-width: 0; padding: var(--ui-field-pad-y) var(--ui-field-pad-x); font-size: var(--ui-field-font-size); min-height: var(--ui-field-min-height); } input:not([type=checkbox]):not([type=radio]):focus, select:focus, textarea:focus, .host-chip-editor:focus-within, .acl-policy-mode-card:has(input:checked) { outline: 1px solid var(--green); border-color: var(--green); } input::placeholder { color: var(--placeholder); } input[type=checkbox], input[type=radio] { display: inline-block; width: var(--ui-check-size); height: var(--ui-check-size); min-width: var(--ui-check-size); min-height: var(--ui-check-size); padding: 0; margin: 0; accent-color: var(--green); vertical-align: middle; } input.field-invalid, select.field-invalid, textarea.field-invalid { border-color: var(--red) !important; outline: 1px solid rgba(255, 170, 162, .72); } button.is-saving { cursor: progress; } .check { display: flex !important; align-items: center; gap: 9px; margin-top: 13px !important; font-size: 11px; } .form-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 13px; } #config-editor { font: 12px/1.7 var(--mono); resize: vertical; min-height: 330px; margin-top: 16px; tab-size: 2; white-space: pre; } #settings-page-manual-config>p { margin-top: 20px; } .manual-config-source { padding: 12px 16px; margin-top: 14px; border: 1px solid var(--line); border-radius: var(--rp-radius-surface, 8px); overflow-wrap: anywhere; } .manual-config-source p { margin: 6px 0 0; } .manual-config-path { font: 12px/1.6 var(--mono); user-select: text; } .page-footer { display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid var(--line); font: 9px var(--mono); color: var(--muted); letter-spacing: .5px; padding: 12px 0; margin-top: 8px; } .page-footer b { color: var(--accent); font-weight: 400; margin-left: 9px; } .command { display: block; padding: 12px 15px; background: var(--code-bg); border-left: 2px solid var(--green); font-size: 13px; color: var(--green); margin: 15px 0 20px; overflow-wrap: anywhere; white-space: normal; } .toast { position: fixed; bottom: 26px; right: 26px; max-width: calc(min(580px, 100vw - 40px)); background: var(--toast-bg); color: var(--toast-text); border: 1px solid var(--toast-line); padding: 14px 20px; font-size: 13px; z-index: 50; box-shadow: 0 6px 35px var(--shadow-mid); white-space: pre-wrap; overflow-wrap: anywhere; } .toast.error { background: var(--toast-error-bg); border-color: var(--toast-error-line); color: var(--toast-error-text); } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } #policy-rules { font: 11px/1.6 var(--mono); resize: vertical; } .signal.status-error { background: var(--red); } #panel-tls .section-heading { flex-wrap: wrap; gap: 12px; } .language-select { width: auto; max-width: 160px; padding: 6px 9px; font-size: 11px; } #system-sparkline { fill: none; stroke: var(--chart-secondary); stroke-width: 2; vector-effect: non-scaling-stroke; } progress { display: block; width: 100%; height: 5px; margin: 6px 0 9px; border: 0; -webkit-appearance: none; background: var(--rp-progress-track); accent-color: var(--rp-progress-fill); border-radius: var(--rp-progress-radius); overflow: hidden; } progress::-webkit-progress-bar { background: var(--rp-progress-track); border-radius: var(--rp-progress-radius); } progress::-webkit-progress-value { background: var(--rp-progress-fill); border-radius: var(--rp-progress-radius); } progress::-moz-progress-bar { background: var(--rp-progress-fill); border-radius: var(--rp-progress-radius); } .diagnostics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ui-gap); margin-bottom: var(--ui-gap); } .mini-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .mini-heading h3 { font-size: 12px; margin: 0; } .diagnostic-line, .vhost-chart-line { fill: none; stroke: var(--chart-accent); stroke-width: var(--chart-line-width); stroke-linecap: var(--chart-linecap); stroke-linejoin: var(--chart-linejoin); vector-effect: non-scaling-stroke; } .network-tx-line, .process-rss-line, .appearance-chart-secondary, #panel-overview .overview-wide-series-1, #panel-overview .overview-donut-miss, #panel-overview .www-ring-1, .www-dot-1, .cache-hit-line, #sparkline-h2.traffic-line-h2, .cache-fill-line { stroke: var(--chart-secondary); } .edit-form .check { margin-top: 9px !important; } .section-heading h2, .h3-editor>label, .vh-backend-health-fields { margin-top: 4px; } .subheading { margin-top: 17px; margin-bottom: 7px !important; } .field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; } .switch-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; row-gap: 8px; } .pending-note { font-size: 11px; color: var(--accent); padding: 9px 0; } .header-rule { display: grid; grid-template-columns: 86px minmax(90px, 1fr) minmax(80px, 1.2fr) auto; gap: 6px; margin: 8px 0; } .header-rule input, .header-rule select { padding: 7px !important; font-size: 11px; } .header-rule button { font-size: 10px; padding: 6px; } .header-rules { margin-bottom: 9px; } [dir=rtl] #config-editor, [dir=rtl] .entity-details, [dir=rtl] input[type=url] { direction: ltr; text-align: left; } #pool-search { width: calc(min(250px, 30vw)); min-width: 170px; } #toast[popover] { overflow-wrap: anywhere; position: fixed; inset: auto 18px 18px auto; margin: 0; width: max-content; max-width: calc(min(520px, 100vw - 28px)); padding: 12px 16px; color: var(--text); background: var(--panel); border: 1px solid var(--green); box-shadow: 0 10px 40px var(--shadow-strong); pointer-events: none; border-radius: 0; } .card { border: 1px solid var(--line); background: var(--panel); min-width: 0; padding: var(--ui-card); } .stats { gap: var(--ui-gap); margin-bottom: var(--ui-gap); } .audit-dialog { color: var(--text); background: var(--bg); border: 1px solid var(--line); padding: 0; max-width: calc(100vw - 24px); box-shadow: 0 18px 70px var(--shadow-strong); border-radius: var(--rp-radius-surface, 7px); width: calc(min(1040px, 100vw - 24px)); max-height: calc(100dvh - 28px); overflow: hidden; } .logs-dialog { color: var(--text); background: var(--bg); border: 1px solid var(--line); padding: 0; max-width: calc(100vw - 24px); max-height: calc(100dvh - 28px); box-shadow: 0 18px 70px var(--shadow-strong); border-radius: var(--rp-radius-surface, 7px); width: 1180px; overflow: visible; } .vhost-dialog { color: var(--text); background: var(--bg); border: 1px solid var(--line); padding: 0; max-width: calc(100vw - 24px); max-height: calc(100dvh - 28px); box-shadow: 0 18px 70px var(--shadow-strong); border-radius: var(--rp-radius-surface, 7px); width: 960px; overflow: auto; } .page-editor { display: grid; grid-template-columns: minmax(105px, .9fr) minmax(115px, 1fr) minmax(105px, 1fr); gap: 6px; align-items: center; padding: 7px 0; border-bottom: 1px solid var(--line); } .page-label { font-size: 11px; font-weight: 500; } .page-source input { font-size: 11px; margin: 6px 0; } .page-source textarea { font: 11px var(--mono); min-height: 100px; } .pages-errors { margin: 12px 0; } .pages-errors>summary { font-size: 12px; cursor: pointer; } .window-heading { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--line); } .window-tools { margin-inline-start: auto; display: flex; gap: 5px; } #toast { z-index: 1000; } #toast[popover].error { border-color: #d57867; } .named-listener-row { border: 1px solid var(--line); padding: 10px; margin: 10px 0; min-width: 0; } .h3-editor, .vh-wide { grid-column: 1/-1; min-width: 0; } .h3-editor details { padding: 7px 0; } .h3-editor summary { font-size: 11px; cursor: pointer; } .h3-editor .fine, .h3-editor .vh-grid { margin-top: 7px; } #named-listener-rows { overflow: visible; } #cache-domain-scroll { max-height: 260px; overflow: auto; scrollbar-gutter: stable; } #cache-object-scroll { max-height: calc(min(49vh, 520px)); overflow: auto; scrollbar-gutter: stable; } .metrics-example { font: 11px/1.55 ui-monospace, SFMono-Regular, monospace; max-width: 100%; overflow: auto; white-space: pre; padding: 12px; background: var(--code-alt-bg); border-radius: var(--rp-radius-surface, 8px); color: var(--code-alt-text); } .metrics-preview { font: 11px/1.55 ui-monospace, SFMono-Regular, monospace; max-width: 100%; overflow: auto; white-space: pre; padding: 12px; background: var(--code-alt-bg); border-radius: var(--rp-radius-surface, 8px); color: var(--code-alt-text); max-height: 360px; } dialog::backdrop { background: var(--shadow-strong) !important; backdrop-filter: blur(2px) !important; } dialog .card, dialog .window-heading, dialog .vh-form, .acl-profile-layout>.card, .logging-grid>.card { border-radius: 0; } #location-help-dialog { width: calc(min(760px, 100vw - 28px)); max-height: calc(min(82vh, 760px)); } #location-help-body { display: grid; gap: 8px; padding: 14px 16px 18px; overflow: auto; } #location-help-body p { margin: 0; line-height: 1.55; } .basic-user { display: grid; align-items: end; gap: 7px; margin-block: 5px; grid-template-columns: 1fr 1fr auto auto; } .basic-user .fine { align-self: center; font-size: 10px; } #certificate-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 10px; } #certificate-list>.entity { border: 1px solid var(--line); padding: 12px; min-width: 0; } #settings-page-logging>.edit-form, .auth-main .login-card, .settings-page, .settings-page>.edit-form { width: 100%; max-width: none; } #vhost-list, #web-service-list, #stream-list, .vh-www-choices, .docker-service-list { display: grid; gap: 10px; } #panel-notfound .card-heading, #panel-redirects .card-heading, #panel-vhosts .card-heading, #panel-web-server .card-heading, #panel-streams .card-heading, .activity-card .card-heading, .overview-presets-dialog .overview-layout-footer, .cache-memory-sizing .form-actions { flex-wrap: wrap; } #notfound-search, #redirect-search, #vhost-search, #web-service-search, #stream-search { width: calc(min(260px, 32vw)); min-width: 180px; } .toolbar-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; } .pill.warn { border-color: var(--warn-line); color: var(--accent); } .pill.danger { border-color: var(--danger-line-strong); color: var(--red); } #panel-settings:not([hidden]) { display: grid; grid-template-columns: minmax(180px, 220px) minmax(0, 1fr); gap: 12px; align-items: start; } body[data-density=compact] { --ui-gap: 2px; --ui-card: 5px; --ui-font: 10.75px; --ui-control: 22px; line-height: 1.32; } body[data-density=compact] main { padding: 0 10px; } body[data-density=compact] .card-heading { margin-bottom: 5px; } body[data-density=compact] .card-heading h2, html[data-dashboard-density=compact] #panel-overview .dashboard-overview-grid>.card .card-heading h2 { font-size: 14px; } body[data-density=compact] .outline, body[data-density=compact] .primary, body[data-density=compact] .quiet, body[data-density=compact] button, body[data-density=compact] input:not([type=checkbox]):not([type=radio]), body[data-density=compact] select, body[data-density=compact] textarea { padding: 3px 7px; font-size: 10px; } body[data-density=compact] .page-footer { padding: 7px 0; margin-top: 4px; } .network-interface-row-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 5px; align-items: center; } .network-interface-row-head b { min-width: 0; overflow-wrap: anywhere; color: var(--text); font: 600 10px var(--mono); } .network-interface-empty { margin: 0; padding: 8px 0; } #docker-agent-add { display: inline-flex; margin-top: 14px; } #docker-agents-form>.form-actions { justify-content: flex-start; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); } .network-interface-row { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; } .network-interface-row-head .fine { flex: 0 0 auto; text-align: right; white-space: nowrap; font: 10px var(--mono); } .network-interface-row svg { display: block; width: 100%; height: 60px; overflow: visible; } .check>span { display: inline-flex; align-items: center; min-height: 15px; line-height: 1.25; } .check input[type=checkbox] { flex: 0 0 auto; align-self: center; transform: translateY(-1px); } .operation-message { margin: 14px 0 0; padding: 11px 12px; border: 1px solid var(--line); background: var(--panel2); color: var(--text); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; } .operation-message.error, .login-section #auth-message.error { border-color: rgba(255, 170, 162, .58); background: rgba(255, 170, 162, .07); color: var(--red); } .proto-h1-line { stroke: var(--traffic-h1); fill: none; stroke-width: var(--chart-line-width); stroke-linecap: var(--chart-linecap); } .proto-h2-line { fill: none; stroke-width: var(--chart-line-width); stroke-linecap: var(--chart-linecap); stroke: var(--traffic-h2); } .proto-h3-line { fill: none; stroke-width: var(--chart-line-width); stroke-linecap: var(--chart-linecap); stroke: var(--traffic-h3); } .function-live-line { fill: none; stroke-width: 2.2; vector-effect: non-scaling-stroke; } .payload-split { display: flex !important; align-items: center; gap: 10px; font: 9px var(--mono) !important; } .payload-split span { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; } .payload-split b, .function-live-chart-legend b, .connection-card .chart-footer b, .connection-legend b { color: var(--text); font-weight: 650; } .network-interface-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; } .network-interface-hide, .network-interface-hidden .quiet { min-height: 24px; padding: 3px 7px; font: 9px var(--mono); } .network-interface-row+.network-interface-row, .docker-service-editor { border-top: 1px solid var(--line); padding-top: 8px; } .network-interface-hidden { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-top: 8px; border-top: 1px solid var(--line); color: var(--muted); font: 9px var(--mono); } #cache-memory-warning { color: var(--notice-text); font-weight: 600; } .mini-heading-actions, .mini-live-chart-actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 7px; min-width: 0; } .metric-info, .top-log-menu, .backend-column-picker, .file-log-search-help { position: relative; } .metric-info>summary { width: 18px; height: 18px; display: inline-grid; place-items: center; list-style: none; cursor: pointer; border: 1px solid var(--line); color: var(--muted); background: var(--panel2); font: 700 10px var(--mono); user-select: none; border-radius: var(--rp-radius-control, 50%); } .metric-info>summary::-webkit-details-marker, .top-log-menu>summary::-webkit-details-marker, .function-live-chart-summary::-webkit-details-marker, .backend-column-picker>summary::-webkit-details-marker, .log-column-picker>summary::-webkit-details-marker, .file-log-search-help>summary::-webkit-details-marker { display: none; } .metric-info>summary:focus-visible, .metric-info>summary:hover, .metric-info[open]>summary { color: var(--text); border-color: var(--border-hover); outline: none; } .metric-info-popover { position: absolute; z-index: 40; top: calc(100% + 7px); right: 0; width: calc(min(360px, 100vw - 44px)); padding: 10px 11px; border: 1px solid var(--line); border-radius: var(--rp-radius-surface, 6px); background: var(--panel2); box-shadow: 0 12px 30px var(--shadow-mid); } .metric-info-popover .fine { margin: 0; line-height: 1.5; } .manual-config-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .about-dialog { width: calc(min(640px, 100vw - 24px)); max-height: calc(100vh - 24px); overflow: auto; } .about-dialog .window-heading button { margin-inline-start: auto; } .about-card { display: grid; gap: 16px; margin: 0; padding: 18px; border: 0; box-shadow: none; } .about-product { display: flex; align-items: center; gap: 12px; } .about-product>div { display: grid; gap: 4px; } .about-product strong { font: 600 16px var(--mono); } .about-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; border: 1px solid var(--line); background: var(--line); } .about-meta>div { min-width: 0; padding: 10px 12px; background: var(--panel); } .about-meta dt { margin-bottom: 5px; color: var(--muted); font: 9px var(--mono); letter-spacing: .8px; text-transform: uppercase; } .about-meta dd { margin: 0; overflow-wrap: anywhere; } .about-card>p { margin: 0; color: var(--muted); line-height: 1.65; } .about-license { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid var(--line); background: var(--panel); } .about-license h3 { margin: 0; } .about-license p { margin: 0; line-height: 1.6; } .about-license ul { display: grid; gap: 4px; margin: 0; padding-inline-start: 18px; color: var(--muted); line-height: 1.5; } .about-links { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; } .about-repository { justify-content: space-between; gap: 12px; width: 100%; white-space: normal; text-align: left; } .about-repository span:first-child { margin-right: auto; text-align: left; } .about-repository span:last-child { margin-left: auto; color: var(--muted); font: 10px var(--mono); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } html[data-table-density=compact] :is(table th, table td) { padding-top: 6px; padding-bottom: 6px; font-size: 11px; line-height: 1.28; } html[data-table-density=ultra] :is(table th, table td) { padding-top: 3px; padding-bottom: 3px; font-size: 10px; line-height: 1.15; } .php-switch-row { justify-content: flex-start; display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 30px; margin: 4px 0; } .php-switch-row .php-switch-label { display: inline-flex !important; flex: 0 1 auto; align-items: center; gap: 9px; min-width: 0; margin: 0 !important; line-height: 1.5; } .php-switch-row .php-switch-label input[type=checkbox] { position: static; flex: 0 0 var(--ui-check-size); margin: 0; } .php-switch-row .php-field-info, .vh-check input, .docker-service-head-actions .docker-view-toggle, .appearance-section-reset { flex: 0 0 auto; } .php-switch-row .php-field-info .metric-info-popover { right: auto; left: 0; } .php-reference pre { overflow-x: auto; white-space: pre; padding: 10px; border: 1px solid var(--line); border-radius: var(--rp-radius-surface, 4px); background: var(--panel2); font: 12px/1.6 var(--mono); } .php-profile-help-divider { width: 100%; height: 0; margin: 16px 0 12px; border: 0; border-top: 1px solid var(--line); } .php-origin-errors { grid-column: 1/-1; display: grid; gap: 8px; padding: 10px 0; border-top: 1px solid var(--line); } .php-origin-errors>label { max-width: 430px; } #file-log-view-counts, #file-log-view-entries, #panel-filelogs { min-width: 0; max-width: 100%; } .form-actions .check { margin-top: 0 !important; min-height: var(--button-min-height); align-items: center; } .path-permissions { min-width: 0; } .path-permissions-commands { max-height: 180px; } .path-permissions-actions { margin-top: 0; } .path-permissions-options>summary { cursor: pointer; } .path-permissions-options[open] { flex-basis: 100%; } .path-permissions-account { display: grid; gap: 6px; max-width: 260px; } #certificate-external-acl-example.path-permissions { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 15px; } .path-permissions-commands { margin-bottom: 0; } .path-permissions-commands+.path-permissions-description { margin: 7px 0 0; } .path-permissions-actions { margin-top: 10px; }