@import "https://fonts.googleapis.com/css2?family=Cormorant:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap";:root{--color-primary:#18181b;--color-on-primary:#fff;--color-secondary:#3f3f46;--color-on-secondary:#fff;--color-accent:#b45309;--color-on-accent:#fff;--color-bg-1:#e0e7ff;--color-bg-2:#fce7f3;--color-bg-3:#fef3c7;--color-bg-4:#e0f2fe;--color-foreground:#09090b;--color-card:#ffffff80;--color-card-border:#fff9;--color-card-shadow:0 8px 32px #0000000d, inset 0 0 0 1px #fff6;--color-muted:#f4f4f5;--color-muted-foreground:#71717a;--color-border:#00000014;--color-destructive:#ef4444;--font-heading:"Cormorant", serif;--font-body:"Montserrat", sans-serif;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-8:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--color-bg-1);color:var(--color-foreground);font-family:var(--font-body);background-attachment:fixed;background-image:radial-gradient(at 0% 0%, #ffffffe6 0px, transparent 50%), radial-gradient(at 80% 0%, var(--color-bg-2) 0px, transparent 50%), radial-gradient(at 0% 100%, var(--color-bg-3) 0px, transparent 50%), radial-gradient(at 100% 100%, var(--color-bg-4) 0px, transparent 50%);-webkit-tap-highlight-color:transparent;background-size:200% 200%;font-size:1rem;line-height:1.5;animation:15s infinite alternate liquidGradient}@keyframes liquidGradient{0%{background-position:0 0}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0 0}}.animate-fade-in-up{opacity:0;animation:.8s cubic-bezier(.2,.8,.2,1) forwards fadeInUp;transform:translateY(20px)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.float-anim{animation:6s ease-in-out infinite float}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}.app-layout{flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{padding:calc(var(--sp-3) + var(--safe-top)) calc(var(--sp-6) + var(--safe-right)) var(--sp-3) calc(var(--sp-6) + var(--safe-left));-webkit-backdrop-filter:blur(20px)saturate(1.5);backdrop-filter:blur(20px)saturate(1.5);border-bottom:1px solid var(--color-card-border);z-index:100;background:#fff6;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;display:flex;box-shadow:0 4px 30px #00000005}.topbar-brand{align-items:center;gap:var(--sp-3);transition:transform .2s;display:flex}.topbar-brand:active{transform:scale(.98)}.topbar-logo{justify-content:center;align-items:center;display:flex}.topbar-title{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:-.02em;font-size:1.3rem;font-weight:700;line-height:1.1}.topbar-subtitle{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.workspace{flex:1;display:flex;overflow:hidden}.form-panel{background:var(--color-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--color-card-border);z-index:10;flex-direction:column;flex-shrink:0;width:420px;display:flex;overflow-y:auto;box-shadow:4px 0 24px #00000005}.preview-panel{padding:var(--sp-6);background:#e8e4df;flex-direction:column;flex:1;align-items:center;display:flex;position:relative;overflow-y:auto}.form-panel,.preview-panel{-ms-overflow-style:none;min-width:0;overflow-y:auto}.form-panel::-webkit-scrollbar{display:none}.preview-panel::-webkit-scrollbar{display:none}.form-content{padding:var(--sp-5) var(--sp-6);gap:var(--sp-5);flex-direction:column;display:flex}.form-section-title{font-family:var(--font-heading);color:var(--color-primary);margin:0 0 var(--sp-2) 0;letter-spacing:-.01em;font-size:1.6rem;font-weight:700}.form-group{gap:var(--sp-2);flex-direction:column;display:flex}.input-row{gap:var(--sp-3);display:flex}.input-row>*{flex:1;min-width:0}.form-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);font-size:.75rem;font-weight:600}.required{color:var(--color-accent)}.form-hint{color:var(--color-muted-foreground);margin-top:-.2rem;font-size:.75rem}input[type=text],input[type=number],input[type=tel],input[type=date],select,textarea{width:100%;color:var(--color-foreground);font-family:var(--font-body);border-radius:var(--radius-md);background:#ffffffb3;border:1px solid #0000001a;outline:none;min-height:44px;padding:.8rem 1rem;font-size:.95rem;transition:all .25s cubic-bezier(.2,.8,.2,1);box-shadow:inset 0 2px 4px #00000003}input::placeholder,textarea::placeholder{color:#a1a1aa}textarea{resize:vertical;min-height:100px}.steps-nav{border-bottom:1px solid var(--color-border);padding:0 var(--sp-4);-ms-overflow-style:none;background:#ffffff4d;gap:0;min-width:0;display:flex;overflow-x:auto}.steps-nav::-webkit-scrollbar{display:none}.step-tab{align-items:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-4);color:var(--color-muted-foreground);font-family:var(--font-heading);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;min-height:48px;font-size:1.05rem;font-weight:600;transition:all .2s;display:flex}.step-tab:hover{color:var(--color-primary)}.step-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.step-tab.done{color:var(--color-primary)}.step-num{width:22px;height:22px;color:var(--color-muted-foreground);font-size:.75rem;font-family:var(--font-body);background:#0000000d;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.step-tab.active .step-num{background:var(--color-accent);color:var(--color-on-accent)}.step-tab.done .step-num{background:var(--color-primary);color:var(--color-on-primary)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;border:1px solid #0000;min-height:44px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.2,.8,.2,1);display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 14px #0000001a}.btn-primary:hover{background:#27272a;transform:translateY(-1px);box-shadow:0 6px 20px #00000026}.btn-secondary{color:var(--color-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border-color:#0000001a}.btn-secondary:hover{background:#fff;border-color:#0003}.btn-ghost{color:var(--color-accent);background:0 0}.btn-ghost:hover{background:#b4530914}.btn-sm{min-height:36px;padding:.5rem 1rem;font-size:.85rem}.toggle-group{align-items:center;gap:var(--sp-3);padding:var(--sp-2) 0;display:flex}.toggle{cursor:pointer;background:#d4d4d8;border-radius:14px;flex-shrink:0;width:50px;height:28px;transition:background .3s;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #00000026}.toggle.on{background:var(--color-accent)}.toggle.on:after{transform:translate(22px)}.toggle-label{color:var(--color-primary);font-size:.95rem;font-weight:600}.installment-list{gap:var(--sp-3);flex-direction:column;display:flex}.installment-row{gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff9;align-items:center;transition:all .2s;display:flex}.installment-row:hover{background:#fff;border-color:#00000026}.completeness-bar{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:#fff9;display:flex;box-shadow:inset 0 2px 4px #00000005}.completeness-label{text-transform:uppercase;color:var(--color-secondary);font-size:.75rem;font-weight:700}.completeness-track{background:#0000000d;border-radius:4px;flex:1;height:8px;overflow:hidden}.completeness-fill{background:linear-gradient(90deg,#b45309,#d97706);height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1)}.completeness-pct{font-size:.85rem;font-family:var(--font-body);color:var(--color-primary);text-align:right;width:3ch;font-weight:700}.badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);background:#0000000d;border-radius:16px;align-items:center;height:28px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.badge-gold{color:var(--color-accent);background:#b453091a;border:1px solid #b4530933}.badge-green{color:#059669;background:#10b9811a;border:1px solid #10b98133}.preview-toolbar{padding:var(--sp-3) var(--sp-5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-card-border);border-radius:var(--radius-xl);margin-bottom:var(--sp-6);width:100%;max-width:900px;box-shadow:var(--color-card-shadow);z-index:20;background:#ffffffbf;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.preview-toolbar-title{font-family:var(--font-heading);color:var(--color-primary);font-size:1.25rem;font-weight:700}.preview-toolbar-actions{gap:var(--sp-2);display:flex}.preview-document{gap:var(--sp-5);flex-direction:column;width:100%;max-width:900px;margin:0 auto;animation:.5s forwards fadeInUp;display:flex}.doc-page{background:#fff url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E");border-radius:4px;min-height:800px;padding:4.5rem 3.5rem;position:relative;box-shadow:0 12px 48px #00000014,0 2px 8px #0000000a}.stamp-margin-placeholder{border-radius:var(--radius-lg);background:#b4530905;border:2px dashed #b4530933;justify-content:center;align-items:center;width:100%;height:5.5in;margin-bottom:2rem;display:flex}.stamp-margin-placeholder:after{content:"Stamp Paper Margin Area (5.5\")";color:var(--color-accent);opacity:.8;font-size:.9rem;font-weight:600}.doc-empty{height:400px;color:var(--color-muted-foreground);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.doc-empty-icon{margin-bottom:var(--sp-4);filter:grayscale()opacity(.5);font-size:3.5rem}.doc-title{font-family:var(--doc-font-family,var(--font-heading));text-align:center;color:#000;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #000;margin-bottom:2.5rem;padding-bottom:1.25rem;font-size:1.8rem;font-weight:700}.doc-body{font-family:var(--doc-font-family,"Times New Roman");font-size:var(--doc-font-size,1.15rem);color:#000;white-space:pre-wrap;word-wrap:break-word;text-align:justify;margin:0;line-height:1.6}.summary-card{background:#fff;border:1px solid #00000014;border-radius:12px 12px 0 0;grid-template-columns:repeat(4,1fr);gap:0;width:100%;max-width:794px;margin-bottom:0;padding:16px 24px;display:grid;box-shadow:0 -2px 8px #00000008}.summary-item{border-right:1px solid #00000012;flex-direction:column;gap:4px;padding:0 16px;display:flex}.summary-item:first-child{padding-left:0}.summary-item:last-of-type{border-right:none}.summary-item label{text-transform:uppercase;color:var(--color-muted-foreground);letter-spacing:.08em;font-size:.68rem;font-weight:700}.summary-item .val{font-family:var(--font-heading);color:var(--color-primary);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;overflow:hidden}.summary-amount{border-top:1px solid #0000000f;grid-column:1/-1;justify-content:flex-end;align-items:baseline;gap:10px;margin-top:8px;padding-top:12px;display:flex}.summary-amount .amount{font-family:var(--font-heading);color:var(--color-accent);font-size:1.5rem;font-weight:700;line-height:1}.summary-amount .words{color:var(--color-muted-foreground);font-size:.8rem;font-weight:500}@media (width<=768px){.app-layout{height:100vh}.workspace{flex-direction:column;width:100%;min-width:0;height:100vh;position:relative}.form-panel{border-right:none;border-bottom:1px solid var(--color-border);border-radius:0;width:100%;min-width:0;height:calc(100vh - 60px);max-height:none}.preview-panel{padding:var(--sp-4);width:100%;min-width:0;height:calc(100vh - 60px);display:none}.workspace.mobile-preview-active .form-panel{display:none}.workspace.mobile-preview-active .preview-panel{display:flex}.mobile-tabs{background:var(--color-surface);border-top:1px solid var(--color-border);z-index:1000;width:100%;height:60px;display:flex;position:fixed;bottom:0;left:0}.mobile-tab-btn{color:var(--color-secondary);background:0 0;border:none;flex:1;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.mobile-tab-btn.active{color:var(--color-primary);border-top:2px solid var(--color-primary)}.hidden-on-mobile{display:none!important}.topbar{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);flex-wrap:wrap}.btn{min-height:48px}.input-row{flex-direction:column;width:100%;min-width:0}.doc-page{min-height:0;padding:2.5rem 1.5rem}.summary-card{padding:var(--sp-4);grid-template-columns:1fr 1fr}.preview-toolbar{padding:var(--sp-3) var(--sp-4);gap:var(--sp-3);flex-direction:column;align-items:flex-start}.preview-toolbar-actions{justify-content:flex-end;width:100%}}.template-grid{gap:var(--sp-4);grid-template-columns:1fr 1fr;min-width:0;display:grid}@media (width<=600px){.template-grid{grid-template-columns:1fr}}.template-card{border-radius:var(--radius-lg);padding:var(--sp-4);cursor:pointer;gap:var(--sp-2);background:#ffffffb3;border:1px solid #00000014;flex-direction:column;min-height:100px;transition:all .25s cubic-bezier(.2,.8,.2,1);display:flex}.template-card:hover{background:#fff;border-color:#b453094d;transform:translateY(-2px);box-shadow:0 8px 24px #b4530914}.template-card.active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent), 0 8px 24px #b453091a;background:#fff}.template-card-title{font-family:var(--font-heading);color:var(--color-primary);font-size:1.25rem;font-weight:700}.template-card-desc{color:var(--color-muted-foreground);font-size:.85rem;line-height:1.4}@media print{@page{size:A4 portrait;margin:0}body *{visibility:hidden!important}#printable-area,#printable-area *{visibility:visible!important}#printable-area{width:100%!important;margin:0!important;padding:0!important;position:absolute!important;top:0!important;left:0!important}.document-paper{box-shadow:none!important;page-break-after:always!important;page-break-inside:avoid!important;break-after:page!important;break-inside:avoid!important;border:none!important;border-radius:0!important;margin:0!important}.document-paper:before{display:none!important}}.preview-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:794px;margin-bottom:20px;display:flex}.preview-content{flex-direction:column;align-items:center;width:100%;padding-bottom:48px;display:flex}.document-paper{box-sizing:border-box;color:#1a1a1a;background:#fff;border:1px solid #00000014;border-top:none;border-radius:0 0 8px 8px;width:100%;max-width:794px;min-height:1123px;padding:56px 80px 72px;position:relative;box-shadow:0 4px 16px #0000000f,0 16px 48px #0000000a}.document-paper:before{content:"";border-top:0 solid #0000;border-bottom:28px solid #0000;border-left:0 solid #0000;border-right:28px solid #e5e5e5;width:0;height:0;position:absolute;top:0;right:0}.pdf-exporting .document-paper{box-shadow:none!important;border:none!important;border-radius:0!important;margin:0!important}.pdf-exporting .document-paper:before{display:none!important}.document-text{color:#1a1a1a;word-break:break-word;font-family:Calibri,Arial,sans-serif;font-size:14pt;line-height:1.8}.document-text h2{text-align:center;margin-bottom:24px;font-family:Times New Roman,Times,serif;font-size:14pt;font-weight:700;text-decoration:underline}.document-text p{text-align:justify;margin-bottom:14px}.document-text strong,.document-text b{font-weight:700}.empty-state{color:#a1a1aa;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.ql-container input,.ql-toolbar input{min-height:unset!important;padding:unset!important;border-radius:unset!important;border:unset!important;box-shadow:none!important;background:unset!important;transform:none!important}input[type=text],input[type=number],input[type=tel],input[type=date],select,textarea{width:100%!important;color:var(--color-foreground)!important;font-family:var(--font-body)!important;border-radius:var(--radius-md)!important;background:#ffffffb3!important;border:1px solid #0000001a!important;outline:none!important;min-height:44px!important;padding:.8rem 1rem!important;font-size:.95rem!important;transition:all .25s cubic-bezier(.2,.8,.2,1)!important}.search-wrap .search-wrap__input[type=text]{border:1.5px solid var(--color-border)!important;background:var(--color-surface)!important;border-radius:10px!important;min-height:44px!important;padding:11px 40px 11px 44px!important;font-size:.95rem!important}.search-wrap .search-wrap__input[type=text]:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb,37,99,235), .12)!important;background:#fff!important;transform:none!important}input:focus,select:focus,textarea:focus{border-color:var(--color-accent)!important;background:#fff!important;transform:translateY(-1px)!important;box-shadow:0 0 0 4px #b453091a!important}input[type=range]{all:unset!important;cursor:pointer!important;-webkit-appearance:slider-horizontal!important;appearance:auto!important;width:100%!important;height:6px!important;min-height:6px!important;accent-color:var(--color-primary)!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:8px 0!important;padding:0!important;display:block!important;transform:none!important}input[type=range]:focus{outline:2px solid var(--color-accent)!important;outline-offset:2px!important;box-shadow:none!important;border:none!important;transform:none!important}.ql-editor{min-height:120px;font-family:Times New Roman,Times,serif;font-size:13pt;line-height:1.7}.ql-toolbar.ql-snow{background:#fffffff2;border-color:#0000001f;border-radius:8px 8px 0 0}.ql-container.ql-snow{background:#fff;border-color:#0000001f;border-radius:0 0 8px 8px}.mobile-tabs{display:none}.form-panel-inner{padding:0 24px}.progress-bar-text{letter-spacing:1px;justify-content:space-between;margin-bottom:8px;font-size:.75rem;font-weight:700;display:flex}.step-counter{color:var(--color-muted-foreground);letter-spacing:.05em;margin-bottom:8px;font-size:.8rem;font-weight:700}.step-title{color:var(--color-primary);align-items:center;gap:12px;margin:0;font-size:1.8rem;display:flex}.current-step-header{border-bottom:1px solid var(--color-border);padding:24px 0 16px}.step-next-btn{flex:1}.preview-header-left{align-items:center;gap:10px;display:flex}.preview-title{margin:0;font-size:1.1rem;font-weight:600}.btn-reset-custom{font-size:.75rem}.btn-clear-draft{color:var(--color-destructive);font-size:.75rem}.preview-header-actions{flex-wrap:wrap;gap:10px;display:flex}.empty-state-icon{opacity:.3;margin-bottom:16px;font-size:3rem}.dashboard-container{width:100%;max-width:1000px;min-height:80vh;margin:0 auto;padding:20px clamp(16px,5vw,40px)}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.dashboard-title{color:var(--color-primary);margin:0;font-size:2rem}.dashboard-empty{text-align:center;background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:12px;padding:64px 20px}.dashboard-empty-icon{margin-bottom:16px;font-size:3rem}.dashboard-empty-text{color:var(--color-secondary);margin-bottom:24px;font-size:1.1rem}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.dashboard-card{background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;min-width:0;padding:24px;display:flex}.dashboard-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.dashboard-card-title{word-break:break-word;min-width:0;margin:0;font-size:1.2rem}.badge-shrink{flex-shrink:0}.dashboard-card-date{color:var(--color-secondary);margin-bottom:24px;font-size:.85rem}.dashboard-card-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.btn-flex{flex:auto}.btn-delete-draft{color:var(--color-destructive)}.installment-label-input{flex:1;min-width:0}.installment-amount-input{flex-shrink:0;min-width:100px;max-width:100px;width:100px!important}.btn-destructive{color:var(--color-destructive);flex-shrink:0}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.search-wrap{width:100%;max-width:440px;position:relative}.search-wrap__icon{color:var(--color-secondary);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-wrap__input{border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);box-sizing:border-box;border-radius:10px;outline:none;font-size:.95rem;transition:border-color .2s,box-shadow .2s;padding:11px 40px 11px 44px!important}.search-wrap__input::placeholder{color:var(--color-muted-foreground,#9ca3af)}.search-wrap__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb,37,99,235), .12)}.search-wrap__clear{cursor:pointer;color:var(--color-secondary);opacity:.7;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;transition:opacity .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.search-wrap__clear:hover{opacity:1;color:var(--color-destructive)}.search-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:28px;display:flex}.search-results-count{color:var(--color-secondary);white-space:nowrap;font-size:.85rem}
