*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--surface-color: #ffffff;--background-color: #f8fafc;--border-color: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 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);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-pro: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--gradient-already-pro: linear-gradient(135deg, #4f46e5 0%, #8b5cf6 100%)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--background-color);color:var(--text-primary);line-height:1.6;min-height:100vh}.app-header{background:var(--gradient-primary);color:#fff;padding:2rem 0;text-align:center;position:relative;overflow:hidden}.app-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;z-index:0}.header-content{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 1rem}.app-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.025em}.subtitle{font-size:1.1rem;opacity:.9;font-weight:400;margin-bottom:1.5rem}.upgrade-button{display:inline-flex;align-items:center;gap:.5rem;background:var(--gradient-pro);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md)}.upgrade-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.app-layout{max-width:1400px;margin:0 auto;padding:2rem 1rem;display:grid;grid-template-columns:1fr 600px;gap:2rem;align-items:start}.progress-container{grid-column:1 / -1;margin-bottom:2rem}.progress-steps{display:flex;justify-content:space-between;margin-bottom:1rem;position:relative}.progress-steps:before{content:"";position:absolute;top:20px;left:0;right:0;height:2px;background:var(--border-color);z-index:0}.step-indicator{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:var(--surface-color);padding:.5rem;border-radius:var(--radius-md);position:relative;z-index:1;transition:all .3s ease;flex:1;text-align:center}.step-number{width:40px;height:40px;border-radius:50%;background:var(--border-color);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s ease}.step-indicator span{font-size:.875rem;color:var(--text-secondary);text-align:center;font-weight:500;transition:color .3s ease}.login-button{background:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease}.step-indicator.active .step-number{background:var(--primary-color);color:#fff}.step-indicator.active span{color:var(--primary-color);font-weight:600}.progress-track{height:4px;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);transition:width .5s ease;border-radius:var(--radius-sm);width:0%}.form-section{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.form-container{padding:2rem}.form-step{animation:fadeIn .3s ease}.form-step.hidden{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-header{margin-bottom:2rem;text-align:center}.step-header h2{font-size:1.875rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.step-header p{color:var(--text-secondary);font-size:1.1rem}.section-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;transition:all .3s ease}.section-card:hover{box-shadow:var(--shadow-sm)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-card h3,.section-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.section-card h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.pricing-card{position:relative;cursor:pointer}.pricing-card input{position:absolute;opacity:0;pointer-events:none}.card-content{background:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;transition:all .3s ease;height:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.card-content:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pricing-card input:checked+.card-content{border-color:var(--primary-color);background:#eff6ff;box-shadow:var(--shadow-lg)}.card-content svg{color:var(--primary-color)}.card-content h4{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.card-content p{color:var(--text-secondary);font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-grid-single{display:grid;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group.full-width{grid-column:1 / -1}.input-group label{font-weight:500;color:var(--text-primary);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.input-group input,.input-group select,.input-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease;background:var(--surface-color)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.input-group textarea{resize:vertical;min-height:100px}.pro-badge,.pro-badge-inline{background:var(--gradient-pro);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.025em}.pro-badge-inline{font-size:.625rem;padding:.125rem .375rem}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.option-card{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;transition:all .3s ease}.option-card:hover{box-shadow:var(--shadow-sm)}.option-header{margin-bottom:.75rem}.option-description{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.client-selector{display:flex;gap:.5rem}.client-selector select{flex:1}.icon-button{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-color);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.icon-button:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.icon-button:disabled{opacity:.5;cursor:not-allowed}.deposit-controls{display:flex;gap:.5rem;align-items:center}.deposit-controls input{flex:1}.generation-summary{margin-bottom:2rem}.summary-card{background:var(--background-color);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.summary-card h3{margin-bottom:1rem;color:var(--text-primary)}.summary-content p{margin-bottom:.5rem;color:var(--text-secondary)}.summary-content span{color:var(--text-primary);font-weight:500}.step-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.nav-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;border:none;font-size:1rem}.nav-button.primary{background:var(--primary-color);color:#fff}.nav-button.primary:hover:not(:disabled){background:var(--primary-hover)}.nav-button.secondary{background:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color)}.nav-button.secondary:hover:not(:disabled){background:var(--background-color);color:var(--text-primary)}.nav-button:disabled{opacity:.5;cursor:not-allowed}.generate-btn{background:var(--gradient-primary);font-weight:600;padding:1rem 2rem}.generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.output-section{position:sticky;top:2rem}.pro-button-container{display:flex;gap:1rem}.already-pro-button{background:var(--gradient-already-pro);color:#fff;border:none;padding:1rem 2rem;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;flex-direction:column}.already-pro-button span{font-size:.75rem;opacity:.9;font-weight:400}.already-pro-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.document-paper{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-height:600px;padding:2rem;margin-bottom:1rem;-webkit-user-select:none;-ms-user-select:none;user-select:none}.placeholder-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted);gap:1rem;min-height:400px}.placeholder-content svg{opacity:.5}.placeholder-content h3{font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.document-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--primary-color)}.provider-info{flex:1}.document-header h2{color:var(--primary-color);font-size:2rem;font-weight:700;text-align:right}.document-parties{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.info-block h4{color:var(--primary-color);border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:1rem}.document-details{margin-bottom:2rem}.document-table-container{margin:2rem 0}.document-table{width:100%;border-collapse:collapse;font-size:.9rem}.document-table th,.document-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.document-table th{background:var(--background-color);font-weight:600;color:var(--primary-color)}.document-table .number{text-align:right}.document-footer{display:grid;grid-template-columns:1fr auto;gap:2rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-color)}.document-totals{min-width:200px}.document-totals>div{display:flex;justify-content:space-between;padding:.25rem 0}.document-totals .total{font-weight:700;font-size:1.1rem;border-top:2px solid var(--primary-color);padding-top:.5rem;margin-top:.5rem;color:var(--primary-color)}.logo-container{margin-bottom:1rem}.logo-img{max-width:150px;max-height:80px;object-fit:contain}#document-actions{display:flex;gap:.75rem;margin-bottom:1rem}.action-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;border:none;font-size:.875rem}.action-button.primary{background:var(--primary-color);color:#fff}.action-button.primary:hover:not(:disabled){background:var(--primary-hover)}.action-button.secondary{background:var(--surface-color);color:var(--text-secondary);border:1px solid var(--border-color)}.action-button.secondary:hover:not(:disabled){background:var(--background-color);color:var(--text-primary)}.action-button:disabled{opacity:.5;cursor:not-allowed}.history-section{background:var(--surface-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem}.history-section h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}#history-list{list-style:none}#history-list li{padding:1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:.75rem;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}#history-list li:hover{background:var(--background-color);border-color:var(--primary-color)}#history-list li.active{background:#eff6ff;border-color:var(--primary-color)}.info .subject{font-weight:600;color:var(--text-primary);display:block;margin-bottom:.25rem}.info .date{font-size:.875rem;color:var(--text-secondary)}.doc-type-tag{background:var(--primary-color);color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm)}.doc-type-tag.invoice{background:var(--success-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--surface-color);border-radius:var(--radius-lg);padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--shadow-lg)}.close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.close-button:hover{background:var(--background-color);color:var(--text-primary)}.pro-modal-content{max-width:600px;text-align:center}.pro-header{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.pro-header svg{color:#f5576c}.pro-header h3{font-size:1.5rem;font-weight:700}.pro-features-list{list-style:none;margin:2rem 0;text-align:left}.pro-features-list li{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.pro-features-list li:last-child{border-bottom:none}.pro-features-list svg{color:var(--success-color);flex-shrink:0}.unlock-button{background:var(--gradient-pro);color:#fff;border:none;padding:1rem 2rem;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;flex-direction:column}.unlock-button span{font-size:.75rem;opacity:.9;font-weight:400}.unlock-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.primary-button{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s ease;width:100%;margin-top:1rem}.primary-button:hover{background:var(--primary-hover)}.loader{display:flex;justify-content:center;align-items:center;height:200px}.loader:after{content:"";width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 1024px){.app-layout{grid-template-columns:1fr;gap:1.5rem}.output-section{position:static}}@media (max-width: 768px){.app-header h1{font-size:2rem}.progress-steps{flex-wrap:wrap;gap:.5rem}.step-indicator{min-width:calc(50% - .25rem)}.form-grid,.pricing-cards,.options-grid{grid-template-columns:1fr}.step-navigation{flex-direction:column;gap:1rem}.nav-button{width:100%;justify-content:center}#document-actions{flex-direction:column}.document-parties,.document-footer{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.app-layout{padding:1rem .5rem}.form-container{padding:1.5rem}.modal-content{padding:1.5rem;margin:.5rem}.step-indicator span{font-size:.75rem}.document-paper{padding:1rem}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}*{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
