/* Monthly reports share the same typography and controls in admin and public views. */
.report{display:flex;flex-direction:column;gap:18px;min-width:0}
.report-card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);min-width:0}
.report-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:20px}
.report-field{display:flex;flex-direction:column;gap:7px}
.report-field>label{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.report input,.report select,.report button{font:inherit}
.report input,.report select{padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--bg-tint);color:var(--ink);font-size:14px}
.report [hidden]{display:none!important}
.report .btn{font-size:13.5px;font-weight:600;line-height:1.6;padding:9px 18px;border:1px solid transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--brand);color:var(--brand-ink);cursor:pointer;white-space:nowrap}
.report .btn.ghost{background:var(--card);color:var(--ink-2);border-color:var(--line)}
.report .btn:hover{filter:brightness(1.05)}
.report-exports{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.report-stat{padding:17px 20px;min-width:0}
.report-stat .k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.report-stat strong{font-size:23px;letter-spacing:-.03em;line-height:1.3;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.report-stat small{font-size:12px;color:var(--ink-3);margin-left:6px}
.report-section-title{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.report-section-title h2{font-size:15px;font-weight:700;margin:0}
.report-section-title span{font-size:12px;color:var(--ink-3);margin-left:auto}
.report-scroll{overflow-x:auto;border-radius:0 0 16px 16px}
.report-table{width:100%;border-collapse:collapse;min-width:850px;font-size:13px}
.report-table th{position:static;text-align:right;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink-3);background:var(--bg-tint);padding:12px 16px;white-space:normal;line-height:1.5}
.report-table td{padding:14px 16px;border-top:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.report-table th:first-child,.report-table td:first-child{text-align:left;min-width:180px;white-space:normal;overflow-wrap:anywhere}
.report-table td:first-child{font-weight:600}
.report-table tbody tr:hover{background:var(--bg-tint)}
.report-value{display:inline-block;border-radius:7px;padding:4px 8px;background:var(--green-soft);color:var(--green-ink);font-weight:650}
.report-value.down{background:var(--amber-soft);color:var(--amber-ink)}
.report-value.unknown{background:var(--bg-tint);color:var(--ink-3);font-weight:400}
.report-note{padding:18px 20px;font-size:12.5px;line-height:1.7;color:var(--ink-3);display:flex;flex-direction:column;gap:7px}
.report-note h2{font-size:13px;color:var(--ink-2);margin:0}
.report-note p{margin:0}
.month-picker{position:relative;min-width:240px}
.month-picker>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--bg-tint);color:var(--ink);font-size:14px;cursor:pointer;min-height:43px}
.month-picker>summary::-webkit-details-marker{display:none}
.month-picker>summary svg{flex:none;color:var(--ink-3)}
.month-picker>summary::after{content:'⌄';margin-left:auto;color:var(--ink-3)}
.month-picker[open]>summary{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.month-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:300px;max-width:calc(100vw - 56px);padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow-md)}
.month-years{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.month-years select{flex:1;min-width:0;width:auto;padding:7px 10px;text-align:center;font-weight:650;background:var(--card)}
.month-years button{border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink-2);width:34px;height:36px;cursor:pointer}
.month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.month-grid button{font-family:var(--sans);font-size:12.5px;font-weight:500;padding:11px 3px;border:1px solid transparent;border-radius:8px;background:var(--bg-tint);color:var(--ink-2);cursor:pointer}
.month-grid button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}
.month-grid button[aria-pressed=true]{background:var(--brand);color:var(--brand-ink);font-weight:700}
.month-picker button:disabled{opacity:.35;cursor:not-allowed}
.month-picker :focus-visible,.report :focus-visible{outline:2px solid var(--brand);outline-offset:3px}
@media(max-width:650px){.report-toolbar{padding:16px}.report-field,.month-picker{width:100%;min-width:0}.report-exports{margin-left:0;width:100%}.report-exports .btn{flex:1}.report-summary{gap:8px}.report-stat{padding:12px}.report-stat strong{font-size:17px}.report-stat .k{font-size:9px;letter-spacing:.04em}.report-stat small{display:block;margin:3px 0 0}.report-section-title{padding:14px 16px}.report-note{padding:16px}}
