/* BlueClinic: componentes comunes, sin modificar colores de triaje ni impresión. */
@media screen {
  :root {
    --ui-space-1: .25rem;
    --ui-space-2: .5rem;
    --ui-space-3: .75rem;
    --ui-space-4: 1rem;
    --ui-radius: .5rem;
    --ui-control: 2.75rem;
    --ui-text: 1rem;
    --ui-caption: .875rem;
    --ui-border: #94a3b8;
    --ui-focus: #0b3d6b;
    --ui-success: #15803d;
    --ui-error: #b91c1c;
    --gray-500: #475569;
  }
  body { line-height: 1.5; }
  .page-content { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .page-content :is(form,.row) > * { min-width: 0; }
  .page-content :is(.hx-form,.aform) .row { grid-template-columns: repeat(auto-fit,minmax(min(100%,150px),1fr)); }
  .page-content .ui-field { min-width: 0; max-width: 100%; }
  button, input, select, textarea { font-family: inherit; }
  .ui-control {
    min-height: var(--ui-control) !important;
    min-width: var(--ui-control);
    font-size: var(--ui-caption) !important;
    line-height: 1.5;
    border-radius: var(--ui-radius);
  }
  .ui-field {
    min-height: var(--ui-control) !important;
    font-size: var(--ui-text) !important;
    line-height: 1.5;
    border-radius: var(--ui-radius);
  }
  .page-content .ui-readable { font-size: var(--ui-caption) !important; line-height: 1.5; }
  :is(.gs-group,.gs-sub,.gs-footer,.gs-footer kbd) { font-size: var(--ui-caption); line-height: 1.5; }
  .gs-input::placeholder { color: #64748b; }
  .page-content .ui-field:read-only:not(select) { background-color: #f1f5f9; }
  .page-content .ui-field:disabled { background-color: #e2e8f0; color: #475569; cursor: not-allowed; }
  .page-content .ui-field:is([aria-invalid=true],:user-invalid) { border-color: var(--ui-error); border-width: 2px; }
  .page-content form :is(input,select,textarea):not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=color],[type=submit],[type=button]) {
    font-family: inherit;
    font-size: var(--ui-text) !important;
    min-height: var(--ui-control);
    border-radius: var(--ui-radius);
    border-color: var(--ui-border);
  }
  .page-content :is(.btn, .btn-sm, .btn-cta, .btn-secondary-lg, .hx-btn-xs),
  .topbar :is(button, summary), .gs-close, .hx-x, .btn-submit {
    min-height: var(--ui-control) !important;
    min-width: var(--ui-control);
    font-size: var(--ui-caption) !important;
    line-height: 1.4;
    border-radius: var(--ui-radius);
  }
  .page-content :is(.btn, .btn-cta, .btn-secondary-lg) {
    justify-content: center;
    gap: var(--ui-space-2);
    padding: .625rem var(--ui-space-4);
    white-space: normal;
    text-align: center;
  }
  .page-content :is(.btn-sm, .hx-btn-xs) { padding: .5rem .75rem; }
  .page-content .btn-success { background: var(--ui-success); }
  .page-content .btn-success:hover { background: #166534; }
  .page-content .btn-cta.success { background: linear-gradient(135deg,#15803d,#166534); }
  :is(button, .btn, .btn-cta):disabled { cursor: not-allowed; opacity: .65; }
  .page-content :is(.hx-form, .aform, .form-group, .hx-box) :is(input,select,textarea):not([type=hidden],[type=checkbox],[type=radio],[type=range],[type=color],[type=submit],[type=button]),
  .input-shell input {
    min-height: var(--ui-control);
    font-size: var(--ui-text) !important;
    line-height: 1.5;
    border-color: var(--ui-border);
    border-radius: var(--ui-radius);
  }
  .page-content :is(.hx-form, .aform, .form-group) label {
    font-size: var(--ui-caption) !important;
    line-height: 1.5;
    margin-bottom: var(--ui-space-1);
  }
  .page-content :is(.hx-form, .aform) { gap: var(--ui-space-4); }
  .page-content :is(.hx-form, .aform) .row { gap: var(--ui-space-4); }
  input:is([type=checkbox],[type=radio]) {
    min-width: 1.5rem; min-height: 1.5rem;
    accent-color: #0b3d6b; vertical-align: middle;
  }
  label:has(> input:is([type=checkbox],[type=radio])) {
    min-height: var(--ui-control);
    padding-block: .5rem;
    cursor: pointer;
  }
  .page-content :is(.badge,.hx-pill,.rec-badge,.rec-dias-badge,.rec-auth-flag,.rec-tar-tag) {
    font-size: var(--ui-caption) !important;
    line-height: 1.5;
    padding: var(--ui-space-1) .625rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: var(--ui-space-1);
    white-space: normal;
  }
  .page-content :is(.hx-muted,.hx-sub,.ini-ayu,.hx-kpi .l,.hx-mas-menu small),
  .page-content :is(.hx-table th,thead th) {
    font-size: var(--ui-caption) !important;
    line-height: 1.5;
  }
  .page-content :is(.hx-actions,.hx-banner .tags) { gap: var(--ui-space-2); }
  .page-content .hx-banner > * { min-width: 0; max-width: 100%; }
  .page-content .hx-banner :is(.tag,.pac-clin) { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .page-content .hx-banner .pac-clin a { white-space: normal !important; overflow-wrap: anywhere; }
  .field label, .foot-note { font-size: var(--ui-caption); }
  .foot-note { color: #475569; }
  .page-content :is(.rec-dias-badge:not(.rec-dias-badge--stale),.rec-auth-flag--no,.rec-item-remove) { color: #475569; }
  .page-content .hx-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,320px),1fr)); }
  .page-content :is(.hx-tabs a,.bc-nav a,.hx-sum) {
    min-height: var(--ui-control);
    font-size: var(--ui-caption) !important;
  }
  .page-content :is(.rec-item-remove,.cx-tabla button,.cx-tiempos button) { min-height: var(--ui-control); min-width: var(--ui-control); }
  .page-content :is(.btn-cta,.cx-grande,.pd-enviar,.pd-nuevo) { font-size: var(--ui-text) !important; }
  :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
    outline: 3px solid var(--ui-focus) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 6px #fff;
  }
  .input-shell input::placeholder, .page-content input::placeholder,
  .page-content textarea::placeholder { color: #64748b; opacity: 1; }
  .ui-skip {
    position: fixed; top: .5rem; left: .5rem; z-index: 2000000002;
    padding: .75rem 1rem; background: #fff; color: #0b3d6b;
    border: 2px solid #0b3d6b; border-radius: .5rem;
    transform: translateY(-200%);
  }
  .ui-skip:focus { transform: translateY(0); }
  .ic { flex-shrink: 0; }
  @media (max-width: 640px) {
    .page-content input:not([type=checkbox],[type=radio],[type=hidden],[type=range],[type=color]),
    .page-content select, .page-content textarea { font-size: 1rem !important; }
    .page-content .hx-actions { align-items: stretch; }
  }
  @media (max-width: 360px) { .page-content .ini-tit { font-size: .9375rem; line-height: 1.3; } }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  }
}
@media print { .ui-skip { display: none !important; } }
