:root{color:#26332f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#fffefa;--surface-muted:#eeebe3;--line:#d8d4ca;--text-muted:#6a726d;--brand:#5f766b;--brand-dark:#40564c;--accent:#b45f4d;--warning:#f6e2b7;--danger:#b44b4b;--shadow:0 12px 30px #26332f14;background:#f7f4ee;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:#f7f4ee;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--surface);max-width:760px;min-height:100dvh;box-shadow:var(--shadow);margin:0 auto}.app-header{z-index:5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefaf0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:14px 16px;display:flex;position:sticky;top:0}.app-header-title{flex:112px;min-width:0}.app-header-actions{flex:218px;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.app-header-actions .child-selector{flex:142px;max-width:190px}.app-header h1,.auth-panel h1,.setup-panel h1{letter-spacing:0;margin:0;font-size:1.45rem;line-height:1.15}.app-kicker{color:var(--text-muted);margin:0 0 2px;font-size:.78rem;font-weight:700}.app-main{padding:18px 16px 94px}.connection-banner{color:#35473f;background:#e2ece6;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:6px 12px;font-size:.86rem;font-weight:700;display:flex}.child-selector{min-width:142px;max-width:48%;color:var(--brand-dark);grid-template-columns:auto minmax(106px,1fr);align-items:center;gap:8px;display:grid}.child-selector select,label input,label select,label textarea,.settings-row select{border:1px solid var(--line);color:#26332f;background:#fffefa;border-radius:8px;width:100%;min-height:42px;padding:8px 10px}.bottom-nav{z-index:10;border-top:1px solid var(--line);background:#fffefaf7;grid-template-columns:repeat(7,minmax(0,1fr));max-width:760px;height:70px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{min-width:0;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.72rem;font-weight:700;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--brand-dark);background:#eaf1ed}.page-stack,.form-stack{gap:16px;display:grid}.page-heading{align-items:center;gap:8px;display:flex}.page-heading h2,.form-stack h2{letter-spacing:0;margin:0;font-size:1.25rem;line-height:1.25}.emergency-section{background:var(--warning);border:1px solid #ead09d;border-radius:8px;gap:12px;padding:14px;display:grid}.section-title-row{color:#5d4121;align-items:center;gap:8px;display:flex}.section-title-row h2{letter-spacing:0;margin:0;font-size:1.05rem}.disclaimer,.placeholder-text,.summary-card p,.error-text,.success-text{margin:0}.disclaimer{color:#5d4121;font-size:.9rem}.call-button,.primary-button,.secondary-button,.icon-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 12px;font-weight:800;text-decoration:none;display:inline-flex}.call-button,.primary-button{color:#fffefa;background:var(--brand)}.primary-button.danger-button{color:#fffefa;border-color:var(--danger);background:var(--danger)}.call-button{justify-self:start}.secondary-button{color:var(--brand-dark);border-color:var(--line);background:#fffefa}.icon-button{width:38px;min-height:38px;color:var(--text-muted);border-color:var(--line);background:#fffefa;padding:0}.header-feedback-button{border:1px solid var(--line);min-height:40px;color:var(--brand-dark);background:#fffefa;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:5px;padding:8px 10px;font-size:.86rem;font-weight:900;text-decoration:none;display:inline-flex;position:relative}.header-feedback-button.active{color:#fffefa;border-color:var(--brand);background:var(--brand)}.feedback-badge{color:#fffefa;background:var(--danger);border:2px solid #fffefa;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.7rem;font-weight:900;line-height:1;display:grid;position:absolute;top:-7px;right:-7px}.unregistered-line{color:#5d4121;font-size:.9rem}.unregistered-line span{font-weight:800}.home-emergency-hospitals,.emergency-hospital-list{color:#5d4121;gap:8px;font-size:.9rem;display:grid}.home-emergency-hospitals strong,.emergency-hospital-list strong{font-size:.92rem}.emergency-hospital-row{background:#fffefa7a;border:1px solid #5d41212e;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.emergency-hospital-row span,.emergency-hospital-row a{overflow-wrap:anywhere;min-width:0;font-weight:800}.emergency-hospital-row a{color:var(--brand-dark)}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.summary-card{border:1px solid var(--line);background:#fffefa;border-radius:8px;min-height:94px;padding:14px}.summary-card h3{letter-spacing:0;margin:0 0 8px;font-size:1rem}.summary-card p,.placeholder-text{color:var(--text-muted);font-size:.92rem}.home-section,.timeline-section{gap:14px;display:grid}.split-heading{justify-content:space-between}.compact-button{white-space:nowrap;min-height:38px;padding:7px 10px;font-size:.86rem}.danger-button{color:var(--danger);border-color:#e4c0bc}.settings-link-panel{color:var(--brand-dark);background:#f8fbf8;border:1px solid #d6e0d9;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;text-decoration:none;display:grid}.settings-link-panel span{gap:2px;min-width:0;display:grid}.settings-link-panel strong,.settings-link-panel small{overflow-wrap:anywhere}.settings-link-panel small{color:var(--text-muted);font-size:.82rem}.date-nav{grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.date-nav label{min-width:0}.date-nav input{border:1px solid var(--line);color:#26332f;background:#fffefa;border-radius:8px;min-height:42px;padding:8px 10px}.daily-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.daily-summary-grid article{border:1px solid var(--line);background:#f8fbf8;border-radius:8px;align-content:center;min-height:72px;padding:10px;display:grid}.daily-summary-grid span{color:var(--text-muted);font-size:.74rem;font-weight:800}.daily-summary-grid strong{overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.category-action-card{align-content:space-between;gap:12px;display:grid}.quick-record-button{width:fit-content;min-height:34px;color:var(--brand-dark);background:#eaf1ed;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.84rem;font-weight:800;text-decoration:none;display:inline-flex}.section-heading-line{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:2px;display:flex}.section-heading-line h2,.section-heading-line h3{margin:0;font-size:1rem}.section-heading-line span{color:var(--text-muted);font-size:.82rem;font-weight:800}.timeline-list{gap:8px;display:grid}.timeline-item{border:1px solid var(--line);min-height:72px;color:inherit;background:#fffefa;border-radius:8px;grid-template-columns:54px minmax(0,1fr);gap:10px;padding:10px;text-decoration:none;display:grid}.timeline-time{color:var(--brand-dark);font-size:.84rem;font-weight:900}.timeline-body{gap:3px;min-width:0;display:grid}.timeline-title-row{align-items:center;gap:8px;min-width:0;display:flex}.timeline-title-row strong,.timeline-body p{overflow-wrap:anywhere}.timeline-body p{margin:0}.timeline-body span{color:var(--text-muted);font-size:.78rem;font-weight:700}.timeline-photo,.record-photo-preview{border:1px solid var(--line);object-fit:cover;background:#f8fbf8;border-radius:8px;width:100%;max-height:260px;display:block}.timeline-photo{max-height:180px;margin-top:5px}.photo-month-list,.photo-month-section{gap:14px;display:grid}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.photo-card{border:1px solid var(--line);min-width:0;color:inherit;background:#fffefa;border-radius:8px;gap:8px;padding:8px;text-decoration:none;display:grid}.photo-timeline-image{aspect-ratio:1;border:1px solid var(--line);object-fit:cover;background:#f8fbf8;border-radius:8px;width:100%;display:block}.photo-timeline-caption{gap:2px;min-width:0;display:grid}.photo-timeline-caption span{color:var(--text-muted);font-size:.76rem;font-weight:800}.photo-timeline-caption p{overflow-wrap:anywhere;margin:0;font-size:.88rem;font-weight:700}.record-photo-fallback{min-height:112px;color:var(--text-muted);place-items:center;padding:12px;font-size:.84rem;font-weight:800;display:grid}.status-pill,.role-pill,.settings-readonly-name span{border-radius:999px;align-items:center;min-height:24px;padding:3px 8px;font-size:.74rem;font-weight:900;display:inline-flex}.status-pill{color:#264b63;background:#dceef5}.role-pill{color:var(--brand-dark);background:#eaf1ed}.allergy-pill{color:#7b302c;background:#f2d7d2}.category-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.category-tabs button{border:1px solid var(--line);min-height:42px;color:var(--text-muted);background:#fffefa;border-radius:8px;font-weight:900}.category-tabs button.active{color:#fffefa;border-color:var(--brand);background:var(--brand)}.record-form-panel{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:12px;padding:14px;display:grid}.record-form-panel h3{margin:0;font-size:1.08rem}.record-form{gap:14px;display:grid}.form-field,.form-fieldset{gap:7px;display:grid}.form-fieldset{border:0;min-width:0;margin:0;padding:0}.form-fieldset legend{color:#34443e;margin:0 0 7px;font-weight:800}.segmented-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.segmented-option{display:block}.segmented-option input{opacity:0;width:1px;height:1px;position:absolute}.segmented-option span{border:1px solid var(--line);min-height:42px;color:var(--text-muted);text-align:center;background:#fffefa;border-radius:8px;place-items:center;padding:8px 7px;font-weight:900;display:grid}.segmented-option input:checked+span{color:#fffefa;border-color:var(--brand);background:var(--brand)}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.compact-check-row{border:1px solid var(--line);background:#fffefa;border-radius:8px;min-height:42px;padding:8px 10px}.record-photo-input input[type=file]{border:1px solid var(--line);min-height:44px;color:var(--text-muted);background:#fffefa;border-radius:8px;padding:9px}.number-input-wrap,.input-with-action{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.number-input-wrap>span{min-width:32px;color:var(--text-muted);font-weight:900}.duration-grid{gap:10px;display:grid}.field-note,.settings-readonly-text{color:var(--text-muted);margin:0;font-size:.84rem}.form-toggle{border:1px solid var(--line);background:#fffefa;border-radius:8px;min-height:42px;padding:8px 10px}.form-submit-button{width:100%}.settings-readonly-name{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-readonly-name span{color:#264b63;background:#dceef5}.current-role-panel{background:#f8fbf8;border:1px solid #d6e0d9;border-radius:8px;gap:4px;padding:12px;display:grid}.current-role-panel span{color:var(--text-muted);font-size:.82rem;font-weight:800}.family-admin-panel,.backup-action-panel,.backup-status-panel,.feedback-form-panel,.feedback-list-panel,.hospital-form-panel,.hospital-controls-panel,.settings-preset-panel,.settings-preview-panel,.manual-reminder-form,.medical-note-panel,.invitation-join-panel{border:1px solid var(--line);background:#fffefa;border-radius:8px;gap:12px;padding:12px;display:grid}.family-admin-panel h3,.backup-action-panel h3,.backup-status-panel h3,.feedback-form-panel h3,.feedback-list-panel h3,.hospital-form-panel h3,.hospital-list-panel h3,.settings-preset-panel h3,.settings-preview-panel h3,.manual-reminder-form h3,.invitation-join-panel h2{letter-spacing:0;margin:0;font-size:1rem}.family-admin-panel p,.backup-action-panel p,.backup-status-panel p,.feedback-form-panel p,.feedback-list-panel p,.hospital-list-panel p,.settings-preset-panel p,.settings-preview-panel p,.invitation-join-panel p,.invite-row p{color:var(--text-muted);margin:0;font-size:.86rem}.backup-note-panel,.backup-progress-panel,.first-food-section,.restore-confirm-panel{border:1px solid var(--line);background:#fffefa;border-radius:8px;gap:10px;padding:12px;display:grid}.backup-note-panel{color:#5d4121;background:var(--warning);border-color:#ead09d;grid-template-columns:auto minmax(0,1fr);align-items:start}.backup-note-panel p,.restore-confirm-panel p{margin:0}.backup-note-panel p+p{margin-top:4px}.backup-status-grid{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px 12px;display:grid}.backup-status-grid span{color:var(--text-muted);font-size:.84rem;font-weight:800}.backup-status-grid strong{overflow-wrap:anywhere}.first-food-list{gap:8px;display:grid}.first-food-row{border:1px solid var(--line);background:#fffefa;border-radius:8px;gap:6px;min-width:0;padding:10px;display:grid}.first-food-row-alert{background:#fff8f7;border-color:#e4c0bc}.first-food-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0;display:grid}.first-food-main div{gap:2px;min-width:0;display:grid}.first-food-main strong,.first-food-main span,.first-food-allergy-note{overflow-wrap:anywhere}.first-food-main span{color:var(--text-muted);font-size:.82rem;font-weight:800}.first-food-allergy-note{color:#7b302c;margin:0;font-size:.86rem;font-weight:800}.backup-action-heading{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;display:grid}.file-select-button{border:1px solid var(--line);min-height:42px;color:var(--brand-dark);cursor:pointer;background:#fffefa;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-weight:800;display:inline-flex}.file-select-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.restore-confirm-panel{background:#fff8f7;border-color:#e4c0bc}.restore-confirm-panel strong{overflow-wrap:anywhere}.backup-progress-panel{background:#f8fbf8;border-color:#d6e0d9}.backup-progress-panel span,.backup-progress-panel strong{overflow-wrap:anywhere}.backup-progress-panel progress{width:100%;height:12px;accent-color:var(--brand)}.feedback-form{gap:12px;display:grid}.feedback-kind-options{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-local-note{margin-top:4px}.feedback-list{gap:8px;display:grid}.hospital-form,.hospital-list-panel,.hospital-list,.hospital-card,.hospital-card-heading,.hospital-details,.hospital-hours-fieldset,.hospital-hours-list{gap:10px;display:grid}.hospital-form,.hospital-list-panel{gap:12px}.hospital-controls-panel{grid-template-columns:minmax(0,1fr)}.hospital-switch-row{border:1px solid var(--line);background:#fffefa;border-radius:8px;min-height:42px;padding:8px 10px}.hospital-card{border:1px solid var(--line);background:#fffefa;border-radius:8px;padding:12px}.hospital-card-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.hospital-card-heading h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:1rem}.hospital-card-heading p{color:var(--text-muted);margin:0;font-size:.84rem;font-weight:800}.hospital-badges,.hospital-actions,.hospital-management-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.hospital-badges .status-pill,.today-hours{gap:5px}.today-hours,.hospital-action-missing,.sort-note{border-radius:999px;align-items:center;width:fit-content;min-height:28px;padding:4px 9px;font-size:.76rem;font-weight:900;display:inline-flex}.today-hours-open{color:#28533d;background:#dcebdd}.today-hours-closed{color:#58615d;background:#e6e4dd}.today-hours-unregistered,.hospital-action-missing,.sort-note{color:#5a4320;background:#f6e2b7}.night-emergency-pill{color:#4d365d;background:#eadff1}.favorite-pill{color:#28533d;background:#dcebdd}.hospital-details p{overflow-wrap:anywhere;color:#34443e;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:6px;margin:0;font-size:.88rem;display:grid}.hospital-hours-row{grid-template-columns:76px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.hospital-hours-row .check-row{min-width:0;padding-inline:8px}.hospital-hours-row input[type=time]{min-width:0}.favorite-edit-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 88px;align-items:end;gap:8px;padding-top:10px;display:grid}.favorite-edit-row button{grid-column:1/-1}.favorite-memo{overflow-wrap:anywhere;color:var(--text-muted);margin:0;font-size:.86rem;font-weight:800}.feedback-row{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;grid-template-columns:minmax(0,1fr);gap:10px;padding:12px;display:grid}.feedback-row-main{gap:7px;min-width:0;display:grid}.feedback-row-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.78rem;font-weight:800;display:flex}.feedback-message{overflow-wrap:anywhere;color:#26332f;white-space:pre-wrap;margin:0;font-weight:800}.feedback-detail{overflow-wrap:anywhere}.feedback-status-control select{width:100%}.feedback-status-open{color:#6d2c2c;background:#f7d7d2}.feedback-status-in_progress{color:#5a4320;background:#f6e2b7}.feedback-status-done{color:#28533d;background:#dcebdd}.member-row{border:1px solid var(--line);background:#fffefa;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:12px;display:grid}.member-row div{gap:3px;min-width:0;display:grid}.member-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-row div span{color:var(--text-muted);font-size:.8rem;font-weight:800}.member-actions,.invite-actions{justify-content:end;align-items:center;gap:8px;min-width:0;display:flex}.member-actions label{width:142px}.danger-icon-button{color:var(--danger);border-color:#e4c0bc}.invite-form{gap:10px;display:grid}.invite-list,.reminder-list,.preview-change-list{gap:8px;display:grid}.invite-row,.reminder-row,.preview-change-row{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:10px;padding:10px;display:grid}.invite-code-line,.reminder-main,.preview-change-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.invite-code-line strong{overflow-wrap:anywhere;letter-spacing:.08em;font-size:1.08rem}.status-ok{color:#315d45;background:#dceee2}.status-muted,.reminder-completed{color:#58615d;background:#e6e4dd}.status-danger,.reminder-overdue{color:#7b302c;background:#f2d7d2}.reminder-thisMonth{color:#315d45;background:#dceee2}.reminder-upcoming{color:#264b63;background:#dceef5}.preset-actions,.two-col-actions{gap:8px;display:grid}.preview-change-row strong,.preview-change-row span{overflow-wrap:anywhere}.medical-note-panel{color:#5d4121;background:var(--warning);border-color:#ead09d;grid-template-columns:auto minmax(0,1fr);align-items:start}.medical-note-panel p{margin:0;font-size:.88rem}.complete-check{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;min-width:0;display:grid}.complete-check input{width:20px;height:20px;accent-color:var(--brand);margin-top:2px}.complete-check span{gap:2px;min-width:0;display:grid}.complete-check strong{overflow-wrap:anywhere}.complete-check small{color:var(--text-muted);font-weight:800}.notify-fieldset{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.notify-fieldset legend{color:#34443e;margin-bottom:8px;font-weight:800}.notify-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.notify-list .check-row{min-width:0}.notify-list .check-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:#fffefa;border-radius:999px;align-items:center;min-height:34px;padding:6px 10px;font-weight:700;display:inline-flex}.simple-list,.settings-list{gap:10px;display:grid}.list-row,.settings-row{border:1px solid var(--line);background:#fffefa;border-radius:8px;gap:10px;padding:12px;display:grid}.list-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.list-row span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.settings-row{grid-template-columns:minmax(0,1fr)}.switch-row,.check-row{align-items:center;gap:10px;font-weight:800;display:flex}.switch-row input,.check-row input{width:20px;height:20px;accent-color:var(--brand)}.auth-screen,.setup-screen,.boot-screen{background:#f7f4ee;place-items:center;min-height:100dvh;padding:18px;display:grid}.auth-panel,.setup-panel{border:1px solid var(--line);background:var(--surface);width:min(100%,460px);box-shadow:var(--shadow);border-radius:8px;gap:18px;padding:22px;display:grid}.setup-panel-wide{width:min(100%,560px)}label{color:#34443e;gap:7px;font-weight:800;display:grid}.local-auth-note{color:#35473f;background:#e2ece6;border-radius:8px;align-items:center;width:fit-content;min-height:34px;padding:5px 10px;font-size:.86rem;font-weight:800;display:inline-flex}.success-text{color:#3f6b51;font-weight:700}.error-text{color:var(--danger);font-weight:700}.step-indicator{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.step-indicator span{background:var(--surface-muted);border-radius:999px;height:5px}.step-indicator .current{background:var(--brand)}.child-form-row{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:12px;padding:12px;display:grid}.child-row-title{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-weight:800;display:grid}.category-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.check-row{border:1px solid var(--line);background:#fffefa;border-radius:8px;min-height:42px;padding:8px 10px}.wizard-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.print-preview-page{color:#26332f}.print-settings{border:1px solid var(--line);background:#fbfaf6;border-radius:8px;gap:12px;padding:12px;display:grid}.print-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.print-preview-frame{border:1px solid var(--line);background:#eeebe3;border-radius:8px;gap:10px;padding:10px;display:grid}.print-preview-note{color:var(--text-muted);align-items:center;gap:6px;font-size:.84rem;font-weight:800;display:inline-flex}.print-paper{background:#fff;border:1px solid #c9c4bb;border-radius:3px;gap:12px;width:100%;min-height:297mm;padding:15mm;display:grid;box-shadow:0 10px 24px #26332f17}.print-doc-header{border-bottom:2px solid #26332f;gap:10px;padding-bottom:8px;display:grid}.print-doc-header h2{margin:0;font-size:1.28rem;line-height:1.25}.print-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0;display:grid}.print-meta-grid div{grid-template-columns:72px minmax(0,1fr);gap:7px;display:grid}.print-meta-grid dt{color:var(--text-muted);font-weight:800}.print-meta-grid dd{overflow-wrap:anywhere;min-width:0;margin:0}.print-section{break-inside:avoid;gap:7px;display:grid}.print-section h3{border-bottom:1px solid var(--line);margin:0;padding-bottom:3px;font-size:1rem}.print-important-line{margin:0;font-size:1.05rem;font-weight:900}.print-table{border-collapse:collapse;width:100%;font-size:.9rem}.print-table th,.print-table td{vertical-align:top;text-align:left;overflow-wrap:anywhere;border:1px solid #cfcac0;padding:5px 6px}.print-table th{background:#f1f4f1;font-weight:900}.print-table tr,.print-table td,.print-table th{break-inside:avoid}.compact-print-table{font-size:.86rem}.temperature-trend{gap:2px;display:grid}.temperature-trend svg{border:1px solid var(--line);background:#fbfaf6;width:100%;height:72px}.temperature-trend line{stroke:#d8d4ca;stroke-width:1px}.temperature-trend polyline{fill:none;stroke:#b45f4d;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.temperature-trend circle{fill:#b45f4d}.temperature-trend-labels{color:var(--text-muted);justify-content:space-between;font-size:.76rem;font-weight:800;display:flex}.print-photo-thumbnail{object-fit:cover;background:#f8fbf8;border:1px solid #cfcac0;border-radius:2px;width:min(40mm,100%);max-height:40mm;display:block}.blank-print-row td{height:22mm}.allergy-print-row td{background:#fff8f7;font-weight:800}.print-footer{border-top:1px solid var(--line);color:var(--text-muted);align-self:end;padding-top:8px;font-size:.82rem;font-weight:800}.boot-screen{color:var(--brand-dark);font-weight:800}.boot-mark{border:5px solid #d7e4dc;border-top-color:var(--brand);border-radius:999px;width:42px;height:42px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=640px){.settings-row{grid-template-columns:minmax(0,1fr) 220px;align-items:center}.feedback-row{grid-template-columns:minmax(0,1fr) 142px;align-items:start}.invite-form,.manual-reminder-form,.hospital-form,.hospital-controls-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-form button,.manual-reminder-form button,.manual-reminder-form h3,.manual-reminder-form fieldset,.hospital-form fieldset,.hospital-form .two-col-actions{grid-column:1/-1}.hospital-controls-panel{align-items:end}.hospital-controls-panel .sort-note{grid-column:1/-1}.favorite-edit-row{grid-template-columns:minmax(0,1fr) 96px auto}.favorite-edit-row button{grid-column:auto}.preset-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-main{padding-inline:22px}}@page{size:A4 portrait;margin:15mm}@media print{:root,body{color:#111;background:#fff}.connection-banner,.app-header,.bottom-nav,.no-print{display:none!important}.app-shell{max-width:none;min-height:auto;box-shadow:none;margin:0}.app-main{padding:0}.page-stack,.print-preview-page,.print-preview-frame{display:block}.print-preview-frame{background:0 0;border:0;padding:0}.print-paper{min-height:auto;box-shadow:none;border:0;border-radius:0;padding:0;font-size:10.5pt}.print-doc-header h2{font-size:16pt}.print-section{margin-top:8pt}.print-section h3{font-size:11.5pt}.print-table{font-size:10.5pt}.print-table tr,.print-table td,.print-table th,.photo-card{break-inside:avoid;page-break-inside:avoid}.print-photo-thumbnail{width:40mm;max-height:40mm}}.sign-group{margin-top:.9rem}.sign-group h4{color:var(--muted,#6b7280);margin:0 0 .35rem;font-size:.85rem}.sign-item{border-bottom:1px solid #0000000f;align-items:flex-start;gap:.6rem;padding:.55rem .2rem;line-height:1.5;display:flex}.sign-item input{flex:none;width:1.15rem;height:1.15rem;margin-top:.2rem}.sign-result{background:#0000000a;border-radius:12px;margin-top:1rem;padding:.85rem;line-height:1.6}.sign-result p{margin:0 0 .6rem}.sign-result-match{color:#7f1d1d;background:#fdecea;border:2px solid #c0392b;font-weight:600}.contact-card{margin-top:.9rem}.contact-description{margin:.4rem 0 0;font-size:.88rem;line-height:1.6}.contact-caveat{background:#0000000d;border-radius:8px;margin:.35rem 0 0;padding:.5rem .6rem;font-size:.82rem;line-height:1.55}.source-note{word-break:break-all;color:var(--muted,#6b7280);margin-top:1.1rem;font-size:.78rem;line-height:1.6}.app-header-title h1{margin:0;line-height:0}.app-logo{width:auto;max-width:100%;height:34px;display:block}@media (width<=380px){.app-logo{height:28px}}.app-logo-large{height:68px}@media (width<=380px){.app-logo-large{height:54px}}.restore-entry-panel{background:var(--surface-muted);border-radius:12px;gap:.7rem;margin-bottom:1.1rem;padding:1.1rem 1.2rem;display:grid}.restore-entry-panel h2{margin:0 0 .3rem;font-size:1rem}.restore-entry-panel p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.6}.restore-entry-button{cursor:pointer;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.hospital-seed-panel{background:var(--surface-muted);border-radius:12px;gap:.6rem;margin:.8rem 0;padding:1rem 1.1rem;display:grid}.hospital-seed-panel p{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.65}.hospital-seed-caution{font-weight:600;color:var(--accent)!important}.hospital-list-accordion{padding:0}.hospital-list-summary{cursor:pointer;border-radius:var(--radius,16px);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.6rem;padding:1rem 1.1rem;list-style:none;display:flex}.hospital-list-summary::-webkit-details-marker{display:none}.hospital-list-summary-title{font-size:1rem;font-weight:600}.hospital-list-summary-count{color:var(--text-muted);margin-left:.5rem;font-size:.85rem}.hospital-list-summary-hint{color:var(--text-muted);font-size:.78rem}.hospital-list-summary:after{content:"▾";color:var(--text-muted);margin-left:.4rem;transition:transform .15s}.hospital-list-accordion[open] .hospital-list-summary:after{transform:rotate(180deg)}.hospital-list-note{color:var(--text-muted);margin:0 1.1rem .8rem;font-size:.85rem;line-height:1.6}.hospital-list-accordion>:not(.hospital-list-summary):not(.hospital-list-note){margin-left:1.1rem;margin-right:1.1rem}.hospital-list-accordion>:last-child{margin-bottom:1.1rem}.join-status-panel{background:var(--surface-muted);border-radius:12px;gap:.5rem;padding:1rem 1.2rem;display:grid}.join-status-row{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.join-status-row span{color:var(--text-muted);font-size:.9rem}.join-status-row strong{font-size:1.2rem}.join-status-pending{background:var(--warning,#f6e2b7);border-radius:8px;margin:0;padding:.6rem .8rem;font-size:.85rem;line-height:1.6}.join-status-done{color:var(--text-muted);margin:0;font-size:.85rem}.auth-switch{gap:.5rem;margin-top:1rem;display:grid}.auth-switch button{border:1px solid var(--line);color:var(--brand-dark,#40564c);cursor:pointer;background:0 0;border-radius:999px;padding:.55rem .8rem;font-size:.86rem}.auth-switch button:hover{background:var(--surface-muted)}.auth-note{color:var(--text-muted);text-align:center;margin:.9rem 0 0;font-size:.82rem;line-height:1.6}.form-stack label small{color:var(--text-muted);margin-top:.3rem;font-size:.78rem;display:block}.role-change-notice{background:var(--warning,#f6e2b7);border-radius:12px;padding:1rem 1.1rem}.role-change-heading{align-items:flex-start;gap:.5rem;line-height:1.6;display:flex}.role-change-heading strong{flex:1;font-size:.95rem}.role-change-heading button{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;flex:none;padding:.2rem}.role-change-notice ul{margin:.7rem 0 0;padding-left:1.2rem;font-size:.86rem;line-height:1.75}.sleep-progress-card{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--brand);box-shadow:var(--shadow);border-radius:12px;padding:1rem 1.1rem}.sleep-progress-heading{color:var(--brand-dark);align-items:center;gap:.5rem;display:flex}.sleep-progress-heading strong{font-size:1rem}.sleep-progress-row+.sleep-progress-row{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.sleep-progress-forgotten .sleep-progress-heading{color:var(--danger)}.sleep-progress-detail{margin:.5rem 0 .8rem;font-size:.95rem}.sleep-progress-detail strong{font-size:1.15rem}.sleep-wake-button{width:100%;min-height:52px;font-size:1rem}.sleep-progress-card .field-note{margin:.5rem 0 0}.backup-save-panel{background:var(--warning,#f6e2b7);border-radius:12px;gap:12px;padding:1rem 1.1rem;display:grid}.backup-save-panel h3{margin:0;font-size:1rem}.backup-save-panel p{margin:0;font-size:.9rem;line-height:1.7}.restore-steps{gap:12px;margin:.6rem 0 0;padding-left:1.3rem;display:grid}.restore-steps li{gap:6px;display:grid}.restore-steps li span{font-size:.9rem;font-weight:700}.restore-steps button{width:100%}
