/* * KAAT-S Theme Styles (V3.0 - Integrated Enterprise Suite) * Consolidated Global, Sidebar CRM, Nav, and Components */ /* ---------------------------------- */ /* 1. VARIABLES & RESET */ /* ---------------------------------- */ :root { /* Brand Colors */ --kaauh-teal: #00636e; --kaauh-teal-dark: #004a53; --kaauh-light-bg: #f9fbfd; --kaauh-border: #eaeff3; --kaauh-primary-text: #343a40; /* Functional Colors */ --kaauh-success: #28a745; --kaauh-info: #17a2b8; --kaauh-danger: #dc3545; --kaauh-warning: #ffc107; --kaauh-gray-light: #f8f9fa; /* Sidebar Dimensions */ --sidebar-width: 260px; --sidebar-collapsed-width: 70px; --topbar-height: 64px; --sidebar-bg: #00363a; --sidebar-hover: rgba(255, 255, 255, 0.1); --sidebar-active: #007c8a; } /* ---------------------------------- */ /* 2. GLOBAL UTILITIES */ /* ---------------------------------- */ .text-success { color: var(--kaauh-success) !important; } .text-info { color: var(--kaauh-info) !important; } .text-danger { color: var(--kaauh-danger) !important; } .text-warning { color: var(--kaauh-warning) !important; } .text-primary-theme, .text-primary { color: var(--kaauh-teal) !important; } .bg-primary-theme { background-color: var(--kaauh-teal) !important; } .text-kaauh-primary { color: var(--kaauh-primary-text); } .max-width-1600 { max-width: 1600px; margin-right: auto; margin-left: auto; padding-right: var(--bs-gutter-x, 0.75rem); padding-left: var(--bs-gutter-x, 0.75rem); } main.container-fluid { min-height: calc(100vh - 200px); padding: 1.5rem 0; } /* ---------------------------------- */ /* 3. CRM SIDEBAR & LAYOUT */ /* ---------------------------------- */ .sidebar { width: var(--sidebar-width); height: 100vh; position: fixed; top: 0; left: 0; background-color: var(--sidebar-bg); z-index: 1050; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: flex; flex-direction: column; box-shadow: 4px 0 10px rgba(0,0,0,0.1); overflow-x: hidden; } .sidebar-brand { padding: 1.25rem; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, 0.08); } .sidebar-nav { padding: 1.25rem 0; flex-grow: 1; overflow-y: auto; } /* Sidebar Links */ .nav-link-custom { display: flex; align-items: center; padding: 0.85rem 1.5rem; color: rgba(255, 255, 255, 0.7); text-decoration: none !important; transition: all 0.2s ease; margin-bottom: 0.25rem; font-weight: 500; font-size: 0.95rem; border-left: 4px solid transparent; white-space: nowrap; } .nav-link-custom:hover { color: #fff; background-color: var(--sidebar-hover); } .nav-link-custom.active { color: #fff; background-color: var(--sidebar-active); border-left: 4px solid var(--kaauh-warning); } .nav-link-custom i { width: 28px; font-size: 1.1rem; opacity: 0.9; } /* Main Content Wrapper */ .main-wrapper { margin-left: var(--sidebar-width); min-height: 100vh; display: flex; flex-direction: column; transition: all 0.3s ease; } .content-header { height: var(--topbar-height); background: #ffffff; border-bottom: 1px solid var(--kaauh-border); display: flex; align-items: center; padding: 0 1.5rem; position: sticky; top: 0; z-index: 1000; } /* Sidebar Collapse Logic */ .sidebar.collapsed { width: var(--sidebar-collapsed-width); } .sidebar.collapsed + .main-wrapper { margin-left: var(--sidebar-collapsed-width); } .sidebar.collapsed .nav-link-custom span, .sidebar.collapsed .sidebar-brand .fw-bold, .sidebar.collapsed .badge, .sidebar.collapsed .brand-subtitle { display: none !important; } .sidebar.collapsed .nav-link-custom i { margin: 0 !important; font-size: 1.2rem; width: 100%; text-align: center; } /* ---------------------------------- */ /* 4. NAVIGATION COMPONENTS */ /* ---------------------------------- */ .top-bar { background-color: white; border-bottom: 1px solid var(--kaauh-border); font-size: 0.825rem; padding: 0.4rem 0; } .navbar-dark { background-color: var(--kaauh-teal) !important; box-shadow: 0 2px 6px rgba(0,0,0,0.12); } .nav-link { font-weight: 500; transition: all 0.2s ease; } .nav-link:hover, .nav-link.active { color: white !important; background: rgba(255,255,255,0.12) !important; border-radius: 4px; } .dropdown-menu { backdrop-filter: blur(4px); background-color: rgba(255, 255, 255, 0.98); border: 1px solid var(--kaauh-border); box-shadow: 0 6px 20px rgba(0,0,0,0.12); border-radius: 8px; } .profile-avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--kaauh-teal); display: flex; align-items: center; justify-content: center; color: white; font-weight: bold; } /* ---------------------------------- */ /* 5. CARDS, FORMS & TYPOGRAPHY */ /* ---------------------------------- */ .kaauh-card, .card { border: 1px solid var(--kaauh-border); border-radius: 0.75rem; box-shadow: 0 4px 12px rgba(0,0,0,0.06); background-color: white; overflow: hidden; } .filter-controls, .tier-controls { border: 1px solid var(--kaauh-border); border-radius: 0.75rem; background-color: white; padding: 1.5rem; margin-bottom: 1.5rem; } .page-header { color: var(--kaauh-teal-dark); font-weight: 700; } .section-header { color: var(--kaauh-primary-text); font-weight: 600; border-bottom: 2px solid var(--kaauh-border); padding-bottom: 0.5rem; margin-bottom: 1rem; } .form-control, .form-select { border-radius: 0.5rem; border: 1px solid #ced4da; padding: 0.5rem 0.75rem; font-size: 0.9rem; } .form-control-sm, .form-select-sm, .btn-sm { padding: 0.25rem 0.5rem !important; font-size: 0.8rem !important; } /* ---------------------------------- */ /* 6. BUTTONS */ /* ---------------------------------- */ .btn-main-action { background-color: var(--kaauh-teal); border-color: var(--kaauh-teal); color: white; font-weight: 600; transition: all 0.2s ease; } .btn-main-action:hover { background-color: var(--kaauh-teal-dark); border-color: var(--kaauh-teal-dark); box-shadow: 0 4px 8px rgba(0,0,0,0.15); } .btn-main-action.btn-sm { font-weight: 600 !important; } .btn-outline-primary { color: var(--kaauh-teal); border-color: var(--kaauh-teal); } .btn-outline-primary:hover { background-color: var(--kaauh-teal); color: white; } .btn-outline-secondary { color: var(--kaauh-teal-dark); border-color: var(--kaauh-teal); } .btn-outline-secondary:hover { background-color: var(--kaauh-teal-dark); color: white; border-color: var(--kaauh-teal-dark); } .btn-bulk-pass { background-color: var(--kaauh-success); border-color: var(--kaauh-success); color: white; font-weight: 500; } .btn-bulk-pass:hover { background-color: #1e7e34; border-color: #1e7e34; } .btn-bulk-fail { background-color: var(--kaauh-danger); border-color: var(--kaauh-danger); color: white; font-weight: 500; } .btn-bulk-fail:hover { background-color: #bd2130; border-color: #bd2130; } .btn-apply { /* From Job Board table */ background: var(--kaauh-teal); border: none; color: white; padding: 0.45rem 1rem; font-weight: 600; border-radius: 6px; transition: all 0.2s; white-space: nowrap; } .btn-apply:hover { background: var(--kaauh-teal-dark); transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0,0,0,0.15); } /* ---------------------------------- */ /* 7. TABLES & PAGINATION */ /* ---------------------------------- */ .candidate-table, .job-table { width: 100%; border-collapse: separate; background-color: white; border-radius: 0.5rem; overflow: hidden; } .candidate-table th { background-color: var(--kaauh-border); color: var(--kaauh-teal-dark); font-weight: 600; padding: 0.75rem; border-bottom: 2px solid var(--kaauh-teal); } .job-table thead th { background: var(--kaauh-teal); color: white; padding: 1rem; } .pagination .page-link { color: var(--kaauh-teal); border-color: var(--kaauh-border); } .pagination .page-item.active .page-link { background-color: var(--kaauh-teal); border-color: var(--kaauh-teal); color: white; } /* ---------------------------------- */ /* 8. BADGES & TIMELINE */ /* ---------------------------------- */ .tier-badge, .stage-badge, .status-badge { font-size: 0.75rem; padding: 0.25rem 0.6rem; border-radius: 0.4rem; font-weight: 600; display: inline-block; } .tier-1-badge { background-color: var(--kaauh-success); color: white; } .stage-Interview { background-color: #fff3cd; color: #856404; } .timeline { position: relative; padding-left: 2rem; } .timeline::before { content: ''; position: absolute; top: 0; bottom: 0; left: 1.25rem; width: 2px; background-color: var(--kaauh-border); } .timeline-icon { position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: white; border: 4px solid white; z-index: 10; } /* ---------------------------------- */ /* 9. RTL SUPPORT */ /* ---------------------------------- */ html[dir="rtl"] { text-align: right; direction: rtl; } html[dir="rtl"] .sidebar { left: auto; right: 0; box-shadow: -4px 0 10px rgba(0,0,0,0.1); } html[dir="rtl"] .main-wrapper { margin-left: 0; margin-right: var(--sidebar-width); } html[dir="rtl"] .sidebar.collapsed + .main-wrapper { margin-right: var(--sidebar-collapsed-width); } html[dir="rtl"] .nav-link-custom { border-left: none; border-right: 4px solid transparent; } html[dir="rtl"] .nav-link-custom.active { border-right: 4px solid var(--kaauh-warning); } /* ---------------------------------- */ /* 10. RESPONSIVE */ /* ---------------------------------- */ @media (max-width: 991.98px) { .sidebar { left: calc(-1 * var(--sidebar-width)); } html[dir="rtl"] .sidebar { right: calc(-1 * var(--sidebar-width)); left: auto; } .sidebar.show { left: 0; } html[dir="rtl"] .sidebar.show { right: 0; } .main-wrapper { margin-left: 0 !important; margin-right: 0 !important; } } /* --- Logout Section Improvements --- */ .sidebar .logout-section { padding: 0.85rem 1.5rem; /* Match nav-link-custom padding */ transition: all 0.3s ease; border-top: 1px solid rgba(255, 255, 255, 0.08); } .sidebar.collapsed .logout-section { padding: 0.85rem 0; text-align: center; } .sidebar .logout-section button { color: rgba(255, 255, 255, 0.7) !important; width: 100%; justify-content: flex-start; transition: color 0.2s; } .sidebar .logout-section button:hover { color: var(--kaauh-danger) !important; } /* Hide text and handle icon centering in collapsed mode */ .sidebar.collapsed .logout-section span { display: none !important; } .sidebar.collapsed .logout-section i { margin: 0 !important; width: 100%; font-size: 1.1rem; } /* Ensure form doesn't add extra margins */ .sidebar .logout-section form { margin: 0; }