/* DigitClínicas 1.1.12 · patch UI: isolated, loaded after legacy theme layers. */
:root{--dc-action-height:42px;--dc-action-radius:10px;--dc-panel-width:420px}
.app-shell .content-area{min-width:0;overflow-wrap:break-word}
.app-shell .surface-card{margin-bottom:24px!important;min-width:0}
.app-shell .surface-card>:last-child{margin-bottom:0}
.app-shell .card-head{flex-wrap:wrap;align-items:center;gap:12px 18px}
.app-shell .card-head .btn{flex-shrink:0}
/* Unified clickable buttons, including offcanvas, health and clinic forms. */
.app-shell :is(button,a,input).btn:not(.btn-link),
.panel-offcanvas :is(button,a).btn:not(.btn-link),
.modal :is(button,a).btn:not(.btn-link){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  vertical-align:middle!important;gap:8px!important;min-height:var(--dc-action-height)!important;
  padding:9px 16px!important;border-width:1px!important;border-style:solid!important;
  border-radius:var(--dc-action-radius)!important;font:650 12.5px/1.4 Inter,system-ui,sans-serif!important;
  text-decoration:none!important;white-space:normal;text-align:center;transition:background-color .15s,border-color .15s,box-shadow .15s;
}
.app-shell :is(button,a,input).btn.btn-sm:not(.btn-link),
.panel-offcanvas :is(button,a).btn.btn-sm:not(.btn-link),.modal :is(button,a).btn.btn-sm:not(.btn-link){min-height:35px!important;padding:7px 11px!important;font-size:11.5px!important}
.app-shell .btn-brand,.panel-offcanvas .btn-brand,.modal .btn-brand{background:var(--skin-accent,#087e86)!important;color:#fff!important;border-color:var(--skin-accent,#087e86)!important}
.app-shell .btn-secondary,.app-shell .btn-outline-secondary,.modal .btn-outline-secondary{background:#fff!important;border-color:#cbdce7!important;color:#213c4e!important}
.app-shell .btn-primary,.app-shell .btn-outline-primary,.panel-offcanvas .btn-outline-primary{border-color:var(--skin-accent,#087e86)!important}
.app-shell .btn-primary{background:var(--skin-accent,#087e86)!important;color:#fff!important}
.app-shell :is(.btn,.form-control,.form-select,.form-check-input):focus-visible,
.panel-offcanvas :is(.btn,.offcanvas-menu-link,.btn-close):focus-visible{outline:3px solid color-mix(in srgb,var(--skin-accent,#0baea7),white 40%)!important;outline-offset:2px!important}
.app-shell :is(.form-control,.form-select,textarea){max-width:100%;min-width:0}
.app-shell :is(.dc-action-strip,.dc-rf-actions,.dc-button-row,.dc-ops-toolbar,.dc-notification-actions){display:flex;flex-wrap:wrap;gap:12px!important}
.app-shell :is(.dc-action-strip,.dc-rf-actions,.dc-button-row) .btn{margin:0!important}
.app-shell .table-responsive{overflow-x:auto;max-width:100%}
.app-shell .table-responsive .table-modern{width:100%}
.app-shell :is(.dc-appearance-layout,.dc-brand-upload-grid,.dc-custom-options){min-width:0}
.app-shell .dc-appearance-layout>*{min-width:0}
.app-shell .dc-appearance-layout .surface-card{min-width:0}
.app-shell :is(.dc-skin-select,.dc-brand-upload){min-width:0;overflow:hidden}
.app-shell .dc-visual-demo{width:100%;max-width:100%;overflow:hidden}
/* Clinic / headquarters registration form: breathing room, readable fields, equal actions. */
.app-shell #dcClinicForm{scroll-margin-top:86px;padding-bottom:20px;margin-bottom:20px}
.app-shell #dcClinicForm :is(.row,.dc-form-actions){row-gap:16px}
.app-shell #dcClinicForm :is(input,select,textarea){max-width:100%}
.app-shell #dcClinicForm :is(.btn-brand,.btn-primary,.btn-secondary,.btn-outline-secondary){min-height:42px!important}
.app-shell #dcClinicForm .form-label{font-size:12px;font-weight:700;margin-bottom:7px!important}
.app-shell :is(.dc-rf-form,.dc-form-section,.dc-create-clinic){padding-bottom:14px}
.app-shell :is(.dc-rf-form,.dc-form-section,.dc-create-clinic) .form-label{margin-bottom:7px}
/* Sidebar state must win over global 1.1.11 `width:... !important` rule. */
@media(min-width:992px){
 .app-shell.sidebar-collapsed{--dc-sidebar:76px!important;--sidebar-width:76px!important}
 .app-shell.sidebar-collapsed .sidebar{width:76px!important;min-width:76px!important;max-width:76px!important;overflow-x:hidden}
 .app-shell.sidebar-collapsed .sidebar :is(.nav-label,.nav-caption,.brand-word,.dc-sidebar-story,.brand-credit){display:none!important}
 .app-shell.sidebar-collapsed .sidebar .brand{justify-content:center;padding-inline:4px!important}
 .app-shell.sidebar-collapsed .sidebar .side-link{justify-content:center;padding-inline:0!important;gap:0}
 .app-shell.sidebar-collapsed .sidebar .side-link>i{margin:0!important;font-size:18px}
 .app-shell.sidebar-collapsed .sidebar .sidebar-bottom{padding-inline:3px}
}
@media(max-width:991.98px){
 .app-shell .sidebar{position:fixed!important;top:0;left:0;bottom:0;z-index:1045!important;width:min(280px,88vw)!important;max-width:88vw!important;transform:translateX(-110%)!important;transition:transform .2s ease!important;visibility:visible!important}
 .app-shell.dc-mobile-menu-open .sidebar{transform:translateX(0)!important}
 .app-shell #mobileScrim{display:none!important;position:fixed!important;inset:0!important;background:rgba(2,14,30,.55)!important;z-index:1040!important}
 .app-shell.dc-mobile-menu-open #mobileScrim{display:block!important}
 .app-shell .app-main{margin-left:0!important;width:100%!important;min-width:0}
 .app-shell .content-area{padding:18px 14px 38px!important}
 .app-shell .page-heading{flex-wrap:wrap}
 .app-shell #dcClinicForm{padding-bottom:24px}
 .app-shell .dc-appearance-layout{grid-template-columns:minmax(0,1fr)!important}
 .app-shell .dc-root-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Independent offcanvas mechanism; no dependency on Bootstrap's JS bundle. */
.panel-offcanvas.dc-offcanvas-managed{position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(var(--dc-panel-width),100vw)!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;z-index:1060!important;transform:translateX(105%)!important;visibility:hidden!important;display:flex!important;flex-direction:column!important;opacity:1!important;transition:transform .2s ease,visibility .2s!important;pointer-events:none!important}
.panel-offcanvas.dc-offcanvas-managed.show{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
.panel-offcanvas.dc-offcanvas-managed .offcanvas-header{flex:0 0 auto;min-height:78px;padding:18px 22px!important}
.panel-offcanvas.dc-offcanvas-managed .offcanvas-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px!important}
.panel-offcanvas.dc-offcanvas-managed .notif-row{margin-bottom:0!important}
.panel-offcanvas.dc-offcanvas-managed .dc-panel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:4px}
.panel-offcanvas.dc-offcanvas-managed .dc-panel-actions .btn{min-height:44px!important;width:100%}
.panel-offcanvas.dc-offcanvas-managed .offcanvas-menu-link{display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px;border-radius:11px;background:#fff;border:1px solid #dce8f0;color:#13394b}
.panel-offcanvas.dc-offcanvas-managed .offcanvas-menu-link span{flex:1}
.dc-panel-backdrop{position:fixed;inset:0;z-index:1050;background:rgba(3,21,39,.58);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility .2s}
.dc-panel-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto}
body.dc-panel-open{overflow:hidden!important}
@media(max-width:520px){.panel-offcanvas.dc-offcanvas-managed{width:100vw!important}.panel-offcanvas.dc-offcanvas-managed .dc-panel-actions{grid-template-columns:1fr}}
tr[hidden],.dc-support-list [data-dc-ticket-row][hidden]{display:none!important}
/* Root audit panel */
.dc-root-audit{margin-top:20px!important}
.dc-root-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.dc-root-stat-grid>div{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:12px;background:var(--skin-page,#f3f8fa);border:1px solid var(--skin-border,#d9e7ed)}
.dc-root-stat-grid strong{font-size:24px;line-height:1.1;color:var(--skin-accent,#087e86)}
.dc-root-stat-grid small{color:var(--skin-muted,#617482);font-size:11px}
.dc-root-diagnostics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dc-root-diagnostics>div{min-width:0;padding:17px;background:var(--skin-page,#f6f8fb);border:1px solid var(--skin-border,#d8e5ed);border-radius:12px}
.dc-root-diagnostics h3,.dc-root-section-title{font-size:15px;font-weight:750;margin:0 0 11px;color:var(--skin-ink,#18394a)}
.dc-root-diagnostics p{font-size:12px;line-height:1.8;margin:0;overflow-wrap:anywhere}
.dc-file-flag{display:inline-flex;flex-wrap:wrap;gap:5px;margin:3px 8px 3px 0;padding:5px 8px;background:#fff3dc;border-radius:7px;color:#7b510e}
.dc-file-flag small{font-size:10px;opacity:.7}
.dc-root-section-title{margin-top:20px}
.dc-root-review-form .table-responsive{margin-bottom:14px}
.dc-root-submit{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.dc-root-submit>label{font-size:12px;font-weight:600;flex:1 1 250px}
.dc-root-submit>.form-control{max-width:200px}
.dc-root-empty{padding:14px;border:1px dashed var(--skin-border,#dbe7f0);border-radius:9px;font-size:12px;color:var(--skin-muted,#667d8b)}
.dc-root-caution{margin-top:18px;color:var(--skin-muted,#647988);font-size:12px;line-height:1.6}
@media(max-width:700px){.dc-root-diagnostics{grid-template-columns:minmax(0,1fr)}.dc-root-submit>*{width:100%!important;max-width:none!important}.dc-root-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.dc-panel-backdrop,.panel-offcanvas.dc-offcanvas-managed,.app-shell .sidebar{transition:none!important}}
