@media print {
  .flash-messages {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .asset-reminder-tracking thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }

  .asset-reminder-tracking,
  .asset-reminder-tracking tbody,
  .asset-reminder-tracking tbody tr {
    display: block;
    width: 100%;
  }

  .asset-reminder-tracking tbody td {
    display: block;
    border-bottom: 0;
  }

  .asset-reminder-tracking td[data-label]::before {
    content: attr(data-label);
    display: block;
    margin-bottom: .35rem;
    font-weight: 600;
    color: var(--app-text);
  }

  .asset-reminder-tracking tbody tr + tr {
    border-top: 1px solid var(--app-border);
  }
}

@media (max-width: 991.98px) {
  .local-template-entry-forms { grid-template-columns: minmax(0, 1fr); }
  .layout-auth .app-stage {
    margin-left: 0;
    width: 100%;
  }

  .layout-auth .app-footer {
    left: 0;
  }

  .offcanvas-lg.icon-rail {
    width: min(82vw, 320px);
    z-index: 1045;
  }

  .mobile-topbar {
    display: flex;
  }

  .app-grid.asset-custom-fields-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .asset-custom-field--columns-4 {
    grid-column: 1 / -1;
  }

  .asset-custom-field--own-row.asset-custom-field--columns-1 {
    width: calc(33.333% - 0.666rem);
  }

  .asset-custom-field--own-row.asset-custom-field--columns-2 {
    width: calc(66.666% - 0.333rem);
  }

  .asset-custom-field--own-row.asset-custom-field--columns-3,
  .asset-custom-field--own-row.asset-custom-field--columns-4 {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .local-generation-settings { align-items: flex-start; flex-wrap: wrap; }
  .local-generation-settings > div { flex: 1 1 100%; }
  .local-template-entry-form { grid-template-columns: minmax(0, 1fr); justify-items: start; }
  .local-template-entry-form > div { width: 100%; }
  .local-templates-panel .local-templates-table thead {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%);
  }
  .local-templates-table, .local-templates-table tbody { display: block; width: 100%; }
  .local-templates-table tbody tr { display: block; padding: .65rem; margin-bottom: .75rem; border: 1px solid var(--app-border); border-radius: .45rem; }
  .local-templates-table tbody td { display: grid; grid-template-columns: 75px minmax(0, 1fr); align-items: center; gap: .5rem; padding: .4rem 0; border: 0; }
  .local-templates-table td[data-label]::before { content: attr(data-label); color: var(--app-muted); font-size: .75rem; font-weight: 500; }
  .local-templates-table .local-template-title { display: block; padding-bottom: .65rem; font-size: .95rem; }
  .local-templates-table .local-template-title::before { display: none; }
  .local-templates-table .status-pill { justify-self: start; }
  .local-templates-table .table-action-cell { display: block; padding-top: .65rem; }
  .local-templates-table .table-action-cell::before { display: none; }
  .local-templates-table .local-templates-empty td { display: block; }
  .local-templates-panel .local-template-actions button,
  .local-templates-panel .local-template-actions a.btn { min-height: 2.25rem; }

  .layout-login .app-content-guest {
    padding: 4.5rem 0.75rem 7rem;
  }

  .login-corner-logo {
    display: none;
  }

  .login-card {
    padding: 1.5rem;
    border-radius: 1rem;
  }

  .app-content {
    padding: 0.95rem 0.75rem 6rem;
  }

  .branding-login-background-row,
  .branding-login-logo-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 0.65rem 0.75rem;
  }

  .employee-assets-layout {
    grid-template-columns: 1fr;
    --assign-picker-list-height: clamp(16rem, 40vh, 24rem);
  }

  .split-wide,
  .dashboard-layout > .dashboard-row-half {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-head {
    flex-direction: column;
    align-items: stretch;
  }

  .stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chat-thread-panel {
    min-height: 72vh;
  }

  .chat-thread-shell--modal {
    height: 72vh;
  }

  .chat-thread-shell--modal .chat-thread-panel {
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
  }

  .chat-thread-header {
    padding: 0.8rem;
  }

  .chat-thread-actions {
    align-items: stretch;
  }

  .chat-thread-actions > *,
  .chat-thread-actions form,
  .chat-thread-actions button,
  .chat-thread-actions .secondary-link {
    width: 100%;
  }

  .chat-message-list {
    padding: 0.85rem 0.7rem;
  }

  .chat-message-row {
    max-width: 92%;
  }

  .chat-message-avatar {
    display: none;
  }

  .chat-composer {
    padding: 0.75rem;
  }

  .kpi-grid,
  .app-grid,
  .app-grid--2col,
  .form-grid,
  .employee-filter-row,
  .split,
  .date-reminder-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .app-grid.asset-custom-fields-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .asset-custom-field--columns-3,
  .asset-custom-field--columns-4 {
    grid-column: 1 / -1;
  }

  .asset-custom-field--own-row.asset-custom-field--columns-1 {
    width: calc(50% - 0.5rem);
  }

  .asset-custom-field--own-row.asset-custom-field--columns-2,
  .asset-custom-field--own-row.asset-custom-field--columns-3,
  .asset-custom-field--own-row.asset-custom-field--columns-4 {
    width: 100%;
  }

  .import-field-card summary {
    flex-direction: column;
  }

  .import-summary-list div {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.2rem;
  }
}

@media (max-width: 480px) {
  .app-grid.asset-custom-fields-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .asset-custom-field--columns-2,
  .asset-custom-field--columns-3,
  .asset-custom-field--columns-4 {
    grid-column: 1 / -1;
  }

  .asset-custom-field--own-row.asset-custom-field--columns-1,
  .asset-custom-field--own-row.asset-custom-field--columns-2,
  .asset-custom-field--own-row.asset-custom-field--columns-3,
  .asset-custom-field--own-row.asset-custom-field--columns-4 {
    width: 100%;
  }

  .login-brand {
    min-height: 4.5rem;
    margin-bottom: 1.25rem;
    gap: 0.65rem;
  }

  .login-demo-account {
    align-items: stretch;
    flex-direction: column;
  }

  .login-demo-account button {
    width: 100%;
  }

  .stats-strip {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1250px) {
  .template-studio .studio-workspace { grid-template-columns: 200px minmax(230px, 1fr) minmax(240px, 1fr); }
  .template-studio .studio-sidebar { padding: .6rem; }
  .template-studio .studio-canvas-scroll { padding: 12px; }
}
@media (max-width: 960px) {
  .template-studio { height: auto; min-height: 0; overflow: visible; }
  .template-studio .studio-workspace { grid-template-columns: 200px minmax(0, 1fr); }
  .template-studio .studio-sidebar, .template-studio .studio-canvas-scroll { max-height: 75dvh; }
  .template-studio .studio-live-preview { grid-column: 1 / -1; height: 70dvh; min-height: 380px; border-top: 1px solid var(--app-border); border-left: 0; }
}
@media (max-width: 600px) {
  .app-content:has(.template-studio) { padding: .5rem .5rem 5rem; }
  .template-studio .studio-toolbar { padding: .6rem; }
  .template-studio .studio-workspace { display: flex; flex-direction: column; }
  .template-studio .studio-sidebar { max-height: 340px; border-right: 0; border-bottom: 1px solid var(--app-border); }
  .template-studio .studio-canvas-scroll { max-height: 65dvh; }
  .template-studio .studio-palette-item { margin-bottom: .3rem; }
  .template-studio .studio-toolbar-actions { flex-basis: 100%; }
  .template-studio .studio-command-group { flex-wrap: wrap; }
}
