
  :root{
    --blue:#2563EB; --navy:#1E40AF; --orange:#F97316; --orange-dark:#EA6A0C;
    --green:#22C55E; --amber:#FBBF24;
    --bg:#F8FAFC; --ink:#0F1E4D; --text:#1E293B; --muted:#64748B;
    --border:#E6EBF2; --r-sm:10px; --r-md:16px; --r-lg:24px;
    --shadow-card:0 12px 32px rgba(15,23,42,0.08);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  body{font-family:'Inter',sans-serif;color:var(--text);background:var(--bg);min-height:100vh;}
  h1,h2,h3{font-family:'Poppins',sans-serif;}
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  input{font-family:'Inter',sans-serif;}

  .page{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;}

  /* LEFT BRAND PANEL */
  .brand-panel{
    background:linear-gradient(150deg,var(--navy) 0%, var(--blue) 60%, #3B82F6 100%);
    position:relative;overflow:hidden;color:#fff;
    padding:48px 56px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .brand-panel-photo{
    background-image:
      linear-gradient(180deg, rgba(11,20,77,0.62) 0%, rgba(11,20,77,0.30) 40%, rgba(11,20,77,0.6) 100%),
      url('/images/login-hero.jpg');
    background-size:cover;
    background-position:center;
  }
  .brand-panel::before{content:"";position:absolute;top:-20%;right:-15%;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(249,115,22,0.28),transparent 65%);}
  .brand-panel::after{content:"";position:absolute;bottom:-25%;left:-10%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.08),transparent 65%);}
  .brand-panel-photo::before,.brand-panel-photo::after{display:none;}

  .photo-logo{
    height:clamp(52px, 7vw, 100px);
    width:clamp(180px, 24vw, 347px);
    object-fit:contain;object-position:left center;
    position:relative;z-index:2;filter:brightness(0) invert(1);
  }
  .photo-logo-color{
    height:clamp(48px, 6.5vw, 84px);
    width:clamp(170px, 22vw, 300px);
    object-fit:contain;object-position:left center;
    position:relative;z-index:2;
  }

  .brand-copy{position:relative;z-index:2;max-width:460px;margin-top:28px;}
  .brand-copy h2{font-size:34px;font-weight:800;line-height:1.22;margin-bottom:14px;text-shadow:0 2px 14px rgba(0,0,0,0.3);}
  .brand-copy h2 .hl-orange{color:var(--orange);}
  .brand-copy p{font-size:18px;color:#DBEAFE;line-height:1.6;text-shadow:0 1px 8px rgba(0,0,0,0.3);margin-bottom:26px;max-width:380px;}

  .stats-grid-photo{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
  .stat-chip{
    background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.18);border-radius:14px;
    padding:14px 12px;backdrop-filter:blur(6px);
  }
  .stat-chip-icon{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;margin-bottom:10px;}
  .stat-chip-icon.si-blue{background:linear-gradient(135deg,#2563EB,#3B82F6);}
  .stat-chip-icon.si-green{background:linear-gradient(135deg,#22C55E,#16A34A);}
  .stat-chip-icon.si-orange{background:linear-gradient(135deg,var(--orange),#FB923C);}
  .stat-chip-icon.si-purple{background:linear-gradient(135deg,#7C3AED,#A78BFA);}
  .stat-chip b{display:block;font-family:'Poppins',sans-serif;font-size:19px;font-weight:800;color:#fff;}
  .stat-chip span{font-size:11.5px;color:#CBD5E1;line-height:1.3;display:block;margin-top:2px;}

  .testimonial-photo-card{
    position:relative;z-index:2;background:rgba(15,25,90,0.55);border:1px solid rgba(255,255,255,0.16);
    border-radius:var(--r-md);padding:20px 22px;backdrop-filter:blur(10px);max-width:340px;
  }
  .testimonial-photo-card .stars{color:var(--amber);font-size:14px;letter-spacing:2px;margin-bottom:10px;}
  .testimonial-photo-card p{font-size:13.5px;color:#F1F5F9;line-height:1.55;margin-bottom:14px;text-shadow:none;max-width:none;}
  .testimonial-person{display:flex;align-items:center;gap:10px;}
  .testimonial-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--orange),#FB923C);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;}
  .testimonial-person b{font-size:13px;display:block;color:#fff;}
  .testimonial-person span{font-size:11.5px;color:#BFDBFE;}

  /* RIGHT FORM PANEL */
  .form-panel{display:flex;align-items:center;justify-content:center;padding:48px;background:var(--bg);}
  .form-box{width:100%;max-width:440px;}

  .auth-header{margin-bottom:24px;}
  .auth-header .eyebrow{font-size:12.5px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.05em;}
  .auth-header h1{font-size:27px;font-weight:800;color:var(--ink);margin:8px 0 8px;}
  .auth-header p{font-size:14px;color:var(--muted);}
  .auth-header p a{color:var(--blue);font-weight:600;}

  .auth-card{
    background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
    padding:28px;box-shadow:var(--shadow-card);
  }

  .method-toggle{display:flex;background:var(--bg);border-radius:999px;padding:4px;margin-bottom:24px;}
  .method-toggle button{flex:1;padding:11px;border:none;background:transparent;border-radius:999px;font-weight:700;font-size:13.5px;color:var(--muted);cursor:pointer;transition:all .2s ease;font-family:'Inter',sans-serif;}
  .method-toggle button.active{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;box-shadow:0 4px 12px rgba(37,99,235,0.3);}

  .field{margin-bottom:18px;}
  .field label{display:block;font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:7px;}
  .input-wrap{position:relative;}
  .input-wrap i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:17px;}
  .input-wrap input{
    width:100%;padding:13px 14px 13px 42px;border:1.5px solid var(--border);border-radius:var(--r-sm);
    font-size:14.5px;color:var(--text);outline:none;transition:border-color .2s ease;background:var(--bg);
  }
  .input-wrap input:focus{border-color:var(--blue);background:#fff;}
  .input-wrap .toggle-eye{left:auto;right:14px;cursor:pointer;}

  .field-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;font-size:13.5px;}
  .remember{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:500;}
  .remember input{width:16px;height:16px;accent-color:var(--blue);}
  .field-row a{color:var(--blue);font-weight:600;}

  .btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:var(--r-sm);font-weight:700;font-size:15px;cursor:pointer;border:none;transition:transform .18s ease, box-shadow .18s ease;font-family:'Inter',sans-serif;}
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:linear-gradient(135deg,var(--blue) 0%, var(--navy) 100%);color:#fff;box-shadow:0 10px 26px rgba(37,99,235,0.32);}

  .divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--muted);font-size:11.5px;font-weight:700;letter-spacing:.04em;}
  .divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--border);}

  .social-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:1.5px solid var(--border);border-radius:var(--r-sm);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;background:#fff;transition:border-color .2s ease, background .2s ease;}
  .social-btn:hover{border-color:var(--blue);background:var(--bg);}
  .social-btn i{font-size:17px;}
  .social-btn.google i{color:#EA4335;}
  .social-btn.apple i{color:#000;}
  .social-btn.microsoft i{color:#00A4EF;}

  .terms-below{text-align:center;font-size:12.5px;color:var(--muted);margin-top:22px;}
  .terms-below a{color:var(--blue);font-weight:600;}

  .role-pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px;}
  .role-pill{padding:8px 16px;border-radius:999px;border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;background:#fff;}
  .role-pill.active{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;border-color:transparent;}

  .signup-footer{text-align:center;font-size:14px;color:var(--muted);margin-top:8px;}
  .signup-footer a{color:var(--blue);font-weight:600;}

  .otp-boxes{display:flex;gap:10px;margin-bottom:24px;}
  .otp-boxes input{width:100%;text-align:center;padding:14px 0;font-size:20px;font-weight:700;border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--bg);outline:none;}
  .otp-boxes input:focus{border-color:var(--blue);background:#fff;}
  .otp-timer{font-size:13px;color:var(--muted);text-align:center;margin-bottom:20px;}
  .otp-timer a{color:var(--blue);font-weight:600;}

  /* form-logo retained for pages not using the floating-card style */
  .form-logo{display:block;height:36px;width:auto;margin-bottom:36px;}

  /* ── SIGNUP: full-bleed photo background, form floats on top ── */
  .signup-hero-wrap{position:relative;min-height:100vh;overflow:hidden;}
  .signup-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;}
  .signup-hero-overlay{
    position:absolute;inset:0;z-index:1;
    background:linear-gradient(100deg, rgba(11,20,77,0.72) 0%, rgba(11,20,77,0.45) 45%, rgba(11,20,77,0.15) 75%);
  }
  .signup-hero-content{
    position:relative;z-index:2;min-height:100vh;
    display:flex;align-items:center;justify-content:space-between;gap:40px;
    padding:32px 64px;flex-wrap:wrap;
  }

  .signup-left{flex:1 1 480px;max-width:560px;color:#fff;}
  .signup-left .photo-logo-color{margin-bottom:32px;}
  .signup-left .brand-copy{margin-top:0;}
  .signup-left .brand-copy h2{font-size:46px;}
  .signup-left .testimonial-photo-card{margin-top:24px;max-width:380px;}

  .signup-right{flex:0 1 460px;display:flex;justify-content:flex-end;width:100%;}

  .auth-card-float{
    position:relative;z-index:5;background:#fff;
    width:100%;max-width:440px;
    border-radius:24px;
    padding:26px 30px;
    box-shadow:0 24px 70px rgba(0,0,0,0.35);
  }
  .auth-card-float .eyebrow{font-size:11.5px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.05em;}
  .auth-card-float h1{font-size:23px;font-weight:800;color:var(--ink);margin:7px 0 7px;line-height:1.22;}
  .auth-sub{font-size:13.5px;color:var(--muted);margin-bottom:16px;line-height:1.5;}
  .auth-sub a{color:var(--blue);font-weight:600;}

  /* Tighter field rhythm scoped to this card only — login's own spacing (fewer
     fields, more breathing room) is untouched since these overrides only
     apply inside .auth-card-float */
  .auth-card-float .field{margin-bottom:11px;}
  .auth-card-float .input-wrap input{padding:11px 14px 11px 42px;font-size:14.5px;}
  .auth-card-float .input-wrap i{font-size:16px;left:14px;}
  .auth-card-float .btn-primary{padding:11px;font-size:14px;margin-top:2px;}
  .auth-card-float .divider{margin:12px 0;}
  .auth-card-float .signup-footer{margin-top:4px;font-size:12.5px;}
  .auth-card-float .method-toggle{margin-bottom:16px;}
  .auth-card-float .field-row{margin-bottom:14px;font-size:12.5px;}
  .auth-card-float .otp-boxes{margin-bottom:16px;}
  .auth-card-float .otp-timer{margin-bottom:12px;font-size:12px;}

  .role-toggle-2{display:flex;background:var(--bg);border-radius:999px;padding:4px;margin-bottom:14px;}
  .role-toggle-2 button{
    flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px;border:none;
    background:transparent;border-radius:999px;font-weight:700;font-size:13px;color:var(--muted);
    cursor:pointer;transition:all .2s ease;font-family:'Inter',sans-serif;
  }
  .role-toggle-2 button.active{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;box-shadow:0 4px 12px rgba(37,99,235,0.3);}
  .role-toggle-2 button i{font-size:15px;}

  .terms-row{display:flex;align-items:flex-start;gap:8px;font-size:11.5px;color:var(--muted);margin:2px 0 12px;line-height:1.4;}
  .terms-row input{margin-top:2px;width:15px;height:15px;accent-color:var(--blue);flex-shrink:0;}
  .terms-row a{color:var(--blue);font-weight:600;}

  .trust-badges-row{
    display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;
    font-size:10.5px;color:var(--muted);font-weight:600;flex-wrap:wrap;
  }
  .trust-badges-row i{color:var(--green);margin-right:4px;}
  .trust-badges-row .tb-sep{color:var(--border);}

  /* ── Base mobile rules — used by login.blade.php (which still uses the
     two-column .page/.brand-panel split layout, unlike the signup page's
     new full-bleed structure below) ── */
  @media(max-width:900px){
    .page{grid-template-columns:1fr;}
    .brand-panel{display:none;}
    .form-panel{padding:32px 24px;}
    .form-logo{margin-bottom:28px;height:32px;}
  }

  @media(max-width:1100px){
    .stats-grid-photo{grid-template-columns:repeat(2,1fr);}
    .signup-left .brand-copy h2{font-size:32px;}
  }

  @media(max-width:900px){
    .signup-hero-content{flex-direction:column;align-items:stretch;padding:32px 20px;gap:28px;}
    .signup-hero-overlay{background:linear-gradient(180deg, rgba(11,20,77,0.75) 0%, rgba(11,20,77,0.55) 60%, rgba(11,20,77,0.85) 100%);}
    .signup-left{max-width:none;text-align:center;}
    .signup-left .photo-logo-color{margin:0 auto 20px;}
    .signup-left .testimonial-photo-card{display:none;} /* keeps mobile focused: branding + form, no scroll-heavy extras */
    .signup-left .brand-copy h2{font-size:29px;}
    .signup-left .brand-copy p{max-width:none;}
    .stats-grid-photo{grid-template-columns:repeat(2,1fr);max-width:360px;margin:0 auto;}
    .signup-right{justify-content:center;}
    .auth-card-float{padding:26px 22px;border-radius:22px;max-height:none;}
  }

  @media(max-width:480px){
    .signup-hero-content{padding:24px 14px;}
    .signup-left .brand-copy h2{font-size:25px;}
    .signup-left .brand-copy p{font-size:13px;}
    .stats-grid-photo{grid-template-columns:1fr 1fr;gap:8px;}
    .stat-chip{padding:10px 8px;}
    .stat-chip b{font-size:14px;}
  }
