﻿/* Estilos específicos para projeto Área 51 */

.area51-intro {
            background: linear-gradient(135deg, #2c3e50, #34495e);
            color: white;
            padding: 30px;
            border-radius: 15px;
            margin-bottom: 30px;
            border: 2px solid #e74c3c;
        }
        
        .classification-banner {
            background: repeating-linear-gradient(
                45deg,
                #e74c3c,
                #e74c3c 10px,
                #c0392b 10px,
                #c0392b 20px
            );
            color: white;
            text-align: center;
            padding: 10px;
            border-radius: 5px;
            margin-bottom: 20px;
            font-weight: bold;
            letter-spacing: 2px;
        }
        
        .classification-text {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 15px;
        }
        
        .area51-badge {
            display: flex;
            flex-direction: column;
            align-items: center;
            color: white;
        }
        
        .area51-main-icon {
            font-size: 4rem;
        }
        
        .badge-text {
            margin-top: 10px;
            text-align: center;
        }
        
        .analogy-card, .benefits-card {
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            padding: 20px;
            margin: 15px 0;
            border-left: 4px solid var(--area51-color);
        }
        
        .benefit-list {
            list-style: none;
            padding: 0;
        }
        
        .benefit-list li {
            padding: 8px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }
        
        .architecture-diagram {
            background: #f8f9fa;
            border-radius: 10px;
            padding: 20px;
        }
        
        .layer {
            margin-bottom: 15px;
            text-align: center;
        }
        
        .layer-title {
            font-weight: bold;
            color: var(--area51-color);
            margin-bottom: 8px;
        }
        
        .component, .component-row {
            display: flex;
            justify-content: center;
            gap: 10px;
            flex-wrap: wrap;
        }
        
        .component {
            background: var(--area51-color);
            color: white;
            padding: 8px 15px;
            border-radius: 20px;
            font-size: 0.9rem;
        }
        
        .component.lb { background: #3498db; }
        .component.gateway { background: #9b59b6; }
        .component.auth { background: #e67e22; }
        .component.core { background: #27ae60; }
        .component.data { background: #e74c3c; }
        
        .auth-card {
            background: white;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            height: 100%;
        }
        
        .auth-header {
            padding: 20px;
            text-align: center;
            color: white;
        }
        
        .auth-card.primary .auth-header { background: linear-gradient(135deg, #667eea, #764ba2); }
        .auth-card.social .auth-header { background: linear-gradient(135deg, #4facfe, #00f2fe); }
        .auth-card.enterprise .auth-header { background: linear-gradient(135deg, #f093fb, #f5576c); }
        
        .auth-header i {
            font-size: 2.5rem;
            margin-bottom: 10px;
            display: block;
        }
        
        .auth-body {
            padding: 20px;
        }
        
        .auth-tech {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 15px;
        }
        
        .tech-badge {
            background: #34495e;
            color: white;
            padding: 4px 8px;
            border-radius: 12px;
            font-size: 0.75rem;
        }
        
        .rbac-example {
            background: #f8f9fa;
            border-radius: 10px;
            padding: 20px;
            margin: 15px 0;
        }
        
        .role-card {
            background: white;
            border-radius: 8px;
            padding: 15px;
            border-left: 4px solid var(--area51-color);
        }
        
        .federation-card {
            background: white;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            height: 100%;
        }
        
        .fed-header {
            padding: 20px;
            text-align: center;
            color: white;
        }
        
        .federation-card.saml .fed-header { background: linear-gradient(135deg, #ff7675, #fd79a8); }
        .federation-card.oidc .fed-header { background: linear-gradient(135deg, #74b9ff, #0984e3); }
        .federation-card.ldap .fed-header { background: linear-gradient(135deg, #00b894, #00cec9); }
        
        .fed-header i {
            font-size: 2.5rem;
            margin-bottom: 10px;
            display: block;
        }
        
        .fed-body {
            padding: 20px;
        }
        
        .fed-features {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 15px;
        }
        
        .fed-features .feature {
            background: var(--area51-color);
            color: white;
            padding: 4px 8px;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        
        .federation-diagram {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: #f8f9fa;
            padding: 30px;
            border-radius: 15px;
            margin: 20px 0;
            flex-wrap: wrap;
            gap: 20px;
        }
        
        .org-box, .area51-box {
            background: white;
            border-radius: 10px;
            padding: 20px;
            text-align: center;
            min-width: 150px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        
        .area51-box {
            background: var(--area51-color);
            color: white;
        }
        
        .idp, .broker {
            background: #34495e;
            color: white;
            padding: 8px 15px;
            border-radius: 20px;
            margin: 10px 0;
            font-size: 0.9rem;
        }
        
        .area51-box .broker {
            background: rgba(255, 255, 255, 0.2);
        }
        
        .users {
            font-size: 1.5rem;
            margin: 10px 0;
        }
        
        .trust-line {
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
        }
        
        .trust-line::before {
            content: '††’';
            font-size: 2rem;
            color: var(--area51-color);
        }
        
        .protocol {
            background: var(--area51-color);
            color: white;
            padding: 4px 8px;
            border-radius: 12px;
            font-size: 0.8rem;
            margin-top: 5px;
        }
        
        .deployment-metrics {
            background: linear-gradient(135deg, #00b894, #00cec9);
            color: white;
            padding: 30px;
            border-radius: 15px;
            margin: 30px 0;
        }
        
        .metric-card {
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            padding: 20px;
            text-align: center;
            margin-bottom: 15px;
        }
        
        .metric-value {
            font-size: 2rem;
            font-weight: bold;
            color: white;
        }
        
        .metric-label {
            font-size: 0.9rem;
            opacity: 0.8;
        }
        
        .security-card {
            background: #f8f9fa;
            border-radius: 10px;
            padding: 25px;
            height: 100%;
        }
        
        .compliance-list, .security-measures {
            list-style: none;
            padding: 0;
        }
        
        .compliance-list li, .security-measures li {
            padding: 8px 0;
            border-bottom: 1px solid #dee2e6;
        }
        
        .use-cases-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }
        
        .use-case-enterprise {
            background: white;
            border-radius: 15px;
            padding: 25px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            border-left: 4px solid var(--area51-color);
        }
        
        .use-case-icon {
            text-align: center;
            margin-bottom: 15px;
        }
        
        .use-case-icon i {
            font-size: 3rem;
        }
        
        .results {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            margin-top: 15px;
        }
        
        .result-metric {
            background: var(--area51-color);
            color: white;
            padding: 4px 8px;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        
        .roi-section {
            background: linear-gradient(135deg, #00b894, #00cec9);
            color: white;
            padding: 30px;
            border-radius: 15px;
        }
        
        .roi-card {
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 20px;
            height: calc(100% - 20px);
        }
        
        .roi-card h4 {
            color: white;
            margin-bottom: 15px;
        }
        
        .roi-card ul {
            list-style: none;
            padding: 0;
        }
        
        .roi-card li {
            padding: 8px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        }
        
        .area51-nav {
            list-style: none;
            padding: 0;
        }
        
        .area51-nav li {
            margin-bottom: 8px;
        }
        
        .area51-nav a {
            display: flex;
            align-items: center;
            padding: 8px 12px;
            color: var(--wiki-text);
            text-decoration: none;
            border-radius: 5px;
            transition: background-color 0.2s;
        }
        
        .area51-nav a:hover {
            background-color: rgba(231, 76, 60, 0.1);
        }
        
        .area51-nav i {
            margin-right: 8px;
            color: var(--area51-color);
        }
        
        @media (max-width: 768px) {
            .federation-diagram {
                flex-direction: column;
                gap: 30px;
            }
            
            .trust-line::before {
                content: '↓';
            }
            
            .deployment-metrics .row {
                row-gap: 15px;
            }
            
            .use-cases-grid {
                grid-template-columns: 1fr;
            }
        }

/* ===================================
   TEMA DARK - ÁREA 51
   =================================== */

[data-theme="dark"] {
    /* Banner de classificação */
    --area51-color: #e74c3c;
}

[data-theme="dark"] .area51-intro {
    background: linear-gradient(135deg, #1a252f, #2c3e50);
    border-color: #e74c3c;
}

[data-theme="dark"] .classification-banner {
    background: repeating-linear-gradient(
        45deg,
        #c0392b,
        #c0392b 10px,
        #e74c3c 10px,
        #e74c3c 20px
    );
}

[data-theme="dark"] .analogy-card,
[data-theme="dark"] .benefits-card {
    background: rgba(255, 255, 255, 0.05);
    border-left-color: #e74c3c;
}

[data-theme="dark"] .benefit-list li {
    border-bottom-color: rgba(255, 255, 255, 0.1);
    color: #e0e0e0;
}

/* Architecture diagram - tema dark */
[data-theme="dark"] .architecture-diagram {
    background: #2c3e50;
    color: #e0e0e0;
}

[data-theme="dark"] .layer-title {
    color: #e74c3c;
}

/* Auth cards - tema dark */
[data-theme="dark"] .auth-card {
    background: #2c3e50;
    color: #e0e0e0;
}

[data-theme="dark"] .auth-body {
    color: #e0e0e0;
}

[data-theme="dark"] .auth-body p {
    color: #d0d0d0;
}

[data-theme="dark"] .tech-badge {
    background: #1a252f;
    color: #ffffff;
}

/* RBAC example - tema dark */
[data-theme="dark"] .rbac-example {
    background: #2c3e50;
    color: #e0e0e0;
}

[data-theme="dark"] .role-card {
    background: #1a252f;
    color: #e0e0e0;
    border-left-color: #e74c3c;
}

[data-theme="dark"] .role-card h6 {
    color: #ffffff;
}

[data-theme="dark"] .role-card p,
[data-theme="dark"] .role-card ul,
[data-theme="dark"] .role-card li {
    color: #d0d0d0;
}

/* Federation cards - tema dark */
[data-theme="dark"] .federation-card {
    background: #2c3e50;
    color: #e0e0e0;
}

[data-theme="dark"] .fed-body {
    color: #e0e0e0;
}

[data-theme="dark"] .fed-body p {
    color: #d0d0d0;
}

[data-theme="dark"] .fed-features .feature {
    background: #1a252f;
    color: #ffffff;
}

/* Federation diagram - tema dark */
[data-theme="dark"] .federation-diagram {
    background: #2c3e50;
}

[data-theme="dark"] .org-box {
    background: #1a252f;
    color: #e0e0e0;
}

[data-theme="dark"] .area51-box {
    background: #e74c3c;
    color: #ffffff;
}

[data-theme="dark"] .idp,
[data-theme="dark"] .broker {
    background: #0f1419;
    color: #ffffff;
}

[data-theme="dark"] .area51-box .broker {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

[data-theme="dark"] .protocol {
    background: #e74c3c;
    color: #ffffff;
}

/* Deployment metrics - tema dark */
[data-theme="dark"] .deployment-metrics {
    background: linear-gradient(135deg, #006d5b, #008e76);
}

[data-theme="dark"] .metric-card {
    background: rgba(0, 0, 0, 0.3);
}

/* Security cards - tema dark */
[data-theme="dark"] .security-card {
    background: #2c3e50;
    color: #e0e0e0;
}

[data-theme="dark"] .security-card h4 {
    color: #ffffff;
}

[data-theme="dark"] .compliance-list li,
[data-theme="dark"] .security-measures li {
    border-bottom-color: rgba(255, 255, 255, 0.1);
    color: #d0d0d0;
}

/* Use cases - tema dark */
[data-theme="dark"] .use-case-enterprise {
    background: #2c3e50;
    color: #e0e0e0;
    border-left-color: #e74c3c;
}

[data-theme="dark"] .use-case-enterprise h5 {
    color: #ffffff;
}

[data-theme="dark"] .use-case-enterprise p {
    color: #d0d0d0;
}

[data-theme="dark"] .result-metric {
    background: #e74c3c;
    color: #ffffff;
}

/* ROI section - tema dark */
[data-theme="dark"] .roi-section {
    background: linear-gradient(135deg, #006d5b, #008e76);
}

[data-theme="dark"] .roi-card {
    background: rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .roi-card li {
    border-bottom-color: rgba(255, 255, 255, 0.3);
    color: #e0e0e0;
}

/* Alert boxes no tema dark */
[data-theme="dark"] .alert-info {
    background: rgba(13, 110, 253, 0.15);
    border-color: rgba(13, 110, 253, 0.3);
    color: #b8d4ff;
}

[data-theme="dark"] .alert-info h5,
[data-theme="dark"] .alert-info p {
    color: #b8d4ff;
}

[data-theme="dark"] .alert-info .alert-link {
    color: #6ea8fe;
    font-weight: bold;
}

[data-theme="dark"] .alert-success {
    background: rgba(25, 135, 84, 0.15);
    border-color: rgba(25, 135, 84, 0.3);
    color: #a3cfbb;
}

[data-theme="dark"] .alert-success h5,
[data-theme="dark"] .alert-success p {
    color: #a3cfbb;
}

[data-theme="dark"] .alert-success .alert-link {
    color: #75b798;
    font-weight: bold;
}

[data-theme="dark"] .alert-warning {
    background: rgba(255, 193, 7, 0.15);
    border-color: rgba(255, 193, 7, 0.3);
    color: #ffda6a;
}

[data-theme="dark"] .alert-warning h5,
[data-theme="dark"] .alert-warning p {
    color: #ffda6a;
}

/* Área 51 navigation - tema dark */
[data-theme="dark"] .area51-nav a {
    color: #e0e0e0;
}

[data-theme="dark"] .area51-nav a:hover {
    background-color: rgba(231, 76, 60, 0.2);
}

[data-theme="dark"] .area51-nav i {
    color: #e74c3c;
}