:root{--paper:#f7f5f0;--surface:#fffefa;--ink:#18363c;--muted:#58676a;--teal:#174e5a;--teal-hover:#103b44;--teal-soft:#e5efed;--cranberry:#9c3648;--border:#d8ddda;--warning:#7b5010;--warning-bg:#fff5dc;--error:#922a35;--error-bg:#fff0ef;--success:#1d6343;--success-bg:#e7f3e9;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button{color:inherit}input,textarea{caret-color:var(--teal)}input,textarea,select{min-width:0}::selection{color:var(--ink);background:#cce3dd}:focus-visible{outline-offset:3px;outline:3px solid #ae5964}a{color:var(--teal);text-underline-offset:4px}p{margin:0 0 12px}h1,h2,h3{color:var(--ink);text-wrap:balance;letter-spacing:-.025em;margin:0;line-height:1.2}h1{font-size:2rem;font-weight:730}h2{font-size:1.14rem;font-weight:700}h3{font-size:1rem}small{font-size:.8rem}svg{flex-shrink:0}fieldset{border:0;min-width:0;margin:0;padding:0}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.skip-link{background:var(--teal);color:#fff;z-index:100;padding:12px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:.9rem;font-weight:650;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.primary{background:var(--teal);color:#fff}.primary:hover:not(:disabled){background:var(--teal-hover)}.secondary{background:var(--surface);border-color:var(--border);color:var(--teal)}.secondary:hover:not(:disabled){background:var(--teal-soft)}.button.small{min-height:40px;padding:7px 12px;font-size:.8rem}.text-button{color:var(--teal);text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:6px;padding:9px 0;font-size:.85rem;font-weight:650;display:inline-flex}.text-button:hover{text-decoration:underline}.icon-button{background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.icon-button:hover{background:var(--teal-soft)}.action-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.muted{color:var(--muted);font-size:.87rem}.notice{overflow-wrap:anywhere;border-radius:8px;gap:10px;margin-bottom:20px;padding:14px 16px;font-size:.88rem;display:flex}.notice p:last-child{margin-bottom:0}.notice.error{background:var(--error-bg);color:var(--error)}.notice.warning{background:var(--warning-bg);color:var(--warning)}.notice.success{background:var(--success-bg);color:var(--success)}.error-copy{color:var(--error);overflow-wrap:anywhere}.field{color:var(--ink);flex-direction:column;gap:6px;font-size:.8rem;font-weight:650;display:flex}.field input,.field select,.field textarea,.filter-field select{min-height:44px;color:var(--ink);background:#fff;border:1px solid #b7c3bf;border-radius:6px;width:100%;padding:10px 11px;font-size:.94rem}.field input::placeholder{color:#647373;opacity:1}.field span{color:var(--muted);font-size:.77rem;font-weight:400}.field textarea{resize:vertical}.checkbox-label{cursor:pointer;align-items:flex-start;gap:10px;font-size:.87rem;display:flex}.checkbox-label input{width:20px;height:20px;accent-color:var(--teal);flex-shrink:0}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:20px;height:84px;padding:0 32px;display:flex;position:sticky;top:0}.brand{text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:0;display:flex}.brand-mark{background:var(--teal);color:#fff8e9;border-radius:9px;justify-content:center;align-items:center;width:44px;height:48px;display:flex}.brand strong{letter-spacing:-.025em;font-size:1.02rem;display:block}.brand small{color:var(--muted);margin-top:2px;font-size:.72rem;display:block}.user-menu{align-items:center;gap:20px;font-size:.83rem;display:flex}.user-menu small{color:var(--muted);font-size:.73rem;display:block}.sidebar{border-right:1px solid var(--border);background:#efeee8;flex-direction:column;justify-content:space-between;width:208px;padding:28px 16px;display:flex;position:fixed;top:84px;bottom:0;left:0}.sidebar nav{flex-direction:column;gap:7px;display:flex}.sidebar nav button{color:#536267;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;min-height:46px;padding:12px;font-size:.9rem;font-weight:620;display:flex}.sidebar nav button:hover{background:#e4e7e0}.sidebar nav button.active{background:var(--teal);color:#fff}.sidebar b{background:var(--cranberry);color:#fff;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:.7rem}.sidebar-note{color:#5b6b68;align-items:flex-start;gap:10px;padding:16px 12px;font-size:.79rem;display:flex}.sidebar-note p{margin:0}.app-main{max-width:1800px;margin-left:208px;padding:36px 40px 70px}.mobile-nav{display:none}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.page-heading p{color:var(--muted);max-width:65ch;margin:9px 0 0;font-size:.9rem}.connection{color:var(--success);white-space:nowrap;align-items:center;gap:7px;font-size:.8rem;font-weight:650;display:inline-flex}.connection.offline{color:var(--warning);white-space:normal}.intake-layout{grid-template-columns:minmax(380px,1.5fr) minmax(280px,1fr);gap:30px;max-width:1320px;display:grid}.capture-panel{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:26px 28px}.capture-step+.capture-step{border-top:1px solid var(--border);margin-top:30px;padding-top:28px}.step-title{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.step-title>span:first-child{background:var(--teal-soft);color:var(--teal);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:750;display:inline-flex}.step-title small,.saved-small{color:var(--success);align-items:center;gap:4px;margin-left:auto;font-size:.7rem;display:inline-flex}.capture-step>input[type=file]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.capture-target{width:100%;min-height:160px;color:var(--teal);text-align:center;background:#f3f7f2;border:1px dashed #8eaaa6;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 18px;display:flex}.capture-target:hover{background:var(--teal-soft)}.capture-target strong{font-size:.92rem}.capture-target span{color:var(--muted);max-width:36ch;font-size:.77rem}.family-preview{align-items:center;gap:16px;display:flex}.family-preview>img{object-fit:cover;border-radius:8px;width:148px;height:116px}.page-previews{flex-wrap:wrap;gap:12px;display:flex}.page-preview{width:112px;margin-bottom:12px}.page-preview img{object-fit:contain;background:#ecece7;border-radius:6px;width:112px;height:148px}.page-preview>div{color:var(--muted);justify-content:space-between;align-items:center;font-size:.77rem;display:flex}.page-preview .icon-button{width:32px;height:32px}.number-field{max-width:300px;margin-top:22px}.number-field input{max-width:140px}.capture-footer{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:24px;padding-top:24px;display:flex}.capture-footer p{color:var(--muted);width:100%;margin-bottom:8px;font-size:.77rem}.queue-panel{padding-top:2px}.queue-panel>h2{align-items:center;gap:10px;margin-bottom:12px;display:flex}.queue-panel>h2>span{background:#e0e6df;border-radius:5px;justify-content:center;align-items:center;min-width:24px;padding:2px 6px;font-size:.78rem;display:inline-flex}.queue-panel>.muted{max-width:44ch;font-size:.8rem}.empty-queue{border-radius:var(--radius);border:1px dashed var(--border);color:var(--muted);flex-direction:column;align-items:flex-start;gap:14px;margin-top:20px;padding:30px 20px;display:flex}.empty-queue strong{color:var(--ink);font-size:.95rem}.empty-queue p{max-width:35ch;margin:0;font-size:.8rem}.queue-list{flex-direction:column;gap:16px;margin-top:20px;display:flex}.queue-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px}.queue-item.uploaded{background:#f6fbf4;border-color:#94b89e}.queue-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.queue-title strong{font-size:.88rem}.queue-item>p{color:var(--muted);margin:8px 0;font-size:.74rem}.status{white-space:nowrap;text-transform:none;font-variant-numeric:tabular-nums;color:#43565c;background:#e7ebe8;border-radius:5px;justify-content:center;align-items:center;padding:4px 8px;font-size:.69rem;font-weight:700;line-height:1.4;display:inline-flex}.status.approved{background:var(--success-bg);color:var(--success)}.status.review,.status.error{background:var(--warning-bg);color:var(--warning)}.status.processing,.status.uploaded,.status.uploading{background:var(--teal-soft);color:var(--teal)}.photo-statuses{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:8px 0;padding:12px 0;list-style:none}.photo-statuses li{color:var(--muted);align-items:center;gap:8px;margin:7px 0;font-size:.75rem;display:flex}.photo-statuses li svg{color:var(--teal)}.photo-statuses li strong{color:var(--teal);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.69rem}.queue-item>p.upload-confirmed{color:var(--success)}.queue-item>p.error-copy{color:var(--error)}.family-summary{border-bottom:1px solid var(--border);color:var(--muted);flex-wrap:wrap;gap:30px;margin-top:-5px;padding:17px 0 24px;font-size:.82rem;display:flex}.family-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:5px;font-size:1.08rem}.list-toolbar{align-items:center;gap:20px;margin:24px 0;display:flex}.search-field{max-width:540px;color:var(--muted);background:#fff;border:1px solid #b7c3bf;border-radius:7px;flex:1;align-items:center;gap:10px;padding:0 14px;display:flex}.search-field input{width:100%;min-height:44px;color:var(--ink);background:0 0;border:0;font-size:.86rem}.search-field input:focus{outline:none}.search-field:focus-within{outline-offset:3px;outline:3px solid #ae5964}.filter-field{color:var(--muted);align-items:center;gap:10px;font-size:.8rem;display:flex}.filter-field select{min-width:150px;font-size:.8rem}.family-list{border-top:1px solid var(--border)}.family-row{border-bottom:1px solid var(--border);align-items:center;gap:18px;min-height:112px;padding:18px 10px;display:flex}.family-number{font-variant-numeric:tabular-nums;min-width:42px;color:var(--teal);font-size:1.05rem;font-weight:730}.family-portrait{width:66px;height:70px;color:var(--muted);background:#e3e8e1;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.family-portrait img{object-fit:cover;width:100%;height:100%}.family-info{flex:1;min-width:0}.family-info h2{overflow-wrap:anywhere;font-size:.96rem}.family-info p{color:var(--muted);align-items:center;gap:5px;margin:6px 0 2px;font-size:.78rem;display:flex}.family-info small{color:var(--muted);font-size:.74rem}.family-state{flex-direction:column;align-items:flex-start;gap:7px;min-width:120px;display:flex}.family-state small{color:var(--muted);font-size:.7rem}.family-row-actions{flex-wrap:wrap;gap:8px;max-width:220px;display:flex}.checked-in{color:var(--success);align-items:center;gap:4px;font-size:.7rem;display:inline-flex}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:65px 24px;display:flex}.empty-state h2{color:var(--ink);font-size:1.1rem}.empty-state p{max-width:48ch;margin-bottom:12px;font-size:.85rem}.empty-state>svg{color:var(--teal)}.back-link{margin-bottom:14px}.review-heading{margin-bottom:24px}.review-layout{grid-template-columns:minmax(340px,.9fr) minmax(480px,1.1fr);align-items:start;gap:30px;display:grid}.source-panel{min-width:0;position:sticky;top:110px}.source-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.segmented{background:#e3e9e3;border-radius:7px;padding:3px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:5px;min-height:38px;padding:8px 11px;font-size:.76rem;font-weight:650}.segmented button.selected{background:var(--surface);color:var(--ink)}.source-pages{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-size:.75rem;display:flex}.source-pages button{width:32px;height:38px}.source-image{text-align:center;background:#e4e6df;border-radius:8px;text-decoration:none;display:block;overflow:hidden}.source-image img{object-fit:contain;width:100%;max-height:72vh;display:block}.source-image span{color:var(--teal);padding:10px;font-size:.75rem;display:block}.history-panel{margin-top:26px}.history-panel>h2{margin-bottom:14px;font-size:.91rem}.history-panel p{color:var(--muted);font-size:.78rem}.history-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:11px 0;display:flex}.history-row strong{font-size:.76rem;display:block}.history-row small{color:var(--muted);margin-top:4px;font-size:.7rem;display:block}.history-row .text-button{white-space:nowrap;font-size:.72rem}.record-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:24px}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.section-heading small{color:var(--muted);font-size:.69rem}.fields-grid{grid-template-columns:1fr 1fr;gap:18px 16px;display:grid}.children-heading{margin-top:36px}.children-heading h2 span{color:var(--muted);margin-left:5px;font-size:.8rem}.child-record{border-top:1px solid var(--border);padding:20px 0}.child-heading{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.child-heading h3{font-size:1.04rem}.child-heading>span{color:var(--teal);font-size:.7rem}.child-heading .icon-button{margin-left:auto}.child-fields .field{font-size:.74rem}.child-fields input{font-size:.88rem}.gift-list{margin:24px 0 7px}.gift-editor{border-top:1px solid var(--border);gap:13px;margin-top:16px;padding-top:16px;display:flex}.gift-image,.gift-placeholder{object-fit:contain;background:#fff;border-radius:5px;flex-shrink:0;width:78px;height:85px}.gift-placeholder{background:var(--warning-bg);color:var(--warning);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.67rem;display:flex}.gift-editor-fields{flex:1;min-width:0}.gift-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.gift-header strong{font-size:.85rem}.gift-header .icon-button{width:28px;height:28px}.gift-editor .field{gap:4px;font-size:.69rem}.gift-editor input,.gift-editor select{min-height:40px;padding:9px;font-size:.8rem}.gift-selects{grid-template-columns:1fr 1.3fr;gap:12px;margin-top:12px;display:grid}.gift-editor small{margin-top:8px;font-size:.7rem;display:block}.inline-flag{background:var(--warning-bg);color:var(--warning);border-radius:4px;margin:10px 6px 0 0;padding:3px 6px;font-size:.65rem;display:inline-block}.child-record>.text-button{margin-right:18px;font-size:.75rem}.notes-field{margin-top:24px}.review-flags{background:var(--warning-bg);color:var(--warning);border-radius:8px;margin-top:28px;padding:18px}.review-flags h2{color:var(--warning);align-items:center;gap:7px;font-size:.92rem;display:flex}.review-flags ul{margin:14px 0 0;padding-left:20px;font-size:.77rem}.review-flags li{margin:8px 0}.review-flags p{gap:8px;margin:12px 0 0;font-size:.8rem;display:flex}.apply-preview{background:#f2f7f0;border:1px solid #98b5ac;border-radius:8px;margin-top:24px;padding:18px}.apply-preview h2{margin-bottom:12px;font-size:.94rem}.apply-preview p,.apply-preview ul{overflow-wrap:anywhere;font-size:.78rem}.apply-preview ul{padding-left:20px}.review-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.restore-panel{z-index:30;background:#142e35a8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.restore-panel>div{background:var(--surface);border-radius:var(--radius);max-width:650px;max-height:90vh;padding:26px;overflow:auto}.restore-panel h2{margin-bottom:16px}.restore-panel p{font-size:.87rem}.restore-panel pre{background:var(--paper);max-height:36vh;padding:14px;font-size:.72rem;overflow:auto}.age-tabs,.report-tabs{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.age-tabs button,.report-tabs button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--muted);border-radius:7px;align-items:center;gap:8px;padding:10px 15px;font-size:.83rem;font-weight:650;display:flex}.age-tabs button.selected,.report-tabs button.selected{background:var(--teal);border-color:var(--teal);color:#fff}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px;display:grid}.catalog-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.catalog-item img{object-fit:contain;background:#fff;width:100%;height:190px;margin-bottom:16px}.catalog-item h2{font-size:.94rem}.catalog-item h2 span{color:var(--cranberry);font-variant-numeric:tabular-nums;margin-right:4px;font-size:.78rem}.catalog-item p{color:var(--muted);margin:10px 0 0;font-size:.75rem}.report-note{background:var(--teal-soft);color:var(--teal);border-radius:8px;gap:11px;margin-bottom:18px;padding:16px;font-size:.85rem;display:flex}.report-note p{max-width:80ch;margin:0}.table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:9px;margin:20px 0 30px;overflow:auto}th{text-align:left;color:var(--muted);white-space:nowrap;background:#edf1e9;padding:14px 18px;font-size:.75rem;font-weight:650}td{border-top:1px solid var(--border);overflow-wrap:anywhere;max-width:400px;padding:15px 18px;font-size:.85rem}.export-links{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.export-links h2{width:100%;margin-bottom:6px;font-size:1rem}.export-links a{font-size:.79rem}.staff-layout{grid-template-columns:1.3fr 1fr;gap:36px;display:grid}.staff-list h2{margin-bottom:20px}.staff-list article{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;padding:18px 0;display:flex}.staff-list article>div{overflow-wrap:anywhere;flex:1;min-width:170px}.staff-list strong{font-size:.9rem}.staff-list small{color:var(--muted);margin-top:4px;font-size:.72rem;display:block}.staff-list .text-button{font-size:.73rem}.staff-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:18px;padding:24px;display:flex}.staff-form h2{margin-bottom:5px}.reset-password{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);max-width:500px;margin:28px 0;padding:24px}.reset-password h2{margin-bottom:20px}.reset-password .action-row{margin-top:18px}.boot-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:30px;display:flex}.boot-screen h1{font-size:1.8rem}.boot-screen p{color:var(--muted)}.login-screen{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1100px;min-height:100dvh;margin:auto;padding:60px 70px;display:grid;position:relative}.login-brand .brand-mark{border-radius:12px;width:64px;height:70px;margin-bottom:25px}.login-brand h1{letter-spacing:-.035em;max-width:12ch;font-size:3.2rem;line-height:1.06}.login-brand>p{color:var(--cranberry);margin:24px 0;font-size:1rem;font-weight:600}.login-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:20px;padding:35px;display:flex}.login-form h2{font-size:1.35rem}.login-form>p{color:var(--muted);margin:-10px 0 3px;font-size:.83rem}.login-form small{color:var(--muted);text-align:center;font-size:.73rem}.login-form .notice.error{color:var(--error);margin:0}@keyframes rotate{to{transform:rotate(360deg)}}.rotating{animation:1s linear infinite rotate}@media (min-width:1500px){.app-main{padding:40px 56px}.review-layout{gap:38px}.record-panel{padding:28px}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1200px){.sidebar{width:178px;padding-inline:12px}.app-main{margin-left:178px;padding:30px 28px 60px}.review-layout{grid-template-columns:minmax(260px,.8fr) minmax(390px,1.2fr);gap:22px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.intake-layout{grid-template-columns:minmax(330px,1.2fr) minmax(250px,1fr);gap:22px}.capture-panel{padding:22px}.family-row{gap:12px}.family-row-actions{max-width:100px}.family-state{min-width:110px}}@media (max-width:960px){.app-header{padding:0 22px}.sidebar{width:155px;padding-inline:8px}.sidebar nav button{gap:8px;padding:11px 10px;font-size:.79rem}.app-main{margin-left:155px;padding:28px 22px 50px}.intake-layout{display:block}.queue-panel{margin-top:30px}.queue-list{grid-template-columns:1fr 1fr;gap:14px;display:grid}.review-layout{display:block}.source-panel{margin-bottom:30px;position:static}.source-image img{max-height:65vh}.history-panel{max-height:220px;overflow:auto}.staff-layout{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px}.family-summary{gap:15px 24px}.family-row{flex-wrap:wrap;padding:18px 0;position:relative}.family-info{flex:1;min-width:140px}.family-state{flex-flow:wrap;align-items:center;margin-left:66px}.family-row-actions{max-width:none;margin-left:auto}.family-number{min-width:40px}.family-portrait{width:52px;height:60px}.list-toolbar{flex-wrap:wrap;gap:12px}.search-field{flex-basis:100%;max-width:none}}@media (max-width:640px){html{font-size:16px}.app-header{gap:10px;height:72px;padding:0 16px}.brand{gap:9px}.brand-mark{border-radius:7px;width:35px;height:40px}.brand strong{max-width:180px;font-size:.82rem}.brand small{font-size:.64rem}.user-menu{gap:4px}.user-menu>span,.sidebar{display:none}.app-main{margin-left:0;padding:26px 18px 105px}.mobile-nav{background:var(--surface);border-top:1px solid var(--border);z-index:20;padding:7px 5px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;align-items:center;gap:5px;min-width:0;min-height:50px;padding:6px 0;font-size:.61rem;display:flex}.mobile-nav button.active{color:var(--teal);font-weight:750}.mobile-nav button.active svg{stroke-width:2.6px}h1{font-size:1.65rem}.page-heading{gap:14px;margin-bottom:24px}.page-heading p{max-width:37ch;font-size:.82rem}.connection{font-size:.74rem}.capture-panel{padding:20px 18px}.capture-step+.capture-step{margin-top:24px;padding-top:24px}.step-title{gap:8px;margin-bottom:16px}.step-title h2{font-size:1rem}.saved-small{flex-basis:100%;margin-left:34px;font-size:.65rem}.capture-target{min-height:154px;padding:20px 15px}.capture-target strong{font-size:.86rem}.capture-target span{font-size:.73rem}.family-preview{display:block}.family-preview>img{width:100%;height:190px;margin-bottom:12px}.family-preview .button,.capture-footer .primary{width:100%}.capture-footer{gap:12px}.queue-panel{margin-top:28px}.queue-list{display:flex}.queue-item{padding:17px}.number-field{max-width:none}.number-field input{max-width:100%}.page-preview{width:98px}.page-preview img{width:98px;height:130px}.family-summary{gap:12px 20px;padding-bottom:18px;font-size:.73rem}.family-summary strong{font-size:1rem}.list-toolbar{margin:20px 0}.family-row{align-items:flex-start;gap:11px}.family-number{min-width:34px;padding-top:4px;font-size:.95rem}.family-portrait{width:47px;height:57px}.family-info{min-width:160px;max-width:calc(100% - 106px)}.family-info h2{font-size:.91rem}.family-info p{font-size:.74rem}.family-state{flex:1;gap:6px;min-width:0;margin-left:94px}.family-row-actions{flex-basis:100%;gap:8px;margin-left:94px}.family-row-actions .button{min-height:40px}.filter-field{justify-content:space-between;width:100%;font-size:.75rem}.filter-field select{width:200px}.record-panel{padding:18px 16px}.fields-grid{gap:16px 12px}.field{font-size:.73rem}.field input,.field textarea,.field select{padding:9px;font-size:16px}.section-heading{flex-wrap:wrap;gap:10px}.section-heading h2{font-size:1.04rem}.section-heading small{font-size:.69rem}.children-heading{margin-top:28px}.child-heading{gap:8px}.child-heading>span{font-size:.66rem}.gift-image,.gift-placeholder{width:54px;height:60px}.gift-editor{gap:10px}.gift-selects{grid-template-columns:1fr}.gift-editor input,.gift-editor select{font-size:16px}.gift-header strong{font-size:.83rem}.gift-editor .field{font-size:.69rem}.review-flags{padding:15px}.review-flags ul{font-size:.74rem}.review-actions{flex-direction:column}.review-actions .button{width:100%}.review-heading{align-items:center}.source-panel{margin-bottom:26px}.source-toolbar{gap:8px}.source-image img{max-height:65vh}.source-pages{font-size:.7rem}.segmented button{font-size:.73rem}.history-row{align-items:flex-start}.restore-panel{padding:16px}.restore-panel>div{padding:20px}.catalog-grid{gap:16px 12px}.catalog-item{padding:12px}.catalog-item img{height:140px;margin-bottom:12px}.catalog-item h2{font-size:.84rem}.catalog-item h2 span,.catalog-item p{font-size:.7rem}.age-tabs{gap:7px;margin-bottom:22px}.age-tabs button{padding:8px 12px;font-size:.73rem}.report-tabs{gap:8px}.report-tabs button{padding:9px 12px;font-size:.73rem}.report-note{padding:14px;font-size:.77rem}.table-scroll{margin:20px 0}td{padding:12px 14px;font-size:.79rem}th{padding:12px 14px;font-size:.7rem}.export-links a{justify-content:flex-start;width:100%}.staff-form{padding:20px}.staff-list article{gap:10px}.login-screen{flex-direction:column;align-items:stretch;gap:30px;max-width:450px;min-height:100dvh;padding:48px 26px 90px;display:flex}.login-brand{grid-template-columns:auto 1fr;align-items:center;column-gap:16px;display:grid}.login-brand .brand-mark{grid-row:1/3;width:56px;height:62px;margin:0}.login-brand h1{max-width:none;font-size:2.15rem}.login-brand h1 br{display:none}.login-brand>p{margin:10px 0 0;font-size:.85rem}.login-form{gap:19px;padding:25px}.login-form h2{font-size:1.25rem}.boot-screen h1{font-size:1.65rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}dialog.restore-panel{background:0 0;border:0;width:min(682px,100% - 32px);height:fit-content;max-height:90dvh;margin:auto;padding:0;display:block;overflow:auto}dialog.restore-panel::backdrop{background:#0e262c8c}dialog.restore-panel>div{max-height:none}.photo-tools,.parse-controls{border-bottom:1px solid var(--border);margin-top:16px;padding:16px 0}.photo-tools>p{color:var(--muted);margin:10px 0;font-size:.77rem}.replacement-status{background:var(--teal-soft);border-radius:8px;margin-top:12px;padding:12px}.replacement-status strong{color:var(--teal);align-items:center;gap:6px;font-size:.79rem;display:flex}.replacement-status small{overflow-wrap:anywhere;margin-top:5px;font-size:.7rem;display:block}.replacement-status p{color:var(--error);margin-top:8px;font-size:.76rem}.replacement-status .text-button{margin-right:16px;font-size:.75rem}.replacement-preview{object-fit:contain;max-width:100%;max-height:40vh;margin:16px auto;display:block}.photo-history{margin-top:16px;font-size:.78rem}.photo-history summary{cursor:pointer;color:var(--teal);padding:8px 0;font-weight:650}.photo-history a{padding:8px 0;display:block}.parse-result{background:var(--teal-soft);border-radius:8px;margin-top:12px;padding:14px;font-size:.78rem}.parse-result p{margin:8px 0}.delete-family{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.delete-family .notice{margin-top:12px}.button.danger{background:var(--error-bg);color:var(--error);border-color:#d6a4a8}.button.danger:hover:not(:disabled){background:#f8dfdf}.status.deleting{background:var(--error-bg);color:var(--error)}.staff-invitations{flex-direction:column;gap:28px;min-width:0;display:flex}.staff-form>.muted{margin:0;line-height:1.5}.generated-invitation{border-top:1px solid var(--border);flex-direction:column;gap:14px;min-width:0;padding-top:18px;display:flex}.generated-invitation>.muted{margin:0;line-height:1.5}.generated-invitation input{width:100%;min-width:0;font-size:.8rem}.invitation-list h2{margin-bottom:12px;font-size:1rem}.invitation-list article{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.invitation-list strong{font-size:.86rem}.invitation-list small{color:var(--muted);margin-top:5px;font-size:.73rem;line-height:1.45;display:block}.login-form>p.notice.error{color:var(--error);margin:0;font-size:.88rem}.staff-form .field{min-width:0}.invitation-list article>div{overflow-wrap:anywhere;flex:1;min-width:0}@media (max-width:640px){.generated-invitation input{font-size:16px}}
