    /* Page-specific overrides only */
    .gt-card-header svg { margin-bottom: 10px; opacity: 0.85; }
    @keyframes spin { to { transform: rotate(360deg); } }

    /* ═══ Setup Wizard — Lively & Centered ═══ */
    #web-setup-wizard { display:none; width:100%; max-width:var(--theme-auth-shell-max-width, 1100px); position:relative; z-index:10; }

    /* Animated floating shapes behind wizard */
    .wiz-bg-shapes { display:none; }
    .wiz-bg-shapes .shape {
      position:absolute; border-radius:50%; opacity:.12; filter:blur(2px);
      animation: wizFloat 8s ease-in-out infinite alternate;
    }
    .wiz-bg-shapes .shape:nth-child(1) { width:180px; height:180px; background:var(--theme-setup-orb-brand); top:8%; left:5%; animation-delay:0s; }
    .wiz-bg-shapes .shape:nth-child(2) { width:120px; height:120px; background:var(--theme-setup-orb-rose); top:60%; right:8%; animation-delay:-2s; animation-duration:10s; }
    .wiz-bg-shapes .shape:nth-child(3) { width:90px; height:90px; background:var(--theme-setup-orb-success); bottom:15%; left:12%; animation-delay:-4s; animation-duration:12s; }
    .wiz-bg-shapes .shape:nth-child(4) { width:60px; height:60px; background:var(--theme-setup-orb-warning); top:20%; right:20%; animation-delay:-1s; animation-duration:9s; }
    .wiz-bg-shapes .shape:nth-child(5) { width:140px; height:140px; background:var(--theme-setup-orb-indigo); bottom:5%; right:25%; animation-delay:-3s; animation-duration:11s; }
    @keyframes wizFloat {
      0% { transform: translateY(0) rotate(0deg) scale(1); }
      50% { transform: translateY(-30px) rotate(10deg) scale(1.05); }
      100% { transform: translateY(15px) rotate(-5deg) scale(0.95); }
    }
    body.dark-mode .wiz-bg-shapes .shape { opacity:.08; }

    /* Card — glass morphism */
    .wiz-card {
      background: var(--theme-auth-card-bg, var(--bg-card, #fff));
      border-radius:var(--radius-xl, 22px);
      box-shadow: var(--theme-auth-card-shadow, var(--theme-setup-card-shadow));
      overflow:hidden;
      position:relative;
      -webkit-backdrop-filter: var(--theme-auth-card-backdrop, blur(18px));
      backdrop-filter: var(--theme-auth-card-backdrop, blur(18px));
      border: 1px solid var(--theme-auth-card-border, var(--theme-setup-card-border));
      animation: wizCardEntry .6s cubic-bezier(.16,1,.3,1) both;
    }
    body.dark-mode .wiz-card { box-shadow: var(--theme-auth-card-shadow, var(--theme-setup-card-shadow-dark)); border-color: var(--theme-auth-card-border, var(--theme-setup-card-border-dark)); }
    @keyframes wizCardEntry { from { opacity:0; transform:translateY(40px) scale(.97); } to { opacity:1; transform:none; } }

    /* Step indicators */
    .wiz-steps-indicator { display:flex; justify-content:center; gap:8px; padding:20px 32px 0; }
    .wiz-step-dot {
      display:flex; align-items:center; gap:6px; font-size:11px; font-weight:600; color:var(--theme-setup-step-text-muted);
      transition: all .3s ease;
    }
    .wiz-step-dot .dot {
      width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center;
      font-size:12px; font-weight:700; transition:all .3s ease;
      background:var(--theme-setup-step-dot-bg); color:var(--theme-setup-step-text-muted);
      border:2px solid var(--theme-setup-step-dot-border);
    }
    .wiz-step-dot.active .dot { background:var(--theme-setup-orb-brand); color:#fff; border-color:transparent; box-shadow:var(--theme-setup-step-active-shadow); transform:scale(1.1); }
    .wiz-step-dot.done .dot { background:var(--theme-setup-orb-success); color:#fff; border-color:transparent; }
    .wiz-step-dot.active { color:var(--theme-setup-step-active-text); }
    .wiz-step-dot.done { color:var(--theme-setup-step-done-text); }
    .wiz-step-connector { width:40px; height:2px; background:var(--theme-setup-step-connector); border-radius:2px; align-self:center; transition:background .3s; }
    .wiz-step-connector.done { background:var(--theme-setup-step-connector-done); }

    /* Progress bar — now with shimmer */
    .wiz-progress-bar { height:4px; background:var(--theme-setup-progress-track); position:relative; overflow:hidden; }
    .wiz-progress-fill {
      height:100%; background:var(--theme-setup-progress-fill);
      transition:width .5s cubic-bezier(.4,0,.2,1); border-radius:0 2px 2px 0;
      position:relative;
    }
    .wiz-progress-fill[data-step="1"] { width:33%; }
    .wiz-progress-fill[data-step="2"] { width:66%; }
    .wiz-progress-fill[data-step="3"] { width:100%; }
    .wiz-progress-fill::after {
      content:''; position:absolute; inset:0;
      background:var(--theme-setup-progress-shimmer);
      animation: wizShimmer 2s ease-in-out infinite;
    }
    @keyframes wizShimmer { 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

    /* Steps */
    .wiz-step { display:none; padding:28px 36px; }
    .wiz-step.active { display:block; animation: wizStepIn .4s ease both; }
    @keyframes wizStepIn { from { opacity:0; transform:translateX(20px); } to { opacity:1; transform:none; } }

    /* Header */
    .wiz-header { text-align:center; margin-bottom:24px; }
    .wiz-header h1 { font-size:20px; font-weight:800; color:var(--theme-setup-heading-text); margin:14px 0 6px; letter-spacing:-.3px; }
    .wiz-header p { font-size:13px; color:var(--theme-setup-copy-text); margin:0; }
    .wiz-icon {
      width:64px; height:64px; border-radius:16px; display:inline-flex; align-items:center; justify-content:center;
      box-shadow:var(--theme-setup-brand-shadow);
      animation: wizIconPulse 3s ease-in-out infinite;
      position:relative;
    }
    .wiz-icon::after {
      content:''; position:absolute; inset:-4px; border-radius:20px;
      background:inherit; opacity:.15; filter:blur(8px); z-index:-1;
    }
    @keyframes wizIconPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }

    /* Fields */
    .wiz-field { margin-bottom:18px; }
    .wiz-field label { display:block; font-size:13px; font-weight:600; color:var(--theme-setup-field-label); margin-bottom:6px; }
    .wiz-field input[type=text], .wiz-field input[type=password] {
      width:100%; padding:13px 16px; font-size:14px;
      border:1px solid var(--theme-setup-input-border); border-radius:12px;
      background:var(--bg-input, #fff); color:var(--theme-setup-input-text);
      box-sizing:border-box; transition: all .3s cubic-bezier(.16,1,.3,1); font-family:inherit;
      box-shadow: var(--theme-setup-soft-shadow);
    }
    .wiz-field input:focus { outline:none; border-color:var(--theme-setup-input-focus-border); box-shadow:var(--theme-setup-input-focus-ring), var(--theme-setup-soft-shadow); transform:translateY(-1px); }
    .wiz-hint { font-size:11px; color:var(--theme-setup-muted-text); margin-top:5px; }
    .wiz-required { color:var(--theme-setup-danger); }
    .wiz-optional { color:var(--theme-setup-muted-text); font-weight:400; font-size:11px; }

    /* Logo drop zone */
    .wiz-logo-zone {
      border:2px dashed var(--border-primary, #E2E8F0); border-radius:16px; padding:24px;
      text-align:center; cursor:pointer; transition: all .35s cubic-bezier(.16,1,.3,1);
      background:var(--bg-card-nested, rgba(249,250,251,.5));
      box-shadow: var(--theme-setup-soft-shadow);
    }
    .wiz-logo-zone:hover { border-color:var(--theme-setup-logo-zone-hover-border); background:var(--theme-setup-logo-zone-hover-bg); transform:translateY(-2px); box-shadow:var(--theme-setup-soft-shadow-hover); }
    .wiz-logo-zone span { display:block; font-size:12px; color:var(--theme-setup-muted-text); }
    .wiz-logo-zone strong { color:var(--theme-setup-accent-text); }
    .wiz-logo-preview { display:none; align-items:center; justify-content:center; gap:12px; }
    .wiz-logo-preview img { max-width:min(200px,100%); max-height:96px; width:auto; height:auto; object-fit:contain; border-radius:14px; border:2px solid var(--border-primary, #E2E8F0); padding:4px; background:var(--bg-card,#fff); }
    .wiz-logo-remove { background:none; border:none; color:var(--theme-setup-danger); font-size:20px; cursor:pointer; padding:4px 8px; border-radius:10px; transition:all .3s cubic-bezier(.16,1,.3,1); }
    .wiz-logo-remove:hover { background:var(--theme-setup-danger-bg-dark); }

    /* Error */
    .wiz-error {
      background:var(--theme-setup-danger-bg); color:var(--theme-setup-danger-text); border:1px solid var(--theme-setup-danger-border); border-radius:12px;
      padding:10px 14px; font-size:13px; margin-bottom:14px; display:none;
      animation: wizShake .4s ease;
    }
    @keyframes wizShake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-8px)} 40%{transform:translateX(8px)} 60%{transform:translateX(-4px)} 80%{transform:translateX(4px)} }

    /* Footer */
    .wiz-footer { display:flex; justify-content:space-between; align-items:center; padding:18px 36px; border-top:1px solid var(--border-primary, #E5E7EB); background:var(--bg-card-nested, var(--theme-setup-footer-bg)); }
    .wiz-btn {
      padding:12px 28px; border-radius:12px; font-size:14px; font-weight:600;
      cursor:pointer; border:1px solid var(--theme-setup-btn-border); transition:all .35s cubic-bezier(.16,1,.3,1); font-family:inherit;
      box-shadow: var(--theme-setup-soft-shadow);
    }
    .wiz-btn-primary {
      background:var(--theme-setup-orb-brand); color:#fff;
      box-shadow:var(--theme-setup-brand-shadow);
    }
    .wiz-btn-primary:hover { transform:translateY(-2px); box-shadow:var(--theme-setup-brand-shadow-hover); }
    .wiz-btn-primary:active { transform:scale(.97); box-shadow:var(--theme-setup-brand-shadow-active); }
    .wiz-btn-primary:disabled { opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }
    .wiz-btn-secondary { background:var(--theme-setup-secondary-bg); color:var(--theme-setup-secondary-text); box-shadow:var(--theme-setup-soft-shadow); }
    .wiz-btn-secondary:hover { background:var(--theme-setup-secondary-bg-hover); transform:translateY(-2px); box-shadow:var(--theme-setup-soft-shadow-hover); }
    .wiz-btn-secondary:active { transform:scale(.97); box-shadow:var(--theme-setup-secondary-active-shadow); }

    /* Summary */
    .wiz-summary { background:var(--theme-setup-summary-bg); border-radius:16px; padding:18px 22px; margin-bottom:16px; border:1px solid var(--theme-setup-summary-border); box-shadow:var(--theme-setup-summary-shadow); }
    .wiz-summary-row { display:flex; justify-content:space-between; padding:8px 0; font-size:13px; }
    .wiz-summary-row:not(:last-child) { border-bottom:1px solid var(--theme-setup-summary-divider); }
    .wiz-summary-label { color:var(--theme-setup-summary-label); }
    .wiz-summary-value { font-weight:600; color:var(--theme-setup-heading-text); }
    .wiz-next-steps h3 { font-size:14px; font-weight:700; color:var(--theme-setup-heading-text); margin:18px 0 10px; }
    .wiz-next-steps li { font-size:13px; color:var(--theme-setup-list-text); margin-bottom:8px; line-height:1.6; padding-left:4px; }
    .wiz-next-steps li strong { color:var(--theme-setup-list-accent); }

    /* Success celebration */
    .wiz-success-badge {
      display:inline-flex; align-items:center; gap:6px; background:var(--theme-setup-success-badge);
      color:var(--theme-setup-success-text); padding:6px 16px; border-radius:20px; font-size:12px; font-weight:700;
      margin-top:8px; letter-spacing:.5px; animation:wizBounceIn .5s cubic-bezier(.68,-.55,.27,1.55) both;
    }
    @keyframes wizBounceIn { from{opacity:0;transform:scale(.3)} to{opacity:1;transform:scale(1)} }

    /* Confetti canvas */
    #wiz-confetti { position:fixed; inset:0; pointer-events:none; z-index:999; }

    /* Dark mode overrides */
    body.dark-mode .wiz-error { background:var(--theme-setup-danger-bg-dark); color:var(--theme-setup-danger-text-dark); border-color:var(--theme-setup-danger-border-dark); }
    body.dark-mode .wiz-card { background:linear-gradient(180deg, rgba(8, 15, 30, 0.92) 0%, rgba(15, 23, 42, 0.96) 100%); border-color:var(--theme-setup-card-border-dark); }
    body.dark-mode .wiz-field input[type=text],
    body.dark-mode .wiz-field input[type=password] {
      background:rgba(17, 28, 46, 0.94);
      border-color:var(--theme-setup-input-border);
      color:var(--theme-setup-input-text);
    }
    body.dark-mode .wiz-field input::placeholder { color:var(--text-placeholder); }
    body.dark-mode .wiz-footer { background:var(--theme-setup-panel-bg-dark); }
    body.dark-mode .wiz-logo-zone { background:var(--theme-setup-zone-bg-dark); }
    body.dark-mode .wiz-logo-zone:hover { background:var(--theme-setup-zone-bg-dark-hover); }
    body.dark-mode .wiz-summary { border-color:var(--theme-setup-summary-border-dark); }
    body.dark-mode .wiz-header p,
    body.dark-mode .wiz-hint,
    body.dark-mode .wiz-logo-zone span,
    body.dark-mode .wiz-summary-label { color:var(--theme-setup-muted-text); }
    .wiz-progress-fill--initial { width:33%; }
    .wiz-icon--brand { background:var(--theme-setup-orb-brand); }
    .wiz-icon--success { background:var(--theme-setup-orb-success); }
    .wiz-upload-icon { margin-bottom:6px; }

    /* Login form — beat global styles.css input[type="text"] padding (icon clearance) */
    .theme-login-card .theme-login-input {
        box-sizing: border-box;
        width: 100%;
        min-height: 44px;
        line-height: 1.35;
        padding: 11px 16px 11px 44px;
        font-size: 14px;
        font-weight: 500;
        font-family: inherit;
    }

    .theme-login-card .password-toggle-wrap .theme-login-input,
    .theme-login-card .password-toggle-wrap .password-toggle-target {
        padding-right: 82px;
    }

    .theme-login-card .theme-login-input:focus {
        border-color: var(--brand-primary, #112233);
        background: var(--bg-card, #FFFFFF);
        box-shadow: 0 0 0 3px var(--brand-primary-ring, rgba(17, 34, 51, 0.15)), var(--shadow-md);
    }
