*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#09090f;
  --bg2:#0d0d15;
  --surface:#111119;
  --surface2:#16161f;
  --border:#1a1a27;
  --border-h:#252538;
  --text:#d4d4e0;
  --text2:#7a7a92;
  --text3:#4e4e66;
  --white:#f0f0f5;
  --accent:#7c5cfc;
  --accent-h:#6a4ce0;
  --accent-soft:rgba(124,92,252,.08);
  --green:#34d399;
  --red:#f87171;
  --yellow:#fbbf24;
  --r:10px;
}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{opacity:.85}
.wrap{max-width:1020px;margin:0 auto;padding:0 20px}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(9,9,15,.85);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.nav-container{max-width:1020px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:800;font-size:1.05rem;color:var(--text2)!important;text-decoration:none!important;letter-spacing:-.01em}
.logo span{color:var(--white)}
.logo-sm{font-size:.9rem}
.nav-center{display:flex;gap:24px}
.nav-center a{color:var(--text3);font-size:.82rem;font-weight:500;text-decoration:none;transition:color .15s}
.nav-center a:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:8px}
.nav-username{color:var(--text2);font-size:.82rem;margin-right:4px}

/* BUTTONS */
.btn-primary{background:var(--accent);color:#fff;border:none;font-family:inherit;font-size:.82rem;font-weight:600;padding:8px 18px;border-radius:8px;cursor:pointer;transition:background .15s}
.btn-primary:hover{background:var(--accent-h)}
.btn-primary:disabled{opacity:.4;cursor:wait}
.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border);font-family:inherit;font-size:.82rem;font-weight:600;padding:8px 18px;border-radius:8px;cursor:pointer;text-decoration:none!important;transition:border-color .15s}
.btn-secondary:hover{border-color:var(--border-h);opacity:1}
.btn-ghost{background:none;border:none;color:var(--text2);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;padding:6px 10px;transition:color .15s}
.btn-ghost:hover{color:var(--text)}
.btn-lg{padding:10px 24px;font-size:.88rem}
.btn-full{width:100%;text-align:center}

/* HERO */
.hero{padding:140px 0 80px;text-align:center}
.hero-badge{display:inline-block;background:var(--accent-soft);border:1px solid rgba(124,92,252,.15);color:var(--accent);font-size:.75rem;font-weight:600;padding:5px 14px;border-radius:99px;margin-bottom:20px}
.hero h1{font-size:2.9rem;font-weight:800;line-height:1.15;letter-spacing:-.04em;color:var(--white);margin-bottom:16px}
.hero-gradient{background:linear-gradient(135deg,var(--accent),#a78bfa,var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{color:var(--text2);font-size:1rem;line-height:1.65;margin-bottom:30px}
.hero-actions{display:flex;gap:10px;justify-content:center;margin-bottom:50px}
.hero-numbers{display:flex;justify-content:center;gap:0;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;max-width:420px;margin:0 auto}
.hero-num{flex:1;padding:16px 0;text-align:center}
.hero-num strong{display:block;font-size:1.1rem;font-weight:800;color:var(--white)}
.hero-num span{font-size:.72rem;color:var(--text3);font-weight:500}
.hero-sep{width:1px;background:var(--border)}

/* WHY FREE */
.why-intro{color:var(--text2);font-size:.92rem;margin-top:-20px;margin-bottom:28px;line-height:1.6}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.why-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;transition:border-color .2s}
.why-card:hover{border-color:var(--border-h)}
.why-main{grid-column:1/-1;padding:32px;background:linear-gradient(135deg,rgba(124,92,252,.04),rgba(167,139,250,.02));border-color:rgba(124,92,252,.15)}
.why-main:hover{border-color:rgba(124,92,252,.3)}
.why-icon{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:var(--accent)}
.why-main .why-icon{width:52px;height:52px;border-radius:12px;margin-bottom:18px}
.why-card h3{font-size:1.05rem;font-weight:800;color:var(--white);margin-bottom:10px;line-height:1.35}
.why-card h4{font-size:.9rem;font-weight:700;color:var(--white);margin-bottom:6px}
.why-card p{font-size:.82rem;color:var(--text2);line-height:1.6}

/* SECTIONS */
.section{padding:70px 0}
.section-alt{background:var(--bg2)}
.section-h{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:32px;color:var(--white)}

/* OFFERS */
.offers{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.offer{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;transition:border-color .2s}
.offer:hover{border-color:var(--border-h)}
.offer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}
.offer-name h3{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:2px}
.offer-sub{font-size:.72rem;color:var(--text3)}
.offer-pricing{margin-bottom:18px}
.offer-price{font-size:1.6rem;font-weight:800;color:var(--white);letter-spacing:-.02em}
.offer-price span{font-size:.8rem;font-weight:500;color:var(--text3)}
.offer-old-price{font-size:.78rem;color:var(--text3);text-decoration:line-through;margin-top:2px}
.offer-resources{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.res{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;gap:8px}
.res-label{font-size:.72rem;color:var(--text3);font-weight:500}
.res-bar{height:4px;background:var(--bg);border-radius:99px;overflow:hidden}
.res-fill{height:100%;background:var(--accent);border-radius:99px}
.res-val{font-size:.72rem;font-weight:600;text-align:right;color:var(--text2)}
.offer-list{list-style:none;margin-bottom:20px}
.offer-list li{font-size:.8rem;color:var(--text2);padding:4px 0;padding-left:14px;position:relative}
.offer-list li::before{content:'';position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.offers-note{text-align:center;color:var(--text3);font-size:.78rem;margin-top:20px}

/* FEATURES */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:22px;transition:border-color .2s}
.feat:hover{border-color:var(--border-h)}
.feat h4{font-size:.88rem;font-weight:700;color:var(--white);margin-bottom:6px}
.feat p{font-size:.78rem;color:var(--text2);line-height:1.55}

/* FAQ */
.faq-list{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:4px}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;overflow:hidden;transition:border-color .15s}
.faq-item:hover{border-color:var(--border-h)}
.faq-q{padding:14px 18px;font-size:.85rem;font-weight:600;color:var(--white);display:flex;justify-content:space-between;align-items:center}
.faq-ico{width:16px;height:16px;position:relative;flex-shrink:0}
.faq-ico::before,.faq-ico::after{content:'';position:absolute;background:var(--text3);border-radius:1px;transition:transform .2s}
.faq-ico::before{width:10px;height:1.5px;top:7px;left:3px}
.faq-ico::after{width:1.5px;height:10px;top:3px;left:7px}
.faq-item.open .faq-ico::after{transform:rotate(90deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s,padding .25s;padding:0 18px;font-size:.8rem;color:var(--text2);line-height:1.6}
.faq-item.open .faq-a{max-height:120px;padding:0 18px 14px}

/* FOOTER */
footer{border-top:1px solid var(--border);padding:48px 0 0;background:var(--bg2)}
.ft-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:36px}
.ft-brand{max-width:260px}
.ft-tagline{font-size:.8rem;color:var(--text3);line-height:1.6;margin-top:10px}
.ft-cols{display:flex;gap:48px}
.ft-col{display:flex;flex-direction:column;gap:8px}
.ft-col h5{font-size:.72rem;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.ft-col a{font-size:.8rem;color:var(--text2);text-decoration:none;transition:color .15s}
.ft-col a:hover{color:var(--text)}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid var(--border);font-size:.72rem;color:var(--text3)}
.ft-heart{display:flex;align-items:center;gap:4px}
.ft-heart svg{vertical-align:middle}

/* OVERLAY / MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;opacity:0;pointer-events:none;transition:opacity .15s}
.overlay.show{opacity:1;pointer-events:auto}
.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.97);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;width:90%;max-width:380px;z-index:201;opacity:0;pointer-events:none;transition:all .2s}
.modal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.modal-deploy{max-width:420px}
.modal-close{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--text3);font-size:1.3rem;cursor:pointer;line-height:1}
.modal h2{font-size:1.15rem;font-weight:800;color:var(--white);margin-bottom:16px}
.modal label{display:block;font-size:.75rem;font-weight:600;color:var(--text3);margin-bottom:4px;margin-top:12px}
.modal input{width:100%;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:inherit;font-size:.84rem;transition:border-color .15s}
.modal input:focus{outline:none;border-color:var(--accent)}
.modal input::placeholder{color:var(--text3)}
.modal select{width:100%;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:inherit;font-size:.84rem;transition:border-color .15s;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234e4e66' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.modal select:focus{outline:none;border-color:var(--accent)}
.modal form .btn-primary{margin-top:16px}
.modal-alt{text-align:center;margin-top:12px;font-size:.78rem;color:var(--text3)}
.form-err{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.15);color:var(--red);padding:8px 10px;border-radius:7px;font-size:.78rem;margin-bottom:4px}

/* ORDER MODAL */
.modal-order{max-width:460px}
.order-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.order-header h2{margin-bottom:0}
.order-type{font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:5px}
.order-recap{background:var(--bg);border-radius:8px;padding:2px 0;margin-bottom:16px}
.order-recap-row{display:flex;justify-content:space-between;padding:8px 14px;font-size:.8rem}
.order-recap-row span{color:var(--text3)}
.order-recap-row strong{color:var(--text);font-weight:600;font-size:.8rem}
.order-recap-total{border-top:1px solid var(--border);margin-top:2px;padding-top:10px}
.order-recap-total strong{color:var(--green);font-size:.88rem}
.field-hint{font-size:.7rem;color:var(--text3);margin-top:4px;line-height:1.4}
.field-hint a{color:var(--accent);font-weight:500}
.order-tos{display:flex;align-items:flex-start;gap:8px;margin-top:14px;margin-bottom:4px}
.order-tos input[type="checkbox"]{margin-top:2px;accent-color:var(--accent);width:15px;height:15px;flex-shrink:0}
.order-tos label{font-size:.75rem;color:var(--text2);cursor:pointer;line-height:1.4}

/* DEPLOY STATES */
.d-center{text-align:center;padding:24px 0}
.d-center h3{font-size:1.05rem;font-weight:700;color:var(--white);margin:12px 0 4px}
.d-center p{color:var(--text2);font-size:.84rem;margin-bottom:14px}
.d-steps{text-align:left;margin:12px 0 18px;display:flex;flex-direction:column;gap:6px}
.d-step{font-size:.82rem;color:var(--text2);padding:8px 10px;background:var(--bg);border-radius:7px}
.d-step b{color:var(--text);font-weight:600}
.spinner{width:32px;height:32px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:sp .7s linear infinite;margin:0 auto 12px}
@keyframes sp{to{transform:rotate(360deg)}}

/* ============================================
   DASHBOARD — sidebar only, no topbar
   ============================================ */
#dashboard{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:var(--bg)}
#dashboard .dash-wrap{display:flex;width:100%;height:100%}

/* Sidebar */
#dashboard .sidebar{width:230px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;height:100%}
#dashboard .sid-logo{padding:18px 20px;border-bottom:1px solid var(--border);font-weight:800;font-size:.95rem;color:var(--text2)}
#dashboard .sid-logo span{color:var(--white)}
#dashboard .sid-nav{flex:1;padding:10px;display:flex;flex-direction:column;gap:2px}
#dashboard .sid-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;border-radius:8px;color:var(--text2);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;text-align:left}
#dashboard .sid-btn:hover{background:var(--surface2);color:var(--text)}
#dashboard .sid-btn.active{background:var(--accent-soft);color:var(--accent)}
#dashboard .sid-btn svg{flex-shrink:0;opacity:.7}
#dashboard .sid-btn.active svg{opacity:1}
#dashboard .sid-foot{padding:10px;border-top:1px solid var(--border)}
#dashboard .sid-user{padding:8px 14px;margin-bottom:6px;display:flex;align-items:center;gap:10px}
#dashboard .sid-avatar{width:30px;height:30px;border-radius:8px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--accent);flex-shrink:0}
#dashboard .sid-uname{font-size:.8rem;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Main content */
#dashboard .dash-main{flex:1;overflow-y:auto;padding:28px 32px}

/* Cards */
.dc{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px}
.dc-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.dc-head h3{font-size:.9rem;font-weight:700;color:var(--white)}
.dc-sub{padding:10px 20px 0;font-size:.78rem;color:var(--text3)}
.dc-body{padding:16px 20px}
.dc-badge{padding:3px 8px;border-radius:5px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.dc-badge-on{background:rgba(52,211,153,.08);color:var(--green)}
.dc-badge-inst{background:rgba(251,191,36,.08);color:var(--yellow)}
.dc-badge-off{background:rgba(255,255,255,.04);color:var(--text3)}
.dc-stats{display:flex;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.dc-stat{flex:1;padding:14px 0;text-align:center}
.dc-stat:not(:last-child){border-right:1px solid var(--border)}
.dc-stat small{display:block;font-size:.68rem;color:var(--text3);margin-bottom:1px}
.dc-stat strong{font-size:.95rem;font-weight:700}
.dc-actions{padding:20px}

/* Activity log */
.log-list{list-style:none}
.log-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
.log-item:last-child{border-bottom:none}
.log-ico{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.75rem}
.log-ico-login{background:rgba(124,92,252,.08);color:var(--accent)}
.log-ico-deploy{background:rgba(52,211,153,.08);color:var(--green)}
.log-ico-sec{background:rgba(251,191,36,.08);color:var(--yellow)}
.log-ico-other{background:rgba(255,255,255,.04);color:var(--text3)}
.log-info{flex:1;min-width:0}
.log-action{font-size:.82rem;font-weight:600;color:var(--white)}
.log-detail{font-size:.75rem;color:var(--text3);margin-top:1px}
.log-time{font-size:.7rem;color:var(--text3);white-space:nowrap;margin-top:2px}

/* Sessions */
.sess-table{width:100%}
.sess-table th{text-align:left;font-size:.7rem;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;padding:8px 0}
.sess-table td{padding:10px 0;font-size:.8rem;color:var(--text);border-top:1px solid var(--border);vertical-align:middle}
.sess-device{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--text2)}
.sess-revoke{background:none;border:1px solid var(--border);color:var(--red);font-family:inherit;font-size:.72rem;padding:4px 10px;border-radius:6px;cursor:pointer;transition:all .15s}
.sess-revoke:hover{background:rgba(248,113,113,.08);border-color:var(--red)}

/* Security form */
.sec-form{max-width:380px}
.sec-form label{display:block;font-size:.75rem;font-weight:600;color:var(--text3);margin-bottom:4px;margin-top:14px}
.sec-form label:first-child{margin-top:0}
.sec-form input{width:100%;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:7px;color:var(--text);font-family:inherit;font-size:.84rem}
.sec-form input:focus{outline:none;border-color:var(--accent)}
.sec-form .btn-primary{margin-top:18px}

/* Account */
.acc-grid{display:grid;grid-template-columns:120px 1fr;gap:8px 16px;font-size:.84rem}
.acc-label{color:var(--text3);font-weight:500}
.acc-val{color:var(--white);font-weight:600}

.dash-empty{text-align:center;padding:50px 20px}
.dash-empty h3{font-size:1.1rem;color:var(--white);margin-bottom:6px}
.dash-empty p{color:var(--text2);font-size:.84rem;margin-bottom:18px}

/* Mobile */
@media(max-width:768px){
  #dashboard .sidebar{width:56px;overflow:hidden}
  #dashboard .sid-logo{padding:16px 14px;font-size:0}
  #dashboard .sid-logo span{font-size:.95rem}
  #dashboard .sid-btn{font-size:0;padding:10px 14px;justify-content:center}
  #dashboard .sid-btn svg{margin:0}
  #dashboard .dash-main{padding:16px}
  .sess-device{max-width:100px}
}

@media(max-width:768px){
  .hero h1{font-size:2rem}
  .hero-actions{flex-direction:column;align-items:center}
  .offers{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .why-main{grid-column:auto}
  .nav-center{display:none}
  .hero-numbers{max-width:100%}
  .ft-top{flex-direction:column;gap:28px}
  .ft-cols{flex-wrap:wrap;gap:28px}
  .ft-bottom{flex-direction:column;gap:8px;text-align:center}
}
