
    *{box-sizing:border-box}
    html,body{margin:0;padding:0;font-family:Inter,Arial,Helvetica,sans-serif}
    body{
      min-height:100vh;
      background:
        radial-gradient(circle at top left, rgba(85,194,255,.12), transparent 24%),
        radial-gradient(circle at top right, rgba(139,224,255,.06), transparent 20%),
        linear-gradient(180deg,#07101a 0%,#0b1624 100%);
      color:#f5f7fb;
    }

    .screen{display:none}
    .screen.active{display:block}
    .hidden{display:none !important}
    button,input,select,textarea{font:inherit}
    button{cursor:pointer}
    a{text-decoration:none;color:inherit}

    .toast{
      position:fixed;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      background:rgba(10,18,29,.94);
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      border-radius:14px;
      padding:12px 16px;
      font-size:14px;
      z-index:9999;
      box-shadow:0 18px 40px rgba(0,0,0,.35);
      display:none;
    }
    .toast.show{display:block}

    .public-topbar{
      max-width:460px;
      margin:0 auto;
      padding:0;
      display:none !important;
      height:0;
      overflow:hidden;
    }
    .public-topbar.show{display:none !important}
    .public-topbar-card{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      backdrop-filter: blur(14px);
      border-radius:20px;
      padding:12px 14px;
      box-shadow:0 24px 70px rgba(0,0,0,.42);
    }
    .public-topbar-card strong{
      display:block;
      font-size:14px;
    }
    .public-topbar-card span{
      display:block;
      font-size:12px;
      color:#9fb0c3;
      margin-top:2px;
    }

    /* ---------- AUTH / SIGNUP / SIGNIN ---------- */
    .auth-wrap{
      min-height:100vh;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:28px;
      background:linear-gradient(180deg,#edf3fb 0%,#e8eff8 100%);
      color:#0f172a;
    }
    .auth-shell{
      width:100%;
      max-width:1140px;
      display:grid;
      grid-template-columns:1.02fr .98fr;
      gap:28px;
      align-items:stretch;
    }
    .auth-hero{
      background:linear-gradient(145deg,#123968 0%,#0c2f59 55%,#173f74 100%);
      color:#fff;border-radius:34px;padding:42px;box-shadow:0 18px 50px rgba(12,31,66,.12);position:relative;overflow:hidden;
    }
    .auth-hero:before,.auth-hero:after{content:"";position:absolute;border-radius:999px;filter:blur(10px);opacity:.18}
    .auth-hero:before{width:320px;height:320px;background:#8db8ff;right:-90px;top:-90px}
    .auth-hero:after{width:220px;height:220px;background:#ffffff;left:-80px;bottom:-90px}
    .auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:34px;position:relative;z-index:1}
    .auth-brand-mark{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);font-size:18px}
    .auth-brand-name{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}
    .auth-hero h1{font-size:clamp(2.4rem,4vw,4.7rem);line-height:.98;letter-spacing:-.05em;margin:0 0 18px;position:relative;z-index:1}
    .auth-lead{font-size:1.18rem;line-height:1.6;max-width:570px;color:rgba(255,255,255,.88);margin:0 0 28px;position:relative;z-index:1}
    .auth-points{display:grid;gap:14px;position:relative;z-index:1}
    .auth-point{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;font-weight:700}
    .auth-tick{width:30px;height:30px;border-radius:999px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:14px;flex:0 0 auto}

    .auth-card{background:#fff;border-radius:34px;box-shadow:0 18px 50px rgba(12,31,66,.12);overflow:hidden;border:1px solid #e7edf7;color:#0f172a}
    .auth-card-top{padding:30px 32px 16px;border-bottom:1px solid #edf2f9}
    .auth-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#e8f0ff;color:#0f3566;font-weight:800;font-size:.88rem;letter-spacing:.02em;margin-bottom:14px}
    .auth-card h2{margin:0;font-size:2rem;letter-spacing:-.03em}
    .auth-sub{margin:10px 0 0;color:#66758f;font-size:1.02rem;line-height:1.55}
    .auth-form{padding:26px 32px 32px}
    .auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .auth-field{display:flex;flex-direction:column;gap:9px}
    .auth-field.full{grid-column:1 / -1}
    .auth-field label{font-weight:800;font-size:1rem;color:#10233f}
    .auth-input{
      width:100%;padding:17px 18px;border-radius:18px;border:1.5px solid #d8e1ee;background:#fbfdff;
      font-size:1.05rem;outline:none;transition:.18s;border-color:#d8e1ee;color:#0f172a
    }
    .auth-input:focus{border-color:#8db2ff;box-shadow:0 0 0 4px rgba(63,124,255,.12);background:#fff}
    .price-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;background:#f5f8fd;border:1px solid #e2e9f4;border-radius:22px;margin:8px 0 4px}
    .price-left{display:flex;flex-direction:column;gap:5px}
    .price-title{font-size:1rem;font-weight:800;color:#10233f}
    .price-note{font-size:.96rem;color:#66758f}
    .price-big{font-size:2rem;font-weight:900;color:#0f3566;letter-spacing:-.04em;white-space:nowrap}
    .auth-terms{font-size:.92rem;line-height:1.55;color:#66758f;margin:6px 0 0}
    .auth-cta{margin-top:22px;width:100%;border:0;border-radius:20px;padding:20px 22px;background:linear-gradient(180deg,#4c86ff 0%,#2f6ef0 100%);color:#fff;font-size:1.14rem;font-weight:900;box-shadow:0 14px 30px rgba(47,110,240,.24)}
    .auth-switch{margin-top:16px;text-align:center;color:#66758f;font-size:.98rem}
    .auth-switch a{color:#0f3566;font-weight:800;text-decoration:none}
    .demo-box{
      margin-top:14px;
      padding:14px 16px;
      border-radius:18px;
      background:#f5f8fd;
      border:1px solid #e2e9f4;
      color:#42536a;
      font-size:.94rem;
      line-height:1.5;
    }

    /* ---------- PAYMENT ---------- */
    .pay-wrap{
      min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;
      background:linear-gradient(180deg,#eef3f9 0%,#e6edf6 100%);
      color:#10233f;
    }
    .pay-shell{
      width:min(1120px,100%);
      display:grid;
      grid-template-columns:1.02fr .98fr;
      background:#fff;
      border:1px solid rgba(214,223,235,.9);
      border-radius:34px;
      overflow:hidden;
      box-shadow:0 18px 45px rgba(11,38,73,.12);
    }
    .pay-brand{
      background:radial-gradient(circle at top right,rgba(89,145,255,.22),transparent 22%),linear-gradient(155deg,#102d56 0%,#0c3567 60%,#143f74 100%);
      color:#fff;padding:44px 42px 42px;display:flex;flex-direction:column;min-height:760px;
    }
    .pay-topbar{display:flex;align-items:center;gap:14px;margin-bottom:38px}
    .pay-logo{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:18px;border:1px solid rgba(255,255,255,.12)}
    .pay-brandname{font-weight:800;font-size:1.8rem;letter-spacing:-.02em}
    .pay-brand h1{font-size:4.4rem;line-height:.95;margin:18px 0 20px;font-weight:900;letter-spacing:-.05em;max-width:520px}
    .pay-sub{font-size:1.08rem;line-height:1.6;max-width:470px;color:rgba(255,255,255,.92);margin:0 0 26px}
    .pay-points{display:grid;gap:12px;margin-top:8px}
    .pay-point{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:18px;font-weight:700;line-height:1.45}
    .pay-tick{width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:0 0 auto}
    .pay-note{margin-top:auto;color:rgba(255,255,255,.7);font-size:.92rem;line-height:1.55}

    .pay-panel{padding:38px 36px 34px;background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%)}
    .pay-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#edf4ff;color:#133b6a;font-weight:800;font-size:.88rem;letter-spacing:.02em;margin-bottom:16px}
    .pay-panel h2{margin:0;font-size:2.1rem;letter-spacing:-.03em}
    .pay-panel p{margin:10px 0 0;color:#6b7b93;font-size:1rem;line-height:1.6}
    .summary-card{margin-top:22px;padding:22px;border:1px solid #dfe8f3;border-radius:24px;background:#f7fafe}
    .summary-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed #d9e2ee;font-size:1rem}
    .summary-row:last-child{border-bottom:none;padding-bottom:0}
    .summary-row:first-child{padding-top:0}
    .summary-label{color:#6b7b93;font-weight:700}
    .summary-value{font-weight:900;color:#0f3566;text-align:right}
    .pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
    .pay-field{display:flex;flex-direction:column;gap:8px}
    .pay-field.full{grid-column:1 / -1}
    .pay-field label{font-weight:800;font-size:.95rem;color:#10233f}
    .pay-input{
      height:58px;border-radius:18px;border:1.5px solid #d6dfeb;background:#fff;padding:0 16px;font-size:1rem;
      color:#10233f;outline:none
    }
    .pay-test{
      margin-top:18px;
      padding:15px 16px;
      border-radius:18px;
      background:#fffbeb;
      border:1px solid #fde68a;
      color:#92400e;
      font-size:.94rem;
      line-height:1.5;
    }
    .pay-btn{
      width:100%;height:60px;margin-top:20px;border:none;border-radius:20px;background:linear-gradient(180deg,#4c86ff 0%,#2f6ef0 100%);
      color:#fff;font-size:1.08rem;font-weight:900;box-shadow:0 14px 30px rgba(47,110,240,.24)
    }
    .backline{
      margin-top:14px;
      text-align:center;
      color:#6b7b93;
      font-size:.95rem;
    }
    .backline a{font-weight:800;color:#0f3566}

    /* ---------- SUCCESS ---------- */
    .success-shell{
      min-height:100vh;
      display:grid;
      grid-template-columns:1fr 1fr;
      background:linear-gradient(180deg,#edf3fb 0%,#e8eff8 100%);
      color:#10233f;
    }
    .success-brand{
      padding:44px 42px;
      color:#fff;
      background:linear-gradient(155deg,#102d56 0%,#0c3567 60%,#143f74 100%);
    }
    .success-card-wrap{
      display:flex;
      align-items:center;
      justify-content:center;
      padding:28px;
    }
    .success-card{
      width:100%;
      max-width:560px;
      background:#fff;
      border-radius:32px;
      border:1px solid #dfe8f3;
      box-shadow:0 18px 45px rgba(11,38,73,.12);
      overflow:hidden;
    }
    .success-cardhead{padding:30px 30px 20px;border-bottom:1px solid #eef2f7;text-align:center}
    .success-icon{
      width:74px;height:74px;border-radius:999px;margin:0 auto 16px;
      display:grid;place-items:center;background:#ecfdf3;color:#16a34a;border:1px solid #bbf7d0;font-size:34px;font-weight:900
    }
    .success-cardhead .eyebrow{
      display:inline-flex;padding:10px 14px;border-radius:999px;background:#edf4ff;color:#133b6a;font-weight:800;font-size:.88rem;margin-bottom:12px
    }
    .success-cardhead h2{margin:0;font-size:2rem;letter-spacing:-.03em}
    .success-cardhead p{margin:10px 0 0;color:#6b7b93;line-height:1.55}
    .success-section{padding:22px 30px;border-bottom:1px solid #eef2f7}
    .success-section:last-child{border-bottom:none}
    .nextbox{border:1px solid #dfe8f3;background:#f7fafe;border-radius:22px;padding:18px}
    .nextbox small{display:block;color:#6b7b93;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
    .nextbox strong{display:block;font-size:1.12rem;color:#0f3566;margin-bottom:6px}
    .nextbox p{margin:0;color:#6b7b93;line-height:1.5}
    .success-btn{
      width:100%;height:58px;border:none;border-radius:18px;background:linear-gradient(180deg,#4c86ff 0%,#2f6ef0 100%);color:#fff;font-size:1.04rem;font-weight:900
    }
    .tiny{text-align:center;margin-top:12px;color:#7a8aa1;font-size:.92rem}

    /* ---------- SETUP ---------- */
    .setup-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px}
    .setup-card{
      width:100%;max-width:620px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
      border:1px solid rgba(255,255,255,.09);border-radius:24px;box-shadow:0 30px 70px rgba(0,0,0,.38);overflow:hidden;
      backdrop-filter: blur(10px);
    }
    .setup-top{padding:28px 28px 18px;border-bottom:1px solid rgba(255,255,255,.09)}
    .setup-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px}
    .setup-badge{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#45b7ff,#7dd3fc);display:grid;place-items:center;color:#06121d;font-weight:800;font-size:18px;box-shadow:0 12px 25px rgba(69,183,255,.25)}
    .setup-title{font-size:18px;font-weight:700;letter-spacing:.2px}
    .setup-top h1{margin:0 0 10px;font-size:30px;line-height:1.08;font-weight:800}
    .setup-sub{margin:0;color:#a8b4c7;font-size:15px;line-height:1.5;max-width:42ch}
    .setup-body{padding:24px 28px 28px}
    .setup-section{margin-bottom:22px}
    .setup-label{display:block;font-size:14px;font-weight:700;margin:0 0 10px;color:#eef4ff}
    .setup-input,.setup-select{
      width:100%;height:56px;border-radius:16px;border:1px solid rgba(255,255,255,.1);
      background:#0f1725;color:#f5f7fb;padding:0 16px;font-size:16px;outline:none;
    }
    .setup-hint{margin-top:8px;color:#a8b4c7;font-size:13px;line-height:1.4}
    .themes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
    .theme{
      position:relative;border:1px solid rgba(255,255,255,.1);background:#121c2c;border-radius:18px;padding:14px;cursor:pointer;
    }
    .theme input{position:absolute;opacity:0;pointer-events:none}
    .theme-row{display:flex;gap:8px;margin-bottom:10px}
    .dot{width:16px;height:16px;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
    .theme strong{display:block;font-size:15px;margin-bottom:4px}
    .theme span{display:block;font-size:13px;color:#a8b4c7;line-height:1.35}
    .theme.checked{border-color:#7dd3fc;box-shadow:0 0 0 4px rgba(125,211,252,.12)}
    .theme.checked::after{
      content:'✓';position:absolute;top:10px;right:12px;width:24px;height:24px;border-radius:999px;
      display:grid;place-items:center;background:#29c36a;color:white;font-weight:800;font-size:14px;
    }
    .profile-themes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
    .profile-theme{
      position:relative;border:1px solid rgba(255,255,255,.1);background:#121c2c;border-radius:18px;padding:14px;cursor:pointer;
    }
    .profile-theme input{position:absolute;opacity:0;pointer-events:none}
    .profile-theme-row{display:flex;gap:8px;margin-bottom:10px}
    .profile-theme strong{display:block;font-size:15px;margin-bottom:4px}
    .profile-theme span{display:block;font-size:13px;color:#a8b4c7;line-height:1.35}
    .profile-theme.checked{border-color:#7dd3fc;box-shadow:0 0 0 4px rgba(125,211,252,.12)}
    .profile-theme.checked::after{
      content:'✓';position:absolute;top:10px;right:12px;width:24px;height:24px;border-radius:999px;
      display:grid;place-items:center;background:#29c36a;color:white;font-weight:800;font-size:14px;
    }
    .default-box{
      border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.015));
      border-radius:18px;padding:16px;
    }
    .default-box strong{display:block;font-size:15px;margin-bottom:6px}
    .default-box p{margin:0;color:#a8b4c7;font-size:14px;line-height:1.45}
    .setup-btn{
      width:100%;height:58px;border:none;border-radius:18px;background:linear-gradient(135deg,#45b7ff,#7dd3fc);
      color:#06121d;font-size:17px;font-weight:800;box-shadow:0 18px 35px rgba(69,183,255,.24);
    }

    /* ---------- MOBILE APP SCREENS ---------- */
    .mobile-shell{
      min-height:100vh;
      max-width:460px;
      margin:0 auto;
      padding:18px 14px 28px;
    }
    .mobile-hero{
      position:relative;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      backdrop-filter: blur(14px);
      border-radius:30px;
      padding:18px;
      box-shadow:0 24px 70px rgba(0,0,0,.42);
      margin-bottom:14px;
    }
    .mobile-hero::before{
      content:'';
      position:absolute;
      width:180px;
      height:180px;
      right:-50px;
      top:-65px;
      background:radial-gradient(circle, rgba(85,194,255,.28), transparent 68%);
      pointer-events:none;
    }
    .mobile-hero-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:18px;
      position:relative;
      z-index:1;
    }
    .mobile-brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
    }
    .brand-mark{
      width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:900;color:#05111b;
      background:linear-gradient(135deg,#55c2ff,#8be0ff);box-shadow:0 14px 30px rgba(85,194,255,.28);flex:0 0 auto;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.14);
    }
    .brand-mark img{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
    }
    .brand-mark.placeholder{
      display:grid;
      place-items:center;
    }
    .mobile-eyebrow{
      margin:0 0 3px;
      font-size:12px;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:#b6c4d5;
    }
    .mobile-business{
      margin:0;
      font-size:20px;
      font-weight:800;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .business-mini{
      margin:4px 0 0;
      font-size:13px;
      color:#a9bbcf;
    }
    .customer-phone{
      margin:10px 0 0;
      font-size:13px;
      color:#c5d4e5;
    }
    .customer-phone a{
      color:#8be0ff;
      text-decoration:none;
      font-weight:800;
    }
    .business-details-card{
      margin-top:16px;
    }
    .business-details-head{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:14px;
    }
    .business-details-head h3{
      margin:0 0 4px;
      font-size:18px;
    }
    .business-details-head p{
      margin:0;
      color:#a7b7c9;
      font-size:14px;
    }
    .brand-preview{
      display:flex;
      align-items:center;
      gap:14px;
      padding:16px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
      margin-bottom:14px;
    }
    .brand-preview-copy h3{
      margin:0 0 4px;
      font-size:18px;
    }
    .brand-preview-copy p{
      margin:0;
      color:#a7b7c9;
      font-size:14px;
    }
    .upload-row{
      display:flex;
      gap:12px;
      align-items:center;
      flex-wrap:wrap;
      margin-top:10px;
    }
    .hidden-file-input{
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      white-space:nowrap;
      border:0;
    }
    .logo-note{
      margin-top:10px;
      font-size:13px;
      color:#9eb0c4;
      line-height:1.45;
    }
    .mobile-pill{
      flex:0 0 auto;
      padding:9px 12px;
      border-radius:999px;
      font-size:12px;
      font-weight:800;
      color:#dff8ea;
      border:1px solid rgba(41,195,106,.22);
      background:rgba(41,195,106,.12);
    }
    .mobile-hero h1{
      margin:0 0 8px;
      font-size:28px;
      line-height:1.05;
      font-weight:900;
      letter-spacing:-.03em;
      position:relative;
      z-index:1;
    }
    .mobile-sub{
      margin:0;
      max-width:32ch;
      color:#9fb0c3;
      font-size:14px;
      line-height:1.5;
      position:relative;
      z-index:1;
    }
    .hero-link-row{
      display:flex;
      justify-content:flex-end;
      margin-top:14px;
      position:relative;
      z-index:1;
    }
    .hero-text-link{
      appearance:none;
      border:none;
      background:transparent;
      color:#cfe1f6;
      font-size:13px;
      font-weight:800;
      letter-spacing:-.01em;
      text-decoration:underline;
      text-underline-offset:3px;
      padding:0;
    }

    .section-label{
      margin:18px 2px 10px;
      font-size:12px;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:#9eb0c4;
      font-weight:800;
    }

    .dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .dash-card{
      position:relative;
      overflow:hidden;
      min-height:152px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
      box-shadow:0 24px 70px rgba(0,0,0,.42);
      padding:16px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      color:#f5f7fb;
      backdrop-filter: blur(12px);
      appearance:none;
      width:100%;
      text-align:left;
    }
    .dash-card::before{
      content:'';
      position:absolute;
      inset:auto -30px -40px auto;
      width:120px;height:120px;border-radius:999px;
      background:radial-gradient(circle, rgba(255,255,255,.14), transparent 70%);
      pointer-events:none;
    }
    .dash-icon{
      width:50px;height:50px;border-radius:18px;display:grid;place-items:center;font-size:22px;font-weight:700;color:#07131d;
      box-shadow:0 12px 24px rgba(0,0,0,.16);
    }
    .blue .dash-icon{background:linear-gradient(135deg,#63ccff,#9ee7ff)}
    .green .dash-icon{background:linear-gradient(135deg,#53e0a0,#a8f0ce)}
    .orange .dash-icon{background:linear-gradient(135deg,#ffbb55,#ffd78d)}
    .purple .dash-icon{background:linear-gradient(135deg,#b18cff,#d0b5ff)}
    .dash-card h2{margin:14px 0 6px;font-size:18px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
    .dash-card p{margin:0;font-size:13px;line-height:1.45;color:#9fb0c3;max-width:18ch}
    .arrow{margin-top:14px;font-size:13px;font-weight:800;color:#e8f6ff}

    .quick-bar{
      margin-top:14px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
      box-shadow:0 24px 70px rgba(0,0,0,.42);
      backdrop-filter: blur(12px);
      padding:14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
    }
    .quick-copy strong{display:block;font-size:15px;margin-bottom:4px}
    .quick-copy span{display:block;font-size:13px;color:#9fb0c3;line-height:1.4}
    .mini-btn{
      flex:0 0 auto;
      border:none;
      height:46px;
      padding:0 16px;
      border-radius:16px;
      background:linear-gradient(135deg,#55c2ff,#8be0ff);
      color:#041019;
      font-weight:800;
      box-shadow:0 16px 32px rgba(85,194,255,.24);
    }
    .value-banner{
      position:relative;
      overflow:hidden;
      margin:14px 0 4px;
      padding:18px;
      border-radius:28px;
      border:1px solid rgba(255,255,255,.1);
      background:linear-gradient(145deg,rgba(22,57,96,.95) 0%,rgba(13,37,66,.96) 55%,rgba(10,28,50,.98) 100%);
      box-shadow:0 24px 70px rgba(0,0,0,.42);
    }
    .value-banner::before{
      content:'';
      position:absolute;
      width:180px;
      height:180px;
      right:-45px;
      top:-55px;
      background:radial-gradient(circle, rgba(83,224,160,.22), transparent 68%);
      pointer-events:none;
    }
    .value-banner-label{
      position:relative;
      z-index:1;
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.08);
      color:#d8e7f8;
      font-size:11px;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-weight:800;
    }
    .value-banner-amount{
      position:relative;
      z-index:1;
      margin:14px 0 6px;
      font-size:34px;
      line-height:1;
      font-weight:900;
      letter-spacing:-.04em;
      color:#ffffff;
    }
    .value-banner-copy{
      position:relative;
      z-index:1;
      margin:0;
      color:#abc1d8;
      font-size:14px;
      line-height:1.45;
      max-width:30ch;
    }
    .value-banner.compact{margin:0 0 16px}
    .value-banner.compact .value-banner-amount{font-size:30px}

    .glass-card{
      background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));
      border:1px solid rgba(255,255,255,.12);
      border-radius:24px;
      padding:18px;
      backdrop-filter:blur(18px);
      box-shadow:0 20px 50px rgba(0,0,0,.35);
      margin-bottom:16px;
    }
    .glass-topbar{
      display:flex;
      align-items:center;
      gap:12px;
      margin-bottom:18px;
      position:relative;
      z-index:2;
    }
    .glass-back{
      width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;
      font-size:20px;color:#eef4ff;backdrop-filter:blur(14px);
      box-shadow:0 20px 50px rgba(0,0,0,.35);
    }
    .glass-title{flex:1}
    .glass-title .eyebrow{
      font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#8fb8ff;margin-bottom:6px;font-weight:700;
      background:none;padding:0
    }
    .glass-title h1,.glass-title h2{
      margin:0;font-size:28px;line-height:1.05;font-weight:800;letter-spacing:-.03em;color:#eef4ff;
    }
    .glass-sub{
      margin:10px 0 22px;color:#aebbd6;font-size:15px;line-height:1.5;max-width:34ch;
    }
    .pill{
      display:inline-flex;align-items:center;gap:8px;
      padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.08);
      border:1px solid rgba(255,255,255,.10);font-size:12px;font-weight:700;color:#dbe8ff;
      text-transform:uppercase;letter-spacing:.08em;
    }
    .icon36{
      width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg, rgba(77,163,255,.24), rgba(124,197,255,.10));
      border:1px solid rgba(124,197,255,.18);font-size:18px;
    }
    .message-box{
      background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:18px;
      padding:16px;font-size:15px;line-height:1.6;color:#eef4ff;margin-bottom:14px;white-space:pre-wrap;
    }
    .btn-row{display:flex;gap:10px;align-items:center}
    .btn{
      appearance:none;border:none;cursor:pointer;border-radius:16px;padding:14px 16px;font-weight:800;
      font-size:15px;letter-spacing:-.01em;transition:.18s ease;display:inline-flex;align-items:center;justify-content:center;
    }
    .btn-primary{
      background:linear-gradient(135deg,#4da3ff,#7cc5ff);color:#06111f;box-shadow:0 12px 30px rgba(77,163,255,.28);
    }
    .btn-secondary{
      background:rgba(255,255,255,.07);color:#eef4ff;border:1px solid rgba(255,255,255,.10);
    }
    .btn-danger{
      background:rgba(255,123,123,.1);color:#ffd6d6;border:1px solid rgba(255,123,123,.18)
    }
    .full{width:100%}
    .btn:active{transform:scale(.985)}

.btn[disabled], .btn[aria-disabled="true"]{
  opacity:.62;
  cursor:not-allowed;
  box-shadow:none;
  filter:saturate(.8);
}


    .form-card,.customer-card,.price-card,.enquiry-card{
      border:1px solid rgba(255,255,255,.08);
      background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
      box-shadow:0 24px 70px rgba(0,0,0,.42);
      border-radius:26px;
      backdrop-filter:blur(12px);
      padding:16px;
      margin-bottom:12px;
    }
    .label-mini{
      display:block;margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9eb0c4
    }
    .dark-input,.dark-select,.dark-textarea{
      width:100%;border:none;outline:none;border-radius:18px;padding:15px 16px;
      background:rgba(255,255,255,.06);color:#f5f7fb;font-size:15px;border:1px solid rgba(255,255,255,.06)
    }
    .dark-input::placeholder,.dark-textarea::placeholder{color:#8ea0b4}
    .dark-select{appearance:auto;-webkit-appearance:menulist;-moz-appearance:menulist}
    .dark-select option{background:#0f1b2d;color:#eef4ff}
    .dark-select:focus option{background:#0f1b2d;color:#eef4ff}
    .dark-textarea{min-height:132px;resize:vertical}
    .inline-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .guide-card{
      padding:18px;
    }
    .guide-step{
      display:flex;
      gap:14px;
      align-items:flex-start;
      padding:14px 0;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .guide-step:first-child{padding-top:0}
    .guide-step:last-child{padding-bottom:0;border-bottom:none}
    .guide-number{
      width:30px;
      height:30px;
      border-radius:999px;
      flex:0 0 auto;
      display:grid;
      place-items:center;
      font-size:13px;
      font-weight:900;
      color:#06111f;
      background:linear-gradient(135deg,#55c2ff,#8be0ff);
      box-shadow:0 12px 24px rgba(85,194,255,.18);
    }
    .guide-copy h3{
      margin:0 0 6px;
      font-size:17px;
      line-height:1.15;
      font-weight:800;
      letter-spacing:-.02em;
      color:#eef4ff;
    }
    .guide-copy p{
      margin:0;
      color:#aebbd6;
      font-size:14px;
      line-height:1.55;
    }
    .guide-summary{
      margin-bottom:16px;
    }
    .guide-mini-card h3{
      margin:0 0 8px;
      font-size:18px;
      line-height:1.1;
      font-weight:800;
      letter-spacing:-.02em;
      color:#eef4ff;
    }
    .guide-mini-card p{
      margin:0;
      color:#aebbd6;
      font-size:14px;
      line-height:1.55;
    }
    .info-box{
      border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:18px;padding:14px;color:#aebbd6;font-size:14px;line-height:1.5;margin-bottom:14px
    }

    .quote-box{
      border:1px solid rgba(124,197,255,.18);
      background:linear-gradient(180deg, rgba(77,163,255,.16), rgba(124,197,255,.08));
      border-radius:22px;
      padding:18px 16px;
      margin:16px 0;
    }
    .quote-amount{font-size:2.4rem;font-weight:900;letter-spacing:-.05em;margin:0 0 8px;color:#eef8ff}
    .quote-copy{margin:0;color:#b9cbe4;font-size:14px;line-height:1.5}
    .counter{
      display:flex;align-items:center;gap:10px
    }
    .counter-btn{
      width:48px;height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.06);color:#eef4ff;font-size:22px;font-weight:900
    }
    .counter-value{
      flex:1;text-align:center;border-radius:18px;padding:13px 14px;
      background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);font-weight:900;font-size:1.3rem
    }

    #screen-customer{
      --customer-accent:#4da3ff;
      --customer-accent-soft:#7cc5ff;
      --customer-glow:rgba(85,194,255,.28);
      --customer-box-a:rgba(77,163,255,.16);
      --customer-box-b:rgba(124,197,255,.08);
      --customer-chip-bg:rgba(77,163,255,.12);
      --customer-chip-border:rgba(124,197,255,.18);
      --customer-link:#8be0ff;
    }
    #screen-customer[data-theme="green"]{
      --customer-accent:#22c55e;
      --customer-accent-soft:#86efac;
      --customer-glow:rgba(34,197,94,.26);
      --customer-box-a:rgba(34,197,94,.18);
      --customer-box-b:rgba(134,239,172,.08);
      --customer-chip-bg:rgba(34,197,94,.12);
      --customer-chip-border:rgba(134,239,172,.18);
      --customer-link:#9ef7bf;
    }
    #screen-customer[data-theme="orange"]{
      --customer-accent:#f59e0b;
      --customer-accent-soft:#fcd34d;
      --customer-glow:rgba(245,158,11,.26);
      --customer-box-a:rgba(245,158,11,.18);
      --customer-box-b:rgba(252,211,77,.08);
      --customer-chip-bg:rgba(245,158,11,.12);
      --customer-chip-border:rgba(252,211,77,.18);
      --customer-link:#ffd66e;
    }
    #screen-customer[data-theme="purple"]{
      --customer-accent:#a78bfa;
      --customer-accent-soft:#c4b5fd;
      --customer-glow:rgba(167,139,250,.28);
      --customer-box-a:rgba(167,139,250,.18);
      --customer-box-b:rgba(196,181,253,.08);
      --customer-chip-bg:rgba(167,139,250,.12);
      --customer-chip-border:rgba(196,181,253,.18);
      --customer-link:#d8cbff;
    }
    #screen-customer .mobile-hero::before{background:radial-gradient(circle, var(--customer-glow), transparent 68%);}
    #screen-customer .brand-mark.placeholder{background:linear-gradient(135deg,var(--customer-accent),var(--customer-accent-soft));box-shadow:0 14px 30px var(--customer-glow);}

    /* Removed header branding badge for cleaner back-office screens only */
    #dash-brand-mark,
    #enquiries-brand-mark,
    #round-brand-mark{
      display:none !important;
    }
    #screen-customer .mobile-eyebrow{color:var(--customer-link);}
    #screen-customer .customer-phone a{color:var(--customer-link);}
    #screen-customer .form-card{border-color:var(--customer-chip-border);}
    #screen-customer .dark-select{border-color:var(--customer-chip-border);}
    #screen-customer .quote-box{border-color:var(--customer-chip-border);background:linear-gradient(180deg, var(--customer-box-a), var(--customer-box-b));}
    #screen-customer .counter-btn{border-color:var(--customer-chip-border);background:var(--customer-chip-bg);}
    #screen-customer .counter-value{border-color:var(--customer-chip-border);}
    #screen-customer .btn-primary{background:linear-gradient(135deg,var(--customer-accent),var(--customer-accent-soft));box-shadow:0 12px 30px var(--customer-glow);}

    .summary-box-dark{
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      border-radius:22px;
      padding:16px;
      margin-bottom:16px;
    }
    .summary-dark-row{
      display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.08)
    }
    .summary-dark-row:last-child{border-bottom:none;padding-bottom:0}
    .summary-dark-row:first-child{padding-top:0}
    .summary-dark-row .lab{color:#9eb0c4;font-weight:700}
    .summary-dark-row .val{font-weight:900;text-align:right}

    .price-head,.enquiry-head,.customer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
    .price-name,.enquiry-name,.customer-name{margin:0 0 4px;font-size:19px;font-weight:800;letter-spacing:-.02em}
    .price-sub,.meta,.customer-sub{margin:0;color:#9fb0c3;font-size:13px;line-height:1.45}
    .price-pill-badge{
      white-space:nowrap;padding:10px 12px;border-radius:999px;font-size:13px;font-weight:900;
      color:#dff8ea;border:1px solid rgba(41,195,106,.22);background:rgba(41,195,106,.12)
    }
    .details{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;margin-bottom:14px}
    .detail{padding:12px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05)}
    .detail small{display:block;margin-bottom:5px;color:#93a5ba;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}
    .detail strong{display:block;font-size:14px;line-height:1.35}
    .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .hero-count{
      position:absolute !important;
      right:18px !important;
      bottom:18px !important;
      top:auto !important;
      left:auto !important;
      margin:0 !important;
      z-index:20 !important;
      white-space:nowrap !important;
      padding:9px 12px;border-radius:999px;font-size:12px;font-weight:800;
      color:#dff4ff;border:1px solid rgba(85,194,255,.22);background:rgba(85,194,255,.12);
    }
    .powered{text-align:center;font-size:12px;color:#91a4b8;margin-top:12px}
    .powered-link{color:#91a4b8;text-decoration:none;font-weight:700}
    .powered-link:hover,.powered-link:focus{text-decoration:underline;color:#c4d4e4}

    @media (max-width: 960px){
      .auth-shell,.pay-shell,.success-shell{grid-template-columns:1fr}
      .auth-wrap,.pay-wrap{padding:16px}
      .auth-hero,.auth-card,.pay-shell,.success-card{border-radius:28px}
      .auth-hero h1,.pay-brand h1{font-size:3.1rem}
      .pay-brand{min-height:auto}
      .success-brand{display:none}
    }
    @media (max-width: 640px){
      .auth-wrap{padding:16px}
      .auth-hero,.auth-card-top,.auth-form{padding-left:22px;padding-right:22px}
      .auth-hero{padding-top:26px;padding-bottom:26px}
      .auth-grid,.pay-grid,.inline-two,.themes,.details,.card-actions{grid-template-columns:1fr}
      .auth-brand-name{font-size:1.45rem}
      .auth-hero h1{font-size:2.45rem}
      .price-box{flex-direction:column;align-items:flex-start}
      .price-big{font-size:1.8rem}
      .mobile-shell{padding:18px 12px 28px}
      .dashboard-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width: 380px){
      .dashboard-grid,.card-actions,.details{grid-template-columns:1fr}
    }
  

/* Production scaffold additions */
.auth-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.auth-actions .btn{flex:1}
.notice-card{background:rgba(15,23,42,.7);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;color:#d8e4ef;margin-bottom:16px}
.notice-card strong{display:block;margin-bottom:6px;color:#fff}
.status-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);font-size:12px;font-weight:700;color:#cce7ff}
.muted-link{color:#bfe4ff;text-decoration:none;font-weight:700}
.hidden{display:none !important}
.support-grid{display:grid;grid-template-columns:1fr;gap:14px}
.customer-link-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.customer-link-box code{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#e9f5ff;font-size:13px;overflow:auto;max-width:100%}
.loading-cover{position:fixed;inset:0;background:rgba(3,6,15,.82);backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;z-index:999}
.loading-cover.active{display:flex}
.loading-card{width:min(92vw,420px);background:#0b1020;border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:24px;color:#dbe6f2;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.loading-card h3{margin:0 0 8px;font-size:24px;color:#fff}
.loading-card p{margin:0;color:#98adbf;line-height:1.55}
.empty-card{padding:18px;border-radius:22px;border:1px dashed rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#a8b9ca}
.logo-preview-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.brand-mark img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.profile-theme input{display:none}
.profile-theme.checked{border-color:rgba(85,194,255,.4);box-shadow:0 0 0 1px rgba(85,194,255,.25) inset}
.mobile-pill.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.24);color:#ffd699}
.mobile-pill.live{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.24);color:#b7f7cb}
.top-link-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.top-link-row .btn{flex:1}
.inline-note{font-size:12px;color:#96a9ba;margin-top:8px;line-height:1.4}

/* ---------- PRIVATE ADMIN TOOLS ---------- */
.admin-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 16px;
  background:linear-gradient(180deg,#edf3fb 0%,#e8eff8 100%);
  color:#10233f;
}
.admin-shell{
  width:100%;
  max-width:1180px;
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:28px;
  align-items:stretch;
}
.admin-hero{
  background:linear-gradient(145deg,#123968 0%,#0c2f59 55%,#173f74 100%);
  color:#fff;
  border-radius:34px;
  padding:42px;
  box-shadow:0 18px 50px rgba(12,31,66,.12);
}
.admin-badge{
  display:inline-flex;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
  font-weight:800;
  font-size:.9rem;
  margin-bottom:18px;
}
.admin-hero h1{
  margin:0 0 16px;
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.04em;
}
.admin-hero p{
  margin:0;
  color:rgba(255,255,255,.9);
  line-height:1.65;
  font-size:1.04rem;
}
.admin-points{display:grid;gap:14px;margin-top:28px}
.admin-point{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:16px 18px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  font-weight:700;
  line-height:1.45;
}
.admin-point span{
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.admin-card{
  background:#fff;
  border-radius:34px;
  box-shadow:0 18px 50px rgba(12,31,66,.12);
  overflow:hidden;
  border:1px solid #e7edf7;
}
.admin-card-top{padding:30px 32px 12px;border-bottom:1px solid #edf2f9}
.admin-card-top h2{margin:0;font-size:2rem;letter-spacing:-.03em}
.admin-card-top p{margin:10px 0 0;color:#66758f;line-height:1.55}
.admin-form{padding:26px 32px 20px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin-check{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border-radius:18px;
  background:#f5f8fd;
  border:1px solid #e2e9f4;
  font-weight:700;
}
.admin-check input{width:18px;height:18px}
.admin-row{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:14px;
  align-items:center;
  margin-top:18px;
}
.admin-submit{margin-top:0}
.admin-result{
  padding:0 32px 32px;
}
.admin-result-head{
  padding:18px 0 14px;
}
.admin-result-head h3{margin:0;font-size:1.6rem;letter-spacing:-.03em}
.admin-result-head p{margin:8px 0 0;color:#66758f}
.admin-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.admin-result-box{
  border:1px solid #dfe8f3;
  background:#f7fafe;
  border-radius:24px;
  padding:18px;
}
.admin-result-box.small{}
.admin-result-box small{
  display:block;
  color:#6b7b93;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.admin-result-box strong,
.admin-result-box a{
  display:block;
  font-size:1rem;
  line-height:1.55;
  color:#0f3566;
  margin-bottom:14px;
  word-break:break-word;
}
.full-span{grid-column:1 / -1}

@media (max-width: 980px){
  .admin-shell{grid-template-columns:1fr}
}
@media (max-width: 720px){
  .admin-grid,
  .admin-result-grid,
  .admin-row{grid-template-columns:1fr}
  .admin-hero,.admin-card-top,.admin-form,.admin-result{padding-left:20px;padding-right:20px}
}
