:root{font-family:'Yu Gothic UI','Meiryo',sans-serif;color:#1d3045;background:#f3f6fa;font-size:16px;line-height:1.6;--navy:#132c46;--blue:#1766b5;--border:#d7e0ea}*{box-sizing:border-box}body{margin:0}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:var(--navy);color:#fff;padding:30px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:20px}.mark{color:#ffc953;font-size:28px}.local{font-size:14px;color:#b7cbdc;margin:12px 0 36px}nav{display:grid;gap:8px}button{font:inherit;cursor:pointer;border:1px solid var(--border);border-radius:7px;padding:10px 16px;background:#fff;color:#1d3045;font-weight:600}button:hover{filter:brightness(.96)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d99a16;outline-offset:2px}nav button{text-align:left;background:transparent;color:#d7e7f4;border-color:transparent}nav button.active{background:#254560;color:#fff;border-left:3px solid #ffc953}.aside-bottom{margin-top:auto;padding-top:40px}.aside-bottom button{width:100%;font-size:14px;background:#254560;color:white;border-color:#426079}.aside-bottom p{font-size:14px;color:#b7cbdc}main{padding:32px 42px 70px;max-width:1580px;width:100%;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{color:#586d82;font-size:14px}h1{font-size:28px;margin:4px 0}h2{font-size:20px;margin:0 0 18px}h3{font-size:17px;margin:0 0 14px}.badge{background:#dfebf7;color:#18578f;border-radius:30px;padding:6px 16px;font-size:14px}.panel{background:#fff;border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:20px}.split{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(400px,1.4fr);gap:22px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.full{grid-column:1/-1}label{display:block;font-size:14px;font-weight:600;color:#445a70}input,select,textarea{display:block;width:100%;font:inherit;color:#162c43;border:1px solid #b9c9da;border-radius:6px;background:#fff;padding:9px 10px;margin-top:5px}textarea{min-height:105px;resize:vertical}input[type=number]{min-width:85px}input[readonly]{background:#f0f4f8}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.muted{color:#607286;font-size:14px}.empty{padding:35px 12px;text-align:center;color:#607286}.customer{display:block;width:100%;text-align:left;margin:10px 0;padding:15px}.customer.selected{border-color:#1766b5;background:#edf5ff}.customer strong,.customer small{display:block}.customer small{font-size:14px;font-weight:400;color:#607286}.toolbar{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:18px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.metric{background:#fff;border:1px solid var(--border);border-top:3px solid #1766b5;border-radius:8px;padding:16px 20px}.metric strong{font-size:28px;display:block}.metric span{font-size:14px;color:#607286}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px;border-bottom:1px solid var(--border);text-align:left}th{background:#edf2f7;color:#445a70}td input,td select{font-size:14px;margin:0}.table-scroll{overflow:auto}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.check-row{display:flex;align-items:center;gap:15px;justify-content:space-between;border-bottom:1px solid #e7edf3;padding:8px 0;font-size:14px}.check-row select{width:140px;flex-shrink:0}.check-row label{font-weight:400}details{margin-bottom:18px}summary{font-weight:700;cursor:pointer;padding:8px 0;font-size:18px}.callout{background:#edf5ff;border-left:3px solid #1766b5;padding:12px 16px;margin:15px 0;color:#29516f;font-size:14px}#notice:not(:empty){padding:12px 18px;border-radius:7px;background:#e1f3eb;color:#1b674e;margin-bottom:20px}#notice.error{background:#fff0ef;color:#9c2d24}.pill{display:inline-block;border-radius:20px;background:#eef2f7;font-size:14px;padding:3px 10px}.report-sheet{max-width:1000px;margin:0 auto;background:#fff;padding:28px;border:1px solid var(--border)}.report-sheet h2{text-align:center;font-size:25px}.report-sheet h3{background:#edf2f7;padding:6px;margin-top:20px}.report-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.report-sheet .notes{white-space:pre-wrap;min-height:60px}.report-sheet td,.report-sheet th{border:1px solid #bcc8d4;overflow-wrap:anywhere}.report-sheet p{overflow-wrap:anywhere}#print-report{display:none}.required{color:#aa3c32;font-size:13px}.sticky-actions{position:sticky;bottom:0;background:#f3f6faf5;padding:14px 0;z-index:1}a{color:#1766b5}@media(max-width:1100px){main{padding:25px}.split{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:750px){.shell{display:block}aside{position:static;height:auto;padding:15px}.brand{font-size:18px}.local{margin:4px 0 10px}nav{grid-template-columns:repeat(3,1fr);gap:2px}nav button{padding:9px 5px;font-size:14px;text-align:center}.aside-bottom{padding:8px 0 0;margin:0}.aside-bottom p{display:none}.aside-bottom button{width:auto}main{padding:20px 14px}.panel{padding:16px}.grid,.grid.two,.check-grid{grid-template-columns:1fr}.metrics{gap:8px}.metric{padding:10px}.metric strong{font-size:23px}h1{font-size:24px}.report-sheet{padding:14px}.report-meta{grid-template-columns:1fr}}@media print{@page{size:A4;margin:10mm}body{background:white;color:black;font-size:10pt}.shell{display:none!important}#print-report{display:block}.report-sheet{padding:0;border:0;max-width:none}.report-sheet h2{font-size:18pt}.report-sheet h3{font-size:11pt;margin:10px 0 4px;padding:3px}.report-sheet table{font-size:8pt}.report-sheet th,.report-sheet td{padding:3px}.report-meta{font-size:10pt;margin:8px 0;gap:3px}.report-sheet tr{break-inside:avoid}.report-sheet h3{break-after:avoid}.report-sheet .notes{min-height:35px}.muted{font-size:8pt}.report-sheet{print-color-adjust:exact}}
.pdf-button{display:inline-block;background:#1766b5;color:white;text-decoration:none;border-radius:7px;padding:10px 16px;font-weight:600}

.bank-name-input{min-width:180px!important;width:180px!important}.bank-name-heading{min-width:200px}
.inspection-matrix{table-layout:fixed;min-width:1000px}.inspection-matrix th,.inspection-matrix td{padding:4px 0;text-align:center;border:1px solid #bac8d5}.inspection-matrix .vertical-label{writing-mode:vertical-rl;text-orientation:upright;height:230px;display:inline-block;font-weight:400;font-size:14px;white-space:nowrap}.editable-matrix{min-width:2200px}.editable-matrix select{min-width:52px;padding:8px 2px;text-align:center}.inspection-matrix tbody td{font-size:16px}
@media print{.inspection-matrix{min-width:0;width:100%}.inspection-matrix .vertical-label{font-size:6pt;height:120pt}.inspection-matrix th{font-size:5pt}.inspection-matrix tbody td{font-size:8pt}}

select[name$="_purpose"]{min-width:95px}output[id^="bank-rated"]{display:block;min-width:100px}#reading-demand-result,#current-demand-result{font-weight:700;color:#1766b5}

.previous-value{min-width:110px;margin-top:6px}.previous-value small{display:block;font-size:12px;color:#52667a}.previous-value button{font-size:12px;padding:4px 6px;margin-top:4px}input[name^="master_"][type="text"]{min-width:160px}input[name^="bank_"][type="text"]{min-width:100px}

.bank-appendix{margin-top:24px}@media print{.bank-appendix{break-before:page;margin-top:0}}

.approval-stamp{border:1px solid #67717b;width:110px;height:85px;text-align:center;font-size:14px;margin:16px 0 0 auto}#show-deleted{display:inline;width:auto}#delete-customer{color:#9c2d24}

input[name="secondEnabled"]{display:inline;width:auto}.second-receiving-fields{margin-top:18px}

.report-top{display:flex;align-items:flex-start;gap:16px}.report-top h2{flex:1}.report-top .approval-stamp{flex:none;margin:0 0 12px}

.report-number{text-align:right;margin-top:12px;font-size:12px;color:#1d3045;overflow-wrap:anywhere}

.less-than-button{min-height:44px;margin-top:5px;padding:6px 12px}.less-than-button[aria-pressed="true"]{background:#1766b5;color:white}

#annual-form input[type=checkbox]{display:inline;width:auto}#annual-form td input{min-width:120px}#annual-form .grid{margin-bottom:12px}

.diagram-viewport{overflow:hidden;border:1px solid #8a9cac;background:#e5eaf0}#diagram-canvas{display:block;width:100%;height:auto;touch-action:none}#diagram-help{padding:10px;background:#edf5ff}

.pdf-viewer{padding:16px}.pdf-viewer-tools{background:white;padding:14px;margin-bottom:16px}.pdf-page-image{display:block;width:100%;max-width:900px;height:auto;margin:0 auto 20px;box-shadow:0 2px 8px #0002}

.annual-summary-row{grid-template-columns:2fr 1fr 1fr 2fr}@media(max-width:750px){.annual-summary-row{grid-template-columns:1fr 1fr}}

.annual-summary-row{grid-template-columns:1.2fr 2fr 1.2fr;align-items:start}.summary-choices{margin:0;padding:8px;border:1px solid #cbd5df;display:flex;flex-wrap:wrap;gap:6px}.summary-choices label{display:flex;align-items:center;gap:5px;min-height:44px;padding:4px 8px;border:1px solid #cbd5df;border-radius:5px;cursor:pointer}.summary-choices input[type=radio]{appearance:none;display:inline-block;width:20px;height:20px;padding:0;margin:0;border:1px solid #6d8195;border-radius:3px;flex-shrink:0}.summary-choices input[type=radio]:checked{background:#1766b5;border-color:#1766b5}.summary-choices input[type=radio]:checked::after{content:"✓";display:block;color:white;text-align:center;line-height:18px;font-size:16px}.summary-choices label:has(input:checked){background:#edf5ff;border-color:#1766b5}@media(max-width:750px){.annual-summary-row{grid-template-columns:1fr}}
[hidden]{display:none!important}.annual-panel-name{background:#eaf0f5;padding:12px;margin-bottom:12px}.annual-test-points{margin:16px 0}.annual-test-points output{font-weight:700;padding:12px}
.input-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.input-tabs button{min-height:44px;border:1px solid #b6c7d8;background:#fff;color:#23415e}.input-tabs button[aria-selected="true"]{background:#1766b5;border-color:#1766b5;color:#fff;font-weight:700}.input-tabs button:focus-visible{outline:3px solid #e2a126;outline-offset:2px}
.annual-tab-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.annual-tabs{display:flex;flex-direction:column;margin:0;position:sticky;top:16px;max-height:80vh;overflow:auto;padding:3px}.annual-tabs button{text-align:left;font-size:14px}.annual-tab-body{min-width:0}.annual-input-support h2{margin-bottom:4px}.annual-input-support p{margin:0}.annual-input-support .actions{margin-top:12px}.annual-equipment-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px;background:#edf5ff;border-radius:8px;margin-bottom:18px}.annual-equipment-tools span{font-size:14px;color:#445a70}.annual-step-actions{display:flex;justify-content:space-between;gap:12px;margin-bottom:20px}#annual-form .sticky-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--border);padding:12px;background:#f3f6fa}#annual-form .sticky-actions select{width:auto;min-width:130px}#annual-form .annual-summary-row{padding:16px 0;border-bottom:1px solid var(--border)}
.monthly-input-dialog{width:min(1100px,96vw);max-height:90vh;border:1px solid #b9c9da;border-radius:14px;padding:20px;background:#f3f6fa}.monthly-input-dialog::backdrop{background:#142c4688}.popup-option{display:flex;align-items:center;gap:8px;margin:12px 0}.popup-option input{width:auto}.report-office-control{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.report-office-control small{max-width:270px;color:#607286}.report-office-control select{width:auto}
#power-form .sticky-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px;background:#f3f6fa;border-top:1px solid var(--border)}#power-form .sticky-actions select{width:auto;min-width:115px}#power-form .check-row label{width:100%}#power-form .check-row select{width:100%}#power-form .input-tabs{position:sticky;top:0;background:#f3f6fa;padding:10px 0;z-index:1}#power-form details{border:1px solid var(--border);padding:12px;border-radius:8px}#power-form [role=tabpanel]{scroll-margin-top:80px}
@media(max-width:1000px){.annual-tab-layout{grid-template-columns:1fr}.annual-tabs{position:static;flex-direction:row;flex-wrap:nowrap;max-height:none;overflow-x:auto;padding-bottom:8px}.annual-tabs button{flex:0 0 auto;max-width:230px}.annual-tab-body .panel{padding:16px}}@media(max-width:600px){.annual-equipment-tools{align-items:stretch}.annual-equipment-tools button{width:100%}#annual-form .sticky-actions{gap:8px}#annual-form .sticky-actions>button{flex:1}}
.monthly-bank-report{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.monthly-bank-report table{width:100%;table-layout:fixed;font-size:10px}.monthly-bank-report th,.monthly-bank-report td{padding:4px;overflow-wrap:anywhere}@media(max-width:800px){.monthly-bank-report{grid-template-columns:repeat(2,minmax(0,1fr))}}
.seal-previews{display:flex;gap:16px;flex-wrap:wrap;align-items:start;margin:16px 0}.seal-preview{margin:0}.seal-preview-image{width:160px;height:160px;max-width:100%;object-fit:contain;background:white;border:1px solid #d7e0ea}.seal-image-upload{margin-top:16px}.seal-error{color:#9c2d24}


.admin-site-box,.admin-office-box{border:1px solid #8293a5;padding:12px;margin:12px 0;overflow-wrap:anywhere}.admin-office-box{margin-top:16px}.admin-table-wrap{margin-top:16px}.admin-seal-option{display:flex;align-items:center;gap:8px}.admin-seal-option input[type=checkbox]{width:auto;margin:0}.admin-data-table{min-width:900px}.admin-print-seals{display:flex;gap:12px;justify-content:flex-end}.admin-print-seals img{width:25mm;height:25mm;object-fit:contain}
@media print{.admin-print-sheet .admin-data-table{min-width:0;width:100%;table-layout:fixed;font-size:7pt}.admin-print-sheet th,.admin-print-sheet td{padding:4px;vertical-align:top;overflow-wrap:anywhere;word-break:normal}.admin-print-sheet thead{display:table-header-group}.admin-print-sheet tr{break-inside:avoid}.admin-print-sheet .admin-site-box{break-inside:avoid;break-after:avoid}.admin-print-sheet .admin-office-box{break-inside:avoid}.admin-print-sheet .admin-col-address{width:19%}.admin-print-sheet .admin-col-code{width:8%}.admin-print-sheet .admin-col-site{width:16%}.admin-print-sheet .admin-col-name{width:15%}.admin-print-sheet .admin-col-spec{width:16%}.admin-print-sheet .admin-col-label{width:15%}.admin-print-sheet .admin-col-manufacturedYear{width:8%}}

.customer-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:20px}.customer-card-grid .site-card{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:90px;padding:18px;overflow-wrap:anywhere}.site-card strong{font-size:18px;line-height:1.45}.site-card-code{font-size:12px;color:#52677d}.site-card-action{margin-top:auto;padding-top:8px;font-size:13px;color:#1766b5}.customer-workspace #customer-edit-panel{scroll-margin-top:20px}@media(max-width:550px){.customer-card-grid{grid-template-columns:1fr}}

.customer-edit-heading{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin:0 0 18px}.customer-edit-heading strong{font-size:24px}.customer-edit-heading span{color:#607286;font-size:14px}.customer-section-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.customer-section-links a{border:1px solid #cbd9e6;border-radius:20px;padding:6px 15px;text-decoration:none;color:#1766b5;background:#f3f8fd;font-size:14px}.customer-info-group{border:1px solid #d7e0ea;border-radius:10px;padding:22px;margin:0 0 22px;scroll-margin-top:24px}.customer-info-group h3{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e3ebf3;padding-bottom:12px;color:#183b5b}.customer-info-group h3 span{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e5f0fb;color:#1766b5;font-size:13px}.customer-info-group .grid{gap:20px 26px}.customer-info-group label:has(input[name="address"]),.customer-info-group label:has(input[name="ownerAddress"]),.customer-info-group label:has(input[name="engineerAddress"]){grid-column:1/-1}@media(max-width:650px){.customer-info-group{padding:16px}.customer-info-group .grid.two{grid-template-columns:1fr}.customer-edit-heading strong{font-size:20px}}

.customer-selector .toolbar h2{margin:0}.customer-selector-tools{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap}.customer-selector-tools>label:first-child{flex:1;min-width:220px}.customer-selector-tools input[type=search]{padding:13px 16px;font-size:16px;background:#f8fafc}.customer-deleted-toggle{display:flex;align-items:center;gap:8px;padding-bottom:13px;white-space:nowrap}.customer-deleted-toggle input{width:auto;margin:0}.customer-selector .customer-card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.customer-selector .site-card{flex-direction:row;align-items:center;gap:16px;min-height:82px;padding:18px;border:1px solid #cbd8e5;border-left:4px solid #cbd8e5;border-radius:9px;transition:background .15s,border-color .15s}.customer-selector .site-card-code{flex-shrink:0;background:#edf2f7;border-radius:6px;padding:7px 9px;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:#40566d;min-width:50px;text-align:center}.customer-selector .site-card strong{font-size:17px;line-height:1.5;text-align:left}.customer-selector .site-card:hover{background:#f1f7fd;border-color:#7da7cf;filter:none}.customer-selector .site-card.selected{background:#e8f2ff;border-color:#1766b5;border-left-width:4px}.customer-selector .site-card.selected .site-card-code{background:#1766b5;color:#fff}.customer-selector .empty{grid-column:1/-1}@media(max-width:600px){.customer-selector .customer-card-grid{grid-template-columns:1fr}.customer-selector-tools{gap:10px}.customer-selector .site-card{min-height:72px;padding:14px}.customer-selector .toolbar{flex-wrap:wrap}}

/* Compact customer selection cards. */
.customer-selector .customer-card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.customer-selector .site-card{min-height:62px;padding:10px 12px;gap:10px}
.customer-selector .site-card-code{min-width:44px;padding:4px 7px;font-size:14px}
.customer-selector .site-card strong{font-size:16px;line-height:1.4}
@media(max-width:600px){.customer-selector .customer-card-grid{grid-template-columns:1fr}.customer-selector .site-card{min-height:58px;padding:9px 12px}}
.login-main{max-width:520px;margin:8vh auto;padding:20px}.login-main label{margin:18px 0}.login-main button{width:100%;margin-top:12px}#login-error{color:#a22}
aside{overflow-y:auto}.aside-bottom{flex-shrink:0}.aside-bottom button+button{margin-top:8px}.login-main [hidden]{display:none}#account-list p{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border)}dialog{border:1px solid var(--border);border-radius:10px;padding:24px;max-width:480px}dialog::backdrop{background:#132c4680}
.password-control{display:flex;align-items:center;gap:8px;margin-top:5px}.password-control input{flex:1;min-width:0;margin-top:0}.password-control .password-toggle{flex:none;width:auto;margin:0;padding:9px 12px;font-size:14px;white-space:nowrap}

/* Touch input: preserve readable controls and turn wide editing tables into cards. */
.input-navigator{display:none;position:fixed;inset:auto 12px var(--input-keyboard-inset,0px);z-index:20;align-items:center;gap:8px;max-width:850px;margin:0 auto;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#132c46;color:white;border:1px solid #426079;border-radius:12px 12px 0 0;box-shadow:0 -4px 20px #132c4630}
.input-navigation-active .input-navigator{display:flex}
.input-navigator button{min-height:44px;white-space:nowrap;padding:9px 12px;border-color:#58738b;background:#254560;color:white}
.input-navigator button[data-input-step="1"]{background:#fff;color:#132c46;border-color:white}
.input-navigator button:disabled{opacity:.4;cursor:default}
.input-navigator-position{flex:1;min-width:0;font-size:13px;overflow-wrap:anywhere;line-height:1.4}
body:has(#content form){padding-bottom:105px}
.input-navigation-active input,.input-navigation-active select,.input-navigation-active textarea{scroll-margin-top:100px;scroll-margin-bottom:150px}
.monthly-input-dialog .input-navigator{position:sticky;bottom:0;inset-inline:0;margin-top:16px}
.monthly-input-dialog .input-navigator[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
@media screen and (max-width:1024px){
  .shell{display:block}
  aside{position:static;height:auto;padding:14px 20px;overflow:visible}
  .brand{font-size:18px}.local{margin:2px 0 10px}
  nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  nav button{min-height:48px;padding:8px 6px;text-align:center;font-size:14px;line-height:1.4;border:1px solid #36516b;border-radius:8px}
  nav button.active{border:1px solid #ffc953;background:#254560;box-shadow:inset 0 -3px #ffc953}
  .aside-bottom{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-top:10px;margin:0}
  .aside-bottom p{display:none}.aside-bottom button{width:auto;min-height:44px}.aside-bottom button+button{margin-top:0}
  .aside-bottom .active-account{display:block;flex-basis:100%;margin:0;color:#e4eff8;font-size:14px;overflow-wrap:anywhere}
  main{padding:24px 20px 60px}
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea,td input,td select{font-size:16px;min-height:46px}
  button,.pdf-button,.customer-section-links a{min-height:44px}
  .customer-section-links a{display:inline-flex;align-items:center}
  label,fieldset,.grid>*{min-width:0}
  input,select,textarea{max-width:100%;min-width:0}
  .toolbar{flex-wrap:wrap;gap:12px}.toolbar>*{min-width:0;max-width:100%}
  header{gap:12px;flex-wrap:wrap}header .badge{font-size:12px;padding:4px 10px}
  .annual-tabs{flex-wrap:wrap;overflow:visible;gap:6px}
  .annual-tabs button{flex:1 1 145px;max-width:none;text-align:center}
  .input-tabs button{flex:1 1 110px}
  #power-form .input-tabs{position:static}
  .responsive-input-table{display:block;width:100%;min-width:0!important;table-layout:auto}
  .responsive-input-table>thead{display:none}
  .responsive-input-table>tbody{display:block}
  .responsive-input-table>tbody>tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px;padding:14px;border:1px solid #c4d3e2;border-radius:10px;background:#f8fafc}
  .responsive-input-table>tbody>tr>td,.responsive-input-table>tbody>tr>th{display:block;min-width:0;padding:0;border:0;text-align:left;font-size:14px;background:transparent;overflow-wrap:anywhere}
  .responsive-input-table [data-input-caption]::before{content:attr(data-input-caption);display:block;font-size:14px;font-weight:600;color:#445a70;line-height:1.5;margin-bottom:5px}
  .responsive-input-table .input-cell-wide,.responsive-input-table .input-row-heading{grid-column:1/-1}
  .responsive-input-table [data-input-caption="容量 kVA"]{grid-column:1/-1}
  .responsive-input-table td:has(>details){grid-column:1/-1}
  .responsive-input-table td>details{margin-bottom:0}.responsive-input-table td>details>summary{font-size:15px;min-height:44px}
  .responsive-input-table .input-row-heading{border-bottom:1px solid #d7e0ea;padding-bottom:8px;font-weight:700;color:#183b5b}
  .responsive-input-table .input-row-heading::before{display:inline;margin-right:8px}
  .responsive-input-table input,.responsive-input-table select,.responsive-input-table input[type=number],#annual-form .responsive-input-table td input{min-width:0!important;width:100%!important;max-width:100%;font-size:16px}
  .responsive-input-table .previous-value{min-width:0}
  .responsive-input-table .previous-value button{font-size:13px;min-height:44px;padding:6px 8px}
  .responsive-input-table.editable-matrix>tbody>tr{grid-template-columns:repeat(2,minmax(0,1fr))}
  .responsive-input-table.editable-matrix select{text-align:left;padding:9px 10px}
  .responsive-input-table.editable-matrix td{border-bottom:1px solid #d7e0ea;padding-bottom:12px}
  .monthly-input-dialog{width:calc(100vw - 24px);max-width:900px;max-height:90dvh;padding:16px}
  .monthly-input-dialog>.primary{position:sticky;top:0;z-index:2;box-shadow:0 3px 8px #132c4620;margin-bottom:12px}
  .sticky-actions{position:static}
}
@media screen and (max-width:600px){
  aside{padding:12px}nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  nav button{font-size:13px;min-height:52px}
  main{padding:20px 12px 40px}.panel{padding:14px;border-radius:12px}
  h1{font-size:23px}h2{font-size:19px}.badge{max-width:100%}
  .customer-info-group{padding:12px}.customer-selector-tools>label:first-child{min-width:0;width:100%}
  .customer-selector .site-card strong{font-size:16px}.customer-selector .site-card-code{max-width:35%;overflow-wrap:anywhere}
  .responsive-input-table>tbody>tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;padding:12px}
  .responsive-input-table.editable-matrix>tbody>tr{grid-template-columns:1fr}
  .responsive-input-table.editable-matrix>tbody>tr>td{display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:center;gap:12px}
  .responsive-input-table.editable-matrix [data-input-caption]::before{margin:0;font-weight:500}
  .check-row{gap:10px}.check-row select{width:120px}
  .actions{gap:10px}.actions>button{max-width:100%;overflow-wrap:anywhere}
  .sticky-actions{position:static}
  .input-navigator{inset-inline:0;gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));flex-wrap:wrap}
  .input-navigator-position{flex:1 0 100%;order:-1;font-size:12px;max-height:36px;overflow:hidden}
  .input-navigator button{flex:1;padding:8px;font-size:14px}
  .input-navigator button[data-input-done]{flex:0 0 auto}
  .monthly-input-dialog{padding:12px}
}
@media screen and (max-width:359px){.responsive-input-table>tbody>tr{grid-template-columns:1fr}}
@media print{.input-navigator{display:none!important}body:has(#content form){padding-bottom:0}}

/* Bank measurements use the same spacious field layout as the receiving panel. */
@media screen{
 .bank-input-table{display:block!important;width:100%;min-width:0!important;table-layout:auto}
 .bank-input-table>thead{display:none}
 .bank-input-table>tbody{display:block}
 .bank-input-table>tbody>tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px;margin:0 0 20px;border:1px solid #c4d3e2;border-radius:12px;background:#f8fafc}
 .bank-input-table>tbody>tr>td{display:block;min-width:0;padding:0;border:0;background:transparent;overflow-wrap:anywhere}
 .bank-input-table>tbody>tr>td:nth-child(-n+3),.bank-input-table>tbody>tr>td:last-child{grid-column:1/-1}
 .bank-input-table>tbody>tr>td:first-child{font-weight:700;font-size:18px;color:#18578f;border-bottom:1px solid #d7e0ea;padding-bottom:8px}
 .bank-input-table>tbody>tr>td:first-child::before{content:'バンク ';display:inline}
 .bank-input-table>tbody>tr>td:nth-child(3)::before{content:'容量 kVA：';display:inline}
 .bank-input-table>tbody>tr>td:last-child::before{content:'許容電流 (A)：';display:inline}
 .bank-input-table input,.bank-input-table select{width:100%!important;min-width:0!important;max-width:100%;font-size:16px;min-height:48px}
 .bank-input-table label{font-size:15px}
 .bank-input-table .previous-value{min-width:0}
 .bank-input-table .bank-start-input{display:block;min-height:48px;max-width:100%;margin-top:12px;background:#e8f2ff;color:#18578f;border-color:#8eb5db}
 .bank-input-table .previous-value button{min-height:44px}
 .bank-input-table details{margin-top:12px}
}
@media screen and (max-width:1024px){.bank-input-table>tbody>tr{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}}
@media screen and (max-width:600px){.bank-input-table>tbody>tr{grid-template-columns:1fr;gap:16px;padding:14px}.bank-start-input{width:100%}}
@media print{.bank-start-input{display:none!important}}

.pdf-viewer-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@page report-pdf{size:A4 portrait;margin:0}
@media print{
 body.pdf-viewer{padding:0;margin:0;background:#fff;line-height:0}
 .pdf-viewer .pdf-viewer-tools{display:none!important}
 .pdf-viewer .pdf-page-image{page:report-pdf;display:block;width:210mm;height:296mm;max-width:none;object-fit:contain;margin:0;box-shadow:none;break-inside:avoid;break-after:page;page-break-after:always}
 .pdf-viewer .pdf-page-image:last-child{break-after:auto;page-break-after:auto}
}

.report-sheet h3,.report-sheet th,.report-sheet td{background:#fff}
