:root { --mag-ink:#17202d; --mag-muted:#667085; --mag-surface:#f6f7fb; }
* { box-sizing:border-box; }
.public-body { min-height:100vh; margin:0; color:var(--mag-ink); background:var(--mag-surface); font-family:"Public Sans",system-ui,-apple-system,sans-serif; }
.public-header { position:relative; z-index:10; border-bottom:1px solid rgba(23,32,45,.07); background:rgba(255,255,255,.88); backdrop-filter:blur(16px); }
.public-nav { display:flex; align-items:center; justify-content:space-between; min-height:76px; }
.public-brand { display:flex; align-items:center; gap:11px; color:var(--mag-ink); font-size:18px; text-decoration:none; }
.public-nav nav { display:flex; align-items:center; gap:18px; }
.public-nav nav > a:not(.btn) { color:var(--mag-ink); font-weight:600; text-decoration:none; }
.public-main { overflow:hidden; }
.public-hero { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:72px; min-height:610px; padding-top:64px; padding-bottom:68px; }
.hero-copy h1,.auth-side h1 { margin:0 0 24px; color:var(--mag-ink); font-size:clamp(42px,5vw,72px); line-height:1.02; letter-spacing:-.045em; }
.hero-copy h1 span,.auth-side h1 span { color:var(--ir-brand); }
.hero-copy > p { max-width:630px; margin:0 0 30px; color:var(--mag-muted); font-size:18px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-note { margin-top:20px; color:var(--mag-muted); font-size:13px; }
.hero-note i { margin-right:7px; color:#57b82a; }
.hero-visual { position:relative; min-height:440px; display:flex; align-items:center; justify-content:center; }
.visual-glow { position:absolute; width:430px; height:430px; border-radius:50%; background:radial-gradient(circle,rgba(255,122,47,.18),rgba(255,122,47,0) 67%); }
.visual-card { position:relative; z-index:2; border:1px solid rgba(23,32,45,.08); border-radius:20px; background:rgba(255,255,255,.96); box-shadow:0 28px 80px -28px rgba(23,32,45,.28); }
.visual-card-main { width:min(100%,510px); padding:28px; transform:rotate(1deg); }
.visual-card-head { display:flex; align-items:center; gap:12px; }
.visual-card-head > div { flex:1; }
.visual-card-head strong,.visual-card-head small { display:block; }
.visual-card-head small { color:var(--mag-muted); font-size:11px; }
.visual-metrics { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:30px 0; }
.visual-metrics > div { padding:18px; border-radius:14px; background:#f8f9fb; }
.visual-metrics small,.visual-metrics strong { display:block; }
.visual-metrics small { color:var(--mag-muted); }
.visual-metrics strong { margin-top:8px; font-size:23px; }
.visual-order { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid rgba(87,184,42,.2); border-radius:13px; background:rgba(87,184,42,.06); }
.visual-order .status-dot { width:9px; height:9px; border-radius:50%; background:#57b82a; box-shadow:0 0 0 5px rgba(87,184,42,.12); }
.visual-order > div { flex:1; }
.visual-order strong,.visual-order small { display:block; }
.visual-order small { color:var(--mag-muted); font-size:11px; }
.visual-order > span:last-child { color:#39881a; font-size:11px; font-weight:700; }
.visual-card-float { position:absolute; right:-12px; bottom:18px; display:flex; align-items:center; gap:12px; padding:16px 20px; transform:rotate(-3deg); }
.visual-card-float > i { color:var(--ir-brand); }
.visual-card-float strong,.visual-card-float small { display:block; }
.visual-card-float small { color:var(--mag-muted); font-size:11px; }
.public-features { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-bottom:88px; }
.public-features article { padding:28px; border:1px solid rgba(23,32,45,.08); border-radius:18px; background:#fff; }
.public-features article > i { display:inline-grid; place-items:center; width:44px; height:44px; border-radius:12px; color:var(--ir-brand); background:rgba(255,122,47,.11); }
.public-features h3 { margin:18px 0 7px; font-size:18px; }
.public-features p { margin:0; color:var(--mag-muted); line-height:1.6; }
.public-footer { border-top:1px solid rgba(23,32,45,.08); background:#fff; }
.public-footer > div { display:flex; justify-content:space-between; gap:20px; padding-top:24px; padding-bottom:24px; color:var(--mag-muted); font-size:12px; }
.auth-shell { display:grid; grid-template-columns:1fr minmax(420px,540px); align-items:center; gap:90px; min-height:calc(100vh - 150px); padding-top:50px; padding-bottom:70px; }
.auth-side { padding:30px 0; }
.auth-side h1 { font-size:clamp(40px,4.5vw,64px); }
.auth-side > p { max-width:540px; color:var(--mag-muted); font-size:17px; line-height:1.7; }
.auth-points { display:grid; gap:13px; margin-top:28px; }
.auth-points span { color:#344054; }
.auth-points i { width:24px; color:#57b82a; }
.auth-card { padding:38px; border:1px solid rgba(23,32,45,.08); border-radius:22px; background:#fff; box-shadow:0 30px 90px -40px rgba(23,32,45,.32); }
.auth-card-head { margin-bottom:25px; }
.auth-card-head h2 { margin:14px 0 4px; font-size:28px; letter-spacing:-.025em; }
.auth-card-head p { margin:0; color:var(--mag-muted); }
.auth-icon { display:inline-grid; place-items:center; width:48px; height:48px; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--ir-brand),var(--ir-brand-2)); box-shadow:0 12px 25px -12px rgba(255,77,31,.8); }
.auth-card .form-control { min-height:48px; }
.auth-switch { margin:22px 0 0; text-align:center; color:var(--mag-muted); }
.auth-switch a { color:var(--ir-brand); font-weight:700; }
.approval-flow { display:flex; align-items:center; gap:13px; margin-top:32px; }
.approval-flow > div { display:flex; align-items:center; gap:8px; }
.approval-flow span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; color:var(--ir-brand); background:rgba(255,122,47,.12); font-weight:800; }
.approval-flow i { color:#c4c7ce; }
.public-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.admin-auth-body { min-height:100vh; background:#f4f6fb; }
.admin-auth-page { position:relative; display:grid; place-items:center; min-height:100vh; padding:24px; overflow:hidden; isolation:isolate; }
.admin-auth-page::before { content:""; position:absolute; z-index:-3; inset:0; background:radial-gradient(circle at 18% 12%,rgba(255,122,47,.14),transparent 27%),radial-gradient(circle at 86% 82%,rgba(105,108,255,.12),transparent 30%),linear-gradient(145deg,#fbfcff 0%,#f3f5fa 55%,#eef1f7 100%); }
.admin-auth-page::after { content:""; position:absolute; z-index:-2; inset:0; opacity:.38; background-image:linear-gradient(rgba(23,32,45,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(23,32,45,.04) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(to bottom,transparent,black 24%,black 76%,transparent); animation:admin-grid-shift 18s linear infinite; }
.admin-orb { position:absolute; z-index:-1; border-radius:50%; filter:blur(2px); pointer-events:none; }
.admin-orb-one { width:220px; height:220px; left:-70px; top:15%; background:rgba(255,122,47,.12); animation:admin-float 8s ease-in-out infinite; }
.admin-orb-two { width:280px; height:280px; right:-100px; bottom:6%; background:rgba(105,108,255,.1); animation:admin-float 10s ease-in-out -3s infinite reverse; }
.admin-auth-shell { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.82fr); gap:20px; width:min(1120px,100%); }
.admin-auth-context { position:relative; display:flex; flex-direction:column; min-height:500px; padding:48px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:28px; color:#fff; background:linear-gradient(145deg,#151b2b 0%,#20283c 58%,#2b3148 100%); box-shadow:0 32px 90px -45px rgba(23,32,45,.75); animation:admin-rise .7s cubic-bezier(.2,.8,.2,1) both; }
.admin-auth-context::before { content:""; position:absolute; width:360px; height:360px; right:-145px; top:-160px; border-radius:50%; border:1px solid rgba(255,255,255,.12); box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 86px rgba(255,122,47,.035); }
.admin-auth-context::after { content:""; position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(to top,rgba(255,122,47,.1),transparent); pointer-events:none; }
.admin-auth-context .auth-brand { position:relative; z-index:1; display:flex; align-items:center; gap:11px; width:max-content; margin:0 0 auto; color:#fff; font-size:19px; text-decoration:none; }
.admin-context-copy { position:relative; z-index:1; max-width:520px; margin-top:54px; }
.admin-context-copy .eyebrow { color:#ff9a61; }
.admin-context-copy h1 { margin:14px 0 18px; color:#fff; font-size:clamp(36px,4vw,58px); line-height:1.04; letter-spacing:-.045em; }
.admin-context-copy h1 span { color:#ff8a48; }
.admin-context-copy p { max-width:470px; margin:0; color:rgba(255,255,255,.68); font-size:16px; line-height:1.7; }
.admin-context-tools { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }
.admin-context-tools span { display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border:1px solid rgba(255,255,255,.09); border-radius:999px; color:rgba(255,255,255,.82); background:rgba(255,255,255,.045); font-size:12px; }
.admin-context-tools i { color:#ff8a48; }
.admin-live { position:relative; z-index:1; display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:32px; color:rgba(255,255,255,.68); font-size:12px; }
.admin-live-dot { width:8px; height:8px; border-radius:50%; background:#71dd37; box-shadow:0 0 0 0 rgba(113,221,55,.45); animation:admin-pulse 2s ease-out infinite; }
.admin-login-card { align-self:stretch; display:flex; flex-direction:column; justify-content:center; width:100%; min-height:500px; padding:46px; animation:admin-rise .7s .1s cubic-bezier(.2,.8,.2,1) both; }
.admin-login-card .auth-card-head { text-align:left; }
.admin-login-card .auth-card-head p { max-width:390px; }
.admin-login-card .auth-form { display:grid; gap:18px; }
.admin-login-card .auth-form label { display:grid; gap:8px; margin:0; color:#344054; font-size:14px; font-weight:600; }
.admin-login-card .auth-form .form-control { width:100%; min-height:52px; border-radius:12px; }
.admin-login-card .auth-form .form-control:focus { border-color:var(--ir-brand); box-shadow:0 0 0 4px rgba(255,122,47,.13); }
.admin-login-button { position:relative; min-height:54px; overflow:hidden; border:0!important; border-radius:12px!important; background:linear-gradient(100deg,#ff7a2f,#ff572b)!important; box-shadow:0 14px 30px -14px rgba(255,87,43,.75)!important; transition:transform .2s ease,box-shadow .2s ease!important; }
.admin-login-button::before { content:""; position:absolute; inset:0; transform:translateX(-110%); background:linear-gradient(100deg,transparent,rgba(255,255,255,.24),transparent); transition:transform .6s ease; }
.admin-login-button:hover { transform:translateY(-2px); box-shadow:0 18px 34px -14px rgba(255,87,43,.9)!important; }
.admin-login-button:hover::before { transform:translateX(110%); }
.admin-login-button i { transition:transform .2s ease; }
.admin-login-button:hover i { transform:translateX(4px); }
.admin-login-note { display:flex; align-items:center; gap:8px; margin:20px 0 0; color:var(--mag-muted); font-size:12px; }
.admin-login-note i { color:#57b82a; }

@keyframes admin-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes admin-float { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(16px,-22px,0); } }
@keyframes admin-pulse { 0% { box-shadow:0 0 0 0 rgba(113,221,55,.45); } 70%,100% { box-shadow:0 0 0 9px rgba(113,221,55,0); } }
@keyframes admin-grid-shift { to { background-position:42px 42px; } }

@media (max-width:900px) {
  .admin-auth-shell { grid-template-columns:1fr; max-width:520px; }
  .admin-auth-context { min-height:auto; padding:28px; }
  .admin-context-copy { margin-top:38px; }
  .admin-context-copy h1 { font-size:36px; }
  .admin-context-tools,.admin-live { display:none; }
  .admin-login-card { min-height:auto; }
}

@media (prefers-reduced-motion:reduce) {
  .admin-auth-page::after,.admin-orb,.admin-auth-context,.admin-login-card,.admin-live-dot { animation:none!important; }
}

@media (max-width:991.98px) {
  .public-hero,.auth-shell { grid-template-columns:1fr; gap:35px; }
  .public-hero { padding-top:55px; }
  .hero-visual { min-height:390px; }
  .auth-shell { padding-top:45px; }
  .auth-side { text-align:center; }
  .auth-side > p { margin-left:auto; margin-right:auto; }
  .auth-points { display:flex; flex-wrap:wrap; justify-content:center; }
  .approval-flow { justify-content:center; }
}
@media (max-width:767.98px) {
  .public-features { grid-template-columns:1fr; }
  .public-nav nav > a:not(.btn) { display:none; }
  .hero-copy h1 { font-size:44px; }
  .visual-card-main { padding:20px; }
  .visual-card-float { right:0; }
  .auth-card { padding:26px 20px; }
  .auth-shell { display:block; }
  .auth-side { padding-bottom:15px; }
  .auth-side h1 { font-size:39px; }
  .approval-flow { flex-wrap:wrap; font-size:12px; }
  .admin-auth-page { padding:14px; }
  .admin-auth-context { padding:24px; border-radius:22px; }
  .admin-context-copy { margin-top:30px; }
  .admin-context-copy h1 { margin-bottom:12px; font-size:31px; }
  .admin-context-copy p { font-size:14px; }
  .admin-login-card { padding:28px 22px; border-radius:22px; }
}
