:root{color-scheme:light;--ink:#202124;--muted:#5f6368;--line:#e5e7eb;--blue:#2563eb;--pale:#eff5ff;--red:#b3261e;--paper:#fff;--soft:#f8f9fb;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:16px;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #93b4ff;outline-offset:3px}button{background:white;border:1px solid var(--line);border-radius:7px;min-height:44px;padding:9px 15px;font-size:14px;font-weight:500;display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap}button:hover{background:#f5f7fa}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#1c4ec5}button.quiet{border-color:transparent;background:transparent;color:var(--muted)}button.quiet:hover{background:#f1f3f5}button.text-button{padding:2px 0;min-height:40px;border:0;background:transparent;justify-content:flex-start;text-align:left;white-space:normal;color:#2059c4}button.small{font-size:14px;min-height:38px;padding:6px 10px}button.selected{color:#2059c4;background:var(--pale);border-color:#b8cff8}.icon{width:19px;height:19px;stroke:currentColor;stroke-width:1.65;fill:none;flex-shrink:0;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:650;letter-spacing:.04em}h2{font-size:21px;font-weight:600}h3{font-size:16px;font-weight:600}p{line-height:1.8}a{color:#2059c4}small,.muted{color:var(--muted);font-size:14px}strong{font-weight:600}.app-shell{display:flex;min-height:100vh}.sidebar{width:218px;flex-shrink:0;border-right:1px solid var(--line);padding:30px 16px 20px;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;background:white;z-index:10}.brand{padding:0 13px 31px;display:flex;align-items:center;gap:11px}.brand-mark{display:flex;width:34px;height:36px;align-items:center;color:#255ac2}.brand-mark .icon{width:33px;height:33px;stroke-width:1.3}.brand strong{font-size:22px;letter-spacing:.15em}.brand small{display:block;font-size:12px;margin-top:4px;letter-spacing:.05em}.nav{display:flex;gap:7px;flex-direction:column}.nav button{border:0;background:transparent;justify-content:flex-start;min-height:48px;padding:12px 16px;gap:13px;font-size:15px;color:var(--muted)}.nav button.active{color:#1c54bc;background:#edf3ff;font-weight:600}.nav button:hover{background:#f3f6fb}.nav button.active:hover{background:#edf3ff}.sidebar-bottom{margin-top:auto;padding-top:50px}.sidebar-note{margin:22px 12px 0;font-size:12px;line-height:1.8;color:#777e86}.workspace{margin-left:218px;min-width:0;width:calc(100% - 218px)}.topbar{height:65px;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:15px}.prototype{font-size:12px;padding:4px 8px;border:1px solid #dce0e5;color:#646a72;border-radius:4px;white-space:nowrap}.topbar-left{display:flex;align-items:center;gap:13px;font-size:13px;color:var(--muted)}.save-state{font-size:12px;color:#697078;display:flex;align-items:center;gap:7px}.save-dot{width:6px;height:6px;border-radius:50%;background:#7f8792}.save-state.problem{color:var(--red)}main{padding:32px 36px 40px;max-width:1700px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.page-heading p{font-size:14px;color:var(--muted);margin-top:7px}.heading-action{display:flex;gap:10px;align-items:center}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:19px;flex-wrap:wrap}.month-nav{display:flex;align-items:center;gap:10px}.month-nav h2{font-size:22px;min-width:155px;letter-spacing:.02em;margin-right:7px}.month-nav .arrow{padding:5px 9px;font-size:13px;border:0;min-height:42px}.segmented{display:flex;background:#f3f4f6;padding:3px;border-radius:7px}.segmented button{min-height:36px;border:0;border-radius:5px;padding:6px 18px;background:transparent;color:var(--muted)}.segmented button.active{background:#fff;box-shadow:0 1px 3px #0000000d;color:var(--ink)}.calendar{border:1px solid var(--line);border-radius:8px;overflow:hidden}.weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{background:#fafbfc;border-bottom:1px solid var(--line)}.weekdays span{text-align:center;padding:13px 0;font-size:13px;color:var(--muted)}.day{min-height:107px;padding:7px 5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.day:nth-child(7n){border-right:0}.day:nth-last-child(-n+7){border-bottom:0}.day.outside{background:#fafbfc}.day.picked{background:#f4f8ff}.day-number{height:32px;min-height:32px;min-width:32px;border:0;padding:0;background:transparent;font-size:13px;display:flex;margin:0 0 5px 3px}.outside .day-number{color:#a1a5ab}.day-number.today{border-radius:50%;background:var(--blue);color:white}.calendar-event{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;border:0;border-left:2px solid #b8c7e1;border-radius:3px;min-height:27px;padding:4px 5px;width:100%;margin-bottom:3px;background:#f0f3f8;font-weight:400}.calendar-event:hover{background:#e1ebfb}.calendar-event .time{color:#5f6c82;margin-right:5px;font-variant-numeric:tabular-nums}.calendar-event.memorial{border-color:#5283dd;background:#eaf1ff;color:#2157b1}.more-events{border:0;font-size:12px;min-height:25px;padding:2px 6px;background:transparent;color:var(--muted)}.calendar-footer{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);padding:15px 2px;flex-wrap:wrap}.today-summary{margin-top:13px;padding-top:22px;border-top:1px solid var(--line)}.section-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px}.summary-events{display:flex;gap:20px;flex-wrap:wrap}.summary-event{display:flex;gap:12px;align-items:center;border:0;background:transparent;padding:5px 0;min-height:44px;font-size:14px}.summary-event time{color:var(--muted);font-variant-numeric:tabular-nums}.summary-event span{border-left:2px solid #c5d5ef;padding-left:12px}.search-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.search-box{position:relative;flex:1;min-width:220px;max-width:480px}.search-box .icon{position:absolute;left:14px;top:13px;color:#777f89}.search-box input{padding-left:43px;width:100%}input,textarea,select{border:1px solid #d7dbe1;border-radius:6px;padding:10px 12px;background:white;min-height:45px;max-width:100%;font-size:16px}input[type=checkbox]{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--blue)}textarea{width:100%;min-height:110px;resize:vertical;line-height:1.7}input::placeholder,textarea::placeholder{color:#92979e;font-size:14px}.table-wrap{overflow-x:auto;border-top:1px solid var(--line)}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:13px;color:var(--muted);font-weight:500;padding:14px 15px;background:#fafbfc;white-space:nowrap}td{font-size:14px;padding:16px 15px;border-bottom:1px solid var(--line);vertical-align:middle;line-height:1.7}tr:hover td{background:#fcfdff}td .name{font-size:16px;font-weight:500;display:block}td small{display:block;font-size:12px;margin-top:3px}td .text-button{display:block;min-height:32px}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:5px;white-space:nowrap;font-size:12px;background:#f1f3f5;color:#626972;line-height:1.65}.badge.blue{background:#ecf3ff;color:#2059bd}.badge.red{background:#fceeee;color:#a8332b}.badge.gray{background:#f1f3f5;color:#626972}.inline-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.count{font-size:14px;color:var(--muted)}.sync-summary{font-size:12px;color:var(--muted);margin:15px 0}.agenda-day{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:22px 0}.agenda-date{display:flex;gap:12px;align-items:flex-start;padding-top:7px}.agenda-date strong{font-size:28px;font-weight:500;color:#3d4653}.agenda-date span{font-size:12px;color:var(--muted);line-height:1.8}.agenda-item{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:20px;width:100%;border:0;border-radius:5px;text-align:left;white-space:normal;padding:14px 12px;font-weight:400;min-height:75px}.agenda-item time{color:var(--muted);font-size:14px;align-self:start;padding-top:4px}.agenda-item strong{display:block;font-size:16px}.agenda-item small{display:block;font-size:13px;margin-top:4px}.agenda-item .icon{color:#98a2b3}.empty{padding:50px 20px;text-align:center;line-height:1.9;color:var(--muted);font-size:15px}.empty .icon{height:32px;width:32px;color:#a7b0be;margin:0 auto 14px;display:block}.empty p{margin:9px 0 17px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 15px}.rule-note{font-size:13px;color:var(--muted);line-height:1.9;max-width:850px}.rule-note summary{cursor:pointer;display:list-item;padding:8px 0}.rule-note p{padding:8px 0}.reference-control{display:flex;align-items:center;gap:12px;font-size:14px;flex-wrap:wrap}.reference-control input{font-size:14px}.panel-backdrop{position:fixed;inset:0;background:#17213329;z-index:30;display:flex;justify-content:flex-end}.drawer{background:white;width:570px;max-width:100%;height:100dvh;display:flex;flex-direction:column;box-shadow:-6px 0 30px #1828430d}.drawer.wide{width:760px}.drawer-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:24px 27px;border-bottom:1px solid var(--line);flex-shrink:0}.drawer-head h2{font-size:21px}.drawer-body{padding:27px;overflow-y:auto;flex:1}.drawer-footer{border-top:1px solid var(--line);padding:18px 27px;display:flex;justify-content:flex-end;gap:10px;background:white;flex-shrink:0}.profile-title{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:25px}.profile-title h2{font-size:26px;letter-spacing:.02em}.profile-title p{font-size:13px;color:var(--muted);margin-top:6px}.detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 27px}.detail-section{padding:23px 0;border-top:1px solid var(--line)}.detail-section h3{margin-bottom:17px}.info-list{margin:0}.info-row{display:grid;grid-template-columns:96px 1fr auto;gap:12px;align-items:center;margin-bottom:17px;line-height:1.7;font-size:15px}.info-row dt{color:var(--muted);font-size:13px}.info-row dd{margin:0;overflow-wrap:anywhere}.copy-btn{min-height:36px;font-size:12px;padding:5px 9px}.person-row{padding:16px 0;border-bottom:1px solid var(--line)}.person-row:last-child{border-bottom:0}.person-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.person-row p{font-size:14px;color:var(--muted);margin-top:8px}.history{margin:0 0 24px;padding-left:18px;border-left:2px solid #dbe4f4}.history .history-meta{color:var(--muted);font-size:12px;margin-bottom:8px}.history p{font-size:15px;white-space:pre-wrap}.next-action{margin-top:10px;font-size:14px;background:#f8f9fb;padding:10px 13px;border-radius:5px;line-height:1.7}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:23px;overflow-x:auto}.tabs button{border:0;border-radius:0;padding:12px 16px;background:transparent;color:var(--muted)}.tabs button.active{border-bottom:2px solid var(--blue);color:#2059c4}.field{display:block;margin:0 0 22px}.field>span{display:block;font-size:14px;font-weight:500;margin-bottom:8px}.field input,.field select{width:100%}.field small{display:block;font-size:12px;margin-top:7px;line-height:1.7}.required{font-size:11px;margin-left:8px;color:var(--muted);font-weight:400}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.field-error{display:block;color:var(--red);font-size:13px;margin:7px 0 0}.invalid{border-color:#c34a43!important}.form-error{color:var(--red);font-size:14px;line-height:1.8;margin-bottom:16px}.optional-fields{border-top:1px solid var(--line);padding-top:16px;margin:15px 0 23px}.optional-fields summary{cursor:pointer;font-size:14px;margin-bottom:18px}.notice{padding:14px 17px;background:#f7f9fc;border-radius:6px;font-size:14px;line-height:1.9;margin-bottom:22px;color:#525d6c}.notice.problem{background:#fff4f2;color:#a8332b}.selection-options{border:1px solid var(--line);border-radius:6px;max-height:230px;overflow:auto;margin-top:7px}.selection-options button{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;display:block;text-align:left;white-space:normal;padding:10px 12px;font-weight:400}.selection-options small{display:block;font-size:12px;margin-top:4px}.chosen-household{padding:12px 14px;background:#f0f5fe;border-radius:6px;font-size:14px;margin:10px 0}.chosen-household small{display:block;margin-top:4px}.steps{display:flex;gap:10px;font-size:13px;color:var(--muted);margin-bottom:25px;flex-wrap:wrap}.steps .active{color:#2059bd;font-weight:600}.steps span{display:inline-flex;gap:6px;align-items:center}.steps b{display:inline-flex;width:23px;height:23px;background:#eef1f5;border-radius:50%;justify-content:center;align-items:center;font-weight:500}.steps .active b{background:#e6efff;color:#2059bd}.sync-counts{display:flex;gap:28px;margin:20px 0 25px;font-size:14px;flex-wrap:wrap}.sync-counts strong{font-size:25px;margin-right:5px;font-weight:500}.change-block{padding:20px 0;border-top:1px solid var(--line)}.change-title{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap;font-size:15px}.diff-row{padding:12px 0;font-size:14px}.diff-values{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:8px 0;line-height:1.8}.diff-values>div{padding:12px;background:#f8f9fb;overflow-wrap:anywhere}.diff-values small{display:block;font-size:12px;margin-bottom:5px}.diff-row select{width:100%;font-size:14px}.data-section{padding:26px 0;border-top:1px solid var(--line);max-width:920px}.data-section h2{font-size:18px;margin-bottom:11px}.data-section p{font-size:14px;color:var(--muted);margin-bottom:16px;max-width:750px}.data-section .actions{display:flex;gap:10px;flex-wrap:wrap}.data-counts{display:flex;gap:8px 24px;font-size:14px;margin:15px 0;flex-wrap:wrap}.data-counts span{color:var(--muted)}.data-counts strong{margin-left:8px;color:var(--ink)}.toast{position:fixed;left:calc(50% + 100px);bottom:30px;transform:translateX(-50%);background:#273243;color:white;padding:14px 23px;border-radius:7px;font-size:14px;max-width:calc(100vw - 30px);z-index:100;box-shadow:0 4px 16px #0002;line-height:1.6}.readback-check{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.7;margin:22px 0}.mobile-nav{display:none}.date-inline{font-variant-numeric:tabular-nums}.status-edit{font-size:14px;min-width:135px}.plain-list{font-size:14px;line-height:2.2;color:var(--muted);padding-left:20px}.footer-label{font-size:12px;color:var(--muted);margin-right:auto;align-self:center}.unknown-box{margin-top:25px;border-top:1px solid var(--line);padding-top:22px}.unknown-box p{font-size:14px;color:var(--muted);margin:10px 0}.mobile-only{display:none}.back-link{margin-bottom:18px}.print-only{display:none}
@media(min-width:1500px){.day{min-height:129px}.calendar-event{font-size:13px;min-height:29px}}
@media(max-width:1150px){.sidebar{width:185px;padding-left:10px;padding-right:10px}.workspace{margin-left:185px;width:calc(100% - 185px)}main{padding:28px 24px}.topbar{padding:0 24px}.month-nav h2{font-size:20px;min-width:140px}.day{min-height:101px}.calendar-event .customer-short{display:none}.customer-table .address-column{max-width:200px}.customer-table td,.customer-table th{padding-left:10px;padding-right:10px}.toast{left:calc(50% + 80px)}}
@media(max-width:760px){:root{font-size:16px}.sidebar{display:none}.workspace{margin-left:0;width:100%;padding-bottom:78px}.topbar{height:58px;padding:0 18px}.topbar-left{gap:8px}.topbar .topbar-context{font-size:15px;color:var(--ink);font-weight:600}.prototype{font-size:10px;padding:3px 5px}.save-state{font-size:10px;max-width:105px;line-height:1.5}.save-dot{display:none}main{padding:24px 18px 25px}.page-heading{margin-bottom:23px;gap:10px}.page-heading h1{font-size:24px}.page-heading p{display:none}.page-heading button{padding:10px 12px;font-size:14px}.page-heading .icon{width:16px}.toolbar{gap:14px}.month-nav{width:100%;justify-content:space-between;gap:4px}.month-nav h2{font-size:21px;min-width:0;margin-right:auto}.month-nav .arrow{min-height:44px;padding:7px}.segmented{margin-left:auto}.calendar{border-radius:6px}.weekdays span{font-size:12px;padding:10px 0}.day{min-height:63px;padding:4px 1px}.day-number{margin:0 auto 4px;width:31px;height:31px;min-height:31px}.day .calendar-event{display:none}.mobile-day-count{display:block;text-align:center;font-size:10px;color:#3166bd}.calendar-footer{font-size:11px;line-height:1.8}.today-summary{margin-top:0}.summary-events{display:block}.summary-event{width:100%;border-bottom:1px solid var(--line);padding:12px 0;justify-content:flex-start}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;border-top:1px solid var(--line);background:white;justify-content:space-around;padding:5px 4px max(6px,env(safe-area-inset-bottom))}.mobile-nav button{flex:1;display:flex;flex-direction:column;gap:5px;font-size:11px;border:0;border-radius:7px;background:white;color:var(--muted);min-height:59px;padding:7px 4px}.mobile-nav button.active{color:#2059bd;background:#f1f6ff}.mobile-nav .icon{width:21px;height:21px}.agenda-day{grid-template-columns:61px 1fr;padding:14px 0}.agenda-date{display:block}.agenda-date strong{font-size:24px;display:block}.agenda-date span{font-size:11px}.agenda-item{grid-template-columns:1fr auto;gap:3px 8px;padding:10px 5px}.agenda-item time{grid-column:1;font-size:12px}.agenda-item>div{grid-column:1}.agenda-item>.icon{grid-column:2;grid-row:1/3}.agenda-item strong{font-size:15px}.agenda-item small{font-size:12px}.search-row{gap:10px}.search-box{min-width:100%;max-width:none}.search-row button{font-size:13px}.customer-table thead{display:none}.customer-table,.customer-table tbody{display:block}.customer-table tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:12px 0}.customer-table td{display:block;border:0;padding:3px 0;font-size:13px}.customer-table .customer-name{grid-column:1}.customer-table .address-column{grid-column:1;max-width:none;font-size:12px;color:var(--muted)}.customer-table .next-column{grid-column:1;font-size:12px}.customer-table .status-column{grid-column:2;grid-row:1}.customer-table td .name{font-size:16px}.customer-table td small{font-size:11px;display:inline;margin-left:8px}.customer-table .table-id{display:block;margin:0}.drawer{width:100%;box-shadow:none}.drawer-head{padding:15px 18px;min-height:71px}.drawer-head h2{font-size:19px}.drawer-head button{padding:7px 9px}.drawer-body{padding:23px 20px}.drawer-footer{padding:14px 20px max(14px,env(safe-area-inset-bottom))}.drawer-footer button{min-height:46px}.field-grid{grid-template-columns:1fr}.field-grid.time-fields{grid-template-columns:1fr 1fr}.info-row{grid-template-columns:73px 1fr auto;gap:8px;font-size:14px}.copy-btn{font-size:11px;padding:6px}.tabs button{padding:11px 13px;font-size:14px}.profile-title h2{font-size:24px}.detail-actions{gap:8px}.detail-actions button{font-size:14px}.toast{left:50%;bottom:90px;min-width:260px}.diff-values{grid-template-columns:1fr;gap:5px}.reference-control{font-size:13px;gap:8px}.reference-control input{max-width:160px}.memorial-table thead{display:none}.memorial-table,.memorial-table tbody{display:block}.memorial-table tr{display:grid;grid-template-columns:1fr auto;padding:16px 0;border-bottom:1px solid var(--line);gap:7px}.memorial-table td{display:block;border:0;padding:0}.memorial-table td:nth-child(1){grid-column:1;grid-row:1}.memorial-table td:nth-child(2){grid-column:1;grid-row:2;font-size:13px}.memorial-table td:nth-child(3){grid-column:2;grid-row:1}.memorial-table td:nth-child(4){grid-column:2;grid-row:2}.memorial-table td:nth-child(5){grid-column:1/3;grid-row:3}.status-edit{font-size:13px;min-width:120px;max-width:130px}.rule-note{font-size:12px}.data-section{padding:23px 0}.data-section h2{font-size:17px}.mobile-only{display:block}.desktop-only{display:none}.footer-label{font-size:11px}.sync-counts{gap:16px}.sync-counts strong{font-size:21px}.filters button{font-size:12px;padding:8px 10px;min-height:42px}.heading-action{gap:5px}.table-wrap{overflow:visible}}
@media print{.sidebar,.topbar,.mobile-nav,.panel-backdrop,.toast{display:none!important}.workspace{margin:0;width:100%}main{padding:0}button{display:none!important}}

.profile-title p,.table-id{overflow-wrap:anywhere}.customer-table td{min-width:0}
@media(max-width:760px){.customer-table tr{grid-template-columns:minmax(0,1fr) auto}.day{min-height:74px}.day-number{width:44px;height:44px;min-height:44px}.topbar-context{white-space:nowrap}.month-nav .arrow{font-size:12px}}

.confirm-layer{position:fixed;inset:0;background:#17213365;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-dialog{background:white;border:1px solid var(--line);border-radius:10px;padding:28px;max-width:450px;box-shadow:0 8px 30px #17213320}.confirm-dialog h2{font-size:20px;margin-bottom:14px}.confirm-dialog p{font-size:15px;color:var(--muted)}.confirm-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}
/* Version 2 */
@font-face{font-family:PostcardNoto;src:url('vendor/fonts/NotoSansJP-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
[hidden]{display:none!important}.v2-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.entry-step{padding:0 0 20px;margin-bottom:18px;border-bottom:1px solid var(--line)}.entry-step h3{display:flex;align-items:center;gap:10px;margin-bottom:15px}.entry-step h3 b{display:inline-grid;place-items:center;border-radius:50%;background:#eef3fc;color:#255ac2;font-size:13px;width:25px;height:25px}.type-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.type-tabs button{padding:12px 6px}.entry-step .tabs{margin-top:0}.today-all{width:100%}.today-all .agenda-item{width:100%}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;overflow:hidden;min-height:380px}.week-day{border-right:1px solid var(--line);padding:8px;min-width:0}.week-day:last-child{border-right:0}.week-day h3 button{font-size:13px;padding:5px 2px;white-space:normal}.week-day.is-today{background:#f5f8ff}.week-day p{font-size:12px;text-align:center;margin:15px 0}.week-event{display:flex;align-items:flex-start;flex-direction:column;white-space:normal;text-align:left;width:100%;margin:8px 0;padding:9px 7px;background:#f8fafc;gap:4px;font-size:13px;overflow-wrap:anywhere}.week-event time{font-size:12px;color:var(--muted)}.drawer.wide{width:min(1080px,96vw)}.fax-workspace{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(300px,1fr);gap:24px}.fax-image{position:sticky;top:0;align-self:start}.fax-image img,.fax-history-image{width:100%;border:1px solid var(--line)}.fax-workspace:has(>form:only-child){display:block}.fax-workspace h3{margin:22px 0 12px}#fax-progress{margin-top:16px;color:#255ac2}.raw-text{white-space:pre-wrap;font:inherit;background:#f7f8fa;padding:12px;overflow-wrap:anywhere}.print-workspace{display:grid;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);gap:28px}.print-settings details{border-bottom:1px solid var(--line);padding:16px 0;margin-bottom:12px}.print-settings summary{cursor:pointer;margin-bottom:14px;font-weight:600}.print-settings .field-grid{gap:12px}.print-settings .field{min-width:0}.print-settings .field span{font-size:13px}.print-preview-panel{position:sticky;top:0;align-self:start}#print-preview{background:#edf0f4;min-height:300px;padding:20px;display:grid;place-items:center;border-radius:8px;margin:15px 0}.postcard{width:100%;max-height:540px;filter:drop-shadow(0 3px 5px #0002);font-family:PostcardNoto,sans-serif}.print-customer-list{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:8px}.print-customer-list label{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.print-customer-list input{width:18px;height:18px}.print-customer-list small{display:block;font-size:12px}.print-progress{color:#255ac2}.print-settings h3{margin-top:18px}
@media(max-width:1100px){.week-grid{grid-template-columns:1fr;min-height:0}.week-day{display:grid;grid-template-columns:130px 1fr;border-right:0;border-bottom:1px solid var(--line);gap:8px}.week-day h3{grid-row:1;grid-column:1}.week-day>.week-event,.week-day>p{grid-column:2}.week-day p{text-align:left}.week-event{margin:3px 0}}
@media(max-width:760px){.toolbar .segmented{width:100%;display:flex}.toolbar .segmented button{flex:1}.month-nav{flex-wrap:wrap;gap:6px}.month-nav h2{flex:1;min-width:140px}.drawer.wide{width:100vw}.fax-workspace,.print-workspace{grid-template-columns:1fr}.fax-image,.print-preview-panel{position:static}.fax-image img{max-height:260px;object-fit:contain;background:#f7f8fa}.type-tabs{grid-template-columns:repeat(4,1fr)}.type-tabs button{font-size:13px}.entry-step .tabs button{font-size:13px;padding:10px}.week-day{grid-template-columns:98px 1fr;padding:8px}.week-day h3 button{font-size:12px}.today-all .agenda-item{padding:12px 8px}.today-summary .section-line{flex-wrap:wrap}.v2-tools button{flex:1}.print-settings .field-grid{grid-template-columns:1fr 1fr}.drawer-footer{flex-wrap:wrap}.drawer-footer button{flex:1}.postcard{max-height:500px}.print-preview-panel{grid-row:1}}

@media(max-width:760px){.month-nav h2.week-title{flex-basis:100%;white-space:nowrap;font-size:21px}}
/* Version 3: readable schedule cards, calm color coding, unified customer editor. */
:root{--ink:#1c2d44;--muted:#617087;--line:#e1e7ef;--blue:#3265c7;background:#f4f7fc}.workspace{background:#f4f7fc}.sidebar,.topbar{background:#fff}.topbar{border-bottom:1px solid #e6edf6}.brand-mark{background:#edf3ff;border-radius:10px;width:42px;height:42px;justify-content:center}.page-heading h1{font-size:30px;font-weight:750;letter-spacing:.03em}.calendar-surface{padding:24px;background:white;border:1px solid #e4eaf3;border-radius:17px;box-shadow:0 7px 25px #253e6b0b,0 2px 5px #253e6b04}.calendar-surface .toolbar{margin-bottom:12px}.calendar-legend{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0 18px}.legend-item{font-size:12px;display:flex;align-items:center;gap:7px;color:#526177}.legend-item i,.mobile-markers i{width:8px;height:8px;border-radius:50%;background:var(--tone)}.tone-visit{--tone:#246db5;--tint:#edf5ff;--tone-border:#c9def5}.tone-memorial{--tone:#7654ae;--tint:#f4effb;--tone-border:#dfd2ef}.tone-funeral{--tone:#526078;--tint:#f0f2f6;--tone-border:#d8dde7}.tone-other{--tone:#9a671b;--tint:#fff7e6;--tone-border:#efdeb7}.calendar{border-color:#e1e8f1;border-radius:10px;overflow:hidden}.weekdays{background:#f6f8fc}.weekdays span:first-child{color:#b6616b}.weekdays span:last-child{color:#4e76a8}.day{border-color:#e8edf5;min-width:0;background:#fff}.day.outside{background:#f7f9fc}.day.sunday .day-number{color:#a45364}.day.saturday .day-number{color:#4774a3}.day.picked{background:#f2f6ff}.day .day-number.today{background:#3265c7;color:#fff;box-shadow:0 4px 10px #3265c73d}.day .calendar-event{display:grid;grid-template-columns:auto 1fr;border:1px solid var(--tone-border);border-left:3px solid var(--tone);background:var(--tint);color:var(--tone);padding:5px 6px;gap:2px 5px;min-height:42px;align-items:center;white-space:normal}.calendar-event strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event .time{font-size:10px}.calendar-event small{grid-column:1/3;font-size:10px;color:var(--tone)}.day .calendar-event:hover{filter:brightness(.97)}.v3-today{padding:26px 0 0;border-top:0;margin-top:6px}.eyebrow{font-size:10px;letter-spacing:.18em;color:#7384a0;font-weight:700}.v3-today h2{font-size:23px;font-weight:750;margin-top:2px}.v3-today h2 span{font-size:14px;font-weight:500;color:var(--muted);margin-left:10px}.today-count{background:#e4ecfa;color:#315c9f;padding:5px 12px;border-radius:20px;font-size:14px;font-weight:700}.schedule-guide{margin:2px 0 16px;font-size:13px}.schedule-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid #e0e7f0;border-left:5px solid var(--tone);background:#fff;border-radius:12px;box-shadow:0 4px 15px #283f6409;padding:20px 22px;margin:12px 0}.schedule-time{border-right:1px solid var(--line);padding-right:16px}.schedule-time strong{display:block;font-size:26px;line-height:1.3;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.schedule-time span{font-size:13px;color:var(--muted)}.schedule-main{min-width:0}.schedule-type{display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:750;color:var(--tone);line-height:1.5}.schedule-type small{font-size:11px;background:var(--tint);padding:2px 7px;border-radius:8px}.schedule-name,button.schedule-name{display:flex;font-size:23px;line-height:1.5;font-weight:750;color:#172d4c;padding:2px 0;min-height:40px;border:0;background:none;text-align:left;white-space:normal;justify-content:flex-start}.schedule-name:hover{text-decoration:underline;color:#245aaf;background:none}.schedule-main p{font-size:13px;color:var(--muted);line-height:1.6;overflow-wrap:anywhere}.schedule-note{display:block;font-size:12px}.schedule-actions button{border-color:#dbe4f1;background:#f8faff;font-size:12px}.week-grid{border-color:#e1e7f0}.week-day.is-today{background:#f3f7fe}.week-event{background:var(--tint);border-color:var(--tone-border);border-left:3px solid var(--tone);color:var(--tone)}.week-event strong{font-size:15px}.week-event span{font-weight:650}.customer-top-tools{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}.customer-top-tools .search-box{flex:1;max-width:none}.customer-filters{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:12px 0 24px}.customer-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted)}.customer-filters select{min-width:150px}.customer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.customer-card{background:#fff;border:1px solid #e0e7f1;border-radius:13px;box-shadow:0 3px 14px #253c5d06;overflow:hidden}.customer-open{border:0;border-radius:0;width:100%;display:flex;justify-content:flex-start;white-space:normal;text-align:left;padding:18px 18px 12px;gap:13px}.customer-avatar{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;background:#eef3fb;border-radius:12px;font-size:19px;color:#53719c}.customer-card-title{display:flex;flex-direction:column;min-width:0;flex:1}.customer-card-title strong{font-size:21px;font-weight:750;line-height:1.55}.customer-card-title small{font-size:11px}.customer-card-title>span{font-size:11px;color:var(--muted)}.customer-card-body{padding:0 18px 18px 74px}.customer-card-body>p{font-size:12px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.customer-deceased{margin-top:10px}.tag-list{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 2px}.tag-pill{display:inline-flex;align-items:center;gap:6px;background:#eef3fa;border:1px solid #dde6f3;color:#42618a;border-radius:20px;padding:4px 10px;font-size:12px;line-height:1.4}.tag-pill b{font-size:10px;color:#788ba6;font-variant-numeric:tabular-nums}.tag-remove{border:0;background:transparent;border-radius:20px;padding:0 3px;min-height:25px;width:25px;font-size:18px;color:#587195}.customer-editor .drawer-body{background:#f7f9fd}.customer-editor-hero{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.customer-editor-hero h2{font-size:28px;margin:3px 0;font-weight:750}.customer-editor-hero p{font-size:11px;color:#7a879b}.editor-tip{font-size:12px;color:#6480a5;background:#edf3fb;border-radius:8px;padding:7px 10px}.editor-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.editor-shortcuts button{font-size:13px}.customer-editor-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(340px,1.1fr);gap:22px;align-items:start}.editor-block,.person-editor,.family-editors{padding:20px;background:#fff;border:1px solid #e0e7f0;border-radius:12px;margin-bottom:18px}.editor-block>h3,.tag-editor h3{margin-bottom:18px;font-weight:750;color:#2b4770}.editor-people>.section-line{margin:0 0 12px}.person-editor h3{font-weight:750}.person-editor h3 small{display:block;font-size:10px;font-weight:400;overflow-wrap:anywhere;margin-top:4px}.person-editor .field-grid{grid-template-columns:1fr 1fr;gap:0 14px}.field-hint{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 18px;align-self:center}.map-link,.primary-link{display:inline-flex;align-items:center;gap:7px;font-size:13px;line-height:1.6;color:#2863ae;text-decoration:none;min-height:44px;padding:8px 11px;border-radius:7px;background:#eff5fd;border:1px solid #d9e6f7;overflow-wrap:anywhere}.map-link:hover{text-decoration:underline;background:#e8f0fc}.primary-link{background:#3265c7;border-color:#3265c7;color:white}.tag-editor{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.tag-editor .tag-list{margin-bottom:20px}.tag-editor .field-grid{grid-template-columns:1.2fr 1fr;gap:12px}.era-fields{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr;gap:8px}.era-fields .field{min-width:0}.era-fields input,.era-fields select{padding:10px 7px}.era-fields .field>span{font-size:11px}.death-editor{background:#f4f7fc;border-radius:8px;padding:14px;margin-top:4px}.death-editor>.field{margin-bottom:14px}.date-conversion{font-size:12px;line-height:1.8;color:#2f669b;min-height:24px}.date-conversion.date-error{color:#b44338}.family-editors summary{font-size:14px;font-weight:600;cursor:pointer}.family-editors .person-editor{margin-top:18px;padding:14px;background:#fafbfe}.editor-records{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-top:10px}.editor-records h3{margin:8px 0 14px}.pdf-open-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.record-pdf-preview{width:100%;height:60vh;border:1px solid var(--line);border-radius:6px;background:#eef0f4}.agenda-day .schedule-card{box-shadow:none}.customer-editor .drawer-footer{box-shadow:0 -3px 14px #243e6508}
@media(max-width:1100px){.customer-cards{grid-template-columns:1fr}.calendar-surface{padding:18px}.calendar-event .time{display:none}.calendar-event strong{grid-column:1/3}.customer-editor-grid{grid-template-columns:1fr 1.1fr;gap:15px}.schedule-card{grid-template-columns:96px minmax(0,1fr);gap:14px}.schedule-actions{grid-column:2}.schedule-actions button{min-height:34px}.schedule-time{align-self:start}.week-event strong{font-size:17px}}
@media(max-width:760px){main{padding:24px 14px 28px}.page-heading h1{font-size:27px}.calendar-surface{padding:16px 9px 9px;border-radius:14px}.calendar-surface .toolbar{padding:0 3px}.calendar-legend{gap:10px;justify-content:center;margin:14px 0}.legend-item{font-size:10px;gap:4px}.legend-item i{width:6px;height:6px}.calendar .day{min-height:78px}.day .calendar-event{display:none}.mobile-markers{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;align-items:center;padding:0 3px}.mobile-markers i{width:5px;height:5px}.mobile-markers span{flex-basis:100%;text-align:center;font-size:10px;color:#6c7d94;margin-top:2px}.day-number{font-size:13px}.v3-today h2{font-size:22px}.v3-today h2 span{font-size:13px}.schedule-card{grid-template-columns:73px minmax(0,1fr);padding:16px 13px;gap:10px 13px;border-left-width:4px;margin:12px 0}.schedule-time{padding-right:9px}.schedule-time strong{font-size:23px}.schedule-time span{font-size:11px}.schedule-name,button.schedule-name{font-size:21px;line-height:1.55;min-height:40px}.schedule-type{font-size:16px}.schedule-main p{font-size:12px}.schedule-guide{font-size:12px}.customer-cards{gap:12px}.customer-top-tools .search-box{min-width:100%}.customer-top-tools .v2-tools{margin:0;width:100%}.customer-top-tools .v2-tools button{font-size:12px;padding:8px}.customer-filters{gap:10px}.customer-filters label{flex:1;min-width:130px}.customer-filters select{min-width:0;width:100%}.customer-open{padding:16px 14px 10px;gap:10px}.customer-card-title strong{font-size:21px}.customer-card-body{padding:0 14px 16px 67px}.customer-avatar{width:39px;height:39px}.customer-editor-grid{grid-template-columns:1fr}.customer-editor .drawer-body{padding:19px 14px}.customer-editor-hero{display:block}.customer-editor-hero h2{font-size:26px}.editor-tip{display:inline-block;margin-top:10px}.editor-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.editor-shortcuts button{padding:9px 5px;font-size:12px;white-space:normal}.editor-block,.person-editor{padding:16px}.editor-block>.field-grid{grid-template-columns:1fr}.era-fields{grid-template-columns:1.25fr 1fr .8fr .8fr;gap:5px}.era-fields .field>span{font-size:10px}.era-fields input,.era-fields select{font-size:15px;padding:9px 5px}.death-editor{padding:11px}.person-editor .field-grid{grid-template-columns:1fr 1fr;gap:0 12px}.person-editor .field-hint{font-size:11px}.tag-editor .field-grid{grid-template-columns:1fr 1fr}.record-pdf-preview{height:50vh}.agenda-day{grid-template-columns:44px minmax(0,1fr);gap:8px}.agenda-day .schedule-card{grid-template-columns:1fr;padding:13px;gap:8px}.agenda-day .schedule-time{border:0;display:flex;align-items:center;gap:5px;padding:0}.agenda-day .schedule-time strong{font-size:19px}.agenda-day .schedule-actions{grid-column:1}.agenda-day .schedule-name{font-size:20px}}
.editor-jumps{display:flex;gap:6px;position:sticky;top:-23px;padding:10px 0;background:#f7f9fdf5;z-index:2;margin-bottom:12px}.editor-jumps button{border-color:#dce5f2;background:#fff;color:#43668f;font-size:12px}.customer-editor #customer-basic,.customer-editor #customer-tags,.customer-editor #customer-people,.customer-editor #customer-records{scroll-margin-top:62px}@media(max-width:760px){.editor-jumps{top:-19px;gap:5px}.editor-jumps button{font-size:11px;padding:6px 9px;min-height:37px}}
/* V4: operational tools and shared ledger */
.customer-map-top{margin:-8px 0 18px}.customer-map-top .map-link{font-size:15px;font-weight:700;width:100%;justify-content:center;min-height:48px}.customer-map-top .field-hint{margin:6px 0 0;font-size:11px}.event-detail-hero{padding:20px;border-radius:13px;background:var(--tint);border-left:5px solid var(--tone);margin-bottom:16px}.event-detail-hero h2{font-size:27px;margin:7px 0}.event-detail-hero p{font-size:16px}.event-direct-map{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 22px}.event-direct-map .map-link{font-size:16px;font-weight:700}.event-direct-map small{color:var(--muted)}.event-detail-columns{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}.detail-panel{background:#fff;border:1px solid #dfe6ef;border-radius:12px;padding:20px;margin-bottom:18px}.detail-panel h3{color:#34537e;margin-bottom:14px}.detail-panel .info-list{display:block}.detail-panel .info-list>div{display:grid;grid-template-columns:95px minmax(0,1fr);padding:9px 0}.detail-panel dd{overflow-wrap:anywhere;white-space:pre-wrap}.deceased-summary{padding:16px 0;border-bottom:1px solid var(--line)}.deceased-summary.selected-person{border-left:3px solid #6f56a5;padding-left:12px}.ops-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.ops-tabs button{font-size:15px;padding:15px 12px;box-shadow:0 3px 10px #253c5d05}.ops-tabs .active{background:#e9f0ff;border-color:#c1d2f1;color:#2757a9;font-weight:700}.ops-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:end;margin-bottom:18px;flex-wrap:wrap}.ops-toolbar>label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.ops-toolbar select,.ops-toolbar input{min-width:160px}.ops-card{background:white;border:1px solid #dfe6ef;border-radius:14px;box-shadow:0 4px 17px #1e3b6008;padding:24px;margin-bottom:20px}.ops-card h2{font-size:21px;color:#263f61;margin:0 0 12px}.ops-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ops-cards .ops-card{margin-bottom:0}.eyebrow{display:block;font-size:12px;color:#6b7f9d;margin-bottom:8px}.plot-scroll{overflow:auto;padding:4px 0 12px;max-height:65vh}.plot-grid{display:grid;gap:9px}.plot{display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:normal;padding:10px 7px;min-height:88px;border-radius:9px;gap:5px}.plot b{font-size:15px}.plot span{font-size:11px}.plot.occupied{background:#edf3fc;border-color:#bdcde7;color:#365f95}.plot.vacant{background:#eaf8f1;border-color:#b0d9c7;color:#277a59}.plot.uncertain{background:#fff5df;border-color:#ead19a;color:#927125}.plot-legend{display:flex;gap:20px;margin:16px 0;font-size:12px}.plot-legend span:nth-child(1){color:#365f95}.plot-legend span:nth-child(2){color:#277a59}.plot-legend span:nth-child(3){color:#927125}.cemetery-path{background:#f2f3f1;text-align:center;border-radius:8px;margin-top:18px;padding:12px;color:#8a8f85;font-size:13px;letter-spacing:3px}.mini-stats{display:flex;gap:24px;margin:18px 0 22px}.mini-stats span{font-size:12px;color:#7a879b}.mini-stats strong{display:block;font-size:19px;color:#2d4768;margin-top:4px}.participation-list{margin:18px 0}.participation-list>article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}.participation-list small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.participation-list>article>div:last-child{display:flex;align-items:center;gap:10px}.tag-transfer{padding:20px;background:#eff5fd;border-radius:10px}.tag-transfer select{margin-right:10px}.route-progress{color:#3765a1;background:#edf3fd;border-radius:8px;padding:10px 14px;margin:12px 0 22px;font-weight:650}.route-add{display:flex;align-items:center;gap:12px;margin-bottom:12px}.route-add .field{flex:1;min-width:0}.route-add select{width:100%;text-overflow:ellipsis}.route-stop{display:grid;grid-template-columns:35px minmax(0,1fr) 35px;gap:15px;padding:22px 0;border-top:1px solid var(--line)}.route-order{background:#e9effa;color:#4670aa;border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font-weight:700}.route-stop.done .route-order{background:#dcf3e8;color:#228063}.route-stop-info>strong{font-size:21px}.route-stop-info>p{font-size:13px;overflow-wrap:anywhere;margin:7px 0}.route-order-controls{display:flex;flex-direction:column;gap:8px}.route-stop .v2-tools{margin-top:10px}.finance-gate{max-width:460px;margin:30px auto;text-align:center;padding:34px}.lock-mark{display:grid;place-items:center;background:#e9effc;color:#4668a8;border-radius:50%;width:62px;height:62px;margin:0 auto 18px}.lock-mark .icon{width:27px;height:27px}.finance-gate h2{font-size:24px}.finance-gate>p{font-size:14px;color:var(--muted);line-height:1.8}.finance-gate form{margin:24px 0}.finance-gate input{font-size:28px;letter-spacing:14px;text-align:center;height:60px}.finance-gate form button{width:100%;min-height:48px}.finance-shared-note{display:flex;gap:8px;font-size:12px;align-items:center;color:#467b65;margin:-8px 0 22px}.finance-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.finance-stats article{padding:24px;background:#fff;border:1px solid #dae5ed;border-radius:13px;box-shadow:0 4px 15px #23446107;border-top:4px solid #538bb3}.finance-stats article:nth-child(2){border-top-color:#c7925b}.finance-stats article:nth-child(3){border-top-color:#5f9b8c}.finance-stats span{font-size:13px;color:var(--muted)}.finance-stats strong{display:block;font-size:30px;letter-spacing:-1px;margin-top:8px;font-variant-numeric:tabular-nums}.expense-breakdown{display:grid;gap:17px;padding:10px 0}.expense-breakdown>div{display:grid;grid-template-columns:90px 1fr 110px;align-items:center;gap:16px;font-size:14px}.expense-breakdown strong{text-align:right}.expense-meter{height:9px;background:#f1ede7;border-radius:8px;overflow:hidden}.expense-meter i{display:block;height:100%;background:#cfa477;border-radius:8px}.ledger-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0}.ledger-entry>div:first-child{min-width:0}.ledger-entry strong{font-size:17px;display:block;margin:5px 0;overflow-wrap:anywhere}.ledger-entry small,.ledger-entry p{font-size:12px;color:var(--muted)}.ledger-entry>div:last-child{display:flex;flex-direction:column;gap:8px;align-items:end;flex-shrink:0}.ledger-amount{font-size:20px;font-weight:700;white-space:nowrap}.ledger-amount.income{color:#367c73}.ledger-amount.expense{color:#ac7442}.ledger-entry.voided{opacity:.65}.ledger-entry.voided .ledger-amount{text-decoration:line-through}.void-label{color:#a66558!important}.finance-demo{margin:24px 0}.finance-demo .field-hint{margin-top:8px}.cancel-entry{padding:18px;background:#fff7f3;border-radius:8px;margin-top:22px}.finance-stats+section{margin-top:20px}
@media(max-width:760px){.mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:7px 0 max(7px,env(safe-area-inset-bottom));}.mobile-nav button{font-size:10px;min-width:0;padding:5px 1px;gap:4px;white-space:nowrap}.mobile-nav .icon{width:20px;height:20px}.customer-map-top{margin-top:-6px}.customer-map-top .map-link{font-size:14px}.customer-map-top .field-hint{font-size:10px}.event-detail-columns{grid-template-columns:1fr;gap:0}.event-detail-hero{padding:16px}.event-detail-hero h2{font-size:24px}.event-direct-map .map-link{width:100%;justify-content:center;font-size:14px}.detail-panel{padding:16px}.detail-panel .info-list>div{grid-template-columns:86px minmax(0,1fr)}.ops-tabs{gap:7px;margin-bottom:20px}.ops-tabs button{font-size:11px;flex-direction:column;padding:12px 5px;white-space:normal}.ops-card{padding:18px 14px}.ops-cards{grid-template-columns:1fr}.ops-toolbar{gap:10px}.ops-toolbar .v2-tools{gap:6px;flex-wrap:wrap}.ops-toolbar button{font-size:12px;padding:9px}.plot-legend{gap:12px;font-size:11px}.plot-grid{gap:7px}.participation-list>article{align-items:start}.participation-list>article>div:last-child{flex-wrap:wrap;justify-content:end;max-width:160px}.participation-list strong{font-size:15px}.tag-transfer{padding:14px}.tag-transfer button{margin-top:10px;font-size:12px}.route-add{display:block}.route-add button{margin-bottom:20px}.route-stop{grid-template-columns:28px minmax(0,1fr) 30px;gap:10px}.route-order{width:28px;height:28px;font-size:13px}.route-stop-info>strong{font-size:19px}.route-stop .map-link{font-size:11px;padding:8px 5px}.route-order-controls button{min-width:28px;padding:3px}.finance-gate{margin:20px 0;padding:26px 22px}.finance-stats{grid-template-columns:1fr 1fr;gap:10px}.finance-stats article{padding:16px 13px}.finance-stats article:last-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.finance-stats strong{font-size:26px}.finance-stats article:last-child strong{margin:0}.finance-stats span{font-size:11px}.expense-breakdown>div{grid-template-columns:64px 1fr 83px;gap:9px;font-size:12px}.ledger-entry{gap:10px}.ledger-entry strong{font-size:15px}.ledger-amount{font-size:17px}.ledger-entry>div:last-child{max-width:45%}.finance-shared-note{font-size:11px;align-items:flex-start}.finance-shared-note .icon{flex-shrink:0}}
/* V5: visit context, bulk participation, and annual cemetery fees. */
.schedule-visit-note{margin:9px 0 6px;padding:9px 12px;background:#f0f5f2;border-left:3px solid #76a08d;border-radius:7px;font-size:12px;color:#435b50;max-width:660px}.schedule-visit-note small{font-size:11px;color:#637c70}.schedule-main .schedule-visit-note p{margin:4px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;font-size:12px}.schedule-visit-note .visit-next{color:#284d3c}.schedule-visit-empty{font-size:11px!important;color:#88948d}.schedule-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.schedule-actions .map-link{font-size:12px;padding:9px 11px;min-height:38px}.schedule-actions .map-link .icon{width:15px;height:15px}.event-visit-history{margin-top:22px;padding-top:18px;border-top:1px solid #dce5e0}.event-visit-history h4{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 12px}.visit-history-item{padding:14px 0;border-bottom:1px solid #e6ece8}.visit-history-item>small{color:#738077}.visit-followup{background:#edf5ee;padding:12px;border-radius:9px;margin-top:9px;color:#365640}.visit-followup p{margin:6px 0 0;white-space:pre-wrap}.visit-memo-text{white-space:pre-wrap;line-height:1.8}.event-visit-history details{margin-top:14px}.event-visit-history summary{cursor:pointer;color:#365f4a;font-weight:600}.birth-editor{padding:18px;margin-top:15px;background:#f4f7fb;border:1px solid #dfe6ef;border-radius:12px}.birth-editor h4{margin:0 0 12px}.bulk-household-list{max-height:48vh;overflow:auto;border:1px solid #e0e5eb;border-radius:12px;margin:15px 0}.bulk-household{display:flex;align-items:center;gap:14px;padding:14px;border-bottom:1px solid #e6eaf0;cursor:pointer}.bulk-household:last-child{border-bottom:0}.bulk-household>input{width:21px;height:21px;flex:0 0 21px;accent-color:#3e64b8}.bulk-household>span:nth-child(2){flex:1;min-width:0}.bulk-household strong,.bulk-household small{display:block}.bulk-household small{color:#73808b;margin-top:4px;font-size:12px}.bulk-household:has(input:disabled){background:#f7f8fa;color:#88929e}.attendance-slot{font-weight:600;color:#395e87;font-size:13px;margin:8px 0}.participation-list article>div:first-child{min-width:0}.participation-list article>div:last-child{flex-wrap:wrap;gap:8px}.fee-contract{margin:22px 0;padding:18px;background:#f6f8fb;border-radius:14px}.fee-contract h3{margin-top:0}.fee-invoice{background:#fff;border:1px solid #dfe5ed;border-radius:12px;padding:17px;margin-top:17px}.fee-invoice h4{margin:0;font-size:15px}.fee-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:19px 0}.fee-amounts>span{font-size:11px;color:#758191}.fee-amounts strong{display:block;font-size:21px;margin-top:5px;color:#2d3a4a}.fee-invoice details{margin-top:16px}.fee-payment{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e3e8ee}.fee-payment p{font-size:12px;color:#687787;margin:6px 0}.fee-payment small{display:block;color:#778491}.cancelled-payment{opacity:.65}.cancelled-payment strong{text-decoration:line-through}.fee-invoice .badge.red{background:#fcecea;color:#aa3a30}.fee-invoice .badge.amber{background:#fff3d7;color:#85631b}
@media(max-width:700px){.schedule-actions{grid-column:1/-1;justify-content:flex-start}.schedule-actions>button,.schedule-actions>.map-link{flex:1;justify-content:center}.schedule-actions>.map-link{font-size:11px}.schedule-visit-note{padding:8px}.fee-contract{padding:12px}.fee-invoice{padding:12px}.fee-amounts{gap:7px}.fee-amounts strong{font-size:18px}.participation-list article{flex-direction:column;align-items:stretch!important;gap:10px}.participation-list article>div:last-child{justify-content:flex-start}.bulk-household{padding:12px;gap:10px}.birth-editor{padding:12px}}

.fee-invoice .badge.green{background:#e7f3eb;color:#2d6748}

/* V5 follow-up: full memo history and equally sized schedule actions. */
.schedule-card{grid-template-columns:112px minmax(0,1fr)}
.schedule-actions{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,560px);gap:10px;align-items:stretch}
.schedule-actions>button,.schedule-actions>.map-link{box-sizing:border-box;display:flex;width:100%;min-width:0;min-height:54px;margin:0;padding:10px 12px;justify-content:center;text-align:center;font-size:12px;line-height:1.5;white-space:normal;border:1px solid #d9e3f1;border-radius:8px;background:#f3f7fd;color:#2c5792}
.schedule-actions .icon{flex-shrink:0;width:15px;height:15px}
.schedule-main .schedule-visit-note p{display:block;overflow:visible;-webkit-line-clamp:unset;white-space:pre-wrap;overflow-wrap:anywhere}
.schedule-visit-note .visit-history-item{padding:10px 0}.schedule-visit-note .visit-history-item:last-child{border-bottom:0;padding-bottom:2px}
.schedule-visit-note .visit-followup{padding:8px;margin-top:7px}.schedule-visit-note .visit-followup strong{font-size:11px}
.visit-expand>summary{cursor:pointer;list-style:none;display:block}.visit-expand>summary::-webkit-details-marker{display:none}
.visit-summary-title{display:block;font-size:11px;color:#637c70}.visit-collapsed-preview{display:block;margin-top:6px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}
.visit-expand-label{display:block;margin-top:7px;font-size:12px;font-weight:650;color:#315c45;text-decoration:underline;text-underline-offset:3px}
.visit-expand .when-open,.visit-expand[open] .when-closed,.visit-expand[open] .visit-collapsed-preview{display:none}.visit-expand[open] .when-open{display:inline}
.visit-expand>summary:focus-visible{outline:2px solid #3265c7;outline-offset:4px;border-radius:3px}
.event-visit-history>.section-line{flex-wrap:wrap;gap:10px}.event-visit-history>.section-line h4{margin:0}
@media(max-width:760px){.schedule-card{grid-template-columns:73px minmax(0,1fr)}.schedule-actions{grid-column:1/-1;width:100%;gap:8px}.schedule-actions>button,.schedule-actions>.map-link{min-height:56px;padding:9px 6px;font-size:11px}.agenda-day .schedule-card{grid-template-columns:1fr}}

/* V6 batch controls and memorial views. */
.schedule-actions>.schedule-memo{grid-column:1;grid-row:2;background:#edf5ef;border-color:#d3e4d8;color:#355c42}
.customer-bulk-tools{background:#fff;border:1px solid #dce6f2;border-radius:13px;padding:18px;margin:0 0 24px;box-shadow:0 4px 15px #263f6407}
.customer-bulk-tools .section-line{margin:0 0 12px}.customer-bulk-tools .field-hint{margin:12px 0 0}.customer-bulk-tools .form-error:empty{display:none}
.customer-select-actions,.customer-print-actions{display:flex;gap:10px;flex-wrap:wrap}.customer-print-actions{margin-top:12px}.customer-print-actions button{min-width:180px}
.customer-select-row{display:flex;align-items:center;gap:9px;background:#f6f8fc;padding:11px 18px;font-size:12px;color:#556b87;cursor:pointer;border-bottom:1px solid #e5ebf2}
.customer-select-row input{width:20px;height:20px;accent-color:#3265c7}.customer-card.bulk-selected{border-color:#7298d1;box-shadow:0 0 0 1px #7298d1}.bulk-selected .customer-select-row{background:#eaf1fc;color:#28569d}
.memorial-schedule-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0 24px;max-width:680px}
.memorial-schedule-tabs button{justify-content:space-between;min-height:80px;padding:16px 22px;border-radius:13px;background:#fff;border:1px solid #dce5f0;box-shadow:0 4px 12px #263e6006;font-size:19px}
.memorial-schedule-tabs button.active{background:#edf3ff;border:2px solid #4978c5;color:#234f95}.memorial-schedule-tabs strong{font-size:28px}.memorial-schedule-tabs strong small{font-size:12px;margin-left:5px}
.memorial-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:25px}.memorial-card{min-width:0;padding:22px;background:#fff;border:1px solid #e0e6ef;border-top:4px solid #c4cedd;border-radius:13px;box-shadow:0 4px 16px #293e6008}.memorial-card.is-scheduled{border-top-color:#5281c6}
.memorial-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.memorial-card-heading h2{font-size:23px;font-weight:750;margin:5px 0;line-height:1.5}.memorial-round{display:block;font-size:23px;line-height:1.5;font-weight:750;color:#5d438e;background:#f3eef9;border-radius:10px;padding:10px 14px;white-space:nowrap}
.memorial-sponsor{font-size:14px;color:#445a75;margin:6px 0}.memorial-date{font-size:12px;color:#6d7b8d;line-height:1.7;margin:8px 0 18px}.memorial-card-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.memorial-card-actions button{flex:1;white-space:normal}
.memorial-contact>span{display:block;font-size:12px;color:#5d7089;margin-bottom:8px}.memorial-contact-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:18px}.memorial-contact-tabs button{padding:9px 5px;font-size:12px;white-space:normal;min-height:42px;border-color:#dce3ed}.memorial-contact-tabs button.selected{background:#eaf0fc;border-color:#6f91c6;color:#244e90;font-weight:700}
.memorial-scheduled-dates{display:flex;flex-direction:column;gap:7px;padding:12px;background:#f1f6ff;border-radius:9px}.memorial-scheduled-dates button{font-size:14px;text-align:left;white-space:normal;justify-content:flex-start}.memorial-contact-history summary{cursor:pointer;color:#516b8c}.memorial-contact+.field{margin-top:20px}
@media(max-width:1100px){.memorial-cards{grid-template-columns:1fr}}
@media(max-width:760px){.customer-bulk-tools{padding:14px}.customer-print-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.customer-print-actions button{min-width:0;font-size:12px;padding:9px 6px;white-space:normal}.customer-select-actions button{font-size:12px}.memorial-schedule-tabs{gap:10px}.memorial-schedule-tabs button{min-height:74px;padding:13px;font-size:17px}.memorial-card{padding:17px}.memorial-card-heading{gap:9px}.memorial-card-heading h2,.memorial-round{font-size:22px}.memorial-round{padding:8px 10px}.memorial-contact-tabs button{font-size:12px}}
/* V7: clear actions, consistent date entry, and a readable print preview. */
button.primary,.primary-link{box-shadow:0 3px 8px #315ba32b;border-color:#2e5eb6;font-weight:650}
button.primary:hover,.primary-link:hover{background:#2456ac;box-shadow:0 5px 12px #315ba338}
button:disabled{box-shadow:none;cursor:not-allowed}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #2f70d5;outline-offset:3px}
.calendar-surface,.customer-card,.memorial-card{box-shadow:0 5px 20px #263e6610,0 1px 3px #263e6608}
.day.picked{box-shadow:inset 0 0 0 2px #97b4e3}
.schedule-actions>button,.schedule-actions>.map-link{box-shadow:0 2px 5px #2b496f12;font-weight:650}
.schedule-actions>.map-link,.schedule-actions>.schedule-memo{background:#edf6f0;border-color:#c7dfce;color:#285f41}
.schedule-actions>.map-link:hover,.schedule-actions>.schedule-memo:hover{background:#e1f0e6}
.schedule-main .schedule-visit-note p,.customer-card-body>p{font-size:13px}
.customer-card-title strong,.schedule-name{overflow-wrap:anywhere}
.birth-editor,.death-editor{padding:14px;margin-top:14px;background:#f3f6fb;border:1px solid #dde5f1;border-radius:10px}
.birth-editor>.field,.death-editor>.field{margin-bottom:14px}
.editor-shortcuts .chart-shortcut,.customer-print-actions button,.editor-shortcuts [data-action="v3-record-pdf"],.editor-shortcuts [data-action="print"]{background:#f4f0fa;border-color:#d8cbe9;color:#644192;box-shadow:0 2px 6px #65479114;font-weight:650}
.customer-print-actions button:disabled{opacity:.5;box-shadow:none}
.chart-save-hint{margin-top:-12px;margin-bottom:14px}
.memorial-range-note{background:#f3effb;border:1px solid #ded2ed;border-radius:12px;padding:15px 18px;margin:18px 0;display:flex;flex-direction:column;gap:7px;color:#5c3d8a}
.memorial-range-note strong{font-size:17px}.memorial-range-note span{font-size:12px;line-height:1.8}
.memorial-schedule-tabs button.active{box-shadow:0 3px 12px #3265c721}
.chart-drawer .drawer-body{background:#f7f9fc}
.chart-preview-intro{margin-bottom:20px}.chart-preview-intro h2{font-size:24px;margin:7px 0}.chart-preview-intro p{color:#566a83;font-size:14px;line-height:1.8}
.chart-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;background:white;border:1px solid #dce5ef;border-radius:12px;padding:18px 18px 0}.chart-controls>.field:first-child{grid-column:1/-1}
.chart-controls .field{min-width:0}.chart-controls select{width:100%;white-space:normal}
.chart-controls+.field-hint{margin:10px 0 20px}
.chart-person-summary{padding:20px;background:#fff;border:1px solid #dce5ef;border-left:4px solid #7856a5;border-radius:10px;margin:18px 0}
.chart-person-summary h3{font-size:23px;margin:0 0 9px;overflow-wrap:anywhere}.chart-person-summary p{margin:6px 0;font-size:14px;overflow-wrap:anywhere}.chart-person-summary>strong{display:block;margin-top:15px;font-size:15px}.chart-person-summary small{display:block;font-size:13px;font-weight:400;color:#5a6b82;margin-top:5px}
.chart-tables{display:grid;grid-template-columns:1fr;gap:20px}.chart-table-section{background:#fff;border:1px solid #dce5ef;border-radius:10px;overflow:hidden}.chart-table-section h3{margin:0;padding:16px 18px;background:#edf2f8;font-size:16px;color:#2f4a6f}.chart-table th{white-space:normal}
.chart-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.chart-table th,.chart-table td{padding:12px 18px;border-bottom:1px solid #e6ebf2;font-size:15px;vertical-align:top;overflow-wrap:anywhere}.chart-table thead th{font-size:12px;font-weight:500;color:#64758b;background:#fafbfd}.chart-table th:first-child{width:43%}.chart-table tbody th{font-weight:650}.chart-table small{display:block;font-size:11px;color:#6b7c91;font-weight:400;margin-top:6px;line-height:1.6}.chart-table tbody tr:last-child>*{border-bottom:0}
.chart-notes{background:#f1f4f8;border-radius:10px;padding:12px 18px;margin-top:20px}.chart-notes p{font-size:12px;line-height:1.8;margin:8px 0;color:#52647b}.chart-sources{margin:18px 0;font-size:12px;line-height:1.8}.chart-sources summary{cursor:pointer;color:#47638b}.chart-sources a{color:#315eac}
.chart-pdf-result:empty{display:none}.chart-pdf-result{border-top:1px solid #dbe3ef;padding-top:20px;margin-top:20px}.chart-pdf-result h3{font-size:20px}.chart-pdf-result>p{font-size:13px;color:#5a6b82;line-height:1.8}
@media(max-width:760px){
 .workspace{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .mobile-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding-bottom:env(safe-area-inset-bottom)}
 .mobile-nav button{min-width:0;padding-left:2px;padding-right:2px}
 .segmented button,.editor-jumps button,.memorial-contact-tabs button,.filters button,.editor-shortcuts button{min-height:44px}
 .era-fields{grid-template-columns:1fr 1fr;gap:0 12px}.era-fields .field>span{font-size:12px}.era-fields input,.era-fields select,.reference-control input,.reference-control select,.chart-controls select{font-size:16px}
 .birth-editor,.death-editor{padding:12px}.day-number{max-width:100%;min-width:0;width:40px;min-height:44px}
 .chart-controls{grid-template-columns:1fr;padding:15px 15px 0;gap:0}.chart-controls>.field:first-child{grid-column:auto}
 .chart-preview-intro h2{font-size:21px}.chart-person-summary{padding:16px}.chart-person-summary h3{font-size:22px}
 .chart-table th,.chart-table td{padding:11px 12px;font-size:13px}.chart-table small{font-size:11px}.chart-table-section h3{font-size:15px;padding:14px 12px}
 .chart-drawer .drawer-body{padding:20px 14px}.chart-drawer .drawer-footer{gap:8px}.chart-drawer .drawer-footer button{font-size:12px;padding:10px 8px;white-space:normal;min-height:48px}
 .memorial-range-note{padding:13px}.memorial-range-note span{font-size:11px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.chart-full-name{display:block}
