@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("/assets/webfonts/jetbrains-mono-cyrillic-ext.woff2") format("woff2");
    unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("/assets/webfonts/jetbrains-mono-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
    font-family: "JetBrains Mono";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("/assets/webfonts/jetbrains-mono-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --matrix-font: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    --matrix-font-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color-scheme: dark;
    --matrix-bg: #000000;
    --matrix-panel: rgba(0, 12, 4, 0.6);
    --matrix-panel-solid: #000c04;
    --matrix-panel-raised: #021009;
    --matrix-line: rgba(0, 255, 65, 0.2);
    --matrix-line-strong: rgba(0, 255, 65, 0.45);
    --matrix-text: #f5f1ea;
    --matrix-text-strong: #bdffc4;
    --matrix-muted: #7fc591;
    --matrix-green: #00ff41;
    --matrix-cyan: #61a0ff;
    --matrix-amber: #ffd56a;
    --matrix-danger: #ff5a6b;
    --sber-green: var(--matrix-green);
    --sber-green-dark: #00b32d;
    --sber-green-deep: #008f24;
    --sber-mint: rgba(0, 255, 65, 0.08);
    --sber-mint-strong: rgba(0, 255, 65, 0.16);
    --sber-teal: var(--matrix-cyan);
    --sber-ink: var(--matrix-text);
    --sber-muted: var(--matrix-muted);
    --sber-border: var(--matrix-line);
    --button-transition: 180ms ease;
}

.tool-proxy-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
    padding: 11px 13px;
    border: 1px solid rgba(255, 213, 106, 0.62);
    border-radius: 10px;
    background: rgba(68, 47, 0, 0.42);
    color: var(--matrix-amber);
    font-size: 12px;
    line-height: 1.45;
}

.tool-proxy-warning > i {
    margin-top: 2px;
}

.tool-proxy-warning strong,
.tool-proxy-warning span {
    display: block;
}

.tool-proxy-warning strong {
    margin-bottom: 2px;
    color: #ffe6a8;
}

button,
.btn,
.fi-btn,
.fi-icon-btn,
.fi-sidebar-item-button,
[role="button"] {
    transition:
        background-color var(--button-transition),
        border-color var(--button-transition),
        box-shadow var(--button-transition),
        color var(--button-transition),
        filter var(--button-transition),
        opacity var(--button-transition),
        transform var(--button-transition) !important;
}

a {
    color: var(--sber-green-dark);
}

a:hover {
    color: var(--sber-green-deep);
}

.btn-primary,
.fi-btn-color-primary,
button[type="submit"]:not(.fi-dropdown-list-item) {
    background-color: var(--sber-green) !important;
    border-color: var(--sber-green) !important;
    color: #fff !important;
}

.btn-primary:hover,
.fi-btn-color-primary:hover,
button[type="submit"]:not(.fi-dropdown-list-item):hover {
    background-color: var(--sber-green-dark) !important;
    border-color: var(--sber-green-dark) !important;
}

.fi-btn:not(:disabled):hover,
.btn:not(:disabled):hover {
    box-shadow: 0 5px 14px rgba(16, 127, 62, 0.2) !important;
    filter: brightness(0.96);
}

.fi-btn-color-danger:not(:disabled):hover {
    background-color: #c9343d !important;
    border-color: #c9343d !important;
    color: #fff !important;
}

.fi-icon-btn:not(:disabled):hover {
    background-color: var(--sber-mint) !important;
    color: var(--sber-green-dark) !important;
}

.fi-btn:not(:disabled):active,
.btn:not(:disabled):active,
.tool-action-button:not(:disabled):active {
    transform: translateY(1px) !important;
}

button:focus-visible,
.btn:focus-visible,
.fi-btn:focus-visible,
.fi-icon-btn:focus-visible,
[role="button"]:focus-visible {
    outline: 2px solid var(--sber-green) !important;
    outline-offset: 2px !important;
}

.bg-primary,
.bg-theme,
.bg-gradient-custom-blue,
.bg-gradient-custom-teal,
.bg-gradient-custom-orange,
.bg-gradient-custom-pink,
.bg-gradient-custom-indigo {
    background: var(--matrix-green) !important;
}

.text-primary,
.text-theme,
.page-header,
.fi-logo,
.fi-sidebar-item-active .fi-sidebar-item-label {
    color: var(--sber-green-dark) !important;
}

.app-header,
.app-sidebar,
.fi-topbar,
.fi-sidebar-header {
    border-color: var(--sber-border) !important;
}

.app-sidebar .menu .menu-item.active > .menu-link,
.app-sidebar .menu .menu-item .menu-link:hover {
    background: var(--sber-mint) !important;
    color: var(--sber-green-dark) !important;
}

.app-sidebar .menu .menu-icon,
.app-sidebar .menu .menu-caret,
.fi-sidebar-item-icon {
    color: var(--sber-green) !important;
}

.card,
.fi-section,
.fi-ta-ctn {
    border-color: var(--sber-border) !important;
}

.card:hover {
    box-shadow: 0 10px 30px rgba(33, 160, 56, 0.12);
}

.form-control:focus,
textarea:focus,
input:focus,
.fi-input:focus-within {
    border-color: var(--sber-green) !important;
    box-shadow: 0 0 0 0.2rem rgba(33, 160, 56, 0.15) !important;
}

.badge.bg-success,
.fi-badge-color-success {
    background-color: var(--sber-mint-strong) !important;
    color: var(--sber-green-deep) !important;
}

.progress-bar {
    background-color: var(--sber-green) !important;
}

body {
    background: var(--matrix-bg);
    color: var(--matrix-text);
    font-family: var(--matrix-font);
}

.text-body.text-opacity-50,
.fs-13px,
.text-muted {
    color: var(--sber-muted) !important;
}

.fi-sidebar-nav-groups {
    row-gap: 0.2rem !important;
}

.fi-sidebar-group {
    gap: 0.2rem !important;
}

.fi-sidebar-group-items {
    gap: 0 !important;
}

.tool-results-toolbar {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 12px;
}

.tool-results-title {
    color: var(--sber-ink);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.3;
}

.tool-results-actions {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 8px;
}

.tool-action-button {
    align-items: center;
    background: #fff;
    border: 1px solid var(--sber-border);
    border-radius: 6px;
    color: var(--sber-muted);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 40px;
    font-size: 19px;
    height: 40px;
    justify-content: center;
    padding: 0;
    width: 40px;
}

.tool-action-button:not(:disabled):hover {
    border-color: currentColor;
    box-shadow: 0 5px 14px rgba(16, 35, 26, 0.12);
}

.tool-action-button--excel:not(:disabled):hover,
.tool-action-button--copy.is-success {
    background: var(--sber-mint);
    color: var(--sber-green-dark);
}

.tool-action-button--pdf:not(:disabled):hover {
    background: #feecec;
    color: #b4232c;
}

.tool-action-button--copy:not(:disabled):hover {
    background: #e8f3ff;
    color: #1769aa;
}

.dark .tool-action-button {
    background: #17251d;
    border-color: #365244;
    color: #c4d5cb;
}

.tool-results-actions .fi-icon-btn {
    height: 38px !important;
    width: 38px !important;
}

.tool-results-actions .fi-icon-btn-icon {
    height: 20px !important;
    width: 20px !important;
}

.tool-description-row {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 4px;
}

.tool-description-row > p {
    margin: 0;
    min-width: 0;
}

.fi-page:has(.tool-description-row) .fi-header {
    margin-bottom: 0.35rem !important;
}

.fi-page:has(.tool-description-row) .fi-header-heading {
    line-height: 1.18 !important;
    margin-bottom: 0 !important;
}

.fi-page:has(.tool-description-row) .fi-main-ctn,
.fi-page:has(.tool-description-row) .fi-page-content {
    row-gap: 0.5rem !important;
}

.tool-page-actions {
    align-items: center;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px;
    flex-shrink: 0;
    justify-content: flex-end;
    margin: 0;
    padding-top: 10px;
    min-height: 40px;
    position: relative;
    z-index: 20;
}

.tool-page-actions .fi-icon-btn {
    height: 40px !important;
    width: 40px !important;
}

.tool-page-actions .fi-icon-btn-icon {
    height: 21px !important;
    width: 21px !important;
}

@media (max-width: 768px) {
    .tool-description-row {
        flex-direction: column;
    }

    .tool-page-actions {
        justify-content: flex-start;
    }
}

.fi-btn:disabled,
.fi-btn[disabled],
button:disabled,
button[disabled] {
    cursor: not-allowed !important;
    filter: grayscale(0.25) !important;
    opacity: 0.42 !important;
}

.tool-run-actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap;
    gap: 16px !important;
    margin-top: 40px !important;
}

.tool-run-actions .fi-btn {
    align-self: center !important;
    display: inline-flex !important;
    height: 36px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    min-width: 122px !important;
    min-height: 36px !important;
    transform: none !important;
    vertical-align: middle !important;
}

.tool-run-actions .fi-btn[wire\:click="run"]::before,
.tool-run-actions .fi-btn[wire\:click="cancel"]::before {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}

.tool-run-actions .fi-btn[wire\:click="run"]::before {
    content: "\f04b";
}

.tool-run-actions .fi-btn[wire\:click="cancel"]::before {
    content: "\f00d";
}

[class*="-sort-button"] {
    border-radius: 4px;
    transition:
        background-color var(--button-transition),
        color var(--button-transition) !important;
}

[class*="-sort-button"]:hover {
    background-color: var(--sber-mint);
    color: var(--sber-green-dark);
}

.tool-run-actions .fi-btn-icon,
.tool-run-actions .fi-btn-label,
.tool-run-actions .fi-loading-indicator {
    align-self: center !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

.tool-url-count {
    color: #4b5563;
    font-size: 11px;
    line-height: 1.35;
    margin-top: 10px;
}

.dark .tool-url-count {
    color: #9ca3af;
}

.tool-two-column-layout {
    display: block;
    width: 100%;
}

.tool-left-pane {
    min-width: 0;
    width: 100%;
}

.tool-right-pane {
    align-items: center;
    backdrop-filter: blur(2px);
    background: rgba(0, 7, 4, 0.74);
    display: none;
    inset: 0;
    justify-content: center;
    min-width: 0;
    overscroll-behavior: contain;
    padding: 24px;
    position: fixed;
    width: 100%;
    z-index: 70;
}

.tool-right-pane:has(.fi-section) {
    display: flex;
}

.tool-right-pane .fi-section {
    animation: tool-modal-enter 180ms ease-out;
    box-shadow: 0 24px 64px rgba(8, 22, 15, 0.24);
    max-height: calc(100vh - 48px);
    max-width: 1600px;
    overflow: hidden;
    width: 100%;
}

.tool-left-pane .fi-section {
    height: auto;
    width: 100%;
}

.tool-left-pane textarea {
    display: block;
    margin-bottom: 0 !important;
}

.tool-right-pane .fi-section-content,
.tool-right-pane .fi-section-content-ctn {
    display: block;
    max-width: none;
    width: 100%;
}

.tool-right-pane .fi-section-content-ctn {
    max-height: calc(100vh - 50px);
    overflow: auto;
}

.tool-results-modal-toolbar {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--sber-border);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin: -24px -24px 16px;
    padding: 16px 24px;
    position: sticky;
    top: -24px;
    z-index: 5;
}

.tool-results-modal-title {
    color: var(--sber-ink);
    font-size: 17px;
    font-weight: 650;
    line-height: 1.3;
    margin: 0;
}

.tool-results-modal-actions {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 12px;
}

.tool-results-modal-actions > .fi-btn {
    align-items: center;
    gap: 8px;
    height: 40px;
    min-width: 122px;
}

.dark .tool-results-modal-toolbar {
    background: #111c16;
    border-color: #365244;
}

.dark .tool-results-modal-title {
    color: #edf7f0;
}

.tool-result-pending-cell {
    color: var(--sber-muted);
}

.tool-result-pending-label {
    align-items: center;
    display: inline-flex;
    gap: 7px;
    white-space: nowrap;
}

.tool-result-pending-label .fa-spinner {
    animation: tool-pending-spin 900ms linear infinite;
    color: var(--sber-green);
}

.tool-result-pending-placeholder {
    color: #a3b1a9;
}

.tool-right-pane:has([wire\:click="pause"]) [class*="-sort-button"],
.tool-right-pane:has([wire\:click="run"]) [class*="-sort-button"] {
    cursor: wait;
    opacity: 0.5;
    pointer-events: none;
}

.tool-right-pane table[id$="-results-table"] {
    display: table;
    table-layout: auto;
    min-width: 100%;
    width: 100% !important;
}

@media (max-width: 1024px) {
    .tool-right-pane {
        padding: 12px;
    }

    .tool-right-pane .fi-section {
        max-height: calc(100vh - 24px);
    }

    .tool-right-pane .fi-section-content-ctn {
        max-height: calc(100vh - 26px);
    }
}

@media (max-width: 640px) {
    .tool-results-modal-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .tool-results-modal-actions {
        flex-wrap: wrap;
        width: 100%;
    }

    .tool-results-modal-actions > .fi-btn {
        flex: 1 1 122px;
    }
}

@keyframes tool-modal-enter {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.99);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes tool-pending-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    button,
    .btn,
    .fi-btn,
    .fi-icon-btn,
    .fi-sidebar-item-button,
    [role="button"] {
        transition-duration: 0.01ms !important;
    }
}

/* Matrixnet brand layer. Mirrors the public site's dark technical design system. */
html,
body,
.fi-body,
.fi-layout,
.fi-main,
.fi-page,
.fi-page-content,
.fi-simple-layout {
    color: var(--matrix-text);
    font-family: var(--matrix-font) !important;
    letter-spacing: 0;
}

.fi-body,
.fi-layout,
.fi-main,
.fi-page,
.fi-page-content,
.fi-simple-layout {
    background-color: transparent !important;
}

body.fi-body {
    background: var(--matrix-bg) !important;
}

::selection {
    background: rgba(0, 255, 65, 0.28);
    color: var(--matrix-text-strong);
}

.fi-topbar,
.fi-sidebar,
.fi-sidebar-header,
.fi-topbar nav {
    background: rgba(0, 4, 1, 0.88) !important;
    border-color: var(--matrix-line) !important;
    color: var(--matrix-text) !important;
}

.fi-topbar,
.fi-sidebar-header {
    backdrop-filter: blur(18px);
}

.fi-sidebar-header {
    min-height: 73px;
}

.fi-sidebar-nav {
    background: rgba(0, 4, 1, 0.54);
    scrollbar-color: rgba(0, 255, 65, 0.35) transparent;
}

.matrixnet-brand {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    height: 42px;
    max-width: 100%;
}

.matrixnet-brand-mark {
    display: block;
    flex: 0 0 auto;
    height: 42px;
    object-fit: contain;
    width: 88px;
}

.matrixnet-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1;
    min-width: 0;
}

.matrixnet-brand-copy strong {
    color: #bdffc4;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.05;
}

.matrixnet-brand-copy small {
    color: #7fc591;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 4px;
    white-space: nowrap;
}

.fi-logo {
    color: var(--matrix-text) !important;
    overflow: visible;
}

.fi-sidebar-group-label,
.fi-sidebar-item-label,
.fi-dropdown-list-item-label,
.fi-user-menu-trigger,
.fi-breadcrumbs-item-label {
    color: #bdffc4 !important;
}

.fi-sidebar-group-label {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 24px !important;
}

.matrixnet-nav-group > .fi-sidebar-group-btn,
.matrixnet-nav-group > .fi-sidebar-group-button {
    column-gap: 9px !important;
    padding-block: 6px !important;
}

.matrixnet-nav-group > .fi-sidebar-group-btn .fi-sidebar-group-label,
.matrixnet-nav-group > .fi-sidebar-group-button .fi-sidebar-group-label {
    text-transform: uppercase;
}

.matrixnet-nav-group > .fi-sidebar-group-btn::before,
.matrixnet-nav-group > .fi-sidebar-group-button::before {
    background-color: var(--matrix-green);
    content: "";
    display: block;
    flex: 0 0 16px;
    height: 16px;
    opacity: 0.78;
    -webkit-mask: var(--matrix-nav-group-icon) center / contain no-repeat;
    mask: var(--matrix-nav-group-icon) center / contain no-repeat;
    transition: filter 180ms ease, opacity 180ms ease;
    width: 16px;
}

.matrixnet-nav-group > .fi-sidebar-group-btn:hover::before,
.matrixnet-nav-group > .fi-sidebar-group-button:hover::before,
.matrixnet-nav-group.fi-active > .fi-sidebar-group-btn::before,
.matrixnet-nav-group.fi-active > .fi-sidebar-group-button::before {
    filter: drop-shadow(0 0 5px rgba(0, 255, 65, 0.42));
    opacity: 1;
}

.matrixnet-nav-group--audits {
    --matrix-nav-group-icon: url("/assets/icons/navigation/audits.svg");
}

.matrixnet-nav-group--technical {
    --matrix-nav-group-icon: url("/assets/icons/navigation/technical.svg");
}

.matrixnet-nav-group--content {
    --matrix-nav-group-icon: url("/assets/icons/navigation/content.svg");
}

.matrixnet-nav-group--parameters {
    --matrix-nav-group-icon: url("/assets/icons/navigation/parameters.svg");
}

.matrixnet-nav-group--seo {
    --matrix-nav-group-icon: url("/assets/icons/navigation/visibility.svg");
}

.matrixnet-nav-group--webmaster {
    --matrix-nav-group-icon: url("/assets/icons/navigation/tools.svg");
}

.matrixnet-nav-group--semantics {
    --matrix-nav-group-icon: url("/assets/icons/navigation/semantics.svg");
}

.matrixnet-nav-group--settings {
    --matrix-nav-group-icon: url("/assets/icons/navigation/settings.svg");
}

.matrixnet-nav-group--info {
    --matrix-nav-group-icon: url("/assets/icons/navigation/info.svg");
}

.fi-sidebar-item-label {
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
}

.fi-sidebar-group-button {
    background: rgba(0, 255, 65, 0.075) !important;
    border-color: rgba(0, 255, 65, 0.14) !important;
    box-shadow: inset 3px 0 0 rgba(0, 255, 65, 0.34) !important;
    min-height: 38px !important;
    padding-inline: 10px 8px !important;
}

.fi-sidebar-group-button .fi-sidebar-group-label {
    color: var(--matrix-text) !important;
    font-weight: 650 !important;
}

.fi-sidebar-group-items {
    border-left: 1px solid rgba(0, 255, 65, 0.18) !important;
    margin-left: 13px !important;
    padding-left: 12px !important;
}

.fi-sidebar-group-items .fi-sidebar-item-button {
    padding-left: 10px !important;
}

.matrixnet-nav-group .fi-sidebar-group-items .fi-sidebar-item-btn {
    padding-block: 6px !important;
}

.fi-sidebar-group-button,
.fi-sidebar-item-button,
.fi-dropdown-list-item {
    border: 1px solid transparent;
    border-radius: 7px !important;
}

.fi-sidebar-group-button {
    border-color: rgba(0, 255, 65, 0.14) !important;
}

.fi-sidebar-item-button:hover,
.fi-sidebar-group-button:hover,
.fi-dropdown-list-item:hover {
    background: rgba(0, 255, 65, 0.08) !important;
    border-color: rgba(0, 255, 65, 0.16) !important;
}

.fi-user-menu .fi-dropdown-panel {
    background: #07150d !important;
    border-color: rgba(127, 197, 145, 0.48) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.72), 0 0 0 1px rgba(0, 255, 65, 0.08) !important;
    min-width: 220px;
    padding: 4px !important;
}

.fi-user-menu .fi-dropdown-list {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 2px !important;
}

.fi-user-menu .fi-dropdown-list + .fi-dropdown-list {
    border-top: 1px solid rgba(127, 197, 145, 0.24) !important;
    margin-top: 3px;
    padding-top: 5px !important;
}

.fi-user-menu .fi-dropdown-list-item {
    background: transparent !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    color: var(--matrix-text) !important;
    min-height: 40px;
}

.fi-user-menu .fi-dropdown-list-item .fi-dropdown-list-item-label {
    color: var(--matrix-text) !important;
}

.fi-user-menu .fi-dropdown-list-item .fi-icon {
    color: #9cc7ad !important;
}

.fi-user-menu a.fi-dropdown-list-item:hover,
.fi-user-menu a.fi-dropdown-list-item:focus-visible {
    background: rgba(97, 160, 255, 0.14) !important;
    border-color: rgba(97, 160, 255, 0.42) !important;
}

.fi-user-menu a.fi-dropdown-list-item:focus-visible {
    outline-color: rgba(97, 160, 255, 0.86) !important;
    outline-offset: 1px !important;
}

.fi-user-menu form .fi-dropdown-list-item[type="submit"] {
    background: rgba(255, 90, 107, 0.1) !important;
    border-color: rgba(255, 90, 107, 0.28) !important;
    box-shadow: none !important;
    color: var(--matrix-danger) !important;
}

.fi-user-menu form .fi-dropdown-list-item[type="submit"] .fi-dropdown-list-item-label,
.fi-user-menu form .fi-dropdown-list-item[type="submit"] .fi-icon {
    color: var(--matrix-danger) !important;
}

.fi-user-menu form .fi-dropdown-list-item[type="submit"]:hover,
.fi-user-menu form .fi-dropdown-list-item[type="submit"]:focus-visible {
    background: rgba(255, 90, 107, 0.2) !important;
    border-color: rgba(255, 90, 107, 0.58) !important;
}

.fi-user-menu form .fi-dropdown-list-item[type="submit"]:focus-visible {
    outline-color: rgba(255, 90, 107, 0.86) !important;
    outline-offset: 1px !important;
}

.fi-sidebar-item-active > .fi-sidebar-item-button,
.fi-sidebar-item.fi-active > .fi-sidebar-item-button {
    background: rgba(0, 255, 65, 0.13) !important;
    border-color: rgba(0, 255, 65, 0.34) !important;
    box-shadow: inset 3px 0 0 var(--matrix-green), 0 0 20px rgba(0, 255, 65, 0.08) !important;
}

.fi-sidebar-item-icon,
.fi-sidebar-group-icon,
.fi-sidebar-group-collapse-button,
.fi-breadcrumbs-item-separator,
.fi-icon-btn {
    color: var(--matrix-muted) !important;
}

.fi-sidebar-item-active .fi-sidebar-item-icon,
.fi-sidebar-item-button:hover .fi-sidebar-item-icon,
.fi-sidebar-group-button:hover .fi-sidebar-group-icon {
    color: var(--matrix-green) !important;
}

.fi-sidebar-group-collapse-button {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: rgba(191, 218, 201, 0.72) !important;
    display: inline-flex !important;
    height: 26px !important;
    justify-content: center !important;
    margin-right: 2px !important;
    padding: 0 !important;
    width: 26px !important;
}

.fi-sidebar-group-collapse-button:hover {
    background: rgba(0, 255, 65, 0.1) !important;
    color: var(--matrix-green) !important;
    transform: translateY(-1px);
}

.fi-sidebar-group-collapse-button svg {
    height: 14px !important;
    width: 14px !important;
    stroke-width: 2 !important;
}

.matrixnet-nav-group > .fi-sidebar-group-btn .fi-sidebar-group-label,
.matrixnet-nav-group > .fi-sidebar-group-button .fi-sidebar-group-label {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

.matrixnet-nav-group .fi-sidebar-group-collapse-btn {
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: rgba(191, 218, 201, 0.68) !important;
    display: inline-flex !important;
    flex: 0 0 18px !important;
    height: 18px !important;
    justify-content: center !important;
    margin-inline: -4px auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: 18px !important;
}

.matrixnet-nav-group .fi-sidebar-group-collapse-btn:hover {
    background: transparent !important;
    color: var(--matrix-green) !important;
}

.matrixnet-nav-group .fi-sidebar-group-collapse-btn:focus-visible {
    background: rgba(0, 255, 65, 0.08) !important;
    color: var(--matrix-green) !important;
    outline: 1px solid rgba(0, 255, 65, 0.42) !important;
    outline-offset: 1px !important;
}

.matrixnet-nav-group .fi-sidebar-group-collapse-btn svg {
    height: 12px !important;
    stroke-width: 2 !important;
    width: 12px !important;
}

.fi-sidebar-item-icon {
    display: none !important;
}

.fi-sidebar-item-button {
    gap: 0 !important;
}

.fi-sidebar-nav-groups > .fi-sidebar-item .fi-sidebar-item-icon {
    display: inline-flex !important;
}

.fi-sidebar-nav-groups > .fi-sidebar-item .fi-sidebar-item-button {
    gap: 0.75rem !important;
}

.fi-sidebar-nav-groups > .fi-sidebar-item > .fi-sidebar-item-button[href$="/"] .fi-sidebar-item-icon,
.fi-sidebar-nav-groups > .fi-sidebar-item > a.fi-sidebar-item-button[href$="/"] .fi-sidebar-item-icon {
    display: inline-flex !important;
}

.fi-sidebar-nav-groups > .fi-sidebar-item > .fi-sidebar-item-button[href$="/"],
.fi-sidebar-nav-groups > .fi-sidebar-item > a.fi-sidebar-item-button[href$="/"] {
    gap: 0.75rem !important;
}

.fi-sidebar-nav-groups > .fi-sidebar-item.fi-active > .fi-sidebar-item-button[href$="/"],
.fi-sidebar-nav-groups > .fi-sidebar-item-active > .fi-sidebar-item-button[href$="/"],
.fi-sidebar-nav-groups > .fi-sidebar-item.fi-active > a.fi-sidebar-item-button[href$="/"],
.fi-sidebar-nav-groups > .fi-sidebar-item-active > a.fi-sidebar-item-button[href$="/"] {
    box-shadow: 0 0 20px rgba(0, 255, 65, 0.08) !important;
}

.fi-header-heading,
.fi-section-header-heading,
.fi-modal-heading,
.fi-simple-header-heading,
.fi-ta-header-heading,
h1,
h2,
h3 {
    color: var(--matrix-text-strong) !important;
    letter-spacing: 0 !important;
}

.fi-header-heading {
    font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
    font-weight: 650 !important;
}

.fi-header-subheading,
.fi-section-header-description,
.fi-simple-header-subheading,
.tool-description-row > p,
.tool-url-count,
.text-gray-500,
.dark .dark\:text-gray-400 {
    color: var(--matrix-muted) !important;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-stats-overview-stat,
.card,
.fi-simple-main,
.fi-modal-window,
.fi-dropdown-panel,
.fi-dropdown-list,
.fi-notification {
    background: var(--matrix-panel) !important;
    border: 1px solid var(--matrix-line) !important;
    border-radius: 8px !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.2) !important;
    color: var(--matrix-text) !important;
}

.fi-section-header,
.fi-ta-header,
.fi-modal-header,
.fi-modal-footer,
.fi-dropdown-header {
    background: rgba(0, 12, 4, 0.82) !important;
    border-color: var(--matrix-line) !important;
}

.fi-section-header:first-child,
.fi-ta-header:first-child,
.fi-modal-header:first-child {
    border-radius: 7px 7px 0 0 !important;
}

.fi-simple-main {
    backdrop-filter: blur(18px);
    box-shadow: 0 0 0 1px rgba(0, 255, 65, 0.08), 0 24px 70px rgba(0, 0, 0, 0.36) !important;
}

.fi-input-wrp,
.fi-fo-field-wrp .fi-input-wrp,
.fi-select-input,
.fi-fo-date-time-picker-panel,
.form-control,
textarea,
input:not([type="checkbox"]):not([type="radio"]) {
    background: var(--matrix-panel-solid) !important;
    border-color: var(--matrix-line) !important;
    border-radius: 6px !important;
    color: var(--matrix-text-strong) !important;
    box-shadow: none !important;
}

.fi-input-wrp,
.fi-fo-field-wrp .fi-input-wrp,
.fi-select-input,
.form-control,
textarea {
    border: 1px solid var(--matrix-line) !important;
}

.fi-input {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.fi-input,
.fi-select-input,
textarea,
input {
    color: var(--matrix-text-strong) !important;
    caret-color: var(--matrix-green);
}

.fi-input::placeholder,
textarea::placeholder,
input::placeholder {
    color: rgba(152, 189, 168, 0.62) !important;
}

.fi-input-wrp:focus-within,
.form-control:focus,
textarea:focus,
input:not([type="checkbox"]):not([type="radio"]):focus,
[class$="-url-input"]:focus {
    border-color: rgba(0, 255, 65, 0.62) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 255, 65, 0.1) !important;
    --tw-ring-color: transparent !important;
    --tw-ring-shadow: 0 0 transparent !important;
}

input[type="checkbox"],
input[type="radio"],
.fi-checkbox-input,
.fi-radio-input {
    accent-color: var(--matrix-green) !important;
    background-color: var(--matrix-panel-solid) !important;
    border-color: var(--matrix-line-strong) !important;
    color: var(--matrix-green) !important;
}

.fi-fo-field-wrp-label,
.fi-fo-field-wrp-label span,
.fi-radio-label,
.fi-checkbox-label {
    color: #f5f1ea !important;
}

.fi-btn,
.btn,
button,
[role="button"] {
    border-radius: 8px !important;
    letter-spacing: 0 !important;
}

.fi-btn-color-primary,
.btn-primary,
button[type="submit"]:not(.fi-dropdown-list-item) {
    background: var(--matrix-green) !important;
    border: 1px solid rgba(0, 255, 65, 0.42) !important;
    box-shadow: 0 0 28px rgba(0, 255, 65, 0.18) !important;
    color: #000000 !important;
    font-weight: 800 !important;
}

.fi-btn-color-primary:not(:disabled):hover,
.btn-primary:not(:disabled):hover,
button[type="submit"]:not(.fi-dropdown-list-item):not(:disabled):hover {
    background: var(--sber-green-dark) !important;
    border-color: var(--matrix-green) !important;
    box-shadow: 0 0 34px rgba(0, 255, 65, 0.3) !important;
    color: #000000 !important;
    filter: brightness(1.04) saturate(1.06) !important;
    transform: translateY(-1px) !important;
}

.fi-btn-color-gray,
.fi-btn-color-secondary,
.btn-secondary,
.tool-results-modal-actions .fi-btn:not(.tool-modal-control):not(.fi-btn-color-primary):not(.fi-btn-color-danger),
.fi-icon-btn,
.tool-action-button {
    background: rgba(0, 12, 4, 0.9) !important;
    border: 1px solid var(--matrix-line) !important;
    box-shadow: none !important;
    color: #f5f1ea !important;
}

.fi-btn-color-gray:not(:disabled):hover,
.fi-btn-color-secondary:not(:disabled):hover,
.btn-secondary:not(:disabled):hover,
.fi-icon-btn:not(:disabled):hover,
.tool-action-button:not(:disabled):hover {
    background: rgba(0, 255, 65, 0.1) !important;
    border-color: rgba(0, 255, 65, 0.56) !important;
    box-shadow: 0 0 22px rgba(0, 255, 65, 0.12) !important;
    color: var(--matrix-green) !important;
    filter: none !important;
}

.fi-btn-color-danger {
    background: rgba(255, 95, 122, 0.12) !important;
    border: 1px solid rgba(255, 95, 122, 0.44) !important;
    box-shadow: none !important;
    color: #ff9aa6 !important;
}

.fi-btn-color-danger:not(:disabled):hover {
    background: rgba(255, 95, 122, 0.22) !important;
    border-color: var(--matrix-danger) !important;
    box-shadow: 0 0 22px rgba(255, 95, 122, 0.13) !important;
    color: #ffd8df !important;
}

button:focus-visible,
.btn:focus-visible,
.fi-btn:focus-visible,
.fi-icon-btn:focus-visible,
[role="button"]:focus-visible,
a:focus-visible {
    outline: 2px solid var(--matrix-green) !important;
    outline-offset: 3px !important;
}

a,
.fi-link {
    color: var(--matrix-green);
}

a:hover,
.fi-link:hover {
    color: var(--matrix-text-strong);
}

.tool-results-modal-toolbar {
    background: rgba(0, 12, 4, 0.96) !important;
    border-color: var(--matrix-line) !important;
    backdrop-filter: blur(16px);
}

.tool-results-modal-title,
.tool-results-title {
    color: var(--matrix-text-strong) !important;
}

.tool-right-pane {
    background: rgba(0, 4, 1, 0.78) !important;
    backdrop-filter: blur(10px);
}

.tool-right-pane .fi-section {
    background: #000c04 !important;
    border-color: var(--matrix-line-strong) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.58), 0 0 42px rgba(0, 255, 65, 0.06) !important;
}

.tool-right-pane table[id$="-results-table"],
.fi-ta-table,
table[class*="results-table"],
.fi-section table {
    background: rgba(0, 12, 4, 0.76) !important;
    border: 1px solid var(--matrix-line-strong) !important;
    border-collapse: collapse !important;
    border-radius: 8px;
    color: var(--matrix-text) !important;
    overflow: hidden;
}

.tool-right-pane table[id$="-results-table"] th,
.tool-right-pane table[id$="-results-table"] td,
.fi-ta-table th,
.fi-ta-table td,
table[class*="results-table"] th,
table[class*="results-table"] td,
.fi-section table th,
.fi-section table td {
    border: 1px solid var(--matrix-line) !important;
    color: #f5f1ea !important;
}

.tool-right-pane table[id$="-results-table"] th,
.fi-ta-header-cell,
table[class*="results-table"] th,
.fi-section table th {
    background: rgba(0, 255, 65, 0.08) !important;
    color: var(--matrix-text-strong) !important;
    font-weight: 700 !important;
}

.tool-right-pane table[id$="-results-table"] tbody tr:nth-child(even),
.fi-ta-row:nth-child(even),
table[class*="results-table"] tbody tr:nth-child(even),
.fi-section table tbody tr:nth-child(even) {
    background: rgba(0, 255, 65, 0.025) !important;
}

.tool-right-pane table[id$="-results-table"] tbody tr:hover,
.fi-ta-row:hover,
table[class*="results-table"] tbody tr:hover,
.fi-section table tbody tr:hover {
    background: rgba(0, 255, 65, 0.07) !important;
}

[class*="-sort-button"] {
    color: var(--matrix-text-strong) !important;
}

[class*="-sort-button"]:hover {
    background: rgba(0, 255, 65, 0.11) !important;
    color: var(--matrix-green) !important;
}

.tool-action-button--excel:not(:disabled):hover,
.tool-action-button--copy.is-success {
    background: rgba(0, 255, 65, 0.12) !important;
    color: var(--matrix-green) !important;
}

.tool-action-button--pdf:not(:disabled):hover {
    background: rgba(255, 95, 122, 0.12) !important;
    color: #ff9aa6 !important;
}

.tool-action-button--copy:not(:disabled):hover {
    background: rgba(99, 231, 255, 0.11) !important;
    color: var(--matrix-cyan) !important;
}

.fi-badge,
.badge {
    border: 1px solid var(--matrix-line) !important;
    border-radius: 6px !important;
}

.fi-badge-color-success,
.badge.bg-success {
    background: rgba(0, 255, 65, 0.12) !important;
    color: var(--matrix-green) !important;
}

.fi-badge-color-danger,
.badge.bg-danger {
    background: rgba(255, 95, 122, 0.12) !important;
    color: #ff9aa6 !important;
}

.progress,
.fi-progress-bar {
    background: rgba(0, 255, 65, 0.1) !important;
    border-radius: 6px !important;
    overflow: hidden;
}

.progress-bar,
.fi-progress-bar-value {
    background: linear-gradient(90deg, var(--matrix-green), var(--matrix-cyan)) !important;
}

.tool-result-pending-label .fa-spinner {
    color: var(--matrix-cyan) !important;
}

.tool-result-pending-placeholder {
    color: rgba(152, 189, 168, 0.62) !important;
}

.fi-pagination,
.fi-pagination-item,
.fi-pagination-overview {
    color: var(--matrix-muted) !important;
}

::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #050d08;
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 255, 65, 0.28);
    border: 2px solid #050d08;
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 255, 65, 0.46);
}

@media (max-width: 640px) {
    .matrixnet-brand-mark {
        height: 34px;
        width: 71px;
    }

    .matrixnet-brand-copy strong {
        font-size: 17px;
    }

    .matrixnet-brand-copy small {
        font-size: 10px;
    }

    .fi-simple-main {
        margin-inline: 12px;
    }
}

/* Tool forms follow the input panel on matrixnet.ru. */
.tool-left-pane .fi-section {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible;
}

.tool-left-pane .fi-section-header-ctn,
.tool-left-pane .fi-section-header {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tool-left-pane .fi-section-header {
    padding: 0 0 12px !important;
}

.tool-left-pane .fi-section-header-heading {
    color: var(--matrix-green) !important;
    font-family: var(--matrix-font) !important;
    font-size: 16.8px !important;
    font-weight: 400 !important;
    line-height: 20.16px !important;
}

.tool-left-pane .fi-section-content-ctn {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tool-left-pane .fi-section-content {
    padding: 0 !important;
}

.tool-left-pane .fi-section:not(:has(.fi-section-header)) .fi-section-content {
    padding-top: 0 !important;
}

.tool-left-pane textarea,
.tool-left-pane input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.tool-left-pane select,
.tool-left-pane .fi-input-wrp,
.tool-left-pane .fi-select-input {
    background: rgba(2, 8, 5, 0.72) !important;
    border: 1px solid rgba(0, 255, 65, 0.22) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--matrix-text-strong) !important;
    font-family: var(--matrix-font) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
}

.tool-left-pane input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.tool-left-pane select,
.tool-left-pane .fi-input-wrp,
.tool-left-pane .fi-select-input {
    min-height: 50px !important;
}

.tool-left-pane textarea,
.tool-left-pane input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.tool-left-pane select {
    padding: 12px 14px !important;
}

.tool-left-pane textarea::placeholder,
.tool-left-pane input::placeholder {
    color: rgba(152, 189, 168, 0.62) !important;
    opacity: 1;
}

.tool-left-pane textarea:focus,
.tool-left-pane input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.tool-left-pane select:focus,
.tool-left-pane .fi-input-wrp:focus-within {
    border-color: rgba(0, 255, 65, 0.62) !important;
    box-shadow: 0 0 0 3px rgba(0, 255, 65, 0.1) !important;
    outline: none !important;
}

.tool-left-pane label,
.tool-left-pane legend,
.tool-left-pane [class$="-control"],
.tool-left-pane [class$="-option"] {
    font-family: var(--matrix-font) !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

.tool-viewport-input {
    box-sizing: border-box;
    max-width: none;
    resize: vertical;
    width: 100%;
}

.tool-viewport-pair {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
}

.tool-viewport-pair > * {
    min-width: 0;
}

.tool-viewport-pair > * + * {
    margin-top: 0 !important;
}

@media (min-width: 769px) {
    html body .fi-page textarea.tool-viewport-input {
        height: clamp(130px, calc(100dvh - 640px), 320px) !important;
        min-height: 130px !important;
        max-height: 320px !important;
    }

    .tool-viewport-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tool-run-actions {
    margin-top: 22px !important;
}

.tool-run-actions .fi-btn {
    font-family: var(--matrix-font) !important;
    font-size: 16px !important;
    height: 44px !important;
    line-height: 24px !important;
    min-height: 44px !important;
}

.tool-run-actions .fi-btn[wire\:click="run"] {
    background: linear-gradient(
        110deg,
        var(--matrix-green) 0%,
        var(--matrix-green) 24%,
        var(--matrix-cyan) 44%,
        #d5fff1 50%,
        var(--matrix-cyan) 56%,
        var(--matrix-green) 76%,
        var(--matrix-green) 100%
    ) 0 50% / 260% 100% !important;
    border: 1px solid rgba(0, 255, 65, 0.42) !important;
    box-shadow: 0 0 28px rgba(0, 255, 65, 0.18) !important;
    color: #000000 !important;
    font-weight: 800 !important;
}

.tool-run-actions .fi-btn[wire\:click="run"]:not(:disabled):hover {
    background-position: 100% 50% !important;
    border-color: rgba(99, 231, 255, 0.82) !important;
    box-shadow: 0 0 34px rgba(0, 255, 65, 0.3) !important;
    color: #000000 !important;
    filter: brightness(1.04) saturate(1.06) !important;
}

.tool-thread-selector {
    align-items: center;
    color: var(--matrix-muted);
    display: inline-flex;
    font-family: var(--matrix-font) !important;
    font-size: 14px !important;
    font-weight: 500;
    gap: 9px;
    line-height: 20px !important;
    min-height: 44px;
    white-space: nowrap;
}

.tool-thread-selector select {
    appearance: auto;
    background: rgba(2, 8, 5, 0.9) !important;
    border: 1px solid rgba(0, 255, 65, 0.26) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--matrix-text-strong) !important;
    color-scheme: dark !important;
    cursor: pointer;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    height: 44px !important;
    line-height: 20px !important;
    min-height: 44px !important;
    padding: 8px 32px 8px 12px !important;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
    width: 84px;
}

.tool-thread-selector select option {
    background-color: var(--matrix-panel-solid) !important;
    color: var(--matrix-text) !important;
}

.tool-thread-selector select option:checked {
    background-color: #145a37 !important;
    color: #ffffff !important;
}

.tool-thread-selector select:hover:not(:disabled) {
    background: rgba(0, 255, 65, 0.08) !important;
    border-color: rgba(0, 255, 65, 0.54) !important;
}

.tool-thread-selector select:focus-visible {
    border-color: var(--matrix-cyan) !important;
    box-shadow: 0 0 0 2px rgba(99, 231, 255, 0.18) !important;
    outline: 0;
}

.tool-thread-selector:has(select:disabled) {
    opacity: 0.5;
}

.tool-thread-selector select:disabled {
    cursor: not-allowed;
}

.tools-dashboard-intro {
    color: var(--matrix-muted);
    font-size: 15px;
    line-height: 24px;
    margin-top: -4px;
    max-width: 960px;
}

.tools-dashboard-groups {
    display: grid;
    gap: 28px;
}

.tools-dashboard-group {
    min-width: 0;
}

.tools-dashboard-group-title {
    color: var(--matrix-text-strong);
    font-size: 17px;
    font-weight: 700;
    line-height: 24px;
    margin: 0 0 12px;
}

.tools-dashboard-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tools-dashboard-card {
    background: rgba(6, 18, 12, 0.74);
    border: 1px solid rgba(0, 255, 65, 0.28);
    border-radius: 8px;
    color: var(--matrix-text);
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 108px;
    padding: 20px;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.tools-dashboard-card:hover {
    background: rgba(9, 29, 18, 0.9);
    border-color: rgba(0, 255, 65, 0.62);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2), 0 0 22px rgba(0, 255, 65, 0.06);
    color: var(--matrix-text-strong);
    transform: translateY(-2px);
}

.tools-dashboard-card:focus-visible {
    border-color: var(--matrix-cyan);
    box-shadow: 0 0 0 3px rgba(99, 231, 255, 0.18);
    outline: 0;
}

.tools-dashboard-card-heading {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.tools-dashboard-card-icon {
    color: var(--matrix-green);
    flex: 0 0 18px;
    height: 18px;
    width: 18px;
}

.tools-dashboard-card-heading strong {
    color: var(--matrix-text-strong);
    font-size: 15px;
    font-weight: 700;
    line-height: 22px;
}

.tools-dashboard-card-description {
    color: var(--matrix-muted);
    font-size: 13px;
    line-height: 20px;
    padding-left: 30px;
}

.technical-audit-stack {
    display: grid;
    gap: 24px;
    min-width: 0;
}

.technical-audit-stack > .fi-section,
.technical-audit-stack > .fi-section .fi-section-content-ctn,
.technical-audit-stack > .fi-section .fi-section-content {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.technical-audit-stack > .fi-modal-trigger {
    width: fit-content;
}

.technical-audit-checklist-link {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--matrix-green);
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 650;
    gap: 6px;
    line-height: 22px;
    padding: 0;
    text-decoration: underline;
    text-decoration-color: rgba(0, 255, 65, 0.46);
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition: color 180ms ease, text-decoration-color 180ms ease;
}

.technical-audit-checklist-link svg {
    height: 14px;
    transition: transform 180ms ease;
    width: 14px;
}

.technical-audit-checklist-link:hover {
    color: var(--matrix-cyan);
    text-decoration-color: var(--matrix-cyan);
}

.technical-audit-checklist-link:hover svg {
    transform: translateX(2px);
}

.technical-audit-checklist-link:focus-visible {
    border-radius: 4px;
    box-shadow: 0 0 0 3px rgba(99, 231, 255, 0.16);
    outline: 1px solid var(--matrix-cyan);
    outline-offset: 3px;
}

.technical-audit-checklist-modal .fi-modal-content {
    min-width: 0;
}

.technical-audit-table-wrap {
    border: 1px solid var(--matrix-line);
    border-radius: 8px;
    overflow-x: auto;
    width: 100%;
    max-width: 100%;
}

.technical-audit-table {
    border-collapse: collapse;
    color: var(--matrix-text);
    font-size: 14px;
    line-height: 20px;
    min-width: 680px;
    table-layout: fixed;
    width: 100%;
}

.technical-audit-table th,
.technical-audit-table td {
    border-bottom: 1px solid var(--matrix-line);
    border-right: 1px solid var(--matrix-line);
    padding: 11px 13px;
    vertical-align: middle;
}

.technical-audit-table th:last-child,
.technical-audit-table td:last-child {
    border-right: 0;
}

.technical-audit-table tbody tr:last-child td {
    border-bottom: 0;
}

.technical-audit-table th {
    background: rgba(0, 255, 65, 0.07);
    color: var(--matrix-text-strong);
    font-weight: 700;
    text-align: left;
}

.technical-audit-table tbody tr {
    background: rgba(3, 12, 7, 0.5);
    transition: background-color 180ms ease;
}

.technical-audit-table tbody tr:hover {
    background: rgba(0, 255, 65, 0.045);
}

.technical-audit-table .technical-audit-number {
    color: var(--matrix-muted);
    text-align: center;
    width: 64px;
}

.technical-audit-table .technical-audit-check {
    text-align: center;
    width: 52px;
}

.technical-audit-table .technical-audit-check input {
    accent-color: var(--matrix-green);
    cursor: pointer;
    height: 16px;
    width: 16px;
}

.technical-audit-table .technical-audit-purpose {
    width: 140px;
}

.technical-audit-pagination {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 14px;
}

.technical-audit-pagination-summary {
    color: var(--matrix-muted);
    font-size: 13px;
    line-height: 20px;
}

.technical-audit-pagination-actions {
    display: inline-flex;
    gap: 6px;
}

.technical-audit-pagination-actions button {
    align-items: center;
    background: rgba(6, 18, 12, 0.82);
    border: 1px solid var(--matrix-line);
    border-radius: 7px;
    color: var(--matrix-muted);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    height: 34px;
    justify-content: center;
    min-width: 34px;
    padding: 0 8px;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.technical-audit-pagination-actions button svg {
    height: 16px;
    width: 16px;
}

.technical-audit-pagination-actions button:hover:not(:disabled),
.technical-audit-pagination-actions button.is-active {
    background: rgba(0, 255, 65, 0.12);
    border-color: rgba(0, 255, 65, 0.55);
    color: var(--matrix-green);
}

.technical-audit-pagination-actions button:focus-visible {
    border-color: var(--matrix-cyan);
    box-shadow: 0 0 0 2px rgba(99, 231, 255, 0.18);
    outline: 0;
}

.technical-audit-pagination-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.35;
}

.technical-audit-fields {
    display: grid;
    gap: 20px;
}

.technical-audit-field {
    display: grid;
    gap: 8px;
}

.technical-audit-field > span {
    color: var(--matrix-text-strong);
    font-size: 14px;
    font-weight: 700;
    line-height: 20px;
}

.technical-audit-field > small {
    color: var(--matrix-muted);
    font-size: 12px;
    line-height: 18px;
}

.technical-audit-site-field {
    max-width: 520px;
}

.technical-audit-url-lists {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

.technical-audit-url-input,
.technical-audit-urls-input {
    background: rgba(1, 8, 4, 0.82) !important;
    border: 1px solid rgba(0, 255, 65, 0.28) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    box-sizing: border-box;
    color: var(--matrix-text) !important;
    font-family: var(--matrix-font) !important;
    font-size: 15px !important;
    line-height: 22px !important;
    max-width: none;
    padding: 12px 14px !important;
    resize: vertical;
    width: 100%;
}

.technical-audit-url-input {
    height: 50px;
}

.technical-audit-urls-input {
    height: 200px;
    min-height: 200px;
}

@media (min-width: 769px) {
    .technical-audit-urls-input {
        height: clamp(130px, calc(100dvh - 640px), 200px);
        min-height: 130px;
        max-height: 200px;
    }
}

.technical-audit-run-actions {
    margin-top: 0 !important;
}

.technical-audit-paid-services-toggle {
    align-items: flex-start;
    display: flex;
    gap: 10px;
    width: fit-content;
}

.technical-audit-paid-services-toggle > input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.technical-audit-paid-services-toggle > span {
    display: grid;
    gap: 2px;
}

.technical-audit-paid-services-toggle strong {
    color: var(--matrix-text-strong);
    font-size: 14px;
    line-height: 20px;
}

.technical-audit-paid-services-toggle small {
    color: var(--matrix-muted);
    font-size: 12px;
    line-height: 18px;
}

.technical-audit-selected-count {
    color: var(--matrix-muted);
    font-size: 12px;
    line-height: 18px;
}

.technical-audit-selection-error {
    color: #ff8d8d;
    font-size: 12px;
    line-height: 18px;
}

.technical-audit-results-wrap {
    border: 1px solid var(--matrix-line);
    border-radius: 8px;
    max-height: calc(100vh - 230px);
    overflow: auto;
}

.technical-audit-results-table {
    border-collapse: collapse;
    color: var(--matrix-text);
    font-size: 12px;
    line-height: 18px;
    min-width: 1040px;
    width: 100%;
}

.technical-audit-results-table th,
.technical-audit-results-table td {
    border-bottom: 1px solid var(--matrix-line);
    border-right: 1px solid var(--matrix-line);
    padding: 9px 11px;
    vertical-align: top;
}

.technical-audit-results-table th:last-child,
.technical-audit-results-table td:last-child {
    border-right: 0;
}

.technical-audit-results-table tbody tr:last-child td {
    border-bottom: 0;
}

.technical-audit-results-table th {
    background: rgba(0, 255, 65, 0.08);
    color: var(--matrix-text-strong);
    position: sticky;
    text-align: left;
    top: 0;
    z-index: 2;
}

.technical-audit-results-table th:nth-child(1) {
    width: 190px;
}

.technical-audit-results-table th:nth-child(2) {
    width: 280px;
}

.technical-audit-results-table th:nth-child(3) {
    width: 100px;
}

.technical-audit-sort-button {
    align-items: center;
    display: inline-flex;
    font: inherit;
    font-weight: 700;
    gap: 5px;
    text-align: left;
    width: 100%;
}

.technical-audit-result-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    padding: 1px 8px;
    white-space: nowrap;
}

.technical-audit-result-status.is-ready {
    background: rgba(0, 255, 65, 0.12);
    color: var(--matrix-green);
}

.technical-audit-result-status.is-error {
    background: rgba(255, 72, 72, 0.13);
    color: #ff8d8d;
}

.technical-audit-result-details {
    display: grid;
    gap: 5px;
    margin: 0;
}

.technical-audit-result-details > div {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(120px, 0.34fr) minmax(200px, 1fr);
}

.technical-audit-result-details dt {
    color: var(--matrix-muted);
    font-weight: 600;
}

.technical-audit-result-details dd {
    color: var(--matrix-text);
    margin: 0;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.technical-audit-url-input:disabled,
.technical-audit-urls-input:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.technical-audit-url-input:focus,
.technical-audit-urls-input:focus {
    border-color: rgba(0, 255, 65, 0.62) !important;
    box-shadow: 0 0 0 3px rgba(0, 255, 65, 0.1) !important;
    outline: 0 !important;
}

.technical-audit-url-input::placeholder,
.technical-audit-urls-input::placeholder {
    color: rgba(152, 189, 168, 0.62) !important;
    opacity: 1;
}

@media (max-width: 680px) {
    .technical-audit-site-field {
        max-width: none;
    }

    .technical-audit-url-lists {
        grid-template-columns: minmax(0, 1fr);
    }

    .technical-audit-pagination {
        align-items: flex-start;
        flex-direction: column;
    }

    .technical-audit-pagination-actions {
        width: 100%;
    }

    .technical-audit-pagination-actions button {
        flex: 1 1 0;
        min-width: 0;
    }
}

@media (max-width: 1100px) {
    .tools-dashboard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .tools-dashboard-groups {
        gap: 24px;
    }

    .tools-dashboard-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tools-dashboard-card {
        min-height: 0;
        padding: 17px;
    }
}

.tool-right-pane table[id$="-results-table"],
.tool-right-pane table[id$="-results-table"] th,
.tool-right-pane table[id$="-results-table"] td,
.tool-right-pane table[id$="-results-table"] button,
.fi-page .fi-section table,
.fi-page .fi-section table th,
.fi-page .fi-section table td,
.fi-page .fi-section table button {
    font-family: var(--matrix-font) !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

.tool-right-pane table[id$="-results-table"] th,
.tool-right-pane table[id$="-results-table"] th button,
.fi-page .fi-section table th,
.fi-page .fi-section table th button {
    font-weight: 700 !important;
}

.tool-result-pending-cell,
.tool-result-pending-label,
.tool-result-pending-placeholder {
    font-family: var(--matrix-font) !important;
    font-size: 16px !important;
    line-height: 24px !important;
}

@media (max-width: 640px) {
    .tool-left-pane .fi-section-header {
        padding: 0 0 10px !important;
    }

    .tool-left-pane .fi-section-content {
        padding: 0 !important;
    }

    .tool-left-pane .fi-section:not(:has(.fi-section-header)) .fi-section-content {
        padding-top: 0 !important;
    }
}

/* Include tools with custom layouts, such as Technical Audit and Images. */
.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) :is(.fi-section-header-ctn, .fi-section-header) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) .fi-section-header {
    padding: 0 0 12px !important;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) .fi-section-header-heading {
    color: var(--matrix-green) !important;
    font-family: var(--matrix-font) !important;
    font-size: 16.8px !important;
    font-weight: 400 !important;
    line-height: 20.16px !important;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) .fi-section-content-ctn {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) .fi-section-content {
    padding: 0 !important;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) :is(textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, .fi-input-wrp, .fi-select-input) {
    background: rgba(2, 8, 5, 0.72) !important;
    border: 1px solid rgba(0, 255, 65, 0.22) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--matrix-text-strong) !important;
    font-family: var(--matrix-font) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, .fi-input-wrp, .fi-select-input) {
    min-height: 50px !important;
}

.fi-page :is(
    .fi-section:has(textarea),
    .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
    .fi-section:has(select)
) :is(textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select) {
    padding: 12px 14px !important;
}

@media (max-width: 640px) {
    .fi-page :is(
        .fi-section:has(textarea),
        .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
        .fi-section:has(select)
    ) .fi-section-header {
        padding: 0 0 10px !important;
    }

    .fi-page :is(
        .fi-section:has(textarea),
        .fi-section:has(input:not([type="checkbox"]):not([type="radio"]):not([type="file"])),
        .fi-section:has(select)
    ) .fi-section-content {
        padding: 0 !important;
    }
}

/* Tables use a single visual layer: the table itself, without an outer section panel. */
.fi-page .fi-section:has(table) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.fi-page .fi-section:has(table) :is(.fi-section-header-ctn, .fi-section-header) {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.fi-page .fi-section:has(table) .fi-section-header {
    padding: 0 0 12px !important;
}

.fi-page .fi-section:has(table) .fi-section-content-ctn {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.fi-page .fi-section:has(table) .fi-section-content {
    padding: 0 !important;
}

/* The result dialog remains the visible outer layer around its single table layer. */
.tool-right-pane > .fi-section,
.fi-page .tool-right-pane > .fi-section:has(table) {
    background: rgba(3, 12, 8, 0.99) !important;
    border: 1px solid rgba(0, 255, 65, 0.52) !important;
    border-radius: 10px !important;
    box-shadow:
        inset 0 0 0 1px rgba(207, 255, 225, 0.04),
        0 0 0 1px rgba(0, 255, 65, 0.12),
        0 0 34px rgba(20, 203, 105, 0.12),
        0 28px 84px rgba(0, 0, 0, 0.72) !important;
}

.tool-usage-log-table .fi-ta-header-toolbar {
    justify-content: flex-start !important;
}

.tool-usage-log-table .fi-ta-header-toolbar > :last-child {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Keep the requested settings directories aligned to the compact minus-sites table. */
.excluded-sites-compact-table .fi-ta-header-cell,
.tool-usage-log-table .fi-ta-header-cell,
.fi-resource-ip-address-references .fi-ta-header-cell,
.fi-resource-credentials .fi-ta-header-cell {
    padding-block: 8px !important;
}

.excluded-sites-compact-table .fi-ta-cell .fi-ta-text:not(.fi-inline),
.tool-usage-log-table .fi-ta-cell .fi-ta-text:not(.fi-inline),
.fi-resource-ip-address-references .fi-ta-cell .fi-ta-text:not(.fi-inline),
.fi-resource-credentials .fi-ta-cell .fi-ta-text:not(.fi-inline) {
    padding-block: 6px !important;
}

.excluded-sites-compact-table .fi-ta-cell:has(.fi-ta-record-checkbox),
.excluded-sites-compact-table .fi-ta-selection-cell,
.excluded-sites-compact-table .fi-ta-cell:has(.fi-checkbox-input),
.excluded-sites-compact-table .fi-ta-cell:has(.fi-ta-actions),
.tool-usage-log-table .fi-ta-cell:has(.fi-ta-record-checkbox),
.tool-usage-log-table .fi-ta-selection-cell,
.tool-usage-log-table .fi-ta-cell:has(.fi-checkbox-input),
.tool-usage-log-table .fi-ta-cell:has(.fi-ta-actions),
.fi-resource-ip-address-references .fi-ta-cell:has(.fi-ta-record-checkbox),
.fi-resource-ip-address-references .fi-ta-selection-cell,
.fi-resource-ip-address-references .fi-ta-cell:has(.fi-checkbox-input),
.fi-resource-ip-address-references .fi-ta-cell:has(.fi-ta-actions),
.fi-resource-credentials .fi-ta-cell:has(.fi-ta-record-checkbox),
.fi-resource-credentials .fi-ta-selection-cell,
.fi-resource-credentials .fi-ta-cell:has(.fi-checkbox-input),
.fi-resource-credentials .fi-ta-cell:has(.fi-ta-actions) {
    padding-block: 6px !important;
}

.excluded-sites-compact-table .fi-ta-cell .fi-ta-checkbox,
.tool-usage-log-table .fi-ta-cell .fi-ta-checkbox,
.fi-resource-ip-address-references .fi-ta-cell .fi-ta-checkbox,
.fi-resource-credentials .fi-ta-cell .fi-ta-checkbox {
    padding-block: 2px !important;
}

.excluded-sites-compact-table .fi-ta-cell .fi-badge,
.tool-usage-log-table .fi-ta-cell .fi-badge,
.fi-resource-ip-address-references .fi-ta-cell .fi-badge,
.fi-resource-credentials .fi-ta-cell .fi-badge {
    min-height: 20px;
    padding-block: 1px !important;
    line-height: 16px !important;
}

.tool-right-pane .fi-section:has(table) .tool-results-modal-toolbar {
    margin: 0 0 16px !important;
    top: 0;
}

/* Keep controls inside the modal while a job is running and the table is not rendered yet. */
.tool-right-pane .fi-section:not(:has(table)) .tool-results-modal-toolbar {
    margin: -12px -12px 18px !important;
    top: 0;
}

.tool-right-pane .fi-section:not(:has(table)) .tool-progress {
    margin-bottom: 8px !important;
}

/* Progress bars must stay clear of the result-modal border on every tool page. */
.tool-right-pane .fi-section .tool-progress {
    margin-inline: 14px !important;
}

/* Balanced, readable toolbar shared by every result modal. */
.tool-results-modal-toolbar {
    align-items: center !important;
    background: rgba(5, 14, 10, 0.98) !important;
    border-bottom: 1px solid rgba(0, 255, 65, 0.22) !important;
    column-gap: 24px !important;
    min-height: 68px;
    padding: 12px 20px !important;
    position: relative;
}

.tool-results-modal-title {
    flex: 1 1 auto;
    font-family: var(--matrix-font) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    min-width: 110px;
}

.tool-results-modal-actions,
.tool-results-modal-export,
.tool-results-modal-controls,
.tool-results-modal-export .tool-results-actions {
    align-items: center;
    display: flex;
}

.tool-results-modal-actions {
    flex: 0 1 auto;
    gap: 16px !important;
    justify-content: flex-end;
    margin-left: auto;
    margin-right: 58px;
    min-width: 0;
}

.tool-results-modal-dismiss {
    align-items: center;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(191, 247, 210, 0.2);
    border-radius: 8px;
    color: #f5f1ea;
    cursor: pointer;
    display: inline-flex;
    font-size: 17px;
    height: 42px;
    justify-content: center;
    position: absolute;
    right: 16px;
    top: 12px;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
    width: 42px;
    z-index: 2;
}

.tool-results-modal-dismiss:not(:disabled):hover {
    background: rgba(255, 95, 122, 0.14);
    border-color: rgba(255, 95, 122, 0.58);
    box-shadow: 0 0 20px rgba(255, 95, 122, 0.12);
    color: #ffb2bf;
    transform: translateY(-1px);
}

.tool-results-modal-dismiss:focus-visible {
    outline: 2px solid var(--matrix-cyan);
    outline-offset: 2px;
}

.tool-results-modal-dismiss:disabled {
    cursor: wait;
    opacity: 0.55;
}

.tool-results-summary {
    align-items: center;
    background: transparent;
    border: 1px solid rgba(0, 255, 65, 0.16);
    border-radius: 8px;
    color: #f5f1ea;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin-bottom: 16px;
    padding: 12px 14px;
}

.tool-results-summary-title {
    color: #ffffff;
    font-size: 15px;
    line-height: 20px;
    margin-right: 2px;
}

.tool-results-summary-item {
    align-items: center;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(191, 247, 210, 0.14);
    border-radius: 7px;
    display: inline-flex;
    font-size: 13px;
    gap: 8px;
    line-height: 18px;
    min-height: 34px;
    padding: 7px 10px;
}

.tool-results-summary-item strong {
    color: #ffffff;
    font-size: 15px;
    line-height: 18px;
}

.tool-results-summary-item--success strong {
    color: var(--matrix-green);
}

.tool-results-summary-item--error strong {
    color: #ff8ca0;
}

/* Make the complete sortable header cell an obvious click target. */
.tool-right-pane table[id$="-results-table"] th:has(> [class*="-sort-button"]),
.tool-right-pane table[class*="results-table"] th:has(> [class*="-sort-button"]) {
    padding: 0 !important;
}

.tool-right-pane table[id$="-results-table"] th > [class*="-sort-button"],
.tool-right-pane table[class*="results-table"] th > [class*="-sort-button"] {
    align-items: center;
    border-radius: 0;
    cursor: pointer;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    min-height: 48px;
    padding: 11px 14px;
    text-align: left;
    transition: background-color 180ms ease, color 180ms ease, box-shadow 180ms ease !important;
    width: 100%;
}

.tool-right-pane table[id$="-results-table"] th > [class*="-sort-button"]:hover,
.tool-right-pane table[class*="results-table"] th > [class*="-sort-button"]:hover {
    background: rgba(0, 255, 65, 0.14) !important;
    box-shadow: inset 0 -2px 0 rgba(0, 255, 65, 0.72);
}

.tool-right-pane table[id$="-results-table"] th > [class*="-sort-button"]:focus-visible,
.tool-right-pane table[class*="results-table"] th > [class*="-sort-button"]:focus-visible {
    box-shadow: inset 0 0 0 2px var(--matrix-cyan);
    outline: 0 !important;
}

.tool-results-modal-export {
    border-right: 1px solid rgba(0, 255, 65, 0.18);
    padding-right: 16px;
}

.tool-results-modal-export .tool-results-actions,
.tool-results-modal-controls {
    gap: 10px;
}

.tool-results-modal-export .tool-action-button {
    flex-basis: 42px;
    font-size: 18px;
    height: 42px;
    width: 42px;
}

.tool-results-modal-export .tool-action-button--excel {
    background: rgba(0, 255, 65, 0.08) !important;
    border-color: rgba(0, 255, 65, 0.26) !important;
    color: #54f49a !important;
}

.tool-results-modal-export .tool-action-button--pdf {
    background: rgba(255, 95, 122, 0.08) !important;
    border-color: rgba(255, 95, 122, 0.26) !important;
    color: #ff8ca0 !important;
}

.tool-results-modal-export .tool-action-button--copy {
    background: rgba(99, 231, 255, 0.08) !important;
    border-color: rgba(99, 231, 255, 0.26) !important;
    color: var(--matrix-cyan) !important;
}

.tool-results-modal-export .tool-action-button:disabled {
    filter: none !important;
    opacity: 0.62 !important;
}

.tool-results-modal-export .tool-action-button:not(:disabled):hover {
    box-shadow: 0 0 20px color-mix(in srgb, currentColor 20%, transparent) !important;
    filter: brightness(1.12) !important;
    transform: translateY(-1px) !important;
}

.tool-results-modal-controls {
    flex: 0 0 auto;
}

.tool-results-modal-controls .tool-modal-control {
    align-items: center !important;
    border-radius: 8px !important;
    display: inline-flex !important;
    font-family: var(--matrix-font) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    gap: 9px !important;
    height: 42px !important;
    justify-content: center !important;
    line-height: 20px !important;
    min-height: 42px !important;
    min-width: 122px !important;
    padding: 0 16px !important;
    white-space: nowrap;
}

.tool-results-modal-controls .tool-modal-control i {
    color: currentColor;
    flex: 0 0 16px;
    font-size: 14px;
    text-align: center;
    width: 16px;
}

.tool-results-modal-controls .tool-modal-control--icon-only {
    min-width: 42px !important;
    width: 42px !important;
    padding: 0 !important;
}

.tool-results-modal-controls .tool-modal-control--pause,
.tool-results-modal-controls .tool-modal-control--close {
    background: rgba(0, 255, 65, 0.07) !important;
    border: 1px solid rgba(0, 255, 65, 0.3) !important;
    box-shadow: none !important;
    color: #bff7d2 !important;
}

.tool-results-modal-controls .tool-modal-control--pause:not(:disabled):hover,
.tool-results-modal-controls .tool-modal-control--close:not(:disabled):hover {
    background: rgba(0, 255, 65, 0.13) !important;
    border-color: rgba(0, 255, 65, 0.58) !important;
    box-shadow: 0 0 20px rgba(0, 255, 65, 0.1) !important;
    color: var(--matrix-green) !important;
}

.tool-results-modal-controls .tool-modal-control--continue {
    background: var(--matrix-green) !important;
    border: 1px solid rgba(0, 255, 65, 0.42) !important;
    box-shadow: 0 0 22px rgba(0, 255, 65, 0.15) !important;
    color: #000000 !important;
}

.tool-results-modal-controls .tool-modal-control--cancel {
    background: rgba(255, 95, 122, 0.1) !important;
    border: 1px solid rgba(255, 95, 122, 0.42) !important;
    box-shadow: none !important;
    color: #ffb2bf !important;
}

.tool-results-modal-controls .tool-modal-control--cancel:not(:disabled):hover {
    background: rgba(255, 95, 122, 0.2) !important;
    border-color: var(--matrix-danger) !important;
    box-shadow: 0 0 20px rgba(255, 95, 122, 0.12) !important;
    color: #ffe2e7 !important;
}

@media (max-width: 720px) {
    .tool-results-modal-toolbar {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 12px !important;
        padding: 14px 16px !important;
    }

    .tool-results-modal-title {
        padding-right: 52px;
    }

    .tool-results-modal-actions {
        align-items: center;
        justify-content: space-between;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .tool-results-modal-dismiss {
        right: 16px;
        top: 14px;
    }

    .tool-results-modal-export {
        border-right: 0;
        padding-right: 0;
    }
}

@media (max-width: 520px) {
    .tool-results-modal-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .tool-results-modal-export .tool-results-actions {
        justify-content: flex-start;
    }

    .tool-results-modal-controls {
        width: 100%;
    }

    .tool-results-modal-controls .tool-modal-control {
        flex: 1 1 0;
        min-width: 0 !important;
    }

    .tool-results-summary {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .tool-results-summary-item {
        justify-content: space-between;
        width: 100%;
    }
}

/* Keep text readable when legacy tool styles provide colors for a light theme. */
.fi-page .tool-left-pane :is(
    label,
    legend,
    [class*="-field-label"],
    [class$="-control"],
    [class$="-engine-options"]
) {
    color: var(--matrix-text) !important;
}

.fi-page :is(.text-gray-600, .text-gray-700),
.dark .fi-page :is(.dark\:text-gray-200, .dark\:text-gray-300) {
    color: var(--matrix-text) !important;
}

.fi-page :is(
    .tool-url-count,
    .api-balance-description,
    .api-balance-updated,
    .image-compression-picker-meta,
    .image-compression-selection-stat span,
    .image-compression-summary,
    .image-compression-status:not(.is-success):not(.is-error),
    [class*="-status"].is-pending
) {
    color: var(--matrix-muted) !important;
}

.fi-page :is(
    [class$="-status-ok"],
    [class$="-count-ok"],
    [class*="-status"].is-indexed,
    [class*="-status"].is-submitted,
    .image-compression-status.is-success,
    .image-compression-saving,
    .api-balance-status:not(.is-error),
    .api-balance-value,
    [style*="color: #107f3e"],
    [style*="color:#107f3e"]
) {
    color: var(--matrix-green) !important;
}

.fi-page :is(
    [class$="-status-error"],
    [class$="-count-error"],
    [class$="-error-cell"],
    [class$="-selection-error"],
    [class*="-status"].is-error,
    [class*="-status"].is-not-indexed,
    .image-compression-status.is-error,
    .image-compression-row-error,
    .image-compression-error-value,
    .api-balance-error,
    .paid-api-status-error,
    [style*="color: #b42318"],
    [style*="color:#b42318"]
) {
    color: #ff8ca0 !important;
}

.paid-api-status {
    background: rgba(0, 255, 65, 0.045) !important;
    border-color: rgba(0, 255, 65, 0.5) !important;
    color: var(--matrix-muted) !important;
}

.paid-api-status strong,
.api-balance-provider-name,
.image-compression-picker-title,
.image-compression-selection-stat strong,
.image-compression-file-name {
    color: var(--matrix-text-strong) !important;
}

.paid-api-estimate {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 8px;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(0, 255, 65, 0.34);
    border-radius: 7px;
    background: rgba(0, 255, 65, 0.045);
    color: var(--matrix-muted);
    font-size: 12px;
    line-height: 1.45;
}

.paid-api-estimate__value {
    color: var(--matrix-green);
    font-size: 13px;
}

.paid-api-estimate__note {
    flex-basis: 100%;
    color: var(--matrix-muted);
    font-size: 11px;
}

.tool-progress > div:first-child {
    color: var(--matrix-muted) !important;
}

.tool-progress > div:nth-child(2) {
    background: rgba(0, 255, 65, 0.1) !important;
}

.image-compression-mode-button:not(.is-active) {
    color: var(--matrix-muted) !important;
}

.image-compression-mode-button.is-active {
    color: var(--matrix-green) !important;
}

.fi-page input::placeholder,
.fi-page textarea::placeholder {
    color: rgba(152, 189, 168, 0.82) !important;
    opacity: 1;
}

.image-compression-button:not(.is-secondary):not(.is-danger) {
    background: var(--matrix-green) !important;
    border-color: rgba(0, 255, 65, 0.42) !important;
    color: #000000 !important;
    font-weight: 800;
}

.image-compression-button:not(.is-secondary):not(.is-danger):hover:not(:disabled) {
    background: var(--sber-green-dark) !important;
    border-color: var(--matrix-green) !important;
    color: #000000 !important;
}

.credentials-subheading {
    display: block;
    white-space: nowrap;
}

/* Keep the credentials directory close to its heading and compact enough for one screen. */
.fi-resource-credentials .fi-page-header-main-ctn {
    row-gap: 1rem !important;
}

.tools-wiki {
    display: grid;
    gap: 20px;
}

.tools-wiki-intro,
.tools-wiki-filters,
.tools-wiki-toc,
.tools-wiki-article {
    border: 1px solid rgba(0, 255, 65, 0.25);
    border-radius: 8px;
    background: rgba(2, 14, 8, 0.74);
}

.tools-wiki-intro {
    padding: 16px 18px;
    color: var(--matrix-muted);
    line-height: 1.65;
}

.tools-wiki-intro p {
    margin: 0;
}

.tools-wiki-rules {
    display: grid;
    gap: 6px;
    margin: 12px 0 0;
    padding-left: 20px;
}

.tools-wiki-rules li::marker,
.tools-wiki-fact li::marker {
    color: var(--matrix-green);
}

.tools-wiki-filters {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(230px, 0.5fr);
    gap: 14px;
    padding: 14px;
}

.tools-wiki-filter {
    display: grid;
    gap: 7px;
    color: var(--matrix-text-strong);
    font-size: 13px;
    font-weight: 700;
}

.tools-wiki-filter :is(input, select) {
    box-sizing: border-box;
    min-height: 42px !important;
    border: 1px solid rgba(0, 255, 65, 0.3) !important;
    border-radius: 7px !important;
    padding: 0 12px;
    background: rgba(1, 10, 5, 0.9) !important;
}

.tools-wiki-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px;
}

.tools-wiki-toc a,
.tools-wiki-open-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(0, 255, 65, 0.3);
    border-radius: 6px;
    color: var(--matrix-green);
    text-decoration: none;
}

.tools-wiki-toc a {
    padding: 7px 10px;
    font-size: 12px;
}

.tools-wiki-toc a:hover,
.tools-wiki-open-link:hover {
    border-color: rgba(0, 255, 65, 0.7);
    background: rgba(0, 255, 65, 0.08);
}

.tools-wiki-groups {
    display: grid;
    gap: 26px;
}

.tools-wiki-group {
    scroll-margin-top: 20px;
}

.tools-wiki-group > h2 {
    margin: 0 0 11px;
    color: var(--matrix-text-strong);
    font-size: 18px;
    font-weight: 800;
}

.tools-wiki-list {
    display: grid;
    gap: 9px;
}

.tools-wiki-article {
    overflow: hidden;
}

.tools-wiki-article > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
}

.tools-wiki-article > summary::-webkit-details-marker {
    display: none;
}

.tools-wiki-article > summary > span {
    display: grid;
    gap: 4px;
}

.tools-wiki-article > summary strong {
    color: var(--matrix-text-strong);
    font-size: 14px;
}

.tools-wiki-article > summary small {
    color: var(--matrix-muted);
    font-size: 12px;
    line-height: 1.45;
}

.tools-wiki-article > summary svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    color: var(--matrix-green);
    transition: transform 0.16s ease;
}

.tools-wiki-article[open] > summary svg {
    transform: rotate(180deg);
}

.tools-wiki-article[open] > summary {
    border-bottom: 1px solid rgba(0, 255, 65, 0.2);
    background: rgba(0, 255, 65, 0.035);
}

.tools-wiki-article-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 24px;
    padding: 16px;
}

.tools-wiki-fact h3 {
    margin: 0 0 7px;
    color: var(--matrix-green);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.tools-wiki-fact ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding-left: 18px;
    color: var(--matrix-text);
    font-size: 12px;
    line-height: 1.55;
}

.tools-wiki-fact--algorithm {
    grid-column: 1 / -1;
}

.tools-wiki-fact--algorithm p {
    margin: 0;
    color: var(--matrix-text);
    font-size: 12px;
    line-height: 1.65;
}

.tools-wiki-open-link {
    width: max-content;
    padding: 8px 11px;
    font-size: 12px;
    font-weight: 800;
}

.tools-wiki-open-link svg {
    width: 15px;
    height: 15px;
}

@media (max-width: 760px) {
    .tools-wiki-filters,
    .tools-wiki-article-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .tools-wiki-intro,
    .tools-wiki-article > summary,
    .tools-wiki-article-body {
        padding: 13px;
    }
}

.page-rank-url-input {
    box-sizing: border-box;
    max-width: 620px;
    min-height: 42px;
    font-size: 13px;
}

.page-rank-url-input:focus {
    border-color: #d1d5db !important;
    box-shadow: none !important;
    outline: none !important;
    --tw-ring-color: transparent !important;
    --tw-ring-shadow: 0 0 #0000 !important;
}

.page-rank-rules,
.page-rank-result-note {
    display: grid;
    gap: 6px;
    margin-top: 12px;
    padding: 11px 13px;
    border: 1px solid rgba(0, 255, 65, 0.22);
    border-radius: 8px;
    background: rgba(0, 255, 65, 0.035);
    color: var(--matrix-text);
    font-size: 12px;
    line-height: 1.45;
}

.page-rank-rules strong,
.page-rank-rules b {
    color: var(--matrix-text-strong);
}

.page-rank-rules code {
    color: var(--matrix-green);
}

.page-rank-result-note {
    margin: 0 0 12px;
}

.page-rank-table-scroll {
    max-width: 100%;
    overflow-x: auto;
}

.page-rank-results-table {
    min-width: 1180px;
    border-collapse: collapse;
    font-size: 12px;
    line-height: 1.35;
}

.page-rank-results-table th,
.page-rank-results-table td {
    padding: 7px 9px;
    border: 1px solid rgba(0, 255, 65, 0.24);
    vertical-align: top;
}

.page-rank-results-table th {
    background: rgba(0, 255, 65, 0.08);
    color: var(--matrix-text-strong);
}

.page-rank-results-table th:first-child {
    width: 34%;
}

.page-rank-sort-button {
    display: inline-flex;
    width: 100%;
    align-items: center;
    gap: 5px;
    font: inherit;
    font-weight: 700;
    text-align: left;
}

.page-rank-url,
.page-rank-comment {
    overflow-wrap: anywhere;
}

.page-rank-muted {
    display: block;
    color: var(--matrix-muted);
    font-size: 10px;
}

.page-rank-ok {
    color: var(--matrix-green);
    font-weight: 800;
}

.page-rank-danger {
    color: #fb7185;
    font-weight: 800;
}

.page-rank-status {
    display: inline-flex;
    align-items: flex-start;
    gap: 5px;
    font-weight: 700;
}

.page-rank-status--ok {
    color: var(--matrix-green);
}

.page-rank-status--warning {
    color: #fb7185;
}

.page-rank-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 13px;
    color: var(--matrix-muted);
    font-size: 12px;
}

@media (max-width: 760px) {
    .page-rank-url-input {
        max-width: none;
    }

    .page-rank-rules,
    .page-rank-result-note {
        padding: 10px;
    }

    .page-rank-pagination {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

