    :root{
      --brand:#2563eb;
      --brand2:#60a5fa;
      --bgTop:#eef5ff;
      --bgMid:#f6f9ff;
      --bgBottom:#ffffff;
      --text:#0f172a;
      --muted:#475569;
      --card:#ffffff;
      --stroke:#e2e8f0;
      --shadow: 0 14px 34px rgba(2,6,23,.10);
      --radius:18px;
      --danger:#b91c1c;
      --ok:#16a34a;
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial;
      color:var(--text);
      background:
        radial-gradient(900px 520px at 50% -160px, rgba(37,99,235,.22), transparent 65%),
        linear-gradient(180deg, var(--bgTop) 0%, var(--bgMid) 45%, var(--bgBottom) 100%);
      min-height:100vh;
      padding: 18px 16px 28px;
    }
    .container{max-width:980px;margin:0 auto;}

    .top{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      padding:12px 14px;
      border:1px solid var(--stroke);
      border-radius:20px;
      background: rgba(255,255,255,.88);
      box-shadow: var(--shadow);
      backdrop-filter: blur(10px);
    }
    .brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:inherit}
    .brand img{height:42px;width:auto;display:block}
    .brand .txt{display:flex;flex-direction:column;line-height:1.15}
    .brand .txt strong{font-size:15px}
    .brand .txt span{font-size:12px;color:var(--muted)}
    .back{
      display:inline-flex;align-items:center;gap:8px;
      padding:10px 12px;border-radius:999px;
      border:1px solid var(--stroke);
      background:#fff;
      font-weight:800;
      color: var(--text);
    }

    .hero{
      margin-top:16px;
      padding:22px 18px;
      border:1px solid var(--stroke);
      border-radius: var(--radius);
      background:
        radial-gradient(900px 260px at 50% 0%, rgba(96,165,250,.22), transparent 70%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.90));
      box-shadow: var(--shadow);
      text-align:center;
    }
    .hero h1{margin:0 0 8px;font-size:24px;letter-spacing:-.2px}
    .hero p{margin:0 auto;max-width:760px;color:var(--muted);line-height:1.6;font-size:14.5px}

    .card{
      margin-top:14px;
      border:1px solid var(--stroke);
      background: var(--card);
      border-radius: var(--radius);
      padding:16px;
      box-shadow: 0 10px 26px rgba(2,6,23,.08);
      overflow:hidden;
    }

    .sectionTitle{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      margin-bottom:12px;
    }
    .sectionTitle h2{
      margin:0;
      font-size:15.5px;
      letter-spacing:-.1px;
    }
    .pill{
      font-size:12px;
      padding:6px 10px;
      border-radius:999px;
      border:1px solid rgba(37,99,235,.25);
      background: rgba(37,99,235,.06);
      color: #1e293b;
      font-weight:800;
    }

    .qrBox{
      border:1px dashed rgba(37,99,235,.35);
      background: rgba(37,99,235,.04);
      border-radius:14px;
      padding:12px;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    video{
      width:100%;
      max-height: 320px;
      border-radius:12px;
      background:#0b1220;
    }

    .row{display:flex;gap:10px;flex-wrap:wrap}
    .row .btn{flex: 1 1 180px;}

    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:10px;
      padding:13px 14px;border-radius:14px;
      font-weight:900;
      border:1px solid rgba(37,99,235,.25);
      cursor:pointer;
      transition: transform .08s ease, filter .1s ease;
      position:relative;
      user-select:none;
    }
    .btn:active{transform: scale(.99)}
    .btn.primary{
      background: var(--brand);
      color:#fff;
      box-shadow: 0 14px 26px rgba(37,99,235,.18);
    }
    .btn.secondary{
      background:#fff;
      color: var(--brand);
    }

    .small{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0}

    .field{
      margin-top:10px;
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .field label{
      font-weight:900;
      font-size:13px;
      color:#0f172a;
    }
    .field input{
      width:100%;
      padding:12px 12px;
      border-radius:12px;
      border:1px solid var(--stroke);
      font-size:14px;
      outline:none;
      background:#fff;
    }
    .field input:focus{
      border-color: rgba(37,99,235,.55);
      box-shadow: 0 0 0 3px rgba(37,99,235,.15);
    }

    .status{
      display:flex;align-items:flex-start;gap:10px;
      padding:10px 12px;
      border-radius:12px;
      border:1px solid var(--stroke);
      background: rgba(2,6,23,.02);
      font-size:13px;
      color: var(--muted);
    }
    .dot{
      width:10px;height:10px;border-radius:999px;
      margin-top:4px;
      background: rgba(100,116,139,.55);
      flex:0 0 auto;
    }
    .dot.ok{background: rgba(22,163,74,.8)}
    .dot.bad{background: rgba(185,28,28,.85)}
    .error{
      margin-top:10px;
      color:var(--danger);
      font-size:13px;
      display:none;
      font-weight:700;
    }

    .footerActions{
      margin-top:12px;
      display:flex;gap:10px;flex-wrap:wrap;
    }
    .footerActions .btn{flex: 1 1 220px;}