:root{--navy:#19364c;--ink:#233742;--muted:#64747c;--teal:#137a70;--line:#d9e2e5;--paper:#fff;--bg:#f3f6f7;--amber:#9c6512;--red:#b53d40}
*{box-sizing:border-box}html{font-family:"Meiryo","Yu Gothic UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;letter-spacing:0}body{margin:0}button,input,select{font:inherit;letter-spacing:0}button,label.secondary-button{cursor:pointer}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;line-height:1.45;transition:background .15s}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #49a596;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.95)}i[data-lucide],svg.lucide{width:18px;height:18px;flex-shrink:0;stroke-width:1.7}h1,h2,p{margin:0}h1{font-size:23px;font-weight:700}h2{font-size:19px}input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px;flex-shrink:0}select,input[type=search]{border:1px solid #cbd7dc;background:#fff;border-radius:4px;padding:9px 10px;color:var(--ink);min-width:0}select{max-width:100%}label{display:flex;gap:8px;align-items:center;font-size:12px}.app-header{height:78px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:20px}.brand{display:flex;gap:13px;align-items:center;font-size:18px;white-space:nowrap}.brand>svg{width:30px;height:30px}.brand small{display:block;font-size:9px;opacity:.66;margin-top:4px}.privacy{display:flex;align-items:center;gap:8px;border:1px solid #577781;padding:8px 15px;border-radius:4px;color:#a9e5d8;font-size:12px}.header-actions{display:flex;align-items:center;gap:12px}.header-button{background:transparent;color:white;font-size:12px;padding:8px}.icon-button{width:36px;height:36px;background:transparent;color:inherit;border:1px solid transparent;border-radius:4px}.icon-button:hover{background:#eaf0f2}.app-header .icon-button:hover{background:#345164}.main-nav{display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:#fff;border-bottom:1px solid var(--line);min-height:56px;gap:12px}.main-nav nav{display:flex;gap:16px}.nav-tab{position:relative;background:transparent;padding:17px 6px;color:var(--muted);font-size:13px}.nav-tab.active{color:var(--teal);font-weight:700}.nav-tab.active:after{position:absolute;content:"";height:3px;bottom:0;left:0;right:0;background:var(--teal)}#issueBadge{background:#e9eff1;border-radius:3px;min-width:22px;padding:1px 5px;font-size:11px}.text-button{color:var(--muted);background:transparent;padding:6px 3px;font-size:12px}main{max-width:1600px;margin:0 auto;padding:26px 32px 40px;min-height:calc(100vh - 188px)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.page-heading>div:first-child{display:flex;align-items:baseline;gap:16px}#viewSubtitle{color:var(--muted);font-size:12px}.mode-switch{display:flex;background:#e4ebee;padding:4px;border-radius:5px}.mode-switch button{font-size:13px;background:transparent;color:var(--muted);padding:8px 18px;min-width:88px;border-radius:3px}.mode-switch button[aria-pressed=true]{background:#fff;color:var(--navy);box-shadow:0 1px 3px #2039441a;font-weight:700}.status-line{font-size:12px;color:var(--muted);margin-bottom:24px;min-height:18px}.status-line.error{color:var(--red)}.view[hidden]{display:none!important}.import-inner{max-width:900px;margin:14px auto 20px}.section-label{display:flex;justify-content:space-between;font-weight:700;margin-bottom:12px}.section-label span:last-child{color:var(--teal);font-size:12px}.requirements{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;margin-bottom:20px;border-radius:5px;overflow:hidden}.requirement{padding:15px 14px;border-right:1px solid var(--line);display:flex;gap:9px;align-items:center;font-size:12px}.requirement:last-child{border-right:0}.requirement small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.requirement svg{color:#a2adb3}.requirement.ready svg{color:var(--teal)}.requirement.optional{background:#f7f9fa;color:#98a3a9}.drop-zone{background:#f9fbfc;border:2px dashed #a7b6bf;border-radius:6px;min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;cursor:pointer}.drop-zone.over{border-color:var(--teal);background:#eaf6f2}.folder-symbol svg{width:46px;height:46px;color:var(--navy)}.upload-buttons{display:flex;gap:14px}.primary-button,.secondary-button{min-height:38px;padding:9px 15px;border:1px solid var(--navy);border-radius:4px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:normal;text-align:center}.primary-button{background:var(--navy);color:#fff}.secondary-button{background:#fff;color:var(--navy);border-color:#c1ced5}.upload-buttons button{min-height:46px;min-width:178px}.import-summary{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:22px 0;color:var(--muted);font-size:13px}.import-action{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.import-action>span{font-size:12px;color:var(--muted)}.filters{display:flex;align-items:center;gap:22px;padding:14px 0 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}.provider-filter{flex:1;max-width:560px}.provider-filter select{flex:1}.check-option{margin-left:auto}.report-workspace{display:grid;grid-template-columns:222px minmax(0,1fr);margin-top:20px;gap:20px}.people-panel{background:white;border:1px solid var(--line);border-radius:5px;align-self:start}.people-heading{display:flex;justify-content:space-between;padding:12px 14px;align-items:center;border-bottom:1px solid var(--line)}.search-box{padding:12px;position:relative}.search-box svg{position:absolute;left:22px;color:#7e929c;width:15px}.search-box input{width:100%;font-size:11px;padding-left:32px}.people-list{min-height:160px;max-height:510px;overflow:auto}.person-item{display:flex;align-items:flex-start;border-left:3px solid transparent;padding:12px 9px;border-top:1px solid #edf1f2;gap:8px}.person-item.active{background:#eaf5f2;border-left-color:var(--teal)}.person-item>button{display:block;flex:1;text-align:left;background:transparent;padding:0;min-width:0}.person-item strong{display:block;font-size:13px;overflow-wrap:anywhere}.person-item small{display:block;font-size:10px;color:var(--muted);margin-top:5px;font-variant-numeric:tabular-nums}.person-item .care{color:var(--teal);font-size:10px;display:inline-block;margin-top:5px}.people-footer{border-top:1px solid var(--line);padding:12px;color:var(--muted);font-size:11px}.preview-area{min-width:0}.preview-toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.sheet-tabs{display:flex;gap:5px}.sheet-tabs button{background:transparent;color:var(--muted);padding:8px 12px;font-size:12px;border-radius:4px}.sheet-tabs button.active{background:#e0ece9;color:var(--teal);font-weight:700}.print-actions{display:flex;align-items:center;gap:8px}.report-messages{display:grid;gap:6px;margin-bottom:10px}.message{padding:9px 12px;font-size:11px;border-left:3px solid #c79d3f;background:#fff6e2;color:#765514;line-height:1.65;overflow-wrap:anywhere}.message.error{background:#fceced;border-color:#c05558;color:#8b3036}.report-scroll{background:#e3eaed;border:1px solid #d5e0e4;overflow:auto;max-height:800px;padding:20px;min-height:400px;border-radius:4px}.empty-state{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:340px;color:#87959e}.empty-state svg{width:44px;height:44px}.empty-state h2{font-size:16px}.batch-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:14px;color:var(--muted);font-size:11px;flex-wrap:wrap}.app-footer{display:flex;justify-content:space-between;padding:15px 32px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;background:#fff;gap:15px}.list-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.table-scroll{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:4px}.data-table{border-collapse:collapse;font-size:12px;width:100%;text-align:left;min-width:950px}.data-table th{padding:12px;background:#edf3f5;border-bottom:1px solid var(--line);font-weight:600;white-space:nowrap}.data-table td{padding:12px;border-bottom:1px solid #e8eef0;line-height:1.6;vertical-align:top;overflow-wrap:anywhere}.data-table tr:last-child td{border-bottom:0}.data-table td small{display:block;font-size:10px;color:var(--muted)}.data-table td.filename{min-width:340px;max-width:470px;font-size:10px}.data-table .has-error{background:#fff1f1}.data-table .has-warning{background:#fffbef}.pill{border-radius:3px;font-size:10px;padding:2px 6px;white-space:nowrap}.pill.error{background:#fce6e8;color:#a72e38}.pill.warning{background:#fff0cc;color:#906111}.pill.good{background:#e1f3eb;color:#197357}.issue-filters{display:flex;gap:20px;align-items:center}.issues-table td:nth-child(2){max-width:280px;font-size:10px}.master-list{border-top:1px solid var(--line);background:#fff}.master-list>div{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid var(--line)}.master-list strong{min-width:170px}.master-list span{flex:1;font-size:12px;color:var(--muted)}.master-search{display:flex;gap:20px;margin:22px 0}.master-search>input{min-width:240px}.unit-confirm{width:95px;border:1px solid #caa95f;border-radius:3px;padding:4px;font-size:12px;background:#fffaf0}.confirmed-note{color:#886112;font-size:10px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}dialog{max-width:650px;width:calc(100% - 32px);padding:24px;border:1px solid var(--line);border-radius:6px;color:var(--ink);box-shadow:0 10px 50px #14324440}dialog::backdrop{background:#19364c66}dialog p,dialog li{font-size:12px;line-height:1.9;margin-top:12px}#printRoot{display:none}
/* Fixed-format documents: 14 slots, repeated headers, A4 landscape. */
.sample-notice{padding:12px 16px;margin-bottom:18px;border:2px solid #9c6512;background:#fff0cc;color:#765514;font-size:14px;font-weight:700}.sample-notice[hidden]{display:none}
.person-preview{margin:0 0 24px}.person-preview:last-child{margin-bottom:0}.person-preview-heading{max-width:1080px;margin:0 auto 10px;padding:8px 0;border-bottom:1px solid #b7c8ce;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;overflow-wrap:anywhere}.person-preview-heading span{font-size:11px;white-space:nowrap;color:var(--muted)}
.calculated-note{color:#137a70;font-size:9px}.billing-conditions{font-size:11px;line-height:1.8;margin:12px 0}.billing-units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #555;margin:14px 0;padding:12px 0;gap:16px;font-size:11px}.billing-units strong{display:block;font-size:19px;margin-top:6px}.money-table{font-size:11px}.money-table th,.money-table td{padding:9px 7px;text-align:right}.money-table th:first-child,.money-table td:first-child{text-align:left}.money-table small{display:block;font-size:9px;color:#555;margin-top:4px}.money-total{font-weight:700;background:#edf5f2}.billing-heading{font-size:13px;margin:22px 0 9px}.billing-formula{font-size:11px;margin-top:12px;overflow-wrap:anywhere}
/* Keep scrollbar widths independent of scaled page heights. */
html{scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
.report-scroll{overflow-y:scroll}
.sheet-frame{position:relative;margin:0 auto 20px;overflow:hidden}.sheet-frame:last-child{margin-bottom:0}
.confirm-group{display:flex;align-items:center;gap:3px}.confirm-group .unit-confirm{flex:1;min-width:0;width:45px;font-size:9px}.confirm-action{width:22px;height:24px;border:1px solid #bacbc8;border-radius:3px;background:#e9f5ef;color:var(--teal);padding:2px}.confirm-action svg{width:13px;height:13px}
.document{width:1080px;min-height:730px;background:#fff;color:#111;padding:26px 24px;margin:0 auto 20px;font-family:"Meiryo",sans-serif;box-shadow:0 2px 8px #23374214;line-height:1.35}.document:last-child{margin-bottom:0}.document-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:9px;font-size:13px}.document-head h2{font-size:20px;text-align:center}.document-head .stamp{border:1px solid #333;padding:3px 8px;font-size:10px}.route-label{text-align:right;font-size:10px;margin-bottom:4px}.identity-grid{display:grid;grid-template-columns:2.15fr 2.3fr 2.7fr 1.5fr;border-top:1px solid #222;border-left:1px solid #222;font-size:11px;margin-bottom:12px}.identity-cell{border-right:1px solid #222;border-bottom:1px solid #222;min-height:39px;padding:6px;display:flex;align-items:center;gap:7px;min-width:0;overflow-wrap:anywhere}.identity-cell>span:first-child{font-size:10px;max-width:75px;flex-shrink:0}.identity-cell .main-name{font-size:15px}.identity-cell .sub-name{font-size:9px;margin-bottom:3px}.digit-boxes{display:flex;flex:1;align-items:stretch;min-width:0;font-size:16px;justify-content:flex-end}.digit-boxes span{border-left:1px solid #555;min-width:15px;width:19px;text-align:center;padding:3px 1px;font-variant-numeric:tabular-nums}.digit-boxes span:last-child{border-right:1px solid #555}.identity-cell .limit-number{font-size:23px;flex:1;text-align:center}.identity-cell .stack{display:flex;flex-direction:column;gap:3px}.document-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:9px}.document-table th,.document-table td{border:1px solid #333;padding:2px;font-weight:400;vertical-align:middle;overflow-wrap:anywhere}.document-table th{background:#fafafa}.six-table .time-col{width:9%}.six-table .name-col{width:15%}.six-table .provider-col{width:15%}.six-table .side-col{width:3.6%}.six-table .day-col{width:1.7%}.six-table .total-col{width:4.7%}.six-table th,.six-table td{text-align:center;padding:1px;font-variant-numeric:tabular-nums}.six-table td.service-name,.six-table td.provider-name{text-align:left;padding:3px 5px;font-size:9px;line-height:1.35}.six-table td.service-name small,.six-table td.provider-name small{display:block;font-size:8px;color:#666;margin-top:2px}.six-table tbody tr{height:16px}.six-table .service-block td[rowspan]{height:32px}.six-table .day-diff{background:#fff2cd;font-weight:700}.six-table .cancelled{color:#a54137}.six-table .sunday{color:#aa3535;background:#fff7f7}.six-table .saturday{color:#326b8a}.six-table .unavailable{background:#eee;color:#aaa}.six-table .total{font-weight:700}.sheet-note{display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#555;margin-top:7px;line-height:1.6}.sheet-note span{overflow-wrap:anywhere}.appendix-title{font-size:12px;margin-bottom:7px}.benefit-table{font-size:8px}.benefit-table th{font-size:8px;height:50px}.benefit-table td{height:27px;text-align:right;font-variant-numeric:tabular-nums}.benefit-table td:nth-child(-n+3){text-align:left}.benefit-table .source-subtotal{background:#eef2f2}.benefit-table .source-subtotal td{font-weight:700}.benefit-table .provider-col{width:9%}.benefit-table .code-col{width:7%}.benefit-table .name-col{width:13%}.benefit-table .thin-col{width:3.3%}.benefit-table .value-col{width:4.3%}.appendix-footer{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-top:14px}.mini-table{border-collapse:collapse;width:100%;font-size:9px}.mini-table td,.mini-table th{border:1px solid #555;padding:5px;font-weight:400;overflow-wrap:anywhere}.mini-table th{background:#fafafa}.mini-table td{text-align:right}.mini-table caption{text-align:left;margin:0 0 5px;font-size:10px}.actual-benefit th{height:39px;font-size:9px}.actual-benefit td{font-size:10px;height:36px}.actual-benefit .name-col{width:23%}.actual-benefit .provider-col{width:17%}.actual-benefit .code-col{width:9%}.actual-benefit .value-col{width:8.5%}.document-notice{margin:12px 0;padding:8px 10px;background:#faf6e9;border:1px solid #d5c398;font-size:10px;line-height:1.6}.actual-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #555;padding:12px;font-size:13px;margin-top:12px}.actual-summary strong{font-size:18px}.provenance{font-size:8px;line-height:1.6;margin-top:13px;color:#666;overflow-wrap:anywhere}.raw-table{min-width:900px}.raw-table td{font-size:10px}.raw-details{font-size:11px;line-height:1.8}.raw-details summary{cursor:pointer}.raw-details dl{display:grid;grid-template-columns:170px 1fr;gap:2px;margin:0}.raw-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.empty-cell{text-align:center!important;color:#aaa}
@media(max-width:1000px){.app-header{padding:0 20px}.privacy{display:none}.main-nav{padding:0 18px;overflow:auto}.main-nav nav{gap:12px;flex-shrink:0}main{padding:22px 18px}.report-workspace{grid-template-columns:190px minmax(0,1fr);gap:12px}.preview-toolbar{align-items:flex-start}.print-actions{margin-left:auto}.filters{gap:12px}.page-heading>div:first-child{display:block}#viewSubtitle{display:block;margin-top:5px}.app-footer{padding:15px 18px}}
@media(max-width:640px){.app-header{height:68px;padding:0 14px}.brand{font-size:14px;gap:8px}.brand>svg{width:24px}.header-actions{gap:0}.header-button{font-size:10px}.brand small{font-size:8px}.main-nav{padding:0 12px}.nav-tab{font-size:11px;padding:14px 3px;gap:5px}.nav-tab svg{width:15px}.main-nav .text-button{display:none}main{padding:19px 12px}.page-heading{align-items:flex-start;gap:10px}h1{font-size:19px}.mode-switch button{min-width:62px;padding:8px 10px;font-size:11px}.requirements{grid-template-columns:repeat(2,1fr)}.requirement:nth-child(2){border-right:0}.requirement:nth-child(-n+2){border-bottom:1px solid var(--line)}.drop-zone{min-height:250px}.upload-buttons{gap:9px}.upload-buttons button{min-width:0;padding:11px;font-size:11px}.import-summary{gap:15px;font-size:12px}.import-action{align-items:flex-start}.import-action>span{max-width:55%;font-size:10px}.filters label{flex:1;min-width:140px;flex-direction:column;align-items:flex-start}.filters select{width:100%;font-size:11px}.filters .check-option{flex-direction:row;align-items:center;margin-left:0}.report-workspace{display:block}.people-panel{margin-bottom:15px}.people-list{min-height:0;max-height:200px}.person-item{padding:10px}.people-heading{padding:8px 12px}.people-footer{padding:8px 12px}.preview-toolbar{gap:8px}.sheet-tabs button{padding:7px 10px;font-size:11px}.print-actions{width:100%;justify-content:flex-end}.report-scroll{padding:10px;max-height:650px;min-height:280px}.batch-toolbar>button{width:100%;font-size:11px}.app-footer{flex-direction:column;font-size:9px;padding:12px}.master-list>div{flex-wrap:wrap;gap:10px;padding:15px}.master-list strong{min-width:0;font-size:12px}.master-list span{flex-basis:100%;margin-left:28px}.master-list label{margin-left:28px}.master-search{gap:10px;flex-wrap:wrap}.master-search>input{width:100%;min-width:0}.list-tools{gap:10px}.list-tools button{font-size:10px}}
@page{size:A4 landscape;margin:8mm}
/* Leave footer clearance while retaining all 14 service frames on an A4 page. */
@media print{.six-document .six-table tbody tr{height:3.8mm}.six-document .six-table .service-block td[rowspan]{height:7.6mm}.six-document .six-table td{padding-top:0;padding-bottom:0}}
@media print{html,body{background:#fff;color:#000;margin:0;padding:0}body>header,body>.main-nav,body>main,body>footer,body>dialog{display:none!important}#printRoot{display:block!important}.document{width:281mm;height:191mm;min-height:0;padding:4mm 3mm;box-shadow:none;margin:0;break-after:page;overflow:visible}.document:last-child{break-after:auto}.document-head{margin-bottom:2mm}.document-head h2{font-size:14pt}.identity-grid{font-size:8pt;margin-bottom:3mm}.identity-cell{min-height:11mm;padding:1mm;gap:1.5mm}.identity-cell>span:first-child{font-size:7pt;max-width:20mm}.identity-cell .main-name{font-size:11pt}.digit-boxes{font-size:12pt}.digit-boxes span{width:4.5mm;min-width:3.6mm}.six-table{font-size:7pt}.six-table tbody tr{height:4.1mm}.six-table .service-block td[rowspan]{height:8.2mm}.six-table td.service-name,.six-table td.provider-name{font-size:6.8pt}.six-table td small{font-size:5.7pt!important}.sheet-note{font-size:6pt}.document-notice{font-size:7pt;margin:2mm 0;padding:1.5mm}.benefit-table{font-size:6pt}.benefit-table th{font-size:5.8pt;height:12mm}.benefit-table td{height:7mm}.appendix-footer{margin-top:3mm;gap:5mm}.mini-table{font-size:6.5pt}.mini-table th,.mini-table td{padding:1mm}.actual-benefit th{font-size:7pt;height:10mm}.actual-benefit td{font-size:7pt;height:8mm}.actual-summary{padding:2mm;font-size:9pt}.actual-summary strong{font-size:12pt}.provenance{font-size:5.5pt;margin-top:2mm}.unit-confirm{display:none}.confirmed-note{font-size:6pt}.sunday,.day-diff,.source-subtotal{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-only{display:block!important}.screen-only{display:none!important}}
.raw-office-reference{display:block;color:#38635d;font-size:10px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.raw-office-summary{display:block;color:#38635d;white-space:pre-wrap;overflow-wrap:anywhere}
