*{box-sizing:border-box}body{margin:0;background:#090d16;color:#f8fafc;font-family:Inter,"Noto Sans Thai",Arial,sans-serif;padding:24px}a{color:#93c5fd;text-decoration:none}.wrap{max-width:1200px;margin:auto}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav a,.btn,button{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#182137;color:#fff;font-weight:700;cursor:pointer}.btn.primary,button.primary{background:linear-gradient(135deg,#6366f1,#a855f7);border:0}.btn.danger,button.danger{background:#7f1d1d}.btn.muted,button.muted{background:#273449}.panel,.card{background:#121a2b;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px;box-shadow:0 12px 36px rgba(0,0,0,.22)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.metric strong{display:block;font-size:1.65rem;margin-top:6px}.muted{color:#94a3b8}.danger-text{color:#fca5a5}.success-text{color:#86efac}.warn-text{color:#fde68a}input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#0d1424;color:#fff}label{display:block;font-size:.88rem;color:#cbd5e1;margin-bottom:5px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;margin-top:12px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}.table th{color:#cbd5e1;font-size:.85rem}.badge{display:inline-block;padding:4px 9px;border-radius:999px;background:#334155;font-size:.78rem}.badge.ok{background:#14532d}.badge.warn{background:#854d0e}.badge.bad{background:#7f1d1d}.stack{display:flex;flex-direction:column;gap:12px}.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.toolbar>div{min-width:150px}.message{padding:10px 12px;border-radius:10px;margin:10px 0;background:#1e293b}.hidden{display:none!important}h1,h2,h3{margin-top:0}.small{font-size:.82rem}.right{text-align:right}@media(max-width:700px){body{padding:14px}.table{font-size:.85rem}.topbar{align-items:flex-start}}

/* Monthly report v4.1 */
.report-document-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 0 10px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:20px}.report-kicker{font-size:.72rem;letter-spacing:.16em;color:#93c5fd;font-weight:800}.report-document-header h1{margin:5px 0}.report-meta{display:grid;gap:8px;min-width:230px}.report-meta>div{display:flex;justify-content:space-between;gap:12px;font-size:.85rem}.report-meta span{color:#94a3b8}.report-section{margin-top:24px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.report-two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-list{display:grid;gap:4px}.summary-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.summary-row:last-child{border-bottom:0}.summary-total{margin-top:4px;padding-top:13px;border-top:1px solid rgba(255,255,255,.2);font-size:1.08rem}.compact-table{font-size:.86rem}.report-details summary{cursor:pointer;font-weight:800}.report-details[open] summary{margin-bottom:12px}.trend-chart{display:grid;gap:8px;margin:12px 0 18px}.trend-row{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px}.trend-month{font-size:.78rem;color:#cbd5e1}.trend-bars{height:22px;position:relative;background:#0d1424;border-radius:6px;overflow:hidden}.trend-bar{position:absolute;left:0;height:9px;min-width:1px;border-radius:4px}.trend-bar.billed{top:2px;background:#818cf8}.trend-bar.received{bottom:2px;background:#34d399}.trend-legend{display:flex;gap:18px;font-size:.8rem;color:#cbd5e1}.trend-legend span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;background:#818cf8}.trend-legend span+span:before{background:#34d399}.metric-positive{border-color:rgba(52,211,153,.35)}.metric-warning{border-color:rgba(251,191,36,.35)}.report-notes li{margin:6px 0;color:#cbd5e1}.report-footer{display:flex;justify-content:space-between;margin-top:26px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;color:#94a3b8}
@media(max-width:850px){.report-two-columns{grid-template-columns:1fr}.report-document-header{display:block}.report-meta{margin-top:12px;max-width:420px}}
@media print{body{background:#fff;color:#111;padding:0;font-family:"Noto Sans Thai",Arial,sans-serif}.wrap{max-width:none}.no-print{display:none!important}.panel,.card{background:#fff;color:#111;border:1px solid #d1d5db;box-shadow:none;break-inside:avoid}.muted{color:#4b5563}.report-document-header{border-color:#cbd5e1}.report-kicker{color:#1d4ed8}.report-section{break-before:auto}.report-section h2{border-bottom:1px solid #cbd5e1;padding-bottom:5px}.table th,.table td{border-color:#d1d5db;color:#111;padding:6px}.table th{color:#374151}.trend-bars{background:#f1f5f9}.summary-row{border-color:#e5e7eb}.report-footer{border-color:#cbd5e1;color:#475569}.report-details{break-inside:auto}.report-details:not([open])>*:not(summary){display:block!important}.report-details summary{list-style:none}.report-details summary::-webkit-details-marker{display:none}.report-notes{break-inside:avoid}@page{size:A4 landscape;margin:10mm}}
