/* ATHENA - Estilos globais Pentagon-grade.
   Paleta corporativa preto/laranja, base limpa para que cada tela aplique seu HUD. */

:root {
    --athena-bg: #030303;
    --athena-bg-soft: #08090b;
    --athena-surface: #0c0c0e;
    --athena-line: rgba(255, 102, 0, 0.12);
    --athena-text: #f4f4f4;
    --athena-text-muted: #9aa0a6;
    --athena-orange: #ff681f;
    --athena-orange-2: #ff8a32;
    --athena-orange-3: #ffb178;
    --athena-danger: #ff3b3b;
    --athena-success: #00d27a;
    --athena-info: #16c8ff;
}

html, body {
    font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    background: var(--athena-bg);
    color: var(--athena-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body {
    overscroll-behavior-y: none;
}

a, .btn-link {
    color: var(--athena-orange-2);
    text-decoration: none;
}

a:hover, .btn-link:hover {
    color: var(--athena-orange-3);
}

.btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--athena-orange) 0%, var(--athena-orange-2) 100%);
    border-color: var(--athena-orange);
    transition: filter .2s ease, transform .2s ease;
}

.btn-primary:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 3px rgba(255, 102, 0, 0.18);
    border-color: var(--athena-orange);
    outline: none;
}

.content {
    padding-top: 1.1rem;
}

h1:focus {
    outline: none;
}

::selection {
    background: rgba(255, 102, 0, 0.35);
    color: #fff;
}

/* Scrollbar global discreta no tom Pentagon. */
*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.02);
}

*::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 102, 0, 0.55), rgba(255, 102, 0, 0.25));
    border-radius: 6px;
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(255, 138, 50, 0.85), rgba(255, 102, 0, 0.45));
    background-clip: padding-box;
}

/* Validação Bootstrap com paleta ATHENA. */
.valid.modified:not([type=checkbox]) {
    outline: 1px solid var(--athena-success);
}

.invalid {
    outline: 1px solid var(--athena-danger);
}

.validation-message {
    color: var(--athena-danger);
}

/* Boundary de erro do Blazor: não vaza stack. */
.blazor-error-boundary {
    background: linear-gradient(135deg, #1a0a02, #0a0a0a);
    color: #ffd1aa;
    padding: 1rem 1rem 1rem 3.7rem;
    border-left: 3px solid var(--athena-orange);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23ff681f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>");
    background-repeat: no-repeat;
    background-position: 1rem center;
    background-size: 1.6rem;
}

.blazor-error-boundary::after {
    content: "Ocorreu um erro. A equipe ATHENA foi notificada.";
}

.darker-border-checkbox.form-check-input {
    border-color: rgba(255, 138, 50, 0.55);
}

/* Reduz movimento para usuários sensíveis. */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}
