/* Shared form foundations. Keep desktop identity and invoice print styles intact. */
.ui-task-page, .ui-responsive-page { min-inline-size: 0; }
.ui-task-page :where(form, section, article, aside, div),
.ui-responsive-page :where(form, section, article, aside, div) { min-inline-size: 0; }
.ui-responsive-page :where(p, h1, h2, strong, .lc-quick-pill) { overflow-wrap: anywhere; }
.ui-responsive-page :where(.lc-tablewrap, .table-responsive) { max-inline-size: 100%; overflow-x: auto; }
.ui-bidi-token, bdi { unicode-bidi: isolate; }
.ui-bidi-token { direction: ltr; display: inline-block; }
input[dir="auto"], textarea[dir="auto"] { text-align: start; unicode-bidi: plaintext; }
.booking-picker [role="option"][aria-selected="true"] {
    background: #e4efe9;
    outline: 2px solid #2f6b58;
    outline-offset: -2px;
}
.booking-picker [role="combobox"]:focus-visible,
.ui-icon-action:focus-visible { outline: 2px solid #2f6b58; outline-offset: 3px; }
.ui-icon-action { min-inline-size: 36px; min-block-size: 36px; }
.field-validation-error { display: block; margin-block-start: .4rem; }

@media screen and (max-width: 1180px) {
    .velora-auth-command { min-block-size: auto; grid-template-columns: minmax(0, 1fr); }
    .velora-auth-command__showcase { display: none; }
    .auth-wrap--command { align-items: start; padding: 24px; }
    .velora-auth-command__panel { padding: 24px; }
    .velora-auth-command__panel-shell { padding: 24px; }
}

@media screen and (max-width: 1024px) {
    /* Keep contextual cards, but put operational forms before secondary context. */
    .ui-task-page { display: flex; flex-direction: column; }
    .ui-task-page > header, .ui-task-page > section:first-child { order: 0; }
    .ui-task-page > form { order: 1; }
    .ui-task-page > .vdash-final-kpis { order: 2; margin-block-start: 20px; }
}

@media screen and (max-width: 680px) {
    .auth-wrap--command { padding: 12px; }
    .velora-auth-command__panel { padding: 12px; }
    .velora-auth-command__panel-shell { padding: 20px; }
    .velora-auth-command__panel-head { grid-template-columns: 54px minmax(0, 1fr); gap: 12px; }
    .velora-auth-command__panel-mark { inline-size: 54px; block-size: 54px; border-radius: 18px; }
    .velora-auth-command__trust { grid-template-columns: repeat(2, minmax(0, 1fr)); font-size: .78rem; }
    .velora-auth-command__trust-item { padding-inline: 8px; gap: 6px; }
    .ui-task-page > .vdash-final-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ui-task-page .visit-final-layout { grid-template-columns: minmax(0, 1fr); }
    .ui-task-page .visit-final-tablewrap { overflow: visible; }
    .ui-task-page .visit-final-tablewrap :where(table, tbody) {
        display: block; inline-size: 100%; min-inline-size: 0; max-inline-size: 100%;
    }
    .ui-task-page .visit-final-tablewrap thead { display: none; }
    .ui-task-page .visit-final-tablewrap tr {
        display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
        border: 1px solid rgba(22,33,29,.12); border-radius: 16px;
        padding: 12px; margin-block: 12px; background: #fff;
    }
    .ui-task-page .visit-final-tablewrap td {
        display: block; inline-size: auto !important; min-inline-size: 0;
        padding: 0; border: 0; box-shadow: none;
    }
    .ui-task-page .visit-final-tablewrap td:first-child { grid-column: 1 / -1; }
    .ui-task-page .visit-final-tablewrap td::before {
        content: attr(data-label); display: block; margin-block-end: 6px;
        font-size: .8rem; font-weight: 700; text-align: start;
    }
    .ui-task-page .visit-final-tablewrap :where(input, select) { inline-size: 100%; min-inline-size: 0; }
    .ui-task-page :where(.btn, .ui-icon-action),
    .booking-create-actions .btn { min-block-size: 44px; }
    .ui-icon-action { min-inline-size: 44px; }
    .ui-task-page :where(.lc-form-actions, .visit-final-actions) { display: flex; flex-wrap: wrap; gap: 10px; }
    .ui-responsive-page .lc-filter-card__head { flex-wrap: wrap; }
    .ui-responsive-page .lc-filter-pills { flex-wrap: wrap; }
    .ui-responsive-page :where(input, select) { max-inline-size: 100%; min-inline-size: 0; }
}
.ui-operational-nav { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px 24px; background: #faf9f3; border-block-end: 1px solid #dce5df; }
.ui-operational-nav a { padding: 9px 12px; color: #315b4c; border-radius: 10px; text-decoration: none; font-weight: 600; }
.ui-operational-nav a.is-active { color: white; background: #285846; }
.ui-operational-nav a:focus-visible, summary:focus-visible, .vcal-week-wrap:focus-visible { outline: 3px solid #a17b30; outline-offset: 2px; }
.ui-daily-actions, .ui-daily-actions form { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.ui-daily-actions { margin-block: 18px; }
.ui-daily-actions input { inline-size: min(260px, 100%); }
.ui-technical { margin-block: 16px; padding: 16px; background: #f7f8f2; border: 1px solid #dce5df; border-radius: 16px; }
summary { cursor: pointer; color: #315b4c; font-weight: 600; padding-block: 10px; }
.ui-scroll-hint { margin: 12px 20px; color: #405b4f; font-size: .875rem; }
[dir="ltr"] { unicode-bidi: isolate; }
@media screen and (max-width: 1024px) {
 .velora-auth-subpage { display: flex; flex-direction: column; }
 .velora-auth-subpage__panel { order: -1; }
 .velora-auth-subpage__brand { display: none; }
}
@media screen and (max-width: 680px) {
 .ui-operational-nav { padding: 8px 12px; gap: 2px; }
 .ui-operational-nav a { padding: 11px 8px; font-size: .82rem; }
 .ui-daily-actions form { inline-size: 100%; }
 .ui-daily-actions input { flex: 1; min-inline-size: 0; }
 .ui-daily-actions label { inline-size: 100%; }
 .vc-app-icon-btn, .patients-row-actions .btn { min-inline-size: 44px; min-block-size: 44px; }
}
.ui-single-column { grid-template-columns: minmax(0, 1fr); }

/* Independent panels should size to their own content, including closed details. */
.ui-grid-start { align-items: start; }
