@import"https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Geist+Mono:wght@400;500&display=swap";:root{--bg-base: #f5f7f2;--bg-surface: #ffffff;--bg-elevated: #eef3ed;--bg-overlay: rgba(20, 61, 56, .04);--border-subtle: rgba(20, 61, 56, .12);--border-medium: rgba(20, 61, 56, .18);--border-strong: rgba(20, 61, 56, .3);--text-primary: #18201c;--text-secondary: #4f5d55;--text-muted: #75827b;--accent: #d6aa4f;--accent-soft: rgba(214, 170, 79, .18);--accent-glow: rgba(214, 170, 79, .26);--success: #1e8f5a;--warning: #eab308;--error: #c2413b;--green: #143d38;--paper: #fffefa;--shadow-soft: 0 22px 70px rgba(20, 61, 56, .13);--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Geist Mono", "SF Mono", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--space-12: 64px;--ease-out: cubic-bezier(.16, 1, .3, 1);background:var(--bg-base);color:var(--text-primary);color-scheme:light;font-family:var(--font-sans);font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{background:radial-gradient(circle at 18% 0%,rgba(214,170,79,.18),transparent 30%),radial-gradient(circle at 88% 8%,rgba(20,61,56,.12),transparent 28%),var(--bg-base);margin:0;min-height:100vh;min-width:320px}button,input,textarea{font:inherit}button{cursor:pointer}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.app-shell{background:linear-gradient(180deg,rgba(255,255,255,.92),transparent 430px),linear-gradient(135deg,rgba(214,170,79,.16),transparent 38%),var(--bg-base);min-height:100vh;overflow-x:hidden;position:relative}.app-shell:after{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");content:"";inset:0;mix-blend-mode:multiply;opacity:.16;pointer-events:none;position:fixed;z-index:0}.app-header,.workspace,.app-footer{position:relative;z-index:1}.app-header{align-items:center;background:#ffffffdb;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border-subtle);border-radius:18px;box-shadow:inset 0 1px #ffffffeb,0 18px 48px #143d381f;display:flex;gap:var(--space-5);justify-content:space-between;margin:16px auto 0;max-width:1200px;padding:12px 16px;width:min(calc(100vw - 32px),1200px)}.brand{align-items:center;display:flex;gap:10px;min-width:0}.brand-title{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-kicker{color:var(--text-muted);font-size:.62rem;font-weight:600;letter-spacing:0;margin:0;text-transform:uppercase}.header-actions{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-2)}.export-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.primary-action,.secondary-action,.icon-button{align-items:center;border:1px solid transparent;border-radius:12px;display:inline-flex;font-weight:650;gap:8px;justify-content:center;min-height:42px;white-space:nowrap;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease,transform .15s ease}.primary-action{background:var(--green);border-color:#143d3833;box-shadow:0 0 0 0 var(--accent-glow);color:#fff;padding:0 16px}.primary-action.small{min-height:38px;padding:0 13px}.secondary-action{background:#ffffffa8;border-color:var(--border-medium);color:var(--text-primary);padding:0 14px}.secondary-action.small{min-height:38px;padding:0 13px}.icon-button{background:#ffffffa8;border-color:var(--border-medium);color:var(--text-secondary);height:42px;padding:0;width:42px}.icon-button.danger{color:var(--error)}.primary-action:hover{box-shadow:0 8px 24px var(--accent-glow);opacity:.92;transform:translateY(-1px)}.secondary-action:hover,.icon-button:hover{background:#fff;border-color:var(--border-strong)}.primary-action:active,.secondary-action:active,.icon-button:active{transform:translateY(0)}.primary-action:disabled,.secondary-action:disabled,.icon-button:disabled{cursor:wait;opacity:.58}.workspace{display:grid;gap:var(--space-3);grid-template-columns:minmax(360px,.78fr) minmax(480px,1fr);margin:0 auto;max-width:1200px;padding:var(--space-3) 16px var(--space-8)}.app-footer{color:var(--text-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:0;margin:0 auto;max-width:1200px;padding:0 16px var(--space-8);text-align:center}.editor-panel,.preview-panel,.document-frame,.document{min-width:0}.editor-panel,.preview-panel{animation:fadeUp .6s var(--ease-out) both}.editor-panel{animation-delay:80ms;background:#ffffffd1;-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid var(--border-subtle);border-radius:24px;box-shadow:inset 0 1px #fffffff5,var(--shadow-soft);overflow:hidden}.preview-panel{align-content:start;animation-delay:.16s;display:grid;gap:var(--space-3);justify-items:center;overflow-x:clip;width:100%}.editor-scroll{display:grid;gap:var(--space-4);padding:var(--space-4)}.form-section{border-bottom:1px solid var(--border-subtle);display:grid;gap:var(--space-4);padding-bottom:var(--space-4)}.form-section:last-child{border-bottom:0;padding-bottom:0}.section-title,.section-title>div{align-items:center;color:var(--text-primary);display:flex;gap:var(--space-2)}.section-title svg{color:var(--green)}.section-title.with-action{justify-content:space-between}.inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.section-title h2{font-size:1.02rem;font-weight:650;line-height:1.3;margin:0;white-space:nowrap}.two-column{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.two-column>*{min-width:0}.two-column.compact{align-items:end}.field{color:var(--text-secondary);display:grid;font-size:.75rem;font-weight:600;gap:7px;letter-spacing:0;min-width:0}.field span{color:var(--text-secondary)}.field input,.field textarea{background:#fff;border:1px solid var(--border-medium);border-radius:14px;color:var(--text-primary);min-height:44px;min-width:0;padding:11px 12px;resize:vertical;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;width:100%}.field input[type=date]{color-scheme:light;max-width:100%;min-inline-size:0}.field input[type=date]::-webkit-date-and-time-value{min-height:1.35em;text-align:left}.field input[readonly]{color:var(--text-secondary)}.field textarea{line-height:1.4}.field input:focus,.field textarea:focus,.check-row input:focus{background:#fff;border-color:#143d3880;box-shadow:0 0 0 4px var(--accent-soft);outline:0}.check-row{align-items:center;color:var(--text-primary);display:flex;font-weight:600;gap:10px}.check-row input{accent-color:var(--green);height:18px;width:18px}.attachment-list{display:grid;gap:var(--space-2)}.attachment-list-item{align-items:center;background:#fff;border:1px solid var(--border-subtle);border-radius:14px;display:grid;gap:var(--space-2);grid-template-columns:44px minmax(0,1fr) 42px;min-width:0;padding:7px}.attachment-list-item img{aspect-ratio:1;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:10px;object-fit:cover;width:44px}.attachment-list-item span{color:var(--text-secondary);font-size:.82rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-frame{height:var(--preview-frame-height, auto);max-width:100%;position:relative;width:var(--preview-frame-width, min(100%, 680px))}.document-frame>.document{height:var(--preview-paper-height, auto);left:0;margin:0;max-width:none;position:absolute;top:0;transform:scale(var(--preview-scale, 1));transform-origin:top left;width:var(--preview-paper-width, min(100%, 8.5in))}.document{align-content:start;aspect-ratio:8.5 / 11;background:linear-gradient(180deg,rgba(214,170,79,.08),transparent 180px),var(--paper);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:inset 0 1px #fffffffa,0 24px 80px #143d382e;color:var(--text-primary);display:block;font-size:.86rem;margin:0 auto;max-width:680px;min-height:0;overflow:hidden;padding:clamp(24px,7.85%,48px);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;width:min(100%,8.5in)}.document>*+*{margin-top:clamp(10px,1.8vw,16px)}.document:hover{box-shadow:inset 0 1px #fffffffa,0 24px 80px #143d382e}.document-masthead{align-items:start;border-bottom:2px solid rgba(20,61,56,.82);display:flex;flex-wrap:nowrap;gap:12px;justify-content:space-between;padding-bottom:14px}.document-masthead>div{flex:1 1 auto;min-width:0}.document h2{color:var(--text-primary);font-size:clamp(1.35rem,2.8vw,1.75rem);font-weight:700;letter-spacing:0;line-height:1;margin:0}.document-masthead dl{display:grid;flex:0 0 182px;gap:6px;margin:0;min-width:182px}.document-masthead dl div{display:flex;gap:10px;justify-content:space-between}.document-masthead dt,.party-block span,.purpose-line span{color:var(--text-muted);font-size:.62rem;font-weight:650;letter-spacing:0;text-transform:uppercase}.document-masthead dt,.document-masthead dd{white-space:nowrap}.document-masthead dd{color:var(--text-primary);font-size:.78rem;font-weight:650;margin:0;text-align:right}.party-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.party-block{background:transparent;border:0;border-left:3px solid rgba(214,170,79,.9);border-radius:0;display:grid;gap:3px;overflow:hidden;padding:6px 0 6px 14px}.party-block strong{color:var(--text-primary);font-size:.86rem}.party-block p{color:var(--text-secondary);font-size:.84rem;line-height:1.35;margin:0}.purpose-line{background:#fff;border:1px solid var(--border-subtle);border-radius:18px;display:grid;gap:6px;padding:16px}.purpose-line strong{color:var(--text-primary)}.document-table{border-collapse:collapse;font-size:clamp(.64rem,1.18vw,.78rem);overflow:hidden;table-layout:fixed;width:100%}.document-section-title{color:var(--green);font-size:.68rem;font-weight:750;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.document-section-title+.document-table{margin-top:0}.document-table th{background:var(--green);color:#fff;font-size:.62rem;font-weight:650;letter-spacing:0;text-align:left;text-transform:none}.document-table th,.document-table td{border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;padding:clamp(6px,1.25vw,9px) clamp(6px,1.35vw,9px);vertical-align:top}.document-table td{color:var(--text-secondary)}.document-table tbody tr:nth-child(odd){background:#143d3809}.preview-date-edit{border:1px solid transparent;border-radius:7px;cursor:pointer;display:block;margin:-3px;min-width:0;padding:3px;position:relative;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;width:100%}.preview-date-edit span{display:block}.preview-date-edit input{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.preview-edit{background:transparent;border:1px solid transparent;border-radius:7px;color:inherit;font:inherit;line-height:inherit;margin:-3px;min-width:0;padding:3px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;width:calc(100% + 6px)}.preview-edit-text{field-sizing:content;min-height:1.4em;overflow:hidden;resize:none}.preview-edit-number,.preview-edit-money{text-align:inherit}.preview-value-button{background:transparent;border:1px solid transparent;border-radius:7px;color:inherit;display:block;font:inherit;line-height:inherit;margin:-3px;min-height:1.4em;min-width:0;padding:3px;text-align:inherit;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;width:calc(100% + 6px)}.preview-action-cell{align-items:center;display:grid;gap:5px;grid-template-columns:minmax(0,1fr) calc(26px * var(--preview-inverse-scale, 1));min-height:1.7em;min-width:0;text-align:right}.preview-action-cell>:first-child{display:block;min-width:0;overflow-wrap:normal;white-space:nowrap}.preview-action-cell .preview-value-button,.preview-action-cell .preview-edit{justify-self:stretch;margin-right:0;width:100%}.preview-date-edit:hover,.preview-date-edit:focus-within,.preview-edit:hover,.preview-edit:focus,.preview-value-button:hover,.preview-value-button:focus{background:#fff;border-color:var(--border-medium);box-shadow:0 0 0 3px #d6aa4f24;outline:0}.preview-row-remove{align-items:center;background:#ffffffeb;border:1px solid rgba(194,65,59,.22);border-radius:999px;color:var(--error);display:inline-flex;flex:0 0 auto;height:24px;justify-content:center;margin-top:0;opacity:.9;padding:0;position:static;transform:scale(var(--preview-inverse-scale, 1));transform-origin:center;transition:background .15s ease,border-color .15s ease,opacity .15s ease,transform .15s ease;width:24px;z-index:2}.document-table tr:focus-within .preview-row-remove,.document-table tr:hover .preview-row-remove,.preview-row-remove:focus{opacity:1}.preview-row-remove:hover{background:#fff;border-color:#c2413b47}.document-table td:last-child,.document-table th:last-child{text-align:right}.work-table th:nth-child(1),.work-table td:nth-child(1){width:15%}.work-table th:nth-child(2),.work-table td:nth-child(2){width:43%}.work-table th:nth-child(3),.work-table td:nth-child(3){width:9%}.work-table th:nth-child(4),.work-table td:nth-child(4){width:11%}.work-table th:nth-child(5),.work-table td:nth-child(5){width:22%}.supplies-table th:nth-child(1),.supplies-table td:nth-child(1){width:15%}.supplies-table th:nth-child(2),.supplies-table td:nth-child(2){width:63%}.supplies-table th:nth-child(3),.supplies-table td:nth-child(3){width:22%}.work-table th:nth-child(1),.work-table th:nth-child(3),.work-table th:nth-child(4),.work-table th:nth-child(5),.work-table td:nth-child(1),.work-table td:nth-child(3),.work-table td:nth-child(4),.work-table td:nth-child(5),.supplies-table th:nth-child(1),.supplies-table th:nth-child(3),.supplies-table td:nth-child(1),.supplies-table td:nth-child(3){overflow-wrap:normal;white-space:nowrap}.summary-box{display:grid;gap:4px;font-size:.84rem;justify-self:end;min-width:min(100%,300px)}.summary-box div{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:4px 0}.summary-box span{color:var(--text-secondary)}.summary-box strong{color:var(--text-primary);font-family:var(--font-mono);font-weight:500}.summary-box .grand-total{border-bottom:0;color:var(--green);font-size:1rem}.summary-box .grand-total strong{color:var(--green)}.attachment-document{break-before:page;page-break-before:always}.attachment-page-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));height:calc(100% - 86px);min-height:0}.attachment-page-grid.attachment-count-1{grid-template-columns:1fr}.attachment-page-grid.attachment-count-1 .attachment-page-card img{max-height:520px}.attachment-page-card{background:#fff;border:1px solid var(--border-subtle);border-radius:14px;display:grid;grid-template-rows:minmax(0,1fr) auto;margin:0;min-height:0;overflow:hidden;padding:10px}.attachment-page-card img{align-self:center;background:#fff;height:100%;justify-self:center;max-height:238px;max-width:100%;object-fit:contain;width:100%}.attachment-page-card figcaption{color:var(--text-muted);font-size:.68rem;font-weight:600;margin-top:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1080px){.workspace{grid-template-columns:1fr}}@media(max-width:720px){.app-header{align-items:stretch;flex-direction:column;margin-top:10px;width:min(calc(100vw - 20px),1200px)}.header-actions{display:grid;gap:var(--space-2);grid-template-columns:42px minmax(0,1fr);width:100%}.header-actions .export-actions{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;min-width:0;width:100%}.header-actions .export-actions button{font-size:.78rem;min-width:0;padding-inline:8px;width:100%}.workspace{padding:10px 10px var(--space-8)}.field input[type=date]{appearance:none;-webkit-appearance:none;display:block;font-variant-numeric:tabular-nums;text-align:left}.inline-actions .secondary-action,.section-title.with-action>.secondary-action{min-width:0;white-space:normal;width:100%}.two-column{grid-template-columns:1fr}.section-title.with-action{align-items:stretch;gap:var(--space-3)}.inline-actions{display:grid;grid-template-columns:1fr;justify-content:stretch}.section-title.with-action{flex-direction:column}}@media(max-width:560px){.header-actions,.header-actions .export-actions{grid-template-columns:1fr}.header-actions>.icon-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{:root,body,.app-shell{background:#fff;color:#18201c}.app-shell:after,.no-print,.editor-panel{display:none!important}.workspace{display:block;padding:0}.preview-panel{display:block}.document-frame{display:block;height:auto!important;width:auto!important}.document-frame>.document{height:auto;position:static;transform:none!important;width:auto}.document{aspect-ratio:auto;background:#fff;border:0;border-radius:0;box-shadow:none;color:#18201c;gap:22px;max-width:none;min-height:0;overflow:visible;padding:.35in;transform:none;width:auto}.attachment-document{break-before:page;page-break-before:always}.attachment-page-grid{height:8.1in}.attachment-page-card{break-inside:avoid}.document h2,.document-masthead dd,.party-block strong,.purpose-line strong,.summary-box strong{color:#18201c}.document h2{font-size:2.1rem}.document-kicker,.document-masthead dt,.party-block span,.purpose-line span,.party-block p,.document-table td,.summary-box span{color:#49564f}.document-masthead{border-bottom-color:#143d38}.party-block,.purpose-line{background:#fff;border-color:#d8d3c8}.document-table{display:table;font-size:.82rem}.document-table thead{display:table-header-group}.document-table tbody{display:table-row-group}.document-table tr{background:transparent;border:0;display:table-row;padding:0}.document-table td,.document-table td:last-child{border-bottom:1px solid #d8d3c8;display:table-cell;padding:12px 10px}.document-table td:before{content:none}.document-table th{background:#143d38!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.preview-date-edit,.preview-edit,.preview-value-button{background:transparent!important;border:0!important;box-shadow:none!important;margin:0;padding:0;width:100%}.preview-date-edit input,.preview-row-remove{display:none!important}.summary-box .grand-total,.summary-box .grand-total strong{color:#143d38}@page{margin:.35in}}
