:root{
  --bg:#f3f7ff;
  --card:#ffffff;
  --text:#0b1a33;
  --muted:#5b6b84;
  --primary:#1f7ae0;
  --primary2:#20c9c9;
  --border:rgba(15,35,70,.10);
  --shadow:0 14px 40px rgba(16,36,74,.12);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color:var(--text);
  background:
    radial-gradient(800px 500px at 80% 10%, rgba(31,122,224,.14), transparent 60%),
    radial-gradient(900px 600px at 15% 90%, rgba(32,201,201,.12), transparent 60%),
    linear-gradient(180deg, #f7faff, var(--bg));
}

a{color:inherit}
a:hover{color:var(--primary)}
.container-xl{max-width:1140px}

header.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.85);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border);
}
.navbar-brand{
  display:flex; align-items:center; gap:12px; text-decoration:none;
}
.navbar-brand img{
  width:44px; height:44px; border-radius:14px; object-fit:cover;
  box-shadow:0 10px 24px rgba(16,36,74,.12);
}
.brand-name{font-weight:800; font-size:20px; letter-spacing:.2px; line-height:1}
.brand-tag{font-size:12px; color:var(--muted); margin-top:2px}
.nav-link{
  color:var(--muted)!important;
  font-weight:600;
  padding:.6rem .75rem!important;
  border-radius:999px;
}
.nav-link:hover{
  color:var(--text)!important;
  background:rgba(31,122,224,.08);
}
.nav-cta{
  display:flex; gap:10px; align-items:center;
}
.btn-clevo{
  border:0;
  background:linear-gradient(90deg, var(--primary), #2d8cff);
  color:#fff!important;
  padding:.7rem 1.05rem;
  border-radius:14px;
  box-shadow:0 12px 24px rgba(31,122,224,.22);
  font-weight:700;
}
.btn-clevo:hover{opacity:.95}
.btn-clevo-secondary{
  border:1px solid var(--border);
  background:#fff;
  padding:.7rem 1.05rem;
  border-radius:14px;
  color:var(--text)!important;
  font-weight:700;
}
.btn-clevo-secondary:hover{background:#f7fbff}
.btn-clevo-danger{
  border:1px solid rgba(220,53,69,.25);
  background:rgba(220,53,69,.06);
  color:#b31f2f!important;
  padding:.7rem 1.05rem;
  border-radius:14px;
  font-weight:800;
}
.btn-clevo-danger:hover{background:rgba(220,53,69,.09)}

.hero{
  padding:64px 0 34px;
}
.hero h1{
  font-size:54px;
  letter-spacing:-.8px;
  line-height:1.03;
  margin:0;
}
.hero p{
  color:var(--muted);
  font-size:16px;
  line-height:1.6;
  max-width:60ch;
}
.card-clevo{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card-pad{padding:22px}
.kpi{
  border:1px solid var(--border);
  border-radius:16px;
  padding:12px 14px;
  background:#fbfdff;
}
.kpi .label{color:var(--muted); font-size:12px}
.kpi .value{font-weight:800}

.section-title{
  font-weight:900;
  letter-spacing:-.3px;
}
.muted{color:var(--muted)}
.small{font-size:12px}

/* Footer */
.site-footer{
  border-top:1px solid var(--border);
  padding:20px 0;
  color:var(--muted);
  font-size:12px;
  margin-top:26px;
}

/* Auth split */
.auth-wrap{padding:34px 0}
.auth-shell{
  overflow:hidden;
  border-radius:24px;
  box-shadow:var(--shadow);
  border:1px solid var(--border);
  background:#fff;
}
.auth-left{
  padding:28px;
  color:#fff;
  background:
    radial-gradient(900px 500px at 20% 20%, rgba(255,255,255,.18), transparent 55%),
    linear-gradient(135deg, #1565c0, #1f7ae0 55%, #20c9c9);
}
.auth-left h2{font-weight:900;margin:14px 0 10px 0}
.auth-left p{color:rgba(255,255,255,.86); line-height:1.6}
.auth-logo{
  width:62px; height:62px; border-radius:18px; object-fit:cover;
  background:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.auth-right{padding:28px}
.form-label{color:var(--muted); font-weight:700; font-size:13px}
.form-control, .form-select{
  border-radius:14px!important;
  border:1px solid var(--border)!important;
  background:#fbfdff!important;
  padding:.8rem .95rem!important;
}
.form-control::placeholder{color:#9aa8bf}
.form-control:focus, .form-select:focus{
  border-color:rgba(31,122,224,.45)!important;
  box-shadow:0 0 0 .2rem rgba(31,122,224,.14)!important;
}

/* Chat */
.chatBox{
  height:360px; overflow:auto;
  border-radius:16px;
  border:1px solid var(--border);
  padding:14px;
  background:#fbfdff;
}
.msgRow{margin:10px 0; display:flex}
.msgRow.user{justify-content:flex-end}
.bubble{
  max-width:78%;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--border);
  background:#fff;
  box-shadow:0 8px 18px rgba(16,36,74,.06);
  white-space:pre-wrap;
}
.msgRow.user .bubble{
  background:rgba(31,122,224,.08);
  border-color:rgba(31,122,224,.18);
}
pre.report{
  margin:0;
  white-space:pre-wrap;
  background:#fbfdff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
}

@media (max-width: 991px){
  .hero{padding:36px 0 18px}
  .hero h1{font-size:40px}
  .auth-left{padding:22px}
  .auth-right{padding:22px}
}

.sep{border:0;border-top:1px solid var(--border);margin:14px 0;}


/* ===== CLEVO Toast ===== */
.clevo-toast{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(13, 27, 52, .88);
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
}
.clevo-toast .toast-body{
  font-weight: 700;
  letter-spacing: .2px;
}
.clevo-toast .btn-close{
  filter: invert(1);
  opacity: .85;
}

/* Botón + (nuevo chat) */
.btn-icon-plus{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  padding: 0;
}
