/* OVIA production page stability hotfix
   Purpose: keep all pages styled consistently under /ovia without changing routes or layouts. */
html, body { width: 100%; }
body { overflow-x: hidden; }
.app-shell, .main, .content { min-width: 0; }
.content { width: 100%; }

/* Prevent global mobile/readability rules from breaking short action labels into letters. */
.btn, .btn-secondary, .btn-danger,
.top-actions a, .top-actions button,
.ov-btn, .ov-hero-actions a,
.sidebar a, .quick-link, .nav-item,
.pagination a, .pagination button,
.awards-actions a, .awards-actions button {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
}
.ov-hero-actions { flex: 0 0 auto; align-items: center; }
.ov-hero-actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 86px !important;
    text-align: center !important;
    line-height: 1.15 !important;
}
@media (max-width: 760px) {
    .ov-hero-actions { width: 100%; flex-wrap: wrap; }
    .ov-hero-actions a { flex: 1 1 120px; }
}

/* Keep login compact; global card rules should not stretch the auth form. */
.login-panel { min-height: 100vh; padding: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.login-panel .form-card { width: 100% !important; max-width: 520px !important; margin-left: auto !important; margin-right: auto !important; }
.login-panel .btn-row { display: flex; gap: 12px; flex-wrap: wrap; justify-content: space-between; }
@media (max-width: 720px) {
    .login-panel { padding: 18px; justify-content: flex-start; }
    .login-panel .form-card { max-width: 100% !important; }
}

/* Guard against invisible overlays and stale mobile state blocking desktop pages. */
@media (min-width: 1101px) {
    body.sidebar-open { overflow: auto !important; }
    .sidebar-overlay, .sidebar-overlay.open, #sidebar-overlay {
        opacity: 0 !important;
        pointer-events: none !important;
        display: none !important;
        visibility: hidden !important;
    }
    .sidebar { transform: none !important; }
}

/* Make dashboard sidebar cards resilient when text or IDs are longer than expected. */
.ov-profile-cell strong, .sidebar-user, .sidebar-card, .ov-tag { overflow-wrap: anywhere; }
