/* QueueBD / Awesome Design Skills premium + levels
 * Brand-led, responsive, self-hosted CSS. No paid fonts, assets, JS SDKs or new requests.
 * Guest joining layout is intentionally controlled by taste-join.css.
 * Keep green as QueueBD's identity; do not import the skill's generic blue palette.
 */
:root {
  --qd-forest:#0e3024;
  --qd-deep:#0b211a;
  --qd-mid:#24533c;
  --qd-mint:#d9f6a9;
  --qd-paper:#f5f7f2;
  --qd-white:#fffefa;
  --qd-copy:#264636;
  --qd-muted:#607869;
  --qd-stroke:#dce6d9;
  --qd-radius:16px;
  --qd-focus:#84bd69;
}
.qbd-marketing,
.qx-home,
.qx-workspace,
.v5-guest-screen {
  font-family:Inter,"Hind Siliguri","Noto Sans Bengali",system-ui,-apple-system,"Segoe UI",sans-serif;
}
.qbd-marketing :is(a,button,input,select):focus-visible,
.qx-workspace :is(a,button,input,select):focus-visible,
.v5-guest-screen :is(a,button,input,select):focus-visible {
  outline:3px solid var(--qd-focus);
  outline-offset:3px;
}
.qbd-marketing .topbar {
  background:var(--qd-deep);
  border-bottom:1px solid #325242;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.qbd-marketing .brand,
.qbd-marketing .nav-link { color:#f3ffed; }
.qbd-marketing .brand>span:last-child>span { color:var(--qd-mint)!important; }
.qbd-marketing .brandmark {
  background:var(--qd-mint);
  color:var(--qd-deep);
  border-radius:13px;
}
.qbd-marketing .lang-toggle,
.qbd-marketing .topbar .btn-light {
  background:#1d4231;
  border:1px solid #4c7255;
  color:#f6ffed;
}
.qbd-marketing .topbar .nav-link:hover {color:var(--qd-mint)}
.qbd-marketing .footer {
  background:var(--qd-deep);
  color:#c7dbc9;
  border-top:1px solid #365342;
}
/* The QueueBD product is the illustration; no stock photos or fake product claim. */
.qx-home .qx-hero {
  color:#f4fff1;
  background:
    radial-gradient(ellipse 55% 75% at 98% 12%,rgba(169,226,147,.10),transparent 70%),
    var(--qd-deep);
  border-bottom:0;
}
.qx-home .qx-hero-grid {
  min-height:595px;
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);
  gap:clamp(34px,5vw,84px);
  padding-top:72px;
  padding-bottom:85px;
}
.qx-home .qx-hero-copy {max-width:650px}
.qx-home .qx-pill {
  background:#1d4230;
  border:1px solid #426449;
  color:#d7f6ca;
  font-size:12px;
  letter-spacing:.02em;
  font-weight:700;
  padding:10px 14px;
}
.qx-home .qx-status-dot {background:#9bea9d}
.qx-home .qx-hero h1 {
  color:#fafff5;
  font-size:clamp(45px,5.2vw,76px);
  line-height:1.07;
  letter-spacing:-.055em;
  font-weight:850;
  max-width:11.5ch;
  margin:27px 0 24px;
}
.qx-home .qx-hero h1 em {color:#ceefa1}
.qx-home .qx-hero-copy>p {
  color:#c6dbc9;
  font-size:clamp(15px,1.3vw,17px);
  line-height:1.75;
  max-width:54ch;
}
.qx-home .qx-hero-actions {margin-top:29px;gap:12px}
.qx-home .qx-hero-actions .qx-primary {
  min-height:56px;
  background:var(--qd-mint);
  border:0;
  color:var(--qd-deep);
  border-radius:13px;
  box-shadow:none;
  font-size:15px;
  font-weight:800;
}
.qx-home .qx-hero-actions .qx-primary:hover {
  background:#eaffc9;
  color:var(--qd-deep);
}
.qx-home .qx-ghost {
  min-height:56px;
  background:transparent;
  color:#e1f2de;
  border:1px solid #65856e;
  border-radius:13px;
  font-size:14px;
}
.qx-home .qx-ghost:hover {background:#204331;color:#fff}
.qx-home .qx-hero-proof {
  margin-top:24px;
  gap:12px 20px;
  color:#c9e0c9;
  font-size:13px;
  font-weight:650;
}
.qx-home .qx-demo {
  padding:21px;
  border-radius:22px;
  border:1px solid #dbe8d7;
  background:var(--qd-white);
  box-shadow:0 24px 52px rgba(0,0,0,.20);
  transform:none;
  max-width:485px;
}
.qx-home .qx-demo::before {display:none}
.qx-home .qx-demo-icon {
  background:var(--qd-forest);
  color:var(--qd-mint);
  border-radius:12px;
}
.qx-home .qx-tag {
  background:#e9f3e6;
  color:#326149;
  font-size:11px;
  letter-spacing:.04em;
}
.qx-home .qx-demo-top {padding-bottom:15px}
.qx-home .qx-demo-top strong {font-size:16px}
.qx-home .qx-demo-top small {font-size:13px;color:#587265}
.qx-home .qx-demo-heading {padding:22px 0 18px}
.qx-home .qx-demo-heading strong {
  font-size:45px;
  line-height:1;
  color:var(--qd-forest);
}
.qx-home .qx-demo-heading small {font-size:13px;color:#566f5e}
.qx-home .qx-demo-heading .qx-eyebrow {
  font-size:12px;
  letter-spacing:.04em;
  color:#53705d;
}
.qx-home .qx-live {
  font-size:12px;
  background:#eaf6e6;
  color:#2d6948;
}
.qx-home .qx-demo-row {
  border-bottom:1px solid #e6eee4;
  padding:15px 12px;
}
.qx-home .qx-demo-feature {
  border:0;
  background:#edf5e9;
  border-radius:12px;
}
.qx-home .qx-demo-number {font-size:21px}
.qx-home .qx-demo-row b {font-size:14px;color:#234333}
.qx-home .qx-demo-row small,
.qx-home .qx-demo-time {font-size:13px;color:#5e7866}
.qx-home .qx-demo-calling {
  background:#d8efcf;
  color:#326244;
  font-size:12px;
  letter-spacing:0;
}
.qx-home .qx-demo-footer {
  font-size:12px;
  line-height:1.4;
  color:#667c6c;
  gap:10px;
}
.qx-home .qx-how {
  padding:80px 0;
  background:var(--qd-paper);
}
.qx-home .qx-section-head {margin-bottom:32px}
.qx-home .qx-section-head .qx-eyebrow {
  font-size:12px;
  letter-spacing:.05em;
  color:#426c51;
}
.qx-home .qx-section-head h2 {
  max-width:18ch;
  font-size:clamp(34px,4vw,50px);
  line-height:1.12;
  letter-spacing:-.045em;
  margin:12px 0;
}
.qx-home .qx-section-head p {
  font-size:16px;
  line-height:1.6;
  color:#536d5c;
}
.qx-home .qx-step-grid {gap:15px}
.qx-home .qx-step {
  background:var(--qd-white);
  border:1px solid var(--qd-stroke);
  border-radius:17px;
  padding:27px;
  box-shadow:none;
}
.qx-home .qx-step>span {color:#678675;font-size:13px}
.qx-home .qx-step-icon {
  background:#e9f3e2;
  color:#24533b;
  border-radius:12px;
  width:50px;height:50px;
  margin-bottom:25px;
}
.qx-home .qx-step h3 {
  color:var(--qd-forest);
  font-size:19px;
  line-height:1.3;
}
.qx-home .qx-step p {
  color:#536e5c;
  font-size:15px;
  line-height:1.7;
}
.qx-home .qx-final-banner {
  background:#17432f;
  color:#fff;
}
.qx-home .qx-final-banner h2 {color:#f7fff1}
.qx-home .qx-final-banner .qx-eyebrow {
  color:#d2edbf;
  font-size:12px;
  letter-spacing:.04em;
}
.qx-home .qx-final-banner .qx-primary {
  background:var(--qd-mint);
  color:var(--qd-deep);
  border:0;
  box-shadow:none;
  border-radius:13px;
  font-size:15px;
}
.qx-home .qx-final-banner .qx-primary:hover {background:#eaffc9;color:var(--qd-deep)}
/* One dashboard action per visual hierarchy: status is data, Call next is the action. */
.qx-workspace {
  background:#f3f6f0;
  color:var(--qd-copy);
}
.qx-workspace .qx-workspace-header h1 {
  color:var(--qd-forest);
  font-size:clamp(30px,3vw,43px);
  letter-spacing:-.045em;
  line-height:1.17;
}
.qx-workspace .qx-workspace-header p {font-size:14px;color:#56705f}
.qx-workspace .qx-workspace-eyebrow {
  font-size:12px;
  letter-spacing:.035em;
  color:#537362;
}
.qx-workspace .qx-kpi-grid {gap:12px;margin-bottom:18px}
.qx-workspace .qx-kpi {
  background:#fffefa;
  border:1px solid #dce6d9;
  border-radius:16px;
  box-shadow:none;
  padding:19px 20px;
}
.qx-workspace .qx-kpi>span {
  color:#456550;
  font-size:12px;
  letter-spacing:.015em;
  line-height:1.45;
}
.qx-workspace .qx-kpi strong {
  font-size:clamp(29px,3vw,38px);
  letter-spacing:-.04em;
  line-height:1.22;
  color:#153e2c;
}
.qx-workspace .qx-kpi small {
  color:#60786a;
  font-size:12px;
  line-height:1.4;
}
.qx-workspace .qx-board,
.qx-workspace .v6-brand-box {
  background:#fffefa;
  border:1px solid #dce6d9;
  box-shadow:none;
  border-radius:17px;
}
.qx-workspace .qx-board-eyebrow {
  font-size:12px;
  line-height:1.4;
  letter-spacing:.025em;
  color:#54715b;
}
.qx-workspace .qx-board-header h2,
.qx-workspace .qx-side-panel h2,
.qx-workspace .qx-side-panel h3 {
  font-size:clamp(20px,2vw,24px);
  letter-spacing:-.03em;
  line-height:1.22;
  color:#1b4431;
}
.qx-workspace .qx-action-banner {
  background:var(--qd-forest);
  border-radius:17px;
  padding:23px 25px;
  min-height:125px;
}
.qx-workspace .qx-action-banner:before {opacity:.35}
.qx-workspace .qx-action-banner>div span {
  font-size:12px;
  letter-spacing:.03em;
  color:#c7e0c2;
}
.qx-workspace .qx-action-banner strong {
  font-size:clamp(21px,2.6vw,27px);
  line-height:1.25;
  color:#fffdf4;
}
.qx-workspace .qx-action-banner small {font-size:13px;color:#d5e8d4}
.qx-workspace .qx-call-next {
  background:var(--qd-mint);
  color:#133724;
  border-radius:12px;
  font-size:15px;
  min-height:54px;
  font-weight:850;
}
.qx-workspace .qx-call-next:not(:disabled):hover {background:#e9ffc9}
.qx-workspace .v4-party-card {
  border:1px solid #d8e4d7!important;
  border-left:4px solid #83aa8c!important;
  border-radius:14px!important;
  padding:15px 16px!important;
  min-height:95px;
  box-shadow:none;
}
.qx-workspace .v4-party-called {
  border-color:#e8d49d!important;
  border-left-color:#d69a31!important;
  background:#fff9e9!important;
}
.qx-workspace .v4-party-card .qx-party-person strong {font-size:16px}
.qx-workspace .v4-party-card .qx-party-person span {
  font-size:13px;
  color:#56705f;
  line-height:1.4;
}
.qx-workspace .v4-party-card .qx-party-code {font-size:23px}
.qx-workspace .v4-state {font-size:12px;letter-spacing:0}
.qx-workspace .qx-party-list {gap:9px}
.qx-workspace .v4-party-filters button {
  min-height:46px;
  font-size:13px;
  box-shadow:none;
}
.qx-workspace .qx-search-label input {font-size:14px}
.qx-workspace .qx-side-panel>p {font-size:14px;line-height:1.65;color:#5b7462}
.qx-workspace .qx-side-form label {font-size:14px}
.qx-workspace .qx-table-sub {font-size:12px;color:#607569}
.qx-workspace .qx-history-board .data-table {font-size:13px}
.qx-workspace .qx-history-board .data-table th {font-size:12px}
.qx-workspace .qx-empty-queue strong {font-size:16px}
.qx-workspace .qx-empty-queue p {font-size:14px;color:#637a69}
/* Guest pass stays expressive; only raise the information hierarchy. */
.v5-guest-screen .v5-pass-event h1 {
  line-height:1.18;
  overflow-wrap:anywhere;
}
.v5-guest-screen .v5-position-info small,
.v5-guest-screen .v5-stage-message p,
.v5-guest-screen .v7-alert-panel p,
.v5-guest-screen .v5-share-zone small,
.v5-guest-screen .v5-ticket-caveat {
  font-size:13px;
  line-height:1.55;
}
.v5-guest-screen .v5-position-number>span:last-child {font-size:11px}
.v5-guest-screen .v5-share-eyebrow {font-size:12px;letter-spacing:.04em}
.v5-guest-screen .v5-secondary-actions button {font-size:13px}
@media (max-width:1050px) {
  .qx-home .qx-hero-grid {gap:35px}
}
@media (max-width:880px) {
  .qx-home .qx-hero-grid {
    grid-template-columns:minmax(0,1fr);
    min-height:0;
    gap:32px;
    padding:56px 26px 66px;
  }
  .qx-home .qx-hero-copy {max-width:650px}
  .qx-home .qx-hero h1 {max-width:14ch}
  .qx-home .qx-demo {width:100%;max-width:590px}
  .qx-home .qx-how {padding:66px 0}
}
@media (max-width:660px) {
  .qbd-marketing .nav {min-height:66px}
  .qbd-marketing .brand {font-size:20px}
  .qbd-marketing .brandmark {width:36px;height:36px;font-size:21px}
  .qx-home .qx-hero-grid {padding:38px 18px 52px;gap:27px}
  .qx-home .qx-hero h1 {
    font-size:clamp(39px,10.4vw,56px);
    letter-spacing:-.045em;
    margin:19px 0;
  }
  .qx-home .qx-hero-copy>p {font-size:15px;line-height:1.65}
  .qx-home .qx-hero-actions {margin-top:22px}
  .qx-home .qx-hero-actions .qx-primary,
  .qx-home .qx-hero-actions .qx-ghost {min-height:50px;font-size:14px}
  .qx-home .qx-hero-proof {font-size:12px;margin-top:19px}
  .qx-home .qx-demo {padding:17px;border-radius:18px}
  .qx-home .qx-demo-heading strong {font-size:38px}
  .qx-home .qx-demo-row {gap:9px;padding:13px 8px}
  .qx-home .qx-demo-number {font-size:18px;min-width:56px}
  .qx-home .qx-demo-calling {font-size:11px}
  .qx-home .qx-demo-footer {flex-wrap:wrap}
  .qx-home .qx-how {padding:54px 0}
  .qx-home .qx-step {padding:24px}
  .qx-home .qx-section-head h2 {font-size:36px}
  .qx-workspace .qx-kpi {padding:14px 15px}
  .qx-workspace .qx-kpi>span {font-size:12px}
  .qx-workspace .qx-kpi strong {font-size:29px}
  .qx-workspace .qx-kpi small {font-size:12px}
  .qx-workspace .qx-board {padding:18px}
  .qx-workspace .qx-action-banner {padding:20px}
  .qx-workspace .v4-party-card {padding:13px 12px!important}
  .qx-workspace .v4-party-card .qx-party-person span {font-size:12px}
  .v5-guest-screen .v5-position-number>span:last-child {font-size:10px}
}
@media (prefers-reduced-motion:reduce) {
  .qbd-marketing *,
  .qx-workspace *,
  .v5-guest-screen * {scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* Impeccable / Operate: a scanned QR is a task, not a website menu. */
.qbd-skip-link {
  position:fixed;top:10px;left:12px;z-index:100000;
  padding:12px 18px;border-radius:12px;background:#e3fcb2;
  color:#102c20;font-weight:800;font-size:14px;
  transform:translateY(-160%);transition:transform .16s ease-out;
}
.qbd-skip-link:focus,.qbd-skip-link:focus-visible{
  transform:translateY(0);outline:3px solid #558b49;outline-offset:2px;
}
.brandmark img {width:100%;height:100%;display:block;border-radius:inherit}
.topbar .brandmark,.qbd-marketing .topbar .brandmark{background:transparent}
.qbd-guest-route .topbar {
  background:#0b211a;border-bottom:1px solid #2b4938;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.qbd-guest-route .nav {min-height:64px;gap:16px}
.qbd-guest-route .nav-right {flex-wrap:nowrap}
.qbd-guest-route .brand {color:#f6fff1;font-size:20px}
.qbd-guest-route .brand>span:last-child>span {color:#d8f6a4!important}
.qbd-guest-route .lang-toggle {
  min-height:43px;
  padding:10px 14px;border-radius:11px;
  border:1px solid #587c5c;
  color:#f5ffe9;background:#183829;
}
.qbd-guest-route .lang-toggle:hover {background:#28503a}
.qbd-guest-route .footer {
  background:#0b211a;
  border-top:1px solid #305340;
  color:#cbdcc8;
}
.v4-sheet :is(button,input):focus-visible {
  outline:3px solid #5d9b65;outline-offset:3px;
}
.v4-sheet button {touch-action:manipulation}
@media(max-width:660px){
 .qbd-guest-route .nav {min-height:57px}
 .qbd-guest-route .brand {font-size:19px}
 .qbd-guest-route .brandmark {width:33px;height:33px;border-radius:10px}
 .qbd-guest-route .lang-toggle{min-height:43px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.qbd-skip-link{transition:none}}
