/* Fire-safety dealership modules, built on the Pilot AI platform tokens. */
:root { --tenant-accent: #f47321; }

/* Company banner: logo tile + tenant accent stripe (no storefront photo). */
.tenant-banner { background: linear-gradient(100deg, #050f1a 0%, #07182a 60%, #0b2238 100%); }
.tenant-banner:after { background: linear-gradient(90deg, var(--tenant-accent), transparent 70%); }
.banner-logo { width: 92px; height: 72px; display: grid; place-items: center; flex-shrink: 0; border-radius: 10px; overflow: hidden; }
.banner-logo img { width: 100%; height: 100%; object-fit: contain; filter: none; }
.banner-logo.on-light { background: #fff; padding: 6px 8px; width: 150px; }
.banner-actions { display: flex; gap: 8px; position: relative; }
.tenant-logo { width: 36px; height: 36px; border-radius: 8px; overflow: hidden; flex-shrink: 0; }
.tenant-logo img { width: 100%; height: 100%; object-fit: contain; }
.tenant-logo.on-light { background: #fff; padding: 2px; }

.funnel-meters { padding: 6px 16px 16px; display: flex; flex-direction: column; gap: 6px; }
.tab-count { opacity: .7; font-weight: 500; margin-left: 4px; }

/* Organization: Dealer (owner) above their Sales Reps. */
.org-tree { padding: 4px 22px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.org-owner { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--tenant-accent); border-radius: 10px; background: #061120; }
.org-owner strong { display: block; color: #fff; font-size: 14px; }
.org-owner span { font-size: 12px; color: var(--pa-muted, #9fb0c7); }
.org-owner .avatar { background: var(--tenant-accent); color: #fff; }
.org-reps { display: flex; flex-wrap: wrap; gap: 8px; padding-left: 22px; border-left: 2px solid #1d3043; }
.org-rep { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 58px; padding: 7px 0; border: 1px solid #1d3043; border-radius: 8px; background: #061120; color: #dbe6f7; font-size: 12px; font-weight: 650; }
.org-rep small { font-size: 10.5px; color: #8fa1b8; font-weight: 500; margin-top: 2px; }

/* Leaderboard podium. */
.podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 16px 22px; }
.podium-spot { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 16px 10px 14px; border: 1px solid #1d3043; border-radius: 10px; background: #061120; text-align: center; }
.podium-spot strong { color: #fff; font-size: 14px; }
.podium-spot > span:not(.podium-rank) { color: #fff; font-size: 20px; font-weight: 700; }
.podium-spot small { color: #8fa1b8; font-size: 11.5px; }
.podium-rank { position: absolute; top: 8px; left: 10px; font-size: 12px; font-weight: 800; }
.podium-spot.gold { border-color: #c9a227; } .podium-spot.gold .podium-rank { color: #f5c542; }
.podium-spot.silver { border-color: #8d99a8; } .podium-spot.silver .podium-rank { color: #c7d0db; }
.podium-spot.bronze { border-color: #a5683a; } .podium-spot.bronze .podium-rank { color: #e0975f; }

.status.contacted { background: #0b1a33; color: #8ab4ff; border-color: #1f3b66; }
.status + .status { margin-left: 4px; }

/* Login screen (shown until a member of this company signs in). */
body.locked .app, body.locked .float-rhino { display: none !important; }
.login { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; background: radial-gradient(ellipse at top, #0b2238 0%, #020a13 60%); }
.login-card { width: min(420px, 100%); padding: 30px 28px 26px; border: 1px solid #1d3043; border-top: 3px solid var(--tenant-accent); border-radius: 16px; background: #061120; }
.login-brand { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 26px; }
.login-brand > img { width: 110px; height: auto; }
.login-tenant { width: 96px; height: 84px; }
.login-tenant img { width: auto; height: auto; max-width: 100%; max-height: 84px; }
.login-tenant.on-light { width: 150px; }
.login h1 { font-size: 24px; color: #fff; }
.login-sub { color: #9fb0c7; font-size: 14px; margin: 4px 0 22px; }
.login .field input { background: #030d19; border-color: #253a4f; color: #f4f6fb; }
.login .error { margin: 0 0 12px; }
.login-submit { width: 100%; padding: 12px; }
.login-note { margin-top: 16px; font-size: 12.5px; color: #9fb0c7; line-height: 1.6; }
.login-note strong { color: #fff; }
#login-denied .login-submit { margin-top: 16px; }
.text-link { color: #6ea2ff; padding: 0; font-size: inherit; text-decoration: underline; }

@media (max-width: 640px) { .podium { grid-template-columns: 1fr; } .banner-logo.on-light { width: 120px; } }
