
/* RORAILINK — DASHBOARD DARK V1 */
/* Sem alterações de visibilidade, IDs, eventos ou permissões. */

body:has(#dashboard.active) .app > .main {
    background:#0e131c !important;
}
body:has(#dashboard.active) .app > .main > .topbar {
    background:#151c27 !important;
    border-bottom:1px solid #293344 !important;
    box-shadow:none !important;
}
body:has(#dashboard.active) .topbar h1 { color:#f1f5f9 !important; }
body:has(#dashboard.active) .topbar p,
body:has(#dashboard.active) .system-status { color:#aab8cb !important; }

body:has(#dashboard.active) .sidebar {
    background:#171e2b !important;
    border-right:1px solid #293344 !important;
}
body:has(#dashboard.active) .sidebar .menu {
    color:#bcc8d8 !important;
    border-radius:7px !important;
}
body:has(#dashboard.active) .sidebar .menu:hover {
    background:#243044 !important;
}
body:has(#dashboard.active) .sidebar [data-page="dashboard"] {
    background:#087fc1 !important;
    color:#fff !important;
    box-shadow:inset 3px 0 #59dcff !important;
}

#dashboard.dashboard-page {
    background:#0e131c !important;
    color:#e8eef7 !important;
    font-family:"Segoe UI",Arial,sans-serif;
    color-scheme:dark;
}
#dashboard, #dashboard * { box-sizing:border-box; }

#dashboard .dashboard-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px !important;
    gap:16px !important;
    margin-bottom:18px !important;
}
#dashboard .dashboard-hero-copy {
    min-height:154px !important;
    padding:24px !important;
    border:1px solid #2b3c53 !important;
    border-radius:12px !important;
    background:linear-gradient(115deg,#18283a,#17202e) !important;
    box-shadow:none !important;
}
#dashboard .dashboard-hero-copy::after { content:none !important; }
#dashboard .dashboard-kicker {
    color:#63d6ff !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:1.6px !important;
    margin-bottom:12px !important;
}
#dashboard .dashboard-hero-copy h2 {
    color:#f3f7fc !important;
    font-size:28px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
    letter-spacing:-.6px !important;
}
#dashboard .dashboard-hero-copy p {
    color:#adbed2 !important;
    font-size:13px !important;
    line-height:1.6 !important;
    margin:12px 0 0 !important;
}

#dashboard .dashboard-health-card,
#dashboard .metric-card,
#dashboard .insight-card,
#dashboard .dashboard-cto-card {
    background:#181f2b !important;
    border:1px solid #2b3546 !important;
    border-radius:10px !important;
    box-shadow:none !important;
}
#dashboard .dashboard-health-card { padding:20px !important; }
#dashboard .dashboard-health-card > span,
#dashboard .metric-card span,
#dashboard .insight-card > span {
    color:#b8c5d7 !important;
    font-size:12px !important;
    font-weight:500 !important;
}
#dashboard .dashboard-health-card strong {
    color:#68dfc0 !important;
    font-size:26px !important;
    font-weight:650 !important;
}
#dashboard .dashboard-health-card small,
#dashboard .metric-card small,
#dashboard .insight-card small {
    color:#9cadc2 !important;
    font-size:12px !important;
    line-height:1.5 !important;
}
#dashboard .dashboard-health-track,
#dashboard .cto-progress {
    height:6px !important;
    background:#303b4e !important;
    border-radius:8px !important;
}
#dashboard .dashboard-health-track div {
    background:linear-gradient(90deg,#1ea9e8,#52dec0) !important;
}
#dashboard .cto-progress div {
    background:linear-gradient(90deg,#238ce1,#58c9ed) !important;
}

#dashboard .dashboard-metrics {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:0 0 16px !important;
}
#dashboard .metric-card {
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    padding:20px 16px !important;
    min-width:0 !important;
    min-height:116px !important;
}
#dashboard .metric-card > div:last-child { min-width:0; }
#dashboard .metric-card strong {
    display:block;
    color:#f4f8ff !important;
    font-size:32px !important;
    line-height:1.2 !important;
    margin:7px 0 !important;
    font-weight:650 !important;
    font-variant-numeric:tabular-nums;
}
#dashboard .metric-card .card-icon {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    margin:0 !important;
    border:1px solid #304964 !important;
    background:#20344a !important;
    border-radius:10px !important;
    font-size:20px !important;
    box-shadow:none !important;
}

#dashboard .dashboard-insights {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
    margin:0 0 24px !important;
}
#dashboard .insight-card {
    padding:18px 20px !important;
    min-width:0 !important;
}
#dashboard .insight-card strong {
    display:block;
    color:#e7eef9 !important;
    font-size:26px !important;
    margin:8px 0 !important;
    font-variant-numeric:tabular-nums;
}
#dashboard .insight-wide { grid-column:auto !important; }

#dashboard .dashboard-section {
    background:#131a25 !important;
    border:1px solid #293446 !important;
    border-radius:12px !important;
    padding:22px !important;
    box-shadow:none !important;
}
#dashboard .dashboard-section-header { margin-bottom:20px !important; }
#dashboard .section-eyebrow {
    color:#66cfff !important;
    font-size:10px !important;
    letter-spacing:1.5px !important;
}
#dashboard .dashboard-section-header h2 {
    color:#eef4fd !important;
    font-size:21px !important;
    margin:6px 0 !important;
}
#dashboard .dashboard-section-header p {
    color:#a8b8cd !important;
    font-size:13px !important;
}
#dashboard .dashboard-cto-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
}
#dashboard .dashboard-cto-card {
    padding:18px !important;
    min-width:0 !important;
    transition:border-color .15s ease !important;
}
#dashboard .dashboard-cto-card:hover {
    border-color:#428bb2 !important;
    transform:none !important;
    box-shadow:none !important;
}
#dashboard .cto-card-top {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
}
#dashboard .cto-card-top > div { min-width:0; }
#dashboard .cto-card-top h3 {
    color:#eff5ff !important;
    font-size:16px !important;
    margin:0 0 6px !important;
}
#dashboard .cto-card-top p {
    color:#a5b6ca !important;
    font-size:12px !important;
    line-height:1.5 !important;
    overflow-wrap:anywhere;
}
#dashboard .cto-status {
    background:#173850 !important;
    color:#83d8ff !important;
    border:1px solid #2a5975 !important;
    border-radius:6px !important;
    padding:5px 7px !important;
    font-size:11px !important;
    white-space:nowrap;
}
#dashboard .cto-progress { margin:16px 0 !important; }
#dashboard .cto-stats {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
}
#dashboard .dashboard-cto-card .stat {
    padding:10px 4px !important;
    border:1px solid #2a3445 !important;
    background:#121a26 !important;
    border-radius:7px !important;
    text-align:center;
    min-width:0;
}
#dashboard .dashboard-cto-card .stat strong {
    color:#eaf0f9 !important;
    font-size:21px !important;
    font-variant-numeric:tabular-nums;
}
#dashboard .dashboard-cto-card .stat-livre strong { color:#65dbb0 !important; }
#dashboard .dashboard-cto-card .stat-ocupada strong { color:#72c7ff !important; }
#dashboard .dashboard-cto-card .stat-manutencao strong { color:#f2c572 !important; }
#dashboard .stat span {
    color:#aabbd0 !important;
    font-size:11px !important;
    overflow-wrap:anywhere;
}
#dashboard .loading {
    color:#b8c9dd !important;
    background:transparent !important;
    grid-column:1 / -1;
}
#dashboard .error {
    color:#fecaca !important;
    background:#3b202a !important;
    border:1px solid #73404e;
    padding:16px;
    border-radius:8px;
    grid-column:1 / -1;
}
#dashboard button:focus-visible,
#dashboard a:focus-visible {
    outline:3px solid #67d7ff;
    outline-offset:3px;
}

@media(max-width:1200px) {
    #dashboard .dashboard-metrics,
    #dashboard .dashboard-cto-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media(max-width:900px) {
    #dashboard .dashboard-hero { grid-template-columns:1fr !important; }
}
@media(max-width:600px) {
    #dashboard .dashboard-metrics,
    #dashboard .dashboard-insights,
    #dashboard .dashboard-cto-grid {
        grid-template-columns:1fr !important;
    }
    #dashboard .dashboard-hero-copy,
    #dashboard .dashboard-section { padding:18px !important; }
    #dashboard .dashboard-hero-copy h2 { font-size:24px !important; }
    #dashboard .metric-card { min-height:96px !important; }
}
@media(prefers-reduced-motion:reduce) {
    #dashboard * { transition:none !important; }
}
