*{box-sizing:border-box}body{margin:0;background:#f1f4f6;color:#25384a;font:15px/1.7 -apple-system,BlinkMacSystemFont,"Microsoft YaHei",sans-serif}main{max-width:1260px;margin:28px auto;padding:0 16px}header{display:flex;align-items:center;justify-content:space-between;color:#2d654e}h1{font-size:22px}h2{font-size:17px}button{font:inherit;border:1px solid #bfcec5;border-radius:6px;background:white;color:#295540;padding:8px 15px;cursor:pointer}button:hover{background:#e8efeb}button:disabled{opacity:.5;cursor:wait}.types{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.types button{padding:28px 10px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}section#home,section#total{background:white;border:1px solid #bfcec5;border-radius:10px;padding:24px}.sticky{background:#f1f4f6;padding:12px 0}iframe{width:100%;border:0;display:block;min-height:800px}#status{white-space:pre-wrap;color:#a04435}#filename{color:#63786c}dialog{border:1px solid #bfcec5;border-radius:10px;padding:25px;max-width:520px;color:#25384a}dialog::backdrop{background:#25384a55}[hidden]{display:none!important}li{margin:12px 0}li button{margin-left:12px}#status:empty{display:none}
label{display:flex;flex-direction:column;gap:5px;font-size:14px}input,select,textarea{font:inherit;color:#25384a;border:1px solid #bac8c0;border-radius:5px;padding:8px;background:white;max-width:100%}select{min-width:220px}textarea{min-height:80px;resize:vertical}.muted{font-size:13px;color:#65766e}.context{white-space:pre-wrap;background:#e8efeb;border-radius:6px;padding:12px 16px}dialog{width:min(680px,94vw);max-width:680px;max-height:90vh;overflow:auto}dialog h2{margin-top:0}dialog .actions{margin-top:18px}dialog>label{margin:14px 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.date-fields{display:flex;align-items:center;gap:7px}.date-fields input{width:65px}.date-fields input:first-child{width:90px}#reportError,#clientError{color:#a04435;white-space:pre-wrap}#templateCheck{white-space:pre-wrap}#confirmReport,#saveBtn{background:#2d654e;color:white}#clientSummary{margin:14px 0 30px}@media(max-width:650px){.field-grid,.types{grid-template-columns:1fr 1fr}header{display:block}.actions{align-items:stretch}.actions label{width:100%}button{padding:8px 10px}main{margin:12px auto}}

.client-date-fields{gap:4px}.client-date-fields input{width:48px;min-width:0;padding:8px 4px}.client-date-fields input:first-child{width:72px}
