:root {
  --bg:#f6f6f8;
  --paper:#fff;
  --charcoal:#252629;
  --accent-soft:#f4eefb;
  --ink:#0c0e11;
  --muted:#5b5b65;
  --line:#d9d9df;
  --accent:#8223d2;
  --accent-hover:#6b19b2;
  --green:#176341;
  --green-bg:#e9f4ed;
  --amber:#805416;
  --amber-bg:#fff2d9;
  --red:#a12d26;
  --red-bg:#fbece9;
  --radius:12px;
  --space:8px;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--ink);
  background:var(--bg);
  font-synthesis:none}
* {
  box-sizing:border-box}
body {
  margin:0;
  font-size:14px;
  line-height:1.5}
button,input,select,textarea {
  font:inherit}
button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent}
button,a {
  touch-action:manipulation}
button {
  cursor:pointer}
button:disabled {
  cursor:wait;
  opacity:.6}
a {
  color:var(--accent);
  text-underline-offset:3px}
a:hover {
  color:var(--accent-hover)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px}
button,input,select,textarea {
  min-height:42px}
button {
  border:0}
button,a {
  transition:background-color .15s,color .15s}
h1,h2,h3,p {
  margin-top:0}
h1 {
  font-size:clamp(30px,3vw,42px);
  letter-spacing:-1.4px;
  line-height:1.15;
  margin-bottom:12px;
  font-weight:650}
h2 {
  font-size:23px;
  letter-spacing:-.6px;
  line-height:1.25;
  margin-bottom:0}
h3 {
  font-size:15px;
  margin:0 0 12px}
.eyebrow {
  font-size:11px;
  line-height:1.5;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:var(--muted);
  margin:0 0 10px}
.title-dot {
  color:var(--accent)}
[hidden] {
  display:none!important}
.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0}
.skip-link {
  position:fixed;
  top:-80px;
  left:20px;
  z-index:100;
  background:var(--ink);
  color:#fff;
  padding:12px 20px}
.skip-link:focus {
  top:12px}
.app-shell {
  display:grid;
  grid-template-columns:224px 1fr;
  min-height:100vh}
.sidebar {
  min-width:0;
  border-right:0;
  background:var(--charcoal);
  color:#fff;
  padding:32px 20px 22px;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:100vh}
.brand {
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start;
  color:#fff;
  text-decoration:none;
  padding:0 8px}
.brand-lockup { position:relative; display:block; flex:none; width:172px; max-width:100%; isolation:isolate; }
.app-wordmark { display:block; width:100%; height:auto; }
.brand-stamp { position:absolute; z-index:1; width:38%; height:auto; right:1%; bottom:-14%; transform:rotate(-12deg); opacity:.95; pointer-events:none; }
.sidebar .brand-sub,.sidebar .eyebrow { color:#d8d5df; }
.sidebar .brand:focus-visible { outline-color:#c5a0f1; }
.brand-sub {
  display:block;
  font-size:11px;
  font-weight:500;
  letter-spacing:.6px;
  margin-top:5px;
  color:var(--muted)}
.store-heading {
  margin:24px 12px 12px}
.main-navigation { margin-top:32px; }
.main-navigation .store-button { min-height:44px; }
.store-button { text-decoration:none; }
.store-button {
  width:100%;
  display:flex;
  gap:12px;
  align-items:center;
  padding:12px;
  border-radius:8px;
  margin:2px 0;
  background:transparent;
  color:#e9e6ef;
  font-weight:550;
  text-align:left}
.store-button:hover {
  background:#36373b;
  color:#fff}
.store-button[aria-current=page] {
  background:var(--accent);
  color:#fff}
.store-symbol {
  width:22px;
  text-align:center;
  color:inherit;
  font-size:17px}
.store-count {
  margin-left:auto;
  font-size:11px;
  font-weight:650;
  border-radius:5px;
  padding:2px 6px;
  background:rgba(255,255,255,.15);
  min-width:22px;
  text-align:center}
.sidebar .status-dot { background:#7bdfa5; }
.sidebar-bottom {
  margin-top:auto;
  padding:20px 12px 0;
  font-size:11px;
  color:#c7c3ce}
.sidebar-bottom p {
  margin:5px 0 0 13px;
  font-size:11px}
.status-dot {
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green);
  margin-right:7px;
  vertical-align:middle}
.workspace {
  min-width:0}
.topbar {
  min-height:80px;
  padding:20px 40px;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:var(--paper);
  border-top:3px solid var(--accent)}
.breadcrumbs {
  font-size:12px;
  color:var(--muted);
  white-space:nowrap}
.breadcrumbs span {
  padding:0 14px;
  color:#74747e}
.breadcrumbs strong {
  color:var(--ink);
  font-weight:550}
.account {
  display:flex;
  gap:16px;
  align-items:center;
  font-size:12px}
.account #user-name {
  max-width:170px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border-left:1px solid var(--line);
  padding-left:16px}
.quiet-button {
  padding:8px 0;
  background:transparent;
  color:var(--muted);
  font-size:12px}
.quiet-button:hover {
  color:var(--ink);
  text-decoration:underline}
.notification-bell { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:none; border-radius:50%; background:transparent; color:var(--ink); }
.notification-bell:hover { background:var(--accent-soft); color:var(--accent); }
.notification-count { position:absolute; top:0; right:-4px; display:flex; align-items:center; justify-content:center; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:#b42318; color:#fff; font-size:11px; font-weight:700; border:2px solid var(--paper); }
.inbox-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.inbox-toolbar p { margin:0; color:var(--muted); }
.notification-list { list-style:none; padding:0; margin:0; }
.notification-list li + li { border-top:1px solid var(--line); }
.notification-item { display:block; text-align:left; width:100%; padding:18px 4px; background:transparent; color:var(--ink); }
.notification-item:hover { background:var(--accent-soft); }
.notification-item strong,.notification-item span,.notification-item time { display:block; }
.notification-item span { margin-top:6px; overflow-wrap:anywhere; }
.notification-item time { margin-top:8px; color:var(--muted); font-size:12px; }
.notification-empty { padding:24px 0; color:var(--muted); }
.notification-footer { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
main#main {
  padding:42px 40px 24px;
  max-width:1600px;
  margin:0 auto;
  outline:none}
.queue-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:24px;
  margin-bottom:20px}
.intro {
  color:var(--muted);
  margin:0;
  font-size:14px}
.primary-button,.secondary-button,.danger-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 18px;
  border-radius:999px;
  font-weight:600;
  text-decoration:none;
  font-size:13px;
  min-height:44px}
.primary-button {
  background:var(--accent);
  color:#fff}
.primary-button:hover {
  background:var(--accent-hover);
  color:#fff}
.primary-button span {
  font-size:19px;
  font-weight:400;
  line-height:1}
.secondary-button {
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line)}
.secondary-button:hover {
  background:#f2edf8}
.danger-button {
  background:var(--red-bg);
  color:var(--red)}
.summary {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:28px}
.summary-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px 22px;
  background:var(--paper);
  display:flex;
  gap:16px;
  align-items:center}
.summary-icon {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:20px;
  color:var(--muted)}
.summary-label {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:3px}
.summary-number {
  font-size:27px;
  line-height:1;
  font-weight:650;
  letter-spacing:-.8px}
.queue-panel {
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden}
.queue-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  border-bottom:1px solid var(--line)}
.filter-wrap {
  display:flex;
  align-items:center;
  gap:14px}
select {
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  padding:8px 34px 8px 12px;
  color:var(--ink)}
.queue-toolbar select {
  font-size:12px;
  font-weight:600;
  min-width:165px}
.result-count {
  font-size:11px;
  color:var(--muted);
  white-space:nowrap}
.search-wrap {
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:12px;
  border:1px solid var(--line);
  border-radius:7px}
.search-wrap span {
  font-size:22px;
  color:var(--muted);
  line-height:1}
.search-wrap input {
  border:0;
  background:transparent;
  padding:8px 12px 8px 0;
  min-width:0;
  width:230px;
  font-size:12px;
  color:var(--ink);
  outline-offset:0}
.table-wrap {
  overflow-x:auto}
table {
  border-collapse:collapse;
  width:100%;
  text-align:left;
  font-size:12px}
th {
  background:#f6f6f8;
  padding:12px 18px;
  color:var(--muted);
  font-weight:500;
  border-bottom:1px solid var(--line);
  white-space:nowrap;
  font-size:11px}
th:first-child {
  padding-left:22px}
td {
  padding:18px;
  border-bottom:1px solid #e8e8ed;
  vertical-align:middle}
tbody tr:last-child td {
  border-bottom:0}
td:first-child {
  padding-left:22px;
  min-width:340px}
td:last-child {
  padding-right:18px}
.part-cell {
  display:flex;
  align-items:center;
  gap:12px}
.part-thumb,.part-placeholder {
  width:46px;
  height:46px;
  border:1px solid var(--line);
  border-radius:7px;
  flex:none;
  object-fit:contain;
  background:#f7f7fa}
.part-placeholder {
  display:grid;
  place-items:center;
  font-size:22px;
  color:#6c6c76}
.part-name {
  font-size:13px;
  font-weight:600;
  margin:0 0 3px;
  overflow-wrap:anywhere}
.part-content {
  flex:1;
  min-width:0}
.workorder {
  font-size:13px;
  font-weight:700;
  color:var(--ink);
  text-transform:none;
  letter-spacing:normal;
  overflow-wrap:anywhere}
.workorder a {
  font-weight:inherit}
.workorder-row {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px 16px;
  width:100%;
  margin:6px 0}
.workorder-row .badge {
  margin-left:auto}
.order-metadata {
  display:inline-flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px}
.membership-order {
  margin:16px 0}
.part-meta {
  font-size:11px;
  color:var(--muted);
  display:flex;
  gap:8px;
  align-items:center}
.part-meta a {
  font-weight:550;
  color:var(--muted)}
.store-pill {
  padding:4px 7px;
  border:1px solid var(--line);
  border-radius:5px;
  font-variant-numeric:tabular-nums;
  font-size:11px}
.badge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  border:1px solid currentColor;
  border-radius:999px;
  padding:6px 11px;
  background:#efeff3;
  color:#4d4d59}
.badge.needs,.badge.replacement {
  background:var(--amber-bg);
  color:var(--amber)}
.badge.ordered {
  background:#e9eff8;
  color:#345d8c}
.badge.received {
  background:var(--green-bg);
  color:var(--green)}
.badge.rma {
  background:var(--red-bg);
  color:var(--red)}
.person-cell {
  max-width:145px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap}
.date-cell {
  color:var(--muted);
  white-space:nowrap;
  font-size:11px}
.detail-button {
  background:transparent;
  border:1px solid var(--line);
  border-radius:6px;
  padding:6px 11px;
  min-height:34px;
  color:var(--ink);
  font-size:11px;
  font-weight:550;
  white-space:nowrap}
.detail-button:hover {
  background:#f2edf8}
.empty-state {
  text-align:center;
  padding:55px 24px 60px}
.empty-icon {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border:1px solid var(--line);
  border-radius:14px;
  font-size:27px;
  color:var(--muted);
  margin:0 auto 16px}
.empty-state h2 {
  font-size:20px;
  margin-bottom:8px}
.empty-state p {
  font-size:13px;
  color:var(--muted);
  max-width:340px;
  margin:0 auto 20px}
.initial-loading {
  min-height:100vh;
  display:grid;
  place-items:center;
  color:var(--muted)}
.global-error {
  position:fixed;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  z-index:90;
  background:var(--red-bg);
  color:var(--red);
  padding:14px 22px;
  border:1px solid #d7988b;
  border-radius:8px;
  max-width:calc(100vw - 24px)}
.toast {
  position:fixed;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100vw - 32px);
  background:var(--ink);
  color:#fff;
  padding:13px 22px;
  border-radius:8px;
  z-index:200;
  box-shadow:0 4px 24px #0c0e1126;
  font-size:13px}
dialog {
  border:1px solid var(--line);
  border-radius:14px;
  max-width:700px;
  width:calc(100vw - 32px);
  max-height:calc(100vh - 48px);
  padding:0;
  color:var(--ink);
  background:var(--paper);
  box-shadow:0 24px 90px #0c0e1133}
dialog::backdrop {
  background:rgba(12,14,17,.48)}
.modal-heading {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding:26px 28px 22px;
  border-bottom:1px solid var(--line)}
.modal-heading .eyebrow {
  margin-bottom:6px}
.close-button {
  background:transparent;
  color:var(--muted);
  font-size:27px;
  min-width:40px;
  min-height:40px;
  line-height:1;
  margin:-5px -10px 0 0;
  border-radius:6px}
.close-button:hover {
  background:#f2edf8}
#modal-content {
  padding:24px 28px 28px}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px}
.field {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:18px;
  min-width:0}
.form-grid .field {
  margin-bottom:0}
.field.full {
  grid-column:1/-1}
.field>label,.field-label {
  font-size:12px;
  font-weight:600;
  color:var(--ink)}
.field input,.field textarea,.field select {
  width:100%;
  border:1px solid #b8b8c3;
  border-radius:6px;
  padding:10px 12px;
  background:#fff;
  color:var(--ink)}
.field input[type=file] {
  font-size:12px;
  padding:9px 10px;
  background:#f7f7fa}
.field textarea {
  resize:vertical;
  min-height:92px}
.field small {
  font-size:11px;
  color:var(--muted);
  line-height:1.5}
.optional {
  display:inline-block;
  color:var(--ink);
  background:var(--accent-soft);
  border:1px solid var(--line);
  border-radius:999px;
  padding:1px 7px;
  font-size:12px;
  line-height:1.5;
  font-weight:650;
  margin-left:6px}
.check-field {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:20px;
  padding:15px;
  background:#f4eefb;
  border:1px solid var(--line);
  border-radius:7px;
  font-size:12px}
.check-field input {
  width:17px;
  height:17px;
  min-height:17px;
  flex:none;
  margin:2px 0 0;
  accent-color:var(--accent)}
.check-field label {
  cursor:pointer;
  line-height:1.6}
.form-error {
  background:var(--red-bg);
  color:var(--red);
  padding:12px 14px;
  border-radius:6px;
  font-size:12px;
  margin:16px 0 0}
.form-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:24px;
  align-items:center;
  flex-wrap:wrap}
.dialog-intro {
  font-size:13px;
  color:var(--muted);
  margin-bottom:20px}
.detail-overview {
  display:flex;
  gap:20px;
  align-items:flex-start;
  margin-bottom:24px}
.detail-image {
  width:110px;
  height:110px;
  object-fit:contain;
  border:1px solid var(--line);
  border-radius:9px;
  background:#f7f7fa}
.detail-overview h3 {
  font-size:20px;
  font-weight:650;
  line-height:1.3;
  margin-bottom:10px;
  overflow-wrap:anywhere}
.detail-overview .workorder-row {
  flex:1;
  min-width:0}
.detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 24px;
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:0 0 24px}
.detail-grid dt {
  font-size:10px;
  color:var(--muted);
  margin-bottom:4px;
  text-transform:uppercase;
  letter-spacing:.6px}
.detail-grid dd {
  font-size:13px;
  margin:0;
  overflow-wrap:anywhere}
.detail-actions {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:0 0 24px}
.detail-actions button {
  font-size:12px;
  padding:9px 13px;
  min-height:40px}
.history {
  list-style:none;
  padding:0;
  margin:0}
.history li {
  position:relative;
  padding:0 0 18px 20px;
  border-left:1px solid var(--line);
  margin-left:4px;
  font-size:12px}
.history li:before {
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#96919f;
  left:-4px;
  top:5px}
.history li:last-child {
  padding-bottom:0;
  border-left:0}
.history strong {
  font-weight:600}
.history time {
  display:block;
  color:var(--muted);
  font-size:10px;
  margin-top:3px}
.history .event-note {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:var(--muted);
  margin:5px 0 0}
.attachment-list {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0 0 24px}
.attachment-list a {
  display:block;
  font-size:11px;
  border:1px solid var(--line);
  border-radius:5px;
  padding:6px 10px;
  max-width:100%;
  overflow-wrap:anywhere}
.radio-option {
  display:flex;
  gap:12px;
  padding:16px;
  margin-bottom:12px;
  border:1px solid var(--line);
  border-radius:8px;
  cursor:pointer;
  font-size:13px}
.radio-option input {
  width:17px;
  min-height:17px;
  height:17px;
  margin:3px 0 0;
  accent-color:var(--accent)}
.radio-option small {
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:4px}
.action-hint {
  font-size:12px;
  color:var(--muted);
  margin:0 0 18px}

@media(min-width:1600px) {
  main#main {
  padding-top:56px}
}

.duplicate-warning { margin: 20px 0; padding: 18px; border: 2px solid var(--amber); border-radius: var(--radius); background: var(--amber-bg); color: var(--ink); }
.duplicate-warning h3 { margin-top: 0; }
.duplicate-warning p { line-height: 1.5; overflow-wrap: anywhere; }
.duplicate-list { padding-left: 22px; max-height: 280px; overflow-y: auto; }
.duplicate-list li { margin-bottom: 16px; overflow-wrap: anywhere; }
.duplicate-list li p { margin: 6px 0; }
.duplicate-list .quiet-button { display: block; margin-top: 6px; }
@media(max-width:1150px) {
  .app-shell {
  grid-template-columns:190px 1fr}
.sidebar {
  padding-left:14px;
  padding-right:14px}
.topbar {
  padding:18px 24px}
main#main {
  padding:32px 24px 24px}
.account {
  gap:12px}
.summary-card {
  padding:18px 16px;
  gap:12px}
.search-wrap input {
  width:175px}
th,td {
  padding-left:12px;
  padding-right:12px}
.person-cell {
  max-width:110px}
}
@media(max-width:900px) {
  .app-shell {
  grid-template-columns:minmax(0,1fr)}
.sidebar {
  height:auto;
  position:relative;
  display:block;
  padding:18px 24px;
  border-right:0;
  border-bottom:1px solid var(--line)}
.brand {
  font-size:17px;
  padding:0}
.brand { flex-direction:row; align-items:center; gap:16px; }
.brand .brand-lockup { width:145px; }
.brand-sub { margin-top:0; }
.store-heading,.sidebar-bottom {
  display:none}
#stores {
  display:flex;
  gap:6px;
  margin-top:18px;
  overflow-x:auto;
  padding:3px 0}
.main-navigation { display:flex; gap:6px; margin-top:18px; }
.main-navigation .store-button { min-height:44px; }
.store-button {
  white-space:nowrap;
  width:auto;
  flex:none;
  padding:8px 12px;
  min-height:38px;
  font-size:12px}
.store-symbol {
  display:none}
.store-count {
  margin-left:3px}
.topbar {
  min-height:64px}
.account #user-name {
  max-width:160px}
.summary {
  gap:12px;
  margin-bottom:22px}
.summary-icon {
  width:32px;
  height:34px;
  font-size:17px}
.queue-toolbar {
  padding:14px 16px}
}
@media(max-width:600px) {
  .sidebar {
  padding:16px}
.brand-sub {
  font-size:10px}
.topbar {
  padding:10px 16px;
  gap:10px;
  min-height:56px}
.breadcrumbs {
  display:none}
.account {
  width:100%;
  gap:14px;
  justify-content:space-between}
.account #user-name {
  border-left:0;
  padding:0;
  margin-left:auto;
  font-size:11px;
  max-width:130px}
.quiet-button {
  font-size:11px}
main#main {
  padding:26px 16px 20px}
.queue-actions .primary-button {
  width:100%}
h1 {
  font-size:34px;
  margin-bottom:10px}
.intro {
  font-size:12px}
.eyebrow {
  font-size:10px;
  letter-spacing:1.2px}
.summary {
  gap:8px;
  grid-template-columns:repeat(3,minmax(0,1fr))}
.summary-card {
  padding:14px 10px;
  display:block}
.summary-icon {
  display:none}
.summary-label {
  font-size:10px;
  line-height:1.4;
  min-height:28px}
.summary-number {
  font-size:24px}
.queue-toolbar {
  align-items:stretch;
  flex-direction:column;
  gap:12px;
  padding:14px}
.filter-wrap {
  justify-content:space-between}
.queue-toolbar select {
  flex:1;
  max-width:220px}
.search-wrap input {
  width:100%;
  flex:1;
  font-size:12px}
.table-wrap {
  overflow:visible}
table,tbody {
  display:block}
thead {
  display:none}
tr {
  display:grid;
  grid-template-columns:1fr auto;
  padding:18px 14px;
  border-bottom:1px solid var(--line);
  gap:10px 12px}
tr:last-child {
  border-bottom:0}
td {
  display:block;
  padding:0!important;
  border:0!important}
td:first-child {
  grid-column:1/-1;
  min-width:0;
  max-width:none;
  margin-bottom:4px}
td:nth-child(2) {
  grid-column:1;
  grid-row:2;
  align-self:center}
td:nth-child(3) {
  display:none}
td:nth-child(4) {
  grid-column:2;
  grid-row:2;
  text-align:right;
  align-self:center}
td:nth-child(5) {
  grid-column:2;
  grid-row:3;
  text-align:right}
.part-cell {
  gap:12px}
.part-name {
  font-size:13px}
.part-meta {
  font-size:11px}
.date-cell {
  font-size:10px}
.store-pill:before {
  content:"Store "}
.detail-button {
  min-height:38px;
  padding:7px 14px}
.empty-state {
  padding:40px 20px}
.modal-heading {
  padding:22px 20px 18px}
#modal-content {
  padding:20px}
dialog {
  max-height:calc(100dvh - 24px);
  width:calc(100vw - 24px);
  border-radius:12px}
h2 {
  font-size:21px}
.form-grid {
  grid-template-columns:1fr;
  gap:16px}
.field.full {
  grid-column:auto}
.form-actions>* {
  flex:1}
.detail-overview {
  gap:14px}
.detail-image {
  width:80px;
  height:80px}
.detail-overview h3 {
  font-size:17px}
.detail-grid {
  gap:16px}
.detail-actions button {
  flex:1 1 40%}
.toast {
  bottom:16px;
  width:calc(100vw - 32px);
  text-align:center}
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
  transition:none!important;
  animation:none!important;
  scroll-behavior:auto!important}
}

.admin-panel { padding: 24px; margin-bottom: 24px; }
.admin-panel h2 { margin-top: 0; font-size: 1.2rem; }
.admin-section-title { margin:0; font-size:1.2rem; line-height:1.5; letter-spacing:-.4px; }
.membership-review { padding:20px 0; border-top:1px solid var(--line); }
.admin-panel p { line-height: 1.6; }
.admin-search { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.admin-search .field { flex: 1 1 280px; margin: 0; }
.schedule-person { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid var(--border, #d9d9df); }
.schedule-person h3 { margin: 0; font-size: 1rem; }
.employee-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; flex:none; }
.schedule-person>div:first-child { min-width:0; }
.request-access-note { font-size:12px; color:var(--muted); max-width:560px; overflow-wrap:anywhere; }
@media(max-width:600px) { .employee-actions { width:100%; justify-content:flex-start; } .employee-actions button { flex:1; } }
.schedule-person p { margin: 5px 0; }
.workday-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; border: 1px solid var(--border, #d9d9df); border-radius: 8px; padding: 12px; }
.workday-checklist label { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.workday-checklist input { width: 20px; height: 20px; }
.waiting-item { display: flex; flex-wrap: wrap; gap: 12px; border-top: 1px solid var(--border, #d9d9df); padding: 14px 0; }
.admin-notice { background: #fff1d6; color: #664600; padding: 14px 18px; border-radius: 8px; }
@media (max-width:600px) { .admin-panel { padding: 16px; } .schedule-person { align-items:flex-start; flex-direction:column; } .admin-search button { width:100%; } .workday-checklist { grid-template-columns:1fr; } }
#admin-main,#bot-main { padding: 40px; }
.control-heading,.control-store-row { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.control-heading { margin-bottom:20px; }
.control-heading h2 { margin-bottom:0; }
.control-status-grid { display:flex; align-items:center; flex-wrap:wrap; gap:16px 32px; }
.control-store-row { padding:16px 0; border-top:1px solid var(--line); }
.control-store-row p { margin:4px 0 0; }
#bot-main .check-field { margin-top:16px; }
.holiday-fieldset { border:1px solid var(--line); border-radius:8px; padding:16px; margin:16px 0; }
.holiday-fieldset legend { font-weight:700; padding:0 6px; }
.holiday-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.holiday-choice { display:flex; align-items:center; gap:10px; min-height:44px; cursor:pointer; }
.holiday-choice input { width:18px; height:18px; margin:0; flex:none; accent-color:var(--accent); }
.holiday-choice small { display:block; font-size:11px; font-weight:400; color:var(--muted); }
.office-row { display:grid; grid-template-columns:1.3fr 1fr 1fr auto; align-items:end; gap:12px; padding:16px 0; border-top:1px solid var(--line); }
.office-row .field { min-width:0; margin:0; }
#holiday-add-period { margin-top:12px; }
@media(max-width:900px) { .office-row { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .holiday-grid,.office-row { grid-template-columns:1fr; } }
@media (max-width:900px) { #admin-main,#bot-main { padding: 24px; } }
@media (max-width:600px) { #admin-main,#bot-main { padding: 20px 16px; } }

.store-button:focus-visible { outline-color:#c5a0f1; outline-offset:0; }
.store-count { color:inherit; }
.store-button[aria-current=page] .store-symbol { color:inherit; }
input[type=checkbox],input[type=radio] { accent-color:var(--accent); }
.part-meta a { color:var(--accent); }
.detail-button { border-radius:999px; }
.summary-icon { color:var(--accent); background:var(--accent-soft); border-color:#e7dcf3; }
.summary-card,.queue-panel { box-shadow:0 2px 8px rgba(12,14,17,.025); }
