/* FORTUNA888 Design System v1 — Sala de controle premium.
 * This file is intentionally additive: it can be rolled back without touching
 * the compiled SPA bundle or financial flows.
 */
:root {
    --fortuna-ink: #07110E;
    --fortuna-panel: #0D1C16;
    --fortuna-panel-2: #13271F;
    --fortuna-paper: #F4FFF8;
    --fortuna-muted: #9BB5A7;
    --fortuna-mint: #35E58A;
    --fortuna-forest: #177A4E;
    --fortuna-gold: #D6B25E;
    --fortuna-warning: #F2B84B;
    --fortuna-danger: #F06C6C;
    --fortuna-line: rgba(190, 255, 216, .14);
    --fortuna-radius-control: 12px;
    --fortuna-radius-panel: 16px;
    --fortuna-shadow-panel: 0 18px 56px rgba(0, 0, 0, .22);
    --fortuna-focus: 0 0 0 3px rgba(53, 229, 138, .28);
}

html { text-rendering: optimizeLegibility; }

*:focus-visible {
    outline: 2px solid var(--fortuna-mint);
    outline-offset: 3px;
    box-shadow: var(--fortuna-focus);
}

.fortuna-ds-panel {
    border: 1px solid var(--fortuna-line);
    border-radius: var(--fortuna-radius-panel);
    background: linear-gradient(145deg, rgba(19, 39, 31, .96), rgba(13, 28, 22, .96));
    box-shadow: var(--fortuna-shadow-panel);
}

.fortuna-ds-muted { color: var(--fortuna-muted); }
.fortuna-ds-number { font-variant-numeric: tabular-nums; }

.fortuna-ds-status {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 28px;
    padding: 0 .65rem;
    border: 1px solid var(--fortuna-line);
    border-radius: 999px;
    color: var(--fortuna-paper);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
}

.fortuna-ds-status::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    content: "";
}

.fortuna-ds-status[data-status="success"],
.fortuna-ds-status[data-status="available"] { color: var(--fortuna-mint); }
.fortuna-ds-status[data-status="warning"],
.fortuna-ds-status[data-status="pending"] { color: var(--fortuna-warning); }
.fortuna-ds-status[data-status="danger"],
.fortuna-ds-status[data-status="blocked"] { color: var(--fortuna-danger); }

.fortuna-ds-button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    border: 1px solid transparent;
    border-radius: var(--fortuna-radius-control);
    padding: 0 1rem;
    color: var(--fortuna-ink);
    background: linear-gradient(135deg, #F1DA9B, var(--fortuna-gold));
    font-weight: 800;
    text-decoration: none;
    transition: transform .18s ease, filter .18s ease;
}

.fortuna-ds-button:hover { filter: brightness(1.06); transform: translateY(-1px); }
.fortuna-ds-button[data-variant="secondary"] { color: var(--fortuna-paper); border-color: var(--fortuna-line); background: rgba(255, 255, 255, .04); }
.fortuna-ds-button[data-variant="danger"] { color: #FFF8F8; background: var(--fortuna-danger); }

.fortuna-ds-skeleton {
    min-height: 1rem;
    border-radius: 10px;
    color: transparent !important;
    background: linear-gradient(100deg, rgba(255,255,255,.05) 30%, rgba(53,229,138,.16) 45%, rgba(255,255,255,.05) 60%);
    background-size: 220% 100%;
    animation: fortuna-ds-shimmer 1.4s ease-in-out infinite;
}

.fortuna-ds-empty {
    display: grid;
    min-height: 180px;
    place-items: center;
    padding: 2rem;
    border: 1px dashed var(--fortuna-line);
    border-radius: var(--fortuna-radius-panel);
    color: var(--fortuna-muted);
    text-align: center;
}

@keyframes fortuna-ds-shimmer {
    from { background-position: 180% 0; }
    to { background-position: -40% 0; }
}

@media (max-width: 640px) {
    .fortuna-ds-button { width: 100%; }
    .fortuna-ds-panel { border-radius: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
