/* Extracted from register.php */

:root{
      --bg:#f7fbff;
      --bg-soft:#eef6ff;
      --card:#ffffff;
      --text:#102033;
      --muted:#63758c;
      --line:#dbe8f5;
      --primary:#1d8cf8;
      --primary-dark:#0f6fd0;
      --accent:#16c7a7;
      --accent-soft:#dcfff7;
      --danger:#ef476f;
      --danger-soft:#fff0f4;
      --warning:#ffb547;
      --radius:24px;
      --shadow:0 20px 60px rgba(23, 72, 123, .12);
      --shadow-sm:0 10px 30px rgba(23, 72, 123, .09);
      --max:1120px;
      --ctl-h:52px;
    }

    *{box-sizing:border-box}
    html{height:100%; scroll-behavior:smooth}
    body{
      min-height:100%;
      margin:0;
      color:var(--text);
      font:16px/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      background:
        radial-gradient(700px 420px at 8% 2%, rgba(29,140,248,.14), transparent 60%),
        radial-gradient(760px 460px at 92% 5%, rgba(22,199,167,.15), transparent 60%),
        linear-gradient(180deg, var(--bg), #ffffff 54%, var(--bg-soft));
      overflow-x:hidden;
    }

    a{color:inherit}
    .container{width:min(var(--max), calc(100% - 36px)); margin-inline:auto}

    .skip-link{
      position:absolute;
      left:-999px;
      top:12px;
      background:#fff;
      color:var(--text);
      padding:10px 14px;
      border-radius:12px;
      box-shadow:var(--shadow-sm);
      z-index:999;
    }
    .skip-link:focus{left:12px}

    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      background:rgba(247,251,255,.82);
      backdrop-filter:blur(18px);
      border-bottom:1px solid rgba(219,232,245,.78);
    }
    .nav-wrap{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:16px 0;
    }
    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      text-decoration:none;
      min-width:max-content;
    }
    .brand-mark{
      width:44px;
      height:44px;
      border-radius:15px;
      display:grid;
      place-items:center;
      color:#fff;
      font-weight:950;
      letter-spacing:-.05em;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      box-shadow:0 12px 24px rgba(29,140,248,.22);
    }
    .brand-name{
      display:grid;
      line-height:1.1;
    }
    .brand-name strong{font-size:17px; letter-spacing:-.02em}
    .brand-name span{font-size:12px; color:var(--muted); font-weight:750}

    .nav-actions{
      display:flex;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }

    .btn{
      min-height:44px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      padding:11px 16px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,255,255,.72);
      color:var(--text);
      text-decoration:none;
      font-weight:850;
      box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
      transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
      cursor:pointer;
      white-space:nowrap;
      font:inherit;
    }
    .btn:hover{transform:translateY(-2px); border-color:#c7d9eb; box-shadow:var(--shadow-sm)}
    .btn:focus-visible{outline:4px solid rgba(29,140,248,.18); outline-offset:3px}
    .btn-primary{
      color:#fff;
      border-color:transparent;
      background:linear-gradient(135deg, var(--primary), var(--primary-dark));
      box-shadow:0 14px 28px rgba(29,140,248,.24);
      font-weight:950;
    }
    .btn-primary:hover{box-shadow:0 18px 36px rgba(29,140,248,.28)}
    .btn-soft{
      background:#fff;
      color:var(--primary-dark);
      border-color:#cde3fa;
    }

    main{
      min-height:calc(100vh - 77px);
      display:grid;
      align-items:center;
      padding:34px 0 74px;
    }

    .register-shell{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:24px;
      align-items:stretch;
    }

    .intro-panel{
      position:relative;
      overflow:hidden;
      padding:clamp(28px, 5vw, 52px);
      border:1px solid rgba(219,232,245,.9);
      border-radius:calc(var(--radius) + 10px);
      background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(250,253,255,.82)),
        radial-gradient(700px 420px at 90% 10%, rgba(22,199,167,.18), transparent 65%);
      box-shadow:var(--shadow);
      min-height:650px;
    }
    .intro-panel::before{
      content:"";
      position:absolute;
      inset:auto -90px -130px auto;
      width:340px;
      height:340px;
      background:linear-gradient(135deg, rgba(29,140,248,.14), rgba(22,199,167,.14));
      border-radius:50%;
      pointer-events:none;
    }
    .eyebrow{
      position:relative;
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:16px;
      padding:8px 12px;
      border-radius:999px;
      background:var(--accent-soft);
      color:#087f6c;
      font-size:13px;
      font-weight:900;
    }
    .eyebrow-dot{
      width:9px;
      height:9px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 0 6px rgba(22,199,167,.14);
    }
    h1{
      position:relative;
      margin:0;
      font-size:clamp(36px, 4.5vw, 58px);
      line-height:1.02;
      letter-spacing:-.055em;
      font-weight:950;
    }
    .text-gradient{
      background:linear-gradient(135deg, var(--primary), var(--accent));
      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;
    }
    .lead{
      position:relative;
      margin:20px 0 0;
      max-width:540px;
      color:var(--muted);
      font-size:clamp(16px, 1.4vw, 19px);
    }

    .process-card{
      position:relative;
      margin-top:34px;
      max-width:460px;
      border-radius:28px;
      background:#102033;
      color:#fff;
      box-shadow:0 30px 70px rgba(20,70,120,.16);
      overflow:hidden;
    }
    .process-card::before{
      content:"";
      position:absolute;
      inset:-100px -80px auto auto;
      width:260px;
      height:260px;
      border-radius:50%;
      background:rgba(22,199,167,.22);
    }
    .process-inner{
      position:relative;
      padding:22px;
      display:grid;
      gap:14px;
    }
    .process-top{
      display:flex;
      justify-content:space-between;
      gap:10px;
      margin-bottom:4px;
      color:#dbeeff;
      font-size:13px;
      font-weight:850;
    }
    .live-pill{
      display:inline-flex;
      gap:6px;
      align-items:center;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.1);
    }
    .live-pill span{
      width:8px;
      height:8px;
      border-radius:50%;
      background:var(--accent);
    }
    .process-step{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.09);
    }
    .process-num{
      flex:0 0 36px;
      width:36px;
      height:36px;
      display:grid;
      place-items:center;
      border-radius:14px;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      color:#fff;
      font-weight:950;
    }
    .process-step strong{display:block; line-height:1.2}
    .process-step span{display:block; margin-top:4px; color:#b7cde2; font-size:13px; font-weight:700}

    .trust-row{
      position:relative;
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:24px;
    }
    .trust-pill{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 12px;
      border:1px solid var(--line);
      border-radius:999px;
      background:rgba(255,255,255,.72);
      color:#42556b;
      font-size:13px;
      font-weight:800;
    }

    .register-card{
      overflow:hidden;
      border:1px solid rgba(219,232,245,.9);
      border-radius:calc(var(--radius) + 10px);
      background:rgba(255,255,255,.92);
      box-shadow:var(--shadow);
      align-self:center;
    }
    .card-head{
      padding:28px 28px 18px;
      border-bottom:1px solid var(--line);
      background:linear-gradient(135deg, rgba(29,140,248,.08), rgba(22,199,167,.08));
    }
    .card-brand{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:18px;
    }
    .card-badge{
      width:46px;
      height:46px;
      border-radius:16px;
      display:grid;
      place-items:center;
      color:#fff;
      font-weight:950;
      letter-spacing:-.05em;
      background:linear-gradient(135deg, var(--primary), var(--accent));
      box-shadow:0 12px 24px rgba(29,140,248,.22);
    }
    .card-head h2{
      margin:0;
      font-size:clamp(28px, 3vw, 36px);
      line-height:1.08;
      letter-spacing:-.045em;
    }
    .card-head p{
      margin:10px 0 0;
      color:var(--muted);
    }

    .error{
      margin:20px 28px 0;
      padding:13px 14px;
      border-radius:16px;
      background:var(--danger-soft);
      color:#b81f48;
      border:1px solid rgba(239,71,111,.22);
      font-weight:850;
    }

    form{
      padding:24px 28px 18px;
      display:grid;
      gap:16px;
    }
    .field{display:grid; gap:8px}
    label{
      color:#354b63;
      font-size:13px;
      font-weight:900;
    }
    .input-wrap{
      position:relative;
      display:flex;
      align-items:center;
      gap:10px;
    }
    .input{
      width:100%;
      height:var(--ctl-h);
      padding:0 15px;
      -webkit-appearance:none;
      appearance:none;
      border-radius:16px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--text);
      outline:none;
      font:inherit;
      font-weight:650;
      transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }
    .input::placeholder{color:#9aaabc}
    .input:focus{
      border-color:rgba(29,140,248,.48);
      box-shadow:0 0 0 4px rgba(29,140,248,.12);
      background:#fff;
    }
    .input-password{flex:1; min-width:0}
    .icon-btn{
      flex:0 0 var(--ctl-h);
      width:var(--ctl-h);
      height:var(--ctl-h);
      padding:0;
      border-radius:16px;
      border:1px solid var(--line);
      background:#fff;
      box-shadow:none;
      font-size:18px;
      cursor:pointer;
    }
    .submit-btn{
      width:100%;
      min-height:var(--ctl-h);
      border-radius:16px;
      margin-top:4px;
    }

    .meter{
      height:9px;
      border-radius:999px;
      background:#edf3fa;
      border:1px solid var(--line);
      overflow:hidden;
    }
    .meter > .fill{
      display:block;
      height:100%;
      width:0%;
      border-radius:inherit;
      background:linear-gradient(90deg, var(--danger), var(--warning), var(--accent));
      transition:width .25s ease;
    }
    .password-hint{
      display:flex;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
      color:var(--muted);
      font-size:12px;
      font-weight:750;
    }

    .note{
      margin:0 28px 18px;
      padding:14px 16px;
      border-radius:18px;
      background:#fff9ec;
      border:1px solid #ffe0a3;
      color:#81550b;
      font-size:13px;
      font-weight:800;
    }

    .links{
      display:flex;
      justify-content:space-between;
      gap:14px;
      flex-wrap:wrap;
      padding:2px 28px 28px;
    }
    .links a{
      color:var(--primary-dark);
      text-decoration:none;
      font-size:14px;
      font-weight:850;
    }
    .links a:hover{text-decoration:underline}

    footer{
      border-top:1px solid var(--line);
      background:rgba(255,255,255,.62);
    }
    .footer-inner{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      flex-wrap:wrap;
      padding:24px 0;
      color:var(--muted);
      font-size:14px;
    }
    .footer-links{
      display:flex;
      gap:14px;
      flex-wrap:wrap;
    }
    .footer-links a{
      color:var(--text);
      font-weight:800;
      text-decoration:none;
    }
    .footer-links a:hover{color:var(--primary-dark)}

    .reveal{opacity:0; transform:translateY(16px); animation:showUp .55s ease forwards}
    .reveal:nth-child(2){animation-delay:.08s}
    @keyframes showUp{to{opacity:1; transform:none}}

    @media (max-width:980px){
      .register-shell{grid-template-columns:1fr}
      .intro-panel{min-height:auto}
      .process-card{max-width:none}
    }

    @media (max-width:680px){
      .container{width:min(var(--max), calc(100% - 24px))}
      .nav-actions .btn:not(.btn-primary){display:none}
      .brand-name span{display:none}
      main{padding:22px 0 54px}
      .intro-panel{padding:24px}
      .register-card{border-radius:26px}
      .card-head,
      form{padding-left:22px; padding-right:22px}
      .error{margin-left:22px; margin-right:22px}
      .links{padding-left:22px; padding-right:22px; flex-direction:column}
      .note{margin-left:22px; margin-right:22px}
      h1{font-size:38px}
    }

    @media (max-width:420px){
      .intro-panel{padding:20px}
      .card-head{padding-top:24px}
      .process-step{display:grid}
      h1{font-size:35px}
    }

    @media (prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      .reveal{animation:none; opacity:1; transform:none}
      .btn{transition:none}
    }
