@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Rajdhani:wght@500;600;700&family=Roboto+Mono:wght@400;500;600&display=swap');
:root{
  --bg:#020617;
  --panel:#07111f;
  --panel2:#0b1220;
  --glass:rgba(8,18,34,.78);
  --border:rgba(125,211,252,.20);
  --text:#e0f2fe;
  --muted:#93c5fd;
  --green:#2dd4bf;
  --blue:#38bdf8;
  --violet:#8b5cf6;
  --danger:#fb7185;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
.fm-auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;isolation:isolate;background:radial-gradient(circle at 15% 12%,rgba(45,212,191,.24),transparent 32%),radial-gradient(circle at 88% 18%,rgba(139,92,246,.24),transparent 30%),linear-gradient(135deg,#020617 0%,#082f49 48%,#020617 100%)}
.grid-glow{position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(125,211,252,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.06) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 84%)}
.grid-glow::before{content:"";position:absolute;inset:8% 10%;border-radius:999px;background:radial-gradient(circle,rgba(56,189,248,.16),transparent 58%);filter:blur(18px)}
.fm-auth-shell{width:min(1080px,100%);display:grid;grid-template-columns:1.08fr .92fr;gap:18px;align-items:stretch}
.fm-brand-panel,.fm-login-panel{border:1px solid var(--border);border-radius:34px;background:linear-gradient(155deg,rgba(8,47,73,.72),rgba(2,6,23,.90));box-shadow:0 34px 100px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(20px);position:relative;overflow:hidden}
.fm-brand-panel{padding:46px;display:flex;flex-direction:column;justify-content:center;min-height:560px}
.fm-brand-panel::after{content:"";position:absolute;right:-110px;bottom:-130px;width:340px;height:340px;border-radius:92px;background:linear-gradient(135deg,rgba(45,212,191,.25),rgba(139,92,246,.18));transform:rotate(-20deg)}
.brand-pill{width:max-content;max-width:100%;padding:10px 14px;border-radius:999px;background:rgba(45,212,191,.12);border:1px solid rgba(45,212,191,.28);color:#ccfbf1;font-size:13px;font-weight:950;letter-spacing:.02em}
.fm-brand-panel h1{font-size:clamp(42px,6vw,70px);line-height:.98;margin:26px 0 16px;font-weight:950;letter-spacing:-.07em;position:relative;z-index:2}
.fm-brand-panel h1 span{background:linear-gradient(90deg,#67e8f9,#a78bfa,#f8fafc);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead,.lead-bn{position:relative;z-index:2;margin:0;color:#bfdbfe;line-height:1.7;font-size:15px;max-width:560px}.lead-bn{color:#99f6e4;margin-top:10px;font-weight:750}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;position:relative;z-index:2}.feature-grid span{padding:13px 14px;border-radius:18px;background:rgba(2,6,23,.48);border:1px solid rgba(125,211,252,.16);font-size:13px;font-weight:900;color:#dbeafe;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.fm-login-panel{padding:36px;display:flex;flex-direction:column;justify-content:center}.fm-login-panel::before{content:"";position:absolute;top:-80px;right:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.22),transparent 68%)}
.login-orb{width:70px;height:70px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),var(--blue),var(--violet));font-weight:950;font-size:22px;color:white;letter-spacing:-.04em;box-shadow:0 20px 52px rgba(56,189,248,.30);margin-bottom:18px}.eyebrow{margin:0 0 8px;color:#67e8f9;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:950}.fm-login-panel h2{font-size:32px;line-height:1;margin:0 0 10px;font-weight:950;letter-spacing:-.05em}.subtext{margin:0;color:#bfdbfe;font-size:14px;line-height:1.6}.subtext.bn{color:#99f6e4;font-weight:800;margin-top:4px;margin-bottom:18px}
.alert{background:rgba(251,113,133,.14);border:1px solid rgba(251,113,133,.42);color:#fecdd3;border-radius:16px;padding:11px 12px;margin:0 0 12px;font-size:13px;font-weight:850;line-height:1.45}.hidden{display:none!important}
label{display:block;margin:14px 0 7px;color:#bae6fd;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}label span{display:block;color:#99f6e4;text-transform:none;letter-spacing:0;font-size:12px;margin-top:2px}.input-wrap{display:flex;align-items:center;gap:10px;width:100%;border:1px solid rgba(125,211,252,.22);border-radius:18px;background:rgba(2,6,23,.52);padding:0 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.input-wrap:focus-within{border-color:rgba(45,212,191,.64);box-shadow:0 0 0 4px rgba(45,212,191,.11),inset 0 1px 0 rgba(255,255,255,.06);transform:translateY(-1px)}.input-wrap input{flex:1;min-width:0;background:transparent;color:#fff;border:0;outline:0;padding:15px 0;font-size:15px}.input-wrap input::placeholder{color:#64748b}.mini-btn{width:auto!important;margin:0!important;padding:7px 10px!important;border-radius:12px!important;background:rgba(125,211,252,.10)!important;color:#dbeafe!important;border:1px solid rgba(125,211,252,.18)!important;box-shadow:none!important;font-size:12px!important;font-weight:900!important;cursor:pointer}.login-btn{width:100%;padding:15px 16px;margin-top:22px;background:linear-gradient(135deg,#14b8a6,#0284c7,#7c3aed);color:white;font-weight:950;font-size:15px;border-radius:19px;border:1px solid rgba(255,255,255,.16);cursor:pointer;box-shadow:0 18px 44px rgba(20,184,166,.26),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.login-btn:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 24px 54px rgba(56,189,248,.34),0 0 30px rgba(139,92,246,.18)}.login-btn[disabled]{opacity:.65;cursor:wait;transform:none!important}.portal-note{margin:16px 0 0;text-align:center;color:#b7ffe9;font-size:13px;font-weight:950;border:1px solid rgba(45,212,191,.24);background:linear-gradient(135deg,rgba(45,212,191,.09),rgba(56,189,248,.07));border-radius:16px;padding:11px 12px;letter-spacing:.02em}
@media(max-width:880px){.fm-auth-shell{grid-template-columns:1fr}.fm-brand-panel{min-height:auto;padding:30px}.fm-login-panel{padding:30px}.fm-brand-panel h1{font-size:44px}.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.fm-auth-page{padding:16px}.fm-brand-panel{display:none}.fm-login-panel{border-radius:26px;padding:24px}.fm-login-panel h2{font-size:28px}.feature-grid{grid-template-columns:1fr}}


/* Phase 44I: software font system */
:root{
  --font-main:'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display:'Rajdhani', 'Inter', system-ui, sans-serif;
  --font-mono:'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
body,input,select,textarea,p,small,label{font-family:var(--font-main) !important;}
h1,h2,h3,h4,.btn,button,.brand-title,.login-title,.section-title{font-family:var(--font-display) !important;font-weight:700 !important;letter-spacing:.5px;}
.amount,.code,.sl-code,.numeric,.worker-id,.bill-no{font-family:var(--font-mono) !important;font-variant-numeric:tabular-nums;}

/* ===== Phase 44L: cyber login buttons ===== */
.login-btn,
#btnFmLogin,
.mini-btn{
  --btn-neon:#22d3ee;
  --btn-neon2:#2563eb;
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  border:1px solid color-mix(in srgb, var(--btn-neon) 70%, #ffffff 10%) !important;
  border-radius:10px !important;
  clip-path:polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.04) 18%, transparent 19%),
    linear-gradient(90deg, rgba(34,211,238,.18), transparent 22%, transparent 78%, rgba(37,99,235,.22)),
    linear-gradient(180deg, #101a2b 0%, #0c182b 48%, #06101d 100%) !important;
  color:#f8fbff !important;
  -webkit-text-fill-color:#f8fbff !important;
  font-family:var(--font-display) !important;
  text-transform:uppercase !important;
  letter-spacing:.75px !important;
  text-shadow:0 1px 2px rgba(0,0,0,.70),0 0 9px rgba(34,211,238,.34) !important;
  box-shadow:0 12px 24px rgba(2,6,23,.38),0 0 24px rgba(34,211,238,.32),inset 0 1px 0 rgba(255,255,255,.20),inset 0 -4px 0 rgba(0,0,0,.36),inset 6px 0 0 rgba(34,211,238,.28),inset -6px 0 0 rgba(37,99,235,.28) !important;
}
.login-btn:hover,
#btnFmLogin:hover,
.mini-btn:hover{
  transform:translateY(-2px) !important;
  filter:brightness(1.08) saturate(1.12) !important;
  box-shadow:0 16px 30px rgba(2,6,23,.44),0 0 34px rgba(34,211,238,.55),0 0 54px rgba(37,99,235,.26),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -4px 0 rgba(0,0,0,.34) !important;
}
.mini-btn{padding:7px 12px !important;font-size:12px !important;border-radius:9px !important;}
