.ops-page { --ops-line: #dce2e9; --ops-muted: #67748a; color: var(--ink, #152c50); }
.ops-heading, .ops-toolbar, .ops-row, .ops-section-heading, .ops-pagination { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ops-heading { padding-bottom: 20px; border-bottom: 1px solid var(--ops-line); margin-bottom: 20px; }
.ops-heading h4 { margin: 0 0 6px; }
.ops-heading p, .ops-muted { color: var(--ops-muted); margin: 0; }
.ops-icon { width: 44px; height: 44px; display: inline-grid; place-items: center; padding: 0; flex: 0 0 auto; }
.ops-toolbar { margin-bottom: 22px; }
.ops-toolbar select { width: auto; max-width: 100%; min-width: 180px; }
.ops-section { margin: 0 0 28px; }
.ops-section-heading { padding: 12px 14px; background: #edf1f5; border-bottom: 1px solid var(--ops-line); margin-bottom: 16px; }
.ops-section-heading h5 { font-size: 18px; margin: 0; display: flex; gap: 10px; align-items: center; }
.ops-section-heading .ops-count { color: var(--ops-muted); font-size: 16px; }
.ops-section-heading i { color: #967122; }
.ops-action-grid, .ops-slots, .ops-booking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ops-item, .ops-event, .ops-booking { background: #fff; border: 1px solid var(--ops-line); border-radius: 6px; padding: 18px; min-width: 0; overflow-wrap: anywhere; }
.ops-attention { border-inline-start: 3px solid #bc8d40; }
.ops-item h6, .ops-event h6, .ops-booking h6 { font-size: 17px; margin: 8px 0; }
.ops-item p, .ops-event p, .ops-booking p { margin: 6px 0; }
.ops-warning { color: #a8580d; }
.ops-success { color: #21694e; }
.ops-status { display: inline-block; font-size: 13px; line-height: 1.5; padding: 4px 10px; border-radius: 6px; background: #eef1f4; color: #485268; }
.ops-status-confirmed { background: #fbe8e9; color: #992e39; }
.ops-status-available { background: #e7f4ed; color: #21694e; }
.ops-status-pending { background: #fff3d6; color: #84560d; }
.ops-status-initial { background: #fff; color: #a8580d; border: 1px solid #d6a668; }
.ops-status-cancelled, .ops-status-rejected { background: #f3e8ed; color: #7c3d54; }
.ops-venue { margin-bottom: 20px; }
.ops-venue-title { display: flex; gap: 10px; align-items: center; margin: 0 0 12px; font-size: 18px; }
.ops-venue-title img { width: 36px; height: 36px; object-fit: contain; border-radius: 4px; }
.ops-empty-slot { padding: 16px 4px; align-self: start; border-bottom: 1px solid var(--ops-line); }
.ops-notes { border-inline-start: 2px solid #bc8d40; padding-inline-start: 12px; margin-block: 14px; }
.ops-notes p { white-space: pre-wrap; }
.ops-contacts { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 12px; align-items: center; }
.ops-contacts a { display: inline-flex; gap: 8px; align-items: center; min-height: 40px; }
.ops-open { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 12px; border: 0; border-top: 1px solid var(--ops-line); background: none; padding: 12px 0 0; margin-top: 12px; min-height: 44px; color: #183864; text-align: start; }
.ops-open:hover { color: #956e22; }
.ops-empty { padding: 18px 0; color: var(--ops-muted); }
.ops-pagination { justify-content: center; margin-top: 18px; }
.ops-state { padding: 18px 0; }
.ops-state:empty { padding: 0; }
.ops-error { color: #a72b3a; }
.ops-tabs { display: flex; gap: 8px; border-bottom: 1px solid var(--ops-line); margin-bottom: 20px; }
.ops-tabs button { border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: none; padding: 12px 22px; color: var(--ops-muted); min-height: 48px; font-weight: 600; }
.ops-tabs button[aria-selected="true"] { color: #173b69; border-color: #b68b3c; }
.ops-search { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.ops-search .input-group { flex: 1; min-width: 0; }
.ops-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-block: 0 20px; }
.ops-filters input, .ops-filters select { min-width: 0; max-width: 100%; }
.ops-money { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; border-top: 1px solid var(--ops-line); margin-top: 14px; padding-top: 12px; }
.ops-money small { display: block; color: var(--ops-muted); }
.ops-money strong { font-size: 15px; }
.ops-count-line { margin-bottom: 14px; }
#sidebar-venue-select { background-color: #203b60; color: #fff; border-color: #56708c; }
.ops-page button:focus-visible, .ops-page a:focus-visible { outline: 2px solid #2872aa; outline-offset: 3px; }
#section-today .ops-heading { margin-bottom: 0; padding-bottom: 24px; }
.ops-today-subtitle, .ops-today-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ops-today-subtitle span + span { border-inline-start: 1px solid #cbd3dc; padding-inline-start: 12px; }
.ops-today-actions .btn { min-height: 44px; border-radius: 6px; }
#section-today .ops-section { margin: 0; padding: 26px 0; }
#section-today .ops-section + .ops-section { border-top: 1px solid var(--ops-line); }
#section-today .ops-section-heading { justify-content: flex-start; padding: 0; margin-bottom: 18px; background: none; border: 0; }
#section-today .ops-section-heading h5 { font-weight: 700; line-height: 1.6; }
#section-today .ops-section-heading h5 i { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 6px; background: #f5ead3; color: #86601a; flex-shrink: 0; }
#section-today .ops-count { display: inline-grid; place-items: center; min-width: 28px; min-height: 28px; padding-inline: 6px; border-radius: 6px; background: #e7ebef; color: #3e5069; font-size: 14px; font-weight: 600; }
.ops-today-empty { display: flex; gap: 12px; align-items: center; padding: 12px 0 4px; color: var(--ops-muted); }
.ops-today-empty > i { font-size: 22px; flex-shrink: 0; }
.ops-today-empty p { margin: 0; line-height: 1.8; }
.ops-today-clear > i { color: #268361; }
#section-today .ops-venue + .ops-venue { margin-top: 22px; }
#section-today .ops-venue:last-child { margin-bottom: 0; }
#section-today .ops-venue-title { font-size: 16px; font-weight: 700; margin-bottom: 12px; }
#section-today .ops-empty-slot { padding: 20px; border: 1px solid var(--ops-line); border-radius: 6px; background: #fff; }
.ops-slot-title { display: inline-flex; gap: 10px; align-items: center; }
.ops-slot-title i { color: #798aa0; font-weight: 400; }
#section-today .ops-event > .ops-row { border-bottom: 1px solid var(--ops-line); padding-bottom: 14px; margin-bottom: 14px; }
#section-today .ops-status { white-space: nowrap; }
.venue-settings-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.venue-settings-heading h4 { margin: 0; }
#settings-archived-venues { margin-bottom: 24px; }
.venue-archive-list { border-block: 1px solid #dce2e9; padding-block: 16px; }
.venue-archive-list summary { cursor: pointer; font-weight: 600; }
.venue-archive-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 16px; overflow-wrap: anywhere; }
.venue-archive-row p { margin: 4px 0 0; color: #67748a; }
@media (max-width: 900px) {
    .ops-action-grid, .ops-slots, .ops-booking-grid { grid-template-columns: minmax(0, 1fr); }
    .ops-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    #section-today .ops-heading { align-items: flex-start; gap: 16px; }
    .ops-today-actions { width: 100%; gap: 8px; }
    .ops-today-actions .btn-primary { flex: 1; }
    #section-today .ops-section { padding-block: 22px; }
    #section-today .ops-empty-slot { padding: 16px; }
    .venue-settings-heading .btn { min-height: 44px; }
    .ops-heading { padding-bottom: 14px; margin-bottom: 16px; }
    .ops-tabs { gap: 0; }
    .ops-tabs button { flex: 1; padding: 12px 4px; font-size: 14px; }
    .ops-section-heading { padding: 10px; }
    .ops-section-heading h5 { font-size: 16px; }
    .ops-item, .ops-event, .ops-booking { padding: 14px; }
    .ops-money { gap: 6px; }
    .ops-money strong { font-size: 13px; }
    .ops-filters { grid-template-columns: minmax(0, 1fr); }
    .ops-toolbar select { min-width: 0; flex: 1; }
}
