/* ADV Jurídico — SAP Horizon. Shared by every page and portal overlay. */
body {
    --adv-canvas: #0B0E14;
    --adv-sidebar: #080B10;
    --adv-surface: #121722;
    --adv-subtle: #182030;
    --adv-border: #232B3B;
    --adv-text: #F8FAFC;
    --adv-secondary: #94A3B8;
    --adv-muted: #64748B;
    --adv-active: rgba(249, 115, 22, .12);
    --adv-active-text: #FB923C;
    --adv-hover: rgba(255, 255, 255, .04);
    --adv-focus: #3B82F6;
    --adv-success-text: #34D399;
    --adv-warning-text: #FDE68A;
    --adv-danger-text: #FCA5A5;
    color-scheme: dark;
}
body:has(.systemadv-theme-light) {
    --adv-canvas: #E3E2DE;
    --adv-sidebar: #F7F6F2;
    --adv-surface: #F7F6F2;
    --adv-subtle: #F1F0EC;
    --adv-border: #DDDED8;
    --adv-text: #0F172A;
    --adv-secondary: #475569;
    --adv-muted: #94A3B8;
    --adv-active: #FFF7ED;
    --adv-active-text: #C2410C;
    --adv-hover: #E9E8E3;
    --adv-focus: #0070F2;
    --adv-success-text: #047857;
    --adv-warning-text: #92400E;
    --adv-danger-text: #B91C1C;
    color-scheme: light;
}
body {
    --mud-palette-primary: #F97316;
    --mud-palette-primary-rgb: 249,115,22;
    --mud-palette-primary-darken: #EA580C;
    --mud-palette-primary-lighten: #FB923C;
    --mud-palette-primary-hover: rgba(249,115,22,.08);
    --mud-palette-primary-text: #FFFFFF;
    --mud-palette-secondary: var(--adv-secondary);
    --mud-palette-background: var(--adv-canvas);
    --mud-palette-background-gray: var(--adv-subtle);
    --mud-palette-surface: var(--adv-surface);
    --mud-palette-drawer-background: var(--adv-sidebar);
    --mud-palette-drawer-text: var(--adv-text);
    --mud-palette-drawer-icon: var(--adv-secondary);
    --mud-palette-text-primary: var(--adv-text);
    --mud-palette-text-secondary: var(--adv-secondary);
    --mud-palette-text-disabled: var(--adv-muted);
    --mud-palette-action-default: var(--adv-secondary);
    --mud-palette-action-default-hover: var(--adv-hover);
    --mud-palette-action-disabled: var(--adv-muted);
    --mud-palette-action-disabled-background: var(--adv-subtle);
    --mud-palette-divider: var(--adv-border);
    --mud-palette-divider-light: var(--adv-border);
    --mud-palette-lines-default: var(--adv-border);
    --mud-palette-lines-inputs: var(--adv-border);
    --mud-palette-table-lines: var(--adv-border);
    --mud-palette-table-striped: var(--adv-subtle);
    --mud-palette-table-hover: var(--adv-hover);
    --mud-palette-success: #10B981;
    --mud-palette-success-rgb: 16,185,129;
    --mud-palette-warning: #F59E0B;
    --mud-palette-warning-rgb: 245,158,11;
    --mud-palette-error: #EF4444;
    --mud-palette-error-rgb: 239,68,68;
    --mud-palette-info: #0070F2;
    --mud-palette-info-rgb: 0,112,242;
    --mud-default-borderradius: 8px;
    font-family: 'IBM Plex Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: var(--adv-canvas);
    color: var(--adv-text);
    font-size: 14px;
}
.mud-typography, .mud-button-root, .mud-input, .mud-input-label,
.mud-table-cell, .mud-chip, .mud-nav-link, .mud-list-item {
    font-family: inherit;
}
.mud-main-content { background: var(--adv-canvas) !important; padding-top: 0; }
.mud-main-content > .horizon-main-stack > .horizon-main-container {
    padding-top: 24px;
}
.mud-typography-h3 { font-size: 28px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; }
.mud-typography-h4 { font-size: 26px; font-weight: 700; letter-spacing: -.02em; }
.mud-typography-h5 { font-size: 20px; font-weight: 600; }
.mud-typography-h6 { font-size: 18px; font-weight: 600; }
.mud-typography-body1, .mud-typography-subtitle1 { font-size: 14px; line-height: 1.5; }
.mud-typography-body2, .mud-typography-subtitle2 { font-size: 13px; line-height: 1.5; }
.mud-typography-caption { font-size: 11px; color: var(--adv-secondary); }
.mud-typography.mud-typography-h3 { font-size: 28px; font-weight: 700; }
.mud-typography.mud-typography-h4 { font-size: 26px; font-weight: 700; }
.mud-paper, .mud-card { border-color: var(--adv-border); border-radius: 12px; }
.mud-paper-outlined { border: 1px solid var(--adv-border); }
.mud-card { box-shadow: 0 2px 8px rgba(0,0,0,.05); }
.mud-drawer { border-right: 1px solid var(--adv-border); box-shadow: none !important; }
.horizon-brand-icon { border: 0 !important; border-radius: 10px; background: var(--adv-active) !important; color: #F97316 !important; }
.horizon-brand-title { font-size: 14px; font-weight: 700; letter-spacing: .025em; }
.mud-drawer .mud-typography-caption.font-weight-bold, .horizon-nav-heading {
    color: var(--adv-muted) !important; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
}
.mud-drawer .horizon-nav-heading {
    display: block;
    flex: 0 0 auto;
    line-height: 18px;
    min-height: 18px;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap;
}
.mud-drawer .horizon-sidebar-scroll {
    scrollbar-color: transparent transparent;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}
.mud-drawer .horizon-sidebar-scroll::-webkit-scrollbar {
    width: 8px;
}
.mud-drawer .horizon-sidebar-scroll::-webkit-scrollbar-track {
    background: transparent;
}
.mud-drawer .horizon-sidebar-scroll::-webkit-scrollbar-thumb {
    background: transparent;
    border: 2px solid transparent;
    border-radius: 999px;
    background-clip: padding-box;
}
.mud-drawer:hover .horizon-sidebar-scroll,
.mud-drawer .horizon-sidebar-scroll:focus-within {
    scrollbar-color: var(--adv-muted) transparent;
}
.mud-drawer:hover .horizon-sidebar-scroll::-webkit-scrollbar-thumb,
.mud-drawer .horizon-sidebar-scroll:focus-within::-webkit-scrollbar-thumb {
    background: var(--adv-muted);
    border-color: transparent;
    background-clip: padding-box;
}
.mud-nav-link { border-radius: 6px; margin: 2px 0; min-height: 40px; font-size: 13px; }
.mud-nav-link:hover:not(.disabled) { background: var(--adv-hover); }
.mud-nav-link.active:not(.disabled) {
    background: var(--adv-active) !important; color: var(--adv-active-text) !important;
    box-shadow: inset 3px 0 #F97316; font-weight: 600;
}
.mud-nav-link.active .mud-nav-link-icon { color: var(--adv-active-text) !important; }
.horizon-routine .mud-button-root, .horizon-routine .mud-icon-button {
    background: transparent !important; border: 0 !important; color: var(--adv-secondary) !important;
    border-radius: 6px !important; min-height: 40px; text-transform: none; box-shadow: none;
}
.horizon-routine .mud-button-root:hover { background: var(--adv-hover) !important; }
.horizon-routine span[style*="background:#dc2626"] { background: var(--adv-active) !important; color: var(--adv-active-text) !important; box-shadow: none !important; }
.mud-drawer > .mud-drawer-content > .mud-stack > .mud-paper {
    border: 0; border-top: 1px solid var(--adv-border); border-radius: 0; background: transparent; padding: 16px 8px !important;
}
.mud-button-root { font-size: 12px; font-weight: 600; letter-spacing: .025em; border-radius: 8px; }
.mud-button-filled { box-shadow: none; }
.mud-button-filled-primary:hover:not(:disabled) { background: #EA580C; }
.mud-button-outlined-default { border-color: var(--adv-border); }
.mud-icon-button { border-radius: 8px; }
a.mud-link { color: #0070F2; }
.mud-input-label { font-size: 12px; font-weight: 500; }
.mud-input.mud-input-outlined, .mud-input.mud-input-filled {
    background: var(--adv-subtle) !important; border-radius: 8px;
}
.mud-input-outlined-border { border-color: var(--adv-border); }
.mud-input-outlined:focus-within .mud-input-outlined-border { border-color: var(--adv-focus) !important; }
.mud-input.mud-input-error .mud-input-outlined-border { border-color: #EF4444 !important; }
.mud-input-slot { font-size: 14px; }
.mud-input-helper-text { font-size: 11px; }
.mud-table { border-radius: 12px; border: 1px solid var(--adv-border); box-shadow: none; }
.mud-table-container { overflow-x: auto; }
.mud-table-head .mud-table-cell {
    background: var(--adv-subtle); color: var(--adv-secondary); font-size: 11px;
    font-weight: 600; letter-spacing: .05em; text-transform: uppercase; padding: 12px 16px;
}
.mud-table-body .mud-table-cell { padding: 14px 16px; font-size: 13px; border-color: var(--adv-border); }
.mud-table-dense .mud-table-body .mud-table-cell { padding: 10px 16px; }
.mud-table-pagination { border-top: 1px solid var(--adv-border); font-size: 12px; color: var(--adv-secondary); }
.mud-table-toolbar { height: auto; min-height: 56px; flex-wrap: wrap; gap: 8px; }
.mud-chip.mud-chip-size-small, .mud-chip.mud-chip-size-medium { font-size: 11px; font-weight: 600; border-radius: 6px; }
.mud-chip.mud-chip-color-success { background: rgba(16,185,129,.12); color: var(--adv-success-text); }
.mud-chip.mud-chip-color-warning { background: rgba(245,158,11,.12); color: var(--adv-warning-text); }
.mud-chip.mud-chip-color-error { background: rgba(239,68,68,.12); color: var(--adv-danger-text); }
.mud-chip.mud-chip-color-info { background: rgba(0,112,242,.1); color: var(--adv-focus); }
.mud-alert { border-radius: 8px; font-size: 13px; }
.mud-alert-outlined-warning { background: rgba(245,158,11,.08); border-color: rgba(245,158,11,.25); color: var(--adv-warning-text); }
.mud-overlay .mud-overlay-scrim { backdrop-filter: blur(3px); }
.mud-dialog { background: var(--adv-surface); border: 1px solid var(--adv-border); border-radius: 12px; box-shadow: 0 24px 64px rgba(0,0,0,.25); }
.mud-dialog-title { border-bottom: 1px solid var(--adv-border); padding: 20px 24px; }
.mud-dialog-content { padding: 24px; }
.mud-dialog-actions { border-top: 1px solid var(--adv-border); padding: 16px 24px; gap: 8px; background: var(--adv-subtle); }
.mud-popover { background: var(--adv-surface); border: 1px solid var(--adv-border); border-radius: 8px; }
.mud-tabs-tabbar { background: var(--adv-surface); border-bottom: 1px solid var(--adv-border); }
.mud-tab { font-size: 13px; font-weight: 600; text-transform: none; }
.dashboard-value-card { min-height: 138px; height: auto !important; overflow: visible !important; }
.dashboard-detail { background: var(--adv-subtle); }
.agenda-page { padding-top: 0 !important; }
.agenda-header { margin-bottom: 24px !important; }
.agenda-toolbar, .agenda-filters { border: 1px solid var(--adv-border); border-radius: 12px; }
.mud-main-content > .mud-stack > .mud-paper[style*="border-top"] { background: var(--adv-canvas) !important; border-color: var(--adv-border) !important; }
:focus-visible { outline: 2px solid var(--adv-focus); outline-offset: 3px; }
@media (max-width: 700px) {
    .mud-main-content > .horizon-main-stack > .horizon-main-container { padding-top: 16px; }
    .mud-typography-h3 { font-size: 24px !important; }
    .mud-dialog-title, .mud-dialog-content { padding: 16px; }
    .mud-dialog-actions { padding: 12px 16px; flex-wrap: wrap; }
    .mud-table-pagination { flex-wrap: wrap; }
    .mud-table-body .mud-table-cell { padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .dashboard-kpi { transition: none; }
    .dashboard-kpi:hover { transform: none; }
}
