:root{
      --bt-yellow:#fac001;
      --bt-yellow-2:#ef9f00;
      --bt-text:#1b1b1b;
      --bt-muted2:#6c757d;
      --bt-border:#e9ecef;
    }
    html, body{
      height:100%;
      margin:0;
      overflow-x:hidden;
    }
    body{
      background:#fff;
      color:var(--bt-text);
      font-family:'Rubik', sans-serif;
    }
    .auth-wrap{
      min-height:100vh;
      padding:0;
      margin:0;
      max-width:100%;
      overflow-x:hidden;
    }
    .auth-wrap > .row{
      min-height:100vh;
      align-items:stretch;
      margin:0;
      width:100%;
    }
    .auth-wrap > .row > [class*="col-"]{
      padding-left:0;
      padding-right:0;
    }
    .form-pane{
      min-height:100vh;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      padding:32px 40px;
      background:#fff;
      overflow-y:auto;
    }
    .form-card{
      width:100%;
      max-width:400px;
    }
    .brand-top{
      display:flex;
      align-items:center;
      justify-content:flex-start;
      margin-bottom:32px;
    }
    .brand-top img{
      height:42px;
      object-fit:contain;
    }
    .login-head h1{
      font-size:1.35rem;
      font-weight:700;
      margin:0 0 6px;
    }
    .login-head p{
      font-size:14px;
      color:var(--bt-muted2);
      margin:0 0 24px;
    }
    .form-pane .form-control{
      background:#f7f8fa;
      border:1px solid var(--bt-border);
      border-radius:10px;
      padding:10px 12px;
      height:42px;
      font-size:14px;
    }
    .form-pane .form-control:focus{
      border-color:var(--bt-yellow);
      box-shadow:0 0 0 3px rgba(250,192,1,.35);
      background:#fff;
    }
    .form-pane .form-label{
      color:#3c3c3c;
      margin-bottom:4px;
      font-weight:600;
      font-size:.875rem;
    }
    .form-pane .input-group .form-control{
      border-top-right-radius:0;
      border-bottom-right-radius:0;
    }
    .form-pane .input-group .btn-toggle-pw{
      border:1px solid var(--bt-border);
      border-left:none;
      border-radius:0 10px 10px 0;
      background:#f7f8fa;
      color:#666;
    }
    .form-pane .input-group .btn-toggle-pw:hover{
      background:#fff;
      color:var(--bt-text);
    }
    .form-pane .btn-auth-submit{
      background-color:var(--bt-yellow) !important;
      border:1px solid var(--bt-yellow) !important;
      color:#1b1b1b !important;
      font-weight:600;
      padding:12px 16px;
      border-radius:10px;
      box-shadow:0 2px 8px rgba(0,0,0,.1);
    }
    .form-pane .btn-auth-submit:hover,
    .form-pane .btn-auth-submit:focus{
      background-color:var(--bt-yellow-2) !important;
      border-color:var(--bt-yellow-2) !important;
      color:#1b1b1b !important;
      box-shadow:0 2px 10px rgba(0,0,0,.12) !important;
    }
    .login-footer-link{
      font-size:14px;
      color:var(--bt-muted2);
      margin-top:20px;
      display:flex;
      flex-wrap:nowrap;
      justify-content:center;
      align-items:center;
      gap:0.35em;
      white-space:nowrap;
    }
    .login-footer-link a{
      color:var(--bt-text);
      font-weight:600;
      text-decoration:none;
      flex-shrink:0;
    }
    .login-footer-link a:hover{
      text-decoration:underline;
    }
    .login-error{
      background:#fff5f5;
      border:1px solid #f5c6cb;
      color:#c0392b;
      border-radius:10px;
      padding:12px 14px;
      font-size:14px;
      margin-bottom:20px;
    }
    .rgpd-logo{
      margin-top:28px;
      text-align:center;
    }
    .rgpd-logo img{
      width:90px;
      opacity:.85;
    }
    .promo-pane{
      min-height:100vh;
      flex:1 1 auto;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      padding:48px 40px;
      overflow:hidden;
      position:relative;
      background:linear-gradient(145deg, #ffd400 0%, var(--bt-yellow) 40%, var(--bt-yellow-2) 100%);
    }
    .promo-pane::before,
    .promo-pane::after{
      content:'';
      position:absolute;
      border-radius:50%;
      pointer-events:none;
    }
    .promo-pane::before{
      width:320px; height:320px;
      top:-80px; right:-60px;
      background:rgba(255,255,255,.15);
    }
    .promo-pane::after{
      width:240px; height:240px;
      bottom:-40px; left:-40px;
      background:rgba(0,0,0,.06);
    }
    .promo-inner{
      position:relative;
      z-index:1;
      width:100%;
      max-width:560px;
      text-align:center;
    }
    .promo-inner h2{
      font-size:1.75rem;
      font-weight:700;
      line-height:1.3;
      color:#1b1b1b;
      margin-bottom:12px;
    }
    .promo-inner .promo-lead{
      font-size:16px;
      line-height:1.5;
      color:rgba(27,27,27,.82);
      margin-bottom:28px;
    }
    .promo-rotate{
      font-size:1.1rem;
      color:rgba(27,27,27,.9);
      margin-bottom:24px;
      min-height:2rem;
    }
    .promo-rotate strong{
      color:#1b1b1b;
    }
    .txt-rotate > .wrap{
      border-right:.08em solid #666;
    }
    .promo-screenshot{
      width:100%;
      max-width:520px;
      border-radius:12px;
      box-shadow:0 20px 50px rgba(0,0,0,.2);
    }
    .promo-badges{
      display:flex;
      flex-wrap:nowrap;
      gap:8px;
      justify-content:center;
      margin-top:24px;
    }
    .promo-badges span{
      font-size:11px;
      font-weight:500;
      padding:5px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.35);
      color:#1b1b1b;
      border:1px solid rgba(255,255,255,.5);
      white-space:nowrap;
      flex-shrink:0;
    }
