/* The report shares the ERP palette and typography; only its ledger layout changes. */
.report-page{max-width:1360px;margin:0 auto;font-variant-numeric:tabular-nums}
.report-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.report-heading h1{font-size:24px;letter-spacing:0}.report-heading p{margin-top:5px;font-size:12px;color:var(--muted)}
.report-export{font-size:12px;padding:8px 12px;flex:none}.report-export svg{width:17px;height:17px}
.report-filter{margin-bottom:20px}.report-presets{display:flex;gap:5px;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--bg);margin-bottom:14px}
.report-presets button{flex:1;min-width:0;min-height:40px;border:0;border-radius:8px;background:transparent;color:var(--ink-2);font-size:13px}
.report-presets button.active{background:var(--accent);color:var(--on-accent);font-weight:650}
.report-range-form{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:9px}
.report-range-form label{min-width:0}.report-range-form label span{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}
.report-range-form input{display:block;box-sizing:border-box;min-width:0;width:100%;height:44px;padding:8px 7px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--ink);font-size:13px;-webkit-appearance:none}
.report-range-form input::-webkit-date-and-time-value{text-align:left}.report-range-form input::-webkit-calendar-picker-indicator{width:13px;margin:0;padding:0}
.report-range-form .btn{min-height:44px;padding:8px 14px;font-size:13px}.report-date-to{align-self:end;padding-bottom:12px;color:var(--muted);font-size:11px}
.report-filter-note{font-size:11px;color:var(--muted);margin-top:7px}.report-form-error{grid-column:1/-1;color:var(--danger);font-size:12px}.report-form-error:empty{display:none}
.report-overview{background:var(--accent);color:var(--on-accent);border-radius:18px;overflow:hidden;margin-bottom:16px}
.report-overview-main{padding:22px}.report-period{font-size:12px;display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#d5e3d8}
.report-period span{font-size:10px;padding:2px 7px;border:1px solid #77978a;border-radius:5px;white-space:nowrap}
.report-headline{display:grid;gap:20px;margin:22px 0}.report-headline h2{font-size:12px;font-weight:500;color:#d5e3d8}
.report-total{display:block;font-size:clamp(28px,7.8vw,40px);letter-spacing:-.035em;line-height:1.35;margin-top:7px;overflow-wrap:anywhere}
.report-headline p{font-size:11px;color:#c6d8cc;margin-top:5px}.report-profit{border-top:1px solid #527166;padding-top:16px}
.report-profit strong{display:block;font-size:26px;font-weight:600;margin-top:6px;line-height:1.35;color:#f1dfbb;overflow-wrap:anywhere}
.report-counts{display:grid;grid-template-columns:.8fr .8fr 1.4fr;gap:12px;padding-top:16px;border-top:1px solid #527166}
.report-counts span{display:block;font-size:11px;color:#c6d8cc}.report-counts strong{display:block;font-size:22px;font-weight:600;margin-top:4px}.report-counts small{font-size:11px;font-weight:400}.report-counts .report-scope{font-size:13px;margin-top:9px;overflow-wrap:anywhere}
.report-pending{background:var(--warn-soft);border:1px solid #e2cda3;border-radius:13px;padding:16px;margin-bottom:22px;color:#704b1b}
.report-pending-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.report-pending-head h2{font-size:14px}.report-pending-head p{font-size:12px;line-height:1.7;margin-top:6px}.report-pending-head .btn{flex:none;min-height:40px;padding:7px 10px;font-size:12px;background:transparent;border-color:#b4925d;color:#704b1b}
.report-page summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:8px;list-style:none}.report-page summary::after{content:'＋';font-size:17px}.report-page details[open]>summary::after{content:'−'}.report-page summary::-webkit-details-marker{display:none}.report-page summary span{margin-left:auto;color:var(--muted);font-size:11px}
.report-pending details{margin-top:10px;border-top:1px solid #decba7}.report-pending-order{display:block;padding:10px 0;color:inherit;text-decoration:none;border-top:1px solid #e5d6b9}.report-pending-order strong{display:block;font-size:12px}.report-pending-order span,.report-pending-order small{display:block;font-size:11px;margin-top:3px;overflow-wrap:anywhere}
.report-columns{display:flex;flex-direction:column;gap:0}.report-main-column,.report-side-column{min-width:0}.report-side-column{order:-1}
.report-section{padding:18px}.report-section .card-title h2{font-size:16px}.report-section .card-title p{font-size:11px}.report-section .kv{gap:10px}.report-section .kv dt{flex:0 1 auto}.report-section .kv dd small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.report-payment-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:var(--accent-soft);border-radius:10px;padding:12px 10px;margin-bottom:13px}
.report-payment-totals span{display:block;color:var(--ink-2);font-size:10px}.report-payment-totals strong{display:block;font-size:clamp(12px,3.25vw,18px);margin-top:4px;overflow-wrap:anywhere}
.report-table-scroll{overflow-x:auto;max-width:100%;scrollbar-width:thin}.report-table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.5}.report-table th,.report-table td{text-align:right;padding:11px 3px;border-bottom:1px solid var(--border);font-weight:500;white-space:nowrap}
.report-table th:first-child{text-align:left;white-space:normal;min-width:49px}.report-table th:last-child,.report-table td:last-child{padding-right:0}.report-table thead th{font-size:10px;color:var(--muted);font-weight:400}.report-table th small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:3px}.report-unregistered th{max-width:65px}.report-table tr:last-child>*{border-bottom:0}
.report-other-notes{border-top:1px solid var(--border);margin-top:12px}.report-note{display:block;padding:10px 0;text-decoration:none;color:var(--ink);border-top:1px solid var(--border)}.report-note>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px;font-size:12px}.report-note>div span,.report-note small{color:var(--muted);font-size:10px}.report-note p{font-size:12px;margin:5px 0;overflow-wrap:anywhere}
.report-weight-group h3{font-size:12px;color:var(--muted);font-weight:500}.report-weight-group+.report-weight-group{margin-top:16px;padding-top:15px;border-top:1px solid var(--border)}.report-weight-note{font-size:11px;color:var(--warn);margin-top:8px;line-height:1.65}
.report-day-list{max-height:470px;overflow-y:auto;scrollbar-width:thin;padding-right:3px}.report-day-row{padding:14px 0;border-bottom:1px solid var(--border)}.report-day-row:first-child{padding-top:0}.report-day-row:last-child{border-bottom:0;padding-bottom:0}.report-day-row h3{font-size:12px;font-weight:600;margin-bottom:9px}
.report-day-row dl{display:grid;grid-template-columns:1.1fr .85fr 1.05fr;gap:8px}.report-day-row dl:not(:has(>div:nth-child(3))){grid-template-columns:1fr 1fr}.report-day-row dt{font-size:10px;color:var(--muted)}.report-day-row dd{margin:5px 0 0;font-size:12px;font-weight:600;overflow-wrap:anywhere}.report-day-row dd small{display:block;margin-top:3px;font-size:10px;color:var(--warn);font-weight:400}.report-month-row h3{color:var(--bronze)}
.report-details>.section-head{margin-top:22px}.report-details .section-head h2{font-size:16px}.report-details .hint{font-size:11px}.report-details .pagination{margin-bottom:16px}.report-details{scroll-margin-top:18px}.report-details .list-row .money{white-space:normal;overflow-wrap:anywhere}.report-details .list-row .right{max-width:42%}
.report-loading,.report-error{text-align:center;background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:42px 18px;color:var(--muted);font-size:13px}.report-loading span{display:block;margin:0 auto 15px;width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:report-spin .8s linear infinite}.report-error h2{font-size:16px;color:var(--ink)}.report-error p{margin:10px 0 18px;overflow-wrap:anywhere}
@keyframes report-spin{to{transform:rotate(360deg)}}
@media(min-width:760px){.report-filter{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 22px}.report-presets{min-width:330px;flex:1;max-width:440px;margin:0}.report-range-form{flex:1;min-width:390px}.report-filter-note{width:100%;margin:0}.report-headline{grid-template-columns:1.2fr 1fr;gap:32px;margin:24px 0}.report-profit{border-top:0;border-left:1px solid #527166;padding:0 0 0 30px}.report-profit strong{font-size:32px}.report-overview-main{padding:26px 30px}.report-counts{grid-template-columns:1fr 1fr 1fr;max-width:680px}.report-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:22px;align-items:start}.report-side-column{order:initial}.report-table{font-size:12px}.report-payment-totals strong{font-size:16px}.report-day-row dl{grid-template-columns:1.1fr 1fr 1.1fr}.report-pending-head h2{font-size:15px}}
@media(min-width:1250px){.report-heading{margin-bottom:24px}.report-heading h1{font-size:28px}.report-headline{grid-template-columns:1.1fr 1fr}.report-total{font-size:42px}.report-columns{grid-template-columns:minmax(0,1.45fr) minmax(350px,1fr);gap:24px}.report-section{padding:22px}.report-day-row{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:center;gap:14px}.report-day-row h3{margin:0}.report-day-row dl{grid-template-columns:1.15fr .9fr 1.15fr}.report-day-row dd{font-size:13px}.report-table{font-size:13px}}
@media(max-width:380px){.report-heading{align-items:flex-start}.report-heading h1{font-size:22px}.report-heading p{font-size:11px}.report-export{font-size:11px;padding:7px 8px;gap:4px}.report-export svg{display:none}.report-range-form{gap:5px}.report-range-form .btn{padding:8px 10px}.report-range-form input{font-size:12px;padding:8px 4px}.report-overview-main{padding:19px}.report-pending-head{display:block}.report-pending-head .btn{margin-top:10px}.report-section{padding:15px}.report-day-row dd{font-size:11px}.report-day-row dl{gap:5px}}
@media(prefers-reduced-motion:reduce){.report-loading span{animation:none}}
