:root{
  --green:#6ea63c;
  --text:#222;
  --muted:#666;
  --bg:#ffffff;
  --card:#d9e2df;
  --shadow:0 18px 40px rgba(0,0,0,.12);
  --footer:#000;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:inherit;text-decoration:none}
.container{width:min(1100px,92%);margin:0 auto}
.topbar{background:#fff;border-bottom:1px solid rgba(0,0,0,.06)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{display:flex;align-items:center;gap:10px}
.brand-logo{height:28px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:22px;font-size:14px;color:#333}
.nav a{opacity:.95}
.nav a:hover{opacity:1}
.btn-pill{
  padding:8px 14px;border-radius:999px;background:var(--green);color:#fff;
  font-weight:600;font-size:13px
}
.hero{padding:80px 0 110px 0}
.hero-title{text-align:center;font-size:33px;margin:0 0 14px 0;letter-spacing:.2px}
.hero-subtitle{
  text-align:center;color:var(--muted);
  width:min(840px,92%);margin:0 auto 42px auto;line-height:1.7;font-size:14px
}
.card{
  width:min(760px,92%);
  margin:0 auto;
  background:var(--card);
  border-radius:14px;
  padding:44px 38px;
  box-shadow:var(--shadow);
  text-align:center;
}
.card-title{font-size:20px;margin:0 0 10px 0;font-weight:700}
.card-subtitle{color:#333;opacity:.9;margin:0 0 22px 0;font-size:14px}
.form{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.input{
  width:min(420px,100%);
  padding:12px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.15);
  outline:none;font-size:14px
}
.btn{
  background:#2b2b2b;color:#fff;border:none;border-radius:999px;
  padding:12px 18px;font-weight:700;font-size:13px;cursor:pointer
}
.btn:hover{opacity:.95}
.btn-ghost{
  background:transparent;color:#2b2b2b;border:1px solid rgba(0,0,0,.25)
}
.error{margin-top:14px;color:#b00020;font-size:13px}
.user-meta{display:grid;gap:8px;justify-content:center}
.user-meta .k{font-weight:700}
.user-meta .v{opacity:.95}
.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.social-icon svg{
  width:14px;
  height:14px;
  fill:#fff;
}
.social-icon:hover{
  border-color:#fff;
}



.copy-btn{
  margin-top:14px;
}
.copy-note{
  margin-top:10px;
  font-size:12px;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:rgba(0,0,0,.6);
}



/* ZIP password display */

/* ZIP password display */
.zip-pass-box{
  margin-top:20px;
  text-align:center;
}
.zip-pass-row{display:flex;
  justify-content:center;
  align-items:baseline;
  gap:10px;
  flex-wrap:nowrap;
  margin-top:12px;
  white-space:nowrap;
}
.zip-pass-value{
  font-size:30px;
  font-weight:900;
  line-height:1.05;
  display:inline-block;
  background: linear-gradient(180deg, #ffd200 0%, #ff9f00 50%, #d24700 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.zip-pass-info{
  font-size:20px;
  line-height:1.7;
  max-width:620px;
  margin:0 auto 22px auto;
  font-weight:800;
  background: linear-gradient(180deg, #ffd200 0%, #ff9f00 50%, #d24700 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.zip-pass-label{
  font-size:18px;
  font-weight:900;
  color:#222;
}


.footer{
  background:#000;
  padding:64px 0 34px;
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:80px;
}
.footer-brand{
  min-width:260px;
}
.footer-logo{
  width:150px;
  height:auto;
  display:block;
  margin-bottom:18px;
}
.social{
  display:flex;
  gap:10px;
  align-items:center;
}
.social-icon{
  width:32px;
  height:32px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  display:flex;
  align-items:center;
  justify-content:center;
}
.social-icon svg{
  width:14px;
  height:14px;
  fill:#fff;
}
.footer-cols{
  display:flex;
  gap:120px;
  align-items:flex-start;
}
.col{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:150px;
}
.col-title{
  font-size:16px;
  font-weight:700;
  color:#fff;
  margin-bottom:6px;
}
.col a{
  font-size:13px;
  color:rgba(255,255,255,.78);
  text-decoration:none;
}
.col a:hover{
  color:#fff;
}
.footer-divider{
  margin-top:48px;
}
.footer-line{
  height:1px;
  background:rgba(255,255,255,.22);
}
.footer-links a{
  color:rgba(255,255,255,.55);
  text-decoration:none;
}
.footer-links a:hover{
  color:#fff;
}
.footer-links .sep{
  color:rgba(255,255,255,.35);
}
@media (max-width: 980px){
  .footer-inner{flex-wrap:wrap; gap:42px;}
  .footer-cols{gap:60px; flex-wrap:wrap;}
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding-top:16px;
  flex-wrap:nowrap;
}
.footer-copy{
  font-size:12px;
  color:rgba(255,255,255,.55);
  flex:0 0 auto;
}
.footer-links{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
  white-space:nowrap;
  font-size:12px;
  flex:0 0 auto;
}
@media (max-width: 760px){
  .footer-bottom{flex-wrap:wrap;}
  .footer-links{white-space:normal; flex-wrap:wrap;}
}

/* Dashboard text size adjustments */
.card .meta,
.card .meta span{
  font-size:15px;
}

.card .meta strong{
  font-size:16px;
}

.btn{
  font-size:20px;
  padding:12px 22px;
}

/* Final dashboard typography tweaks */
.user-meta{
  font-size:17px;
}
.user-meta .k{
  font-size:17px;
}
.user-meta .v{
  font-size:17px;
}
.zip-pass-info{
  font-size:18px !important;
  font-weight:800 !important;
  max-width:700px !important;
}
.zip-pass-label{
  font-size:20px !important;
  font-weight:900 !important;
}
.btn{
  font-size:16px;
}
.actions .btn{
  font-size:16px;
  padding:13px 26px;
}
