
/* Imperium CRM UX system v45 - desktop + mobile complete refresh */
:root {
  --imperium-black:#020617;
  --imperium-midnight:#071326;
  --imperium-navy:#0b1f44;
  --imperium-blue:#0969ff;
  --imperium-blue-2:#0ea5ff;
  --imperium-cyan:#22d3ee;
  --imperium-bg:#f4f8ff;
  --imperium-card:#ffffff;
  --imperium-text:#06142e;
  --imperium-muted:#657894;
  --imperium-border:rgba(13,46,93,.12);
  --imperium-shadow:0 18px 55px rgba(7,19,38,.10);
  --primary:#0969ff;
  --primary-2:#22d3ee;
  --success:#22c55e;
  --danger:#ef4444;
  --warning:#f59e0b;
}
html { background:#020617; }
body:not(.imperium-app-body):not(.auth-body) {
  background:
    radial-gradient(circle at top left, rgba(9,105,255,.16), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%) !important;
  color:var(--imperium-text) !important;
}
/* Desktop component layout */
.crm-sidebar {
  background:linear-gradient(180deg,#020617 0%,#071326 54%,#020617 100%) !important;
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:18px 0 60px rgba(2,6,23,.18);
}
.crm-sidebar-brand {
  padding:24px 22px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.crm-brand-icon, .crm-logo-icon, .brand-mark {
  display:grid !important;
  place-items:center !important;
  width:42px !important;
  height:42px !important;
  flex:0 0 42px !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,#061428,#0b2d78) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 28px rgba(9,105,255,.20) !important;
  overflow:hidden;
}
.crm-brand-icon img, .crm-logo-icon img, .brand-mark img { width:30px !important; height:30px !important; object-fit:contain !important; }
.crm-brand-text { display:grid; gap:3px; }
.crm-brand-text strong, .crm-logo-text, .brand strong { color:#fff !important; font-weight:950 !important; letter-spacing:-.03em; }
.crm-brand-text small, .brand small { color:rgba(226,238,255,.62) !important; font-size:11px; font-weight:700; }
.crm-menu h5, .nav-title {
  color:#7fa3d7 !important;
  opacity:1 !important;
  letter-spacing:.16em !important;
  font-weight:900 !important;
}
.crm-menu a, .nav a {
  color:#c6d5ef !important;
  border-radius:14px !important;
  margin:3px 12px !important;
  padding:12px 14px !important;
  transition:.18s ease !important;
}
.crm-menu a:hover, .nav a:hover { background:rgba(9,105,255,.13) !important; color:#fff !important; }
.crm-menu a.active, .nav a.active {
  background:linear-gradient(135deg,#0969ff,#0049dc) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(9,105,255,.28) !important;
}
.crm-main { background:transparent !important; }
.crm-content { padding:96px 30px 34px !important; }
.crm-header {
  background:rgba(255,255,255,.86) !important;
  backdrop-filter:blur(18px) saturate(1.18);
  border-bottom:1px solid rgba(13,46,93,.10);
  box-shadow:0 12px 32px rgba(7,19,38,.06) !important;
}
.crm-logo { color:#071326 !important; }
.crm-search-input, .crm-input, input, select, textarea {
  border-color:#cfe0f5 !important;
  border-radius:14px !important;
  background:#fff !important;
  color:var(--imperium-text) !important;
}
.crm-btn, .btn, button.crm-btn {
  border-radius:14px !important;
  font-weight:850 !important;
}
.crm-btn-primary, .btn-primary, .crm-btn.crm-btn-primary {
  background:linear-gradient(135deg,#0969ff,#0051df) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 14px 26px rgba(9,105,255,.22) !important;
}
.crm-btn-success, .btn-success { background:linear-gradient(135deg,#0ea5ff,#22c55e) !important; color:#fff !important; border:0 !important; }
.crm-card, .crm-stat-card, .card, .panel, .users-list-card, .user-form-card, .team-kpis article, .entity-card {
  background:rgba(255,255,255,.92) !important;
  border:1px solid var(--imperium-border) !important;
  border-radius:22px !important;
  box-shadow:var(--imperium-shadow) !important;
}
.crm-card-header, .users-list-card .crm-card-header, .users-audit .crm-card-header, .user-form-card .crm-card-header {
  background:linear-gradient(180deg,#fff,#f8fbff) !important;
  border-bottom:1px solid var(--imperium-border) !important;
  border-radius:22px 22px 0 0 !important;
}
.crm-page-title h1, .page-title h1, .crm-card-header h3, h1, h2, h3 { color:var(--imperium-text); }
.crm-page-title p, .page-title p, .crm-card-header p, small, .muted { color:var(--imperium-muted); }
.crm-grid { gap:18px !important; }
.crm-stat-card {
  position:relative;
  overflow:hidden;
  border-left:0 !important;
  padding:22px !important;
}
.crm-stat-card::before {
  content:'';
  position:absolute; left:0; top:0; right:0; height:4px;
  background:linear-gradient(90deg,#0969ff,#22d3ee);
}
.crm-stat-title { color:#607492 !important; font-weight:850 !important; }
.crm-stat-value { color:var(--imperium-text) !important; font-size:32px !important; letter-spacing:-.04em; }
.crm-primary::before { background:linear-gradient(90deg,#0969ff,#22d3ee); }
.crm-success::before { background:linear-gradient(90deg,#22c55e,#60a5fa); }
.crm-warning::before { background:linear-gradient(90deg,#f59e0b,#0969ff); }
.crm-danger::before { background:linear-gradient(90deg,#ef4444,#f97316); }
.crm-table th, .data-table th, table th { background:#f1f6ff !important; color:#64789a !important; }
.crm-table td, .data-table td, table td { border-color:#edf4fd !important; }
.badge, .crm-badge { border-radius:999px !important; font-weight:900 !important; }
/* Legacy partial layout */
.app { background:linear-gradient(180deg,#f8fbff,#eef4fb) !important; }
.sidebar { background:linear-gradient(180deg,#020617,#071326) !important; border-right:1px solid rgba(255,255,255,.08) !important; }
.sidebar .brand { color:#fff !important; }
.sidebar-foot { border-color:rgba(255,255,255,.10) !important; color:#c6d5ef !important; }
.topbar { background:rgba(255,255,255,.88) !important; backdrop-filter:blur(18px) !important; border-bottom:1px solid rgba(13,46,93,.10) !important; }
.content { background:transparent !important; }
/* Login */
.auth-body { background:#020617 !important; }
.auth-visual {
  background:
    radial-gradient(circle at 20% 20%, rgba(9,105,255,.42), transparent 28%),
    linear-gradient(135deg,#020617 0%,#071326 50%,#003b91 100%) !important;
}
.auth-visual::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, transparent 0 45%, rgba(34,211,238,.10) 45% 55%, transparent 55%), radial-gradient(circle at 80% 20%, rgba(34,211,238,.28), transparent 20%);
  pointer-events:none;
}
.auth-card { background:#fff !important; }
.auth-brand strong { color:inherit; }
.auth-brand.light strong { color:#fff; }
.auth-brand.light small { color:rgba(255,255,255,.68) !important; }
/* Mobile/PWA */
.imperium-app-body {
  background:radial-gradient(circle at top left, rgba(9,105,255,.14), transparent 32%), linear-gradient(180deg,#f8fbff 0%,#edf3fb 100%) !important;
}
.imperium-app-shell, .imperium-control-shell { max-width:760px !important; }
.imperium-app-topbar { border-bottom:1px solid rgba(13,46,93,.10) !important; }
.imperium-brand-mini {
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  font-weight:950 !important; letter-spacing:.08em !important; text-transform:uppercase !important;
  color:#071326 !important;
}
.imperium-brand-mini img { width:30px !important; height:30px !important; object-fit:contain !important; flex:0 0 30px !important; }
.imperium-app-topbar strong { color:#071326 !important; letter-spacing:-.04em !important; }
.imperium-mini-button, .imperium-install-button {
  background:linear-gradient(135deg,#020617,#0b1f44) !important; color:#fff !important; border:0 !important;
  border-radius:18px !important; box-shadow:0 10px 24px rgba(2,6,23,.22) !important;
}
.imperium-app-hero, .imperium-today-hero, .imperium-v44-hero {
  background:radial-gradient(circle at 85% 18%, rgba(34,211,238,.32), transparent 26%), linear-gradient(135deg,#020617 0%,#0b1f44 55%,#0969ff 100%) !important;
  border-radius:28px !important;
  box-shadow:0 24px 60px rgba(9,105,255,.22) !important;
}
.imperium-app-panel, .imperium-control-status, .imperium-app-card, .imperium-list-card, .imperium-v44-card, .imperium-v44-lead-card, .imperium-v44-payment-card, .imperium-v44-probable-card {
  background:rgba(255,255,255,.92) !important; border:1px solid rgba(13,46,93,.12) !important; border-radius:24px !important; box-shadow:0 18px 50px rgba(7,19,38,.09) !important;
}
.imperium-app-bottom-nav, .imperium-control-bottom {
  background:linear-gradient(180deg,rgba(11,31,68,.96),rgba(2,6,23,.98)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
.imperium-app-bottom-nav a.active, .imperium-control-bottom a.active {
  background:linear-gradient(135deg,#003fae,#0ea5ff) !important; color:#fff !important;
}
/* Never allow the brand image to become page content again */
.imperium-control-topbar img, .imperium-app-topbar img, .crm-logo img, .crm-sidebar-brand img, .brand img {
  max-width:34px !important; max-height:34px !important;
}
img[src*="imperium-logo"], img[src*="imperium-mark"] { object-fit:contain; }
@media (max-width:760px) {
  .crm-content { padding:82px 14px 94px !important; }
  .crm-header { left:0 !important; padding:0 14px !important; }
  .crm-header-left .crm-logo-text { display:none; }
  .crm-sidebar { transform:translateX(-105%); }
  .crm-sidebar.open { transform:translateX(0); }
  .imperium-app-shell, .imperium-control-shell { padding-left:14px !important; padding-right:14px !important; }
  .imperium-app-card-grid, .imperium-app-counters, .imperium-sale-kpi-grid, .imperium-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
