:root {
  color-scheme: dark;
  --accent: #ff9f1c;
  --accent-dark: #d97900;
  --text: #fffaf2;
  --muted: #e7ded1;
}

* { box-sizing: border-box; }

html, body { min-width: 0; max-width: 100%; min-height: 100%; overflow-x: hidden; }

body {
  margin: 0;
  background: #17110c;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  background: url("doener.jpg") 68% center / cover no-repeat;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(8, 6, 4, .92) 0%, rgba(8, 6, 4, .72) 40%, rgba(8, 6, 4, .18) 72%),
    linear-gradient(0deg, rgba(8, 6, 4, .65), transparent 45%);
}

/* Eigener PausenBiss-Hintergrund ausschließlich auf der Startseite. */
.home-page .hero {
  background-image: url("pausenbiss-startseite-bg.jpg");
  background-position: center center;
}

.home-page .hero::before {
  background:
    radial-gradient(circle at 50% 43%, rgba(8, 6, 4, .08) 0%, rgba(8, 6, 4, .28) 56%, rgba(8, 6, 4, .62) 100%),
    linear-gradient(0deg, rgba(8, 6, 4, .58), transparent 44%);
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 1.5rem 0;
}
.home-topbar { justify-content: flex-end; }
.top-actions { display: grid; justify-items: end; gap: .45rem; min-width: 0; }
.primary-nav-actions { display: flex; align-items: center; gap: .22rem; padding: .28rem; border: 1px solid rgba(255,255,255,.12); border-radius: .95rem; background: linear-gradient(145deg, rgba(20,14,10,.86), rgba(42,29,20,.72)); box-shadow: 0 12px 30px rgba(0,0,0,.22); backdrop-filter: blur(14px); }
.primary-nav-actions .status-link { display: inline-flex; align-items: center; gap: .3rem; border: 0; border-radius: .68rem; padding: .62rem .78rem; background: transparent; color: #f5eee5; font-size: .75rem; font-weight: 760; backdrop-filter: none; }
.primary-nav-actions .status-link:hover, .primary-nav-actions .status-link:focus-visible { background: rgba(255,255,255,.08); }
.primary-nav-actions .kitchen-link { background: rgba(255,159,28,.13); color: #ffc66f; }
.primary-nav-actions .kitchen-link::before { content: "✦"; }
.primary-nav-actions .order-nav-link { color: #d8f7e2; }
.primary-nav-actions .order-nav-link::before { content: "+"; color: #6ce195; font-size: 1rem; line-height: .7; }
.primary-nav-actions .logout-nav-link { color: #ffcaca; }
.primary-nav-actions .logout-nav-link::before { content: "↗"; color: #ff8e8e; }
.nav-logout-form { display: flex; margin: 0; }
.nav-logout-button { appearance: none; cursor: pointer; font: inherit; }
.primary-nav-actions .active-nav { background: rgba(255,159,28,.18); box-shadow: inset 0 0 0 1px rgba(255,159,28,.25); }
.member-shortcuts { display: flex; gap: .5rem; }
.member-shortcuts .status-link { display: inline-flex; align-items: center; justify-content: center; gap: .38rem; border: 1px solid rgba(255,255,255,.15); border-radius: .78rem; padding: .72rem .9rem; background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,159,28,.045)); box-shadow: 0 9px 24px rgba(0,0,0,.17); color: #f8f2e9; font-size: .75rem; font-weight: 780; backdrop-filter: blur(12px); }
.member-shortcuts .status-link:first-child::before { content: "👤"; font-size: .82rem; }
.member-shortcuts .round-link { border-color: rgba(255,255,255,.15); background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,159,28,.045)); color: #f8f2e9; }
.round-link::before { content: "👥"; font-size: .82rem; }
.member-shortcuts .status-link:hover, .member-shortcuts .status-link:focus-visible { border-color: rgba(255,159,28,.7); background: rgba(255,159,28,.12); transform: translateY(-1px); }
.member-shortcuts .active-nav { border-color: rgba(255,159,28,.7); background: linear-gradient(135deg, rgba(255,159,28,.17), rgba(255,255,255,.05)); box-shadow: 0 10px 28px rgba(255,159,28,.09); }
.active-nav { border-color: var(--accent); }

.brand {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--text);
  font-weight: 800;
  letter-spacing: -.02em;
  text-decoration: none;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 4.25rem;
  aspect-ratio: 1;
  filter: drop-shadow(0 9px 18px rgba(0,0,0,.28));
  transform: rotate(-5deg);
}
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }

.status-toggle, .status-link {
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  padding: .7rem 1rem;
  background: rgba(15, 10, 6, .45);
  color: var(--text);
  font: inherit;
  font-size: .82rem;
  cursor: pointer;
  text-decoration: none;
  backdrop-filter: blur(10px);
}

.status-toggle:hover, .status-toggle:focus-visible, .status-link:hover, .status-link:focus-visible { border-color: var(--accent); }

.content {
  align-self: center;
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 3rem 0 5rem;
}

.eyebrow {
  margin: 0 0 1rem;
  color: var(--accent);
  font-size: clamp(.75rem, 1vw, .9rem);
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.project-promise { color: #ffad35; letter-spacing: .12em; }
.home-purpose-copy { max-width: 590px; margin: 1rem 0 1.45rem; color: #eadfd2; font-size: clamp(.92rem,1.35vw,1.1rem); line-height: 1.5; }

h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(3rem, 7.2vw, 6.7rem);
  line-height: .92;
  letter-spacing: -.065em;
  text-wrap: balance;
}

h1 span { color: var(--accent); }

.home-order-cta {
  position: relative;
  z-index: 1;
  display: block;
  width: min(760px, 100%);
  min-height: clamp(19rem, 48vw, 31rem);
  border: 0;
  border-radius: 2rem;
  color: var(--text);
  text-decoration: none;
  cursor: pointer;
  outline: none;
}
.home-order-cta::before {
  content: "";
  position: absolute;
  inset: 15% 7% 10%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,159,28,.31), rgba(255,112,0,.1) 48%, transparent 72%);
  filter: blur(22px);
  opacity: .8;
  transition: opacity .25s ease, transform .25s ease;
}
.home-order-cta:hover::before, .home-order-cta:focus-visible::before { opacity: 1; transform: scale(1.08); }
.home-order-cta:focus-visible {
  outline: 3px solid rgba(255,255,255,.92);
  outline-offset: 5px;
}
.home-sandwich-stage {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  transform-origin: 50% 58%;
  animation: home-sandwich-float 4.2s ease-in-out infinite;
  transition: transform .62s cubic-bezier(.55,.03,.72,.39), opacity .5s ease, filter .5s ease;
}
.home-sandwich-image {
  display: block;
  width: min(100%, 650px);
  height: auto;
  filter: drop-shadow(0 28px 28px rgba(0,0,0,.48)) drop-shadow(0 7px 16px rgba(255,139,18,.16));
  transition: transform .25s ease, filter .25s ease;
}
.home-order-cta:hover .home-sandwich-image, .home-order-cta:focus-visible .home-sandwich-image {
  transform: scale(1.045) rotate(-.8deg);
  filter: drop-shadow(0 34px 35px rgba(0,0,0,.52)) drop-shadow(0 8px 21px rgba(255,139,18,.25));
}
@keyframes home-sandwich-float { 0%,100% { transform: translateY(0) rotate(.2deg); } 50% { transform: translateY(-.55rem) rotate(-.35deg); } }
body.order-transitioning { overflow: hidden; }
body.order-transitioning::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 900;
  pointer-events: none;
  background: radial-gradient(circle at 50% 55%, rgba(255,142,20,.15), rgba(8,5,3,.96) 64%);
  animation: order-transition-curtain .64s ease forwards;
}
.home-order-cta.is-entering { z-index: 901; pointer-events: none; }
.home-order-cta.is-entering::before { opacity: 0; transform: scale(.35); }
.home-order-cta.is-entering .home-sandwich-stage { animation: none; opacity: 0; filter: blur(2px); transform: translateY(4.5rem) scale(.13) rotate(-5deg); }
.order-transitioning .home-content > .eyebrow, .order-transitioning .home-content > .intro { opacity: 0; transform: translateY(1rem) scale(.97); transition: opacity .32s ease, transform .32s ease; }
@keyframes order-transition-curtain { from { opacity: 0; transform: scale(1.08); } to { opacity: 1; transform: scale(1); } }
.order-destination .menu-card { animation: order-page-arrive .46s cubic-bezier(.2,.75,.25,1) both; }
@keyframes order-page-arrive { from { opacity: 0; transform: translateY(2.3rem) scale(.94); } to { opacity: 1; transform: translateY(0) scale(1); } }

.intro {
  max-width: 570px;
  margin: 1.75rem 0 2rem;
  color: var(--muted);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.6;
}

.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-width: 220px;
  padding: 1rem 1.35rem;
  border-radius: .8rem;
  background: var(--accent);
  box-shadow: 0 14px 35px rgba(255, 159, 28, .23);
  color: #1b1004;
  font-weight: 850;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.primary-button:hover { background: #ffb341; transform: translateY(-2px); }
.primary-button:focus-visible, .status-toggle:focus-visible { outline: 3px solid white; outline-offset: 3px; }

.hint { margin: .9rem 0 0; color: rgba(255,255,255,.65); font-size: .82rem; }
.hint a, .switch-copy a { color: var(--accent); }

.page-hero { min-height: 100svh; }
.auth-card {
  align-self: center;
  width: min(92%, 500px);
  margin: 2rem auto 5rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.25rem;
  background: rgba(16, 10, 6, .82);
  box-shadow: 0 25px 70px rgba(0,0,0,.35);
  backdrop-filter: blur(18px);
}
.form-title { font-size: clamp(2.4rem, 8vw, 4rem); letter-spacing: -.05em; }
.form-copy { color: var(--muted); line-height: 1.6; }
.auth-form { display: grid; gap: .65rem; margin-top: 1.5rem; }
.auth-form label { margin-top: .45rem; font-size: .85rem; font-weight: 750; }
.auth-form input,
.auth-form select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: .65rem;
  padding: .9rem 1rem;
  background: rgba(255,255,255,.09);
  color: white;
  font: inherit;
}
.auth-form select { color-scheme: dark; cursor: pointer; }
.auth-form input:focus, .auth-form select:focus { border-color: var(--accent); outline: 2px solid rgba(255,159,28,.25); }
.organization-select-grid { display: grid; gap: .65rem; padding: .85rem; border: 1px solid rgba(255,159,28,.2); border-radius: .85rem; background: rgba(255,159,28,.055); }
.organization-select-grid label { margin-top: 0; color: #fff4e6; }
.password-field { position: relative; }
.password-field input { padding-right: 3.4rem; }
.password-field button { position: absolute; top: 50%; right: .45rem; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; border-radius: .55rem; color: white; background: rgba(255,255,255,.1); cursor: pointer; font-size: 1.15rem; transform: translateY(-50%); }
.password-field button:hover, .password-field button:focus-visible { background: rgba(255,159,28,.22); outline: 2px solid rgba(255,159,28,.5); }
.department-help { margin-top: -.15rem; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.form-button { width: 100%; border: 0; margin-top: .9rem; font: inherit; cursor: pointer; }
.switch-copy { margin: 1.25rem 0 0; text-align: center; color: var(--muted); font-size: .9rem; }
.alert, .success { border-radius: .65rem; padding: .8rem 1rem; }
.alert { background: rgba(190, 45, 45, .3); color: #ffd9d9; }
.success { background: rgba(36, 145, 82, .3); color: #d9ffe7; }
.home-success { width: min(570px, 100%); margin: 0 0 1.25rem; border: 1px solid rgba(116,255,164,.25); backdrop-filter: blur(12px); }
.number-card { text-align: center; }
.account-card { width: min(94%, 1060px); }
.account-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.15rem; overflow: hidden; margin: -.2rem 0 1rem; padding: 1.25rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: radial-gradient(circle at 10% 35%, rgba(255,159,28,.24), transparent 34%), linear-gradient(120deg, rgba(255,255,255,.065), rgba(255,255,255,.018)); box-shadow: 0 14px 38px rgba(0,0,0,.2); }
.account-hero-avatar { display: grid; place-items: center; width: 5.5rem; aspect-ratio: 1; border: 2px solid rgba(255,159,28,.58); border-radius: 1.2rem; overflow: hidden; background: rgba(255,159,28,.13); box-shadow: 0 14px 30px rgba(255,159,28,.17); font-size: 3.1rem; }
.account-hero > div { display: grid; justify-items: start; gap: .3rem; min-width: 0; }
.account-hero p, .account-panel-heading p { margin: 0; color: var(--muted); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.account-hero h1 { margin: 0; font-size: clamp(1.8rem, 5vw, 2.7rem); line-height: 1; overflow-wrap: anywhere; }
.account-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .15rem; }
.account-badges span { padding: .3rem .6rem; border-radius: 999px; background: rgba(116,166,255,.13); color: #c7d9ff; font-size: .68rem; font-weight: 850; }
.account-badges .account-rank-badge { background: rgba(95,225,140,.13); color: #bdf7d0; }
.account-badges .account-chef-badge { background: rgba(255,159,28,.16); color: #ffca7b; }
.account-home-link { align-self: start; padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.16); border-radius: .65rem; color: var(--muted); font-size: .72rem; font-weight: 800; text-decoration: none; }
.account-home-link:hover { border-color: var(--accent); color: white; }
.account-overview-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; min-width: 0; margin-bottom: 1rem; }
.account-overview-stats article { display: grid; gap: .18rem; padding: .9rem 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.022)); }
.account-overview-stats small { color: var(--muted); font-size: .69rem; }
.account-overview-stats strong { color: var(--accent); font-size: 1.05rem; overflow-wrap: anywhere; }
.account-workspace { display: grid; grid-template-columns: minmax(270px, 320px) 1fr; align-items: start; gap: 1rem; }
.account-profile-panel, .account-order-panel { overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(255,255,255,.035); box-shadow: 0 14px 35px rgba(0,0,0,.18); }
.account-profile-panel { padding-bottom: 1rem; }
.account-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.11); background: linear-gradient(120deg, rgba(255,159,28,.08), transparent); }
.account-panel-heading h2 { margin: .12rem 0 0; font-size: 1.15rem; }
.account-panel-heading > span { color: var(--accent); }
.account-hero-avatar img, .user-list-avatar img, .user-detail-avatar img, .community-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rank-progress-card { display: grid; gap: .7rem; margin: 1rem; padding: .85rem; border: 1px solid rgba(95,225,140,.25); border-radius: .8rem; background: linear-gradient(125deg, rgba(37,130,70,.18), rgba(116,166,255,.08)); }
.rank-progress-card header { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; }
.rank-progress-card header > span { display: grid; place-items: center; width: 2.5rem; aspect-ratio: 1; border-radius: .65rem; background: rgba(95,225,140,.12); font-size: 1.35rem; }
.rank-progress-card header > div { display: grid; min-width: 0; }
.rank-progress-card header small { color: var(--muted); font-size: .59rem; text-transform: uppercase; }
.rank-progress-card header strong { overflow-wrap: anywhere; font-size: .78rem; }
.rank-progress-card header b { color: #bdf7d0; font-size: .72rem; white-space: nowrap; }
.rank-progress-track { height: .5rem; overflow: hidden; border-radius: 999px; background: rgba(0,0,0,.3); box-shadow: inset 0 1px 3px rgba(0,0,0,.35); }
.rank-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4fce7c, #ffd15b); box-shadow: 0 0 12px rgba(95,225,140,.42); }
.rank-progress-card footer { display: flex; justify-content: space-between; gap: .55rem; color: var(--muted); font-size: .58rem; line-height: 1.35; }
.rank-progress-card footer span:last-child { text-align: right; }
.camera-avatar-box { margin: 0 1rem 1rem; }
.avatar-upload-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-bottom: .45rem; }
.avatar-upload-actions form { min-width: 0; }
.camera-avatar-box > small { display: block; color: var(--muted); font-size: .62rem; line-height: 1.4; }
.camera-avatar-button { position: relative; display: flex; align-items: center; justify-content: center; gap: .4rem; min-height: 3.1rem; padding: .62rem .5rem; border: 1px solid rgba(95,225,140,.44); border-radius: .7rem; background: linear-gradient(110deg, rgba(46,151,82,.2), rgba(95,225,140,.08)); color: #caffda; text-align: center; cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.gallery-avatar-button { border-color: rgba(116,166,255,.45); background: linear-gradient(110deg, rgba(67,102,174,.22), rgba(116,166,255,.08)); color: #d5e3ff; }
.camera-avatar-button:hover, .camera-avatar-button:focus-within { border-color: #69e693; background: rgba(46,151,82,.28); transform: translateY(-1px); }
.camera-avatar-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.camera-avatar-button span { font-size: .95rem; }
.camera-avatar-button strong { font-size: .68rem; line-height: 1.15; }
.camera-avatar-button.is-loading { pointer-events: none; animation: camera-upload-pulse .8s ease-in-out infinite alternate; }
@keyframes camera-upload-pulse { from { box-shadow: 0 0 0 rgba(95,225,140,0); } to { box-shadow: 0 0 22px rgba(95,225,140,.32); } }
.account-profile-panel .avatar-picker { margin: 0 1rem; }
.account-profile-panel .avatar-picker summary { display: flex; justify-content: space-between; padding: .8rem; border: 1px solid rgba(255,255,255,.12); border-radius: .7rem; background: rgba(255,255,255,.035); }
.account-profile-panel .avatar-picker[open] summary { border-color: rgba(255,159,28,.45); }
.account-profile-panel .avatar-picker .primary-button { width: 100%; }
.account-number-info { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .7rem; margin: 1rem 1rem 0; padding: .85rem; border-radius: .75rem; background: rgba(116,166,255,.08); }
.account-number-info > span { display: grid; place-items: center; width: 2.3rem; aspect-ratio: 1; border-radius: .6rem; background: rgba(116,166,255,.14); color: #c7d9ff; font-weight: 900; }
.account-number-info p { display: grid; gap: .18rem; margin: 0; }
.account-number-info strong { font-size: .8rem; }
.account-number-info small { color: var(--muted); font-size: .68rem; line-height: 1.4; }
.account-order-panel { padding: 0; background: rgba(255,255,255,.035); }
.account-order-panel > .account-panel-heading h2 { margin-top: .12rem; }
.community-card { width: min(94%, 1060px); min-width: 0; max-width: 100%; }
.community-hero-icon { display: grid; place-items: center; width: 5.5rem; aspect-ratio: 1; border: 2px solid rgba(116,166,255,.55); border-radius: 1.2rem; background: linear-gradient(145deg, rgba(116,166,255,.2), rgba(255,159,28,.12)); box-shadow: 0 14px 30px rgba(116,166,255,.13); font-size: 2.7rem; }
.community-panel { overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(255,255,255,.035); box-shadow: 0 14px 35px rgba(0,0,0,.18); }
.community-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; min-width: 0; max-width: 100%; padding: 1rem; }
.community-member { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem; min-width: 0; padding: .9rem; border: 1px solid rgba(255,255,255,.11); border-radius: .85rem; background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); }
.community-member-chef { border-color: rgba(255,159,28,.3); background: linear-gradient(145deg, rgba(255,159,28,.1), rgba(255,255,255,.02)); }
.community-avatar { display: grid; place-items: center; width: 3.7rem; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: .85rem; background: rgba(255,159,28,.12); font-size: 2rem; }
.community-member-copy { display: grid; gap: .26rem; min-width: 0; }
.community-member-copy > div { display: flex; align-items: center; gap: .4rem; min-width: 0; }
.community-member-copy strong { overflow: hidden; font-size: .9rem; text-overflow: ellipsis; white-space: nowrap; }
.community-member-copy > div small { padding: .18rem .38rem; border-radius: 999px; background: rgba(95,225,140,.14); color: #bdf7d0; font-size: .57rem; font-weight: 900; text-transform: uppercase; }
.community-member-copy > span { color: var(--muted); font-size: .67rem; }
.community-member-status { display: grid; justify-items: end; gap: .3rem; }
.community-rank { max-width: 10.5rem; color: white; font-size: .68rem; font-weight: 850; line-height: 1.25; text-align: right; }
.community-role { padding: .3rem .55rem; border-radius: 999px; background: rgba(116,166,255,.14); color: #c7d9ff; font-size: .63rem; font-weight: 850; white-space: nowrap; }
.community-role-chef { background: rgba(255,159,28,.16); color: #ffca7b; }
.community-empty { margin: 1rem; }
.order-state-badge { padding: .3rem .58rem; border-radius: 999px; background: rgba(255,255,255,.08); color: var(--muted); font-size: .68rem; font-weight: 850; }
.order-state-active { background: rgba(74,190,112,.14); color: #a9ebbd; }
.account-order-panel .last-order-meta { margin: 1rem 1rem .6rem; }
.account-order-list { margin: 0 1rem 1rem !important; }
.account-order-list li { align-items: center; padding: .7rem; border: 1px solid rgba(255,255,255,.09); border-radius: .7rem; background: rgba(255,255,255,.025); }
.account-order-list li > span { display: grid; gap: .15rem; }
.account-order-list li small { color: var(--accent); font-size: .64rem; font-weight: 800; }
.account-order-list li > strong { white-space: nowrap; }
.account-order-panel .last-order-total { margin: 0 1rem; padding: .85rem 0; border-top: 1px solid rgba(255,255,255,.12); }
.account-order-panel .personal-order-actions, .account-order-panel .order-lock-note, .account-order-panel .order-time-note { margin-right: 1rem; margin-left: 1rem; }
.account-order-empty { display: grid; place-items: center; gap: .3rem; margin: 1rem; }
.account-order-empty > span { font-size: 2rem; }
.account-order-empty small { color: var(--muted); }
.account-footer-actions { display: grid; grid-template-columns: 1fr auto; gap: .7rem; margin-top: 1rem; }
.account-footer-actions .secondary-button { min-width: 180px; }
.account-grid { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(280px, 1.2fr); gap: 1rem; margin-bottom: 1.25rem; }
.number-section, .last-order { padding: 1rem; border: 1px solid rgba(255,255,255,.13); border-radius: .9rem; background: rgba(255,255,255,.04); }
.number-section { text-align: center; }
.profile-title { margin: 0; font-size: clamp(1.8rem, 5vw, 2.7rem); letter-spacing: -.04em; }
.personal-number { display: inline-flex; align-items: center; gap: .45rem; margin: .65rem 0 1rem; padding: .4rem .7rem; border-radius: 999px; background: rgba(255,159,28,.14); color: var(--muted); font-size: .82rem; }
.personal-number strong { color: var(--accent); font-size: 1rem; }
.profile-avatar { display: grid; place-items: center; width: clamp(7rem, 24vw, 10rem); aspect-ratio: 1; margin: 0 auto .65rem; border: 5px solid rgba(255,255,255,.85); border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffbd58, var(--accent-dark)); box-shadow: 0 18px 45px rgba(255,159,28,.25); font-size: clamp(4rem, 13vw, 6rem); }
.profile-name { display: block; margin-bottom: .7rem; font-size: clamp(1.3rem, 4vw, 1.8rem); overflow-wrap: anywhere; }
.profile-copy { margin-bottom: 0; }
.avatar-picker { margin: .8rem 0; }
.avatar-picker summary { color: var(--accent); font-size: .85rem; font-weight: 800; cursor: pointer; }
.avatar-picker form { display: grid; gap: .8rem; margin-top: .8rem; }
.avatar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
.avatar-grid label { position: relative; cursor: pointer; }
.avatar-grid input { position: absolute; opacity: 0; }
.avatar-grid span { display: grid; place-items: center; gap: .15rem; padding: .45rem; border: 1px solid rgba(255,255,255,.16); border-radius: .65rem; background: rgba(255,255,255,.05); }
.avatar-grid b { font-size: 1.8rem; }
.avatar-grid small { color: var(--muted); font-size: .65rem; }
.avatar-grid input:checked + span { border-color: var(--accent); background: rgba(255,159,28,.16); }
.avatar-grid input:focus-visible + span { outline: 3px solid white; outline-offset: 2px; }
.last-order h2 { margin-top: 0; }
.last-order-meta { color: var(--muted); font-size: .82rem; }
.last-order ul { display: grid; gap: .55rem; margin: 1rem 0; padding: 0; list-style: none; }
.last-order li, .last-order-total { display: flex; justify-content: space-between; gap: 1rem; }
.last-order li { padding-bottom: .5rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.last-order li span { color: var(--muted); }
.last-order-total { color: var(--accent); font-size: 1.15rem; }
.personal-order-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .65rem; margin-top: 1.2rem; }
.personal-order-actions form { margin: 0; }
.personal-order-actions .primary-button, .cancel-order-button { width: 100%; min-height: 100%; }
.cancel-order-button { border: 1px solid rgba(255,113,113,.72); border-radius: .8rem; padding: .85rem 1rem; background: rgba(151,25,25,.3); color: #ffdada; font: inherit; font-weight: 850; cursor: pointer; }
.cancel-order-button:hover, .cancel-order-button:focus-visible { border-color: #ff7777; background: rgba(181,32,32,.48); color: white; }
.order-lock-note { margin: 1rem 0 0; padding: .8rem; border-radius: .7rem; background: rgba(255,255,255,.06); color: var(--muted); font-size: .8rem; line-height: 1.45; }
.order-time-note { margin: 1rem 0 0; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.1); color: var(--muted); font-size: .72rem; line-height: 1.5; }
.button-stack { display: grid; gap: .8rem; }
.secondary-button {
  display: inline-flex;
  justify-content: center;
  padding: .9rem 1.2rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: .8rem;
  color: white;
  text-decoration: none;
}
.secondary-button:hover { border-color: var(--accent); }
.order-card { width: min(94%, 720px); }
.order-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.meal-row {
  display: grid;
  grid-template-columns: 2.75rem 1fr;
  gap: .85rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: .85rem;
  background: rgba(255,255,255,.055);
}
.meal-check { position: relative; display: grid; place-items: center; cursor: pointer; }
.meal-check input { position: absolute; opacity: 0; }
.meal-check > span[aria-hidden] {
  width: 2rem;
  aspect-ratio: 1;
  border: 2px solid rgba(255,255,255,.45);
  border-radius: .45rem;
  background: rgba(0,0,0,.18);
}
.meal-check input:checked + span { border-color: var(--accent); background: var(--accent); }
.meal-check input:checked + span::after { content: '✓'; display: grid; place-items: center; height: 100%; color: #1b1004; font-weight: 950; }
.meal-check input:focus-visible + span { outline: 3px solid white; outline-offset: 3px; }
.meal-input { display: grid; gap: .45rem; }
.meal-input label { font-size: .82rem; font-weight: 800; }
.meal-input textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: .65rem;
  padding: .8rem .9rem;
  background: rgba(0,0,0,.22);
  color: white;
  font: inherit;
}
.meal-input textarea:focus { border-color: var(--accent); outline: 2px solid rgba(255,159,28,.25); }
.center-hint { text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.admin-card { width: min(94%, 1060px); min-width: 0; overflow: hidden; }
.admin-card > * { min-width: 0; max-width: 100%; }
.admin-card > .eyebrow, .admin-card > .form-copy { overflow-wrap: anywhere; }
.order-control-panel { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin: 0 0 1.4rem; padding: 1.15rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); }
.order-control-panel.is-open { border-color: rgba(74,222,128,.42); box-shadow: inset 0 0 0 1px rgba(74,222,128,.08); }
.order-control-panel.is-closed { border-color: rgba(248,113,113,.42); box-shadow: inset 0 0 0 1px rgba(248,113,113,.08); }
.order-control-status { display: flex; align-items: center; gap: .9rem; min-width: 0; }
.order-status-dot { width: .85rem; height: .85rem; flex: 0 0 auto; border-radius: 50%; background: #f87171; box-shadow: 0 0 0 .38rem rgba(248,113,113,.12), 0 0 1rem rgba(248,113,113,.5); }
.is-open .order-status-dot { background: #4ade80; box-shadow: 0 0 0 .38rem rgba(74,222,128,.12), 0 0 1rem rgba(74,222,128,.5); }
.order-control-status p { margin: 0 0 .12rem; color: var(--muted); font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.order-control-status h2 { margin: 0; font-size: clamp(1.15rem, 3vw, 1.55rem); }
.order-control-status small { display: block; margin-top: .2rem; color: var(--muted); }
.order-control-actions { display: grid; grid-template-columns: repeat(3, minmax(7.5rem, 1fr)); gap: .65rem; }
.order-control-actions button { min-height: 3rem; padding: .7rem 1rem; border: 1px solid transparent; border-radius: .8rem; color: #fff; font: inherit; font-weight: 900; cursor: pointer; transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease; }
.order-control-actions button:not(:disabled):hover { transform: translateY(-1px); }
.order-control-actions button:disabled { opacity: .42; cursor: default; }
.order-open-button { background: linear-gradient(135deg, #168a48, #22a95c); box-shadow: 0 .5rem 1rem rgba(22,138,72,.2); }
.order-close-button { background: linear-gradient(135deg, #a52b32, #d24149); box-shadow: 0 .5rem 1rem rgba(165,43,50,.2); }
.order-auto-button { background: linear-gradient(135deg, #475569, #64748b); box-shadow: 0 .5rem 1rem rgba(15,23,42,.22); }
.faction-menu-grid { display: grid; grid-template-columns: minmax(0,1fr); align-items: stretch; gap: 1rem; }
.faction-schedule-card { overflow: hidden; border: 1px solid rgba(255,159,28,.4); border-radius: 1.05rem; background: linear-gradient(145deg, rgba(255,159,28,.12), rgba(255,255,255,.03)); box-shadow: 0 20px 50px rgba(0,0,0,.18); }
.faction-schedule-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.2rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.faction-schedule-card > header p { margin: 0 0 .15rem; color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.faction-schedule-card > header h2 { margin: 0; font-size: clamp(1.35rem,3vw,1.8rem); }
.faction-schedule-card > header small { display: block; margin-top: .3rem; color: var(--muted); line-height: 1.45; }
.faction-schedule-card > header > span { display: grid; place-items: center; flex: 0 0 auto; width: 3rem; aspect-ratio: 1; border: 1px solid rgba(255,159,28,.4); border-radius: .85rem; background: rgba(255,159,28,.13); color: #ffc36b; font-size: 1.45rem; }
.faction-schedule-form { display: grid; gap: 1rem; padding: 1.2rem; }
.faction-shift-list { display: grid; gap: .8rem; }
.faction-shift-card { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: .95rem; background: rgba(0,0,0,.2); opacity: .7; transition: opacity .18s ease, border-color .18s ease, background .18s ease; }
.faction-shift-card:has(.faction-shift-toggle input:checked) { border-color: rgba(255,159,28,.55); background: linear-gradient(135deg,rgba(255,159,28,.12),rgba(0,0,0,.2)); opacity: 1; }
.faction-shift-card > header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .7rem; padding: .8rem; border-bottom: 1px solid rgba(255,255,255,.09); }
.faction-shift-icon { display: grid; place-items: center; width: 2.65rem; aspect-ratio: 1; border-radius: .72rem; background: rgba(255,159,28,.13); font-size: 1.35rem; }
.faction-shift-card > header > div { display: grid; gap: .08rem; min-width: 0; }
.faction-shift-card > header strong { color: #fff8ef; font-size: 1rem; }
.faction-shift-card > header small { color: var(--muted); font-size: .68rem; }
.faction-shift-toggle { display: grid; grid-template-columns: auto auto; align-items: center; gap: .42rem; cursor: pointer; }
.faction-shift-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.faction-shift-toggle > span { position: relative; width: 2.65rem; height: 1.48rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.1); transition: background .18s ease, border-color .18s ease; }
.faction-shift-toggle > span::after { position: absolute; top: .2rem; left: .2rem; width: .96rem; height: .96rem; border-radius: 50%; background: #b9afa6; content: ''; transition: transform .18s ease, background .18s ease; }
.faction-shift-toggle input:checked + span { border-color: #f5a52c; background: rgba(255,159,28,.35); }
.faction-shift-toggle input:checked + span::after { background: #ffb23d; transform: translateX(1.14rem); }
.faction-shift-toggle b { color: var(--muted); font-size: .68rem; }
.faction-shift-toggle input:checked ~ b { color: #ffd59a; }
.faction-shift-times { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; padding: .75rem .8rem .85rem; }
.faction-shift-times label { display: grid; gap: .3rem; min-width: 0; }
.faction-shift-times label > span { color: var(--muted); font-size: .65rem; font-weight: 850; }
.faction-shift-times input { width: 100%; padding: .66rem .55rem; border: 1px solid rgba(255,159,28,.28); border-radius: .65rem; background: rgba(10,7,5,.72); color: #fff; color-scheme: dark; font: inherit; font-size: .9rem; font-weight: 850; }
.faction-shift-times input:focus { border-color: var(--accent); outline: 2px solid rgba(255,159,28,.18); }
.faction-time-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.faction-time-fields label { display: grid; align-content: start; gap: .22rem; min-width: 0; padding: .85rem; border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; background: rgba(0,0,0,.18); }
.faction-time-fields label > span { color: #fff7ed; font-size: .82rem; font-weight: 900; }
.faction-time-fields label > small { min-height: 2.2rem; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.faction-time-fields input { width: 100%; margin-top: .35rem; padding: .72rem .62rem; border: 1px solid rgba(255,159,28,.35); border-radius: .7rem; background: rgba(10,7,5,.72); color: #fff; color-scheme: dark; font: inherit; font-size: 1.02rem; font-weight: 850; }
.faction-time-fields input:focus { border-color: var(--accent); outline: 2px solid rgba(255,159,28,.18); }
.faction-time-line { display: grid; grid-template-columns: auto minmax(1rem,1fr) auto minmax(1rem,1fr) auto; align-items: center; gap: .55rem; padding: .85rem 1rem; border-radius: .85rem; background: rgba(0,0,0,.22); }
.faction-time-line span { display: grid; justify-items: center; gap: .08rem; }
.faction-time-line b { color: var(--accent); font-size: .95rem; }
.faction-time-line small { color: var(--muted); font-size: .62rem; font-weight: 800; }
.faction-time-line i { height: 2px; background: linear-gradient(90deg, rgba(255,159,28,.25), var(--accent), rgba(255,159,28,.25)); }
.faction-schedule-form > button { width: 100%; min-height: 3.1rem; border: 0; border-radius: .8rem; background: linear-gradient(135deg,#ffb12f,#ff8a0d); color: #211207; font: inherit; font-weight: 950; cursor: pointer; }
.faction-order-control { align-items: stretch; flex-direction: column; justify-content: space-between; margin: 0; }
.faction-order-control .order-control-actions { grid-template-columns: 1fr; }
.faction-order-hint { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.admin-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 1rem; }
.admin-settings-grid .order-control-panel { align-items: stretch; flex-direction: column; justify-content: space-between; margin: 0; }
.settings-order-control { grid-column: 1 / -1; }
.supplier-control-panel { grid-column: 1 / -1; display: grid; gap: 1rem; padding: 1.15rem; border: 1px solid rgba(74,222,128,.3); border-radius: 1rem; background: linear-gradient(135deg, rgba(34,116,65,.16), rgba(255,255,255,.03)); }
.supplier-control-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.supplier-control-panel > header p { margin: 0 0 .12rem; color: #7ee6a3; font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.supplier-control-panel > header h2 { margin: 0; font-size: 1.25rem; }
.supplier-control-panel > header small { display: block; margin-top: .3rem; color: var(--muted); line-height: 1.4; }
.supplier-control-panel > header > span { font-size: 1.7rem; }
.department-admin-layout { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.45fr); align-items: start; gap: 1rem; }
.organization-create-stack { display: grid; gap: 1rem; }
.department-create-card, .department-overview-card { padding: 1.15rem; border: 1px solid rgba(255,159,28,.28); border-radius: 1rem; background: linear-gradient(145deg, rgba(255,159,28,.08), rgba(255,255,255,.025)); box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.department-create-card > header, .department-overview-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.department-create-card > header p, .department-overview-card > header p { margin: 0 0 .15rem; color: var(--accent); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.department-create-card > header h2, .department-overview-card > header h2 { margin: 0; font-size: 1.28rem; }
.department-create-card > header small { display: block; margin-top: .35rem; color: var(--muted); line-height: 1.45; }
.department-create-card > header > span, .department-overview-card > header > span { display: grid; place-items: center; min-width: 2.8rem; aspect-ratio: 1; border: 1px solid rgba(255,159,28,.35); border-radius: .8rem; background: rgba(255,159,28,.12); color: var(--accent); font-size: 1.35rem; }
.department-create-card form { display: grid; gap: .65rem; }
.department-create-card label, .department-chef-form label { color: #fff4e6; font-size: .78rem; font-weight: 850; }
.department-create-card input, .department-create-card select, .department-chef-form select { width: 100%; }
.department-create-card select { border: 1px solid rgba(255,255,255,.2); border-radius: .65rem; padding: .78rem .85rem; background: rgba(255,255,255,.08); color: white; color-scheme: dark; font: inherit; }
.department-create-card select:focus { border-color: var(--accent); outline: 2px solid rgba(255,159,28,.22); }
.department-create-card button { width: 100%; margin-top: .2rem; border: 0; }
.department-admin-list { display: grid; gap: .8rem; }
.department-admin-item { display: grid; gap: .85rem; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .9rem; background: rgba(0,0,0,.16); }
.department-admin-item.is-admin-home { border-color: rgba(255,159,28,.42); background: linear-gradient(135deg, rgba(255,159,28,.13), rgba(0,0,0,.14)); }
.department-admin-heading { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .75rem; }
.department-admin-heading > b { align-self: start; padding: .32rem .58rem; border-radius: 999px; background: rgba(74,222,128,.13); color: #aaf0c2; font-size: .68rem; }
.department-admin-icon { display: grid; place-items: center; width: 2.65rem; aspect-ratio: 1; border: 1px solid rgba(255,159,28,.35); border-radius: .72rem; background: rgba(255,159,28,.1); color: var(--accent); }
.department-admin-heading small { color: var(--muted); font-size: .68rem; }
.department-admin-heading h3 { margin: .04rem 0; font-size: 1.05rem; }
.department-admin-heading p { margin: 0; color: #ffd59a; font-size: .76rem; font-weight: 750; }
.department-admin-counts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem; }
.department-admin-counts span { display: grid; gap: .12rem; padding: .68rem .78rem; border: 1px solid rgba(255,255,255,.1); border-radius: .72rem; background: rgba(255,255,255,.035); }
.department-admin-counts b { color: var(--accent); font-size: 1.25rem; line-height: 1; }
.department-admin-counts small { color: var(--muted); font-size: .68rem; font-weight: 750; }
.department-chef-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .6rem; padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.1); }
.department-chef-form label { grid-column: 1 / -1; }
.department-chef-form button { min-height: 2.7rem; border: 1px solid rgba(255,159,28,.45); border-radius: .7rem; background: rgba(255,159,28,.14); color: #ffd59a; font-weight: 900; cursor: pointer; }
.department-chef-fixed, .department-chef-empty { display: grid; gap: .2rem; padding: .8rem; border-radius: .75rem; background: rgba(255,255,255,.045); }
.department-chef-fixed span { color: var(--accent); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.department-chef-fixed strong, .department-chef-empty strong { color: #fff8ef; }
.department-chef-fixed small, .department-chef-empty small { color: var(--muted); line-height: 1.4; }
.department-chef-summary { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.1); }
.department-chef-summary > div { display: grid; gap: .15rem; min-width: 0; }
.department-chef-summary small { color: var(--muted); font-size: .7rem; font-weight: 750; }
.department-chef-summary strong { overflow: hidden; color: #fff8ef; text-overflow: ellipsis; white-space: nowrap; }
.department-chef-launch { flex: 0 0 auto; min-height: 2.7rem; padding: .65rem .85rem; border: 1px solid rgba(255,159,28,.52); border-radius: .7rem; background: linear-gradient(135deg, rgba(255,159,28,.24), rgba(255,159,28,.1)); color: #ffe0ad; font: inherit; font-size: .76rem; font-weight: 900; cursor: pointer; }
.department-chef-launch:hover { border-color: rgba(255,184,72,.88); background: rgba(255,159,28,.28); }
.department-chef-dialog { width: min(92vw, 710px); max-width: 710px; max-height: 92dvh; padding: 0; border: 0; border-radius: 1.25rem; background: transparent; color: #fff; overflow: visible; }
.department-chef-dialog::backdrop { background: rgba(6,3,1,.78); backdrop-filter: blur(7px); }
.department-chef-dialog-card { max-height: 88dvh; overflow: auto; border: 1px solid rgba(255,159,28,.48); border-radius: 1.25rem; background: linear-gradient(145deg, #21150d, #120d0a 64%, #0b0908); box-shadow: 0 30px 90px rgba(0,0,0,.72), inset 0 1px rgba(255,255,255,.06); }
.department-chef-dialog-card > header { position: sticky; z-index: 2; top: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.25rem 1rem; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(25,16,11,.96); backdrop-filter: blur(14px); }
.department-chef-dialog-card > header p { margin: 0 0 .18rem; color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.department-chef-dialog-card > header h2 { margin: 0; font-size: clamp(1.35rem, 4vw, 1.9rem); }
.department-chef-dialog-card > header button { display: grid; place-items: center; flex: 0 0 auto; width: 2.65rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.06); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.department-chef-dialog-copy { margin: 0; padding: 1rem 1.25rem 0; color: var(--muted); line-height: 1.55; }
.department-chef-picker-form { display: grid; gap: 1rem; padding: 1rem 1.25rem 1.25rem; }
.department-chef-member-list { display: grid; gap: .65rem; }
.department-chef-member { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: .8rem; min-height: 4.85rem; padding: .72rem .8rem; border: 1px solid rgba(255,255,255,.13); border-radius: .9rem; background: rgba(255,255,255,.04); cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.department-chef-member:hover { border-color: rgba(255,159,28,.4); transform: translateY(-1px); }
.department-chef-member:has(input:checked) { border-color: rgba(255,159,28,.8); background: linear-gradient(135deg, rgba(255,159,28,.22), rgba(255,159,28,.07)); box-shadow: inset 0 0 0 1px rgba(255,205,124,.08); }
.department-chef-member > input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.department-chef-avatar { display: grid; place-items: center; width: 3.45rem; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(255,159,28,.38); border-radius: .82rem; background: rgba(255,159,28,.12); font-size: 1.75rem; }
.department-chef-avatar img { width: 100%; height: 100%; object-fit: cover; }
.department-chef-member-copy { display: grid; gap: .15rem; min-width: 0; }
.department-chef-member-copy strong { overflow: hidden; color: #fffaf4; font-size: 1.02rem; text-overflow: ellipsis; white-space: nowrap; }
.department-chef-member-copy small { color: #c9beb4; font-size: .72rem; line-height: 1.35; }
.department-current-chef { padding: .32rem .55rem; border-radius: 999px; background: rgba(74,222,128,.13); color: #aaf0c2; font-size: .65rem; font-weight: 900; }
.department-chef-check { display: grid; place-items: center; width: 1.8rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: transparent; font-size: .82rem; font-weight: 950; }
.department-chef-member:has(input:checked) .department-chef-check { border-color: var(--accent); background: var(--accent); color: #1c1007; }
.department-chef-submit { position: sticky; bottom: 0; width: 100%; min-height: 3.25rem; border: 0; border-radius: .85rem; background: linear-gradient(135deg, #ffb12f, #ff8a0d); color: #211207; font: inherit; font-weight: 950; box-shadow: 0 12px 30px rgba(255,132,13,.2); cursor: pointer; }
.supplier-control-form { display: grid; gap: .8rem; }
.supplier-admin-list { display: grid; gap: .65rem; }
.supplier-admin-option { display: grid; grid-template-columns: auto auto minmax(0,1fr) auto; align-items: center; gap: .75rem; padding: .8rem; border: 1px solid rgba(255,255,255,.13); border-radius: .85rem; background: rgba(255,255,255,.04); cursor: pointer; }
.supplier-admin-option:has(input:checked), .supplier-admin-option.is-active { border-color: rgba(255,159,28,.62); background: linear-gradient(135deg, rgba(255,159,28,.2), rgba(113,57,14,.16)); box-shadow: inset 0 0 0 1px rgba(255,194,92,.07); }
.supplier-admin-option input { width: 1.05rem; height: 1.05rem; accent-color: var(--accent); }
.supplier-admin-icon { display: grid; place-items: center; width: 4.7rem; min-height: 2.8rem; border-radius: .72rem; background: linear-gradient(145deg, rgba(255,174,55,.2), rgba(126,62,14,.14)); font-size: 1.35rem; letter-spacing: .08em; white-space: nowrap; }
.supplier-admin-option > span:nth-of-type(2) { display: grid; gap: .1rem; }
.supplier-admin-option small { color: var(--muted); }
.supplier-admin-option b { border-radius: 999px; padding: .38rem .58rem; background: rgba(255,159,28,.17); color: #ffd39a; font-size: .68rem; }
.supplier-control-form > button { justify-self: start; border: 0; border-radius: .72rem; padding: .78rem 1rem; background: linear-gradient(135deg,#ff9f1c,#e56d0b); color: #1b1008; font: inherit; font-size: .8rem; font-weight: 900; cursor: pointer; box-shadow: 0 .5rem 1rem rgba(229,109,11,.24); }
.rank-reset-card { display: flex; flex-direction: column; gap: 1rem; padding: 1.15rem; border: 1px solid rgba(255,159,28,.26); border-radius: 1rem; background: linear-gradient(135deg, rgba(255,159,28,.1), rgba(255,255,255,.03)); }
.rank-reset-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.rank-reset-card > header p { margin: 0 0 .12rem; color: var(--accent); font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rank-reset-card > header h2 { margin: 0; font-size: clamp(1.15rem, 3vw, 1.55rem); }
.rank-reset-card > header > span { display: grid; place-items: center; width: 2.5rem; aspect-ratio: 1; border-radius: .75rem; background: rgba(255,159,28,.14); color: var(--accent); font-size: 1.5rem; font-weight: 900; }
.rank-reset-card > p { margin: -.35rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.rank-reset-options { display: grid; gap: .75rem; margin-top: auto; }
.rank-reset-form { display: grid; grid-template-columns: 1fr auto; gap: .6rem; padding: .85rem; border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; background: rgba(0,0,0,.14); }
.rank-reset-form label { grid-column: 1 / -1; color: var(--muted); font-size: .72rem; font-weight: 800; }
.rank-reset-form select { min-width: 0; padding: .75rem; border: 1px solid rgba(255,255,255,.18); border-radius: .65rem; background: #25190f; color: white; font: inherit; }
.rank-reset-form button, .rank-reset-all button { min-height: 2.85rem; padding: .65rem .9rem; border: 0; border-radius: .65rem; color: white; font: inherit; font-size: .78rem; font-weight: 900; cursor: pointer; }
.rank-reset-user-button { background: linear-gradient(135deg, #a66a13, #d78b1a); }
.rank-reset-all { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: .85rem; border: 1px solid rgba(248,113,113,.32); border-radius: .85rem; background: rgba(151,25,25,.12); }
.rank-reset-all > div { display: grid; gap: .2rem; }
.rank-reset-all small { color: var(--muted); font-size: .68rem; line-height: 1.4; }
.rank-reset-all button { background: linear-gradient(135deg, #a52b32, #d24149); }
.admin-form { margin-top: 1.5rem; }
.admin-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: .75rem; }
.text-button { border: 0; background: none; color: var(--accent); font: inherit; font-weight: 750; cursor: pointer; }
.order-list { display: grid; gap: .7rem; }
.order-window-closed .menu-card > .order-deadline-banner,
.order-window-closed .menu-card > .eyebrow,
.order-window-closed .menu-card > .form-title,
.order-window-closed .menu-card > .form-copy { display: none !important; }
.admin-order {
  display: grid;
  grid-template-columns: auto 3.5rem 1fr;
  align-items: center;
  gap: .8rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: .8rem;
  background: rgba(255,255,255,.055);
  cursor: pointer;
}
.admin-order > input { width: 1.2rem; height: 1.2rem; accent-color: var(--accent); }
.admin-number { display: grid; place-items: center; width: 3rem; aspect-ratio: 1; border-radius: 50%; background: var(--accent); color: #1b1004; font-size: 1.25rem; font-weight: 900; }
.admin-meals { display: grid; gap: .35rem; line-height: 1.4; }
.admin-meals span::before { content: '•'; margin-right: .5rem; color: var(--accent); }
.admin-item-wish { display: block; margin: .2rem 0 0 1.05rem; color: #9df0b9; font-size: .78rem; font-style: normal; font-weight: 850; }
.email-panel { display: grid; gap: .65rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.15); }
.email-panel label { font-size: .85rem; font-weight: 800; }
.email-panel input { width: 100%; border: 1px solid rgba(255,255,255,.25); border-radius: .65rem; padding: .9rem 1rem; background: rgba(255,255,255,.09); color: white; font: inherit; }
.email-panel > small { color: #9df0b9; font-size: .72rem; font-weight: 750; line-height: 1.45; }
.admin-order-actions { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .7rem; }
.admin-order-actions .form-button { margin: 0; }
.delete-orders-button { border: 1px solid rgba(255,113,113,.72); border-radius: .8rem; padding: .85rem 1rem; background: rgba(151,25,25,.3); color: #ffdada; font: inherit; font-weight: 850; cursor: pointer; }
.delete-orders-button:hover, .delete-orders-button:focus-visible { border-color: #ff7777; background: rgba(181,32,32,.48); color: white; }
.archive-orders-button { grid-column: 1 / -1; width: 100%; border: 1px solid rgba(255,175,62,.68); border-radius: .8rem; padding: .92rem 1rem; background: linear-gradient(135deg, rgba(255,159,28,.2), rgba(116,68,8,.28)); color: #ffd69b; font: inherit; font-weight: 900; cursor: pointer; }
.archive-orders-button:hover, .archive-orders-button:focus-visible { border-color: var(--accent); background: linear-gradient(135deg, rgba(255,159,28,.34), rgba(116,68,8,.4)); color: white; }
#selectionCount { color: var(--muted); font-size: .82rem; }
.empty-state { margin-top: 1.5rem; padding: 1.25rem; border-radius: .8rem; background: rgba(255,255,255,.07); color: var(--muted); text-align: center; }
.admin-tabs { display: flex; width: 100%; max-width: 100%; gap: .5rem; margin: 1.25rem 0; overflow-x: auto; border-bottom: 1px solid rgba(255,255,255,.15); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.admin-tabs::-webkit-scrollbar { display: none; }
.admin-tabs a { flex: 0 0 auto; padding: .75rem 1rem; border-bottom: 3px solid transparent; color: var(--muted); text-decoration: none; font-weight: 800; white-space: nowrap; }
.admin-tabs a.active { border-color: var(--accent); color: var(--accent); }
.archive-empty { display: grid; justify-items: center; gap: .35rem; }
.archive-empty > span { font-size: 2.2rem; }
.archive-empty > strong { color: white; font-size: 1.05rem; }
.archive-empty > small { max-width: 34rem; }
.archive-day-list { display: grid; gap: .8rem; margin-top: 1.2rem; }
.archive-delete-form { display: grid; gap: .9rem; }
.archive-delete-toolbar { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-top: 1rem; padding: .75rem .85rem; border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; background: rgba(255,255,255,.035); }
.archive-delete-toolbar span { color: var(--muted); font-size: .78rem; font-weight: 800; }
.archive-delete-toolbar button { border: 0; padding: .45rem .7rem; background: transparent; color: var(--accent); font: inherit; font-size: .78rem; font-weight: 900; cursor: pointer; }
.archive-day-group { overflow: hidden; border: 1px solid rgba(255,159,28,.3); border-radius: 1rem; background: linear-gradient(145deg, rgba(255,159,28,.085), rgba(255,255,255,.025)); }
.archive-day-group > summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: .85rem; padding: 1rem; cursor: pointer; list-style: none; user-select: none; }
.archive-day-group > summary::-webkit-details-marker { display: none; }
.archive-day-group > summary:hover { background: rgba(255,159,28,.075); }
.archive-day-group > summary > span:nth-child(2) { display: grid; gap: .08rem; }
.archive-day-group > summary small { color: var(--muted); font-size: .68rem; }
.archive-day-group > summary strong { color: white; font-size: 1.08rem; }
.archive-day-calendar { display: grid; place-items: center; width: 2.75rem; aspect-ratio: 1; border: 1px solid rgba(255,159,28,.5); border-radius: .75rem; background: rgba(255,159,28,.14); color: var(--accent); cursor: pointer; }
.archive-day-calendar input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.archive-day-calendar span { display: grid; place-items: center; width: 1.2rem; aspect-ratio: 1; border: 2px solid var(--accent); border-radius: .2rem; color: transparent; font-size: .78rem; font-weight: 950; line-height: 1; }
.archive-day-calendar:has(input:checked) { border-color: #ff7777; background: rgba(151,25,25,.3); }
.archive-day-calendar:has(input:checked) span { border-color: #ff7777; background: #d93434; color: white; }
.archive-day-stats { display: grid; justify-items: end; gap: .1rem; text-align: right; }
.archive-day-stats b { color: #ffd69b; font-size: .82rem; }
.archive-day-stats small { color: #9df0b9 !important; font-weight: 850; }
.archive-day-chevron { color: var(--accent); font-size: 1.3rem; transition: transform .2s ease; }
.archive-day-group[open] > summary { border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(255,159,28,.07); }
.archive-day-group[open] > summary .archive-day-chevron { transform: rotate(180deg); }
.archive-order-list { display: grid; gap: .85rem; margin-top: 1.2rem; }
.archive-day-group .archive-order-list { margin: 0; padding: .85rem; background: rgba(0,0,0,.12); }
.archive-order-card { overflow: hidden; border: 1px solid rgba(255,159,28,.28); border-radius: 1rem; background: linear-gradient(145deg, rgba(255,159,28,.085), rgba(255,255,255,.025)); box-shadow: 0 15px 35px rgba(0,0,0,.18); }
.archive-order-card > header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .9rem; padding: 1rem; }
.archive-order-card > header > div { min-width: 0; }
.archive-order-card > header small { color: var(--accent); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.archive-order-card > header h2 { margin: .1rem 0; font-size: 1.15rem; }
.archive-order-card > header p { margin: 0; color: var(--muted); font-size: .72rem; }
.archive-order-card > header > strong { color: #9df0b9; font-size: 1.12rem; white-space: nowrap; }
.archive-order-number { display: grid; place-items: center; width: 3.25rem; aspect-ratio: 1; border: 1px solid rgba(255,159,28,.6); border-radius: .9rem; background: rgba(255,159,28,.14); color: var(--accent); font-size: 1.35rem; font-weight: 950; }
.archive-order-card ul { display: grid; gap: .45rem; margin: 0; padding: .9rem 1rem; border-top: 1px solid rgba(255,255,255,.09); border-bottom: 1px solid rgba(255,255,255,.09); list-style: none; }
.archive-order-card li { display: flex; justify-content: space-between; gap: .8rem; color: #f6eee6; font-size: .84rem; }
.archive-order-card li b { color: white; white-space: nowrap; }
.archive-order-card footer { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .7rem 1rem; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.archive-order-select { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .55rem; border: 1px solid rgba(255,255,255,.16); border-radius: .55rem; color: #f7eee5; cursor: pointer; }
.archive-order-select:has(input:checked) { border-color: #ff7777; background: rgba(151,25,25,.24); color: #ffdada; }
.archive-order-select input { width: 1rem; height: 1rem; accent-color: #e33e3e; }
.archive-delete-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin-top: .25rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.1); }
.delete-all-archive-button { border: 1px solid rgba(255,75,75,.9); border-radius: .8rem; padding: .85rem 1rem; background: rgba(112,12,12,.52); color: #ffe1e1; font: inherit; font-weight: 900; cursor: pointer; }
.delete-all-archive-button:hover, .delete-all-archive-button:focus-visible { background: rgba(166,18,18,.66); color: white; }
.user-overview-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1.2rem 0; }
.user-overview-stats article { display: grid; gap: .15rem; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); }
.user-overview-stats span { color: var(--accent); font-size: 1.65rem; font-weight: 900; }
.user-overview-stats small { color: var(--muted); font-size: .75rem; }
.user-management { display: grid; grid-template-columns: minmax(270px, 320px) 1fr; align-items: start; gap: 1rem; }
.user-directory { position: sticky; top: 1rem; padding: .85rem; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(12,8,6,.52); box-shadow: 0 14px 35px rgba(0,0,0,.2); }
.user-directory > header { display: flex; justify-content: space-between; align-items: center; padding: .2rem .25rem .8rem; }
.user-directory > header > div { display: grid; gap: .15rem; }
.user-directory > header strong { font-size: 1.05rem; }
.user-directory > header small { color: var(--muted); font-size: .72rem; }
.directory-icon { color: #5fe18c; font-size: .8rem; filter: drop-shadow(0 0 7px rgba(95,225,140,.75)); }
.user-search { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .45rem; margin-bottom: .7rem; padding: .15rem .75rem; border: 1px solid rgba(255,255,255,.16); border-radius: .7rem; background: rgba(255,255,255,.055); color: var(--muted); }
.user-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(255,159,28,.14); }
.user-search input { min-width: 0; border: 0; outline: 0; padding: .7rem 0; background: transparent; color: white; font: inherit; font-size: .82rem; }
.user-search input::placeholder { color: rgba(255,255,255,.42); }
.user-list { display: grid; align-content: start; gap: .45rem; max-height: 620px; padding-right: .15rem; overflow: auto; }
.user-entry { display: grid; grid-template-columns: 3rem 1fr auto; align-items: center; gap: .7rem; min-width: 0; padding: .65rem .7rem; border: 1px solid transparent; border-radius: .8rem; color: white; text-decoration: none; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.user-entry:hover { border-color: rgba(255,159,28,.38); background: rgba(255,255,255,.055); transform: translateX(2px); }
.user-entry.active { border-color: rgba(255,159,28,.72); background: linear-gradient(110deg, rgba(255,159,28,.2), rgba(255,159,28,.07)); box-shadow: inset 3px 0 0 var(--accent); }
.user-entry[hidden] { display: none; }
.user-list-avatar { display: grid; place-items: center; width: 3rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.16); border-radius: .75rem; overflow: hidden; background: rgba(255,255,255,.075); font-size: 1.65rem; }
.user-entry.active .user-list-avatar { border-color: rgba(255,159,28,.55); background: rgba(255,159,28,.14); }
.user-list-copy { display: grid; min-width: 0; gap: .16rem; }
.user-list-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-list-copy small { color: var(--muted); font-size: .69rem; }
.user-list-chevron { color: var(--muted); font-size: 1.4rem; }
.user-entry.active .user-list-chevron { color: var(--accent); }
.user-search-empty { margin: .75rem 0 .2rem; color: var(--muted); font-size: .78rem; text-align: center; }
.user-detail { overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 1rem; background: rgba(255,255,255,.035); box-shadow: 0 14px 35px rgba(0,0,0,.2); }
.user-detail-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.25rem; border-bottom: 1px solid rgba(255,255,255,.12); background: radial-gradient(circle at 12% 30%, rgba(255,159,28,.2), transparent 38%), linear-gradient(120deg, rgba(255,255,255,.06), transparent); }
.user-detail-avatar { display: grid; place-items: center; width: 5rem; aspect-ratio: 1; border: 2px solid rgba(255,159,28,.55); border-radius: 1.1rem; overflow: hidden; background: rgba(255,159,28,.13); box-shadow: 0 12px 28px rgba(255,159,28,.16); font-size: 2.8rem; }
.user-detail-hero > div { display: grid; justify-items: start; gap: .25rem; }
.user-detail-hero p, .history-heading p { margin: 0; color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.user-detail-hero h2 { margin: 0; font-size: clamp(1.5rem, 4vw, 2.1rem); line-height: 1; overflow-wrap: anywhere; }
.user-detail-hero > small { align-self: start; color: var(--muted); font-size: .7rem; }
.user-detail-badges { display: flex !important; flex-wrap: wrap; gap: .35rem !important; }
.user-role-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem; margin: 1rem; padding: 1rem; border: 1px solid rgba(255,159,28,.3); border-radius: .85rem; background: linear-gradient(120deg, rgba(255,159,28,.14), rgba(255,159,28,.035)); }
.user-role-panel > div { display: grid; gap: .22rem; }
.user-role-panel p { margin: 0; color: var(--accent); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.user-role-panel h3 { margin: 0; font-size: 1.15rem; }
.user-role-panel small { max-width: 40rem; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.user-role-panel form { display: grid; grid-template-columns: minmax(8rem, 1fr) auto; align-items: end; gap: .55rem; min-width: min(100%, 22rem); }
.user-role-panel form label { grid-column: 1 / -1; color: var(--muted); font-size: .68rem; font-weight: 800; }
.user-role-panel select { min-width: 0; min-height: 2.8rem; padding: .65rem .75rem; border: 1px solid rgba(255,255,255,.18); border-radius: .65rem; background: #25190f; color: white; font: inherit; }
.user-role-panel button { min-height: 2.8rem; padding: .65rem .9rem; border: 0; border-radius: .65rem; background: linear-gradient(135deg, #ffad2f, #f28a13); color: #211207; font: inherit; font-size: .76rem; font-weight: 900; cursor: pointer; }
.role-badge { display: inline-flex; align-items: center; margin-top: .15rem; padding: .28rem .55rem; border-radius: 999px; font-size: .68rem; font-weight: 850; }
.role-user { background: rgba(116,166,255,.14); color: #bcd3ff; }
.role-chef { background: rgba(255,159,28,.16); color: #ffc875; }
.fun-rank-badge { background: rgba(95,225,140,.13); color: #bdf7d0; }
.role-panel { margin: 1rem; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; background: rgba(0,0,0,.12); }
.role-panel-copy { display: grid; gap: .25rem; margin-bottom: .85rem; }
.role-panel-copy small { color: var(--muted); font-size: .75rem; line-height: 1.45; }
.role-form { display: grid; grid-template-columns: minmax(150px, 1fr) auto; align-items: end; gap: .65rem; }
.role-form label { grid-column: 1 / -1; font-size: .75rem; font-weight: 800; }
.role-form select { min-width: 0; padding: .85rem; border: 1px solid rgba(255,255,255,.2); border-radius: .65rem; background: #25190f; color: white; font: inherit; }
.role-form .primary-button { min-height: 3.05rem; }
.compact-button { min-width: 0; border: 0; cursor: pointer; }
.user-delete-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin: 0 1rem 1rem; padding: 1rem; border: 1px solid rgba(255,105,105,.28); border-radius: .85rem; background: linear-gradient(120deg, rgba(151,25,25,.15), rgba(151,25,25,.04)); }
.user-delete-panel > div { display: grid; gap: .25rem; }
.user-delete-panel > div small { max-width: 43rem; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.delete-user-button { min-height: 2.8rem; border: 1px solid rgba(255,113,113,.72); border-radius: .7rem; padding: .7rem 1rem; background: rgba(151,25,25,.34); color: #ffdada; font: inherit; font-size: .76rem; font-weight: 850; cursor: pointer; }
.delete-user-button:hover, .delete-user-button:focus-visible { border-color: #ff7777; background: rgba(181,32,32,.54); color: white; }
.delete-user-locked { padding: .6rem .8rem; border-radius: .65rem; background: rgba(255,255,255,.06); color: var(--muted); font-size: .68rem; font-weight: 800; text-align: center; }
.history-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 1.35rem 1rem .75rem; }
.history-heading h3 { margin: .15rem 0 0; font-size: 1.15rem; }
.history-heading > span { padding: .3rem .55rem; border-radius: 999px; background: rgba(255,255,255,.07); color: var(--muted); font-size: .68rem; }
.history-list { display: grid; gap: .7rem; padding: 0 1rem 1rem; }
.history-list article { padding: .95rem; border: 1px solid rgba(255,255,255,.12); border-radius: .8rem; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018)); }
.history-list header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.history-list header > div { display: grid; gap: .15rem; }
.history-list header small { color: var(--muted); font-size: .65rem; text-transform: uppercase; }
.history-list header strong { color: white; font-size: .85rem; }
.history-price { color: var(--accent); font-size: 1rem; font-weight: 900; }
.history-payment { display: inline-flex; margin: .6rem 0; padding: .2rem .45rem; border-radius: .45rem; background: rgba(74,190,112,.12); color: #a9ebbd; font-size: .65rem; font-weight: 800; }
.history-list ul { display: grid; gap: .4rem; margin: .15rem 0 0; padding: 0; color: var(--muted); list-style: none; }
.history-list li { display: flex; justify-content: space-between; gap: .75rem; padding-top: .45rem; border-top: 1px solid rgba(255,255,255,.08); font-size: .75rem; line-height: 1.4; }
.history-list li strong { color: white; white-space: nowrap; }
.user-history-empty { display: grid; place-items: center; gap: .3rem; margin: 0 1rem 1rem; }
.user-history-empty > span { font-size: 2rem; }
.user-history-empty small { color: var(--muted); }
.menu-card { width: min(96%, 1040px); }
.order-deadline-banner { display: flex; align-items: center; justify-content: center; gap: .6rem; margin: -.35rem 0 1.2rem; padding: .9rem 1rem; border: 1px solid rgba(255,184,77,.72); border-radius: .8rem; background: linear-gradient(110deg, rgba(255,159,28,.2), rgba(255,196,87,.1)); color: #ffe3b4; text-align: center; box-shadow: 0 8px 24px rgba(255,159,28,.1); }
.order-deadline-banner span { font-size: 1.25rem; }
.order-deadline-banner strong { font-size: clamp(.95rem, 3vw, 1.1rem); }
.order-time-info { display: flex; flex-wrap: wrap; gap: .3rem .7rem; margin-top: 1rem; padding: .8rem 1rem; border: 1px solid rgba(255,159,28,.25); border-radius: .75rem; background: rgba(255,159,28,.08); color: var(--muted); font-size: .78rem; line-height: 1.45; }
.order-time-info strong { color: var(--accent); }
.order-closed-panel { display: grid; gap: .8rem; margin-top: 1.2rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.16); border-radius: .9rem; background: rgba(255,255,255,.055); text-align: center; }
.order-closed-panel > strong { font-size: 1.15rem; }
.order-closed-panel p { margin: 0; color: var(--muted); }
.order-closed-panel .primary-button, .order-closed-panel .secondary-button { width: 100%; }
.order-window-closed .order-closed-panel a,
.order-window-closed .order-closed-panel button { display: none !important; }
.order-window-closed .supplier-menu-picker, .order-window-closed #menuForm, .order-window-closed .center-hint, .order-window-closed .finish-prompt { display: none; }
.supplier-menu-picker { display: grid; gap: .85rem; margin: 1.5rem 0 1rem; padding: 1rem; border: 1px solid rgba(255,159,28,.34); border-radius: 1rem; background: linear-gradient(145deg, rgba(34,21,13,.96), rgba(15,10,7,.96)); box-shadow: 0 15px 38px rgba(0,0,0,.3); }
.supplier-menu-picker > header { display: flex; align-items: center; }
.supplier-menu-picker > header p { margin: 0; color: var(--accent); font-size: .78rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.supplier-menu-list { display: grid; gap: .65rem; }
.supplier-menu-option { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .8rem; padding: .85rem; border: 1px solid rgba(255,255,255,.13); border-radius: .85rem; background: rgba(255,255,255,.045); }
.supplier-menu-option.is-active { border-color: rgba(255,159,28,.62); background: linear-gradient(135deg, rgba(255,159,28,.2), rgba(113,57,14,.16)); box-shadow: inset 0 0 0 1px rgba(255,194,92,.07), 0 .65rem 1.5rem rgba(0,0,0,.16); }
.supplier-menu-option.is-inactive { opacity: .5; filter: saturate(.55); }
.supplier-menu-icon { display: grid; place-items: center; width: 5.5rem; min-height: 3.2rem; padding: .3rem .45rem; border-radius: .8rem; background: linear-gradient(145deg, rgba(255,174,55,.22), rgba(126,62,14,.15)); font-size: 1.55rem; letter-spacing: .08em; white-space: nowrap; }
.supplier-menu-copy { display: grid; gap: .12rem; min-width: 0; }
.supplier-menu-copy strong { font-size: 1rem; }
.supplier-menu-copy small { color: var(--muted); line-height: 1.35; }
.supplier-menu-status { border-radius: 999px; padding: .46rem .65rem; background: rgba(255,159,28,.17); color: #ffd39a; font-size: .7rem; font-weight: 850; white-space: nowrap; }
.supplier-menu-option.is-inactive .supplier-menu-status { background: rgba(255,255,255,.08); color: var(--muted); }
.menu-category { margin-top: .7rem; border: 1px solid rgba(255,255,255,.16); border-radius: .9rem; background: rgba(255,255,255,.035); overflow: clip; }
.menu-category > summary { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .7rem; padding: 1rem 1.1rem; color: var(--accent); font-size: 1.05rem; font-weight: 850; cursor: pointer; list-style: none; }
.menu-category > summary::-webkit-details-marker { display: none; }
.menu-category > summary:hover, .menu-category > summary:focus-visible { background: rgba(255,159,28,.09); outline: none; }
.menu-category[open] > summary { border-bottom: 1px solid rgba(255,255,255,.13); background: rgba(255,159,28,.1); }
.category-count { color: var(--muted); font-size: .7rem; font-weight: 700; white-space: nowrap; }
.category-chevron { font-size: 1.35rem; line-height: 1; transition: transform .18s ease; }
.menu-category[open] .category-chevron { transform: rotate(180deg); }
.menu-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .7rem; padding: .8rem; }
.menu-item { position: relative; cursor: pointer; }
.menu-item-choice { display: block; cursor: pointer; }
.menu-item[hidden] { display: none; }
.menu-item input { position: absolute; opacity: 0; pointer-events: none; }
.menu-item-body { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .4rem .8rem; min-height: 105px; padding: 1rem; border: 1px solid rgba(255,255,255,.16); border-radius: .8rem; background: rgba(255,255,255,.055); transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.menu-item:hover .menu-item-body { border-color: rgba(255,159,28,.6); transform: translateY(-2px); }
.menu-item input:checked + .menu-item-body { border-color: var(--accent); background: rgba(255,159,28,.14); }
.menu-item input:focus-visible + .menu-item-body { outline: 3px solid white; outline-offset: 3px; }
.menu-item input:disabled + .menu-item-body { opacity: .45; cursor: not-allowed; }
.menu-number { grid-column: 1 / -1; color: var(--accent); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.menu-price { font-weight: 850; white-space: nowrap; }
.menu-description { grid-column: 1 / -1; color: var(--muted); line-height: 1.35; }
.menu-check { position: absolute; right: .7rem; bottom: .55rem; display: none; color: var(--accent); font-size: 1.2rem; font-weight: 950; }
.menu-item input:checked + .menu-item-body .menu-check { display: block; }
.menu-custom-options { display: none; margin: .5rem .15rem 0; padding: .8rem; border: 1px solid rgba(95,225,140,.34); border-radius: .75rem; background: rgba(31,102,55,.16); cursor: default; }
.menu-custom-options.custom-options-visible { display: block; }
.menu-custom-options > strong { display: block; margin-bottom: .6rem; color: #dfffe8; font-size: .78rem; }
.menu-custom-options > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.menu-custom-options label { display: flex; align-items: center; gap: .4rem; padding: .5rem .65rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.06); color: #f8eee5; cursor: pointer; font-size: .75rem; font-weight: 800; }
.menu-custom-options input { position: static; width: 1rem; height: 1rem; margin: 0; opacity: 1; pointer-events: auto; accent-color: #60df8e; }
.menu-custom-options label:has(input:checked) { border-color: #60df8e; background: rgba(95,225,140,.18); color: #dfffe8; }
.order-summary { position: sticky; bottom: 1rem; z-index: 5; display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 1.5rem; margin-top: 2rem; padding: 1rem; border: 1px solid rgba(255,159,28,.55); border-radius: 1rem; background: rgba(16,10,6,.95); box-shadow: 0 16px 45px rgba(0,0,0,.45); backdrop-filter: blur(15px); }
.order-summary > div { display: grid; gap: .2rem; }
.order-summary span { color: var(--muted); font-size: .75rem; }
.order-summary .primary-button { justify-self: end; border: 0; cursor: pointer; }
.order-total { margin-top: .25rem; color: var(--accent); }
#menuForm.finish-prompt-active { padding-bottom: 7rem; }
.finish-prompt[hidden] { display: none; }
.finish-prompt {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  z-index: 60;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: .75rem;
  width: min(680px, calc(100% - 2rem));
  padding: 1rem 3.2rem 1rem 1rem;
  border: 1px solid rgba(158,255,184,.72);
  border-radius: 1rem;
  overflow: hidden;
  color: white;
  background: linear-gradient(115deg, #0b512b, #168f4b, #0c6333, #20a65a, #0b512b);
  background-size: 300% 300%;
  box-shadow: 0 18px 55px rgba(2,40,18,.55), 0 0 28px rgba(42,222,113,.22);
  opacity: 0;
  transform: translate(-50%, 1.5rem) scale(.96);
  transition: opacity .22s ease, transform .22s ease;
  animation: finish-green-shimmer 4s ease infinite;
}
.finish-prompt::before { content: ""; position: absolute; inset: -60% auto -60% -35%; width: 28%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent); transform: rotate(18deg); animation: finish-light-sweep 3.2s ease-in-out infinite; pointer-events: none; }
.finish-prompt-show { opacity: 1; transform: translate(-50%, 0) scale(1); }
.finish-prompt-check { position: relative; display: grid; place-items: center; width: 2.8rem; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.75); border-radius: 50%; background: rgba(255,255,255,.16); font-size: 1.4rem; font-weight: 950; }
.finish-prompt-copy { position: relative; display: grid; gap: .1rem; }
.finish-prompt small { color: rgba(255,255,255,.78); font-size: .72rem; }
.finish-prompt strong { font-size: 1.12rem; }
.finish-swipe { --swipe-fill: 10rem; position: relative; width: min(340px, 43vw); height: 3.35rem; padding: 4px; border: 1px solid rgba(255,255,255,.48); border-radius: 999px; overflow: hidden; background: rgba(2,45,20,.42); box-shadow: inset 0 2px 8px rgba(0,0,0,.25); user-select: none; }
.finish-swipe::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--swipe-fill); border-radius: inherit; background: linear-gradient(90deg, rgba(168,255,190,.22), rgba(198,255,214,.48)); box-shadow: 0 0 25px rgba(157,255,185,.6); transition: width .2s ease; }
.finish-swipe-label { position: absolute; inset: 0 .8rem 0 10.3rem; z-index: 1; display: grid; place-items: center; color: rgba(255,255,255,.82); font-size: .72rem; font-weight: 850; letter-spacing: .02em; text-align: center; pointer-events: none; }
.finish-swipe-handle { position: absolute; top: 4px; left: 4px; z-index: 2; display: grid; place-items: center; width: 10rem; height: calc(3.35rem - 10px); border: 0; padding: 0 1.25rem 0 .8rem; clip-path: polygon(0 0, calc(100% - 1.1rem) 0, 100% 50%, calc(100% - 1.1rem) 100%, 0 100%); background: linear-gradient(135deg, #ffffff, #dfffe8); color: #075027; font: inherit; font-size: .8rem; font-weight: 950; white-space: nowrap; cursor: grab; touch-action: none; transform: translate3d(0,0,0); will-change: transform; transition: transform .28s cubic-bezier(.16,.84,.3,1), filter .18s ease; filter: drop-shadow(0 5px 8px rgba(0,0,0,.28)); }
.finish-swipe-handle::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.9) 48%, transparent 72%); opacity: 0; transform: translateX(-110%); pointer-events: none; }
.finish-swipe-handle:focus-visible { outline: 3px solid #fff8b5; outline-offset: 3px; }
.finish-swipe-dragging::before { transition: none; }
.finish-swipe-dragging .finish-swipe-handle { cursor: grabbing; transition: none; filter: drop-shadow(-12px 0 12px rgba(220,255,230,.8)) drop-shadow(0 5px 8px rgba(0,0,0,.24)); }
.finish-swipe-dragging .finish-swipe-handle::after { opacity: 1; animation: swipe-speed-trail .55s linear infinite; }
.finish-swipe-complete { border-color: white; animation: swipe-success-pulse .42s ease; }
.finish-swipe-complete .finish-swipe-handle { background: #dfffe8; filter: drop-shadow(-12px 0 16px rgba(222,255,231,1)); cursor: default; }
.finish-swipe-complete .finish-swipe-handle span { animation: swipe-arrow-pop .42s ease; }
.finish-prompt-close { position: absolute; top: .3rem; right: .4rem; z-index: 2; display: grid; place-items: center; width: 2rem; height: 2rem; border: 0; background: transparent; color: rgba(255,255,255,.82); font-size: 1.5rem; cursor: pointer; }
@keyframes finish-green-shimmer { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
@keyframes finish-light-sweep { 0%,30% { left: -35%; } 75%,100% { left: 125%; } }
@keyframes swipe-speed-trail { 0% { transform: translateX(-110%); } 100% { transform: translateX(110%); } }
@keyframes swipe-success-pulse { 0% { box-shadow: inset 0 2px 8px rgba(0,0,0,.25); } 50% { box-shadow: inset 0 0 20px rgba(226,255,234,.85), 0 0 28px rgba(226,255,234,.72); } 100% { box-shadow: inset 0 2px 8px rgba(0,0,0,.25); } }
@keyframes swipe-arrow-pop { 50% { transform: scale(1.45) rotate(-8deg); } }
.payment-panel { display: grid; grid-template-columns: 1fr; gap: .7rem; margin: 2rem 0 0; padding: 1rem; border: 1px solid rgba(255,255,255,.16); border-radius: .9rem; }
.payment-panel legend { padding: 0 .5rem; color: var(--accent); font-weight: 850; }
.payment-option { display: flex; align-items: center; gap: .75rem; padding: .9rem; border: 1px solid rgba(255,255,255,.16); border-radius: .75rem; background: rgba(255,255,255,.05); cursor: pointer; }
.payment-option:has(input:checked) { border-color: var(--accent); background: rgba(255,159,28,.13); }
.payment-option input { width: 1.2rem; height: 1.2rem; accent-color: var(--accent); }
.payment-option span { display: grid; gap: .2rem; }
.payment-option small { color: var(--muted); }
.cash-payment-option:hover { border-color: var(--accent); }
.modal-open { overflow: hidden; }
.payment-modal[hidden] { display: none; }
.payment-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 1rem; background: rgba(5,3,2,.84); backdrop-filter: blur(8px); }
.payment-modal-card { position: relative; width: min(560px, 100%); max-height: calc(100vh - 2rem); overflow-y: auto; padding: clamp(1.4rem, 5vw, 2.4rem); border: 1px solid rgba(255,159,28,.55); border-radius: 1.2rem; background: #17100c; box-shadow: 0 28px 80px rgba(0,0,0,.65); }
.payment-modal-card h2 { margin: .25rem 2.5rem 1.2rem 0; font-size: clamp(1.7rem, 6vw, 2.5rem); line-height: 1.05; }
.payment-modal-card ol { display: grid; gap: .85rem; margin: 1.3rem 0; padding-left: 1.35rem; color: var(--muted); line-height: 1.5; }
.payment-modal-card li::marker { color: var(--accent); font-weight: 900; }
.payment-modal-card li strong { color: white; }
.payment-finish-note { margin: -.35rem 0 1rem; color: var(--muted); line-height: 1.5; }
.payment-modal-close { position: absolute; top: .8rem; right: .8rem; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(255,255,255,.06); color: white; font-size: 1.7rem; cursor: pointer; }
.payment-modal-close:hover { border-color: var(--accent); color: var(--accent); }
.payment-comic { position: relative; width: min(320px, 88%); margin: 1rem auto 1.3rem; }
.payment-comic img { display: block; width: 100%; height: auto; border: 1px solid rgba(255,159,28,.28); border-radius: 1rem; box-shadow: 0 14px 34px rgba(0,0,0,.3); }
.payment-comic-number { position: absolute; top: 70%; left: 50%; display: grid; min-width: 42%; padding: .15rem .5rem; color: #2a1b0c; text-align: center; transform: translate(-50%,-50%) rotate(-.5deg); }
.payment-comic-number small { font-size: clamp(.56rem, 2vw, .72rem); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.payment-comic-number strong { font-size: clamp(2.1rem, 10vw, 3.4rem); line-height: 1; }
.payment-modal-confirm { width: 100%; border: 0; cursor: pointer; }
.guest-home-card { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .9rem; width: min(620px,100%); margin: 0 0 .8rem; padding: 1rem 1.05rem; border: 1px solid rgba(255,159,28,.58); border-radius: 1rem; background: linear-gradient(135deg,rgba(30,20,13,.94),rgba(58,34,15,.88)); box-shadow: 0 16px 40px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.04); color: #fff8ef; text-decoration: none; backdrop-filter: blur(14px); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.guest-home-card:hover,.guest-home-card:focus-visible { transform: translateY(-2px); border-color: #ffbc58; box-shadow: 0 19px 46px rgba(0,0,0,.34),0 0 26px rgba(255,159,28,.12); outline: none; }
.guest-home-symbol { display: grid; place-items: center; width: 3.25rem; aspect-ratio: 1; border-radius: .85rem; background: linear-gradient(135deg,#ffb12f,#ff8b0d); color: #211207; font-size: 1.55rem; font-weight: 950; }
.guest-home-card > span:nth-child(2) { display: grid; gap: .12rem; min-width: 0; }
.guest-home-card small { color: #ffc36c; font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.guest-home-card strong { font-size: clamp(1.08rem,3vw,1.3rem); }
.guest-home-card em { color: #d8cec3; font-size: .78rem; font-style: normal; }
.guest-home-card > b { color: var(--accent); font-size: 1.45rem; }
.home-guest-badge { display: inline-grid; gap: .12rem; margin-bottom: .5rem; padding: .65rem .85rem; border: 1px solid rgba(255,159,28,.38); border-radius: .75rem; background: rgba(19,12,8,.72); }
.home-guest-badge span { color: var(--accent); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.home-guest-badge strong { color: #fff8ef; font-size: .78rem; }
.guest-top-actions { display: flex; align-items: center; gap: .45rem; }
.guest-session-label { cursor: default; color: #ffd293; }
.guest-access-page { overflow: visible; background-image: url("pausenbiss-startseite-bg.jpg"); background-position: center; }
.guest-access-page::before { background: linear-gradient(90deg,rgba(8,5,3,.94) 0%,rgba(8,5,3,.76) 48%,rgba(8,5,3,.56) 100%),linear-gradient(0deg,rgba(8,5,3,.78),transparent 60%); }
.guest-access-topbar { padding-bottom: .8rem; }
.guest-access-brand { font-size: 1.05rem; }
.guest-access-layout { align-self: center; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,520px); align-items: center; gap: clamp(2rem,6vw,5.5rem); width: min(1180px,calc(100% - 3rem)); margin: 0 auto; padding: 1.2rem 0 4rem; }
.guest-access-promise { max-width: 610px; }
.guest-access-promise h1 { font-size: clamp(3.8rem,7vw,6.9rem); }
.guest-access-promise > p:not(.eyebrow) { max-width: 540px; margin: 1.35rem 0 1.55rem; color: #eadfd2; font-size: clamp(1rem,1.45vw,1.25rem); line-height: 1.55; }
.guest-quick-steps { display: flex; flex-wrap: wrap; gap: .55rem; }
.guest-quick-steps span { display: inline-flex; align-items: center; gap: .42rem; padding: .55rem .72rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(20,13,9,.62); color: #f4eadf; font-size: .74rem; font-weight: 760; backdrop-filter: blur(12px); }
.guest-quick-steps b { display: grid; place-items: center; width: 1.45rem; aspect-ratio: 1; border-radius: 50%; background: rgba(255,159,28,.18); color: #ffb13c; font-size: .68rem; }
.guest-access-card { width: 100%; margin: 0; padding: clamp(1.35rem,3vw,2rem); border-color: rgba(255,159,28,.34); background: linear-gradient(150deg,rgba(31,20,13,.94),rgba(13,9,7,.92)); box-shadow: 0 28px 80px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.06); text-align: left; }
.guest-access-card-header { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .9rem; margin-bottom: .75rem; }
.guest-access-card-header .eyebrow { margin: 0 0 .2rem; font-size: .66rem; }
.guest-access-card-header h2 { margin: 0; color: #fffaf2; font-size: clamp(1.65rem,4vw,2.25rem); letter-spacing: -.045em; }
.guest-access-icon { display: grid; place-items: center; width: 3.8rem; aspect-ratio: 1; border: 1px solid rgba(255,159,28,.58); border-radius: 1rem; background: linear-gradient(135deg,#ffb12f,#ff8809); color: #211207; font-size: 1.8rem; font-weight: 950; box-shadow: 0 12px 32px rgba(255,130,0,.16); }
.guest-access-form { margin-top: 1rem; }
.guest-privacy-note { display: flex; align-items: center; gap: .75rem; padding: .8rem; border: 1px solid rgba(78,211,132,.36); border-radius: .8rem; background: rgba(40,125,72,.12); }
.guest-privacy-note > span { display: grid; place-items: center; flex: 0 0 auto; width: 2rem; aspect-ratio: 1; border-radius: 50%; background: #46c878; color: #092714; font-weight: 950; }
.guest-privacy-note p { display: grid; gap: .12rem; margin: 0; }
.guest-privacy-note strong { color: #baf1ce; font-size: .86rem; }
.guest-privacy-note small { color: #d9d3cc; line-height: 1.35; }
.guest-start-button { justify-content: space-between; width: 100%; min-height: 3.55rem; border: 0; cursor: pointer; }
.guest-return-info { display: flex; align-items: center; gap: .75rem; margin: 1rem 0; padding: .85rem; border: 1px solid rgba(255,159,28,.38); border-radius: .8rem; background: rgba(255,159,28,.09); }
.guest-return-info > span { display: grid; place-items: center; flex: 0 0 auto; min-width: 2.75rem; min-height: 2.75rem; padding: .35rem; border-radius: .72rem; background: linear-gradient(135deg,#ffb12f,#ff8809); color: #211207; font-weight: 950; }
.guest-return-info p { display: grid; gap: .12rem; margin: 0; }
.guest-return-info strong { color: #fff5e8; }
.guest-return-info small { color: #cbbdaf; font-size: .72rem; }
.guest-return-button { display: flex; text-decoration: none; }
.guest-register-choice { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .65rem 1rem; margin-top: 1.4rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.13); }
.guest-register-choice > span { position: absolute; top: 0; left: 50%; padding: 0 .65rem; background: #130d09; color: #9f9387; font-size: .65rem; font-weight: 800; text-transform: uppercase; transform: translate(-50%,-50%); }
.guest-register-choice p { display: grid; gap: .15rem; margin: 0; }
.guest-register-choice strong { color: #fff7ed; font-size: .88rem; }
.guest-register-choice small { color: #bfb3a7; font-size: .7rem; line-height: 1.35; }
.guest-account-actions { display: grid; gap: .55rem; }
.guest-register-choice a { display: inline-flex; align-items: center; gap: .5rem; padding: .78rem .9rem; border: 1px solid rgba(255,159,28,.5); border-radius: .72rem; background: rgba(255,159,28,.09); color: #ffc164; font-size: .78rem; font-weight: 900; text-decoration: none; white-space: nowrap; }
.guest-register-choice a:hover,.guest-register-choice a:focus-visible { border-color: #ffba4d; background: rgba(255,159,28,.17); outline: none; }
.guest-order-identity { display: grid; justify-items: end; gap: .12rem; padding: .55rem .75rem; border: 1px solid rgba(255,159,28,.34); border-radius: .75rem; background: rgba(255,159,28,.08); }
.guest-order-identity span { color: var(--accent); font-size: .58rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.guest-order-identity strong { font-size: .74rem; }
.guest-order-complete { min-height: 100svh; }
.guest-complete-page { grid-template-rows: 1fr; }
.guest-complete-page::before { background: linear-gradient(0deg,rgba(8,5,3,.88),rgba(8,5,3,.6)),radial-gradient(circle at 50% 46%,rgba(255,159,28,.1),transparent 42%); }
.guest-complete-content { align-self: center; justify-self: center; display: grid; justify-items: center; gap: 1.15rem; width: min(92%,560px); padding: 1.5rem; text-align: center; }
.guest-complete-number { display: grid; justify-items: center; gap: .35rem; }
.guest-complete-number span { color: #ffb342; font-size: .72rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.guest-complete-number strong { display: grid; place-items: center; width: clamp(5.2rem,18vw,7.2rem); aspect-ratio: 1; border: 2px solid rgba(255,159,28,.78); border-radius: 1.35rem; background: linear-gradient(145deg,rgba(255,159,28,.24),rgba(255,159,28,.08)); box-shadow: 0 18px 48px rgba(0,0,0,.4),0 0 32px rgba(255,159,28,.11); color: #fff8ee; font-size: clamp(2.8rem,9vw,4.3rem); line-height: 1; }
.guest-complete-order { overflow: hidden; width: 100%; border: 1px solid rgba(255,159,28,.48); border-radius: 1rem; background: linear-gradient(145deg,rgba(35,22,14,.94),rgba(15,10,7,.9)); box-shadow: 0 20px 55px rgba(0,0,0,.34),0 0 28px rgba(255,159,28,.06); color: #fffaf2; text-align: left; backdrop-filter: blur(14px); }
.guest-complete-order header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid rgba(255,159,28,.2); background: linear-gradient(110deg,rgba(255,159,28,.13),transparent); }
.guest-complete-order header > div { display: grid; gap: .14rem; }
.guest-complete-order header small { color: #ffb342; font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.guest-complete-order header strong { font-size: 1.05rem; }
.guest-complete-order header > b { flex: 0 0 auto; color: #8be8ad; font-size: 1.1rem; }
.guest-complete-order ul { display: grid; margin: 0; padding: 0; list-style: none; }
.guest-complete-order li { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .85rem; padding: .85rem 1rem; border-bottom: 1px solid rgba(255,255,255,.09); }
.guest-complete-order li > span { display: grid; gap: .18rem; min-width: 0; }
.guest-complete-order li small { color: #ffb342; font-size: .6rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.guest-complete-order li strong { color: #f7eee5; font-size: .82rem; line-height: 1.35; }
.guest-complete-order li > b { color: #fff7ed; font-size: .82rem; white-space: nowrap; }
.guest-complete-order footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; background: rgba(255,159,28,.07); }
.guest-complete-order footer span { color: #cdbfb2; font-size: .72rem; font-weight: 760; }
.guest-complete-order footer strong { color: #8be8ad; font-size: 1.08rem; }
.guest-complete-payment { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: .8rem; width: 100%; padding: 1rem; border: 1px solid rgba(78,211,132,.48); border-radius: .9rem; background: linear-gradient(135deg,rgba(47,135,78,.2),rgba(28,88,50,.1)); box-shadow: 0 16px 42px rgba(0,0,0,.28),0 0 28px rgba(70,211,126,.07); color: #effff4; text-align: left; }
.guest-complete-payment > span { display: grid; place-items: center; width: 2.8rem; aspect-ratio: 1; border-radius: .72rem; background: rgba(78,211,132,.17); color: #8be8ad; font-size: 1.35rem; font-weight: 950; }
.guest-complete-payment > div { display: grid; gap: .24rem; }
.guest-complete-payment small { color: #8be8ad; font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.guest-complete-payment strong { font-size: 1rem; }
.guest-complete-payment p { margin: 0; color: #d8e8dc; font-size: .78rem; font-weight: 500; line-height: 1.45; }
.guest-complete-payment p + p { margin-top: .25rem; padding-top: .5rem; border-top: 1px solid rgba(139,232,173,.18); }
.guest-complete-back-form { width: 100%; margin: 0; }
.guest-complete-back { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; width: 100%; min-height: 3.35rem; padding: .85rem 1rem; border: 1px solid rgba(255,159,28,.58); border-radius: .9rem; background: linear-gradient(135deg,rgba(255,159,28,.2),rgba(255,159,28,.08)); color: #ffc263; font: inherit; font-size: .9rem; font-weight: 900; text-decoration: none; cursor: pointer; box-shadow: 0 14px 35px rgba(0,0,0,.26); }
.guest-complete-back:hover,.guest-complete-back:focus-visible { border-color: #ffb640; background: linear-gradient(135deg,rgba(255,159,28,.3),rgba(255,159,28,.13)); color: #fff1dc; outline: none; }
.guest-complete-back span { font-size: 1.15rem; }
.guest-complete-manage { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; min-height: 3.15rem; padding: .78rem 1rem; border: 1px solid rgba(255,255,255,.22); border-radius: .9rem; background: rgba(16,13,11,.72); color: #f5eee7; font-size: .82rem; font-weight: 850; text-align: center; text-decoration: none; }
.guest-complete-manage:hover,.guest-complete-manage:focus-visible { border-color: rgba(255,194,99,.72); color: #ffc263; outline: none; }
.guest-order-delete-form { width: min(34rem,100%); margin: 1rem auto 0; }
.guest-order-delete-button { width: 100%; min-height: 3.25rem; padding: .8rem 1rem; border: 1px solid rgba(255,88,98,.72); border-radius: .9rem; background: rgba(120,19,26,.28); color: #ffdadd; font: inherit; font-weight: 900; cursor: pointer; }
.guest-order-delete-button:hover,.guest-order-delete-button:focus-visible { background: rgba(158,25,34,.46); border-color: #ff6972; outline: none; }
.guest-pickup-preview { display: grid; gap: .18rem; margin: 1rem 0; padding: .9rem; border: 1px solid rgba(78,211,132,.4); border-radius: .8rem; background: rgba(47,135,78,.12); }
.guest-pickup-preview small { color: #8be8ad; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.guest-pickup-preview strong { color: #effff4; font-size: 1.05rem; }
.guest-pickup-preview span { color: #d8e8dc; line-height: 1.4; }
.guest-confirm-card { width: min(94%,760px); }
.guest-confirm-check { display: grid; place-items: center; width: 4.3rem; aspect-ratio: 1; margin-bottom: .9rem; border: 1px solid rgba(86,229,143,.5); border-radius: 50%; background: linear-gradient(135deg,#52db89,#269a58); color: #092613; font-size: 2.25rem; font-weight: 950; box-shadow: 0 14px 36px rgba(45,190,105,.2); }
.guest-number-card { display: grid; place-items: center; gap: .12rem; margin: 1.4rem 0; padding: 1.25rem; border: 1px solid rgba(255,159,28,.56); border-radius: 1rem; background: radial-gradient(circle at 50% 30%,rgba(255,159,28,.22),rgba(255,159,28,.06)); text-align: center; }
.guest-number-card small { color: #ffc26a; font-weight: 850; }
.guest-number-card strong { color: #fff; font-size: clamp(3rem,12vw,5.3rem); line-height: 1; }
.guest-number-card span { color: #d8cec4; }
.guest-confirm-section { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .85rem; margin-top: .8rem; padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: .9rem; background: rgba(255,255,255,.045); }
.guest-pickup-card { border-color: rgba(79,214,133,.38); background: linear-gradient(135deg,rgba(43,130,73,.15),rgba(255,255,255,.035)); }
.guest-confirm-section-icon { display: grid; place-items: center; width: 2.9rem; aspect-ratio: 1; border-radius: .75rem; background: rgba(255,159,28,.16); color: #ffb94e; font-size: 1.35rem; font-weight: 950; }
.guest-pickup-card .guest-confirm-section-icon { background: rgba(71,205,124,.16); color: #79e4a3; }
.guest-confirm-section small { color: var(--accent); font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.guest-confirm-section h2 { margin: .15rem 0 .25rem; font-size: 1.15rem; }
.guest-confirm-section p { margin: 0; color: #d7cec4; line-height: 1.45; }
.guest-order-receipt { margin: 1rem 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: .9rem; background: rgba(11,8,6,.5); }
.guest-order-receipt header { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.guest-order-receipt header div { display: grid; gap: .1rem; }
.guest-order-receipt header small { color: var(--accent); font-weight: 850; }
.guest-order-receipt header b { color: #7ee5a6; font-size: 1.18rem; }
.guest-order-receipt ul { display: grid; gap: .6rem; margin: 0; padding: 1rem; list-style: none; }
.guest-order-receipt li { display: flex; justify-content: space-between; gap: .75rem; color: #e5dbd0; }
.guest-order-receipt li strong { white-space: nowrap; color: #fff; }
.guest-confirm-home { width: 100%; }
.faction-pickup-settings { display: grid; gap: .8rem; padding: 1rem; border: 1px solid rgba(79,214,133,.34); border-radius: .9rem; background: linear-gradient(135deg,rgba(45,135,76,.12),rgba(255,255,255,.025)); }
.faction-pickup-settings > header { display: flex; align-items: center; gap: .7rem; }
.faction-pickup-settings > header > span { display: grid; place-items: center; width: 2.7rem; aspect-ratio: 1; border-radius: .72rem; background: rgba(73,210,128,.14); color: #7ce5a5; font-size: 1.3rem; }
.faction-pickup-settings > header div { display: grid; gap: .1rem; }
.faction-pickup-settings > header small { color: #c9beb4; line-height: 1.35; }
.faction-pickup-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; padding: .3rem; border: 1px solid rgba(91,220,142,.2); border-radius: .78rem; background: rgba(5,20,11,.34); }
.faction-pickup-tabs[hidden] { display: none; }
.faction-pickup-tabs button { min-width: 0; padding: .65rem .45rem; border: 1px solid transparent; border-radius: .62rem; background: transparent; color: #bcd0c2; font: inherit; font-size: .7rem; font-weight: 850; cursor: pointer; }
.faction-pickup-tabs button.is-active { border-color: rgba(91,220,142,.48); background: linear-gradient(135deg,rgba(62,173,104,.3),rgba(36,105,62,.18)); color: #eafff1; box-shadow: 0 9px 24px rgba(20,112,57,.15); }
.faction-pickup-panel { display: grid; gap: .8rem; padding: .9rem; border: 1px solid rgba(91,220,142,.16); border-radius: .78rem; background: rgba(8,18,11,.28); }
.faction-pickup-panel[hidden] { display: none; }
.faction-pickup-panel > p { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: 0; padding-bottom: .65rem; border-bottom: 1px solid rgba(91,220,142,.14); }
.faction-pickup-panel > p strong { color: #eafff1; font-size: .82rem; }
.faction-pickup-panel > p span { color: #88dca7; font-size: .68rem; font-weight: 850; white-space: nowrap; }
.faction-pickup-settings label { display: grid; gap: .35rem; color: #f6eee5; font-size: .78rem; font-weight: 800; }
.faction-pickup-settings input,.faction-pickup-settings textarea { width: 100%; border: 1px solid rgba(255,255,255,.16); border-radius: .72rem; padding: .78rem .85rem; background: rgba(8,6,4,.48); color: #fff; font: inherit; resize: vertical; }
.faction-pickup-settings input:focus,.faction-pickup-settings textarea:focus { border-color: #55d789; outline: 2px solid rgba(85,215,137,.13); }
.faction-guest-settings { display: grid; gap: .8rem; padding: 1rem; border: 1px solid rgba(255,255,255,.14); border-radius: .9rem; background: rgba(255,255,255,.035); transition: border-color .18s ease,background .18s ease; }
.faction-guest-settings.is-enabled,.faction-guest-settings:has(.faction-guest-toggle input:checked) { border-color: rgba(255,159,28,.48); background: linear-gradient(135deg,rgba(255,159,28,.12),rgba(255,255,255,.025)); }
.faction-guest-settings > header { display: flex; align-items: center; gap: .7rem; }
.faction-guest-settings > header > span { display: grid; place-items: center; width: 2.7rem; aspect-ratio: 1; border-radius: .72rem; background: rgba(255,159,28,.14); color: #ffb84d; font-size: 1.35rem; font-weight: 950; }
.faction-guest-settings > header div { display: grid; gap: .1rem; }
.faction-guest-settings > header strong { color: #fff8ef; }
.faction-guest-settings > header small,.faction-guest-settings > p { color: #c9beb4; font-size: .72rem; line-height: 1.45; }
.faction-guest-settings > p { margin: 0; }
.faction-guest-toggle { display: flex; align-items: center; gap: .65rem; width: fit-content; cursor: pointer; }
.faction-guest-toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.faction-guest-toggle > span { position: relative; width: 3rem; height: 1.65rem; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: rgba(255,255,255,.1); transition: background .18s ease,border-color .18s ease; }
.faction-guest-toggle > span::after { position: absolute; top: .21rem; left: .21rem; width: 1.08rem; height: 1.08rem; border-radius: 50%; background: #b9afa6; content: ''; transition: transform .18s ease,background .18s ease; }
.faction-guest-toggle input:checked + span { border-color: #f5a52c; background: rgba(255,159,28,.35); }
.faction-guest-toggle input:checked + span::after { background: #ffb23d; transform: translateX(1.34rem); }
.faction-guest-toggle b { color: #ddd3c8; font-size: .78rem; }
.faction-guest-toggle input:checked ~ b { color: #ffd59a; }
.order-xp-success strong { color: #bdf7d0; white-space: nowrap; }
@media (max-width: 820px) {
  .admin-settings-grid { grid-template-columns: 1fr; }
  .faction-menu-grid { grid-template-columns: 1fr; }
  .department-admin-layout { grid-template-columns: 1fr; }
  .user-management { grid-template-columns: 1fr; }
  .user-directory { position: static; }
  .user-list { max-height: 320px; }
  .account-workspace { grid-template-columns: 1fr; }
  .community-members { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .admin-card { width: calc(100% - 1rem); max-width: calc(100vw - 1rem); margin-top: 1rem; padding: 1rem; border-radius: 1rem; }
  .admin-card .form-title { font-size: clamp(2.5rem, 13vw, 3.4rem); }
  .admin-card > .eyebrow { font-size: .68rem; line-height: 1.5; }
  .admin-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; overflow: visible; padding-bottom: .55rem; }
  .admin-tabs a { min-width: 0; padding: .62rem .22rem; border: 1px solid rgba(255,255,255,.1); border-bottom-width: 2px; border-radius: .55rem; font-size: .62rem; text-align: center; white-space: normal; overflow-wrap: anywhere; }
  .admin-tabs a.active { background: rgba(255,159,28,.1); }
  .order-control-panel { align-items: stretch; flex-direction: column; padding: 1rem; }
  .supplier-admin-option { grid-template-columns: auto auto minmax(0,1fr); }
  .supplier-admin-option b { grid-column: 3; justify-self: start; }
  .supplier-control-form > button { width: 100%; }
  .order-control-actions { grid-template-columns: 1fr; }
  .order-control-actions button { min-width: 0; padding-right: .5rem; padding-left: .5rem; font-size: .78rem; }
  .faction-time-fields { grid-template-columns: 1fr; }
  .faction-shift-card > header { grid-template-columns: auto minmax(0,1fr); }
  .faction-shift-toggle { grid-column: 1 / -1; justify-content: end; padding-top: .25rem; }
  .faction-shift-times { grid-template-columns: 1fr; }
  .faction-pickup-tabs { grid-template-columns: 1fr; }
  .faction-pickup-panel > p { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .faction-time-fields label > small { min-height: 0; }
  .faction-time-line { gap: .35rem; padding-right: .65rem; padding-left: .65rem; }
  .faction-time-line b { font-size: .82rem; }
  .faction-time-line small { font-size: .54rem; }
  .rank-reset-form, .rank-reset-all { grid-template-columns: 1fr; }
  .rank-reset-form button, .rank-reset-all button { width: 100%; }
  .admin-order { grid-template-columns: auto 3rem 1fr; padding: .75rem; }
  .admin-number { width: 2.6rem; }
  .member-topbar { position: relative; display: grid; grid-template-columns: 3.35rem minmax(0, 1fr); align-items: flex-start; width: calc(100% - 1rem); min-width: 0; min-height: 10.2rem; gap: .45rem; }
  .member-topbar .brand-mark { width: 3.25rem; }
  .member-topbar.home-topbar { display: flex; justify-content: flex-end; }
  .member-topbar .top-actions { display: block; justify-self: end; min-width: 0; max-width: 100%; }
  .member-topbar .primary-nav-actions { display: flex; max-width: 100%; justify-content: flex-end; gap: .1rem; padding: .2rem; border-radius: .85rem; }
  .member-topbar .primary-nav-actions .status-link { min-width: 0; padding: .52rem .48rem; font-size: .62rem; white-space: nowrap; }
  .member-topbar .member-shortcuts { position: absolute; right: 0; bottom: 1.05rem; left: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .member-topbar .member-shortcuts .status-link { width: 100%; min-width: 0; padding: .78rem .65rem; border-radius: .78rem; font-size: .72rem; }
  .order-summary { grid-template-columns: 1fr 1fr; gap: .8rem; }
  .order-summary .primary-button { grid-column: 1 / -1; width: 100%; }
  .admin-order-actions { grid-template-columns: 1fr; }
  .delete-orders-button, .archive-orders-button { width: 100%; }
  .archive-order-card > header { grid-template-columns: auto minmax(0,1fr); align-items: start; }
  .archive-order-card > header > strong { grid-column: 2; }
  .archive-order-card li { align-items: flex-start; font-size: .78rem; }
  .archive-day-group > summary { grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; padding: .85rem; }
  .archive-day-stats { grid-column: 2; justify-items: start; text-align: left; }
  .archive-day-chevron { grid-column: 3; grid-row: 1 / span 2; }
  .archive-delete-actions { grid-template-columns: 1fr; }
  .archive-delete-actions button { width: 100%; }
  #menuForm.finish-prompt-active { padding-bottom: 13.5rem; }
  .finish-prompt { grid-template-columns: auto 1fr; gap: .65rem; padding: .85rem 2.6rem .85rem .85rem; }
  .finish-swipe { grid-column: 1 / -1; width: 100%; }
  .payment-panel { grid-template-columns: 1fr; }
  .supplier-menu-picker { padding: .8rem; }
  .supplier-menu-option { grid-template-columns: auto minmax(0,1fr); }
  .supplier-menu-status { grid-column: 2; justify-self: start; }
  .menu-category > summary { padding: .9rem; font-size: .95rem; }
  .category-count { font-size: .65rem; }
  .user-management { grid-template-columns: 1fr; }
  .user-overview-stats { gap: .4rem; }
  .user-overview-stats article { padding: .7rem .55rem; text-align: center; }
  .user-overview-stats span { font-size: 1.3rem; }
  .user-overview-stats small { font-size: .62rem; }
  .user-list { grid-template-columns: 1fr; max-height: 280px; }
  .user-detail-hero { grid-template-columns: auto 1fr; padding: 1rem; }
  .user-detail-avatar { width: 4rem; font-size: 2.2rem; }
  .user-detail-hero > small { grid-column: 1 / -1; }
  .role-panel { margin: .75rem; }
  .department-create-card, .department-overview-card { padding: .9rem; }
  .department-chef-form { grid-template-columns: 1fr; }
  .department-chef-form label { grid-column: auto; }
  .department-chef-form button { width: 100%; }
  .department-chef-summary { align-items: stretch; flex-direction: column; }
  .department-chef-summary strong { white-space: normal; }
  .department-chef-launch { width: 100%; }
  .department-chef-dialog { width: calc(100vw - 1.1rem); }
  .department-chef-dialog-card > header { padding: 1rem; }
  .department-chef-dialog-copy { padding: .85rem 1rem 0; font-size: .86rem; }
  .department-chef-picker-form { padding: .85rem 1rem 1rem; }
  .department-chef-member { grid-template-columns: auto minmax(0,1fr) auto; gap: .65rem; }
  .department-current-chef { grid-column: 2; justify-self: start; }
  .department-chef-check { grid-column: 3; grid-row: 1 / span 2; }
  .department-chef-avatar { grid-row: 1 / span 2; width: 3.1rem; }
  .user-delete-panel { grid-template-columns: 1fr; margin: 0 .75rem .75rem; }
  .user-role-panel { grid-template-columns: 1fr; margin: .75rem; }
  .user-role-panel form { grid-template-columns: 1fr; min-width: 0; }
  .user-role-panel form button { width: 100%; }
  .delete-user-button { width: 100%; }
  .role-form { grid-template-columns: 1fr; }
  .role-form .primary-button { width: 100%; }
  .history-heading { margin-right: .75rem; margin-left: .75rem; }
  .history-list { padding-right: .75rem; padding-left: .75rem; }
  .history-list header { display: grid; gap: .25rem; }
  .account-grid { grid-template-columns: 1fr; }
  .account-hero { grid-template-columns: auto 1fr; padding: 1rem; }
  .account-hero-avatar { width: 4.2rem; font-size: 2.35rem; }
  .account-home-link { grid-column: 1 / -1; width: 100%; text-align: center; }
  .account-overview-stats { gap: .4rem; }
  .account-overview-stats article { padding: .7rem .5rem; text-align: center; }
  .account-overview-stats small { font-size: .6rem; }
  .account-overview-stats strong { font-size: .86rem; }
  .account-footer-actions { grid-template-columns: 1fr; }
  .account-footer-actions .secondary-button { min-width: 0; }
  .personal-order-actions { grid-template-columns: 1fr; }
  .community-hero-icon { width: 4.2rem; font-size: 2.1rem; }
  .community-member { gap: .65rem; padding: .75rem; }
  .community-avatar { width: 3.25rem; font-size: 1.75rem; }
  .community-member { grid-template-columns: auto minmax(0, 1fr); }
  .community-member-status { grid-column: 2; justify-items: start; }
  .community-rank { max-width: none; text-align: left; }
}
.user-number {
  display: grid;
  place-items: center;
  width: clamp(8rem, 35vw, 11rem);
  aspect-ratio: 1;
  margin: 1.5rem auto;
  border: 5px solid rgba(255,255,255,.85);
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 18px 45px rgba(255,159,28,.3);
  color: #1b1004;
  font-size: clamp(4rem, 16vw, 6.5rem);
  font-weight: 900;
}

.footer-note {
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
  padding: 0 0 1.5rem;
  align-self: end;
  justify-self: center;
  color: rgba(255,255,255,.55);
  font-size: .78rem;
  letter-spacing: .08em;
  text-align: center;
}

@media (max-width: 700px) {
  .hero { background-position: 62% center; }
  .hero::before { background: linear-gradient(0deg, rgba(8,6,4,.9), rgba(8,6,4,.48)), linear-gradient(90deg, rgba(8,6,4,.65), transparent); }
  .topbar, .content, .footer-note { width: min(100% - 2rem, 1180px); }
  .brand > span:last-child { display: none; }
  .status-toggle { font-size: .74rem; padding: .65rem .8rem; }
  .content { align-self: end; padding-bottom: 3rem; }
  h1 { font-size: clamp(2.8rem, 15vw, 4.7rem); }
  .home-order-cta { min-height: clamp(20rem, 104vw, 25rem); margin: -.4rem 0 -.8rem; }
  .home-sandwich-image { width: 94%; max-width: none; }
  .primary-button { width: 100%; }
  .guest-home-card { gap: .7rem; padding: .85rem; }
  .guest-home-symbol { width: 2.8rem; }
  .guest-top-actions { align-items: flex-end; flex-direction: column; }
  .guest-session-label { display: none; }
  .guest-access-page { background-position: center; }
  .guest-access-page::before { background: linear-gradient(0deg,rgba(8,5,3,.94),rgba(8,5,3,.58)),radial-gradient(circle at 50% 28%,rgba(255,159,28,.08),transparent 45%); }
  .guest-access-topbar { padding: .8rem 0 .2rem; }
  .guest-access-brand .brand-mark { width: 3.55rem; }
  .guest-access-brand > span:last-child { display: inline; font-size: .88rem; }
  .guest-access-layout { grid-template-columns: 1fr; gap: 1.5rem; width: min(100% - 2rem,1180px); padding: 1.1rem 0 2.5rem; }
  .guest-access-promise h1 { font-size: clamp(3.25rem,16vw,5rem); }
  .guest-access-promise > p:not(.eyebrow) { margin: .9rem 0 1rem; font-size: .96rem; }
  .guest-quick-steps { gap: .4rem; }
  .guest-quick-steps span { padding: .45rem .58rem; font-size: .66rem; }
  .guest-access-card { padding: 1.15rem; border-radius: 1.05rem; }
  .guest-access-card-header { gap: .7rem; }
  .guest-access-icon { width: 3.25rem; border-radius: .82rem; font-size: 1.5rem; }
  .guest-access-card-header h2 { font-size: 1.65rem; }
  .guest-access-card .form-copy { margin-top: .55rem; font-size: .88rem; }
  .guest-register-choice { grid-template-columns: 1fr; }
  .guest-account-actions { width: 100%; }
  .guest-register-choice a { justify-content: space-between; width: 100%; }
  .guest-order-identity { justify-items: start; width: 100%; }
  .guest-confirm-section { grid-template-columns: 1fr; }
  .guest-order-receipt li { align-items: flex-start; font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
  .finish-prompt, .finish-prompt::before, .finish-swipe, .finish-swipe-handle::after, .finish-swipe-handle span, .camera-avatar-button, .home-sandwich-stage, .order-destination .menu-card, body.order-transitioning::after { animation: none !important; }
  .home-sandwich-stage, .home-sandwich-image { transition: none !important; }
}
