 a:active,
button:active,
.icon-pill:active,
summary:active {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

a:focus,
button:focus,
[role="button"]:focus,
input:focus,
textarea:focus,
select:focus,
summary:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Remove mobile tap highlight (supported browsers) */
a,
button,
.icon-pill,
summary {
  -webkit-tap-highlight-color: transparent !important;
}

    :root{
      --bg: #ffffff;
      --text: #0f172a;
      --muted: #475569;
      --card: #ffffff;
      --stroke: rgba(15, 23, 42, 0.10);
      --shadow-soft: 0 10px 26px rgba(2, 6, 23, .06);

      /* BLUE THEME */
      --brand: #2563eb;
      --brand-2: #1d4ed8;

      --dark: #0b1220;
      --radius: 18px;
    }

    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
      font-family:'Poppins',sans-serif;
    }

    body{
      background:
        radial-gradient(900px 420px at 20% 10%, rgba(37,99,235,.15), transparent 60%),
        radial-gradient(900px 420px at 80% 20%, rgba(59,130,246,.12), transparent 55%),
        linear-gradient(#fff,#fff);
      color: var(--text);
      line-height: 1.5;
      min-height: 100vh;
      display:flex;
      align-items:center;
      justify-content:center;
      padding: 28px 16px;
    }

    a{ text-decoration:none; color:inherit; }

    .container{
      width: 100%;
      max-width: 980px;
      margin: auto;
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 18px;
      align-items: stretch;
    }

    @media (max-width: 900px){
      .container{ grid-template-columns: 1fr; }
    }

    /* Left panel */
    .hero-panel{
      border: 1px solid var(--stroke);
      border-radius: 26px;
      overflow:hidden;
      box-shadow: var(--shadow-soft);
      background: #fff;
      position:relative;
      padding: 32px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height: 520px;
    }

    .brand-row{
      display:flex;
      align-items:center;
      gap: 12px;
    }

    .logo-badge{
      width:44px; height:44px;
      border-radius: 16px;
      background: linear-gradient(135deg, var(--brand), var(--brand-2));
      display:grid;
      place-items:center;
      font-weight: 900;
      box-shadow: 0 12px 26px rgba(37,99,235,.25);
      color:#fff;
      letter-spacing: .5px;
    }

    .hero-panel h1{
      margin-top: 18px;
      font-size: clamp(26px, 3.4vw, 44px);
      font-weight: 950;
      letter-spacing: -0.7px;
      line-height: 1.05;
      color: var(--dark);
    }

    .hero-panel p{
      margin-top: 12px;
      color: var(--muted);
      font-weight: 600;
      max-width: 520px;
    }

    .feature-list{
      margin-top: 22px;
      display:grid;
      gap: 12px;
    }

    .feature{
      display:flex;
      gap: 12px;
      align-items:flex-start;
      padding: 14px 14px;
      border-radius: 16px;
      border: 1px solid var(--stroke);
      background: rgba(255,255,255,.9);
    }

    .feature .ic{
      width: 38px; height:38px;
      border-radius: 14px;
      background: rgba(37,99,235,.12);
      color: var(--brand);
      display:grid;
      place-items:center;
      font-weight: 900;
      border: 1px solid rgba(37,99,235,.20);
      flex: 0 0 auto;
    }

    .feature strong{
      display:block;
      color: var(--dark);
      font-weight: 950;
      font-size: 14.5px;
      margin-bottom: 2px;
    }

    .feature span{
      display:block;
      color: var(--muted);
      font-weight: 600;
      font-size: 13px;
    }

    /* Right panel */
    .login-card{
      border: 1px solid var(--stroke);
      border-radius: 26px;
      overflow:hidden;
      box-shadow: var(--shadow-soft);
      background: #fff;
      padding: 26px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      min-height: 520px;
    }

    .login-card h2{
      font-size: 26px;
      font-weight: 950;
      color: var(--dark);
      margin-bottom: 6px;
    }

    .login-card .sub{
      color: var(--muted);
      font-weight: 650;
      font-size: 14px;
      margin-bottom: 20px;
    }

    form{
      display:flex;
      flex-direction:column;
      gap: 12px;
      margin-top: 8px;
    }

    label{
      font-weight: 800;
      font-size: 13px;
      color: var(--dark);
      margin-bottom: 6px;
      display:block;
    }

    .field{
      display:flex;
      flex-direction:column;
      gap: 6px;
    }

    input{
      width:100%;
      border: 1px solid var(--stroke);
      border-radius: 16px;
      padding: 13px 14px;
      outline: none;
      font-size: 14.5px;
      font-weight: 700;
      background: #fff;
      transition: .2s ease;
    }

    input:focus{
      border-color: rgba(37,99,235,.55);
      box-shadow: 0 0 0 6px rgba(37,99,235,.12);
    }

    .row{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap: 12px;
      margin-top: 4px;
      flex-wrap: wrap;
    }

    .check{
      display:flex;
      gap: 10px;
      align-items:center;
      color: var(--muted);
      font-weight: 700;
      font-size: 13px;
      user-select:none;
    }

    .check input{
      width: 18px;
      height: 18px;
      padding: 0;
      border-radius: 6px;
      accent-color: var(--brand);
    }

    .primary-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap: 10px;
      width: 100%;
      margin-top: 4px;
      padding: 13px 16px;
      border-radius: 999px;
      border: 1px solid rgba(0,0,0,.05);
      cursor:pointer;
      font-weight: 950;
      background: linear-gradient(135deg, var(--brand), var(--brand-2));
      color:#fff;
      box-shadow:0 14px 28px rgba(37,99,235,.22);
      transition: .2s ease;
    }

    .primary-btn:hover{
      transform: translateY(-2px);
      box-shadow:0 18px 40px rgba(37,99,235,.28);
    }

    .divider{
      display:flex;
      align-items:center;
      gap: 10px;
      margin: 16px 0 10px;
      color: var(--muted);
      font-weight: 800;
      font-size: 13px;
    }

    .divider::before,
    .divider::after{
      content:"";
      height:1px;
      background: var(--stroke);
      flex: 1;
    }

    .social-btn{
      width: 100%;
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 10px;
      padding: 12px 14px;
      border-radius: 16px;
      border: 1px solid var(--stroke);
      background: #fff;
      cursor:pointer;
      font-weight: 950;
      color: var(--dark);
      transition: .2s ease;
    }

    .social-btn:hover{
      border-color: rgba(37,99,235,.55);
      background: rgba(37,99,235,.08);
      transform: translateY(-1px);
    }

    .msg{
      margin-top: 12px;
      padding: 12px 14px;
      border-radius: 16px;
      border: 1px solid var(--stroke);
      background: rgba(255,255,255,.9);
      color: var(--muted);
      font-weight: 750;
      font-size: 13.5px;
      display:none;
    }

    .msg.show{ display:block; }

    .footer-note{
      margin-top: 14px;
      color: rgba(71,85,105,.9);
      font-weight: 700;
      font-size: 13px;
      text-align:center;
    }

    .error{
      border-color: rgba(239,68,68,.55) !important;
      box-shadow: 0 0 0 6px rgba(239,68,68,.10) !important;
    }