

/* --- Widget action button layout helper --- */
.widget-action-primary,
.widget-action-ghost,
.widget-action-destructive,
.widget-action-accept {
    align-items: center;
    box-shadow: var(--minidesk-control-shadow);
    color: var(--bs-body-color);
    display: inline-flex;
    gap: 10px;
    min-height: 40px;
    padding: 10px 15px;
    text-shadow: var(--minidesk-text-shadow);
    transition: 0.5s ease;
}

.widget-action-primary,
.widget-action-ghost {
    background-color: var(--bs-primary);
}

.widget-action-destructive {
    background-color: var(--bs-danger);
}

.widget-action-accept {
    background-color: var(--bs-success);
}

.widget-action-primary,
.widget-action-accept,
.widget-action-destructive,
.widget-action-button-primary,
.widget-action-button-secondary,
.widget-overlay-action-primary,
.widget-overlay-action-secondary,
.widget-square-action-primary,
.widget-square-action-secondary {
    color: var(--bs-white);
}

.widget-action-ghost,
.widget-action-button-neutral {
    background-color: var(--minidesk-control-bg);
    color: var(--bs-body-color);
}

/* Keyboard focus ring for reusable widget actions. */
.widget-action-primary:focus-visible,
.widget-action-ghost:focus-visible,
.widget-action-destructive:focus-visible,
.widget-action-accept:focus-visible {
    outline: none;
    box-shadow: var(--minidesk-control-shadow);
}

/* Disabled state: dim text and suppress hover/press via pointer-events. */
.widget-action-primary.disabled,
.widget-action-ghost.disabled,
.widget-action-destructive.disabled,
.widget-action-accept.disabled {
    color: var(--bs-secondary-color);
    cursor: not-allowed;
    pointer-events: none;
}

/* Shared input :focus â€” persistent outer halo + slightly brighter text. Scoped
   to .input-shadow so we don't strip native focus outlines from inputs that
   haven't opted into the custom halo. */
input.input-shadow:focus,
input.widget-icon-input:focus,
input.widget-profile-icon-input:focus,
select.input-shadow:focus,
textarea.input-shadow:focus {
    outline: none;
    color: var(--bs-body-color);
    box-shadow: var(--minidesk-inset-shadow);
}

input[aria-invalid="true"],
textarea[aria-invalid="true"] {
    outline: 2px solid var(--minidesk-status-urgent-edge);
    outline-offset: 1px;
}

.widget-field-validation-message {
    width: 100%;
    margin-top: 5px;
    color: var(--minidesk-status-urgent-color);
    font-size: 14px;
    line-height: 1.3;
    text-shadow: var(--minidesk-text-shadow);
}

/* --- W68 category filter bar --- */
.widget-filter-label {
    font-size: 18px;
    color: var(--bs-secondary-color);
    margin: 0;
    text-shadow: var(--minidesk-text-shadow);
}

.widget-selection-button[aria-pressed="true"] {
    background-color: var(--bs-primary);
    box-shadow: var(--minidesk-inset-shadow);
    color: var(--bs-body-color);
    text-shadow: var(--minidesk-text-shadow);
}

.widget-selection-button[aria-pressed="true"] .widget-filter-label {
    color: inherit;
}

.schedule-month-view {
    display: none;
    overflow: auto;
}

.schedule-month-grid {
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--minidesk-control-shadow);
    display: grid;
    grid-template-columns: repeat(7, minmax(120px, 1fr));
    min-width: 840px;
    overflow: hidden;
}

.schedule-month-compact-grid {
    display: none;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
}

.schedule-actions-dialog {
    width: min(420px, calc(100vw - 40px));
}

.shift-editor-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: -5px;
    padding: 5px;
}

.shift-editor-header {
    align-items: start;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px;
}

.shift-editor-header .widget-content-title {
    text-align: left;
}

.shift-editor-weekdays {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-bottom: 10px;
    min-width: 0;
}

.widget-dialog-actions {
    align-items: center;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    width: 100%;
}

.widget-dialog-actions > button {
    box-sizing: border-box;
    margin: 0;
    min-width: 0;
    width: 100%;
}

.widget-dialog-action-full,
.widget-dialog-actions > button:only-child {
    grid-column: 1 / -1;
}

.widget-deposit-row {
    height: auto;
    line-height: 1.4;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px;
}

.widget-deposit-details {
    display: flex;
    flex: 1 1 240px;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
}

.widget-deposit-actions {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.widget-status-value {
    border-radius: var(--bs-border-radius);
    box-sizing: border-box;
    min-height: 40px;
    padding: 10px;
    text-shadow: var(--minidesk-text-shadow);
}

.widget-badge {
    align-items: center;
    border: 1px solid var(--minidesk-control-edge);
    border-radius: 6px;
    box-shadow: var(--minidesk-control-shadow);
    box-sizing: border-box;
    display: inline-flex;
    font-size: 14px;
    font-weight: bold;
    height: 22px;
    line-height: 22px;
    max-height: 22px;
    max-width: none;
    padding: 0 8px;
    vertical-align: middle;
    white-space: nowrap;
    width: max-content;
    text-shadow: var(--minidesk-text-shadow);
}

.widget-text-muted {
    color: var(--bs-secondary-color);
}
.widget-icon-button {
    /* Icon-only table actions still use canonical button color/text/hover
     * classes in markup; this helper only controls compact table sizing. */
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

/* --- Reconciliation widgets (W89â€“W93) --- */
/* --- Reconciliation Session widgets (W94-W101) --- */
/* --- Price Recommendations widgets (W102â€“W106) --- */
/* --- Job Templates Library widgets (W107-W110) --- */
/* --- Job Template Editor widgets (W111-W116) --- */
/* .widget-form-field label visual is entirely canonical - body provides color
 * rgb(175,175,175) + font-size 18px via inheritance, base `label` provides
 * text-shadow + transition, and base `label:hover` (gated) provides the
 * white + grey-shadow shift. No .widget-form-field label rule needed. */
.widget-form-field input,
.widget-form-field select,
.widget-form-field textarea {
    /* bg/box-shadow/transition come from canonical .content-level-0
     * .input-shadow, and base input/textarea supplies the text treatment.
     * Form controls intentionally do not wear .theme-text. */
    resize: none;
}
.widget-form-field input,
.widget-form-field select {
    height: 40px;
    padding: 0 15px;
}
.widget-form-field textarea {
    padding: 15px;
}
/* :hover rules for .widget-form-field input/select/textarea moved to hoverStyles.css (gated on pointer). */
.widget-form-field input:focus,
.widget-form-field select:focus,
.widget-form-field textarea:focus {
    color: var(--bs-body-color);
    box-shadow: var(--minidesk-inset-shadow);
}
.widget-form-field input[readonly],
.widget-form-field textarea[readonly] {
    color: var(--bs-secondary-color);
    background-color: var(--bs-secondary-bg);
    cursor: not-allowed;
}

.widget-table-panel {
    background-color: var(--bs-body-bg);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--minidesk-inset-shadow);
    box-sizing: border-box;
    color: var(--bs-body-color);
    overflow: auto;
    text-shadow: var(--minidesk-text-shadow);
    transition: 0.5s ease;
}

.widget-table-panel table {
    border-radius: var(--bs-border-radius);
}
.widget-table-panel table thead th:first-child {
    border-top-left-radius: 7px;
}
.widget-table-panel table thead th:last-child {
    border-top-right-radius: 7px;
}
.widget-table-panel table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 7px;
}
.widget-table-panel table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 7px;
}

/* ===========================================================
 * Tab bar helpers (generic â€” used by Import from Supplier, and
 * any future page that wants a horizontal tab strip).
 * =========================================================== */
.widget-tab-bar {
    align-items: stretch;
    background-color: var(--bs-primary);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--minidesk-control-shadow);
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    overflow: hidden;
}
.widget-tab-bar .widget-tab {
    background-color: transparent;
    border-right: 1px solid var(--minidesk-status-progress-edge);
    box-sizing: border-box;
    color: var(--bs-body-color);
    cursor: pointer;
    display: flex;
    align-items: center;
    flex: 1 1 180px;
    min-height: 40px;
    padding: 10px 18px;
    text-shadow: var(--minidesk-text-shadow);
    transition: 0.5s ease;
    user-select: none;
}
.widget-tab-bar .widget-tab:last-child {
    border-right: 0;
}
/* :hover rule for .widget-tab-bar .widget-tab moved to hoverStyles.css (gated on pointer). */
.widget-tab-bar .widget-tab.active {
    background-color: var(--minidesk-status-progress-bg);
    box-shadow: inset 0px -3px 0px var(--minidesk-control-edge);
    color: var(--bs-body-color);
}

.widget-tab-bar.chat-preferences-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(145px, 100%), 1fr));
}

.chat-preferences-tabs .widget-tab {
    border: 0;
    border-radius: 0;
    font: inherit;
    justify-content: center;
    min-width: 0;
    padding: 10px 8px;
}

.chat-preferences-tabs .widget-tab:focus-visible {
    outline: 2px solid var(--minidesk-status-progress-edge);
    outline-offset: -3px;
}

.widget-helper-text {
    color: var(--bs-secondary-color);
    text-shadow: var(--minidesk-text-shadow);
}
.widget-helper-text i {
    margin-right:5px;
}
.widget-stack-list {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.widget-record-list {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.widget-list-display-surface.widget-record-list {
    gap: 10px;
    padding: var(--widget-space-spacious, 20px);
}

.widget-text-center {
    text-align: center;
}

.widget-text-left {
    text-align: left;
}

.widget-text-right {
    text-align: right;
}

.widget-table-panel td.widget-text-left,
.widget-financial-table td.widget-text-left {
    text-align: left;
}

.widget-table-panel td[colspan].widget-text-left,
.widget-financial-table td[colspan].widget-text-left {
    text-align: left;
}

.widget-table-panel td.widget-text-right,
.widget-financial-table td.widget-text-right {
    text-align: right;
}

/* ===========================================================
 * Step row (generic â€” drag-ordered list row used by the Job
 * Template Editor's Default Steps widget; reusable for any
 * future ordered-list editor).
 * =========================================================== */

/* ===========================================================
 * Tab-driven visibility â€” widgets on the Import page declare
 * `data-visible-when="<slug>"`. Parsed Inbox is the default
 * visible state, so if data-active-tab isn't set yet (first
 * paint before W86 runs, or W87/W88 placed before W86 exists),
 * the content still renders. Non-default slugs (search-catalog,
 * recent-api) stay hidden unless their tab is active.
 * =========================================================== */
.app-content-area [data-visible-when="search-catalog"],
.app-content-area [data-visible-when="recent-api"] {
    display: none;
}
.app-content-area[data-active-tab="search-catalog"] [data-visible-when="parsed-inbox"],
.app-content-area[data-active-tab="recent-api"]     [data-visible-when="parsed-inbox"] {
    display: none;
}
.app-content-area[data-active-tab="search-catalog"] [data-visible-when="search-catalog"],
.app-content-area[data-active-tab="recent-api"]     [data-visible-when="recent-api"] {
    display: flex;
}

.widget-tip-input {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.widget-tip-presets {
    display: flex;
    flex-wrap: wrap;
}

.chat-background > .widget-empty-state:only-child,
.chat-personal-notes-body > .widget-empty-state:only-child {
    margin-block: auto;
}

/* MiniChat personal notes workspace */
.chat-personal-notes-active .chat-conversation-area > :not(#chat-personal-notes-workspace) {
    display: none !important;
}

.chat-ai-active .chat-conversation-area > :not(#chat-ai-workspace) { display: none !important; }
.chat-ai-workspace { display: flex; flex: 1; min-width: 0; min-height: 0; flex-direction: column; overflow: hidden; }
.chat-ai-header-icon { --md-icon-tile-glyph-size: 17px; background-color: var(--minidesk-status-ready-bg) !important; box-shadow: var(--minidesk-control-shadow) !important; color: var(--minidesk-status-ready-color) !important; font-size: 18px; }
/* Luma glyph geometry is owned by system/_icons.scss. */
:is(.chat-container, .luma-assistant-dock) .widget-luma-icon {
    color: var(--minidesk-status-ready-color) !important;
}
:is(.chat-container, .luma-assistant-dock) :is(.widget-avatar, .widget-room-avatar-icon, .widget-message-avatar):has(> .widget-luma-icon) {
    background-color: var(--minidesk-status-ready-bg) !important;
    color: var(--minidesk-status-ready-color) !important;
}
.chat-ai-sidebar-button .widget-room-avatar-icon { --md-icon-tile-glyph-size: 14px; }
.chat-ai-main { display: flex; flex: 1; min-height: 0; position: relative; }
.chat-ai-history { border-radius: var(--bs-border-radius); box-sizing: border-box; margin: 0 0 12px 12px; overflow-y: auto; padding: 8px 10px; width: min(300px, 44%); }
.chat-ai-history-search { align-items: center; background: var(--minidesk-status-progress-bg); border-radius: var(--bs-border-radius); display: grid; gap: 7px; grid-template-columns: 16px minmax(0, 1fr) 24px; margin: 0 0 10px; min-height: 38px; padding: 0 7px 0 10px; }
.chat-ai-history-search:not(:has(.chat-ai-history-search-clear)) { grid-template-columns: 16px minmax(0, 1fr); padding-right: 10px; }
.chat-ai-history-search > i { color: var(--minidesk-status-ready-color); font-size: 12px; text-align: center; text-shadow: var(--minidesk-text-shadow); }
.chat-ai-history-search-input { appearance: none; background: transparent; border: 0; color: inherit; font: inherit; min-width: 0; outline: 0; padding: 8px 0; text-shadow: var(--minidesk-text-shadow); width: 100%; }
.chat-ai-history-search-input::-webkit-search-cancel-button { display: none; }
.chat-ai-history-search-clear { align-items: center; appearance: none; background: transparent; border: 0; color: var(--bs-secondary-color); cursor: pointer; display: flex; height: 24px; justify-content: center; padding: 0; text-shadow: var(--minidesk-text-shadow); width: 24px; }
.chat-ai-history-search-clear:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.chat-ai-history-search-clear:focus-visible { color: var(--bs-body-color); outline: 0; }
.chat-ai-history-list { min-width: 0; }
.chat-ai-history-row { gap: 4px; margin-bottom: 8px; overflow: visible; padding: 4px; position: relative; }
.chat-ai-history-row:last-child { margin-bottom: 4px; }
.chat-ai-history-row-active { background-color: var(--bs-primary); }
.chat-ai-history-item { align-items: center; align-self: stretch; background: transparent; border: 0; box-shadow: none; color: inherit; display: flex; flex: 1 1 auto; gap: 8px; min-height: 40px; min-width: 0; padding: 0 6px; text-align: left; text-shadow: inherit; }
.chat-ai-history-item:focus { outline: none; }
.chat-ai-history-row:has(.chat-ai-history-item:focus-visible) { box-shadow: var(--minidesk-inset-shadow); }
.chat-ai-history-item .widget-room-main { flex: 1 1 auto; }
.chat-ai-history-pinned { color: var(--minidesk-status-ready-color); flex: 0 0 auto; font-size: 11px; text-shadow: var(--minidesk-text-shadow); transform: rotate(-18deg); }
.chat-ai-history-menu { align-self: center; flex: 0 0 34px; position: relative; }
.chat-ai-history-menu > summary { list-style: none; }
.chat-ai-history-menu > summary::-webkit-details-marker { display: none; }
.chat-ai-history-menu-trigger { --widget-row-control-size: 34px; background: transparent; box-shadow: none; color: inherit; cursor: pointer; opacity: 0.76; }
.chat-ai-history-menu-trigger:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.chat-ai-history-menu-trigger:focus-visible,
.chat-ai-history-menu[open] > .chat-ai-history-menu-trigger { background: transparent; box-shadow: none; color: var(--bs-body-color); outline: none; }
.chat-ai-history-menu-popover.widget-context-menu { box-sizing: border-box; display: block; padding: 0; position: absolute; right: 0; top: calc(100% + 5px); width: 190px; z-index: 8; }
.chat-ai-history-menu-popover .widget-context-menu-item { appearance: none; background: transparent; border: 0; cursor: pointer; font: inherit; margin: 0; outline: none; text-align: left; width: 100%; }
.chat-ai-conversation { display: flex; flex: 1; min-width: 0; min-height: 0; flex-direction: column; }
.chat-ai-messages { display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 0; overflow-y: auto; }
.chat-ai-welcome { margin: auto; max-width: 520px; text-align: center; }
.chat-ai-welcome h3,
.chat-ai-welcome p { text-shadow: var(--minidesk-text-shadow); }
.widget-message-avatar { --md-icon-tile-glyph-size: 17px; }
.chat-ai-message-user { align-self: flex-end; }
.chat-ai-message-assistant { align-self: flex-start; }
.chat-ai-message-label { color: var(--bs-body-color); font-size: 18px; font-weight: 700; line-height: 22px; text-shadow: var(--minidesk-text-shadow); }
.chat-ai-message-content { line-height: 24px; text-shadow: var(--minidesk-text-shadow); }
.chat-ai-capabilities { max-height: 190px; overflow-y: auto; position: relative; }
.chat-ai-capabilities::before,
.luma-assistant-capabilities::before { background: var(--minidesk-control-bg); content: ""; height: 1px; left: 10px; pointer-events: none; position: absolute; right: 10px; top: 0; }
.chat-ai-capability-list { display: grid; gap: 8px; }
.chat-ai-capability {
    align-items: center;
    background: var(--bs-secondary-bg);
    border: 0;
    border-radius: var(--bs-border-radius);
    box-shadow: var(--minidesk-control-shadow);
    color: var(--bs-body-color);
    display: grid;
    gap: 10px;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    min-height: 54px;
    padding: 8px 10px;
    text-align: left;
    text-shadow: var(--minidesk-text-shadow);
    transition: background-color .2s ease, box-shadow .2s ease, color .2s ease;
    width: 100%;
}
.chat-ai-capability:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.chat-ai-capability:focus-visible { background-color: var(--minidesk-status-progress-bg); color: var(--bs-body-color); box-shadow: var(--minidesk-control-shadow); }
.chat-ai-capability > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.chat-ai-capability strong { color: var(--bs-body-color); font-size: 14px; }
.chat-ai-capability small { color: var(--bs-secondary-color); font-size: 12px; line-height: 16px; }
.chat-ai-citations { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 15px; color: var(--text-grey); font-size: .9em; }
.chat-ai-citation { min-height: 32px; padding: 5px 10px; color: inherit; background: transparent; border: 1px solid transparent; border-radius: var(--bs-border-radius); transition: color .5s ease, border-color .5s ease, background-color .5s ease; }
.chat-ai-citation:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)) { color: var(--theme-text); border-color: currentColor; }
.chat-ai-thinking { align-self: flex-start; color: var(--text-grey); }
.chat-ai-input-row { grid-template-columns: minmax(0, 1fr); grid-auto-flow: column; grid-auto-columns: 44px; padding-left: 10px; }
.chat-ai-model-control { align-self: stretch; display: flex; min-width: 0; }
.chat-ai-composer-shell { background-color: var(--bs-secondary-bg); border-radius: 12px; box-shadow: var(--minidesk-inset-shadow); box-sizing: border-box; padding: 2px; }
.chat-ai-composer-shell:focus-within { box-shadow: var(--minidesk-inset-shadow); }
.chat-ai-composer-shell .chat-composer-input-row,
.chat-ai-composer-shell .chat-composer-input-row:focus-within { background: transparent; box-shadow: none; }
.chat-ai-composer-controls { align-items: center; display: flex; gap: 2px; min-height: 28px; padding: 0 6px; position: relative; text-shadow: var(--minidesk-text-shadow); }
.chat-ai-composer-controls::after { background: var(--minidesk-control-bg); bottom: 0; content: ""; height: 1px; left: 10px; pointer-events: none; position: absolute; right: 10px; }
.chat-ai-composer-controls .chat-ai-actions-bar,
.chat-ai-composer-controls .luma-assistant-actions-bar { flex: 0 0 auto; margin-left: auto; padding: 0; }
.chat-ai-composer-controls .chat-ai-model-control,
.chat-ai-composer-controls .luma-assistant-model-control { align-self: center; flex: 0 0 28px; height: 28px; }
.chat-ai-composer-controls .widget-action-ghost,
.chat-ai-full-auto-control { align-items: center; background: transparent; border: 0; border-radius: var(--bs-border-radius); box-shadow: none; box-sizing: border-box; color: var(--bs-secondary-color); cursor: pointer; display: inline-flex; font-size: 13px; height: 28px; justify-content: center; margin: 0; min-height: 28px; padding: 0; text-shadow: var(--minidesk-text-shadow); transition: color .2s ease; width: 28px; }
.chat-ai-composer-controls .widget-action-ghost:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.chat-ai-composer-controls .widget-action-ghost:focus-visible,
.chat-ai-composer-controls .widget-action-ghost[aria-expanded="true"] { background: transparent; box-shadow: none; color: var(--bs-body-color); outline: none; }
.chat-ai-full-auto-control:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.chat-ai-full-auto-control:focus-visible,
.chat-ai-full-auto-control:has(input:focus-visible) { background: transparent; box-shadow: none; color: var(--bs-body-color); outline: none; }
.chat-ai-full-auto-control:has(input:checked) { color: var(--minidesk-status-progress-color); }
.chat-ai-full-auto-control.disabled { color: var(--bs-secondary-color); cursor: default; opacity: .65; }
.chat-ai-full-auto-control.disabled:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)) { background: transparent; color: var(--bs-body-color); opacity: .9; }
.chat-ai-composer-control-icon { align-items: center; display: inline-flex; height: 100%; justify-content: center; width: 100%; }
@media (max-width: 735px) { .chat-ai-history { inset: 0 auto 12px 0; position: absolute; width: min(300px, 85%); z-index: 5; } }

.chat-personal-notes-workspace {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    position: relative;
}

.chat-personal-notes-header-icon {
    background-color: var(--minidesk-status-waiting-bg) !important;
    color: var(--minidesk-status-waiting-color) !important;
    font-size: 18px;
}
.chat-personal-notes-button .widget-room-avatar-icon { background-color: var(--minidesk-status-waiting-bg) !important; color: var(--minidesk-status-waiting-color) !important; }

.chat-personal-notes-header-icon > .widget-count-badge {
    bottom: 1px;
    position: absolute;
    right: 1px;
    z-index: 1;
}

.chat-personal-notes-toolbar {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex: 1 1 320px;
    flex-wrap: wrap;
    min-width: 0;
}

.chat-personal-notes-toolbar .widget-action-button {
    flex: 0 0 auto;
    margin: 0;
    min-height: 40px;
    white-space: nowrap;
}

.chat-personal-notes-toolbar .widget-search-input {
    flex: 1 1 180px;
    min-width: 0;
    width: 100%;
}

.chat-personal-notes-body {
    box-sizing: border-box;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 20px;
    min-height: 0;
    overflow-y: auto;
}

.chat-personal-notes-error {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    min-height: 100%;
    text-align: center;
    width: 100%;
}

.chat-personal-notes-error-message {
    align-items: center;
    display: inline-flex;
    gap: 10px;
    justify-content: center;
    max-width: 100%;
}

.chat-personal-notes-section {
    display: grid;
    gap: 10px;
}

.chat-personal-notes-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.chat-personal-note-card {
    --personal-note-accent: var(--minidesk-status-progress-color);
    --personal-note-surface: var(--minidesk-status-progress-bg);
    --personal-note-surface-hover: color-mix(in srgb, var(--minidesk-status-progress-bg) 85%, var(--bs-body-color));
    background-color: var(--personal-note-surface);
    border: 1px solid var(--personal-note-accent);
    box-shadow: var(--minidesk-control-shadow);
    box-sizing: border-box;
    cursor: pointer;
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: var(--widget-space-spacious, 20px);
    transition: 0.5s ease;
}

.chat-personal-note-drag {
    cursor: grab;
}

.chat-personal-note-drag:active {
    cursor: grabbing;
}

.chat-personal-note-card.chat-personal-note-dragging {
    opacity: 0.55;
}

.chat-personal-note-card.chat-personal-note-drop-target {
    box-shadow: var(--minidesk-inset-shadow);
}

.chat-personal-note-open {
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 10px;
    min-width: 0;
    padding: 0;
    text-align: left;
}

.chat-personal-note-card-header {
    align-items: start;
    display: flex;
    /* Keep controls above the heading when both no longer fit on one row. */
    flex-wrap: wrap-reverse;
    gap: 10px 20px;
    justify-content: space-between;
    min-width: 0;
}

.chat-personal-note-title,
.chat-personal-note-body {
    overflow-wrap: anywhere;
    transition: 0.5s ease;
}

.chat-personal-note-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-left: auto;
    max-width: 100%;
}

.chat-personal-note-body {
    color: var(--bs-body-color);
    margin: 0;
    white-space: pre-wrap;
}

.chat-personal-note-updated {
    color: var(--bs-secondary-color);
    font-size: 14px;
    text-shadow: var(--minidesk-text-shadow);
}

.chat-personal-note-card.widget-personal-note-green {
    --personal-note-accent: var(--minidesk-status-ready-color);
    --personal-note-surface: var(--minidesk-status-ready-bg);
    --personal-note-surface-hover: color-mix(in srgb, var(--minidesk-status-ready-bg) 85%, var(--bs-body-color));
}

.chat-personal-note-card.widget-personal-note-yellow {
    --personal-note-accent: var(--minidesk-status-waiting-color);
    --personal-note-surface: var(--minidesk-status-waiting-bg);
    --personal-note-surface-hover: color-mix(in srgb, var(--minidesk-status-waiting-bg) 85%, var(--bs-body-color));
}

.chat-personal-note-card.widget-personal-note-red {
    --personal-note-accent: var(--minidesk-status-urgent-color);
    --personal-note-surface: var(--minidesk-status-urgent-bg);
    --personal-note-surface-hover: color-mix(in srgb, var(--minidesk-status-urgent-bg) 85%, var(--bs-body-color));
}

.chat-personal-note-card.widget-personal-note-neutral {
    --personal-note-accent: var(--bs-secondary-color);
    --personal-note-surface: var(--bs-tertiary-bg);
    --personal-note-surface-hover: var(--bs-tertiary-bg);
}

.chat-personal-note-editor-layer {
    inset: 0;
    overflow-y: auto;
    position: absolute;
    z-index: 8;
}

.chat-personal-note-editor-backdrop {
    align-items: flex-start;
    background-color: rgba(0, 0, 0, 0.55);
    box-sizing: border-box;
    display: flex;
    min-height: 100%;
    justify-content: center;
    padding: var(--widget-space-spacious, 20px);
    width: 100%;
}

.chat-personal-note-editor-panel {
    border-radius: var(--bs-border-radius);
    box-sizing: border-box;
    display: grid;
    gap: 20px;
    max-width: 620px;
    padding: var(--widget-space-spacious, 20px);
    width: 100%;
}

.chat-personal-note-editor-header,
.chat-personal-note-editor-footer {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.chat-personal-note-editor-footer .widget-action-button {
    margin-left: auto;
}

.chat-personal-note-editor-form {
    display: grid;
    gap: 20px;
}

.chat-personal-note-editor-form textarea {
    box-sizing: border-box;
    min-height: 180px;
    resize: vertical;
}

.chat-personal-note-colors {
    border: 0;
    margin: 0;
    min-width: 0;
    padding: 0;
}

.chat-personal-note-color-row {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, 40px);
    margin-top: 10px;
}

.chat-personal-note-color {
    background-color: var(--minidesk-status-progress-bg);
    border: 0;
    border-radius: var(--bs-border-radius);
    box-shadow: var(--minidesk-control-shadow);
    cursor: pointer;
    height: 40px;
    outline: 1px solid var(--minidesk-control-edge);
    outline-offset: -2px;
    transition: 0.5s ease;
    width: 40px;
}

.chat-personal-note-color.widget-personal-note-green { background-color: var(--minidesk-status-ready-bg); }
.chat-personal-note-color.widget-personal-note-yellow { background-color: var(--minidesk-status-waiting-bg); }
.chat-personal-note-color.widget-personal-note-red { background-color: var(--minidesk-status-urgent-bg); }
.chat-personal-note-color.widget-personal-note-neutral { background-color: var(--bs-tertiary-bg); }

.chat-personal-note-color:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)) {
    box-shadow: var(--minidesk-control-shadow);
    outline-color: var(--minidesk-control-edge);
}

.chat-personal-note-color-selected {
    box-shadow: var(--minidesk-control-shadow);
    outline-color: var(--minidesk-status-progress-edge);
    outline-width: 2px;
}

.chat-personal-note-color:active {
    box-shadow: var(--minidesk-inset-shadow);
}

.chat-personal-note-open:focus-visible,
.chat-personal-notes-button:focus-visible {
    box-shadow: var(--minidesk-control-shadow);
    outline: none;
}

.chat-personal-note-color:focus-visible {
    box-shadow: var(--minidesk-control-shadow);
    outline-color: var(--minidesk-status-progress-edge);
    outline-offset: 2px;
    outline-width: 2px;
}

.chat-personal-note-save-status {
    color: var(--bs-body-color);
    text-shadow: var(--minidesk-text-shadow);
}

.chat-personal-note-shared-by {
    color: var(--minidesk-status-progress-color);
    display: block;
    font-size: 16px;
    margin-top: 10px;
    text-shadow: var(--minidesk-text-shadow);
}

.chat-personal-note-share-results {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    min-height: 94px;
    place-content: stretch;
}

.chat-personal-note-share-search {
    margin-bottom: 0;
}

.chat-personal-note-dialog-title {
    align-items: center;
    display: flex;
    gap: 10px;
    margin-bottom: 0;
    text-align: left;
}

.chat-personal-note-share-recipient {
    gap: 10px;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    min-height: 74px;
    margin-bottom: 0;
    margin-top: 0;
    padding: 10px;
}

.chat-personal-note-share-results > .widget-empty-state {
    min-height: 54px;
}

.chat-personal-note-share-identity {
    display: grid;
    min-width: 0;
}

.chat-personal-note-share-legal-name {
    color: var(--bs-secondary-color);
    font-size: 16px;
    line-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: var(--minidesk-text-shadow);
    white-space: nowrap;
}

@font-face {
    font-display: block;
    font-family: "MiniDesk Placeholder Icons";
    font-style: normal;
    font-weight: 400;
    src: url("../vendor/fontawesome/webfonts/fa-solid-900.woff2") format("woff2");
    unicode-range: U+0023-0024, U+E000-F8FF;
}

.widget-setup-ai {
    align-items: center;
    display: inline-flex;
    min-width: 0;
}

.widget-setup-ai > .widget-action-button {
    align-items: center;
    border-radius: var(--bs-border-radius);
    box-sizing: border-box;
    display: inline-flex;
    font-size: 13px;
    font-weight: normal;
    gap: 6px;
    height: auto;
    line-height: 20px;
    margin: 0;
    min-height: 32px;
    padding: 6px 10px;
    white-space: nowrap;
    width: auto;
}

.widget-setup-ai-feedback > .widget-helper-text {
    margin: 0;
}

.widget-setup-ai-feedback > .widget-setup-ai-prompt:not([hidden]) {
    margin-top: 10px;
}

.widget-setup-ai-prompt {
    border-radius: var(--bs-border-radius);
    box-sizing: border-box;
    margin: 0;
    max-height: 280px;
    max-width: 100%;
    overflow: auto;
    overflow-wrap: anywhere;
    padding: 12px;
    user-select: text;
    white-space: pre-wrap;
}

.ai-new-ticket-form .widget-form-label {
    overflow-wrap: anywhere;
    white-space: normal;
}

.overlay-container.ai-new-ticket-overlay {
    margin: auto;
    padding: 0;
}

.ai-new-ticket-form:not(.ai-new-ticket-embedded) {
    box-sizing: border-box;
    height: min(740px, calc(100dvh - 90px));
    max-height: calc(100dvh - 90px);
    min-height: 0;
    overflow: hidden;
    position: relative;
    width: min(760px, calc(100vw - 24px));
}

.luma-assistant-dock {
    bottom: 20px;
    box-sizing: border-box;
    color: var(--bs-body-color);
    position: fixed;
    right: 20px;
    width: min(400px, calc(100vw - 40px));
    z-index: 88;
}

.luma-assistant-dock.luma-assistant-collapsed {
    max-width: calc(100vw - 40px);
    width: fit-content;
}

.luma-assistant-dock[hidden],
.luma-assistant-launcher[hidden],
.luma-assistant-panel[hidden] {
    display: none;
}

.luma-assistant-launcher {
    align-items: center;
    -webkit-backdrop-filter: blur(10px) saturate(125%);
    backdrop-filter: blur(10px) saturate(125%);
    background: var(--minidesk-control-bg);
    border: 0;
    border-radius: var(--bs-border-radius);
    box-sizing: border-box;
    color: var(--bs-body-color);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 10px;
    grid-template-columns: 30px auto auto auto;
    height: 60px;
    margin-left: auto;
    min-height: 60px;
    padding: 10px 12px;
    position: relative;
    text-shadow: var(--minidesk-text-shadow);
    max-width: 100%;
    width: max-content;
}

.luma-assistant-avatar {
    align-items: center;
    background-color: var(--minidesk-status-ready-bg);
    border-radius: var(--bs-border-radius);
    box-shadow: var(--minidesk-control-shadow);
    color: var(--minidesk-status-ready-color);
    display: inline-flex;
    height: 30px;
    justify-content: center;
    line-height: 0;
    width: 30px;
}

.luma-assistant-launcher-copy {
    display: grid;
    min-width: 0;
    text-align: left;
}

.luma-assistant-launcher-copy strong {
    color: var(--bs-body-color);
    font-size: 15px;
    line-height: 19px;
}

.luma-assistant-launcher-copy small {
    color: var(--bs-secondary-color);
    font-size: 12px;
    line-height: 17px;
}

.luma-assistant-panel {
    -webkit-backdrop-filter: blur(10px) saturate(125%);
    backdrop-filter: blur(10px) saturate(125%);
    background: var(--minidesk-control-bg);
    border: 0;
    border-radius: var(--bs-border-radius);
    box-sizing: border-box;
    display: flex;
    height: 680px;
    max-height: calc(100vh - 40px);
    min-height: 0;
    padding: 12px;
    width: 100%;
}

.luma-assistant-chat-area {
    background: var(--minidesk-control-bg);
    border-radius: var(--bs-border-radius);
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.luma-assistant-header.widget-room-header-bar {
    border-radius: var(--bs-border-radius);
    flex-wrap: nowrap;
    margin: 12px;
    min-height: 56px;
    padding: 8px 10px;
}

.luma-assistant-header .widget-room-header-main {
    flex-basis: 0;
}

.luma-assistant-header .widget-room-header-controls {
    flex-wrap: nowrap;
}

.luma-assistant-content {
    background: transparent;
    border-radius: 0 0 7px 7px;
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.luma-assistant-dock .widget-hidden.widget-hidden { display: none; }

.luma-assistant-conversation { background: transparent; }
.luma-assistant-conversation-body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; position: relative; }
.luma-assistant-messages { display: flex; flex: 1 1 auto; flex-direction: column; gap: 0; min-height: 0; overflow-y: auto; padding: 12px; }
.luma-assistant-workflow-active .luma-assistant-messages,
.chat-ai-workflow-active .chat-ai-messages { flex: 1 1 auto; max-height: none; }
.luma-assistant-inline-workflow,
.chat-ai-inline-workflow { box-sizing: border-box; display: block; flex: 0 0 auto; min-height: 0; overflow: visible; padding: 0; width: 100%; }
.ai-workflow-close-action { flex: 0 0 28px; margin-left: auto; }
.luma-workflow-stop-action { flex: 0 0 28px; margin-left: 0; }
.luma-composer-action-mode .luma-assistant-actions-bar,
.luma-composer-action-mode .chat-ai-actions-bar,
.luma-composer-action-mode .luma-workflow-action-slot { align-items: center; display: flex; margin-left: auto; }
.luma-assistant-inline-workflow > .ai-new-ticket-embedded,
.chat-ai-inline-workflow > .ai-new-ticket-embedded { height: auto; min-height: 0; }
.luma-assistant-messages .widget-message-card { grid-template-columns: 40px minmax(0, 1fr); }
.luma-assistant-messages .widget-message-avatar,
.luma-assistant-inline-workflow .widget-message-avatar { font-size: 15px; height: 40px; width: 40px; }
.luma-assistant-messages .chat-ai-welcome { padding: 20px 14px; }
.luma-assistant-capabilities { max-height: 180px; overflow-y: auto; padding: 12px; position: relative; }
.luma-assistant-actions-bar,
.chat-ai-actions-bar { align-items: center; display: flex; flex: 0 0 auto; justify-content: flex-start; padding: 2px 12px 0; }
.luma-assistant-actions-bar .widget-action-ghost,
.chat-ai-actions-bar .widget-action-ghost { font-size: 13px; height: 28px; margin: 0; padding: 0; width: 28px; }
.luma-assistant-history { bottom: 0; border-radius: var(--bs-border-radius); box-sizing: border-box; left: 12px; overflow-y: auto; padding: 8px 10px; position: absolute; top: 0; width: min(310px, 86%); z-index: 3; }
.luma-assistant-composer { flex: 0 0 auto; padding: 12px; }
.luma-assistant-model-control { align-self: stretch; display: flex; min-width: 0; }
.luma-assistant-model-control .option-selector { box-sizing: border-box; }
.ai-model-selector .option-selected[aria-disabled="true"] { cursor: default; opacity: 0.65; }
.luma-assistant-input-row { grid-auto-columns: 44px; grid-auto-flow: column; grid-template-columns: minmax(0, 1fr); padding-left: 10px; }
.luma-assistant-input-row textarea { min-height: 40px; }

.chat-composer-input-row .ai-model-field-compact,
.chat-ai-composer-controls .ai-model-field-compact {
    align-self: stretch;
    display: flex;
    gap: 0;
    min-width: 0;
}

.chat-composer-input-row .ai-model-selector-compact,
.chat-ai-composer-controls .ai-model-selector-compact {
    --dropdown-width: 28px;
    --dropdown-height: 28px;
    align-items: stretch;
    display: flex;
    margin: 0;
    min-width: 0;
}

.chat-composer-input-row .ai-model-selector-compact .option-selected,
.chat-ai-composer-controls .ai-model-selector-compact .option-selected {
    background: transparent;
    border-radius: 8px;
    box-shadow: none;
    gap: 0;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.chat-ai-composer-controls .ai-model-selector-compact .option-selected > .option-icon {
    left: 50%;
    transform: translate(-50%, -50%);
}

.chat-composer-input-row .ai-model-selector-compact .option-selected-label,
.chat-ai-composer-controls .ai-model-selector-compact .option-selected-label {
    max-width: none;
}

.chat-composer-input-row .ai-model-selector-compact .option-selected:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.chat-composer-input-row .ai-model-selector-compact .option-selected[aria-expanded="true"],
.chat-ai-composer-controls .ai-model-selector-compact .option-selected:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.chat-ai-composer-controls .ai-model-selector-compact .option-selected[aria-expanded="true"] {
    background: transparent;
    box-shadow: none;
    color: var(--bs-body-color);
}

.luma-assistant-inline-workflow > .ai-new-ticket-form.ai-new-ticket-embedded,
.chat-ai-inline-workflow > .ai-new-ticket-form.ai-new-ticket-embedded {
    height: auto;
    min-height: 0;
}

.luma-assistant-inline-workflow .ai-new-ticket-embedded-header {
    min-height: 48px;
    padding: 4px 5px;
}

.ai-new-ticket-embedded {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    height: min(620px, max(400px, calc(100dvh - 190px)));
    min-height: 400px;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

.ai-new-ticket-embedded-header {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    min-height: 54px;
    padding: 5px 5px 10px;
}

.ai-new-ticket-embedded-header > .widget-media-preview-actions {
    justify-content: flex-end;
}

.ai-new-ticket-embedded > .ai-new-ticket-body {
    flex: 1 1 auto;
}

.ai-new-ticket-embedded.ai-new-ticket-continuous {
    height: auto;
    min-height: 0;
    overflow: visible;
}

.ai-new-ticket-continuous > .ai-new-ticket-body,
.ai-new-ticket-continuous .ai-new-ticket-continuous-chat {
    overflow: visible;
}

.ai-new-ticket-continuous .ai-new-ticket-conversation {
    flex: 0 0 auto;
    overflow: visible;
    padding: 0;
}

.ai-new-ticket-continuous .ai-intake-composer {
    bottom: 0;
    padding-top: 4px;
    position: sticky;
    z-index: 2;
}

.ai-message-edit-action {
    align-items: center;
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--bs-secondary-color);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    margin: 0 0 0 auto;
    min-height: 28px;
    padding: 0;
    text-shadow: var(--minidesk-text-shadow);
    transition: color 0.16s ease, text-shadow 0.16s ease;
    width: 28px;
}
.ai-message-edit-action:disabled {
    background: transparent;
    border: 0;
    box-shadow: none;
    cursor: default;
    opacity: 0.5;
}
.ai-message-edit-action:hover:where(:not(.input-modality-touch):not(.input-modality-touch *)),
.ai-message-edit-action:focus,
.ai-message-edit-action:focus-visible {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: var(--bs-emphasis-color);
    outline: none;
    text-shadow: var(--minidesk-text-shadow);
}
.ai-message-resume-action-adjacent { margin-left: 2px; }
.luma-paused-workflow { display: contents; }

.ai-new-ticket-header {
    flex: 0 0 auto;
}

.ai-new-ticket-header > .widget-media-preview-actions {
    justify-content: flex-end;
}

.ai-new-ticket-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 15px;
    min-height: 0;
    overflow: hidden;
}

.ai-new-ticket-body > .ai-intake-error:not([hidden]) {
    flex: 0 0 auto;
    margin: 0;
}

.ai-new-ticket-chat-area {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    margin: 0;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    padding: 0;
}

.ai-new-ticket-form .chat-composer-input-row,
.ai-intake-composer-host .chat-composer-input-row {
    border-radius: var(--bs-border-radius);
}

.ai-intake-composer .chat-entry-box,
.ai-intake-composer-host .chat-entry-box {
    background: transparent;
    border: 0;
    box-shadow: none;
    box-sizing: border-box;
    color: inherit;
    font: inherit;
    height: 44px;
    line-height: 24px;
    margin: 0;
    max-height: 140px;
    min-height: 44px;
    outline: none;
    overflow-y: auto;
    resize: none;
    width: 100%;
}

.ai-intake-composer .widget-form-field,
.ai-intake-composer-host .widget-form-field {
    align-self: center;
    min-width: 0;
}

.ai-intake-composer .option-selector,
.ai-intake-composer-host .option-selector {
    --dropdown-height: 44px;
    align-items: center;
    display: flex;
    margin: 0;
}

.ai-intake-composer .option-selected,
.ai-intake-composer-host .option-selected {
    background: transparent;
    box-shadow: none;
    outline: none;
}

.ai-new-ticket-composer-status {
    align-content: center;
    min-height: 44px;
}

.ai-intake-continue {
    min-height: 44px;
}

.ai-new-ticket-form textarea {
    box-sizing: border-box;
    display: block;
    margin: 0;
    width: 100%;
}

.ai-new-ticket-form .widget-checkbox-toggle {
    line-height: 20px;
    min-height: 20px;
    padding: 0;
}

.ai-new-ticket-form .widget-panel-heading-title,
.ai-new-ticket-form .widget-helper-text {
    overflow-wrap: anywhere;
}

.ai-new-ticket-task-steps {
    overflow-wrap: anywhere;
    padding-left: 20px;
}

.widget-option-portal > .ai-new-ticket-options > [role="option"] {
    align-items: flex-start;
    line-height: 24px;
    overflow-wrap: anywhere;
    padding: 8px 15px;
    white-space: normal;
}

.widget-option-portal > .ai-new-ticket-options .widget-option-list-icon {
    flex: 0 0 25px;
    margin-top: 3px;
}

.ai-new-ticket-conversation {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    min-height: 0;
    min-width: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: relative;
    scrollbar-gutter: stable;
}

.ai-new-ticket-conversation .ai-new-ticket-message {
    box-sizing: border-box;
    flex: 0 0 auto;
    margin: 0;
    max-width: 90%;
    min-width: 0;
    overflow-wrap: anywhere;
    width: fit-content;
}

.ai-new-ticket-message .widget-message-header {
    margin-bottom: 4px;
}

.ai-new-ticket-conversation .ai-new-ticket-message-expanded {
    max-width: 100%;
    width: 100%;
}

.ai-new-ticket-message-current .ai-new-ticket-message-content {
    white-space: normal;
}

.ai-new-ticket-work > summary {
    cursor: pointer;
    min-height: 40px;
    overflow-wrap: anywhere;
    align-content: center;
}

.ai-new-ticket-progress[hidden],
.ai-intake-current-content[hidden] {
    display: none;
}

.ai-new-ticket-progress {
    align-items: center;
    display: flex;
    gap: 6px;
    padding: 0 4px 6px;
}

.ai-intake-customer-fields > .widget-form-field:last-child {
    grid-column: 1 / -1;
}

@media (max-width: 600px) {
    .luma-assistant-dock.luma-assistant-dock {
        bottom: 10px;
        right: 10px;
        width: calc(100vw - 20px);
    }

    .luma-assistant-dock.luma-assistant-collapsed:not([hidden]) {
        max-width: calc(100vw - 20px);
        width: fit-content;
    }

    .widget-option-portal:has(> .ai-new-ticket-options) {
        left: 12px !important;
        width: calc(100vw - 24px) !important;
    }

    .ai-new-ticket-form .widget-form-grid-two {
        grid-template-columns: minmax(0, 1fr);
    }

    .ai-new-ticket-chat-area > .ai-new-ticket-conversation {
        padding: 10px;
    }

    .ai-new-ticket-continuous.ai-new-ticket-embedded .ai-new-ticket-conversation {
        padding: 0;
    }

    .ai-new-ticket-message-expanded > .widget-message-body {
        display: contents;
    }

    .ai-new-ticket-message-expanded .widget-message-header {
        margin-bottom: 0;
    }

    .ai-new-ticket-form .ai-new-ticket-message-expanded .ai-new-ticket-message-content {
        grid-column: 1 / -1;
    }
}

.payment-issue-review {
    box-sizing: border-box;
    max-height: calc(100dvh - 32px);
    max-width: calc(100vw - 32px);
    overflow-y: auto;
    width: 600px;
}

.payment-issue-archive-form textarea {
    box-sizing: border-box;
    margin: 8px 0 0;
    resize: vertical;
}
