.source-panel{width:220px;background:#f9f9f9;border-right:1px solid #ddd;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.source-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.source-icon{font-size:18px}.source-header h3{font-size:14px;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.5px}.source-list{flex:1;display:flex;flex-direction:column;gap:8px}.source-card{background:#fff;border:1px solid #ddd;border-radius:4px;padding:10px;font-size:12px;cursor:pointer;transition:all .3s ease;position:relative}.source-card:hover{border-color:#1a4480;background:#f5fbff}.source-card.active{border-color:#ffc107;background:#fffbf0;box-shadow:0 0 12px #ffc1074d}.source-card.multi-active{border-color:#28a745;background:#f0f8f4;box-shadow:0 0 12px #28a7454d}.source-name{font-weight:600;margin-bottom:4px;color:#1a1a1a;word-break:break-word}.source-meta{font-size:11px;color:#999}.source-pulse-dot{position:absolute;top:10px;right:10px;width:6px;height:6px;border-radius:50%;animation:pulse-dot 1.2s ease-in-out infinite}.source-card.active .source-pulse-dot{background:#ffc107}.source-card.multi-active .source-pulse-dot{background:#28a745}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.source-empty{padding:20px;text-align:center;color:#999;font-size:12px}.source-footer{padding-top:12px;border-top:1px solid #ddd;margin-top:auto}.org-badge{background:#e3f2fd;border-radius:4px;padding:8px;text-align:center}.org-name{display:block;font-size:11px;font-weight:600;color:#1a4480;margin-bottom:2px}.org-ein{display:block;font-size:10px;color:#666;font-family:Courier New,monospace}@media (max-width: 640px){.source-panel{width:100%;padding:12px;max-height:200px}}@media (prefers-reduced-motion: reduce){.source-card{transition:none}.source-pulse-dot{animation:none;opacity:.5}}.application-form-container{flex:1;display:flex;flex-direction:column;background:#fff;overflow:hidden}.form-header{background:#2c3e50;color:#fff;padding:20px 40px;border-bottom:3px solid #1a4480;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.form-header h1{font-size:22px;margin-bottom:4px}.form-header p{font-size:13px;color:#bbb}.header-status{display:flex;gap:10px}.badge-draft,.badge-saving{padding:8px 16px;border-radius:4px;font-size:12px;font-weight:600;white-space:nowrap}.badge-draft{background:#f39c12;color:#fff}.badge-saving{background:#3498db;color:#fff}.application-form{flex:1;overflow-y:auto;padding:40px;background:#fbfaf6}.form-section{margin-bottom:40px}.section-title{font-size:15px;font-weight:600;color:#fff;background:#34495e;padding:12px 16px;margin-bottom:20px;border-radius:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-row.full{grid-template-columns:1fr}.form-group{display:flex;flex-direction:column}.form-group label{font-size:13px;font-weight:600;color:#2c3e50;margin-bottom:6px}.form-group label .required{color:#d32f2f;margin-left:2px}.form-group input,.form-group textarea,.form-group select{padding:10px;border:1px solid #bdc3c7;border-radius:4px;font-family:inherit;font-size:13px;background:#fff}.form-group textarea{resize:vertical;min-height:80px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#1a4480;box-shadow:0 0 5px #1a44804d}.form-group input[type=date],.form-group input[type=number]{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.source-attribution{font-size:11px;color:#666;margin-top:6px;font-style:italic}.form-actions{padding:20px 40px;background:#f9f9f9;border-top:1px solid #ddd;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}.btn{padding:10px 20px;border:1px solid #bdc3c7;background:#fff;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn:hover{background:#ecf0f1}.btn-secondary{color:#333}.btn-primary{background:#27ae60;color:#fff;border-color:#27ae60}.btn-primary:hover{background:#229954}@media (max-width: 640px){.form-header{padding:15px 20px}.form-header h1{font-size:18px}.application-form{padding:20px}.form-row{grid-template-columns:1fr;gap:15px}.form-actions{padding:15px 20px;flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.btn{transition:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{box-shadow:none}}.unified-editor-container{display:flex;height:calc(100vh - 56px);background:#fff;overflow:hidden}.unified-editor-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.unified-editor-loading,.unified-editor-error,.unified-editor-empty{display:flex;align-items:center;justify-content:center;height:100vh;background:#f5f5f5;flex-direction:column;gap:20px}.unified-editor-error{color:#d32f2f;text-align:center}.unified-editor-error h2{font-size:20px;margin-bottom:10px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #1a4480;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.unified-editor-container{flex-direction:column}.unified-editor-main{flex:1}}@media (prefers-reduced-motion: reduce){.spinner{animation:none;opacity:.5}.source-pulse-dot{animation:none!important}}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.epm2-root{--ink: #0f1d2e;--ink-2: #2a3a52;--ink-3: #5a6a82;--line: #d8dde6;--line-2: #e8ecf2;--paper: #fbfaf6;--card: #ffffff;--accent: #1a4480;--accent-2: #0b2a4e;--good: #1e7f4a;--warn: #b85c00;--bad: #a0142f;--locked: #f3efe3;--locked-ink: #6a5a1f;--filled: #eef5ff;--filled-edge: #bcd2ef;--empty: #fff7f0;--empty-edge: #f0c59a;--draft: rgba(160, 20, 47, .06);--body-font: "Charter", "Iowan Old Style", "Source Serif Pro", Georgia, serif;--sans-font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--code-font: "SF Mono", "Menlo", monospace;font-family:var(--body-font);background:var(--paper);color:var(--ink);line-height:1.5;font-size:15px;position:relative;min-height:100vh}.epm2-root *{box-sizing:border-box}.epm2-root .page{max-width:1180px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:220px 1fr;gap:40px;position:relative;z-index:1}.epm2-root .snapshot-banner{grid-column:1 / -1;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;padding:10px 16px;border-radius:2px;font-family:var(--sans-font);font-size:13px;font-weight:600;margin-top:14px}.epm2-root .masthead{grid-column:1 / -1;border-bottom:2px solid var(--ink);padding:28px 0 20px;margin-bottom:28px;position:relative}.epm2-root .agency-row{font-family:var(--sans-font);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.epm2-root h1.title{font-family:var(--body-font);font-weight:700;font-size:32px;line-height:1.1;margin:0 0 4px;letter-spacing:-.01em}.epm2-root h1.title .round{font-size:20px;font-weight:400;color:var(--ink-2);font-style:italic}.epm2-root .sub{font-family:var(--sans-font);font-size:13px;color:var(--ink-2);margin-top:6px}.epm2-root .meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:20px;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:2px}.epm2-root .meta-grid .label{font-family:var(--sans-font);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:3px}.epm2-root .meta-grid .value{font-weight:600;font-size:15px}.epm2-root nav.toc{position:sticky;top:20px;align-self:start;font-family:var(--sans-font);font-size:13px}.epm2-root nav.toc h3{font-family:var(--body-font);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:600;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}.epm2-root nav.toc a{display:flex;justify-content:space-between;align-items:center;padding:7px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2);gap:8px}.epm2-root nav.toc a:hover{color:var(--accent)}.epm2-root nav.toc a .pct{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.epm2-root nav.toc a.done .pct{color:var(--good);font-weight:600}.epm2-root nav.toc a.partial .pct{color:var(--warn);font-weight:600}.epm2-root nav.toc a.empty .pct{color:var(--bad);font-weight:600}.epm2-root nav.toc .overall{margin-top:14px;padding:10px 12px;background:var(--ink);color:#fff;border-radius:2px}.epm2-root nav.toc .overall .big{font-family:var(--body-font);font-size:26px;font-weight:700}.epm2-root nav.toc .overall .lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}.epm2-root nav.toc .bar{height:4px;background:#ffffff26;border-radius:2px;margin-top:8px;overflow:hidden}.epm2-root nav.toc .bar>div{height:100%;background:#f0c674}.epm2-root main{min-width:0}.epm2-root section.sect{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:28px 32px 24px;margin-bottom:24px;scroll-margin-top:16px}.epm2-root section.sect h2{font-family:var(--body-font);font-size:24px;margin:0 0 4px;font-weight:700;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.epm2-root section.sect h2 .tag{font-family:var(--sans-font);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--ink);padding:3px 9px;border-radius:2px;font-weight:600}.epm2-root section.sect h2 .tag.done{background:var(--good)}.epm2-root section.sect h2 .tag.partial{background:var(--warn)}.epm2-root section.sect h2 .tag.empty{background:var(--bad)}.epm2-root section.sect .sect-note{font-family:var(--sans-font);font-size:13px;color:var(--ink-3);margin:0 0 22px;padding-bottom:16px;border-bottom:1px solid var(--line-2)}.epm2-root .empty-sections-note{font-family:var(--sans-font);font-size:13px;color:var(--ink-3);padding:24px;text-align:center;font-style:italic}.epm2-root .field{margin-bottom:20px;position:relative}.epm2-root .field .q-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}.epm2-root .field label.q{font-family:var(--sans-font);font-size:13px;font-weight:600;color:var(--ink);display:block}.epm2-root .field label.q .code{display:inline-block;font-family:var(--code-font);font-size:11px;background:var(--line-2);padding:1px 6px;border-radius:2px;margin-right:8px;color:var(--ink-2)}.epm2-root .field label.q .req{color:var(--bad);margin-left:4px}.epm2-root .field .hint{font-family:var(--sans-font);font-size:12px;color:var(--ink-3);margin:0 0 6px;font-style:italic}.epm2-root input[type=text],.epm2-root input[type=email],.epm2-root input[type=tel],.epm2-root input[type=url],.epm2-root input[type=number],.epm2-root input[type=date],.epm2-root select,.epm2-root textarea{width:100%;font-family:var(--sans-font);font-size:14px;padding:9px 11px;border:1px solid var(--line);background:#fff;border-radius:2px;color:var(--ink)}.epm2-root input:focus,.epm2-root textarea:focus,.epm2-root select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1a44801f}.epm2-root textarea{resize:vertical;min-height:120px;line-height:1.55;font-family:var(--body-font);font-size:15px}.epm2-root textarea.narrative{min-height:340px}.epm2-root input.prefilled,.epm2-root textarea.prefilled{background:var(--filled);border-color:var(--filled-edge)}.epm2-root input.locked,.epm2-root textarea.locked{background:var(--locked);border-color:#d9c98a;color:var(--locked-ink);font-weight:600}.epm2-root input.empty,.epm2-root textarea.empty{background:var(--empty);border-color:var(--empty-edge)}.epm2-root .copy-btn{font-family:var(--sans-font);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;background:var(--ink);color:#fff;border:none;border-radius:2px;cursor:pointer;font-weight:600}.epm2-root .copy-btn:hover{background:var(--accent)}.epm2-root .copy-btn.copied{background:var(--good)}.epm2-root .wc-row{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-family:var(--sans-font);font-size:11px;color:var(--ink-3)}.epm2-root .wc-row .wc{font-variant-numeric:tabular-nums}.epm2-root .wc-row .wc.warn{color:var(--warn);font-weight:600}.epm2-root .wc-row .wc.bad{color:var(--bad);font-weight:600}.epm2-root .wc-row .limit{font-style:italic}.epm2-root .two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}@keyframes buildIn{0%{opacity:0;transform:translateY(6px);background:var(--filled)}55%{opacity:1;transform:translateY(0);background:var(--filled)}to{opacity:1;transform:translateY(0);background:transparent}}.epm2-root .build-reveal{animation:buildIn .42s cubic-bezier(.2,.7,.2,1) both}@keyframes prefilledPulse{0%{background:transparent}40%{background:var(--filled)}to{background:transparent}}.epm2-root .field.prefilled.build-reveal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;animation:prefilledPulse .5s ease-out .1s both;pointer-events:none;z-index:1}@media (prefers-reduced-motion: reduce){.epm2-root .build-reveal{animation:none}.epm2-root .field.prefilled.build-reveal:after{animation:none}}@media print{.epm2-root nav.toc,.epm2-root .copy-btn{display:none}.epm2-root .page{grid-template-columns:1fr}.epm2-root section.sect{break-inside:avoid;page-break-inside:avoid}.epm2-root .build-reveal{animation:none}}@media (max-width: 900px){.epm2-root .page{grid-template-columns:1fr;padding:0 18px}.epm2-root nav.toc{position:static}.epm2-root .meta-grid{grid-template-columns:repeat(2,1fr)}.epm2-root .two-col{grid-template-columns:1fr}}
