﻿/* ============================================										   WENREXA CONTROL - PROJECT CHECKUP STYLES										   Dark Theme | Strict Professional Design										   ============================================ */:root {    --wenrexa-bg-primary: #0d1117;    --wenrexa-bg-secondary: #161b22;    --wenrexa-bg-tertiary: #1c2128;    --wenrexa-bg-hover: #21262d;    --wenrexa-border: #30363d;    --wenrexa-border-light: #21262d;    --wenrexa-text-primary: #e6edf3;    --wenrexa-text-secondary: #8b949e;    --wenrexa-text-muted: #6e7681;    --wenrexa-success: #238636;    --wenrexa-success-bg: rgba(35, 134, 54, 0.15);    --wenrexa-success-border: rgba(35, 134, 54, 0.4);    --wenrexa-error: #da3633;    --wenrexa-error-bg: rgba(218, 54, 51, 0.15);    --wenrexa-error-border: rgba(218, 54, 51, 0.4);    --wenrexa-warning: #d29922;    --wenrexa-warning-bg: rgba(210, 153, 34, 0.15);    --wenrexa-warning-border: rgba(210, 153, 34, 0.4);    --wenrexa-info: #388bfd;    --wenrexa-info-bg: rgba(56, 139, 253, 0.15);    --wenrexa-info-border: rgba(56, 139, 253, 0.4);    --wenrexa-neutral: #6e7681;    --wenrexa-neutral-bg: rgba(110, 118, 129, 0.1);    --wenrexa-primary: #58a6ff;    --wenrexa-primary-hover: #79c0ff;    --wenrexa-secondary: #8b949e;    --wenrexa-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.4);    --wenrexa-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);    --wenrexa-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.6);    --wenrexa-radius-sm: 6px;    --wenrexa-radius-md: 8px;    --wenrexa-radius-lg: 12px;}.accordion-button:not(.collapsed) {    background-color: #121212;}/* ============================================											   CARD + HEADER (лаконичный вариант)											   ============================================ */.wenrexa-ctl-checkup-card {    border-radius: var(--wenrexa-radius-lg);    overflow: hidden;}/* базовый вид хэдера: спокойный, без градиента */.wenrexa-ctl-header {    display: flex;    align-items: center;    justify-content: space-between;    padding: 0.75rem 1rem;    flex-wrap: wrap;    gap: 0.75rem;    position: relative;}.wenrexa-ctl-title {    margin: 0;    font-size: 1.05rem;    font-weight: 600;    color: var(--wenrexa-text-primary);    display: flex;    align-items: center;    letter-spacing: -0.01em;}    .wenrexa-ctl-title i {        font-size: 1.2rem;        opacity: 0.9;    }.wenrexa-ctl-header-left {    display: flex;    align-items: center;    gap: 0.75rem;    flex-wrap: wrap;}.wenrexa-ctl-header-right {    display: flex;    align-items: center;    gap: 0.5rem;}/* компактный статус-бейдж без heavy-рамки */.wenrexa-ctl-status-badge {    display: inline-flex;    align-items: center;    gap: 0.4rem;    padding: 0.35rem 0.75rem;    border-radius: 999px;    font-size: 0.8rem;    font-weight: 600;    letter-spacing: 0.03em;    text-transform: uppercase;    border: 1px solid transparent;    background: rgba(63, 185, 80, 0.12);    color: #3fb950;}.wenrexa-ctl-status-success {    background: rgba(63, 185, 80, 0.12);    border-color: rgba(63, 185, 80, 0.4);    color: #3fb950;}.wenrexa-ctl-status-error {    background: rgba(248, 81, 73, 0.12);    border-color: rgba(248, 81, 73, 0.4);    color: #f85149;}/* ============================================										   HEADER										   ============================================ */.wenrexa-ctl-header-left {    display: flex;    align-items: center;    gap: 1rem;    flex-wrap: wrap;}.wenrexa-ctl-header-right {    display: flex;    align-items: center;    gap: 0.5rem;}.wenrexa-ctl-title {    margin: 0;    font-size: 1.25rem;    font-weight: 600;    color: var(--wenrexa-text-primary);    display: flex;    align-items: center;    letter-spacing: -0.02em;}    .wenrexa-ctl-title i {        font-size: 1.4rem;        opacity: 0.9;    }/* ============================================										   STATUS BADGES										   ============================================ */.wenrexa-ctl-status-badge {    display: inline-flex;    align-items: center;    gap: 0.5rem;    padding: 0.5rem 1rem;    border-radius: var(--wenrexa-radius-md);    font-size: 0.875rem;    font-weight: 600;    letter-spacing: 0.02em;    text-transform: uppercase;    border: 1px solid;}.wenrexa-ctl-status-success {    background: var(--wenrexa-success-bg);    color: #3fb950;    border-color: var(--wenrexa-success-border);}.wenrexa-ctl-status-error {    background: var(--wenrexa-error-bg);    color: #f85149;    border-color: var(--wenrexa-error-border);}.wenrexa-ctl-role-badge {    display: inline-flex;    align-items: center;    padding: 0.375rem 0.875rem;    border-radius: var(--wenrexa-radius-sm);    font-size: 0.8125rem;    font-weight: 600;    border: 1px solid;}.wenrexa-ctl-role-admin {    background: rgba(255, 215, 0, 0.1);    color: #ffd700;    border-color: rgba(255, 215, 0, 0.3);}.wenrexa-ctl-role-owner {    background: var(--wenrexa-info-bg);    color: var(--wenrexa-info);    border-color: var(--wenrexa-info-border);}/* ============================================										   PROGRESS STRIP										   ============================================ *//* по умолчанию: горизонтальный режим (Library) — flex */.wenrexa-ctl-progress-strip {    display: flex;    flex-wrap: wrap;    gap: 0.4rem;    margin-bottom: 0.8rem;}    /* одинаковая ширина pills в горизонтальном режиме */    .wenrexa-ctl-progress-strip:not(.wenrexa-ctl-progress-strip--side) .wenrexa-ctl-progress-pill {        flex: 1 1 calc(25% - 0.4rem); /* четыре в ряд */    }/* сами pills — общие стили */.wenrexa-ctl-progress-pill {    display: flex;    align-items: center;    justify-content: space-between;    padding: 10px 12px;    border-radius: 8px;    background: #161616 !important;    font-size: 0.78rem;}.wenrexa-ctl-progress-icon {    display: inline-flex;    align-items: center;    justify-content: center;    width: 1.4rem;    height: 1.4rem;    border-radius: 999px;    font-size: 1.0rem;    flex-shrink: 0;    color: #fff;}.wenrexa-ctl-progress-text {    display: flex;    flex-direction: column;    line-height: 1.1;    min-width: 0;}.wenrexa-ctl-progress-label {    color: var(--wenrexa-text-secondary);    font-weight: 500;    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis;}.wenrexa-ctl-progress-status {    color: var(--wenrexa-text-primary);    font-weight: 600;}/* вертикальный режим (левый сайдбар) — grid, одна колонка */.wenrexa-ctl-progress-strip--side {    display: grid;    grid-template-columns: 1fr;    row-gap: 0.4rem;}.wenrexa-ctl-progress-pill-ok {    background: var(--wenrexa-success-bg);    border-color: var(--wenrexa-success-border);    padding: 0.375rem 0.7rem;    border: 0px;    border-radius: var(--wenrexa-radius-sm);}    .wenrexa-ctl-progress-pill-ok .wenrexa-ctl-progress-status {        color: #3fb950;    }.wenrexa-ctl-progress-pill-fail {    background: var(--wenrexa-error-bg);    border-color: var(--wenrexa-error-border);}    .wenrexa-ctl-progress-pill-fail .wenrexa-ctl-progress-status {        color: #f85149;    }.wenrexa-ctl-progress-pill-warning {    background: var(--wenrexa-warning-bg);    border-color: var(--wenrexa-warning-border);}    .wenrexa-ctl-progress-pill-warning .wenrexa-ctl-progress-status {        color: #e3b341;    }.wenrexa-ctl-progress-overall {    margin-left: auto;    display: inline-flex;    align-items: baseline;    gap: 0.3rem;    padding: 0.3rem 0.7rem;    border-radius: 999px;    background: var(--wenrexa-bg-tertiary);    border: 1px solid var(--wenrexa-border-light);    font-size: 0.8rem;}.wenrexa-ctl-progress-overall-label {    color: var(--wenrexa-text-secondary);}.wenrexa-ctl-progress-overall-value {    color: var(--wenrexa-primary);    font-weight: 600;}/* ============================================										   SECTIONS										   ============================================ */.wenrexa-ctl-requirements-section {    padding: 0.8rem;}.wenrexa-ctl-actions-section {    padding: 0.8rem;}.wenrexa-ctl-section-title {    font-size: 0.8rem;    font-weight: 600;    color: var(--wenrexa-text-primary);    padding-bottom: 0.75rem;    display: flex;    align-items: center;    text-transform: uppercase;    letter-spacing: 0.05em;}    .wenrexa-ctl-section-title i {        opacity: 0.7;    }/* ============================================										   REQUIREMENTS GRID										   ============================================ */.wenrexa-ctl-requirements-grid {    display: grid;    /*   grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));*/    gap: 0.4rem;    margin-bottom: 1.5rem;}.wenrexa-ctl-requirement-item {    display: flex;    align-items: center;    justify-content: space-between;    padding: 0.275rem 0.7rem;    background: #161616 !important;    border-radius: var(--wenrexa-radius-sm);    transition: all 0.2s ease;}    .wenrexa-ctl-requirement-item:hover {        background: var(--wenrexa-bg-hover);        border-color: var(--wenrexa-border);        transform: translateY(-1px);    }.wenrexa-ctl-requirement-label {    font-size: 0.875rem;    color: var(--wenrexa-text-secondary);    font-weight: 500;    flex: 1;}.wenrexa-ctl-requirement-status {    display: inline-flex;    align-items: center;    gap: 0.375rem;    padding: 0.25rem 0.75rem;    border-radius: var(--wenrexa-radius-sm);    font-size: 0.8125rem;    font-weight: 600;    border: 1px solid;    white-space: nowrap;}.wenrexa-ctl-status-ok {    background: var(--wenrexa-success-bg);    color: #3fb950;    border-color: var(--wenrexa-success-border);}.wenrexa-ctl-status-fail {    background: var(--wenrexa-error-bg);    color: #f85149;    border-color: var(--wenrexa-error-border);}.wenrexa-ctl-status-warning {    background: var(--wenrexa-warning-bg);    color: #e3b341;    border-color: var(--wenrexa-warning-border);}.wenrexa-ctl-status-info {    background: var(--wenrexa-info-bg);    color: #79c0ff;    border-color: var(--wenrexa-info-border);}.wenrexa-ctl-status-neutral {    background: var(--wenrexa-neutral-bg);    color: var(--wenrexa-neutral);    border-color: var(--wenrexa-border-light);}/* ============================================										   ALERTS			 ============================================ */    .wenrexa-ctl-alert {        display: flex;        align-items: flex-start;        gap: 0.75rem;        padding: 1rem 1.25rem;        border-radius: var(--wenrexa-radius-md);        font-size: 0.875rem;        margin-bottom: 1.5rem;        border: 1px solid;    }        .wenrexa-ctl-alert i {            font-size: 1.125rem;            margin-top: 0.125rem;        }    .wenrexa-ctl-alert-warning {        background: var(--wenrexa-warning-bg);        color: var(--wenrexa-text-primary);        border-color: var(--wenrexa-warning-border);    }    .wenrexa-ctl-alert-danger {        background: var(--wenrexa-error-bg);        color: var(--wenrexa-text-primary);        border-color: var(--wenrexa-error-border);    }    .wenrexa-ctl-extensions {        color: var(--wenrexa-warning);        font-weight: 600;        font-family: 'Consolas', 'Monaco', monospace;    }    /* ============================================										   SUBSECTIONS										   ============================================ */    .wenrexa-ctl-subsection {        margin-top: 0.2rem;        padding-top: 0.5rem;        border-top: 1px solid var(--wenrexa-border-light);        margin-bottom: 0.5rem;    }    .wenrexa-ctl-subsection-title {        font-size: 0.9375rem;        font-weight: 600;        color: var(--wenrexa-text-secondary);        margin-bottom: 1rem;        display: flex;        align-items: center;        text-transform: uppercase;        letter-spacing: 0.03em;    }    .wenrexa-ctl-note {        font-size: 0.8125rem;        color: var(--wenrexa-text-muted);        margin-top: 0.75rem;        display: flex;        align-items: center;        gap: 0.375rem;        font-style: italic;    }    /* ============================================										   AUTHORS GRID										   ============================================ */    .wenrexa-ctl-authors-grid {        display: grid;        gap: 0.75rem;    }    .wenrexa-ctl-author-card {        display: flex;        align-items: center;        justify-content: space-between;        padding: 0.2rem 0.25rem;        background: var(--wenrexa-bg-tertiary);        border: 1px solid var(--wenrexa-border-light);        border-radius: var(--wenrexa-radius-md);        transition: all 0.2s ease;        gap: 1rem;        flex-wrap: wrap;    }        .wenrexa-ctl-author-card:hover {            background: var(--wenrexa-bg-hover);            border-color: var(--wenrexa-border);        }    .wenrexa-ctl-author-owner {        border-left: 3px solid var(--wenrexa-primary);    }    .wenrexa-ctl-author-confirmed {        border-left: 3px solid var(--wenrexa-success);    }    .wenrexa-ctl-author-pending {        border-left: 3px solid var(--wenrexa-warning);        opacity: 0.8;    }    .wenrexa-ctl-author-info {        display: flex;        align-items: center;        gap: 0.5rem;        flex: 1;        min-width: 200px;    }    .wenrexa-ctl-author-name {        font-size: 0.9375rem;        font-weight: 600;        color: var(--wenrexa-text-primary);    }    .wenrexa-ctl-author-role {        padding: 0.375rem 0.875rem;        background: rgba(88, 166, 255, 0.15);        color: var(--wenrexa-primary);        border-radius: var(--wenrexa-radius-sm);        font-size: 0.8125rem;        font-weight: 600;        border: 1px solid rgba(88, 166, 255, 0.3);    }    .wenrexa-ctl-author-permissions {        display: flex;        align-items: center;        gap: 0.5rem;        flex-wrap: wrap;    }    .wenrexa-ctl-permission {        padding: 0.25rem 0.625rem;        border-radius: var(--wenrexa-radius-sm);        font-size: 0.75rem;        font-weight: 600;        border: 1px solid;        display: inline-flex;        align-items: center;        gap: 0.25rem;    }    .wenrexa-ctl-perm-active {        background: var(--wenrexa-success-bg);        color: #3fb950;        border-color: var(--wenrexa-success-border);    }    .wenrexa-ctl-perm-inactive {        background: var(--wenrexa-neutral-bg);        color: var(--wenrexa-neutral);        border-color: var(--wenrexa-border-light);    }    /* ============================================										   ISSUES SECTION										   ============================================ */    .wenrexa-ctl-issues-section {        border-top: 1px solid var(--wenrexa-border-light);    }    .wenrexa-ctl-issue-toggle {        margin-bottom: 0.5rem;    }    .wenrexa-ctl-toggle-btn {        display: flex;        align-items: center;        width: 100%;        padding: 0.875rem 1.25rem;        background: var(--wenrexa-bg-tertiary);        border: 1px solid;        border-radius: var(--wenrexa-radius-md);        text-decoration: none;        transition: all 0.2s ease;        cursor: pointer;        font-weight: 600;        font-size: 0.9375rem;    }        .wenrexa-ctl-toggle-btn:hover {            background: var(--wenrexa-bg-hover);            transform: translateY(-1px);        }    .wenrexa-ctl-toggle-error {        color: #f85149;        border-color: var(--wenrexa-error-border);    }        .wenrexa-ctl-toggle-error:hover {            color: #ff7b72;        }    .wenrexa-ctl-toggle-warning {        color: #e3b341;        border-color: var(--wenrexa-warning-border);    }        .wenrexa-ctl-toggle-warning:hover {            color: #f0c55c;        }    .wenrexa-ctl-issue-list {        padding: 0.5rem;        border-radius: var(--wenrexa-radius-md);        margin-bottom: 1rem;        border: 1px solid;    }    .wenrexa-ctl-issue-list-error {        background: var(--wenrexa-error-bg);        border-color: var(--wenrexa-error-border);    }    .wenrexa-ctl-issue-list-warning {        background: var(--wenrexa-warning-bg);        border-color: var(--wenrexa-warning-border);    }    .wenrexa-ctl-issue-item {        display: flex;        align-items: flex-start;        gap: 0.5rem;        padding: 0.5rem 0;        color: var(--wenrexa-text-primary);        font-size: 0.875rem;        line-height: 1.5;    }        .wenrexa-ctl-issue-item:not(:last-child) {            border-bottom: 1px solid rgba(255, 255, 255, 0.05);        }        .wenrexa-ctl-issue-item i {            font-size: 1.25rem;            margin-top: 0.125rem;            opacity: 0.6;        }    /* ============================================										   ACTIONS SECTION										   ============================================ */    .wenrexa-ctl-actions-grid {        display: grid;        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));        gap: 1rem;    }    .wenrexa-ctl-action-btn {        display: flex;        align-items: center;        gap: 1rem;        padding: 0.85rem 1.0rem;        border-radius: var(--wenrexa-radius-md);        text-decoration: none;        transition: all 0.2s ease;        cursor: pointer;        position: relative;        overflow: hidden;    }        .wenrexa-ctl-action-btn::before {            content: '';            position: absolute;            top: 0;            left: 0;            right: 0;            bottom: 0;            background: linear-gradient(135deg, transparent 0%, rgba(255, 255, 255, 0.03) 100%);            opacity: 0;            transition: opacity 0.3s ease;        }        .wenrexa-ctl-action-btn:hover::before {            opacity: 1;        }        .wenrexa-ctl-action-btn:hover {            transform: translateY(-2px);            box-shadow: var(--wenrexa-shadow-md);        }        .wenrexa-ctl-action-btn i {            font-size: 1.5rem;            flex-shrink: 0;        }    .wenrexa-ctl-btn-content {        display: flex;        flex-direction: column;        gap: 0.25rem;        flex: 1;    }    .wenrexa-ctl-btn-title {        font-size: 0.9375rem;        font-weight: 600;        line-height: 1.2;    }    .wenrexa-ctl-btn-subtitle {        font-size: 0.8125rem;        opacity: 0.7;        line-height: 1.3;    }    .wenrexa-ctl-btn-primary {        background: #1c1d1e;        color: #fff;    }        .wenrexa-ctl-btn-primary:hover {            color: var(--wenrexa-primary-hover);            border-color: var(--wenrexa-primary);        }    .wenrexa-ctl-btn-secondary {        color: var(--wenrexa-text-secondary);        border-color: var(--wenrexa-border);    }        .wenrexa-ctl-btn-secondary:hover {            color: var(--wenrexa-text-primary);            border-color: var(--wenrexa-secondary);        }    /* ============================================	RESPONSIVE DESIGN	============================================ */    @media (max-width: 768px) {        .wenrexa-ctl-requirements-section,        .wenrexa-ctl-actions-section {            padding: 1.5rem;        }        .wenrexa-ctl-requirements-grid {            grid-template-columns: 1fr;        }        .wenrexa-ctl-actions-grid {            grid-template-columns: 1fr;        }        .wenrexa-ctl-author-card {            flex-direction: column;            align-items: flex-start;        }        .wenrexa-ctl-author-permissions {            width: 100%;            justify-content: flex-start;        }        .wenrexa-ctl-progress-strip:not(.wenrexa-ctl-progress-strip--side) {            flex-direction: column;        }    }    @media (max-width: 480px) {        .wenrexa-ctl-title {            font-size: 1.125rem;        }        .wenrexa-ctl-requirements-section,        .wenrexa-ctl-actions-section {            padding: 0.8rem;        }        .wenrexa-ctl-requirement-item {            flex-direction: column;            align-items: flex-start;            gap: 0.5rem;        }        .wenrexa-ctl-action-btn {            padding: 1rem;        }    }    /* ============================================	ANIMATION	============================================ */    @keyframes wenrexa-ctl-fade-in {        from {            opacity: 0;            transform: translateY(10px);        }        to {            opacity: 1;            transform: translateY(0);        }    }    .wenrexa-ctl-checkup-card {        animation: wenrexa-ctl-fade-in 0.3s ease-out;        background: #111;    }        /* ============================================		DARK MODE ENHANCEMENTS		============================================ */        .wenrexa-ctl-checkup-card * {            box-sizing: border-box;        }            .wenrexa-ctl-checkup-card *::selection {                background: rgba(88, 166, 255, 0.3);                color: var(--wenrexa-text-primary);            }        /* Scrollbar Styling */        .wenrexa-ctl-checkup-card ::-webkit-scrollbar {            width: 8px;            height: 8px;        }        .wenrexa-ctl-checkup-card ::-webkit-scrollbar-track {            border-radius: 4px;        }        .wenrexa-ctl-checkup-card ::-webkit-scrollbar-thumb {            background: var(--wenrexa-border);            border-radius: 4px;        }            .wenrexa-ctl-checkup-card ::-webkit-scrollbar-thumb:hover {                background: var(--wenrexa-secondary);            }