/* Shared viewport and dialog safeguards. Direction uses logical properties. */
.notification-dropdown { max-height:calc(100dvh - 140px); overflow-y:auto; }
@media (max-width:640px) {
    .admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .admin-main select,
    .admin-main textarea { min-width:0; max-width:100%; font-size:16px !important; }
    .admin-main .admin-btn,
    .admin-main .profile-save-btn,
    .admin-main .profile-danger-btn,
    .admin-main .profile-cancel-btn { min-height:44px !important; }
    .hdoori-modal .delete-modal-actions { flex-wrap:wrap; }
}

@media (max-width:640px) {
    /* Keep an empty message readable without scrolling through blank columns. */
    .admin-table:has(tbody > tr:only-child > .empty-table) { min-width:0 !important; width:100%; }
    .admin-table:has(tbody > tr:only-child > .empty-table) thead { display:none; }
    .admin-table .empty-table { white-space:normal; overflow-wrap:anywhere; }
}
@media (max-width:1000px) {
    body:has(.admin-shell) { padding-top:0; }
    .mobile-sidebar-toggle { z-index:10004 !important; }
    .sidebar-overlay { z-index:10001 !important; }
    .admin-sidebar { z-index:10002 !important; height:100dvh !important; }
    body:has(.admin-sidebar.open) { overflow:hidden; }
}
.hdoori-modal { z-index:10010; }
@media (max-width:640px) {
    .admin-main { padding-top:calc(112px + env(safe-area-inset-top)) !important; }
}
@media (max-width:640px) {
    .public-nav { gap:10px !important; }
    .public-nav .nav-logo { flex:1 1 auto; min-width:0; gap:8px; font-size:1.25rem; }
    .public-nav .sidebar-logo-mark { width:32px; height:32px; flex:0 0 32px; }
    .public-nav > .language-switcher { margin-inline:0; flex:0 0 auto; }
    .public-nav > .language-switcher button { padding-inline:10px; font-size:14px; }
    .public-nav .mobile-menu-btn { flex:0 0 42px; }
}

.delete-modal-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

html[dir] #notificationDropdown { position:fixed !important; left:var(--notification-left, 12px) !important; right:auto !important; top:var(--notification-top, 120px) !important; width:var(--notification-width, 380px) !important; max-height:var(--notification-height, calc(100dvh - 140px)); box-sizing:border-box; }
.notification-item-content { min-width:0; overflow-wrap:anywhere; }
.notification-dropdown-header { flex-wrap:wrap; }

.employee-details-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-block:20px; }
.employee-details-grid dt { color:#64756f; font-size:13px; }
.employee-details-grid dd { margin:6px 0 0; overflow-wrap:anywhere; }
.employee-certificate { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid #e8e3d8; padding-block:14px; overflow-wrap:anywhere; }
.employee-certificate > div { min-width:0; }
.employee-certificate-upload { margin-block:20px; }
.employee-certificate-upload .modern-form { display:grid; gap:16px; margin-block:16px; }
.employee-profile-summary { padding:24px; }
.employee-profile-summary section + section { margin-top:24px; }
#addShiftButton:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:640px) { .employee-details-grid { grid-template-columns:1fr; } .employee-certificate { align-items:flex-start; flex-direction:column; } }
