:root{
  --bg-1: #f6fbff;
  --card: #ffffff;
  --primary: #0066ff;
  --muted: #6b7280;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(2,6,23,0.08);
  font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color-scheme: light;
  color: #0f1724;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:radial-gradient(1200px 400px at 10% 10%, rgba(14,165,255,0.06), transparent), var(--bg-1);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-size:16px;
  line-height:1.4;
}

/* Layout */
.container{width:92%;max-width:1150px;margin:0 auto}
.topbar{padding:18px 0;background:transparent}
.topbar-inner{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;font-weight:700}
.logo{border-radius:6px}
.nav{display:flex;gap:14px;align-items:center}
.nav-link{color:var(--primary);text-decoration:none;font-weight:600}
.muted{color:var(--muted)}

.btn{
  font-size:0.95rem;padding:10px 14px;border-radius:10px;border:0;cursor:pointer;
}
.btn.primary{background:var(--primary);color:#fff;box-shadow:var(--shadow);border-radius:12px}
.btn.outline{background:transparent;border:1px solid rgba(2,6,23,0.06);padding:9px 12px;border-radius:10px}
.link{color:var(--primary);text-decoration:none}

/* Hero */
.hero{display:flex;gap:40px;align-items:center;padding:48px 0}
.hero-left{flex:1}
.hero-right{width:420px}
h1{font-size:2.1rem;margin:0 0 12px}
.lead{color:var(--muted);margin:0 0 18px}
.highlights{margin:14px 0 18px;padding-left:18px;color:var(--muted)}
.cta{display:flex;gap:10px;margin-top:12px}

/* Mockup card */
.mockup{background:linear-gradient(180deg,var(--card),#fbfdff);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.mockup-header{display:flex;gap:8px;margin-bottom:12px}
.dot{width:10px;height:10px;border-radius:99px}
.dot.blue{background:#4faef8}
.dot.green{background:#6ee7b7}
.dot.yellow{background:#ffd48a}
.chat-preview{display:flex;flex-direction:column;gap:8px;padding:6px}
.chat-row{max-width:78%;padding:10px;border-radius:12px}
.chat-row.from{align-self:flex-start;background:#f1f7ff}
.chat-row.to{align-self:flex-end;background:#0066ff;color:#fff}

/* Features */
.features{padding:20px 0 60px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:12px}
.feature{background:linear-gradient(180deg,#fff,#fbfdff);padding:16px;border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,0.04)}

/* Footer */
.site-footer{padding:22px 0;border-top:1px solid rgba(2,6,23,0.04)}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}

/* Auth panel (slide-over) */
/* Panel hidden by default: overlay transparent and panel pushed outside (translateX) */
.auth-panel{
  position:fixed;
  inset:0;
  display:flex;
  justify-content:flex-end;
  pointer-events:none;
  z-index:1200;
  transition:background-color .18s ease;
  background-color: transparent;
}

/* When visible: overlay appears and pointer-events enabled */
.auth-panel[aria-hidden="false"]{
  pointer-events:auto;
  background-color: rgba(2,6,23,0.35);
}

/* Panel base: pushed outside to the right */
.panel{
  width:420px;
  background:var(--card);
  height:100%;
  padding:22px;
  box-shadow:-20px 0 40px rgba(2,6,23,0.08);
  position:relative;
  overflow:auto;

  transform: translateX(100%);
  transition: transform 260ms cubic-bezier(.2,.9,.3,1), box-shadow 260ms;
}

/* Panel visible: slide into view */
.auth-panel[aria-hidden="false"] .panel{
  transform: translateX(0);
  box-shadow:-30px 0 50px rgba(2,6,23,0.12);
}

.panel-close{position:absolute;right:14px;top:12px;background:transparent;border:0;font-size:26px;cursor:pointer}
.panel-header h2{margin:6px 0 2px}
.panel-header p{margin:0 0 10px;color:var(--muted)}

.tabs{display:flex;gap:8px;margin:10px 0}
.tab{flex:1;padding:8px;border-radius:10px;border:1px solid rgba(2,6,23,0.04);background:transparent;cursor:pointer}
.tab.active{background:linear-gradient(90deg, rgba(14,165,255,0.08), rgba(0,102,255,0.04));border-color:var(--primary);color:var(--primary);font-weight:600}

.auth-form{margin-top:8px}
label{display:block;margin-top:10px;font-weight:600;color:#223241}
input[type="email"],input[type="password"],input[type="tel"],input[name="otp"]{
  width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(2,6,23,0.06);margin-top:6px;font-size:1rem;background:#fbfdff
}
.pw-row{display:flex;gap:8px;align-items:center}
.icon-btn{background:transparent;border:0;cursor:pointer;font-size:1.05rem}
.form-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
.form-error{color:#b91c1c;margin-top:12px;min-height:22px}
.otp-meta{display:flex;gap:10px;align-items:center;margin-top:8px}

/* Hidden utility */
.hidden{display:none}

/* Responsive */
@media (max-width:900px){
  .hero{flex-direction:column;align-items:flex-start}
  .hero-right{width:100%}
  .panel{width:100%;max-width:420px}
}