/* Overrides escuros compartilhados pelos layouts web e mobile. */
.dark-mode,
.dark-mode .wrapper,
.dark-mode .content-wrapper,
.dark-mode #adianti_div_content,
.dark-mode #adianti_online_content,
.dark-mode #adianti_online_content2,
.dark-mode #adianti_right_panel,
.dark-mode .main-footer {
    background-color: #1f252b !important;
    color: #e6edf3 !important;
}

/* Agenda operacional: superfície principal de trabalho. */
.rpm-calendar {
    --rpm-calendar-surface: #ffffff;
    --rpm-calendar-surface-raised: #f8fafc;
    --rpm-calendar-header: #f1f5f9;
    --rpm-calendar-hover: #edf3fa;
    --rpm-calendar-border: #ced9e5;
    --rpm-calendar-grid: #d9e2ec;
    --rpm-calendar-text: #223247;
    --rpm-calendar-muted: #52657a;
    --rpm-calendar-focus: #1764b4;
    --rpm-calendar-action: #2469ad;
    --rpm-calendar-success: #087f59;
    --rpm-calendar-attention: #b65a10;
    --rpm-calendar-danger: #cf353e;
    --rpm-calendar-purple: #6454a0;
    --rpm-calendar-neutral: #64748b;
    color: var(--rpm-calendar-text);
    font-family: "Source Sans Pro", sans-serif;
}

.rpm-calendar,
.rpm-calendar * {
    box-sizing: border-box;
}

.rpm-calendar.card.panel {
    width: 100%;
    max-width: 100%;
    margin: 0 0 24px;
    overflow: visible;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 12px;
    background: var(--rpm-calendar-surface);
    box-shadow: none;
}

.rpm-calendar > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 72px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--rpm-calendar-border);
    border-radius: 12px 12px 0 0;
    background: var(--rpm-calendar-header);
}

.rpm-calendar > .panel-heading .panel-title {
    float: none;
    min-width: 0;
    margin: 0;
    color: var(--rpm-calendar-text);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.3;
}

.rpm-calendar > .panel-heading .panel-title > div {
    width: auto !important;
}

.rpm-calendar > .panel-heading .panel-title::before {
    display: inline-block;
    width: 5px;
    height: 24px;
    margin-right: 10px;
    border-radius: 4px;
    background: var(--rpm-calendar-action);
    content: "";
    vertical-align: -4px;
}

.rpm-calendar > .panel-heading .header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    float: none;
    min-width: 0;
    margin: 0;
}

.rpm-calendar .rpm-calendar__header-action,
.rpm-calendar .rpm-calendar__more,
.rpm-calendar .rpm-calendar__agenda-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 14px;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 9px;
    background: var(--rpm-calendar-surface);
    color: var(--rpm-calendar-text) !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: normal;
}

.rpm-calendar .rpm-calendar__header-action i,
.rpm-calendar .rpm-calendar__more i,
.rpm-calendar .rpm-calendar__agenda-mobile i {
    color: currentColor !important;
}

.rpm-calendar .rpm-calendar__header-action--primary {
    border-color: var(--rpm-calendar-action);
    background: var(--rpm-calendar-action);
    color: #ffffff !important;
}

.rpm-calendar .rpm-calendar__header-action--secondary {
    color: var(--rpm-calendar-action) !important;
}

.rpm-calendar .rpm-calendar__header-action:hover,
.rpm-calendar .rpm-calendar__header-action:active,
.rpm-calendar .rpm-calendar__more:hover,
.rpm-calendar .rpm-calendar__more:active,
.rpm-calendar .rpm-calendar__agenda-mobile:hover,
.rpm-calendar .rpm-calendar__agenda-mobile:active {
    border-color: var(--rpm-calendar-focus);
    background: var(--rpm-calendar-hover);
    color: var(--rpm-calendar-text) !important;
    text-decoration: none;
}

.rpm-calendar .rpm-calendar__header-action--primary:hover,
.rpm-calendar .rpm-calendar__header-action--primary:active {
    border-color: var(--rpm-calendar-focus);
    background: var(--rpm-calendar-focus);
    color: #ffffff !important;
}

.rpm-calendar .rpm-calendar__more-wrap {
    display: inline-block;
    min-width: 0;
}

.rpm-calendar .rpm-calendar__more {
    margin: 0;
}

.rpm-calendar .rpm-calendar__more-wrap .dropdown-menu {
    z-index: 1050;
    min-width: 250px;
    padding: 6px;
    margin-top: 6px;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 10px;
    background: var(--rpm-calendar-surface);
    box-shadow: 0 8px 24px rgba(31, 52, 73, 0.16);
}

.rpm-calendar .rpm-calendar__more-wrap .dropdown-menu li a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 10px;
    border-radius: 7px;
    color: var(--rpm-calendar-text) !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-calendar .rpm-calendar__more-wrap .dropdown-menu li a:hover,
.rpm-calendar .rpm-calendar__more-wrap .dropdown-menu li a:focus {
    background: var(--rpm-calendar-hover);
    color: var(--rpm-calendar-text) !important;
    text-decoration: none;
}

.rpm-calendar .rpm-calendar__more-wrap .dropdown-menu li a > span {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
}

.rpm-calendar .rpm-calendar__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    min-height: 22px;
    padding: 2px 7px;
    margin-left: auto;
    border-radius: 999px;
    background: var(--rpm-calendar-danger);
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

.rpm-calendar.card.panel > .panel-body {
    min-width: 0;
    padding: 18px;
    background: var(--rpm-calendar-surface);
    color: var(--rpm-calendar-text);
}

.rpm-calendar .rpm-calendar__agenda-filters {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    padding: 10px;
    margin: 0 0 18px;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 10px;
    background: var(--rpm-calendar-header);
}

.rpm-calendar .rpm-calendar__agenda-filters > div {
    display: block !important;
    min-width: 0;
}

.rpm-calendar .rpm-calendar__agenda-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    padding: 9px 14px;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 9px;
    background: var(--rpm-calendar-surface);
    color: var(--rpm-calendar-text) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.rpm-calendar .rpm-calendar__agenda-filter:hover,
.rpm-calendar .rpm-calendar__agenda-filter:focus {
    border-color: var(--rpm-calendar-focus);
    background: var(--rpm-calendar-hover);
    color: var(--rpm-calendar-text) !important;
    text-decoration: none;
}

.rpm-calendar .rpm-calendar__agenda-filter--selected {
    border-color: var(--rpm-calendar-action);
    background: var(--rpm-calendar-action);
    color: #ffffff !important;
}

.rpm-calendar .rpm-calendar__agenda-filter--selected:hover,
.rpm-calendar .rpm-calendar__agenda-filter--selected:focus {
    border-color: var(--rpm-calendar-focus);
    background: var(--rpm-calendar-focus);
    color: #ffffff !important;
}

.rpm-calendar .rpm-calendar__agenda-filter--color-0.rpm-calendar__agenda-filter--selected { background: #28a745; border-color: #28a745; }
.rpm-calendar .rpm-calendar__agenda-filter--color-1.rpm-calendar__agenda-filter--selected { background: #fd7e14; border-color: #fd7e14; }
.rpm-calendar .rpm-calendar__agenda-filter--color-2.rpm-calendar__agenda-filter--selected { background: #dc3545; border-color: #dc3545; }
.rpm-calendar .rpm-calendar__agenda-filter--color-3.rpm-calendar__agenda-filter--selected { background: #6f42c1; border-color: #6f42c1; }
.rpm-calendar .rpm-calendar__agenda-filter--color-4.rpm-calendar__agenda-filter--selected { background: #e83e8c; border-color: #e83e8c; }
.rpm-calendar .rpm-calendar__agenda-filter--color-5.rpm-calendar__agenda-filter--selected { background: #795548; border-color: #795548; }
.rpm-calendar .rpm-calendar__agenda-filter--color-6.rpm-calendar__agenda-filter--selected { background: #6c757d; border-color: #6c757d; }

.rpm-calendar .rpm-calendar__agenda-filter--color-0 { --rpm-calendar-agenda: #28a745; }
.rpm-calendar .rpm-calendar__agenda-filter--color-1 { --rpm-calendar-agenda: #fd7e14; }
.rpm-calendar .rpm-calendar__agenda-filter--color-2 { --rpm-calendar-agenda: #dc3545; }
.rpm-calendar .rpm-calendar__agenda-filter--color-3 { --rpm-calendar-agenda: #6f42c1; }
.rpm-calendar .rpm-calendar__agenda-filter--color-4 { --rpm-calendar-agenda: #e83e8c; }
.rpm-calendar .rpm-calendar__agenda-filter--color-5 { --rpm-calendar-agenda: #795548; }
.rpm-calendar .rpm-calendar__agenda-filter--color-6 { --rpm-calendar-agenda: #6c757d; }
.rpm-calendar .rpm-calendar__agenda-filter--color-0:not(.rpm-calendar__agenda-filter--selected) { border-color: #28a745; color: #217d36 !important; }
.rpm-calendar .rpm-calendar__agenda-filter--color-1:not(.rpm-calendar__agenda-filter--selected) { border-color: #fd7e14; color: #a9500d !important; }
.rpm-calendar .rpm-calendar__agenda-filter--color-2:not(.rpm-calendar__agenda-filter--selected) { border-color: #dc3545; color: #a92835 !important; }
.rpm-calendar .rpm-calendar__agenda-filter--color-3:not(.rpm-calendar__agenda-filter--selected) { border-color: #6f42c1; color: #57349c !important; }
.rpm-calendar .rpm-calendar__agenda-filter--color-4:not(.rpm-calendar__agenda-filter--selected) { border-color: #e83e8c; color: #b82f6c !important; }
.rpm-calendar .rpm-calendar__agenda-filter--color-5:not(.rpm-calendar__agenda-filter--selected) { border-color: #795548; color: #63473d !important; }
.rpm-calendar .rpm-calendar__agenda-filter--color-6:not(.rpm-calendar__agenda-filter--selected) { border-color: #6c757d; color: #52606b !important; }

.rpm-calendar .rpm-calendar__widget {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 10px;
    background: var(--rpm-calendar-surface);
}

.rpm-calendar .rpm-calendar__widget .fc {
    min-width: 0;
    color: var(--rpm-calendar-text);
    font-size: 14px;
}

.rpm-calendar .rpm-calendar__widget .fc-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px;
    margin: 0;
    border-bottom: 1px solid var(--rpm-calendar-border);
    background: var(--rpm-calendar-surface-raised);
}

.rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:nth-child(2) {
    flex: 1 1 auto;
    justify-content: center;
}

.rpm-calendar .rpm-calendar__widget .fc-toolbar-title {
    min-width: 0;
    color: var(--rpm-calendar-text);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    overflow-wrap: anywhere;
}

.rpm-calendar .rpm-calendar__widget .fc-button {
    min-width: 44px;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--rpm-calendar-border) !important;
    border-radius: 8px !important;
    background: var(--rpm-calendar-surface) !important;
    color: var(--rpm-calendar-text) !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}

.rpm-calendar .rpm-calendar__widget .fc-button:hover,
.rpm-calendar .rpm-calendar__widget .fc-button:focus,
.rpm-calendar .rpm-calendar__widget .fc-button:active,
.rpm-calendar .rpm-calendar__widget .fc-button.fc-button-active {
    border-color: var(--rpm-calendar-focus) !important;
    background: var(--rpm-calendar-hover) !important;
    color: var(--rpm-calendar-text) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-button.fc-button-active {
    background: rgba(36, 105, 173, 0.14) !important;
    color: var(--rpm-calendar-action) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.rpm-calendar .rpm-calendar__mobile-controls {
    display: none;
    position: relative;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.rpm-calendar .rpm-calendar__mobile-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 44px;
    min-height: 44px;
    padding: 9px 10px;
    border: 1px solid var(--rpm-calendar-border) !important;
    border-radius: 8px !important;
    background: var(--rpm-calendar-surface) !important;
    color: var(--rpm-calendar-text) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
}

.rpm-calendar .rpm-calendar__mobile-control:hover,
.rpm-calendar .rpm-calendar__mobile-control:focus,
.rpm-calendar .rpm-calendar__mobile-control:active,
.rpm-calendar .rpm-calendar__mobile-view-button[aria-expanded="true"] {
    border-color: var(--rpm-calendar-focus) !important;
    background: var(--rpm-calendar-hover) !important;
    color: var(--rpm-calendar-text) !important;
}

.rpm-calendar .rpm-calendar__mobile-date-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    opacity: 0;
    pointer-events: none;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
}

.rpm-calendar .rpm-calendar__mobile-view-menu {
    display: none;
    position: absolute;
    z-index: 30;
    top: calc(100% + 6px);
    right: 0;
    min-width: 154px;
    padding: 6px;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 9px;
    background: var(--rpm-calendar-surface);
    box-shadow: 0 8px 22px rgba(31, 52, 73, 0.18);
}

.rpm-calendar .rpm-calendar__mobile-view-menu.is-open {
    display: grid;
    gap: 4px;
}

.rpm-calendar .rpm-calendar__mobile-view-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: transparent;
    color: var(--rpm-calendar-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
}

.rpm-calendar .rpm-calendar__mobile-view-item:hover,
.rpm-calendar .rpm-calendar__mobile-view-item:focus {
    border-color: var(--rpm-calendar-focus);
    background: var(--rpm-calendar-hover);
    color: var(--rpm-calendar-text);
}

.rpm-calendar .rpm-calendar__widget .fc-scrollgrid,
.rpm-calendar .rpm-calendar__widget .fc-scrollgrid-section > *,
.rpm-calendar .rpm-calendar__widget .fc-timegrid-slot,
.rpm-calendar .rpm-calendar__widget .fc-timegrid-col,
.rpm-calendar .rpm-calendar__widget .fc-daygrid-day,
.rpm-calendar .rpm-calendar__widget .fc-list {
    border-color: var(--rpm-calendar-grid) !important;
    background: var(--rpm-calendar-surface);
}

.rpm-calendar .rpm-calendar__widget .fc-col-header-cell,
.rpm-calendar .rpm-calendar__widget .fc-timegrid-axis,
.rpm-calendar .rpm-calendar__widget .fc-timegrid-axis-cushion,
.rpm-calendar .rpm-calendar__widget .fc-list-day > th {
    background: var(--rpm-calendar-header);
    color: var(--rpm-calendar-muted);
    font-weight: 700;
}

.rpm-calendar .rpm-calendar__widget .fc-col-header-cell-cushion,
.rpm-calendar .rpm-calendar__widget .fc-timegrid-slot-label-cushion,
.rpm-calendar .rpm-calendar__widget .fc-list-day-text,
.rpm-calendar .rpm-calendar__widget .fc-list-day-side-text {
    color: var(--rpm-calendar-text);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.rpm-calendar .rpm-calendar__widget .fc-day-today {
    background: rgba(36, 105, 173, 0.08) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-now-indicator {
    border-color: var(--rpm-calendar-action);
}

.rpm-calendar .rpm-calendar__widget .fc-now-indicator-arrow {
    border-color: var(--rpm-calendar-action);
}

.rpm-calendar .rpm-calendar__widget .fc-event {
    min-width: 0;
    min-height: 34px;
    border: 0 !important;
    border-left: 1px solid rgba(255, 255, 255, 0.72) !important;
    border-radius: 7px;
    color: #ffffff !important;
    box-shadow: 0 1px 2px rgba(31, 52, 73, 0.18);
    overflow: hidden;
}

.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--info,
.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--budget {
    background: var(--rpm-calendar-action) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--success {
    background: var(--rpm-calendar-success) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--attention {
    background: var(--rpm-calendar-attention) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--negative {
    background: var(--rpm-calendar-danger) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--recurrence,
.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--custom {
    background: var(--rpm-calendar-purple) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-event.rpm-calendar__event--interval {
    background: var(--rpm-calendar-neutral) !important;
}

.rpm-calendar .rpm-calendar__widget .fc-event:focus,
.rpm-calendar .rpm-calendar__widget .fc-event:focus-visible {
    outline: 3px solid var(--rpm-calendar-focus) !important;
    outline-offset: 2px;
}

.rpm-calendar .rpm-calendar__widget .fc-event-main,
.rpm-calendar .rpm-calendar__widget .fc-event-title,
.rpm-calendar .rpm-calendar__widget .fc-list-event-title {
    min-width: 0;
    color: #ffffff !important;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.rpm-calendar .rpm-calendar__widget .fc-event-main {
    padding: 5px 7px;
}

.rpm-calendar .rpm-calendar__event-icon {
    margin-right: 4px;
    color: #ffffff !important;
}

.rpm-calendar .rpm-calendar__event-context {
    display: inline-block;
    margin-left: 3px;
    font-size: 0.88em;
    font-weight: 700;
}

.rpm-calendar .multi-agenda-bg {
    display: block;
    min-height: 5px;
    margin: -5px -7px 4px;
    padding: 0;
    border-radius: 5px 5px 0 0;
    background: rgba(255, 255, 255, 0.88);
}

.rpm-calendar .multi-agenda-color {
    display: block;
    height: 5px;
}

.rpm-calendar .rpm-calendar__agenda-color-0 { background: #28a745; }
.rpm-calendar .rpm-calendar__agenda-color-1 { background: #fd7e14; }
.rpm-calendar .rpm-calendar__agenda-color-2 { background: #dc3545; }
.rpm-calendar .rpm-calendar__agenda-color-3 { background: #6f42c1; }
.rpm-calendar .rpm-calendar__agenda-color-4 { background: #e83e8c; }
.rpm-calendar .rpm-calendar__agenda-color-5 { background: #795548; }
.rpm-calendar .rpm-calendar__agenda-color-6 { background: #6c757d; }

.rpm-calendar .rpm-calendar__event-found {
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-left: 5px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    background: transparent;
    vertical-align: middle;
}

.rpm-calendar .fc-list-empty {
    padding: 28px 16px;
    color: var(--rpm-calendar-muted);
    font-size: 15px;
    text-align: center;
}

.rpm-calendar .rpm-calendar__dialog-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    min-width: 0;
    padding: 4px 0;
}

.rpm-calendar .rpm-calendar__dialog-action-wrap {
    display: block;
    width: 100%;
    min-width: 0;
}

.rpm-calendar .rpm-calendar__dialog-action,
.rpm-calendar .rpm-calendar__dialog-cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    max-width: 100%;
    padding: 11px 14px;
    border: 1px solid var(--rpm-calendar-border);
    border-radius: 9px;
    background: var(--rpm-calendar-surface);
    color: var(--rpm-calendar-text) !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rpm-calendar .rpm-calendar__dialog-action:hover,
.rpm-calendar .rpm-calendar__dialog-action:focus,
.rpm-calendar .rpm-calendar__dialog-cancel:hover,
.rpm-calendar .rpm-calendar__dialog-cancel:focus {
    border-color: var(--rpm-calendar-focus);
    background: var(--rpm-calendar-hover);
    color: var(--rpm-calendar-text) !important;
}

.rpm-calendar .rpm-calendar__dialog-action--primary {
    border-color: var(--rpm-calendar-action);
    background: var(--rpm-calendar-action);
    color: #ffffff !important;
}

.rpm-calendar .rpm-calendar__dialog-action--primary:hover,
.rpm-calendar .rpm-calendar__dialog-action--primary:focus {
    border-color: var(--rpm-calendar-focus);
    background: var(--rpm-calendar-focus);
    color: #ffffff !important;
}

.rpm-calendar .rpm-calendar__dialog-action--info { color: var(--rpm-calendar-action) !important; }
.rpm-calendar .rpm-calendar__dialog-action--accent { color: var(--rpm-calendar-purple) !important; }
.rpm-calendar .rpm-calendar__dialog-action--attention { color: var(--rpm-calendar-attention) !important; }
.rpm-calendar .rpm-calendar__dialog-action--neutral { color: var(--rpm-calendar-muted) !important; }

.rpm-calendar .rpm-calendar__dialog-action--agenda {
    justify-content: flex-start;
    text-align: left;
}

.rpm-calendar .rpm-calendar__dialog-action--agenda.is-selected {
    border-color: var(--rpm-calendar-action);
    background: var(--rpm-calendar-action);
    color: #ffffff !important;
}

.rpm-calendar a:focus,
.rpm-calendar button:focus,
.rpm-calendar input:focus,
.rpm-calendar select:focus,
.rpm-calendar textarea:focus,
.rpm-calendar [tabindex]:focus {
    outline: 3px solid var(--rpm-calendar-focus) !important;
    outline-offset: 2px;
}

.rpm-calendar ::selection {
    background: var(--rpm-calendar-action);
    color: #ffffff;
}

.dark-mode .rpm-calendar {
    --rpm-calendar-surface: #1f2b37;
    --rpm-calendar-surface-raised: #243140;
    --rpm-calendar-header: #243140;
    --rpm-calendar-hover: #2a3a4c;
    --rpm-calendar-border: #40556b;
    --rpm-calendar-grid: #40556b;
    --rpm-calendar-text: #f2f5f9;
    --rpm-calendar-muted: #b7c6d7;
    --rpm-calendar-focus: #83bfff;
    --rpm-calendar-action: #286db3;
    --rpm-calendar-success: #087f59;
    --rpm-calendar-attention: #b65a10;
    --rpm-calendar-danger: #cf353e;
    --rpm-calendar-purple: #6454a0;
    --rpm-calendar-neutral: #64748b;
}

.dark-mode .rpm-calendar.card.panel,
.dark-mode .rpm-calendar.card.panel > .panel-body {
    background: var(--rpm-calendar-surface) !important;
    border-color: var(--rpm-calendar-border) !important;
    color: var(--rpm-calendar-text) !important;
}

.dark-mode .rpm-calendar > .panel-heading,
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-toolbar {
    background: var(--rpm-calendar-header) !important;
    border-color: var(--rpm-calendar-border) !important;
}

.dark-mode .rpm-calendar .rpm-calendar__header-action,
.dark-mode .rpm-calendar .rpm-calendar__more,
.dark-mode .rpm-calendar .rpm-calendar__agenda-mobile,
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter,
.dark-mode .rpm-calendar .rpm-calendar__dialog-action,
.dark-mode .rpm-calendar .rpm-calendar__dialog-cancel,
.dark-mode .rpm-calendar .rpm-calendar__more-wrap .dropdown-menu {
    background: var(--rpm-calendar-surface) !important;
    border-color: var(--rpm-calendar-border) !important;
    color: var(--rpm-calendar-text) !important;
}

.dark-mode .rpm-calendar .rpm-calendar__header-action--primary,
.dark-mode .rpm-calendar .rpm-calendar__header-action--primary:hover,
.dark-mode .rpm-calendar .rpm-calendar__header-action--primary:focus,
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--primary,
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--primary:hover,
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--primary:focus,
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--selected,
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--selected:hover,
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--selected:focus,
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--agenda.is-selected {
    background: var(--rpm-calendar-action) !important;
    border-color: var(--rpm-calendar-focus) !important;
    color: #ffffff !important;
}

.dark-mode .rpm-calendar .rpm-calendar__header-action--secondary,
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--info { color: var(--rpm-calendar-focus) !important; }
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--accent { color: #b9aaf0 !important; }
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--attention { color: #f1a05f !important; }
.dark-mode .rpm-calendar .rpm-calendar__dialog-action--neutral { color: var(--rpm-calendar-muted) !important; }

.dark-mode .rpm-calendar .rpm-calendar__more-wrap .dropdown-menu li a,
.dark-mode .rpm-calendar .rpm-calendar__more-wrap .dropdown-menu li a:hover,
.dark-mode .rpm-calendar .rpm-calendar__more-wrap .dropdown-menu li a:focus {
    color: var(--rpm-calendar-text) !important;
}

.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--color-0:not(.rpm-calendar__agenda-filter--selected) { color: #7ddc91 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--color-1:not(.rpm-calendar__agenda-filter--selected) { color: #ffb26e !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--color-2:not(.rpm-calendar__agenda-filter--selected) { color: #ff8990 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--color-3:not(.rpm-calendar__agenda-filter--selected) { color: #b9aaf0 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--color-4:not(.rpm-calendar__agenda-filter--selected) { color: #ff9bc7 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--color-5:not(.rpm-calendar__agenda-filter--selected) { color: #d6b9ad !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filter--color-6:not(.rpm-calendar__agenda-filter--selected) { color: #c5d0da !important; }

@media (max-width: 767px) {
    .rpm-calendar.card.panel {
        margin-bottom: 16px;
        border-radius: 10px;
    }

    .rpm-calendar > .panel-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
        min-height: 0;
        padding: 14px;
        border-radius: 10px 10px 0 0;
    }

    .rpm-calendar > .panel-heading .panel-title {
        font-size: 21px;
    }

    .rpm-calendar > .panel-heading .header-actions {
        display: grid;
        grid-template-areas:
            "primary primary"
            "secondary more"
            "agenda agenda";
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
    }

    .rpm-calendar .rpm-calendar__header-action,
    .rpm-calendar .rpm-calendar__more-wrap,
    .rpm-calendar .rpm-calendar__agenda-mobile {
        width: 100%;
        min-width: 0;
    }

    .rpm-calendar .rpm-calendar__header-action--primary {
        grid-area: primary;
    }

    .rpm-calendar .rpm-calendar__header-action--secondary {
        grid-area: secondary;
    }

    .rpm-calendar .rpm-calendar__more-wrap .rpm-calendar__more {
        width: 100%;
    }

    .rpm-calendar .rpm-calendar__more-wrap {
        grid-area: more;
    }

    .rpm-calendar .rpm-calendar__agenda-mobile {
        grid-area: agenda;
    }

    .rpm-calendar.card.panel > .panel-body {
        padding: 12px;
    }

    .rpm-calendar .rpm-calendar__agenda-filters {
        display: none;
    }

    .rpm-calendar .rpm-calendar__widget {
        border-radius: 8px;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        padding: 10px;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk,
    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:nth-child(2) {
        justify-content: center;
        width: 100%;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-title {
        font-size: 19px;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:first-child .fc-button {
        flex: 1 1 0;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:last-child {
        width: 100%;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:last-child .btn-group {
        display: flex;
        align-items: stretch;
        justify-content: center;
        gap: 4px;
        width: 100%;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:last-child .btn-group .fc-button {
        min-width: 0;
        width: 100%;
        padding-right: 4px;
        padding-left: 4px;
        font-size: 12px;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:last-child .btn-group .fc-timeGridDay-button {
        flex: 1 1 auto;
        min-width: 44px;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:last-child .btn-group .rpm-calendar__mobile-view-source {
        display: none !important;
    }

    .rpm-calendar .rpm-calendar__mobile-controls {
        display: inline-flex;
        flex: 0 0 auto;
    }

    .rpm-calendar .rpm-calendar__mobile-control {
        width: auto;
        flex: 0 0 auto;
    }

    /* O seletor genérico do FullCalendar aplica width:100% aos botões.
       Os controles auxiliares precisam conservar sua largura intrínseca
       para que o submenu permaneça visível em telas estreitas. */
    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:last-child .btn-group .rpm-calendar__mobile-control {
        width: auto !important;
        min-width: 44px;
        flex: 0 0 auto;
    }

    .rpm-calendar .rpm-calendar__mobile-date-label,
    .rpm-calendar .rpm-calendar__mobile-view-label {
        display: inline;
    }

    .rpm-calendar .rpm-calendar__widget .fc-toolbar-chunk:last-child .btn-group {
        position: relative;
    }

    .rpm-calendar .rpm-calendar__widget .fc-event-main {
        padding: 6px 7px;
        font-size: 13px;
    }

    .rpm-calendar .rpm-calendar__dialog-actions {
        gap: 8px;
    }

    .rpm-calendar .rpm-calendar__dialog-action,
    .rpm-calendar .rpm-calendar__dialog-cancel {
        min-height: 48px;
    }
}

@media (min-width: 768px) {
    .rpm-calendar .rpm-calendar__agenda-mobile,
    .rpm-calendar .btn-agenda-mobile {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-calendar *,
    .rpm-calendar *::before,
    .rpm-calendar *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Portal público de pedidos.
   Extensão escopada do Painel Operacional Sereno para pedido, orçamento,
   lista de espera, informações do estabelecimento e indicações. */
.rpm-public-order,
.rpm-public-order-dialog {
    --rpm-public-blue: #2469ad;
    --rpm-public-blue-strong: #1764b4;
    --rpm-public-blue-soft: rgba(36, 105, 173, 0.11);
    --rpm-public-green: #087f59;
    --rpm-public-green-soft: rgba(8, 127, 89, 0.11);
    --rpm-public-orange: #b65a10;
    --rpm-public-orange-soft: rgba(182, 90, 16, 0.11);
    --rpm-public-red: #cf353e;
    --rpm-public-red-soft: rgba(207, 53, 62, 0.1);
    --rpm-public-violet: #6454a0;
    --rpm-public-violet-soft: rgba(100, 84, 160, 0.11);
    width: 100%;
    min-width: 0;
    color: var(--rpm-form-text, #223247);
    font-variant-numeric: tabular-nums;
}
.rpm-public-order *,
.rpm-public-order *::before,
.rpm-public-order *::after,
.rpm-public-order-dialog *,
.rpm-public-order-dialog *::before,
.rpm-public-order-dialog *::after {
    box-sizing: border-box;
}
.rpm-public-order.card.panel {
    max-width: 1180px;
    height: auto !important;
    margin: 24px auto;
    overflow: visible !important;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    box-shadow: none;
}
.rpm-public-order > .panel-heading {
    min-height: 84px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--rpm-form-border);
    border-radius: 12px 12px 0 0;
    background: var(--rpm-form-header);
}
.rpm-public-order > .panel-heading .panel-title {
    min-width: 0;
    color: var(--rpm-form-text) !important;
    font-size: 20px;
    line-height: 1.25;
}
.rpm-public-order > .panel-heading .panel-title::before {
    display: none;
}
.rpm-public-order > .panel-heading .header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.rpm-public-order > .panel-body {
    min-width: 0;
    padding: 24px !important;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-public-order__brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}
.rpm-public-order__brand-logo,
.rpm-public-order__brand-fallback {
    display: inline-flex;
    width: 52px;
    min-width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    color: var(--rpm-public-blue);
    object-fit: contain;
}
.rpm-public-order__brand-logo {
    padding: 4px;
}
.rpm-public-order__brand-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}
.rpm-public-order__brand-copy strong,
.rpm-public-order__brand-copy small {
    color: var(--rpm-form-text) !important;
    overflow-wrap: anywhere;
}
.rpm-public-order__brand-copy strong {
    font-size: 19px;
    font-weight: 650;
}
.rpm-public-order__brand-copy small {
    color: var(--rpm-form-muted) !important;
    font-size: 14px;
    font-weight: 500;
}
.rpm-public-order__info-action {
    display: inline-flex !important;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rpm-form-border) !important;
    border-radius: 10px !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-public-blue) !important;
}

/* Etapas e progresso */
.rpm-public-order__progress {
    display: flex;
    width: 100%;
    margin: 0 0 10px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--rpm-form-muted);
    font-size: 14px;
}
.rpm-public-order__progress strong {
    color: var(--rpm-form-text);
    font-size: 16px;
    font-weight: 650;
}
.rpm-public-order__steps {
    width: 100%;
    min-width: 0;
    margin: 0 0 24px;
}
.rpm-public-order__steps .steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
.rpm-public-order__steps .steps li {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 0 8px;
    align-items: center;
    flex-direction: column;
    text-align: center;
}
.rpm-public-order__steps .steps li::before {
    position: absolute;
    top: 20px;
    left: 50%;
    z-index: 0;
    width: 100%;
    height: 1px;
    background: var(--rpm-form-border);
    content: "";
}
.rpm-public-order__steps .steps li:last-child::before {
    display: none;
}
.rpm-public-order__steps .step-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 40px;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rpm-form-border);
    border-radius: 50%;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-muted);
    font-size: 16px;
    font-weight: 700;
}
.rpm-public-order__steps .steps li .step-title {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: auto;
    max-width: 100%;
    min-width: 44px;
    min-height: 44px;
    margin-top: 6px;
    padding: 8px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}
.rpm-public-order__steps li.complete::before {
    background: var(--rpm-public-blue);
}
.rpm-public-order__steps li.complete .step-number,
.rpm-public-order__steps li.active .step-number {
    border-color: var(--rpm-public-blue);
    background: var(--rpm-public-blue);
    color: #fff;
}
.rpm-public-order__steps li.complete .step-title,
.rpm-public-order__steps li.active .step-title {
    color: var(--rpm-public-blue);
}
.rpm-public-order__steps li.active .step-title {
    background: var(--rpm-public-blue-soft);
}

/* Formulários e ações */
.rpm-public-order__form.card.panel,
.rpm-public-order .rpm-public-order__form,
.rpm-public-order-dialog.card.panel {
    width: 100%;
    min-width: 0;
    margin: 0 0 18px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    box-shadow: none;
    color: var(--rpm-form-text);
}
.rpm-public-order__form > .panel-heading,
.rpm-public-order-dialog > .panel-heading {
    padding: 16px 18px;
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
}
.rpm-public-order__form > .panel-body,
.rpm-public-order__form > form > .panel-body,
.rpm-public-order-dialog > .panel-body,
.rpm-public-order-dialog > form > .panel-body {
    padding: 18px !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order__form > .panel-footer,
.rpm-public-order__form > form > .panel-footer,
.rpm-public-order-dialog > .panel-footer,
.rpm-public-order-dialog > form > .panel-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 18px 18px !important;
    border: 0;
    background: var(--rpm-form-surface) !important;
}
.rpm-public-order label,
.rpm-public-order-dialog label,
.rpm-public-order .control-label,
.rpm-public-order-dialog .control-label {
    color: var(--rpm-form-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.35;
}
.rpm-public-order input:not([type="hidden"]),
.rpm-public-order select,
.rpm-public-order textarea,
.rpm-public-order .select2-selection,
.rpm-public-order-dialog input:not([type="hidden"]),
.rpm-public-order-dialog select,
.rpm-public-order-dialog textarea,
.rpm-public-order-dialog .select2-selection {
    max-width: 100%;
    min-height: 44px;
    border-color: var(--rpm-form-border) !important;
    border-radius: 10px !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order textarea,
.rpm-public-order-dialog textarea {
    min-height: 104px;
    resize: vertical;
}
.rpm-public-order input::placeholder,
.rpm-public-order textarea::placeholder,
.rpm-public-order-dialog input::placeholder,
.rpm-public-order-dialog textarea::placeholder {
    color: var(--rpm-form-muted) !important;
    opacity: 0.88;
}
.rpm-public-order input:disabled,
.rpm-public-order input[readonly],
.rpm-public-order select:disabled,
.rpm-public-order textarea:disabled,
.rpm-public-order-dialog input:disabled,
.rpm-public-order-dialog input[readonly] {
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-muted) !important;
    opacity: 1;
}
.rpm-public-order .btn,
.rpm-public-order-dialog .btn,
.rpm-public-order__action {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 650;
    line-height: 1.25;
    white-space: normal;
}
.rpm-public-order .btn-primary,
.rpm-public-order-dialog .btn-primary {
    border-color: var(--rpm-public-blue) !important;
    background: var(--rpm-public-blue) !important;
    color: #fff !important;
}
.rpm-public-order .btn-success,
.rpm-public-order-dialog .btn-success {
    border-color: var(--rpm-public-green) !important;
    background: var(--rpm-public-green) !important;
    color: #fff !important;
}
.rpm-public-order .btn-warning,
.rpm-public-order-dialog .btn-warning {
    border-color: var(--rpm-public-orange) !important;
    background: var(--rpm-public-orange-soft) !important;
    color: var(--rpm-public-orange) !important;
}
.rpm-public-order .btn-danger,
.rpm-public-order-dialog .btn-danger {
    border-color: var(--rpm-public-red) !important;
    background: var(--rpm-public-red) !important;
    color: #fff !important;
}
.rpm-public-order .btn-default,
.rpm-public-order .btn-secondary,
.rpm-public-order .btn-dark,
.rpm-public-order-dialog .btn-default,
.rpm-public-order-dialog .btn-secondary,
.rpm-public-order-dialog .btn-dark {
    border-color: var(--rpm-form-border) !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order :focus-visible,
.rpm-public-order-dialog :focus-visible {
    outline: 3px solid var(--rpm-form-focus) !important;
    outline-offset: 3px;
}
.rpm-public-order .btn:hover,
.rpm-public-order-dialog .btn:hover {
    border-color: var(--rpm-form-focus) !important;
    filter: none;
}
.rpm-public-order .btn:disabled,
.rpm-public-order .btn.disabled,
.rpm-public-order-dialog .btn:disabled,
.rpm-public-order-dialog .btn.disabled {
    cursor: not-allowed;
    opacity: 0.56;
}
.rpm-public-order__section {
    width: 100%;
    margin: 10px 0 6px;
    padding: 12px 0 6px;
    border-top: 1px solid var(--rpm-form-border);
}
.rpm-public-order__section .tseparator {
    color: var(--rpm-form-text) !important;
    font-size: 16px;
    font-weight: 650;
}
.rpm-public-order__helper {
    max-width: 70ch;
    margin: 12px 0 0;
    color: var(--rpm-form-muted) !important;
    font-size: 14px !important;
    line-height: 1.55;
}
.rpm-public-order__helper i {
    margin-right: 4px;
    color: var(--rpm-public-blue);
}
.rpm-public-order .info-btn-reeenviar {
    display: block;
    margin-top: 8px;
    color: var(--rpm-form-muted) !important;
    font-size: 14px !important;
    line-height: 1.45;
}

/* Identificação e cadastro */
.rpm-public-order .client-confirmation-data {
    width: 100%;
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-text);
}
.rpm-public-order .client-confirmation-data h3 {
    margin: 0 0 14px;
    color: var(--rpm-form-text);
    font-size: 20px;
    font-weight: 650;
}
.rpm-public-order__identity-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}
.rpm-public-order__identity-list > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
}
.rpm-public-order__identity-list dt {
    margin-bottom: 4px;
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 650;
    text-transform: uppercase;
}
.rpm-public-order__identity-list dd {
    margin: 0;
    color: var(--rpm-form-text);
    font-size: 16px;
    overflow-wrap: anywhere;
}
.rpm-public-order__identity-list > div:last-child dd {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    font-size: 14px;
}
.rpm-public-order .indentificacao_verification_code,
.rpm-public-order .cadastro_verification_code,
.rpm-public-order--referral input[name="verification_code"] {
    height: 54px !important;
    font-size: 26px !important;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-align: center;
}
.rpm-public-order .btn_indentificacao_confirmar,
.rpm-public-order .btn_cadastro_confirmar {
    min-height: 48px;
}
.rpm-public-order .btn_indentificacao_nao_sou_eu,
.rpm-public-order .btn_indentificacao_alterar_cadastro,
.rpm-public-order .btn_indentificacao_confirmar,
.rpm-public-order .btn_cadastro_confirmar,
.rpm-public-order .btn-reeenviar {
    width: auto !important;
    min-width: min(100%, 180px);
    margin: 0 !important;
}

/* Produtos e carrinho */
.rpm-public-order__products-layout {
    width: 100% !important;
    min-width: 0;
}
.rpm-public-order__products-layout > tbody {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
    gap: 16px 22px;
    align-items: start;
}
.rpm-public-order__products-layout > tbody > tr {
    display: block;
    min-width: 0;
}
.rpm-public-order__products-layout > tbody > tr > td {
    display: block;
    min-width: 0;
    padding: 0;
}
.rpm-public-order__products-layout > tbody > tr:has(.rpm-public-order__form--filters),
.rpm-public-order__products-layout > tbody > tr:has(.rpm-public-order__products-grid),
.rpm-public-order__products-layout > tbody > tr:has(.pagination) {
    grid-column: 1;
}
.rpm-public-order__products-layout > tbody > tr:has(.rpm-public-order__cart),
.rpm-public-order__products-layout > tbody > tr:has(.rpm-public-order__cart-confirm) {
    grid-column: 2;
}
.rpm-public-order__cart.card.panel {
    position: sticky;
    top: 16px;
    min-width: 0;
    margin: 0;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    box-shadow: none;
}
.rpm-public-order__cart > .panel-heading {
    padding: 15px 16px;
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-public-blue-soft);
}
.rpm-public-order .carrinho_grid_totais {
    margin: 0 !important;
    color: var(--rpm-form-text) !important;
    font-size: 20px !important;
}
.rpm-public-order__cart-confirm {
    width: 100%;
    min-height: 48px !important;
    margin: 0 !important;
}
.rpm-public-order__products-grid,
.rpm-public-order__cart-grid,
.rpm-public-order__waiting-products,
.rpm-public-order__referral-grid {
    min-width: 0;
    overflow: visible;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
}
.rpm-public-order__table,
.rpm-public-order .tdatagrid_table {
    width: 100% !important;
    min-width: 0;
    margin: 0;
    color: var(--rpm-form-text);
    table-layout: auto;
}
.rpm-public-order__table > thead > tr > th,
.rpm-public-order .tdatagrid_table > thead > tr > th {
    padding: 12px !important;
    border-color: var(--rpm-form-border) !important;
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-muted) !important;
    font-size: 14px;
    font-weight: 650;
}
.rpm-public-order__table > tbody > tr > td,
.rpm-public-order .tdatagrid_table > tbody > tr > td {
    padding: 12px !important;
    border-color: var(--rpm-form-border) !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
    font-size: 14px;
    overflow-wrap: anywhere;
    vertical-align: middle;
}
.rpm-public-order__table > tbody > tr:hover > td,
.rpm-public-order .tdatagrid_table > tbody > tr:hover > td {
    background: var(--rpm-form-hover) !important;
}

/* Data e horários */
.rpm-public-order__schedule-intro {
    display: flex;
    min-width: 0;
    margin: 0 0 16px;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}
.rpm-public-order__schedule-intro h2 {
    margin: 0 0 4px;
    color: var(--rpm-form-text);
    font-size: 21px;
    font-weight: 650;
}
.rpm-public-order__schedule-intro p {
    margin: 0;
    color: var(--rpm-form-muted);
    font-size: 16px;
}
.rpm-public-order__schedule-legend {
    display: inline-flex;
    min-height: 32px;
    padding: 5px 10px;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(8, 127, 89, 0.28);
    border-radius: 8px;
    background: var(--rpm-public-green-soft);
    color: var(--rpm-public-green);
    font-size: 14px;
    font-weight: 650;
    white-space: nowrap;
}
.rpm-public-order__schedule-legend i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rpm-public-green);
}
.rpm-public-order__date-toolbar {
    display: grid;
    grid-template-columns: 44px auto minmax(210px, 1fr) 44px;
    gap: 8px;
    max-width: 620px;
    margin: 0 auto 16px;
    align-items: end;
}
.rpm-public-order__date-nav,
.rpm-public-order__date-today {
    height: 44px;
    margin: 0;
    border: 1px solid var(--rpm-form-border) !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order__date-picker {
    display: flex;
    min-width: 0;
    margin: 0;
    flex-direction: column;
    gap: 4px;
}
.rpm-public-order__date-picker span {
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 650;
}
.rpm-public-order__date-input {
    width: 100%;
    height: 44px;
    padding: 8px 12px;
}
.rpm-public-order__calendar {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
}
.rpm-public-order__calendar .fc-toolbar {
    margin-bottom: 12px !important;
}
.rpm-public-order__calendar .fc-toolbar-title,
.rpm-public-order__calendar h2 {
    color: var(--rpm-form-text) !important;
    font-size: 20px !important;
    font-weight: 650;
    text-transform: capitalize;
}
.rpm-public-order__calendar .fc-scrollgrid,
.rpm-public-order__calendar .fc-theme-bootstrap td,
.rpm-public-order__calendar .fc-theme-bootstrap th {
    border-color: var(--rpm-form-border) !important;
}
.rpm-public-order__calendar .fc-col-header-cell,
.rpm-public-order__calendar .fc-timegrid-axis,
.rpm-public-order__calendar .fc-timegrid-slot-label {
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-muted) !important;
}
.rpm-public-order__calendar .fc-timegrid-slot {
    height: 46px;
    background: var(--rpm-form-surface);
}
.rpm-public-order__calendar .fc-event {
    display: flex;
    min-height: 44px;
    padding: 7px 10px;
    align-items: center;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.3;
    white-space: normal;
}
.rpm-public-order__calendar .rpm-public-order__slot--available {
    border-color: var(--rpm-public-green) !important;
    background: var(--rpm-public-green) !important;
    color: #fff !important;
    cursor: pointer;
}
.rpm-public-order__calendar .rpm-public-order__slot--flexible {
    border-color: var(--rpm-public-blue) !important;
    background: var(--rpm-public-blue) !important;
}
.rpm-public-order__calendar .rpm-public-order__slot--selected {
    border-color: var(--rpm-public-violet) !important;
    background: var(--rpm-public-violet) !important;
}
.rpm-public-order__calendar .rpm-public-order__slot--reserved {
    border-color: var(--rpm-form-border) !important;
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-muted) !important;
    cursor: not-allowed;
    opacity: 0.78;
}
.rpm-public-order__selected-slot,
.rpm-public-order__review-schedule {
    width: 100%;
    padding: 18px;
    border: 1px solid rgba(8, 127, 89, 0.3);
    border-radius: 12px;
    background: var(--rpm-public-green-soft);
    color: var(--rpm-form-text);
}
.rpm-public-order__selected-slot h3,
.rpm-public-order__review-schedule h3 {
    margin: 0 0 12px;
    color: var(--rpm-public-green);
    font-size: 20px;
    font-weight: 650;
}
.rpm-public-order__selected-slot p,
.rpm-public-order__review-schedule p {
    margin: 6px 0;
    color: var(--rpm-form-text);
    font-size: 16px;
}

/* Revisão, resumos e estados complementares */
.rpm-public-order__review-meta,
.rpm-public-order__review-schedule-wrap,
.rpm-public-order__review-products,
.rpm-public-order .container-fluid {
    width: 100%;
    min-width: 0;
    margin: 0 0 16px !important;
}
.rpm-public-order__review-meta-item {
    min-width: 0;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    overflow-wrap: anywhere;
}
.rpm-public-order__review-meta-item:first-child {
    border-radius: 12px 0 0 12px;
}
.rpm-public-order__review-meta-item:last-child {
    border-left: 0;
    border-radius: 0 12px 12px 0;
}
.rpm-public-order__review-products {
    padding: 16px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
}
.rpm-public-order__review-products > h3 {
    margin: 0 0 12px;
    color: var(--rpm-form-text);
    font-size: 20px;
    font-weight: 650;
}
.rpm-public-order__review-actions {
    display: flex;
    width: 100%;
    margin: 18px 0 0;
    align-items: stretch;
    justify-content: flex-end;
    gap: 10px;
}
.rpm-public-order__review-actions .btn {
    min-width: 180px;
    min-height: 48px;
}
.rpm-public-order__review-back {
    border-color: var(--rpm-form-border) !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order__review-confirm {
    min-height: 48px !important;
}
.rpm-public-order .card,
.rpm-public-order .card-body,
.rpm-public-order .card-header {
    min-width: 0;
}
.rpm-public-order .container-fluid > .card,
.rpm-public-order .container-fluid .card .card {
    margin-bottom: 16px !important;
    border: 1px solid var(--rpm-form-border) !important;
    border-radius: 12px !important;
    background: var(--rpm-form-surface) !important;
    box-shadow: none !important;
}
.rpm-public-order .container-fluid .card .card {
    border: 0 !important;
    border-radius: 0 !important;
}
.rpm-public-order .card-header {
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--rpm-form-border) !important;
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order .card-body {
    padding: 16px !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order .card-title,
.rpm-public-order .card h1,
.rpm-public-order .card h2,
.rpm-public-order .card h3,
.rpm-public-order .card h4,
.rpm-public-order .card p,
.rpm-public-order .card strong,
.rpm-public-order .card small {
    color: inherit !important;
    overflow-wrap: anywhere;
}
.rpm-public-order .badge {
    display: inline-flex;
    min-height: 28px;
    padding: 5px 9px !important;
    align-items: center;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 650;
}
.rpm-public-order .alert {
    margin: 12px 0 !important;
    padding: 14px 16px !important;
    border-width: 1px !important;
    border-radius: 10px !important;
    box-shadow: none;
    color: var(--rpm-form-text) !important;
}
.rpm-public-order .alert-success {
    border-color: rgba(8, 127, 89, 0.3) !important;
    background: var(--rpm-public-green-soft) !important;
}
.rpm-public-order .alert-info {
    border-color: rgba(36, 105, 173, 0.3) !important;
    background: var(--rpm-public-blue-soft) !important;
}
.rpm-public-order .alert-warning {
    border-color: rgba(182, 90, 16, 0.3) !important;
    background: var(--rpm-public-orange-soft) !important;
}
.rpm-public-order .alert-danger {
    border-color: rgba(207, 53, 62, 0.3) !important;
    background: var(--rpm-public-red-soft) !important;
}
.rpm-public-order__notice,
.rpm-public-order__access-state {
    display: flex;
    width: min(100%, 680px);
    min-height: 220px;
    margin: 28px auto;
    padding: 28px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    text-align: center;
}
.rpm-public-order__notice {
    min-height: 0;
    align-items: flex-start;
    flex-direction: row;
    text-align: left;
}
.rpm-public-order__notice--warning {
    border-color: rgba(182, 90, 16, 0.3);
    background: var(--rpm-public-orange-soft);
}
.rpm-public-order__access-icon {
    display: inline-flex;
    width: 52px;
    min-width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--rpm-public-red-soft);
    color: var(--rpm-public-red);
    font-size: 20px;
}
.rpm-public-order__access-state h2,
.rpm-public-order__notice h2 {
    margin: 0;
    color: var(--rpm-form-text);
    font-size: 21px;
    font-weight: 650;
}
.rpm-public-order__access-state p,
.rpm-public-order__notice p {
    max-width: 60ch;
    margin: 0;
    color: var(--rpm-form-muted);
    font-size: 16px;
    line-height: 1.55;
}
.rpm-public-order__empty-state {
    margin: 0;
    padding: 18px;
    border: 1px dashed var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-muted);
    font-size: 14px;
    line-height: 1.5;
}

/* Informações, lista de espera e indicação */
.rpm-public-order-dialog .info-estabelecimento-container {
    display: flex !important;
    width: 100%;
    max-width: 720px !important;
    margin: 0 auto;
    align-items: center;
    flex-direction: column;
    color: var(--rpm-form-text);
    text-align: center;
}
.rpm-public-order-dialog .info-estabelecimento-container img {
    max-width: 180px !important;
    max-height: 120px !important;
    border-radius: 12px !important;
    object-fit: contain;
}
.rpm-public-order-dialog .info-estabelecimento-container h3,
.rpm-public-order-dialog .info-estabelecimento-container p,
.rpm-public-order-dialog .info-estabelecimento-container div {
    color: var(--rpm-form-text) !important;
    overflow-wrap: anywhere;
}
.rpm-public-order-dialog .rpm-public-order__info-logo-wrap {
    width: min(100%, 220px);
    margin: 0 auto 20px;
}
.rpm-public-order-dialog .rpm-public-order__info-logo {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 150px;
    margin: 0 auto;
    border-radius: 8px;
    object-fit: contain;
}
.rpm-public-order-dialog .rpm-public-order__info-title {
    margin: 0 0 8px;
    color: var(--rpm-form-text);
    font-size: 20px;
    font-weight: 650;
    line-height: 1.3;
}
.rpm-public-order-dialog .rpm-public-order__info-copy {
    max-width: 60ch;
    margin: 0 auto 12px;
    color: var(--rpm-form-muted) !important;
    font-size: 16px;
    line-height: 1.5;
}
.rpm-public-order-dialog .rpm-public-order__info-actions {
    display: flex;
    width: 100%;
    margin: 8px 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.rpm-public-order-dialog .rpm-public-order__info-cta {
    min-height: 48px;
    padding: 12px 20px;
}
.rpm-public-order-dialog .rpm-public-order__info-contact,
.rpm-public-order-dialog .rpm-public-order__info-links {
    display: flex;
    width: 100%;
    margin: 8px 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 16px;
}
.rpm-public-order-dialog .rpm-public-order__info-contact a,
.rpm-public-order-dialog .rpm-public-order__info-links a,
.rpm-public-order-dialog .rpm-public-order__info-map a {
    display: inline-flex;
    min-height: 44px;
    padding: 8px 10px;
    align-items: center;
    gap: 8px;
    border-radius: 10px;
    color: var(--rpm-public-blue) !important;
    overflow-wrap: anywhere;
}
.rpm-public-order-dialog .rpm-public-order__info-contact .fa-phone-alt {
    color: var(--rpm-public-green);
}
.rpm-public-order-dialog .rpm-public-order__info-map,
.rpm-public-order-dialog .rpm-public-order__info-address {
    width: min(100%, 560px);
    margin: 8px auto;
    padding: 14px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-header);
}
.rpm-public-order-dialog .rpm-public-order__info-address h4 {
    margin: 0 0 8px;
    color: var(--rpm-form-text);
    font-size: 20px;
    font-weight: 650;
}
.rpm-public-order-dialog .rpm-public-order__info-address h4 i {
    margin-right: 8px;
    color: var(--rpm-public-red);
}
.rpm-public-order-dialog .rpm-public-order__info-address p {
    margin: 0;
    color: var(--rpm-form-muted) !important;
    line-height: 1.5;
}
.rpm-public-order__waiting-layout {
    width: 100% !important;
    min-width: 0;
}
.rpm-public-order__notice-card.card.panel,
.rpm-public-order__referral-panel.card.panel {
    margin: 16px 0;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    box-shadow: none;
}
.rpm-public-order__add-waiting-product {
    float: none !important;
    width: 44px;
    min-width: 44px !important;
    margin: 0 0 10px auto !important;
}
.rpm-public-order__referral-summary {
    display: flex;
    margin-bottom: 16px;
    padding: 18px;
    align-items: center;
    gap: 14px;
    border: 1px solid rgba(100, 84, 160, 0.3);
    border-radius: 12px;
    background: var(--rpm-public-violet-soft);
}
.rpm-public-order__referral-summary > span {
    display: inline-flex;
    width: 48px;
    min-width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--rpm-public-violet);
    color: #fff;
    font-size: 20px;
}
.rpm-public-order__referral-summary strong {
    display: block;
    color: var(--rpm-form-text);
    font-size: 21px;
    font-weight: 700;
}
.rpm-public-order__referral-summary p {
    margin: 3px 0 0;
    color: var(--rpm-form-muted);
    line-height: 1.45;
}
.rpm-public-order__referral-create {
    min-height: 48px !important;
    margin-bottom: 4px;
}
.rpm-public-order__share-link {
    width: 100%;
    min-height: 84px;
    padding: 10px 12px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 8px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    line-height: 1.45;
    resize: vertical;
}
.rpm-public-order__schedule-empty {
    display: flex;
    margin-top: 12px;
    flex-direction: column;
    gap: 2px;
}
.rpm-public-order__schedule-empty strong {
    color: var(--rpm-form-text);
    font-size: 16px;
}

/* Tema escuro */
.dark-mode .rpm-public-order,
.dark-mode .rpm-public-order-dialog {
    --rpm-public-blue: #286db3;
    --rpm-public-blue-strong: #83bfff;
    --rpm-public-blue-soft: rgba(102, 180, 255, 0.13);
    --rpm-public-green: #087f59;
    --rpm-public-green-soft: rgba(79, 210, 160, 0.13);
    --rpm-public-orange: #b65a10;
    --rpm-public-orange-soft: rgba(255, 193, 141, 0.13);
    --rpm-public-red: #cf353e;
    --rpm-public-red-soft: rgba(255, 146, 152, 0.13);
    --rpm-public-violet: #6454a0;
    --rpm-public-violet-soft: rgba(199, 184, 255, 0.13);
}
.dark-mode .rpm-public-order.card.panel,
.dark-mode .rpm-public-order > .panel-body,
.dark-mode .rpm-public-order__form.card.panel,
.dark-mode .rpm-public-order-dialog.card.panel,
.dark-mode .rpm-public-order__cart.card.panel,
.dark-mode .rpm-public-order__calendar,
.dark-mode .rpm-public-order__products-grid,
.dark-mode .rpm-public-order__cart-grid,
.dark-mode .rpm-public-order__waiting-products,
.dark-mode .rpm-public-order__referral-grid {
    border-color: var(--rpm-form-border) !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-public-order > .panel-heading,
.dark-mode .rpm-public-order__form > .panel-heading,
.dark-mode .rpm-public-order-dialog > .panel-heading,
.dark-mode .rpm-public-order__cart > .panel-heading,
.dark-mode .rpm-public-order .card-header {
    border-color: var(--rpm-form-border) !important;
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-public-order a,
.dark-mode .rpm-public-order-dialog a {
    color: var(--rpm-public-blue);
}

@media (max-width: 991.98px) {
    .rpm-public-order.card.panel {
        margin: 16px auto;
    }
    .rpm-public-order__products-layout > tbody {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
        gap: 14px;
    }
}

@media (max-width: 767.98px) {
    .rpm-public-order.card.panel {
        width: calc(100% - 20px);
        margin: 10px;
        border-radius: 12px;
    }
    .rpm-public-order > .panel-heading {
        min-height: 76px;
        padding: 12px 14px;
        border-radius: 12px 12px 0 0;
    }
    .rpm-public-order > .panel-body {
        padding: 16px !important;
    }
    .rpm-public-order__brand-logo,
    .rpm-public-order__brand-fallback {
        width: 46px;
        min-width: 46px;
        height: 46px;
    }
    .rpm-public-order__brand-copy strong {
        font-size: 16px;
    }
    .rpm-public-order__brand-copy small {
        font-size: 14px;
    }
    .rpm-public-order__progress {
        margin-bottom: 8px;
    }
    .rpm-public-order__steps {
        margin-bottom: 18px;
    }
    .rpm-public-order__steps .steps li {
        padding: 0 2px;
    }
    .rpm-public-order__steps .steps li::before {
        top: 17px;
    }
    .rpm-public-order__steps .step-number {
        width: 34px;
        min-width: 34px;
        height: 34px;
        font-size: 14px;
    }
    .rpm-public-order__steps .steps li .step-title {
        min-height: 38px;
        padding: 5px 3px;
        font-size: 13px;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
    .rpm-public-order__identity-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .rpm-public-order__form > .panel-body,
    .rpm-public-order__form > form > .panel-body,
    .rpm-public-order-dialog > .panel-body,
    .rpm-public-order-dialog > form > .panel-body {
        padding: 14px !important;
    }
    .rpm-public-order__form > .panel-footer,
    .rpm-public-order__form > form > .panel-footer,
    .rpm-public-order-dialog > .panel-footer,
    .rpm-public-order-dialog > form > .panel-footer {
        padding: 0 14px 14px !important;
        flex-direction: column;
    }
    .rpm-public-order__form .panel-footer .btn,
    .rpm-public-order-dialog .panel-footer .btn,
    .rpm-public-order .btn_indentificacao_nao_sou_eu,
    .rpm-public-order .btn_indentificacao_alterar_cadastro,
    .rpm-public-order .btn_indentificacao_confirmar,
    .rpm-public-order .btn_cadastro_confirmar,
    .rpm-public-order .btn-reeenviar {
        width: 100% !important;
        max-width: none;
    }
    .rpm-public-order__products-layout > tbody {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .rpm-public-order__products-layout > tbody > tr {
        width: 100%;
    }
    .rpm-public-order__cart.card.panel {
        position: static;
    }
    .rpm-public-order__schedule-intro {
        flex-direction: column;
        gap: 10px;
    }
    .rpm-public-order__schedule-intro h2 {
        font-size: 20px;
    }
    .rpm-public-order__date-toolbar {
        grid-template-columns: 44px 1fr 44px;
        width: 100%;
        max-width: none;
    }
    .rpm-public-order__date-today {
        grid-column: 2;
        grid-row: 2;
    }
    .rpm-public-order__date-picker {
        grid-column: 1 / -1;
        grid-row: 1;
    }
    .rpm-public-order__date-nav:first-child {
        grid-column: 1;
        grid-row: 2;
    }
    .rpm-public-order__date-nav:last-child {
        grid-column: 3;
        grid-row: 2;
    }
    .rpm-public-order__calendar {
        padding: 8px;
    }
    .rpm-public-order__calendar .fc-toolbar-title,
    .rpm-public-order__calendar h2 {
        font-size: 20px !important;
    }
    .rpm-public-order__calendar .fc-timegrid-slot {
        height: 50px;
    }
    .rpm-public-order__review-meta-item {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        border-radius: 10px !important;
    }
    .rpm-public-order__review-meta-item:last-child {
        margin-top: 8px !important;
        border-left: 1px solid var(--rpm-form-border);
    }
    .rpm-public-order__review-actions {
        flex-direction: column-reverse;
    }
    .rpm-public-order__review-actions .btn {
        width: 100%;
        min-width: 0;
    }
    .rpm-public-order .tdatagrid_table,
    .rpm-public-order .tdatagrid_table > tbody,
    .rpm-public-order .tdatagrid_table > tbody > tr,
    .rpm-public-order .tdatagrid_table > tbody > tr > td {
        display: block;
        width: 100% !important;
    }
    .rpm-public-order .tdatagrid_table > thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        border: 0 !important;
        white-space: nowrap !important;
    }
    .rpm-public-order .tdatagrid_table > tbody > tr {
        margin: 0 0 12px;
        overflow: hidden;
        border: 1px solid var(--rpm-form-border);
        border-radius: 12px;
        background: var(--rpm-form-surface);
    }
    .rpm-public-order .tdatagrid_table > tbody > tr > td {
        display: grid;
        grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
        gap: 10px;
        min-height: 50px;
        align-items: center;
        border: 0 !important;
        border-top: 1px solid var(--rpm-form-border) !important;
        text-align: left !important;
    }
    .rpm-public-order .tdatagrid_table > tbody > tr > td:first-child {
        border-top: 0 !important;
    }
    .rpm-public-order .tdatagrid_table > tbody > tr > td::before {
        color: var(--rpm-form-muted);
        content: attr(data-label);
        font-size: 14px;
        font-weight: 650;
        overflow-wrap: anywhere;
    }
    .rpm-public-order .container-fluid {
        padding: 0 !important;
    }
    .rpm-public-order .container-fluid .row > [class*="col-"] {
        min-width: 0;
    }
    .rpm-public-order .container-fluid .btn-block {
        width: 100% !important;
        min-height: 48px;
        margin-bottom: 0 !important;
        padding: 12px !important;
        font-size: 14px !important;
    }
    .rpm-public-order__notice,
    .rpm-public-order__access-state {
        width: 100%;
        margin: 10px auto;
        padding: 20px;
    }
    .rpm-public-order__notice {
        flex-direction: column;
    }
    .rpm-public-order-dialog .rpm-public-order__info-actions,
    .rpm-public-order-dialog .rpm-public-order__info-contact,
    .rpm-public-order-dialog .rpm-public-order__info-links {
        align-items: stretch;
        flex-direction: column;
    }
    .rpm-public-order-dialog .rpm-public-order__info-cta,
    .rpm-public-order-dialog .rpm-public-order__info-contact a,
    .rpm-public-order-dialog .rpm-public-order__info-links a,
    .rpm-public-order-dialog .rpm-public-order__info-map a {
        width: 100%;
        justify-content: center;
    }
    .rpm-public-order__referral-summary {
        align-items: flex-start;
    }
}

/* Refinamento do resumo, detalhes e informações do pedido público. */
.rpm-public-order--order-summary,
.rpm-public-order--order-items {
    min-width: 0;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-summary .rpm-order-summary__content {
    width: min(100%, 1040px) !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.rpm-public-order--order-summary .rpm-order-summary__content > .card {
    margin: 0 0 16px !important;
    border: 1px solid var(--rpm-form-border) !important;
    border-radius: 14px !important;
    background: var(--rpm-form-surface) !important;
    box-shadow: none !important;
    overflow: hidden;
}

.rpm-public-order--order-summary .rpm-order-summary__identity {
    border-top: 3px solid var(--rpm-public-green) !important;
}

.rpm-public-order--order-summary .rpm-order-summary__identity-body {
    display: flex !important;
    min-width: 0;
    padding: 20px 22px !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    background: var(--rpm-form-header) !important;
    text-align: left !important;
}

.rpm-public-order--order-summary .rpm-order-summary__identity-body h4 {
    min-width: 0;
    margin: 0 !important;
    color: var(--rpm-form-text) !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    font-weight: 750 !important;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-summary .rpm-order-summary__status {
    display: inline-flex !important;
    min-height: 32px;
    margin: 0 !important;
    padding: 7px 12px !important;
    flex: 0 0 auto;
    align-items: center;
    border: 1px solid rgba(255, 255, 255, 0.48) !important;
    border-radius: 999px !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.2;
    white-space: normal;
}

.rpm-public-order--order-summary .rpm-order-summary__section-title {
    display: flex !important;
    min-height: 52px;
    padding: 14px 16px !important;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    border-bottom: 1px solid var(--rpm-form-border) !important;
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-text) !important;
    font-size: 15px;
    font-weight: 750;
    text-align: left !important;
}

.rpm-public-order--order-summary .rpm-order-summary__schedule .rpm-order-summary__section-title {
    border-left: 4px solid var(--rpm-public-blue);
}

.rpm-public-order--order-summary .rpm-order-summary__address .rpm-order-summary__section-title {
    border-left: 4px solid var(--rpm-public-orange);
}

.rpm-public-order--order-summary .rpm-order-summary__actions .rpm-order-summary__section-title {
    border-left: 4px solid var(--rpm-public-violet);
}

.rpm-public-order--order-summary .rpm-order-summary__section-body {
    min-width: 0;
    padding: 22px !important;
    background: var(--rpm-form-surface) !important;
    color: var(--rpm-form-text) !important;
}

.rpm-public-order--order-summary .rpm-order-summary__schedule-data {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px !important;
    margin: 0 !important;
}

.rpm-public-order--order-summary .rpm-order-summary__schedule-field {
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header) !important;
    text-align: left !important;
}

.rpm-public-order--order-summary .rpm-order-summary__schedule-field br {
    display: none;
}

.rpm-public-order--order-summary .rpm-order-summary__schedule-field small {
    display: block !important;
    margin: 0 0 6px !important;
    color: var(--rpm-form-muted) !important;
    font-size: 12px !important;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rpm-public-order--order-summary .rpm-order-summary__schedule-field span {
    display: block !important;
    min-width: 0;
    margin: 2px 0 0;
    color: var(--rpm-form-text) !important;
    font-size: clamp(16px, 1.25vw, 20px) !important;
    font-weight: 750 !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-summary .rpm-order-summary__schedule-field span + span {
    color: var(--rpm-public-blue) !important;
}

.rpm-public-order--order-summary .rpm-order-summary__agenda {
    display: block !important;
    margin: 16px 0 0 !important;
    padding-top: 16px;
    border-top: 1px solid var(--rpm-form-border);
}

.rpm-public-order--order-summary .rpm-order-summary__agenda .rpm-order-summary__schedule-field {
    width: 100% !important;
    border: 0;
    padding: 0 !important;
    background: transparent !important;
}

.rpm-public-order--order-summary .rpm-order-summary__agenda .rpm-order-summary__schedule-field span {
    color: var(--rpm-public-blue) !important;
}

.rpm-public-order--order-summary .rpm-order-summary__contact {
    margin: 16px 0 0 !important;
    text-align: left !important;
}

.rpm-public-order--order-summary .rpm-order-summary__contact-action {
    width: min(100%, 280px) !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 12px 16px !important;
}

.rpm-public-order--order-summary .rpm-order-summary__address .rpm-order-summary__section-body {
    display: flex !important;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    text-align: left !important;
}

.rpm-public-order--order-summary .rpm-order-summary__address-copy {
    min-width: 0;
    flex: 1 1 auto;
    margin: 0 !important;
    color: var(--rpm-form-muted) !important;
    font-size: 15px !important;
    line-height: 1.65;
    text-align: left !important;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-summary .rpm-order-summary__map-action {
    min-width: 132px;
    min-height: 44px;
    margin: 0 !important;
    flex: 0 0 auto;
    padding: 10px 14px !important;
}

.rpm-public-order--order-summary .rpm-order-summary__action-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px !important;
    margin: 0 !important;
}

.rpm-public-order--order-summary .rpm-order-summary__action-grid > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
}

.rpm-public-order--order-summary .rpm-order-summary__action-grid .btn {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 58px;
    margin: 0 !important;
    padding: 12px !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 10px !important;
    font-size: 14px !important;
    line-height: 1.3;
    text-align: center;
    white-space: normal;
}

.rpm-public-order--order-summary .rpm-order-summary__action-grid .btn br {
    display: none;
}

.rpm-public-order--order-items > .panel-body {
    min-width: 0;
    padding: 24px !important;
    background: var(--rpm-form-surface) !important;
}

.rpm-public-order--order-items .rpm-order-details__identity {
    display: block !important;
    max-width: 1040px;
    margin: 0 auto 4px !important;
    padding: 18px 20px;
    border-bottom: 1px solid var(--rpm-form-border);
    text-align: center;
}

.rpm-public-order--order-items .rpm-order-details__identity > [class*="col-"] {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
}

.rpm-public-order--order-items .rpm-order-details__identity label {
    margin: 0 !important;
    color: var(--rpm-form-text) !important;
    font-size: clamp(20px, 2vw, 28px) !important;
    font-weight: 750 !important;
    line-height: 1.2;
}

.rpm-public-order--order-items .rpm-order-details__status {
    margin-top: 8px !important;
}

.rpm-public-order--order-items .rpm-order-details__status label {
    color: var(--rpm-public-blue) !important;
    font-size: 15px !important;
}

.rpm-public-order--order-items .rpm-order-details__meta {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 900px;
    margin: 18px auto !important;
    gap: 14px !important;
}

.rpm-public-order--order-items .rpm-order-details__meta > [class*="col-"] {
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header) !important;
    text-align: left !important;
}

.rpm-public-order--order-items .rpm-order-details__meta > div {
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__meta > div > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header) !important;
    text-align: left !important;
}

.rpm-public-order--order-items .rpm-order-details__meta label {
    display: block !important;
    min-width: 0;
    margin: 0 0 6px !important;
    color: var(--rpm-form-muted) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-items .rpm-order-details__meta label + label {
    margin: 0 !important;
    color: var(--rpm-form-text) !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    letter-spacing: 0;
    text-transform: none;
}

.rpm-public-order--order-items .rpm-order-details__schedule {
    max-width: 900px;
    margin: 0 auto 22px !important;
}

.rpm-public-order--order-items .rpm-order-details__schedule-card {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 18px !important;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-public-blue-soft) !important;
    text-align: center !important;
}

.rpm-public-order--order-items .rpm-order-details__schedule-card br {
    display: none;
}

.rpm-public-order--order-items .rpm-order-details__schedule-card label {
    display: block !important;
    margin: 0 0 6px !important;
    color: var(--rpm-form-muted) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.rpm-public-order--order-items .rpm-order-details__schedule-card label + label {
    margin: 0 !important;
    color: var(--rpm-public-blue) !important;
    font-size: 17px !important;
    letter-spacing: 0;
    text-transform: none;
}

.rpm-public-order--order-items .rpm-order-details__items-heading {
    max-width: 1040px;
    margin: 24px auto 12px !important;
    padding: 0 0 10px !important;
    border-bottom: 1px solid var(--rpm-form-border);
}

.rpm-public-order--order-items .rpm-order-details__items-heading > [class*="col-"] {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

.rpm-public-order--order-items .rpm-order-details__items-heading label {
    color: var(--rpm-form-text) !important;
    font-size: 18px !important;
    font-weight: 750 !important;
}

.rpm-public-order--order-items .rpm-order-details__items {
    max-width: 1040px;
    margin: 0 auto !important;
    padding: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__items-list {
    display: grid !important;
    width: 100% !important;
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__item {
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    border: 1px solid var(--rpm-form-border) !important;
    border-radius: 12px !important;
    background: var(--rpm-form-surface) !important;
    box-shadow: none !important;
}

.rpm-public-order--order-items .rpm-order-details__item .card-body {
    min-width: 0;
    padding: 18px !important;
    background: var(--rpm-form-surface) !important;
}

.rpm-public-order--order-items .rpm-order-details__item .card-title {
    min-width: 0;
    margin: 0 !important;
    color: var(--rpm-form-text) !important;
    font-size: 18px !important;
    font-weight: 750 !important;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-items .rpm-order-details__item .tseparator-divisor,
.rpm-public-order--order-items .rpm-order-details__item > .card-body > div:first-of-type {
    border-top-color: var(--rpm-form-border) !important;
}

.rpm-public-order--order-items .rpm-order-details__item .row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 10px !important;
    margin: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__item .row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid var(--rpm-form-border);
    border-radius: 8px;
    background: var(--rpm-form-header) !important;
}

.rpm-public-order--order-items .rpm-order-details__item small {
    display: block !important;
    margin: 0 0 4px !important;
    color: var(--rpm-form-muted) !important;
    font-size: 12px !important;
    font-weight: 650;
}

.rpm-public-order--order-items .rpm-order-details__item .row span {
    display: block !important;
    min-width: 0;
    color: var(--rpm-form-text) !important;
    font-size: 16px !important;
    font-weight: 750 !important;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-items .rpm-order-details__item-total {
    display: flex !important;
    margin: 14px 0 0 !important;
    padding: 14px 0 0 !important;
    align-items: baseline;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--rpm-form-border) !important;
    text-align: right !important;
}

.rpm-public-order--order-items .rpm-order-details__item-total br {
    display: none;
}

.rpm-public-order--order-items .rpm-order-details__item-total small {
    margin: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__item-total span {
    color: var(--rpm-public-green) !important;
    font-size: 18px !important;
    font-weight: 750 !important;
}

.rpm-public-order--order-items .rpm-order-details__totals-wrap {
    width: 100% !important;
    max-width: 1040px;
    margin: 18px auto 0 !important;
    padding: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__totals {
    width: min(100%, 480px) !important;
    margin: 0 0 0 auto !important;
    border: 1px solid var(--rpm-form-border) !important;
    border-top: 3px solid var(--rpm-public-green) !important;
    border-radius: 12px !important;
    background: var(--rpm-form-header) !important;
    box-shadow: none !important;
}

.rpm-public-order--order-items .rpm-order-details__totals .card-body {
    padding: 18px !important;
    background: transparent !important;
    text-align: right !important;
}

.rpm-public-order--order-items .rpm-order-details__subtotal,
.rpm-public-order--order-items .rpm-order-details__discount,
.rpm-public-order--order-items .rpm-order-details__total-final {
    display: flex !important;
    min-width: 0;
    margin: 0 !important;
    padding: 10px 0 !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--rpm-form-border);
    color: var(--rpm-form-text) !important;
    text-align: right;
}

.rpm-public-order--order-items .rpm-order-details__discount {
    color: var(--rpm-public-red) !important;
}

.rpm-public-order--order-items .rpm-order-details__total-final {
    margin-top: 4px !important;
    border-top: 2px solid var(--rpm-public-green) !important;
    border-bottom: 0;
}

.rpm-public-order--order-items .rpm-order-details__subtotal br,
.rpm-public-order--order-items .rpm-order-details__discount br,
.rpm-public-order--order-items .rpm-order-details__total-final br {
    display: none;
}

.rpm-public-order--order-items .rpm-order-details__subtotal span,
.rpm-public-order--order-items .rpm-order-details__discount span,
.rpm-public-order--order-items .rpm-order-details__total-final span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.rpm-public-order--order-items .rpm-order-details__total-final span:last-child {
    color: var(--rpm-public-green) !important;
    font-size: 21px !important;
    font-weight: 800 !important;
}

.rpm-public-order--order-items .rpm-order-details__actions {
    max-width: 1040px;
    margin: 22px auto 0 !important;
    padding: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__back-wrap {
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto !important;
    padding: 0 !important;
}

.rpm-public-order--order-items .rpm-order-details__back {
    width: 100% !important;
    min-height: 48px;
    margin: 0 !important;
}

/* A janela de informações é aberta dentro do TInputDialog e não herda a
   classe do painel original. O conteúdo exclusivo permite tematizá-la sem
   interferir em outros modais Adianti. */
.modal.show:has(.info-estabelecimento-container) {
    padding: 16px 0 !important;
    background: rgba(15, 23, 42, 0.56);
    overflow-x: hidden;
    overflow-y: auto;
}

.modal.show:has(.info-estabelecimento-container) .modal-dialog {
    width: min(calc(100% - 32px), 560px) !important;
    max-width: 560px !important;
    margin: 0 auto !important;
}

.modal.show:has(.info-estabelecimento-container) .modal-content {
    max-height: calc(100vh - 32px);
    border: 1px solid var(--rpm-form-border, #ced9e5) !important;
    border-radius: 16px !important;
    background: var(--rpm-form-surface, #fff) !important;
    color: var(--rpm-form-text, #223247) !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.24) !important;
    overflow: hidden;
}

.modal.show:has(.info-estabelecimento-container) .modal-header {
    display: flex !important;
    min-height: 64px;
    padding: 12px 16px 12px 20px !important;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--rpm-form-border, #ced9e5) !important;
    background: var(--rpm-form-header, #f1f5f9) !important;
}

.modal.show:has(.info-estabelecimento-container) .modal-title,
.modal.show:has(.info-estabelecimento-container) .modal-title small {
    min-width: 0;
    margin: 0 !important;
    color: var(--rpm-form-text, #223247) !important;
    font-size: 18px !important;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.modal.show:has(.info-estabelecimento-container) .modal-header .close {
    display: inline-flex;
    width: 44px;
    min-width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rpm-form-border, #ced9e5);
    border-radius: 10px;
    background: var(--rpm-form-surface, #fff);
    color: var(--rpm-form-text, #223247);
    font-size: 22px;
    opacity: 1;
}

.modal.show:has(.info-estabelecimento-container) #bform_1218051949,
.modal.show:has(.info-estabelecimento-container) .form-horizontal,
.modal.show:has(.info-estabelecimento-container) .card-body.panel-body {
    min-width: 0;
    background: var(--rpm-form-surface, #fff) !important;
    color: var(--rpm-form-text, #223247) !important;
}

.modal.show:has(.info-estabelecimento-container) .card-body.panel-body {
    padding: 20px !important;
}

.modal.show:has(.info-estabelecimento-container) .tab-content,
.modal.show:has(.info-estabelecimento-container) .tab-pane {
    min-width: 0;
    width: 100%;
}

.modal.show:has(.info-estabelecimento-container) .info-estabelecimento-container {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    flex-direction: column;
    align-items: stretch !important;
    gap: 0;
    color: var(--rpm-form-text, #223247) !important;
    text-align: left !important;
}

.modal.show:has(.info-estabelecimento-container) .info-estabelecimento-container > .rpm-public-order__info-title,
.modal.show:has(.info-estabelecimento-container) .info-estabelecimento-container > .rpm-public-order__info-actions,
.modal.show:has(.info-estabelecimento-container) .info-estabelecimento-container > .rpm-public-order__info-contact,
.modal.show:has(.info-estabelecimento-container) .info-estabelecimento-container > .rpm-public-order__info-map,
.modal.show:has(.info-estabelecimento-container) .info-estabelecimento-container > .rpm-public-order__info-address {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    flex: 0 0 auto;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-title {
    margin: 0 0 14px !important;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--rpm-form-border, #ced9e5);
    color: var(--rpm-form-text, #223247) !important;
    font-size: 24px !important;
    font-weight: 750;
    line-height: 1.25;
    text-align: left !important;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-copy {
    max-width: 60ch;
    margin: 0 0 14px !important;
    color: var(--rpm-form-muted, #607086) !important;
    font-size: 15px !important;
    line-height: 1.55;
    text-align: left !important;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-actions {
    display: flex !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-cta {
    width: 100% !important;
    min-height: 48px;
    margin: 0 !important;
    padding: 12px 16px !important;
    justify-content: center;
    border-radius: 10px !important;
    font-size: 15px !important;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-contact {
    display: grid !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-content: stretch;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-contact a,
.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-map a {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0;
    min-height: 44px;
    margin: 0 !important;
    padding: 10px 12px !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--rpm-form-border, #ced9e5);
    border-radius: 10px;
    background: var(--rpm-form-header, #f1f5f9);
    color: var(--rpm-public-blue, #2469ad) !important;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-map,
.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-address {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border: 1px solid var(--rpm-form-border, #ced9e5);
    border-radius: 12px;
    background: var(--rpm-form-header, #f1f5f9) !important;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-map a {
    background: var(--rpm-public-orange-soft, rgba(182, 90, 16, 0.11));
    color: var(--rpm-public-orange, #b65a10) !important;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-address h4 {
    margin: 0 0 8px !important;
    color: var(--rpm-form-text, #223247) !important;
    font-size: 16px !important;
    font-weight: 750;
    line-height: 1.3;
}

.modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-address p {
    margin: 0 !important;
    color: var(--rpm-form-muted, #607086) !important;
    font-size: 14px !important;
    line-height: 1.6;
    text-align: left !important;
}

.modal.show:has(.info-estabelecimento-container) .modal-footer {
    min-height: 0;
    padding: 12px 20px !important;
    border-top: 1px solid var(--rpm-form-border, #ced9e5) !important;
    background: var(--rpm-form-surface, #fff) !important;
}

.modal.show:has(.info-estabelecimento-container) :focus-visible {
    outline: 3px solid var(--rpm-form-focus, #2469ad) !important;
    outline-offset: 3px;
}

@media (max-width: 767.98px) {
    .rpm-public-order--order-summary .rpm-order-summary__content {
        width: 100% !important;
        max-width: none !important;
    }

    .rpm-public-order--order-summary.card.panel,
    .rpm-public-order--order-items.card.panel {
        width: 100% !important;
        margin: 0 !important;
    }

    .rpm-public-order--order-summary .rpm-order-summary__identity-body {
        align-items: flex-start;
        flex-direction: column;
        padding: 18px !important;
    }

    .rpm-public-order--order-summary .rpm-order-summary__status {
        align-self: flex-start;
    }

    .rpm-public-order--order-summary .rpm-order-summary__section-body {
        padding: 16px !important;
    }

    .rpm-public-order--order-summary .rpm-order-summary__schedule-data {
        grid-template-columns: 1fr;
    }

    .rpm-public-order--order-summary .rpm-order-summary__address .rpm-order-summary__section-body {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .rpm-public-order--order-summary .rpm-order-summary__map-action,
    .rpm-public-order--order-summary .rpm-order-summary__contact-action {
        width: 100% !important;
        max-width: none;
    }

    .rpm-public-order--order-summary .rpm-order-summary__action-grid {
        grid-template-columns: 1fr;
    }

    .rpm-public-order--order-items > .panel-body {
        padding: 16px !important;
    }

    .rpm-public-order--order-items .rpm-order-details__meta {
        grid-template-columns: 1fr;
        gap: 10px !important;
    }

    .rpm-public-order--order-items .rpm-order-details__meta > [class*="col-"] {
        padding: 14px !important;
    }

    .rpm-public-order--order-items .rpm-order-details__item .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rpm-public-order--order-items .rpm-order-details__totals {
        width: 100% !important;
    }

    .modal.show:has(.info-estabelecimento-container) {
        padding: 12px 0 !important;
    }

    .modal.show:has(.info-estabelecimento-container) .modal-dialog {
        width: min(calc(100% - 24px), 560px) !important;
    }

    .modal.show:has(.info-estabelecimento-container) .modal-content {
        max-height: calc(100vh - 24px);
    }

    .modal.show:has(.info-estabelecimento-container) .modal-header {
        padding-left: 16px !important;
    }

    .modal.show:has(.info-estabelecimento-container) .card-body.panel-body {
        padding: 16px !important;
    }

    .modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-title {
        font-size: 21px !important;
    }

    .modal.show:has(.info-estabelecimento-container) .rpm-public-order__info-contact {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 419.98px) {
    .rpm-public-order__steps .step-title {
        font-size: 13px;
    }
    .rpm-public-order__brand-copy strong {
        max-width: 190px;
    }
    .rpm-public-order__calendar .fc-timegrid-axis {
        width: 54px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-public-order *,
    .rpm-public-order *::before,
    .rpm-public-order *::after,
    .rpm-public-order-dialog *,
    .rpm-public-order-dialog *::before,
    .rpm-public-order-dialog *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

.dark-mode .main-header,
.dark-mode .main-header.navbar-light,
.dark-mode .navbar-light {
    background-color: #2b3239 !important;
    color: #e6edf3 !important;
    border-color: #46505a !important;
}

.dark-mode .menu-user .user-header,
.dark-mode .menu-user .user-footer {
    background-color: #343c44 !important;
    color: #e6edf3 !important;
}

.dark-mode .menu-user .btn-default {
    background-color: #414b55 !important;
    border-color: #53606b !important;
    color: #e6edf3 !important;
}

.dark-mode .menu-user .btn-default:hover,
.dark-mode .menu-user .btn-default:focus {
    background-color: #53606b !important;
    color: #ffffff !important;
}

.dark-mode .card,
.dark-mode .panel,
.dark-mode .panel-body,
.dark-mode .panel-footer,
.dark-mode .card-body,
.dark-mode .card-footer,
.dark-mode .tab-content,
.dark-mode .dropdown-menu,
.dark-mode .list-group-item,
.dark-mode .right-panel {
    background-color: #2b3239 !important;
    color: #e6edf3 !important;
    border-color: #46505a !important;
}

.dark-mode .panel-heading,
.dark-mode .card-header,
.dark-mode .datagrid-header-actions,
.dark-mode .modal-header,
.dark-mode .modal-footer,
.dark-mode .ui-dialog-titlebar {
    background-color: #343c44 !important;
    color: #f4f7fa !important;
    border-color: #4c5761 !important;
}

.dark-mode .table,
.dark-mode .table td,
.dark-mode .table th,
.dark-mode .tdatagrid_table td,
.dark-mode .tdatagrid_table th,
.dark-mode table.tfieldlist td {
    color: #e6edf3 !important;
    border-color: #46505a !important;
}

.dark-mode .table-striped tbody tr:nth-of-type(odd),
.dark-mode .table-hover tbody tr:hover,
.dark-mode .tdatagrid_row:hover {
    background-color: #343c44 !important;
}

.dark-mode input.tfield,
.dark-mode textarea.tfield,
.dark-mode select.tfield,
.dark-mode .form-control,
.dark-mode .select2-selection,
.dark-mode .select2-dropdown,
.dark-mode .select2-search__field,
.dark-mode .note-editable {
    background-color: #20262c !important;
    color: #f1f5f9 !important;
    border-color: #53606b !important;
}

.dark-mode input.tfield:disabled,
.dark-mode input.tfield[readonly],
.dark-mode .form-control:disabled,
.dark-mode .form-control[readonly] {
    background-color: #3a424a !important;
    color: #c4cbd2 !important;
}

.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered,
.dark-mode .select2-container--default .select2-results__option,
.dark-mode label,
.dark-mode .control-label,
.dark-mode .panel-title,
.dark-mode .card-title,
.dark-mode .dropdown-item,
.dark-mode .nav-link {
    color: #e6edf3 !important;
}

.dark-mode .select2-container--default .select2-results__option--highlighted,
.dark-mode .dropdown-item:hover,
.dark-mode .dropdown-item:focus,
.dark-mode .nav-tabs .nav-link.active {
    background-color: #414b55 !important;
    color: #ffffff !important;
}

.dark-mode .nav-tabs,
.dark-mode .nav-tabs .nav-link,
.dark-mode hr,
.dark-mode .dropdown-divider {
    border-color: #4c5761 !important;
}

.dark-mode .ui-dialog,
.dark-mode .ui-dialog .ui-dialog-content,
.dark-mode .modal-content,
.dark-mode .popover,
.dark-mode .tooltip-inner {
    background-color: #2b3239 !important;
    color: #e6edf3 !important;
    border-color: #4c5761 !important;
}

.dark-mode a:not(.btn) {
    color: #8fc7ff;
}

.dark-mode img,
.dark-mode canvas,
.dark-mode video {
    filter: none !important;
}

.rpm-theme-option {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
}

.rpm-theme-option .rpm-theme-check {
    margin-left: auto;
    visibility: hidden;
}

.rpm-theme-option[aria-pressed="true"] {
    font-weight: 600;
    background-color: rgba(0, 0, 0, 0.06);
}

.rpm-theme-option[aria-pressed="true"] .rpm-theme-check {
    visibility: visible;
}

.dark-mode .rpm-theme-option[aria-pressed="true"] {
    background-color: #414b55 !important;
}

/* Componentes cuja folha-base usa seletores mais especificos. */
.dark-mode .card.panel[widget="bootstrapformbuilder"] > .panel-heading,
.dark-mode #chart-box > .panel-heading {
    background-color: #343c44 !important;
    color: #f4f7fa !important;
    border-color: #4c5761 !important;
}

.dark-mode .card-header .btn-default,
.dark-mode .panel-heading .btn-default {
    background-color: #414b55 !important;
    border-color: #53606b !important;
    color: #e6edf3 !important;
}

.dark-mode .header-actions i[style*="#333"],
.dark-mode .card-header .btn i[style*="#333"],
.dark-mode .panel-heading .btn i[style*="#333"] {
    color: #e6edf3 !important;
}

.dark-mode .btn i[class*="icon-btn-"] {
    color: #e6edf3 !important;
}

/* Tabelas e paginação. */
.dark-mode .table tbody tr,
.dark-mode table.dataTable tbody tr,
.dark-mode .tdatagrid_table tbody tr {
    background-color: #2b3239 !important;
}

.dark-mode .table-striped tbody tr:nth-of-type(odd),
.dark-mode table.dataTable tbody tr:nth-of-type(odd) {
    background-color: #343c44 !important;
}

.dark-mode .table-hover tbody tr:hover,
.dark-mode .tdatagrid_row:hover {
    background-color: #414b55 !important;
}

.dark-mode .pagination .page-link {
    background-color: #343c44 !important;
    border-color: #53606b !important;
    color: #8fc7ff !important;
}

.dark-mode .pagination .page-item.active .page-link {
    background-color: #007bff !important;
    border-color: #007bff !important;
    color: #ffffff !important;
}

.dark-mode .pagination .page-item.disabled .page-link {
    background-color: #2b3239 !important;
    border-color: #46505a !important;
    color: #8a949e !important;
}

/* Indicadores e etapas. */
.dark-mode .info-box .info-box-text,
.dark-mode .info-box .info-box-number {
    color: #ffffff !important;
}

.dark-mode .steps li .step-number {
    background-color: #2b3239 !important;
    border-color: #667482 !important;
    color: #e6edf3 !important;
}

.dark-mode .steps li .step-title {
    color: #b7c4d1 !important;
}

.dark-mode .steps li.active .step-number,
.dark-mode .steps li.active:before,
.dark-mode .steps li.complete .step-number,
.dark-mode .steps li.complete:before {
    background-color: #007bff !important;
    border-color: #007bff !important;
    color: #ffffff !important;
}

.dark-mode .steps li.active .step-title,
.dark-mode .steps li.complete .step-title {
    color: #e6edf3 !important;
}

.dark-mode .tseparator {
    color: #e6edf3 !important;
}

.dark-mode .tseparator-divisor {
    border-color: #4c5761 !important;
}

/* Agenda e FullCalendar. */
.dark-mode .btns-agenda .btn {
    background-color: #2b3239 !important;
}

.dark-mode .btns-agenda .btn:hover,
.dark-mode .btns-agenda .btn:focus {
    background-color: #414b55 !important;
}

.dark-mode .tfullcalendar,
.dark-mode .tfullcalendar .fc-scrollgrid,
.dark-mode .tfullcalendar .fc-scrollgrid-section > *,
.dark-mode .tfullcalendar .fc-timegrid-slot,
.dark-mode .tfullcalendar .fc-timegrid-col,
.dark-mode .tfullcalendar .fc-daygrid-day,
.dark-mode .tfullcalendar .fc-list {
    background-color: #2b3239 !important;
    color: #e6edf3 !important;
    border-color: #46505a !important;
}

.dark-mode .tfullcalendar .fc-toolbar button {
    background-color: #414b55 !important;
    border-color: #53606b !important;
    color: #e6edf3 !important;
}

.dark-mode .tfullcalendar .fc-toolbar button.active,
.dark-mode .tfullcalendar .fc-toolbar button:not(:disabled):hover,
.dark-mode .tfullcalendar .fc-toolbar button:not(:disabled):focus {
    background-color: #007bff !important;
    border-color: #007bff !important;
    color: #ffffff !important;
}

.dark-mode .tfullcalendar .fc-toolbar button:disabled {
    opacity: .65;
}

.dark-mode .tfullcalendar .fc-col-header-cell-cushion,
.dark-mode .tfullcalendar .fc-timegrid-slot-label-cushion,
.dark-mode .tfullcalendar .fc-list-day-text,
.dark-mode .tfullcalendar .fc-list-day-side-text {
    color: #e6edf3 !important;
}

/* Gráficos Google e C3. */
.dark-mode .chart {
    background-color: #2b3239 !important;
    color: #e6edf3 !important;
}

.dark-mode .chart svg {
    background-color: #2b3239 !important;
}

.dark-mode .chart svg rect[fill="#ffffff"],
.dark-mode .chart svg rect[fill="#FFFFFF"],
.dark-mode .chart svg rect[fill="white"] {
    fill: #2b3239 !important;
}

.dark-mode .chart svg rect[fill="#cccccc"] {
    fill: #56616d !important;
}

.dark-mode .chart svg rect[fill="#ebebeb"] {
    fill: #343c44 !important;
}

.dark-mode .chart svg rect[fill="#333333"] {
    fill: #8fa1b2 !important;
}

.dark-mode .chart svg rect[fill="white"][stroke="black"] {
    stroke: #46505a !important;
}

.dark-mode .chart svg text {
    fill: #e6edf3 !important;
}

.dark-mode .c3 text {
    fill: #e6edf3 !important;
}

.dark-mode .c3 .c3-axis path,
.dark-mode .c3 .c3-axis line,
.dark-mode .c3 .c3-grid line {
    stroke: #687786 !important;
}

.dark-mode .c3 .c3-chart-arcs-background {
    fill: #46505a !important;
    stroke: #687786 !important;
}

.dark-mode .c3 .c3-legend-background {
    fill: #2b3239 !important;
    stroke: #687786 !important;
}

.dark-mode .c3-tooltip {
    background-color: #2b3239 !important;
    color: #e6edf3 !important;
    border-color: #4c5761 !important;
}

/* Controles nativos. */
.dark-mode select[widget="tcombo"] {
    background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23e6edf3' d='M7.406 7.828l4.594 4.594 4.594-4.594 1.406 1.406-6 6-6-6z'></path></svg>") !important;
}

.rpm-dashboard-section-title {
    color: #1f2937;
}

.rpm-dashboard-section-subtitle {
    color: #6b7280;
}

.dark-mode .rpm-dashboard-section-title {
    color: #e6edf3 !important;
}

.dark-mode .rpm-dashboard-section-subtitle {
    color: #b7c4d1 !important;
}

/* Itens ativos dos submenus e seleção clara no menu do usuário. */
.rpm-theme-option[aria-pressed="true"] {
    color: #212529 !important;
}

.dark-mode .rpm-theme-option[aria-pressed="true"] {
    color: #ffffff !important;
}

.dark-mode .nav-treeview > .nav-item > .nav-link.active,
.dark-mode .nav-treeview > .nav-item > .nav-link.active:hover,
.dark-mode .nav-treeview > .nav-item > .nav-link.active:focus {
    background-color: #414b55 !important;
    color: #ffffff !important;
}

/* Cabeçalhos da lista do FullCalendar. */
.dark-mode .tfullcalendar table.fc-list-table.table-bordered,
.dark-mode .tfullcalendar table.fc-list-table.table-bordered tbody,
.dark-mode .tfullcalendar table.fc-list-table.table-bordered tr,
.dark-mode .tfullcalendar table.fc-list-table.table-bordered td {
    background-color: #2b3239 !important;
    color: #e6edf3 !important;
    border-color: #46505a !important;
}

.dark-mode .tfullcalendar table.fc-list-table.table-bordered .fc-list-day > th,
.dark-mode .tfullcalendar table.fc-list-table.table-bordered .fc-list-day-cushion {
    background-color: #343c44 !important;
    color: #e6edf3 !important;
    border-color: #46505a !important;
}

/* Conteúdo carregado nas cortinas laterais. */
.dark-mode .right-panel .container-part,
.dark-mode #adianti_right_panel > .container-part {
    background-color: #1f252b !important;
    color: #e6edf3 !important;
    border-color: #46505a !important;
}

/* Mantem somente o conteudo da gaveta visivel, sem uma segunda faixa lateral. */
#adianti_right_panel.right-panel {
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Mantem o menu utilizavel mesmo com muitas notificacoes. */
#envelope_notifications > .dropdown-menu.dropdown-menu-lg {
    max-height: calc(100vh - 120px);
    overflow-y: auto;
}

/* Os estilos do atendimento ficam restritos aos modificadores rpm-chat. */

/* Tela inicial: estilos restritos ao painel WelcomeView. */
.rpm-home {
  --rpm-home-surface: #ffffff;
  --rpm-home-header: #f1f5f9;
  --rpm-home-hover: #edf3fa;
  --rpm-home-border: #ced9e5;
  --rpm-home-text: #223247;
  --rpm-home-muted: #52657a;
  --rpm-home-focus: #1764b4;
  --rpm-home-blue: #2469ad;
  --rpm-home-green: #087f59;
  --rpm-home-purple: #6454a0;
  --rpm-home-orange: #b65a10;
  --rpm-home-red: #cf353e;
}
.rpm-home.card.panel {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: var(--rpm-home-text);
  margin-bottom: 24px;
}
.rpm-home > .panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px;
  background: var(--rpm-home-header);
  border: 1px solid var(--rpm-home-border);
  border-radius: 12px;
}
.rpm-home > .panel-heading .panel-title {
  float: none;
  min-width: 0;
  margin: 0;
  color: var(--rpm-home-text);
  font-size: 26px;
  font-weight: 400;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.rpm-home > .panel-heading .header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  float: none;
  flex-shrink: 0;
  margin: 0;
}
.rpm-home.card.panel > .panel-body {
  background: transparent;
  padding: 24px 0 0;
}
.rpm-home a.rpm-home-config,
.rpm-home a.rpm-home-order-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid var(--rpm-home-border);
  border-radius: 10px;
  background: var(--rpm-home-surface);
  color: var(--rpm-home-text);
  font-size: 16px;
  line-height: 1.4;
  white-space: normal;
}
.rpm-home > .panel-heading .header-actions > .rpm-home-config,
.rpm-home > .panel-heading .header-actions > .rpm-home-order-action {
  flex: 0 0 220px;
  width: 220px;
}
.rpm-home .rpm-home-shortcuts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
  max-width: 1120px;
  margin: 0 auto 24px;
}
.rpm-home a.rpm-home-shortcut {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
  min-height: 96px;
  padding: 16px 24px;
  border: 1px solid var(--rpm-home-border);
  border-radius: 12px;
  background: var(--rpm-home-surface);
  color: var(--rpm-home-text);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}
.rpm-home .rpm-home-shortcut-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--rpm-home-blue);
  color: #fff;
  font-size: 26px;
}
.rpm-home .rpm-home-agenda .rpm-home-shortcut-icon { background: var(--rpm-home-green); }
.rpm-home .rpm-home-clientes .rpm-home-shortcut-icon { background: var(--rpm-home-purple); }
.rpm-home .rpm-home-produtos .rpm-home-shortcut-icon { background: var(--rpm-home-orange); }
.rpm-home .rpm-home-chevron {
  margin-left: auto;
  color: var(--rpm-home-muted);
  font-size: 16px;
}
.rpm-home .rpm-home-week {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--rpm-home-border);
  border-radius: 12px;
  background: var(--rpm-home-surface);
}
.rpm-home .rpm-home-week th,
.rpm-home .rpm-home-week td {
  text-align: center;
  border: 0;
  border-right: 1px solid var(--rpm-home-border);
}
.rpm-home .rpm-home-week th:last-child,
.rpm-home .rpm-home-week td:last-child { border-right: 0; }
.rpm-home .rpm-home-week th { padding: 16px 4px 8px; font-size: 17px; }
.rpm-home .rpm-home-week td { padding: 0 4px 16px; }
.rpm-home .rpm-home-day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--rpm-home-muted);
  color: #fff;
  font-size: 18px;
}
.rpm-home .rpm-home-day-active { background: var(--rpm-home-green); }
.rpm-home .rpm-home-section-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 28px 0 14px;
  color: var(--rpm-home-text);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
}
.rpm-home .rpm-home-section-title::before {
  content: '';
  align-self: stretch;
  flex: 0 0 5px;
  border-radius: 4px;
  background: var(--rpm-home-blue);
}
.rpm-home .rpm-home-section-pending::before { background: var(--rpm-home-orange); }
.rpm-home .rpm-home-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.rpm-home .rpm-home-metrics > a {
  display: block;
  min-width: 0;
  color: var(--rpm-home-text);
  border: 1px solid var(--rpm-home-border);
  border-radius: 12px;
  background: var(--rpm-home-surface);
  text-decoration: none;
}
.rpm-home .info-box {
  display: flex;
  align-items: center;
  gap: 20px;
  min-height: 116px;
  height: 100%;
  margin: 0;
  /* Builder aplica padding: 0 !important aos indicadores compartilhados. */
  padding: 16px !important;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: inherit;
}
.rpm-home .info-box .info-box-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 80px;
  min-width: 0;
  padding: 0;
  width: 80px;
  height: 80px;
  border-radius: 10px;
  color: #fff !important;
  font-size: 36px;
  line-height: 1;
}
.rpm-home .info-box-icon.bg-blue { background-color: var(--rpm-home-blue) !important; }
.rpm-home .info-box-icon.bg-green { background-color: var(--rpm-home-green) !important; }
.rpm-home .info-box-icon.bg-red { background-color: var(--rpm-home-red) !important; }
.rpm-home .info-box-icon.bg-orange { background-color: var(--rpm-home-orange) !important; }
.rpm-home .info-box .info-box-content {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  line-height: 1.3;
}
.rpm-home .info-box .info-box-text {
  display: block;
  overflow: visible;
  white-space: normal;
  color: var(--rpm-home-muted);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}
.rpm-home .info-box .info-box-number {
  display: block;
  margin-top: 4px;
  /* admin.min.css fixa 25px !important fora desta tela. */
  font-size: 36px !important;
  color: var(--rpm-home-text);
  font-weight: 700;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
.rpm-home .rpm-home-pending {
  grid-template-columns: minmax(0, 1fr);
  max-width: 420px;
  margin: 0 auto;
}
.rpm-home .rpm-home-order { margin: 24px auto 0; max-width: 420px; text-align: center; }
.rpm-home .rpm-home-order-action { font-weight: 600; }
.rpm-home .rpm-home-empty {
  margin: 0;
  padding: 24px;
  border: 1px solid var(--rpm-home-border);
  border-radius: 12px;
  background: var(--rpm-home-surface);
  color: var(--rpm-home-muted);
  font-size: 17px;
  line-height: 1.6;
}
.rpm-home a.rpm-home-shortcut:hover,
.rpm-home a.rpm-home-config:hover,
.rpm-home a.rpm-home-order-action:hover,
.rpm-home .rpm-home-metrics > a:hover {
  background: var(--rpm-home-hover);
  border-color: var(--rpm-home-focus);
  color: var(--rpm-home-text);
  text-decoration: none;
}
.rpm-home a:focus {
  outline: 3px solid var(--rpm-home-focus) !important;
  outline-offset: 3px;
}
.rpm-home ::selection { background: var(--rpm-home-blue); color: #fff; }
@media (min-width: 768px) and (max-width: 1100px) {
  .rpm-home .rpm-home-metrics { gap: 12px; }
  .rpm-home .info-box { gap: 12px; padding: 12px !important; }
  .rpm-home .info-box .info-box-icon { flex-basis: 48px; width: 48px; height: 64px; font-size: 26px; }
  .rpm-home .info-box .info-box-number { font-size: 30px !important; }
}
@media (max-width: 767px) {
  .rpm-home > .panel-heading { align-items: stretch; flex-direction: column; gap: 16px; padding: 20px; }
  .rpm-home > .panel-heading .panel-title { font-size: 24px; }
  .rpm-home > .panel-heading .header-actions { width: 100%; justify-content: stretch; }
  .rpm-home > .panel-heading .header-actions > a { flex: 1 1 100%; width: 100%; }
  .rpm-home.card.panel > .panel-body { padding-top: 20px; }
  .rpm-home .rpm-home-shortcuts { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-bottom: 20px; }
  .rpm-home a.rpm-home-shortcut { min-height: 80px; padding: 12px 16px; gap: 16px; font-size: 18px; }
  .rpm-home .rpm-home-shortcut-icon { flex-basis: 48px; height: 48px; font-size: 23px; }
  .rpm-home .rpm-home-week th { font-size: 14px; padding-top: 12px; }
  .rpm-home .rpm-home-week td { padding-bottom: 12px; }
  .rpm-home .rpm-home-day { width: 28px; height: 28px; font-size: 15px; }
  .rpm-home .rpm-home-section-title { font-size: 19px; gap: 10px; }
  .rpm-home .rpm-home-metrics { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .rpm-home .rpm-home-pending,
  .rpm-home .rpm-home-order { max-width: none; }
}

/* WelcomeView acompanha a preferência de tema sem afetar outros painéis. */
.dark-mode .rpm-home {
    --rpm-home-surface: #1f2b37;
    --rpm-home-header: #243140;
    --rpm-home-hover: #2a3a4c;
    --rpm-home-border: #40556b;
    --rpm-home-text: #f2f5f9;
    --rpm-home-muted: #b7c6d7;
    --rpm-home-focus: #83bfff;
    --rpm-home-blue: #286db3;
    --rpm-home-green: #087f59;
    --rpm-home-purple: #6454a0;
    --rpm-home-orange: #b65a10;
    --rpm-home-red: #cf353e;
}
.dark-mode .rpm-home.card.panel,
.dark-mode .rpm-home > .panel-body {
    background: transparent !important;
    color: var(--rpm-home-text) !important;
}
.dark-mode .rpm-home > .panel-heading {
    background: var(--rpm-home-header) !important;
    border-color: var(--rpm-home-border) !important;
}
.dark-mode .rpm-home a,
.dark-mode .rpm-home .info-box .info-box-number {
    color: var(--rpm-home-text) !important;
}
.dark-mode .rpm-home .info-box .info-box-text {
    color: var(--rpm-home-muted) !important;
}
/* O cinza claro dos textos secundários não serve como fundo do ícone branco. */
.dark-mode .rpm-home .rpm-home-day:not(.rpm-home-day-active) {
    background: #4c5b6c;
}

/* Listagens RPM: casca compartilhada para Clientes e Produtos. */
.rpm-listing {
    --rpm-listing-surface: #ffffff;
    --rpm-listing-header: #f1f5f9;
    --rpm-listing-hover: #edf3fa;
    --rpm-listing-border: #ced9e5;
    --rpm-listing-text: #223247;
    --rpm-listing-muted: #52657a;
    --rpm-listing-focus: #1764b4;
    --rpm-listing-accent: #2469ad;
    --rpm-listing-accent-contrast: #2469ad;
    --rpm-listing-accent-soft: rgba(36, 105, 173, 0.12);
    --rpm-listing-success: #087f59;
    --rpm-listing-danger: #cf353e;
    box-sizing: border-box;
    color: var(--rpm-listing-text);
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.rpm-listing--clientes { --rpm-listing-accent: #6454a0; --rpm-listing-accent-contrast: #6454a0; --rpm-listing-accent-soft: rgba(100, 84, 160, 0.12); }
.rpm-listing--produtos { --rpm-listing-accent: #b65a10; --rpm-listing-accent-contrast: #b65a10; --rpm-listing-accent-soft: rgba(182, 90, 16, 0.12); }
.rpm-listing *,
.rpm-listing *::before,
.rpm-listing *::after { box-sizing: border-box; }
.rpm-listing.card.panel {
    margin-bottom: 24px;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: var(--rpm-listing-text);
}
.rpm-listing > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border: 1px solid var(--rpm-listing-border);
    border-radius: 12px;
    background: var(--rpm-listing-header);
    color: var(--rpm-listing-text);
}
.rpm-listing > .panel-heading .panel-title {
    display: flex;
    align-items: center;
    gap: 10px;
    float: none;
    min-width: 0;
    margin: 0;
    color: var(--rpm-listing-text);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.rpm-listing > .panel-heading .panel-title::before {
    content: "";
    display: inline-block;
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rpm-listing-accent);
}
.rpm-listing > .panel-heading .panel-title > div {
    width: auto !important;
}
.rpm-listing > .panel-heading .header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 8px;
    float: none;
    margin: 0;
}
.rpm-listing .rpm-listing-header-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--rpm-listing-border);
    border-radius: 10px;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
    white-space: normal;
}
.rpm-listing .rpm-listing-header-action i { color: currentColor !important; }
.rpm-listing .rpm-listing-header-action--primary {
    border-color: var(--rpm-listing-focus);
    background: var(--rpm-listing-focus);
    color: #ffffff !important;
}
.rpm-listing .rpm-listing-header-action--secondary {
    border-color: var(--rpm-listing-accent);
    color: var(--rpm-listing-accent) !important;
}
.rpm-listing .rpm-listing-header-action:hover,
.rpm-listing .rpm-listing-header-action:active {
    border-color: var(--rpm-listing-focus);
    background: var(--rpm-listing-hover);
    color: var(--rpm-listing-text) !important;
    text-decoration: none;
}
.rpm-listing .rpm-listing-header-action--primary:hover,
.rpm-listing .rpm-listing-header-action--primary:active {
    background: var(--rpm-listing-focus);
    color: #ffffff !important;
    filter: brightness(0.94);
}
.rpm-listing.card.panel > .panel-body {
    padding: 20px 0 0;
    border: 0;
    background: transparent;
}
.rpm-listing .rpm-listing-body {
    overflow: visible;
}
.rpm-listing .rpm-listing-form {
    width: 100%;
    margin: 0;
}
.rpm-listing .rpm-listing-table {
    width: 100%;
    margin: 0;
    table-layout: fixed;
    border: 1px solid var(--rpm-listing-border);
    border-collapse: separate !important;
    border-spacing: 0;
    border-radius: 12px;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text);
}
.rpm-listing--clientes .rpm-listing-table th:nth-child(1),
.rpm-listing--clientes .rpm-listing-table td:nth-child(1) { width: 56px; }
.rpm-listing--clientes .rpm-listing-table th:nth-child(2),
.rpm-listing--clientes .rpm-listing-table td:nth-child(2) { width: 13%; }
.rpm-listing--clientes .rpm-listing-table th:nth-child(3),
.rpm-listing--clientes .rpm-listing-table td:nth-child(3) { width: 49%; }
.rpm-listing--clientes .rpm-listing-table th:nth-child(4),
.rpm-listing--clientes .rpm-listing-table td:nth-child(4) { width: 28%; }
.rpm-listing--produtos .rpm-listing-table th:nth-child(1),
.rpm-listing--produtos .rpm-listing-table td:nth-child(1) { width: 56px; }
.rpm-listing--produtos .rpm-listing-table th:nth-child(2),
.rpm-listing--produtos .rpm-listing-table td:nth-child(2) { width: 30%; }
.rpm-listing--produtos .rpm-listing-table th:nth-child(3),
.rpm-listing--produtos .rpm-listing-table td:nth-child(3) { width: 14%; }
.rpm-listing--produtos .rpm-listing-table th:nth-child(4),
.rpm-listing--produtos .rpm-listing-table td:nth-child(4) { width: 12%; }
.rpm-listing--produtos .rpm-listing-table th:nth-child(5),
.rpm-listing--produtos .rpm-listing-table td:nth-child(5) { width: 16%; }
.rpm-listing--produtos .rpm-listing-table th:nth-child(6),
.rpm-listing--produtos .rpm-listing-table td:nth-child(6) { width: 20%; }
.rpm-listing .rpm-listing-table > thead > tr > th {
    padding: 12px 14px;
    border-top: 0;
    border-right: 0;
    border-bottom: 1px solid var(--rpm-listing-border);
    border-left: 0;
    background: var(--rpm-listing-header);
    color: var(--rpm-listing-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.01em;
    vertical-align: middle;
}
.rpm-listing .rpm-listing-table > thead > tr > th a {
    color: var(--rpm-listing-text);
    text-decoration: none;
}
.rpm-listing .rpm-listing-table > thead > tr > th a:hover { color: var(--rpm-listing-focus); }
.rpm-listing .rpm-listing-table > tbody > tr > td {
    padding: 13px 14px;
    border-top: 1px solid var(--rpm-listing-border);
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text);
    font-size: 16px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    vertical-align: middle;
}
.rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row:first-child > td { border-top: 0; }
.rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row {
    background: var(--rpm-listing-surface);
    transition: background-color 180ms ease, border-color 180ms ease;
}
.rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row:hover,
.rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row:hover > td {
    background: var(--rpm-listing-hover);
}
.rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row > td[generator="adianti"] {
    cursor: pointer;
}
.rpm-listing .rpm-listing-filter-row,
.rpm-listing .rpm-listing-filter-row > td {
    background: var(--rpm-listing-header);
}
.rpm-listing .rpm-listing-filter-row > td {
    padding: 9px 10px;
    border: 0;
    vertical-align: middle;
}
.rpm-listing .rpm-listing-filter-row > td.rpm-listing-filter-action {
    width: 56px;
}
.rpm-listing .rpm-listing-filter-cell > .tfield,
.rpm-listing .rpm-listing-filter-cell input.tfield {
    width: 100% !important;
    min-height: 44px;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid var(--rpm-listing-border);
    border-radius: 10px;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text);
    font-size: 16px;
    line-height: 1.3;
}
.rpm-listing .rpm-listing-filter-cell input.tfield::placeholder {
    color: var(--rpm-listing-muted);
    opacity: 1;
}
.rpm-listing .rpm-listing-filter-cell .tfield:focus,
.rpm-listing .rpm-listing-filter-cell input.tfield:focus {
    border-color: var(--rpm-listing-focus);
    box-shadow: 0 0 0 3px var(--rpm-listing-accent-soft);
    outline: 0;
}
.rpm-listing .rpm-listing-filter-cell [tradiogroup] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-height: 44px;
}
.rpm-listing .rpm-listing-filter-cell [tradiogroup] > div {
    display: inline-flex !important;
    align-items: center;
    margin: 0;
}
.rpm-listing .rpm-listing-filter-cell [tradiogroup] > br { display: none; }
.rpm-listing .rpm-listing-filter-cell input[type="radio"].filled-in {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    visibility: visible;
    opacity: 0;
}
.rpm-listing .rpm-listing-filter-cell input[type="radio"].filled-in + label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid var(--rpm-listing-border);
    border-radius: 10px;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-muted);
    cursor: pointer;
    line-height: 1;
}
.rpm-listing .rpm-listing-filter-cell input[type="radio"].filled-in + label::before,
.rpm-listing .rpm-listing-filter-cell input[type="radio"].filled-in + label::after { display: none; }
.rpm-listing .rpm-listing-filter-cell input[type="radio"].filled-in:checked + label {
    border-color: var(--rpm-listing-accent);
    background: var(--rpm-listing-accent-soft);
    color: var(--rpm-listing-accent);
}
.rpm-listing .rpm-listing-filter-cell input[type="radio"].filled-in:focus + label {
    outline: 3px solid var(--rpm-listing-focus);
    outline-offset: 2px;
}
.rpm-listing .rpm-listing-status,
.rpm-listing .rpm-listing-contact,
.rpm-listing .rpm-listing-filter-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.rpm-listing .rpm-listing-status,
.rpm-listing .rpm-listing-filter-option { min-width: 28px; min-height: 28px; }
.rpm-listing .rpm-listing-status--active,
.rpm-listing .rpm-listing-filter-option--active { color: var(--rpm-listing-success); }
.rpm-listing .rpm-listing-status--inactive,
.rpm-listing .rpm-listing-filter-option--inactive { color: var(--rpm-listing-danger); }
.rpm-listing .rpm-listing-contact-icon { margin-left: 6px; }
.rpm-listing .rpm-listing-contact-icon--available { color: #25d366; }
.rpm-listing .rpm-listing-contact--unavailable { color: var(--rpm-listing-danger); }
.rpm-listing .rpm-listing-whatsapp {
    color: var(--rpm-listing-success) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.rpm-listing .rpm-listing-boolean { font-weight: 600; }
.rpm-listing .rpm-listing-boolean--yes { color: var(--rpm-listing-success); }
.rpm-listing .rpm-listing-boolean--no { color: var(--rpm-listing-muted); }
.rpm-listing .rpm-listing-table td[data-role="primary"] { font-weight: 600; }
.rpm-listing .rpm-listing-table td[data-role="code"] { font-variant-numeric: tabular-nums; }
.rpm-listing .rpm-listing-table td[data-role="amount"],
.rpm-listing--produtos .rpm-listing-table th:nth-child(6) {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action {
    width: 56px;
    padding: 8px;
    overflow: visible;
    text-align: center;
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .btn-group {
    display: inline-flex;
    align-items: center;
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 9px;
    border: 1px solid var(--rpm-listing-border);
    border-radius: 10px;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text);
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-toggle i {
    margin: 0;
    color: currentColor !important;
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-toggle:hover,
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-toggle:active {
    border-color: var(--rpm-listing-focus);
    background: var(--rpm-listing-hover);
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu {
    z-index: 1002;
    min-width: 238px;
    margin-top: 6px;
    padding: 6px;
    border: 1px solid var(--rpm-listing-border);
    border-radius: 10px;
    background: var(--rpm-listing-surface);
    box-shadow: 0 8px 24px rgba(15, 35, 55, 0.16);
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 10px;
    border-radius: 8px;
    color: var(--rpm-listing-text);
    line-height: 1.35;
    white-space: normal;
}
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu > li > a:hover,
.rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu > li > a:focus {
    background: var(--rpm-listing-hover);
    color: var(--rpm-listing-text);
    text-decoration: none;
}
.rpm-listing .rpm-listing-empty-row > td {
    padding: 28px 16px;
    border-top: 1px solid var(--rpm-listing-border);
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-muted);
    font-size: 16px;
    text-align: center;
}
.rpm-listing .rpm-listing-empty-copy { display: inline-block; max-width: 48ch; }
.rpm-listing > .panel-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    padding: 16px 0 0;
    border: 0;
    background: transparent;
}
.rpm-listing > .panel-footer .pagination { margin: 0; }
.rpm-listing > .panel-footer .pagination > li > a,
.rpm-listing > .panel-footer .pagination > li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: var(--rpm-listing-text);
}
.rpm-listing a:focus-visible,
.rpm-listing button:focus-visible,
.rpm-listing input:focus-visible,
.rpm-listing textarea:focus-visible,
.rpm-listing select:focus-visible {
    outline: 3px solid var(--rpm-listing-focus) !important;
    outline-offset: 3px;
}
.rpm-listing ::selection { background: var(--rpm-listing-accent); color: #ffffff; }

@media (min-width: 768px) and (max-width: 1100px) {
    .rpm-listing > .panel-heading { align-items: flex-start; }
    .rpm-listing > .panel-heading .header-actions { max-width: 54%; }
    .rpm-listing .rpm-listing-table > tbody > tr > td,
    .rpm-listing .rpm-listing-table > thead > tr > th { padding-right: 10px; padding-left: 10px; }
}

@media (max-width: 767px) {
    .rpm-listing > .panel-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
        padding: 18px 16px;
    }
    .rpm-listing > .panel-heading .panel-title { font-size: 20px; }
    .rpm-listing > .panel-heading .header-actions {
        width: 100%;
        justify-content: flex-start;
    }
    .rpm-listing .header-actions .rpm-listing-header-action {
        flex: 1 1 120px;
    }
    .rpm-listing.card.panel > .panel-body { padding-top: 16px; }
    .rpm-listing .rpm-listing-body { overflow: visible !important; }
    .rpm-listing .rpm-listing-table,
    .rpm-listing .rpm-listing-table tbody,
    .rpm-listing .rpm-listing-table tr,
    .rpm-listing .rpm-listing-table td { display: block; width: 100%; }
    .rpm-listing .rpm-listing-table { border: 0; border-radius: 0; background: transparent; }
    .rpm-listing .rpm-listing-table thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .rpm-listing .rpm-listing-table tbody {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-filter-row {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 12px 14px;
        border: 1px solid var(--rpm-listing-border);
        border-radius: 12px;
        background: var(--rpm-listing-header);
    }
    .rpm-listing .rpm-listing-filter-row > td,
    .rpm-listing .rpm-listing-filter-row > td.rpm-listing-filter-cell {
        display: grid;
        grid-template-columns: minmax(5.5rem, 32%) minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        width: 100%;
        padding: 3px 0;
        border: 0;
        background: transparent;
    }
    .rpm-listing .rpm-listing-filter-row > td::before {
        content: attr(data-label);
        color: var(--rpm-listing-muted);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.3;
        padding-left: 8px;
    }
    .rpm-listing .rpm-listing-filter-row > td.rpm-listing-filter-action { display: none; }
    .rpm-listing .rpm-listing-filter-cell [tradiogroup] { justify-content: flex-start; }
    .rpm-listing .rpm-listing-filter-cell .tfield,
    .rpm-listing .rpm-listing-filter-cell input.tfield { min-width: 0; }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 10px 14px;
        border: 1px solid var(--rpm-listing-border);
        border-radius: 12px;
        background: var(--rpm-listing-surface);
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row:hover { background: var(--rpm-listing-hover); }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td,
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td.tdatagrid_cell {
        display: grid;
        grid-template-columns: minmax(5.5rem, 32%) minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        width: 100%;
        min-height: 44px;
        padding: 8px 0;
        border: 0;
        background: transparent !important;
        text-align: left;
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td::before {
        content: attr(data-label);
        color: var(--rpm-listing-muted);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.35;
        padding-left: 8px;
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td[data-role="primary"] {
        order: 1;
        font-size: 16px;
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td[data-role="code"] { order: 2; }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td[data-role="status"] { order: 3; }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td[data-role="boolean"] { order: 4; }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td[data-role="contact"] { order: 5; }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td[data-role="amount"] {
        order: 6;
        text-align: left;
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td.tdatagrid_cell.action {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        order: 0;
        min-height: 44px;
        padding: 0 0 4px;
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td.tdatagrid_cell.action::before { display: none; }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td.tdatagrid_cell.action .dropdown-menu {
        right: 0;
        left: auto !important;
    }
    .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-empty-row {
        display: block;
        padding: 0;
        border: 1px solid var(--rpm-listing-border);
        border-radius: 12px;
        background: var(--rpm-listing-surface);
    }
    .rpm-listing .rpm-listing-empty-row > td {
        display: block;
        padding: 24px 14px;
        border: 0;
        background: transparent;
    }
    .rpm-listing > .panel-footer {
        min-height: 52px;
        padding-top: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row,
    .rpm-listing .rpm-listing-header-action { transition: none; }
}

/* A mesma hierarquia visual acompanha o tema escuro sem alterar o restante do painel. */
.dark-mode .rpm-listing {
    --rpm-listing-surface: #1f2b37;
    --rpm-listing-header: #243140;
    --rpm-listing-hover: #2a3a4c;
    --rpm-listing-border: #40556b;
    --rpm-listing-text: #f2f5f9;
    --rpm-listing-muted: #b7c6d7;
    --rpm-listing-focus: #83bfff;
    --rpm-listing-accent-soft: rgba(131, 191, 255, 0.16);
}
.dark-mode .rpm-listing--clientes { --rpm-listing-accent-contrast: #c9bbff; --rpm-listing-accent-soft: rgba(201, 187, 255, 0.16); }
.dark-mode .rpm-listing--produtos { --rpm-listing-accent-contrast: #ffc18d; --rpm-listing-accent-soft: rgba(255, 193, 141, 0.16); }
.dark-mode .rpm-listing.card.panel,
.dark-mode .rpm-listing.card.panel > .panel-body,
.dark-mode .rpm-listing > .panel-footer {
    background: transparent !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing > .panel-heading {
    background: var(--rpm-listing-header) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing > .panel-heading .panel-title,
.dark-mode .rpm-listing .rpm-listing-table > thead > tr > th,
.dark-mode .rpm-listing .rpm-listing-table > thead > tr > th a {
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing .rpm-listing-table,
.dark-mode .rpm-listing .rpm-listing-table > tbody > tr > td,
.dark-mode .rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row,
.dark-mode .rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row > td,
.dark-mode .rpm-listing .rpm-listing-empty-row > td {
    background: var(--rpm-listing-surface) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing .rpm-listing-table > thead > tr > th,
.dark-mode .rpm-listing .rpm-listing-filter-row,
.dark-mode .rpm-listing .rpm-listing-filter-row > td {
    background: var(--rpm-listing-header) !important;
    border-color: var(--rpm-listing-border) !important;
}
.dark-mode .rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row:hover,
.dark-mode .rpm-listing .rpm-listing-table > tbody > tr.rpm-listing-row:hover > td,
.dark-mode .rpm-listing .rpm-listing-header-action:hover,
.dark-mode .rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-toggle:hover,
.dark-mode .rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu > li > a:hover,
.dark-mode .rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu > li > a:focus {
    background: var(--rpm-listing-hover) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing .rpm-listing-filter-cell > .tfield,
.dark-mode .rpm-listing .rpm-listing-filter-cell input.tfield,
.dark-mode .rpm-listing .rpm-listing-header-action,
.dark-mode .rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-toggle,
.dark-mode .rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu {
    background: var(--rpm-listing-surface) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing .rpm-listing-filter-cell input.tfield::placeholder,
.dark-mode .rpm-listing .rpm-listing-filter-row > td::before,
.dark-mode .rpm-listing .rpm-listing-table tbody > tr.rpm-listing-row > td::before,
.dark-mode .rpm-listing .rpm-listing-empty-row > td {
    color: var(--rpm-listing-muted) !important;
}
.dark-mode .rpm-listing .rpm-listing-filter-cell .tfield:focus,
.dark-mode .rpm-listing .rpm-listing-filter-cell input.tfield:focus {
    border-color: var(--rpm-listing-focus) !important;
    box-shadow: 0 0 0 3px var(--rpm-listing-accent-soft) !important;
}
.dark-mode .rpm-listing .rpm-listing-header-action--primary {
    background: var(--rpm-listing-focus) !important;
    border-color: var(--rpm-listing-focus) !important;
    color: #172333 !important;
}
.dark-mode .rpm-listing .rpm-listing-header-action--secondary {
    color: var(--rpm-listing-accent-contrast) !important;
}
.dark-mode .rpm-listing .rpm-listing-table td.tdatagrid_cell.action .dropdown-menu > li > a {
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing > .panel-footer .pagination > li > a,
.dark-mode .rpm-listing > .panel-footer .pagination > li > span {
    background: var(--rpm-listing-header) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}

/* Formulários RPM: casca compartilhada para os cadastros de Cliente e Produto. */
.rpm-form {
    --rpm-form-surface: #ffffff;
    --rpm-form-header: #f1f5f9;
    --rpm-form-hover: #edf3fa;
    --rpm-form-border: #ced9e5;
    --rpm-form-text: #223247;
    --rpm-form-muted: #52657a;
    --rpm-form-focus: #1764b4;
    --rpm-form-focus-soft: rgba(23, 100, 180, 0.16);
    --rpm-form-action: #2469ad;
    --rpm-form-accent: #2469ad;
    --rpm-form-accent-contrast: #2469ad;
    --rpm-form-accent-soft: rgba(36, 105, 173, 0.12);
    --rpm-form-success: #087f59;
    --rpm-form-danger: #cf353e;
    box-sizing: border-box;
    color: var(--rpm-form-text);
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.rpm-form--cliente {
    --rpm-form-accent: #6454a0;
    --rpm-form-accent-contrast: #6454a0;
    --rpm-form-accent-soft: rgba(100, 84, 160, 0.12);
}
.rpm-form--produto {
    --rpm-form-accent: #b65a10;
    --rpm-form-accent-contrast: #b65a10;
    --rpm-form-accent-soft: rgba(182, 90, 16, 0.12);
}
.rpm-form *,
.rpm-form *::before,
.rpm-form *::after {
    box-sizing: border-box;
}
.rpm-form.card.panel {
    width: 100%;
    margin-bottom: 24px;
    overflow: visible;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    box-shadow: none;
    color: var(--rpm-form-text);
}
.rpm-form > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border: 0;
    border-bottom: 1px solid var(--rpm-form-border);
    border-radius: 12px 12px 0 0;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
}
.rpm-form > .panel-heading .panel-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
    color: var(--rpm-form-text);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.rpm-form > .panel-heading .panel-title::before {
    content: "";
    display: inline-block;
    flex: 0 0 9px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--rpm-form-accent);
}
.rpm-form > .panel-heading .header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
}
.rpm-form .rpm-form-header-action,
.rpm-form .rpm-form-submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
    white-space: normal;
}
.rpm-form .rpm-form-header-action i,
.rpm-form .rpm-form-submit i {
    color: currentColor !important;
}
.rpm-form .rpm-form-submit {
    min-height: 48px;
}
.rpm-form .rpm-form-header-action:hover,
.rpm-form .rpm-form-header-action:active {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text) !important;
    text-decoration: none;
}
.rpm-form .rpm-form-submit.btn-primary {
    border-color: var(--rpm-form-action) !important;
    background: var(--rpm-form-action) !important;
    color: #ffffff !important;
}
.rpm-form .rpm-form-submit.btn-primary:hover,
.rpm-form .rpm-form-submit.btn-primary:active {
    border-color: var(--rpm-form-focus) !important;
    background: var(--rpm-form-focus) !important;
    color: #ffffff !important;
}
.rpm-form > form {
    width: 100%;
    margin: 0;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form > form > .panel-body {
    width: 100%;
    padding: 24px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form > form > .panel-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 80px;
    padding: 16px 24px 24px;
    border: 0;
    border-top: 1px solid var(--rpm-form-border);
    border-radius: 0 0 12px 12px;
    background: var(--rpm-form-surface);
}
.rpm-form .tab-content,
.rpm-form .tab-pane {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
.rpm-form .tformrow {
    margin-right: -8px;
    margin-bottom: 16px;
    margin-left: -8px;
}
.rpm-form .tformrow:last-child {
    margin-bottom: 0;
}
.rpm-form .fb-field-container {
    min-width: 0;
    min-height: 0 !important;
    padding-right: 8px;
    padding-left: 8px;
}
.rpm-form .fb-inline-field-container {
    min-width: 0;
    max-width: 100%;
}
.rpm-form .fb-inline-field-container > label:not(.tswitch):not(.label_timagecropper),
.rpm-form label.control-label {
    display: block;
    width: 100% !important;
    margin: 0 0 8px;
    padding: 0 !important;
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left !important;
    overflow-wrap: anywhere;
}
.rpm-form input.tfield:not([type="hidden"]),
.rpm-form select.tcombo,
.rpm-form select.tselect,
.rpm-form select[role="tselectsearch"],
.rpm-form textarea.tfield,
.rpm-form .form-control {
    width: 100% !important;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    background-clip: padding-box;
    color: var(--rpm-form-text);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
    box-shadow: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.rpm-form select.tselect {
    min-height: 100px;
    padding: 8px;
}
.rpm-form textarea.tfield {
    min-height: 132px;
    resize: vertical;
}
.rpm-form input.tfield:not([type="hidden"])::placeholder,
.rpm-form textarea.tfield::placeholder {
    color: var(--rpm-form-muted);
    opacity: 1;
}
.rpm-form input.tfield:not([type="hidden"]):focus,
.rpm-form select.tcombo:focus,
.rpm-form select.tselect:focus,
.rpm-form select[role="tselectsearch"]:focus,
.rpm-form textarea.tfield:focus,
.rpm-form .form-control:focus {
    border-color: var(--rpm-form-focus);
    outline: 0;
    box-shadow: 0 0 0 3px var(--rpm-form-focus-soft);
}
.rpm-form .select2-container {
    width: 100% !important;
}
.rpm-form .select2-container--default .select2-selection--single {
    height: 44px;
    min-height: 44px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
}
.rpm-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-right: 36px;
    padding-left: 12px;
    color: var(--rpm-form-text);
    font-size: 16px;
    line-height: 42px;
}
.rpm-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 1px;
    right: 8px;
    height: 42px;
}
.rpm-form .select2-container--default.select2-container--focus .select2-selection--single,
.rpm-form .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--rpm-form-focus);
    box-shadow: 0 0 0 3px var(--rpm-form-focus-soft);
}
.rpm-form .rpm-form-section {
    width: 100%;
    margin: 4px 0 16px;
    padding: 0 8px;
    color: var(--rpm-form-text);
}
.rpm-form .rpm-form-section .tseparator {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    color: var(--rpm-form-text) !important;
    font-family: inherit;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-form .rpm-form-section .tseparator::before {
    content: "";
    display: inline-block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rpm-form-accent);
}
.rpm-form .rpm-form-section hr.tseparator-divisor {
    margin: 0;
    border: 0;
    border-top: 1px solid var(--rpm-form-border) !important;
}
.rpm-form [tradiogroup] {
    display: block;
    width: 100%;
}
.rpm-form [tradiogroup] > .btn-group {
    display: flex !important;
    align-items: stretch;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    flex-wrap: wrap;
    gap: 8px;
}
.rpm-form [tradiogroup] > .btn-group > label.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    min-width: 44px;
    min-height: 44px;
    margin: 0 !important;
    padding: 10px 14px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px !important;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-muted);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    white-space: normal;
}
.rpm-form [tradiogroup] > .btn-group > label.btn:hover,
.rpm-form [tradiogroup] > .btn-group > label.btn:active {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text);
}
.rpm-form [tradiogroup] > .btn-group > label.btn.active {
    border-color: var(--rpm-form-accent);
    background: var(--rpm-form-accent-soft);
    color: var(--rpm-form-accent-contrast);
}
.rpm-form [tradiogroup] input[type="radio"][widget="tradiobutton"] {
    position: absolute;
    display: block !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
    visibility: visible;
}
.rpm-form [tradiogroup] > .btn-group > label.btn:focus-within {
    outline: 3px solid var(--rpm-form-focus);
    outline-offset: 3px;
}
.rpm-form [tradiogroup] > div[style*="display:inline-flex"] {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    min-height: 44px;
    margin: 0 16px 0 0 !important;
    vertical-align: top;
}
.rpm-form [tradiogroup] > div[style*="display:inline-flex"] > input[type="radio"] {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    margin: 0 !important;
    accent-color: var(--rpm-form-action);
}
.rpm-form [tradiogroup] > div[style*="display:inline-flex"] > input[type="radio"].filled-in {
    position: static;
    display: inline-block !important;
    min-width: 20px;
    min-height: 20px;
    padding: 0;
    opacity: 1;
    visibility: visible !important;
}
.rpm-form [tradiogroup] > div[style*="display:inline-flex"] > input[type="radio"].filled-in + label::before,
.rpm-form [tradiogroup] > div[style*="display:inline-flex"] > input[type="radio"].filled-in + label::after {
    display: none !important;
    content: none !important;
}
.rpm-form [tradiogroup] > div[style*="display:inline-flex"] > label {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding: 0 !important;
    color: var(--rpm-form-text);
    font-size: 16px;
    line-height: 1.3;
    cursor: pointer;
}
.rpm-form [tradiogroup] > div[style*="display:inline-flex"]:focus-within {
    border-radius: 10px;
    outline: 3px solid var(--rpm-form-focus);
    outline-offset: 3px;
}
.rpm-form [tradiogroup="ativo"] .fa-check {
    color: var(--rpm-form-success) !important;
}
.rpm-form [tradiogroup="ativo"] .fa-times {
    color: var(--rpm-form-danger) !important;
}
.rpm-form input[type="checkbox"].btn-tswitch {
    position: absolute;
    display: block !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    opacity: 0;
    visibility: visible !important;
}
.rpm-form input[type="checkbox"].btn-tswitch + label.tswitch {
    position: relative;
    display: block;
    width: 64px;
    min-width: 64px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    color: transparent !important;
    cursor: pointer;
}
.rpm-form input[type="checkbox"].btn-tswitch + label.tswitch::before {
    top: 11px !important;
    left: 6px !important;
    width: 52px !important;
    height: 22px !important;
    border: 0 !important;
    border-radius: 10px;
    background: var(--rpm-form-muted) !important;
    opacity: 0.5;
    transition: background-color 180ms ease, opacity 180ms ease;
}
.rpm-form input[type="checkbox"].btn-tswitch + label.tswitch::after {
    top: 9px !important;
    left: 4px !important;
    width: 26px !important;
    height: 26px !important;
    border: 0 !important;
    border-radius: 50%;
    background: var(--rpm-form-surface) !important;
    box-shadow: 0 1px 3px 1px rgba(15, 35, 55, 0.32);
    transition: left 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.rpm-form input[type="checkbox"].btn-tswitch:checked + label.tswitch::before {
    background: var(--rpm-form-action) !important;
    opacity: 1;
}
.rpm-form input[type="checkbox"].btn-tswitch:checked + label.tswitch::after {
    left: 34px !important;
}
.rpm-form input[type="checkbox"].btn-tswitch:focus + label.tswitch {
    outline: 3px solid var(--rpm-form-focus);
    outline-offset: 3px;
}
.rpm-form input[readonly],
.rpm-form select:disabled,
.rpm-form textarea[readonly],
.rpm-form input.tfield_disabled,
.rpm-form select.tcombo_disabled {
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-muted) !important;
    cursor: not-allowed;
    opacity: 1;
}
.rpm-form .is-invalid,
.rpm-form [aria-invalid="true"],
.rpm-form .tfield_invalid {
    border-color: var(--rpm-form-danger) !important;
    box-shadow: 0 0 0 3px rgba(207, 53, 62, 0.16) !important;
}
.rpm-form .label_timagecropper {
    width: 150px !important;
    height: 150px !important;
    max-width: 100%;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-muted);
    overflow: visible;
}
.rpm-form .label_timagecropper:focus-within {
    outline: 3px solid var(--rpm-form-focus);
    outline-offset: 3px;
}
.rpm-form .label_timagecropper img.placeholder,
.rpm-form .label_timagecropper i.placeholder {
    color: var(--rpm-form-muted);
}
.rpm-form .timagecropper_actions {
    top: 4px;
    right: 4px;
}
.rpm-form .timagecropper_actions div {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: rgba(34, 50, 71, 0.72);
    line-height: 1;
}
.rpm-form .timagecropper_actions div i {
    padding: 8px;
}
.rpm-form a:focus-visible,
.rpm-form button:focus-visible,
.rpm-form input:focus-visible,
.rpm-form select:focus-visible,
.rpm-form textarea:focus-visible {
    outline: 3px solid var(--rpm-form-focus) !important;
    outline-offset: 3px;
}
.rpm-form ::selection {
    background: var(--rpm-form-action);
    color: #ffffff;
}
@media (max-width: 767px) {
    .rpm-form > .panel-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding: 16px;
    }
    .rpm-form > .panel-heading .panel-title {
        font-size: 20px;
    }
    .rpm-form > .panel-heading .header-actions {
        width: 100%;
    }
    .rpm-form .rpm-form-header-action {
        width: 100%;
    }
    .rpm-form > form > .panel-body {
        padding: 16px 12px;
    }
    .rpm-form > form > .panel-footer {
        min-height: 0;
        padding: 12px;
    }
    .rpm-form .rpm-form-submit {
        width: 100%;
    }
    .rpm-form .tformrow {
        margin-right: -4px;
        margin-bottom: 12px;
        margin-left: -4px;
    }
    .rpm-form .fb-field-container {
        padding-right: 4px;
        padding-left: 4px;
    }
    .rpm-form .tformrow > [class*="col-sm-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .rpm-form .fb-inline-field-container.form-line {
        width: 100% !important;
    }
    .rpm-form .rpm-form-section {
        margin-top: 0;
        margin-bottom: 12px;
    }
    .rpm-form .rpm-form-section .tseparator {
        font-size: 16px !important;
    }
    .rpm-form [tradiogroup] > .btn-group > label.btn {
        flex: 1 1 0;
    }
    .rpm-form .label_timagecropper {
        margin-right: auto;
        margin-left: auto;
    }
}
@media (prefers-reduced-motion: reduce) {
    .rpm-form .rpm-form-header-action,
    .rpm-form .rpm-form-submit,
    .rpm-form input.tfield,
    .rpm-form select,
    .rpm-form textarea,
    .rpm-form input[type="checkbox"].btn-tswitch + label.tswitch::before,
    .rpm-form input[type="checkbox"].btn-tswitch + label.tswitch::after {
        transition: none !important;
    }
}

/* O formulário acompanha o tema ativo sem afetar outros painéis. */
.dark-mode .rpm-form {
    --rpm-form-surface: #1f2b37;
    --rpm-form-header: #243140;
    --rpm-form-hover: #2a3a4c;
    --rpm-form-border: #40556b;
    --rpm-form-text: #f2f5f9;
    --rpm-form-muted: #b7c6d7;
    --rpm-form-focus: #83bfff;
    --rpm-form-focus-soft: rgba(131, 191, 255, 0.22);
    --rpm-form-action: #286db3;
    --rpm-form-success: #4fd2a0;
    --rpm-form-danger: #ff9298;
}
.dark-mode .rpm-form--cliente {
    --rpm-form-accent-contrast: #c9bbff;
    --rpm-form-accent-soft: rgba(201, 187, 255, 0.16);
}
.dark-mode .rpm-form--produto {
    --rpm-form-accent-contrast: #ffc18d;
    --rpm-form-accent-soft: rgba(255, 193, 141, 0.16);
}
.dark-mode .rpm-form.card.panel,
.dark-mode .rpm-form > form,
.dark-mode .rpm-form > form > .panel-body,
.dark-mode .rpm-form > form > .panel-footer {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form > .panel-heading {
    background: var(--rpm-form-header) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form > .panel-heading .panel-title,
.dark-mode .rpm-form .rpm-form-section .tseparator {
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form .rpm-form-header-action {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form .rpm-form-header-action:hover,
.dark-mode .rpm-form .rpm-form-header-action:active {
    background: var(--rpm-form-hover) !important;
    border-color: var(--rpm-form-focus) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form .rpm-form-submit.btn-primary,
.dark-mode .rpm-form .rpm-form-submit.btn-primary:hover,
.dark-mode .rpm-form .rpm-form-submit.btn-primary:active {
    background: var(--rpm-form-focus) !important;
    border-color: var(--rpm-form-focus) !important;
    color: #172333 !important;
}
.dark-mode .rpm-form .fb-inline-field-container > label:not(.tswitch):not(.label_timagecropper),
.dark-mode .rpm-form label.control-label,
.dark-mode .rpm-form input.tfield:not([type="hidden"])::placeholder,
.dark-mode .rpm-form textarea.tfield::placeholder {
    color: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-form input.tfield:not([type="hidden"]),
.dark-mode .rpm-form select.tcombo,
.dark-mode .rpm-form select.tselect,
.dark-mode .rpm-form select[role="tselectsearch"],
.dark-mode .rpm-form textarea.tfield,
.dark-mode .rpm-form .form-control,
.dark-mode .rpm-form .select2-container--default .select2-selection--single {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form input.tfield:not([type="hidden"]):focus,
.dark-mode .rpm-form select.tcombo:focus,
.dark-mode .rpm-form select.tselect:focus,
.dark-mode .rpm-form select[role="tselectsearch"]:focus,
.dark-mode .rpm-form textarea.tfield:focus,
.dark-mode .rpm-form .form-control:focus,
.dark-mode .rpm-form .select2-container--default.select2-container--focus .select2-selection--single,
.dark-mode .rpm-form .select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--rpm-form-focus) !important;
    box-shadow: 0 0 0 3px var(--rpm-form-focus-soft) !important;
}
.dark-mode .rpm-form [tradiogroup] > .btn-group > label.btn {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-form [tradiogroup] > .btn-group > label.btn:hover,
.dark-mode .rpm-form [tradiogroup] > .btn-group > label.btn:active {
    background: var(--rpm-form-hover) !important;
    border-color: var(--rpm-form-focus) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form [tradiogroup] > .btn-group > label.btn.active {
    background: var(--rpm-form-accent-soft) !important;
    border-color: var(--rpm-form-accent-contrast) !important;
    color: var(--rpm-form-accent-contrast) !important;
}
.dark-mode .rpm-form input[type="checkbox"].btn-tswitch + label.tswitch::before {
    background: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-form input[type="checkbox"].btn-tswitch:checked + label.tswitch::before {
    background: var(--rpm-form-action) !important;
}
.dark-mode .rpm-form input[type="checkbox"].btn-tswitch + label.tswitch::after {
    background: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form input[readonly],
.dark-mode .rpm-form select:disabled,
.dark-mode .rpm-form textarea[readonly],
.dark-mode .rpm-form input.tfield_disabled,
.dark-mode .rpm-form select.tcombo_disabled {
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-form .label_timagecropper {
    background: var(--rpm-form-header) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-form .label_timagecropper img.placeholder,
.dark-mode .rpm-form .label_timagecropper i.placeholder {
    color: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-form .rpm-form-section hr.tseparator-divisor {
    border-top-color: var(--rpm-form-border) !important;
}

/* Programação, atendente e plano: extensões locais do Painel Operacional Sereno. */
.rpm-form--programacao,
.rpm-form--atendente,
.rpm-plan {
    --rpm-form-accent: #2469ad;
    --rpm-form-accent-contrast: #2469ad;
    --rpm-form-accent-soft: rgba(36, 105, 173, 0.12);
}
/* O seletor nativo de dia da semana recebe uma única seta, inclusive no tema escuro. */
.rpm-form--programacao select[name="app_rpm_programacao_atendimento_app_rpm_atendente_dia_semana"],
.dark-mode .rpm-form--programacao select[name="app_rpm_programacao_atendimento_app_rpm_atendente_dia_semana"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 17px 17px !important;
    padding-right: 40px;
}
.dark-mode .rpm-form--programacao select[name="app_rpm_programacao_atendimento_app_rpm_atendente_dia_semana"] {
    background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23e6edf3' d='M7.406 7.828l4.594 4.594 4.594-4.594 1.406 1.406-6 6-6-6z'></path></svg>") !important;
}
.rpm-form--programacao .rpm-programacao-detail {
    margin: 4px 0 0;
    padding: 20px 16px 8px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-header);
}
.rpm-form--programacao .rpm-programacao-detail .rpm-form-section {
    margin-top: 0;
}
.rpm-form--programacao .rpm-programacao-list-section {
    margin-top: 20px;
}
.rpm-form--programacao .rpm-programacao-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 44px;
    margin: 4px 0 8px;
    padding: 10px 16px;
    border: 1px solid var(--rpm-form-action);
    border-radius: 10px;
    background: var(--rpm-form-action);
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
}
.rpm-form--programacao .rpm-programacao-add:hover,
.rpm-form--programacao .rpm-programacao-add:active {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-focus);
    color: #ffffff !important;
}
.rpm-form--programacao .rpm-programacao-list {
    width: 100%;
    margin-top: 4px;
    overflow-x: auto;
}
.rpm-form--programacao .rpm-programacao-grid {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0 8px;
    color: var(--rpm-form-text);
}
.rpm-form--programacao .rpm-programacao-grid > thead > tr > th {
    padding: 8px 12px;
    border: 0;
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}
.rpm-form--programacao .rpm-programacao-grid > tbody > tr {
    background: var(--rpm-form-surface);
}
.rpm-form--programacao .rpm-programacao-grid > tbody > tr > td {
    padding: 12px;
    border-top: 1px solid var(--rpm-form-border);
    border-bottom: 1px solid var(--rpm-form-border);
    color: var(--rpm-form-text);
    vertical-align: middle;
}
.rpm-form--programacao .rpm-programacao-grid > tbody > tr > td:first-child {
    border-left: 1px solid var(--rpm-form-border);
    border-radius: 10px 0 0 10px;
}
.rpm-form--programacao .rpm-programacao-grid > tbody > tr > td:last-child {
    border-right: 1px solid var(--rpm-form-border);
    border-radius: 0 10px 10px 0;
}
.rpm-form--programacao .rpm-programacao-grid > tbody > tr:hover {
    background: var(--rpm-form-hover);
}
.rpm-form--programacao .rpm-programacao-grid badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 28px;
    margin: 2px 4px 2px 0;
    padding: 5px 8px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: anywhere;
}
.rpm-form--programacao .rpm-programacao-grid .badge-dark {
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-text) !important;
}
.rpm-form--programacao .rpm-programacao-grid .badge-info {
    background: var(--rpm-form-accent-soft) !important;
    color: var(--rpm-form-accent-contrast) !important;
}
.rpm-form--programacao .rpm-programacao-grid .badge-warning {
    background: #b65a10 !important;
    color: #ffffff !important;
}
.rpm-form--programacao .rpm-programacao-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 2px;
    padding: 8px 10px;
    border-color: var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form--programacao .rpm-programacao-row-action:hover,
.rpm-form--programacao .rpm-programacao-row-action:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
}
.rpm-form--programacao .rpm-programacao-row-action--delete {
    color: var(--rpm-form-danger);
}
.rpm-form--programacao .rpm-programacao-status--inactive {
    color: var(--rpm-form-danger);
}
.rpm-form--programacao .rpm-programacao-status--inactive i,
.rpm-form--programacao [tradiogroup] .fa-times {
    color: var(--rpm-form-danger) !important;
}
.rpm-form--programacao [tradiogroup] .fa-check {
    color: var(--rpm-form-success) !important;
}
.rpm-form--programacao.rpm-programacao-preview {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    overflow: hidden;
}
.rpm-form--programacao.rpm-programacao-preview .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    border: 0;
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
}
.rpm-form--programacao.rpm-programacao-preview .panel-title {
    min-width: 0;
    color: var(--rpm-form-text);
    font-size: 20px;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-close {
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-summary,
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-notice,
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-empty {
    margin: 16px 20px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    color: var(--rpm-form-text);
    overflow-wrap: anywhere;
}
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-summary {
    background: var(--rpm-form-accent-soft);
}
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-notice {
    background: rgba(182, 90, 16, 0.12);
}
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-empty {
    background: var(--rpm-form-header);
}
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-legend {
    margin: 0 20px 16px !important;
    gap: 8px !important;
}
.rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-legend .badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 9px !important;
    border-radius: 8px;
    line-height: 1.2;
}
.rpm-form--programacao.rpm-programacao-preview .fc {
    margin: 0 20px 20px;
    color: var(--rpm-form-text);
}

.rpm-form--atendente {
    --rpm-form-accent: #2469ad;
    --rpm-form-accent-contrast: #2469ad;
    --rpm-form-accent-soft: rgba(36, 105, 173, 0.12);
}
.rpm-form--atendente .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 20px;
    border-bottom: 1px solid var(--rpm-form-border);
}
.rpm-form--atendente .nav-tabs > li {
    float: none;
    margin: 0;
}
.rpm-form--atendente .nav-tabs > li > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 10px 10px 0 0;
    color: var(--rpm-form-muted);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-form--atendente .nav-tabs > li > a:hover,
.rpm-form--atendente .nav-tabs > li > a:focus-visible {
    border-color: var(--rpm-form-border);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text);
}
.rpm-form--atendente .nav-tabs > li.active > a,
.rpm-form--atendente .nav-tabs > li.active > a:hover,
.rpm-form--atendente .nav-tabs > li.active > a:focus-visible {
    border-color: var(--rpm-form-border) var(--rpm-form-border) var(--rpm-form-surface);
    background: var(--rpm-form-surface);
    color: var(--rpm-form-accent-contrast);
}
.rpm-form--atendente .rpm-atendente-inline-action,
.rpm-form--atendente .rpm-atendente-link-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 2px;
    padding: 8px 10px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form--atendente .rpm-atendente-inline-action:hover,
.rpm-form--atendente .rpm-atendente-link-action:hover,
.rpm-form--atendente .rpm-atendente-inline-action:focus-visible,
.rpm-form--atendente .rpm-atendente-link-action:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text);
}
.rpm-form--atendente .rpm-atendente-link-action {
    width: 44px;
    padding: 8px;
}
.rpm-form--atendente .rpm-atendente-link-action[title] {
    white-space: nowrap;
}
.rpm-form--atendente .rpm-form-section {
    margin-top: 8px;
}
.rpm-form--atendente .label_timagecropper {
    border-color: var(--rpm-form-accent);
}

.rpm-plan {
    --rpm-plan-success: #087f59;
    --rpm-plan-info: #2469ad;
    --rpm-plan-warning: #b65a10;
    --rpm-plan-danger: #cf353e;
}
.rpm-plan .rpm-plan-section {
    margin-top: 8px;
    margin-bottom: 12px;
}
.rpm-plan .rpm-plan-status,
.rpm-plan .rpm-plan-callout,
.rpm-plan .rpm-plan-grid {
    width: 100%;
    min-width: 0;
}
.rpm-plan .rpm-plan-status {
    margin: 0 0 16px;
    padding: 16px 20px;
    border: 1px solid var(--rpm-form-border);
    border-top: 3px solid var(--rpm-plan-info);
    border-radius: 10px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
}
.rpm-plan .rpm-plan-status--success {
    border-top-color: var(--rpm-plan-success);
}
.rpm-plan .rpm-plan-status--warning {
    border-top-color: var(--rpm-plan-warning);
}
.rpm-plan .rpm-plan-status--danger {
    border-top-color: var(--rpm-plan-danger);
}
.rpm-plan .rpm-plan-status-label,
.rpm-plan .rpm-plan-card-label {
    margin-bottom: 8px;
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-plan .rpm-plan-status-value {
    color: var(--rpm-form-text);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.rpm-plan .rpm-plan-status--success .rpm-plan-status-value i,
.rpm-plan .rpm-plan-resource--available .rpm-plan-resource-state i {
    color: var(--rpm-plan-success);
}
.rpm-plan .rpm-plan-status--warning .rpm-plan-status-value i {
    color: var(--rpm-plan-warning);
}
.rpm-plan .rpm-plan-status--danger .rpm-plan-status-value i {
    color: var(--rpm-plan-danger);
}
.rpm-plan .rpm-plan-grid {
    display: grid;
    gap: 12px;
    margin: 0 0 20px;
}
.rpm-plan .rpm-plan-grid--summary,
.rpm-plan .rpm-plan-grid--usage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.rpm-plan .rpm-plan-grid--resources {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rpm-plan .rpm-plan-grid--app {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rpm-plan .rpm-plan-card {
    min-width: 0;
    min-height: 96px;
    padding: 16px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    overflow-wrap: anywhere;
}
.rpm-plan .rpm-plan-card--hash .rpm-plan-card-value {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
    word-break: break-all;
}
.rpm-plan .rpm-plan-app {
    margin-bottom: 20px;
}
.rpm-plan .rpm-plan-app-notes {
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    line-height: 1.5;
}
.rpm-plan .rpm-plan-app-notes ul {
    margin: 8px 0 0;
    padding-left: 20px;
}
.rpm-plan .rpm-plan-app-download {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.rpm-plan .rpm-plan-card--primary {
    border-top: 3px solid var(--rpm-form-accent);
}
.rpm-plan .rpm-plan-card-value {
    color: var(--rpm-form-text);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-plan .rpm-plan-resource {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 12px;
}
.rpm-plan .rpm-plan-resource-state {
    color: var(--rpm-form-muted);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}
.rpm-plan .rpm-plan-resource--unavailable .rpm-plan-resource-state i {
    color: var(--rpm-plan-danger);
}
.rpm-plan .rpm-plan-callout {
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid var(--rpm-form-border);
    border-top: 3px solid var(--rpm-plan-warning);
    border-radius: 10px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.rpm-plan .rpm-plan-callout--support {
    border-top-color: var(--rpm-form-accent);
}

@media (max-width: 767px) {
    .rpm-plan .rpm-plan-grid--app {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .rpm-form--programacao .rpm-programacao-detail {
        padding: 16px 8px 4px;
    }
    .rpm-form--programacao .rpm-programacao-add {
        width: 100%;
        margin-top: 4px;
    }
    .rpm-form--programacao .rpm-programacao-list {
        overflow-x: visible;
    }
    .rpm-form--programacao .rpm-programacao-grid,
    .rpm-form--programacao .rpm-programacao-grid > tbody,
    .rpm-form--programacao .rpm-programacao-grid > tbody > tr,
    .rpm-form--programacao .rpm-programacao-grid > tbody > tr > td {
        display: block;
        width: 100%;
    }
    .rpm-form--programacao .rpm-programacao-grid > thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .rpm-form--programacao .rpm-programacao-grid {
        border-spacing: 0;
    }
    .rpm-form--programacao .rpm-programacao-grid > tbody > tr {
        margin: 0 0 12px;
        border: 1px solid var(--rpm-form-border);
        border-radius: 10px;
        background: var(--rpm-form-surface);
    }
    .rpm-form--programacao .rpm-programacao-grid > tbody > tr > td {
        min-height: 44px;
        padding: 12px;
        border: 0;
        border-radius: 0 !important;
    }
    .rpm-form--programacao .rpm-programacao-grid > tbody > tr > td + td {
        border-top: 1px solid var(--rpm-form-border);
    }
    .rpm-form--programacao .rpm-programacao-grid > tbody > tr > td:last-child {
        text-align: right;
    }
    .rpm-form--programacao.rpm-programacao-preview .panel-heading {
        align-items: stretch;
        flex-direction: column;
        padding: 14px 16px;
    }
    .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-close,
    .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-summary,
    .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-notice,
    .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-empty {
        margin-right: 12px;
        margin-left: 12px;
    }
    .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-legend {
        margin-right: 12px !important;
        margin-left: 12px !important;
    }
    .rpm-form--programacao.rpm-programacao-preview .fc {
        margin-right: 12px;
        margin-left: 12px;
    }
    .rpm-form--atendente .nav-tabs {
        align-items: stretch;
        margin-bottom: 16px;
    }
    .rpm-form--atendente .nav-tabs > li,
    .rpm-form--atendente .nav-tabs > li > a {
        width: 100%;
    }
    .rpm-form--atendente .nav-tabs > li > a {
        border-radius: 10px;
    }
    .rpm-form--atendente .nav-tabs > li.active > a,
    .rpm-form--atendente .nav-tabs > li.active > a:hover,
    .rpm-form--atendente .nav-tabs > li.active > a:focus-visible {
        border-color: var(--rpm-form-accent);
        background: var(--rpm-form-accent-soft);
    }
    .rpm-form--atendente .rpm-atendente-link-action {
        flex: 0 0 44px;
    }
    .rpm-plan .rpm-plan-grid--summary,
    .rpm-plan .rpm-plan-grid--usage,
    .rpm-plan .rpm-plan-grid--resources {
        grid-template-columns: minmax(0, 1fr);
    }
    .rpm-plan .rpm-plan-card {
        min-height: 88px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-form--programacao .rpm-programacao-add,
    .rpm-form--programacao .rpm-programacao-row-action,
    .rpm-form--atendente .rpm-atendente-inline-action,
    .rpm-form--atendente .rpm-atendente-link-action,
    .rpm-plan .rpm-plan-card {
        transition: none !important;
    }
}

.dark-mode .rpm-form--programacao,
.dark-mode .rpm-form--atendente,
.dark-mode .rpm-plan {
    --rpm-form-accent: #286db3;
    --rpm-form-accent-contrast: #83bfff;
    --rpm-form-accent-soft: rgba(131, 191, 255, 0.16);
}
.dark-mode .rpm-form--programacao .rpm-programacao-detail,
.dark-mode .rpm-form--programacao.rpm-programacao-preview,
.dark-mode .rpm-form--programacao.rpm-programacao-preview .panel-heading,
.dark-mode .rpm-plan .rpm-plan-status,
.dark-mode .rpm-plan .rpm-plan-callout,
.dark-mode .rpm-plan .rpm-plan-card {
    background: var(--rpm-form-header) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--programacao .rpm-programacao-grid > tbody > tr,
.dark-mode .rpm-form--programacao .rpm-programacao-row-action,
.dark-mode .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-close,
.dark-mode .rpm-form--atendente .rpm-atendente-inline-action,
.dark-mode .rpm-form--atendente .rpm-atendente-link-action {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--programacao .rpm-programacao-grid > tbody > tr:hover,
.dark-mode .rpm-form--programacao .rpm-programacao-row-action:hover,
.dark-mode .rpm-form--programacao .rpm-programacao-row-action:focus-visible,
.dark-mode .rpm-form--atendente .rpm-atendente-inline-action:hover,
.dark-mode .rpm-form--atendente .rpm-atendente-link-action:hover,
.dark-mode .rpm-form--atendente .rpm-atendente-inline-action:focus-visible,
.dark-mode .rpm-form--atendente .rpm-atendente-link-action:focus-visible {
    background: var(--rpm-form-hover) !important;
    border-color: var(--rpm-form-focus) !important;
}
.dark-mode .rpm-form--programacao .rpm-programacao-grid > tbody > tr > td,
.dark-mode .rpm-plan .rpm-plan-status,
.dark-mode .rpm-plan .rpm-plan-callout,
.dark-mode .rpm-plan .rpm-plan-card,
.dark-mode .rpm-plan .rpm-plan-status-value,
.dark-mode .rpm-plan .rpm-plan-card-value,
.dark-mode .rpm-plan .rpm-plan-resource-state {
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--programacao .rpm-programacao-grid > thead > tr > th,
.dark-mode .rpm-plan .rpm-plan-status-label,
.dark-mode .rpm-plan .rpm-plan-card-label {
    color: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-form--programacao .rpm-programacao-grid .badge-dark {
    background: var(--rpm-form-header) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--programacao .rpm-programacao-grid .badge-info {
    background: var(--rpm-form-accent-soft) !important;
    color: var(--rpm-form-accent-contrast) !important;
}
.dark-mode .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-summary {
    background: var(--rpm-form-accent-soft) !important;
}
.dark-mode .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-notice {
    background: rgba(182, 90, 16, 0.22) !important;
}
.dark-mode .rpm-form--programacao.rpm-programacao-preview .rpm-programacao-preview-empty {
    background: var(--rpm-form-header) !important;
}
.dark-mode .rpm-form--atendente .nav-tabs {
    border-color: var(--rpm-form-border);
}
.dark-mode .rpm-form--atendente .nav-tabs > li > a {
    color: var(--rpm-form-muted);
}
.dark-mode .rpm-form--atendente .nav-tabs > li > a:hover,
.dark-mode .rpm-form--atendente .nav-tabs > li > a:focus-visible {
    background: var(--rpm-form-hover);
    border-color: var(--rpm-form-border);
    color: var(--rpm-form-text);
}
.dark-mode .rpm-form--atendente .nav-tabs > li.active > a,
.dark-mode .rpm-form--atendente .nav-tabs > li.active > a:hover,
.dark-mode .rpm-form--atendente .nav-tabs > li.active > a:focus-visible {
    background: var(--rpm-form-accent-soft);
    border-color: var(--rpm-form-accent-contrast);
    color: var(--rpm-form-accent-contrast);
}
.dark-mode .rpm-plan {
    --rpm-plan-success: #4fd2a0;
    --rpm-plan-info: #83bfff;
    --rpm-plan-warning: #ffc18d;
    --rpm-plan-danger: #ff9298;
}
.dark-mode .rpm-plan .rpm-plan-status--success {
    border-top-color: var(--rpm-plan-success) !important;
}
.dark-mode .rpm-plan .rpm-plan-status--warning {
    border-top-color: var(--rpm-plan-warning) !important;
}
.dark-mode .rpm-plan .rpm-plan-status--danger {
    border-top-color: var(--rpm-plan-danger) !important;
}
.dark-mode .rpm-plan .rpm-plan-callout--support {
    border-top-color: var(--rpm-form-accent) !important;
}

/* Fluxo autenticado de geração de pedido. Mantém a linguagem do painel sem
   alterar a apresentação dos demais formulários ou dashboards. */
.rpm-order-flow {
    --rpm-order-success: var(--rpm-form-success);
    --rpm-order-warning: #b65a10;
    --rpm-order-danger: var(--rpm-form-danger);
    width: 100%;
    min-width: 0;
    margin-bottom: 24px;
    overflow: visible;
}
.rpm-order-flow.card.panel {
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    box-shadow: none;
    color: var(--rpm-form-text);
}
.rpm-order-flow > .panel-heading {
    min-width: 0;
    padding: 18px 20px;
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
}
.rpm-order-flow > .panel-heading .panel-title {
    min-width: 0;
    overflow-wrap: anywhere;
}
.rpm-order-flow > .panel-body {
    width: 100%;
    min-width: 0;
    padding: 20px 24px 24px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-order-flow .rpm-order-header-action {
    min-width: 44px;
    min-height: 44px;
}
.rpm-order-flow .rpm-order-header-action--new {
    border-color: var(--rpm-form-action);
    color: var(--rpm-form-action) !important;
}
.rpm-order-flow .rpm-order-header-action--new:hover,
.rpm-order-flow .rpm-order-header-action--new:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text) !important;
}

/* Etapas: sequência informativa com alvos amplos para mouse e teclado. */
.rpm-order-flow .rpm-order-steps {
    width: 100%;
    min-width: 0;
    margin: 0 0 20px;
}
.rpm-order-flow .rpm-order-steps .steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
.rpm-order-flow .rpm-order-steps .steps li {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    padding: 0 8px;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.rpm-order-flow .rpm-order-steps .steps li::before {
    position: absolute;
    top: 18px;
    left: 50%;
    z-index: 0;
    width: 100%;
    height: 1px;
    background: var(--rpm-form-border);
    content: "";
}
.rpm-order-flow .rpm-order-steps .steps li:last-child::before {
    display: none;
}
.rpm-order-flow .rpm-order-steps .steps li .step-number {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 50%;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-muted);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}
.rpm-order-flow .rpm-order-steps .steps li .step-title {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--rpm-form-muted);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    overflow-wrap: anywhere;
}
.rpm-order-flow .rpm-order-steps .steps li .step-title[href]:hover,
.rpm-order-flow .rpm-order-steps .steps li .step-title[href]:focus-visible {
    border-color: var(--rpm-form-border);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text);
}
.rpm-order-flow .rpm-order-steps .steps li.complete::before {
    background: var(--rpm-form-action);
}
.rpm-order-flow .rpm-order-steps .steps li.complete .step-number,
.rpm-order-flow .rpm-order-steps .steps li.active .step-number {
    border-color: var(--rpm-form-action);
    background: var(--rpm-form-action);
    color: #ffffff;
}
.rpm-order-flow .rpm-order-steps .steps li.complete .step-title,
.rpm-order-flow .rpm-order-steps .steps li.active .step-title {
    color: var(--rpm-form-action);
}
.rpm-order-flow .rpm-order-steps .steps li.active .step-title {
    border-color: var(--rpm-form-action);
    background: var(--rpm-form-accent-soft);
}
.rpm-order-flow .rpm-order-steps .steps li .step-title:focus-visible {
    outline: 3px solid var(--rpm-form-focus) !important;
    outline-offset: 3px;
}

/* Os painéis internos são achatados para preservar uma única superfície de
   trabalho; os formulários continuam sendo gerados pelo Adianti. */
.rpm-order-flow .rpm-order-step.card.panel {
    width: 100%;
    min-width: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.rpm-order-flow .rpm-order-step > form {
    width: 100%;
    min-width: 0;
    margin: 0;
}
.rpm-order-flow .rpm-order-step > form > .panel-body {
    width: 100%;
    min-width: 0;
    padding: 20px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-order-flow .rpm-order-step > form > .panel-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-height: 0;
    margin-top: 16px;
    padding: 0;
    border: 0;
    background: transparent;
}
.rpm-order-flow .rpm-order-step > form > .panel-footer .rpm-order-next {
    min-width: 140px;
    min-height: 48px;
    margin: 0;
}
.rpm-order-flow .rpm-order-section {
    width: 100%;
    min-width: 0;
    margin: 4px 0 16px;
    padding: 0;
}
.rpm-order-flow .rpm-order-section .tseparator {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 8px;
    color: var(--rpm-form-text) !important;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-order-flow .rpm-order-section .tseparator::before {
    display: inline-block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rpm-form-action);
    content: "";
}
.rpm-order-flow .rpm-order-section .tseparator-divisor {
    margin: 0;
    border: 0;
    border-top: 1px solid var(--rpm-form-border) !important;
}
.rpm-order-flow .rpm-order-step .tformrow {
    min-width: 0;
    margin-bottom: 16px;
}
.rpm-order-flow .rpm-order-step .fb-field-container,
.rpm-order-flow .rpm-order-step .fb-inline-field-container {
    min-width: 0;
    max-width: 100%;
}
.rpm-order-flow .rpm-order-step .fb-inline-field-container > label,
.rpm-order-flow .rpm-order-step label.control-label {
    overflow-wrap: anywhere;
}

/* Itens do pedido: tabela legível no desktop e cartões rotulados no celular. */
.rpm-order-flow .rpm-order-product-list {
    width: 100% !important;
    min-width: 0;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    color: var(--rpm-form-text);
}
.rpm-order-flow .rpm-order-product-list > thead > tr > th {
    padding: 10px 8px;
    border: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-order-flow .rpm-order-product-list > thead > tr > th:first-child {
    border-radius: 10px 0 0 0;
}
.rpm-order-flow .rpm-order-product-list > thead > tr > th:last-child {
    border-radius: 0 10px 0 0;
}
.rpm-order-flow .rpm-order-product-list > tbody > tr > td {
    min-width: 0;
    padding: 10px 8px;
    border-right: 1px solid var(--rpm-form-border);
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    vertical-align: top;
}
.rpm-order-flow .rpm-order-product-list > tbody > tr > td:first-child {
    border-left: 1px solid var(--rpm-form-border);
}
.rpm-order-flow .rpm-order-product-list > tbody > tr:hover > td {
    background: var(--rpm-form-hover);
}
.rpm-order-flow .rpm-order-product-list td.field > * {
    max-width: 100%;
}
.rpm-order-flow .rpm-order-product-list td.field input,
.rpm-order-flow .rpm-order-product-list td.field select,
.rpm-order-flow .rpm-order-product-list td.field .select2-container {
    width: 100% !important;
    min-width: 0;
}
.rpm-order-flow .rpm-order-product-list td > .btn,
.rpm-order-flow .rpm-order-product-list td > div.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 0 2px 2px 0;
    padding: 8px 10px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    cursor: pointer;
}
.rpm-order-flow .rpm-order-product-list td > .btn:hover,
.rpm-order-flow .rpm-order-product-list td > .btn:focus-visible,
.rpm-order-flow .rpm-order-product-list td > div.btn:hover,
.rpm-order-flow .rpm-order-product-list td > div.btn:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
}
.rpm-order-flow .rpm-order-product-list .handle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    color: var(--rpm-form-muted);
}
.rpm-order-flow .rpm-order-product-list > tfoot > tr > td {
    padding: 10px 8px;
    border-right: 1px solid var(--rpm-form-border);
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    vertical-align: middle;
}
.rpm-order-flow .rpm-order-product-list > tfoot > tr > td:first-child {
    border-left: 1px solid var(--rpm-form-border);
    border-radius: 0 0 0 10px;
}
.rpm-order-flow .rpm-order-product-list > tfoot > tr > td:last-child {
    border-radius: 0 0 10px 0;
}
.rpm-order-flow .rpm-order-product-list > tfoot input[readonly] {
    min-height: 44px;
    border: 0;
    background: transparent !important;
    color: var(--rpm-form-text) !important;
    font-weight: 600;
}
.rpm-order-flow .rpm-order-discounts-row {
    align-items: flex-end;
    padding-top: 4px;
}
.rpm-order-flow .rpm-order-step--produtos #total_pedido {
    font-weight: 700;
}

/* Calendário e resumo da revisão. */
.rpm-order-flow .rpm-order-review-calendar {
    width: 100%;
    min-width: 0;
    margin: 0 0 20px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    overflow: hidden;
}
.rpm-order-flow .rpm-order-review-calendar .fc {
    color: var(--rpm-form-text);
}
.rpm-order-flow .rpm-order-review-meta-item {
    display: flex;
    align-items: flex-start;
    min-width: 0;
    min-height: 64px;
    margin: 0 8px 12px;
    padding: 12px 14px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    gap: 8px;
    overflow-wrap: anywhere;
}
.rpm-order-flow .rpm-order-review-meta-item > label {
    flex: 0 0 auto;
    width: auto !important;
    max-width: 42%;
    margin: 0;
    color: var(--rpm-form-muted) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}
.rpm-order-flow .rpm-order-review-meta-item > span,
.rpm-order-flow .rpm-order-review-meta-item > small {
    min-width: 0;
    color: var(--rpm-form-text) !important;
    overflow-wrap: anywhere;
}
.rpm-order-flow .data_descricao_agendamento {
    display: inline;
    min-width: 0;
    margin-left: 0 !important;
    color: var(--rpm-order-success) !important;
    overflow-wrap: anywhere;
}
.rpm-order-flow .rpm-order-review-products {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    overflow-wrap: anywhere;
}
.rpm-order-flow .rpm-order-review-products > label {
    display: block;
    width: 100% !important;
    margin: 0 0 12px;
    color: var(--rpm-form-text) !important;
    font-size: 18px;
    font-weight: 600;
}
.rpm-order-flow .rpm-order-review-table {
    width: 100% !important;
    min-width: 0;
    margin: 0;
    table-layout: fixed;
    color: var(--rpm-form-text);
}
.rpm-order-flow .rpm-order-review-table > tbody > tr > td {
    min-width: 0;
    padding: 10px 8px;
    border-top: 1px solid var(--rpm-form-border);
    color: var(--rpm-form-text) !important;
    overflow-wrap: anywhere;
}
.rpm-order-flow .rpm-order-review-table > tbody > tr:first-child > td {
    border-top: 0;
}
.rpm-order-flow .rpm-order-review-table .rpm-order-review-discount td,
.rpm-order-flow .rpm-order-review-table .rpm-order-review-discount-total td {
    color: var(--rpm-order-danger) !important;
}
.rpm-order-flow .rpm-order-review-table .rpm-order-review-subtotal td {
    border-top: 1px solid var(--rpm-form-border);
    font-weight: 600;
}
.rpm-order-flow .rpm-order-review-table .rpm-order-review-total td {
    border-top: 2px solid var(--rpm-form-action);
    color: var(--rpm-form-action) !important;
    font-size: 18px;
    font-weight: 700;
}
.rpm-order-flow .rpm-order-review-actions {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 8px;
    width: 100%;
    min-width: 0;
    margin: 20px 0 0;
}
.rpm-order-flow .rpm-order-review-actions > div {
    display: flex;
    flex: 0 1 220px;
    min-width: 0;
}
.rpm-order-flow .rpm-order-review-actions .rpm-order-cancel,
.rpm-order-flow .rpm-order-review-actions .rpm-order-confirm {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    min-width: 44px;
    min-height: 48px;
    margin: 0;
    padding: 12px 18px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
}
.rpm-order-flow .rpm-order-review-actions .rpm-order-cancel {
    border: 1px solid var(--rpm-order-danger);
    background: transparent;
    color: var(--rpm-order-danger) !important;
}
.rpm-order-flow .rpm-order-review-actions .rpm-order-cancel:hover,
.rpm-order-flow .rpm-order-review-actions .rpm-order-cancel:focus-visible {
    background: rgba(207, 53, 62, 0.10);
}
.rpm-order-flow .rpm-order-review-actions .rpm-order-confirm {
    border: 1px solid var(--rpm-order-success);
    background: var(--rpm-order-success);
    color: #ffffff !important;
}
.rpm-order-flow .rpm-order-review-actions .rpm-order-confirm:hover,
.rpm-order-flow .rpm-order-review-actions .rpm-order-confirm:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-focus);
    color: #ffffff !important;
}
.rpm-order-flow .rpm-order-header-action:focus-visible,
.rpm-order-flow .rpm-order-next:focus-visible,
.rpm-order-flow .rpm-order-review-actions a:focus-visible,
.rpm-order-flow .rpm-order-product-list .btn:focus-visible {
    outline: 3px solid var(--rpm-form-focus) !important;
    outline-offset: 3px;
}
.rpm-order-flow ::selection {
    background: var(--rpm-form-action);
    color: #ffffff;
}

@media (max-width: 767px) {
    .rpm-order-flow > .panel-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding: 16px;
    }
    .rpm-order-flow > .panel-heading .header-actions {
        width: 100%;
    }
    .rpm-order-flow .rpm-order-header-action {
        width: 100%;
    }
    .rpm-order-flow > .panel-body {
        padding: 16px 12px 20px;
    }
    .rpm-order-flow .rpm-order-steps {
        margin-bottom: 16px;
    }
    .rpm-order-flow .rpm-order-steps .steps {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        min-width: 0;
    }
    .rpm-order-flow .rpm-order-steps .steps li {
        padding: 0 2px;
    }
    .rpm-order-flow .rpm-order-steps .steps li .step-title {
        width: 100%;
        min-height: 52px;
        padding: 6px 4px;
        font-size: 13px;
        line-height: 1.2;
        overflow-wrap: break-word;
        word-break: normal;
    }
    .rpm-order-flow .rpm-order-step > form > .panel-body {
        padding: 16px 12px;
    }
    .rpm-order-flow .rpm-order-step > form > .panel-footer {
        align-items: stretch;
        flex-direction: column;
        margin-top: 12px;
    }
    .rpm-order-flow .rpm-order-step > form > .panel-footer .rpm-order-next {
        width: 100%;
    }
    .rpm-order-flow .rpm-order-section .tseparator {
        font-size: 16px !important;
    }
    .rpm-order-flow .rpm-order-product-list,
    .rpm-order-flow .rpm-order-product-list > tbody,
    .rpm-order-flow .rpm-order-product-list > tbody > tr,
    .rpm-order-flow .rpm-order-product-list > tbody > tr > td,
    .rpm-order-flow .rpm-order-product-list > tfoot,
    .rpm-order-flow .rpm-order-product-list > tfoot > tr,
    .rpm-order-flow .rpm-order-product-list > tfoot > tr > td {
        display: block;
        width: 100% !important;
    }
    .rpm-order-flow .rpm-order-product-list > thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .rpm-order-flow .rpm-order-product-list > tbody > tr {
        margin: 0 0 12px;
        border: 1px solid var(--rpm-form-border);
        border-radius: 10px;
        background: var(--rpm-form-surface);
        overflow: hidden;
    }
    .rpm-order-flow .rpm-order-product-list > tbody > tr > td {
        position: relative;
        display: grid;
        grid-template-columns: minmax(104px, 34%) minmax(0, 1fr);
        gap: 8px;
        align-items: center;
        min-height: 64px;
        padding: 10px 12px;
        border: 0;
        border-top: 1px solid var(--rpm-form-border);
    }
    .rpm-order-flow .rpm-order-product-list > tbody > tr > td:first-child {
        border-top: 0;
        border-left: 0;
    }
    .rpm-order-flow .rpm-order-product-list > tbody > tr > td::before {
        display: block;
        color: var(--rpm-form-muted);
        content: attr(data-label);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
    .rpm-order-flow .rpm-order-product-list > tbody > tr > td:not(.field)::before {
        content: "Ação";
    }
    .rpm-order-flow .rpm-order-product-list > tbody > tr > td > * {
        min-width: 0;
    }
    .rpm-order-flow .rpm-order-product-list > tfoot > tr > td {
        min-height: 56px;
        padding: 10px 12px;
        border: 0;
        border-top: 1px solid var(--rpm-form-border);
        border-radius: 0 !important;
    }
    .rpm-order-flow .rpm-order-product-list > tfoot > tr > td:first-child {
        border-top: 1px solid var(--rpm-form-border);
        border-left: 0;
    }
    .rpm-order-flow .rpm-order-product-list > tfoot > tr > td:empty {
        display: none;
    }
    .rpm-order-flow .rpm-order-discounts-row > [class*="col-sm-"] {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 12px;
    }
    .rpm-order-flow .rpm-order-review-meta-item {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
    .rpm-order-flow .rpm-order-review-products {
        padding: 12px;
    }
    .rpm-order-flow .rpm-order-review-table,
    .rpm-order-flow .rpm-order-review-table > tbody,
    .rpm-order-flow .rpm-order-review-table > tbody > tr,
    .rpm-order-flow .rpm-order-review-table > tbody > tr > td {
        display: block;
        width: 100% !important;
    }
    .rpm-order-flow .rpm-order-review-table > tbody > tr {
        padding: 8px 0;
        border-top: 1px solid var(--rpm-form-border);
    }
    .rpm-order-flow .rpm-order-review-table > tbody > tr:first-child {
        border-top: 0;
    }
    .rpm-order-flow .rpm-order-review-table > tbody > tr > td {
        padding: 4px 0;
        border: 0;
        text-align: left !important;
    }
    .rpm-order-flow .rpm-order-review-table .rpm-order-review-total td {
        padding-top: 10px;
    }
    .rpm-order-flow .rpm-order-review-actions {
        align-items: stretch;
        flex-direction: column;
        margin-top: 16px;
    }
    .rpm-order-flow .rpm-order-review-actions > div {
        flex: 1 1 auto;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-order-flow .rpm-order-header-action,
    .rpm-order-flow .rpm-order-next,
    .rpm-order-flow .rpm-order-review-actions a,
    .rpm-order-flow .rpm-order-product-list .btn {
        transition: none !important;
    }
}

.dark-mode .rpm-order-flow {
    --rpm-order-success: #4fd2a0;
    --rpm-order-warning: #ffc18d;
    --rpm-order-danger: #ff9298;
}
.dark-mode .rpm-order-flow.card.panel,
.dark-mode .rpm-order-flow > .panel-body,
.dark-mode .rpm-order-flow .rpm-order-step > form > .panel-body {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-order-flow > .panel-heading,
.dark-mode .rpm-order-flow .rpm-order-section,
.dark-mode .rpm-order-flow .rpm-order-review-products,
.dark-mode .rpm-order-flow .rpm-order-review-meta-item,
.dark-mode .rpm-order-flow .rpm-order-product-list > thead > tr > th,
.dark-mode .rpm-order-flow .rpm-order-product-list > tfoot > tr > td {
    background: var(--rpm-form-header) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-order-flow .rpm-order-steps .steps li .step-number,
.dark-mode .rpm-order-flow .rpm-order-product-list > tbody > tr > td,
.dark-mode .rpm-order-flow .rpm-order-product-list td > .btn,
.dark-mode .rpm-order-flow .rpm-order-product-list td > div.btn,
.dark-mode .rpm-order-flow .rpm-order-review-calendar {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-order-flow .rpm-order-steps .steps li::before {
    background: var(--rpm-form-border);
}
.dark-mode .rpm-order-flow .rpm-order-steps .steps li.complete::before {
    background: var(--rpm-form-focus);
}
.dark-mode .rpm-order-flow .rpm-order-steps .steps li .step-title,
.dark-mode .rpm-order-flow .rpm-order-product-list > thead > tr > th,
.dark-mode .rpm-order-flow .rpm-order-review-meta-item > label,
.dark-mode .rpm-order-flow .rpm-order-product-list > tbody > tr > td::before {
    color: var(--rpm-form-muted) !important;
}
.dark-mode .rpm-order-flow .rpm-order-steps .steps li.complete .step-number,
.dark-mode .rpm-order-flow .rpm-order-steps .steps li.active .step-number {
    border-color: var(--rpm-form-focus) !important;
    background: var(--rpm-form-focus) !important;
    color: #172333 !important;
}
.dark-mode .rpm-order-flow .rpm-order-steps .steps li.complete .step-title,
.dark-mode .rpm-order-flow .rpm-order-steps .steps li.active .step-title {
    color: var(--rpm-form-focus) !important;
}
.dark-mode .rpm-order-flow .rpm-order-steps .steps li.active .step-title {
    border-color: var(--rpm-form-focus) !important;
    background: var(--rpm-form-accent-soft) !important;
}
.dark-mode .rpm-order-flow .rpm-order-header-action--new {
    border-color: var(--rpm-form-focus) !important;
    color: var(--rpm-form-focus) !important;
}
.dark-mode .rpm-order-flow .rpm-order-header-action--new:hover,
.dark-mode .rpm-order-flow .rpm-order-header-action--new:focus-visible,
.dark-mode .rpm-order-flow .rpm-order-product-list > tbody > tr:hover > td,
.dark-mode .rpm-order-flow .rpm-order-product-list td > .btn:hover,
.dark-mode .rpm-order-flow .rpm-order-product-list td > .btn:focus-visible,
.dark-mode .rpm-order-flow .rpm-order-product-list td > div.btn:hover,
.dark-mode .rpm-order-flow .rpm-order-product-list td > div.btn:focus-visible {
    background: var(--rpm-form-hover) !important;
    border-color: var(--rpm-form-focus) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-order-flow .rpm-order-review-table > tbody > tr > td,
.dark-mode .rpm-order-flow .rpm-order-review-meta-item > span,
.dark-mode .rpm-order-flow .rpm-order-review-meta-item > small,
.dark-mode .rpm-order-flow .rpm-order-review-products > label {
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-order-flow .data_descricao_agendamento {
    color: var(--rpm-order-success) !important;
}
.dark-mode .rpm-order-flow .rpm-order-review-table .rpm-order-review-discount td,
.dark-mode .rpm-order-flow .rpm-order-review-table .rpm-order-review-discount-total td {
    color: var(--rpm-order-danger) !important;
}
.dark-mode .rpm-order-flow .rpm-order-review-table .rpm-order-review-total td {
    border-top-color: var(--rpm-form-focus) !important;
    color: var(--rpm-form-focus) !important;
}
.dark-mode .rpm-order-flow .rpm-order-review-actions .rpm-order-cancel {
    border-color: var(--rpm-order-danger);
    color: var(--rpm-order-danger) !important;
}
.dark-mode .rpm-order-flow .rpm-order-review-actions .rpm-order-cancel:hover,
.dark-mode .rpm-order-flow .rpm-order-review-actions .rpm-order-cancel:focus-visible {
    background: rgba(255, 146, 152, 0.14);
}
.dark-mode .rpm-order-flow .rpm-order-review-actions .rpm-order-confirm {
    border-color: var(--rpm-order-success);
    background: var(--rpm-order-success);
    color: #172333 !important;
}
.dark-mode .rpm-order-flow .rpm-order-review-actions .rpm-order-confirm:hover,
.dark-mode .rpm-order-flow .rpm-order-review-actions .rpm-order-confirm:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-focus);
    color: #172333 !important;
}

/* Agendas e pesquisas: extensões locais do Painel Operacional Sereno. */
.rpm-form--agenda,
.rpm-form--pesquisa,
.rpm-listing--agendas,
.rpm-listing--pesquisas {
    min-width: 0;
    --rpm-form-accent: #2469ad;
    --rpm-form-accent-contrast: #2469ad;
    --rpm-form-accent-soft: rgba(36, 105, 173, 0.12);
}
.rpm-listing--agendas,
.rpm-listing--pesquisas {
    --rpm-listing-accent: #2469ad;
    --rpm-listing-accent-contrast: #2469ad;
    --rpm-listing-accent-soft: rgba(36, 105, 173, 0.12);
}

.rpm-form--agenda .rpm-agenda-detail,
.rpm-form--pesquisa .rpm-pesquisa-question-detail {
    min-width: 0;
    margin: 4px 0 0;
    padding: 20px 16px 8px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
}
.rpm-form--agenda .rpm-agenda-products-section,
.rpm-form--pesquisa .rpm-pesquisa-response-section,
.rpm-form--pesquisa .rpm-pesquisa-question-list-section {
    margin-top: 0;
}
.rpm-form--agenda .rpm-agenda-add,
.rpm-form--pesquisa .rpm-pesquisa-question-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 44px;
    margin: 4px 0 8px;
    padding: 10px 16px;
    border: 1px solid var(--rpm-form-action);
    border-radius: 10px;
    background: var(--rpm-form-action);
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
}
.rpm-form--agenda .rpm-agenda-add:hover,
.rpm-form--agenda .rpm-agenda-add:focus-visible,
.rpm-form--pesquisa .rpm-pesquisa-question-add:hover,
.rpm-form--pesquisa .rpm-pesquisa-question-add:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-focus);
    color: #ffffff !important;
}
.rpm-form--pesquisa .select2-container--default .select2-selection--multiple {
    min-height: 100px;
    padding: 6px 8px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 84px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
}
.rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-selection__choice {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    margin: 2px 0;
    padding: 6px 8px;
    border: 1px solid var(--rpm-form-accent);
    border-radius: 8px;
    background: var(--rpm-form-accent-soft);
    color: var(--rpm-form-accent-contrast);
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 6px;
    color: currentColor;
    font-weight: 700;
}
.rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-search--inline,
.rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-search__field {
    min-height: 32px;
    margin: 2px 0;
    color: var(--rpm-form-text);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.3;
}
.rpm-form--pesquisa .select2-container--default.select2-container--focus .select2-selection--multiple,
.rpm-form--pesquisa .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--rpm-form-focus);
    box-shadow: 0 0 0 3px var(--rpm-form-focus-soft);
}
.rpm-form--agenda .rpm-agenda-products-list,
.rpm-form--pesquisa .rpm-pesquisa-question-list {
    width: 100%;
    min-width: 0;
    margin-top: 4px;
}
.rpm-form--agenda .rpm-agenda-products-grid,
.rpm-form--pesquisa .rpm-pesquisa-question-grid {
    width: 100%;
    min-width: 0;
    margin: 0;
    table-layout: fixed;
    border: 1px solid var(--rpm-form-border);
    border-collapse: separate !important;
    border-spacing: 0;
    border-radius: 12px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form--agenda .rpm-agenda-products-grid > thead > tr > th,
.rpm-form--pesquisa .rpm-pesquisa-question-grid > thead > tr > th {
    padding: 11px 12px;
    border: 0;
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}
.rpm-form--agenda .rpm-agenda-products-grid > tbody > tr,
.rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr {
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-form--agenda .rpm-agenda-products-grid > tbody > tr:hover,
.rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr:hover {
    background: var(--rpm-form-hover);
}
.rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td,
.rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td {
    padding: 12px;
    border: 0;
    border-top: 1px solid var(--rpm-form-border);
    background: transparent;
    color: var(--rpm-form-text);
    font-size: 16px;
    line-height: 1.45;
    overflow-wrap: anywhere;
    vertical-align: middle;
}
.rpm-form--agenda .rpm-agenda-products-grid > tbody > tr:first-child > td,
.rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr:first-child > td {
    border-top: 0;
}
.rpm-form--agenda .rpm-agenda-products-grid td.tdatagrid_cell.action,
.rpm-form--pesquisa .rpm-pesquisa-question-grid td.tdatagrid_cell.action {
    width: 152px;
    padding: 8px;
    text-align: right;
    white-space: normal;
}
.rpm-form--agenda .rpm-agenda-row-action,
.rpm-form--pesquisa .rpm-pesquisa-question-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 2px;
    padding: 8px 10px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    line-height: 1.2;
}
.rpm-form--agenda .rpm-agenda-row-action:hover,
.rpm-form--agenda .rpm-agenda-row-action:focus-visible,
.rpm-form--pesquisa .rpm-pesquisa-question-action:hover,
.rpm-form--pesquisa .rpm-pesquisa-question-action:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text);
}
.rpm-form--agenda .rpm-agenda-row-action--delete,
.rpm-form--pesquisa .rpm-pesquisa-question-action--delete {
    color: var(--rpm-form-danger);
}
.rpm-form--agenda .rpm-agenda-row-action--delete:hover,
.rpm-form--agenda .rpm-agenda-row-action--delete:focus-visible,
.rpm-form--pesquisa .rpm-pesquisa-question-action--delete:hover,
.rpm-form--pesquisa .rpm-pesquisa-question-action--delete:focus-visible {
    border-color: var(--rpm-form-danger);
    color: var(--rpm-form-danger);
}
.rpm-form--agenda .rpm-agenda-products-grid a:focus-visible,
.rpm-form--agenda .rpm-agenda-products-grid button:focus-visible,
.rpm-form--pesquisa .rpm-pesquisa-question-grid a:focus-visible,
.rpm-form--pesquisa .rpm-pesquisa-question-grid button:focus-visible,
.rpm-form--agenda .rpm-agenda-add:focus-visible,
.rpm-form--pesquisa .rpm-pesquisa-question-add:focus-visible {
    outline: 3px solid var(--rpm-form-focus) !important;
    outline-offset: 3px;
}

.rpm-listing--agendas .rpm-listing-table th:nth-child(1),
.rpm-listing--agendas .rpm-listing-table td:nth-child(1) {
    width: 56px;
}
.rpm-listing--agendas .rpm-listing-table th:nth-child(2),
.rpm-listing--agendas .rpm-listing-table td:nth-child(2) {
    width: auto;
}
.rpm-listing--pesquisas .rpm-listing-table th:nth-child(1),
.rpm-listing--pesquisas .rpm-listing-table td:nth-child(1) {
    width: 56px;
}
.rpm-listing--pesquisas .rpm-listing-table th:nth-child(2),
.rpm-listing--pesquisas .rpm-listing-table td:nth-child(2) {
    width: 40%;
}
.rpm-listing--pesquisas .rpm-listing-table th:nth-child(3),
.rpm-listing--pesquisas .rpm-listing-table td:nth-child(3),
.rpm-listing--pesquisas .rpm-listing-table th:nth-child(4),
.rpm-listing--pesquisas .rpm-listing-table td:nth-child(4) {
    width: 22%;
}
.rpm-listing--agendas .rpm-listing-table td[data-role="primary"],
.rpm-listing--pesquisas .rpm-listing-table td[data-role="primary"] {
    font-weight: 600;
}
.rpm-listing--pesquisas .rpm-listing-table td[data-role="date"] {
    font-variant-numeric: tabular-nums;
}
.rpm-listing--pesquisas .rpm-listing-table tbody > tr.rpm-listing-row > td[data-role="date"] {
    order: 4;
}
.rpm-listing--agendas .rpm-listing-table td.tdatagrid_cell.action .btn,
.rpm-listing--pesquisas .rpm-listing-table td.tdatagrid_cell.action .btn {
    min-width: 44px;
    min-height: 44px;
}
.rpm-listing--agendas .rpm-agenda-row-action,
.rpm-listing--pesquisas .rpm-pesquisa-row-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 2px;
    padding: 8px 10px;
    border: 1px solid var(--rpm-listing-border);
    border-radius: 10px;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text);
    line-height: 1.2;
    white-space: normal;
}
.rpm-listing--agendas .rpm-agenda-row-action:hover,
.rpm-listing--agendas .rpm-agenda-row-action:focus-visible,
.rpm-listing--pesquisas .rpm-pesquisa-row-action:hover,
.rpm-listing--pesquisas .rpm-pesquisa-row-action:focus-visible {
    border-color: var(--rpm-listing-focus);
    background: var(--rpm-listing-hover);
    color: var(--rpm-listing-text);
}
.rpm-listing--agendas .rpm-agenda-row-action--delete,
.rpm-listing--pesquisas .rpm-pesquisa-row-action--delete {
    color: var(--rpm-listing-danger);
}
.rpm-listing--agendas .rpm-agenda-row-action--delete:hover,
.rpm-listing--agendas .rpm-agenda-row-action--delete:focus-visible,
.rpm-listing--pesquisas .rpm-pesquisa-row-action--delete:hover,
.rpm-listing--pesquisas .rpm-pesquisa-row-action--delete:focus-visible {
    border-color: var(--rpm-listing-danger);
    color: var(--rpm-listing-danger);
}

@media (max-width: 767px) {
    .rpm-form--agenda,
    .rpm-form--pesquisa,
    .rpm-listing--agendas,
    .rpm-listing--pesquisas {
        min-width: 0;
        width: 100%;
    }
    .rpm-form--agenda .rpm-agenda-detail,
    .rpm-form--pesquisa .rpm-pesquisa-question-detail {
        margin-top: 0;
        padding: 16px 8px 4px;
    }
    .rpm-form--agenda .rpm-agenda-add,
    .rpm-form--pesquisa .rpm-pesquisa-question-add {
        width: 100%;
        margin-top: 4px;
    }
    .rpm-form--agenda .rpm-agenda-products-list,
    .rpm-form--pesquisa .rpm-pesquisa-question-list {
        overflow-x: visible !important;
    }
    .rpm-form--agenda .rpm-agenda-products-grid,
    .rpm-form--agenda .rpm-agenda-products-grid > tbody,
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr,
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td {
        display: block;
        width: 100%;
    }
    .rpm-form--agenda .rpm-agenda-products-grid,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid {
        border: 0;
        border-radius: 0;
        background: transparent;
    }
    .rpm-form--agenda .rpm-agenda-products-grid > thead,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr {
        margin: 0 0 12px;
        padding: 10px 12px;
        border: 1px solid var(--rpm-form-border);
        border-radius: 12px;
        background: var(--rpm-form-surface);
    }
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td {
        display: grid;
        grid-template-columns: minmax(5.5rem, 32%) minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        min-height: 44px;
        padding: 8px 0;
        border: 0;
        background: transparent;
        text-align: left;
    }
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td::before,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td::before {
        content: attr(data-label);
        color: var(--rpm-form-muted);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.35;
        padding-left: 8px;
    }
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td.tdatagrid_cell.action,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td.tdatagrid_cell.action {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        min-height: 44px;
        padding: 0 0 4px;
        text-align: right;
    }
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td.tdatagrid_cell.action::before,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td.tdatagrid_cell.action::before {
        display: none;
    }
    .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td.tdatagrid_cell.action .btn,
    .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td.tdatagrid_cell.action .btn {
        min-width: 44px;
        min-height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-form--agenda .rpm-agenda-add,
    .rpm-form--agenda .rpm-agenda-row-action,
    .rpm-form--pesquisa .rpm-pesquisa-question-add,
    .rpm-form--pesquisa .rpm-pesquisa-question-action {
        transition: none !important;
    }
}

.dark-mode .rpm-form--agenda,
.dark-mode .rpm-form--pesquisa,
.dark-mode .rpm-listing--agendas,
.dark-mode .rpm-listing--pesquisas {
    --rpm-form-accent: #286db3;
    --rpm-form-accent-contrast: #83bfff;
    --rpm-form-accent-soft: rgba(131, 191, 255, 0.16);
    --rpm-listing-accent: #286db3;
    --rpm-listing-accent-contrast: #83bfff;
    --rpm-listing-accent-soft: rgba(131, 191, 255, 0.16);
}
.dark-mode .rpm-form--agenda .rpm-agenda-detail,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-detail,
.dark-mode .rpm-form--agenda .rpm-agenda-products-grid,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-grid,
.dark-mode .rpm-form--agenda .rpm-agenda-products-grid > thead > tr > th,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-grid > thead > tr > th {
    background: var(--rpm-form-header) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr,
.dark-mode .rpm-form--agenda .rpm-agenda-row-action,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-action {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td {
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr:hover,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr:hover,
.dark-mode .rpm-form--agenda .rpm-agenda-row-action:hover,
.dark-mode .rpm-form--agenda .rpm-agenda-row-action:focus-visible,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-action:hover,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-action:focus-visible {
    background: var(--rpm-form-hover) !important;
    border-color: var(--rpm-form-focus) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--agenda .rpm-agenda-add,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-add {
    background: var(--rpm-form-focus) !important;
    border-color: var(--rpm-form-focus) !important;
    color: #172333 !important;
}
.dark-mode .rpm-form--agenda .rpm-agenda-add:hover,
.dark-mode .rpm-form--agenda .rpm-agenda-add:focus-visible,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-add:hover,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-add:focus-visible {
    background: var(--rpm-form-hover) !important;
    border-color: var(--rpm-form-focus) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-listing--agendas .rpm-agenda-row-action,
.dark-mode .rpm-listing--pesquisas .rpm-pesquisa-row-action {
    background: var(--rpm-listing-surface) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing--agendas .rpm-agenda-row-action:hover,
.dark-mode .rpm-listing--agendas .rpm-agenda-row-action:focus-visible,
.dark-mode .rpm-listing--pesquisas .rpm-pesquisa-row-action:hover,
.dark-mode .rpm-listing--pesquisas .rpm-pesquisa-row-action:focus-visible {
    background: var(--rpm-listing-hover) !important;
    border-color: var(--rpm-listing-focus) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-listing--agendas .rpm-agenda-row-action--delete,
.dark-mode .rpm-listing--pesquisas .rpm-pesquisa-row-action--delete {
    color: var(--rpm-listing-danger) !important;
}
.dark-mode .rpm-form--pesquisa .select2-container--default .select2-selection--multiple,
.dark-mode .rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: var(--rpm-form-accent-soft) !important;
    border-color: var(--rpm-form-accent-contrast) !important;
    color: var(--rpm-form-accent-contrast) !important;
}
.dark-mode .rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-search__field {
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--pesquisa .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {
    color: var(--rpm-form-muted) !important;
    opacity: 1;
}
.dark-mode .rpm-form--pesquisa .select2-container--default.select2-container--focus .select2-selection--multiple,
.dark-mode .rpm-form--pesquisa .select2-container--default.select2-container--open .select2-selection--multiple {
    border-color: var(--rpm-form-focus) !important;
    box-shadow: 0 0 0 3px var(--rpm-form-focus-soft) !important;
}
.dark-mode .rpm-form--agenda .rpm-agenda-row-action--delete,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-action--delete {
    color: var(--rpm-form-danger) !important;
}
.dark-mode .rpm-form--agenda .rpm-agenda-products-grid > tbody > tr > td::before,
.dark-mode .rpm-form--pesquisa .rpm-pesquisa-question-grid > tbody > tr > td::before {
    color: var(--rpm-form-muted) !important;
}

/* Relatório financeiro de pedidos: apresentação responsiva e semântica, isolada da base RPM. */
.rpm-form--financeiro,
.rpm-listing--financeiro {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.rpm-form--financeiro {
    --rpm-finance-info: #2469ad;
    --rpm-finance-info-soft: rgba(36, 105, 173, 0.12);
    --rpm-finance-success: #087f59;
    --rpm-finance-success-soft: rgba(8, 127, 89, 0.12);
    --rpm-finance-warning: #b65a10;
    --rpm-finance-warning-soft: rgba(182, 90, 16, 0.12);
    --rpm-finance-danger: #cf353e;
    --rpm-finance-danger-soft: rgba(207, 53, 62, 0.12);
}
.rpm-listing--financeiro {
    --rpm-finance-info: #2469ad;
    --rpm-finance-info-soft: rgba(36, 105, 173, 0.12);
    --rpm-finance-success: #087f59;
    --rpm-finance-success-soft: rgba(8, 127, 89, 0.12);
    --rpm-finance-warning: #b65a10;
    --rpm-finance-warning-soft: rgba(182, 90, 16, 0.12);
    --rpm-finance-danger: #cf353e;
    --rpm-finance-danger-soft: rgba(207, 53, 62, 0.12);
}
.rpm-form--financeiro.card.panel {
    background: var(--rpm-form-surface);
}
.rpm-form--financeiro .rpm-finance-section {
    margin-top: 8px;
    margin-bottom: 18px;
}
.rpm-form--financeiro .rpm-finance-section + .tformrow {
    margin-top: 0;
}
.rpm-form--financeiro > form > .panel-footer {
    flex-wrap: wrap;
    gap: 8px;
}
.rpm-form--financeiro .rpm-finance-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text) !important;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
    white-space: normal;
}
.rpm-form--financeiro .rpm-finance-action:hover,
.rpm-form--financeiro .rpm-finance-action:active,
.rpm-form--financeiro .rpm-finance-action:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text) !important;
    text-decoration: none;
}
.rpm-form--financeiro .rpm-finance-export {
    border-color: var(--rpm-finance-info);
    color: var(--rpm-finance-info) !important;
}
.rpm-form--financeiro .rpm-finance-export:hover,
.rpm-form--financeiro .rpm-finance-export:active,
.rpm-form--financeiro .rpm-finance-export:focus-visible {
    border-color: var(--rpm-form-focus);
    color: var(--rpm-form-focus) !important;
}
.rpm-form--financeiro .rpm-finance-clear {
    color: var(--rpm-form-muted) !important;
}
.rpm-form--financeiro .rpm-finance-back {
    border-color: var(--rpm-form-border);
}
.rpm-form--financeiro .rpm-finance-search {
    min-height: 48px;
}
.rpm-listing--financeiro.card.panel {
    min-width: 0;
    margin-bottom: 24px;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.rpm-listing--financeiro > .panel-heading {
    min-width: 0;
}
.rpm-listing--financeiro .rpm-finance-panel-title {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    overflow-wrap: anywhere;
}
.rpm-listing--financeiro .rpm-finance-summary {
    display: block;
    max-width: 100%;
    color: var(--rpm-listing-muted);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.rpm-listing--financeiro > .panel-body {
    min-width: 0;
    padding-top: 20px;
    overflow: visible;
}
.rpm-listing--financeiro .rpm-finance-results-table {
    width: 100%;
    min-width: 0;
    margin: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
}
.rpm-listing--financeiro .rpm-finance-table {
    min-width: 940px;
    table-layout: fixed;
}
.rpm-listing--financeiro .rpm-finance-table > thead > tr > th {
    background: var(--rpm-listing-header);
    color: var(--rpm-listing-muted);
    white-space: normal;
}
.rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td {
    min-width: 0;
    overflow-wrap: anywhere;
}
.rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="primary"],
.rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="attendant"] {
    overflow-wrap: anywhere;
}
.rpm-listing--financeiro .rpm-finance-table td[data-role="code"],
.rpm-listing--financeiro .rpm-finance-table td[data-role="date"] {
    font-variant-numeric: tabular-nums;
}
.rpm-listing--financeiro .rpm-finance-table td[data-role="amount"],
.rpm-listing--financeiro .rpm-finance-table td[data-role="amount-received"] {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.rpm-listing--financeiro .rpm-finance-amount,
.rpm-listing--financeiro .rpm-finance-total-value {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.rpm-listing--financeiro .rpm-finance-amount {
    color: var(--rpm-listing-text);
    font-weight: 600;
}
.rpm-listing--financeiro .rpm-finance-amount--received {
    color: var(--rpm-finance-success);
}
.rpm-listing--financeiro .rpm-finance-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 30px;
    max-width: 100%;
    padding: 5px 9px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    overflow-wrap: anywhere;
}
.rpm-listing--financeiro .rpm-finance-status--info {
    border-color: var(--rpm-finance-info);
    background: var(--rpm-finance-info-soft);
    color: var(--rpm-finance-info);
}
.rpm-listing--financeiro .rpm-finance-status--success {
    border-color: var(--rpm-finance-success);
    background: var(--rpm-finance-success-soft);
    color: var(--rpm-finance-success);
}
.rpm-listing--financeiro .rpm-finance-status--warning {
    border-color: var(--rpm-finance-warning);
    background: var(--rpm-finance-warning-soft);
    color: var(--rpm-finance-warning);
}
.rpm-listing--financeiro .rpm-finance-status--danger {
    border-color: var(--rpm-finance-danger);
    background: var(--rpm-finance-danger-soft);
    color: var(--rpm-finance-danger);
}
.rpm-listing--financeiro .rpm-finance-total-row,
.rpm-listing--financeiro .rpm-finance-total-row > td {
    background: var(--rpm-listing-header) !important;
}
.rpm-listing--financeiro .rpm-finance-total-row > td {
    border-top: 2px solid var(--rpm-listing-accent);
    color: var(--rpm-listing-text);
    font-weight: 700;
}
.rpm-listing--financeiro .rpm-finance-total-label {
    display: inline-block;
    color: var(--rpm-listing-accent);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}
.rpm-listing--financeiro .rpm-finance-total-value {
    color: var(--rpm-listing-text);
    font-size: 18px;
    font-weight: 700;
}
.rpm-listing--financeiro .rpm-finance-total-value--received {
    color: var(--rpm-finance-success);
}
.rpm-form--financeiro a:focus-visible,
.rpm-form--financeiro button:focus-visible,
.rpm-form--financeiro input:focus-visible,
.rpm-form--financeiro select:focus-visible,
.rpm-form--financeiro textarea:focus-visible,
.rpm-listing--financeiro a:focus-visible,
.rpm-listing--financeiro button:focus-visible,
.rpm-listing--financeiro input:focus-visible,
.rpm-listing--financeiro select:focus-visible,
.rpm-listing--financeiro textarea:focus-visible {
    outline: 3px solid var(--rpm-form-focus, var(--rpm-listing-focus)) !important;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .rpm-form--financeiro,
    .rpm-listing--financeiro {
        width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }
    .rpm-form--financeiro > form > .panel-body {
        padding-right: 12px;
        padding-left: 12px;
    }
    .rpm-form--financeiro > form > .panel-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .rpm-form--financeiro .rpm-finance-action,
    .rpm-form--financeiro .rpm-finance-search {
        width: 100%;
    }
    .rpm-listing--financeiro > .panel-heading {
        align-items: stretch;
        flex-direction: column;
    }
    .rpm-listing--financeiro .rpm-finance-summary {
        font-size: 14px;
    }
    .rpm-listing--financeiro > .panel-body {
        padding-top: 12px;
    }
    .rpm-listing--financeiro .rpm-finance-results-table {
        overflow-x: visible;
    }
    .rpm-listing--financeiro .rpm-finance-table {
        display: block;
        min-width: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }
    .rpm-listing--financeiro .rpm-finance-table > thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody {
        display: block;
        width: 100%;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row {
        display: flex;
        width: 100%;
        min-width: 0;
        flex-direction: column;
        margin: 0 0 12px;
        padding: 8px 12px;
        border: 1px solid var(--rpm-listing-border);
        border-radius: 12px;
        background: var(--rpm-listing-surface);
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row:hover {
        background: var(--rpm-listing-hover);
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td,
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td.tdatagrid_cell {
        display: grid;
        width: 100% !important;
        min-width: 0;
        min-height: 44px;
        grid-template-columns: minmax(7rem, 34%) minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        padding: 8px 0;
        border: 0;
        background: transparent;
        color: var(--rpm-listing-text);
        text-align: left;
        overflow-wrap: anywhere;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td::before {
        content: attr(data-label);
        min-width: 0;
        padding-left: 4px;
        color: var(--rpm-listing-muted);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="code"] { order: 1; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="primary"] { order: 2; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="date"] { order: 3; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="contact"] { order: 4; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="document"] { order: 5; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="attendant"] { order: 6; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="status"] { order: 7; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="amount"] { order: 8; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="amount-received"] { order: 9; }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="amount"],
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row > td[data-role="amount-received"] {
        text-align: left;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-finance-total-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        padding: 8px 12px;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-finance-total-row > td:empty {
        display: none !important;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-finance-total-row > td {
        display: flex;
        width: 100% !important;
        min-height: 44px;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 0;
        text-align: right;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-finance-total-row > td::before {
        display: inline-block;
        padding-left: 0;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-finance-total-row > td[data-role="status"]::before {
        display: none;
    }
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-finance-total-row > td[data-role="status"] {
        justify-content: flex-start;
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-form--financeiro .rpm-finance-action,
    .rpm-listing--financeiro .rpm-finance-status,
    .rpm-listing--financeiro .rpm-finance-table > tbody > tr.rpm-listing-row {
        transition: none !important;
    }
}

.dark-mode .rpm-form--financeiro {
    --rpm-form-surface: #1f2b37;
    --rpm-form-header: #243140;
    --rpm-form-hover: #2a3a4c;
    --rpm-form-border: #40556b;
    --rpm-form-text: #f2f5f9;
    --rpm-form-muted: #b7c6d7;
    --rpm-form-focus: #83bfff;
    --rpm-form-focus-soft: rgba(131, 191, 255, 0.18);
    --rpm-form-action: #286db3;
    --rpm-finance-info: #83bfff;
    --rpm-finance-info-soft: rgba(131, 191, 255, 0.16);
    --rpm-finance-success: #4fd2a0;
    --rpm-finance-success-soft: rgba(79, 210, 160, 0.16);
    --rpm-finance-warning: #ffc18d;
    --rpm-finance-warning-soft: rgba(255, 193, 141, 0.16);
    --rpm-finance-danger: #ff9298;
    --rpm-finance-danger-soft: rgba(255, 146, 152, 0.16);
}
.dark-mode .rpm-listing--financeiro {
    --rpm-listing-surface: #1f2b37;
    --rpm-listing-header: #243140;
    --rpm-listing-hover: #2a3a4c;
    --rpm-listing-border: #40556b;
    --rpm-listing-text: #f2f5f9;
    --rpm-listing-muted: #b7c6d7;
    --rpm-listing-focus: #83bfff;
    --rpm-listing-accent: #286db3;
    --rpm-listing-accent-contrast: #83bfff;
    --rpm-listing-accent-soft: rgba(131, 191, 255, 0.16);
    --rpm-finance-info: #83bfff;
    --rpm-finance-info-soft: rgba(131, 191, 255, 0.16);
    --rpm-finance-success: #4fd2a0;
    --rpm-finance-success-soft: rgba(79, 210, 160, 0.16);
    --rpm-finance-warning: #ffc18d;
    --rpm-finance-warning-soft: rgba(255, 193, 141, 0.16);
    --rpm-finance-danger: #ff9298;
    --rpm-finance-danger-soft: rgba(255, 146, 152, 0.16);
}
.dark-mode .rpm-form--financeiro.card.panel,
.dark-mode .rpm-listing--financeiro.card.panel {
    color: var(--rpm-form-text, var(--rpm-listing-text));
}
.dark-mode .rpm-form--financeiro .rpm-finance-action {
    border-color: var(--rpm-form-border);
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--financeiro .rpm-finance-action:hover,
.dark-mode .rpm-form--financeiro .rpm-finance-action:active,
.dark-mode .rpm-form--financeiro .rpm-finance-action:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-form--financeiro .rpm-finance-export {
    border-color: var(--rpm-finance-info);
    color: var(--rpm-finance-info) !important;
}
.dark-mode .rpm-listing--financeiro .rpm-finance-summary {
    color: var(--rpm-listing-muted);
}
.dark-mode .rpm-listing--financeiro .rpm-finance-status--info {
    border-color: var(--rpm-finance-info);
    background: var(--rpm-finance-info-soft);
    color: var(--rpm-finance-info);
}
.dark-mode .rpm-listing--financeiro .rpm-finance-status--success {
    border-color: var(--rpm-finance-success);
    background: var(--rpm-finance-success-soft);
    color: var(--rpm-finance-success);
}
.dark-mode .rpm-listing--financeiro .rpm-finance-status--warning {
    border-color: var(--rpm-finance-warning);
    background: var(--rpm-finance-warning-soft);
    color: var(--rpm-finance-warning);
}
.dark-mode .rpm-listing--financeiro .rpm-finance-status--danger {
    border-color: var(--rpm-finance-danger);
    background: var(--rpm-finance-danger-soft);
    color: var(--rpm-finance-danger);
}
.dark-mode .rpm-listing--financeiro .rpm-finance-amount--received,
.dark-mode .rpm-listing--financeiro .rpm-finance-total-value--received {
    color: var(--rpm-finance-success);
}
.dark-mode .rpm-listing--financeiro .rpm-finance-total-row,
.dark-mode .rpm-listing--financeiro .rpm-finance-total-row > td {
    background: var(--rpm-listing-header) !important;
    border-color: var(--rpm-listing-accent) !important;
    color: var(--rpm-listing-text);
}

/* Atendimento de chat: superfícies e estados exclusivos das quatro experiências de chat. */
.rpm-chat {
    --rpm-chat-page: #f6f8fb;
    --rpm-chat-surface: #ffffff;
    --rpm-chat-surface-raised: #f1f5f9;
    --rpm-chat-surface-muted: #e8eef5;
    --rpm-chat-hover: #edf3fa;
    --rpm-chat-border: #ced9e5;
    --rpm-chat-text: #223247;
    --rpm-chat-muted: #52657a;
    --rpm-chat-focus: #1764b4;
    --rpm-chat-action: #2469ad;
    --rpm-chat-action-soft: rgba(36, 105, 173, 0.12);
    --rpm-chat-info: #2469ad;
    --rpm-chat-info-soft: rgba(36, 105, 173, 0.12);
    --rpm-chat-success: #087f59;
    --rpm-chat-success-soft: rgba(8, 127, 89, 0.12);
    --rpm-chat-warning: #b65a10;
    --rpm-chat-warning-soft: rgba(182, 90, 16, 0.14);
    --rpm-chat-danger: #cf353e;
    --rpm-chat-danger-soft: rgba(207, 53, 62, 0.12);
    --rpm-chat-bubble-client: #f1f5f9;
    --rpm-chat-bubble-professional: #e4f5ee;
    --rpm-chat-bubble-system: #fff4e8;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    color: var(--rpm-chat-text);
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-wrap: anywhere;
}
.dark-mode .rpm-chat {
    --rpm-chat-page: #18232e;
    --rpm-chat-surface: #1f2b37;
    --rpm-chat-surface-raised: #243140;
    --rpm-chat-surface-muted: #2a3a4c;
    --rpm-chat-hover: #2d4053;
    --rpm-chat-border: #40556b;
    --rpm-chat-text: #f2f5f9;
    --rpm-chat-muted: #b7c6d7;
    --rpm-chat-focus: #83bfff;
    --rpm-chat-action: #286db3;
    --rpm-chat-action-soft: rgba(131, 191, 255, 0.16);
    --rpm-chat-info: #83bfff;
    --rpm-chat-info-soft: rgba(131, 191, 255, 0.16);
    --rpm-chat-success: #4fd2a0;
    --rpm-chat-success-soft: rgba(79, 210, 160, 0.16);
    --rpm-chat-warning: #ffc18d;
    --rpm-chat-warning-soft: rgba(255, 193, 141, 0.16);
    --rpm-chat-danger: #ff9298;
    --rpm-chat-danger-soft: rgba(255, 146, 152, 0.16);
    --rpm-chat-bubble-client: #2a3a4c;
    --rpm-chat-bubble-professional: #21483d;
    --rpm-chat-bubble-system: #4a3a2b;
}
.rpm-chat *,
.rpm-chat *::before,
.rpm-chat *::after { box-sizing: border-box; }
.rpm-chat a,
.rpm-chat button,
.rpm-chat input,
.rpm-chat textarea,
.rpm-chat select { font-family: inherit; }
.rpm-chat button,
.rpm-chat a { touch-action: manipulation; }
.rpm-chat .text-muted { color: var(--rpm-chat-muted) !important; }
.rpm-chat .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Filtro e casca das listas. */
.rpm-chat-filter.card.panel,
.rpm-chat-conversation > .rpm-chat-header-panel.card.panel,
.rpm-chat-composer.card.panel {
    width: 100%;
    min-width: 0;
    margin-bottom: 16px;
    border: 1px solid var(--rpm-chat-border);
    border-radius: 12px;
    background: var(--rpm-chat-surface);
    box-shadow: 0 8px 24px rgba(20, 42, 64, 0.08);
    color: var(--rpm-chat-text);
}
.rpm-chat-filter > .panel-heading,
.rpm-chat-header-panel > .panel-heading,
.rpm-chat-composer > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 16px 20px;
    border-bottom: 1px solid var(--rpm-chat-border);
    border-radius: 12px 12px 0 0;
    background: var(--rpm-chat-surface-raised);
    color: var(--rpm-chat-text);
}
.rpm-chat-filter > .panel-heading .panel-title,
.rpm-chat-header-panel > .panel-heading .panel-title,
.rpm-chat-composer > .panel-heading .panel-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
    color: var(--rpm-chat-text);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.rpm-chat-filter > .panel-heading .panel-title::before,
.rpm-chat-header-panel > .panel-heading .panel-title::before,
.rpm-chat-composer > .panel-heading .panel-title::before {
    content: "";
    display: inline-block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rpm-chat-action);
}
.rpm-chat-filter > form > .panel-body,
.rpm-chat-composer > form > .panel-body {
    padding: 20px;
    background: var(--rpm-chat-surface);
    color: var(--rpm-chat-text);
}
.rpm-chat-filter > form > .panel-footer,
.rpm-chat-composer > form > .panel-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-height: 68px;
    padding: 12px 20px 20px;
    border: 0;
    background: var(--rpm-chat-surface);
}
.rpm-chat .rpm-chat-field-label,
.rpm-chat-filter label.control-label,
.rpm-chat-filter .fb-inline-field-container > label {
    display: block;
    width: 100% !important;
    margin: 0 0 8px;
    color: var(--rpm-chat-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left !important;
}
.rpm-chat-filter .fb-field-container,
.rpm-chat-filter .fb-inline-field-container { min-width: 0; }
.rpm-chat-filter .tfield,
.rpm-chat-filter .tcombo,
.rpm-chat-filter select,
.rpm-chat-filter .form-control {
    width: 100% !important;
    min-height: 44px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid var(--rpm-chat-border);
    border-radius: 10px;
    background: var(--rpm-chat-surface);
    color: var(--rpm-chat-text);
    font-size: 16px;
    line-height: 1.35;
}
.rpm-chat-filter select.tcombo {
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 17px 17px;
    padding-right: 40px;
}
.rpm-chat-filter .tfield::placeholder,
.rpm-chat-filter .form-control::placeholder { color: var(--rpm-chat-muted); opacity: 1; }
.rpm-chat-filter .tfield:focus,
.rpm-chat-filter .tcombo:focus,
.rpm-chat-filter select:focus,
.rpm-chat-filter .form-control:focus {
    border-color: var(--rpm-chat-focus);
    outline: 0;
    box-shadow: 0 0 0 3px var(--rpm-chat-action-soft);
}
.rpm-chat .rpm-chat-filter-action,
.rpm-chat .rpm-chat-row-action,
.rpm-chat .rpm-chat-header-action,
.rpm-chat .rpm-chat-composer-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 9px 13px;
    border: 1px solid var(--rpm-chat-border);
    border-radius: 10px;
    background: var(--rpm-chat-surface);
    color: var(--rpm-chat-text) !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    white-space: normal;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.rpm-chat .rpm-chat-filter-action--primary,
.rpm-chat .rpm-chat-composer-action--send {
    border-color: var(--rpm-chat-action) !important;
    background: var(--rpm-chat-action) !important;
    color: #ffffff !important;
}
.rpm-chat .rpm-chat-filter-action--close,
.rpm-chat .rpm-chat-header-action--back { color: var(--rpm-chat-muted) !important; }
.rpm-chat .rpm-chat-row-action--take,
.rpm-chat .rpm-chat-header-action--reopen { border-color: var(--rpm-chat-success) !important; color: var(--rpm-chat-success) !important; }
.rpm-chat .rpm-chat-row-action--close,
.rpm-chat .rpm-chat-header-action--close,
.rpm-chat .rpm-chat-composer-action--close { border-color: var(--rpm-chat-danger) !important; color: var(--rpm-chat-danger) !important; }
.rpm-chat .rpm-chat-composer-action--attach { color: var(--rpm-chat-info) !important; }
.rpm-chat .rpm-chat-filter-action:hover,
.rpm-chat .rpm-chat-filter-action:active,
.rpm-chat .rpm-chat-row-action:hover,
.rpm-chat .rpm-chat-row-action:active,
.rpm-chat .rpm-chat-header-action:hover,
.rpm-chat .rpm-chat-header-action:active,
.rpm-chat .rpm-chat-composer-action:hover,
.rpm-chat .rpm-chat-composer-action:active {
    border-color: var(--rpm-chat-focus) !important;
    background: var(--rpm-chat-hover) !important;
    color: var(--rpm-chat-text) !important;
    text-decoration: none;
}
.rpm-chat .rpm-chat-filter-action--primary:hover,
.rpm-chat .rpm-chat-filter-action--primary:active,
.rpm-chat .rpm-chat-composer-action--send:hover,
.rpm-chat .rpm-chat-composer-action--send:active {
    border-color: var(--rpm-chat-focus) !important;
    background: var(--rpm-chat-focus) !important;
    color: #ffffff !important;
}

/* Resultados em tabela no desktop. */
.rpm-chat-listing.card.panel,
.rpm-chat-entry-panel.card.panel {
    width: 100%;
    min-width: 0;
    margin-bottom: 20px;
    border: 1px solid var(--rpm-chat-border);
    border-radius: 12px;
    background: var(--rpm-chat-surface);
    box-shadow: 0 8px 24px rgba(20, 42, 64, 0.08);
    color: var(--rpm-chat-text);
}
.rpm-chat-listing > .panel-body,
.rpm-chat-entry-panel > .panel-body {
    min-width: 0;
    padding: 16px;
    background: var(--rpm-chat-surface);
}
.rpm-chat-listing > .panel-footer {
    display: flex;
    justify-content: center;
    min-height: 60px;
    padding: 12px 16px 16px;
    border: 0;
    background: var(--rpm-chat-surface);
}
.rpm-chat-listing .table-responsive { width: 100%; max-width: 100%; overflow-x: visible; }
.rpm-chat-listing .rpm-chat-list-table {
    width: 100%;
    max-width: 100%;
    margin: 0;
    table-layout: fixed;
    border: 1px solid var(--rpm-chat-border);
    border-collapse: separate !important;
    border-spacing: 0;
    border-radius: 10px;
    background: var(--rpm-chat-surface);
    color: var(--rpm-chat-text);
}
.rpm-chat-list-table > thead > tr > th {
    padding: 12px 11px;
    border: 0;
    border-bottom: 1px solid var(--rpm-chat-border);
    background: var(--rpm-chat-surface-raised);
    color: var(--rpm-chat-muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    vertical-align: middle;
}
.rpm-chat-list-table > thead > tr > th.tdatagrid_action {
    width: 96px !important;
    min-width: 96px !important;
    padding: 8px;
}
.rpm-chat-list-table > tbody > tr.rpm-chat-row > td {
    padding: 13px 11px;
    border: 0;
    border-top: 1px solid var(--rpm-chat-border);
    background: var(--rpm-chat-surface);
    color: var(--rpm-chat-text);
    font-size: 15px;
    line-height: 1.4;
    overflow-wrap: anywhere;
    vertical-align: middle;
}
.rpm-chat-list-table > tbody > tr.rpm-chat-row:first-child > td { border-top: 0; }
.rpm-chat-list-table > tbody > tr.rpm-chat-row:hover > td { background: var(--rpm-chat-hover); }
.rpm-chat-list-table td[data-role="primary"] { font-weight: 600; }
.rpm-chat-list-table td[data-role="date"],
.rpm-chat-list-table td[data-role="unread"] { font-variant-numeric: tabular-nums; }
.rpm-chat-list-table td.tdatagrid_cell.action {
    width: 96px !important;
    min-width: 96px !important;
    padding: 8px;
    overflow: visible;
    text-align: center;
}
.rpm-chat-list-table td.tdatagrid_cell.action > a { display: flex; width: 100%; max-width: 100%; text-decoration: none; }
.rpm-chat-list-table td.tdatagrid_cell.action .rpm-chat-row-action { width: 100%; max-width: 100%; padding-right: 7px; padding-left: 7px; font-size: 13px; white-space: nowrap; }
.rpm-chat-list-table .rpm-chat-row-action i { color: currentColor !important; }
.rpm-chat-list-table .rpm-chat-status,
.rpm-chat-list-table .rpm-chat-unread {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    white-space: normal;
}
.rpm-chat-list-table > thead > tr > th[data-role="unread"],
.rpm-chat-list-table > tbody > tr > td[data-role="unread"] {
    width: 9% !important;
    min-width: 72px;
    white-space: nowrap;
}
.rpm-chat-status--waiting { border-color: var(--rpm-chat-warning) !important; background: var(--rpm-chat-warning-soft) !important; color: var(--rpm-chat-warning) !important; }
.rpm-chat-status--active { border-color: var(--rpm-chat-success) !important; background: var(--rpm-chat-success-soft) !important; color: var(--rpm-chat-success) !important; }
.rpm-chat-status--closed { border-color: var(--rpm-chat-info) !important; background: var(--rpm-chat-info-soft) !important; color: var(--rpm-chat-info) !important; }
.rpm-chat-status--unknown { border-color: var(--rpm-chat-muted) !important; background: var(--rpm-chat-surface-muted) !important; color: var(--rpm-chat-muted) !important; }
.rpm-chat-unread { border-color: var(--rpm-chat-danger) !important; background: var(--rpm-chat-danger-soft) !important; color: var(--rpm-chat-danger) !important; }
.rpm-chat-list-table .text-warning { color: var(--rpm-chat-warning) !important; }
.rpm-chat-list-table .text-danger { color: var(--rpm-chat-danger) !important; }
.rpm-chat-list-table .text-muted { color: var(--rpm-chat-muted) !important; }
.rpm-chat-list-table > tbody > tr.rpm-chat-empty-state > td {
    padding: 28px 16px;
    border-top: 1px solid var(--rpm-chat-border);
    background: var(--rpm-chat-surface);
    color: var(--rpm-chat-muted);
    font-size: 16px;
    text-align: center;
}
.rpm-chat-list-table .rpm-listing-empty-copy { display: inline-block; max-width: 48ch; }
.rpm-chat-listing .pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; margin: 0; }
.rpm-chat-listing .pagination > li > a,
.rpm-chat-listing .pagination > li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    border-color: var(--rpm-chat-border);
    background: var(--rpm-chat-surface-raised);
    color: var(--rpm-chat-text);
}
.rpm-chat-listing .pagination > li > a:hover,
.rpm-chat-listing .pagination > li > a:focus { background: var(--rpm-chat-hover); color: var(--rpm-chat-text); }

/* Cortina e conversa. */
.rpm-chat-curtain.chat-curtain-wrapper {
    display: flex;
    align-items: stretch;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    background: var(--rpm-chat-page);
    color: var(--rpm-chat-text);
}
.rpm-chat-curtain .chat-curtain-left,
.rpm-chat-curtain .chat-curtain-right {
    min-width: 0 !important;
    max-width: none !important;
    overflow-x: hidden !important;
}
.rpm-chat-curtain .chat-curtain-left { flex: 0 0 46%; }
.rpm-chat-curtain .chat-curtain-right {
    flex: 1 1 54%;
    overflow-y: auto !important;
    border: 1px solid var(--rpm-chat-border);
    border-radius: 12px;
    background: var(--rpm-chat-surface);
}
.rpm-chat-curtain .rpm-chat-listing { margin-bottom: 0; }
.rpm-chat-curtain-entry.card.panel { max-width: 100%; }
.rpm-chat-curtain-entry .alert,
.rpm-chat-entry-panel .alert {
    margin: 0;
    border: 1px solid var(--rpm-chat-info);
    border-radius: 10px;
    background: var(--rpm-chat-info-soft);
    color: var(--rpm-chat-text);
}
.rpm-chat-empty-state {
    min-width: 0;
    max-width: 100%;
    padding: 48px 20px;
    color: var(--rpm-chat-muted);
    text-align: center;
    overflow-wrap: anywhere;
}
.rpm-chat-empty-state i,
.rpm-chat-empty i { margin-bottom: 10px; color: var(--rpm-chat-info); font-size: 38px; }
.rpm-chat-conversation {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    color: var(--rpm-chat-text);
    overflow-wrap: anywhere;
}
.rpm-chat-conversation > .rpm-chat-header-panel { flex: 0 0 auto; }
.rpm-chat-header-panel > .panel-body { padding: 0; background: var(--rpm-chat-surface); }
.rpm-chat-header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
    padding: 15px 18px;
    border-radius: 10px;
    background: var(--rpm-chat-surface-raised) !important;
    color: var(--rpm-chat-text) !important;
}
.rpm-chat-participant { min-width: 0; overflow-wrap: anywhere; }
.rpm-chat-participant-name { color: var(--rpm-chat-text); font-size: 17px; line-height: 1.3; }
.rpm-chat-participant-name i { color: var(--rpm-chat-info); }
.rpm-chat-status-wrap { flex: 0 0 auto; min-width: 0; text-align: right; }
.rpm-chat-header-panel > .panel-heading .header-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin: 0; }
.rpm-chat-body {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 260px;
    max-height: min(56vh, 560px);
    margin: 0;
    padding: 18px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--rpm-chat-border);
    border-radius: 12px;
    background: var(--rpm-chat-page) !important;
    color: var(--rpm-chat-text) !important;
    scrollbar-color: var(--rpm-chat-border) transparent;
    scrollbar-width: thin;
}
.rpm-chat-body::-webkit-scrollbar { width: 10px; }
.rpm-chat-body::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: var(--rpm-chat-border); background-clip: padding-box; }
.rpm-chat-message {
    width: 100%;
    min-width: 0;
    margin: 9px 0 !important;
    overflow-wrap: anywhere;
}
.rpm-chat-bubble {
    display: inline-block;
    width: auto;
    max-width: min(78%, 620px);
    min-width: 0;
    padding: 11px 14px;
    border: 1px solid var(--rpm-chat-border) !important;
    border-radius: 14px;
    color: var(--rpm-chat-text) !important;
    text-align: left;
    overflow-wrap: anywhere;
    white-space: normal;
    box-shadow: 0 4px 12px rgba(20, 42, 64, 0.06);
}
.rpm-chat-bubble.bubble-left { background: var(--rpm-chat-bubble-client) !important; }
.rpm-chat-bubble.bubble-right { background: var(--rpm-chat-bubble-professional) !important; }
.rpm-chat-message.cliente-bubble { text-align: left !important; }
.rpm-chat-message.profissional-bubble { text-align: right !important; }
.rpm-chat-message--system,
.rpm-chat-message--bot { text-align: center !important; }
.rpm-chat-bubble--system { background: var(--rpm-chat-bubble-system) !important; }
.rpm-chat-bubble--bot { background: var(--rpm-chat-info-soft) !important; }
.rpm-chat-sender {
    margin: 0 0 5px;
    color: var(--rpm-chat-warning);
    font-size: 12px;
    font-style: italic;
    font-weight: 600;
}
.rpm-chat-sender[data-role="bot"] { color: var(--rpm-chat-info); }
.rpm-chat-message-text {
    color: inherit;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.rpm-chat-timestamp {
    margin-top: 6px;
    color: var(--rpm-chat-muted);
    font-size: 11px;
    line-height: 1.2;
    text-align: right;
}
.rpm-chat-media { max-width: 100%; margin: 0 0 8px; overflow-wrap: anywhere; }
.rpm-chat-media-image { display: block; width: auto; max-width: 100%; height: auto; border-radius: 8px; }
.rpm-chat-media-audio { display: block; width: min(100%, 320px); max-width: 100%; }
.rpm-chat-media-link { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: var(--rpm-chat-info) !important; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.rpm-chat-media-expired { color: var(--rpm-chat-muted); font-size: 12px; font-style: italic; }
.rpm-chat-empty { padding: 42px 20px; color: var(--rpm-chat-muted) !important; text-align: center; }
.rpm-chat-closed-note { margin-top: 12px; padding: 18px; border: 1px solid var(--rpm-chat-info); border-radius: 10px; background: var(--rpm-chat-info-soft); }
.rpm-chat-composer.card.panel { margin-top: 12px; margin-bottom: 0; }
.rpm-chat-composer > form > .panel-body { padding: 14px 16px 16px; }
.rpm-chat-composer > form > .panel-body > .tformrow { display: flex; align-items: stretch; gap: 8px; margin: 0; }
.rpm-chat-composer .fb-field-container { min-width: 0; padding: 0; }
.rpm-chat-composer .fb-inline-field-container { min-width: 0; max-width: 100%; }
.rpm-chat-composer .tfield,
.rpm-chat-composer textarea,
.rpm-chat-composer .form-control { width: 100% !important; min-height: 70px; border-color: var(--rpm-chat-border); border-radius: 10px; background: var(--rpm-chat-surface); color: var(--rpm-chat-text); resize: vertical; }
.rpm-chat-composer .rpm-chat-composer-action { width: 100%; min-height: 70px; }
.rpm-chat-back { margin-top: 12px; }
.rpm-chat-back .btn { min-width: 44px; min-height: 44px; }

.rpm-chat a:focus-visible,
.rpm-chat button:focus-visible,
.rpm-chat input:focus-visible,
.rpm-chat textarea:focus-visible,
.rpm-chat select:focus-visible,
.rpm-chat [tabindex]:focus-visible {
    outline: 3px solid var(--rpm-chat-focus) !important;
    outline-offset: 3px;
}
.rpm-chat ::selection { background: var(--rpm-chat-action); color: #ffffff; }
.rpm-chat ::placeholder { color: var(--rpm-chat-muted); opacity: 1; }

/* A lista se torna um cartão por atendimento em telas estreitas. */
@media (max-width: 767px) {
    .rpm-chat { width: 100%; max-width: 100%; overflow-x: hidden; }
    .rpm-chat-filter > .panel-heading,
    .rpm-chat-header-panel > .panel-heading { align-items: flex-start; flex-direction: column; padding: 14px 16px; }
    .rpm-chat-filter > form > .panel-body,
    .rpm-chat-filter > form > .panel-footer { padding-right: 16px; padding-left: 16px; }
    .rpm-chat-filter > form > .panel-footer { justify-content: stretch; }
    .rpm-chat-filter > form > .panel-footer .rpm-chat-filter-action { width: 100%; }
    .rpm-chat-listing > .panel-body { padding: 10px; }
    .rpm-chat-listing .table-responsive { overflow: visible; }
    .rpm-chat-listing .rpm-chat-list-table,
    .rpm-chat-listing .rpm-chat-list-table > tbody,
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row { display: block; width: 100%; }
    .rpm-chat-listing .rpm-chat-list-table { border: 0; background: transparent; }
    .rpm-chat-listing .rpm-chat-list-table > thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        margin: 0 0 10px;
        border: 1px solid var(--rpm-chat-border);
        border-radius: 10px;
        background: var(--rpm-chat-surface);
        box-shadow: 0 4px 14px rgba(20, 42, 64, 0.06);
    }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row > td {
        display: block;
        width: auto !important;
        min-width: 0;
        padding: 10px;
        border: 0;
        border-top: 1px solid var(--rpm-chat-border);
        background: transparent;
    }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row > td:first-child { border-top: 0; }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row > td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 3px;
        color: var(--rpm-chat-muted);
        font-size: 12px;
        font-weight: 600;
        line-height: 1.2;
    }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row > td:not(.action) {
        white-space: normal;
        word-break: normal;
    }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row > td.tdatagrid_cell.action:empty {
        display: none !important;
    }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row > td.tdatagrid_cell.action {
        grid-column: 1 / -1;
        order: 99;
        display: flex;
        width: auto !important;
        min-width: 0 !important;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 6px;
        border-top: 1px solid var(--rpm-chat-border);
    }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-row > td.tdatagrid_cell.action::before { content: "Ações"; flex: 0 0 100%; }
    .rpm-chat-listing .rpm-chat-list-table td.tdatagrid_cell.action > a { flex: 0 1 auto; }
    .rpm-chat-listing .rpm-chat-list-table .rpm-chat-row-action { width: auto; max-width: 100%; }

    /* O modificador do chat vem depois da base de listagens e força cada
       célula a ocupar a largura inteira do cartão. */
    .rpm-listing.rpm-chat-listing .rpm-listing-table.rpm-chat-list-table > tbody > tr.rpm-listing-row.rpm-chat-row > td.tdatagrid_cell {
        display: block;
        grid-template-columns: none;
        align-items: initial;
        gap: 0;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0;
        padding: 11px 12px;
        border: 0;
        border-top: 1px solid var(--rpm-chat-border);
        background: transparent !important;
        text-align: left;
        white-space: normal;
        word-break: normal;
    }
    .rpm-listing.rpm-chat-listing .rpm-listing-table.rpm-chat-list-table > tbody > tr.rpm-listing-row.rpm-chat-row > td.tdatagrid_cell:first-child { border-top: 0; }
    .rpm-listing.rpm-chat-listing .rpm-listing-table.rpm-chat-list-table > tbody > tr.rpm-listing-row.rpm-chat-row > td.tdatagrid_cell::before {
        display: block;
        margin-bottom: 4px;
        padding-left: 0;
        font-size: 12px;
    }
    .rpm-listing.rpm-chat-listing .rpm-listing-table.rpm-chat-list-table > tbody > tr.rpm-listing-row.rpm-chat-row > td.tdatagrid_cell.action {
        display: flex;
        width: auto !important;
        min-width: 0 !important;
        min-height: 44px;
        padding: 10px 12px;
        border-top: 1px solid var(--rpm-chat-border);
        align-items: center;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 6px;
        order: 99;
    }
    .rpm-listing.rpm-chat-listing .rpm-listing-table.rpm-chat-list-table > tbody > tr.rpm-listing-row.rpm-chat-row > td.tdatagrid_cell.action:empty { display: none !important; }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-empty-state { display: block; margin: 0; border: 1px solid var(--rpm-chat-border); border-radius: 10px; }
    .rpm-chat-listing .rpm-chat-list-table > tbody > tr.rpm-chat-empty-state > td { display: block; border: 0; }
    .rpm-chat-header-content { align-items: flex-start; flex-direction: column; padding: 14px; }
    .rpm-chat-status-wrap { width: 100%; text-align: left; }
    .rpm-chat-body { min-height: 240px; max-height: none; padding: 12px; }
    .rpm-chat-bubble { max-width: 88%; padding: 10px 12px; }
    .rpm-chat-composer > form > .panel-body > .tformrow { display: flex; flex-direction: column; gap: 8px; }
    .rpm-chat-composer .fb-field-container { width: 100% !important; flex: 1 1 auto; }
    .rpm-chat-composer .tfield,
    .rpm-chat-composer textarea,
    .rpm-chat-composer .form-control,
    .rpm-chat-composer .rpm-chat-composer-action { min-height: 52px; }
    .rpm-chat-composer .tfield,
    .rpm-chat-composer textarea,
    .rpm-chat-composer .form-control { min-height: 112px; }
}

/* A cortina usa duas colunas somente quando há espaço físico para ambas. */
@media (max-width: 799px) {
    .rpm-chat-curtain.chat-curtain-wrapper { flex-direction: column; gap: 10px; overflow-y: visible; }
    .rpm-chat-curtain .chat-curtain-left,
    .rpm-chat-curtain .chat-curtain-right { flex: 1 1 auto !important; width: 100% !important; max-width: 100% !important; }
    .rpm-chat-curtain .chat-curtain-right { min-height: 360px; }
}
@media (prefers-reduced-motion: reduce) {
    .rpm-chat *,
    .rpm-chat *::before,
    .rpm-chat *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* O tema base aplica !important em cartões e controles; estas exceções mantêm o
   contraste do chat sem reintroduzir seletores globais. */
.dark-mode .rpm-chat-filter.card.panel,
.dark-mode .rpm-chat-listing.card.panel,
.dark-mode .rpm-chat-entry-panel.card.panel,
.dark-mode .rpm-chat-header-panel.card.panel,
.dark-mode .rpm-chat-composer.card.panel,
.dark-mode .rpm-chat-filter > form > .panel-body,
.dark-mode .rpm-chat-filter > form > .panel-footer,
.dark-mode .rpm-chat-composer > form > .panel-body,
.dark-mode .rpm-chat-composer > form > .panel-footer,
.dark-mode .rpm-chat-listing > .panel-body,
.dark-mode .rpm-chat-listing > .panel-footer,
.dark-mode .rpm-chat-entry-panel > .panel-body {
    background-color: var(--rpm-chat-surface) !important;
    border-color: var(--rpm-chat-border) !important;
    color: var(--rpm-chat-text) !important;
}
.dark-mode .rpm-chat-filter > .panel-heading,
.dark-mode .rpm-chat-header-panel > .panel-heading,
.dark-mode .rpm-chat-composer > .panel-heading,
.dark-mode .rpm-chat-entry-panel > .panel-heading {
    background-color: var(--rpm-chat-surface-raised) !important;
    border-color: var(--rpm-chat-border) !important;
    color: var(--rpm-chat-text) !important;
}
.dark-mode .rpm-chat-filter .panel-title,
.dark-mode .rpm-chat-header-panel .panel-title,
.dark-mode .rpm-chat-composer .panel-title,
.dark-mode .rpm-chat-entry-panel .panel-title,
.dark-mode .rpm-chat-filter label,
.dark-mode .rpm-chat-composer label {
    color: var(--rpm-chat-text) !important;
}
.dark-mode .rpm-chat-filter .tfield,
.dark-mode .rpm-chat-filter .tcombo,
.dark-mode .rpm-chat-filter select,
.dark-mode .rpm-chat-filter .form-control,
.dark-mode .rpm-chat-composer .tfield,
.dark-mode .rpm-chat-composer textarea,
.dark-mode .rpm-chat-composer .form-control {
    background-color: var(--rpm-chat-surface) !important;
    border-color: var(--rpm-chat-border) !important;
    color: var(--rpm-chat-text) !important;
}
.dark-mode .rpm-chat-filter select.tcombo {
    background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23e6edf3' d='M7.406 7.828l4.594 4.594 4.594-4.594 1.406 1.406-6 6-6-6z'></path></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 17px 17px !important;
    padding-right: 40px !important;
}
.dark-mode .rpm-chat-list-table,
.dark-mode .rpm-chat-list-table > thead > tr > th,
.dark-mode .rpm-chat-list-table > tbody > tr.rpm-chat-row > td,
.dark-mode .rpm-chat-list-table > tbody > tr.rpm-chat-empty-state > td {
    background-color: var(--rpm-chat-surface) !important;
    border-color: var(--rpm-chat-border) !important;
    color: var(--rpm-chat-text) !important;
}
.dark-mode .rpm-chat-list-table > thead > tr > th { background-color: var(--rpm-chat-surface-raised) !important; color: var(--rpm-chat-muted) !important; }
.dark-mode .rpm-chat-list-table > tbody > tr.rpm-chat-row:hover > td { background-color: var(--rpm-chat-hover) !important; }
.dark-mode .rpm-chat-listing .pagination > li > a,
.dark-mode .rpm-chat-listing .pagination > li > span {
    background-color: var(--rpm-chat-surface-raised) !important;
    border-color: var(--rpm-chat-border) !important;
    color: var(--rpm-chat-text) !important;
}
.dark-mode .rpm-chat-curtain.chat-curtain-wrapper,
.dark-mode .rpm-chat-curtain .chat-curtain-right,
.dark-mode .rpm-chat-curtain .chat-curtain-left {
    background-color: var(--rpm-chat-page) !important;
    border-color: var(--rpm-chat-border) !important;
    color: var(--rpm-chat-text) !important;
}

/* Visualização de pedido: leitura operacional, sem vazamento para outros painéis. */
.rpm-order-view,
.rpm-order-edit {
    --rpm-order-surface: #ffffff;
    --rpm-order-header: #f1f5f9;
    --rpm-order-hover: #edf3fa;
    --rpm-order-border: #ced9e5;
    --rpm-order-text: #223247;
    --rpm-order-muted: #52657a;
    --rpm-order-focus: #1764b4;
    --rpm-order-focus-soft: rgba(23, 100, 180, 0.16);
    --rpm-order-action: #2469ad;
    --rpm-order-info: #2469ad;
    --rpm-order-info-soft: rgba(36, 105, 173, 0.12);
    --rpm-order-success: #087f59;
    --rpm-order-success-soft: rgba(8, 127, 89, 0.12);
    --rpm-order-warning: #b65a10;
    --rpm-order-warning-soft: rgba(182, 90, 16, 0.14);
    --rpm-order-danger: #cf353e;
    --rpm-order-danger-soft: rgba(207, 53, 62, 0.12);
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    color: var(--rpm-order-text);
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow-wrap: anywhere;
}
.rpm-order-view *,
.rpm-order-view *::before,
.rpm-order-view *::after,
.rpm-order-edit *,
.rpm-order-edit *::before,
.rpm-order-edit *::after {
    box-sizing: border-box;
    min-width: 0;
}
.rpm-order-view.card.panel {
    width: 100%;
    max-width: 100%;
    margin-bottom: 24px;
    overflow: visible;
    border: 1px solid var(--rpm-order-border);
    border-radius: 12px;
    background: var(--rpm-order-surface);
    box-shadow: none;
    color: var(--rpm-order-text);
}
.rpm-order-view > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-width: 0;
    padding: 18px 20px;
    border: 0;
    border-bottom: 1px solid var(--rpm-order-border);
    border-radius: 12px 12px 0 0;
    background: var(--rpm-order-header);
    color: var(--rpm-order-text);
}
.rpm-order-view > .panel-heading .panel-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
    color: var(--rpm-order-text);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.rpm-order-view > .panel-heading .panel-title > div {
    width: auto !important;
}
.rpm-order-view > .panel-heading .panel-title::before,
.rpm-order-view .rpm-order-view-section-title::before {
    content: "";
    display: inline-block;
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rpm-order-action);
}
.rpm-order-view > .panel-heading .header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    margin: 0;
}
.rpm-order-view .rpm-order-view-header-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid var(--rpm-order-border);
    border-radius: 10px;
    background: var(--rpm-order-surface);
    color: var(--rpm-order-text) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
}
.rpm-order-view .rpm-order-view-header-action:hover,
.rpm-order-view .rpm-order-view-header-action:active,
.rpm-order-view .rpm-order-view-header-action:focus-visible {
    border-color: var(--rpm-order-focus);
    background: var(--rpm-order-hover);
    color: var(--rpm-order-text) !important;
    text-decoration: none;
}
.rpm-order-view .rpm-order-view-header-action i {
    color: currentColor !important;
}
.rpm-order-view .rpm-order-view-header-action--recurrence {
    border-color: var(--rpm-order-warning);
}
.rpm-order-view > .rpm-order-view-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    max-width: 100%;
    padding: 24px;
    background: var(--rpm-order-surface);
    color: var(--rpm-order-text);
    overflow-x: visible;
}
.rpm-order-view .rpm-order-view-section {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 18px 20px 20px;
    border: 1px solid var(--rpm-order-border);
    border-radius: 12px;
    background: var(--rpm-order-surface);
    color: var(--rpm-order-text);
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0 0 16px;
    color: var(--rpm-order-text);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-section-title::before {
    flex-basis: 7px;
    width: 7px;
    height: 7px;
}
.rpm-order-view .rpm-order-view-summary .rpm-order-view-section-title::before,
.rpm-order-view .rpm-order-view-products .rpm-order-view-section-title::before,
.rpm-order-view .rpm-order-view-status-section .rpm-order-view-section-title::before {
    background: var(--rpm-order-info);
}
.rpm-order-view .rpm-order-view-client .rpm-order-view-section-title::before {
    background: #6454a0;
}
.rpm-order-view .rpm-order-view-survey .rpm-order-view-section-title::before {
    background: var(--rpm-order-success);
}
.rpm-order-view .rpm-order-view-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    width: 100%;
    min-width: 0;
    margin: 0;
}
.rpm-order-view .rpm-order-view-meta-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--rpm-order-border);
    border-radius: 10px;
    background: var(--rpm-order-header);
    color: var(--rpm-order-text);
}
.rpm-order-view .rpm-order-view-meta-item--order {
    grid-column: 1 / -1;
    padding: 14px 16px;
    border-top: 3px solid var(--rpm-order-info);
}
.rpm-order-view .rpm-order-view-meta-label {
    display: block;
    min-width: 0;
    color: var(--rpm-order-muted);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-meta-value {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    color: var(--rpm-order-text);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-meta-item--order .rpm-order-view-meta-value {
    color: var(--rpm-order-info);
    font-size: 24px;
    line-height: 1.3;
}
.rpm-order-view .rpm-order-view-status {
    display: inline-flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-status--info { color: var(--rpm-order-info); }
.rpm-order-view .rpm-order-view-status--success { color: var(--rpm-order-success); }
.rpm-order-view .rpm-order-view-status--warning { color: var(--rpm-order-warning); }
.rpm-order-view .rpm-order-view-status--danger { color: var(--rpm-order-danger); }
.rpm-order-view .rpm-order-view-status--muted { color: var(--rpm-order-muted); }
.rpm-order-view .rpm-order-view-status-icon,
.rpm-order-view .rpm-order-view-contact-icon {
    flex: 0 0 auto;
    margin-top: 2px;
}
.rpm-order-view .rpm-order-view-contact {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
}
.rpm-order-view .rpm-order-view-contact-link {
    color: var(--rpm-order-info);
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-contact-link:hover,
.rpm-order-view .rpm-order-view-contact-link:focus-visible {
    color: var(--rpm-order-focus);
}
.rpm-order-view .rpm-order-view-contact-icon { color: #25d366; }

.rpm-order-view .rpm-order-view-table {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--rpm-order-text);
    table-layout: fixed;
}
.rpm-order-view .rpm-order-view-table > thead > tr > th,
.rpm-order-view .rpm-order-view-table > tbody > tr > td,
.rpm-order-view .rpm-order-view-table > tfoot > tr > td {
    min-width: 0;
    padding: 12px;
    border-color: var(--rpm-order-border) !important;
    color: var(--rpm-order-text) !important;
    vertical-align: middle;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-table > thead > tr > th {
    background: var(--rpm-order-header) !important;
    color: var(--rpm-order-muted) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
}
.rpm-order-view .rpm-order-view-table > thead > tr > th:not(:first-child) {
    text-align: right;
}
.rpm-order-view .rpm-order-view-table > tbody > tr > td {
    background: var(--rpm-order-surface) !important;
    font-size: 16px;
    line-height: 1.4;
}
.rpm-order-view .rpm-order-view-table > tfoot > tr > td {
    background: var(--rpm-order-header) !important;
}
.rpm-order-view .rpm-order-view-table > tbody > tr:hover > td {
    background: var(--rpm-order-hover) !important;
}
.rpm-order-view .rpm-order-view-cell--price,
.rpm-order-view .rpm-order-view-cell--quantity,
.rpm-order-view .rpm-order-view-cell--discount-percent,
.rpm-order-view .rpm-order-view-cell--discount-value,
.rpm-order-view .rpm-order-view-cell--total {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.rpm-order-view .rpm-order-view-cell--product,
.rpm-order-view .rpm-order-view-cell--question,
.rpm-order-view .rpm-order-view-cell--answer {
    text-align: left;
}
.rpm-order-view .rpm-order-view-product-description,
.rpm-order-view .rpm-order-view-survey-question-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-campaign {
    display: inline-block;
    margin-top: 4px;
    color: var(--rpm-order-muted);
    font-size: 13px;
    line-height: 1.35;
}
.rpm-order-view .rpm-order-view-products-table > thead > tr > th:nth-child(1) { width: 34%; }
.rpm-order-view .rpm-order-view-products-table > thead > tr > th:nth-child(2) { width: 14%; }
.rpm-order-view .rpm-order-view-products-table > thead > tr > th:nth-child(3) { width: 9%; }
.rpm-order-view .rpm-order-view-products-table > thead > tr > th:nth-child(4) { width: 13%; }
.rpm-order-view .rpm-order-view-products-table > thead > tr > th:nth-child(5) { width: 14%; }
.rpm-order-view .rpm-order-view-products-table > thead > tr > th:nth-child(6) { width: 16%; }
.rpm-order-view .rpm-order-view-products-row--discount > td,
.rpm-order-view .rpm-order-view-products-row--discount-total > td {
    color: var(--rpm-order-danger) !important;
}
.rpm-order-view .rpm-order-view-products-row--campaign > td {
    color: var(--rpm-order-muted) !important;
}
.rpm-order-view .rpm-order-view-products-row--grand-total > td {
    border-top: 2px solid var(--rpm-order-info) !important;
    background: var(--rpm-order-info-soft) !important;
    color: var(--rpm-order-info) !important;
    font-size: 18px;
    font-weight: 700;
}
.rpm-order-view .rpm-order-view-total-cell {
    text-align: right;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.rpm-order-view .rpm-order-view-survey-table > thead > tr > th:first-child { width: 60%; }
.rpm-order-view .rpm-order-view-survey-table > thead > tr > th:last-child { width: 40%; text-align: left; }
.rpm-order-view .rpm-order-view-survey-table > tbody > tr > td {
    text-align: left;
}
.rpm-order-view .rpm-order-view-survey-row--questionnaire > td {
    background: var(--rpm-order-info-soft) !important;
    color: var(--rpm-order-info) !important;
    font-weight: 600;
}
.rpm-order-view .rpm-order-view-survey-row--date > td {
    background: var(--rpm-order-header) !important;
    color: var(--rpm-order-muted) !important;
    font-size: 14px;
    font-style: italic;
    text-align: right;
}
.rpm-order-view .rpm-order-view-survey-answer-value {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-survey-answer-highlight { color: var(--rpm-order-success); }
.rpm-order-view .rpm-order-view-survey-answer-description {
    color: var(--rpm-order-muted);
    font-size: 14px;
    line-height: 1.35;
}

.rpm-order-view .rpm-order-view-recurrence {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--rpm-order-border);
    border-radius: 12px;
    background: var(--rpm-order-header);
    overflow: hidden;
}
.rpm-order-view .rpm-order-view-recurrence-header {
    display: flex;
    align-items: center;
    min-width: 0;
    padding: 14px 16px;
    border: 0;
    border-bottom: 1px solid var(--rpm-order-border);
    background: var(--rpm-order-header);
    color: var(--rpm-order-text);
}
.rpm-order-view .rpm-order-view-recurrence-header .panel-title {
    min-width: 0;
    color: var(--rpm-order-text);
    font-size: 18px;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-recurrence-body {
    max-height: 300px;
    padding: 12px 16px;
    overflow-x: hidden;
    overflow-y: auto;
}
.rpm-order-view .rpm-order-view-recurrence-table {
    table-layout: fixed;
}
.rpm-order-view .rpm-order-view-recurrence-table > thead > tr > th:not(:first-child) {
    text-align: left;
}
.rpm-order-view .rpm-order-view-recurrence-table > tbody > tr > td {
    text-align: left;
}
.rpm-order-view .rpm-order-view-recurrence-row--current > td {
    background: var(--rpm-order-warning-soft) !important;
}
.rpm-order-view .rpm-order-view-recurrence-status-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid var(--rpm-order-border);
    border-radius: 8px;
    background: var(--rpm-order-surface);
    color: var(--rpm-order-info) !important;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
}
.rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--info { color: var(--rpm-order-info) !important; }
.rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--success { color: var(--rpm-order-success) !important; }
.rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--danger { color: var(--rpm-order-danger) !important; }
.rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--muted { color: var(--rpm-order-muted) !important; }
.rpm-order-view .rpm-order-view-recurrence-status-link:hover,
.rpm-order-view .rpm-order-view-recurrence-status-link:focus-visible {
    border-color: var(--rpm-order-focus);
    background: var(--rpm-order-hover);
}
.rpm-order-view .rpm-order-view-recurrence-empty-status {
    color: var(--rpm-order-muted);
    font-size: 14px;
}

.rpm-order-view .rpm-order-view-actions {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding-top: 4px;
    border-top: 1px solid var(--rpm-order-border);
}
.rpm-order-view .rpm-order-view-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 0 1 auto;
    min-width: 44px;
    min-height: 48px;
    margin: 0;
    padding: 10px 16px;
    border: 1px solid var(--rpm-order-border);
    border-radius: 10px;
    background: var(--rpm-order-surface);
    color: var(--rpm-order-text) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
}
.rpm-order-view .rpm-order-view-action:hover,
.rpm-order-view .rpm-order-view-action:active,
.rpm-order-view .rpm-order-view-action:focus-visible {
    border-color: var(--rpm-order-focus);
    background: var(--rpm-order-hover);
    color: var(--rpm-order-text) !important;
    text-decoration: none;
}
.rpm-order-view .rpm-order-view-action--copy {
    border-color: var(--rpm-order-action);
    background: var(--rpm-order-action);
    color: #ffffff !important;
}
.rpm-order-view .rpm-order-view-action--copy:hover,
.rpm-order-view .rpm-order-view-action--copy:focus-visible {
    border-color: var(--rpm-order-focus);
    background: var(--rpm-order-focus);
    color: #ffffff !important;
}
.rpm-order-view .rpm-order-view-action--note { border-color: var(--rpm-order-border); }
.rpm-order-view .rpm-order-view-action--edit {
    border-color: var(--rpm-order-warning);
    background: var(--rpm-order-warning-soft);
    color: var(--rpm-order-warning) !important;
}
.rpm-order-view .rpm-order-view-action--edit:hover,
.rpm-order-view .rpm-order-view-action--edit:focus-visible {
    border-color: var(--rpm-order-warning);
    background: var(--rpm-order-warning-soft);
    color: var(--rpm-order-warning) !important;
}
.rpm-order-view .rpm-order-view-action--complete {
    border-color: var(--rpm-order-success);
    background: var(--rpm-order-success);
    color: #ffffff !important;
}
.rpm-order-view .rpm-order-view-action--complete:hover,
.rpm-order-view .rpm-order-view-action--complete:focus-visible {
    border-color: var(--rpm-order-success);
    background: var(--rpm-order-success);
    color: #ffffff !important;
}
.rpm-order-view .rpm-order-view-action--cancel {
    border-color: var(--rpm-order-danger);
    background: var(--rpm-order-danger-soft);
    color: var(--rpm-order-danger) !important;
}
.rpm-order-view .rpm-order-view-action--cancel:hover,
.rpm-order-view .rpm-order-view-action--cancel:focus-visible {
    border-color: var(--rpm-order-danger);
    background: var(--rpm-order-danger-soft);
    color: var(--rpm-order-danger) !important;
}
.rpm-order-view .rpm-order-view-action--confirm {
    border-color: var(--rpm-order-info);
    background: var(--rpm-order-info-soft);
    color: var(--rpm-order-info) !important;
}
.rpm-order-view .rpm-order-view-action--confirm:hover,
.rpm-order-view .rpm-order-view-action--confirm:focus-visible {
    border-color: var(--rpm-order-info);
    background: var(--rpm-order-info-soft);
    color: var(--rpm-order-info) !important;
}
.rpm-order-view .rpm-order-view-action--recurrence {
    border-color: var(--rpm-order-warning);
    background: var(--rpm-order-warning);
    color: #ffffff !important;
}
.rpm-order-view .rpm-order-view-action--recurrence:hover,
.rpm-order-view .rpm-order-view-action--recurrence:focus-visible {
    border-color: var(--rpm-order-warning);
    background: var(--rpm-order-warning);
    color: #ffffff !important;
}
.rpm-order-view .rpm-order-view-action i,
.rpm-order-view .rpm-order-view-action-icon {
    flex: 0 0 auto;
    color: currentColor !important;
}
.rpm-order-view .rpm-order-view-expander {
    display: inline-flex;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}
.rpm-order-view .rpm-order-view-expander > .rpm-order-view-action {
    width: auto;
}
.rpm-order-view .rpm-order-view-expander .rpm-order-view-recurrence-menu {
    width: min(720px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.rpm-order-view a:focus-visible,
.rpm-order-view button:focus-visible,
.rpm-order-view [tabindex]:focus-visible,
.rpm-order-edit a:focus-visible,
.rpm-order-edit button:focus-visible,
.rpm-order-edit input:focus-visible,
.rpm-order-edit select:focus-visible,
.rpm-order-edit textarea:focus-visible {
    outline: 3px solid var(--rpm-order-focus) !important;
    outline-offset: 3px;
}

/* O modal é renderizado fora do painel principal por TInputDialog; a classe
   é aplicada ao formulário e ao modal pelo pequeno gancho de apresentação. */
.rpm-order-edit.modal-content,
.rpm-order-edit {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid var(--rpm-order-border);
    border-radius: 12px;
    background: var(--rpm-order-surface);
    color: var(--rpm-order-text);
    overflow-wrap: anywhere;
}
.rpm-order-edit.modal-content {
    overflow: hidden;
}
.rpm-order-edit form,
.rpm-order-edit > form,
.rpm-order-edit > .panel-body,
.rpm-order-edit > form > .panel-body,
.rpm-order-edit > form > .panel-footer {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    background: var(--rpm-order-surface);
    color: var(--rpm-order-text);
}
.rpm-order-edit > form > .panel-body,
.rpm-order-edit > .panel-body {
    padding: 20px;
}
.rpm-order-edit .rpm-order-edit-list {
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    color: var(--rpm-order-text);
}
.rpm-order-edit .rpm-order-edit-list > thead > tr > th,
.rpm-order-edit .rpm-order-edit-list > tbody > tr > td,
.rpm-order-edit .rpm-order-edit-list > tfoot > tr > td {
    min-width: 0;
    padding: 10px;
    border-color: var(--rpm-order-border) !important;
    color: var(--rpm-order-text) !important;
    vertical-align: middle;
    overflow-wrap: anywhere;
}
.rpm-order-edit .rpm-order-edit-list > thead > tr > th {
    background: var(--rpm-order-header) !important;
    color: var(--rpm-order-muted) !important;
    font-size: 14px;
    font-weight: 600;
}
.rpm-order-edit .rpm-order-edit-list > tbody > tr > td {
    background: var(--rpm-order-surface) !important;
}
.rpm-order-edit .rpm-order-edit-list > tbody > tr:hover > td {
    background: var(--rpm-order-hover) !important;
}
.rpm-order-edit .rpm-order-edit-list input.tfield,
.rpm-order-edit .rpm-order-edit-list select,
.rpm-order-edit .rpm-order-edit-list .select2-container {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}
.rpm-order-edit .rpm-order-edit-submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 48px;
    padding: 10px 18px;
    border: 1px solid var(--rpm-order-action) !important;
    border-radius: 10px;
    background: var(--rpm-order-action) !important;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 600;
}
.rpm-order-edit .rpm-order-edit-submit:hover,
.rpm-order-edit .rpm-order-edit-submit:focus-visible {
    border-color: var(--rpm-order-focus) !important;
    background: var(--rpm-order-focus) !important;
}

@media (max-width: 767px) {
    .rpm-order-view.card.panel {
        margin-bottom: 16px;
    }
    .rpm-order-view > .panel-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding: 16px;
    }
    .rpm-order-view > .panel-heading .panel-title {
        font-size: 20px;
    }
    .rpm-order-view > .panel-heading .header-actions {
        width: 100%;
        justify-content: stretch;
    }
    .rpm-order-view .rpm-order-view-header-action {
        flex: 1 1 100%;
        width: 100%;
    }
    .rpm-order-view > .rpm-order-view-body {
        gap: 12px;
        padding: 12px;
    }
    .rpm-order-view .rpm-order-view-section {
        padding: 16px 12px;
    }
    .rpm-order-view .rpm-order-view-section-title {
        font-size: 17px;
    }
    .rpm-order-view .rpm-order-view-meta-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }
    .rpm-order-view .rpm-order-view-meta-item--order {
        grid-column: auto;
    }
    .rpm-order-view .rpm-order-view-meta-item--order .rpm-order-view-meta-value {
        font-size: 21px;
    }
    .rpm-order-view .rpm-order-view-table,
    .rpm-order-view .rpm-order-view-table > thead,
    .rpm-order-view .rpm-order-view-table > tbody,
    .rpm-order-view .rpm-order-view-table > tfoot,
    .rpm-order-view .rpm-order-view-table > thead > tr,
    .rpm-order-view .rpm-order-view-table > tbody > tr,
    .rpm-order-view .rpm-order-view-table > tfoot > tr,
    .rpm-order-view .rpm-order-view-table > thead > tr > th,
    .rpm-order-view .rpm-order-view-table > tbody > tr > td,
    .rpm-order-view .rpm-order-view-table > tfoot > tr > td {
        display: block;
        width: 100%;
        max-width: 100%;
    }
    .rpm-order-view .rpm-order-view-table > thead {
        position: absolute;
        width: 1px !important;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .rpm-order-view .rpm-order-view-table {
        border-spacing: 0;
    }
    .rpm-order-view .rpm-order-view-table > tbody > tr,
    .rpm-order-view .rpm-order-view-table > tfoot > tr {
        margin: 0 0 12px;
        border: 1px solid var(--rpm-order-border);
        border-radius: 10px;
        background: var(--rpm-order-surface);
        overflow: hidden;
    }
    .rpm-order-view .rpm-order-view-table > tbody > tr > td,
    .rpm-order-view .rpm-order-view-table > tfoot > tr > td {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        min-height: 44px;
        padding: 10px 12px;
        border: 0 !important;
        background: transparent !important;
        text-align: right;
    }
    .rpm-order-view .rpm-order-view-table > tbody > tr > td + td,
    .rpm-order-view .rpm-order-view-table > tfoot > tr > td + td {
        border-top: 1px solid var(--rpm-order-border) !important;
    }
    .rpm-order-view .rpm-order-view-table > tbody > tr > td::before,
    .rpm-order-view .rpm-order-view-table > tfoot > tr > td::before {
        content: attr(data-label);
        flex: 0 1 42%;
        min-width: 0;
        color: var(--rpm-order-muted);
        font-size: 13px;
        font-weight: 600;
        line-height: 1.3;
        text-align: left;
        overflow-wrap: anywhere;
    }
    .rpm-order-view .rpm-order-view-table > tbody > tr > td > *,
    .rpm-order-view .rpm-order-view-table > tfoot > tr > td > * {
        min-width: 0;
        max-width: 58%;
    }
    .rpm-order-view .rpm-order-view-products-table > tbody > tr > td:first-child,
    .rpm-order-view .rpm-order-view-survey-table > tbody > tr > td:first-child {
        display: block;
        text-align: left;
    }
    .rpm-order-view .rpm-order-view-products-table > tbody > tr > td:first-child::before,
    .rpm-order-view .rpm-order-view-survey-table > tbody > tr > td:first-child::before {
        display: block;
        margin-bottom: 5px;
    }
    .rpm-order-view .rpm-order-view-products-table > tbody > tr > td:first-child > *,
    .rpm-order-view .rpm-order-view-survey-table > tbody > tr > td:first-child > * {
        max-width: 100%;
    }
    .rpm-order-view .rpm-order-view-products-table > tfoot > tr > td,
    .rpm-order-view .rpm-order-view-survey-table > tbody > tr > td[colspan] {
        display: block;
        text-align: left;
    }
    .rpm-order-view .rpm-order-view-products-table > tfoot > tr > td::before,
    .rpm-order-view .rpm-order-view-survey-table > tbody > tr > td[colspan]::before {
        display: block;
        margin-bottom: 4px;
    }
    .rpm-order-view .rpm-order-view-products-table > tfoot > tr > td {
        text-align: right;
    }
    .rpm-order-view .rpm-order-view-products-row--grand-total > td {
        font-size: 17px;
    }
    .rpm-order-view .rpm-order-view-recurrence {
        border-radius: 10px;
    }
    .rpm-order-view .rpm-order-view-recurrence-body {
        max-height: none;
        padding: 8px;
    }
    .rpm-order-view .rpm-order-view-recurrence-table > tbody > tr > td {
        text-align: left;
    }
    .rpm-order-view .rpm-order-view-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        padding-top: 12px;
    }
    .rpm-order-view .rpm-order-view-action,
    .rpm-order-view .rpm-order-view-expander,
    .rpm-order-view .rpm-order-view-expander > .rpm-order-view-action {
        width: 100%;
        max-width: 100%;
    }
    .rpm-order-view .rpm-order-view-expander {
        display: block;
    }
    .rpm-order-view .rpm-order-view-expander .rpm-order-view-recurrence-menu {
        position: static;
        width: 100%;
        max-width: 100%;
        margin-top: 8px;
    }
    .rpm-order-edit.modal-content {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        margin: 8px auto !important;
    }
    .rpm-order-edit > form > .panel-body,
    .rpm-order-edit > .panel-body {
        padding: 16px 12px;
    }
    .rpm-order-edit .rpm-order-edit-list,
    .rpm-order-edit .rpm-order-edit-list > thead,
    .rpm-order-edit .rpm-order-edit-list > tbody,
    .rpm-order-edit .rpm-order-edit-list > tfoot,
    .rpm-order-edit .rpm-order-edit-list > thead > tr,
    .rpm-order-edit .rpm-order-edit-list > tbody > tr,
    .rpm-order-edit .rpm-order-edit-list > tfoot > tr,
    .rpm-order-edit .rpm-order-edit-list > thead > tr > th,
    .rpm-order-edit .rpm-order-edit-list > tbody > tr > td,
    .rpm-order-edit .rpm-order-edit-list > tfoot > tr > td {
        display: block;
        width: 100%;
        max-width: 100%;
    }
    .rpm-order-edit .rpm-order-edit-list > thead {
        position: absolute;
        width: 1px !important;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }
    .rpm-order-edit .rpm-order-edit-list > tbody > tr,
    .rpm-order-edit .rpm-order-edit-list > tfoot > tr {
        margin-bottom: 12px;
        border: 1px solid var(--rpm-order-border);
        border-radius: 10px;
        overflow: hidden;
    }
    .rpm-order-edit .rpm-order-edit-list > tbody > tr > td,
    .rpm-order-edit .rpm-order-edit-list > tfoot > tr > td {
        min-height: 44px;
        border: 0 !important;
        border-bottom: 1px solid var(--rpm-order-border) !important;
    }
    .rpm-order-edit .rpm-order-edit-list > tbody > tr > td:last-child,
    .rpm-order-edit .rpm-order-edit-list > tfoot > tr > td:last-child {
        border-bottom: 0 !important;
    }
    .rpm-order-edit .rpm-order-edit-submit {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-order-view .rpm-order-view-header-action,
    .rpm-order-view .rpm-order-view-action,
    .rpm-order-edit .rpm-order-edit-submit {
        transition: none !important;
    }
}

.dark-mode .rpm-order-view,
.dark-mode .rpm-order-edit {
    --rpm-order-surface: #1f2b37;
    --rpm-order-header: #243140;
    --rpm-order-hover: #2a3a4c;
    --rpm-order-border: #40556b;
    --rpm-order-text: #f2f5f9;
    --rpm-order-muted: #b7c6d7;
    --rpm-order-focus: #83bfff;
    --rpm-order-focus-soft: rgba(131, 191, 255, 0.22);
    --rpm-order-action: #286db3;
    --rpm-order-info: #83bfff;
    --rpm-order-info-soft: rgba(131, 191, 255, 0.16);
    --rpm-order-success: #4fd2a0;
    --rpm-order-success-soft: rgba(79, 210, 160, 0.16);
    --rpm-order-warning: #ffc18d;
    --rpm-order-warning-soft: rgba(255, 193, 141, 0.16);
    --rpm-order-danger: #ff9298;
    --rpm-order-danger-soft: rgba(255, 146, 152, 0.16);
}
.dark-mode .rpm-order-view.card.panel,
.dark-mode .rpm-order-view > .panel-heading,
.dark-mode .rpm-order-view > .rpm-order-view-body,
.dark-mode .rpm-order-view .rpm-order-view-section,
.dark-mode .rpm-order-edit.modal-content,
.dark-mode .rpm-order-edit,
.dark-mode .rpm-order-edit form,
.dark-mode .rpm-order-edit > form > .panel-body,
.dark-mode .rpm-order-edit > form > .panel-footer {
    background: var(--rpm-order-surface) !important;
    border-color: var(--rpm-order-border) !important;
    color: var(--rpm-order-text) !important;
}
.dark-mode .rpm-order-view > .panel-heading,
.dark-mode .rpm-order-view .rpm-order-view-meta-item,
.dark-mode .rpm-order-view .rpm-order-view-recurrence,
.dark-mode .rpm-order-view .rpm-order-view-recurrence-header,
.dark-mode .rpm-order-view .rpm-order-view-recurrence-body,
.dark-mode .rpm-order-edit .rpm-order-edit-list > thead > tr > th {
    background: var(--rpm-order-header) !important;
}
.dark-mode .rpm-order-view > .panel-heading .panel-title,
.dark-mode .rpm-order-view .rpm-order-view-section-title,
.dark-mode .rpm-order-view .rpm-order-view-meta-value,
.dark-mode .rpm-order-view .rpm-order-view-table > tbody > tr > td,
.dark-mode .rpm-order-view .rpm-order-view-table > tfoot > tr > td,
.dark-mode .rpm-order-view .rpm-order-view-recurrence-header .panel-title,
.dark-mode .rpm-order-edit .rpm-order-edit-list > tbody > tr > td,
.dark-mode .rpm-order-edit .rpm-order-edit-list > tfoot > tr > td {
    color: var(--rpm-order-text) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-meta-label,
.dark-mode .rpm-order-view .rpm-order-view-table > thead > tr > th,
.dark-mode .rpm-order-view .rpm-order-view-survey-row--date > td,
.dark-mode .rpm-order-edit .rpm-order-edit-list > thead > tr > th {
    color: var(--rpm-order-muted) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-table > thead > tr > th,
.dark-mode .rpm-order-view .rpm-order-view-table > tbody > tr > td,
.dark-mode .rpm-order-view .rpm-order-view-table > tfoot > tr > td,
.dark-mode .rpm-order-edit .rpm-order-edit-list > thead > tr > th,
.dark-mode .rpm-order-edit .rpm-order-edit-list > tbody > tr > td,
.dark-mode .rpm-order-edit .rpm-order-edit-list > tfoot > tr > td {
    border-color: var(--rpm-order-border) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-table > thead > tr > th,
.dark-mode .rpm-order-edit .rpm-order-edit-list > thead > tr > th {
    background: var(--rpm-order-header) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-table > tbody > tr > td,
.dark-mode .rpm-order-edit .rpm-order-edit-list > tbody > tr > td {
    background: var(--rpm-order-surface) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-table > tbody > tr:hover > td,
.dark-mode .rpm-order-view .rpm-order-view-recurrence-status-link:hover,
.dark-mode .rpm-order-view .rpm-order-view-recurrence-status-link:focus-visible,
.dark-mode .rpm-order-edit .rpm-order-edit-list > tbody > tr:hover > td {
    background: var(--rpm-order-hover) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-header-action,
.dark-mode .rpm-order-view .rpm-order-view-recurrence-status-link {
    background: var(--rpm-order-surface) !important;
    border-color: var(--rpm-order-border) !important;
    color: var(--rpm-order-text) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-header-action:hover,
.dark-mode .rpm-order-view .rpm-order-view-header-action:focus-visible {
    background: var(--rpm-order-hover) !important;
    border-color: var(--rpm-order-focus) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-action--copy,
.dark-mode .rpm-order-view .rpm-order-view-action--copy:hover,
.dark-mode .rpm-order-view .rpm-order-view-action--copy:focus-visible,
.dark-mode .rpm-order-view .rpm-order-view-action--complete,
.dark-mode .rpm-order-view .rpm-order-view-action--complete:hover,
.dark-mode .rpm-order-view .rpm-order-view-action--complete:focus-visible,
.dark-mode .rpm-order-view .rpm-order-view-action--recurrence,
.dark-mode .rpm-order-view .rpm-order-view-action--recurrence:hover,
.dark-mode .rpm-order-view .rpm-order-view-action--recurrence:focus-visible {
    color: #172333 !important;
}
.dark-mode .rpm-order-view .rpm-order-view-action--copy,
.dark-mode .rpm-order-view .rpm-order-view-action--copy:hover,
.dark-mode .rpm-order-view .rpm-order-view-action--copy:focus-visible {
    background: var(--rpm-order-focus) !important;
    border-color: var(--rpm-order-focus) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-action--complete,
.dark-mode .rpm-order-view .rpm-order-view-action--complete:hover,
.dark-mode .rpm-order-view .rpm-order-view-action--complete:focus-visible {
    background: var(--rpm-order-success) !important;
    border-color: var(--rpm-order-success) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-action--recurrence,
.dark-mode .rpm-order-view .rpm-order-view-action--recurrence:hover,
.dark-mode .rpm-order-view .rpm-order-view-action--recurrence:focus-visible {
    background: var(--rpm-order-warning) !important;
    border-color: var(--rpm-order-warning) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-action--edit {
    background: var(--rpm-order-warning-soft) !important;
    border-color: var(--rpm-order-warning) !important;
    color: var(--rpm-order-warning) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-action--cancel {
    background: var(--rpm-order-danger-soft) !important;
    border-color: var(--rpm-order-danger) !important;
    color: var(--rpm-order-danger) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-action--confirm {
    background: var(--rpm-order-info-soft) !important;
    border-color: var(--rpm-order-info) !important;
    color: var(--rpm-order-info) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-survey-row--questionnaire > td {
    background: var(--rpm-order-info-soft) !important;
    color: var(--rpm-order-info) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-survey-row--date > td {
    background: var(--rpm-order-header) !important;
    color: var(--rpm-order-muted) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-products-row--grand-total > td {
    background: var(--rpm-order-info-soft) !important;
    border-top-color: var(--rpm-order-info) !important;
    color: var(--rpm-order-info) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-recurrence-row--current > td {
    background: var(--rpm-order-warning-soft) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--info {
    color: var(--rpm-order-info) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--success {
    color: var(--rpm-order-success) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--danger {
    color: var(--rpm-order-danger) !important;
}
.dark-mode .rpm-order-view .rpm-order-view-recurrence-status-link.rpm-order-view-status--muted {
    color: var(--rpm-order-muted) !important;
}
.dark-mode .rpm-order-edit .rpm-order-edit-submit,
.dark-mode .rpm-order-edit .rpm-order-edit-submit:hover,
.dark-mode .rpm-order-edit .rpm-order-edit-submit:focus-visible {
    background: var(--rpm-order-focus) !important;
    border-color: var(--rpm-order-focus) !important;
    color: #172333 !important;
}

/* Nota do atendimento: uma superfície curta, legível e consistente com o pedido */
.rpm-order-note {
    --rpm-note-surface: #ffffff;
    --rpm-note-header: #f1f5f9;
    --rpm-note-subtle: #f8fafc;
    --rpm-note-hover: #edf3fa;
    --rpm-note-border: #ced9e5;
    --rpm-note-text: #223247;
    --rpm-note-muted: #52657a;
    --rpm-note-focus: #1764b4;
    --rpm-note-focus-soft: rgba(23, 100, 180, 0.18);
    --rpm-note-action: #2469ad;
    --rpm-note-action-hover: #1764b4;
    --rpm-note-success: #087f59;
    --rpm-note-danger: #cf353e;
    --rpm-note-on-action: #ffffff;
    max-width: 100%;
    min-width: 0;
    overflow: visible;
    color: var(--rpm-note-text);
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.rpm-order-note,
.rpm-order-note * {
    box-sizing: border-box;
}

.rpm-order-note.card.panel {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--rpm-note-border);
    border-radius: 12px;
    background: var(--rpm-note-surface);
    color: var(--rpm-note-text);
    box-shadow: none;
}

.rpm-order-note > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--rpm-note-border);
    border-radius: 12px 12px 0 0;
    background: var(--rpm-note-header);
    color: var(--rpm-note-text);
}

.rpm-order-note > .panel-heading .panel-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
    color: var(--rpm-note-text);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-order-note > .panel-heading .panel-title::before {
    content: "";
    flex: 0 0 4px;
    width: 4px;
    height: 24px;
    border-radius: 4px;
    background: var(--rpm-note-action);
}

.rpm-order-note > .panel-heading .header-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.rpm-order-note .rpm-order-note-close,
.rpm-order-note .rpm-order-note-edit,
.rpm-order-note .rpm-order-note-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    padding: 10px 16px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}

.rpm-order-note .rpm-order-note-close,
.rpm-order-note .rpm-order-note-edit {
    border: 1px solid var(--rpm-note-border);
    background: var(--rpm-note-surface);
    color: var(--rpm-note-text) !important;
}

.rpm-order-note .rpm-order-note-close:hover,
.rpm-order-note .rpm-order-note-close:active,
.rpm-order-note .rpm-order-note-close:focus-visible,
.rpm-order-note .rpm-order-note-edit:hover,
.rpm-order-note .rpm-order-note-edit:active,
.rpm-order-note .rpm-order-note-edit:focus-visible {
    border-color: var(--rpm-note-focus);
    background: var(--rpm-note-hover);
    color: var(--rpm-note-text) !important;
}

.rpm-order-note .rpm-order-note-save {
    min-height: 48px;
    border: 1px solid var(--rpm-note-action) !important;
    background: var(--rpm-note-action) !important;
    color: var(--rpm-note-on-action) !important;
}

.rpm-order-note .rpm-order-note-save:hover,
.rpm-order-note .rpm-order-note-save:active,
.rpm-order-note .rpm-order-note-save:focus-visible {
    border-color: var(--rpm-note-action-hover) !important;
    background: var(--rpm-note-action-hover) !important;
    color: var(--rpm-note-on-action) !important;
}

.rpm-order-note > form,
.rpm-order-note > form > .panel-body,
.rpm-order-note > .panel-body {
    min-width: 0;
    max-width: 100%;
    background: var(--rpm-note-surface);
    color: var(--rpm-note-text);
}

.rpm-order-note > form > .panel-body,
.rpm-order-note > .panel-body {
    padding: 20px;
}

.rpm-order-note > form > .panel-footer,
.rpm-order-note > .panel-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 20px 20px;
    border-top: 1px solid var(--rpm-note-border);
    border-radius: 0 0 12px 12px;
    background: var(--rpm-note-surface);
}

.rpm-order-note .rpm-order-note-section {
    width: 100%;
    margin: 4px 0 12px;
}

.rpm-order-note .rpm-order-note-section .tseparator {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0 0 8px;
    border: 0;
    color: var(--rpm-note-text) !important;
    font-family: inherit;
    font-size: 17px !important;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-order-note .rpm-order-note-section .tseparator::before {
    content: "";
    flex: 0 0 4px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: var(--rpm-note-action);
}

.rpm-order-note .rpm-order-note-section .tseparator-divisor {
    margin: 0 0 12px;
    border-top: 1px solid var(--rpm-note-border) !important;
    border-bottom: 0;
}

.rpm-order-note .tformrow {
    min-width: 0;
    margin-right: 0;
    margin-left: 0;
}

.rpm-order-note .fb-field-container,
.rpm-order-note .fb-inline-field-container {
    min-width: 0;
    max-width: 100%;
}

.rpm-order-note .rpm-order-note-label,
.rpm-order-note label.control-label,
.rpm-order-note .fb-inline-field-container > label:not(.tswitch):not(.label_timagecropper) {
    display: block;
    width: 100%;
    margin: 0 0 7px;
    color: var(--rpm-note-muted);
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-order-note textarea.rpm-order-note-textarea,
.rpm-order-note textarea.tfield {
    display: block;
    width: 100% !important;
    min-width: 0;
    min-height: 180px;
    max-width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--rpm-note-border);
    border-radius: 10px;
    outline: 0;
    background: var(--rpm-note-subtle);
    color: var(--rpm-note-text);
    font: inherit;
    line-height: 1.5;
    overflow-wrap: anywhere;
    resize: vertical;
    caret-color: var(--rpm-note-focus);
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.rpm-order-note textarea.rpm-order-note-textarea::placeholder,
.rpm-order-note textarea.tfield::placeholder {
    color: var(--rpm-note-muted);
    opacity: 1;
}

.rpm-order-note textarea.rpm-order-note-textarea:hover,
.rpm-order-note textarea.tfield:hover {
    border-color: var(--rpm-note-focus);
    background: var(--rpm-note-hover);
}

.rpm-order-note textarea.rpm-order-note-textarea:focus,
.rpm-order-note textarea.tfield:focus {
    border-color: var(--rpm-note-focus);
    background: var(--rpm-note-surface);
    box-shadow: 0 0 0 3px var(--rpm-note-focus-soft);
}

.rpm-order-note textarea[readonly],
.rpm-order-note textarea.tfield_disabled,
.rpm-order-note input[disabled],
.rpm-order-note input.tfield_disabled {
    border-color: var(--rpm-note-border) !important;
    background: var(--rpm-note-header) !important;
    color: var(--rpm-note-muted) !important;
    cursor: not-allowed;
}

.rpm-order-note input[type="file"].rpm-order-note-file-input,
.rpm-order-note input[type="file"] {
    display: block;
    width: 100% !important;
    min-width: 0;
    min-height: 48px;
    max-width: 100%;
    padding: 8px;
    border: 1px dashed var(--rpm-note-border);
    border-radius: 10px;
    background: var(--rpm-note-subtle);
    color: var(--rpm-note-text);
    font: inherit;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-order-note input[type="file"]::file-selector-button {
    min-height: 36px;
    margin-right: 10px;
    padding: 7px 12px;
    border: 1px solid var(--rpm-note-action);
    border-radius: 8px;
    background: var(--rpm-note-action);
    color: var(--rpm-note-on-action);
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.rpm-order-note input[type="file"]:hover {
    border-color: var(--rpm-note-focus);
    background: var(--rpm-note-hover);
}

.rpm-order-note input[type="file"]:focus {
    outline: 3px solid var(--rpm-note-focus);
    outline-offset: 3px;
}

.rpm-order-note .rpm-order-note-viewer-row,
.rpm-order-note .rpm-order-note-attachments-row {
    min-width: 0;
}

.rpm-order-note.rpm-order-note--edit .rpm-order-note-viewer-row,
.rpm-order-note.rpm-order-note--edit .rpm-order-note-attachments-row,
.rpm-order-note .rpm-order-note-editor-row--hidden,
.rpm-order-note .rpm-order-note-attachments-input-row--hidden {
    display: none !important;
}

.rpm-order-note .rpm-order-note-viewer,
.rpm-order-note .rpm-order-note-attachments-region {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.rpm-order-note .rpm-order-note-viewer {
    padding: 14px;
    border: 1px solid var(--rpm-note-border);
    border-radius: 10px;
    background: var(--rpm-note-subtle);
    color: var(--rpm-note-text);
    overflow-wrap: anywhere;
}

.rpm-order-note .rpm-order-note-viewer-text {
    margin: 0;
    color: var(--rpm-note-text);
    font-size: 16px;
    line-height: 1.55;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.rpm-order-note .rpm-order-note-empty {
    margin: 0;
    color: var(--rpm-note-muted);
    font-size: 16px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.rpm-order-note .rpm-order-note-attachments {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--rpm-note-border);
    border-radius: 10px;
    background: var(--rpm-note-surface);
    box-shadow: none;
}

.rpm-order-note .rpm-order-note-attachments-header {
    padding: 12px 14px;
    border-bottom: 1px solid var(--rpm-note-border);
    border-radius: 10px 10px 0 0;
    background: var(--rpm-note-header);
    color: var(--rpm-note-text);
    font-size: 16px;
    line-height: 1.35;
}

.rpm-order-note .rpm-order-note-attachments-body {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    min-width: 0;
    padding: 14px;
    background: var(--rpm-note-surface);
}

.rpm-order-note .rpm-order-note-attachment-item {
    display: flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.rpm-order-note .rpm-order-note-image-link,
.rpm-order-note .rpm-order-note-file-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    color: var(--rpm-note-action);
    overflow-wrap: anywhere;
}

.rpm-order-note .rpm-order-note-image {
    display: block;
    width: auto;
    max-width: min(100%, 220px);
    max-height: 180px;
    border: 1px solid var(--rpm-note-border);
    border-radius: 8px;
    object-fit: contain;
}

.rpm-order-note .rpm-order-note-file-link {
    padding: 8px 12px;
    border-color: var(--rpm-note-action) !important;
    background: transparent;
    color: var(--rpm-note-action) !important;
    font-weight: 600;
    text-decoration: none;
}

.rpm-order-note .rpm-order-note-file-link:hover,
.rpm-order-note .rpm-order-note-file-link:focus-visible {
    border-color: var(--rpm-note-focus) !important;
    background: var(--rpm-note-hover);
    color: var(--rpm-note-focus) !important;
}

.rpm-order-note a:focus-visible,
.rpm-order-note button:focus-visible,
.rpm-order-note input:focus-visible,
.rpm-order-note textarea:focus-visible {
    outline: 3px solid var(--rpm-note-focus);
    outline-offset: 3px;
}

.rpm-order-note ::selection {
    background: var(--rpm-note-action);
    color: var(--rpm-note-on-action);
}

.rpm-order-note ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.rpm-order-note ::-webkit-scrollbar-thumb {
    border: 2px solid var(--rpm-note-surface);
    border-radius: 8px;
    background: var(--rpm-note-border);
}

.rpm-order-note ::-webkit-scrollbar-thumb:hover {
    background: var(--rpm-note-focus);
}

.dark-mode .rpm-order-note {
    --rpm-note-surface: #1f2b37;
    --rpm-note-header: #243140;
    --rpm-note-subtle: #1b2734;
    --rpm-note-hover: #2a3a4c;
    --rpm-note-border: #40556b;
    --rpm-note-text: #f2f5f9;
    --rpm-note-muted: #b7c6d7;
    --rpm-note-focus: #83bfff;
    --rpm-note-focus-soft: rgba(131, 191, 255, 0.22);
    --rpm-note-action: #286db3;
    --rpm-note-action-hover: #83bfff;
    --rpm-note-success: #4fd2a0;
    --rpm-note-danger: #ff9298;
}

.dark-mode .rpm-order-note.card.panel,
.dark-mode .rpm-order-note > .panel-heading,
.dark-mode .rpm-order-note > form,
.dark-mode .rpm-order-note > form > .panel-body,
.dark-mode .rpm-order-note > form > .panel-footer,
.dark-mode .rpm-order-note > .panel-body,
.dark-mode .rpm-order-note > .panel-footer,
.dark-mode .rpm-order-note .rpm-order-note-attachments,
.dark-mode .rpm-order-note .rpm-order-note-attachments-body {
    border-color: var(--rpm-note-border) !important;
    background: var(--rpm-note-surface) !important;
    color: var(--rpm-note-text) !important;
}

.dark-mode .rpm-order-note > .panel-heading,
.dark-mode .rpm-order-note .rpm-order-note-section .tseparator,
.dark-mode .rpm-order-note .rpm-order-note-attachments-header {
    background: var(--rpm-note-header) !important;
    color: var(--rpm-note-text) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-label,
.dark-mode .rpm-order-note label.control-label,
.dark-mode .rpm-order-note .fb-inline-field-container > label:not(.tswitch):not(.label_timagecropper) {
    color: var(--rpm-note-muted) !important;
}

.dark-mode .rpm-order-note textarea.rpm-order-note-textarea,
.dark-mode .rpm-order-note textarea.tfield,
.dark-mode .rpm-order-note input[type="file"].rpm-order-note-file-input,
.dark-mode .rpm-order-note input[type="file"],
.dark-mode .rpm-order-note .rpm-order-note-viewer {
    border-color: var(--rpm-note-border) !important;
    background: var(--rpm-note-subtle) !important;
    color: var(--rpm-note-text) !important;
}

.dark-mode .rpm-order-note textarea.rpm-order-note-textarea:focus,
.dark-mode .rpm-order-note textarea.tfield:focus,
.dark-mode .rpm-order-note input[type="file"]:focus {
    border-color: var(--rpm-note-focus) !important;
    background: var(--rpm-note-surface) !important;
}

.dark-mode .rpm-order-note textarea[readonly],
.dark-mode .rpm-order-note textarea.tfield_disabled,
.dark-mode .rpm-order-note input[disabled],
.dark-mode .rpm-order-note input.tfield_disabled {
    border-color: var(--rpm-note-border) !important;
    background: var(--rpm-note-header) !important;
    color: var(--rpm-note-muted) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-viewer-text {
    color: var(--rpm-note-text) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-empty {
    color: var(--rpm-note-muted) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-attachments-header {
    border-color: var(--rpm-note-border) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-close,
.dark-mode .rpm-order-note .rpm-order-note-edit {
    border-color: var(--rpm-note-border) !important;
    background: var(--rpm-note-surface) !important;
    color: var(--rpm-note-text) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-close:hover,
.dark-mode .rpm-order-note .rpm-order-note-close:focus-visible,
.dark-mode .rpm-order-note .rpm-order-note-edit:hover,
.dark-mode .rpm-order-note .rpm-order-note-edit:focus-visible {
    border-color: var(--rpm-note-focus) !important;
    background: var(--rpm-note-hover) !important;
    color: var(--rpm-note-text) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-save,
.dark-mode .rpm-order-note .rpm-order-note-save:hover,
.dark-mode .rpm-order-note .rpm-order-note-save:focus-visible {
    border-color: var(--rpm-note-focus) !important;
    background: var(--rpm-note-focus) !important;
    color: #172333 !important;
}

.dark-mode .rpm-order-note .rpm-order-note-file-link {
    border-color: var(--rpm-note-focus) !important;
    color: var(--rpm-note-focus) !important;
}

.dark-mode .rpm-order-note .rpm-order-note-file-link:hover,
.dark-mode .rpm-order-note .rpm-order-note-file-link:focus-visible {
    background: var(--rpm-note-hover) !important;
    color: var(--rpm-note-text) !important;
}

.dark-mode .rpm-order-note ::-webkit-scrollbar-thumb {
    border-color: var(--rpm-note-surface);
    background: var(--rpm-note-border);
}

@media (max-width: 767px) {
    .rpm-order-note > .panel-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        min-height: 0;
        padding: 14px 16px;
    }

    .rpm-order-note > .panel-heading .panel-title,
    .rpm-order-note > .panel-heading .header-actions {
        width: 100%;
    }

    .rpm-order-note > .panel-heading .header-actions {
        justify-content: flex-end;
        margin-left: 0;
    }

    .rpm-order-note > form > .panel-body,
    .rpm-order-note > .panel-body {
        padding: 16px 12px;
    }

    .rpm-order-note > form > .panel-footer,
    .rpm-order-note > .panel-footer {
        align-items: stretch;
        flex-direction: column;
        padding: 12px;
    }

    .rpm-order-note .rpm-order-note-save,
    .rpm-order-note .rpm-order-note-edit,
    .rpm-order-note .rpm-order-note-close {
        width: 100%;
        max-width: 100%;
    }

    .rpm-order-note .rpm-order-note-section {
        margin-top: 0;
    }

    .rpm-order-note .fb-field-container,
    .rpm-order-note .fb-field-container[class*="col-sm-"],
    .rpm-order-note .tformrow > [class*="col-sm-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .rpm-order-note textarea.rpm-order-note-textarea,
    .rpm-order-note textarea.tfield {
        min-height: 160px;
    }

    .rpm-order-note .rpm-order-note-attachments-body {
        flex-direction: column;
        align-items: stretch;
    }

    .rpm-order-note .rpm-order-note-attachment-item,
    .rpm-order-note .rpm-order-note-image-link,
    .rpm-order-note .rpm-order-note-file-link,
    .rpm-order-note .rpm-order-note-image {
        width: 100%;
        max-width: 100%;
    }

    .rpm-order-note .rpm-order-note-image {
        max-height: 220px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-order-note .rpm-order-note-close,
    .rpm-order-note .rpm-order-note-edit,
    .rpm-order-note .rpm-order-note-save,
    .rpm-order-note textarea.rpm-order-note-textarea,
    .rpm-order-note textarea.tfield {
        transition: none !important;
    }
}

/* Linhas criadas pelo TMultiFile continuam dentro da casca da nota. */
.rpm-order-note .tfile_row_wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    margin: 0 0 8px !important;
    border: 1px solid var(--rpm-note-border) !important;
    border-radius: 10px !important;
    background: var(--rpm-note-subtle);
    overflow: hidden;
}

.rpm-order-note .tfile_row_1 {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 6px 8px;
}

.rpm-order-note .tfile_row_2 {
    min-width: 0;
    height: 3px;
    background: var(--rpm-note-header);
}

.rpm-order-note .tfile_link_wrapper {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.rpm-order-note .tfile_link_wrapper a {
    display: inline-flex;
    align-items: center;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    color: var(--rpm-note-action);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-order-note .tfile_del_icon {
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    color: var(--rpm-note-danger) !important;
    cursor: pointer;
}

.rpm-order-note .tfile_del_icon:hover,
.rpm-order-note .tfile_del_icon:focus-visible {
    background: var(--rpm-note-hover);
    outline: 3px solid var(--rpm-note-focus);
    outline-offset: 2px;
}

.rpm-order-note .file-response-icon {
    flex: 0 0 auto;
}

.rpm-order-note .progress-bar {
    background: var(--rpm-note-action) !important;
}

.dark-mode .rpm-order-note .tfile_row_wrapper {
    border-color: var(--rpm-note-border) !important;
    background: var(--rpm-note-subtle) !important;
}

.dark-mode .rpm-order-note .tfile_row_2 {
    background: var(--rpm-note-header) !important;
}

.dark-mode .rpm-order-note .tfile_link_wrapper a {
    color: var(--rpm-note-focus) !important;
}

@media (max-width: 767px) {
    .rpm-order-note .tfile_row_1 {
        align-items: stretch;
    }

    .rpm-order-note .tfile_link_wrapper a {
        width: 100%;
    }
}

/* Dashboards RPM: Painel Operacional Sereno. Mantém o escopo em cada dashboard. */
.rpm-dashboard {
    --rpm-dash-surface: #ffffff;
    --rpm-dash-surface-raised: #f8fafc;
    --rpm-dash-header: #f1f5f9;
    --rpm-dash-hover: #edf3fa;
    --rpm-dash-border: #ced9e5;
    --rpm-dash-text: #223247;
    --rpm-dash-muted: #52657a;
    --rpm-dash-action: #2469ad;
    --rpm-dash-focus: #1764b4;
    --rpm-dash-focus-soft: rgba(23, 100, 180, 0.18);
    --rpm-dash-success: #087f59;
    --rpm-dash-warning: #b65a10;
    --rpm-dash-danger: #cf353e;
    --rpm-dash-client: #6454a0;
    --rpm-dash-action-contrast: #ffffff;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
    color: var(--rpm-dash-text);
    font-family: "Source Sans Pro", Arial, sans-serif;
}

.rpm-dashboard.card.panel,
.rpm-dashboard__empty-state.card.panel,
.rpm-dashboard__listing-panel.panel {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    border: 1px solid var(--rpm-dash-border) !important;
    border-radius: 12px;
    background: var(--rpm-dash-surface) !important;
    color: var(--rpm-dash-text) !important;
    box-shadow: none !important;
}

.rpm-dashboard .panel-heading,
.rpm-dashboard .card-header,
.rpm-dashboard__listing-panel > .panel-heading {
    min-width: 0;
    padding: 16px 20px;
    border-bottom: 1px solid var(--rpm-dash-border) !important;
    background: var(--rpm-dash-header) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard .panel-heading .panel-title,
.rpm-dashboard .card-header h3,
.rpm-dashboard .card-header h4,
.rpm-dashboard__listing-panel > .panel-heading .panel-title {
    margin: 0;
    min-width: 0;
    color: var(--rpm-dash-text) !important;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-dashboard .panel-heading .panel-title::before,
.rpm-dashboard__listing-panel > .panel-heading .panel-title::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1.1em;
    margin-right: 10px;
    vertical-align: -0.16em;
    border-radius: 999px;
    background: var(--rpm-dash-action);
}

.rpm-dashboard--campanhas .panel-heading .panel-title::before,
.rpm-dashboard--campanhas .rpm-dashboard__listing-panel > .panel-heading .panel-title::before {
    background: var(--rpm-dash-warning);
}

.rpm-dashboard--pesquisas .panel-heading .panel-title::before,
.rpm-dashboard--pesquisas .rpm-dashboard__listing-panel > .panel-heading .panel-title::before {
    background: var(--rpm-dash-client);
}

.rpm-dashboard .panel-body,
.rpm-dashboard .card-body,
.rpm-dashboard__listing-panel > .panel-body {
    min-width: 0;
    max-width: 100%;
    padding: 20px;
    background: var(--rpm-dash-surface) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard .panel-footer,
.rpm-dashboard .card-footer {
    border-top: 1px solid var(--rpm-dash-border) !important;
    background: var(--rpm-dash-header) !important;
    color: var(--rpm-dash-muted) !important;
}

.rpm-dashboard .form-container,
.rpm-dashboard__page,
.rpm-dashboard__page > .form-container {
    min-width: 0;
    max-width: 100%;
}

.rpm-dashboard .form-container > .row,
.rpm-dashboard > form > .row,
.rpm-dashboard .form-horizontal > .row {
    min-width: 0;
    margin-right: -8px;
    margin-left: -8px;
}

.rpm-dashboard .form-container > .row > [class*="col-"],
.rpm-dashboard > form > .row > [class*="col-"],
.rpm-dashboard .form-horizontal > .row > [class*="col-"] {
    min-width: 0;
    padding-right: 8px;
    padding-left: 8px;
}

.rpm-dashboard__filters-row {
    display: flex;
    align-items: flex-end;
    min-width: 0;
    margin-bottom: 8px !important;
}

.rpm-dashboard__filters-row > [class*="col-"] {
    min-width: 0;
}

.rpm-dashboard__filters-row label,
.rpm-dashboard .form-group > label,
.rpm-dashboard .control-label,
.rpm-dashboard .filter-label {
    display: block;
    margin-bottom: 6px;
    color: var(--rpm-dash-muted) !important;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-dashboard input.form-control,
.rpm-dashboard select.form-control,
.rpm-dashboard textarea.form-control,
.rpm-dashboard .select2-container .select2-selection,
.rpm-dashboard .select2-container--default .select2-selection--single,
.rpm-dashboard .select2-container--default .select2-selection--multiple {
    min-width: 0;
    max-width: 100%;
    min-height: 44px;
    border: 1px solid var(--rpm-dash-border) !important;
    border-radius: 8px;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-text) !important;
    box-shadow: none !important;
}

.rpm-dashboard textarea.form-control {
    min-height: 88px;
    resize: vertical;
}

.rpm-dashboard input.form-control::placeholder,
.rpm-dashboard textarea.form-control::placeholder {
    color: var(--rpm-dash-muted) !important;
    opacity: 0.9;
}

.rpm-dashboard input.form-control:hover,
.rpm-dashboard select.form-control:hover,
.rpm-dashboard textarea.form-control:hover,
.rpm-dashboard .select2-container--default .select2-selection:hover {
    border-color: var(--rpm-dash-action) !important;
}

.rpm-dashboard__filter-submit,
.rpm-dashboard .btn-primary.rpm-dashboard__filter-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    width: 100%;
    border: 1px solid var(--rpm-dash-action) !important;
    border-radius: 8px;
    background: var(--rpm-dash-action) !important;
    color: var(--rpm-dash-action-contrast) !important;
    font-weight: 700;
}

.rpm-dashboard__filter-submit:hover,
.rpm-dashboard__filter-submit:active {
    background: var(--rpm-dash-focus) !important;
    border-color: var(--rpm-dash-focus) !important;
    color: var(--rpm-dash-action-contrast) !important;
}

/* Os campos do filtro têm uma linha de rótulo; a ação não. Compensar essa
 * linha no desktop mantém o botão nivelado com os controles. */
@media (min-width: 768px) {
    .rpm-dashboard__filters-row .rpm-dashboard__filter-submit {
        margin-top: 24px;
    }
}

.rpm-dashboard__section-row,
.rpm-dashboard__context-row,
.rpm-dashboard__metric-row,
.rpm-dashboard__chart-row,
.rpm-dashboard__listing-row {
    min-width: 0;
    max-width: 100%;
}

.rpm-dashboard__section,
.rpm-dashboard .rpm-form-section,
.rpm-dashboard .tseparator {
    display: block;
    min-width: 0;
    margin: 18px 0 10px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--rpm-dash-border);
    color: var(--rpm-dash-text) !important;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

/* O BootstrapFormBuilder envolve cada widget em um flex item que, por
 * padrão, encolhe ao conteúdo. Esticar esse wrapper mantém as colunas
 * equilibradas no desktop e continua compatível com o empilhamento mobile. */
.rpm-dashboard__filters-row > [class*="col-"] > .fb-inline-field-container,
.rpm-dashboard__section-row > [class*="col-"] > .fb-inline-field-container,
.rpm-dashboard__context-row > [class*="col-"] > .fb-inline-field-container,
.rpm-dashboard__metric-row > [class*="col-"] > .fb-inline-field-container,
.rpm-dashboard__chart-row > [class*="col-"] > .fb-inline-field-container,
.rpm-dashboard__listing-row > [class*="col-"] > .fb-inline-field-container {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
}

/* BChart cria um div intermediário dentro do flex item. Sem este nível
 * também receber flex-basis, o SVG conserva a largura estreita inicial. */
.rpm-dashboard__chart-row > [class*="col-"] > .fb-inline-field-container > div,
.rpm-dashboard__listing-row > [class*="col-"] > .fb-inline-field-container > div {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    width: 100%;
}

/* TFormSeparator já possui um divisor próprio; evitar a soma de margens do
 * wrapper e do h4, que criava um espaço vertical excessivo no desktop. */
.rpm-dashboard__section {
    margin: 12px 0 8px;
    padding: 0;
    border-bottom: 0;
}

.rpm-dashboard__section > .tseparator {
    margin: 0 0 8px !important;
    padding: 0 0 8px;
}

.rpm-dashboard__section > .tseparator-divisor {
    display: none;
}

/* O contêiner e o h4 recebem o mesmo marcador por causa da estrutura
 * gerada pelo TFormSeparator. O título já mantém o acento; esconder apenas
 * o pseudo-elemento externo evita a barra duplicada. */
.rpm-dashboard__section::before {
    display: none;
}

.rpm-dashboard .rpm-form-section::before,
.rpm-dashboard .tseparator::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1em;
    margin-right: 8px;
    vertical-align: -0.12em;
    border-radius: 999px;
    background: var(--rpm-dash-action);
}

.rpm-dashboard--campanhas .rpm-dashboard__section::before {
    background: var(--rpm-dash-warning);
}

.rpm-dashboard--pesquisas .rpm-dashboard__section::before {
    background: var(--rpm-dash-client);
}

.rpm-dashboard__metric-row {
    display: flex;
    align-items: stretch;
    margin-bottom: 8px;
}

.rpm-dashboard__metric-row > [class*="col-"] {
    display: flex;
    min-width: 0;
    margin-bottom: 12px;
}

.rpm-dashboard__metric-link,
.rpm-dashboard__metric-card,
.rpm-dashboard__metric-widget {
    display: block;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    color: inherit;
    text-decoration: none;
}

.rpm-dashboard__metric-link {
    border-radius: 10px;
}

.rpm-dashboard__metric-link .info-box,
.rpm-dashboard__metric-card .info-box,
.rpm-dashboard__metric-widget .info-box {
    display: flex;
    min-width: 0;
    min-height: 104px;
    width: 100% !important;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--rpm-dash-border) !important;
    border-radius: 10px;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-text) !important;
    box-shadow: none !important;
}

.rpm-dashboard__metric-link:hover .info-box,
.rpm-dashboard__metric-link:focus .info-box,
.rpm-dashboard__metric-card:hover .info-box {
    border-color: var(--rpm-dash-action) !important;
    background: var(--rpm-dash-hover) !important;
}

.rpm-dashboard .info-box-icon {
    display: inline-flex;
    flex: 0 0 72px;
    align-items: center;
    justify-content: center;
    min-height: 104px;
    width: 72px;
    background: var(--rpm-dash-action) !important;
    color: #ffffff !important;
}

.rpm-dashboard .info-box-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 12px 14px !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard .info-box-text,
.rpm-dashboard .info-box-number,
.rpm-dashboard .info-box-content > span {
    min-width: 0;
    max-width: 100%;
    color: var(--rpm-dash-text) !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
    text-overflow: clip !important;
}

.rpm-dashboard .info-box-text {
    margin-bottom: 4px;
    color: var(--rpm-dash-muted) !important;
    font-size: 0.78rem !important;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.rpm-dashboard .info-box-number {
    font-size: 1.65rem !important;
    font-variant-numeric: tabular-nums;
    font-weight: 700 !important;
    line-height: 1.15;
}

.rpm-dashboard__metric-link--success .info-box-icon,
.rpm-dashboard__metric-card--success .info-box-icon {
    background: var(--rpm-dash-success) !important;
}

.rpm-dashboard__metric-link--danger .info-box-icon {
    background: var(--rpm-dash-danger) !important;
}

.rpm-dashboard__metric-link--warning .info-box-icon {
    background: var(--rpm-dash-warning) !important;
}

.rpm-dashboard__metric-link--attention .info-box-icon {
    background: var(--rpm-dash-warning) !important;
}

.rpm-dashboard__metric-link--client .info-box-icon {
    background: var(--rpm-dash-client) !important;
}

.rpm-dashboard__metric-link--success .info-box-number,
.rpm-dashboard__metric-link--success .info-box-text {
    color: var(--rpm-dash-success) !important;
}

.rpm-dashboard__metric-link--danger .info-box-number,
.rpm-dashboard__metric-link--danger .info-box-text {
    color: var(--rpm-dash-danger) !important;
}

.rpm-dashboard__metric-link--warning .info-box-number,
.rpm-dashboard__metric-link--warning .info-box-text {
    color: var(--rpm-dash-warning) !important;
}

.rpm-dashboard__metric-link--attention .info-box-number,
.rpm-dashboard__metric-link--attention .info-box-text {
    color: var(--rpm-dash-warning) !important;
}

.rpm-dashboard__metric-link--client .info-box-number,
.rpm-dashboard__metric-link--client .info-box-text {
    color: var(--rpm-dash-client) !important;
}

.rpm-dashboard__metric-link--info .info-box-icon,
.rpm-dashboard__metric-card--info .info-box-icon,
.rpm-dashboard__metric-widget--info .info-box-icon {
    background: var(--rpm-dash-action) !important;
}

.rpm-dashboard__metric-link--info .info-box-number,
.rpm-dashboard__metric-link--info .info-box-text,
.rpm-dashboard__metric-card--info .info-box-number,
.rpm-dashboard__metric-card--info .info-box-text,
.rpm-dashboard__metric-widget--info .info-box-number,
.rpm-dashboard__metric-widget--info .info-box-text {
    color: var(--rpm-dash-action) !important;
}

.rpm-dashboard__campaign-kpi {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    min-height: 108px;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--rpm-dash-border);
    border-radius: 10px;
    background: var(--rpm-dash-surface-raised);
    color: var(--rpm-dash-text);
}

.rpm-dashboard__metric-link:hover .rpm-dashboard__campaign-kpi,
.rpm-dashboard__metric-link:focus .rpm-dashboard__campaign-kpi {
    border-color: var(--rpm-dash-action);
    background: var(--rpm-dash-hover);
}

.rpm-dashboard__campaign-kpi--client {
    border-left: 1px solid var(--rpm-dash-client);
}

.rpm-dashboard__campaign-kpi--info {
    border-left: 1px solid var(--rpm-dash-action);
}

.rpm-dashboard__campaign-kpi--warning {
    border-left: 1px solid var(--rpm-dash-warning);
}

.rpm-dashboard__campaign-kpi--warning .rpm-dashboard__campaign-kpi-label,
.rpm-dashboard__campaign-kpi--warning .rpm-dashboard__campaign-kpi-value {
    color: var(--rpm-dash-warning);
}

.rpm-dashboard__campaign-kpi-label,
.rpm-dashboard__campaign-kpi-subtitle {
    min-width: 0;
    color: var(--rpm-dash-muted);
    overflow-wrap: anywhere;
}

.rpm-dashboard__campaign-kpi-label {
    font-size: 0.82rem;
    font-weight: 700;
}

.rpm-dashboard__campaign-kpi-label i {
    margin-right: 5px;
}

.rpm-dashboard__campaign-kpi-value {
    min-width: 0;
    margin: 4px 0;
    color: var(--rpm-dash-text);
    font-size: 1.7rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.rpm-dashboard__campaign-kpi--client .rpm-dashboard__campaign-kpi-label,
.rpm-dashboard__campaign-kpi--client .rpm-dashboard__campaign-kpi-value {
    color: var(--rpm-dash-client);
}

.rpm-dashboard__campaign-kpi-subtitle {
    font-size: 0.78rem;
    line-height: 1.3;
}

.rpm-dashboard__context {
    min-width: 0;
    margin: 4px 0 12px;
    padding: 10px 14px;
    border: 1px solid var(--rpm-dash-border);
    border-left: 1px solid var(--rpm-dash-action);
    border-radius: 8px;
    background: var(--rpm-dash-surface-raised);
    color: var(--rpm-dash-text);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.rpm-dashboard__section-heading {
    min-width: 0;
    margin: 16px 0 8px;
    padding: 0 8px;
}

.rpm-dashboard .rpm-dashboard-section-title {
    margin: 0;
    color: var(--rpm-dash-text) !important;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-dashboard .rpm-dashboard-section-title::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 1em;
    margin-right: 8px;
    vertical-align: -0.12em;
    border-radius: 999px;
    background: var(--rpm-dash-action);
}

.rpm-dashboard--campanhas .rpm-dashboard-section-title::before {
    background: var(--rpm-dash-warning);
}

.rpm-dashboard--pesquisas .rpm-dashboard-section-title::before {
    background: var(--rpm-dash-client);
}

.rpm-dashboard .rpm-dashboard-section-subtitle {
    margin-top: 4px;
    color: var(--rpm-dash-muted) !important;
    font-size: 0.82rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-dashboard__chart-row {
    display: flex;
    align-items: stretch;
    min-width: 0;
    margin-bottom: 12px;
}

.rpm-dashboard__chart-row > [class*="col-"] {
    display: flex;
    min-width: 0;
}

.rpm-dashboard__chart-row--single > [class*="col-"] {
    width: 100%;
}

.rpm-dashboard__chart-widget,
.rpm-dashboard__chart-card {
    display: block;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--rpm-dash-border);
    border-radius: 10px;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-text);
    box-shadow: none !important;
}

.rpm-dashboard__chart-widget .box,
.rpm-dashboard__chart-widget .panel,
.rpm-dashboard__chart-widget .card,
.rpm-dashboard__chart-card .box,
.rpm-dashboard__chart-card .panel,
.rpm-dashboard__chart-card .card {
    min-width: 0;
    max-width: 100%;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.rpm-dashboard__chart-widget .chart-title,
.rpm-dashboard__chart-widget .widget-title,
.rpm-dashboard__chart-widget .panel-title,
.rpm-dashboard__chart-card .chart-title,
.rpm-dashboard__chart-card .widget-title,
.rpm-dashboard__chart-card .panel-title {
    min-width: 0;
    padding: 12px 14px 0;
    color: var(--rpm-dash-text) !important;
    font-size: 0.98rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.rpm-dashboard__chart-widget svg,
.rpm-dashboard__chart-widget canvas,
.rpm-dashboard__chart-card svg,
.rpm-dashboard__chart-card canvas {
    max-width: 100%;
}

.rpm-dashboard__chart-widget text,
.rpm-dashboard__chart-widget .google-visualization-tooltip,
.rpm-dashboard__chart-card text,
.rpm-dashboard__chart-card .google-visualization-tooltip {
    font-family: "Source Sans Pro", Arial, sans-serif !important;
}

.rpm-dashboard__chart-widget .google-visualization-table,
.rpm-dashboard__chart-card .google-visualization-table {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.rpm-dashboard__chart-widget .google-visualization-table-table,
.rpm-dashboard__chart-card .google-visualization-table-table {
    width: 100% !important;
    border-color: var(--rpm-dash-border) !important;
}

.rpm-dashboard__chart-widget .google-visualization-table-th,
.rpm-dashboard__chart-card .google-visualization-table-th {
    background: var(--rpm-dash-header) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard__chart-widget .google-visualization-table-td,
.rpm-dashboard__chart-card .google-visualization-table-td {
    background: var(--rpm-dash-surface) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard__listing-row {
    display: flex;
    align-items: stretch;
    min-width: 0;
    margin-bottom: 12px;
}

.rpm-dashboard__listing-row > [class*="col-"] {
    display: flex;
    min-width: 0;
}

.rpm-dashboard__listing-panel {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    margin-bottom: 0;
}

.rpm-dashboard__listing-panel > .panel-body,
.rpm-dashboard__listing-body {
    min-width: 0;
    flex: 1 1 auto;
    overflow-x: auto;
}

.rpm-dashboard__listing-panel .panel-heading .panel-title {
    font-size: 1rem;
}

.rpm-dashboard__listing-quantity {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    max-width: 100%;
}

.rpm-dashboard__listing-quantity-label {
    margin: 0;
    color: var(--rpm-dash-muted) !important;
    font-size: 0.82rem;
    font-weight: 600;
}

.rpm-dashboard__listing-quantity select,
.rpm-dashboard__listing-quantity .form-control {
    min-height: 44px;
    max-width: 100%;
}

.rpm-dashboard__detail-close {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin-left: 8px;
    border: 1px solid var(--rpm-dash-border) !important;
    border-radius: 8px;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard__detail-close:hover,
.rpm-dashboard__detail-close:focus-visible {
    border-color: var(--rpm-dash-focus) !important;
    background: var(--rpm-dash-hover) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard--detail .rpm-dashboard__detail-menu-wrap {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    margin-left: 8px;
}

.rpm-dashboard--detail .rpm-dashboard__detail-menu {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    border: 1px solid var(--rpm-dash-border) !important;
    border-radius: 8px;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard--detail .rpm-dashboard__detail-menu:hover,
.rpm-dashboard--detail .rpm-dashboard__detail-menu:focus-visible,
.rpm-dashboard--detail .rpm-dashboard__detail-menu[aria-expanded="true"] {
    border-color: var(--rpm-dash-focus) !important;
    background: var(--rpm-dash-hover) !important;
    color: var(--rpm-dash-text) !important;
}

.rpm-dashboard--detail .rpm-dashboard__detail-menu-wrap > .dropdown-menu {
    z-index: 1003;
    min-width: 238px;
    max-width: min(320px, calc(100vw - 32px));
    margin-top: 6px;
    padding: 6px;
    overflow-wrap: anywhere;
    border: 1px solid var(--rpm-dash-border) !important;
    border-radius: 10px;
    background: var(--rpm-dash-surface) !important;
    box-shadow: 0 8px 24px rgba(15, 35, 55, 0.16);
}

.rpm-dashboard--detail .rpm-dashboard__detail-menu-wrap > .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 9px 10px;
    border-radius: 7px;
    color: var(--rpm-dash-text) !important;
    line-height: 1.35;
    white-space: normal;
}

.rpm-dashboard--detail .rpm-dashboard__detail-menu-wrap > .dropdown-menu > li > a:hover,
.rpm-dashboard--detail .rpm-dashboard__detail-menu-wrap > .dropdown-menu > li > a:focus-visible {
    background: var(--rpm-dash-hover) !important;
    color: var(--rpm-dash-text) !important;
    text-decoration: none;
}

.rpm-dashboard .panel-heading a,
.rpm-dashboard .panel-heading .btn,
.rpm-dashboard .card-header a,
.rpm-dashboard .card-header .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    border-radius: 8px;
    color: var(--rpm-dash-action);
    overflow-wrap: anywhere;
}

.rpm-dashboard .panel-heading a:hover,
.rpm-dashboard .panel-heading a:focus-visible,
.rpm-dashboard .panel-heading .btn:hover,
.rpm-dashboard .panel-heading .btn:focus-visible,
.rpm-dashboard .card-header a:hover,
.rpm-dashboard .card-header a:focus-visible,
.rpm-dashboard .card-header .btn:hover,
.rpm-dashboard .card-header .btn:focus-visible {
    background: var(--rpm-dash-hover);
    color: var(--rpm-dash-focus);
}

.rpm-dashboard__datagrid {
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
}

.rpm-dashboard__datagrid table,
.rpm-dashboard__datagrid .table,
.rpm-dashboard__datagrid .table-responsive {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.rpm-dashboard__datagrid table {
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    color: var(--rpm-dash-text);
}

.rpm-dashboard__datagrid thead th,
.rpm-dashboard__datagrid th {
    padding: 11px 10px;
    border-bottom: 1px solid var(--rpm-dash-border) !important;
    background: var(--rpm-dash-header) !important;
    color: var(--rpm-dash-muted) !important;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.rpm-dashboard__datagrid tbody td,
.rpm-dashboard__datagrid td {
    min-width: 0;
    padding: 12px 10px;
    border-top: 1px solid var(--rpm-dash-border) !important;
    background: var(--rpm-dash-surface) !important;
    color: var(--rpm-dash-text) !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
    vertical-align: middle;
}

.rpm-dashboard__datagrid tbody tr:first-child td {
    border-top: 0 !important;
}

.rpm-dashboard__datagrid tbody tr.rpm-dashboard__data-row:hover td,
.rpm-dashboard__datagrid tbody tr:hover td {
    background: var(--rpm-dash-hover) !important;
}

.rpm-dashboard__datagrid td[data-role="money"],
.rpm-dashboard__datagrid td[data-role="quantity"],
.rpm-dashboard__datagrid td[data-role="rate"],
.rpm-dashboard__datagrid td[data-role="date"] {
    font-variant-numeric: tabular-nums;
}

.rpm-dashboard__datagrid td[data-role="money"] {
    color: var(--rpm-dash-success) !important;
    font-weight: 600;
}

.rpm-dashboard__datagrid td[data-role="status"] {
    font-weight: 600;
}

.rpm-dashboard__status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    max-width: 100%;
    padding: 3px 8px;
    border: 1px solid currentColor;
    border-radius: 6px;
    font-size: 0.82rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.rpm-dashboard__status--info {
    color: var(--rpm-dash-action) !important;
}

.rpm-dashboard__status--success {
    color: var(--rpm-dash-success) !important;
}

.rpm-dashboard__status--warning {
    color: var(--rpm-dash-warning) !important;
}

.rpm-dashboard__status--danger {
    color: var(--rpm-dash-danger) !important;
}

.rpm-dashboard__datagrid td a,
.rpm-dashboard__datagrid td .btn,
.rpm-dashboard__listing-panel .pagination a,
.rpm-dashboard__listing-panel .pagination button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    border-radius: 7px;
    overflow-wrap: anywhere;
}

.rpm-dashboard__datagrid td a {
    color: var(--rpm-dash-action);
}

.rpm-dashboard__datagrid td .btn {
    border: 1px solid var(--rpm-dash-border) !important;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-action) !important;
    white-space: normal;
}

.rpm-dashboard__datagrid td .btn:hover,
.rpm-dashboard__datagrid td .btn:focus-visible {
    border-color: var(--rpm-dash-focus) !important;
    background: var(--rpm-dash-hover) !important;
    color: var(--rpm-dash-focus) !important;
}

.rpm-dashboard__listing-panel .pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 12px 0 0;
}

.rpm-dashboard__listing-panel .pagination a,
.rpm-dashboard__listing-panel .pagination button {
    border: 1px solid var(--rpm-dash-border);
    background: var(--rpm-dash-surface-raised);
    color: var(--rpm-dash-action);
}

.rpm-dashboard__listing-panel .pagination .active a,
.rpm-dashboard__listing-panel .pagination .active button {
    border-color: var(--rpm-dash-action);
    background: var(--rpm-dash-action);
    color: var(--rpm-dash-action-contrast);
}

.rpm-dashboard__empty-state {
    display: flex;
    align-items: center;
    min-height: 120px;
    padding: 20px;
}

.rpm-dashboard__empty-state .panel-heading {
    flex: 0 0 auto;
}

.rpm-dashboard__empty-state .panel-body {
    flex: 1 1 auto;
    color: var(--rpm-dash-muted) !important;
}

.rpm-dashboard__empty-chart {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    width: 100%;
    padding: 20px;
    border: 1px dashed var(--rpm-dash-border);
    border-radius: 8px;
    background: var(--rpm-dash-surface-raised);
    color: var(--rpm-dash-muted);
    text-align: center;
    overflow-wrap: anywhere;
}

.rpm-dashboard a:focus-visible,
.rpm-dashboard button:focus-visible,
.rpm-dashboard input:focus-visible,
.rpm-dashboard select:focus-visible,
.rpm-dashboard textarea:focus-visible,
.rpm-dashboard .select2-container--focus .select2-selection,
.rpm-dashboard .select2-container--open .select2-selection,
.rpm-dashboard__empty-state a:focus-visible,
.rpm-dashboard__empty-state button:focus-visible {
    outline: 3px solid var(--rpm-dash-focus) !important;
    outline-offset: 2px;
}

.rpm-dashboard .has-error .form-control,
.rpm-dashboard .form-control.input-error,
.rpm-dashboard [aria-invalid="true"] {
    border-color: var(--rpm-dash-danger) !important;
}

.rpm-dashboard [disabled],
.rpm-dashboard .disabled,
.rpm-dashboard [aria-disabled="true"] {
    cursor: not-allowed;
    opacity: 0.62;
}

.rpm-dashboard [readonly] {
    background: var(--rpm-dash-header) !important;
}

.rpm-dashboard__page > .rpm-dashboard {
    width: 100%;
}

.dark-mode .rpm-dashboard {
    --rpm-dash-surface: #1f2b37;
    --rpm-dash-surface-raised: #202f3f;
    --rpm-dash-header: #243140;
    --rpm-dash-hover: #2a3a4c;
    --rpm-dash-border: #40556b;
    --rpm-dash-text: #f2f5f9;
    --rpm-dash-muted: #b7c6d7;
    --rpm-dash-action: #4d98e4;
    --rpm-dash-focus: #83bfff;
    --rpm-dash-focus-soft: rgba(131, 191, 255, 0.18);
    --rpm-dash-success: #42c998;
    --rpm-dash-warning: #f0a05a;
    --rpm-dash-danger: #ff9298;
    --rpm-dash-client: #b4a3ed;
    --rpm-dash-action-contrast: #152231;
}

.dark-mode .rpm-dashboard.card.panel,
.dark-mode .rpm-dashboard__empty-state.card.panel,
.dark-mode .rpm-dashboard__listing-panel.panel {
    border-color: var(--rpm-dash-border) !important;
    background: var(--rpm-dash-surface) !important;
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard .panel-heading,
.dark-mode .rpm-dashboard .card-header,
.dark-mode .rpm-dashboard__listing-panel > .panel-heading,
.dark-mode .rpm-dashboard .panel-footer,
.dark-mode .rpm-dashboard .card-footer {
    border-color: var(--rpm-dash-border) !important;
    background: var(--rpm-dash-header) !important;
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard .panel-body,
.dark-mode .rpm-dashboard .card-body,
.dark-mode .rpm-dashboard__listing-panel > .panel-body {
    background: var(--rpm-dash-surface) !important;
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard input.form-control,
.dark-mode .rpm-dashboard select.form-control,
.dark-mode .rpm-dashboard textarea.form-control,
.dark-mode .rpm-dashboard .select2-container .select2-selection,
.dark-mode .rpm-dashboard .select2-container--default .select2-selection--single,
.dark-mode .rpm-dashboard .select2-container--default .select2-selection--multiple,
.dark-mode .rpm-dashboard__datagrid td .btn,
.dark-mode .rpm-dashboard__detail-close {
    border-color: var(--rpm-dash-border) !important;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard .select2-container--default .select2-selection__rendered,
.dark-mode .rpm-dashboard .select2-container--default .select2-selection__placeholder,
.dark-mode .rpm-dashboard .select2-container--default .select2-selection__arrow b {
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard .select2-dropdown,
.dark-mode .rpm-dashboard .select2-results,
.dark-mode .rpm-dashboard .select2-search__field {
    border-color: var(--rpm-dash-border) !important;
    background: var(--rpm-dash-surface) !important;
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard .select2-results__option--highlighted,
.dark-mode .rpm-dashboard .select2-results__option[aria-selected="true"] {
    background: var(--rpm-dash-hover) !important;
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard__metric-link .info-box,
.dark-mode .rpm-dashboard__metric-card .info-box,
.dark-mode .rpm-dashboard__metric-widget .info-box,
.dark-mode .rpm-dashboard__campaign-kpi,
.dark-mode .rpm-dashboard__chart-widget,
.dark-mode .rpm-dashboard__chart-card,
.dark-mode .rpm-dashboard__context,
.dark-mode .rpm-dashboard__empty-chart {
    border-color: var(--rpm-dash-border) !important;
    background: var(--rpm-dash-surface-raised) !important;
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard .info-box-text,
.dark-mode .rpm-dashboard .info-box-content > span,
.dark-mode .rpm-dashboard__campaign-kpi-label,
.dark-mode .rpm-dashboard__campaign-kpi-subtitle,
.dark-mode .rpm-dashboard .rpm-dashboard-section-subtitle,
.dark-mode .rpm-dashboard__filters-row label,
.dark-mode .rpm-dashboard .control-label {
    color: var(--rpm-dash-muted) !important;
}

.dark-mode .rpm-dashboard .info-box-number,
.dark-mode .rpm-dashboard__campaign-kpi-value,
.dark-mode .rpm-dashboard .rpm-dashboard-section-title,
.dark-mode .rpm-dashboard__datagrid td,
.dark-mode .rpm-dashboard__datagrid th {
    color: var(--rpm-dash-text) !important;
}

.dark-mode .rpm-dashboard__metric-link--success .info-box-number,
.dark-mode .rpm-dashboard__metric-link--success .info-box-text {
    color: var(--rpm-dash-success) !important;
}

.dark-mode .rpm-dashboard__metric-link--danger .info-box-number,
.dark-mode .rpm-dashboard__metric-link--danger .info-box-text {
    color: var(--rpm-dash-danger) !important;
}

.dark-mode .rpm-dashboard__metric-link--warning .info-box-number,
.dark-mode .rpm-dashboard__metric-link--warning .info-box-text {
    color: var(--rpm-dash-warning) !important;
}

.dark-mode .rpm-dashboard__metric-link--attention .info-box-number,
.dark-mode .rpm-dashboard__metric-link--attention .info-box-text {
    color: var(--rpm-dash-warning) !important;
}

.dark-mode .rpm-dashboard__metric-link--client .info-box-number,
.dark-mode .rpm-dashboard__metric-link--client .info-box-text,
.dark-mode .rpm-dashboard__campaign-kpi--client .rpm-dashboard__campaign-kpi-label,
.dark-mode .rpm-dashboard__campaign-kpi--client .rpm-dashboard__campaign-kpi-value {
    color: var(--rpm-dash-client) !important;
}

.dark-mode .rpm-dashboard__campaign-kpi--warning .rpm-dashboard__campaign-kpi-label,
.dark-mode .rpm-dashboard__campaign-kpi--warning .rpm-dashboard__campaign-kpi-value {
    color: var(--rpm-dash-warning) !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
    .rpm-dashboard__metric-row > .col-sm-3,
    .rpm-dashboard__metric-row > .col-sm-4,
    .rpm-dashboard__metric-row > .col-md-3,
    .rpm-dashboard__metric-row > .col-md-4 {
        width: 50%;
    }
}

@media (max-width: 991px) {
    .rpm-dashboard__chart-row,
    .rpm-dashboard__listing-row {
        display: block;
    }

    .rpm-dashboard__chart-row > [class*="col-"],
    .rpm-dashboard__listing-row > [class*="col-"] {
        width: 100%;
        margin-bottom: 12px;
    }
}

@media (max-width: 767px) {
    .rpm-dashboard,
    .rpm-dashboard.card.panel,
    .rpm-dashboard__empty-state.card.panel,
    .rpm-dashboard__listing-panel.panel {
        width: 100%;
        max-width: 100%;
        border-radius: 10px;
    }

    .rpm-dashboard .panel-heading,
    .rpm-dashboard .card-header,
    .rpm-dashboard__listing-panel > .panel-heading,
    .rpm-dashboard .panel-body,
    .rpm-dashboard .card-body,
    .rpm-dashboard__listing-panel > .panel-body {
        padding-right: 14px;
        padding-left: 14px;
    }

    .rpm-dashboard .form-container > .row,
    .rpm-dashboard > form > .row,
    .rpm-dashboard .form-horizontal > .row {
        margin-right: 0;
        margin-left: 0;
    }

    .rpm-dashboard .form-container > .row > [class*="col-"],
    .rpm-dashboard > form > .row > [class*="col-"],
    .rpm-dashboard .form-horizontal > .row > [class*="col-"],
    .rpm-dashboard__filters-row > [class*="col-"],
    .rpm-dashboard__metric-row > [class*="col-"] {
        width: 100%;
        min-width: 0;
        margin-bottom: 10px;
    }

    .rpm-dashboard__filters-row,
    .rpm-dashboard__metric-row,
    .rpm-dashboard__chart-row,
    .rpm-dashboard__listing-row {
        display: block;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .rpm-dashboard__filters-row .form-group,
    .rpm-dashboard__filters-row .btn,
    .rpm-dashboard__filter-submit {
        width: 100%;
        margin-top: 0;
    }

    .rpm-dashboard__metric-row > [class*="col-"] {
        display: block;
    }

    .rpm-dashboard__metric-link .info-box,
    .rpm-dashboard__metric-card .info-box,
    .rpm-dashboard__metric-widget .info-box {
        min-height: 96px;
    }

    .rpm-dashboard .info-box-icon {
        flex-basis: 64px;
        min-height: 96px;
        width: 64px;
    }

    .rpm-dashboard__section-heading {
        padding-right: 0;
        padding-left: 0;
    }

    .rpm-dashboard__chart-row > [class*="col-"],
    .rpm-dashboard__listing-row > [class*="col-"] {
        padding-right: 0;
        padding-left: 0;
    }

    .rpm-dashboard__listing-panel > .panel-body,
    .rpm-dashboard__listing-body,
    .rpm-dashboard__datagrid {
        overflow-x: hidden;
    }

    .rpm-dashboard__datagrid table,
    .rpm-dashboard__datagrid table thead,
    .rpm-dashboard__datagrid table tbody,
    .rpm-dashboard__datagrid table tr,
    .rpm-dashboard__datagrid table td {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .rpm-dashboard__datagrid table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .rpm-dashboard__datagrid table tbody {
        display: block;
    }

    .rpm-dashboard__datagrid table tbody tr,
    .rpm-dashboard__datagrid table tbody tr.rpm-dashboard__data-row {
        display: block;
        margin-bottom: 12px;
        border: 1px solid var(--rpm-dash-border);
        border-radius: 9px;
        background: var(--rpm-dash-surface-raised) !important;
    }

    .rpm-dashboard__datagrid table tbody tr:hover {
        border-color: var(--rpm-dash-action);
    }

    .rpm-dashboard__datagrid table tbody tr > td,
    .rpm-dashboard__datagrid table tbody tr > td.tdatagrid_cell {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        min-height: 44px;
        padding: 10px 12px;
        border: 0 !important;
        border-bottom: 1px solid var(--rpm-dash-border) !important;
        background: transparent !important;
        text-align: right;
    }

    .rpm-dashboard__datagrid table tbody tr > td:last-child,
    .rpm-dashboard__datagrid table tbody tr > td:last-child.tdatagrid_cell {
        border-bottom: 0 !important;
    }

    .rpm-dashboard__datagrid table tbody tr > td::before {
        flex: 0 1 44%;
        min-width: 6rem;
        color: var(--rpm-dash-muted);
        content: attr(data-label);
        font-size: 0.78rem;
        font-weight: 700;
        line-height: 1.3;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .rpm-dashboard__datagrid table tbody tr > td[data-role="selection"] {
        justify-content: flex-end;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .rpm-dashboard__datagrid table tbody tr > td[data-role="selection"]::before {
        display: none;
    }

    .rpm-dashboard__datagrid table tbody tr > td > *,
    .rpm-dashboard__datagrid table tbody tr > td > span,
    .rpm-dashboard__datagrid table tbody tr > td > div {
        min-width: 0;
        max-width: 56%;
        overflow-wrap: anywhere;
    }

    .rpm-dashboard__datagrid table tbody tr > td[data-role="primary"] {
        font-weight: 700;
    }

    .rpm-dashboard__datagrid table tbody tr > td[data-role="money"] {
        color: var(--rpm-dash-success) !important;
        font-variant-numeric: tabular-nums;
    }

    .rpm-dashboard__datagrid table tbody tr > td[data-role="action"],
    .rpm-dashboard__datagrid table tbody tr > td.action {
        justify-content: flex-end;
    }

    .rpm-dashboard__datagrid table tbody tr > td[data-role="action"]::before,
    .rpm-dashboard__datagrid table tbody tr > td.action::before {
        content: "Ações";
    }

    .rpm-dashboard__datagrid table tbody tr > td a,
    .rpm-dashboard__datagrid table tbody tr > td .btn {
        width: auto;
        max-width: 100%;
        min-height: 44px;
        white-space: normal;
    }

    .rpm-dashboard__empty-state {
        display: block;
        min-height: 0;
    }

    .rpm-dashboard__empty-state .panel-heading,
    .rpm-dashboard__empty-state .panel-body {
        width: 100%;
    }

    .rpm-dashboard__chart-widget,
    .rpm-dashboard__chart-card {
        min-height: 0;
    }
}

/* Precedência para o calendário diante dos overrides escuros legados do FullCalendar. */
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter {
    background-color: var(--rpm-calendar-surface) !important;
    border-color: var(--rpm-calendar-border) !important;
    color: var(--rpm-calendar-text) !important;
}

.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--selected {
    background-color: var(--rpm-calendar-action) !important;
    border-color: var(--rpm-calendar-focus) !important;
    color: #ffffff !important;
}

.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--color-0.rpm-calendar__agenda-filter--selected { background-color: #28a745 !important; border-color: #28a745 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--color-1.rpm-calendar__agenda-filter--selected { background-color: #fd7e14 !important; border-color: #fd7e14 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--color-2.rpm-calendar__agenda-filter--selected { background-color: #dc3545 !important; border-color: #dc3545 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--color-3.rpm-calendar__agenda-filter--selected { background-color: #6f42c1 !important; border-color: #6f42c1 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--color-4.rpm-calendar__agenda-filter--selected { background-color: #e83e8c !important; border-color: #e83e8c !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--color-5.rpm-calendar__agenda-filter--selected { background-color: #795548 !important; border-color: #795548 !important; }
.dark-mode .rpm-calendar .rpm-calendar__agenda-filters .rpm-calendar__agenda-filter--color-6.rpm-calendar__agenda-filter--selected { background-color: #6c757d !important; border-color: #6c757d !important; }

.dark-mode .rpm-calendar .rpm-calendar__widget .fc-toolbar button {
    background-color: var(--rpm-calendar-surface) !important;
    border-color: var(--rpm-calendar-border) !important;
    color: var(--rpm-calendar-text) !important;
}

.dark-mode .rpm-calendar .rpm-calendar__widget .fc-toolbar button.active,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-toolbar button:not(:disabled):hover,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-toolbar button:not(:disabled):focus {
    background-color: var(--rpm-calendar-hover) !important;
    border-color: var(--rpm-calendar-focus) !important;
    color: var(--rpm-calendar-text) !important;
}

.dark-mode .rpm-calendar .rpm-calendar__widget .fc-scrollgrid,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-scrollgrid-section > *,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-timegrid-slot,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-timegrid-col,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-daygrid-day,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-list {
    background-color: var(--rpm-calendar-surface) !important;
    border-color: var(--rpm-calendar-grid) !important;
    color: var(--rpm-calendar-text) !important;
}

.dark-mode .rpm-calendar .rpm-calendar__widget .fc-col-header-cell,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-timegrid-axis,
.dark-mode .rpm-calendar .rpm-calendar__widget .fc-list-day > th {
    background-color: var(--rpm-calendar-header) !important;
    color: var(--rpm-calendar-text) !important;
}

/* Listas operacionais abertas pela Agenda: janela ampla no desktop e cartões no celular. */
.rpm-window--solicitacoes,
.rpm-window--fila-espera,
.rpm-listing--busca {
    --rpm-listing-surface: #ffffff;
    --rpm-listing-header: #f1f5f9;
    --rpm-listing-hover: #edf3fa;
    --rpm-listing-border: #ced9e5;
    --rpm-listing-text: #223247;
    --rpm-listing-muted: #52657a;
    --rpm-listing-focus: #1764b4;
    --rpm-listing-accent: #2469ad;
    --rpm-listing-accent-contrast: #2469ad;
    --rpm-listing-accent-soft: rgba(36, 105, 173, 0.12);
    --rpm-listing-success: #087f59;
    --rpm-listing-danger: #cf353e;
    --rpm-listing-attention: #b65a10;
    --rpm-listing-attention-soft: rgba(182, 90, 16, 0.12);
    --rpm-listing-attention-contrast: #7d3d0b;
    --rpm-listing-violet: #6454a0;
    --rpm-listing-violet-soft: rgba(100, 84, 160, 0.12);
    --rpm-listing-violet-contrast: #4b3f88;
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    color: var(--rpm-listing-text);
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.rpm-window--solicitacoes *,
.rpm-window--solicitacoes *::before,
.rpm-window--solicitacoes *::after,
.rpm-window--fila-espera *,
.rpm-window--fila-espera *::before,
.rpm-window--fila-espera *::after,
.rpm-listing--busca *,
.rpm-listing--busca *::before,
.rpm-listing--busca *::after {
    box-sizing: border-box;
}

/* TWindow recebe a classe no invólucro; as duas formas cobrem também versões que a aplicam no dialog. */
.rpm-window--solicitacoes .ui-dialog,
.rpm-window--solicitacoes.ui-dialog,
.rpm-window--fila-espera .ui-dialog,
.rpm-window--fila-espera.ui-dialog {
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    overflow: hidden;
    border: 1px solid var(--rpm-listing-border) !important;
    border-radius: 12px;
    background: var(--rpm-listing-surface) !important;
    color: var(--rpm-listing-text);
    box-shadow: 0 12px 32px rgba(15, 35, 55, 0.18);
}
.rpm-window--solicitacoes .ui-dialog-titlebar,
.rpm-window--fila-espera .ui-dialog-titlebar {
    display: flex;
    align-items: center;
    min-height: 60px;
    padding: 12px 16px 12px 20px;
    border: 0 !important;
    border-bottom: 1px solid var(--rpm-listing-border) !important;
    border-radius: 12px 12px 0 0;
    background: var(--rpm-listing-header) !important;
    color: var(--rpm-listing-text) !important;
}
.rpm-window--solicitacoes .ui-dialog-title,
.rpm-window--fila-espera .ui-dialog-title {
    min-width: 0;
    margin: 0;
    color: var(--rpm-listing-text) !important;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: anywhere;
}
.rpm-window--solicitacoes .ui-dialog-title::before,
.rpm-window--fila-espera .ui-dialog-title::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 10px;
    border-radius: 50%;
    background: var(--rpm-listing-accent);
    vertical-align: 2px;
}
.rpm-window--solicitacoes .ui-dialog-titlebar-close,
.rpm-window--fila-espera .ui-dialog-titlebar-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0 0 0 auto;
    border: 1px solid var(--rpm-listing-border) !important;
    border-radius: 8px;
    background: var(--rpm-listing-surface) !important;
    color: var(--rpm-listing-text) !important;
}
.rpm-window--solicitacoes .ui-dialog-titlebar-close:hover,
.rpm-window--fila-espera .ui-dialog-titlebar-close:hover {
    border-color: var(--rpm-listing-focus) !important;
    background: var(--rpm-listing-hover) !important;
}
.rpm-window--solicitacoes .ui-dialog-content,
.rpm-window--fila-espera .ui-dialog-content {
    width: 100% !important;
    min-width: 0 !important;
    max-height: calc(100vh - 84px) !important;
    padding: 0 !important;
    overflow: auto !important;
    background: var(--rpm-listing-surface) !important;
    color: var(--rpm-listing-text) !important;
}
.rpm-window--solicitacoes .rpm-window__body,
.rpm-window--fila-espera .rpm-window__body {
    display: block !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 20px;
    overflow-wrap: anywhere;
}
.rpm-window--solicitacoes .breadcrumb {
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rpm-listing-muted);
    font-size: 14px;
}
.rpm-window--solicitacoes .breadcrumb a { color: var(--rpm-listing-accent); }

/* Filtros da fila e da busca usam a mesma leitura dos demais formulários RPM. */
.rpm-form--fila-espera,
.rpm-form--busca {
    --rpm-form-surface: #ffffff;
    --rpm-form-header: #f1f5f9;
    --rpm-form-hover: #edf3fa;
    --rpm-form-border: #ced9e5;
    --rpm-form-text: #223247;
    --rpm-form-muted: #52657a;
    --rpm-form-focus: #1764b4;
    --rpm-form-focus-soft: rgba(23, 100, 180, 0.16);
    --rpm-form-action: #2469ad;
    --rpm-form-accent: #2469ad;
    --rpm-form-accent-contrast: #2469ad;
    --rpm-form-accent-soft: rgba(36, 105, 173, 0.12);
    --rpm-form-success: #087f59;
    --rpm-form-danger: #cf353e;
}
.rpm-form--fila-espera.card.panel,
.rpm-form--busca.card.panel {
    margin-bottom: 18px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    box-shadow: none;
}
.rpm-form--fila-espera .panel-heading,
.rpm-form--busca .panel-heading {
    padding: 16px 18px;
}
.rpm-form--fila-espera .panel-heading .panel-title,
.rpm-form--busca .panel-heading .panel-title {
    font-size: 18px;
}
.rpm-form--fila-espera .panel-body,
.rpm-form--busca .panel-body {
    padding: 18px;
}
.rpm-form--fila-espera .tformrow,
.rpm-form--busca .tformrow {
    margin-bottom: 14px;
}
.rpm-form--fila-espera [tradiogroup] span,
.rpm-form--busca [tcheckgroup] label {
    font-size: 16px !important;
    line-height: 1.3;
}
.rpm-form--fila-espera .rpm-form-submit,
.rpm-form--busca .rpm-form-submit {
    width: auto;
    min-width: 132px;
}
.rpm-form--fila-espera input.tfield,
.rpm-form--busca input.tfield,
.rpm-form--busca textarea.tfield,
.rpm-form--busca select.tcombo,
.rpm-form--busca select.tselect {
    max-width: 100%;
}

/* Tabelas sem DataTables: a marcação continua semântica e todas as colunas chegam ao celular. */
.rpm-window--solicitacoes .rpm-listing-table,
.rpm-window--fila-espera .rpm-listing-table,
.rpm-listing--busca .rpm-listing-table {
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    table-layout: fixed;
    border: 1px solid var(--rpm-listing-border);
    border-collapse: separate !important;
    border-spacing: 0;
    border-radius: 12px;
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text);
}
.rpm-window--solicitacoes .rpm-listing-table th,
.rpm-window--fila-espera .rpm-listing-table th,
.rpm-listing--busca .rpm-listing-table th {
    padding: 12px 13px;
    border: 0;
    border-bottom: 1px solid var(--rpm-listing-border);
    background: var(--rpm-listing-header);
    color: var(--rpm-listing-muted);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    vertical-align: middle;
    overflow-wrap: anywhere;
}
.rpm-window--solicitacoes .rpm-listing-table td,
.rpm-window--fila-espera .rpm-listing-table td,
.rpm-listing--busca .rpm-listing-table td {
    min-width: 0;
    padding: 13px;
    border: 0;
    border-top: 1px solid var(--rpm-listing-border);
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-text);
    font-size: 16px;
    line-height: 1.45;
    vertical-align: middle;
    overflow-wrap: anywhere;
}
.rpm-window--solicitacoes .rpm-listing-table tbody tr:first-child td,
.rpm-window--fila-espera .rpm-listing-table tbody tr:first-child td,
.rpm-listing--busca .rpm-listing-table tbody tr:first-child td { border-top: 0; }
.rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row:hover td,
.rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row:hover td,
.rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row:hover td {
    background: var(--rpm-listing-hover);
}
.rpm-window--solicitacoes .rpm-listing-table td.tdatagrid_cell.action,
.rpm-window--fila-espera .rpm-listing-table td.tdatagrid_cell.action,
.rpm-listing--busca .rpm-listing-table td.tdatagrid_cell.action {
    width: 90px;
    min-width: 72px;
    text-align: right;
    white-space: normal;
}
.rpm-window--solicitacoes .rpm-listing-table td.tdatagrid_cell.action a,
.rpm-window--fila-espera .rpm-listing-table td.tdatagrid_cell.action a,
.rpm-listing--busca .rpm-listing-table td.tdatagrid_cell.action a,
.rpm-window--solicitacoes .rpm-listing-table td.tdatagrid_cell.action button,
.rpm-window--fila-espera .rpm-listing-table td.tdatagrid_cell.action button,
.rpm-listing--busca .rpm-listing-table td.tdatagrid_cell.action button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    white-space: normal;
}
.rpm-window--fila-espera .disponibilidade-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-width: 100%;
    white-space: normal !important;
}
.rpm-window--fila-espera .disponibilidade-container > * { max-width: 100%; }
.rpm-window--solicitacoes .rpm-request-status,
.rpm-window--fila-espera .rpm-request-status,
.rpm-listing--busca .rpm-event-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 28px;
    margin: 2px 3px 2px 0;
    padding: 5px 9px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}
.rpm-window--solicitacoes .rpm-request-status--pending,
.rpm-listing--busca .rpm-event-status.badge-warning,
.rpm-window--fila-espera .rpm-listing-status--inactive { color: var(--rpm-listing-attention-contrast); }
.rpm-window--solicitacoes .rpm-request-status--pending,
.rpm-listing--busca .rpm-event-status.badge-warning { background: var(--rpm-listing-attention-soft); border: 1px solid var(--rpm-listing-attention); }
.rpm-window--solicitacoes .rpm-request-status--linked { border-color: var(--rpm-listing-accent) !important; background: var(--rpm-listing-accent-soft) !important; color: var(--rpm-listing-accent) !important; }
.rpm-window--solicitacoes .rpm-request-status--linked {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.rpm-listing--busca .rpm-event-status--recurrence { background: var(--rpm-listing-violet-soft) !important; border: 1px solid var(--rpm-listing-violet); color: var(--rpm-listing-violet-contrast) !important; }
.rpm-listing--busca .rpm-event-status--custom { background: var(--rpm-listing-violet-soft) !important; border: 1px solid var(--rpm-listing-violet); color: var(--rpm-listing-violet-contrast) !important; }
.rpm-window--fila-espera .rpm-listing-status--active { color: var(--rpm-listing-success); }
.rpm-window--fila-espera .rpm-listing-status--inactive { color: var(--rpm-listing-danger); }
.rpm-listing--busca .rpm-listing-status { min-width: 28px; min-height: 28px; }
.rpm-listing--busca .rpm-listing-status--active { color: var(--rpm-listing-success); }
.rpm-listing--busca .rpm-listing-status--inactive { color: var(--rpm-listing-danger); }
.rpm-listing--busca .badge,
.rpm-window--solicitacoes .badge { white-space: normal; overflow-wrap: anywhere; }
.rpm-window--solicitacoes .rpm-listing-empty-row > td,
.rpm-window--fila-espera .rpm-listing-empty-row > td,
.rpm-listing--busca .rpm-listing-empty-row > td {
    padding: 28px 18px;
    border-top: 1px solid var(--rpm-listing-border);
    background: var(--rpm-listing-surface);
    color: var(--rpm-listing-muted);
    font-size: 16px;
    text-align: center;
}
.rpm-window--solicitacoes .rpm-listing-empty-copy,
.rpm-window--fila-espera .rpm-listing-empty-copy,
.rpm-listing--busca .rpm-listing-empty-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 48ch;
    overflow-wrap: anywhere;
}

.rpm-window--solicitacoes a:focus-visible,
.rpm-window--solicitacoes button:focus-visible,
.rpm-window--solicitacoes input:focus-visible,
.rpm-window--fila-espera a:focus-visible,
.rpm-window--fila-espera button:focus-visible,
.rpm-window--fila-espera input:focus-visible,
.rpm-window--fila-espera select:focus-visible,
.rpm-listing--busca a:focus-visible,
.rpm-listing--busca button:focus-visible,
.rpm-listing--busca input:focus-visible,
.rpm-listing--busca select:focus-visible,
.rpm-listing--busca textarea:focus-visible {
    outline: 3px solid var(--rpm-listing-focus) !important;
    outline-offset: 3px;
}

@media (max-width: 767px) {
    .rpm-window--solicitacoes .ui-dialog,
    .rpm-window--solicitacoes.ui-dialog,
    .rpm-window--fila-espera .ui-dialog,
    .rpm-window--fila-espera.ui-dialog {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        left: 12px !important;
        right: auto !important;
        margin-left: 0 !important;
        transform: none !important;
    }
    .rpm-window--solicitacoes .ui-dialog-titlebar,
    .rpm-window--fila-espera .ui-dialog-titlebar { min-height: 56px; padding: 10px 12px 10px 14px; }
    .rpm-window--solicitacoes .ui-dialog-title,
    .rpm-window--fila-espera .ui-dialog-title {
        max-width: calc(100% - 48px);
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        text-overflow: clip;
        font-size: 16px;
        line-height: 1.35;
    }
    .rpm-window--solicitacoes .rpm-window__body,
    .rpm-window--fila-espera .rpm-window__body { padding: 14px 12px 18px; }
    .rpm-form--fila-espera .panel-body,
    .rpm-form--busca .panel-body { padding: 14px 12px; }
    .rpm-form--fila-espera .fb-field-container,
    .rpm-form--busca .fb-field-container {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-right: 0;
        padding-left: 0;
    }
    .rpm-form--fila-espera .tformrow,
    .rpm-form--busca .tformrow { margin-right: 0; margin-left: 0; }
    .rpm-form--fila-espera .rpm-form-submit,
    .rpm-form--busca .rpm-form-submit { width: 100%; }
    .rpm-form--fila-espera [tradiogroup] > .btn-group { width: 100% !important; }

    .rpm-window--solicitacoes .rpm-listing-table,
    .rpm-window--solicitacoes .rpm-listing-table thead,
    .rpm-window--solicitacoes .rpm-listing-table tbody,
    .rpm-window--solicitacoes .rpm-listing-table tr,
    .rpm-window--solicitacoes .rpm-listing-table td,
    .rpm-window--fila-espera .rpm-listing-table,
    .rpm-window--fila-espera .rpm-listing-table thead,
    .rpm-window--fila-espera .rpm-listing-table tbody,
    .rpm-window--fila-espera .rpm-listing-table tr,
    .rpm-window--fila-espera .rpm-listing-table td,
    .rpm-listing--busca .rpm-listing-table,
    .rpm-listing--busca .rpm-listing-table thead,
    .rpm-listing--busca .rpm-listing-table tbody,
    .rpm-listing--busca .rpm-listing-table tr,
    .rpm-listing--busca .rpm-listing-table td {
        display: block;
        width: 100% !important;
        max-width: 100%;
    }
    .rpm-window--solicitacoes .rpm-listing-table,
    .rpm-window--fila-espera .rpm-listing-table,
    .rpm-listing--busca .rpm-listing-table {
        border: 0;
        border-radius: 0;
        background: transparent;
    }
    .rpm-window--solicitacoes .rpm-listing-table thead,
    .rpm-window--fila-espera .rpm-listing-table thead,
    .rpm-listing--busca .rpm-listing-table thead {
        position: absolute;
        width: 1px !important;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .rpm-window--solicitacoes .rpm-listing-table tbody,
    .rpm-window--fila-espera .rpm-listing-table tbody,
    .rpm-listing--busca .rpm-listing-table tbody {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row,
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row,
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 9px 13px;
        border: 1px solid var(--rpm-listing-border);
        border-radius: 12px;
        background: var(--rpm-listing-surface);
    }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row:hover,
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row:hover,
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row:hover { background: var(--rpm-listing-hover); }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row > td,
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td,
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td {
        display: grid;
        grid-template-columns: minmax(6.4rem, 36%) minmax(0, 1fr);
        gap: 10px;
        align-items: center;
        width: 100% !important;
        min-height: 44px;
        padding: 8px 0;
        border: 0;
        background: transparent;
        text-align: left;
    }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row > td::before,
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td::before,
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td::before {
        content: attr(data-label);
        min-width: 0;
        padding-left: 2px;
        color: var(--rpm-listing-muted);
        font-size: 14px;
        font-weight: 600;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row > td.tdatagrid_cell.action,
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td.tdatagrid_cell.action,
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td.tdatagrid_cell.action {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        order: 0;
        min-height: 48px;
        padding: 2px 0 8px;
        border-bottom: 1px solid var(--rpm-listing-border);
        text-align: right;
    }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row > td.tdatagrid_cell.action::before,
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td.tdatagrid_cell.action::before,
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td.tdatagrid_cell.action::before { display: none; }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="primary"],
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="primary"],
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="primary"] { order: 1; }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="code"],
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="code"] { order: 2; }
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="sequence"] { order: 3; }
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="status"],
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="status"] { order: 4; }
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="availability"] { order: 5; }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="date"],
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="date"],
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="date"] { order: 6; }
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row > td[data-role="details"] { order: 5; }
    .rpm-window--solicitacoes .rpm-request-status--linked { width: 100%; justify-content: center; }
    .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-empty-row,
    .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-empty-row,
    .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-empty-row {
        display: block;
        width: 100%;
        padding: 0;
        border: 1px solid var(--rpm-listing-border);
        border-radius: 12px;
        background: var(--rpm-listing-surface);
    }
    .rpm-window--solicitacoes .rpm-listing-empty-row > td,
    .rpm-window--fila-espera .rpm-listing-empty-row > td,
    .rpm-listing--busca .rpm-listing-empty-row > td {
        display: block;
        padding: 22px 14px;
        border: 0;
    }
    .rpm-listing--busca .card-footer {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
    }
    .rpm-listing--busca .card-footer .tpagenavigation {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: visible;
    }
    .rpm-listing--busca .card-footer .tpagenavigation ul.pagination {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
        max-width: 100%;
        gap: 4px;
        margin: 0;
        padding: 0;
    }
    .rpm-listing--busca .card-footer .tpagenavigation .page-link {
        min-width: 36px;
        min-height: 36px;
        padding: 7px 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-window--solicitacoes *,
    .rpm-window--fila-espera *,
    .rpm-listing--busca * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

/* Contraste equivalente para as superfícies noturnas, sem tocar em outras janelas ou listagens. */
.dark-mode .rpm-window--solicitacoes,
.dark-mode .rpm-window--fila-espera,
.dark-mode .rpm-listing--busca {
    --rpm-listing-surface: #1f2b37;
    --rpm-listing-header: #243140;
    --rpm-listing-hover: #2a3a4c;
    --rpm-listing-border: #40556b;
    --rpm-listing-text: #f2f5f9;
    --rpm-listing-muted: #b7c6d7;
    --rpm-listing-focus: #83bfff;
    --rpm-listing-accent: #83bfff;
    --rpm-listing-accent-contrast: #c6e0ff;
    --rpm-listing-accent-soft: rgba(131, 191, 255, 0.16);
    --rpm-listing-success: #42d39a;
    --rpm-listing-danger: #ff7780;
    --rpm-listing-attention: #ffc18d;
    --rpm-listing-attention-soft: rgba(255, 193, 141, 0.18);
    --rpm-listing-attention-contrast: #ffc18d;
    --rpm-listing-violet: #c9bbff;
    --rpm-listing-violet-soft: rgba(201, 187, 255, 0.18);
    --rpm-listing-violet-contrast: #c9bbff;
}
.dark-mode .rpm-form--fila-espera,
.dark-mode .rpm-form--busca {
    --rpm-form-surface: #1f2b37;
    --rpm-form-header: #243140;
    --rpm-form-hover: #2a3a4c;
    --rpm-form-border: #40556b;
    --rpm-form-text: #f2f5f9;
    --rpm-form-muted: #b7c6d7;
    --rpm-form-focus: #83bfff;
    --rpm-form-focus-soft: rgba(131, 191, 255, 0.16);
    --rpm-form-action: #286db3;
    --rpm-form-accent: #83bfff;
    --rpm-form-accent-contrast: #c6e0ff;
    --rpm-form-accent-soft: rgba(131, 191, 255, 0.16);
    --rpm-form-success: #42d39a;
    --rpm-form-danger: #ff7780;
}
.dark-mode .rpm-window--solicitacoes .ui-dialog,
.dark-mode .rpm-window--solicitacoes.ui-dialog,
.dark-mode .rpm-window--fila-espera .ui-dialog,
.dark-mode .rpm-window--fila-espera.ui-dialog,
.dark-mode .rpm-window--solicitacoes .ui-dialog-content,
.dark-mode .rpm-window--fila-espera .ui-dialog-content,
.dark-mode .rpm-form--fila-espera.card.panel,
.dark-mode .rpm-form--busca.card.panel,
.dark-mode .rpm-form--fila-espera > form,
.dark-mode .rpm-form--busca > form {
    background: var(--rpm-listing-surface) !important;
    color: var(--rpm-listing-text) !important;
    border-color: var(--rpm-listing-border) !important;
}
.dark-mode .rpm-window--solicitacoes .ui-dialog-titlebar,
.dark-mode .rpm-window--fila-espera .ui-dialog-titlebar,
.dark-mode .rpm-form--fila-espera .panel-heading,
.dark-mode .rpm-form--busca .panel-heading {
    background: var(--rpm-listing-header) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-window--solicitacoes .ui-dialog-title,
.dark-mode .rpm-window--fila-espera .ui-dialog-title,
.dark-mode .rpm-form--fila-espera .panel-heading .panel-title,
.dark-mode .rpm-form--busca .panel-heading .panel-title,
.dark-mode .rpm-form--fila-espera label,
.dark-mode .rpm-form--busca label {
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-window--solicitacoes .ui-dialog-titlebar-close,
.dark-mode .rpm-window--fila-espera .ui-dialog-titlebar-close,
.dark-mode .rpm-form--fila-espera .rpm-form-header-action,
.dark-mode .rpm-form--busca .rpm-form-header-action {
    background: var(--rpm-listing-surface) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-window--solicitacoes .rpm-listing-table,
.dark-mode .rpm-window--solicitacoes .rpm-listing-table th,
.dark-mode .rpm-window--solicitacoes .rpm-listing-table td,
.dark-mode .rpm-window--fila-espera .rpm-listing-table,
.dark-mode .rpm-window--fila-espera .rpm-listing-table th,
.dark-mode .rpm-window--fila-espera .rpm-listing-table td,
.dark-mode .rpm-listing--busca .rpm-listing-table,
.dark-mode .rpm-listing--busca .rpm-listing-table th,
.dark-mode .rpm-listing--busca .rpm-listing-table td,
.dark-mode .rpm-window--solicitacoes .rpm-listing-empty-row > td,
.dark-mode .rpm-window--fila-espera .rpm-listing-empty-row > td,
.dark-mode .rpm-listing--busca .rpm-listing-empty-row > td {
    background: var(--rpm-listing-surface) !important;
    border-color: var(--rpm-listing-border) !important;
    color: var(--rpm-listing-text) !important;
}
.dark-mode .rpm-window--solicitacoes .rpm-listing-table th,
.dark-mode .rpm-window--fila-espera .rpm-listing-table th,
.dark-mode .rpm-listing--busca .rpm-listing-table th { background: var(--rpm-listing-header) !important; }
.dark-mode .rpm-window--solicitacoes .rpm-listing-table tbody tr.rpm-listing-row:hover td,
.dark-mode .rpm-window--fila-espera .rpm-listing-table tbody tr.rpm-listing-row:hover td,
.dark-mode .rpm-listing--busca .rpm-listing-table tbody tr.rpm-listing-row:hover td { background: var(--rpm-listing-hover) !important; }
.dark-mode .rpm-window--solicitacoes .rpm-request-status--pending,
.dark-mode .rpm-listing--busca .rpm-event-status.badge-warning { background: var(--rpm-listing-attention-soft); border-color: var(--rpm-listing-attention); color: var(--rpm-listing-attention-contrast); }
.dark-mode .rpm-listing--busca .rpm-event-status--recurrence,
.dark-mode .rpm-listing--busca .rpm-event-status--custom { background: var(--rpm-listing-violet-soft) !important; border-color: var(--rpm-listing-violet); color: var(--rpm-listing-violet-contrast) !important; }
.dark-mode .rpm-form--fila-espera input.tfield,
.dark-mode .rpm-form--busca input.tfield,
.dark-mode .rpm-form--busca textarea.tfield,
.dark-mode .rpm-form--busca select.tcombo,
.dark-mode .rpm-form--busca select.tselect {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}

/* Orçamentos: a lista e o fluxo de criação compartilham a linguagem do painel. */
.rpm-listing--orcamentos {
    --rpm-listing-accent: #2469ad;
    --rpm-listing-accent-contrast: #2469ad;
    --rpm-listing-accent-soft: rgba(36, 105, 173, 0.12);
    --rpm-listing-attention: #b65a10;
    --rpm-listing-attention-soft: rgba(182, 90, 16, 0.12);
    --rpm-listing-success: #087f59;
    --rpm-listing-danger: #cf353e;
}
.rpm-listing--orcamentos .rpm-listing-table {
    table-layout: fixed;
}
.rpm-listing--orcamentos .rpm-listing-table th:nth-child(1),
.rpm-listing--orcamentos .rpm-listing-table td:nth-child(1) { width: 10%; }
.rpm-listing--orcamentos .rpm-listing-table th:nth-child(2),
.rpm-listing--orcamentos .rpm-listing-table td:nth-child(2) { width: 24%; }
.rpm-listing--orcamentos .rpm-listing-table th:nth-child(3),
.rpm-listing--orcamentos .rpm-listing-table td:nth-child(3),
.rpm-listing--orcamentos .rpm-listing-table th:nth-child(4),
.rpm-listing--orcamentos .rpm-listing-table td:nth-child(4) { width: 18%; }
.rpm-listing--orcamentos .rpm-listing-table th:nth-child(5),
.rpm-listing--orcamentos .rpm-listing-table td:nth-child(5) { width: 22%; }
.rpm-listing--orcamentos .rpm-listing-table th:last-child,
.rpm-listing--orcamentos .rpm-listing-table td:last-child { width: 58px; }
.rpm-listing--orcamentos .rpm-listing-table th,
.rpm-listing--orcamentos .rpm-listing-table td {
    min-width: 0;
    overflow-wrap: anywhere;
}
.rpm-listing--orcamentos .rpm-listing-table td[data-role="primary"] {
    font-weight: 600;
}
.rpm-listing--orcamentos .rpm-listing-table td[data-role="date"] {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.rpm-listing--orcamentos .rpm-orcamento-status {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-height: 32px;
    max-width: 100%;
    padding: 5px 9px;
    border: 1px solid currentColor;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.rpm-listing--orcamentos .rpm-orcamento-status--pending {
    color: var(--rpm-listing-attention);
    background: var(--rpm-listing-attention-soft);
}
.rpm-listing--orcamentos .rpm-orcamento-status--approved {
    color: var(--rpm-listing-success);
    background: rgba(8, 127, 89, 0.1);
}
.rpm-listing--orcamentos .rpm-orcamento-status--rejected {
    color: var(--rpm-listing-danger);
    background: rgba(207, 53, 62, 0.1);
}
.rpm-listing--orcamentos .rpm-listing-header-action--primary {
    border-color: var(--rpm-listing-accent);
    background: var(--rpm-listing-accent);
}
.rpm-listing--orcamentos .rpm-listing-header-action--secondary {
    color: var(--rpm-listing-accent) !important;
}
.rpm-listing--orcamentos .rpm-listing-row-action {
    min-width: 44px;
    min-height: 44px;
}
.rpm-listing--orcamentos .rpm-listing-filter-row > td {
    min-width: 0;
}

/* O formulário aparece dentro do diálogo, mas conserva a mesma casca de Cliente e Produto. */
.rpm-form--orcamento {
    --rpm-form-accent: #2469ad;
    --rpm-form-accent-contrast: #2469ad;
    --rpm-form-accent-soft: rgba(36, 105, 173, 0.12);
    --rpm-form-warning: #b65a10;
    --rpm-form-warning-soft: rgba(182, 90, 16, 0.12);
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}
.rpm-form--orcamento.card.panel {
    margin: 0;
    border-radius: 12px;
}
.rpm-form--orcamento .nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 20px;
    padding: 0 0 4px;
    border-bottom: 1px solid var(--rpm-form-border);
}
.rpm-form--orcamento .nav-tabs > li {
    float: none;
    margin: 0;
}
.rpm-form--orcamento .nav-tabs > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--rpm-form-muted);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-form--orcamento .nav-tabs > li > a:hover,
.rpm-form--orcamento .nav-tabs > li > a:focus-visible {
    border-color: var(--rpm-form-border);
    background: var(--rpm-form-hover);
    color: var(--rpm-form-text);
}
.rpm-form--orcamento .nav-tabs > li.active > a,
.rpm-form--orcamento .nav-tabs > li.active > a:hover,
.rpm-form--orcamento .nav-tabs > li.active > a:focus-visible {
    border-color: var(--rpm-form-focus);
    background: var(--rpm-form-accent-soft);
    color: var(--rpm-form-accent-contrast);
}
.rpm-form--orcamento .rpm-orcamento-section {
    margin-top: 8px;
}
.rpm-form--orcamento .rpm-orcamento-client-row .form-control[readonly],
.rpm-form--orcamento input[readonly] {
    background: var(--rpm-form-header) !important;
}
.rpm-form--orcamento .rpm-orcamento-schedule-summary {
    display: block;
    width: 100%;
    margin: 4px 0 16px;
    padding: 12px 14px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header);
    color: var(--rpm-form-success);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
}
.rpm-form--orcamento .rpm-form-help {
    display: block;
    margin: 4px 0 12px;
    color: var(--rpm-form-muted);
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.rpm-form--orcamento .rpm-orcamento-submit,
.rpm-form--orcamento .rpm-orcamento-confirm {
    min-height: 48px;
}
.rpm-form--orcamento .rpm-orcamento-product-list {
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
    table-layout: fixed;
}
.rpm-form--orcamento .rpm-orcamento-product-list thead th {
    padding: 10px 8px;
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-muted);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.rpm-form--orcamento .rpm-orcamento-product-list tbody td {
    min-width: 0;
    padding: 8px;
    border-top: 1px solid var(--rpm-form-border);
    vertical-align: top;
}
.rpm-form--orcamento .rpm-orcamento-product-list tbody tr:first-child td {
    border-top: 0;
}
.rpm-form--orcamento .rpm-orcamento-product-list input,
.rpm-form--orcamento .rpm-orcamento-product-list select,
.rpm-form--orcamento .rpm-orcamento-product-list .select2-container {
    min-width: 0;
    max-width: 100%;
}
.rpm-form--orcamento .rpm-orcamento-product-list input {
    min-height: 44px;
}
.rpm-form--orcamento .rpm-orcamento-product-list tfoot td {
    padding: 10px 8px;
    border-top: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-text);
    font-weight: 600;
}
.rpm-form--orcamento .rpm-orcamento-product-list tfoot td:last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.rpm-form--orcamento .tfieldlist_action,
.rpm-form--orcamento .tfieldlist_action button,
.rpm-form--orcamento .tfieldlist_action a {
    min-width: 44px;
    min-height: 44px;
}
.rpm-form--orcamento .fc {
    width: 100% !important;
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    overflow: hidden;
}
.rpm-form--orcamento .fc-scroller,
.rpm-form--orcamento .fc-view-harness {
    max-width: 100%;
}
.rpm-form--orcamento #container_recorrencia {
    width: 100%;
    max-width: 100%;
    margin-top: 8px;
    padding: 0 8px 8px;
    border: 1px solid var(--rpm-form-border);
    border-radius: 10px;
    background: var(--rpm-form-header);
}
.rpm-form--orcamento #container_recorrencia .rpm-form-section {
    margin-top: 16px;
}

/* Seleção de cliente e criação usam modal próprio para não herdar estilos de diálogos legados. */
.rpm-orcamento-selection-dialog,
.rpm-orcamento-create-dialog {
    --rpm-form-surface: #ffffff;
    --rpm-form-header: #f1f5f9;
    --rpm-form-border: #ced9e5;
    --rpm-form-text: #223247;
    --rpm-form-muted: #52657a;
    --rpm-form-focus: #1764b4;
}
.rpm-orcamento-selection-dialog .modal-content,
.rpm-orcamento-create-dialog .modal-content,
.rpm-form--orcamento-selection {
    min-width: 0;
    max-width: 100%;
}
.rpm-orcamento-selection-dialog .modal-content,
.rpm-orcamento-create-dialog .modal-content {
    border: 1px solid var(--rpm-form-border);
    border-radius: 12px;
    background: var(--rpm-form-surface);
    color: var(--rpm-form-text);
}
.rpm-orcamento-selection-dialog .modal-header,
.rpm-orcamento-create-dialog .modal-header {
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
}
.rpm-orcamento-selection-dialog .modal-title,
.rpm-orcamento-create-dialog .modal-title {
    color: var(--rpm-form-text);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.rpm-orcamento-selection-dialog .modal-footer,
.rpm-orcamento-create-dialog .modal-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-top: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-surface);
}
.rpm-orcamento-selection-dialog .modal-footer .btn,
.rpm-orcamento-create-dialog .modal-footer .btn {
    min-width: 44px;
    min-height: 44px;
}

@media (max-width: 767px) {
    .rpm-listing--orcamentos > .panel-footer {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }
    .rpm-listing--orcamentos > .panel-footer .tpagenavigation,
    .rpm-listing--orcamentos > .panel-footer .pagination {
        width: 100%;
        max-width: 100%;
    }
    .rpm-listing--orcamentos > .panel-footer .pagination {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 4px;
        padding: 0;
    }
    .rpm-listing--orcamentos > .panel-footer .pagination > li {
        float: none;
        margin: 0;
    }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td:nth-child(1) { order: 2; }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td:nth-child(2) { order: 1; }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td:nth-child(3) { order: 4; }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td:nth-child(4) { order: 5; }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td:nth-child(5) { order: 3; }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-filter-row > td,
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-filter-row > td.rpm-listing-filter-cell {
        width: 100% !important;
    }
    .rpm-listing--orcamentos .rpm-listing-table.dataTable.dtr-inline.collapsed > tbody > tr.rpm-orcamento-filter-row > td:first-child::before {
        content: "Ativo" !important;
        display: block !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--rpm-listing-muted) !important;
        line-height: 1.3 !important;
    }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td,
    .rpm-listing--orcamentos .rpm-listing-filter-row > td {
        box-sizing: border-box;
        max-width: 100%;
    }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td[data-role="date"] { white-space: normal; }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td.tdatagrid_cell.action { order: 0; }
    .rpm-listing--orcamentos .rpm-listing-table tbody > tr.rpm-orcamento-row > td::before { padding-left: 0; }
    .rpm-listing--orcamentos .rpm-listing-filter-row > td::before { padding-left: 0; }
    .rpm-form--orcamento .nav-tabs {
        gap: 6px;
        margin-bottom: 16px;
    }
    .rpm-form--orcamento .nav-tabs > li {
        flex: 1 1 140px;
    }
    .rpm-form--orcamento .nav-tabs > li > a {
        width: 100%;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list,
    .rpm-form--orcamento .rpm-orcamento-product-list tbody,
    .rpm-form--orcamento .rpm-orcamento-product-list tr,
    .rpm-form--orcamento .rpm-orcamento-product-list td {
        display: block;
        width: 100%;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list {
        border: 0;
        background: transparent;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list thead {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody tr {
        padding: 10px 12px;
        border: 1px solid var(--rpm-form-border);
        border-radius: 10px;
        background: var(--rpm-form-surface);
    }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td {
        display: grid;
        grid-template-columns: minmax(5.7rem, 34%) minmax(0, 1fr);
        align-items: center;
        gap: 8px;
        min-height: 52px;
        padding: 6px 0;
        border: 0;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td::before {
        color: var(--rpm-form-muted);
        font-size: 13px;
        font-weight: 600;
        line-height: 1.3;
        overflow-wrap: anywhere;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(1) {
        display: flex;
        justify-content: flex-end;
        min-height: 32px;
        padding: 0;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(1)::before { display: none; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(2)::before { content: 'Agenda'; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(3)::before { content: 'Produto'; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(4)::before { content: 'Preço'; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(5)::before { content: 'Qtd'; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(6)::before { content: 'Desc %'; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(7)::before { content: 'Desc R$'; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(8)::before { content: 'Total'; }
    .rpm-form--orcamento .rpm-orcamento-product-list tbody td:nth-child(9) { display: none; }
    .rpm-form--orcamento .rpm-orcamento-product-list tfoot {
        display: block;
        margin-top: 10px;
        border: 1px solid var(--rpm-form-border);
        border-radius: 10px;
    }
    .rpm-form--orcamento .rpm-orcamento-product-list tfoot td {
        display: block;
        border: 0;
    }
    .rpm-form--orcamento #container_recorrencia {
        padding-right: 10px;
        padding-left: 10px;
    }
    .rpm-orcamento-selection-dialog .modal-dialog,
    .rpm-orcamento-create-dialog .modal-dialog {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px);
        margin: 12px auto;
    }
    .rpm-orcamento-selection-dialog .modal-footer,
    .rpm-orcamento-create-dialog .modal-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .rpm-orcamento-selection-dialog .modal-footer .btn,
    .rpm-orcamento-create-dialog .modal-footer .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-listing--orcamentos *,
    .rpm-form--orcamento * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

.dark-mode .rpm-listing--orcamentos {
    --rpm-listing-surface: #1f2b37;
    --rpm-listing-header: #243140;
    --rpm-listing-hover: #2a3a4c;
    --rpm-listing-border: #40556b;
    --rpm-listing-text: #f2f5f9;
    --rpm-listing-muted: #b7c6d7;
    --rpm-listing-focus: #83bfff;
    --rpm-listing-accent: #83bfff;
    --rpm-listing-accent-contrast: #c6e0ff;
    --rpm-listing-accent-soft: rgba(131, 191, 255, 0.16);
    --rpm-listing-attention: #ffc18d;
    --rpm-listing-attention-soft: rgba(255, 193, 141, 0.18);
    --rpm-listing-success: #42d39a;
    --rpm-listing-danger: #ff7780;
}
.dark-mode .rpm-form--orcamento {
    --rpm-form-surface: #1f2b37;
    --rpm-form-header: #243140;
    --rpm-form-hover: #2a3a4c;
    --rpm-form-border: #40556b;
    --rpm-form-text: #f2f5f9;
    --rpm-form-muted: #b7c6d7;
    --rpm-form-focus: #83bfff;
    --rpm-form-focus-soft: rgba(131, 191, 255, 0.16);
    --rpm-form-action: #286db3;
    --rpm-form-accent: #83bfff;
    --rpm-form-accent-contrast: #c6e0ff;
    --rpm-form-accent-soft: rgba(131, 191, 255, 0.16);
    --rpm-form-warning: #ffc18d;
    --rpm-form-warning-soft: rgba(255, 193, 141, 0.18);
    --rpm-form-success: #42d39a;
    --rpm-form-danger: #ff7780;
}
.dark-mode .rpm-orcamento-selection-dialog,
.dark-mode .rpm-orcamento-create-dialog {
    --rpm-form-surface: #1f2b37;
    --rpm-form-header: #243140;
    --rpm-form-border: #40556b;
    --rpm-form-text: #f2f5f9;
    --rpm-form-muted: #b7c6d7;
    --rpm-form-focus: #83bfff;
}
.dark-mode .rpm-orcamento-selection-dialog .modal-content,
.dark-mode .rpm-orcamento-create-dialog .modal-content,
.dark-mode .rpm-orcamento-selection-dialog .modal-header,
.dark-mode .rpm-orcamento-create-dialog .modal-header,
.dark-mode .rpm-orcamento-selection-dialog .modal-footer,
.dark-mode .rpm-orcamento-create-dialog .modal-footer {
    background: var(--rpm-form-surface) !important;
    border-color: var(--rpm-form-border) !important;
    color: var(--rpm-form-text) !important;
}
.dark-mode .rpm-orcamento-selection-dialog .modal-header,
.dark-mode .rpm-orcamento-create-dialog .modal-header {
    background: var(--rpm-form-header) !important;
}
.dark-mode .rpm-orcamento-selection-dialog .modal-title,
.dark-mode .rpm-orcamento-create-dialog .modal-title {
    color: var(--rpm-form-text) !important;
}

/*
 * Reserva para Mim application navigation
 * Keep this surface scoped so the AdminLTE theme remains unchanged elsewhere.
 */
.rpm-app-shell {
    --rpm-shell-bg: #f1f5f9;
    --rpm-shell-surface: #ffffff;
    --rpm-shell-header: #ffffff;
    --rpm-shell-hover: #edf3fa;
    --rpm-shell-border: #ced9e5;
    --rpm-shell-text: #223247;
    --rpm-shell-muted: #52657a;
    --rpm-shell-action: #2469ad;
    --rpm-shell-focus: #1764b4;
    --rpm-shell-active: #edf3fa;
    --rpm-shell-active-text: #2469ad;
    --rpm-shell-danger: #cf353e;
    --rpm-shell-danger-soft: rgba(207, 53, 62, 0.12);
    --rpm-shell-shadow: rgba(34, 50, 71, 0.16);
    background-color: var(--rpm-shell-bg);
    color: var(--rpm-shell-text);
    font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    min-width: 0;
    overflow-x: hidden;
}

.rpm-app-shell.dark-mode,
.dark-mode .rpm-app-shell {
    --rpm-shell-bg: #1f252b;
    --rpm-shell-surface: #1f2b37;
    --rpm-shell-header: #243140;
    --rpm-shell-hover: #2a3a4c;
    --rpm-shell-border: #40556b;
    --rpm-shell-text: #f2f5f9;
    --rpm-shell-muted: #b7c6d7;
    --rpm-shell-action: #286db3;
    --rpm-shell-focus: #83bfff;
    --rpm-shell-active: #2a3a4c;
    --rpm-shell-active-text: #c6e0ff;
    --rpm-shell-danger: #ff7780;
    --rpm-shell-danger-soft: rgba(255, 119, 128, 0.18);
    --rpm-shell-shadow: rgba(0, 0, 0, 0.38);
}

.rpm-app-shell .wrapper,
.rpm-app-shell .content-wrapper,
.rpm-app-shell .main-footer {
    background-color: var(--rpm-shell-bg);
    color: var(--rpm-shell-text);
    min-width: 0;
}

.rpm-app-shell .content-wrapper {
    overflow-x: hidden;
}

.rpm-app-shell .main-header.rpm-app-header {
    align-items: center;
    background-color: var(--rpm-shell-header);
    border-bottom: 1px solid var(--rpm-shell-border);
    box-shadow: none;
    color: var(--rpm-shell-text);
    min-height: 56px;
    padding: 0 12px;
}

.rpm-app-shell .rpm-app-header > .navbar-nav,
.rpm-app-shell .rpm-app-header-actions {
    align-items: center;
    min-height: 56px;
}

.rpm-app-shell .rpm-app-header .nav-link,
.rpm-app-shell .rpm-app-menu-toggle,
.rpm-app-shell .rpm-app-profile-trigger,
.rpm-app-shell .rpm-header-menu-link,
.rpm-app-shell .rpm-header-menu-trigger {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--rpm-shell-text);
    display: inline-flex;
    justify-content: center;
    line-height: 1.25;
    margin: 6px 2px;
    min-height: 44px;
    min-width: 44px;
    padding: 8px 12px;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.rpm-app-shell .rpm-app-header .nav-link:hover,
.rpm-app-shell .rpm-app-header .nav-link:focus-visible,
.rpm-app-shell .rpm-app-header .nav-link.active,
.rpm-app-shell .rpm-app-menu-toggle:hover,
.rpm-app-shell .rpm-app-profile-trigger:hover,
.rpm-app-shell .rpm-header-menu-link:hover,
.rpm-app-shell .rpm-header-menu-trigger:hover {
    background-color: var(--rpm-shell-hover);
    border-color: var(--rpm-shell-border);
    color: var(--rpm-shell-action);
    text-decoration: none;
}

.rpm-app-shell .rpm-app-header .nav-link:focus-visible,
.rpm-app-shell .rpm-app-menu-toggle:focus-visible,
.rpm-app-shell .rpm-app-profile-trigger:focus-visible,
.rpm-app-shell .rpm-header-menu-link:focus-visible,
.rpm-app-shell .rpm-header-menu-trigger:focus-visible {
    outline: 3px solid var(--rpm-shell-focus);
    outline-offset: 2px;
}

.rpm-app-shell .rpm-app-profile-trigger {
    gap: 8px;
    max-width: min(280px, 35vw);
}

.rpm-app-shell .rpm-app-profile-trigger span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rpm-app-shell .rpm-app-header .navbar-nav.ml-auto {
    gap: 2px;
    min-width: 0;
}

.rpm-app-shell #chat_badge_count {
    background-color: var(--rpm-shell-danger);
    border: 2px solid var(--rpm-shell-header);
    color: #ffffff;
    font-weight: 700;
    line-height: 1.1;
}

.rpm-app-shell .rpm-app-brand-bar,
.rpm-app-shell .rpm-app-sidebar {
    background-color: var(--rpm-shell-surface);
    border-right: 1px solid var(--rpm-shell-border);
    box-shadow: none !important;
    color: var(--rpm-shell-text);
}

.rpm-app-shell .rpm-app-brand,
.rpm-app-shell .rpm-app-brand-bar .rpm-app-brand {
    align-items: center;
    background-color: var(--rpm-shell-header);
    border-bottom: 1px solid var(--rpm-shell-border);
    color: var(--rpm-shell-text);
    display: flex;
    gap: 10px;
    min-height: 56px;
    padding: 10px 16px;
    text-decoration: none;
    width: 250px;
}

.rpm-app-shell .rpm-app-brand:focus-visible {
    outline: 3px solid var(--rpm-shell-focus);
    outline-offset: -3px;
}

.rpm-app-shell .rpm-app-brand-mark,
.rpm-app-shell .rpm-app-brand .brand-logo {
    align-items: center;
    display: inline-flex;
    flex: 0 0 32px;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.rpm-app-shell .rpm-app-brand-mark img,
.rpm-app-shell .rpm-app-brand .brand-logo img {
    height: 32px;
    max-width: 32px;
    object-fit: contain;
    width: 32px;
}

.rpm-app-shell .rpm-app-brand-text {
    color: var(--rpm-shell-text);
    font-size: 16px;
    line-height: 1.25;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rpm-app-shell .rpm-app-sidebar-body {
    background-color: var(--rpm-shell-surface);
    color: var(--rpm-shell-text);
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 10px 16px;
    scrollbar-color: var(--rpm-shell-border) transparent;
    scrollbar-width: thin;
}

.rpm-app-shell .rpm-app-sidebar-body::-webkit-scrollbar {
    width: 8px;
}

.rpm-app-shell .rpm-app-sidebar-body::-webkit-scrollbar-thumb {
    background-color: var(--rpm-shell-border);
    border-radius: 8px;
}

.rpm-app-shell .rpm-app-user-panel {
    align-items: center;
    border-bottom: 1px solid var(--rpm-shell-border) !important;
    margin: 8px 2px 10px !important;
    min-width: 0;
    padding: 10px 2px 12px !important;
}

.rpm-app-shell .rpm-app-user-panel .image {
    flex: 0 0 40px;
}

.rpm-app-shell .rpm-app-user-avatar {
    border: 1px solid var(--rpm-shell-border);
    border-radius: 50%;
    height: 40px;
    object-fit: cover;
    width: 40px;
}

.rpm-app-shell .rpm-app-user-panel .info,
.rpm-app-shell .rpm-app-user-link {
    min-width: 0;
}

.rpm-app-shell .rpm-app-user-link {
    color: var(--rpm-shell-text);
    line-height: 1.25;
    overflow-wrap: anywhere;
    padding: 0 0 0 10px;
}

.rpm-app-shell .rpm-app-user-link:hover,
.rpm-app-shell .rpm-app-user-link:focus-visible {
    color: var(--rpm-shell-action);
    text-decoration: none;
}

.rpm-app-shell .rpm-app-user-link small {
    color: var(--rpm-shell-muted);
    display: block;
    font-size: 12px;
    margin-top: 3px;
    overflow-wrap: anywhere;
}

.rpm-app-shell .rpm-app-nav {
    min-width: 0;
    padding: 0;
}

.rpm-app-shell #side-menu.rpm-app-menu,
.rpm-app-shell #side-menu.rpm-app-menu ul {
    list-style: none;
    margin: 0;
    min-width: 0;
    padding-top: 0;
}

.rpm-app-shell #side-menu.rpm-app-menu > .rpm-menu-item {
    margin: 2px 0;
    min-width: 0;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link {
    align-items: flex-start;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    color: var(--rpm-shell-text);
    display: flex;
    gap: 10px;
    line-height: 1.35;
    min-height: 44px;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 10px 12px;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
    width: 100%;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link:hover {
    background-color: var(--rpm-shell-hover);
    border-color: var(--rpm-shell-border);
    color: var(--rpm-shell-action);
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link:focus-visible {
    outline: 3px solid var(--rpm-shell-focus);
    outline-offset: 2px;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link.active,
.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link[aria-current="page"] {
    background-color: var(--rpm-shell-active);
    border-color: var(--rpm-shell-border);
    color: var(--rpm-shell-active-text);
    font-weight: 600;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link.active::before,
.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link[aria-current="page"]::before {
    background-color: var(--rpm-shell-action);
    border-radius: 4px;
    content: "";
    height: calc(100% - 12px);
    left: 5px;
    position: absolute;
    top: 6px;
    width: 3px;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-item > .rpm-menu-link {
    position: relative;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-icon {
    color: var(--rpm-shell-action);
    flex: 0 0 20px;
    font-size: 16px;
    line-height: 1.4;
    margin: 1px 0 0;
    min-width: 20px;
    text-align: center;
    width: 20px;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-label {
    flex: 1 1 auto;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: left;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link--leaf .rpm-menu-label {
    font-weight: 400;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-caret {
    color: var(--rpm-shell-muted);
    flex: 0 0 auto;
    font-size: 14px;
    margin: 3px 0 0 8px;
    transition: color 160ms ease, transform 160ms ease;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-item.menu-open > .rpm-menu-link .rpm-menu-caret,
.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-item.menu-is-opening > .rpm-menu-link .rpm-menu-caret {
    color: var(--rpm-shell-action);
    transform: rotate(-90deg);
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-submenu {
    border-left: 1px solid var(--rpm-shell-border);
    margin: 2px 0 4px 20px;
    padding: 2px 0 2px 8px;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-submenu .rpm-menu-link {
    font-size: 15px;
    min-height: 42px;
    padding: 9px 10px;
}

.rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-submenu .rpm-menu-label {
    font-weight: 400;
}

.rpm-app-shell .rpm-app-dropdown,
.rpm-app-shell .rpm-app-user-menu {
    background-color: var(--rpm-shell-surface);
    border: 1px solid var(--rpm-shell-border);
    border-radius: 10px;
    box-shadow: 0 8px 24px var(--rpm-shell-shadow);
    color: var(--rpm-shell-text);
    max-width: calc(100vw - 20px);
    min-width: 220px;
    overflow: hidden;
}

.rpm-app-shell .rpm-menu-dropdown-item,
.rpm-app-shell .rpm-app-user-menu .dropdown-item,
.rpm-app-shell .rpm-menu-dropdown-heading {
    align-items: center;
    color: var(--rpm-shell-text);
    display: flex;
    gap: 10px;
    min-height: 44px;
    overflow-wrap: anywhere;
    padding: 10px 14px;
    white-space: normal;
}

.rpm-app-shell .rpm-menu-dropdown-item:hover,
.rpm-app-shell .rpm-menu-dropdown-item:focus-visible,
.rpm-app-shell .rpm-app-user-menu .dropdown-item:hover,
.rpm-app-shell .rpm-app-user-menu .dropdown-item:focus-visible {
    background-color: var(--rpm-shell-hover);
    color: var(--rpm-shell-action);
}

.rpm-app-shell .rpm-menu-dropdown-item:focus-visible,
.rpm-app-shell .rpm-app-user-menu .dropdown-item:focus-visible {
    outline: 3px solid var(--rpm-shell-focus);
    outline-offset: -3px;
}

.rpm-app-shell .rpm-menu-dropdown-item .media,
.rpm-app-shell .rpm-menu-dropdown-item .media-body,
.rpm-app-shell .rpm-menu-dropdown-item .dropdown-item-title {
    min-width: 0;
}

.rpm-app-shell .rpm-menu-dropdown-item .dropdown-item-title {
    align-items: center;
    display: flex;
    font-size: 15px;
    font-weight: 600;
    gap: 10px;
    margin: 0;
    overflow-wrap: anywhere;
}

.rpm-app-shell .rpm-menu-dropdown-heading {
    color: var(--rpm-shell-muted);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.rpm-app-shell .rpm-app-user-header {
    background-color: var(--rpm-shell-header);
    border-bottom: 1px solid var(--rpm-shell-border);
    color: var(--rpm-shell-text);
    height: auto !important;
    padding: 16px;
    text-align: left;
}

.rpm-app-shell .rpm-app-user-header p {
    color: var(--rpm-shell-text);
    font-weight: 600;
    margin: 10px 0 0;
    overflow-wrap: anywhere;
}

.rpm-app-shell .rpm-app-profile-link {
    color: var(--rpm-shell-action);
    display: inline-block;
    font-size: 13px;
    margin-left: 6px;
}

.rpm-app-shell .rpm-app-profile-link:focus-visible {
    outline: 3px solid var(--rpm-shell-focus);
    outline-offset: 2px;
}

.rpm-app-shell .rpm-app-user-menu .dropdown-header,
.rpm-app-shell .rpm-app-user-menu .user-footer {
    color: var(--rpm-shell-muted);
}

.rpm-app-shell .rpm-app-user-menu .user-footer {
    border-top: 1px solid var(--rpm-shell-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    padding: 12px;
}

.rpm-app-shell .rpm-app-user-menu .user-footer .btn {
    align-items: center;
    border: 1px solid var(--rpm-shell-border);
    border-radius: 8px;
    color: var(--rpm-shell-text);
    display: inline-flex;
    min-height: 44px;
    padding: 8px 12px;
}

.rpm-app-shell .rpm-app-user-menu .user-footer .btn:hover,
.rpm-app-shell .rpm-app-user-menu .user-footer .btn:focus-visible {
    background-color: var(--rpm-shell-hover);
    border-color: var(--rpm-shell-action);
    color: var(--rpm-shell-action);
}

.rpm-app-shell .rpm-app-user-menu .user-footer .btn:focus-visible {
    outline: 3px solid var(--rpm-shell-focus);
    outline-offset: 2px;
}

.rpm-app-shell .dropdown-divider {
    border-top: 1px solid var(--rpm-shell-border);
    margin: 0;
}

.rpm-app-shell .rpm-app-top-menu {
    align-items: center;
    min-width: 0;
}

.rpm-app-shell .rpm-app-top-menu > ul,
.rpm-app-shell .rpm-app-top-menu > li {
    min-width: 0;
}

.rpm-app-shell .rpm-app-top-menu .nav-link {
    white-space: normal;
}

.rpm-app-shell .rpm-app-menu-toggle {
    color: var(--rpm-shell-text);
}

.rpm-app-shell #sidebar-overlay {
    background-color: rgba(34, 50, 71, 0.52);
}

@media (max-width: 767.98px) {
    .rpm-app-shell .main-header.rpm-app-header {
        padding: 0 8px;
    }

    .rpm-app-shell .rpm-app-header-actions {
        gap: 0;
        max-width: 72%;
        overflow: hidden;
    }

    .rpm-app-shell .rpm-app-header .nav-link,
    .rpm-app-shell .rpm-app-menu-toggle,
    .rpm-app-shell .rpm-app-profile-trigger {
        min-height: 48px;
        min-width: 48px;
        padding: 8px 10px;
    }

    .rpm-app-shell .rpm-app-sidebar {
        width: 250px;
    }

    .rpm-app-shell .rpm-app-sidebar .rpm-app-brand {
        width: 250px;
    }

    .rpm-app-shell .rpm-app-sidebar-body {
        padding: 0 10px 20px;
    }

    .rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-link {
        min-height: 48px;
        padding: 11px 12px;
    }

    .rpm-app-shell #side-menu.rpm-app-menu .rpm-menu-submenu {
        margin-left: 12px;
    }

    .rpm-app-shell .rpm-app-user-menu,
    .rpm-app-shell .rpm-app-dropdown {
        margin-right: 8px;
    }
}

@media (min-width: 768px) {
    .rpm-app-shell.sidebar-collapse .rpm-app-sidebar .rpm-app-brand,
    .rpm-app-shell .sidebar-collapse .rpm-app-sidebar .rpm-app-brand {
        justify-content: center;
        padding-left: 8px;
        padding-right: 8px;
        width: 4.6rem;
    }

    .rpm-app-shell.sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-link,
    .rpm-app-shell .sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-link {
        justify-content: center;
        padding-left: 8px;
        padding-right: 8px;
    }

    .rpm-app-shell.sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-label,
    .rpm-app-shell.sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-caret,
    .rpm-app-shell .sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-label,
    .rpm-app-shell .sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-caret {
        display: none;
    }

    .rpm-app-shell.sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-submenu,
    .rpm-app-shell .sidebar-collapse #side-menu.rpm-app-menu .rpm-menu-submenu {
        display: none;
    }

    .rpm-app-shell.sidebar-collapse .rpm-app-user-panel .info,
    .rpm-app-shell .sidebar-collapse .rpm-app-user-panel .info {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-app-shell *,
    .rpm-app-shell *::before,
    .rpm-app-shell *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Autenticacao publica: entrada simples, legivel e consistente com o painel. */
.rpm-auth-shell {
    --rpm-auth-surface: #ffffff;
    --rpm-auth-surface-raised: #f1f5f9;
    --rpm-auth-border: #ced9e5;
    --rpm-auth-hover: #edf3fa;
    --rpm-auth-text: #223247;
    --rpm-auth-muted: #52657a;
    --rpm-auth-action: #2469ad;
    --rpm-auth-focus: #1764b4;
    --rpm-auth-danger: #cf353e;
    --rpm-auth-success: #087f59;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    overflow-x: hidden;
    background: var(--rpm-auth-surface-raised) !important;
    color: var(--rpm-auth-text) !important;
    font-family: "Source Sans Pro", sans-serif;
}

.rpm-auth-shell.dark-mode,
.dark-mode .rpm-auth-shell {
    --rpm-auth-surface: #1f2b37;
    --rpm-auth-surface-raised: #17212b;
    --rpm-auth-border: #40556b;
    --rpm-auth-hover: #2a3a4c;
    --rpm-auth-text: #f2f5f9;
    --rpm-auth-muted: #b7c6d7;
    --rpm-auth-action: #286db3;
    --rpm-auth-focus: #83bfff;
    --rpm-auth-danger: #ef6870;
    --rpm-auth-success: #35c795;
    background: var(--rpm-auth-surface-raised) !important;
    color: var(--rpm-auth-text) !important;
}

.rpm-auth-shell,
.rpm-auth-shell *,
.rpm-auth-shell *::before,
.rpm-auth-shell *::after {
    box-sizing: border-box;
}

.rpm-auth-shell .rpm-auth-page {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0 auto;
    padding: clamp(28px, 7vh, 72px) 20px 28px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rpm-auth-shell #adianti_div_content,
.rpm-auth-shell #adianti_online_content,
.rpm-auth-shell #adianti_online_content2 {
    width: 100%;
    min-width: 0;
    margin: 0;
}

.rpm-auth-shell #adianti_right_panel {
    width: 100%;
    min-width: 0;
}

.rpm-auth-shell #login-wrapper.rpm-auth-wrapper {
    width: 100%;
    max-width: 500px;
    min-width: 0;
    margin: 0 auto;
}

.rpm-auth-shell .rpm-auth-logo-slot {
    width: 100%;
    margin: 0 0 24px;
    text-align: center;
}

.rpm-auth-shell .rpm-auth-logo {
    display: block;
    width: min(100%, 280px);
    max-width: 280px;
    height: auto;
    margin: 0 auto 16px;
}

.rpm-auth-shell.dark-mode .rpm-auth-logo,
.dark-mode .rpm-auth-shell .rpm-auth-logo {
    padding: 10px 16px;
    border: 1px solid var(--rpm-auth-border);
    border-radius: 10px;
    background: #ffffff;
}

.rpm-auth-shell .rpm-auth-form.card.panel {
    width: 100%;
    max-width: 500px;
    min-width: 0;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid var(--rpm-auth-border);
    border-radius: 12px;
    background: var(--rpm-auth-surface) !important;
    background-color: var(--rpm-auth-surface) !important;
    color: var(--rpm-auth-text) !important;
    box-shadow: 0 6px 16px rgba(31, 52, 73, 0.08);
}

.rpm-auth-shell.dark-mode .rpm-auth-form.card.panel,
.dark-mode .rpm-auth-shell .rpm-auth-form.card.panel {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

.rpm-auth-shell .rpm-auth-form > .panel-heading,
.rpm-auth-shell .rpm-auth-form > .card-header {
    min-height: 64px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--rpm-auth-border);
    background: var(--rpm-auth-surface);
    color: var(--rpm-auth-text);
}

.rpm-auth-shell .rpm-auth-form .panel-title,
.rpm-auth-shell .rpm-auth-form #title_loginform {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0;
    color: var(--rpm-auth-text) !important;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

.rpm-auth-shell .rpm-auth-form #icon_loginform {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--rpm-auth-action);
    color: #ffffff;
    font-size: 15px;
}

.rpm-auth-shell .rpm-auth-form .card-body,
.rpm-auth-shell .rpm-auth-form .panel-body {
    width: 100% !important;
    min-width: 0;
    padding: 24px 24px 20px !important;
    background: var(--rpm-auth-surface) !important;
    background-color: var(--rpm-auth-surface) !important;
    color: var(--rpm-auth-text) !important;
}

.rpm-auth-shell .rpm-auth-form .tab-content,
.rpm-auth-shell .rpm-auth-form .tab-pane {
    width: 100%;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
}

.rpm-auth-shell .rpm-auth-form .rpm-auth-field-row {
    display: block;
    min-width: 0;
    margin: 0 0 16px;
}

.rpm-auth-shell .rpm-auth-form .rpm-auth-field-row > .fb-field-container {
    display: flex;
    width: 100% !important;
    min-width: 0;
    min-height: 48px;
    padding: 0 !important;
    align-items: stretch;
}

.rpm-auth-shell .rpm-auth-form .rpm-auth-field-row .fb-inline-field-container {
    min-width: 0;
    padding: 0 !important;
}

.rpm-auth-shell .rpm-auth-form .rpm-auth-field-row .fb-inline-field-container:first-child {
    display: inline-flex;
    width: 48px !important;
    min-width: 48px;
    flex: 0 0 48px;
}

.rpm-auth-shell .rpm-auth-form .rpm-auth-field-row .fb-inline-field-container.form-line {
    display: block;
    width: auto !important;
    min-width: 0;
    flex: 1 1 auto;
}

.rpm-auth-shell .rpm-auth-field-icon {
    display: inline-flex;
    width: 48px;
    min-width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rpm-auth-border);
    border-right: 0;
    border-radius: 9px 0 0 9px;
    background: var(--rpm-auth-surface-raised);
    color: var(--rpm-auth-action);
    font-size: 16px;
}

.rpm-auth-shell .rpm-auth-form input.form-control,
.rpm-auth-shell .rpm-auth-form select.form-control,
.rpm-auth-shell .rpm-auth-form .tpassword,
.rpm-auth-shell .rpm-auth-form .tpassword input {
    width: 100% !important;
    min-width: 0;
    min-height: 48px;
    font-family: inherit;
    font-size: 16px;
}

.rpm-auth-shell .rpm-auth-form input.form-control,
.rpm-auth-shell .rpm-auth-form select.form-control {
    height: 48px !important;
    padding: 10px 13px;
    border: 1px solid var(--rpm-auth-border);
    border-radius: 0 9px 9px 0;
    background: var(--rpm-auth-surface) !important;
    color: var(--rpm-auth-text) !important;
}

.rpm-auth-shell .rpm-auth-form .tpassword {
    display: flex;
    align-items: stretch;
}

.rpm-auth-shell .rpm-auth-form .tpassword input {
    height: 48px !important;
    border-radius: 0;
}

.rpm-auth-shell .rpm-auth-form .tpassword button {
    width: 48px;
    min-width: 48px;
    min-height: 48px;
    padding: 0;
    border: 1px solid var(--rpm-auth-border);
    border-left: 0;
    border-radius: 0 9px 9px 0;
    background: var(--rpm-auth-surface-raised);
    color: var(--rpm-auth-muted);
}

.rpm-auth-shell .rpm-auth-form input.form-control::placeholder {
    color: var(--rpm-auth-muted);
    opacity: 1;
}

.rpm-auth-shell .rpm-auth-form input.form-control:focus,
.rpm-auth-shell .rpm-auth-form select.form-control:focus,
.rpm-auth-shell .rpm-auth-form .tpassword button:focus,
.rpm-auth-shell .rpm-auth-link:focus-visible,
.rpm-auth-shell .rpm-auth-submit:focus-visible {
    border-color: var(--rpm-auth-focus) !important;
    outline: 3px solid var(--rpm-auth-focus) !important;
    outline-offset: 2px;
    box-shadow: none;
}

.rpm-auth-shell .rpm-auth-form .tpassword input:focus {
    position: relative;
    z-index: 1;
    border-color: var(--rpm-auth-focus) !important;
    outline: 3px solid var(--rpm-auth-focus) !important;
    outline-offset: -1px;
}

.rpm-auth-shell .rpm-auth-form .panel-footer,
.rpm-auth-shell .rpm-auth-form .card-footer {
    display: block;
    width: 100% !important;
    min-width: 0;
    padding: 0 24px 24px !important;
    border: 0;
    background: var(--rpm-auth-surface) !important;
    background-color: var(--rpm-auth-surface) !important;
}

.rpm-auth-shell .rpm-auth-submit {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 11px 16px;
    border: 1px solid var(--rpm-auth-action);
    border-radius: 9px;
    background: var(--rpm-auth-action);
    color: #ffffff !important;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.rpm-auth-shell .rpm-auth-submit:hover,
.rpm-auth-shell .rpm-auth-submit:active {
    border-color: var(--rpm-auth-focus);
    background: var(--rpm-auth-focus);
    color: #ffffff !important;
}

.rpm-auth-shell .rpm-auth-submit:disabled,
.rpm-auth-shell .rpm-auth-form input:disabled,
.rpm-auth-shell .rpm-auth-form select:disabled {
    cursor: not-allowed;
    opacity: 0.62;
}

.rpm-auth-shell .rpm-auth-form .tformrow[style*="display:none"] {
    display: none !important;
}

.rpm-auth-shell .rpm-auth-links {
    display: flex;
    width: 100%;
    max-width: 500px;
    min-width: 0;
    margin: 20px auto 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.rpm-auth-shell .rpm-auth-link {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 7px;
    color: var(--rpm-auth-action) !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
}

.rpm-auth-shell .rpm-auth-link:hover {
    background: var(--rpm-auth-hover);
    color: var(--rpm-auth-focus) !important;
    text-decoration: none;
}

.rpm-auth-shell .rpm-auth-link--create i {
    color: var(--rpm-auth-success);
}

.rpm-auth-shell .rpm-auth-link--reset i {
    color: var(--rpm-auth-danger);
}

.rpm-auth-shell .rpm-auth-form .tformrow.has-error input,
.rpm-auth-shell .rpm-auth-form .tformrow.has-error select,
.rpm-auth-shell .rpm-auth-form input.is-invalid,
.rpm-auth-shell .rpm-auth-form select.is-invalid {
    border-color: var(--rpm-auth-danger) !important;
}

/* Compatibilidade com os estilos legados do Bootstrap/Adianti do login. */
.rpm-auth-shell #login-wrapper .rpm-auth-form > .panel-heading,
.rpm-auth-shell #login-wrapper .rpm-auth-form > .card-header {
    border-top: 0 !important;
    background-color: var(--rpm-auth-surface) !important;
    color: var(--rpm-auth-text) !important;
}

.rpm-auth-shell .rpm-auth-form > form {
    margin: 0;
}

.rpm-auth-shell .rpm-auth-form #form_login .rpm-auth-field-row > .fb-field-container > .fb-inline-field-container:first-child {
    height: 48px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

@media (max-width: 767.98px) {
    .rpm-auth-shell .rpm-auth-page {
        min-height: 100vh;
        min-height: 100dvh;
        padding: 24px 16px 28px;
        justify-content: flex-start;
    }

    .rpm-auth-shell #login-wrapper.rpm-auth-wrapper {
        max-width: none;
    }

    .rpm-auth-shell .rpm-auth-logo-slot {
        margin-bottom: 20px;
    }

    .rpm-auth-shell .rpm-auth-logo {
        width: min(100%, 230px);
        max-width: 230px;
    }

    .rpm-auth-shell .rpm-auth-form.card.panel {
        max-width: none;
        border-radius: 10px;
    }

    .rpm-auth-shell .rpm-auth-form > .panel-heading,
    .rpm-auth-shell .rpm-auth-form > .card-header {
        min-height: 60px;
        padding: 14px 16px;
    }

    .rpm-auth-shell .rpm-auth-form .panel-title,
    .rpm-auth-shell .rpm-auth-form #title_loginform {
        font-size: 20px;
    }

    .rpm-auth-shell .rpm-auth-form .card-body,
    .rpm-auth-shell .rpm-auth-form .panel-body {
        padding: 20px 16px 16px !important;
    }

    .rpm-auth-shell .rpm-auth-form .panel-footer,
    .rpm-auth-shell .rpm-auth-form .card-footer {
        padding: 0 16px 20px !important;
    }

    .rpm-auth-shell .rpm-auth-links {
        max-width: none;
        flex-direction: column;
        gap: 4px;
    }

    .rpm-auth-shell .rpm-auth-link {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-auth-shell *,
    .rpm-auth-shell *::before,
    .rpm-auth-shell *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Mantém a precedência do portal sobre a base compartilhada carregada acima. */
.rpm-form.rpm-public-order.card.panel {
    max-width: 1180px;
    height: auto !important;
    margin: 24px auto;
    overflow: visible !important;
    border-radius: 12px;
    box-shadow: none;
}
.rpm-form.rpm-public-order > .panel-heading {
    min-height: 84px;
    padding: 14px 20px;
    border-radius: 12px 12px 0 0;
}
.rpm-form.rpm-public-order > .panel-heading .panel-title::before {
    display: none;
    content: none;
}
.rpm-form.rpm-public-order > .panel-body {
    padding: 24px !important;
}
.rpm-form.rpm-public-order-dialog.card.panel {
    margin: 0;
    border-radius: 12px;
    box-shadow: none;
}
.rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-header > td,
.rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-header > th {
    padding: 12px;
    border-bottom: 1px solid var(--rpm-form-border);
    background: var(--rpm-form-header);
    color: var(--rpm-form-muted);
    font-size: 14px;
    font-weight: 700;
}
.rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-total > td {
    background: var(--rpm-public-blue-soft);
    color: var(--rpm-form-text);
    font-size: 16px;
    font-weight: 750;
}

@media (max-width: 767.98px) {
    .rpm-form.rpm-public-order.card.panel {
        width: calc(100% - 20px);
        margin: 10px;
        border-radius: 12px;
    }
    .rpm-form.rpm-public-order > .panel-heading {
        min-height: 76px;
        padding: 12px 14px;
        border-radius: 12px 12px 0 0;
    }
    .rpm-form.rpm-public-order > .panel-body {
        padding: 16px !important;
    }
    .rpm-form.rpm-public-order > .panel-heading {
        align-items: center;
        flex-direction: row;
        gap: 12px;
    }
    .rpm-form.rpm-public-order > .panel-heading .card-title {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
    .rpm-form.rpm-public-order > .panel-heading .header-actions {
        width: auto;
        flex: 0 0 auto;
        justify-content: flex-end;
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table,
    .rpm-form.rpm-public-order .rpm-public-order__review-table > tbody,
    .rpm-form.rpm-public-order .rpm-public-order__review-table > tbody > tr,
    .rpm-form.rpm-public-order .rpm-public-order__review-table > tbody > tr > td {
        display: block;
        width: 100% !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-header {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        border: 0 !important;
        white-space: nowrap !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-row {
        margin: 0 0 12px;
        overflow: hidden;
        border: 1px solid var(--rpm-form-border);
        border-radius: 12px;
        background: var(--rpm-form-surface);
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-row > td {
        display: grid;
        grid-template-columns: minmax(92px, 34%) minmax(0, 1fr);
        gap: 10px;
        min-height: 48px;
        padding: 11px 12px;
        align-items: center;
        border: 0 !important;
        border-top: 1px solid var(--rpm-form-border) !important;
        text-align: left !important;
        overflow-wrap: anywhere;
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-row > td:first-child {
        border-top: 0 !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-row > td::before {
        content: attr(data-label);
        color: var(--rpm-form-muted);
        font-size: 14px;
        font-weight: 700;
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-total > td {
        display: block;
        text-align: right !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__review-table .rpm-public-order__table-total > td::before {
        content: none;
    }

    /* O carrinho usa uma tabela gerada pelo Adianti sem a classe legada
       tdatagrid_table; em telas estreitas ele precisa assumir o mesmo
       comportamento de cartão das demais grades do portal. */
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid,
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody,
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr {
        display: block !important;
        width: 100% !important;
        min-width: 0;
        box-sizing: border-box;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid {
        table-layout: fixed !important;
        border-collapse: separate !important;
        border-spacing: 0;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > thead {
        display: block !important;
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        border: 0 !important;
        white-space: nowrap !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
        margin: 0 0 12px;
        padding: 10px 12px;
        overflow: hidden;
        border: 1px solid var(--rpm-form-border);
        border-radius: 12px;
        background: var(--rpm-form-surface);
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td {
        display: grid;
        width: 100% !important;
        min-width: 0;
        min-height: 44px;
        box-sizing: border-box;
        grid-template-columns: minmax(80px, 30%) minmax(0, 1fr);
        gap: 8px;
        align-items: center;
        padding: 10px 0 !important;
        border: 0 !important;
        border-top: 1px solid var(--rpm-form-border) !important;
        background: transparent !important;
        color: var(--rpm-form-text) !important;
        text-align: left !important;
        overflow-wrap: break-word;
        word-break: normal;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td::before {
        content: attr(data-label);
        color: var(--rpm-form-muted);
        font-size: 13px;
        font-weight: 700;
        line-height: 1.25;
        text-align: left;
        overflow-wrap: anywhere;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action {
        display: inline-flex;
        width: auto !important;
        min-height: 44px;
        padding: 0 4px !important;
        align-items: center;
        border-top: 0 !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action::before {
        content: none;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
        justify-content: flex-start;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action:nth-child(2) {
        grid-column: 2;
        grid-row: 1;
        justify-content: flex-end;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td:nth-child(3) {
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        align-items: start;
        overflow-wrap: anywhere;
        word-break: normal;
        border-top: 1px solid var(--rpm-form-border) !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td:nth-child(4) {
        grid-column: 1 / -1;
        grid-row: 3;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td:nth-child(5) {
        grid-column: 1 / -1;
        grid-row: 4;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td:nth-child(6) {
        grid-column: 1 / -1;
        grid-row: 5;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td:nth-child(n + 4) {
        text-align: right !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td:nth-child(n + 4)::before {
        text-align: left;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td:nth-child(n + 4) {
        font-variant-numeric: tabular-nums;
        font-weight: 650;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action a,
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action .btn {
        display: inline-flex;
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action a {
        border: 1px solid var(--rpm-form-border);
        border-radius: 8px;
        background: var(--rpm-form-header);
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action a:hover,
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action a:focus-visible {
        border-color: var(--rpm-form-focus);
        background: var(--rpm-form-hover);
    }
    .rpm-form.rpm-public-order .rpm-public-order__cart-grid > tbody > tr > td.action a:focus-visible {
        outline: 3px solid var(--rpm-form-focus);
        outline-offset: 2px;
    }
}

/* Formulários de eventos da agenda.
   A criação, recorrência e fila usam a mesma linguagem visual da agenda,
   mantendo os componentes Adianti e seus seletores de comportamento. */
.rpm-calendar--event-form {
    --rpm-event-surface: var(--rpm-calendar-surface, #ffffff);
    --rpm-event-raised: var(--rpm-calendar-surface-raised, #f8fafc);
    --rpm-event-header: var(--rpm-calendar-header, #f1f5f9);
    --rpm-event-hover: var(--rpm-calendar-hover, #edf3fa);
    --rpm-event-border: var(--rpm-calendar-border, #ced9e5);
    --rpm-event-text: var(--rpm-calendar-text, #223247);
    --rpm-event-muted: var(--rpm-calendar-muted, #52657a);
    --rpm-event-focus: var(--rpm-calendar-focus, #1764b4);
    --rpm-event-action: var(--rpm-calendar-action, #2469ad);
    --rpm-event-success: var(--rpm-calendar-success, #087f59);
    --rpm-event-attention: var(--rpm-calendar-attention, #b65a10);
    --rpm-event-danger: var(--rpm-calendar-danger, #cf353e);
    width: min(100%, 960px);
    min-width: 0;
    margin: 20px auto 28px;
    color: var(--rpm-event-text);
    font-variant-numeric: tabular-nums;
}

.rpm-calendar--event-form,
.rpm-calendar--event-form *,
.rpm-calendar__dialog--recurrence,
.rpm-calendar__dialog--recurrence *,
.rpm-calendar__dialog--manage,
.rpm-calendar__dialog--manage *,
.rpm-calendar__dialog--waitlist,
.rpm-calendar__dialog--waitlist * {
    box-sizing: border-box;
    min-width: 0;
}

.rpm-calendar--event-form.card.panel {
    width: min(100%, 960px);
    overflow: visible !important;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 12px;
    background: var(--rpm-event-surface) !important;
    box-shadow: none;
}

.rpm-calendar--event-form > .panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 72px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--rpm-event-border) !important;
    border-radius: 12px 12px 0 0;
    background: var(--rpm-event-header) !important;
}

.rpm-calendar--event-form > .panel-heading .panel-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: var(--rpm-event-text) !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-calendar--event-form > .panel-heading .panel-title::before {
    background: var(--rpm-event-action) !important;
}

.rpm-calendar--event-form > .panel-heading .header-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.rpm-calendar--event-form .rpm-calendar__form-action,
.rpm-calendar--event-form > .panel-heading .header-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 9px;
    background: var(--rpm-event-surface) !important;
    color: var(--rpm-event-text) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rpm-calendar--event-form .rpm-calendar__form-action:hover,
.rpm-calendar--event-form .rpm-calendar__form-action:focus,
.rpm-calendar--event-form > .panel-heading .header-actions .btn:hover,
.rpm-calendar--event-form > .panel-heading .header-actions .btn:focus {
    border-color: var(--rpm-event-focus) !important;
    background: var(--rpm-event-hover) !important;
    color: var(--rpm-event-text) !important;
}

.rpm-calendar--event-form .rpm-calendar__form-action--primary {
    border-color: var(--rpm-event-action) !important;
    background: var(--rpm-event-action) !important;
    color: #ffffff !important;
}

.rpm-calendar--event-form .rpm-calendar__form-action--primary:hover,
.rpm-calendar--event-form .rpm-calendar__form-action--primary:focus {
    border-color: var(--rpm-event-focus) !important;
    background: var(--rpm-event-focus) !important;
    color: #ffffff !important;
}

.rpm-calendar--event-form .rpm-calendar__form-action--danger {
    border-color: var(--rpm-event-danger) !important;
    color: var(--rpm-event-danger) !important;
}

.rpm-calendar--event-form > .panel-body {
    padding: 0 !important;
    background: transparent !important;
}

.rpm-calendar--event-form > .panel-body > .card.panel {
    width: 100% !important;
    margin: 0;
    border: 0 !important;
    border-radius: 0 0 12px 12px;
    background: transparent !important;
    box-shadow: none !important;
}

.rpm-calendar--event-form .rpm-calendar__event-form {
    width: 100%;
    margin: 0;
    color: var(--rpm-event-text);
}

.rpm-calendar--event-form .rpm-calendar__event-form .card-body,
.rpm-calendar--event-form .rpm-calendar__event-form .tab-pane {
    width: 100%;
    min-width: 0;
    padding: 18px !important;
    background: transparent !important;
}

.rpm-calendar--event-form .rpm-calendar__event-form .tformrow {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 14px;
    min-width: 0;
}

.rpm-calendar--event-form .rpm-calendar__event-form .fb-field-container {
    min-width: 0;
    padding: 0 8px 12px;
}

.rpm-calendar--event-form .rpm-calendar__event-form .fb-inline-field-container {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    padding: 0 !important;
    min-width: 0;
}

.rpm-calendar--event-form .rpm-calendar__event-form label,
.rpm-calendar--event-form .rpm-calendar__section > div > label,
.rpm-calendar--event-form .rpm-calendar__section > label {
    display: block;
    width: 100% !important;
    margin: 0 0 7px;
    color: var(--rpm-event-text) !important;
    font-size: 14px !important;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-calendar--event-form .rpm-calendar__event-form .form-control,
.rpm-calendar--event-form .rpm-calendar__event-form .tfield,
.rpm-calendar--event-form .rpm-calendar__event-form select,
.rpm-calendar--event-form .rpm-calendar__event-form textarea {
    width: 100% !important;
    max-width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 9px;
    background: var(--rpm-event-raised) !important;
    color: var(--rpm-event-text) !important;
    font-size: 15px;
    line-height: 1.35;
}

.rpm-calendar--event-form .rpm-calendar__event-form textarea {
    min-height: 88px;
    resize: vertical;
}

.rpm-calendar--event-form .rpm-calendar__event-form input::placeholder,
.rpm-calendar--event-form .rpm-calendar__event-form textarea::placeholder {
    color: var(--rpm-event-muted);
    opacity: 1;
}

.rpm-calendar--event-form .rpm-calendar__event-form .tdate-group {
    display: flex;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
}

.rpm-calendar--event-form .rpm-calendar__event-form .tdate-group .tfield {
    flex: 1 1 auto;
    min-width: 0;
    border-radius: 9px 0 0 9px;
}

.rpm-calendar--event-form .rpm-calendar__event-form .tdate-group-addon {
    display: inline-flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border: 1px solid var(--rpm-event-border) !important;
    border-left: 0 !important;
    border-radius: 0 9px 9px 0;
    background: var(--rpm-event-surface) !important;
    color: var(--rpm-event-action) !important;
}

.rpm-calendar--event-form .info_validacao_datas {
    display: block;
    margin-top: 6px;
    color: var(--rpm-event-success) !important;
    font-size: 12px !important;
    line-height: 1.35;
}

.rpm-calendar--event-form .rpm-calendar__section {
    width: 100%;
    min-width: 0;
    margin: 8px 0 16px;
    padding: 16px;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 10px;
    background: var(--rpm-event-raised) !important;
}

.rpm-calendar--event-form .rpm-calendar__section legend {
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0 8px;
    border: 0;
    color: var(--rpm-event-text) !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-calendar--event-form .rpm-calendar__section legend label {
    display: inline;
    width: auto !important;
    margin: 0;
}

.rpm-calendar--event-form .rpm-calendar__section > div,
.rpm-calendar--event-form .rpm-calendar__section .row,
.rpm-calendar--event-form .rpm-calendar__section .col-sm-12,
.rpm-calendar--event-form .rpm-calendar__section .col-sm-8,
.rpm-calendar--event-form .rpm-calendar__section .col-sm-2 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.rpm-calendar--event-form .rpm-calendar__section .row {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}

.rpm-calendar--event-form .rpm-calendar__section .col-sm-8,
.rpm-calendar--event-form .rpm-calendar__section .col-sm-2 {
    padding: 0 6px 10px;
}

.rpm-calendar--event-form .rpm-calendar__section .btn,
.rpm-calendar--event-form .rpm-calendar__event-form .toggle-wrapper label,
.rpm-calendar--event-form .rpm-calendar__event-form .btn-group label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    padding: 9px 12px;
    border: 1px solid var(--rpm-event-border);
    border-radius: 8px;
    background: var(--rpm-event-surface);
    color: var(--rpm-event-text);
    font-weight: 700;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rpm-calendar--event-form .rpm-calendar__event-form .toggle-wrapper,
.rpm-calendar--event-form .rpm-calendar__event-form .btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.rpm-calendar--event-form .rpm-calendar__event-form .toggle-wrapper label:hover,
.rpm-calendar--event-form .rpm-calendar__event-form .toggle-wrapper label:focus-within,
.rpm-calendar--event-form .rpm-calendar__event-form .btn-group label:hover,
.rpm-calendar--event-form .rpm-calendar__event-form .btn-group label:focus-within {
    border-color: var(--rpm-event-focus);
    background: var(--rpm-event-hover);
}

.rpm-calendar--event-form .rpm-calendar__event-form .form-actions,
.rpm-calendar--event-form .rpm-calendar__event-form .card-footer,
.rpm-calendar--event-form .rpm-calendar__event-form .form-group:last-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 4px 18px 18px;
}

.rpm-calendar--event-form .rpm-calendar__event-form .form-actions .btn,
.rpm-calendar--event-form .rpm-calendar__event-form .card-footer .btn,
.rpm-calendar--event-form .rpm-calendar__event-form .form-group:last-child .btn {
    min-height: 48px;
    padding: 11px 18px;
}

.rpm-calendar--event-form a:focus,
.rpm-calendar--event-form button:focus,
.rpm-calendar--event-form input:focus,
.rpm-calendar--event-form select:focus,
.rpm-calendar--event-form textarea:focus,
.rpm-calendar--event-form [tabindex]:focus,
.rpm-calendar__dialog--recurrence a:focus,
.rpm-calendar__dialog--recurrence button:focus,
.rpm-calendar__dialog--recurrence input:focus,
.rpm-calendar__dialog--recurrence select:focus,
.rpm-calendar__dialog--recurrence textarea:focus,
.rpm-calendar__dialog--recurrence [tabindex]:focus,
.rpm-calendar__dialog--manage a:focus,
.rpm-calendar__dialog--manage button:focus,
.rpm-calendar__dialog--manage input:focus,
.rpm-calendar__dialog--manage select:focus,
.rpm-calendar__dialog--manage textarea:focus,
.rpm-calendar__dialog--manage [tabindex]:focus,
.rpm-calendar__dialog--waitlist a:focus,
.rpm-calendar__dialog--waitlist button:focus,
.rpm-calendar__dialog--waitlist input:focus,
.rpm-calendar__dialog--waitlist select:focus,
.rpm-calendar__dialog--waitlist textarea:focus,
.rpm-calendar__dialog--waitlist [tabindex]:focus {
    outline: 3px solid var(--rpm-event-focus, #1764b4) !important;
    outline-offset: 2px;
}

/* Diálogos Adianti de recorrência e fila: o identificador é aplicado pelo
   controller depois de o TInputDialog ser montado, evitando regras globais. */
.rpm-calendar__dialog--recurrence,
.rpm-calendar__dialog--manage,
.rpm-calendar__dialog--waitlist {
    --rpm-event-surface: var(--rpm-calendar-surface, #ffffff);
    --rpm-event-raised: var(--rpm-calendar-surface-raised, #f8fafc);
    --rpm-event-header: var(--rpm-calendar-header, #f1f5f9);
    --rpm-event-hover: var(--rpm-calendar-hover, #edf3fa);
    --rpm-event-border: var(--rpm-calendar-border, #ced9e5);
    --rpm-event-text: var(--rpm-calendar-text, #223247);
    --rpm-event-muted: var(--rpm-calendar-muted, #52657a);
    --rpm-event-focus: var(--rpm-calendar-focus, #1764b4);
    --rpm-event-action: var(--rpm-calendar-action, #2469ad);
    --rpm-event-success: var(--rpm-calendar-success, #087f59);
    --rpm-event-attention: var(--rpm-calendar-attention, #b65a10);
    --rpm-event-danger: var(--rpm-calendar-danger, #cf353e);
    color: var(--rpm-event-text);
}

.rpm-calendar__dialog--recurrence .modal-dialog,
.rpm-calendar__dialog--manage .modal-dialog,
.rpm-calendar__dialog--waitlist .modal-dialog {
    width: min(calc(100% - 32px), 980px) !important;
    max-width: 980px !important;
    margin: 24px auto;
}

.rpm-calendar__dialog--recurrence .modal-content,
.rpm-calendar__dialog--manage .modal-content,
.rpm-calendar__dialog--waitlist .modal-content {
    width: 100% !important;
    max-width: 100%;
    max-height: calc(100vh - 48px);
    margin: 0 !important;
    overflow: hidden;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 12px;
    background: var(--rpm-event-surface) !important;
    color: var(--rpm-event-text) !important;
    box-shadow: 0 16px 38px rgba(31, 52, 73, 0.22);
}

.rpm-calendar__dialog--recurrence .modal-header,
.rpm-calendar__dialog--manage .modal-header,
.rpm-calendar__dialog--waitlist .modal-header {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 62px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--rpm-event-border) !important;
    background: var(--rpm-event-header) !important;
}

.rpm-calendar__dialog--recurrence .modal-title,
.rpm-calendar__dialog--manage .modal-title,
.rpm-calendar__dialog--waitlist .modal-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    color: var(--rpm-event-text) !important;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.rpm-calendar__dialog--recurrence .modal-header .close,
.rpm-calendar__dialog--manage .modal-header .close,
.rpm-calendar__dialog--waitlist .modal-header .close {
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--rpm-event-border);
    border-radius: 8px;
    background: var(--rpm-event-surface);
    color: var(--rpm-event-text);
    font-size: 22px;
    line-height: 1;
    opacity: 1;
}

.rpm-calendar__dialog--recurrence .modal-header .close:hover,
.rpm-calendar__dialog--recurrence .modal-header .close:focus,
.rpm-calendar__dialog--manage .modal-header .close:hover,
.rpm-calendar__dialog--manage .modal-header .close:focus,
.rpm-calendar__dialog--waitlist .modal-header .close:hover,
.rpm-calendar__dialog--waitlist .modal-header .close:focus {
    border-color: var(--rpm-event-focus);
    background: var(--rpm-event-hover);
}

.rpm-calendar__dialog--recurrence [widget="bootstrapformbuilder"],
.rpm-calendar__dialog--manage [widget="bootstrapformbuilder"],
.rpm-calendar__dialog--waitlist [widget="bootstrapformbuilder"] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100% !important;
    min-height: 0;
    overflow: hidden;
    background: transparent !important;
}

.rpm-calendar__dialog--recurrence form,
.rpm-calendar__dialog--manage form,
.rpm-calendar__dialog--waitlist form {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    overflow: hidden;
    color: var(--rpm-event-text);
}

.rpm-calendar__dialog--recurrence form > .card-body,
.rpm-calendar__dialog--manage form > .card-body,
.rpm-calendar__dialog--waitlist form > .card-body {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    padding: 16px 18px !important;
    overflow: auto;
    background: transparent !important;
}

.rpm-calendar__dialog--recurrence .tnotebook,
.rpm-calendar__dialog--manage .tnotebook {
    width: 100% !important;
    min-width: 0;
}

.rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs,
.rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    border-bottom: 1px solid var(--rpm-event-border);
}

.rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li,
.rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li {
    margin: 0;
}

.rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li > a,
.rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 8px 8px 0 0;
    color: var(--rpm-event-muted) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li > a:hover,
.rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li > a:focus,
.rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li > a:hover,
.rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li > a:focus {
    border-color: var(--rpm-event-border);
    background: var(--rpm-event-hover);
    color: var(--rpm-event-text) !important;
}

.rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li.active > a,
.rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li.active > a {
    border-color: var(--rpm-event-action);
    background: var(--rpm-event-action);
    color: #ffffff !important;
}

.rpm-calendar__dialog--recurrence .tnotebook .tab-content,
.rpm-calendar__dialog--manage .tnotebook .tab-content {
    width: 100%;
    min-width: 0;
}

.rpm-calendar__dialog--recurrence .tnotebook .tab-pane,
.rpm-calendar__dialog--manage .tnotebook .tab-pane {
    width: 100%;
    min-width: 0;
    padding: 0 !important;
}

.rpm-calendar__dialog--recurrence form label,
.rpm-calendar__dialog--manage form label,
.rpm-calendar__dialog--waitlist form label {
    display: block;
    width: 100%;
    margin: 0 0 7px;
    color: var(--rpm-event-text) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.rpm-calendar__dialog--recurrence form .form-control,
.rpm-calendar__dialog--recurrence form .tfield,
.rpm-calendar__dialog--recurrence form select,
.rpm-calendar__dialog--manage form .form-control,
.rpm-calendar__dialog--manage form .tfield,
.rpm-calendar__dialog--manage form select,
.rpm-calendar__dialog--waitlist form .form-control,
.rpm-calendar__dialog--waitlist form .tfield,
.rpm-calendar__dialog--waitlist form select {
    width: 100% !important;
    max-width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 8px;
    background: var(--rpm-event-raised) !important;
    color: var(--rpm-event-text) !important;
}

.rpm-calendar__dialog--recurrence form .form-group,
.rpm-calendar__dialog--manage form .form-group,
.rpm-calendar__dialog--waitlist form .form-group {
    min-width: 0;
    margin-bottom: 14px;
}

.rpm-calendar__dialog--recurrence .rpm-calendar__recurrence-section,
.rpm-calendar__dialog--manage .rpm-calendar__manage-section {
    width: 100%;
    min-width: 0;
    padding: 0;
}

.rpm-calendar__dialog--recurrence .rpm-calendar__recurrence-section > .tformseparator,
.rpm-calendar__dialog--manage .rpm-calendar__manage-section > .tformseparator {
    margin: 18px 0 12px;
    padding: 0 0 8px;
    border-bottom: 1px solid var(--rpm-event-border) !important;
    color: var(--rpm-event-text) !important;
    font-size: 16px;
    font-weight: 700;
}

.rpm-calendar__dialog--recurrence .toggle-wrapper,
.rpm-calendar__dialog--recurrence .btn-group,
.rpm-calendar__dialog--manage .toggle-wrapper,
.rpm-calendar__dialog--manage .btn-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}

.rpm-calendar__dialog--recurrence .toggle-wrapper label,
.rpm-calendar__dialog--recurrence .btn-group label,
.rpm-calendar__dialog--manage .toggle-wrapper label,
.rpm-calendar__dialog--manage .btn-group label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid var(--rpm-event-border);
    border-radius: 8px;
    background: var(--rpm-event-surface);
    color: var(--rpm-event-text) !important;
}

.rpm-calendar__dialog--recurrence .toggle-wrapper label:hover,
.rpm-calendar__dialog--recurrence .toggle-wrapper label:focus-within,
.rpm-calendar__dialog--manage .toggle-wrapper label:hover,
.rpm-calendar__dialog--manage .toggle-wrapper label:focus-within {
    border-color: var(--rpm-event-focus);
    background: var(--rpm-event-hover);
}

.rpm-calendar__dialog--recurrence .info-card,
.rpm-calendar__dialog--manage .info-card {
    width: 100%;
    min-width: 0;
    margin: 0 0 16px;
    padding: 14px 16px;
    border: 1px solid var(--rpm-event-border);
    border-radius: 9px;
    background: var(--rpm-event-raised);
    color: var(--rpm-event-text);
}

.rpm-calendar__dialog--recurrence .info-card h5,
.rpm-calendar__dialog--manage .info-card h5 {
    margin: 0 0 5px;
    color: var(--rpm-event-action) !important;
    font-size: 16px;
    font-weight: 700;
}

.rpm-calendar__dialog--recurrence .info-card p,
.rpm-calendar__dialog--manage .info-card p {
    margin: 0;
    color: var(--rpm-event-muted);
    overflow-wrap: anywhere;
}

.rpm-calendar__dialog--recurrence .rpm-calendar__product-list,
.rpm-calendar__dialog--manage .rpm-calendar__manage-table {
    width: 100% !important;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    border: 1px solid var(--rpm-event-border);
    border-radius: 9px;
    overflow: hidden;
    background: var(--rpm-event-surface);
}

.rpm-calendar__dialog--recurrence .rpm-calendar__product-list th,
.rpm-calendar__dialog--recurrence .rpm-calendar__product-list td,
.rpm-calendar__dialog--manage .rpm-calendar__manage-table th,
.rpm-calendar__dialog--manage .rpm-calendar__manage-table td {
    max-width: 100%;
    padding: 9px 8px;
    border-bottom: 1px solid var(--rpm-event-border);
    color: var(--rpm-event-text);
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.rpm-calendar__dialog--recurrence .rpm-calendar__product-list th,
.rpm-calendar__dialog--manage .rpm-calendar__manage-table th {
    background: var(--rpm-event-header);
    color: var(--rpm-event-text);
    font-size: 12px;
    font-weight: 700;
}

.rpm-calendar__dialog--recurrence .rpm-calendar__product-list tr:last-child td,
.rpm-calendar__dialog--manage .rpm-calendar__manage-table tr:last-child td {
    border-bottom: 0;
}

.rpm-calendar__dialog--recurrence .rpm-calendar__product-list .form-control,
.rpm-calendar__dialog--recurrence .rpm-calendar__product-list .tfield {
    min-height: 42px;
    padding: 8px;
}

.rpm-calendar__dialog--recurrence .rpm-calendar__product-list tfoot td,
.rpm-calendar__dialog--manage .rpm-calendar__manage-table tfoot td {
    background: var(--rpm-event-header);
    color: var(--rpm-event-text);
    font-weight: 700;
}

.rpm-calendar__dialog--manage .rpm-calendar__manage-table-wrap--events {
    max-height: 300px;
    overflow: auto;
}

.rpm-calendar__dialog--recurrence form > .form-group:last-child,
.rpm-calendar__dialog--manage form > .form-group:last-child,
.rpm-calendar__dialog--waitlist form > .form-group:last-child,
.rpm-calendar__dialog--recurrence form > .btn-group:last-child,
.rpm-calendar__dialog--manage form > .btn-group:last-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    width: 100%;
    margin: 0;
    padding: 12px 18px 16px;
    border-top: 1px solid var(--rpm-event-border);
    background: var(--rpm-event-surface);
}

.rpm-calendar__dialog--recurrence form .btn,
.rpm-calendar__dialog--manage form .btn,
.rpm-calendar__dialog--waitlist form .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    padding: 9px 14px;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 8px;
    background: var(--rpm-event-surface) !important;
    color: var(--rpm-event-text) !important;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rpm-calendar__dialog--recurrence form .btn:hover,
.rpm-calendar__dialog--recurrence form .btn:focus,
.rpm-calendar__dialog--manage form .btn:hover,
.rpm-calendar__dialog--manage form .btn:focus,
.rpm-calendar__dialog--waitlist form .btn:hover,
.rpm-calendar__dialog--waitlist form .btn:focus {
    border-color: var(--rpm-event-focus) !important;
    background: var(--rpm-event-hover) !important;
}

.rpm-calendar__dialog--recurrence form .btn-primary,
.rpm-calendar__dialog--manage form .rpm-calendar__form-action--primary,
.rpm-calendar__dialog--recurrence form .rpm-calendar__form-action--primary {
    border-color: var(--rpm-event-action) !important;
    background: var(--rpm-event-action) !important;
    color: #ffffff !important;
}

.rpm-calendar__dialog--recurrence form .btn-danger,
.rpm-calendar__dialog--manage form .rpm-calendar__form-action--danger {
    border-color: var(--rpm-event-danger) !important;
    color: var(--rpm-event-danger) !important;
}

.rpm-calendar__dialog--recurrence .modal-footer,
.rpm-calendar__dialog--manage .modal-footer,
.rpm-calendar__dialog--waitlist .modal-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    width: 100%;
    margin: 0;
    padding: 12px 18px 16px;
    border-top: 1px solid var(--rpm-event-border) !important;
    background: var(--rpm-event-surface) !important;
}

.rpm-calendar__dialog--recurrence .modal-footer .btn,
.rpm-calendar__dialog--manage .modal-footer .btn,
.rpm-calendar__dialog--waitlist .modal-footer .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 44px;
    min-height: 48px;
    max-width: 100%;
    padding: 11px 16px;
    border: 1px solid var(--rpm-event-border) !important;
    border-radius: 8px;
    background: var(--rpm-event-surface) !important;
    color: var(--rpm-event-text) !important;
    font-weight: 700;
    line-height: 1.25;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rpm-calendar__dialog--recurrence .modal-footer .btn:hover,
.rpm-calendar__dialog--recurrence .modal-footer .btn:focus,
.rpm-calendar__dialog--manage .modal-footer .btn:hover,
.rpm-calendar__dialog--manage .modal-footer .btn:focus,
.rpm-calendar__dialog--waitlist .modal-footer .btn:hover,
.rpm-calendar__dialog--waitlist .modal-footer .btn:focus {
    border-color: var(--rpm-event-focus) !important;
    background: var(--rpm-event-hover) !important;
}

.rpm-calendar__dialog--recurrence .modal-footer .rpm-calendar__form-action--primary {
    border-color: var(--rpm-event-action) !important;
    background: var(--rpm-event-action) !important;
    color: #ffffff !important;
}

.rpm-calendar__dialog--manage .modal-footer .rpm-calendar__form-action--danger {
    border-color: var(--rpm-event-danger) !important;
    color: var(--rpm-event-danger) !important;
}

.rpm-calendar__dialog--manage .modal-footer .rpm-calendar__form-action--attention {
    border-color: var(--rpm-event-attention) !important;
    color: var(--rpm-event-attention) !important;
}

.rpm-calendar__dialog--manage form .rpm-calendar__form-action--attention {
    border-color: var(--rpm-event-attention) !important;
    color: var(--rpm-event-attention) !important;
}

@media (min-width: 768px) {
    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list {
        table-layout: auto;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list > thead > tr > th:last-child,
    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list > tbody > tr > td:last-child {
        width: 48px;
        min-width: 48px;
        padding-right: 2px;
        padding-left: 2px;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list > thead > tr > th:last-child {
        display: table-cell !important;
        padding-top: 0;
        padding-bottom: 0;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list > tbody > tr > td:last-child .btn {
        display: inline-flex;
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 0;
    }
}

@media (max-width: 767px) {
    .rpm-calendar--event-form {
        width: calc(100% - 20px);
        margin: 12px auto 20px;
    }

    .rpm-calendar--event-form.card.panel {
        width: calc(100% - 20px);
    }

    .rpm-calendar--event-form > .panel-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding: 14px;
    }

    .rpm-calendar--event-form > .panel-heading .header-actions,
    .rpm-calendar--event-form > .panel-heading .header-actions .btn {
        width: 100%;
    }

    .rpm-calendar--event-form > .panel-heading .header-actions .btn {
        flex: 1 1 auto;
    }

    .rpm-calendar--event-form .rpm-calendar__event-form .card-body,
    .rpm-calendar--event-form .rpm-calendar__event-form .tab-pane {
        padding: 12px !important;
    }

    .rpm-calendar--event-form .rpm-calendar__event-form .fb-field-container,
    .rpm-calendar--event-form .rpm-calendar__event-form .col-sm-6,
    .rpm-calendar--event-form .rpm-calendar__event-form .col-sm-12 {
        width: 100% !important;
        flex: 0 0 100%;
        padding-right: 0;
        padding-left: 0;
    }

    .rpm-calendar--event-form .rpm-calendar__section {
        padding: 13px;
    }

    .rpm-calendar--event-form .rpm-calendar__section .col-sm-8,
    .rpm-calendar--event-form .rpm-calendar__section .col-sm-2 {
        width: 100% !important;
        flex: 0 0 100%;
        padding-right: 0;
        padding-left: 0;
    }

    .rpm-calendar--event-form .rpm-calendar__event-form .form-actions,
    .rpm-calendar--event-form .rpm-calendar__event-form .card-footer,
    .rpm-calendar--event-form .rpm-calendar__event-form .form-group:last-child {
        align-items: stretch;
        flex-direction: column;
        padding: 4px 12px 12px;
    }

    .rpm-calendar--event-form .rpm-calendar__event-form .form-actions .btn,
    .rpm-calendar--event-form .rpm-calendar__event-form .card-footer .btn,
    .rpm-calendar--event-form .rpm-calendar__event-form .form-group:last-child .btn {
        width: 100%;
    }

    .rpm-calendar__dialog--recurrence,
    .rpm-calendar__dialog--manage,
    .rpm-calendar__dialog--waitlist {
        padding: 12px !important;
    }

    .rpm-calendar__dialog--recurrence .modal-dialog,
    .rpm-calendar__dialog--manage .modal-dialog,
    .rpm-calendar__dialog--waitlist .modal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto;
    }

    .rpm-calendar__dialog--recurrence .modal-content,
    .rpm-calendar__dialog--manage .modal-content,
    .rpm-calendar__dialog--waitlist .modal-content {
        max-height: calc(100vh - 24px);
        border-radius: 10px;
    }

    .rpm-calendar__dialog--recurrence .modal-header,
    .rpm-calendar__dialog--manage .modal-header,
    .rpm-calendar__dialog--waitlist .modal-header {
        padding: 12px 14px;
    }

    .rpm-calendar__dialog--recurrence form > .card-body,
    .rpm-calendar__dialog--manage form > .card-body,
    .rpm-calendar__dialog--waitlist form > .card-body {
        padding: 12px !important;
        overflow-x: hidden;
    }

    .rpm-calendar__dialog--recurrence .tnotebook,
    .rpm-calendar__dialog--recurrence .tnotebook .tab-content,
    .rpm-calendar__dialog--recurrence .tnotebook .tab-pane,
    .rpm-calendar__dialog--manage .tnotebook,
    .rpm-calendar__dialog--manage .tnotebook .tab-content,
    .rpm-calendar__dialog--manage .tnotebook .tab-pane {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .rpm-calendar__dialog--recurrence .tnotebook .tformrow,
    .rpm-calendar__dialog--manage .tnotebook .tformrow {
        max-width: 100%;
        min-width: 0;
        margin-right: 0;
        margin-left: 0;
        box-sizing: border-box;
    }

    .rpm-calendar__dialog--recurrence form > .card-body > .tab-content,
    .rpm-calendar__dialog--manage form > .card-body > .tab-content {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    .rpm-calendar__dialog--recurrence form > .card-body > .tab-content > .tab-pane,
    .rpm-calendar__dialog--manage form > .card-body > .tab-content > .tab-pane {
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
        margin: 0 !important;
        padding: 12px !important;
        overflow-x: hidden;
        box-sizing: border-box;
    }

    .rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs,
    .rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        border-bottom: 0;
    }

    .rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li,
    .rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li,
    .rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li > a,
    .rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li > a {
        width: 100%;
    }

    .rpm-calendar__dialog--recurrence .tnotebook > ul.nav-tabs > li > a,
    .rpm-calendar__dialog--manage .tnotebook > ul.nav-tabs > li > a {
        min-height: 46px;
        min-width: 0;
        box-sizing: border-box;
        border: 1px solid var(--rpm-event-border);
        border-radius: 8px;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table {
        display: block;
        width: 100% !important;
        border: 0;
        overflow: visible;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list thead,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        border: 0;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        overflow: hidden;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list tbody,
    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list tfoot,
    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list tr,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table tbody,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table tfoot,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table tr {
        display: block;
        width: 100%;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list tbody tr,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table tbody tr {
        margin: 0 0 10px;
        padding: 8px;
        border: 1px solid var(--rpm-event-border);
        border-radius: 9px;
        background: var(--rpm-event-surface);
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list td,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table td {
        display: grid;
        grid-template-columns: minmax(88px, 34%) minmax(0, 1fr);
        gap: 8px;
        width: 100% !important;
        max-width: 100%;
        min-height: 42px;
        padding: 8px 4px;
        border-bottom: 1px solid var(--rpm-event-border);
        text-align: left;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list td::before,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table td::before {
        content: attr(data-label);
        color: var(--rpm-event-muted);
        font-size: 12px;
        font-weight: 700;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list td.field::before {
        content: attr(data-label);
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list td:not([data-label])::before,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table td:not([data-label])::before {
        content: none;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list td:last-child,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table td:last-child {
        border-bottom: 0;
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list tfoot tr,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table tfoot tr {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        width: 100%;
        margin-top: 8px;
        border-top: 1px solid var(--rpm-event-border);
    }

    .rpm-calendar__dialog--recurrence .rpm-calendar__product-list tfoot td,
    .rpm-calendar__dialog--manage .rpm-calendar__manage-table tfoot td {
        display: block;
        border: 0;
    }

    .rpm-calendar__dialog--recurrence form > .form-group:last-child,
    .rpm-calendar__dialog--manage form > .form-group:last-child,
    .rpm-calendar__dialog--waitlist form > .form-group:last-child {
        align-items: stretch;
        flex-direction: column;
        padding: 10px 12px 12px;
    }

    .rpm-calendar__dialog--recurrence .modal-footer,
    .rpm-calendar__dialog--manage .modal-footer,
    .rpm-calendar__dialog--waitlist .modal-footer {
        align-items: stretch;
        flex-direction: column;
        padding: 10px 12px 12px;
    }

    .rpm-calendar__dialog--recurrence .modal-footer .btn,
    .rpm-calendar__dialog--manage .modal-footer .btn,
    .rpm-calendar__dialog--waitlist .modal-footer .btn {
        width: 100%;
    }

    .rpm-calendar__dialog--recurrence form > .form-group:last-child .btn,
    .rpm-calendar__dialog--manage form > .form-group:last-child .btn,
    .rpm-calendar__dialog--waitlist form > .form-group:last-child .btn {
        width: 100%;
    }

    .rpm-calendar__dialog--waitlist .pagination {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        margin: 10px 0;
    }

    .rpm-calendar__dialog--waitlist .pagination > li > a,
    .rpm-calendar__dialog--waitlist .pagination > li > span {
        display: inline-flex;
        min-width: 44px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 8px 10px;
        border: 1px solid var(--rpm-event-border);
        border-radius: 7px;
        background: var(--rpm-event-surface);
        color: var(--rpm-event-text);
    }

    .rpm-calendar__dialog--waitlist .pagination > li > a:hover,
    .rpm-calendar__dialog--waitlist .pagination > li > a:focus-visible,
    .rpm-calendar__dialog--waitlist .pagination > li.active > span {
        border-color: var(--rpm-event-focus);
        background: var(--rpm-event-hover);
        color: var(--rpm-event-text);
    }
}

@media (prefers-reduced-motion: reduce) {
    .rpm-calendar--event-form *,
    .rpm-calendar__dialog--recurrence *,
    .rpm-calendar__dialog--manage *,
    .rpm-calendar__dialog--waitlist * {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
