/* ------------------------------------- | Modern App UI - Visual Overhaul ------------------------------------- */ /* --- Fonts & Imports --- */ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); /* --- CSS Variables (New Design System) --- */ :root { --primary-hue: 210; --primary-saturation: 79%; --primary-lightness: 45%; --primary: hsl(var(--primary-hue), var(--primary-saturation), var(--primary-lightness)); /* #2c5282 */ --primary-light: hsl(var(--primary-hue), var(--primary-saturation), 65%); --primary-dark: hsl(var(--primary-hue), var(--primary-saturation), 30%); --primary-bg: hsl(var(--primary-hue), 80%, 97%); --secondary-hue: 152; --secondary-saturation: 51%; --secondary-lightness: 35%; --secondary: hsl(var(--secondary-hue), var(--secondary-saturation), var(--secondary-lightness)); /* #2f855a */ --bg-color: #f7fafc; --sidebar-bg: #ffffff; --card-bg: #ffffff; --text-primary: #1a202c; --text-secondary: #718096; --border-color: #e2e8f0; --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 2px 0 rgba(0, 0, 0, 0.03); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -1px rgba(0, 0, 0, 0.04); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.07), 0 4px 6px -2px rgba(0, 0, 0, 0.03); --border-radius-md: 0.5rem; --border-radius-lg: 0.75rem; --transition-speed: 0.2s; } /* --- Base & Typography --- */ body { background-color: var(--bg-color); font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: var(--text-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } h1, h2, h3, h4, h5, h6 { font-weight: 600; color: var(--text-primary); } p { color: var(--text-secondary); line-height: 1.6; } /* --- Layout --- */ #wrapper { display: flex; width: 100%; } #sidebar-wrapper { width: 260px; background-color: var(--sidebar-bg); border-right: 1px solid var(--border-color); transition: margin var(--transition-speed) ease-in-out; z-index: 1000; box-shadow: var(--shadow-sm); } #page-content-wrapper { flex: 1; min-width: 0; display: flex; flex-direction: column; } main { flex-grow: 1; padding: 2rem; } /* --- Sidebar --- */ .sidebar-heading { padding: 1.5rem 1.5rem; font-size: 1.2rem; font-weight: 700; color: var(--primary); border-bottom: 1px solid var(--border-color); text-align: left; } .sidebar-heading .logo-icon { margin-right: 0.75rem; font-size: 1.5rem; vertical-align: middle; } .list-group-item { background: transparent; border: 0; padding: 1rem 1.5rem; font-size: 0.95rem; font-weight: 500; color: var(--text-secondary); transition: all var(--transition-speed) ease; border-left: 3px solid transparent; } .list-group-item .bi { margin-right: 1rem; font-size: 1.1rem; vertical-align: text-bottom; } .list-group-item:hover { color: var(--primary); background-color: var(--primary-bg); } .list-group-item.active { background-color: var(--primary-bg); color: var(--primary); border-left-color: var(--primary); font-weight: 600; } /* --- Top Bar --- */ #topbar { background-color: var(--sidebar-bg); border-bottom: 1px solid var(--border-color); box-shadow: var(--shadow-sm); padding: 0.75rem 2rem; } #topbar .navbar-toggler { border: none; } #topbar .nav-link { color: var(--text-secondary); } #topbar .dropdown-toggle::after { display: none; } #topbar .profile-pic { width: 40px; height: 40px; object-fit: cover; } /* --- Dashboard & Cards --- */ .card.dashboard-card { border: none; background-color: var(--card-bg); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-md); transition: all var(--transition-speed) ease-in-out; overflow: hidden; } .card.dashboard-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); } .card-body { padding: 2rem; } .card-title-wrapper { display: flex; align-items: flex-start; margin-bottom: 1.25rem; } .card-icon { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--border-radius-md); font-size: 1.5rem; margin-right: 1.5rem; flex-shrink: 0; } .card-icon.icon-customs { background-color: hsl(var(--primary-hue), 80%, 97%); color: var(--primary); } .card-icon.icon-insurance { background-color: hsl(var(--secondary-hue), 80%, 96%); color: var(--secondary); } .card-icon.icon-transport { background-color: hsl(195, 70%, 96%); color: hsl(195, 60%, 45%); } .card-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.25rem; } .card-text { font-size: 0.95rem; margin-bottom: 1.5rem; } .btn-primary { background-color: var(--primary); border-color: var(--primary); font-weight: 500; transition: all var(--transition-speed) ease; } .btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); } /* --- Responsive --- */ @media (max-width: 767.98px) { #sidebar-wrapper { margin-left: -260px; } #wrapper.toggled #sidebar-wrapper { margin-left: 0; } #page-content-wrapper { min-width: 100vw; } main { padding: 1rem; } #topbar{ padding: 0.75rem 1rem; } } #wrapper.toggled #sidebar-wrapper { margin-left: -260px; }