:root{font-family:Arial,"Malgun Gothic",sans-serif;color:#20252d}*{box-sizing:border-box}body{margin:0;background:#f2f4f7}button,select{padding:9px 12px;border:1px solid #cbd1da;background:#fff;border-radius:7px;cursor:pointer;font:inherit;font-size:13px}button:hover{background:#f5f7f9}button.primary{background:#1d4d80;color:#fff;border-color:#1d4d80}button.primary:hover{background:#173f69}button:disabled{opacity:.5;cursor:not-allowed}.toolbar{max-width:1100px;margin:20px auto 10px;padding:14px;background:#fff;border-radius:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;box-shadow:0 2px 12px #0001}.toolbar-title{margin-right:5px}.toolbar select{max-width:240px}.status{font-size:12px;color:#566174}.hint{max-width:1100px;margin:0 auto 14px;padding:0 5px;font-size:12px;color:#667085;line-height:1.5}.sheet{background:#fff;width:210mm;height:297mm;margin:0 auto 25px;padding:10mm;box-shadow:0 4px 25px #0002}.half{height:138.5mm;overflow:hidden}h1{text-align:center;font-size:20px;letter-spacing:0.4px;margin:0 0 13px;font-weight:700}.meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px;font-size:12px}.meta label{display:flex;align-items:center;gap:5px;white-space:nowrap}.meta input{font:inherit;border:0;border-bottom:1px solid #777;padding:4px 2px;width:185px;border-radius:0}.meta input[type=date]{width:130px}.dispatch-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:11px}.dispatch-table th,.dispatch-table td{border:1px solid #666;height:25px;text-align:center;padding:0 3px;font-weight:400}.dispatch-table th{height:28px;background:#f5f5f5}.dispatch-table td input{width:100%;height:23px;border:0;background:transparent;text-align:center;font:inherit;outline-offset:-2px;min-width:0}.dispatch-table td.calc{text-align:right;padding-right:6px;font-variant-numeric:tabular-nums}.dispatch-table .total td{height:30px;font-weight:400}.dispatch-table .total td:last-child{font-weight:800;font-size:15px}.bottom-note{font-size:10px;margin-top:8px;color:#555}.page-cut{border-top:1px dashed #ddd}.blank{height:130mm}.auth-panel{max-width:440px;margin:35px auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 3px 15px #0001}.auth-panel h2{font-size:20px;margin:0 0 10px}.auth-panel p{font-size:13px;line-height:1.5;color:#566174}.auth-panel form,.auth-panel label{display:flex;flex-direction:column;gap:9px}.auth-panel form{gap:16px;margin-top:20px}.auth-panel input{height:40px;padding:8px;border:1px solid #cbd1da;border-radius:6px}.auth-actions{display:flex;gap:8px}.auth-message{min-height:20px;margin:0!important;color:#a12d2d!important}.status.error{color:#ae2424}#sheet[hidden],#authPanel[hidden],#logoutBtn[hidden]{display:none!important}
@page{size:A4 portrait;margin:0}@media print{html,body{margin:0!important;padding:0!important;background:#fff!important}.toolbar,.hint,.auth-panel{display:none!important}.sheet{box-shadow:none;margin:0;width:210mm;height:297mm;min-height:0;max-height:297mm;padding:10mm;break-after:page;page-break-after:always}.half{height:138.5mm;overflow:hidden}.page-cut{border:0}.blank{height:0}input{color:#000!important}th{background:#fff!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}}@media screen and (max-width:850px){.sheet{margin:0 auto 20px;max-width:none}.toolbar{margin:8px}.hint{margin:8px}.page-scroll{overflow-x:auto}}@media screen and (max-width:840px){body{overflow-x:auto}.sheet{margin-left:10px;margin-right:10px}}

/* Screen-only navigation and Excel-like previous/next search. Do not change print layout. */
.date-nav{white-space:nowrap}.day-info{font-size:12px;color:#667085;white-space:nowrap}
.find-dock{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;justify-content:center;gap:7px;max-width:calc(100vw - 20px);padding:10px 12px;background:#fff;border:1px solid #d0d6df;border-radius:12px;box-shadow:0 4px 25px #0003;font-size:13px}
.find-dock label{font-weight:600;white-space:nowrap}.find-dock input{font:inherit;width:230px;min-width:105px;height:35px;padding:6px 9px;border:1px solid #aab4c2;border-radius:6px}
.find-dock button{white-space:nowrap;padding:8px 9px}.find-count{min-width:75px;text-align:center;font-size:12px;color:#475467;white-space:nowrap}
.search-active{background:#fff2a6!important;outline:2px solid #d29c00!important;outline-offset:-2px}
input.search-active{background:#fff2a6!important}
body{padding-bottom:82px}
@media screen and (max-width:610px){.find-dock{width:calc(100vw - 16px);gap:4px;padding:7px 6px}.find-dock label{display:none}.find-dock input{flex:1;width:auto;min-width:55px}.find-dock button{padding:7px 5px}.find-count{min-width:58px;font-size:11px}}
@media print{.find-dock{display:none!important}.search-active{background:transparent!important;outline:none!important}body{padding-bottom:0!important}}

/* Backup reminder and annual archive controls (screen only). */
.archive-banner,.archive-panel{max-width:1100px;margin:10px auto 14px;padding:14px 18px;background:#fff;border:1px solid #cbd1da;border-radius:10px;line-height:1.6;font-size:13px}
.archive-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-color:#e4b85c;background:#fff9eb}
.archive-banner strong{white-space:nowrap}.archive-banner span{flex:1;min-width:200px}.archive-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.archive-head h2{font-size:17px;margin:0}.archive-panel p{margin:6px 0 12px;color:#536273}.archive-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:12px 0}.archive-controls select{min-width:95px}.archive-ack{display:flex;align-items:center;gap:8px;margin:10px 0}.archive-footnote{font-size:12px}.archive-panel[hidden],.archive-banner[hidden]{display:none!important}
@media print{.archive-banner,.archive-panel{display:none!important}}
@media screen and (max-width:850px){.archive-banner,.archive-panel{margin:8px}}
