:root{--green-dark:#5a6b3a;--green-mid:#a3b181;--cream:#f7f4ec;--cream-dark:#ede9df;--black:#1f2320;--tan:#dcc9a1;--tan-light:#ede0c4;--white:#fff;--error:sienna;--success:#4a7c59;--font-heading:"Playfair Display", Georgia, serif;--font-body:"Source Sans 3", sans-serif;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--shadow-card:0 2px 16px #1f232014, 0 1px 4px #1f23200d;--shadow-focus:0 0 0 3px #5a6b3a38;--transition:.18s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--black);font-family:var(--font-body);min-height:100vh;font-size:15px;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(70% 50% at 90% 10%,#a3b18121 0%,#0000 60%),radial-gradient(50% 60% at 5% 85%,#dcc9a12e 0%,#0000 55%);position:fixed;inset:0}.page-wrap{z-index:1;max-width:900px;margin:0 auto;padding:2.5rem 1.5rem 5rem;position:relative}.page-title-block{border-bottom:1px solid var(--tan);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.page-title-block .eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--green-dark);align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.7rem;display:flex}.page-title-block .eyebrow:before{content:"";background:var(--green-dark);width:18px;height:1px;display:inline-block}.page-title-block h1{font-family:var(--font-heading);color:var(--black);font-size:2rem;font-weight:700;line-height:1.15}.page-title-block h1 em{color:var(--green-dark);font-style:italic}.page-title-block .subtitle{color:#6b7061;margin-top:.3rem;font-size:.88rem}.steps-nav{background:var(--cream-dark);border-radius:var(--radius-lg);gap:2px;margin-bottom:2rem;padding:4px;display:flex;overflow-x:auto}.step-tab{border-radius:var(--radius-md);min-width:90px;font-family:var(--font-body);color:#7a8270;cursor:pointer;transition:var(--transition);letter-spacing:.04em;text-align:center;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 12px;font-size:.78rem;font-weight:500;display:flex;position:relative}.step-tab .step-num{background:var(--cream-dark);color:#7a8270;width:20px;height:20px;transition:var(--transition);border:1.5px solid #c5c9b8;border-radius:50%;justify-content:center;align-items:center;font-size:.68rem;font-weight:600;display:flex}.step-tab.active{background:var(--white);color:var(--green-dark);box-shadow:var(--shadow-card)}.step-tab.active .step-num{background:var(--green-dark);border-color:var(--green-dark);color:var(--white)}.step-tab.completed .step-num{background:var(--green-mid);border-color:var(--green-mid);color:var(--white)}.step-tab.completed .step-num:after{content:"✓";font-size:.65rem}.step-tab.completed .step-num span{display:none}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #dcc9a166;margin-bottom:1.5rem;animation:.3s both cardIn;overflow:hidden}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-header{background:linear-gradient(135deg, var(--green-dark) 0%, #4a5a2f 100%);color:var(--cream);align-items:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.card-header .card-icon{border-radius:var(--radius-sm);background:#f7f4ec26;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.card-header h2{font-family:var(--font-heading);font-size:1.05rem;font-weight:600;line-height:1.2}.card-header p{opacity:.75;margin-top:1px;font-size:.78rem}.card-body{padding:1.5rem}.form-grid{grid-template-columns:repeat(12,1fr);gap:1rem;display:grid}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}@media (max-width:640px){.col-6,.col-4,.col-3,.col-2,.col-8{grid-column:span 12}}.field{flex-direction:column;gap:5px;display:flex}.field label{color:#4a5040;letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:4px;font-size:.78rem;font-weight:600;display:flex}.field label .req{color:var(--error);font-size:.75rem}.field label .optional{color:#9ca08e;text-transform:none;letter-spacing:0;font-size:.68rem;font-weight:400}.field input,.field select,.field textarea{width:100%;font-family:var(--font-body);color:var(--black);background:var(--cream);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);-webkit-appearance:none;border:1.5px solid #d4d8c8;outline:none;padding:9px 13px;font-size:.94rem}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--green-mid)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-dark);background:var(--white);box-shadow:var(--shadow-focus)}.field textarea{resize:vertical;min-height:80px}.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6B3A' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.field .hint{color:#8a907e;margin-top:2px;font-size:.73rem}.field .error-msg{color:var(--error);align-items:center;gap:4px;font-size:.73rem;display:none}.section-divider{grid-column:span 12;align-items:center;gap:.75rem;padding:.25rem 0;display:flex}.section-divider span{letter-spacing:.18em;text-transform:uppercase;color:var(--green-dark);white-space:nowrap;font-size:.72rem;font-weight:600}.section-divider:before,.section-divider:after{content:"";background:var(--tan);flex:1;height:1px}.sub-section{background:var(--cream);border:1.5px dashed var(--tan);border-radius:var(--radius-md);grid-column:span 12;margin-top:.5rem;padding:1rem}.sub-section-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.sub-section-header h3{font-family:var(--font-heading);color:var(--green-dark);font-size:.88rem;font-weight:600}.sub-section .form-grid{gap:.75rem}.godparent-list{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.godparent-item{background:var(--white);border:1px solid var(--tan);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;animation:.2s cardIn;display:flex}.godparent-item .gp-name{font-weight:500}.godparent-item .gp-role{color:#8a907e;font-size:.75rem}.btn-remove{width:24px;height:24px;color:var(--error);cursor:pointer;transition:var(--transition);background:#fdf6f3;border:1px solid #e0c0b0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:flex}.btn-remove:hover{background:var(--error);color:#fff;border-color:var(--error)}.btn{font-family:var(--font-body);letter-spacing:.04em;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:7px;padding:9px 18px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--green-dark);color:var(--white);box-shadow:0 2px 8px #5a6b3a47}.btn-primary:hover{background:#4a5a2f;transform:translateY(-1px);box-shadow:0 4px 14px #5a6b3a5c}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:var(--cream-dark);color:var(--green-dark);border:1.5px solid var(--tan)}.btn-secondary:hover{background:var(--tan-light);border-color:var(--green-mid)}.btn-ghost{color:var(--green-dark);border:1.5px solid var(--green-mid);background:0 0;padding:6px 13px;font-size:.78rem}.btn-ghost:hover{background:#5a6b3a12}.btn-sm{padding:6px 13px;font-size:.78rem}.step-panel{animation:.3s cardIn;display:none}.step-panel.active{display:block}.form-nav{border-top:1px solid var(--tan);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.form-nav .nav-left,.form-nav .nav-right{gap:.75rem;display:flex}.progress-indicator{color:#8a907e;letter-spacing:.05em;font-size:.78rem}.progress-indicator strong{color:var(--green-dark)}.summary-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:500px){.summary-grid{grid-template-columns:1fr}}.summary-section{background:var(--cream);border-radius:var(--radius-md);border:1px solid var(--tan);padding:1rem}.summary-section h3{font-family:var(--font-heading);color:var(--green-dark);border-bottom:1px solid var(--tan);margin-bottom:.6rem;padding-bottom:.4rem;font-size:.88rem;font-weight:600}.summary-row{gap:.5rem;padding:3px 0;font-size:.82rem;display:flex}.summary-row .s-label{color:#8a907e;flex-shrink:0;min-width:110px}.summary-row .s-val{color:var(--black);font-weight:500}.summary-row .s-val.empty{color:#c5c9b8;font-style:italic;font-weight:400}.toggle-field{cursor:pointer;-webkit-user-select:none;user-select:none;grid-column:span 12;align-items:center;gap:10px;display:flex}.toggle-field input[type=checkbox]{display:none}.toggle-track{width:40px;height:22px;transition:background var(--transition);background:#d4d8c8;border-radius:11px;flex-shrink:0;position:relative}.toggle-track:after{content:"";width:16px;height:16px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.toggle-field input:checked+.toggle-track{background:var(--green-dark)}.toggle-field input:checked+.toggle-track:after{transform:translate(18px)}.toggle-label{color:var(--black);font-size:.88rem;font-weight:500}.success-screen{text-align:center;padding:3rem 2rem}.success-icon{background:linear-gradient(135deg, var(--green-dark), var(--green-mid));border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.5rem;font-size:2rem;display:flex;box-shadow:0 6px 24px #5a6b3a4d}.success-screen h2{font-family:var(--font-heading);color:var(--black);margin-bottom:.5rem;font-size:1.8rem}.success-screen p{color:#6b7061;max-width:360px;margin:0 auto 2rem}.success-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.page-footer{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:#9ca08e;margin-top:1rem;padding:1.5rem;font-size:.72rem}.logout-btn{z-index:200;padding:5px 12px;font-size:.75rem;position:absolute;top:14px;right:16px}.triage-screen{max-width:700px;margin:2rem auto;padding:0 1rem}.triage-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #dcc9a166;animation:.3s both cardIn;overflow:hidden}.triage-header{background:linear-gradient(135deg, var(--green-dark) 0%, #4a5a2f 100%);color:var(--cream);align-items:center;gap:1rem;padding:1.5rem 2rem;display:flex}.triage-icon{border-radius:var(--radius-md);background:#f7f4ec26;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.triage-header h2{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;line-height:1.2}.triage-header p{opacity:.85;margin-top:4px;font-size:.88rem}.triage-grid{grid-template-columns:1fr 1fr;gap:1rem;padding:2rem;display:grid}@media (max-width:640px){.triage-grid{grid-template-columns:1fr}}.triage-option{background:var(--cream);border:1.5px solid var(--tan);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);text-align:left;font-family:var(--font-body);align-items:center;gap:12px;padding:1rem 1.25rem;display:flex}.triage-option:hover{border-color:var(--green-mid);background:var(--tan-light)}.triage-option.checked{border-color:var(--green-dark);background:#5a6b3a14}.triage-option-icon{font-size:1.25rem}.triage-option-label{color:var(--black);flex:1;font-size:.94rem;font-weight:600}.triage-check{border:1.5px solid var(--tan);color:#fff;width:24px;height:24px;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;display:flex}.triage-option.checked .triage-check{background:var(--green-dark);border-color:var(--green-dark)}.triage-footer{background:var(--cream-dark);border-top:1px solid var(--tan);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.triage-hint{color:#6b7061;max-width:60%;font-size:.82rem}.btn-lg{padding:12px 24px;font-size:1rem}.form-layout{align-items:flex-start;gap:2rem;display:flex}@media (max-width:800px){.form-layout{flex-direction:column}}.form-main{flex:1;min-width:0}.sidebar-nav{background:var(--white);border-radius:var(--radius-lg);width:240px;box-shadow:var(--shadow-card);border:1px solid #dcc9a166;flex-shrink:0;max-height:calc(100vh - 4rem);padding:1.5rem;position:sticky;top:2rem;overflow-y:auto}@media (max-width:800px){.sidebar-nav{width:100%;margin-bottom:2rem;position:static}}.sidebar-title{text-transform:uppercase;letter-spacing:.15em;color:var(--green-dark);border-bottom:1px solid var(--tan);margin-bottom:1rem;padding-bottom:.5rem;font-size:.75rem;font-weight:700}.sidebar-list{flex-direction:column;gap:.25rem;margin-bottom:1.5rem;list-style:none;display:flex}.sidebar-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);transition:all var(--transition);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;display:flex}.sidebar-item:hover{background:var(--cream)}.sidebar-item.active{background:#5a6b3a14}.sidebar-item.warning{background:#a0522d14}.sidebar-item.active.warning{background:#a0522d26}.completion-dot{font-size:.9rem;line-height:1}.completion-dot.empty{color:#c5c9b8}.completion-dot.partial{color:var(--green-mid)}.sidebar-item.warning .completion-dot.partial{color:var(--error)}.completion-dot.complete{color:var(--green-dark)}.sidebar-item-icon{font-size:1.1rem}.sidebar-item-label{color:var(--black);font-size:.9rem;font-weight:500}.sidebar-item.active .sidebar-item-label{color:var(--green-dark);font-weight:700}.sidebar-item.warning .sidebar-item-label{color:var(--error)}.sidebar-config-btn{background:var(--cream);border:1.5px dashed var(--tan);border-radius:var(--radius-md);color:#6b7061;cursor:pointer;width:100%;transition:all var(--transition);padding:8px;font-size:.8rem;font-weight:600}.sidebar-config-btn:hover{background:var(--tan-light);color:var(--green-dark);border-color:var(--green-mid)}.add-section-control{margin-bottom:2rem}.add-section-trigger{border:2px dashed var(--tan);border-radius:var(--radius-lg);color:#6b7061;cursor:pointer;width:100%;transition:all var(--transition);background:0 0;justify-content:center;align-items:center;gap:8px;padding:1.25rem;font-size:.94rem;font-weight:600;display:flex}.add-section-trigger:hover{border-color:var(--green-mid);color:var(--green-dark);background:#dcc9a11a}.add-section-plus{background:var(--tan);width:24px;height:24px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex}.add-section-trigger:hover .add-section-plus{background:var(--green-mid)}.add-section-panel{background:var(--white);border:1px solid var(--tan);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.25rem;animation:.2s both cardIn}.add-section-header{color:var(--green-dark);justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.85rem;font-weight:600;display:flex}.btn-close-add{color:#9ca08e;cursor:pointer;background:0 0;border:none;font-size:1rem}.add-section-chips{flex-wrap:wrap;gap:10px;display:flex}.add-section-chip{background:var(--cream);border:1px solid var(--tan);cursor:pointer;transition:all var(--transition);border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;display:flex}.add-section-chip:hover{background:var(--green-dark);border-color:var(--green-dark);color:var(--white)}.chip-add{opacity:.6;font-weight:700}.toast-overlay{background:var(--success);color:var(--white);border-radius:var(--radius-md);z-index:1000;padding:12px 24px;font-weight:500;animation:.3s cubic-bezier(.175,.885,.32,1.275) both slideDown;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-100%)}to{opacity:1;transform:translate(-50%)}}.header-actions{z-index:200;gap:10px;display:flex;position:absolute;top:14px;right:16px}.header-actions .btn{position:static}.records-toolbar{margin-bottom:1.5rem}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.filter-row .search-form{flex:1;min-width:280px}.interval-filter{min-width:220px}.interval-filter select{width:100%;font-family:var(--font-body);color:var(--black);background:var(--white);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235A6B3A' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1.5px solid #d4d8c8;outline:none;padding:9px 36px 9px 13px;font-size:.94rem}.interval-filter select:focus{border-color:var(--green-dark);box-shadow:var(--shadow-focus)}.search-form{align-items:center;gap:.5rem;display:flex}.search-input{font-family:var(--font-body);color:var(--black);background:var(--white);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition);border:1.5px solid #d4d8c8;outline:none;flex:1;padding:9px 13px;font-size:.94rem}.search-input:focus{border-color:var(--green-dark);box-shadow:var(--shadow-focus)}.records-table-wrap{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #dcc9a166;overflow-x:auto}.records-table{border-collapse:collapse;width:100%;font-size:.85rem}.records-table th{background:var(--cream-dark);text-align:left;text-transform:uppercase;letter-spacing:.08em;color:#5a604a;border-bottom:1px solid var(--tan);white-space:nowrap;padding:.75rem 1rem;font-size:.72rem;font-weight:700}.records-table td{color:var(--black);border-bottom:1px solid #ede9df;padding:.7rem 1rem}.records-table tbody tr:hover{background:#5a6b3a08}.records-table tbody tr:last-child td{border-bottom:none}.code-cell{color:var(--green-dark);font-family:monospace;font-size:.82rem;font-weight:600}.date-cell{color:#6b7061;white-space:nowrap;font-size:.82rem}.record-count{color:#6b7061;font-size:.85rem;font-weight:500}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 0;display:flex}.page-info{color:#6b7061;font-size:.85rem;font-weight:500}.loading-indicator{text-align:center;color:#6b7061;padding:3rem 1rem;font-size:.94rem}.empty-state{text-align:center;color:#9ca08e;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);border:1px solid #dcc9a166;padding:3rem 1rem;font-size:.94rem}.error-banner{border-radius:var(--radius-md);color:var(--error);background:#fdf6f3;border:1px solid #e0c0b0;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.btn-remove-section{z-index:10;color:#fff;cursor:pointer;width:32px;height:32px;transition:all var(--transition);background:#ffffff26;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:16px}.btn-remove-section:hover{background:var(--error);border-color:var(--error);color:#fff}
