:root {
  --navy:#10231e;
  --ink:#182c27;
  --muted:#5f7068;
  --green:#167c60;
  --mint:#edf6f0;
  --line:#e4ebe6;
  --paper:#f3f6f3;
  --white:#fff;
  --red:#bf4b49;
  --gold:#af7d23
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:14px
}
button,input,select,textarea {
  font:inherit
}
button,a,input,select,textarea {
  outline-color:var(--green)
}
button {
  cursor:pointer;
  border:0;
  background:transparent;
  color:inherit
}
button:disabled {
  opacity:.5;
  cursor:default
}
a {
  text-decoration:none;
  color:inherit
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:29px;
  letter-spacing:-1px;
  font-weight:650
}
h2 {
  font-size:22px
}
h3 {
  font-size:16px;
  font-weight:600
}
.muted {
  color:var(--muted)
}
.eyebrow {
  font-size:10px;
  letter-spacing:2px;
  color:var(--green);
  font-weight:650;
  margin-bottom:13px
}
.shell {
  display:flex;
  min-height:100vh
}
.sidebar {
  width:220px;
  background:var(--navy);
  color:#dce7df;
  position:fixed;
  top:0;
  bottom:0;
  padding:32px 18px;
  display:flex;
  flex-direction:column
}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:20px;
  font-weight:600;
  padding-left:8px;
  letter-spacing:-.6px
}
.brand-icon {
  height:37px;
  width:37px;
  border:1px solid #73927f;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:#ddf4d6;
  background:#284637;
  font-size:23px;
  font-family:Georgia,serif
}
.brand small {
  display:block;
  font-size:10px;
  letter-spacing:2px;
  color:#7c9b8e;
  margin-top:6px;
  font-weight:400
}
.workspace-tag {
  font-size:9px;
  letter-spacing:2px;
  color:#738c80;
  margin:45px 10px 18px;
  display:flex;
  justify-content:space-between
}
.workspace-tag span {
  letter-spacing:0
}
.nav-item {
  display:flex;
  align-items:center;
  width:100%;
  padding:13px 15px;
  gap:13px;
  color:#93aba0;
  text-align:left;
  margin:3px 0;
  border-radius:7px;
  font-size:13px
}
.nav-item.active {
  color:#e1f2e2;
  background:#284737
}
.nav-icon {
  font-size:19px;
  width:20px;
  text-align:center
}
.nav-item:hover {
  background:#1a352a
}
.sidebar-bottom {
  margin-top:auto;
  border-top:1px solid #294034;
  padding:24px 8px 2px;
  display:flex;
  gap:10px;
  font-size:12px;
  color:#b6cbbd
}
.sidebar-bottom small {
  display:block;
  color:#6f8d7b;
  font-size:10px;
  margin-top:8px
}
.connection-dot {
  width:7px;
  height:7px;
  border-radius:100%;
  background:#afd796;
  margin-top:4px
}
.main-shell {
  margin-left:220px;
  width:calc(100% - 220px)
}
.topbar {
  height:73px;
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:0 42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px
}
.breadcrumb {
  color:var(--muted)
}
.slash {
  margin:0 16px;
  color:#bac8c0
}
.topbar-right {
  display:flex;
  align-items:center;
  gap:22px
}
.environment {
  background:#f1f4eb;
  color:#678150;
  border:1px solid #e1e9d8;
  padding:5px 9px;
  border-radius:4px;
  font-size:10px;
  letter-spacing:.6px
}
.icon-button {
  font-size:20px;
  color:var(--muted)
}
main {
  max-width:1620px;
  padding:34px 42px
}
.page-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:28px
}
.page-head .muted {
  margin-top:11px;
  font-size:12px
}
.actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.primary {
  background:var(--green);
  color:#fff;
  padding:11px 18px;
  border-radius:6px;
  font-size:12px;
  display:inline-flex;
  gap:16px;
  justify-content:center;
  align-items:center
}
.primary:hover {
  background:#12664e
}
.secondary {
  background:#fff;
  border:1px solid #dce6df;
  padding:10px 14px;
  border-radius:6px;
  font-size:12px;
  white-space:nowrap
}
.secondary:hover {
  background:#f0f5f1
}
.text-button {
  color:var(--green);
  font-size:12px;
  padding:5px 7px
}
.danger {
  color:var(--red)
}
.filters {
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  margin-bottom:22px;
  flex-wrap:wrap
}
.filters input,.filters select {
  background:#fff;
  border:0;
  padding:5px;
  color:#51665a;
  font-size:12px
}
.filter-divider {
  height:20px;
  width:1px;
  background:var(--line);
  margin:0 7px
}
.filters small {
  margin-left:auto;
  font-size:10px
}
.stats-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:20px
}
.stat {
  border:1px solid var(--line);
  border-radius:8px;
  padding:22px 22px 18px;
  background:#fff;
  min-height:139px
}
.stat.featured {
  background:var(--navy);
  border-color:var(--navy);
  color:#eff8f0
}
.stat-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--muted);
  font-size:12px
}
.stat.featured .stat-top {
  color:#a0bba9
}
.stat-symbol {
  color:#95b29a;
  font-size:17px
}
.stat-value {
  font-size:31px;
  font-weight:600;
  letter-spacing:-1px;
  margin:18px 0 10px;
  font-variant-numeric:tabular-nums
}
.stat-note {
  font-size:10px;
  color:var(--muted)
}
.stat.featured .stat-note {
  color:#9caf9f
}
.stat-note strong {
  font-weight:500;
  color:var(--green)
}
.stat.featured .stat-note strong {
  color:#b5d9a8
}
.overview-middle {
  display:grid;
  grid-template-columns:1.8fr 1fr;
  gap:20px;
  margin-bottom:20px
}
.panel {
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  margin-bottom:20px
}
.overview-middle .panel {
  margin:0
}
.panel-head {
  padding:22px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #eff3f0
}
.panel-head small {
  font-size:10px;
  color:var(--muted);
  margin-top:6px;
  display:block
}
.panel-head h3 {
  font-size:14px
}
.chart {
  padding:15px 24px 20px;
  height:210px
}
.chart svg {
  width:100%;
  height:100%
}
.chart text {
  fill:#8b9a90;
  font-size:10px
}
.legend {
  font-size:10px;
  color:var(--muted);
  display:flex;
  gap:15px
}
.legend i {
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:2px;
  background:var(--green);
  margin-right:6px
}
.legend .light {
  background:#bcd7c4
}
.funnel {
  padding:6px 24px 24px
}
.funnel-row {
  display:flex;
  justify-content:space-between;
  padding:13px 0;
  border-bottom:1px solid #eef2ed;
  font-size:12px
}
.funnel-row:last-child {
  border:0
}
.funnel-row strong {
  font-weight:550;
  font-variant-numeric:tabular-nums
}
.funnel-row .tiny {
  color:var(--muted);
  font-size:10px;
  margin-right:8px
}
.table-wrap {
  overflow:auto
}
table {
  border-collapse:collapse;
  width:100%;
  font-size:12px;
  white-space:nowrap
}
th {
  text-align:left;
  color:#8a9a90;
  font-weight:450;
  padding:14px 24px;
  background:#fbfcfa;
  border-bottom:1px solid var(--line);
  font-size:10px
}
td {
  padding:16px 24px;
  border-bottom:1px solid #edf2ec
}
tbody tr:last-child td {
  border-bottom:0
}
tbody tr:hover {
  background:#fcfdfb
}
.table-sub {
  font-size:10px;
  color:var(--muted);
  display:block;
  margin-top:7px
}
.table-name {
  font-weight:550
}
.money {
  font-variant-numeric:tabular-nums;
  font-weight:550
}
.badge {
  display:inline-block;
  padding:4px 7px;
  border-radius:4px;
  font-size:10px;
  font-weight:500;
  background:#f1f4f0;
  color:#7c897d
}
.badge.SUCCESS,.badge.CLAIMED,.badge.ACTIVE,.badge.NORMAL {
  background:#edf6ef;
  color:#338264
}
.badge.UNKNOWN,.badge.PROCESSING,.badge.REVIEW,.badge.COOKIE_EXPIRED {
  background:#fcf4e5;
  color:var(--gold)
}
.badge.FAILED,.badge.REQUEST_FAILED,.badge.ENDED {
  background:#fbeeee;
  color:var(--red)
}
.badge.TEST {
  background:#eef0f6;
  color:#68739b
}
.badge.AUTO {
  background:#eaf4ee;
  color:#348269
}
.empty {
  padding:48px;
  text-align:center;
  color:var(--muted);
  line-height:1.8
}
.empty strong {
  display:block;
  font-size:15px;
  color:#7e9384;
  margin-bottom:7px
}
.search-row {
  display:flex;
  gap:12px;
  padding:15px 20px;
  border-bottom:1px solid var(--line);
  flex-wrap:wrap
}
.search-row input,.search-row select {
  border:1px solid var(--line);
  border-radius:5px;
  font-size:12px;
  padding:8px 10px;
  background:#fff;
  max-width:220px
}
.pagination {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  padding:15px 24px;
  font-size:11px;
  color:var(--muted)
}
.notice {
  padding:13px 18px;
  border-radius:6px;
  font-size:12px;
  margin-bottom:20px;
  background:#edf4ef;
  color:#678572;
  line-height:1.8
}
.notice strong {
  color:#427559
}
.split-panels {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.mock-card {
  padding:24px;
  line-height:1.8
}
.mock-card p {
  margin:12px 0;
  font-size:12px;
  color:var(--muted)
}
.mock-card label {
  margin-top:15px
}
.mock-card button {
  margin-top:15px
}
.step {
  border-left:2px solid #d7e6d8;
  padding:0 0 20px 20px;
  margin-left:10px
}
.step:last-child {
  padding-bottom:0
}
.step strong {
  font-size:13px
}
.step p {
  margin:6px 0 0;
  font-size:12px;
  color:var(--muted)
}
footer {
  border-top:1px solid var(--line);
  padding-top:23px;
  margin-top:32px;
  display:flex;
  justify-content:space-between;
  font-size:10px;
  color:#a0aea2
}
dialog {
  border:1px solid var(--line);
  border-radius:12px;
  padding:0;
  width:650px;
  max-width:94vw;
  max-height:90vh;
  color:var(--ink);
  box-shadow:0 20px 64px #00000024
}
dialog::backdrop {
  background:#10231e70;
  backdrop-filter:blur(3px)
}
.modal-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:25px 28px;
  border-bottom:1px solid var(--line)
}
.modal-body {
  padding:24px 28px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}
.span-2 {
  grid-column:span 2
}
label {
  display:block;
  font-size:12px;
  color:#6a7f70
}
label input,label select,label textarea {
  display:block;
  width:100%;
  border:1px solid #dce6df;
  border-radius:5px;
  padding:11px 12px;
  margin-top:9px;
  color:var(--ink);
  background:#fff
}
textarea {
  resize:vertical;
  min-height:85px
}
.form-note {
  font-size:11px;
  color:var(--muted);
  margin-top:15px;
  line-height:1.7
}
.modal-footer {
  padding:20px 28px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:flex-end;
  gap:10px
}
.error-text {
  color:var(--red);
  font-size:12px;
  line-height:1.7;
  min-height:18px;
  margin-top:15px
}
pre {
  background:#f4f7f3;
  border:1px solid var(--line);
  padding:16px;
  border-radius:5px;
  font-size:11px;
  line-height:1.8;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
  font-size:12px
}
.detail-grid small {
  color:var(--muted);
  display:block;
  margin-bottom:5px
}
#toast {
  position:fixed;
  bottom:28px;
  right:30px;
  background:#183e2e;
  color:#f3faf2;
  padding:15px 23px;
  border-radius:8px;
  font-size:12px;
  box-shadow:0 8px 25px #0002;
  z-index:10
}
.login-screen {
  min-height:100vh;
  display:grid;
  grid-template-columns:1fr 1fr
}
.login-brand {
  background:var(--navy);
  color:#f2f8ef;
  padding:64px;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.login-brand .brand-icon {
  width:55px;
  height:55px;
  font-size:33px;
  margin-bottom:55px
}
.login-brand .eyebrow {
  color:#8da889
}
.login-brand h1 {
  font-size:48px;
  line-height:1.45;
  letter-spacing:-.03em;
  margin-bottom:25px
}
.login-brand p {
  font-size:13px;
  color:#9bb2a0;
  line-height:1.9
}
.login-line {
  height:1px;
  width:90px;
  background:#678365;
  margin:40px 0 15px
}
.login-card {
  align-self:center;
  justify-self:center;
  width:340px
}
.login-card h2 {
  font-size:30px;
  margin:10px 0 16px
}
.login-card .muted {
  font-size:12px;
  margin-bottom:35px
}
.login-card label {
  margin:22px 0
}
.login-card .primary {
  width:100%;
  margin-top:15px;
  justify-content:space-between;
  padding:14px 18px
}
.fine {
  color:#97a59a;
  font-size:10px;
  line-height:1.8;
  margin-top:25px
}
.highlight {
  color:var(--green)
}
.align-right {
  text-align:right
}
[hidden] {
  display:none!important
}
@media(min-width:1500px) {
  .stats-grid {
  gap:22px
}
.stat {
  padding:24px 26px
}

}
@media(max-width:1150px) {
  .sidebar {
  width:185px;
  padding:28px 12px
}
.brand {
  font-size:17px
}
.main-shell {
  margin-left:185px;
  width:calc(100% - 185px)
}
main {
  padding:28px 25px
}
.topbar {
  padding:0 25px
}
.stats-grid {
  grid-template-columns:repeat(2,1fr)
}
td,th {
  padding:14px 18px
}

}
@media(max-width:760px) {
  .sidebar {
  position:static;
  width:100%;
  padding:16px
}
.shell {
  display:block
}
.sidebar .workspace-tag,.sidebar-bottom {
  display:none
}
.brand {
  font-size:19px
}
.sidebar nav {
  display:flex;
  overflow:auto;
  margin-top:15px
}
.nav-item {
  width:auto;
  white-space:nowrap;
  padding:10px
}
.nav-icon {
  display:none
}
.main-shell {
  margin:0;
  width:100%
}
.topbar {
  height:55px;
  padding:0 20px
}
.topbar-right {
  gap:10px
}
main {
  padding:25px 17px
}
.page-head {
  align-items:flex-start;
  gap:15px
}
.page-head h1 {
  font-size:24px
}
.page-head .actions {
  justify-content:flex-end
}
.overview-middle,.split-panels {
  grid-template-columns:1fr
}
.filters {
  gap:7px
}
.filters small {
  width:100%;
  margin:5px
}
.stats-grid {
  gap:10px
}
.stat {
  padding:16px
}
.stat-value {
  font-size:27px
}
.login-screen {
  grid-template-columns:1fr
}
.login-brand {
  display:none
}
.login-card {
  max-width:85vw
}
.form-grid {
  grid-template-columns:1fr
}
.span-2 {
  grid-column:span 1
}
footer span {
  display:none
}

}


/* Multi-platform working overview */
.work-tabs{display:flex;gap:10px;overflow-x:auto;padding:0 0 20px;margin-top:-8px}
.work-tabs[hidden]{display:none}
.work-tab{display:flex;align-items:center;gap:12px;flex:1 0 165px;max-width:260px;text-align:left;border:1px solid var(--line);border-radius:12px;background:white;padding:14px 16px;font-weight:600;transition:background .15s,border-color .15s}
.work-tab:hover{background:#eef5ef}.work-tab.selected{border-color:var(--green);background:#e8f3ed;box-shadow:inset 0 0 0 1px var(--green)}
.work-tab small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.tab-mark{height:35px;width:35px;border-radius:50%;display:grid;place-items:center;background:var(--tone,var(--green));color:white;font-size:16px;flex-shrink:0}.tab-dot{height:6px;width:6px;border-radius:50%;background:#c5cfc6;margin-left:auto}.tab-dot.connected{background:var(--green)}
.work-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:5px 0 18px;font-size:11px;color:var(--muted);flex-wrap:wrap}.work-caption>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.work-caption strong{color:var(--ink);font-size:14px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.operating-stats .stat-value{font-size:30px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.operating-stats .stat-note{font-size:11px}.workspace-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.workspace-charts .panel{margin:0}.donut-layout{padding:24px;display:flex;align-items:center;gap:26px;min-height:225px}.donut-figure{position:relative;width:176px;height:176px;flex-shrink:0}.donut-figure svg{width:100%;height:100%}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;pointer-events:none}.donut-center strong{font-size:25px;letter-spacing:-.8px}.donut-center small{font-size:10px;color:var(--muted)}.donut-legend{flex:1;min-width:0}.donut-legend>div{display:grid;grid-template-columns:1fr auto;gap:8px;margin:17px 0;font-size:12px}.donut-legend span{display:flex;align-items:center;gap:8px}.donut-legend i{width:7px;height:7px;border-radius:50%;flex-shrink:0}.donut-legend small{grid-column:1/-1;color:var(--muted);font-size:11px}.stats-connection{font-size:11px;color:var(--gold)}.stats-connection.good{color:var(--green)}
@media(max-width:1150px){.donut-layout{gap:14px;padding:18px}.donut-figure{width:150px;height:150px}.operating-stats .stat-value{font-size:25px}}
@media(max-width:850px){.workspace-charts{grid-template-columns:1fr}.work-tab{flex-basis:155px}.work-caption small{line-height:1.8}.donut-layout{padding:24px}.donut-figure{width:176px;height:176px}}
@media(max-width:480px){.operating-stats .stat-value{font-size:24px}.donut-layout{gap:14px;padding:15px}.donut-figure{width:145px;height:145px}.donut-center strong{font-size:21px}.work-tabs{max-width:100%;padding-bottom:16px}.work-tab{flex:0 0 155px}.work-caption{margin-top:0}.workspace-charts{gap:14px}}

.tone-0{--tone:#167c60}.tone-1{--tone:#a1bfaa}.tone-2{--tone:#bc994c}.tone-3{--tone:#5f829a}.tone-4{--tone:#b67c78}.tone-5{--tone:#8c7cab}.donut-legend i{background:var(--tone,var(--green))}
.operating-stats .stat-value{font-size:27px;letter-spacing:-.8px}
@media(max-width:1280px){.operating-stats .stat-value{font-size:23px}}

.connection-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:20px;color:#557366}.connection-loading[hidden]{display:none}
/* Existing report snapshots: dense reference table inside the normal workbench. */
.report-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0 24px}
.report-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:left;min-width:0}
.report-card.selected,.report-card:hover{border-color:var(--green);box-shadow:0 3px 16px #167c6010}
.report-card-head{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:18px}
.report-card-head strong{font-size:18px}.report-card small{color:var(--muted);font-size:11px;line-height:1.8}
.report-card-amount{font-size:24px;font-weight:650;letter-spacing:-.7px;margin:6px 0 10px;overflow-wrap:anywhere}
.report-card p{margin-bottom:14px;color:var(--muted)}.report-card b{color:var(--ink)}
.report-state{font-size:10px;color:var(--gold);border-radius:6px;background:#fff5e1;padding:4px 7px;white-space:nowrap}
.report-state.good{color:var(--green);background:var(--mint)}
.report-toolbar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between;margin:18px 0}
.report-modes{display:flex;gap:4px;background:#eaf0e9;padding:4px;border-radius:9px}
.report-modes button{padding:10px 16px;border-radius:6px;font-size:12px}
.report-modes .selected{background:#fff;color:var(--green);box-shadow:0 2px 8px #182c270b}
.report-toolbar label{display:flex;align-items:center;gap:10px;font-size:12px}.report-toolbar select{padding:9px;border:1px solid var(--line);border-radius:6px}
.report-toolbar small,.report-note{color:var(--muted);font-size:12px;line-height:1.8}.report-note{margin:14px 0}
.report-warning{color:#976716;background:#fff7e5;padding:13px;border:1px solid #f4dfaf;border-radius:8px;font-size:12px;line-height:1.8;margin:12px 0}
.report-table-wrap{max-height:620px;max-width:100%;overflow:auto}
.report-table{font-variant-numeric:tabular-nums;min-width:3100px;font-size:12px}
.report-table thead th{position:sticky;top:0;background:#23865c;color:#fff;z-index:3;border-right:1px solid #ffffff25;white-space:nowrap}
.report-table td{padding:13px 12px;text-align:right;border-right:1px solid #edf0ec;white-space:nowrap}
.report-table td:nth-child(-n+3){text-align:left}
.report-table td:nth-child(1),.report-table th:nth-child(1){position:sticky;left:0;min-width:116px;z-index:2;background:#f6faf6}
.report-table th:nth-child(1){background:#23865c;z-index:4}
.report-table .report-money{color:#3462b1;background:#f1f6ff}
.report-table th.report-money{background:#317953;color:#fff}
.report-table .report-ratio{background:#ecf7f1}
.report-table th.report-ratio{background:#389266}
.report-table .report-decimal{background:#fff8e8}
.report-table th.report-decimal{background:#9a8c3b}
.report-table tbody tr:nth-child(even) td{filter:brightness(.985)}
.report-table .negative,.report-card .negative{color:#d14b4b}
.report-trend{padding:8px 22px 16px}.report-trend svg{width:100%;height:175px}.report-trend text{fill:var(--muted);font-size:10px}.report-trend div{display:flex;gap:22px;font-size:12px}
.report-green{color:var(--green)}.report-gold{color:var(--gold)}.report-source-links{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.report-source-links a{font-size:12px;color:var(--green);text-decoration:underline}
@media(max-width:1200px){.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.report-cards{grid-template-columns:1fr;gap:10px}.report-card{padding:16px}.report-toolbar{gap:12px}.report-modes button{padding:9px 10px}.report-trend svg{height:130px}}

.connection-platform-title{margin:20px 22px 12px;font-size:14px}


/* Operate-mode refinements: readable data, compact navigation, stable refresh. */
:root {
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-6:24px; --space-8:32px; --radius-control:8px; --radius-panel:14px;
  --ease-feedback:cubic-bezier(.23,1,.32,1);
}
body { line-height:1.5; }
::selection { background:#cce9dc; color:var(--ink); }
input,textarea { caret-color:var(--green); }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
:where(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline:2px solid var(--green); outline-offset:3px;
}
.skip-link { position:fixed;top:8px;left:12px;z-index:20;padding:12px 16px;background:var(--white);color:var(--green);border-radius:8px;transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
h1,h2,h3 { text-wrap:balance; }
h1 { font-size:28px;line-height:1.25;letter-spacing:-.025em;font-weight:650; }
p { text-wrap:pretty; }
.shell { min-height:100dvh; }
.sidebar { width:216px;padding:28px 16px; }
.brand { padding-left:8px;gap:10px; }
.brand small { color:#b0c5b8;font-size:11px;letter-spacing:.4px; }
.workspace-tag { font-size:12px;letter-spacing:0;color:#9db6a8;margin:32px 12px 12px; }
.nav-item { min-height:46px;font-size:14px;border-radius:9px;color:#b3c7bb;padding:11px 14px;gap:12px; }
.nav-item.active { background:#2a493c;color:#fff;font-weight:600; }
.nav-icon { display:flex;align-items:center;justify-content:center;width:20px;flex-shrink:0; }
.nav-icon svg { height:19px;width:19px; }
.sidebar-bottom { padding:20px 8px 0;line-height:1.6; }
.sidebar-bottom small { color:#a5bbaf;font-size:11px;margin-top:6px; }
.main-shell { margin-left:216px;width:calc(100% - 216px);min-width:0; }
.topbar { height:64px;padding:0 32px;font-size:13px; }
.environment { font-size:11px;letter-spacing:0;color:#496452;background:#edf3ee;border:0;padding:5px 10px; }
.icon-button { min-width:40px;min-height:40px;border-radius:8px; }
main { max-width:1560px;margin:0 auto;padding:28px 32px 36px;min-width:0; }
.page-head { margin-bottom:24px;gap:20px; }
.page-head .muted { font-size:13px;margin-top:8px;line-height:1.7;max-width:65ch; }
.primary,.secondary { min-height:40px;padding:10px 16px;font-size:13px;border-radius:var(--radius-control);gap:10px; }
.text-button { min-height:32px;font-size:13px; }
button { touch-action:manipulation; }
.primary,.secondary,.text-button,.icon-button,.work-tab,.report-card,.nav-item,.report-modes button {
  transition:background-color 140ms ease,color 140ms ease,border-color 140ms ease,transform 120ms var(--ease-feedback);
}
button:active:not(:disabled) { transform:scale(.98); }
.work-tabs { display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:8px;overflow:visible;padding:0;margin:0 0 24px; }
.work-tab { min-width:0;max-width:none;min-height:70px;border:1px solid transparent;border-radius:10px;padding:12px;gap:9px;background:#e8efea;font-size:14px; }
.work-tab.selected { border-color:#40846b;background:#e3f0e8;box-shadow:none; }
.work-tab small { margin-top:3px;font-size:11px;line-height:1.5;color:var(--muted); }
.tab-mark { width:30px;height:30px;font-size:14px;border-radius:8px; }
.tab-dot { flex-shrink:0;margin-left:auto; }
.add-platform-tab { background:transparent;justify-content:center;padding:10px; }
.add-platform-tab>span:nth-child(2) { display:none; }
.add-platform-tab .tab-mark { color:var(--green);background:#e5eee7;width:34px;height:34px; }
.work-caption { align-items:flex-start;margin:0 0 12px;font-size:12px;row-gap:5px; }
.work-caption strong { font-size:15px;font-weight:600; }
.work-caption small { font-size:11px;line-height:1.7; }
.operating-stats { gap:0;padding:8px;background:#fff;border-radius:var(--radius-panel);margin-bottom:24px;grid-template-columns:repeat(4,minmax(0,1fr)); }
.operating-stats .stat { border:0;border-radius:8px;min-height:144px;padding:20px 18px;background:transparent;color:var(--ink);min-width:0; }
.operating-stats .stat.featured { background:#edf5ef; }
.operating-stats .stat-top,.operating-stats .stat.featured .stat-top { color:var(--muted);font-size:13px;font-weight:500; }
.operating-stats .stat-value { font-size:27px;line-height:1.25;letter-spacing:-.025em;margin:18px 0 10px;font-weight:650;overflow-wrap:normal; }
.operating-stats .stat.featured .stat-value { color:#12664e; }
.operating-stats .stat-note,.operating-stats .stat.featured .stat-note { color:var(--muted);font-size:12px;line-height:1.6; }
.panel { border:0;border-radius:var(--radius-panel);margin-bottom:24px;min-width:0;max-width:100%; }
.panel-head { padding:20px 24px;gap:16px; }
.panel-head h3 { font-size:15px; }
.panel-head small { font-size:12px;line-height:1.7; }
.workspace-charts { gap:20px;margin:0 0 24px;grid-template-columns:1.1fr 1fr; }
.donut-layout { padding:20px 24px;gap:24px;min-height:220px; }
.donut-figure { width:158px;height:158px; }
.donut-center strong { font-size:26px;letter-spacing:-.025em; }
.donut-center small,.donut-legend small { font-size:12px; }
.donut-legend>div { margin:12px 0;font-size:13px; }
.table-wrap { max-width:100%;min-width:0;overscroll-behavior-x:contain; }
table { font-size:13px;font-variant-numeric:tabular-nums; }
th { background:#f2f6f3;color:#4e6458;font-size:12px;font-weight:600; }
td,th { padding:14px 20px; }
.table-sub { color:var(--muted);font-size:12px;line-height:1.6; }
.filters { border:0;border-radius:12px;padding:12px 16px;gap:12px; }
.filters input,.filters select { border-radius:6px;min-height:36px;font-size:13px; }
.filters small { font-size:12px; }
.report-cards { gap:12px;margin:16px 0 24px; }
.report-card { background:#f2f6f3;border:1px solid transparent;border-radius:10px;padding:18px; }
.report-card.selected { background:#edf6f0;border-color:var(--green);box-shadow:none; }
.report-card-head { margin-bottom:16px; }
.report-card-head strong { font-size:16px; }
.report-card small { font-size:12px; }
.report-card-amount { font-size:23px;letter-spacing:-.025em;line-height:1.3;margin:4px 0 10px; }
.panel>.report-cards { margin:0;padding:8px 20px 24px; }
.report-modes { background:#e7eee8;padding:4px;border-radius:8px; }
.report-modes button { min-height:40px;font-size:13px; }
.report-modes .selected { box-shadow:none; }
.report-table thead th,.report-table th.report-money,.report-table th.report-ratio,.report-table th.report-decimal { background:#e8f1eb;color:#244d3c;border-right:1px solid #d9e5dd; }
.report-table td { padding:12px; }
.report-table .report-money { color:#28556b;background:#f3f7f8; }
.report-table .report-ratio { background:#f4f8f4; }
.report-table .report-decimal { background:#f8f7f1; }
.report-table td:first-child { background:#eef4ef; }
.report-table tbody tr:nth-child(even) td { filter:none; }
.report-table tbody tr:hover td { background:#e8f1eb; }
.report-warning,.notice { line-height:1.8; }
.empty { font-size:13px;line-height:1.8; }
.empty strong { font-size:16px; }
.dialog-head h2 { letter-spacing:-.02em; }
#modal { border-radius:16px; }
#modal[open] { animation:dialog-appear 180ms var(--ease-feedback); }
#toast { border-radius:10px;font-size:13px;max-width:min(480px,calc(100vw - 32px)); }
@keyframes dialog-appear { from { opacity:.6;transform:translateY(6px) scale(.98); } to { opacity:1;transform:none; } }
@media(hover:hover) and (pointer:fine) {
  .work-tab:hover,.report-card:hover { background:#e4eee6;box-shadow:none; }
  .text-button:hover { background:#eef5ef;border-radius:6px; }
  tbody tr:hover td { background:#f5f8f5; }
}
@media(max-width:1300px) {
  main { padding:24px; }
  .topbar { padding:0 24px; }
  .work-tab { padding:10px 8px;gap:7px; }
  .operating-stats .stat { padding:18px 14px; }
  .operating-stats .stat-value { font-size:23px; }
  .donut-layout { padding:20px;gap:18px; }
  .donut-figure { width:140px;height:140px; }
}
@media(max-width:1100px) {
  .sidebar { width:184px;padding:24px 12px; }
  .main-shell { margin-left:184px;width:calc(100% - 184px); }
  .tab-mark { display:none; }
  .add-platform-tab .tab-mark { display:grid; }
  .operating-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .operating-stats .stat { min-height:126px; }
  .operating-stats .stat-value { font-size:28px; }
  .workspace-charts { grid-template-columns:1fr 1fr; }
  .donut-layout { flex-direction:column;align-items:flex-start; }
  .donut-legend { width:100%; }
}
@media(max-width:760px) {
  .sidebar { position:static;width:100%;padding:16px; }
  .sidebar nav { margin-top:14px;gap:4px;padding-bottom:4px; }
  .nav-item { min-height:44px;flex:0 0 auto;padding:10px 12px;font-size:13px; }
  .main-shell { margin:0;width:100%; }
  .topbar { height:52px;padding:0 16px; }
  .topbar-right { gap:8px; }
  .environment { display:none; }
  .slash { margin:0 10px; }
  main { padding:24px 16px; }
  .page-head { flex-wrap:wrap;gap:14px;margin-bottom:20px; }
  .page-head h1 { font-size:25px; }
  .page-head .actions { justify-content:flex-start; }
  .work-tabs { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px; }
  .work-tab { min-height:66px;padding:10px;font-size:13px; }
  .work-tab small { font-size:11px; }
  .add-platform-tab>span:nth-child(2) { display:block;font-size:12px; }
  .add-platform-tab>span:nth-child(2) small { display:none; }
  .add-platform-tab .tab-mark { display:none; }
  .work-caption { row-gap:8px; }
  .operating-stats .stat { min-height:128px;padding:16px 12px; }
  .operating-stats .stat-value { font-size:21px;overflow-wrap:anywhere; }
  .workspace-charts { grid-template-columns:1fr;gap:16px; }
  .donut-layout { flex-direction:row;align-items:center;gap:20px;padding:20px; }
  .donut-figure { width:138px;height:138px; }
  .donut-center small { font-size:11px; }
  .panel-head { padding:18px;align-items:flex-start;flex-wrap:wrap;gap:8px; }
  .panel-head .text-button { padding:0; }
  .panel { margin-bottom:20px; }
  .panel>.report-cards { padding:4px 16px 20px; }
  .report-cards { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .report-card { padding:14px 12px; }
  .report-card-head { align-items:flex-start;flex-wrap:wrap;gap:4px; }
  .report-card-amount { font-size:20px; }
  .report-toolbar { gap:12px; }
  .report-modes { flex-wrap:wrap; }
  .report-modes button { padding:10px 12px; }
  .filters input,.filters select { max-width:100%;min-height:40px; }
  .filters { padding:12px; }
  td,th { padding:12px 16px; }
  .login-card { max-width:100%;width:auto;padding:24px; }
  #modal { width:calc(100% - 24px);max-height:calc(100dvh - 24px); }
}
@media(max-width:420px) {
  .operating-stats .stat-value { font-size:20px; }
  .donut-layout { gap:12px;padding:16px; }
  .donut-figure { width:116px;height:116px; }
  .donut-legend>div { font-size:12px;gap:6px; }
  .donut-legend small { font-size:11px; }
  .report-card-amount { font-size:19px; }
}
@media(pointer:coarse) {
  .primary,.secondary,.text-button,.icon-button,.report-modes button { min-height:44px; }
  input,select,textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
  button:active:not(:disabled) { transform:none; }
}

.sidebar nav { scrollbar-width:thin;scrollbar-color:#789485 var(--navy); }
@media(max-width:580px) { .report-cards { grid-template-columns:1fr; } .report-card-amount { font-size:24px; } }

.fine,.form-note,pre { font-size:12px; }
.fine { color:var(--muted); }


/* User's report reference: compact green header and a different pastel per row. */
.report-sites { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px; }
.report-sites button { min-width:76px; }
.report-sites .selected { background:#176643;border-color:#176643;color:#fff; }
body[data-page="reports"] .report-cards { grid-template-columns:1fr; }
body[data-page="reports"] main { padding-top:20px; }
body[data-page="reports"] .page-head { margin-bottom:16px; }
body[data-page="reports"] .page-head h1 { font-size:25px; }
body[data-page="reports"] .page-head .muted { margin-top:5px;font-size:12px; }
body[data-page="reports"] .filters { padding:8px 12px;margin-bottom:14px;gap:8px; }
body[data-page="reports"] .filters input,body[data-page="reports"] .filters select { min-height:32px;font-size:12px; }
body[data-page="reports"] .report-cards { gap:10px;margin:10px 0 14px; }
body[data-page="reports"] .report-card { padding:12px 14px; }
body[data-page="reports"] .report-card-head { margin-bottom:8px; }
body[data-page="reports"] .report-card-head strong { font-size:14px; }
body[data-page="reports"] .report-card small { font-size:11px;line-height:1.5; }
body[data-page="reports"] .report-card-amount { font-size:21px;margin:3px 0 6px; }
body[data-page="reports"] .report-card p { font-size:12px;margin-bottom:6px; }
body[data-page="reports"] .report-toolbar { margin:12px 0;gap:12px; }
body[data-page="reports"] .report-modes button { padding:7px 12px;min-height:34px;font-size:12px; }
body[data-page="reports"] .report-note { margin:10px 0;font-size:11px;line-height:1.6; }
body[data-page="reports"] .report-warning { padding:8px 12px;font-size:11px;line-height:1.6;margin:10px 0; }
body[data-page="reports"] .panel-head { padding:12px 16px; }
body[data-page="reports"] .panel-head small { margin-top:3px;font-size:11px; }
body[data-page="reports"] .report-trend svg { height:120px; }
.report-table-wrap { max-height:650px;scrollbar-width:thin; }
.report-table { min-width:2100px;font-size:11px;line-height:1.5; }
.report-table .report-date-col { width:88px; }
.report-table .report-identity-col { width:144px; }
.report-table .report-state-col { width:68px; }
.report-table .report-captured-col { width:130px; }
.report-table .report-sheet-col { width:62px; }
.report-table thead th,.report-table th.report-money,.report-table th.report-ratio,.report-table th.report-decimal {
  background:#237d32;color:#fff;font-size:11px;font-weight:600;line-height:1.45;
  padding:7px 6px;white-space:normal;text-align:center;border-right:1px solid #ffffff30;border-bottom:1px solid #1f6e2b;
}
.report-row-tone-0 { --report-row-bg:#e7f5ff; }
.report-row-tone-1 { --report-row-bg:#fdebed; }
.report-row-tone-2 { --report-row-bg:#e5f6eb; }
.report-row-tone-3 { --report-row-bg:#fff4db; }
.report-row-tone-4 { --report-row-bg:#edf3ff; }
.report-row-tone-5 { --report-row-bg:#fff0de; }
.report-table tbody td,.report-table td:first-child,.report-table tbody td.report-money,.report-table tbody td.report-ratio,.report-table tbody td.report-decimal {
  background:var(--report-row-bg,#fff);padding:5px 6px;border-right:1px solid #395e4715;border-bottom:1px solid #395e4720;
  color:#20362a;white-space:nowrap;font-size:11px;line-height:1.5;
}
.report-table tbody td.report-money { color:#2053ae; }
.report-table tbody td.negative { color:#b52334; }
.report-table .table-sub { display:inline;margin-left:4px;color:#405849;font-size:10px;line-height:1.5; }
.report-table .report-state { font-size:10px;padding:2px 4px;line-height:1.4; }

/* Three-day comparisons share the existing restrained green workspace. */
body[data-page="overview"] .work-tabs { grid-template-columns:repeat(6,minmax(0,1fr)) auto; }
.stat-history { margin-top:14px;padding-top:10px;border-top:1px solid #dce8df;font-size:11px;color:#536b5d; }
.stat-history>div { display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;margin:5px 0;align-items:baseline; }
.stat-history b { text-align:right;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.stat-history small { grid-column:1/-1;text-align:right;font-size:11px;color:#657c6e; }
.stat-history small:empty { display:none; }
.curve-modes { display:flex;gap:4px;flex-wrap:wrap; }
.curve-modes .secondary { padding:7px 12px;min-height:36px;font-size:12px;background:#f2f6f3;border-color:transparent; }
.curve-modes .selected { background:#e3f0e8;border-color:#78a58a;color:#125e48; }
.curve-body { padding:18px 24px 20px; }
.curve-legend { display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-bottom:16px;font-size:12px; }
.curve-legend>span,.curve-detail span { display:flex;align-items:center;gap:7px; }
.curve-legend i,.curve-detail i { height:8px;width:8px;flex-shrink:0;border:2px solid var(--curve-color);border-radius:50%;background:#fff; }
.curve-legend small,.curve-detail small { color:#597163;font-size:11px;font-weight:400; }
.curve-legend>small { margin-left:auto; }
.operating-curve { width:100%;display:block;overflow:visible; }
.operating-curve text { fill:#597163;font-size:11px;font-variant-numeric:tabular-nums; }
.curve-hit { cursor:crosshair; }
.curve-hit:focus { outline:none;fill:#167c6010;stroke:#167c60;stroke-width:1; }
.curve-detail { display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:12px 24px;background:#f4f7f4;border-radius:8px;padding:14px 16px;align-items:start; }
.curve-detail>strong { font-size:12px;font-variant-numeric:tabular-nums;padding-top:3px; }
.curve-detail>div { display:grid;gap:6px;min-width:0;font-size:12px; }
.curve-detail b { font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.curve-detail b small { white-space:nowrap; }
.curve-note { margin:12px 0 0;font-size:11px;color:#597163;line-height:1.8;max-width:110ch; }
@media(max-width:1100px) {
  body[data-page="overview"] .work-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .curve-detail { gap:12px; }
  .curve-legend { gap:10px 16px; }
}
@media(max-width:650px) {
  body[data-page="overview"] .work-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .curve-body { padding:12px; }
  .curve-modes { width:100%; }
  .curve-modes .secondary { flex:1;min-height:40px; }
  .curve-detail { grid-template-columns:1fr;padding:12px;gap:12px; }
  .curve-detail>div { grid-template-columns:minmax(0,1fr) auto;gap:4px 10px; }
  .curve-detail>div>small { grid-column:1/-1; }
  .curve-detail span { flex-wrap:wrap;gap:4px; }
  .curve-legend { gap:8px 12px; }
  .curve-legend>small { margin-left:0;width:100%; }
  .stat-history>div { column-gap:4px; }
  .stat-history { font-size:10px; }
  .operating-curve text { font-size:16px; }
}
.bonus-toolbar { display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:20px 0; }
.bonus-date { display:flex;align-items:center;gap:8px;font-size:12px;color:#50685a; }
.bonus-date select { padding:8px;min-height:38px;border:1px solid #cbdacf;border-radius:6px;background:white;color:var(--ink); }
.bonus-zero { display:flex;align-items:center;gap:7px;margin-left:auto;font-size:12px;color:#50685a; }
.bonus-zero input { accent-color:var(--green);width:16px;height:16px; }
.bonus-stats .stat { min-height:150px; }
.bonus-detail-table .bonus-amount { font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap; }
.bonus-share { display:block;min-width:80px;font-variant-numeric:tabular-nums; }
.bonus-share-track { display:block;height:3px;background:#dfe9e2;width:80px;margin-top:7px;border-radius:2px; }
.bonus-share-track i { display:block;background:#328569;height:100%;border-radius:2px; }
.bonus-detail-table td:first-child { min-width:150px; }
.bonus-detail-table td:last-child { white-space:nowrap; }
.bonus-history-table th { min-width:115px; }
.bonus-history-table th:first-child { min-width:120px; }
.bonus-history-table .table-sub { font-size:10px; }
.bonus-history-table td { white-space:nowrap; }
.bonus-footnote { line-height:1.9;max-width:110ch; }
.bonus-detail-table { font-size:14px;font-variant-numeric:tabular-nums; }
.bonus-detail-table .bonus-amount,.bonus-detail-table .bonus-count,.bonus-detail-table .bonus-share { font-weight:700;font-size:15px;color:#143d30; }
.bonus-detail-table .table-name { font-weight:650;color:#183d31; }
.bonus-detail-table .table-sub { color:#496355;font-size:12px;font-weight:500; }
.bonus-detail-table .negative { color:#a52e28; }
.bonus-history-table td { font-size:13px;font-weight:650;color:#183d31; }
.bonus-history-table .table-sub { font-size:12px;color:#375c48;font-weight:600; }
.bonus-history-table .bonus-history-count { color:#253f34;margin-top:5px; }
.bonus-history-table .bonus-money-link { font-size:inherit;font-weight:750;color:#2051a4;white-space:nowrap;padding:5px 0;text-underline-offset:3px; }
.bonus-history-table .negative .bonus-money-link { color:#a52e28; }
.bonus-history-table .bonus-money-link:hover { text-decoration:underline; }
.bonus-detail-table th { color:#315643;font-weight:700; }
.bonus-today { min-height:40px; }
@media(max-width:650px){.bonus-zero{margin-left:0;width:100%;}.bonus-stats .stat-value{font-size:20px}.bonus-toolbar{gap:12px}.bonus-toolbar .report-modes{width:100%;display:flex}.bonus-toolbar .report-modes button{flex:1;min-height:40px}.bonus-detail-table{font-size:12px}.bonus-detail-table td{padding:12px}.bonus-date{flex-wrap:wrap}}
.report-table td:nth-child(1),.report-table th:nth-child(1) { min-width:88px;width:88px;left:0;background:var(--report-row-bg,#fff); }
.report-table td:nth-child(2),.report-table th:nth-child(2) { position:sticky;left:88px;min-width:144px;width:144px;z-index:2;background:var(--report-row-bg,#fff);border-right:1px solid #628f6a; }
.report-table thead th:nth-child(1),.report-table thead th:nth-child(2) { background:#237d32;color:white;z-index:4; }
.report-table tbody tr:hover td { background:var(--report-row-bg,#fff);box-shadow:inset 0 1px #48895b,inset 0 -1px #48895b; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .sidebar,body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .topbar { display:none; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .main-shell { margin-left:0;width:100%; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] main { max-width:none;padding:12px 16px; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .page-head { margin-bottom:10px; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .page-head .muted,
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-cards,
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-trend-panel,
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-trend,
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] footer { display:none; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-table-wrap { max-height:calc(100dvh - 270px);min-height:200px;scrollbar-gutter:stable; }
.report-fit-controls { display:none; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-fit-controls { display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.report-fit-controls button { min-height:32px;padding:6px 10px;font-size:12px; }
.report-fit-controls button.selected { background:#e5f2ea;color:#176643;border-color:#86b89c; }
.report-fit-value { min-width:3ch;font-size:12px;color:#405849;font-variant-numeric:tabular-nums; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-table { width:1800px;min-width:1800px; }
body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-table tbody td { padding:4px; }
@media(max-width:760px) {
  body[data-page="reports"] .page-head h1 { font-size:23px; }
  body[data-page="reports"] .report-card-amount { font-size:20px; }
  body[data-page="reports"] .report-table-wrap { max-height:65dvh; }
  body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] main { padding:12px; }
  body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .report-table-wrap { max-height:60dvh; }
  body:is([data-page="reports"],[data-page="bonuses"])[data-report-focus="true"] .panel-head { align-items:flex-start;flex-wrap:wrap;gap:10px; }
}
@media(pointer:coarse) {
  body[data-page="reports"] .filters input,body[data-page="reports"] .filters select { font-size:16px;min-height:40px; }
  body[data-page="reports"] .report-modes button { min-height:44px; }
  .report-fit-controls button { min-height:44px; }
}
.bonus-detail-table tbody td { background:var(--report-row-bg,#fff); }
.bonus-detail-table tbody tr:hover td { box-shadow:inset 0 1px #48895b,inset 0 -1px #48895b; }
.bonus-overview .bonus-stats { margin:0;padding:12px 24px;border-radius:0; }
.bonus-overview .bonus-stats .stat { min-height:130px; }
.bonus-overview .bonus-stats .stat-value { font-size:24px; }
.bonus-overview .bonus-detail-table td { padding:12px 16px; }
.bonus-overview .bonus-footnote { padding:0 24px 20px;margin-bottom:0; }
.bonus-overview .report-warning { margin:16px 24px; }
.bonus-overview .panel-head { flex-wrap:wrap;gap:12px; }
@media(max-width:650px){.bonus-overview .bonus-stats{padding:8px 12px}.bonus-overview .bonus-stats .stat-value{font-size:20px}.bonus-overview .bonus-footnote{padding:0 12px 16px}}

body[data-page="bonuses"][data-report-focus="true"] .bonus-stats { display:none; }

.bonus-analysis-body { padding:20px 24px 24px;line-height:1.8;font-size:14px; }
.bonus-analysis-body>p { max-width:78ch;margin:0 0 12px; }
.bonus-analysis-lead { font-weight:600;color:var(--ink);font-size:16px; }
.bonus-analysis-body h4 { margin:24px 0 12px;font-size:15px; }
.bonus-analysis-body table { font-variant-numeric:tabular-nums;font-size:12px; }
.bonus-analysis-body th,.bonus-analysis-body td { padding:12px;white-space:nowrap; }
.bonus-analysis-summary { min-width:720px; }
.bonus-analysis-findings { padding:0;margin:0;list-style:none; }
.bonus-analysis-findings li { display:grid;grid-template-columns:minmax(130px,180px) 1fr;gap:8px 20px;padding:10px 0;border-bottom:1px solid var(--line); }
.bonus-analysis-findings span { overflow-wrap:anywhere; }
.bonus-analysis-details { margin:20px 0; }
.bonus-analysis-details summary { cursor:pointer;color:var(--green);font-weight:600;min-height:44px;padding:10px 0; }
.bonus-analysis-details summary:focus-visible { outline:2px solid var(--green);outline-offset:4px; }
.bonus-analysis-details td { background:var(--report-row-bg,#fff); }
.bonus-analysis-body .bonus-analysis-note { color:#50685a;font-size:12px;margin-top:14px; }
@media(max-width:650px){.bonus-analysis-body{padding:16px;font-size:13px}.bonus-analysis-lead{font-size:15px}.bonus-analysis-findings li{grid-template-columns:1fr;gap:3px}.bonus-analysis-body th,.bonus-analysis-body td{padding:10px}}

/* One log category and ten rows per page; controls stay usable on narrow screens. */
.log-views { display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 16px; }
.log-views .secondary { min-height:40px; }
.log-views .selected,.log-page-controls .selected { color:#125e48;background:#e3f0e8;border-color:#78a58a; }
.log-pagination { flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px; }
.log-page-controls { display:flex;flex-wrap:wrap;align-items:center;gap:6px; }
.log-page-controls .secondary { min-height:36px;padding:7px 10px; }
.log-page-number { min-width:36px;font-variant-numeric:tabular-nums; }
.log-page-gap { padding:0 4px; }
.exception-table td { overflow-wrap:anywhere; }
@media(max-width:650px){.log-pagination{padding:16px 12px;}.log-views .secondary{flex:1;}.log-page-controls{gap:4px;}.log-page-controls .secondary{min-height:40px;}.exception-table{min-width:700px;}}

.stat-history-source { margin:10px 0 0;font-size:11px;line-height:1.5;color:#536b5d; }

.report-table .report-detail-note { display:block;max-width:180px;white-space:normal;line-height:1.45; }
