diff --git a/src/TaxBaik.Web/wwwroot/css/admin.css b/src/TaxBaik.Web/wwwroot/css/admin.css index f4d7717..6e3caa0 100644 --- a/src/TaxBaik.Web/wwwroot/css/admin.css +++ b/src/TaxBaik.Web/wwwroot/css/admin.css @@ -1852,154 +1852,82 @@ textarea:focus-visible { Tabler Navbar Vertical (Admin Sidebar) ============================================================================ */ -.admin-sidebar-nav { - background: #1A2F4A; - border-right: 1px solid var(--border-color-light); - padding: 0; - min-height: 100%; - flex-direction: column; -} - -.admin-sidebar-nav .navbar-brand { - padding: var(--space-3) var(--space-4); - border-bottom: 1px solid rgba(255, 255, 255, 0.1); -} - -.admin-sidebar-nav .navbar-brand a { - color: #FFFFFF; - font-weight: var(--font-weight-semibold); -} - -.admin-sidebar-nav .navbar-nav { - flex-direction: column; - padding: var(--space-4) 0; -} - -.admin-sidebar-nav .nav-item { - margin: 0; -} - -.admin-sidebar-nav .nav-link { - display: flex; - align-items: center; - gap: var(--space-3); - padding: var(--space-3) var(--space-4); - color: rgba(255, 255, 255, 0.8); - text-decoration: none; - font-size: var(--font-size-sm); - font-weight: var(--font-weight-regular); - transition: all var(--transition-base); - position: relative; - border-left: 3px solid transparent; - margin: 0 var(--space-2); - border-radius: var(--radius-md); -} - -.admin-sidebar-nav .nav-link:hover { - background-color: rgba(255, 255, 255, 0.1); - color: #FFFFFF; -} - -.admin-sidebar-nav .nav-link.active { - background-color: rgba(255, 255, 255, 0.2); - color: #FFFFFF; - font-weight: var(--font-weight-semibold); - border-left-color: #FFFFFF; -} - -.admin-sidebar-nav .nav-link-icon { - display: flex; - align-items: center; - justify-content: center; - width: 20px; - height: 20px; - flex-shrink: 0; - color: inherit; -} - -.admin-sidebar-nav .nav-link-icon svg { - width: 20px; - height: 20px; - stroke: currentColor; - color: inherit; -} - -.admin-sidebar-nav .nav-link-title { - flex: 1; - white-space: nowrap; +.admin-sidebar-card { + border-radius: var(--radius-xl); overflow: hidden; - text-overflow: ellipsis; + box-shadow: var(--shadow-sm); + background: #1A2F4A; } -.admin-sidebar-nav .dropdown-toggle::after { - content: ''; - display: inline-block; - width: 0.3em; - height: 0.3em; - border: solid currentColor; - border-width: 0.15em 0.15em 0 0; - transform: rotate(45deg); - margin-left: auto; - transition: transform var(--transition-base); - color: inherit; +.admin-sidebar-header { + background: #1A2F4A; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); + padding: var(--space-3) var(--space-4); } -.admin-sidebar-nav .dropdown-toggle.show::after, -.admin-sidebar-nav .dropdown-toggle:not(.collapsed)::after { - transform: rotate(-135deg); +.admin-sidebar-body { + background: #1A2F4A; + padding: 0; } -.admin-sidebar-nav .dropdown-menu { +.admin-sidebar-card .accordion-button { + font-weight: var(--font-weight-semibold); + font-size: var(--font-size-sm); + color: rgba(255, 255, 255, 0.85); + background: transparent; border: none; - background: rgba(0, 0, 0, 0.2); - padding: var(--space-2) 0; - margin: 0; - border-radius: 0; - box-shadow: inset 2px 0 0 rgba(255, 255, 255, 0.1); + padding: var(--space-3) var(--space-4); + transition: all var(--transition-base); } -.admin-sidebar-nav .dropdown-item { - padding: var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 20px + var(--space-3)); +.admin-sidebar-card .accordion-button:hover { + background: rgba(255, 255, 255, 0.08); + color: #FFFFFF; +} + +.admin-sidebar-card .accordion-button:not(.collapsed) { + color: #FFFFFF; + background: rgba(255, 255, 255, 0.12); + box-shadow: inset 3px 0 0 #FFFFFF; +} + +.admin-sidebar-card .accordion-button::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgba(255,255,255,0.6)' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); + width: 1.25rem; + height: 1.25rem; + margin-left: auto; +} + +.admin-sidebar-card .accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); +} + +.admin-sidebar-card .list-group-item { + border: 0; + border-radius: 0; + padding: var(--space-3) var(--space-4); color: rgba(255, 255, 255, 0.75); font-size: var(--font-size-sm); + background: transparent; transition: all var(--transition-base); text-decoration: none; + margin: 0 var(--space-2); + margin-left: calc(var(--space-4) + 4px); } -.admin-sidebar-nav .dropdown-item:hover { - background-color: rgba(255, 255, 255, 0.15); +.admin-sidebar-card .list-group-item:hover { + background: rgba(255, 255, 255, 0.08); color: #FFFFFF; } -.admin-sidebar-nav .dropdown-item.active { - background-color: rgba(255, 255, 255, 0.2); +.admin-sidebar-card .list-group-item.active { + background: rgba(255, 255, 255, 0.15); color: #FFFFFF; font-weight: var(--font-weight-semibold); + border-left: 3px solid #FFFFFF; + padding-left: calc(var(--space-4) + 1px); } -/* Responsive Navbar Toggler */ -.admin-sidebar-nav .navbar-toggler { - display: none; - border: none; - padding: var(--space-3) var(--space-4); - color: var(--text-primary); -} - -@media (max-width: 991px) { - .admin-sidebar-nav .navbar-toggler { - display: block; - } - - .admin-sidebar-nav { - position: sticky; - top: 0; - } - - .admin-sidebar-nav .navbar-collapse { - max-height: calc(100vh - 150px); - overflow-y: auto; - } - .admin-drawer-footer { display: none; }