@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&display=swap";:root{--font-primary:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Fraunces", Georgia, serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.333rem;--text-2xl:1.777rem;--text-3xl:2.369rem;--text-4xl:3.157rem;--leading-tight:1.2;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--color-charcoal:#1a1a1a;--color-graphite:#2d2d2d;--color-slate:#404040;--color-stone:#737373;--color-pewter:#a3a3a3;--color-silver:#d4d4d4;--color-mist:#e5e5e5;--color-cloud:#f5f5f5;--color-ivory:#fafafa;--color-white:#fff;--color-copper:#b87333;--color-copper-light:#d4915a;--color-copper-dark:#8b5a2b;--color-bronze:#cd7f32;--color-sage:#7c9082;--color-sage-light:#a3b5a8;--color-ocean:#4a6670;--color-ocean-light:#6d8a94;--color-primary:var(--color-charcoal);--color-primary-hover:var(--color-graphite);--color-secondary:var(--color-stone);--color-accent:var(--color-copper);--color-accent-hover:var(--color-copper-light);--color-success:var(--color-sage);--color-success-light:#e8f0ea;--color-error:#c44536;--color-error-light:#fbeae8;--color-warning:#d4915a;--color-warning-light:#fef3e8;--bg-primary:var(--color-white);--bg-secondary:var(--color-ivory);--bg-tertiary:var(--color-cloud);--bg-elevated:var(--color-white);--bg-overlay:#1a1a1a99;--text-primary:var(--color-charcoal);--text-secondary:var(--color-slate);--text-tertiary:var(--color-stone);--text-muted:var(--color-pewter);--text-inverse:var(--color-white);--border-light:var(--color-mist);--border-medium:var(--color-silver);--border-dark:var(--color-pewter);--border-focus:var(--color-copper);--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 8px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-xl:0 16px 48px #0000001f;--shadow-inner:inset 0 2px 4px #0000000a;--shadow-focus:0 0 0 3px #b8733333;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-slower:.5s ease;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-popover:500;--z-toast:600;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-secondary)}.heading-display{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:-.02em}.heading-1{font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:-.02em}.heading-2{font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:-.01em}.heading-3{font-size:var(--text-2xl);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.heading-4{font-size:var(--text-xl);font-weight:var(--font-medium);line-height:var(--leading-snug)}.text-body{font-size:var(--text-base);line-height:var(--leading-relaxed)}.text-small{font-size:var(--text-sm);line-height:var(--leading-normal)}.text-caption{font-size:var(--text-xs);line-height:var(--leading-normal);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-medium)}.text-muted{color:var(--text-muted)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-primary);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-charcoal);color:var(--text-inverse);border-color:var(--color-charcoal)}.btn-primary:hover:not(:disabled){background:var(--color-graphite);border-color:var(--color-graphite)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-medium)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-dark)}.btn-accent{background:var(--color-copper);color:var(--text-inverse);border-color:var(--color-copper)}.btn-accent:hover:not(:disabled){background:var(--color-copper-dark);border-color:var(--color-copper-dark)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-lg)}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-label-optional{font-weight:var(--font-normal);color:var(--text-muted);margin-left:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-primary);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all var(--transition-fast)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-medium)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-copper);box-shadow:var(--shadow-focus);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.form-checkbox,.form-radio{align-items:center;gap:var(--space-3);cursor:pointer;display:flex}.form-checkbox input,.form-radio input{width:18px;height:18px;accent-color:var(--color-copper);cursor:pointer}.form-hint{font-size:var(--text-xs);color:var(--text-muted)}.form-error{font-size:var(--text-xs);color:var(--color-error)}.card{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light)}.card-body{padding:var(--space-6)}.card-footer{padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-light);background:var(--bg-secondary);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.wizard-container{background:var(--bg-secondary);z-index:10000;flex-direction:column;width:100vw;min-height:100vh;display:flex;position:fixed;inset:0;overflow:hidden}.wizard-header{padding:var(--space-4) var(--space-8);background:var(--bg-primary);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.wizard-logo{width:auto;height:32px}.wizard-close{border-radius:var(--radius-md);width:40px;height:40px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.wizard-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.wizard-progress{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-8);background:var(--bg-primary);display:flex}.wizard-step{align-items:center;gap:var(--space-3);display:flex}.wizard-step-indicator{width:32px;height:32px;font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-full);transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.wizard-step-indicator.pending{background:var(--bg-tertiary);color:var(--text-muted);border:2px solid var(--border-light)}.wizard-step-indicator.active{background:var(--color-charcoal);color:var(--text-inverse);border:2px solid var(--color-charcoal)}.wizard-step-indicator.completed{background:var(--color-sage);color:var(--text-inverse);border:2px solid var(--color-sage)}.wizard-step-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary)}.wizard-step.active .wizard-step-label{color:var(--text-primary)}.wizard-step-connector{background:var(--border-light);width:48px;height:2px;margin:0 var(--space-2)}.wizard-step-connector.completed{background:var(--color-sage)}.wizard-content{flex:1;display:flex;overflow:hidden}.wizard-main{padding:var(--space-8);flex:1;overflow-y:auto}.wizard-sidebar{background:var(--color-charcoal);width:400px;color:var(--text-inverse);padding:var(--space-8);flex-direction:column;display:flex}.wizard-footer{padding:var(--space-4) var(--space-8);background:var(--bg-primary);border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.step-section{max-width:600px;margin:0 auto}.step-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.step-description{font-size:var(--text-base);color:var(--text-tertiary);margin-bottom:var(--space-8)}.step-form{gap:var(--space-5);flex-direction:column;display:flex}.form-row{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=600px){.form-row{grid-template-columns:1fr}}.preview-panel{flex-direction:column;flex:1;display:flex}.preview-header{padding-bottom:var(--space-6);margin-bottom:var(--space-6);border-bottom:1px solid #ffffff1a}.preview-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.1em;color:var(--color-pewter);margin-bottom:var(--space-2)}.preview-document-name{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-inverse)}.preview-mockup{padding:var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.preview-page{aspect-ratio:1/1.414;background:var(--bg-primary);border-radius:var(--radius-sm);width:100%;max-width:280px;box-shadow:var(--shadow-xl);padding:var(--space-4);flex-direction:column;display:flex}.preview-page-header{padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.preview-page-logo{width:auto;height:16px}.preview-page-content{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.preview-line{background:var(--bg-tertiary);border-radius:var(--radius-sm);height:8px}.preview-line.short{width:60%}.preview-line.medium{width:80%}.preview-summary{padding-top:var(--space-6);border-top:1px solid #ffffff1a;margin-top:auto}.preview-summary-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-pewter);margin-bottom:var(--space-4)}.preview-summary-list{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.preview-summary-item{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-silver);display:flex}.preview-summary-icon{border-radius:var(--radius-sm);width:20px;height:20px;font-size:var(--text-xs);background:#ffffff1a;justify-content:center;align-items:center;display:flex}.option-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.option-card{padding:var(--space-5);background:var(--bg-primary);border:2px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;display:flex}.option-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.option-card.selected{border-color:var(--color-copper);background:var(--color-warning-light)}.option-card-icon{background:var(--bg-tertiary);border-radius:var(--radius-md);width:48px;height:48px;font-size:var(--text-xl);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.option-card.selected .option-card-icon{background:var(--color-copper);color:var(--text-inverse)}.option-card-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.option-card-description{font-size:var(--text-sm);color:var(--text-tertiary)}.option-grid-compact{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.option-grid-compact .option-card{padding:var(--space-2) var(--space-3);min-height:auto}.option-grid-compact .option-card-icon{margin-bottom:var(--space-1);width:28px;height:28px;font-size:.875rem}.option-grid-compact .option-card-title{font-size:var(--text-xs)}.option-grid-compact .option-card-description{display:none}.file-upload-inline{margin-top:var(--space-2)}.file-upload-link{font-size:var(--text-sm);color:var(--color-copper);cursor:pointer;text-underline-offset:2px;text-decoration:underline}.file-upload-link:hover{color:var(--color-copper-dark)}.file-preview-inline{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:var(--text-sm);display:flex}.btn-text-danger{color:var(--color-error);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:0}.btn-text-danger:hover{text-decoration:underline}.file-upload{padding:var(--space-8);background:var(--bg-secondary);border:2px dashed var(--border-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;display:flex}.file-upload:hover{border-color:var(--color-copper);background:var(--color-warning-light)}.file-upload-icon{font-size:var(--text-3xl);color:var(--text-muted);margin-bottom:var(--space-4)}.file-upload-text{font-size:var(--text-sm);color:var(--text-tertiary);text-align:center}.file-upload-text strong{color:var(--color-copper)}.template-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.template-card{padding:var(--space-4);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;display:flex}.template-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-card.selected{border-color:var(--color-copper);box-shadow:var(--shadow-focus)}.template-card-preview{aspect-ratio:16/9;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:var(--space-3);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.template-card-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.template-card-meta{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.divider{background:var(--border-light);height:1px;margin:var(--space-6) 0}.divider-with-text{align-items:center;gap:var(--space-4);margin:var(--space-6) 0;display:flex}.divider-with-text:before,.divider-with-text:after{content:"";background:var(--border-light);flex:1;height:1px}.divider-with-text span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease-out}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}
