/* Portal additions on top of the old theme (sb-admin.css + app.css + theme.css). */
[x-cloak] { display: none !important; }
.portal-toasts { position: fixed; top: 1rem; right: 1rem; z-index: 2000; width: 320px; }
.portal-toasts .alert { margin-bottom: .5rem; }
.sidebar .collapse-item.btn-link { font-size: .85rem; color: #3a3b45; padding: .5rem 1rem; text-decoration: none; }
.sidebar .collapse-item.btn-link:hover { background-color: #eaecf4; }
.table td, .table th { vertical-align: middle; }
.table-hover tbody tr.clickable { cursor: pointer; }
.sortable-handle { cursor: move; color: #b7b9cc; }
.money { text-align: right; white-space: nowrap; }
.portal-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 1040; }
.portal-modal { position: fixed; inset: 0; z-index: 1050; overflow-y: auto; padding: 2rem 1rem; }
.portal-modal .modal-dialog { margin: 0 auto; max-width: var(--w, 640px); }
.portal-modal .modal-content { box-shadow: 0 .5rem 1rem rgba(0,0,0,.25); }
.login-container { min-height: 100vh; background: linear-gradient(135deg, #f8f9fc 0%, #e3e6f0 100%); }
.login-card { border: 0; border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(0,0,0,.1); }
.login-btn { background: #005d2a; color: #fff; }
.login-btn:hover { background: #00491f; color: #fff; }
