/* YPIA Core v0.11.14 — Mobile Interaction & Viewport Stability
 * Mobile-only progressive enhancement. No data/API/business logic changes.
 */

/* Shrink guards: a long child may wrap/scroll, but must not widen the page. */
.core-ui-v01114 .app-shell,
.core-ui-v01114 .main-content,
.core-ui-v01114 .page-wrap,
.core-ui-v01114 .page-heading,
.core-ui-v01114 .page-heading-copy,
.core-ui-v01114 .heading-actions,
.core-ui-v01114 .card,
.core-ui-v01114 .grid,
.core-ui-v01114 .form-grid,
.core-ui-v01114 .section-head,
.core-ui-v01114 .table-card-head,
.core-ui-v01114 .task-summary,
.core-ui-v01114 .task-summary-item,
.core-ui-v01114 .task-summary-copy,
.core-ui-v01114 .operation-toolbar,
.core-ui-v01114 .query-panel,
.core-ui-v01114 .query-form,
.core-ui-v01114 .query-primary,
.core-ui-v01114 .query-advanced,
.core-ui-v01114 .local-filter,
.core-ui-v01114 .integration-grid,
.core-ui-v01114 .integration-card,
.core-ui-v01114 .operational-grid,
.core-ui-v01114 .operational-card,
.core-ui-v01114 .readiness-grid,
.core-ui-v01114 .readiness-item,
.core-ui-v01114 .credential-grid,
.core-ui-v01114 .credential-card,
.core-ui-v01114 .scope-grid,
.core-ui-v01114 .account-admin-grid,
.core-ui-v01114 .account-directory,
.core-ui-v01114 .account-user-row,
.core-ui-v01114 .account-user-main,
.core-ui-v01114 .import-task-grid,
.core-ui-v01114 .import-template-grid,
.core-ui-v01114 .commit-bar,
.core-ui-v01114 .profile-primary-grid,
.core-ui-v01114 .profile-disclosure-grid,
.core-ui-v01114 .task-editor-grid,
.core-ui-v01114 .subject-basic-grid,
.core-ui-v01114 .subject-delivery-grid,
.core-ui-v01114 .subject-policy-grid {
  min-width: 0;
  max-width: 100%;
}

.core-ui-v01114 img,
.core-ui-v01114 video,
.core-ui-v01114 canvas {
  max-width: 100%;
  height: auto;
}

.core-ui-v01114 pre,
.core-ui-v01114 code,
.core-ui-v01114 .help,
.core-ui-v01114 .table-sub,
.core-ui-v01114 .detail-item,
.core-ui-v01114 .notice,
.core-ui-v01114 .alert,
.core-ui-v01114 .incident-reason,
.core-ui-v01114 .incident-evidence,
.core-ui-v01114 .request-error-message {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Keep oversized data inside an intentional scroll container instead of the page. */
.core-ui-v01114 .table-wrap,
.core-ui-v01114 .employee-table-wrap,
.core-ui-v01114 .subject-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.core-ui-v01114 input,
.core-ui-v01114 select,
.core-ui-v01114 textarea {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

/* Do not disable user zoom. Prevent focus-zoom by using native-safe text size instead. */
@media (max-width: 900px) {
  html:has(body.core-ui-v01114),
  body.core-ui-v01114 {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  @supports (overflow: clip) {
    html:has(body.core-ui-v01114),
    body.core-ui-v01114 {
      overflow-x: clip;
    }
  }

  body.core-ui-v01114 input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  body.core-ui-v01114 select,
  body.core-ui-v01114 textarea {
    font-size: 16px !important;
    line-height: 1.35;
  }

  body.core-ui-v01114 input,
  body.core-ui-v01114 select,
  body.core-ui-v01114 textarea,
  body.core-ui-v01114 button,
  body.core-ui-v01114 .button {
    touch-action: manipulation;
  }

  .core-ui-v01114 .page-heading {
    display: grid;
    grid-template-columns: minmax(0,1fr) !important;
    align-items: start;
    gap: 14px;
  }

  .core-ui-v01114 .heading-actions,
  .core-ui-v01114 .form-actions,
  .core-ui-v01114 .stack-actions,
  .core-ui-v01114 .task-form-actions,
  .core-ui-v01114 .task-action-buttons,
  .core-ui-v01114 .subject-action-buttons,
  .core-ui-v01114 .credential-actions,
  .core-ui-v01114 .table-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
  }

  .core-ui-v01114 .grid-2,
  .core-ui-v01114 .grid-4,
  .core-ui-v01114 .task-editor-grid,
  .core-ui-v01114 .subject-basic-grid,
  .core-ui-v01114 .subject-delivery-grid,
  .core-ui-v01114 .subject-policy-grid,
  .core-ui-v01114 .profile-primary-grid,
  .core-ui-v01114 .profile-disclosure-grid,
  .core-ui-v01114 .account-admin-grid,
  .core-ui-v01114 .integration-grid,
  .core-ui-v01114 .credential-grid,
  .core-ui-v01114 .scope-grid,
  .core-ui-v01114 .menu-grid,
  .core-ui-v01114 .import-task-grid,
  .core-ui-v01114 .import-template-grid,
  .core-ui-v01114 .operational-grid,
  .core-ui-v01114 .reconciliation-grid,
  .core-ui-v01114 .readiness-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .core-ui-v01114 .section-head,
  .core-ui-v01114 .table-card-head,
  .core-ui-v01114 .task-editor-head,
  .core-ui-v01114 .master-list-head,
  .core-ui-v01114 .subject-editor-title-row,
  .core-ui-v01114 .integration-card-head {
    min-width: 0;
    flex-wrap: wrap;
  }

  .core-ui-v01114 .topbar {
    min-width: 0;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  .core-ui-v01114 .topbar-title {
    flex: 1 1 auto;
    min-width: 0;
  }

  .core-ui-v01114 .topbar-title strong,
  .core-ui-v01114 .topbar-title span {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .core-ui-v01114 .topbar-actions {
    flex: 0 0 auto;
    min-width: 0;
    gap: 6px;
  }

  .core-ui-v01114 .page-wrap {
    width: 100%;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
    padding-bottom: calc(88px + env(safe-area-inset-bottom));
  }

  .core-ui-v01114 .bottom-nav {
    padding-bottom: max(7px, env(safe-area-inset-bottom));
    padding-left: max(6px, env(safe-area-inset-left));
    padding-right: max(6px, env(safe-area-inset-right));
  }

  .core-ui-v01114 .sidebar {
    width: min(88vw, 320px);
    max-width: calc(100vw - 24px);
  }

  .core-ui-v01114 .query-search-box input,
  .core-ui-v01114 .local-filter input,
  .core-ui-v01114 .scope-search input,
  .core-ui-v01114 .nav-search input {
    width: 100%;
    min-width: 0;
  }

  .core-ui-v01114 .query-chips,
  .core-ui-v01114 .filter-chips {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .core-ui-v01114 .query-chip,
  .core-ui-v01114 .filter-chip {
    flex: 0 0 auto;
  }

  .core-ui-v01114 .button,
  .core-ui-v01114 button:not(.icon-button) {
    min-height: 44px;
  }

  .core-ui-v01114 .button-small {
    min-height: 40px;
  }

  .core-ui-v01114 .icon-button {
    min-width: 40px;
    min-height: 40px;
  }

  .core-ui-v01114 .form-grid,
  .core-ui-v01114 .query-advanced {
    min-width: 0;
  }

  .core-ui-v01114 .form-group,
  .core-ui-v01114 .form-group.full {
    min-width: 0;
    max-width: 100%;
  }

  .core-ui-v01114 .task-summary-item,
  .core-ui-v01114 .menu-tile,
  .core-ui-v01114 .account-user-row,
  .core-ui-v01114 .operational-incident,
  .core-ui-v01114 .incident-evidence {
    min-width: 0;
    max-width: 100%;
  }

  .core-ui-v01114 .incident-evidence span {
    white-space: normal;
  }
}

@media (max-width: 600px) {
  .core-ui-v01114 .heading-actions,
  .core-ui-v01114 .form-actions,
  .core-ui-v01114 .stack-actions,
  .core-ui-v01114 .task-form-actions,
  .core-ui-v01114 .task-action-buttons,
  .core-ui-v01114 .subject-action-buttons,
  .core-ui-v01114 .credential-actions {
    width: 100%;
  }

  .core-ui-v01114 .heading-actions > form,
  .core-ui-v01114 .heading-actions > .button,
  .core-ui-v01114 .form-actions > form,
  .core-ui-v01114 .form-actions > .button,
  .core-ui-v01114 .stack-actions > form,
  .core-ui-v01114 .stack-actions > .button,
  .core-ui-v01114 .task-form-actions > form,
  .core-ui-v01114 .task-form-actions > .button,
  .core-ui-v01114 .task-action-buttons > form,
  .core-ui-v01114 .task-action-buttons > .button,
  .core-ui-v01114 .subject-action-buttons > form,
  .core-ui-v01114 .subject-action-buttons > .button,
  .core-ui-v01114 .credential-actions > form,
  .core-ui-v01114 .credential-actions > .button {
    width: 100%;
  }

  .core-ui-v01114 .heading-actions > form .button,
  .core-ui-v01114 .form-actions > form .button,
  .core-ui-v01114 .stack-actions > form .button,
  .core-ui-v01114 .task-form-actions > form .button,
  .core-ui-v01114 .task-action-buttons > form .button,
  .core-ui-v01114 .subject-action-buttons > form .button,
  .core-ui-v01114 .credential-actions > form .button {
    width: 100%;
  }

  .core-ui-v01114 .page-heading h1 {
    overflow-wrap: anywhere;
  }

  .core-ui-v01114 .workspace-badge span {
    display: none;
  }
}

/* Login is rendered before the authenticated shell, so it is explicitly covered. */
body.core-ui-v01114 .login-page {
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
}

@supports (min-height: 100dvh) {
  body.core-ui-v01114 .login-page { min-height: 100dvh; }
}

body.core-ui-v01114 .login-panel,
body.core-ui-v01114 .login-card,
body.core-ui-v01114 .login-card form,
body.core-ui-v01114 .login-card .form-group {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 900px) {
  body.core-ui-v01114 .login-panel {
    width: 100%;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }

  body.core-ui-v01114 .login-card {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .core-ui-v01114 *,
  .core-ui-v01114 *::before,
  .core-ui-v01114 *::after {
    scroll-behavior: auto !important;
  }
}
