:root{color:#282a33;background:#f7f7f9;font-family:Inter,Noto Sans JP,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{font-family:inherit;margin:0;min-width:320px}button,input{font:inherit}.auth-page{align-items:center;background:linear-gradient(#f7f7f9e6,#f4f4f6eb),url(/assets/bg-szOp29W2.png),linear-gradient(180deg,#fafafa,#f4f4f6);background-position:center;background-size:cover;display:flex;min-height:100vh;padding:24px}.phone-shell{background:#fff;border:1px solid #e8e8ec;box-shadow:0 18px 46px #1c1f2a14;display:flex;flex-direction:column;min-height:min(720px,calc(100vh - 48px));max-width:390px;width:100%}.screen-header{align-items:center;border-bottom:1px solid #ececf1;display:grid;grid-template-columns:44px 1fr 44px;height:54px}.screen-header h1{font-size:15px;font-weight:700;letter-spacing:0;margin:0;text-align:center}.back-button,.icon-button{align-items:center;background:transparent;border:0;color:#747782;cursor:pointer;display:inline-flex;justify-content:center}.back-button{font-size:28px;height:44px;width:44px}.login-form{padding:28px 18px 0}.field{display:block;margin-bottom:16px}.field>span{color:#8b8e98;display:block;font-size:12px;margin:0 0 6px}.input-wrap{align-items:center;background:#fff;border:1px solid #ececf1;display:grid;grid-template-columns:30px 1fr 36px;min-height:48px;padding:0 6px 0 10px}.input-wrap svg{color:#9a9da8}.input-wrap input{border:0;color:#2f3138;min-width:0;outline:none;padding:12px 4px}.input-wrap input[type=password]::-ms-reveal,.input-wrap input[type=password]::-ms-clear{display:none}.input-wrap input[type=password]::-webkit-credentials-auto-fill-button,.input-wrap input[type=password]::-webkit-caps-lock-indicator{display:none!important;pointer-events:none;visibility:hidden}.field:first-child .input-wrap{grid-template-columns:30px 1fr}.icon-button{height:36px;width:36px}.primary-button{background:#d75a8e;border:0;border-radius:999px;box-shadow:0 5px 10px #d75a8e42;color:#fff;cursor:pointer;display:block;font-size:13px;font-weight:700;height:40px;margin:32px auto 0;min-width:150px;padding:0 28px}.primary-button:disabled{cursor:not-allowed;opacity:.6}.error-message{background:#fff3f6;border:1px solid #ffd7e3;color:#b12b5d;font-size:13px;line-height:1.5;margin:6px 0 0;padding:10px 12px}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;font-size:13px;line-height:1.5;margin:6px 0 0;padding:10px 12px}.forgot-password-intro{color:#596071;font-size:14px;line-height:1.6;margin:0 0 16px}.forgot-password-form{padding-top:8px}.reset-account-preview{color:#596071;font-size:14px;line-height:1.6;margin:0 0 16px}.reset-account-preview strong{color:#2d313a;display:block;margin-top:4px;word-break:break-all}.reset-password-mock-banner{background:#f3f4ff;border:1px solid #d8dcff;border-radius:8px;color:#4b4f8f;font-size:12px;line-height:1.5;margin:0 0 16px;padding:10px 12px}.reset-password-mock-code{color:#6b7099;display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:4px}.reset-password-actions{display:flex;justify-content:flex-end;margin-top:8px}.reset-password-actions .primary-button{margin:24px 0 0}.sms-submit-button{background:#303f9f;box-shadow:0 5px 10px #303f9f3d;border-radius:4px;min-width:88px}.sms-password-field .input-wrap{border:0;border-bottom:1px solid #777;border-radius:0;grid-template-columns:minmax(0,1fr) 40px;min-height:44px;padding:0}.sms-password-field .input-wrap>svg{display:none}.reset-password-success-only{margin-top:24px}.firebase-reset-page{align-items:flex-start;background:#fafafa;border-top:6px solid #25311f;justify-content:center;min-height:100vh;padding:8px 12px 40px}.firebase-reset-card{border:1px solid #e5e5e5;border-radius:0;box-shadow:0 1px 3px #00000042;margin-top:0;max-width:min(100%,480px);min-height:0;padding:26px 20px 24px;width:100%}.firebase-reset-title{color:#111;font-size:22px;font-weight:400;letter-spacing:0;line-height:1.35;margin:0 0 28px}.firebase-reset-card .forgot-password-form{padding:0}.firebase-reset-card .reset-account-preview{color:#444;font-size:16px;line-height:1.35;margin-bottom:34px}.firebase-reset-card .reset-account-preview span{background:#d6d6d6}.firebase-reset-card .reset-account-preview strong{color:#111;font-size:16px;font-weight:700;margin-top:2px}.firebase-reset-card .sms-password-field{margin-bottom:18px;width:100%}.firebase-reset-card .sms-password-field>span{color:#333;font-size:14px;font-weight:600;margin-bottom:8px}.firebase-reset-card .sms-password-field .input-wrap{border-bottom-color:#d9d9d9;grid-template-columns:minmax(0,1fr) 40px;min-height:50px;width:100%}.firebase-reset-card .sms-password-field input{color:#222;font-size:16px;min-width:0;padding-left:0;padding-right:4px;width:100%}.firebase-reset-card .sms-password-field input::placeholder{color:#777}.firebase-reset-card .reset-password-actions{justify-content:flex-end;margin-top:26px}.firebase-reset-card .sms-submit-button{background:#3f51b5;border-radius:2px;box-shadow:0 2px 5px #3f51b557;font-size:14px;height:36px;min-width:88px}.admin-shell{background:#f5f6f8;display:grid;grid-template-columns:282px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:#171c2a;color:#fff;display:flex;flex-direction:column;padding:22px 16px}.sidebar-head{display:block;margin-top:18px}.brand-block{border-bottom:1px solid rgba(255,255,255,.12);padding:0 8px 18px}.brand-block span{color:#aeb6cb;display:block;font-size:12px}.brand-block strong{display:block;font-size:22px;margin-top:2px}.mobile-menu-button{align-items:center;background:#2b3348;border:0;border-radius:8px;color:#fff;cursor:pointer;display:none;height:40px;justify-content:center;width:40px}.side-menu{display:grid;gap:8px;margin-top:22px}.side-menu button,.sidebar-logout{align-items:center;background:transparent;border:0;border-radius:8px;color:#c7cede;cursor:pointer;display:flex;font-size:15px;gap:8px;min-height:42px;padding:0 10px;text-align:left;white-space:nowrap}.side-menu button.active,.side-menu button:hover{background:#2b3348;color:#fff}.sidebar-logout{margin-top:0}.admin-main{min-width:0;padding:26px}.admin-topbar{margin-bottom:18px}.admin-topbar p,.manager-header p{color:#737784;font-size:13px;margin:0 0 4px}.admin-topbar h1,.manager-header h2{color:#20242d;font-size:28px;letter-spacing:0;margin:0}.summary-row{display:grid;gap:16px;grid-template-columns:max-content max-content;justify-content:start;margin-bottom:18px}.summary-card{background:#fff;border:1px solid #e4e7ee;border-radius:8px;cursor:pointer;padding:18px;max-width:100%;width:560px}.summary-card.selected{border-color:#d75a8e;box-shadow:0 10px 28px #d75a8e1f}.status-note-card{background:#fff;border:1px solid #e4e7ee;border-radius:8px;padding:18px;width:max-content}.status-note-card h2{color:#20242d;font-size:18px;letter-spacing:0;margin:0 0 14px}.status-note-card ul{display:grid;gap:10px;list-style:none;margin:0;padding:0}.status-note-card li{border-radius:8px;font-size:14px;font-weight:700;line-height:1.55;padding:10px 12px;white-space:nowrap}.status-note-card .note-pending{background:#fff3dc;color:#986b00}.status-note-card .note-reject{background:#ffeff2;color:#b82746}.status-note-card .note-accept{background:#eef2ff;color:#4338ca}.status-note-card .note-success{background:#e8f7ee;color:#15803d}.summary-title{align-items:center;display:flex;gap:10px;margin-bottom:16px}.summary-title svg{color:#d75a8e}.summary-title h2{font-size:18px;letter-spacing:0;margin:0}.summary-metrics{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-metrics.has-reject{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-metrics.has-accept{grid-template-columns:repeat(5,minmax(0,1fr))}.summary-metrics div{background:#f7f8fa;border-radius:8px;padding:12px;text-align:center}.summary-metrics .metric-total{background:#eaf2ff}.summary-metrics .metric-pending{background:#fff3dc}.summary-metrics .metric-success{background:#e8f7ee}.summary-metrics .metric-reject{background:#ffeff2}.summary-metrics .metric-accept{background:#eef2ff}.summary-metrics span{color:#737784;display:block;font-size:12px}.summary-metrics .metric-total span,.summary-metrics .metric-total small{color:#2867c8}.summary-metrics .metric-pending span,.summary-metrics .metric-pending small{color:#986b00}.summary-metrics .metric-success span,.summary-metrics .metric-success small{color:#168146}.summary-metrics .metric-reject span,.summary-metrics .metric-reject small{color:#b82746}.summary-metrics .metric-accept span,.summary-metrics .metric-accept small{color:#4f46a5}.summary-metrics strong{color:#20242d;display:block;font-size:24px;margin-top:4px}.summary-metrics .metric-total strong{color:#1f63d7}.summary-metrics .metric-pending strong{color:#b46f00}.summary-metrics .metric-success strong{color:#15803d}.summary-metrics .metric-reject strong{color:#b82746}.summary-metrics .metric-accept strong{color:#4338ca}.summary-metrics small{border-top:1px solid rgba(0,0,0,.06);display:block;font-size:13px;font-weight:700;margin-top:8px;padding-top:7px;text-align:left}.summary-metrics small em{font-style:italic;font-weight:600;opacity:.58}.summary-metrics small b{font-size:15px;font-weight:800}.manager-panel{background:#fff;border:1px solid #e4e7ee;border-radius:8px;overflow:hidden}.manager-header{align-items:center;border-bottom:1px solid #edf0f4;display:flex;justify-content:space-between;padding:18px}.manager-description{color:#596071;display:block;font-size:17px;line-height:1.7;margin-top:8px}.add-button,.save-button{align-items:center;background:#d75a8e;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;min-height:40px;padding:0 14px}.manager-toolbar{align-items:center;display:flex;gap:14px;justify-content:space-between;padding:14px 18px}.manager-filter-row{align-items:center;display:flex;gap:12px;min-width:0}.search-box{align-items:center;border:1px solid #dfe3eb;border-radius:8px;display:flex;gap:8px;max-width:420px;width:260px;min-height:40px;padding:0 12px}.status-filter-inline{align-items:center;display:flex;gap:8px;min-height:40px}.status-filter-inline span{color:#737784;font-size:12px;font-weight:700;white-space:nowrap}.status-filter-inline select{background:#fff;border:1px solid #dfe3eb;border-radius:8px;color:#2d313a;min-height:40px;min-width:170px;padding:0 10px}.search-box svg{color:#818796}.search-box input{border:0;min-width:0;outline:0;width:100%}.record-count{align-items:baseline;background:#f7f8fa;border:1px solid #edf0f4;border-radius:8px;color:#737784;display:inline-flex;gap:5px;min-height:40px;padding:8px 12px;white-space:nowrap}.record-count span{color:#1f63d7;font-size:18px;font-weight:800}.record-count small{font-size:12px}.filter-grid{border-top:1px solid #edf0f4;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px 18px}.filter-grid label{display:block}.filter-grid span{color:#737784;display:block;font-size:12px;font-weight:700;margin-bottom:6px}.filter-grid input,.filter-grid select{background:#fff;border:1px solid #dfe3eb;border-radius:8px;color:#2d313a;min-height:40px;padding:0 10px;width:100%}.table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;min-width:1120px;width:100%}.messenger-table{table-layout:fixed}.messenger-table th,.messenger-table td{width:25%}.admin-table th,.admin-table td{border-top:1px solid #edf0f4;padding:14px 18px;text-align:left;vertical-align:middle}.admin-table th{background-color:#d8d8e0;color:#2d313a;font-size:13px;font-weight:800;text-transform:none}.admin-table td{color:#2d313a;font-size:14px}.admin-table .table-loading-cell{text-align:left!important}.admin-table.obituary-table{min-width:0;table-layout:fixed;width:100%}.obituary-table th,.obituary-table td{padding:12px 14px}.obituary-table th:nth-child(1),.obituary-table td:nth-child(1){width:10%}.obituary-table th:nth-child(2),.obituary-table td:nth-child(2){width:24%}.obituary-table th:nth-child(2){font-size:12px;font-weight:800;line-height:1.35;white-space:nowrap}.obituary-table th:nth-child(3),.obituary-table td:nth-child(3){width:20%}.obituary-table th:nth-child(4),.obituary-table td:nth-child(4){width:20%}.obituary-table th:nth-child(5),.obituary-table td:nth-child(5){width:18%}.obituary-table th:last-child,.obituary-table td:last-child{padding-right:16px;text-align:right;width:64px}.obituary-table .long-text-cell{min-width:0;vertical-align:top}.obituary-text-clamp{-webkit-box-orient:vertical;-webkit-line-clamp:2;display:-webkit-box;line-height:1.45;overflow:hidden;word-break:break-word}.long-text-cell{line-height:1.65;min-width:220px}.send-to-cell{display:grid;gap:4px;line-height:1.35}.send-to-cell strong{color:#2d313a;font-size:14px;font-weight:700;overflow-wrap:anywhere}.send-to-cell small{color:#818796;font-size:12px;overflow-wrap:anywhere}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:6px 10px}.service-pill{background:#eef4ff;border-radius:999px;color:#2867c8;display:inline-flex;font-size:12px;font-weight:700;padding:6px 10px}.type-pill{background:#f3f4f6;border-radius:999px;color:#596071;display:inline-flex;font-size:12px;font-weight:700;padding:6px 10px}.id-cell{color:#596071;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.log-cell{color:#737784;display:inline-block;max-width:260px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.status-pill.success{background:#eaf7ef;color:#168146}.status-pill.pending{background:#fff7df;color:#986b00}.status-pill.failed{background:#ffeff2;color:#b82746}.status-pill.accept{background:#eef2ff;color:#4338ca}.row-actions{display:flex;gap:8px;justify-content:flex-end}.row-actions button{align-items:center;background:#fff;border:1px solid #dfe3eb;border-radius:6px;color:#596071;cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.row-actions .sms-action-button{background:#d75a8e;border-color:#d75a8e;box-shadow:0 8px 18px #d75a8e38;color:#fff}.row-actions .sms-action-button:hover{background:#c8467c;border-color:#c8467c}.row-actions .sms-action-button.is-sent{background:#9ca3af;border-color:#9ca3af;box-shadow:none;color:#fff}.row-actions .sms-action-button.is-sent:hover{background:#6b7280;border-color:#6b7280}.pagination-bar{align-items:center;border-top:1px solid #edf0f4;display:flex;gap:12px;justify-content:flex-end;padding:14px 18px}.pagination-bar button{background:#fff;border:1px solid #dfe3eb;border-radius:8px;color:#2d313a;cursor:pointer;min-height:36px;padding:0 12px}.pagination-bar button:disabled{cursor:not-allowed;opacity:.5}.pagination-bar span{color:#737784;font-size:13px;font-weight:700}.page-buttons{display:flex;gap:6px}.pagination-bar .page-number{min-width:36px;padding:0 10px}.pagination-bar .page-number.active{background:#1f63d7;border-color:#1f63d7;color:#fff;opacity:1}.page-ellipsis{align-items:center;display:inline-flex;justify-content:center;min-width:24px}.modal-backdrop{align-items:center;background:#1418226b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed}.modal-panel{background:#fff;border-radius:8px;box-shadow:0 24px 60px #161c2947;max-width:520px;padding:18px;width:100%}.modal-panel header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.modal-panel h2{font-size:18px;margin:0}.modal-panel header p{color:#737784;font-size:13px;margin:0 0 4px}.modal-panel header button{background:transparent;border:0;cursor:pointer;font-size:28px;line-height:1}.log-detail-panel{max-width:680px}.sms-send-panel{max-width:500px;padding:20px}.sms-send-panel h2{font-size:22px;font-weight:800}.sms-send-panel .save-button{border-radius:8px;font-size:14px;font-weight:700;min-height:42px;padding:0 14px}.sms-send-panel .condolence-send-button span{font-size:14px}.sms-send-panel .save-button:disabled{cursor:not-allowed;opacity:.45}.modal-intro{margin:0 0 14px}.modal-intro p{color:#737784;font-size:14px;margin:0 0 6px}.modal-intro span{color:#2d313a;display:block;font-size:13px;line-height:1.6}.send-method-field{border:0;margin:0 0 16px;padding:0}.send-method-field legend{color:#737784;font-size:13px;margin-bottom:8px}.send-method-options{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.send-method-card{align-items:center;background:#f7f8fa;border:1px solid #dfe3eb;border-radius:10px;color:#2d313a;cursor:pointer;display:flex;font-size:16px;font-weight:800;gap:10px;min-height:50px;padding:12px 14px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.send-method-card.disabled{cursor:not-allowed;opacity:.45}.send-method-card input{accent-color:#d75a8e;height:17px;width:17px}.send-method-card.selected{background:#fff1f7;border-color:#d75a8e;box-shadow:0 10px 24px #d75a8e24;color:#bd3f78}.send-target-preview{align-items:center;background:#f7f8fa;border:1px solid #edf0f4;border-radius:8px;color:#2d313a;display:flex;gap:8px;margin:0 0 14px;min-height:42px;padding:10px 12px}.send-target-preview span{color:#737784;font-size:13px;white-space:nowrap}.send-target-preview strong{color:#1f63d7;font-size:14px;overflow-wrap:anywhere}.send-notes{color:#737784;font-size:12px;line-height:1.5;margin:0 0 14px}.send-notes p{margin:0}.log-detail-meta{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 14px}.log-detail-meta.single-column{grid-template-columns:1fr}.log-detail-meta div{background:#f7f8fa;border:1px solid #edf0f4;border-radius:8px;padding:10px 12px}.log-detail-meta dt{color:#737784;font-size:12px;font-weight:700;margin-bottom:4px}.log-detail-meta dd{color:#2d313a;font-size:14px;margin:0;overflow-wrap:anywhere}.log-detail-content{background:#171c2a;border-radius:8px;color:#eef2f7;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.65;margin:0;max-height:360px;overflow:auto;padding:14px;white-space:pre-wrap;word-break:break-word}.form-field{display:block;margin-bottom:14px}.form-field span{color:#737784;display:block;font-size:13px;margin-bottom:6px}.form-field input,.form-field textarea,.form-field select{border:1px solid #2d313a;border-radius:8px;font:inherit;min-height:42px;padding:10px 12px;width:100%}.form-field textarea{font-size:26px;line-height:1.5;min-height:110px;resize:vertical}.sms-send-panel .form-field input,.sms-send-panel .form-field textarea{font-size:14px;line-height:1.6}.sms-send-panel .form-field textarea{min-height:120px}.sms-send-panel .form-field textarea:disabled{background:#f4f5f7;color:#4b4f5c;cursor:not-allowed;opacity:1}.sms-char-counter{color:#737784;display:flex;flex-wrap:wrap;font-size:12px;gap:4px;justify-content:flex-end;line-height:1.4;margin:6px 0 0}.sms-char-counter-note{color:#9aa0ad;font-size:11px}.sms-send-panel .form-field input::placeholder,.sms-send-panel .form-field textarea::placeholder{color:#737784;font-size:13px;line-height:1.6}.toast-message{background:#15803d;border-radius:8px;box-shadow:0 14px 30px #15803d3d;color:#fff;font-size:14px;font-weight:700;min-width:220px;padding:13px 16px;position:fixed;right:22px;top:22px;z-index:20}.toast-enter-active,.toast-leave-active{transition:opacity .18s ease,transform .18s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(-8px)}.step-page{align-items:stretch;background:#fff;display:flex;justify-content:center;min-height:100vh}.step-card{--step-body-color: #2c2d33;--step-body-line-height: 1.75;--step-body-size: 14px;--step-content-padding: 10px;--step-content-width: 300px;--step-pink-color: #e65a8d;--step-pink-title-line-height: 1.45;--step-pink-title-size: 18px;--step-section-gap: 34px;background:linear-gradient(#ffffff4d,#fff 47%),var(--step-bg) top center / 100% auto no-repeat,#fff;color:#22242a;min-height:100vh;padding:38px 30px 64px;width:min(100%,390px)}.step-card .step-lead,.step-card .step-content,.step-card .step-cancel-content,.step-card .condolence-reply-complete,.step-card .condolence-reply-form{box-sizing:border-box;margin-inline:auto;max-width:var(--step-content-width);padding-inline:var(--step-content-padding);width:100%}.step-hero{align-items:center;display:flex;flex-direction:column;margin-bottom:34px}.step-logo{display:block;height:130px;object-fit:contain;width:150px}.step-lead{color:var(--step-body-color);font-size:var(--step-body-size);line-height:var(--step-body-line-height);margin:0 auto var(--step-section-gap);text-align:center}.step-lead p{margin:0}.step-content{display:grid;gap:var(--step-section-gap)}.step-section h1{color:var(--step-pink-color);font-size:var(--step-pink-title-size);font-weight:700;letter-spacing:0;line-height:var(--step-pink-title-line-height);margin:0 0 18px;text-align:center;white-space:pre-line}.step-section p{color:var(--step-body-color);font-size:var(--step-body-size);letter-spacing:0;line-height:var(--step-body-line-height);margin:0;text-align:left}.step-actions{display:grid;gap:26px;justify-items:center;margin-top:48px}.step-center-image{display:block;height:auto;margin:0 auto;object-fit:contain;width:166px}.step-button{border:0;border-radius:999px;box-shadow:0 5px 10px #1e212833;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:38px;min-width:140px;padding:0 28px}.step-button.secondary{background:#8f8f8f}.step-button.primary{background:#e65a8d}.step-card.step-one,.step-card.step-three{--step-content-padding: 0;--step-content-width: 100%;padding-inline:22px}.step-card.step-one .step-lead{text-align:center}.step-card.step-two{padding-top:38px}.step-card.step-two .step-hero{margin-bottom:34px}.step-card.step-two .step-logo{height:122px;width:144px}.step-card.step-two .step-content{gap:0}.step-card.step-two .step-section h1{line-height:1.9;margin:0 0 28px}.step-card.step-two .step-actions{display:none}.step-card.step-reject{padding-top:38px}.step-card.step-reject .step-hero{margin-bottom:34px}.step-card.step-reject .step-lead{margin-bottom:var(--step-section-gap)}.step-card.step-reject .step-content{gap:var(--step-section-gap)}.step-card.step-reject .step-actions{display:none}.step-card.not-found{padding-top:38px}.step-card.not-found .step-hero{margin-bottom:34px}.step-card.not-found .step-lead{margin-bottom:var(--step-section-gap)}.step-card.not-found .step-content{gap:var(--step-section-gap)}.step-card.not-found .step-section p{white-space:pre-line}.step-card.not-found .step-actions{display:none}.step-card.step-three{padding-top:38px}.step-card.step-three .step-hero{margin-bottom:28px}.step-card.step-three .step-logo{height:122px;width:144px}.step-card.step-three .step-lead{margin-bottom:var(--step-section-gap)}.step-card.step-three .step-content{gap:0}.step-card.step-three .step-section h1{margin-bottom:20px}.step-card.step-three .step-actions{margin-top:88px}.step-card.step-three .step-button.primary{min-width:172px}.step-card.step-four{background:var(--step-bg) top center / 100% auto no-repeat,#fbfaf9;padding-top:36px}.step-card.step-four .step-hero{margin-bottom:42px}.step-card.step-four .step-logo{height:122px;width:144px}.step-card.step-four .step-lead{color:var(--step-body-color);font-size:var(--step-body-size);line-height:var(--step-body-line-height);margin-bottom:26px}.step-card.step-four .step-center-image{display:block;height:auto;margin:0 auto 56px;object-fit:contain;width:190px}.step-card.step-four .step-content{display:none}.step-card.step-four .step-actions{margin-top:0}.step-card.step-four .step-button.primary{height:42px;min-width:226px}.step-card.step-four-sent .step-content{display:block;width:100%}.step-card.step-four-sent .step-section h1{margin-bottom:12px}.step-card.step-four-sent .step-section p:empty{display:none}.step-card.step-four.step-four-no-messages .step-center-image{margin:0 auto 28px;width:72px}.step-card.step-four.step-four-no-messages .step-content{display:block;width:100%}.step-card.step-four.step-four-no-messages .step-section{background:#ffffffd1;border:1px solid #f3bdd0;border-radius:8px;margin:0 auto;max-width:302px;padding:22px 18px;text-align:left;width:100%}.step-card.step-four.step-four-no-messages .step-section h1:after{background:#f3a9c3;content:"";display:block;height:1px;margin:18px auto 0;width:40px}.step-card.step-four.step-four-no-messages .step-section h1{margin-bottom:18px}.step-card.step-four.step-four-no-messages .step-section p{white-space:pre-line;word-break:normal;overflow-wrap:anywhere}.step-card.step-four.step-four-no-messages .step-actions{margin-top:30px}.step-loading,.step-api-error{min-height:100vh;display:grid;place-items:center;padding:24px;background:#fff5f8}.step-api-error .step-card{max-width:640px;padding:24px;border-radius:12px;background:#fff;box-shadow:0 8px 24px #00000014}.step-top-nav{align-items:center;display:grid;grid-template-columns:40px 1fr 40px;margin-bottom:8px}.step-top-nav h1{color:#33343a;font-size:16px;font-weight:700;margin:0;text-align:center}.step-back-button{background:transparent;border:0;color:#33343a;cursor:pointer;font-size:22px;line-height:1;padding:0}.step-card.step-cancel{padding-top:24px}.step-card.step-cancel-page,.step-card.step-cancel-confirm{padding-top:38px}.step-card.step-cancel-page .step-hero,.step-card.step-cancel-confirm .step-hero{margin-bottom:48px}.step-card.step-cancel:not(.step-cancel-page) .step-hero{margin-bottom:28px}.step-card.step-cancel .step-logo{height:122px;width:144px}.step-cancel-content{display:grid;gap:var(--step-section-gap)}.step-cancel-content p{color:var(--step-body-color);font-size:var(--step-body-size);line-height:var(--step-body-line-height);margin:0;text-align:left}.step-cancel-success p{color:var(--step-body-color);font-size:var(--step-body-size);line-height:var(--step-body-line-height);text-align:left}.step-cancel-button{min-width:260px}.step-cancel-modal h2{color:var(--step-pink-color);font-size:var(--step-pink-title-size);font-weight:700;line-height:var(--step-pink-title-line-height);margin:0 0 16px;text-align:center}.step-cancel-modal p{color:var(--step-body-color);font-size:var(--step-body-size);line-height:var(--step-body-line-height);margin:0;text-align:left}.step-cancel-modal .step-confirm-cancel,.step-cancel-modal .step-confirm-ok,.step-confirm-modal .step-confirm-cancel,.step-confirm-modal .step-confirm-ok{border:0;border-radius:999px;box-shadow:0 5px 10px #1e212833;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:38px;min-width:120px;padding:0 20px}.step-cancel-modal .step-confirm-cancel,.step-confirm-modal .step-confirm-cancel{background:#8f8f8f}.step-cancel-modal .step-confirm-ok,.step-confirm-modal .step-confirm-ok{background:#e65a8d}.step-card.step-cancel-confirm{padding-top:38px}.step-card.step-cancel-confirm .step-hero{margin-bottom:48px}.step-card.step-cancel-confirm .step-actions{margin-top:72px}.step-modal-backdrop{align-items:center;background:#00000052;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:28px;position:fixed;z-index:30}.step-code-modal{background:#fff;border-radius:6px;box-shadow:0 16px 44px #16181e33;color:#2c2d33;max-width:340px;padding:48px 26px 42px;position:relative;text-align:center;width:100%}.code-modal-close{align-items:center;background:transparent;border:0;color:#777b84;cursor:pointer;display:inline-flex;font-size:26px;height:36px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:8px;width:36px}.step-code-modal h2{color:var(--step-pink-color);font-size:var(--step-pink-title-size);font-weight:700;letter-spacing:0;line-height:var(--step-pink-title-line-height);margin:0 0 12px;text-align:center}.step-code-modal p{color:var(--step-body-color);font-size:var(--step-body-size);line-height:var(--step-body-line-height);margin:0;text-align:left}.step-otp-modal .otp-modal-title{color:var(--step-pink-color);font-size:var(--step-pink-title-size);font-weight:700;letter-spacing:0;line-height:var(--step-pink-title-line-height);margin:0 0 12px;text-align:center}.step-otp-modal .otp-modal-text,.step-otp-modal .otp-help-text,.step-otp-modal .otp-switch-notice,.step-otp-modal .code-error{color:var(--step-body-color);text-align:center}.step-otp-modal .code-error{margin-top:4px}.code-inputs{display:flex;gap:8px;justify-content:center;margin:28px 0 22px}.code-inputs input{border:1px solid #d6d6d6;border-radius:2px;font-size:20px;height:45px;text-align:center;width:40px}.code-inputs input:focus{border-color:#e65a8d;box-shadow:0 0 0 2px #e65a8d24;outline:none}.otp-help-text{color:#2c2d33;margin-top:4px}.step-code-modal .otp-resend-wrap,.step-code-modal .otp-switch-wrap{text-align:center}.otp-resend-wrap{margin-top:14px}.otp-resend-link{background:transparent;border:0;color:#1a73e8;cursor:pointer;font-size:14px;line-height:1.6;padding:0;text-decoration:underline}.otp-resend-link:disabled{color:#8aaee8;cursor:not-allowed;text-decoration:none}.otp-resend-link.is-waiting:disabled{color:#e65a8d}.otp-switch-wrap{margin-top:10px}.otp-switch-link{background:transparent;border:0;color:#1a73e8;cursor:pointer;font-size:14px;line-height:1.6;padding:0;text-decoration:underline}.otp-switch-link:disabled{color:#8aaee8;cursor:not-allowed;text-decoration:none}.otp-switch-notice{color:#2c2d33;font-size:14px;line-height:1.6;margin-top:10px}.code-actions{display:flex;justify-content:center;margin-top:18px}.step-confirm-modal .code-actions{gap:18px}.condolence-reply-card{min-height:100vh}.condolence-reply-card .step-content{gap:0}.condolence-reply-card .condolence-reply-section h1,.condolence-reply-card .condolence-reply-complete h1{color:var(--step-pink-color);font-size:var(--step-pink-title-size);font-weight:700;line-height:var(--step-pink-title-line-height);margin:0 0 18px;text-align:center}.condolence-reply-card .condolence-reply-section p,.condolence-reply-card .condolence-reply-complete p{color:var(--step-body-color);font-size:var(--step-body-size);line-height:var(--step-body-line-height);margin:0;text-align:left}.condolence-reply-form{display:grid;gap:18px;margin-top:8px;text-align:left}.condolence-reply-form label{display:grid;gap:8px}.condolence-reply-form label span{color:var(--step-body-color);font-size:var(--step-body-size);font-weight:700}.condolence-reply-form textarea{border:1px solid #d6d6d6;border-radius:8px;font-family:inherit;font-size:var(--step-body-size);line-height:var(--step-body-line-height);min-height:150px;padding:12px;resize:vertical}.condolence-reply-form textarea:focus{border-color:#e65a8d;box-shadow:0 0 0 2px #e65a8d24;outline:none}.condolence-reply-counter{color:#737784;font-size:12px;text-align:right}.condolence-reply-form .step-button{margin:0 auto}.condolence-reply-complete{margin-top:var(--step-section-gap)}.code-actions button{background:#e65a8d;border:0;border-radius:999px;box-shadow:0 5px 10px #1e212833;color:#fff;cursor:pointer;font-size:14px;font-weight:700;height:43px;padding:0 12px;white-space:nowrap;min-width:120px}@media(min-width:760px){.auth-page{justify-content:center}.step-page{background:#f4f5f7;padding:0}.step-card{box-shadow:0 0 0 1px #14182214}}@media(max-width:520px){.auth-page{align-items:stretch;padding:0}.firebase-reset-page{padding:0}.firebase-reset-card{border-left:0;border-right:0;border-top:0;box-shadow:none;max-width:none;padding:26px 16px 24px}.phone-shell{border:0;box-shadow:none;min-height:100vh;max-width:none}.login-form{padding:24px 14px 0}.admin-shell{display:block}.admin-sidebar{display:block;padding:14px}.sidebar-head{align-items:center;display:flex;justify-content:space-between}.brand-block{border-bottom:0;padding:0 4px}.mobile-menu-button{display:inline-flex}.side-menu{display:none;grid-template-columns:1fr;margin-top:14px}.side-menu button{justify-content:flex-start}.sidebar-logout{display:none;justify-content:flex-start;margin-top:8px;width:100%}.admin-sidebar.menu-open .side-menu{display:grid}.admin-sidebar.menu-open .sidebar-logout{display:flex}.admin-main{padding:16px}.admin-topbar h1{font-size:22px}.summary-row{grid-template-columns:1fr}.summary-card,.status-note-card{width:auto}.summary-metrics{grid-template-columns:repeat(3,minmax(82px,1fr));overflow-x:auto}.manager-header{align-items:stretch;flex-direction:column;gap:12px}.add-button,.save-button{justify-content:center;width:100%}.search-box{max-width:none;width:100%}.manager-filter-row{align-items:stretch;flex-direction:column;gap:10px;width:100%}.status-filter-inline{align-items:stretch;flex-direction:column;gap:6px}.status-filter-inline select{width:100%}.manager-toolbar,.pagination-bar{align-items:stretch;flex-direction:column}.filter-grid{grid-template-columns:1fr}.page-buttons{flex-wrap:wrap;justify-content:center}.record-count{justify-content:center}.table-wrap{overflow:visible}.admin-table{min-width:0}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr,.admin-table td{display:block;width:100%}.admin-table tr{border-top:1px solid #edf0f4;padding:12px 0}.admin-table td{align-items:flex-start;border-top:0;display:flex;gap:16px;justify-content:space-between;padding:8px 16px}.admin-table td:before{background-color:#d8d8e0;border-radius:4px;color:#2d313a;content:attr(data-label);flex:0 0 86px;font-size:13px;font-weight:800;padding:4px 8px;text-transform:none}.row-actions{justify-content:flex-end;width:100%}.toast-message{left:16px;min-width:0;right:16px;text-align:center;top:16px}.step-card{padding:38px 30px 64px;width:100%}}
