/* =========================================================
   DAVBOT GLOBAL UI — FUTURISTIC PREMIUM ENGINE
   Appliqué à toutes les pages DAVBOT.
========================================================= */
:root{
  --dav-c1:#1677ff;
  --dav-c2:#00c6ff;
  --dav-c3:#7c3aed;
  --dav-accent:var(--dav-c1);
  --dav-accent-light:#8edfff;
  --dav-accent-dark:#0b4dcc;
  --dav-accent-rgb:22,119,255;
  --dav-gradient:linear-gradient(135deg,var(--dav-c1),var(--dav-c2) 52%,var(--dav-c3));
  --dav-gradient-soft:linear-gradient(135deg,rgba(var(--dav-accent-rgb),.20),rgba(0,198,255,.10),rgba(124,58,237,.10));
  --dav-icon-gradient:linear-gradient(135deg,var(--dav-c1),var(--dav-c2),var(--dav-c3));
  --dav-bg:#06080d;
  --dav-bg-2:#0a0e16;
  --dav-surface:#0d131e;
  --dav-surface-2:#101827;
  --dav-text:#f8fafc;
  --dav-muted:#8d99aa;
  --dav-border:rgba(255,255,255,.08);
  --dav-glow:rgba(var(--dav-accent-rgb),.24);
  --dav-radius:20px;
  --dav-card-radius:var(--dav-radius);
  --dav-button-radius:14px;
  --dav-pill-radius:999px;
  --dav-shadow:0 18px 50px rgba(0,0,0,.32);
  --dav-transition:.22s ease;
}

html{background:var(--dav-bg);color-scheme:dark}
html.dav-light{color-scheme:light}

body.davbot-page{
  --bg:var(--dav-bg);
  --bg2:var(--dav-bg-2);
  --primary:var(--dav-c1);
  --primary2:var(--dav-c2);
  --gold:#f4c95d;
  --gold2:#ffe39a;
  --success:#20e58a;
  --danger:#ff4d67;
  --text:var(--dav-text);
  --muted:var(--dav-muted);
  background:
    radial-gradient(circle at 12% -8%,rgba(var(--dav-accent-rgb),.16),transparent 31%),
    radial-gradient(circle at 92% 5%,rgba(0,198,255,.09),transparent 27%),
    radial-gradient(circle at 50% 110%,rgba(124,58,237,.08),transparent 34%),
    var(--dav-bg);
  color:var(--dav-text);
  transition:background var(--dav-transition),color var(--dav-transition);
}

body.davbot-page.davbot-light{
  --dav-bg:#f4f7fb;
  --dav-bg-2:#edf2f8;
  --dav-surface:#ffffff;
  --dav-surface-2:#f8fafc;
  --dav-text:#0f172a;
  --dav-muted:#64748b;
  --dav-border:#dbe3ef;
  background:
    radial-gradient(circle at 10% 0%,rgba(var(--dav-accent-rgb),.12),transparent 30%),
    linear-gradient(145deg,#f8fbff,#eef3f9);
}

body.davbot-page *{scrollbar-color:rgba(var(--dav-accent-rgb),.55) transparent}
body.davbot-page ::-webkit-scrollbar{width:7px;height:7px}
body.davbot-page ::-webkit-scrollbar-track{background:transparent}
body.davbot-page ::-webkit-scrollbar-thumb{background:var(--dav-gradient);border-radius:99px}

/* Global icons use the selected 3-color palette. */
body.davbot-page i[class*="fa-"]{
  background:var(--dav-icon-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent !important;
  transition:filter var(--dav-transition),transform var(--dav-transition);
  filter:drop-shadow(0 0 5px rgba(var(--dav-accent-rgb),.16));
}
body.davbot-page .vip i[class*="fa-"],
body.davbot-page .vip-link i[class*="fa-"],
body.davbot-page .fa-crown{
  background:linear-gradient(135deg,#f4c95d,#ffe39a,#ff9f43);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent !important;
}
body.davbot-page .fa-circle-check,
body.davbot-page .fa-check,
body.davbot-page .fa-shield-halved{
  background:linear-gradient(135deg,#20e58a,#00c6ff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent !important;
}

/* Common premium surfaces. */
body.davbot-page .card,
body.davbot-page .settings-card,
body.davbot-page .service-card,
body.davbot-page .settings,
body.davbot-page .plan,
body.davbot-page .product,
body.davbot-page .info,
body.davbot-page .profile-mini,
body.davbot-page .wallet-card,
body.davbot-page .summary-card,
body.davbot-page .team-card,
body.davbot-page .explorer-item,
body.davbot-page .setting,
body.davbot-page .dav-global-card{
  border-radius:var(--dav-card-radius);
  border-color:var(--dav-border);
}

body.davbot-page .card:hover,
body.davbot-page .service-card:hover,
body.davbot-page .settings-card:hover,
body.davbot-page .dav-global-card:hover{
  border-color:rgba(var(--dav-accent-rgb),.28);
  box-shadow:0 18px 48px rgba(var(--dav-accent-rgb),.10);
}

body.davbot-page button,
body.davbot-page .btn,
body.davbot-page .main-btn,
body.davbot-page .primary-btn,
body.davbot-page .btn-primary,
body.davbot-page .action-btn,
body.davbot-page .hero-btn{
  border-radius:var(--dav-button-radius);
}

body.davbot-page .main-btn,
body.davbot-page .primary-btn,
body.davbot-page .btn-primary,
body.davbot-page .hero-btn,
body.davbot-page .primary-action,
body.davbot-page .btn:not(.secondary):not(.danger):not(.cancel){
  background:var(--dav-gradient) !important;
  border-color:transparent !important;
  box-shadow:0 12px 32px var(--dav-glow) !important;
}

body.davbot-page input:focus,
body.davbot-page textarea:focus,
body.davbot-page select:focus{
  outline:none;
  border-color:var(--dav-c2) !important;
  box-shadow:0 0 0 3px rgba(var(--dav-accent-rgb),.14),0 0 24px rgba(0,198,255,.08) !important;
}

body.davbot-page .section-title,
body.davbot-page .accent,
body.davbot-page .primary-color,
body.davbot-page .setting-arrow{
  color:var(--dav-c2) !important;
}

body.davbot-page .topbar,
body.davbot-page .top-taskbar,
body.davbot-page .navbar,
body.davbot-page nav,
body.davbot-page .dav-bottom-nav{
  border-color:rgba(var(--dav-accent-rgb),.16) !important;
}

body.davbot-page .navbar a.active,
body.davbot-page .dav-bottom-nav a.active,
body.davbot-page .top-nav a.active{
  color:var(--dav-c2) !important;
}

/* 8+ interface shapes */
body.dav-shape-rounded{--dav-radius:26px;--dav-button-radius:15px}
body.dav-shape-soft{--dav-radius:18px;--dav-button-radius:11px}
body.dav-shape-square{--dav-radius:7px;--dav-button-radius:7px}
body.dav-shape-pill{--dav-radius:999px;--dav-button-radius:999px;--dav-card-radius:22px}
body.dav-shape-cyber{--dav-radius:10px;--dav-button-radius:8px;--dav-card-radius:10px}
body.dav-shape-orb{--dav-radius:36px;--dav-button-radius:20px;--dav-card-radius:32px}
body.dav-shape-crystal{--dav-radius:17px;--dav-button-radius:12px;--dav-card-radius:17px}
body.dav-shape-tech{--dav-radius:13px;--dav-button-radius:9px;--dav-card-radius:13px}

body.dav-shape-cyber .card,
body.dav-shape-cyber .settings-card,
body.dav-shape-cyber .dav-global-card{
  clip-path:polygon(0 8px,8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px));
}

body.dav-shape-crystal .card,
body.dav-shape-crystal .settings-card,
body.dav-shape-crystal .dav-global-card{
  transform:skewX(-.15deg);
}

/* VIP premium layer */
body.dav-vip-active{
  --dav-vip-c1:#f4c95d;
  --dav-vip-c2:#ffe39a;
  --dav-vip-c3:var(--dav-c2);
}

body.dav-vip-active::before{
  content:"";
  position:fixed;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 80% 10%,rgba(244,201,93,.09),transparent 25%),
    radial-gradient(circle at 15% 80%,rgba(var(--dav-accent-rgb),.07),transparent 27%);
}

body.dav-vip-active .card,
body.dav-vip-active .settings-card,
body.dav-vip-active .service-card,
body.dav-vip-active .dav-global-card{
  box-shadow:0 16px 45px rgba(0,0,0,.26),0 0 28px rgba(244,201,93,.06);
}

body.dav-vip-active .vip-mini,
body.dav-vip-active .vip-badge,
body.dav-vip-active .user-vip{
  border-color:rgba(244,201,93,.28) !important;
  box-shadow:0 0 25px rgba(244,201,93,.08);
}

body.dav-no-motion *,
body.dav-no-motion *::before,
body.dav-no-motion *::after{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}

.dav-global-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 9px;
  border-radius:999px;
  background:var(--dav-gradient-soft);
  border:1px solid rgba(var(--dav-accent-rgb),.20);
  color:var(--dav-c2);
  font-size:10px;
  font-weight:850;
}

.dav-global-card{
  background:linear-gradient(145deg,rgba(15,21,31,.92),rgba(8,13,21,.92));
  border:1px solid var(--dav-border);
  box-shadow:var(--dav-shadow);
}

body.davbot-light .dav-global-card,
body.davbot-light .card,
body.davbot-light .settings-card,
body.davbot-light .profile-mini{
  background:rgba(255,255,255,.88) !important;
  color:var(--dav-text);
}

@media(max-width:700px){
  body.davbot-page{font-size:13px}
  body.davbot-page .top-taskbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
}
