/* Nexora brand layer — loaded after the inherited Dalvo styles. */
:root {
  --nexora-black: #050505;
  --nexora-ink: #111111;
  --nexora-paper: #f5f5f2;
  --nexora-surface: #ffffff;
  --nexora-line: #deded8;
  --nexora-muted: #74746f;
  --nexora-soft: #ecece8;
  --nexora-radius: 16px;
}

html, body { background: var(--nexora-paper) !important; color: var(--nexora-ink); }
body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
button, input, select, textarea { font: inherit; }

/* Wordmark */
.nexora-wordmark { display: inline-flex !important; align-items: center; gap: 10px; width: auto !important; height: auto !important; }
.nexora-wordmark img { width: 34px !important; height: 34px !important; object-fit: cover; border-radius: 9px; }
.nexora-wordmark strong { color: inherit; font-size: 15px; letter-spacing: .11em; font-weight: 900; }

/* Login */
.shell { min-height: 100vh; background: var(--nexora-paper) !important; padding: 28px !important; display: grid; place-items: center; }
.login-card { width: min(1100px, 100%); min-height: 650px; display: grid !important; grid-template-columns: 1.05fr .95fr; overflow: hidden; border: 1px solid var(--nexora-line) !important; border-radius: 26px !important; background: #fff !important; box-shadow: 0 28px 80px rgba(0,0,0,.08) !important; }
.brand-panel { position: relative; min-height: 100%; background: #050505 !important; color: #fff !important; overflow: hidden; }
.brand-panel::after { content:""; position:absolute; inset:auto -100px -150px auto; width:390px; height:390px; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.brand-shade { background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.09), transparent 36%) !important; opacity: 1 !important; }
.brand-content { position: relative; z-index: 2; height: 100%; padding: 48px !important; display: flex; flex-direction: column; }
.brand-mark { display:flex !important; align-items:center; gap:12px; font-size:15px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; }
.brand-mark img { width:40px !important; height:40px !important; object-fit:cover; border-radius:11px; }
.brand-copy { margin-top:auto; max-width:520px; }
.brand-eyebrow { color:#8f8f8f; font-size:11px; font-weight:800; letter-spacing:.18em; }
.brand-copy h1 { color:#fff !important; font-size:clamp(48px,5vw,72px) !important; line-height:.97 !important; letter-spacing:-.055em !important; margin:18px 0 20px !important; }
.brand-description { color:#9f9f9f; max-width:480px; font-size:15px; line-height:1.65; }
.form-panel { background:#fff !important; color:#111 !important; display:grid; place-items:center; padding:54px !important; }
.login-form { width:min(390px,100%) !important; }
.login-logo { margin-bottom:38px !important; color:#111; }
.form-heading h2 { color:#111 !important; font-size:30px !important; letter-spacing:-.035em; }
.form-heading p { color:#767676 !important; }
.login-field input { background:#fafaf8 !important; color:#111 !important; border:1px solid #dfdfda !important; border-radius:14px !important; }
.login-field input:focus { border-color:#111 !important; box-shadow:0 0 0 3px rgba(0,0,0,.06) !important; }
.field-label, .field-icon, .remember-session, .login-security-note { color:#777 !important; }
.primary-button, .login-submit { background:#050505 !important; color:#fff !important; border-color:#050505 !important; border-radius:14px !important; min-height:50px; }
.primary-button:hover, .login-submit:hover { background:#1c1c1c !important; }

/* Application shell */
.command-center { background:var(--nexora-paper) !important; }
.topbar { background:rgba(255,255,255,.94) !important; color:#111 !important; border-bottom:1px solid var(--nexora-line) !important; backdrop-filter:blur(16px); }
.topbar-brand { gap:12px !important; }
.topbar-logo { color:#111; }
.topbar-product { color:#797974 !important; border-left:1px solid #ddd !important; padding-left:12px; font-size:12px !important; }
.nexora-company-pill { display:inline-flex; align-items:center; min-height:26px; padding:0 10px; border:1px solid #deded9; border-radius:999px; color:#5d5d59; background:#f8f8f6; font-size:11px; font-weight:700; }
.sidebar-toggle span, .launcher-button span { background:#111 !important; }
.global-search input { background:#f6f6f3 !important; border-color:#dfdfda !important; color:#111 !important; border-radius:999px !important; }
.global-search label, .global-search kbd { color:#777 !important; }
.create-button { background:#050505 !important; color:white !important; border-radius:999px !important; }
.theme-toggle,.assistant-button,.launcher-button,.ghost-button { background:#fff !important; border-color:#dfdfda !important; color:#111 !important; }
.sidebar-session-box strong { color:#111 !important; }
.sidebar-session-box span { color:#777 !important; }

.primary-nav { background:#fff !important; border-bottom:1px solid var(--nexora-line) !important; }
.primary-nav .nav-item,.primary-more-button { color:#777 !important; background:transparent !important; }
.primary-nav .nav-item.active,.primary-nav .nav-item:hover,.primary-more-button:hover { color:#050505 !important; }
.primary-nav .nav-item.active::after { background:#050505 !important; }

.sidebar, .main-nav, .module-launcher-panel, .quick-actions-panel, .assistant-panel { background:#fff !important; color:#111 !important; border-color:#dfdfda !important; box-shadow:0 24px 70px rgba(0,0,0,.12) !important; }
.sidebar-brand, .launcher-heading, .assistant-heading { border-color:#e5e5e0 !important; }
.sidebar .nav-item, .main-nav .nav-item, .launcher-card { border-radius:12px !important; }
.sidebar .nav-item:hover, .main-nav .nav-item:hover, .launcher-card:hover { background:#f2f2ef !important; }
.sidebar .nav-item.active, .main-nav .nav-item.active { background:#0a0a0a !important; color:white !important; }

.module-view, .home-module, .module-shell, .module-content { background:transparent !important; }
.module-header h1, .module-header h2, .home-hero h1, .section-heading h2 { color:#111 !important; letter-spacing:-.035em; }
.module-header p, .section-heading p, .muted { color:#73736f !important; }
.card, .panel, .stat-card, .metric-card, .table-card, .budgets-table-shell, .module-card, .home-card { background:#fff !important; border:1px solid var(--nexora-line) !important; box-shadow:none !important; border-radius:var(--nexora-radius) !important; }
table { background:#fff; }
thead th { background:#f7f7f4 !important; color:#5e5e59 !important; border-color:#e4e4df !important; }
tbody td { border-color:#ecece8 !important; color:#222 !important; }
tbody tr:hover td { background:#fafaf8 !important; }
input, select, textarea { border-color:#deded9 !important; border-radius:12px !important; }
input:focus, select:focus, textarea:focus { border-color:#111 !important; box-shadow:0 0 0 3px rgba(0,0,0,.05) !important; }
.success-button { background:#050505 !important; border-color:#050505 !important; color:#fff !important; }
.small-button, .secondary-button { border-radius:10px !important; }

/* Dark mode stays monochrome rather than blue/graphite. */
body.dark-mode { background:#080808 !important; color:#f5f5f2 !important; }
body.dark-mode .command-center { background:#080808 !important; }
body.dark-mode .topbar, body.dark-mode .primary-nav, body.dark-mode .sidebar, body.dark-mode .main-nav,
body.dark-mode .module-launcher-panel, body.dark-mode .quick-actions-panel, body.dark-mode .assistant-panel,
body.dark-mode .card, body.dark-mode .panel, body.dark-mode .stat-card, body.dark-mode .metric-card,
body.dark-mode .table-card, body.dark-mode .budgets-table-shell, body.dark-mode .module-card, body.dark-mode .home-card { background:#111 !important; color:#f4f4f1 !important; border-color:#292929 !important; }
body.dark-mode .topbar-logo, body.dark-mode .sidebar-session-box strong, body.dark-mode .module-header h1,
body.dark-mode .module-header h2, body.dark-mode .home-hero h1, body.dark-mode .section-heading h2 { color:#fff !important; }
body.dark-mode .theme-toggle, body.dark-mode .assistant-button, body.dark-mode .launcher-button, body.dark-mode .ghost-button { background:#161616 !important; border-color:#303030 !important; color:#fff !important; }
body.dark-mode .sidebar-toggle span, body.dark-mode .launcher-button span { background:#fff !important; }
body.dark-mode .global-search input, body.dark-mode input, body.dark-mode select, body.dark-mode textarea { background:#151515 !important; color:#fff !important; border-color:#303030 !important; }
body.dark-mode thead th { background:#171717 !important; color:#a6a6a0 !important; border-color:#292929 !important; }
body.dark-mode tbody td { color:#e7e7e3 !important; border-color:#242424 !important; }
body.dark-mode tbody tr:hover td { background:#151515 !important; }
body.dark-mode .nexora-company-pill { background:#151515; border-color:#303030; color:#aaa; }

@media(max-width:850px){
  .shell{padding:0 !important;background:#fff !important;}
  .login-card{min-height:100vh;grid-template-columns:1fr;border:0 !important;border-radius:0 !important;box-shadow:none !important;}
  .brand-panel{display:none !important;}
  .form-panel{padding:32px 22px !important;}
  .nexora-company-pill{display:none;}
}
