*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-bg: #f8fafc;--color-card: #ffffff;--color-text: #1e293b;--color-text-muted: #64748b;--color-border: #e2e8f0;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-warning-bg: #fffbeb;--color-success: #16a34a;--radius: 8px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;width:100%;max-width:400px}.checkout-container{width:100%;max-width:600px}.checkout-container h1{font-size:1.5rem;margin-bottom:.25rem}.checkout-container .subtitle{margin-bottom:1.5rem}.auth-card h1{font-size:1.5rem;margin-bottom:.25rem}.subtitle{color:var(--color-text-muted);margin-bottom:1.5rem}.plan-summary{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem}.plan-price{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.plan-price span{font-size:.875rem;font-weight:400;color:var(--color-text-muted)}.plan-features{list-style:none;font-size:.875rem;color:var(--color-text-muted);display:flex;flex-direction:column;gap:.25rem}.plan-features li:before{content:"✓ ";color:var(--color-success);font-weight:600}.plan-features li.coming-soon{opacity:.55}.plan-features li.coming-soon:before{content:"• ";color:var(--color-text-muted);font-weight:400}.auth-footer{text-align:center;margin-top:1rem;color:var(--color-text-muted)}.auth-footer a{color:var(--color-primary);text-decoration:none}.field{margin-bottom:1rem}.field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.field input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;outline:none;transition:border-color .15s}.field input:focus{border-color:var(--color-primary)}.btn{display:inline-block;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);font-size:.875rem;cursor:pointer;transition:background .15s}.btn:hover{background:var(--color-bg)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}form .btn{width:100%;margin-top:.5rem}.btn-sm{padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);cursor:pointer}.btn-sm.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.error-message{background:var(--color-error-bg);color:var(--color-error);padding:.5rem .75rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}.dashboard{max-width:720px;margin:0 auto;padding:1.5rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.dashboard-header h1{font-size:1.25rem}.header-right{display:flex;align-items:center;gap:.75rem}.user-email{color:var(--color-text-muted);font-size:.875rem}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}.card h2{font-size:1rem;margin-bottom:.75rem}.card p{color:var(--color-text-muted);font-size:.875rem;margin-bottom:.75rem}.status-pending{background:var(--color-warning-bg)}.status-active{border-color:var(--color-success)}.status-cancelled{background:var(--color-error-bg)}.status-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.status-row h2{margin-bottom:0}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.badge-active{background:#dcfce7;color:#166534}.badge-cancelled{background:#fee2e2;color:#991b1b}.badge-pastdue{background:#fef3c7;color:#92400e}.status-cancelling{background:#fef3c7;border-color:#f59e0b}.badge-cancelling{background:#fef3c7;color:#92400e}.status-actions{margin-top:.5rem}.key-inactive{color:var(--color-error);font-weight:500;margin-top:.5rem}.api-key-display label{display:block;font-size:.75rem;color:var(--color-text-muted);margin-bottom:.5rem}.api-key-row{display:flex;align-items:center;gap:.5rem}.api-key-value{flex:1;padding:.5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-family:SF Mono,Fira Code,monospace;font-size:.875rem;word-break:break-all}.usage-stats{display:flex;flex-direction:column;gap:1rem}.stat-header{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.25rem}.progress-bar{height:8px;background:var(--color-bg);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s}.setup-card{border-color:var(--color-primary);border-width:2px}.from-address-input-row{display:flex;align-items:center;gap:0;margin-bottom:.75rem}.from-address-input-row input{flex:1;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius) 0 0 var(--radius);font-size:1rem;outline:none;transition:border-color .15s}.from-address-input-row input:focus{border-color:var(--color-primary)}.from-address-suffix{padding:.5rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-left:none;border-radius:0 var(--radius) var(--radius) 0;font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.from-address-count{font-size:.75rem;color:var(--color-text-muted);margin-bottom:.75rem}.from-address-list{display:flex;flex-direction:column;gap:.5rem}.from-address-item{display:block;padding:.5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-family:SF Mono,Fira Code,monospace;font-size:.875rem}.verify-code-card,.verify-code-card .subtitle{text-align:center}.verify-code-card .field{text-align:left}.code-input{font-family:SF Mono,Fira Code,monospace;font-size:1.5rem!important;letter-spacing:6px;text-align:center}.resend-row{margin-top:1rem;text-align:center;font-size:.875rem;color:var(--color-text-muted)}.resend-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.875rem;padding:0;text-decoration:underline}.resend-cooldown{color:var(--color-text-muted)}
