:root{font-family:Arial,Helvetica,sans-serif;color:#12233c;background:#f3f6fa;font-size:16px;--navy:#102c50;--blue:#155cbe;--line:#d5dfe9}*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;display:flex;justify-content:space-between;gap:20px;padding:24px max(24px,calc((100vw - 1200px)/2));align-items:center}.brand{color:white;text-decoration:none;font-size:18px;letter-spacing:.05em;line-height:1.5}.brand b{display:block}.brand small{font-size:12px;letter-spacing:.18em}.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}nav{display:flex;gap:8px;flex-wrap:wrap;max-width:1200px;margin:20px auto;padding:0 20px}main{max-width:1200px;margin:24px auto;padding:0 20px;min-height:65vh}h1{font-size:32px;margin:10px 0 24px}h2{font-size:21px;margin:0 0 18px}h3{font-size:17px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.stat{padding:20px;background:white;border:1px solid var(--line);border-radius:8px}.stat strong{display:block;font-size:28px;margin-top:12px}.row,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.actions{justify-content:flex-end}.muted,small{color:#5b6b80}.tools small{color:#cfdded}button,a.button{background:white;color:var(--navy);border:1px solid #bac9d9;padding:10px 15px;border-radius:6px;cursor:pointer;font-size:14px;min-height:42px;text-decoration:none}button:hover{background:#eaf0f7}button.primary,button.active{background:var(--navy);color:white;border-color:var(--navy)}button:disabled{opacity:.5;cursor:default}input,select,textarea{font:inherit;padding:10px;border:1px solid #a6b8cc;border-radius:5px;min-height:42px;max-width:100%;width:100%;color:#12233c;background:white}.tools select{width:auto}label{display:block;font-size:14px;margin:12px 0}label input,label textarea,label select{margin-top:6px}label:has(input[type=checkbox]){display:flex;gap:10px;align-items:center}input[type=checkbox]{width:18px;min-height:18px}textarea{min-height:90px}.table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:#50627a}td button{margin:2px;padding:7px 10px}dialog{border:1px solid var(--line);border-radius:10px;max-width:760px;width:calc(100% - 32px);max-height:90vh;padding:26px}dialog::backdrop{background:#102c5088}.trip{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;border-bottom:1px solid var(--line);padding:8px 0}#message{position:fixed;right:20px;bottom:20px;background:var(--navy);color:white;padding:16px;border-radius:7px;max-width:400px;z-index:4}#form-error,.error{color:#a31620;margin-top:14px}footer{padding:25px;text-align:center;font-size:13px;color:#65768a}.login{max-width:480px;margin:40px auto}.empty{padding:28px;text-align:center;color:#65768a}.detail{white-space:pre-wrap;overflow-wrap:anywhere}summary{cursor:pointer;padding:10px}a{color:var(--blue)}@media(max-width:650px){header{padding:18px;align-items:flex-start}.brand{font-size:15px}.tools{max-width:160px}#who{font-size:12px}h1{font-size:26px}.card{padding:16px}main{padding:0 12px}.trip{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}.stat{padding:14px}.stat strong{font-size:23px}dialog{padding:18px}}@media print{header,nav,button,.tools,.filter,footer{display:none!important}main{max-width:none;padding:0}.card{border:0;break-inside:avoid}body{background:white}table{font-size:11px}}
.report-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.report-heading h1{margin:0 0 8px}.report-heading p{margin:0}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-filter .row{margin:0;align-items:end}.report-filter label{flex:1;min-width:170px;margin:0}.report-overview{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:20px}.report-balance{background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:center}.report-balance>strong{font-size:40px;margin:14px 0 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.report-balance>p{font-weight:bold;margin:12px 0}.report-balance small{color:#cfdded;line-height:1.5}.report-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-metric span{display:block;color:#50627a;font-size:14px}.report-metric strong{display:block;font-size:26px;margin-top:7px;font-variant-numeric:tabular-nums}.report-breakdown{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.balance-line{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:11px 0;border-bottom:1px solid #e5ebf2;font-size:14px}.balance-line strong{white-space:nowrap;font-variant-numeric:tabular-nums}.balance-total{background:#edf3fa;margin-top:12px;padding:0 12px;border-radius:6px}.balance-total .balance-line{font-size:16px;border:0}.report-pending{font-size:13px;line-height:1.6;margin-bottom:0}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.section-heading h2{margin:0}.count-badge{background:#edf3fa;padding:5px 10px;border-radius:20px;font-size:13px}.status-badge{display:inline-block;background:#fff3d8;color:#745219;padding:5px 8px;border-radius:5px;font-size:12px}.status-badge.confirmed{background:#e7f4ec;color:#246542}.report-records th{white-space:nowrap}.report-records td:nth-child(5),.report-records td:nth-child(6){font-variant-numeric:tabular-nums}.report-records tbody tr:hover{background:#f7f9fc}.report-page button:focus-visible{outline:3px solid #6599e3;outline-offset:2px}@media(max-width:750px){.report-heading{align-items:flex-start;flex-direction:column}.report-overview,.report-breakdown{grid-template-columns:1fr;gap:0}.report-actions{width:100%}.report-actions button{flex:1}.report-balance>strong{font-size:34px}.report-filter label{min-width:140px}.report-metric strong{font-size:23px}}@media print{.report-heading{display:block}.report-filter,.report-actions{display:none!important}.report-balance{background:white;color:#12233c;border:1px solid #bac9d9}.report-balance small{color:#50627a}.report-overview,.report-breakdown{gap:16px}.report-records{break-inside:auto}.report-records tr{break-inside:avoid}.report-records thead{display:table-header-group}.table{overflow:visible}.report-page h1{font-size:26px}.report-balance>strong{font-size:30px}.report-metric strong{font-size:22px}}
