/* Specialised page styles; shared foundations are in design-system.css. */
/* Continuous admin queue rows are not independent cards: retain 8/12px row
   rhythm while separate tools, facts and action groups retain standard gaps. */
.admin-queue-page{min-width:0}
.admin-queue-tools{display:flex;align-items:end;flex-wrap:wrap;gap:var(--space-4);margin-block:var(--section-gap)}
.admin-queue-tools .field{display:grid;gap:var(--label-gap);min-width:0;flex:1 1 220px;max-width:360px}
.admin-queue-tools input,.admin-queue-tools select{width:100%;min-width:0}
.queue-total{color:var(--muted);font-size:var(--font-size-label);align-self:center}
.admin-queue-row{background:var(--surface);border:1px solid var(--line);border-bottom:0;margin:0;border-radius:0}
.admin-queue-row:last-of-type{border-bottom:1px solid var(--line)}
.admin-queue-row>summary{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(160px,1.5fr) minmax(90px,.7fr) minmax(140px,1fr) minmax(90px,.6fr);align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);cursor:pointer;min-height:var(--touch-target);list-style:none}
.admin-queue-row>summary::-webkit-details-marker{display:none}
.admin-queue-row>summary:hover,.admin-queue-row[open]>summary{background:var(--surface-raised)}
.admin-queue-row>summary:focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px}
.admin-queue-row>summary span{min-width:0;overflow-wrap:anywhere}
.queue-primary,.queue-person{display:grid;gap:var(--space-1)}
.queue-primary strong{font-weight:600}.queue-primary small,.queue-person small,.admin-queue-row time{color:var(--muted);font-size:var(--font-size-caption)}
.queue-open{color:var(--copper);font-size:var(--font-size-label);font-weight:600}.queue-open:after{content:' +';white-space:nowrap}.admin-queue-row[open]>summary .queue-open:after{content:' −'}
.admin-queue-detail{padding:var(--panel-padding);border-top:1px solid var(--line);overflow-wrap:anywhere}
.admin-queue-detail>.operation-form{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px;gap:var(--field-gap)}
.admin-queue-detail>.operation-form>.field:has(textarea),.admin-queue-detail>.operation-form>.check-field,.admin-queue-detail>.operation-form>.form-error,.admin-queue-detail>.operation-form>.form-actions{grid-column:1/-1}
.admin-queue-detail .form-actions{justify-content:flex-start}.admin-queue-detail .field{min-width:0}
.admin-queue-detail .application-review{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-block:var(--section-gap)}
.admin-queue-detail .application-review>div{min-width:0;padding:var(--space-2);background:var(--surface-raised)}
.admin-queue-detail .application-review dt{font-size:var(--font-size-label)}
.admin-queue-detail .application-review dd{margin:var(--space-1) 0 0}
.admin-queue-detail .application-review>.application-fact-wide{grid-column:1/-1}
.admin-queue-detail :is(p,ul){margin-block:var(--space-3)}
.admin-queue-detail>.record-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin-block:0 var(--section-gap)}
.admin-queue-detail>.record-facts>div{display:block;min-width:0}.admin-queue-detail>.record-facts dt{font-size:var(--font-size-label);color:var(--muted)}
/* Staff have their own message entry; the visitor bubble must not cover a work form. */
body:has(.admin-queue-page) #support-widget .support-launcher{display:none}
.admin-queue-page>.operation-tools{margin-bottom:var(--space-3)}
.workspace-tabs>a:has(.admin-task-count){display:inline-flex;align-items:center;gap:var(--space-2)}
.queue-pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--section-gap);flex-wrap:wrap}
.admin-finance-section{border:1px solid var(--line);background:var(--surface);margin-block:var(--section-gap);border-radius:var(--radius)}
.admin-finance-section>summary{padding:var(--space-4);min-height:var(--touch-target);cursor:pointer;display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-weight:600}.admin-finance-section>summary span{color:var(--muted);font-size:var(--font-size-label);font-weight:400}
.admin-queue-page .creator-management-grid{display:block}.admin-queue-page .creator-management-card{padding:0;box-shadow:none}
.admin-queue-page .creator-management-card>summary{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) minmax(90px,.6fr) minmax(90px,.6fr)}
.admin-task-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding-inline:var(--space-1);border-radius:var(--space-3);background:var(--copper);color:var(--on-accent);font-size:var(--font-size-caption);font-weight:600;font-variant-numeric:tabular-nums;margin-left:auto}
.admin-task-count[hidden]{display:none}
@media(max-width:1100px){.admin-queue-row>summary{grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) auto}.admin-queue-row time{grid-column:1}.queue-open{grid-column:3;text-align:right}.admin-queue-detail .application-review{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.admin-queue-tools{gap:var(--space-3)}.admin-queue-tools .field{flex-basis:100%;max-width:none}.admin-queue-row>summary,.admin-queue-page .creator-management-card>summary{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);padding:var(--space-3)}.queue-person{grid-column:1}.admin-queue-row time{grid-column:1}.queue-open{grid-column:2}.admin-queue-detail{padding:var(--panel-padding)}.admin-queue-detail>.operation-form,.admin-queue-detail .application-review,.admin-queue-detail>.record-facts{grid-template-columns:minmax(0,1fr)}.admin-queue-detail .application-review dd{margin-bottom:0}.queue-pagination{justify-content:space-between}}
.operation-tools {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 18px;
}
.check-field {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--text);
  font-size: 14px;
}
.form-error {
  color: var(--copper);
  white-space: pre-wrap;
}
.form-error:empty {
  display: none;
}
.record {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--line);
  padding: 22px 0;
  overflow-wrap: anywhere;
}
.record p,
.record pre {
  flex-basis: 100%;
  white-space: pre-wrap;
  margin: 0;
}
.record pre {
  font: 12px/1.7 var(--font);
  color: var(--muted);
  max-width: 100%;
  overflow-wrap: anywhere;
}
.record-facts {
  display: grid;
  gap: 12px;
}
.record-facts > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}
.record-facts dd {
  margin: 0;
}
.status-label {
  margin: 5px 8px 5px 0;
}
.status-label[data-status="paid"],
.status-label[data-status="active"],
.status-label[data-status="completed"] {
  color: var(--muted);
}
.status-label[data-status="suspended"],
.status-label[data-status="rejected"] {
  color: var(--copper);
}
.empty-record,
.loading-state {
  padding: 32px 0;
  color: var(--muted);
}
.order-record:hover {
  background: var(--surface);
}
.order-record > div:last-child {
  display: grid;
  text-align: right;
}
.conversation-log {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 30px;
  max-height: 550px;
  overflow-y: auto;
  padding: 8px;
}
.message-bubble {
  align-self: flex-start;
  max-width: 85%;
  padding: 16px 20px;
  background: var(--surface-raised);
  border: 1px solid var(--line);
}
.message-bubble.mine {
  align-self: flex-end;
  background: var(--surface-raised);
}
.message-bubble p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--text);
}
.message-bubble small {
  color: var(--muted);
}
.unread {
  border-left: 3px solid var(--copper);
  padding-left: 14px;
}
.invite-link {
  width: 100%;
  min-height: 130px;
  margin-top: 20px;
}
.rating-stars {
  display: inline-block;
  position: relative;
  color: var(--copper);
  font-size: 21px;
  line-height: 1;
  letter-spacing: 2px;
  white-space: nowrap;
}
.rating-filled {
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  color: var(--copper);
}
dialog {
  max-height: 90dvh;
  overflow: auto;
}
@media (max-width: 700px) {
  .record-facts > div {
    flex-wrap: wrap;
  }
  .conversation-log {
    max-height: 420px;
  }
  .message-bubble {
    max-width: 94%;
  }
  .record {
    gap: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
.preserve-lines {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.page-pagination {
  justify-content: center;
  padding-bottom: 2rem;
}
.record pre {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
}
[data-record-search] {
  margin-bottom: 1.5rem;
  display: flex;
  gap: 1rem;
}
[data-record-search] input {
  min-width: 0;
  flex: 1;
}
[data-record-search] button {
  width: auto;
  min-width: 64px;
  padding-inline: 12px;
  white-space: nowrap;
}
.dish-form .ingredient-columns {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.ingredient-columns .allergen-field {
  min-width: 0;
}
.record {
  overflow-wrap: anywhere;
}
.allergen-field {
  border: 1px solid var(--line);
  padding: 16px;
  margin: 12px 0;
}
.allergen-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.allergen-field legend {
  font-size: 1rem;
  padding: 0 8px;
}
/* Compact admin identity cards; text labels accompany every status colour. */
.creator-status-legend{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.creator-status{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid;border-radius:5px;font-size:12px;line-height:1.5;white-space:nowrap}
.creator-status--visible{color:var(--muted);background:var(--surface-raised);border-color:var(--control-border)}
.creator-status--pending{color:var(--copper);background:var(--surface-raised);border-color:var(--copper)}
.creator-status--restricted{color:var(--status-danger);background:var(--surface-raised);border-color:var(--control-border)}
.creator-status--hidden{color:var(--muted);background:var(--surface-raised);border-color:var(--control-border)}
.creator-management-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:18px;align-items:start}
.creator-management-card{min-width:0;padding:22px;background:var(--surface,#111e18);border:1px solid var(--line,#283b30);border-top:3px solid var(--control-border);border-radius:10px}
.creator-management-card[data-creator-state="visible"]{border-top-color:var(--control-border)}
.creator-management-card[data-creator-state="restricted"]{border-top-color:var(--control-border)}
.creator-management-identity{display:flex;align-items:center;gap:12px}
.creator-management-avatar{width:56px;height:56px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--control-border);border-radius:8px;background:var(--surface-raised);overflow:hidden;color:var(--muted)}
.creator-management-avatar img{width:100%;height:100%;object-fit:cover}
.creator-management-identity>div{min-width:0;flex:1}
.creator-management-identity h2{font-family:inherit;font-size:20px;margin:0;overflow-wrap:anywhere}
.creator-management-identity p,.creator-management-specialty{font-size:14px;color:var(--muted,#a5b5a9);margin:5px 0;overflow-wrap:anywhere}
.creator-management-specialty{margin:18px 0;min-height:22px}
.creator-management-facts{margin:0;padding:14px 0;border-top:1px solid var(--control-border);border-bottom:1px solid var(--control-border);display:grid;gap:12px;font-size:14px}
.creator-management-facts>div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.creator-management-facts dt{color:var(--muted,#a5b5a9)}
.creator-management-facts dd{margin:0;text-align:right}
.creator-management-id{font-size:11px;color:var(--muted,#a5b5a9);overflow-wrap:anywhere;margin:14px 0}
.creator-management-reason{font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
.creator-management-actions{border-top:1px solid var(--control-border);padding-top:14px}
.creator-management-actions summary{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--gold,#cda267);font-size:14px;min-height:36px}
.creator-management-actions summary::after{content:'+';margin-left:auto;font-size:20px}
.creator-management-actions[open] summary::after{content:'−'}
.creator-management-actions form{margin-top:15px}
@media(max-width:600px){.creator-management-card{padding:18px}.creator-management-identity{display:grid;grid-template-columns:56px minmax(0,1fr)}.creator-management-identity>.creator-status{grid-column:2;justify-self:start;margin:0}.creator-status-legend{gap:6px}}
.workspace-switch .workspace-studio-entry{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;border:1px solid var(--copper);border-radius:7px;background:var(--surface-raised);color:var(--copper);font-family:inherit;font-size:16px;font-weight:600;line-height:1.5;box-sizing:border-box}
.workspace-switch .workspace-studio-entry span{flex:1}
.workspace-switch .workspace-studio-entry:hover{background:var(--surface-raised)}
.workspace-switch .workspace-studio-entry:focus-visible{outline:2px solid var(--focus-color);outline-offset:3px}
.portrait.placeholder-portrait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:var(--surface-raised);background-image:none;color:var(--muted)}
.portrait.placeholder-portrait>.icon{width:54px;height:54px}
.portrait-empty-label{font:14px/1.5 sans-serif}
.avatar.placeholder-portrait>.icon{width:24px;height:24px}
.avatar .portrait-empty-label{display:none}
.card-cuisine{display:inline-block;margin:0 0 10px;font-size:12px;line-height:1.5;color:var(--gold,#cda267)}
.simple-refund-form{margin-top:var(--space-6);display:grid;gap:var(--field-gap)}
.refund-allocation{display:grid;gap:var(--field-gap)}
.simple-refund-form>button{min-height:var(--touch-target);justify-self:start}
.simple-refund-form [role=alert]:empty,.simple-refund-form [role=status]:empty{display:none}
@media(max-width:768px){.simple-refund-form>button{width:100%}}

/* Keep the immediate-apply action readable on narrow screens. */
.fee-settings .fee-edit-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-3)}
.fee-settings .fee-edit-actions>.button{flex:1 1 12rem;min-width:0}

.fee-settings .fee-activation [data-fee-schedule][hidden]{display:none}
.fee-settings .fee-activation{grid-column:1/-1}
