:root{--navy:#152b49;--blue:#2767a8;--pale:#eef5fb;--line:#d8e2ec;--text:#1f2937;--muted:#64748b;--green:#177245;--red:#b42318;--paper:#fff}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic UI","Meiryo",sans-serif;color:var(--text);background:#f5f7fa;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid transparent;border-radius:8px;padding:10px 17px;background:var(--blue);color:white;min-height:44px;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button.secondary,.button.secondary{background:white;color:var(--navy);border:1px solid var(--line)}button.ghost{background:var(--pale);color:var(--blue)}button.danger{background:#fff0ef;color:var(--red)}a{color:var(--blue)}:focus-visible{outline:3px solid #e6a23b;outline-offset:3px}input,select,textarea{width:100%;background:white;color:var(--text);border:1px solid #b8c6d5;border-radius:7px;padding:10px 12px;min-height:44px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--blue)}textarea{resize:vertical;min-height:85px}input[readonly]{background:#f4f7fa;color:var(--muted)}
.topbar{height:67px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.brand{text-decoration:none;color:white;font-size:22px;letter-spacing:.08em;font-weight:750}.brand strong{font-weight:350}.module{font-size:14px;letter-spacing:0;border-left:1px solid #69809c;margin-left:22px;padding-left:22px;font-weight:400}.local-badge{font-size:12px;border:1px solid #7890aa;padding:3px 10px;border-radius:4px;color:#d3e2f0}.sidebar{position:fixed;left:0;top:67px;bottom:0;width:224px;background:#10243e;color:white;padding:24px 12px;display:flex;flex-direction:column;z-index:10}.nav-caption{font-size:13px;color:#adc2d9;padding:0 14px 16px}.nav{display:flex;align-items:center;gap:12px;width:100%;background:transparent;text-align:left;font-size:14px;padding:12px;margin:4px 0;border-radius:6px;font-weight:500;color:#deebf7}.nav span{font-size:20px;width:23px;text-align:center}.nav.active{background:#2767a8;color:white}.nav:hover{background:#24476c}.side-foot{margin-top:auto;padding:18px 14px;color:#b0c2d5;font-size:13px;line-height:1.9;border-top:1px solid #34475f}.side-foot span{font-size:11px;color:#869bb4;display:block;margin-top:10px}main{margin-left:224px;padding:28px 34px;max-width:1800px}.crumb{font-size:13px;color:var(--muted);margin-bottom:6px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px}h1{margin:0;font-size:26px;color:var(--navy);letter-spacing:.01em}h2{font-size:18px;margin:0 0 16px;color:var(--navy)}h3{font-size:16px;color:var(--navy);margin:0 0 12px}p{margin:0 0 14px}.sub{font-size:14px;color:var(--muted);margin-top:5px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card{border:1px solid var(--line);border-radius:10px;background:white;padding:22px;margin-bottom:18px;box-shadow:0 2px 7px #152b4905}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:20px}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:18px 20px;border-top:3px solid var(--blue)}.metric small{color:var(--muted);font-size:14px}.metric strong{display:block;font-size:28px;color:var(--navy);font-variant-numeric:tabular-nums;margin-top:6px;line-height:1.3}.metric strong span{font-size:14px;font-weight:500;margin-left:5px}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.toolbar label{display:flex;flex-direction:column;gap:5px;font-size:14px;min-width:150px}.toolbar label.search{flex:1}.toolbar input,.toolbar select{min-width:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:white}.table-wrap table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}th{background:#eef3f8;color:#43576e;text-align:left;font-size:13px;font-weight:650;position:sticky;top:0}th,td{padding:12px 14px;border-bottom:1px solid #e5ebf1}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfe}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.record-link{border:0;background:none;padding:0;color:var(--blue);min-height:35px;font-size:14px}.badge{font-size:12px;padding:4px 9px;display:inline-block;border-radius:5px;color:#355371;background:#e8eef5}.badge.complete{background:#eaf7ef;color:var(--green)}.badge.active{background:#e7f0fc;color:#235e9f}.badge.warn{background:#fff0db;color:#925b0b}.badge.danger{background:#fff0ef;color:var(--red)}.empty{padding:60px 20px;text-align:center;color:var(--muted)}.empty .empty-icon{font-size:40px;color:#8da4bb;margin-bottom:14px}.empty h2{margin-bottom:8px}.empty button{margin-top:14px}.muted{color:var(--muted);font-size:14px}.info{padding:12px 15px;background:#eef5fb;border-left:3px solid var(--blue);font-size:14px;margin-bottom:18px;color:#355371}.warnbox{padding:12px 15px;background:#fff5e6;border-left:3px solid #cd8a25;color:#845410;font-size:14px;margin-bottom:15px}.error-box{background:#fff0ef;border:1px solid #f2c4bf;color:#912b23;padding:14px;border-radius:8px;margin-bottom:16px;white-space:pre-line}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;min-width:0}.field small{font-size:12px;color:var(--muted)}.field.wide{grid-column:1/-1}.field .required{color:var(--red);font-size:12px;margin-left:5px}.check-label{flex-direction:row;align-items:center;padding-top:30px}.section-title{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:18px}.section-number{background:var(--pale);color:var(--blue);width:27px;height:27px;display:inline-grid;place-items:center;border-radius:5px;font-size:14px}.section-title h2{margin:0}.calculations{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:15px;background:var(--pale);border-radius:7px;margin-top:18px}.calculations small{display:block;color:var(--muted);font-size:13px}.calculations strong{font-size:22px;color:var(--navy)}.savebar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;background:white;border:1px solid var(--line);border-radius:8px;position:sticky;bottom:12px;z-index:5;box-shadow:0 4px 16px #152b4910}.savebar .actions{margin-left:auto}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{background:transparent;border-radius:0;color:var(--muted);border-bottom:3px solid transparent}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}#notice{position:sticky;top:79px;z-index:30;padding:12px 18px;background:#eaf7ef;color:var(--green);border:1px solid #b5d9c4;border-radius:8px;margin-bottom:16px}#notice.error{background:#fff0ef;border-color:#f2c4bf;color:var(--red)}dialog{border:1px solid var(--line);border-radius:12px;max-width:800px;width:calc(100% - 30px);max-height:85vh;padding:26px;color:var(--text)}dialog::backdrop{background:#10243e66}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.bulk-table input,.bulk-table select{min-width:135px;padding:7px 8px}.bulk-table td{padding:6px}.bulk-table th{padding:10px}.bulk-table .row-number{position:sticky;left:0;background:#eef3f8;min-width:45px}.mobile-cards{display:none}.record-card{background:white;border:1px solid var(--line);border-radius:9px;padding:17px;margin-bottom:12px}.record-card .card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.record-card .card-main{font-weight:700;color:var(--navy);font-size:18px;margin-bottom:5px}.record-card .card-meta{font-size:14px;color:var(--muted);display:flex;gap:18px;margin:12px 0}.summary-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.report-heading{display:none}.print-only{display:none}.file-input{max-width:380px}.preview-count{font-weight:600;color:var(--blue)}.key-value{display:grid;grid-template-columns:1fr 2fr;gap:8px;font-size:14px}.key-value dt{color:var(--muted)}.key-value dd{margin:0}.table-note{margin-top:10px;font-size:12px;color:var(--muted)}
@media(max-width:1100px){main{padding:22px}.sidebar{width:205px}main{margin-left:205px}.metrics{gap:10px}.metric{padding:14px}.metric strong{font-size:24px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.topbar{padding:0 16px;height:60px}.brand{font-size:19px}.module{font-size:12px;margin-left:10px;padding-left:10px}.local-badge{font-size:10px;padding:2px 6px}.sidebar{position:sticky;top:60px;width:100%;height:auto;padding:5px 8px;display:block}.nav-caption,.side-foot{display:none}.sidebar nav{display:flex;overflow:auto;gap:4px}.nav{white-space:nowrap;width:auto;min-height:42px;padding:7px 10px;margin:0;font-size:12px;gap:6px}.nav span{font-size:16px;width:16px}main{margin:0;padding:20px 15px 36px}.page-title{align-items:start;flex-wrap:wrap;margin-bottom:18px}h1{font-size:23px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:13px 15px}.metric strong{font-size:25px}.metric small{font-size:12px}.toolbar{gap:9px}.toolbar label{min-width:0;width:calc(50% - 5px);flex:1}.toolbar label.search{width:100%;flex:auto}.desktop-list{display:none}.mobile-cards{display:block}.card{padding:18px 15px}.grid,.grid.two{grid-template-columns:1fr}.check-label{padding-top:5px}.field{font-size:14px}.savebar{bottom:5px;flex-wrap:wrap;padding:12px}.savebar .actions{width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr}.savebar .actions button{padding:10px 6px;font-size:14px}.savebar .actions button:last-child{grid-column:1/-1}.calculations{gap:8px;padding:12px}.calculations strong{font-size:18px}.calculations small{font-size:11px}.tabs button{padding:9px;font-size:14px}.crumb{font-size:12px}#notice{top:116px}.summary-row{flex-wrap:wrap}.report-table th,.report-table td{padding:9px}.sub{font-size:13px}}
@media print{body{background:white;font-size:10pt}.topbar,.sidebar,.no-print,.page-title,.toolbar,.tabs,.savebar,#notice,dialog{display:none!important}main{margin:0;padding:0;max-width:none}.report-heading,.print-only{display:block}.report-heading{text-align:center;font-size:20px;margin-bottom:12px}.card{border:0;box-shadow:none;padding:0}.metrics{gap:8px}.metric{padding:8px;border:1px solid #aaa}.metric strong{font-size:18px}.table-wrap{overflow:visible;border:0}.table-wrap table{font-size:8pt;white-space:normal}th,td{padding:5px;border:1px solid #aaa}th{position:static}tr{break-inside:avoid}.desktop-list{display:block}.mobile-cards{display:none}@page{size:A4 landscape;margin:12mm}}

@media print{.report-table table{table-layout:fixed}.report-table th,.report-table td{overflow-wrap:anywhere}}
/* Revision 2 — compact individual entry and unified closing-period sheet. */
.identity-strip{display:flex;align-items:center;gap:22px;padding:9px 14px;background:#e9f0f8;border:1px solid var(--line);border-radius:7px;margin-bottom:12px;font-size:14px}.identity-strip small{color:var(--muted);margin-right:7px}.identity-strip button{margin-left:auto;padding:5px 10px;min-height:34px;font-size:12px}.compact-entry{max-width:900px;background:white;border:1px solid var(--line);border-radius:10px;padding:18px}.compact-field{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;align-items:center;font-size:14px;min-width:0}.compact-field>span{color:#3a5068}.compact-field input,.compact-field select{padding:6px 9px;min-height:38px;min-width:0}.entry-basic{display:flex;gap:18px;align-items:center;margin-bottom:12px}.entry-basic .compact-field{flex:1;max-width:400px}.self-label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:13px}.self-label input{width:18px;height:18px;min-height:18px;margin:0}.entry-tabs{margin-bottom:12px}.entry-tabs button{flex:1;padding:7px 10px;min-height:38px}.entry-pane{display:none}.entry-pane.selected{display:block}.meter-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.compact-stops{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.compact-stops .compact-field{grid-template-columns:86px minmax(0,1fr)}.compact-calculations{display:flex;justify-content:space-around;gap:12px;padding:6px 10px;background:var(--pale);border-radius:6px;font-size:14px}.compact-alcohol{display:grid;gap:12px;padding:12px 0}.checker-control{display:flex;gap:10px;align-items:center;min-width:0}.checker-control>input{width:0;flex:1}.compact-save{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.sheet-mode .sidebar{display:none}.sheet-mode main{margin:0;max-width:none;padding:16px 20px}.sheet-mode .page-title{margin-bottom:10px}.sheet-mode .crumb{display:none}.sheet-mode h1{font-size:23px}.period-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px;font-size:14px}.period-toolbar label{display:flex;gap:10px;align-items:center}.period-toolbar input{width:160px;min-height:36px;padding:5px 8px}.period-toolbar button{min-height:36px;padding:5px 14px}.monthly-scroll{max-height:calc(100dvh - 340px);overflow:auto;border:1px solid #bbcbdc;border-radius:7px;background:white}.monthly-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.monthly-table col.date-col{width:6%}.monthly-table col.meter-col{width:20%}.monthly-table col.alcohol-col{width:18%}.monthly-table col.stops-col{width:22%}.monthly-table col.notes-col{width:16%}.monthly-table th,.monthly-table td{padding:5px;border-bottom:1px solid #d9e3ee;border-right:1px solid #e3eaf1;vertical-align:top;white-space:normal}.monthly-table thead th{position:sticky;top:0;background:#dfe9f4;z-index:2;font-size:12px;text-align:center;padding:9px 4px}.monthly-table tbody th{background:#f0f4f8;font-size:12px;text-align:center}.monthly-table tbody th label{display:flex;flex-direction:column;align-items:center;gap:1px}.monthly-table .sunday th{color:#b33a35}.monthly-table .saturday th{color:#2467a8}.monthly-table input:not([type=checkbox]),.monthly-table select,.monthly-table textarea{width:100%;min-width:0;font-size:13px;padding:3px 4px;min-height:28px;height:28px;border-radius:4px}.monthly-table textarea{min-height:53px;height:53px;resize:vertical}.sheet-field{display:flex;gap:3px;align-items:center;min-width:0}.sheet-field>span{font-size:11px;flex-shrink:0;color:#53677c}.sheet-field>input,.sheet-field>select{flex:1;width:0!important}.sheet-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:4px}.row-distance{font-size:11px;display:flex;gap:6px;flex-wrap:wrap;color:var(--blue);font-variant-numeric:tabular-nums}.sheet-confirm{display:flex;gap:5px;align-items:center;margin-bottom:4px}.sheet-confirm>input{width:0!important;flex:1}.sheet-stops{display:grid;grid-template-columns:1fr 1fr;gap:3px}.sheet-stops label:last-child{grid-column:1/-1}.monthly-table input[type=checkbox]{width:17px;height:17px;min-height:17px}.monthly-table tr.used td{background:#f5faff}.monthly-table tr:not(.used) td{background:#fff}.monthly-footer{display:flex;gap:18px;align-items:center;padding:10px 0}.monthly-footer button{margin-left:auto}.monthly-footer .muted{font-size:12px}.final-reference{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:10px}.settlement{background:var(--pale);padding:14px;border-radius:8px;margin-bottom:16px}.sheet-mode .table-note{margin:0}.sheet-mode .self-label{font-size:11px;gap:2px}
@media(max-width:760px){main{padding:12px}.page-title{margin-bottom:10px}h1{font-size:21px}.page-title .actions button{min-height:32px;padding:4px 10px;font-size:13px}.crumb{display:none}.identity-strip{gap:5px 12px;flex-wrap:wrap;font-size:12px;padding:6px 9px;margin-bottom:8px}.identity-strip small{font-size:11px}.identity-strip button{min-height:28px;font-size:11px}.compact-entry{padding:10px}.entry-basic{gap:10px;margin-bottom:6px}.entry-basic .compact-field{grid-template-columns:48px minmax(0,1fr)}.compact-field{grid-template-columns:75px minmax(0,1fr);gap:5px;font-size:13px}.compact-field input,.compact-field select{font-size:16px;padding:4px 6px;min-height:36px;height:36px}.meter-pair{gap:8px;margin-bottom:7px}.meter-pair .compact-field{grid-template-columns:56px minmax(0,1fr);font-size:12px}.compact-stops{grid-template-columns:1fr;gap:6px;margin:8px 0}.compact-stops .compact-field{grid-template-columns:75px minmax(0,1fr)}.compact-calculations{padding:4px;font-size:12px}.compact-save{margin-top:9px;padding-top:8px}.compact-save .muted{font-size:11px}.compact-save button{min-height:38px;padding:6px 20px}.entry-tabs{margin-bottom:8px}.entry-tabs button{font-size:14px;min-height:36px}.compact-alcohol{gap:12px;padding:8px 0}.checker-control{gap:6px}.sheet-mode main{padding:10px}.sheet-mode .identity-strip{margin-bottom:8px}.monthly-scroll{max-height:calc(100dvh - 290px)}.monthly-table{min-width:1030px}.monthly-footer{flex-wrap:wrap;gap:5px}.monthly-footer .muted{display:none}.period-toolbar{gap:6px;font-size:12px}.period-toolbar b{width:100%}.period-toolbar .muted{display:none}}
/* Revision 2.1: two worksheets; one compact horizontal row per day. */
.sheet-tabs{margin:0 0 10px}.sheet-tabs button{min-height:36px;padding:5px 20px}.single-line-sheet{max-height:calc(100dvh - 376px)}.flat-table{width:100%;min-width:1450px;table-layout:fixed}.flat-table.alcohol-table{min-width:1100px}.flat-table col.flat-date{width:135px}.flat-table col.flat-use{width:40px}.flat-table col.flat-number{width:90px}.flat-table col.flat-check{width:44px}.flat-table col.flat-stop{width:110px}.flat-table col.flat-notes{width:190px}.flat-table col.flat-checker{width:135px}.flat-table col.flat-time{width:115px}.flat-table th,.flat-table td{height:37px;padding:3px 5px;vertical-align:middle;white-space:nowrap}.flat-table tbody th{position:sticky;left:0;z-index:1;text-align:left;padding-left:9px}.flat-table thead th{height:34px;padding:5px;font-size:12px}.flat-table thead th:first-child{left:0;z-index:4}.flat-table.alcohol-table .column-head th{top:34px}.flat-table .group-head th{height:34px;background:#cbdcef}.flat-table input:not([type=checkbox]),.flat-table select{height:29px;min-height:29px;padding:2px 5px}.flat-table .center{text-align:center}.flat-table .computed{color:var(--blue);text-align:right;font-variant-numeric:tabular-nums;font-weight:600;background:#edf4fb!important}.flat-table tbody th select{display:inline-block;width:46px;min-width:0;margin-left:4px;height:27px;min-height:27px;padding:1px;font-size:11px}.flat-table td:has(input[type=checkbox]){text-align:center}.monthly-scroll.single-line-sheet{scrollbar-gutter:stable}.flat-table tbody tr{height:37px}
@media(max-width:760px){.single-line-sheet{max-height:calc(100dvh - 345px)}.flat-table{min-width:1450px}.flat-table.alcohol-table{min-width:1100px}.sheet-tabs button{padding:5px 15px}.flat-table input:not([type=checkbox]),.flat-table select{font-size:16px}.flat-table tbody th select{font-size:12px}}
