:root{
  --report-green:#178454;
  --report-green-soft:#eaf7f0;
  --report-blue:#2f6fed;
  --report-red:#d54b4b;
  --report-amber:#d49a2f;
  --report-card:#ffffff;
  --report-border:#dfe7e3;
  --report-text:#15221c;
  --report-muted:#6f7d76;
  --report-grid:#e7ece9;
  --report-bg:#f4f7f5;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --report-card:#122028;
  --report-border:#263a45;
  --report-text:#eef5f1;
  --report-muted:#91a6b1;
  --report-grid:#243640;
  --report-bg:#0c171d;
  --report-green-soft:#112a20;
}
html{scroll-behavior:smooth}
body{background:var(--report-bg);color:var(--report-text)}
.reports-shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100vh}
.reports-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;z-index:20}
.reports-main-nav{display:grid;gap:5px}
.reports-main-nav .nav-item{display:block;text-decoration:none}
.reports-main-nav .new-reservation-link{background:#1d4b35;border:1px solid #397052}
.reports-main-nav .active{background:linear-gradient(135deg,#1a6547,#163e31);border-color:#378463;color:#fff;box-shadow:0 7px 18px rgba(20,104,72,.18)}
.report-anchor-nav{margin:18px 8px 110px;padding:14px 12px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:2px}
.report-anchor-nav>span{font-size:10px;letter-spacing:.16em;color:#7fa492;margin-bottom:6px;font-weight:800}
.report-anchor-nav a{color:#aebec5;text-decoration:none;font-size:12px;padding:7px 8px;border-radius:7px;transition:.15s ease}
.report-anchor-nav a:hover{background:rgba(57,112,82,.2);color:#fff}
.reports-page{min-width:0}
.reports-topbar{position:sticky;top:0;z-index:15;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 28px;border-bottom:1px solid var(--report-border);background:color-mix(in srgb,var(--report-bg) 92%,transparent);backdrop-filter:blur(16px)}
.reports-topbar .page-heading h1{margin:2px 0 4px;font-size:25px;letter-spacing:-.02em}.reports-topbar .page-heading p{margin:0;color:var(--report-muted);font-size:12px}
.reports-topbar .top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.report-export-btn{height:36px;padding:0 12px;border-radius:9px;font-size:11px;font-weight:800;white-space:nowrap}.report-export-btn.excel{border-color:color-mix(in srgb,var(--report-green) 55%,var(--report-border));color:var(--report-green);background:color-mix(in srgb,var(--report-green) 7%,var(--report-card))}.report-export-btn.pdf{border-color:color-mix(in srgb,var(--report-red) 45%,var(--report-border));color:var(--report-red);background:color-mix(in srgb,var(--report-red) 6%,var(--report-card))}.report-export-btn:disabled{opacity:.55;cursor:wait}
.reports-content{max-width:1650px;margin:0 auto;padding:24px 28px 70px}
.report-filter-card{background:var(--report-card);border:1px solid var(--report-border);border-radius:18px;padding:16px 18px;box-shadow:0 10px 30px rgba(15,35,26,.05)}
.range-switch{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.range-switch button{border:1px solid var(--report-border);background:transparent;color:var(--report-text);padding:9px 13px;border-radius:10px;font-weight:750;cursor:pointer}.range-switch button.active{background:var(--report-text);color:var(--report-card);border-color:var(--report-text)}
.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:10px;align-items:end}.filter-grid label{display:grid;gap:6px;font-size:11px;font-weight:750;color:var(--report-muted)}.filter-grid select,.filter-grid input{min-height:39px;border:1px solid var(--report-border);background:var(--report-card);color:var(--report-text);border-radius:9px;padding:8px 10px}.report-refresh{height:39px;white-space:nowrap}.filter-note{margin:10px 0 0;color:var(--report-muted);font-size:11px}.custom-date.hidden{display:none}
.report-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 18px}.report-kpi{position:relative;overflow:hidden;background:var(--report-card);border:1px solid var(--report-border);border-radius:16px;padding:17px 18px}.report-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,var(--report-green))}.report-kpi span{display:block;color:var(--report-muted);font-size:11px;font-weight:750;letter-spacing:.02em}.report-kpi strong{display:block;font-size:25px;line-height:1.1;margin:7px 0 3px}.report-kpi small{color:var(--report-muted);font-size:10px}.report-kpi.payments{--accent:var(--report-green)}.report-kpi.reservations{--accent:var(--report-blue)}.report-kpi.outstanding{--accent:var(--report-amber)}.report-kpi.refunds{--accent:var(--report-red)}
.report-panel{scroll-margin-top:100px;background:var(--report-card);border:1px solid var(--report-border);border-radius:18px;padding:18px;margin-top:14px;box-shadow:0 8px 24px rgba(11,32,23,.035)}
.report-primary-section{border-color:color-mix(in srgb,var(--report-green) 32%,var(--report-border))}
.report-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--report-border)}.report-panel-head>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:10px}.report-panel-head h2{grid-column:2;margin:0;font-size:18px;letter-spacing:-.01em}.report-panel-head p{grid-column:2;margin:4px 0 0;color:var(--report-muted);font-size:11px;max-width:760px}.report-number{grid-row:1/3;align-self:start;font-size:10px;font-weight:900;letter-spacing:.09em;color:var(--report-green);background:var(--report-green-soft);border:1px solid color-mix(in srgb,var(--report-green) 35%,transparent);padding:6px 7px;border-radius:8px}.panel-total{text-align:right;min-width:130px}.panel-total span{display:block;color:var(--report-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.panel-total strong{display:block;font-size:21px;margin-top:4px}.panel-total.danger strong{color:var(--report-amber)}.panel-total.refund strong{color:var(--report-red)}
.chart-layout{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:15px 0}.chart-card{border:1px solid var(--report-border);border-radius:14px;padding:14px;background:color-mix(in srgb,var(--report-card) 97%,var(--report-bg))}.chart-card.inline-chart{margin:15px 0}.chart-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px}.chart-card-head h3{margin:0;font-size:13px}.chart-card-head p{margin:3px 0 0;color:var(--report-muted);font-size:10px}.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:var(--report-muted)}.legend::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.legend.green::before{background:var(--report-green)}.legend.blue::before{background:var(--report-blue)}.legend.red::before{background:var(--report-red)}
.chart-stage{min-height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden}.chart-stage.compact-chart{min-height:260px}.chart-stage svg{width:100%;height:auto;max-height:300px;overflow:visible}.chart-empty{width:100%;padding:45px 12px;text-align:center;color:var(--report-muted);font-size:11px;border:1px dashed var(--report-border);border-radius:10px}
.report-table-wrap{margin-top:14px;overflow:auto;border:1px solid var(--report-border);border-radius:13px}.report-table{width:100%;border-collapse:collapse;font-size:11px;min-width:860px}.report-table th{position:sticky;top:0;text-align:left;padding:10px 11px;background:color-mix(in srgb,var(--report-card) 90%,var(--report-bg));color:var(--report-muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--report-border);white-space:nowrap}.report-table td{padding:10px 11px;border-bottom:1px solid var(--report-border);vertical-align:middle}.report-table tr:last-child td{border-bottom:0}.report-table tbody tr:hover{background:color-mix(in srgb,var(--report-green) 5%,transparent)}.report-table .money{text-align:right;font-variant-numeric:tabular-nums;font-weight:750}.report-table .muted{color:var(--report-muted)}.report-table .negative{color:var(--report-red)}.report-table .positive{color:var(--report-green)}.report-link{color:var(--report-text);font-weight:800;text-decoration:none}.report-link:hover{color:var(--report-green)}.report-pill{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.04em;background:var(--report-green-soft);color:var(--report-green);border:1px solid color-mix(in srgb,var(--report-green) 25%,transparent)}.report-pill.red{background:color-mix(in srgb,var(--report-red) 10%,transparent);color:var(--report-red);border-color:color-mix(in srgb,var(--report-red) 25%,transparent)}.report-pill.blue{background:color-mix(in srgb,var(--report-blue) 10%,transparent);color:var(--report-blue);border-color:color-mix(in srgb,var(--report-blue) 25%,transparent)}
.financial-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:15px}.financial-card{border:1px solid var(--report-border);border-radius:13px;padding:14px;background:color-mix(in srgb,var(--report-card) 97%,var(--report-bg))}.financial-card span{display:block;color:var(--report-muted);font-size:10px}.financial-card strong{display:block;font-size:19px;margin-top:5px}.financial-card.net strong{color:var(--report-green)}.financial-card.refund strong{color:var(--report-red)}.financial-card.open strong{color:var(--report-amber)}.report-definition{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--report-green-soft);color:var(--report-muted);font-size:10px}.report-definition strong{color:var(--report-text)}
.closing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.closing-card{padding:14px;border:1px solid var(--report-border);border-radius:13px;background:color-mix(in srgb,var(--report-card) 98%,var(--report-bg))}.closing-card span{display:block;color:var(--report-muted);font-size:10px}.closing-card strong{display:block;margin-top:5px;font-size:18px}.closing-card small{display:block;margin-top:3px;color:var(--report-muted);font-size:9px}
.report-loading{opacity:.55;pointer-events:none}.report-error{padding:18px;border:1px solid color-mix(in srgb,var(--report-red) 45%,var(--report-border));background:color-mix(in srgb,var(--report-red) 9%,transparent);border-radius:12px;color:var(--report-red)}
html[data-theme="dark"] .report-filter-card,html[data-theme="dark"] .report-kpi,html[data-theme="dark"] .report-panel,html[data-theme="dark"] .chart-card,html[data-theme="dark"] .financial-card,html[data-theme="dark"] .closing-card{box-shadow:none}
@media(max-width:1200px){.report-kpi-grid{grid-template-columns:repeat(2,1fr)}.financial-strip{grid-template-columns:repeat(3,1fr)}.closing-grid{grid-template-columns:repeat(2,1fr)}.filter-grid{grid-template-columns:repeat(2,minmax(150px,1fr)) auto}.chart-layout{grid-template-columns:1fr}}
@media(max-width:820px){.reports-shell{grid-template-columns:1fr}.reports-sidebar{position:relative;height:auto}.report-anchor-nav{display:none}.reports-topbar{position:relative;padding:16px}.reports-content{padding:16px}.report-kpi-grid,.financial-strip,.closing-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.report-panel-head{display:block}.panel-total{text-align:left;margin-top:10px}.reports-topbar{align-items:flex-start;flex-direction:column}.reports-topbar .top-actions{justify-content:flex-start}}
@media print{.reports-sidebar,.reports-topbar .top-actions,.report-filter-card{display:none!important}.reports-shell{display:block}.reports-topbar{position:static;border:0;padding:0 0 14px}.reports-content{max-width:none;padding:0}.report-panel{break-inside:avoid;box-shadow:none}.report-table-wrap{overflow:visible}.report-table{min-width:0;font-size:8px}.chart-stage{min-height:180px}}
