*{box-sizing:border-box;margin:0;padding:0}body{background:#f0f2f5;min-height:100vh;padding:0 0 3rem;font-family:Segoe UI,Arial,sans-serif}#root{text-align:left;border:none;width:100%;max-width:100%;min-height:auto;margin:0;display:block}.header{color:#fff;text-align:center;background:linear-gradient(135deg,#1a237e 0%,#283593 40%,#1565c0 100%);padding:2.5rem 1.5rem 3rem;position:relative;overflow:hidden}.header:before{content:"";background:#ffffff0d;border-radius:50%;width:200px;height:200px;position:absolute;top:-40px;right:-40px}.header:after{content:"";background:#ffffff0a;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-60px;left:-30px}.logo-area{justify-content:center;align-items:center;gap:16px;margin-bottom:1.2rem;display:flex}.logo-icon{color:#1a237e;letter-spacing:-1px;background:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;font-weight:800;display:flex;box-shadow:0 4px 24px #00000040}.logo-text{letter-spacing:1px;color:#fff;font-size:32px;font-weight:700;line-height:1}.logo-sub{letter-spacing:3px;color:#ffffffa6;text-transform:uppercase;margin-top:4px;font-size:11px}.welcome-title{color:#fff;margin-bottom:8px;font-size:22px;font-weight:600}.welcome-msg{color:#ffffffd9;max-width:540px;margin:0 auto;font-size:14px;line-height:1.7}.tagline{color:#ffffff8c;letter-spacing:3px;text-transform:uppercase;margin-top:12px;font-size:11px}.step-dots{justify-content:center;gap:6px;margin-top:18px;display:flex}.dot{background:#ffffff4d;border-radius:50%;width:6px;height:6px}.dot.active{background:#fff;border-radius:3px;width:20px}.form-wrap{max-width:820px;margin:0 auto;padding:0 1rem}.gs-config{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-top:1.5rem;padding:1.25rem 1.5rem}.gs-config h4{color:#444;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.gs-config input{color:#333;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:13px}.gs-config input:focus{border-color:#1a237e;box-shadow:0 0 0 3px #1a237e14}.gs-note{color:#888;margin-top:6px;font-size:11px}.section{background:#fff;border:1px solid #e8e8e8;border-radius:14px;margin-top:1.25rem;overflow:hidden;box-shadow:0 1px 4px #0000000a}.section-header{background:#f8f9ff;border-bottom:1px solid #e8e8e8;align-items:center;gap:12px;padding:1rem 1.5rem;display:flex}.section-num{color:#fff;background:#1a237e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:600;display:flex}.section-title{color:#1a237e;font-size:15px;font-weight:600}.section-body{padding:1.5rem}.field{margin-bottom:1.2rem}.field:last-child{margin-bottom:0}label{color:#555;margin-bottom:5px;font-size:13px;font-weight:500;display:block}.req{color:#e53935;margin-left:2px}.hint{color:#1a237e;margin-left:6px;font-size:11px;font-weight:400}input[type=text],input[type=tel],input[type=date],input[type=number],select,textarea{color:#333;background:#fff;border:1px solid #ddd;border-radius:8px;outline:none;width:100%;padding:10px 13px;font-family:Segoe UI,Arial,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#1a237e;box-shadow:0 0 0 3px #1a237e17}input.err,select.err,textarea.err{border-color:#e53935;box-shadow:0 0 0 3px #e539351a}input.ok{border-color:#2e7d32;box-shadow:0 0 0 3px #2e7d3217}.err-msg{color:#e53935;margin-top:4px;padding-left:2px;font-size:12px;display:none}.err-msg.show{display:block}.ok-msg{color:#2e7d32;margin-top:4px;padding-left:2px;font-size:12px;display:none}.ok-msg.show{display:block}.two-col{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.two-col{grid-template-columns:1fr;gap:.8rem}.two-col+.two-col{margin-top:1.2rem}}.upload-area{text-align:center;cursor:pointer;background:#fafbff;border:1.5px dashed #c5cae9;border-radius:10px;padding:1.5rem 1rem;transition:border-color .2s,background .2s;position:relative}.upload-area:hover{background:#f0f3ff;border-color:#1a237e}.upload-area input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-icon{margin-bottom:6px;font-size:28px}.upload-label{color:#555;font-size:13px;font-weight:500}.upload-hint{color:#999;margin-top:3px;font-size:11px}.upload-preview{border:1px solid #e0e0e0;border-radius:8px;max-width:100%;max-height:130px;margin-top:10px;display:none}.upload-preview.show{display:block}.upload-status{margin-top:6px;font-size:12px;font-weight:500}.table-wrap{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.family-table{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}.family-table th{text-align:left;color:#3949ab;background:#e8eaf6;border-bottom:1px solid #c5cae9;padding:10px;font-size:12px;font-weight:600}.family-table td{border-bottom:1px solid #f0f0f0;padding:7px}.family-table tr:last-child td{border-bottom:none}.family-table tr:nth-child(2n) td{background:#fafbff}.family-table input,.family-table select{border:1px solid #ddd;border-radius:6px;padding:7px 9px;font-size:13px}.mini-upload{text-align:center;cursor:pointer;color:#888;background:#fafbff;border:1px dashed #c5cae9;border-radius:6px;min-width:80px;padding:6px 8px;font-size:11px;position:relative}.mini-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.mini-thumb{object-fit:cover;border-radius:4px;width:44px;height:44px;display:none}.mini-thumb.show{display:block}.progress-wrap{margin-top:1.5rem}.progress-label{color:#888;justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.progress-bar{background:#e0e0e0;border-radius:3px;height:5px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#1a237e,#1565c0);border-radius:3px;width:0%;height:100%;transition:width .4s}.submit-btn{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#1a237e,#1565c0);border:none;border-radius:12px;width:100%;margin-top:1.5rem;padding:15px;font-size:16px;font-weight:700;transition:opacity .2s,transform .1s;box-shadow:0 4px 16px #1a237e4d}.submit-btn:hover{opacity:.92}.submit-btn:active{transform:scale(.99)}.submit-btn:disabled{cursor:not-allowed;box-shadow:none;background:#9fa8da}.toast{z-index:9999;border-radius:12px;max-width:340px;padding:13px 20px;font-size:13px;font-weight:500;animation:.3s fadeIn;position:fixed;top:24px;right:24px;box-shadow:0 4px 20px #00000026}.toast.success{color:#1b5e20;background:#e8f5e9;border:1px solid #a5d6a7}.toast.error{color:#b71c1c;background:#ffebee;border:1px solid #ef9a9a}@keyframes fadeIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.instructions{background:#fff;border:1px solid #e8e8e8;border-radius:14px;margin-top:1.5rem;padding:1.5rem;box-shadow:0 1px 4px #0000000a}.instructions h3{color:#1a237e;margin-bottom:12px;font-size:15px;font-weight:600}.instructions ol{color:#555;padding-left:1.3rem;font-size:13px;line-height:2.1}.instructions li strong{color:#333}.footer{text-align:center;color:#aaa;margin-top:2rem;padding:0 1rem;font-size:12px}@media print{.gs-config,.instructions,.footer{display:none}}.add-row-btn{color:#1a237e;cursor:pointer;background:#fff;border:1.5px solid #1a237e;border-radius:8px;margin-top:12px;padding:8px 18px;font-size:13px;font-weight:500;transition:background .2s}.add-row-btn:hover{background:#e8eaf6}.add-row-btn:disabled{opacity:.5;cursor:not-allowed}.family-photo-label{color:#e53935;margin-top:3px;font-size:10px;display:none}.family-photo-label.show{display:block}
