:root{color-scheme:light dark;--bg: #0f172a;--bg-elevated: #1e293b;--text: #f8fafc;--text-muted: #94a3b8;--border: #334155;--accent: #38bdf8;--accent-soft: rgba(56, 189, 248, .15);--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--radius: 12px;--space: 16px;--font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font);background:radial-gradient(1200px 600px at 50% -10%,#1d4ed8 0%,transparent 55%),var(--bg);color:var(--text);line-height:1.45;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}.page{max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 20px) var(--space) calc(env(safe-area-inset-bottom,0px) + 24px)}.page__header{margin-bottom:20px}.page__title{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.page__subtitle{margin:6px 0 0;font-size:.875rem;color:var(--text-muted);word-break:break-all}.card{background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space);margin-bottom:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card__title{margin:0 0 10px;font-size:1rem;font-weight:600}.card__hint{margin:0;font-size:.875rem}.status-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.badge{flex-shrink:0;font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:999px;white-space:nowrap}.badge--accent{background:var(--accent-soft);color:var(--accent)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.copy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.copy-row:first-of-type{border-top:none;padding-top:0}.copy-row__meta{min-width:0;flex:1}.copy-row__label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:2px}.copy-row__value{display:block;font-size:1.05rem;font-weight:600;word-break:break-word}.copy-row__value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.02em}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:10px;padding:10px 14px;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:linear-gradient(180deg,#0ea5e9,#0284c7);border-color:#0369a1;color:#fff}.btn--ghost{background:transparent}.btn--sm{padding:6px 10px;font-size:.8125rem}.btn--block{width:100%;margin-top:4px}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.field__input{width:100%;border:1px solid var(--border);background:#0b1220;color:var(--text);border-radius:10px;padding:12px;font:inherit;font-size:1rem}.field__input:focus{outline:2px solid var(--accent);outline-offset:1px}.field__file{font-size:.875rem;color:var(--text-muted)}.field__file-name{font-size:.8125rem}.field-readonly{margin:0 0 12px}.field-readonly__label{display:block;font-size:.75rem;color:var(--text-muted)}.field-readonly__value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600}.voucher-preview{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:10px;border:1px solid var(--border);background:#020617}.notice{border-radius:10px;padding:12px 14px;margin:0 0 14px;font-size:.875rem}.notice--error{background:var(--danger-soft);color:#fecaca;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent)}.notice--warn{background:var(--warn-soft);color:#fde68a;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}.notice--info{background:var(--accent-soft);color:#bae6fd;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.notice--success{background:var(--success-soft);color:#bbf7d0;border:1px solid color-mix(in srgb,var(--success) 35%,transparent)}.notice__action{display:inline-block;margin-left:10px;vertical-align:middle}.muted{color:var(--text-muted);font-size:.875rem}
