@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--primary: #E8600A;--primary-light: #F5741E;--primary-bg: #FEF3EC;--secondary: #1A9A8C;--secondary-light: #22B8A8;--secondary-bg: #E8F6F4;--navy: #0F1C2E;--navy-light: #1A2B42;--success: #1A9A8C;--success-bg: #E8F6F4;--danger: #C0392B;--danger-bg: #FDF1F0;--ink: #0F1C2E;--ink-light: #4A5568;--muted: #8A9BB0;--background: #F8F9FB;--white: #FFFFFF;--border: #E2E8F0;--radius: 8px;--radius-lg: 12px;--shadow: 0 2px 8px rgba(15, 28, 46, .08);--shadow-lg: 0 8px 24px rgba(15, 28, 46, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--ink);line-height:1.5}.main-page{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--navy);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;position:relative}.app-header h1{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--white)}.app-header h1:before{content:"";display:inline-block;width:8px;height:8px;background:var(--primary);border-radius:50%;margin-right:12px;vertical-align:middle}.app-header .btn-secondary{background:#ffffff1a;color:var(--white);border:1px solid rgba(255,255,255,.2)}.app-header .btn-secondary:hover:not(:disabled){background:#fff3;color:var(--white)}.app-content{flex:1;padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;border-radius:50px;border:none;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--white);box-shadow:0 2px 8px #e8600a4d}.btn-primary:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 12px #e8600a66}.btn-secondary{background:var(--white);color:var(--navy);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--navy);color:var(--white);border-color:var(--navy)}.btn-danger{background:var(--danger-bg);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:var(--white)}.btn-sm{padding:6px 16px;font-size:12px}.upload-section{max-width:600px;margin:40px auto;text-align:center}.divider{margin:32px 0;display:flex;align-items:center;gap:16px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.divider span{color:var(--muted);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.catalog-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;margin-top:16px;background:#f0fdfa;border:1px solid var(--secondary);border-radius:8px;font-size:13px;cursor:pointer;transition:background .2s ease}.catalog-toggle:hover{background:#e0f7f3}.catalog-toggle-label{color:#6b7280;font-weight:500}.catalog-toggle-filename{color:var(--secondary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.catalog-toggle-view-icon{color:#6b7280;opacity:0;transition:opacity .2s ease;margin-left:auto}.catalog-toggle:hover .catalog-toggle-view-icon{opacity:1}.catalog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.catalog-modal{position:relative;width:90vw;height:90vh;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg)}.catalog-modal-close{position:absolute;top:12px;right:12px;z-index:10;background:var(--white);border:1px solid var(--border);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);transition:background .2s ease}.catalog-modal-close:hover{background:#f3f4f6}.catalog-pdf-embed{width:100%;height:100%;border:none;display:block}.dropzone{border:2px dashed var(--border);border-radius:16px;padding:56px 32px;cursor:pointer;transition:all .3s ease;background:var(--white);position:relative;overflow:hidden}.dropzone:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary-bg) 0%,transparent 50%);opacity:0;transition:opacity .3s ease}.dropzone:hover:before,.dropzone.active:before{opacity:1}.dropzone:hover,.dropzone.active{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dropzone.uploading{border-color:var(--secondary);background:var(--secondary-bg)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;z-index:1}.upload-icon{color:var(--muted);transition:all .3s ease}.dropzone:hover .upload-icon,.dropzone.active .upload-icon{color:var(--primary);transform:scale(1.1)}.dropzone-content p{font-size:16px;font-weight:500;color:var(--ink)}.file-types{font-size:13px;color:var(--muted)}.spinner{width:24px;height:24px;border:3px solid var(--primary-bg);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.spinner.large{width:56px;height:56px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.extraction-status{max-width:500px;margin:0 auto;text-align:center;background:var(--white);border-radius:16px;padding:56px 48px;box-shadow:var(--shadow-lg)}.extraction-header h3{font-family:Playfair Display,Georgia,serif;font-size:1.5rem;margin-bottom:8px;color:var(--navy)}.filename{color:var(--muted);font-size:14px}.status-content{margin-top:32px}.processing,.success,.error{display:flex;flex-direction:column;align-items:center;gap:16px}.hint{color:var(--muted);font-size:13px}.success-icon{color:var(--success)}.error-icon{color:var(--danger)}.error-detail{color:var(--danger);font-size:13px}.edit-section{display:grid;grid-template-columns:450px 1fr;gap:20px;height:calc(100vh - 120px)}.editor-panel{overflow-y:auto;background:var(--white);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border)}.preview-panel{display:flex;flex-direction:column;background:var(--white);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;border:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:11px;font-weight:600;color:var(--ink-light)}.form-field input[type=text],.form-field input[type=number],.form-field input[type=email],.form-field textarea{padding:8px 10px;font-size:13px;font-family:inherit;border:1px solid var(--border);border-radius:6px;transition:all .2s ease;background:var(--background)}.form-field textarea{resize:vertical;min-height:60px}.form-field input:hover,.form-field textarea:hover{border-color:var(--muted)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--primary);background:var(--white);box-shadow:0 0 0 3px var(--primary-bg)}.form-field input[readonly]{background:var(--white);color:var(--ink-light);cursor:default;border-color:var(--border)}.form-field input[readonly]:hover,.form-field input[readonly]:focus{border-color:var(--border);box-shadow:none;background:var(--white)}.form-field.checkbox{flex-direction:row;align-items:center;gap:8px}.form-field.checkbox label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.form-field.checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.error-banner{background:var(--danger-bg);color:var(--danger);padding:12px 24px;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:var(--danger);cursor:pointer;text-decoration:underline}.error-message{margin-top:12px;padding:12px 16px;background:var(--danger-bg);color:var(--danger);border-radius:var(--radius);font-size:14px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:50px;font-size:14px;font-weight:500;box-shadow:var(--shadow-lg);z-index:1000;animation:toast-in .3s ease}.toast-success{background:var(--success);color:var(--white)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mode-selector{display:flex;background:#ffffff1a;border-radius:50px;padding:3px;position:absolute;left:50%;transform:translate(-50%)}.mode-btn{padding:5px 18px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:600;color:#ffffffb3;background:transparent;border:none;border-radius:50px;cursor:pointer;transition:all .2s ease}.mode-btn:hover{color:var(--white)}.mode-btn.active{background:var(--primary);color:var(--white);box-shadow:0 2px 4px #0003}.presentation-editor{padding:0 0 40px}.presentation-section{padding:28px 24px;border-top:4px solid var(--border)}.presentation-section:first-of-type{border-top:none}.section-1{border-top-color:var(--primary)}.section-2{border-top-color:var(--secondary)}.section-3{border-top-color:var(--navy)}.presentation-section h2{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--navy);margin-bottom:16px;display:flex;align-items:center;gap:12px}.section-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--white);border-radius:50%;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;flex-shrink:0}.section-1 .section-number{background:var(--primary)}.extraction-time{font-size:.75rem;font-weight:400;color:#6b7280;margin-left:.75rem;vertical-align:middle}.section-2 .section-number{background:var(--secondary)}.section-3 .section-number{background:var(--navy)}.section-4 .section-number{background:#6b7280}.calc-hint{font-weight:400;font-size:11px;color:var(--muted);font-style:italic}.section-inactive{opacity:.5;pointer-events:none;position:relative}.inactive-badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#e5e7eb;color:#6b7280;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}.section-subtitle{font-size:13px;color:var(--muted);margin-top:-8px;margin-bottom:20px;padding-left:40px}.subsection-box{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--white)}.subsection-header{padding:12px 16px;background:var(--background);border-bottom:1px solid var(--border)}.subsection-header h3{font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);margin:0}.subsection-content{padding:16px}.subsection-content .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.subsection-content .form-field.full-width{grid-column:1 / -1}.statement-textarea{width:100%;padding:12px 14px;font-size:14px;font-family:inherit;line-height:1.6;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);resize:vertical;min-height:100px;transition:all .2s ease}.statement-textarea:hover{border-color:var(--muted)}.statement-textarea:focus{outline:none;border-color:var(--primary);background:var(--white);box-shadow:0 0 0 3px var(--primary-bg)}.accordion-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.accordion-row-3{grid-template-columns:1fr 1fr 1fr}.accordion-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0;overflow:hidden;background:var(--white)}.accordion-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;background:var(--background);border:none;cursor:pointer;transition:background .2s ease}.accordion-header:hover{background:var(--primary-bg)}.accordion-header h3{font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);margin:0;padding:0;border:none}.accordion-chevron{font-size:14px;color:var(--muted);transition:transform .2s ease}.accordion-header.collapsed .accordion-chevron{transform:rotate(-90deg)}.accordion-content{padding:16px;border-top:1px solid var(--border)}.accordion-content .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.accordion-content .form-field.full-width{grid-column:1 / -1}.accordion-section.plan-fields .accordion-content .form-grid{grid-template-columns:repeat(4,1fr)}.accordion-section.plan-fields,.subsection-box.plan-fields{margin-bottom:12px}.subsection-box.plan-fields .subsection-header{display:flex;align-items:center;justify-content:space-between}.subsection-box.plan-fields .form-grid{grid-template-columns:repeat(4,1fr)}.subsection-box.plan-fields .plan-grid-2{grid-template-columns:repeat(2,1fr)}.subsection-box.plan-fields .plan-grid-4{grid-template-columns:repeat(4,1fr)}.plan-subgroup{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.plan-subgroup:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.plan-subgroup-label{font-family:DM Sans,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;margin-bottom:10px}.special-requests-layout{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start}.special-requests-checks{display:flex;flex-direction:column;gap:12px;padding-top:4px}.special-requests-other{display:flex;flex-direction:column;gap:6px}.special-requests-other label{font-size:11px;font-weight:600;color:var(--ink-light)}.required-mark{color:var(--danger);font-weight:700}.form-field.field-error input,.form-field.field-error textarea{border-color:var(--danger);background:var(--danger-bg)}.form-field.field-error input:focus,.form-field.field-error textarea:focus{box-shadow:0 0 0 3px #c0392b26;border-color:var(--danger)}.field-error-msg{font-size:11px;font-weight:600;color:var(--danger)}.presentation-actions{display:flex;justify-content:center;gap:12px;padding:24px 0}.presentation-actions .btn{padding:12px 32px;font-size:15px}@media (max-width: 900px){.edit-section{grid-template-columns:1fr;height:auto}.editor-panel,.preview-panel{min-height:500px}.preview-panel{max-width:none}}@media (max-width: 640px){.app-header{flex-direction:column;gap:12px;text-align:center}}
