/* Munkapad: the selected staff workspace. Existing API and draft guards apply. */
.user-workspace {
  --brand-500: #1452d6;
  --brand-400: #1452d6;
  --surface-0: #eaf1f8;
  --text-muted: #405673;
  background: var(--surface-0);
  caret-color: #1452d6;
  scrollbar-color: #9aafc8 #eaf1f8;
  scrollbar-width: thin;
}
.user-workspace ::selection { background: #cddfff; color: #142c48; }
.user-workspace :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid #1452d6; outline-offset: 3px; }
.user-workspace .app-shell { grid-template-columns: 195px minmax(0,1fr); }
.user-workspace .workspace-sidebar { padding: 24px 12px 16px; }
.user-workspace .workspace-brand { font-size: 17px; }
.user-workspace .workspace-nav .seg-btn { padding: 13px 10px; font-size: 15px; min-height: 48px; }
.user-workspace .workspace-nav .seg-btn[aria-selected=true] { background: #1452d6; border-color: #1452d6; }
.user-workspace .ticket-workspace { margin: 16px 12px; min-height: calc(100vh - 32px); column-gap: 0; }
.user-workspace .ticket-inbox { padding: 22px 14px; background: #f2f7fc; border-color: #ccdcee; box-shadow: none; }
.user-workspace .inbox-heading { margin-bottom: 18px; }
.user-workspace .inbox-heading h1 { font-size: 25px; letter-spacing: -.02em; display: flex; align-items: center; gap: 10px; }
.workbench-count { font-size: 13px; font-weight: 600; color: white; background: #1452d6; border-radius: 50%; min-width: 25px; height: 25px; display: inline-grid; place-items: center; padding: 0 6px; }
.user-workspace .inbox-intro { display: none; }
.workbench-search { display: grid; grid-template-columns: minmax(0,1fr) 42px; gap: 8px; }
.user-workspace .workbench-search .input { min-width: 0; font-size: 13px; padding: 10px; min-height: 42px; }
.user-workspace #ticket-filter-toggle { min-height: 42px; padding: 10px; border: 1px solid #b8cde6; background: #fff; color: #405673; }
.user-workspace #ticket-filter-toggle svg { width: 18px; height: 18px; }
.user-workspace #ticket-filter-toggle.has-filters, .user-workspace #ticket-filter-toggle[aria-expanded=true] { background: #e0ecff; color: #1452d6; border-color: #1452d6; }
#ticket-filter-panel { margin: 12px 0; padding: 14px 0; border-block: 1px solid #ccdcee; }
#ticket-filter-panel[hidden] { display: none; }
.user-workspace .layout-toolbar { border: 0; background: transparent; padding: 12px 0 0; margin: 8px 0 0; }
.user-workspace #layout-hint { display: none; }
.user-workspace .ticket-filters { gap: 5px; margin: 14px 0; }
.user-workspace .ticket-filters button { border-radius: 7px; padding: 9px 8px; font-size: 12px; background: #e7eef8; }
.user-workspace .ticket-filters button[aria-pressed=true] { background: #1452d6; }
.user-workspace .inbox-count { margin: 12px 0; font-size: 12px; }
.user-workspace #ticket-list { gap: 8px; }
.user-workspace .request-row { grid-template-columns: 48px minmax(0,1fr); gap: 10px; padding: 12px; border: 1px solid #ccdbec; border-radius: 9px; box-shadow: none; background: #fff; margin: 0; }
.user-workspace .request-row.selected { border-color: #1452d6; background: #edf4ff; box-shadow: none; }
.user-workspace .request-row.state-approval.selected { background: #fff8df; border-color: #edbb39; }
.user-workspace .request-symbol { width: 48px; height: 52px; background: #e8eef6; font-size: 22px; overflow: hidden; }
.request-symbol img { width: 100%; height: 100%; object-fit: cover; }
.user-workspace .request-copy strong { font-size: 14px; line-height: 1.4; padding-right: 0; }
.user-workspace .request-person { font-size: 13px; color: #263e5b; }
.user-workspace .request-place { font-size: 12px; line-height: 1.55; }
.user-workspace .request-task { display: inline-block; max-width: 100%; font-size: 11px; font-weight: 600; line-height: 1.4; color: #263e5b; background: #e5edf7; border-radius: 20px; padding: 5px 9px; margin-top: 9px; }
.user-workspace .state-approval .request-task { background: #ffdf75; color: #473700; }
.user-workspace .state-booked .request-task { background: #dcf3e8; color: #095c3a; }
.user-workspace .state-change .request-task { background: #dce8ff; color: #1645a9; }
.user-workspace .state-declined .request-task { background: #ffe7e7; color: #952134; }
.user-workspace .request-date { font-size: 11px; padding-top: 0; color: #405673; grid-column: 2; margin-top: -2px; }
.user-workspace .ticket-content { gap: 0; }
.user-workspace .ticket-reading { padding: 25px 22px; min-height: calc(100vh - 32px); border-color: #ccdcee; box-shadow: none; }
.user-workspace .ticket-head { margin-bottom: 22px; }
.user-workspace .ticket-heading { align-items: flex-start; gap: 12px; }
.user-workspace .ticket-heading h2 { font-size: 32px; letter-spacing: -.025em; margin: 18px 0 8px; }
.user-workspace .ticket-guest { font-size: 15px; margin: 0; color: #405673; }
.user-workspace .ticket-heading .badge { font-size: 11px; font-weight: 600; }
.user-workspace .ticket-whatsapp { min-height: 40px; padding: 8px 12px; font-size: 13px; border-radius: 7px; }
.user-workspace .related-requests { margin: 16px 0 0; font-size: 12px; }
.user-workspace .workbench-facts { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 26px 0 24px; }
.user-workspace .workbench-facts>div { padding: 0 10px; border-right: 1px solid #dfE8f3; min-width: 0; }
.user-workspace .workbench-facts>div:first-child { padding-left: 0; }
.user-workspace .workbench-facts>div:last-child { border-right: 0; }
.user-workspace .workbench-facts dt { display: flex; align-items: center; gap: 5px; font-size: 11px; color: #405673; margin-bottom: 7px; }
.workbench-facts dt svg { width: 16px; height: 16px; flex: 0 0 16px; }
.user-workspace .workbench-facts dd { font-size: 13px; font-weight: 650; line-height: 1.4; margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.user-workspace .detail-tabs { border-color: #cddced; gap: 22px; margin-top: 12px; }
.user-workspace .detail-tabs button { font-size: 14px; padding: 12px 2px; }
.user-workspace .detail-tabs button[aria-selected=true] { border-color: #1452d6; color: #1452d6; }
.user-workspace .request-description { background: transparent; border: 0; padding: 0; margin: 0 0 28px; }
.user-workspace .request-description h3, .user-workspace #detail-panel-request>h3 { font-size: 16px; margin: 0 0 12px; }
.user-workspace .request-description .request-summary { background: #f2f7fd; border: 1px solid #ccdcee; border-radius: 8px; padding: 16px; font-size: 14px; line-height: 1.65; white-space: pre-wrap; }
.user-workspace .workspace-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.user-workspace .workspace-gallery figure { padding: 3px; border-color: #ccdcee; }
.user-workspace .reference-open { border: 0; background: #f2f7fd; border-radius: 6px; }
.user-workspace .reference-open img { height: 220px; width: 100%; object-fit: contain; }
.user-workspace .workspace-gallery figcaption { font-size: 11px; line-height: 1.6; padding: 10px 5px; }
.user-workspace .ticket-controls { padding: 20px; border-color: #ccdcee; background: #fff; box-shadow: none; min-width: 0; }
.user-workspace .ticket-controls .ticket-next { display: block; margin: 0 0 20px; padding: 20px 16px; background: #f2f7fd; border: 1px solid #ccdcee; border-radius: 9px; }
.user-workspace .ticket-next>div>span { display: none; }
.user-workspace #ticket-next-text { display: block; font-size: 23px; line-height: 1.25; letter-spacing: -.02em; color: #142c48; }
#workbench-task-help { margin: 10px 0 0; font-size: 14px; line-height: 1.6; color: #405673; }
.user-workspace #ticket-next-action { margin-top: 14px; width: 100%; }
.user-workspace .ticket-controls[data-stage=approval] .ticket-next { background: #fff8df; border-color: #f1d77a; }
.user-workspace .ticket-controls[data-stage=booked] .ticket-next { background: #e9f7ef; border-color: #b3dec8; }
.user-workspace .ticket-controls[data-stage=declined] .ticket-next { background: #fff0f0; border-color: #efc5cd; }
.user-workspace .ticket-controls>section, .user-workspace .ticket-controls>[data-ticket-section] { margin: 16px 0; }
.user-workspace .ticket-controls .ticket-section-form { border: 0; background: transparent; padding: 0; margin: 0; box-shadow: none; }
.user-workspace .ticket-controls .ticket-section-form>h3 { display: none; }
.user-workspace .ticket-controls .ticket-section-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.user-workspace .ticket-controls .ticket-section-form label { font-size: 13px; line-height: 1.5; }
.user-workspace .ticket-controls .input, .user-workspace .ticket-controls .select, .user-workspace .ticket-controls .textarea { font-size: 14px; padding: 11px; min-width: 0; width: 100%; }
.user-workspace .ticket-controls .btn { min-height: 44px; font-size: 14px; }
.user-workspace .ticket-controls .btn-primary { background: #1452d6; color: white; border-color: #1452d6; }
.user-workspace .ticket-controls .btn-primary:hover { background: #1045b5; }
.user-workspace .ticket-controls .btn-secondary { background: white; border-color: #aec6e8; color: #1645bf; }
.user-workspace .ticket-controls .btn:disabled { cursor: not-allowed; opacity: .55; }
.user-workspace .ticket-controls .section-actions { gap: 8px; margin-top: 18px; }
.user-workspace .ticket-controls .section-feedback { font-size: 13px; line-height: 1.6; }
.user-workspace #offer-feedback:empty { display: none; }
.user-workspace .operation-error { color: #952134; background: #fff0f0; border: 1px solid #efc5cd; border-radius: 8px; padding: 12px; font-size: 14px; line-height: 1.6; }
.user-workspace .booking-progress { background: transparent; padding: 0; border: 0; margin: 18px 0 26px; }
.user-workspace .booking-progress ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 0; margin: 0; list-style: none; }
.user-workspace .booking-progress li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 9px; border: 0; padding: 0; font-size: 11px; line-height: 1.45; color: #405673; text-align: center; }
.booking-progress li:not(:last-child)::after { content: ''; position: absolute; top: 18px; left: calc(50% + 25px); width: calc(100% - 40px); height: 2px; background: #d4e0ef; }
.booking-progress li.complete::after { background: #1452d6; }
.step-marker { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 50%; background: #e3ebf6; color: #263e5b; font-size: 13px; font-weight: 700; }
.step-marker svg { width: 20px; height: 20px; }
.user-workspace .booking-progress .complete .step-marker { background: #1452d6; color: white; }
.user-workspace .booking-progress .active .step-marker { background: #ffd75a; color: #453600; }
.user-workspace .booking-progress li.active, .user-workspace .booking-progress li.complete { color: #263e5b; border: 0; }
.user-workspace .booking-compose { border: 0; padding: 0; background: transparent; }
.user-workspace .offer-tracking { border: 0; padding: 0; border-radius: 0; background: transparent; }
.user-workspace .booking-section-head { display: flex; justify-content: flex-end; margin: -5px 0 12px; }
.user-workspace .booking-section-head h3 { display: none; }
.user-workspace #offer-refresh { min-height: 34px; padding: 6px 10px; font-size: 12px; margin: 0; }
.user-workspace .offer-record { border: 0; padding: 0; margin: 0; }
.user-workspace .current-offer:has(.selected-slot)>:is(h4,.booking-amount,.offer-state) { display: none; }
.user-workspace .offer-record>h4 { font-size: 16px; }
.user-workspace .booking-amount { font-size: 15px; font-weight: 650; margin: 10px 0; }
.user-workspace .offer-state { font-size: 13px; color: #405673; margin: 10px 0; }
.user-workspace .booking-choice-list { padding: 0; margin: 14px 0 18px; list-style: none; }
.user-workspace .booking-choice-list li { background: #f2f7fd; border: 1px solid #ccdcee; border-radius: 9px; padding: 15px; margin-bottom: 8px; }
.user-workspace .booking-choice-list.selected-slot li { background: #fff8df; border-color: #f1d77a; padding: 18px 16px; }
.user-workspace .booking-confirmed .booking-choice-list.selected-slot li { background: #e9f7ef; border-color: #b3dec8; }
.user-workspace .booking-choice-list li span { display: block; font-size: 12px; color: #405673; line-height: 1.5; }
.user-workspace .booking-choice-list .slot-label { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; font-weight: 650; color: #142c48; margin-bottom: 14px; }
.slot-label svg { flex: 0 0 19px; }
.user-workspace .booking-choice-list .slot-badge { display: inline-block; background: #ffdf75; color: #473700; font-size: 11px; font-weight: 600; border-radius: 20px; padding: 5px 10px; margin: 0 0 14px 28px; }
.user-workspace .booking-confirmed .booking-choice-list .slot-badge { background: #d0eddf; color: #095c3a; }
.user-workspace .booking-choice-list .slot-day, .user-workspace .booking-choice-list .slot-time { display: block; font-size: 22px; line-height: 1.4; color: #142c48; letter-spacing: -.02em; }
.slot-day::first-letter { text-transform: uppercase; }
.user-workspace .booking-choice-list .slot-time { margin-bottom: 9px; font-variant-numeric: tabular-nums; }
.user-workspace .booking-final-review { padding: 0; background: transparent; border: 0; }
.user-workspace .booking-final-review>.btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 13px; margin: 0 0 9px; }
.user-workspace .booking-final-review .booking-artist { font-size: 13px; color: #405673; margin: 0 0 16px; }
.user-workspace .booking-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.user-workspace .booking-extra { padding: 0; border: 0; border-top: 1px solid #d7e3f0; border-radius: 0; margin: 18px 0 0; background: transparent; }
.user-workspace .booking-extra>summary { padding: 18px 0; font-size: 14px; font-weight: 600; cursor: pointer; color: #263e5b; }
.user-workspace .booking-extra[open]>summary { padding-bottom: 12px; }
.user-workspace .workbench-extra .ticket-section-form>h3 { display: none; }
.user-workspace .quote-decline { background: #fff0f0; border: 1px solid #efc5cd; padding: 16px; border-radius: 9px; }
.user-workspace .quote-decline p { font-size: 14px; line-height: 1.6; margin: 10px 0 0; }
.user-workspace .quote-decline .section-help { display: none; }
.user-workspace .offer-record blockquote { border-left: 0; border-radius: 8px; font-size: 14px; line-height: 1.6; }
.user-workspace .ticket-event { background: transparent; border: 0; border-bottom: 1px solid #d7e3f0; border-radius: 0; padding: 16px 0; margin: 0; }
.user-workspace .panel-divider { background: transparent; border-radius: 4px; }
.user-workspace .panel-divider::after { opacity: .5; background: #8da5c2; }
.user-workspace .panel-divider:focus-visible::after, .user-workspace .panel-divider:hover::after { opacity: 1; }
.user-workspace [hidden] { display: none !important; }
@container ticket-pane (min-width:800px) {
  .user-workspace .ticket-content { grid-template-columns: minmax(0,1fr) 12px var(--controls-width,390px); gap: 0; }
  .user-workspace .ticket-controls { top: 16px; max-height: calc(100vh - 32px); }
}
@container request-reading (max-width:520px) {
  .user-workspace .workbench-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px 0; }
  .user-workspace .workbench-facts>div { padding: 0 10px; }
  .user-workspace .workbench-facts>div:nth-child(3n+1) { padding-left: 0; }
  .user-workspace .workbench-facts>div:nth-child(3n) { border-right: 0; }
  .user-workspace .workspace-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .user-workspace .reference-open img { height: 170px; }
}
@media(max-width:1000px) {
  .user-workspace .app-shell { grid-template-columns: minmax(0,1fr); }
  .user-workspace .workspace-sidebar { height: auto; padding: 14px 18px; }
  .user-workspace .ticket-content { row-gap: 14px; }
  .user-workspace .ticket-reading { min-height: auto; }
  .user-workspace .ticket-controls { max-height: none; }
}
@media(max-width:700px) {
  .user-workspace .workspace-sidebar { padding: 12px 10px; }
  .user-workspace .workspace-nav { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .user-workspace .workspace-nav .seg-btn { padding: 10px 3px; justify-content: center; font-size: 11px; min-height: 42px; gap: 3px; }
  .user-workspace .workspace-nav .seg-btn svg { display: none; }
  .user-workspace .workspace-nav .seg-btn .badge { display: none; }
  .user-workspace .ticket-workspace { margin: 10px; }
  .user-workspace .ticket-inbox, .user-workspace .ticket-reading, .user-workspace .ticket-controls { padding: 20px 16px; }
  .user-workspace .ticket-back { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #aec6e8; border-radius: 7px; padding: 10px 12px; color: #1452d6; background: white; margin-bottom: 20px; }
  .ticket-back svg { width: 16px; height: 16px; }
  .user-workspace .ticket-heading h2 { font-size: 30px; }
  .user-workspace .ticket-whatsapp { font-size: 12px; }
  .user-workspace .booking-inline { grid-template-columns: 1fr; }
  .user-workspace .ticket-controls .btn { white-space: normal; }
}
@media(prefers-reduced-motion:reduce) {
  .user-workspace * { scroll-behavior: auto !important; transition-duration: 0s !important; }
}

/* C: compact request groups and a filter popover anchored to its trigger. */
.user-workspace .inbox-heading #inbox-total { display: none; }
.user-workspace .workbench-search { position: relative; z-index: 3; margin-bottom: 20px; }
.user-workspace #ticket-filter-panel { position: absolute; top: calc(100% + 10px); right: 0; width: 100%; box-sizing: border-box; margin: 0; padding: 18px; background: #fff; border: 0; border-radius: 12px; box-shadow: 0 12px 32px #142c4830; }
.user-workspace #ticket-filter-panel::before { content: ''; position: absolute; right: 14px; top: -6px; width: 12px; height: 12px; background: #fff; transform: rotate(45deg); }
.user-workspace #ticket-filter-panel .inbox-selects { gap: 12px; }
.user-workspace #ticket-filter-panel label { font-size: 12px; font-weight: 600; color: #263e5b; }
.user-workspace #ticket-filter-panel .select { min-height: 44px; font-size: 13px; }
.user-workspace #ticket-filter-panel .layout-toolbar { position: relative; padding-top: 16px; margin-top: 16px; border-top: 1px solid #d7e3f0; }
.user-workspace .layout-toolbar-head { margin-bottom: 10px; font-size: 12px; }
.user-workspace #layout-reset { position: absolute; bottom: 0; right: 38px; width: auto; height: 44px; padding: 8px 4px; font: inherit; font-size: 12px; color: #1452d6; border: 0; background: transparent; text-decoration: none; }
.user-workspace .layout-choices button { width: 44px; height: 44px; }
.user-workspace #ticket-filter-panel #btn-refresh-tickets { position: absolute; right: 0; bottom: 4px; display: flex; margin: 0; min-height: 36px; width: 32px; padding: 6px; }
.user-workspace #ticket-filter-panel .layout-choices { gap: 3px; width: max-content; }
.user-workspace #ticket-filter-panel .layout-choices button { width: 34px; padding: 6px; }
.user-workspace .inbox-count { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.user-workspace #ticket-list { display: block; }
.user-workspace .request-group + .request-group { margin-top: 24px; }
.user-workspace .request-group summary { padding: 8px 0; margin: 0 0 8px; font-size: 15px; font-weight: 650; color: #142c48; cursor: pointer; }
.user-workspace .request-group:not([open]) summary { margin-bottom: 0; }
.user-workspace .request-group-list { display: grid; grid-template-columns: repeat(var(--list-columns,1),minmax(0,1fr)); gap: 8px; }
.user-workspace .request-row { grid-template-columns: 42px minmax(0,1fr) 8px; align-items: center; padding: 12px; min-height: 92px; }
.user-workspace .request-symbol { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-family: inherit; font-size: 15px; font-weight: 600; color: #405673; }
.user-workspace .request-symbol { position: relative; }
.user-workspace .request-symbol img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.user-workspace .request-copy { min-width: 0; }
.user-workspace .request-copy strong { display: block; overflow-wrap: anywhere; font-size: 14px; }
.user-workspace .request-date { display: block; position: static; margin: 3px 0 0; padding: 0; font-size: 11px; }
.user-workspace .request-task { margin-top: 7px; padding: 4px 8px; }
.request-attention { width: 8px; height: 8px; border-radius: 50%; background: #d49b00; }
@media(max-width:700px) {
  .user-workspace #ticket-filter-panel .inbox-selects { grid-template-columns: 1fr; }
  .user-workspace .request-group-list { grid-template-columns: 1fr; }
}
