/*
 * Inventory Management System — public pages (phase 20): the live demo's home page (resources/views/inv/release/home.php),
 * a real site's cards into the app (cards.php) and the demo sign-ins on the login page (demo-logins.php). Only the
 * Kit's tokens (tokens.css), so the dark theme ([data-theme="dark"]) needs no rules of its own; no fixed width over
 * 390 px outside a breakpoint, long addresses may break.
 */
.invx { overflow-x: clip; }
.invx-hero { padding-block: var(--space-12) var(--space-10); background: linear-gradient(180deg, var(--brand-soft), var(--bg) 85%); }
.invx-hero-inner { display: grid; gap: var(--space-8); align-items: center; }
.invx-hero-text { min-width: 0; }
.invx-hero-text h1 { font-size: clamp(1.75rem, 4.5vw, 2.75rem); line-height: 1.15; margin: 0 0 var(--space-3); }
.invx-eyebrow { display: inline-flex; gap: var(--space-2); align-items: center; margin: 0 0 var(--space-3); padding: var(--space-1) var(--space-3);
  border-radius: 999px; background: var(--surface); border: 1px solid var(--brand-border); color: var(--brand-text); font-weight: 600; font-size: .875rem; }
.invx-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-5) 0; }
.invx-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; margin: 0; padding: 0; }
.invx-chips li { display: inline-flex; gap: var(--space-1); align-items: center; padding: var(--space-1) var(--space-3); border-radius: 999px;
  background: var(--surface); border: 1px solid var(--border); color: var(--text-muted); font-size: .875rem; }
.invx-hero-art { min-width: 0; }

/* the stock board drawn in CSS */
.invx-board { max-width: 26rem; margin-inline: auto; padding: var(--space-4); border-radius: 1rem; background: var(--surface-raised);
  border: 1px solid var(--border); box-shadow: 0 18px 40px rgb(15 23 41 / .12); display: grid; gap: var(--space-3); }
.invx-board-head { display: flex; justify-content: space-between; gap: var(--space-2); flex-wrap: wrap; align-items: baseline; }
.invx-board-head span, .invx-board-foot { color: var(--text-subtle); font-size: .8rem; }
.invx-board-foot { margin: 0; }
.invx-rack { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); }
.invx-bin { position: relative; display: grid; gap: 2px; padding: var(--space-2); padding-bottom: var(--space-6); border-radius: .5rem;
  background: var(--bg-subtle); border: 1px solid var(--border); min-width: 0; overflow: hidden; }
.invx-bin b { font-size: .8rem; }
.invx-bin small { color: var(--text-subtle); font-size: .7rem; overflow-wrap: anywhere; }
.invx-bin i { position: absolute; left: var(--space-2); right: var(--space-2); bottom: var(--space-2); height: .5rem; border-radius: 999px; background: var(--bg-muted); }
.invx-bin i::after { content: ""; position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: var(--brand); }
.invx-f82::after { width: 82%; }
.invx-f46::after { width: 46%; }
.invx-f14::after { width: 14%; }
.invx-f63::after { width: 63%; }
.invx-bin-full { border-color: var(--brand-border); }
.invx-bin-low { border-color: var(--warning); }
.invx-bin-low i::after { background: var(--warning); }
.invx-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.invx-rows li { display: flex; gap: var(--space-3); align-items: center; padding: var(--space-2) var(--space-3); border-radius: .5rem; background: var(--bg-subtle); min-width: 0; }
.invx-rows div { display: grid; min-width: 0; }
.invx-rows b { font-size: .875rem; overflow-wrap: anywhere; }
.invx-rows small { color: var(--text-subtle); font-size: .75rem; }
.invx-pill { flex: none; padding: 2px var(--space-2); border-radius: 999px; font-size: .75rem; font-weight: 600; }
.invx-pill-warn { background: var(--warning-soft); color: var(--warning); }
.invx-pill-ok { background: var(--success-soft); color: var(--success); }
.invx-bill { padding: var(--space-3); border-radius: .5rem; border: 1px dashed var(--border-strong); background: var(--surface); font-size: .8rem; display: grid; gap: var(--space-1); }
.invx-bill-head, .invx-bill-line, .invx-bill-total { display: flex; justify-content: space-between; gap: var(--space-2); flex-wrap: wrap; }
.invx-bill-head span, .invx-bill-line { color: var(--text-muted); }
.invx-bill-total { border-top: 1px solid var(--border); padding-top: var(--space-1); margin-top: var(--space-1); }

/* sections */
.invx-section { padding-block: var(--space-12); }
.invx-band { background: var(--bg-subtle); }
.invx-section-head { max-width: 46rem; margin: 0 0 var(--space-6); }
.invx-section-head h2 { margin: 0 0 var(--space-2); }
.invx-section-head p { margin: 0; color: var(--text-muted); }
.invx-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.invx-grid-4 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); }
.invx-feature { padding: var(--space-5); display: grid; gap: var(--space-2); align-content: start; }
.invx-feature h3, .invx-who h3 { margin: 0; font-size: 1.05rem; }
.invx-feature p, .invx-who p { margin: 0; color: var(--text-muted); }
.invx-icon { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .75rem; background: var(--brand-soft); color: var(--brand-text); }
.invx-card-link { color: inherit; text-decoration: none; }
.invx-card-link:hover, .invx-card-link:focus-visible { border-color: var(--brand-border); }
.invx-who { display: grid; gap: var(--space-2); align-content: start; color: var(--brand-text); }
.invx-who h3, .invx-who p { color: var(--text); }
.invx-who p { color: var(--text-muted); }
.invx-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.invx-steps li { display: grid; gap: var(--space-2); }
.invx-steps h3 { margin: 0; font-size: 1.05rem; }
.invx-steps p { margin: 0; color: var(--text-muted); }
.invx-step-no { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; background: var(--brand); color: var(--brand-fg); font-weight: 700; }
.invx-faq-wrap { max-width: 52rem; }
.invx-faq { display: grid; gap: var(--space-3); }
.invx-faq details { padding: var(--space-4); }
.invx-faq summary { cursor: pointer; font-weight: 600; }
.invx-faq details p { margin: var(--space-2) 0 0; color: var(--text-muted); }
.invx-cta { display: grid; gap: var(--space-4); padding: var(--space-6); border-radius: 1rem; background: var(--brand-soft); border: 1px solid var(--brand-border); }
.invx-cta h2 { margin: 0 0 var(--space-2); }
.invx-cta p { margin: 0; overflow-wrap: anywhere; }
.invx-roles { margin: var(--space-3) 0 0; padding-left: var(--space-5); display: grid; gap: var(--space-1); overflow-wrap: anywhere; }

/* the demo's sign-ins on the login page (inside the Kit's demo box; 390 px: one per row, addresses may break) */
.auth-wrap { grid-template-columns: minmax(0, 1fr); } /* the Kit's grid sized its track from the card's 440 px (KIT-REQUESTS K38) */
.auth-card { max-width: 100%; justify-self: center; }
[data-demo-logins] { flex-wrap: wrap; }
[data-demo-logins] > * { min-width: 0; }
[data-demo-logins] .small { min-width: 0; overflow-wrap: anywhere; }
.inv-demo-logins { flex: 1 1 100%; margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--border); min-width: 0; }
.inv-demo-login { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; min-width: 0; }
.inv-demo-login .small { overflow-wrap: anywhere; min-width: 0; }

@media (min-width: 56rem) {
  .invx-hero-inner { grid-template-columns: 1.1fr 1fr; }
  .invx-cta { grid-template-columns: 1fr auto; align-items: center; }
}
