.app-shell{position:relative;min-height:100vh;overflow:hidden}.background-grid{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(97,153,211,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(97,153,211,.05) 1px,transparent 1px);background-size:58px 58px;-webkit-mask-image:linear-gradient(180deg,#00000047,#000 18%,#000);mask-image:linear-gradient(180deg,#00000047,#000 18%,#000);pointer-events:none}html{min-width:320px;overflow-y:scroll;scrollbar-gutter:stable}.background-glow{position:fixed;width:42rem;height:42rem;border-radius:50%;filter:blur(70px);opacity:.7;pointer-events:none}.glow-left{top:-9rem;left:-14rem;background:radial-gradient(circle,#536eff6b,#536eff00 66%),radial-gradient(circle,#00ebff38,#00ebff00 58%)}.glow-right{top:-4rem;right:-14rem;background:radial-gradient(circle,#00dfff47,#00dfff00 62%),radial-gradient(circle,#3563ff2e,#3563ff00 72%)}.page-frame{position:relative;z-index:1;width:min(980px,calc(100% - 26px));margin:0 auto;padding:18px 0 28px}.panel{position:relative;overflow:hidden;border:1px solid rgba(92,138,188,.28);border-radius:32px;background:radial-gradient(circle at 50% -8%,rgba(142,232,255,.16),transparent 30%),radial-gradient(circle at 50% 0%,rgba(88,122,255,.08),transparent 28%),linear-gradient(180deg,#0f223df5,#081222f0);box-shadow:inset 0 1px #ceeeff1f,inset 0 0 80px #3770ff0d,0 36px 96px #030a147a}.panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(96,176,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(96,176,255,.05) 1px,transparent 1px);background-size:72px 72px;opacity:.52;-webkit-mask-image:radial-gradient(circle at 50% 26%,black 34%,rgba(0,0,0,.68) 54%,transparent 94%);mask-image:radial-gradient(circle at 50% 26%,black 34%,rgba(0,0,0,.68) 54%,transparent 94%);pointer-events:none}.hero-panel{padding:22px;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-badge{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .85rem;border-radius:999px;border:1px solid rgba(109,201,255,.22);background:#59d0ff1a;color:#d6e8ffe0;letter-spacing:.16em;font-size:.72rem;text-transform:uppercase}.hero-title{margin:14px 0 10px;font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.06;font-weight:800;letter-spacing:.04em;background:linear-gradient(90deg,#7df0ff,#9cb8ff 48%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 18px rgba(125,240,255,.18),0 0 36px rgba(156,184,255,.08)}.hero-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%}.hero-tab{width:168px;min-height:42px;padding:.5rem 1.15rem;border-radius:999px;border:2px solid rgba(73,124,150,.8);background:#111828eb;color:#d1ddf1db;font-size:.84rem;font-weight:700;transition:color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;text-decoration:none}.secondary-button,.text-reset-button,.outline-link,.ghost-button{min-height:42px;padding:.5rem 1.15rem;border-radius:999px;border:2px solid rgba(73,124,150,.8);background:#111828eb;color:#d1ddf1db;font-size:.84rem;font-weight:700;white-space:nowrap;transition:color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;text-decoration:none}.hero-tab:hover,.secondary-button:hover,.outline-link:hover,.ghost-button:hover,.submit-button:hover,.text-reset-button:hover{transform:translateY(-1px)}.hero-tab.is-active{color:#75ebff;border-color:#65e7ffe6;box-shadow:inset 0 0 0 1px #6cedff38,0 0 18px #51e0ff6b,0 0 36px #51e0ff38}.progress-panel,.action-panel{margin-top:18px;padding:18px}.progress-track{position:relative;height:5px;border-radius:999px;background:#ffffff24;overflow:hidden}.progress-fill{position:relative;height:100%;border-radius:inherit;background:linear-gradient(90deg,#58e3ff,#aa59ff 62%,#ff60ce);box-shadow:0 0 14px #66e6ff73,0 0 28px #7d63ff38,0 0 42px #ff4ea329}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,#fff0,#ffffff0d 30%,#ffffffb3 50%,#ffffff14 68%,#fff0);transform:translate(-120%);animation:progressSweep 2.6s ease-in-out infinite}.progress-spark{position:absolute;top:50%;width:20px;height:20px;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,#ffffffb3,#82bcff6b 35%,#82bcff00 72%);filter:blur(2px);animation:sparkPulse 1.8s ease-in-out infinite;box-shadow:0 0 18px #66e6ff66,0 0 34px #7d63ff2e}.progress-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:18px}.progress-step{display:flex;flex-direction:column;align-items:center;color:#b9c4d761}.progress-step.is-active{color:#8befff}.progress-step.is-completed{color:#ebf0ffd1}.step-circle{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:2px solid rgba(255,255,255,.18);background:#0a1526bd;font-size:.82rem;font-weight:600}.progress-step.is-active .step-circle{border-color:#66e6ff;color:#66e6ff;box-shadow:0 0 0 1px #66e6ff29,0 0 18px #66e6ff85}.step-title{margin:8px 0 0;font-size:.7rem;font-weight:600}.action-header{margin-bottom:18px}.action-header-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.action-header h2,.sub-panel-head h3{margin:0;font-size:1rem;font-weight:600;color:#79ebff}.step-panel-title{margin:0;color:#79ebff;font-size:.94rem;font-weight:600}.section-head{margin-bottom:18px}.section-head h2{margin:0 0 8px;color:#79ebff;font-size:1rem;font-weight:600}.section-head p{margin:0;color:#e1ecffc2;font-size:.84rem;line-height:1.75}.split-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.confirm-head{align-items:center}.head-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.action-meta-row,.button-row,.toggle-row,.flow-note-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.action-meta{color:#e1ecffb8;font-size:.82rem}.field-stack{display:grid;gap:10px}.field-label{color:#e7f5ff;font-size:.84rem;font-weight:600}.query-form{display:grid;gap:16px}.input-shell,.text-shell{display:block;width:100%;border-radius:20px;border:1px solid rgba(163,211,255,.16);background:#06111fd1;color:#ecf6ff;box-shadow:inset 0 1px #ffffff08,inset 0 0 0 1px #0c1e3673}.input-shell input,.text-shell{width:100%;padding:.78rem .95rem;border:0;background:transparent;color:inherit;font-size:.88rem}.input-shell input{min-height:42px}.text-shell{min-height:180px;resize:vertical;font-family:Consolas,Courier New,monospace;line-height:1.7}.input-shell input::placeholder,.text-shell::placeholder{color:#bed2ee73}.input-shell:focus-within,.text-shell:focus{outline:none;border-color:#59d0ffa6;box-shadow:0 0 0 4px #59d0ff1f,inset 0 1px #ffffff0a}.hint-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.hint-text{color:#bed2eea3;font-size:.78rem}.hint-text.is-error{color:#ff9494eb}.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;width:100%;min-height:44px;border-radius:999px;border:2px solid rgba(101,231,255,.9);background:#111828eb;color:#75ebff;font-size:.88rem;font-weight:700;box-shadow:inset 0 0 0 1px #6cedff2e,0 0 24px #51e0ff4d,0 0 48px #51e0ff1f}.compact-button{width:auto;min-width:240px}.secondary-button{min-width:140px}.submit-button:disabled,.secondary-button:disabled,.text-reset-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.submit-arrow{font-size:1.05rem}.message-box{margin-top:18px;padding:16px 18px;border-radius:20px;border:1px solid transparent;background:#111b2cbf}.message-box strong{display:block;margin-bottom:6px;font-size:.88rem}.message-box p{margin:0;color:#e1ecffd1;font-size:.84rem;line-height:1.75}.force-confirm-row{display:flex;align-items:center;gap:.7rem;margin-top:.9rem;color:#e8eef8eb;font-size:.95rem}.force-confirm-row input{width:16px;height:16px;accent-color:#62deff}.message-box.tone-neutral{background:#59d0ff14;border-color:#59d0ff24}.message-box.tone-info{background:#59d0ff1a;border-color:#59d0ff2e}.message-box.tone-success{background:#39d98a1f;border-color:#39d98a2e}.message-box.tone-warning{background:#ffb65c1f;border-color:#ffb65c2e}.message-box.tone-danger{background:#ff6d7a1f;border-color:#ff6d7a33}.status-grid,.guide-grid,.lookup-summary-grid{display:grid;gap:16px;margin-top:18px}.status-grid,.lookup-summary-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-card,.guide-card,.reference-card,.flow-note-card,.sub-panel,.table-shell{border-radius:24px;border:1px solid rgba(173,223,255,.16);background:radial-gradient(circle at 50% -14%,rgba(132,229,255,.08),transparent 30%),linear-gradient(180deg,#0d1d34e0,#071221f0);box-shadow:inset 0 1px #ceeeff14,inset 0 0 48px #3770ff0d}.status-card,.guide-card,.reference-card,.sub-panel{padding:18px}.status-label,.guide-index,.reference-card span{display:block;color:#bed2ee9e;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.status-value,.reference-card strong{display:block;margin-top:10px;color:#f4f8ff;font-size:.92rem;line-height:1.5;word-break:break-word}.flow-note-card{margin-top:18px;padding:18px}.flow-chip,.flow-time,.parsed-meta{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;font-size:.74rem}.flow-chip{border:1px solid rgba(89,208,255,.18);background:#59d0ff1a;color:#79ebffe6}.flow-time,.parsed-meta{border:1px solid rgba(163,211,255,.12);background:#7cb4f214;color:#e1ecffb8}.flow-note-card p,.guide-card p,.sub-panel-head p{margin:12px 0 0;color:#e1ecffcc;font-size:.84rem;line-height:1.75}.guide-card h3{margin:10px 0 8px;color:#f4f8ff;font-size:.94rem}.sub-panel{margin-top:18px}.minimal-panel,.token-panel,.confirm-panel{display:grid;gap:18px}.lookup-panel{display:grid;gap:20px;padding:28px}.lookup-head{display:grid;gap:10px}.lookup-head p{margin:0;color:#e1ecffc2;font-size:.84rem;line-height:1.7}.lookup-badge{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(109,201,255,.22);background:#59d0ff1a;color:#d6e8ffe0;letter-spacing:.14em;font-size:.72rem;text-transform:uppercase}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stats-card{padding:22px 18px;border-radius:28px;border:1px solid rgba(173,223,255,.16);text-align:center;box-shadow:inset 0 1px #ceeeff0f}.stats-card span{display:block;color:#e1ecff9e;font-size:.84rem;font-weight:600}.stats-card strong{display:block;margin-top:18px;color:#f4f8ff;font-size:1.8rem;font-weight:800}.stats-card-total{background:linear-gradient(180deg,#1c4a76d9,#163154d1)}.stats-card-used{background:linear-gradient(180deg,#502948d9,#3a2136d1)}.stats-card-unused{background:linear-gradient(180deg,#0e433fd9,#0b3230d1)}.stats-card-invalid{background:linear-gradient(180deg,#433a36d9,#332c29d1)}.lookup-textarea{min-height:220px}.sub-panel-head{margin-bottom:14px}.step-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.message-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:#ffffff1f;font-weight:800;flex-shrink:0}.message-title{font-size:.82rem;color:#e1ecffb8}.account-highlight-value{margin-top:4px;color:#79ebff;font-size:.94rem;font-weight:700;word-break:break-word}.confirm-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.confirm-inline-account{display:inline-flex;align-items:baseline;gap:10px;padding:8px 14px;border-radius:999px;background:#7cb4f214;border:1px solid rgba(163,211,255,.12)}.confirm-label{font-size:.82rem;color:#e1ecffb8}.confirm-email{color:#79ebff;font-size:.92rem;font-weight:700}.state-card,.status-card{border-radius:20px;border:1px solid rgba(173,223,255,.14);background:#0a152694;padding:16px 18px}.state-card{text-align:center}.state-card h3{margin:0 0 10px;color:#f4f8ff;font-size:1.2rem}.state-card p{margin:0;color:#e1ecffcc;line-height:1.7}.state-card-success{background:radial-gradient(circle at 50% -10%,rgba(57,217,138,.16),transparent 42%),linear-gradient(180deg,#0c2322e6,#081719eb);border-color:#39d98a3d}.state-icon{width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px;background:#39d98a2e;color:#7effbf;font-size:1.8rem;font-weight:800;box-shadow:0 0 24px #39d98a2e}.success-panel{display:grid;gap:18px}.center-button{justify-self:center}.ready-card,.processing-card{text-align:center}.ready-card{background:radial-gradient(circle at 50% -10%,rgba(89,208,255,.12),transparent 42%),linear-gradient(180deg,#0d1d34e0,#071221f0)}.processing-card{background:radial-gradient(circle at 50% -10%,rgba(255,182,92,.12),transparent 42%),linear-gradient(180deg,#2c1f16e0,#201610f0)}.status-card h3{margin:0 0 10px;color:#f4f8ff;font-size:1.2rem}.status-card p{margin:0;color:#e1ecffc7;line-height:1.7}.status-orb,.status-badge-icon{width:62px;height:62px;margin:0 auto 14px;display:grid;place-items:center;border-radius:18px}.status-orb{background:radial-gradient(circle,rgba(255,196,104,.95),rgba(255,158,61,.2) 70%,transparent 72%);animation:pulse 1.6s ease-in-out infinite}.status-badge-icon{background:#ffffff1a;color:#fff;font-size:1.4rem;font-weight:800}.loading-progress-track{width:100%;height:8px;margin-top:18px;border-radius:999px;background:#ffffff24;overflow:hidden}.loading-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffd17d,#ff9a3d);animation:progressAnimation 2s ease-in-out infinite}@keyframes progressAnimation{0%{width:10%}60%{width:78%}to{width:100%}}@keyframes progressSweep{0%{transform:translate(-120%);opacity:0}18%{opacity:1}to{transform:translate(140%);opacity:0}}@keyframes sparkPulse{0%,to{transform:translateY(-50%) scale(.92);opacity:.72}50%{transform:translateY(-50%) scale(1.08);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.table-shell{margin-top:18px;overflow-x:auto;padding:8px}.empty-panel{margin-top:18px;padding:36px 24px;border-radius:30px;border:1px solid rgba(173,223,255,.16);background:radial-gradient(circle at 50% -14%,rgba(132,229,255,.08),transparent 30%),linear-gradient(180deg,#0d1d34e0,#071221f0);color:#e1ecff9e;text-align:center;font-size:.96rem;font-weight:600;box-shadow:inset 0 1px #ceeeff14,inset 0 0 48px #3770ff0d}.error-panel{color:#ffb8c1eb;border-color:#ff6d7a2e;background:radial-gradient(circle at 50% -14%,rgba(255,150,166,.08),transparent 30%),linear-gradient(180deg,#2d1621e0,#1e0f18f0)}.session-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#020a14a8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000}.session-modal-card{width:min(100%,460px);padding:24px;border-radius:28px;border:1px solid rgba(163,211,255,.18);background:radial-gradient(circle at 50% -14%,rgba(132,229,255,.1),transparent 28%),linear-gradient(180deg,#0d1d34f5,#071221fa);box-shadow:0 28px 70px #0209148c}.session-modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.session-modal-head h3{margin:0;color:#f4f8ff;font-size:1.2rem}.session-modal-close{width:40px;height:40px;border:0;border-radius:999px;background:#ffffff14;color:#e1ecffc7;font-size:1.2rem}.session-modal-text{margin:16px 0 0;color:#e1ecffcc;font-size:.92rem;line-height:1.75}.session-modal-actions{display:grid;gap:12px;margin-top:20px}.session-modal-button{min-height:46px;border-radius:999px;border:2px solid rgba(73,124,150,.8);background:#111828eb;color:#eaf0ffe6;font-size:.9rem;font-weight:700}.session-modal-button.primary{border-color:#65e7ffe6;color:#75ebff;box-shadow:inset 0 0 0 1px #6cedff2e,0 0 24px #51e0ff2e}.lookup-table{width:100%;border-collapse:collapse;color:#eef6ff;font-size:.86rem}.lookup-table th,.lookup-table td{padding:12px 10px;text-align:left;border-bottom:1px solid rgba(163,211,255,.08);vertical-align:top}.lookup-table th{color:#e1ecffb3;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.lookup-status-not-found{color:#ff9aa5f2;font-weight:700}.lookup-status-unused{color:#53d88a;font-weight:700}.empty-cell{text-align:center;color:#bed2eea8}@media (max-width: 980px){.page-frame{width:min(100% - 18px,980px)}.progress-steps,.status-grid,.copy-grid,.stats-grid,.lookup-summary-grid,.guide-grid{grid-template-columns:1fr}}@media (max-width: 640px){.page-frame{width:min(100% - 18px,640px);padding:16px 0 24px}.hero-panel,.progress-panel,.action-panel{padding:18px}.hero-tabs,.progress-steps,.action-header-row,.action-meta-row,.step-panel-head,.button-row,.toggle-row,.flow-note-head{grid-template-columns:1fr;display:grid}.hero-tab,.compact-button,.secondary-button,.outline-link,.ghost-button{width:100%}}.admin-shell{min-height:100vh;padding:24px;background:radial-gradient(circle at 10% 8%,rgba(72,96,255,.24),transparent 24%),radial-gradient(circle at 92% 6%,rgba(39,212,255,.18),transparent 26%),linear-gradient(180deg,#071321,#07111d 56%,#050e18);color:#eef4ff}.admin-header,.admin-login-card,.admin-card,.provider-card,.log-item{border-radius:24px;border:1px solid rgba(173,223,255,.18);background:radial-gradient(circle at 50% -14%,rgba(132,229,255,.08),transparent 30%),linear-gradient(180deg,#0d1d34e0,#071221f0);box-shadow:inset 0 1px #ceeeff14,inset 0 0 48px #3770ff0d}.admin-login-card{width:min(100%,420px);margin:80px auto 0;padding:24px}.admin-login-card h1,.admin-header h1,.admin-card h2,.provider-card h3{margin:0}.admin-login-card p,.admin-header p,.provider-card p{color:#e1ecffc2}.admin-form,.provider-card{display:grid;gap:14px}.admin-form input,.provider-card input{width:100%;margin-top:6px;min-height:42px;padding:0 14px;border-radius:14px;border:1px solid rgba(163,211,255,.16);background:#06111fd1;color:#ecf6ff}.admin-form button,.admin-header button,.provider-actions button,.admin-card-head button{min-height:42px;padding:0 16px;border-radius:999px;border:2px solid rgba(101,231,255,.9);background:#111828eb;color:#75ebff;font-weight:700}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:20px 24px}.admin-card{margin-top:18px;padding:20px 24px}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.provider-card{padding:16px}.provider-top,.provider-actions,.admin-card-head,.log-meta{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.provider-enable{display:inline-flex;align-items:center;gap:8px}.provider-test-result,.log-item pre{margin:0;padding:12px;border-radius:14px;background:#06111fd1;color:#d9f2ff;white-space:pre-wrap;word-break:break-word;font-size:12px}.redemption-list{display:grid;gap:12px;margin-top:16px}.redemption-item{padding:16px;border-radius:18px;border:1px solid rgba(173,223,255,.12);background:#06111fb8}.redemption-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.redemption-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:12px;color:#e1ecffc7;font-size:14px}.redemption-message{margin:12px 0 0;color:#d9f2ff}.redemption-success{color:#53d88a;font-weight:700}.redemption-fail{color:#ff9aa5;font-weight:700}.admin-empty{margin-top:16px;padding:14px 16px;border-radius:16px;background:#06111fb8;color:#e1ecffb3}.admin-error,.admin-message{margin-top:16px;padding:14px 16px;border-radius:16px}.admin-error{border:1px solid rgba(255,109,122,.2);background:#ff6d7a1f;color:#ffb8c1eb}.admin-message{border:1px solid rgba(89,208,255,.18);background:#59d0ff1a;color:#79ebffeb}.log-list{display:grid;gap:12px;margin-top:16px}.log-item{padding:14px}.log-error{color:#ff9aa5}.log-info{color:#8befff}@media (max-width: 900px){.provider-grid,.redemption-grid{grid-template-columns:1fr}}:root{font-family:Space Grotesk,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:#eef4ff;background:linear-gradient(180deg,#081321,#07111f 54%,#06101b);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 8%,rgba(72,96,255,.25),transparent 24%),radial-gradient(circle at 92% 6%,rgba(39,212,255,.18),transparent 26%),linear-gradient(180deg,#071321,#07111d 56%,#050e18);color:#eef4ff}button,input{font:inherit}button{cursor:pointer}code{padding:0 .3rem;border-radius:.35rem;background:#6e97cd1f}a{color:inherit}#root{width:100%}
