/* v19 Super admin + venue manager screens: homes, venues, settings, users, setup. */

.v19-stat { display: flex; flex-direction: column; gap: 6px; }
.v19-stat .value { font-size: 30px; line-height: 1; margin-top: 0; }
.v19-stat .note { font-size: 13px; color: var(--fg-subtle); }
.v19-stat .note.warn { color: var(--candle-800); }
.v19-stat .note.up { color: var(--moss-700); }

.rev-card { padding: 18px 22px 8px; }
.rev-head { display: flex; align-items: baseline; gap: 12px; padding-bottom: 10px; }
.rev-row { display: grid; grid-template-columns: 170px minmax(0, 1fr) 92px 190px; gap: 14px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); color: var(--fg); }
.rev-row:hover .rev-name { text-decoration: underline; text-underline-offset: 3px; }
.rev-name { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rev-bar { height: 8px; border-radius: 999px; background: var(--cream-200); overflow: hidden; }
.rev-bar > span { display: block; height: 100%; border-radius: 999px; background: var(--bark, #3A2417); }
.rev-value { font-family: var(--font-mono); font-size: 13.5px; text-align: right; }
.rev-note { font-size: 12.5px; text-align: right; color: var(--fg-subtle); }
.rev-note.up { color: var(--moss-700); }
.rev-note.warn { color: var(--candle-800); }

.exp-tile { display: block; border-radius: 10px; overflow: hidden; background: #FFFDF8; border: 1px solid var(--line); box-shadow: var(--shadow-card); color: var(--fg); }
.exp-tile .cover { height: 92px; background-color: var(--cream-200); background-size: cover; background-position: center; }
.exp-tile .body { padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; }
.exp-tile .title { font-family: var(--font-display); font-weight: 600; font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mono { font-family: var(--font-mono); }

.dashed-note { padding: 18px 20px; border-radius: 12px; border: 1px dashed var(--line-strong); font-size: 15.5px; color: var(--fg-muted); }
.dashed-banner { padding: 11px 16px; border-radius: 10px; border: 1px dashed var(--line-strong); font-size: 14px; color: var(--fg-muted); }

.venue-card { border-radius: 12px; overflow: hidden; background: #FFFDF8; border: 1px solid var(--line); box-shadow: var(--shadow-card); transition: box-shadow var(--dur-fast); }
.venue-card:hover { box-shadow: 0 6px 22px rgba(60,40,20,.08); }
.venue-card .cover { position: relative; display: block; height: 150px; background-color: var(--cream-200); background-size: cover; background-position: center; }
.venue-tag { position: absolute; top: 12px; right: 12px; padding: 4px 10px; border-radius: 999px; font-size: 12px; background: rgba(251,247,238,.94); color: var(--fg-muted); }
.venue-tag.ok { color: var(--moss-700); }
.venue-tag.warn { color: var(--candle-800); }
.venue-card .body { padding: 16px 18px; display: flex; align-items: center; gap: 12px; }
.venue-card .body > a.grow { min-width: 0; display: flex; flex-direction: column; gap: 4px; color: var(--fg); }
.venue-card .name-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.venue-card .name { font-family: var(--font-display); font-weight: 600; font-size: 21px; }
.venue-card .summary { font-size: 13.5px; color: var(--fg-muted); }
.gear { width: 34px; height: 34px; flex: none; border-radius: 8px; border: 1px solid var(--line-strong); display: flex; align-items: center; justify-content: center; background: #FFFDF8; color: var(--fg-muted); }
.gear:hover { background: var(--cream-200); color: var(--fg); }

.fact-block { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 18px 20px; }
.fact { display: flex; flex-direction: column; gap: 3px; }
.fact .k { font-size: 13px; color: var(--fg-subtle); }
.fact .v { font-size: 15px; }

.settings-progress { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-bottom: 14px; }
.settings-progress .progress { width: 160px; }
.settings-group { padding: 16px 18px 8px; }
.settings-group .card-title { font-size: 20px; padding-bottom: 8px; }
.settings-item { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); color: var(--fg); font-size: 15px; }
.settings-item:hover .grow { text-decoration: underline; text-underline-offset: 3px; }
.settings-item .mark { width: 20px; height: 20px; flex: none; border-radius: 50%; box-sizing: border-box; border: 1px solid var(--candle-400); display: flex; align-items: center; justify-content: center; color: var(--cream-50); }
.settings-item .mark.done { border-color: var(--moss-700); background: var(--moss-700); }
.settings-item .mark svg { width: 12px; height: 12px; }
.settings-item .meta { font-size: 13px; color: var(--candle-800); }
.settings-item .meta.done, .settings-item .meta.optional { color: var(--fg-subtle); }

.art-requests { padding: 16px 22px 8px; }
.art-req { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.group-chip { display: inline-flex; padding: 3px 10px; border-radius: 999px; font-size: 12px; white-space: nowrap; color: var(--fg-muted); border: 1px solid rgba(74,52,30,.2); }
.group-chip.guest { background: #F3EDE6; color: #3A2417; border-color: transparent; }
.status-chips { display: flex; gap: 4px; flex-wrap: wrap; }
.mini-chip { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 999px; font-size: 11.5px; white-space: nowrap; background: #F3EDE6; color: #3A2417; border: 1px solid transparent; }
.mini-chip.ok { background: color-mix(in oklab, var(--moss-500) 16%, var(--cream-50)); color: var(--moss-700); }
.mini-chip.warn { background: color-mix(in oklab, var(--candle-400) 24%, #FFFDF8); color: var(--candle-800); }
.mini-chip.muted { background: var(--cream-100); color: var(--fg-subtle); }
.mini-chip.line { background: transparent; border-color: currentColor; }

.users-count { display: flex; gap: 12px; align-items: center; }
.btn.is-dimmed, .btn:disabled.is-dimmed { opacity: .4; cursor: not-allowed; }

.dialog-cols { width: min(560px, calc(100vw - 32px)); }
.dialog-cols .cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 12px; }
.dialog-cols .col-head { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; color: var(--fg-subtle); }
.dialog-cols .col-head.warn { color: var(--candle-800); }
.dialog-cols .col-head.danger { color: var(--danger); }
.dialog-cols .col-head.ok { color: var(--moss-700); }
.dialog-cols ul { margin: 0; padding-left: 18px; font-size: 14px; color: var(--fg-muted); display: flex; flex-direction: column; gap: 4px; }

.role-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.role-card { padding: 13px 14px; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 5px; }
.role-card .name { font-family: var(--font-display); font-weight: 600; font-size: 16.5px; line-height: 1.15; }
.role-card .desc { font-size: 12.5px; line-height: 1.4; color: var(--fg-muted); }
.role-card .count { margin-top: auto; font-size: 11.5px; color: var(--fg-subtle); }

.staff-card .head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; }
.table td.tick { color: var(--moss-700); }
.table .center { text-align: center; }

.sub-head { margin-top: 4px; }
.sub-head .actions { align-items: center; gap: 16px; }

@media (max-width: 860px) {
  .rev-row { grid-template-columns: 1fr 80px; }
  .rev-bar, .rev-note { display: none; }
  .fact-block { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .role-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
