/* styles for room_listing_chart.php */

*{ box-sizing:border-box; }
body{ margin:0; padding:14px 18px; background:#f6f4ee; color:#1e2a2a;
      font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif; font-size:14px; }
h1{ margin:0; font-size:18px; font-weight:800; }
.top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; gap:10px; }
.top .buttons{ display:flex; gap:6px; }
.btn, button{ background:#1e2a2a; color:#fff; border:0; border-radius:6px; padding:4px 12px;
      font-weight:700; font-size:13px; cursor:pointer; }
.btn.light{ background:#ece7da; color:#1e2a2a; }
.card{ background:#fffdf8; border:1px solid #ece7da; border-radius:14px; padding:16px 20px; margin-bottom:14px; }
.msg{ background:#fdecea; color:#c62828; border-radius:10px; padding:10px 14px; margin-bottom:10px; }
.empty{ color:#8a938f; text-align:center; padding:30px; }

/* compact control box */
.bar{ padding:6px 12px; margin-bottom:8px; border-radius:10px; }
.controls{ display:flex; flex-wrap:wrap; gap:6px 16px; align-items:center; }
.controls div{ display:flex; align-items:center; gap:6px; }
.caption{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#8a938f; }
input, select{ padding:3px 7px; border:1px solid #d9d3c3; border-radius:6px; font:inherit; font-size:13px; background:#fff; }
.day_total{ margin-left:auto; }
.day_total b{ font-size:16px; font-weight:800; font-variant-numeric:tabular-nums; }
.day_total + .legend{ margin-left:0; }
.legend{ margin-left:auto; }
.legend{ gap:4px !important; }
.legend .cell{ display:inline-block; width:auto; height:auto; padding:1px 6px; border-radius:4px;
               font-size:11px; font-weight:700; line-height:16px; }

/* one column per floor, side by side, wrapping on narrow screens */
.floors{ display:flex; flex-wrap:wrap; gap:12px; align-items:flex-start; }
.floor{ padding:10px 12px; margin-bottom:0; flex:0 0 auto; }
.floor_head{ font-size:16px; font-weight:800; margin-bottom:6px; display:flex; align-items:baseline; gap:8px; }

.floor table{ border-collapse:separate; border-spacing:3px; }
.floor th{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:#8a938f; text-align:left; padding:2px 4px; }
.floor th.half{ text-align:center; }
.floor td.stall{ font-weight:700; padding:3px 8px 3px 2px; white-space:nowrap; }

/* usage cells */
.cell{ width:58px; height:26px; text-align:center; border-radius:5px; font-weight:800;
       font-variant-numeric:tabular-nums; font-size:13px; }
.cell.on{ background:#2e9d5b; color:#fff; }          /* over the limit: green with the number */
.cell.off{ background:#c9c9c4; }                      /* at / under the limit: grey */
.cell.none{ background:#fff; color:#b9b2a0; border:1px dashed #d9d3c3; font-weight:400; }

/* stall_id opens its daily usage */
a.stall_link{ color:#1e2a2a; text-decoration:none; border-bottom:1px dashed #b9b2a0; }
a.stall_link:hover{ color:#2e7d5b; border-bottom:1px solid #2e7d5b; }
/* RENTED stall: green */
.floor td.stall.rented{ background:#dff3e6; border-radius:5px; padding-left:6px; }
.floor td.stall.rented a.stall_link{ color:#1f7a45; border-bottom-color:#7cc49a; }
/* not rented but using power: red text */
.floor td.stall.used_not_rented a.stall_link{ color:#c62828; border-bottom-color:#e8a3a3; }

/* modal: dark backdrop over the page, box 80% x 80% in the middle; backdrop click closes */
.modal{ display:none; position:fixed; inset:0; z-index:100; background:rgba(20,28,28,.55);
        align-items:center; justify-content:center; cursor:pointer; }
.modal.open{ display:flex; }
.modal_box{ width:80%; height:80%; background:#fffdf8; border-radius:12px; overflow:hidden;
            box-shadow:0 12px 40px rgba(0,0,0,.35); cursor:default; }
.modal_box iframe{ width:100%; height:100%; border:0; display:block; }

@media print{
    .noprint{ display:none; }
    body{ background:#fff; padding:0; }
    .cell.on, .cell.off{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
