/* Public site styles: dark theme, modern, responsive */
:root{
  --bg: linear-gradient(#000, #00008B, #000);
  --card: linear-gradient(#000, #00008B, #000);
  --text:#ffffff;
  --muted:#94a3b8;
  --brand:#0f6ef0;
  --border:#1e293b;
  --radius:12px;
  --input-bg:#162032;
}
html,body{height:100%;background: linear-gradient(#000, #00008B, #000);    color: white;margin:0;font-family:Inter,ui-sans-serif,system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--brand)}
.brand .brand-logo{width:auto;display:inline-block;max-width:140px;object-fit:contain}
.brand .brand-text{font-weight:700;font-size:16px;color:var(--text)}
.nav{display:flex;align-items:center}
.nav a{margin-left:16px;color:var(--text);text-decoration:none;font-weight:500;transition:opacity 0.2s}
.nav a:hover{opacity:0.8}
.nav a.cta{background:var(--brand);color:#fff;padding:8px 12px;border-radius:8px}
.nav-toggle{display:none;background:transparent;border:0;padding:6px;cursor:pointer}
.public-main{padding:36px 0;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 220px)}
.card{

  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow:0 10px 30px rgba(0,0,0,0.2);
  padding:28px;
  width:100%;
  max-width:540px
}
h1.page-title{margin:0 0 18px;font-size:22px;color:var(--text)}
.form-row{display:flex;gap:12px}
.form-group{margin-bottom:14px}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
input[type=text],input[type=password],input[type=email],input[type=tel],select,textarea{
  width:100%;
  padding:12px 14px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--input-bg);
  color:var(--text);
  font-size:15px;
  box-sizing:border-box;
  transition:border-color 0.2s;
}
input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,select:focus,textarea:focus{
  border-color:var(--brand);
  outline:none;
}
textarea{min-height:120px}
.btn{
  display:inline-block;
  background:var(--brand);
  color:#fff;
  padding:12px 16px;
  border-radius:10px;
  border:none;
  cursor:pointer;
  font-weight:600;
  width:100%;
  transition:opacity 0.2s;
}
.btn:hover{opacity:0.9}
.btn.secondary{background:var(--input-bg);color:var(--text);border:1px solid var(--border)}
.muted{color:var(--muted)}
.error{color:#f87171;background:rgba(248,113,113,0.1);padding:10px;border-radius:8px}
.success{color:#4ade80;background:rgba(74,222,128,0.1);padding:10px;border-radius:8px}
.footnote{text-align:center;margin-top:12px;color:var(--muted)}

/* Responsive tweaks */
@media(max-width:900px){
  .nav{display:none}
  .nav.open{display:flex;flex-direction:column;position:fixed;right:0;left:0;top:60px;background:var(--card);padding:18px;border-radius:0 0 12px 12px;box-shadow:0 10px 30px rgba(11,18,32,0.08);z-index:1200}
  .nav a{margin:10px 0}
  .nav-toggle{display:inline-flex}
  .public-main{padding:18px 0}
  .card{padding:18px;margin:0 12px}
}

/* small screens: ensure header stacks nicely */
@media(max-width:480px){
  .brand .brand-text{display:none}
  .brand .brand-logo{height:22px}
  .header-inner{padding:10px 0}
  .public-main{padding:14px 0}
  .card{padding:14px}
}

/* Make cards and forms fluid on small screens */
@media(max-width:640px){
  .card{max-width:100%;width:calc(100% - 24px)}
  input,select,textarea{font-size:15px}
}

/* Ensure images never overflow */
img{max-width:100%;height:auto}

/* Footer */
.public-footer{

  padding:28px 0
}
.footer-inner{
  display:flex;
  gap:20px;
  justify-content:space-between
}
.footer-inner .col{flex:1}
.footer-inner .social a{
  display:inline-block;
  margin-right:12px;
  color:var(--brand);
  transition:opacity 0.2s
}
.footer-inner .social a:hover{opacity:0.8}
.copyright{
  background:transparent;
  padding:10px 0;
  text-align:center;
  color:var(--muted);
  font-size:13px
}
