:root{
  --dc-bg:#FDFEFF;
  --dc-soft:#F1F3FA;
  --dc-text:#1E2238;
  --dc-muted:#5B6482;
  --dc-cyan:#00CFE8;
  --dc-indigo:#3F51B5;
  --dc-line:rgba(63,81,181,.10);
  --dc-shadow:0 18px 55px rgba(30,34,56,.12);
  --dc-shadow-soft:0 10px 30px rgba(30,34,56,.08);
  --dc-radius:22px;
  --dc-grad:linear-gradient(135deg,#00CFE8,#3F51B5);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0!important;
  font-family:Inter,Segoe UI,Arial,sans-serif!important;
  color:var(--dc-text)!important;
  background:
    radial-gradient(circle at top right, rgba(0,207,232,.10), transparent 22%),
    linear-gradient(180deg,#FDFEFF 0%,#F8FBFF 55%,#F1F3FA 100%)!important;
  line-height:1.6!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%;height:auto}
a{color:var(--dc-indigo);text-decoration:none}
a:hover{color:#2B3C9C}
p{color:var(--dc-muted)}
h1,h2,h3,h4,h5,h6{
  color:var(--dc-text);
  line-height:1.15;
  letter-spacing:-.02em;
}

/* Generic layout cleanup */
.container,.wrap,.inner,.content,.section-inner,.site-width,.row,main,section{
  position:relative;
}
main,section,.section,.block,.page-section,.home-section{
  padding-top:clamp(12px,1.8vw,24px);
  padding-bottom:clamp(12px,1.8vw,24px);
}

/* Generic cards */
.card,.box,.panel,.widget,.service-card,.product-card,.feature-card,.info-box,.tile,.module,.block-card{
  background:rgba(255,255,255,.90)!important;
  border:1px solid var(--dc-line)!important;
  border-radius:var(--dc-radius)!important;
  box-shadow:var(--dc-shadow-soft)!important;
}

/* Tables */
table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:var(--dc-shadow-soft);
}
table th, table td{
  padding:14px 16px;
  border-bottom:1px solid rgba(63,81,181,.08);
  text-align:left;
}
table th{
  background:#F7F9FF;
  color:var(--dc-indigo);
}

/* Forms */
input,select,textarea,button{
  font:inherit;
}
input,select,textarea{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(63,81,181,.14);
  background:#fff;
  color:var(--dc-text);
  outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(0,207,232,.85);
  box-shadow:0 0 0 4px rgba(0,207,232,.12);
}
textarea{min-height:140px;resize:vertical}

button,.btn,.button,input[type=submit],input[type=button],a.btn{
  min-height:46px;
  border-radius:14px!important;
  padding:10px 18px!important;
  font-weight:800!important;
  border:1px solid transparent!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.btn-primary,.primary-btn,.button-primary,.submit-btn,.cta-btn{
  background:var(--dc-grad)!important;
  color:#fff!important;
  box-shadow:0 15px 35px rgba(63,81,181,.22)!important;
}
.btn-secondary,.secondary-btn,.button-secondary{
  background:#fff!important;
  color:var(--dc-indigo)!important;
  border-color:var(--dc-line)!important;
}

/* Header / nav */
header,.site-header,.top-header,.main-header,.navbar,.nav-wrap{
  border-bottom:1px solid var(--dc-line);
}
nav a,.menu a,.navbar a{
  font-weight:700;
}

/* Shared premium topbar */
.dc-global-topbar{
  position:sticky;
  top:0;
  z-index:999;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--dc-line);
}
.dc-global-topbar-inner{
  width:min(100% - 24px, 1380px);
  min-height:76px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.dc-brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--dc-text);
  font-weight:800;
}
.dc-brand-badge{
  width:56px;
  height:56px;
  border-radius:18px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(0,207,232,.18),rgba(63,81,181,.18));
  box-shadow:var(--dc-shadow-soft);
}
.dc-brand small{
  display:block;
  color:var(--dc-muted);
  font-weight:700;
  line-height:1.15;
}
.dc-top-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.dc-btn{
  min-height:48px;
  padding:0 18px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
}
.dc-btn-primary{
  background:var(--dc-grad)!important;
  color:#fff!important;
  box-shadow:0 15px 35px rgba(63,81,181,.22)!important;
}
.dc-btn-secondary{
  background:#fff!important;
  color:var(--dc-indigo)!important;
  border:1px solid var(--dc-line)!important;
}

/* Shared footer */
.dc-global-footer{
  margin-top:36px;
  padding:34px 0 50px;
  border-top:1px solid var(--dc-line);
  background:rgba(255,255,255,.72);
}
.dc-global-footer-inner{
  width:min(100% - 24px, 1380px);
  margin:auto;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
}
.dc-global-footer p{margin:0 0 10px}
@media(max-width:860px){
  .dc-global-footer-inner{grid-template-columns:1fr}
}

/* Floating actions */
.dc-floating{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.dc-floating a{
  min-height:56px;
  padding:0 18px;
  border-radius:16px;
  color:#fff!important;
  background:var(--dc-grad)!important;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  box-shadow:0 18px 40px rgba(63,81,181,.25);
}

/* Generic hero / banners */
.hero,.page-hero,.banner,.hero-section{
  background:linear-gradient(135deg,rgba(0,207,232,.06),rgba(63,81,181,.06));
  border:1px solid var(--dc-line);
  border-radius:28px;
  box-shadow:var(--dc-shadow-soft);
  padding:28px!important;
}

/* Utility */
.dc-muted{color:var(--dc-muted)!important}
.dc-hide-empty:empty{display:none!important}

@media(max-width:700px){
  .dc-global-topbar-inner{
    flex-direction:column;
    justify-content:center;
    padding:12px 0;
  }
}
