/* AppConfigModal styles */ .modal-container { display: flex; gap: 0; height: 37.5rem; /* 600px */ } .modal-nav { width: 15rem; /* 240px */ height: 37.5rem; /* 600px */ border-top-left-radius: 0.75rem; /* 12px */ border-bottom-left-radius: 0.75rem; /* 12px */ overflow: hidden; display: flex; flex-direction: column; } /* Mobile: compact icon-only navigation */ @media (max-width: 1024px) { .modal-container { height: 100vh !important; max-height: none !important; } .modal-nav { width: 5rem; /* 80px - wider for larger icons */ height: 100vh !important; max-height: none !important; border-top-left-radius: 0; border-bottom-left-radius: 0; } .modal-nav-scroll { padding: 1rem 0.5rem; } .modal-nav-section { margin-bottom: 1.5rem; } .modal-nav-item.mobile { padding: 1rem; justify-content: center; border-radius: 0.75rem; margin-bottom: 0.75rem; } .modal-content { height: 100vh !important; max-height: none !important; border-radius: 0; } } .modal-nav-scroll { flex: 1; overflow-y: auto; padding: 1rem; padding-bottom: 2rem; scrollbar-width: thin; scrollbar-color: transparent transparent; transition: scrollbar-color 0.2s ease; } .modal-nav-scroll:hover { scrollbar-color: rgba(128, 128, 128, 0.5) transparent; } .modal-nav-scroll::-webkit-scrollbar { width: 8px; } .modal-nav-scroll::-webkit-scrollbar-track { background: transparent; } .modal-nav-scroll::-webkit-scrollbar-thumb { background-color: transparent; border-radius: 4px; transition: background-color 0.2s ease; } .modal-nav-scroll:hover::-webkit-scrollbar-thumb { background-color: rgba(128, 128, 128, 0.5); } .modal-nav-scroll::-webkit-scrollbar-thumb:hover { background-color: rgba(128, 128, 128, 0.7); } .modal-nav-section { margin-bottom: 1rem; } .modal-nav-section-items { margin-top: 0.5rem; } .modal-nav-item { cursor: pointer; padding: 0.5rem 0.625rem; /* 8px 10px */ border-radius: 0.5rem; /* 8px */ display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.25rem; /* 4px */ } .modal-content { flex: 1; height: 37.5rem; /* 600px */ display: flex; flex-direction: column; overflow: hidden; } .modal-content-scroll { flex: 1; overflow-y: auto; scrollbar-width: thin; scrollbar-color: transparent transparent; transition: scrollbar-color 0.2s ease; } .modal-content-scroll:hover { scrollbar-color: rgba(128, 128, 128, 0.5) transparent; } .modal-content-scroll::-webkit-scrollbar { width: 8px; } .modal-content-scroll::-webkit-scrollbar-track { background: transparent; } .modal-content-scroll::-webkit-scrollbar-thumb { background-color: transparent; border-radius: 4px; transition: background-color 0.2s ease; } .modal-content-scroll:hover::-webkit-scrollbar-thumb { background-color: rgba(128, 128, 128, 0.5); } .modal-content-scroll::-webkit-scrollbar-thumb:hover { background-color: rgba(128, 128, 128, 0.7); } .modal-header { position: sticky; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; padding: 1rem; } .modal-body { padding: 2rem; padding-top: 1rem; } .confirm-modal-content { display: flex; flex-direction: column; gap: 1rem; } .confirm-modal-buttons { display: flex; justify-content: flex-end; gap: 0.5rem; } /* Settings section container for sticky footer support */ .settings-section-container { display: flex; flex-direction: column; min-height: 100%; position: relative; } .settings-section-content { flex: 1; padding-bottom: 5rem; /* Space for sticky footer */ } /* Sticky footer for save/discard buttons */ .settings-sticky-footer { position: sticky; bottom: 0; left: 0; right: 0; background: var(--modal-content-bg); border-top: 1px solid var(--modal-header-border); padding: 1rem 2rem; margin: 0 -2rem; margin-bottom: -1rem; z-index: 10; box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1); } /* Mobile adjustments */ @media (max-width: 1024px) { .settings-sticky-footer { padding: 0.75rem 1rem; margin: 0 -1rem; margin-bottom: -1rem; } .settings-section-content { padding-bottom: 4rem; } }