:root{--primary: #2563eb;--primary-hover: #1d4ed8;--success: #059669;--error: #dc2626;--bg-main: #f8fafc;--card-bg: #ffffff;--text-main: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-main);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:1000px;margin:2rem auto;padding:0 1rem}header{text-align:center;margin-bottom:3rem}header h1{font-size:2.5rem;font-weight:800;color:var(--text-main);letter-spacing:-.025em;margin-bottom:.5rem}header p{color:var(--text-muted);font-size:1.125rem}.stepper{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative;max-width:800px;margin-left:auto;margin-right:auto}.stepper:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background-color:var(--border);transform:translateY(-50%);z-index:1}.step-item{position:relative;z-index:2;background-color:var(--bg-main);padding:0 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:3rem;height:3rem;border-radius:50%;background-color:var(--card-bg);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s ease}.step-item.active .step-number{border-color:var(--primary);background-color:var(--primary);color:#fff;box-shadow:0 0 0 4px #2563eb26}.step-item.completed .step-number{border-color:var(--success);background-color:var(--success);color:#fff}.step-label{font-size:.875rem;font-weight:600;color:var(--text-muted)}.step-item.active .step-label{color:var(--primary)}.card{background:var(--card-bg);border-radius:1rem;box-shadow:var(--shadow);padding:2rem;margin-bottom:2rem;border:1px solid var(--border)}.section-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:1rem;gap:.5rem;text-decoration:none}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-secondary{background-color:var(--bg-main);color:var(--text-main);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background-color:var(--border)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-main)}.form-control{width:100%;padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--border);background-color:var(--bg-main);transition:all .2s ease}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.error-text{color:var(--error);font-size:.75rem;margin-top:.25rem}.grid{display:grid;gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.step-nav{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.template-card{border:2px solid var(--border);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .2s ease;background:var(--bg-main);text-align:center}.template-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.template-card.active{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #2563eb1a}.template-preview-box{height:180px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;padding:1rem;border-bottom:1px solid var(--border)}.template-info{padding:1rem}.hidden-receipt-container{position:absolute;left:-9999px;top:0}.loader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;color:#fff}.loader-card{background:#fff;padding:3rem;border-radius:1.5rem;text-align:center;max-width:400px;width:90%}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--primary);border-radius:50%;margin:0 auto 1.5rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
