:root{--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--color-primary: #6366F1;--color-primary-dark: #4F46E5;--color-secondary: #8B5CF6;--color-success: #10B981;--color-danger: #f44336;--color-text: rgba(255, 255, 255, .87);--color-text-muted: #888;--color-bg: #242424;--color-bg-card: rgba(255, 255, 255, .05);--touch-target: 44px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;font-size:16px;color-scheme:light dark;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center}h1{font-size:var(--font-size-2xl);line-height:1.2;margin:0 0 var(--space-md) 0;word-break:break-word}h2{font-size:var(--font-size-xl);line-height:1.3;margin:0 0 var(--space-sm) 0}h3{font-size:var(--font-size-lg);line-height:1.4;margin:0 0 var(--space-sm) 0}p{margin:0 0 var(--space-sm) 0}a{font-weight:500;color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus{color:var(--color-secondary)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button{min-height:var(--touch-target);min-width:var(--touch-target);border-radius:var(--radius-md);border:1px solid transparent;padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:500;font-family:inherit;background-color:#1a1a1a;color:inherit;cursor:pointer;transition:all var(--transition-base);touch-action:manipulation;-webkit-user-select:none;user-select:none}button:hover{border-color:var(--color-primary)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:active{transform:scale(.98)}@media(hover:none){button:hover{border-color:transparent}}@media(min-width:640px){h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}}@media(min-width:1024px){:root{font-size:18px}h1{font-size:3rem}}@media(prefers-color-scheme:light){:root{--color-text: #213547;--color-bg: #ffffff;--color-bg-card: rgba(0, 0, 0, .03)}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background:#fff;color:#000}}.logo-container{display:flex;justify-content:center;margin-bottom:var(--space-md)}.logo{height:5rem;padding:0;will-change:filter;transition:filter var(--transition-base),transform var(--transition-base)}.logo.merchant-logo{height:6rem}.logo:hover{filter:drop-shadow(0 0 1.5em var(--color-primary));transform:scale(1.05)}@media(hover:none){.logo:hover{transform:none}}.card{padding:var(--space-md);width:100%}.user-section{background:var(--color-bg-card);border-radius:var(--radius-lg);margin-bottom:var(--space-md);padding:var(--space-md);width:100%}.user-info{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.user-avatar{width:64px;height:64px;border-radius:var(--radius-full);border:3px solid var(--color-primary);object-fit:cover}.user-details{text-align:center;width:100%}.user-details h3{margin:0 0 var(--space-xs) 0;color:var(--color-text);font-size:var(--font-size-lg);word-break:break-word}.user-details p{margin:var(--space-xs) 0;color:var(--color-text-muted);font-size:var(--font-size-sm);word-break:break-all}.user-type{display:inline-block;padding:var(--space-xs) var(--space-md);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);font-size:var(--font-size-sm);color:#fff;margin-top:var(--space-sm)}.action-section{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-md)}.btn-action{width:100%;min-height:56px;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.btn-accept-payment{background:linear-gradient(135deg,var(--color-success),#059669);color:#fff}.btn-accept-payment:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-accept-payment:active{transform:translateY(0)}@media(hover:none){.btn-accept-payment:hover{transform:none;box-shadow:none}}.btn-check-qr{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff}.btn-check-qr:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.btn-check-qr:active{transform:translateY(0)}@media(hover:none){.btn-check-qr:hover{transform:none;box-shadow:none}}.btn-logout{width:100%;max-width:200px;min-height:var(--touch-target);padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-base);font-weight:500}.btn-logout:hover{background:var(--color-danger);color:#fff}.btn-logout:active{transform:scale(.98)}@media(hover:none){.btn-logout:hover{background:transparent;color:var(--color-danger)}.btn-logout:active{background:var(--color-danger);color:#fff}}.login-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);width:100%}.login-section h2{margin:0 0 var(--space-sm) 0;font-size:var(--font-size-xl)}.google-btn-container{display:flex;justify-content:center;min-height:var(--touch-target);width:100%}.error-message{color:var(--color-danger);background:#f443361a;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin:0;font-size:var(--font-size-sm);width:100%;text-align:center;word-break:break-word}.read-the-docs{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--space-md);padding:0 var(--space-md)}.read-the-docs a{word-break:break-all}@media(min-width:640px){.logo{height:6rem}.logo.merchant-logo{height:7rem}.card,.user-section{padding:var(--space-lg)}.user-avatar{width:80px;height:80px}.user-details h3{font-size:var(--font-size-xl)}.user-details p{font-size:var(--font-size-base)}.btn-logout{width:auto}.read-the-docs{font-size:var(--font-size-base)}}@media(min-width:1024px){.logo.merchant-logo{height:8rem}.card,.user-section{padding:var(--space-xl)}.user-info{flex-direction:row;justify-content:center;gap:var(--space-xl)}.user-avatar{width:96px;height:96px}.user-details{text-align:left;width:auto}}@media(prefers-color-scheme:light){.user-details h3{color:var(--color-text)}}@media(max-height:500px)and (orientation:landscape){.logo.merchant-logo{height:4rem}.user-section{padding:var(--space-sm)}.user-info{flex-direction:row;gap:var(--space-md)}.user-avatar{width:48px;height:48px}}.crypto-payment-page{max-width:480px;margin:0 auto;padding:var(--space-sm);min-height:100vh;min-height:100dvh}.cancel-button{display:inline-flex;align-items:center;gap:4px;padding:var(--space-xs) var(--space-sm);background:transparent;color:var(--color-text-muted);border:1px solid var(--color-bg-card);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-sm);min-height:36px}.cancel-button svg{width:16px;height:16px}.cancel-button:hover{background:var(--color-bg-card);color:var(--color-text)}.crypto-header{text-align:center;margin-bottom:var(--space-md)}.crypto-header h1{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin:0 0 var(--space-xs) 0}.crypto-subtitle{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.merchant-info-bar{text-align:center;padding:var(--space-xs) var(--space-sm);margin-bottom:var(--space-sm);background:var(--color-bg-card);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-muted)}.merchant-info-bar strong{color:var(--color-text);font-weight:600}.header-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);margin:0 auto var(--space-sm) auto}.header-icon svg{width:24px;height:24px}.header-icon.unlocked{background:linear-gradient(135deg,#6366f133,#8b5cf633);color:var(--color-primary)}.header-icon.locked{background:linear-gradient(135deg,#10b98133,#05966933);color:var(--color-success)}.crypto-header.rate-locked h1,.crypto-header.rate-locked .crypto-subtitle{color:var(--color-success)}.amount-input-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.amount-input-card label{display:block;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em}.amount-input-wrapper{display:flex;align-items:center;background:var(--color-bg);border:2px solid transparent;border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);transition:border-color var(--transition-base)}.amount-input-wrapper:focus-within{border-color:var(--color-primary)}.currency-symbol{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-muted);margin-right:var(--space-xs)}.amount-input{flex:1;background:transparent;border:none;font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);outline:none;width:100%;min-height:40px}.amount-input::placeholder{color:var(--color-text-muted);opacity:.5}.amount-input::-webkit-outer-spin-button,.amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input[type=number]{-moz-appearance:textfield}.order-info-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.order-info-row{display:flex;justify-content:space-between;align-items:center}.order-info-row+.order-info-row{margin-top:var(--space-xs)}.order-label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.order-value{font-weight:600;color:var(--color-text)}.amount-highlight{font-size:var(--font-size-lg);color:var(--color-primary)}.crypto-highlight{font-size:var(--font-size-base);color:var(--color-success)}.countdown-highlight{font-size:var(--font-size-base);color:var(--color-warning, #f59e0b);font-variant-numeric:tabular-nums}.currency-selector-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.currency-selector-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-xs);margin-bottom:var(--space-sm)}.currency-selector-header h3{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0}.rates-countdown{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg);padding:2px var(--space-sm);border-radius:var(--radius-full)}.rates-countdown svg{width:12px;height:12px;color:var(--color-primary);flex-shrink:0}.rates-countdown strong{color:var(--color-primary);font-weight:600}.currency-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xs);margin-bottom:var(--space-sm)}.currency-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-sm);background:var(--color-bg);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base);min-height:72px}.currency-option:hover{background:#6366f10d}.currency-option.selected{border-color:var(--color-primary);background:#6366f11a}.currency-icon{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.5rem;color:#fff;flex-shrink:0}.currency-icon.eth{background:linear-gradient(135deg,#627eea,#3c3c3d)}.currency-icon.usdt{background:linear-gradient(135deg,#50af95,#26a17b)}.currency-icon.usdc{background:linear-gradient(135deg,#2775ca,#1a5bb5)}.currency-details{display:flex;flex-direction:column;align-items:center;gap:0}.currency-name{font-weight:600;font-size:var(--font-size-xs);color:var(--color-text)}.currency-amount{font-size:.65rem;color:var(--color-text-muted)}.rate-info{text-align:center;padding:var(--space-xs) var(--space-sm);background:#6366f11a;border-radius:var(--radius-sm);margin-bottom:var(--space-sm)}.rate-info p{margin:0;font-size:var(--font-size-xs);color:var(--color-primary)}.rate-info .rate-note{font-size:.65rem;color:var(--color-text-muted);margin-top:2px}.lock-rate-btn{width:100%;padding:var(--space-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);min-height:44px}.lock-rate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #6366f166}.lock-rate-btn:disabled{opacity:.5;cursor:not-allowed}.locked-rate-banner{background:linear-gradient(135deg,var(--color-success),#059669);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);color:#fff}.countdown-section{display:flex;align-items:center;gap:var(--space-xs)}.countdown-section svg{width:16px;height:16px;flex-shrink:0}.countdown-section span{font-size:var(--font-size-xs)}.countdown-section strong{font-size:var(--font-size-base)}.locked-amount{display:flex;flex-direction:column;gap:2px}.locked-amount span{font-size:var(--font-size-xs);opacity:.9}.crypto-amount-display{font-size:var(--font-size-xl);font-weight:700}.qr-code-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);text-align:center}.qr-code-card h2{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0 0 var(--space-sm) 0}.qr-code-container{display:flex;justify-content:center;margin-bottom:var(--space-sm)}.qr-code-image{width:160px;height:160px;border:3px solid var(--color-bg);border-radius:var(--radius-md);padding:var(--space-xs);background:#fff}.wallet-address-section{text-align:left;margin-top:var(--space-sm)}.wallet-address-section label{display:block;font-size:.65rem;font-weight:600;color:var(--color-text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.address-row{display:flex;align-items:center;gap:var(--space-xs);background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm)}.wallet-address{flex:1;font-family:Courier New,monospace;font-size:.65rem;color:var(--color-text);word-break:break-all;background:transparent}.copy-button{padding:var(--space-xs);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-base);flex-shrink:0;min-width:36px;min-height:36px}.copy-button svg{width:16px;height:16px}.copy-button:hover{background:var(--color-primary-dark)}.copied-message{display:block;text-align:center;color:var(--color-success);font-size:var(--font-size-xs);font-weight:500;margin-top:4px}.network-info{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);margin-top:var(--space-sm)}.network-label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.network-badge{background:#10b9811a;color:var(--color-success);padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:.65rem;font-weight:600}.instructions-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);text-align:left}.instructions-card h3{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0 0 var(--space-xs) 0}.instructions-list{margin:0;padding-left:var(--space-md);color:var(--color-text)}.instructions-list li{padding:2px 0;font-size:var(--font-size-xs);line-height:1.4}.instructions-list strong{color:var(--color-primary)}.warning-box{display:flex;align-items:flex-start;gap:var(--space-sm);background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);margin-top:var(--space-sm)}.warning-box svg{width:16px;height:16px;color:var(--color-danger);flex-shrink:0;margin-top:1px}.warning-box p{margin:0;font-size:var(--font-size-xs);color:var(--color-text);line-height:1.4}.new-request-btn{width:100%;padding:var(--space-sm);background:var(--color-bg-card);color:var(--color-text);border:2px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);min-height:44px}.new-request-btn:hover{background:var(--color-primary);color:#fff}.loading-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg) var(--space-md);text-align:center}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-bg-card);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-sm)}.loading-card p{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.error-card{background:#f443361a;border:1px solid rgba(244,67,54,.3);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);text-align:center}.error-card p{color:var(--color-danger);font-size:var(--font-size-xs);margin:0 0 var(--space-sm) 0}.retry-button{padding:var(--space-xs) var(--space-md);background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:all var(--transition-base);min-height:36px}.retry-button:hover{background:#d32f2f}.empty-state{text-align:center;padding:var(--space-lg) var(--space-md);color:var(--color-text-muted)}.empty-state p{margin:0;font-size:var(--font-size-sm)}.verify-payment-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm);background:linear-gradient(135deg,var(--color-success),#059669);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);min-height:44px}.verify-payment-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #10b98166}.verify-payment-btn svg{width:18px;height:18px}.verification-card{background:var(--color-bg-card);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);text-align:center}.verification-card h4{font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--space-xs) 0;color:var(--color-text)}.verification-card p{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-sm) 0}.verification-info{color:var(--color-text-muted)}.poll-count{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:500}.verification-animation{position:relative;width:64px;height:64px;margin:0 auto var(--space-md) auto;display:flex;align-items:center;justify-content:center}.verification-animation svg{color:var(--color-primary);animation:spin 2s linear infinite}.pulse-ring{position:absolute;width:100%;height:100%;border-radius:50%;background:#6366f133;animation:pulse 2s ease-out infinite}@keyframes pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}.verification-progress{width:100%;height:4px;background:var(--color-bg);border-radius:var(--radius-full);overflow:hidden;margin:var(--space-sm) 0}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);transition:width .3s ease}.expected-amount,.confirmed-amount{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg);border-radius:var(--radius-sm);margin-top:var(--space-sm)}.expected-amount span,.confirmed-amount span{font-size:var(--font-size-xs);color:var(--color-text-muted)}.expected-amount strong,.confirmed-amount strong{font-size:var(--font-size-sm);color:var(--color-primary)}.confirmed-amount strong{color:var(--color-success)}.status-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-md) auto}.status-icon.success{background:#10b98133;color:var(--color-success)}.status-icon.warning{background:#f59e0b33;color:#f59e0b}.status-icon.error{background:#f4433633;color:var(--color-danger)}.success-text{color:var(--color-success)!important}.warning-text{color:#f59e0b!important}.error-text{color:var(--color-danger)!important}.retry-btn{width:100%;padding:var(--space-sm);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base);min-height:44px;margin-bottom:var(--space-sm)}.retry-btn:hover{background:var(--color-primary-dark)}.new-request-btn.secondary{background:transparent;border:1px solid var(--color-text-muted);color:var(--color-text-muted)}.new-request-btn.secondary:hover{border-color:var(--color-text);color:var(--color-text)}.crypto-header.confirmed h1,.crypto-header.confirmed .crypto-subtitle{color:var(--color-success)}.header-icon.confirmed{background:linear-gradient(135deg,#10b98133,#05966933);color:var(--color-success)}.header-icon.verifying{background:linear-gradient(135deg,#6366f133,#8b5cf633);color:var(--color-primary)}.header-icon.verifying svg{animation:spin 2s linear infinite}@media(min-width:640px){.crypto-payment-page{padding:var(--space-md);max-width:520px}.crypto-header h1{font-size:var(--font-size-xl)}.amount-input{font-size:var(--font-size-2xl)}.qr-code-image{width:180px;height:180px}}@media(hover:none){.cancel-button:hover{background:transparent;color:var(--color-text-muted)}.currency-option:hover{background:var(--color-bg)}.currency-option.selected:hover{background:#6366f11a}.lock-rate-btn:hover:not(:disabled){transform:none;box-shadow:none}.copy-button:hover{background:var(--color-primary)}.new-request-btn:hover{background:var(--color-bg-card);color:var(--color-text)}}@media(prefers-color-scheme:light){.qr-code-image{border-color:#f0f0f0}.warning-box{background:#f443360d}}.qr-scanner-page{max-width:500px;margin:0 auto;padding:16px}.qr-scanner-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.qr-scanner-header h1{margin:0;font-size:1.5rem}.btn-back{padding:8px 16px;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;font-size:1rem}.btn-back:hover{background:#e0e0e0}.qr-scanner-content{display:flex;flex-direction:column;align-items:center;gap:16px}.scanner-start{text-align:center;padding:32px}.scanner-start p{color:#666;margin-bottom:24px}.scanner-loading{text-align:center;padding:32px}.scanner-loading p{color:#666;margin-top:16px}.scanner-loading .loading-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top-color:#4285f4;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.btn-start-scan{padding:16px 32px;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-start-scan:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f466}.scanner-error{text-align:center;padding:24px;background:#fff0f0;border-radius:12px;border:1px solid #ffcccc}.scanner-error p{color:#c00;margin-bottom:16px}.btn-retry{padding:12px 24px;background:#c00;color:#fff;border:none;border-radius:8px;cursor:pointer}#qr-reader{width:100%;max-width:400px;border-radius:12px;overflow:hidden}.qr-reader-active{display:block}.qr-reader-hidden{display:none}.scanner-controls{text-align:center}.scanner-controls p{color:#666;margin-bottom:16px}.btn-stop-scan{padding:12px 24px;background:#666;color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-stop-scan:hover{background:#555}.scanner-result{width:100%;text-align:center;padding:24px;background:#f5f5f5;border-radius:12px;border:1px solid #ddd}.scanner-result.valid{background:#f0fff0;border-color:#cfc}.scanner-result.invalid{background:#fff0f0;border-color:#fcc}.scanner-result h2{color:#333;margin-bottom:16px}.scanner-result.valid h2{color:#228b22}.scanner-result.invalid h2{color:#c00}.verification-icon{margin-bottom:16px}.verification-icon.success{color:#228b22}.verification-icon.error{color:#c00}.merchant-info{margin-bottom:16px;padding:12px;background:#228b221a;border-radius:8px}.merchant-name{font-size:1.2rem;font-weight:600;color:#228b22;margin:0 0 4px}.merchant-email{color:#666;font-size:.9rem;margin:0 0 4px}.merchant-type{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#4285f4,#34a853);color:#fff;border-radius:20px;font-size:.8rem;margin-top:8px}.verification-message{color:#666;font-size:.9rem;margin-bottom:16px}.result-box{background:#fff;padding:16px;border-radius:8px;border:1px solid #ddd;margin-bottom:16px;word-break:break-all;text-align:left}.result-box label{display:block;font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.result-box code{font-size:.8rem;color:#333;display:block}.result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:12px}.btn-copy{padding:10px 20px;background:#4285f4;color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-copy:hover{background:#3367d6}.btn-scan-again{padding:10px 20px;background:#34a853;color:#fff;border:none;border-radius:8px;cursor:pointer}.btn-scan-again:hover{background:#2d8f47}.btn-open-link{display:inline-block;padding:10px 20px;background:#8b5cf6;color:#fff;border:none;border-radius:8px;cursor:pointer;text-decoration:none}.btn-open-link:hover{background:#7c4ddb}#root{width:100%;max-width:100%;margin:0 auto;padding:var(--space-md);text-align:center}@media(min-width:640px){#root{max-width:540px;padding:var(--space-xl)}}@media(min-width:1024px){#root{max-width:720px;padding:var(--space-2xl)}}@media(min-width:1280px){#root{max-width:900px}}@media(max-height:500px)and (orientation:landscape){#root{padding:var(--space-sm)}}
