﻿/* ============================================										   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);        }