/* RAWA | Dark Soft v1.
 * Referência: superfícies de azul-marinho profundo, brilho difuso e contraste confortável.
 * Camada final exclusivamente visual: não modifica autenticação nem lógica financeira.
 * O modo claro operacional permanece inalterado.
 */
html[data-theme="dark"] #app-view {
    color-scheme: dark;
    --v3-blue: #4c8fdf;
    --v3-blue-strong: #3778d0;
    --v3-page: #101827;
    --v3-page-soft: #151e30;
    --v3-sidebar: #121d2f;
    --v3-sidebar-border: rgba(148, 172, 209, .16);
    --v3-topbar: rgba(17, 29, 47, .97);
    --v3-card: #1a2940;
    --v3-card-2: #16243a;
    --v3-card-soft: #20324e;
    --v3-text: #e8edf7;
    --v3-text-2: #c8d5e7;
    --v3-muted: #a5bad4;
    --v3-border: rgba(158, 183, 219, .19);
    --v3-hover: rgba(132, 178, 236, .075);
    --v3-input: #121f34;
    --v3-shadow: 0 18px 50px rgba(4, 13, 28, .20);
    --rawa-surface-hover: rgba(86, 143, 215, .09);
    --rawa-outline-soft: rgba(114, 167, 228, .25);
}
html[data-theme="dark"] #app-view.app-shell,
html[data-theme="dark"] #app-view .workspace {
    background-color: var(--v3-page) !important;
}
html[data-theme="dark"] #app-view .workspace {
    background-image:
        radial-gradient(ellipse at 90% 8%, rgba(67, 117, 193, .065), transparent 34%) !important;
}
html[data-theme="dark"] #app-view .sidebar,
html[data-theme="dark"] #app-view .topbar {
    background: var(--v3-sidebar) !important;
    border-color: var(--v3-sidebar-border) !important;
}
html[data-theme="dark"] #app-view .topbar { background: var(--v3-topbar) !important; }
html[data-theme="dark"] #app-view :is(.data-table-wrap, .panel, .module-card, .dashboard-stat-card, .report-card) {
    border-color: var(--v3-border);
}
html[data-theme="dark"] #app-view :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    color: var(--v3-text);
    border-color: var(--v3-border);
}
html[data-theme="dark"] #app-view :is(input,select,textarea):focus-visible,
html[data-theme="dark"] #app-view :is(button,a):focus-visible {
    outline: 2px solid #7ab8f7 !important;
    outline-offset: 2px;
}
html[data-theme="dark"] #app-view .theme-preview-dark {
    background: #101827 !important;
}
html[data-theme="dark"] #app-view .theme-preview-dark i:first-child { background: #121d2f !important; }
html[data-theme="dark"] #app-view .theme-preview-dark i:nth-child(2) { background: #1a2940 !important; }
html[data-theme="dark"] #app-view .theme-preview-dark i:nth-child(3) { background: #20324e !important; }

/* Modais vivem fora do #app-view; sincronizar a mesma paleta. */
html[data-theme="dark"] .modal-backdrop {
    --v3-card: #1a2940;
    --v3-card-2: #16243a;
    --v3-card-soft: #20324e;
    --v3-text: #e8edf7;
    --v3-text-2: #c8d5e7;
    --v3-muted: #a5bad4;
    --v3-border: rgba(158,183,219,.19);
    --v3-input: #121f34;
    background: rgba(5, 11, 21, .72) !important;
}
html[data-theme="dark"] .modal-backdrop :is(.modal,.modal-card,.modal-content) {
    background: var(--v3-card) !important;
    border-color: var(--v3-border) !important;
    color: var(--v3-text) !important;
}
html[data-theme="dark"] .modal-backdrop :is(.modal-header,.modal-body,.modal-footer,.modal-actions) {
    background: var(--v3-card) !important;
    color: var(--v3-text) !important;
}
html[data-theme="dark"] .modal-backdrop :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    background: var(--v3-input) !important;
    color: var(--v3-text) !important;
    border-color: var(--v3-border) !important;
}
html[data-theme="dark"] .modal-backdrop :is(input, select, textarea, button, a):focus-visible {
    outline: 2px solid #7ab8f7 !important;
    outline-offset: 2px;
}

/* Login operacional: mantém split screen e marca oficiais, com acabamento mais leve. */
#login-view.login-view:not([hidden]) {
    background: linear-gradient(90deg, #111d31 0 55%, #f5f7fb 55% 100%) !important;
    color: #e8edf7 !important;
}
#login-view > .login-art {
    background:
        radial-gradient(ellipse at 83% 16%, rgba(55, 114, 199, .18), transparent 47%),
        radial-gradient(ellipse at 7% 87%, rgba(32, 87, 161, .14), transparent 45%),
        linear-gradient(132deg, #101a2e 0%, #172747 62%, #14213a 100%) !important;
    border-right-color: rgba(160, 191, 230, .16) !important;
}
#login-view > .login-art::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: -10% !important;
    opacity: .72 !important;
    pointer-events: none !important;
    transform: none !important;
    background:
        linear-gradient(121deg, transparent 19%, rgba(47, 102, 183, .10) 28%, transparent 37%),
        linear-gradient(116deg, transparent 56%, rgba(65, 121, 206, .09) 66%, transparent 75%),
        radial-gradient(circle at 30% 38%, rgba(153, 191, 241, .10) .8px, transparent 1px) 0 0 / 30px 30px !important;
}
#login-view .login-art h2 em { color: #83b8fb !important; }
#login-view .login-art-content > p { color: #b5c7e0 !important; }
#login-view .rawa-feature {
    background: rgba(121, 160, 219, .07) !important;
    border-color: rgba(147, 185, 235, .18) !important;
    box-shadow: none !important;
}
#login-view .rawa-feature p { color: #b3c5db !important; }
#login-view .rawa-feature-icon {
    color: #95c6fc !important;
    background: rgba(90, 150, 229, .12) !important;
}
#login-view > .login-card {
    border-radius: 26px !important;
    padding: 26px 27px 23px !important;
    color: #e8edf7 !important;
    background:
        radial-gradient(ellipse at 50% -15%, rgba(62, 136, 211, .24), transparent 53%),
        linear-gradient(165deg, #1a2d49 0%, #132137 51%, #111c30 100%) !important;
    border: 1px solid rgba(125, 172, 222, .27) !important;
    box-shadow: 0 25px 65px rgba(20, 38, 67, .19), 0 1px 0 rgba(179, 217, 255, .11) inset !important;
    overflow: visible !important;
}
#login-view > .login-card .rawa-login-logo {
    filter: none !important;
    opacity: 1 !important;
}
#login-view .login-heading h1 { color: #f2f6ff !important; }
#login-view .login-heading p { color: #b5c8df !important; }
#login-view .login-heading .eyebrow {
    color: #a8ceff !important;
    background: rgba(78, 136, 205, .13) !important;
    border: 1px solid rgba(125, 175, 235, .24) !important;
}
#login-view #login-form .field > span { color: #d3e2f4 !important; }
#login-view #login-form input,
#login-view #login-form .password-field {
    color: #f1f5fb !important;
    background: rgba(8, 21, 39, .67) !important;
    border: 1px solid rgba(152, 180, 221, .26) !important;
    box-shadow: none !important;
}
#login-view #login-form input::placeholder { color: #9eafc8 !important; opacity: 1; }
#login-view #login-form input:focus-visible {
    border-color: #87b9f2 !important;
    outline: 2px solid rgba(121, 185, 250, .75) !important;
    outline-offset: 1px;
}
#login-view #toggle-password { color: #afccef !important; }
#login-view .rawa-recovery-entry a,
#login-view .rawa-master-entry a { color: #a8ceff !important; }
#login-view .rawa-recovery-entry a:hover,
#login-view .rawa-master-entry a:hover { color: #e1f0ff !important; }
#login-view #login-submit {
    border: 1px solid #377dd3 !important;
    border-radius: 11px !important;
    background: linear-gradient(105deg, #337dd6, #438bdd) !important;
    box-shadow: 0 7px 18px rgba(27, 86, 174, .18) !important;
    color: #fff !important;
}
#login-view #login-submit:hover:not(:disabled) {
    background: #327ad1 !important;
    box-shadow: 0 9px 24px rgba(27,86,174,.24) !important;
}
#login-view .login-footer { border-top-color: rgba(151, 181, 220, .18) !important; }
#login-view .login-footer span { color: #acc3de !important; }
#login-view .form-error { color: #ffbaba !important; }

@media (max-width: 1050px) and (min-width: 781px) {
    #login-view.login-view:not([hidden]) {
        background: linear-gradient(90deg, #111d31 0 52%, #f5f7fb 52% 100%) !important;
    }
}
@media (max-width: 780px) {
    #login-view.login-view:not([hidden]) {
        background: #f2f5fa !important;
        height: 100dvh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    #login-view > .login-art {
        min-height: 0 !important;
        height: auto !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(148, 181, 225, .2) !important;
    }
    #login-view > .login-card {
        width: min(410px, calc(100% - 28px)) !important;
        max-width: calc(100% - 28px) !important;
        margin: 15px auto 26px !important;
        padding: 21px 20px !important;
    }
}
@media (max-width: 380px) {
    #login-view > .login-card {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        padding: 19px 15px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    #login-view #login-submit, #login-view .rawa-feature {
        transition: none !important;
        animation: none !important;
    }
}
