.operator-page-header { align-items: center; gap: 24px; padding-top: 24px; }
.operator-eyebrow { color: #757575; text-transform: uppercase; font-size: 11px; font-weight: 700; letter-spacing: .13em; margin: 0 0 10px; }
.operator-page-header h1 { letter-spacing: -.045em; }
.operator-page-header > .status { white-space: nowrap; }
.operator-back { display: inline-flex; margin: 24px 0 0; padding-left: 0 !important; border: 0; }
.operator-tabs { display: flex; gap: 32px; border-bottom: 1px solid #e5e5e5; margin: 30px 0; }
.operator-tabs > button { appearance: none; background: none; border: 0; border-bottom: 2px solid transparent; color: #707070; font: inherit; font-weight: 600; font-size: 14px; padding: 0 0 19px; cursor: pointer; display: flex; align-items: center; gap: 8px; }
.operator-tabs > button.active { color: #202020; border-bottom-color: #202020; }
.operator-tabs > button > span { background: #f0f0ed; min-width: 23px; height: 23px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50px; font-size: 11px; }
.operator-tabs > button > .operator-count { background: #e7edc7; color: #37470d; }
.operator-content-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 34px 0 24px; }
.operator-content-heading h2 { margin: 0 0 6px; font-size: 23px; letter-spacing: -.04em; }
.operator-content-heading p { margin: 0; font-size: 14px; }
.operator-offers { display: grid; gap: 20px; margin-bottom: 80px; }
.operator-offer.card { display: grid; grid-template-columns: 230px minmax(0,1fr); padding: 0; border: 1px solid #e6e6e3; border-radius: 18px; box-shadow: none; overflow: hidden; }
.operator-offer-image { display: grid; place-items: center; aspect-ratio: 1.12; background: #f3f3ee; color: #797a72; font-size: 13px; }
.operator-offer-image img { width: 100%; height: 100%; object-fit: cover; }
.operator-offer-body { padding: 26px 30px; display: flex; flex-direction: column; align-items: flex-start; }
.operator-offer-meta { display: flex; align-items: center; gap: 12px; font-size: 12px; }
.operator-offer-body h3 { margin: 17px 0 7px; font-size: 21px; line-height: 1.35; letter-spacing: -.035em; }
.operator-offer-body h3 a { color: inherit; text-decoration: none; }
.operator-offer-body > p { margin: 0 0 18px; font-size: 14px; }
.operator-offer-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: auto; }
.operator-offer-actions .button-secondary, .operator-offer-actions .button-quiet { font-size: 13px; padding: 10px 15px; min-height: 40px; }
.operator-offer-actions .button-quiet { border-color: transparent; }
.operator-status-published, .operator-status-accepted { background: #edf2df !important; color: #405118 !important; }
.operator-status-draft, .operator-status-cancelled { background: #f1f1ed !important; color: #5a5d51 !important; }
.operator-status-requested { background: #fff0d1 !important; color: #79571d !important; }
.operator-status-declined { background: #faeae5 !important; color: #943e28 !important; }
.operator-empty { padding: 70px 30px !important; border: 1px dashed #d8d8d2; background: #fbfbf8; border-radius: 20px; text-align: center; margin-bottom: 70px; }
.operator-empty h3 { font-size: 23px; letter-spacing: -.035em; margin: 16px 0 10px; }
.operator-empty p { max-width: 440px; margin: 0 auto 24px; line-height: 1.7; color: #777a70; }
.operator-empty-icon { font-size: 25px; width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; background: #eeefdf; margin: 0 auto; }
.operator-loading { padding: 110px 24px; text-align: center; color: #6f7468; }
.operator-success { background: #f1f5e8 !important; color: #35461d !important; border: 1px solid #d6dfc2 !important; margin: 20px 0; }
.operator-error { background: #fff0eb !important; color: #853b29 !important; border: 1px solid #eed0c5 !important; margin: 20px 0; }
.operator-form { max-width: 1080px; margin-bottom: 40px; }
.operator-section { display: grid; grid-template-columns: minmax(200px, .8fr) minmax(0, 1.6fr); gap: 80px; padding: 42px 0; border-top: 1px solid #e5e5df; }
.operator-section-heading h2 { margin: 0 0 10px; font-size: 21px; letter-spacing: -.035em; }
.operator-section-heading p { font-size: 14px; line-height: 1.65; margin: 0 0 14px; max-width: 220px; }
.operator-step { font-size: 11px; letter-spacing: .06em; color: #94988a; font-weight: 700; display: block; margin-bottom: 14px; }
.operator-form .stack { display: grid; gap: 22px; }
.operator-form .field { gap: 8px; }
.operator-form .field > small { font-size: 12px; line-height: 1.6; font-weight: 400; }
.operator-form .field > span.muted { display: inline; font-weight: 400; }
.operator-form textarea { line-height: 1.6; resize: vertical; min-height: auto; }
.operator-form input, .operator-form select, .operator-form textarea { font-size: 14px; width: 100%; }
.operator-form input::placeholder, .operator-form textarea::placeholder { color: #96998f; opacity: 1; }
.operator-form [hidden] { display: none !important; }
.operator-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; border-top: 1px solid #e5e5df; }
.operator-form-actions > span, .operator-save-state { font-size: 13px; }
.operator-save-state { color: #6e7466; }
.operator-save-buttons { display: flex; align-items: center; gap: 12px; }
.operator-sticky-actions { position: sticky; bottom: 0; background: rgb(255 255 255 / 96%); backdrop-filter: blur(12px); z-index: 5; padding: 18px 0; box-shadow: 0 -14px 28px rgb(255 255 255 / 80%); }
.operator-profile-preview { width: 112px; height: 112px; border: 1px solid #e4e5df; border-radius: 24px; overflow: hidden; display: grid; place-items: center; color: #8a8e80; background: #f5f6f0; font-size: 12px; text-align: center; padding: 12px; }
.operator-profile-preview:has(img) { padding: 0; }
.operator-profile-preview img { width: 100%; height: 100%; object-fit: cover; }
.operator-media-preview { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.operator-media-tile { position: relative; aspect-ratio: 1.25; border-radius: 12px; overflow: hidden; background: #f3f4ee; display: grid; place-items: center; }
.operator-media-tile img { width: 100%; height: 100%; object-fit: cover; }
.operator-media-tile > button { position: absolute; top: 6px; right: 6px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; border: 0; background: white; box-shadow: 0 2px 8px #0002; cursor: pointer; font: inherit; font-size: 21px; }
.operator-remove-photo-icon { position: relative; width: 12px; height: 12px; }
.operator-remove-photo-icon::before, .operator-remove-photo-icon::after { position: absolute; content: ''; width: 14px; height: 1.5px; background: #31382b; left: -1px; top: 5px; transform: rotate(45deg); }
.operator-remove-photo-icon::after { transform: rotate(-45deg); }
.operator-cover-label { position: absolute; bottom: 7px; left: 7px; border-radius: 5px; background: white; color: #34382c; font-size: 10px; font-weight: 600; padding: 4px 7px; }
.operator-no-photos { grid-column: 1 / -1; border: 1px dashed #d4d8c8; background: #f8f9f4; border-radius: 14px; text-align: center; padding: 38px 16px; font-size: 13px; color: #8a8f7d; }
.operator-photo-library { border: 1px solid #e2e4da; border-radius: 12px; padding: 15px; }
.operator-photo-library summary { font-size: 13px; font-weight: 600; cursor: pointer; }
.operator-media-options { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.operator-media-option { cursor: pointer; text-align: left; background: transparent; border: 1px solid #e6e8df; border-radius: 9px; overflow: hidden; padding: 0; font: inherit; }
.operator-media-option:hover { border-color: #707e44; }
.operator-media-option img { aspect-ratio: 1.4; object-fit: cover; width: 100%; display: block; }
.operator-media-option span { display: block; padding: 8px; font-size: 11px; line-height: 1.4; }
.operator-packages { display: grid; gap: 16px; }
.operator-package { background: #fbfcf8; border: 1px solid #e2e5d8; border-radius: 16px; padding: 23px; display: grid; gap: 18px; }
.operator-package-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.operator-package-heading h3 { margin: 0; font-size: 13px; font-weight: 600; color: #707762; }
.operator-remove-package { font-size: 12px !important; padding: 0 !important; min-height: 28px !important; text-decoration: underline; border: 0; background: transparent; }
.operator-remove-package:disabled { opacity: .3; cursor: default; }
.operator-package-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.operator-package-robot { grid-column: 1 / -1; }
.operator-deposit-field { padding:20px; border:1px solid #e2e5d8; border-radius:12px; background:#fbfcf8; }
.operator-deposit-summary { padding:14px 16px; margin:16px 0; border-radius:9px; background:#f4f6f0; font-size:13px; }
.operator-deposit-summary p { margin:6px 0 0; font-size:12px; color:#68717b; }
.operator-add-package { justify-self: start; font-size: 13px; }
.operator-weekdays { border: 0; padding: 0; margin: 0; }
.operator-weekdays legend { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.operator-weekdays > div { display: flex; flex-wrap: wrap; gap: 8px; }
.operator-weekdays label { position: relative; cursor: pointer; }
.operator-weekdays input { position: absolute; width: 1px !important; height: 1px; opacity: 0; }
.operator-weekdays span { display: grid; place-items: center; width: 46px; height: 46px; font-size: 12px; border: 1px solid #d9ddd0; border-radius: 50%; transition: .15s ease; }
.operator-weekdays input:checked + span { background: #252a20; color: white; border-color: #252a20; }
.operator-weekdays input:focus-visible + span { outline: 3px solid #bdcb8e; outline-offset: 3px; }
.operator-small { font-size: 12px !important; line-height: 1.6; margin: 0; }
.operator-booking-filters { display: flex; align-items: end; gap: 20px; justify-content: space-between; margin: 0 0 25px; }
.operator-booking-filters .field { width: 230px; font-size: 12px; }
.operator-booking-filters > .muted { padding-bottom: 13px; font-size: 13px; }
.operator-bookings { display: grid; gap: 20px; margin-bottom: 80px; }
.operator-booking.card { padding: 28px 30px; border: 1px solid #e3e6da; border-radius: 18px; box-shadow: none; }
.operator-booking-top { display: flex; justify-content: space-between; align-items: start; gap: 22px; }
.operator-booking h3 { font-size: 21px; margin: 18px 0 8px; letter-spacing: -.03em; }
.operator-booking-top p { margin: 0; font-size: 13px; line-height: 1.6; }
.operator-booking-price { display: flex; flex-direction: column; gap: 5px; text-align: right; white-space: nowrap; padding-top: 5px; }
.operator-booking-price strong { font-size: 22px; font-weight: 600; }
.operator-booking-price span { font-size: 11px; }
.operator-booking-details { display: grid; grid-template-columns: 1fr 1.2fr .7fr; gap: 30px; padding: 24px 0; margin-top: 24px; border-top: 1px solid #e9ece2; }
.operator-booking-details > div { display: flex; flex-direction: column; gap: 7px; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.operator-detail-label { color: #818676; text-transform: uppercase; font-size: 10px; font-weight: 600; letter-spacing: .08em; margin-bottom: 5px; }
.operator-booking-details a { color: inherit; text-decoration-color: #c6ccbd; text-underline-offset: 3px; }
.operator-booking-note { padding: 15px 18px; background: #f7f9f1; border-radius: 10px; margin-bottom: 20px; }
.operator-booking-note p { margin: 5px 0 0; font-size: 13px; line-height: 1.7; white-space: pre-line; }
.operator-booking-actions { border-top: 1px solid #e9ece2; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; }
.operator-booking-actions > .muted { font-size: 12px; }
.operator-booking-actions > div { display: flex; gap: 10px; flex-shrink: 0; }
.operator-booking-outcome { border-top: 1px solid #e9ece2; padding-top: 16px; font-size: 12px; color: #727969; }
@media (max-width: 900px) {
  .operator-section { grid-template-columns: 210px minmax(0,1fr); gap: 35px; }
  .operator-offer.card { grid-template-columns: 200px minmax(0,1fr); }
  .operator-offer-body { padding: 22px; }
  .operator-weekdays span { width: 39px; height: 39px; }
}
@media (max-width: 680px) {
  .operator-page-header { display: flex; flex-wrap: wrap; padding-top: 20px; gap: 15px; }
  .operator-page-header h1 { font-size: 30px; }
  .operator-page-header .button-secondary { min-height: 40px; padding: 10px 16px; font-size: 12px; }
  .operator-tabs { gap: 22px; margin: 24px 0; }
  .operator-tabs > button { font-size: 12px; gap: 6px; white-space: nowrap; }
  .operator-content-heading { align-items: start; gap: 15px; }
  .operator-content-heading h2 { font-size: 21px; }
  .operator-content-heading p { font-size: 12px; line-height: 1.6; }
  .operator-content-heading .button { padding: 12px 15px; font-size: 12px; white-space: nowrap; }
  .operator-offer.card { grid-template-columns: 1fr; }
  .operator-offer-image { aspect-ratio: 1.65; }
  .operator-offer-body { padding: 22px; }
  .operator-offer-body h3 { margin-top: 14px; }
  .operator-offer-actions { gap: 5px; }
  .operator-offer-actions .button-secondary, .operator-offer-actions .button-quiet { font-size: 12px; padding: 10px 12px; }
  .operator-section { display: block; padding: 28px 0; }
  .operator-section-heading { margin-bottom: 23px; }
  .operator-section-heading p { max-width: none; margin-bottom: 6px; }
  .operator-step { margin-bottom: 8px; }
  .operator-form .form-grid { grid-template-columns: 1fr; }
  .operator-form .stack { gap: 20px; }
  .operator-form input, .operator-form select, .operator-form textarea { font-size: 16px; }
  .operator-package { padding: 18px; }
  .operator-package-fields { gap: 12px; }
  .operator-package-fields .field { font-size: 12px; }
  .operator-form-actions { gap: 14px; flex-wrap: wrap; }
  .operator-form-actions > span { font-size: 12px; }
  .operator-sticky-actions { margin: 0 -5px; padding: 13px 5px; gap: 10px; }
  .operator-sticky-actions > div:first-child { width: 100%; }
  .operator-save-state { font-size: 11px; }
  .operator-save-buttons { width: 100%; gap: 10px; }
  .operator-save-buttons button { flex: 1; padding: 14px 10px; font-size: 13px; }
  .operator-weekdays span { width: 37px; height: 37px; font-size: 11px; }
  .operator-weekdays > div { gap: 7px; }
  .operator-booking.card { padding: 22px 19px; }
  .operator-booking-top { gap: 14px; }
  .operator-booking h3 { font-size: 18px; }
  .operator-booking-price strong { font-size: 18px; }
  .operator-booking-price span { font-size: 10px; }
  .operator-booking-details { grid-template-columns: 1fr 1fr; gap: 22px; }
  .operator-booking-details > div:last-child { grid-column: 1/-1; }
  .operator-booking-actions { display: block; }
  .operator-booking-actions > .muted { display: block; margin-bottom: 15px; }
  .operator-booking-actions > div { display: grid; grid-template-columns: 1fr 1fr; }
  .operator-booking-actions .button, .operator-booking-actions .button-secondary { font-size: 13px; padding: 13px 10px; }
  .operator-booking-filters { gap: 14px; }
  .operator-booking-filters .field { width: 210px; }
}
