/* ACME unified console — sits on top of Bootstrap 5.3 + brand.css.
   Reuses the public-site palette (ink + ember + steel) for a cohesive feel. */

body.console {
  background: #eceef1;
  color: var(--ink);
  min-height: 100vh;
}

/* ── Top bar ─────────────────────────────────────────────────────────────── */
.console-nav {
  background: rgba(20, 21, 26, .97);
  backdrop-filter: blur(10px);
}
.console-nav .navbar-brand {
  text-transform: uppercase;
  font-weight: 500;
  color: #fff;
  font-size: 1.02rem;
}
.console-nav .navbar-brand strong { color: var(--ember); }
.console-nav .brand-mark { filter: invert(1) brightness(1.6); }
.console-nav .nav-link {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .9rem;
  color: var(--steel-light);
  padding: .5rem .9rem;
  border-radius: 8px;
}
.console-nav .nav-link:hover { color: #fff; }
.console-nav .nav-link.active {
  color: var(--ink);
  background: var(--ember);
  font-weight: 600;
}
.console-nav .nav-link .subcaret { font-size: .7em; opacity: .7; }
.console-nav .dropdown-menu {
  background: var(--ink-2);
  border: 1px solid rgba(255, 255, 255, .08);
}
.console-nav .dropdown-item {
  color: var(--steel-light);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: .82rem;
}
.console-nav .dropdown-item:hover { background: rgba(240, 165, 0, .15); color: #fff; }
.console-user { color: var(--steel); font-size: .82rem; }

/* ── Page frame ──────────────────────────────────────────────────────────── */
.console-main { padding: 2rem 0 4rem; }
.page-head { margin-bottom: 1.6rem; }
.page-head h1 {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: .02em;
  font-size: 1.8rem;
  margin: 0;
}
.page-head .eyebrow { margin-bottom: .35rem; }

/* ── Cards / stats ───────────────────────────────────────────────────────── */
.card { border: 1px solid rgba(20, 21, 26, .08); border-radius: 14px; }
.stat-card { border-top: 3px solid var(--ember); background: #fff; }
.stat-card .stat-num {
  font-family: 'Oswald', sans-serif;
  font-size: 2.3rem;
  line-height: 1;
  color: var(--ink);
}
.stat-card .stat-label {
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .72rem;
  color: var(--steel);
}

.biz-card { background: #fff; }
.biz-card .biz-name {
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  font-size: 1.15rem;
}
.biz-card .biz-legal { color: var(--steel); font-size: .8rem; }
.occ-bar { height: 8px; border-radius: 6px; background: #e2e6ea; overflow: hidden; }
.occ-bar > span { display: block; height: 100%; background: var(--ember); }

/* ── Tables ──────────────────────────────────────────────────────────────── */
.table thead th {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .72rem;
  color: var(--steel);
  border-bottom: 2px solid rgba(20, 21, 26, .12);
}
.room-status { font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.feature-chip {
  display: inline-block;
  font-size: .72rem;
  padding: .12rem .5rem;
  margin: .1rem .15rem 0 0;
  border-radius: 20px;
  background: #eef1f4;
  color: #4a5058;
  border: 1px solid rgba(20, 21, 26, .08);
}
.amenity-row td { background: #f6f4ee; }

/* ── Login ───────────────────────────────────────────────────────────────── */
.login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(ellipse at 50% 20%, #2a2d36 0%, var(--ink) 60%);
}
.login-card {
  width: 100%;
  max-width: 380px;
  border: none;
  border-radius: 18px;
  background: linear-gradient(160deg, #23252d, var(--ink));
  box-shadow: 0 0 0 1px rgba(240, 165, 0, .3), 0 30px 70px rgba(0, 0, 0, .55);
  color: var(--steel-light);
}
.login-card .form-label { color: var(--steel-light); text-transform: uppercase; letter-spacing: .05em; font-size: .72rem; }
.login-card .form-control { background: #14151a; border-color: rgba(255,255,255,.12); color: #fff; }
.login-card .form-control:focus { background: #14151a; color: #fff; border-color: var(--ember); box-shadow: 0 0 0 .2rem rgba(240,165,0,.2); }
.login-logo { height: 96px; filter: invert(1) brightness(1.7) drop-shadow(0 6px 20px rgba(0,0,0,.5)); }

.legacy-frame { width: 100%; height: 78vh; border: 1px solid rgba(20,21,26,.12); border-radius: 12px; background: #fff; }

/* ── Compact pass: tighter tables/lists, smaller text ───────────────────────── */
body.console { font-size: .875rem; }
/* Full-width app body (nav + content span the viewport) */
body.console .container { max-width: 100%; }
.console-main { padding: 1.25rem 0 3rem; }

.page-head { margin-bottom: 1.1rem; }
.page-head h1 { font-size: 1.4rem; }
.page-head .eyebrow { font-size: .7rem; margin-bottom: .2rem; }

.card { border-radius: 11px; }
.card.p-4 { padding: 1.1rem !important; }

/* Tables — denser rows, smaller type */
.table { font-size: .82rem; margin-bottom: 0; }
.table > :not(caption) > * > * { padding: .38rem .55rem; }
.table thead th { font-size: .66rem; }

/* Lists */
.list-group-item { padding: .35rem .7rem; font-size: .84rem; }
.list-group-item .fw-semibold { font-size: .9rem; }

/* Reduce top/bottom padding (3 → 2) on card headers/bodies & list rows in cards */
.card .p-3 { padding-top: .5rem !important; padding-bottom: .5rem !important; }

/* Tasks page: dark category headers with white text */
.task-cat-head { background: var(--ink); color: #fff; border-bottom: 0 !important; }
.task-cat-head .biz-name { color: #fff; }
.task-cat-head .text-muted { color: var(--steel-light) !important; }

/* Stats & headings inside cards */
.stat-card { border-radius: 11px; }
.stat-card .stat-num { font-size: 1.85rem; }
.stat-label { font-size: .66rem; }
.biz-name { font-size: 1rem; }
.biz-legal { font-size: .76rem; }

/* Chips / status pills */
.feature-chip { font-size: .68rem; padding: .1rem .45rem; }
.room-status { font-size: .64rem; }

/* Forms & buttons a touch smaller for density */
.console .form-label { font-size: .72rem; margin-bottom: .15rem; }
.console .form-control, .console .form-select { font-size: .85rem; }
.console .btn { font-size: .82rem; }
.console .btn-sm { font-size: .75rem; }

/* Modal (popup) forms: labels inline with fields */
.modal-body .row { --bs-gutter-y: .5rem; }
.modal-body .row > [class*="col"] {
  flex: 0 0 100%; max-width: 100%;
  display: flex; align-items: center; gap: .6rem;
}
.modal-body .row > [class*="col"] > .form-label {
  flex: 0 0 120px; width: 120px; margin: 0; text-align: right;
  font-size: .72rem; white-space: nowrap;
}
.modal-body .row > [class*="col"] > .form-control,
.modal-body .row > [class*="col"] > .form-select,
.modal-body .row > [class*="col"] > textarea { flex: 1 1 auto; width: auto; }

/* Clickable stat cards */
a.stat-link { display: block; text-decoration: none; color: inherit;
  transition: transform .15s ease, box-shadow .15s ease; }
a.stat-link:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(20,21,26,.14); }
a.stat-link .stat-num { color: var(--ember-dark); }
.chart-card { background: #fff; }
.chart-card h3 { font-family: 'Oswald', sans-serif; text-transform: uppercase; font-size: .95rem; letter-spacing: .02em; margin: 0 0 .75rem; }
.chart-wrap { position: relative; height: 240px; }
