:root {
    --bp-bg: #0c0e14;
    --bp-surface: #14171f;
    --bp-surface-2: #1a1e28;
    --bp-line: rgba(255,255,255,.075);
    --bp-text: #f5f7fb;
    --bp-muted: #9299aa;
    --bp-accent: #7867ff;
    --bp-blue: #259cff;
    --bp-green: #00b978;
    --bp-red: #ff5d6c;
    --bp-amber: #ffb020;
}

body.vertical-layout.vertical-menu-modern.menu-expanded,
body.vertical-layout.vertical-menu-modern.menu-collapsed,
body.dark-layout {
    background: var(--bp-bg) !important;
}

body.dark-layout .content-wrapper,
body.dark-layout .app-content,
body.dark-layout .content-body {
    background: transparent !important;
}

.beautiful-project-dashboard {
    color: var(--bp-text);
    min-height: 100vh;
}

.beautiful-project-dashboard .content-wrapper {
    padding-bottom: 3rem;
}

.bp-kicker,
.bp-eyebrow {
    color: #7f8798;
    font-size: .68rem;
    letter-spacing: .14em;
    font-weight: 700;
    text-transform: uppercase;
}

.bp-eyebrow.success { color: #27d696; }
.bp-page-title { color: var(--bp-text); font-size: 2rem; font-weight: 750; margin: .25rem 0; }
.bp-page-subtitle { color: var(--bp-muted); }

.bp-card {
    background: linear-gradient(145deg, rgba(24,28,38,.98), rgba(17,20,28,.98));
    border: 1px solid var(--bp-line);
    border-radius: 18px;
    padding: 1.35rem;
    box-shadow: 0 18px 50px rgba(0,0,0,.20);
    color: var(--bp-text);
}

.bp-card h4, .bp-card strong { color: var(--bp-text); }
.bp-card small { color: var(--bp-muted); }
.bp-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.bp-card-head h4 { font-size: 1.25rem; font-weight: 700; }

.bp-icon-button {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bp-line);
    border-radius: 11px;
    background: rgba(255,255,255,.035);
    color: #cbd0dd;
}
.bp-icon-button:hover { color:#fff; background:rgba(120,103,255,.16); }
.bp-icon-button svg { width:17px; height:17px; }

.bp-btn-primary,
.bp-btn-success {
    border:0;
    border-radius:11px;
    font-weight:650;
    color:#fff !important;
    padding:.72rem 1rem;
}
.bp-btn-primary { background:linear-gradient(135deg,#7765ff,#5144dc); }
.bp-btn-success { background:linear-gradient(135deg,#00bf7b,#009b68); }
.bp-btn-primary svg,.bp-btn-success svg { width:16px;height:16px;margin-right:.35rem; }

.bp-alert { border-radius:14px; border:1px solid rgba(255,255,255,.09); }
.bp-result-card { border-color:rgba(0,185,120,.45); }
.bp-credentials-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.bp-credentials-grid > div { background:rgba(255,255,255,.035); border:1px solid var(--bp-line); border-radius:12px; padding:.8rem; }
.bp-credentials-grid span { display:block; color:var(--bp-muted); font-size:.75rem; margin-bottom:.2rem; }
.bp-links-list { margin-top:1rem; display:grid; gap:.5rem; }
.bp-copy-row { display:grid; grid-template-columns:70px 1fr 80px; align-items:center; background:rgba(0,0,0,.18); border:1px solid var(--bp-line); border-radius:10px; overflow:hidden; }
.bp-copy-row > span { padding:.65rem; color:var(--bp-muted); font-size:.72rem; font-weight:700; }
.bp-copy-row input { background:transparent; color:#e9ebf1; border:0; min-width:0; padding:.65rem; }
.bp-copy-row button { border:0; border-left:1px solid var(--bp-line); background:rgba(120,103,255,.16); color:#bbb4ff; height:100%; }

.bp-quick-list { display:grid; gap:.65rem; }
.bp-quick-form { margin:0; }
.bp-plan-button {
    width:100%;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto minmax(110px,auto) 20px;
    gap:.8rem;
    align-items:center;
    text-align:left;
    padding:.8rem;
    border:1px solid transparent;
    border-radius:14px;
    background:rgba(255,255,255,.035);
    color:var(--bp-text);
    transition:.18s ease;
}
.bp-plan-button:hover { transform:translateY(-1px); background:rgba(255,255,255,.06); border-color:rgba(120,103,255,.42); }
.bp-plan-button:disabled { opacity:.65; }
.bp-plan-icon { width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(37,156,255,.14);color:#45aaff; }
.bp-plan-icon.p2p { background:rgba(120,103,255,.16);color:#9b8fff; }
.bp-plan-icon svg { width:19px;height:19px; }
.bp-plan-main { min-width:0; }
.bp-plan-main strong,.bp-plan-main small { display:block; }
.bp-plan-main strong { font-size:.95rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bp-plan-main small { margin-top:.18rem; font-size:.72rem; }
.bp-plan-linked-server { display:none; align-items:center; gap:.28rem; margin-top:.36rem; color:#9fd7ff; font-size:.69rem; font-weight:700; line-height:1.25; min-width:0; }
.bp-plan-linked-server svg { width:13px; height:13px; flex:0 0 13px; }
.bp-plan-linked-server span { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bp-plan-badge { font-size:.66rem; padding:.28rem .45rem; border-radius:999px; background:rgba(255,93,108,.14); color:#ff7d89; font-weight:700; }
.bp-plan-server { text-align:right; color:#c8ccd7; font-size:.78rem; }
.bp-plan-server small { display:block; color:#7d8494; }
.bp-plan-chevron { width:17px;height:17px;color:#6f7585; }

.bp-empty-state { min-height:190px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--bp-muted); border:1px dashed var(--bp-line); border-radius:14px; }
.bp-empty-state svg { width:34px;height:34px;margin-bottom:.7rem; }
.bp-empty-state strong { margin-bottom:.2rem; }

.bp-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.bp-action-grid a { display:flex;align-items:center;gap:.65rem;padding:.8rem;border-radius:12px;background:rgba(255,255,255,.028);border:1px solid var(--bp-line);color:#cdd1dc; }
.bp-action-grid a:hover { color:#fff; background:rgba(120,103,255,.10); }
.bp-action-grid svg { width:18px;height:18px;color:#8f85ff; }

.bp-revenue-card { min-height:174px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(135deg,#00b977,#00a269); border-color:rgba(255,255,255,.13); }
.bp-revenue-top { display:flex;justify-content:space-between;align-items:center; }
.bp-revenue-icon { width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center; }
.bp-revenue-icon svg { width:22px;height:22px; }
.bp-revenue-pulse { width:11px;height:11px;border-radius:50%;background:#b9ffe4;box-shadow:0 0 0 7px rgba(185,255,228,.12); }
.bp-revenue-value { font-size:1.8rem;font-weight:800;letter-spacing:.01em;margin-top:1rem; }
.bp-revenue-label { color:rgba(255,255,255,.88);font-size:.93rem; }

.bp-server-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.8rem; }
.bp-server-summary div { padding:.6rem;border-radius:10px;background:rgba(255,255,255,.028);text-align:center; }
.bp-server-summary strong,.bp-server-summary span { display:block; }
.bp-server-summary strong { font-size:1.1rem; }
.bp-server-summary span { color:var(--bp-muted);font-size:.68rem; }
.bp-server-list { display:grid;gap:.15rem; }
.bp-server-row { display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.72rem 0;border-bottom:1px dashed var(--bp-line); }
.bp-server-row:last-child { border-bottom:0; }
.bp-status-dot { width:10px;height:10px;border-radius:50%;background:#707687; }
.bp-status-dot.online { background:#00d28a;box-shadow:0 0 12px rgba(0,210,138,.7); }
.bp-status-dot.offline { background:#ff5d6c;box-shadow:0 0 12px rgba(255,93,108,.55); }
.bp-server-name strong,.bp-server-name small,.bp-server-time strong,.bp-server-time small { display:block; }
.bp-server-name strong { font-size:.86rem; }
.bp-server-name small,.bp-server-time small { font-size:.66rem; }
.bp-server-time { text-align:right; }
.bp-server-time strong { font-size:.68rem;color:#9ba1b1; }

.bp-stats-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem; }
.bp-stat-card { background:linear-gradient(145deg,rgba(24,28,38,.98),rgba(17,20,28,.98));border:1px solid var(--bp-line);border-radius:15px;padding:1rem;display:grid;grid-template-columns:42px 1fr 18px;gap:.75rem;align-items:center;color:var(--bp-text); }
.bp-stat-card:hover { transform:translateY(-2px);color:#fff;border-color:rgba(120,103,255,.35); }
.bp-stat-icon { width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center; }
.bp-stat-icon svg { width:19px;height:19px; }
.bp-stat-icon.blue { background:rgba(37,156,255,.14);color:#42a9ff; }
.bp-stat-icon.purple { background:rgba(120,103,255,.15);color:#9b8fff; }
.bp-stat-icon.amber { background:rgba(255,176,32,.14);color:#ffc057; }
.bp-stat-icon.green { background:rgba(0,185,120,.14);color:#22d493; }
.bp-stat-card span strong,.bp-stat-card span small { display:block; }
.bp-stat-card span strong { font-size:1.25rem; }
.bp-stat-card span small { color:var(--bp-muted);font-size:.72rem; }
.bp-stat-card > svg { width:16px;height:16px;color:#666d7c; }

.bp-url-box { margin-bottom:.8rem; }
.bp-url-box label { color:var(--bp-muted);font-size:.72rem;margin-bottom:.35rem; }
.bp-url-box > div { display:grid;grid-template-columns:1fr 82px;border:1px solid var(--bp-line);border-radius:11px;overflow:hidden;background:rgba(0,0,0,.18); }
.bp-url-box input { min-width:0;border:0;background:transparent;color:#d7dbe5;padding:.72rem; }
.bp-url-box button { border:0;border-left:1px solid var(--bp-line);background:rgba(120,103,255,.14);color:#b9b1ff;font-weight:650; }
.bp-recent-list { display:grid;gap:.3rem; }
.bp-recent-list > div { display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-bottom:1px dashed var(--bp-line); }
.bp-recent-list > div:last-child { border-bottom:0; }
.bp-recent-list strong,.bp-recent-list small { display:block; }
.bp-recent-list small { color:var(--bp-muted);font-size:.68rem; }
.bp-user-avatar { width:35px;height:35px;border-radius:11px;background:rgba(120,103,255,.15);color:#a69dff;display:flex;align-items:center;justify-content:center;font-weight:800; }
.bp-empty-inline { color:var(--bp-muted);padding:1rem 0;text-align:center; }

.bp-mobile-nav { display:none; }

/* Menu e páginas internas preservam todas as funções, mas recebem o mesmo acabamento. */
body.dark-layout .main-menu,
body.dark-layout .header-navbar,
body.dark-layout .navbar-container { background:#11141c !important; }
body.dark-layout .main-menu { border-right:1px solid var(--bp-line); }
body.dark-layout .main-menu .navigation > li ul .active,
body.dark-layout .main-menu .navigation > li.active > a { background:linear-gradient(118deg,#7867ff,rgba(120,103,255,.72)) !important;box-shadow:0 0 16px rgba(120,103,255,.28) !important; }
body.dark-layout .card { border:1px solid var(--bp-line);border-radius:15px;box-shadow:none; }
body.dark-layout .form-control { border-color:var(--bp-line); }

@media (max-width: 1199.98px) {
    .bp-stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 991.98px) {
    .beautiful-project-dashboard .content-wrapper { padding-bottom:6.4rem; }
    .bp-mobile-nav {
        position:fixed;
        display:grid;
        grid-template-columns:repeat(5,1fr);
        left:14px;
        right:14px;
        bottom:12px;
        z-index:1040;
        padding:.55rem .35rem calc(.45rem + env(safe-area-inset-bottom));
        background:rgba(25,28,37,.96);
        border:1px solid rgba(255,255,255,.09);
        border-radius:24px;
        box-shadow:0 18px 45px rgba(0,0,0,.48);
        backdrop-filter:blur(18px);
        transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
    }

    /* O menu inferior nunca pode cobrir as últimas opções do menu lateral. */
    body.menu-open .bp-mobile-nav,
    body.menu-expanded .bp-mobile-nav,
    body.bp-side-menu-open .bp-mobile-nav {
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(calc(100% + 30px));
    }
    body.menu-open .main-menu,
    body.menu-expanded .main-menu,
    body.bp-side-menu-open .main-menu {
        z-index:1065 !important;
    }
    body.menu-open .sidenav-overlay,
    body.bp-side-menu-open .sidenav-overlay {
        z-index:1060 !important;
    }

    .bp-mobile-nav a,.bp-mobile-nav button { border:0;background:transparent;color:#878e9e;display:flex;flex-direction:column;align-items:center;gap:.22rem;font-size:.62rem;padding:.25rem .1rem; }
    .bp-mobile-nav a.active { color:#fff; }
    .bp-mobile-nav svg { width:21px;height:21px; }
    .bp-page-title { font-size:1.55rem; }
}

@media (max-width: 767.98px) {
    .beautiful-project-dashboard { padding-left:0 !important;padding-right:0 !important; }
    .beautiful-project-dashboard .content-wrapper { padding-left:1rem !important;padding-right:1rem !important; }
    .bp-card { padding:1rem;border-radius:15px; }
    .bp-credentials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bp-plan-button { grid-template-columns:42px minmax(0,1fr) 18px; }
    .bp-plan-badge,.bp-plan-server { display:none; }
    .bp-plan-linked-server { display:flex; }
    .bp-action-grid { grid-template-columns:1fr; }
    .bp-stats-grid { grid-template-columns:1fr 1fr;gap:.7rem; }
    .bp-stat-card { grid-template-columns:36px 1fr 15px;padding:.8rem;gap:.55rem; }
    .bp-stat-icon { width:36px;height:36px; }
    .bp-stat-card span strong { font-size:1.05rem; }
    .bp-copy-row { grid-template-columns:55px 1fr 65px; }
}

@media (max-width: 420px) {
    .bp-stats-grid { grid-template-columns:1fr; }
    .bp-credentials-grid { grid-template-columns:1fr; }
}

/* Ações rápidas no padrão mobile Beautiful Project Management. */
.bp-actions-modal .modal-content {
    background:linear-gradient(145deg,#181c26,#11141c);
    color:var(--bp-text);
    border:1px solid var(--bp-line);
    border-radius:18px;
    box-shadow:0 22px 70px rgba(0,0,0,.55);
}
.bp-actions-modal .modal-header { border-bottom:1px solid var(--bp-line); align-items:center; }
.bp-actions-modal .close { color:#fff; text-shadow:none; opacity:.75; }
.bp-modal-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.bp-modal-actions a { display:flex; align-items:center; gap:.7rem; min-height:78px; padding:.85rem; border-radius:13px; border:1px solid var(--bp-line); background:rgba(255,255,255,.03); color:#d7dbe5; }
.bp-modal-actions a:hover { color:#fff; border-color:rgba(120,103,255,.45); background:rgba(120,103,255,.10); }
.bp-modal-actions a > svg { width:21px; height:21px; flex:0 0 auto; color:#9c92ff; }
.bp-modal-actions strong,.bp-modal-actions small { display:block; }
.bp-modal-actions small { margin-top:.14rem; color:var(--bp-muted); font-size:.66rem; line-height:1.3; }
@media (max-width:575.98px) {
    .bp-actions-modal .modal-dialog { margin:.8rem; }
    .bp-modal-actions { grid-template-columns:1fr; }
}
