*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F4F6F0;--bg-card: #FFFFFF;--primary: #1A3C2E;--primary-h: #2D5F47;--accent: #B5632A;--accent-h: #C8732E;--sage: #5A7A5C;--sage-pale: #EBF2EB;--copper-pale: #FAF0E8;--text: #0D1117;--text-muted: #4A5568;--text-light: #8A9BA8;--border: #D8DDD4;--border-strong: rgba(26,60,46,.24);--success: #1A7A4A;--danger: #C0392B;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(13,17,23,.06), 0 4px 20px rgba(13,17,23,.08);--font-head: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;font-size:15px}h1,h2,h3{font-family:var(--font-head);font-weight:400;line-height:1.2;color:var(--primary)}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:0 1rem 4rem}.container{width:100%;max-width:680px}.card{background:var(--bg-card);border:.5px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .18s ease;text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-h)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-h)}.btn-ghost{background:transparent;color:var(--text-muted);border:.5px solid var(--border-strong)}.btn-ghost:hover{background:var(--bg)}.field{margin-bottom:1.25rem}label{display:block;font-size:13px;font-weight:500;color:var(--primary);margin-bottom:6px;letter-spacing:.01em}input[type=text],input[type=tel],textarea,select{width:100%;padding:10px 14px;border:.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-card);font-family:var(--font-body);font-size:14px;color:var(--text);outline:none;transition:border-color .15s;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--primary)}textarea{min-height:120px;line-height:1.6}.hint{font-size:12px;color:var(--text-light);margin-top:4px}.step-header{margin-bottom:2rem}.step-badge{display:inline-block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.step-header h2{font-size:1.9rem;color:var(--primary);margin-bottom:8px}.step-header p{color:var(--text-muted);font-size:14px}.nav{width:100%;max-width:680px;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0 2rem}.nav-logo-wrap{display:flex;align-items:center;gap:8px;cursor:pointer;text-decoration:none}.nav-logo-wrap svg{width:110px;height:auto}.nav-grants-badge{background:var(--copper-pale);color:var(--accent);border:1px solid rgba(181,99,42,.25);border-radius:4px;font-size:10px;font-weight:600;padding:2px 8px;letter-spacing:.5px;text-transform:uppercase}.nav-logo{font-family:var(--font-head);font-size:1.3rem;color:var(--primary);font-weight:400;text-decoration:none;cursor:pointer}.nav-logo span{color:var(--accent)}.progress{display:flex;gap:6px}.progress-dot{width:6px;height:6px;border-radius:50%;background:var(--border-strong);transition:all .2s}.progress-dot.active{background:var(--primary);width:20px;border-radius:3px}.progress-dot.done{background:var(--accent)}.row{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:1.5rem}.divider{border:none;border-top:.5px solid var(--border);margin:1.5rem 0}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;line-height:1.6;margin-bottom:1rem}.alert-info{background:var(--sage-pale);color:var(--primary);border:.5px solid rgba(26,60,46,.2)}.alert-warn{background:var(--copper-pale);color:#7a4f00;border:.5px solid rgba(181,99,42,.3)}.alert-danger{background:#fdecea;color:#8b1a12;border:.5px solid rgba(192,57,43,.2)}.price-tag{font-family:var(--font-head);font-size:2.4rem;font-weight:400;color:var(--primary)}.price-tag span{font-size:1rem;color:var(--text-muted);font-family:var(--font-body)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:40px;height:40px;border:2.5px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1.5rem}.output-body{white-space:pre-wrap;font-size:14px;line-height:1.8;color:var(--text);background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-sm);padding:1.5rem;max-height:60vh;overflow-y:auto}.upload-zone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:1.5rem;text-align:center;cursor:pointer;transition:all .18s;background:var(--bg)}.upload-zone:hover{border-color:var(--primary);background:#1a3c2e08}.upload-zone input{display:none}.doc-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-card);border:.5px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;margin:4px}.doc-chip button{background:none;border:none;cursor:pointer;color:var(--text-light);font-size:14px;line-height:1;padding:0}.doc-chip button:hover{color:var(--danger)}@media (max-width: 480px){.card{padding:1.25rem}.step-header h2{font-size:1.5rem}}
