/* Target the cam-screen container directly */
.cam-screen {
    --cam-primary: #3B82F6;
    --cam-primary-hover: #2563EB;
    --cam-background-dark: #0F172A;
    --cam-surface-dark: #1E293B;
    --cam-surface-storm: #494949;
	--cam-background-fade: #1e3a8a4d;
    --cam-border-dark: #334155;
    --cam-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --cam-text-color: #F9FAFB;
    --cam-text-muted: #94A3B8;
    --cam-text-light: #CBD5E1;
    --cam-success-color: #34D399;
    --cam-warning-color: #FBBF24;
    --cam-danger-color: #EF4444;
    --cam-info-color: #60A5FA;
    --cam-white: #FFFFFF;
    --cam-slate-100: #F1F5F9;
    --cam-slate-200: #E2E8F0;
    --cam-slate-300: #CBD5E1;
    --cam-slate-400: #94A3B8;
    --cam-slate-500: #64748B;
    --cam-slate-600: #475569;
    --cam-slate-700: #334155;
    --cam-blue-200: #BFDBFE;
    --cam-blue-400: #60A5FA;
    --cam-green-400: #34D399;
    --cam-amber-400: #FBBF24;
    --cam-red-500: #EF4444;
    --cam-scroll-track: #1e1e1e;
    --cam-scroll-thumb: #3a3a3a;
    --cam-scroll-thumb-hover: #555;
    --cam-overlay: rgba(0, 0, 0, 0.5);
}

/*.cam-screen {
     Core brand 
    --cam-primary: #16a34a;                unchanged 
    --cam-primary-hover: #2563EB;          unchanged 

     Background & surfaces 
    --cam-background-dark: #FFFFFF;        pure white 
    --cam-surface-dark: #F9FAFB;           gray-50 
    --cam-surface-storm: #F3F4F6;          gray-100 
	--cam-background-fade: #1e3a8a4d;
    --cam-border-dark: #E5E7EB;            gray-200 

     Typography 
    --cam-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --cam-text-color: #111827;             gray-900 
    --cam-text-muted: #6B7280;             gray-500 
    --cam-text-light: #4B5563;             gray-600 
    --cam-success-color: #34D399;          green-400 
    --cam-warning-color: #FBBF24;          amber-400 
    --cam-danger-color: #EF4444;           red-500 
    --cam-info-color: #60A5FA;             blue-400 

     Additional palette 
    --cam-white: #FFFFFF;
    --cam-slate-100: #1e293b;
    --cam-slate-200: #E2E8F0;
    --cam-slate-300: #CBD5E1;
    --cam-slate-400: #94A3B8;
    --cam-slate-500: #64748B;
    --cam-slate-600: #475569;
    --cam-slate-700: #334155;

     Accent blues / greens / ambers / reds kept for consistency 
    --cam-blue-200: #BFDBFE;
    --cam-blue-400: #60A5FA;
    --cam-green-400: #34D399;
    --cam-amber-400: #FBBF24;
    --cam-red-500: #EF4444;

     Scrollbar (light variant) 
    --cam-scroll-track: #F3F4F6;           gray-100 
    --cam-scroll-thumb: #D1D5DB;           gray-300 
    --cam-scroll-thumb-hover: #9CA3AF;     gray-400 

     Overlays (subtle) 
    --cam-overlay: rgba(0, 0, 0, 0.08);    very light shadow 
}*/

/* The main container */
.cam-screen.full-height-container {
    height: 100vh;
    max-height: 100vh;
    width: 100%;
    display: flex;
    overflow: hidden;
    background-color: var(--cam-background-dark);
    font-family: var(--cam-font-sans);
}

.custom-checkbox {
  accent-color: var(--cam-surface-storm); 
}

.cam-screen .relative {position: relative}
.cam-screen .absolute {position: absolute}
.cam-screen .right-1 {right: 1rem}

/* Flex container for main content */
.cam-screen .flex-grow-1 {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

/* Switch container */
.cam-screen [ng-switch] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

/* Content section - Scrollable area */
.cam-screen .content-section {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    padding: 1rem;
}

/* Navbar fixed height */
.cam-screen navbar {
    flex-shrink: 0;
    min-height: 4.5rem;
}

/* For larger screens */
@media (min-width: 768px) {
    .cam-screen .content-section {
        padding: 1.5rem;
    }
}

@media (min-width: 992px) {
    .cam-screen .content-section {
        padding: 2rem;
    }
}

/* Scrollable content inside components */
.cam-screen .content-scrollable {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
}

/* Sidebar styles */
.cam-screen .sidebar-container {
    width: 24rem;
    flex-shrink: 0;
    background-color: var(--cam-surface-dark);
    border-right: 1px solid var(--cam-border-dark);
    height: 100vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

/* Header styles */
.cam-screen header {
    height: 4.5rem;
    min-height: 4.5rem;
    flex-shrink: 0;
    background-color: var(--cam-surface-dark);
    border-bottom: 1px solid var(--cam-border-dark);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.25rem;
}

.cam-screen .text-start {text-align: start}
.cam-screen .text-center {text-align: center}
.cam-screen .text-end {text-align: end}

@media (min-width: 768px) {
    .cam-screen header {
        padding: 0.75rem 1.5rem;
    }
}

/* Background Colors */
.cam-screen .bg-surface-dark {
    background-color: var(--cam-surface-dark) !important;
}

.cam-screen .bg-background-dark {
    background-color: var(--cam-background-dark) !important;
}

.cam-screen .bg-abbey-800 {
    background-color: var(--cam-surface-storm) !important;
}

.cam-screen .bg-green-900\/10 {
    background-color: rgba(6, 78, 59, 0.1) !important;
}

.cam-screen .bg-blue-900\/20 {
    background-color: rgba(30, 58, 138, 0.2) !important;
}

.cam-screen .bg-blue-900\/30 {
    background-color: var(--cam-background-fade) !important;
}

.cam-screen .bg-blue-900\/50 {
    background-color: rgba(30, 58, 138, 0.1) !important;
}

.cam-screen .bg-amber-900\/20 {
    background-color: rgba(120, 53, 15, 0.2) !important;
}

.cam-screen .bg-slate-800\/50 {
    background-color: rgba(30, 41, 59, 0.5) !important;
}

.cam-screen .bg-slate-900\/30 {
    background-color: rgba(15, 23, 42, 0.3) !important;
}

.cam-screen .bg-slate-900\/50 {
    background-color: rgba(15, 23, 42, 0.5) !important;
}

.cam-screen .bg-red-900\/20 {
    background-color: rgba(127, 29, 29, 0.2) !important;
}

.cam-screen .bg-Eucalyptus {
    background-color: rgb(25, 135, 84) !important;
}

/* Text Colors */
.cam-screen .text-white {
    color: var(--cam-white) !important;
}

.cam-screen .text-slate-100 {
    color: var(--cam-slate-100) !important;
}

.cam-screen .text-slate-200 {
    color: var(--cam-slate-200) !important;
}

.cam-screen .text-slate-300 {
    color: var(--cam-slate-300) !important;
}

.cam-screen .text-slate-400 {
    color: var(--cam-slate-400) !important;
}

.cam-screen .text-slate-500 {
    color: var(--cam-slate-500) !important;
}

.cam-screen .text-slate-600 {
    color: var(--cam-slate-600) !important;
}

.cam-screen .text-green-400 {
    color: var(--cam-green-400) !important;
}

.cam-screen .text-blue-200 {
    color: var(--cam-blue-200) !important;
}

.cam-screen .text-blue-400 {
    color: var(--cam-blue-400) !important;
}

.cam-screen .text-amber-400 {
    color: var(--cam-amber-400) !important;
}

.cam-screen .text-red-500 {
    color: var(--cam-red-500) !important;
}

.cam-screen .text-primary {
    color: var(--cam-primary) !important;
}

.cam-screen .text-danger {
    color: var(--cam-danger-color) !important;
}

.cam-screen .text-success {
    color: var(--cam-success-color) !important;
}

/* Border Colors */
.cam-screen .border-border-dark {
    border-color: var(--cam-border-dark) !important;
}

.cam-screen .border-dark-soft {
    border-color: var(--cam-slate-600) !important;
}

.cam-screen .border {
    border: 1px solid;
}

.cam-screen .border-green-900\/30 {
    border-color: rgb(58, 255, 203, 0.3) !important;
}

.cam-screen .border-blue-800 {
    border-color: rgba(59, 130, 246, 0.4) !important;
}

.cam-screen .border-blue-800\/50 {
    border-color: rgba(30, 64, 175, 0.5) !important;
}

.cam-screen .border-amber-900\/50 {
    border-color: rgba(120, 53, 15, 0.5) !important;
}

.cam-screen .border-slate-600 {
    border-color: var(--cam-slate-600) !important;
}

.cam-screen .border-slate-700 {
    border-color: var(--cam-slate-700) !important;
}

.cam-screen .border-slate-800\/50 {
    border-color: rgba(30, 41, 59, 0.5) !important;
}

/* Border Utilities */
.cam-screen .border-2 {
    border-width: 2px !important;
}

.cam-screen .border-dashed {
    border-style: dashed !important;
}

.cam-screen .border-bottom {
    border-bottom: 1px solid;
}

.cam-screen .border-end {
    border-right: 1px solid;
}

/* Height/Width Utilities */
.cam-screen .h-18 {
    height: 4.5rem;
}

.cam-screen .min-h-250 {
    min-height: 250px;
}

.cam-screen .w-80 {
    width: 24rem;
}

.cam-screen .w-100 {
    width: 100%;
}

.cam-screen .flex-grow-1 {
    flex-grow: 1;
}

.cam-screen .flex-shrink-0 {
    flex-shrink: 0;
}

.cam-screen .min-h-0 {
    min-height: 0 !important;
}

.cam-screen .overflow-hidden {
    overflow: hidden !important;
}

.cam-screen .overflow-y-auto {
    overflow-y: auto !important;
}

.cam-screen .overflow-x-hidden {
    overflow-x: hidden !important;
}

/* Flex Utilities */
.cam-screen .d-flex {
    display: flex !important;
}

.cam-screen .flex-column {
    flex-direction: column;
}

.cam-screen .align-items-center {
    align-items: center;
}

.cam-screen .justify-content-between {
    justify-content: space-between;
}

.cam-screen .justify-content-center {
    justify-content: center;
}

.cam-screen .justify-content-end {
    justify-content: flex-end;
}

.cam-screen .align-items-start {
    align-items: flex-start;
}

.cam-screen .align-items-md-center {
    align-items: center;
}

@media (min-width: 768px) {
    .cam-screen .align-items-md-center {
        align-items: center;
    }
}

/* Gap Utilities */
.cam-screen .gap-1 { gap: 0.25rem; }
.cam-screen .gap-2 { gap: 0.5rem; }
.cam-screen .gap-3 { gap: 0.75rem; }
.cam-screen .gap-4 { gap: 1rem; }
.cam-screen .gap-5 { gap: 1.25rem; }

/* Padding Utilities */
.cam-screen .p-1 { padding: 0.25rem; }
.cam-screen .p-2 { padding: 0.5rem; }
.cam-screen .p-3 { padding: 0.75rem; }
.cam-screen .p-4 { padding: 1rem; }
.cam-screen .p-5 { padding: 1.75rem !important; }

.cam-screen .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.cam-screen .px-4 { padding-left: 1rem; padding-right: 1rem; }
.cam-screen .px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }

.cam-screen .py-2 { padding-block: .3rem; }
.cam-screen .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.cam-screen .py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.cam-screen .py-5 {padding-top: 1.25rem; padding-bottom: 1.25rem;}
.cam-screen .pb-0 {padding-bottom:0}
 
/* Margin Utilities */
.cam-screen  .m-0 {margin: 0;}
.cam-screen  .m-1 {margin: .25rem}
.cam-screen  .m-2 {margin: .5rem}
.cam-screen  .m-3 {margin: .75rem}
.cam-screen  .m-4 {margin: 1rem}
.cam-screen  .m-5 {margin: 1.25rem}
.cam-screen .mb-0 { margin-bottom: 0; }
.cam-screen .mb-1 { margin-bottom: 0.25rem; }
.cam-screen .mb-2 { margin-bottom: 0.5rem; }
.cam-screen .mb-3 { margin-bottom: 0.75rem; }
.cam-screen .mb-4 { margin-bottom: 1rem; }
.cam-screen .mb-5 { margin-bottom: 1.25rem; }

.cam-screen .ms-auto { margin-right: auto; }
.cam-screen .me-2 { margin-right: .625rem; }

/* Font Size Utilities */
.cam-screen .fs-5 { font-size: 1.25rem !important; }
.cam-screen .fs-6 { font-size: 1rem !important; }
.cam-screen .fs-7 { font-size: 0.875rem !important; }
.cam-screen .fs-8 { font-size: 0.9rem !important; }

/* Font Weight */
.cam-screen .fw-bold { font-weight: 700 !important; }
.cam-screen .fw-semibold { font-weight: 600 !important; }
.cam-screen .fw-medium { font-weight: 500 !important; }

/* Text Utilities */
.cam-screen .text-uppercase { text-transform: uppercase; }
.cam-screen .text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cam-screen .text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Border Radius */
.cam-screen .rounded-circle { border-radius: 50% !important; }
.cam-screen .rounded-1 {border-radius: .25rem}
.cam-screen .rounded-2 { border-radius: 0.5rem !important; }
.cam-screen .rounded-3 { border-radius: 0.75rem !important; }
.cam-screen .rounded-4 { border-radius: 1rem !important; }
.cam-screen .rounded-pill { border-radius: 50rem !important; }

/* Progress bars */
.cam-screen .progress {
    background-color: var(--cam-white);
    border-radius: 0.375rem;
    margin-bottom: 0;
}

.cam-screen .progress-bar {
    background-color: var(--cam-primary);
    border-radius: 0.375rem;
}

.cam-screen .progress-thin {
    height: 0.375rem;
}

.cam-screen .progress-thin .progress-bar {
    height: 100%;
}

.cam-screen .progress-status {
    border: 1px solid rgba(59, 130, 246, 0.4) !important;
    padding-block: .5rem !important;
    border-radius: 4px !important;
}

/* Buttons */
.cam-screen .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .625rem 0.75rem;
    font-size: 1rem !important;
    font-weight: 500;
    line-height: 1.5;
    border-radius: 0.375rem;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    cursor: pointer;
}

.cam-screen .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    height: 2.5rem;
}

.cam-screen .nav-btn {
    height: 2.5rem;
    width: 2.5rem;
}

.cam-screen .btn-primary {
    background-color: var(--cam-primary);
    color: var(--cam-white);
    border-color: var(--cam-primary);
}

.cam-screen .btn-primary:hover {
    background-color: var(--cam-primary-hover);
    border-color: var(--cam-primary-hover);
}

.cam-screen .btn-outline-secondary {
    background-color: transparent;
    color: var(--cam-text-muted);
    border-color: var(--cam-border-dark);
}

.cam-screen .btn-outline-secondary:hover {
    background-color: rgba(51, 65, 85, 0.5);
    color: var(--cam-text-color);
}

.cam-screen .btn-link {
    background: transparent;
    border: none;
    color: var(--cam-text-muted);
    padding: 0;
}




.cam-screen .tab-section {
    width : fit-content;
}

.cam-screen .tab-section li button {
 padding-block : .4rem !important
}

/* Form Controls */
.cam-screen .form-control,
.cam-screen .form-select {
    background-color: rgba(30, 41, 59, 0.5);
    border: 1px solid var(--cam-slate-600);
    color: var(--cam-text-color);
    border-radius: 0.375rem;
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    height: 34px;
}

.cam-screen document-fields.form-field {
	display: grid;
	  grid-template-columns: repeat(2, 1fr);
	  gap: 1rem;
}

.cam-screen document-fields.form-field:has(:last-child:nth-child(odd)) > :last-child {
  grid-column: span 2;  
} 

.cam-screen .form-control:focus,
.cam-screen .form-select:focus {
    background-color: rgba(30, 41, 59, 0.7);
    border-color: var(--cam-primary);
    color: var(--cam-text-color);
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25);
    outline: none;
}

.cam-screen .form-label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--cam-text-muted);
}

/* Shadows */
.cam-screen .shadow-sm {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.cam-screen .shadow-lg {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
}

.cam-screen .shadow-blue-500\/20 {
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.2), 0 4px 6px -2px rgba(59, 130, 246, 0.1);
}

.cam-screen .shadow-blue-500\/25 {
    box-shadow: 0 10px 15px -3px rgba(59, 130, 246, 0.25), 0 4px 6px -2px rgba(59, 130, 246, 0.1);
}

/* Icons */
.cam-screen .icon-btn {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
}

.cam-screen .rounded-view {
    width: 2.5rem;
    height: 2.5rem;
}

/* Transitions */
.cam-screen .transition-all {
    transition: all 0.2s ease;
}

.cam-screen .transition-colors {
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* Hover Effects */
.cam-screen .hover-scale:hover {
    transform: scale(1.02);
}

.cam-screen .hover\:bg-slate-700:hover {
    background-color: rgba(51, 65, 85, 0.5) !important;
}

.cam-screen .hover\:bg-slate-800\/50:hover {
    background-color: rgba(30, 41, 59, 0.5) !important;
}

.cam-screen .hover\:text-primary:hover {
    color: var(--cam-primary) !important;
}

.cam-screen .hover\:text-red-500:hover {
    color: var(--cam-danger-color) !important;
}

/* Cursor */
.cam-screen .cursor-pointer {
    cursor: pointer;
}

/* Opacity */
.cam-screen .opacity-75 {
    opacity: 0.75;
}

/* Position */
.cam-screen .position-relative {
    position: relative !important;
}

/* Display Utilities */
.cam-screen .d-none {
    display: none !important;
}

.cam-screen .d-inline {
    display: inline !important;
}

.cam-screen .d-block {
    display: block !important;
}

.cam-screen .d-lg-none {
    display: none !important;
}

.cam-screen .d-none-sm {
    display: none !important;
}

/* Scrollbar styling for the content area */
.cam-screen .content-section::-webkit-scrollbar,
.cam-screen .content-scrollable::-webkit-scrollbar {
    width: 8px;
}

.cam-screen .content-section::-webkit-scrollbar-track,
.cam-screen .content-scrollable::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.3);
    border-radius: 4px;
}

.cam-screen .content-section::-webkit-scrollbar-thumb,
.cam-screen .content-scrollable::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.4);
    border-radius: 4px;
}

.cam-screen .content-section::-webkit-scrollbar-thumb:hover,
.cam-screen .content-scrollable::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 116, 139, 0.6);
}

/* Scrollbar for sidebar */
.cam-screen .sidebar-container::-webkit-scrollbar {
    width: 6px;
}

.cam-screen .sidebar-container::-webkit-scrollbar-track {
    background: transparent;
}

.cam-screen .sidebar-container::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.2);
    border-radius: 3px;
}

.cam-screen .sidebar-container::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 116, 139, 0.4);
}

/* Responsive breakpoints */
@media (max-width: 768px) {
    .cam-screen .sidebar-container {
        position: fixed;
        left: -100%;
        top: 0;
        width: 100%;
        z-index: 1050;
        transition: left 0.3s ease;
    }
    
    .cam-screen .sidebar-container.active {
        left: 0;
    }
    
    .cam-screen .sidebar-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var(--cam-overlay);
        z-index: 1040;
    }
    
    .cam-screen .sidebar-overlay.active {
        display: block;
    }
    
    .cam-screen .d-lg-none {
        display: flex !important;
    }
    
    .cam-screen .d-none-sm {
        display: inline-flex !important;
    }
    
    .cam-screen .content-section {
        padding: 0.75rem;
    }
}

@media (min-width: 769px) {
    .cam-screen .d-lg-none {
        display: none !important;
    }
    
    .cam-screen .d-none-sm {
        display: inline-flex !important;
    }
}

/* Custom max-width */
.cam-screen .max-w-6xl {
    max-width: 1200px;
}

/* Section card */
.cam-screen .section-card {
    border-radius: 0.75rem;
    border: 1px solid var(--cam-border-dark);
    background-color: var(--cam-surface-dark);
    overflow: hidden;
}

/* Progress checklist item */
.cam-screen .progress-checklist-item {
    padding: 1rem;
    border-radius: 0.75rem;
    transition: all 0.2s ease;
    cursor: pointer;
}

/* File item */
.cam-screen .file-item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.75rem;
}

/* Action buttons */
.cam-screen .action-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    padding-top: 1rem;
}

/* Upload area */
.cam-screen .upload-area {
    border: 2px dashed var(--cam-slate-600);
    border-radius: 0.75rem;
    background-color: rgba(15, 23, 42, 0.3);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    min-height: 190px;
}

.cam-screen .upload-area:hover {
    background-color: rgba(30, 41, 59, 0.5);
    border-color: var(--cam-slate-500);
}

/* ===== WebKit Browsers (Chrome, Edge, Safari) ===== */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--cam-scroll-track);
}

::-webkit-scrollbar-thumb {
    background-color: var(--cam-scroll-thumb);
    border-radius: 8px;
    border: 2px solid var(--cam-scroll-track);
}

::-webkit-scrollbar-thumb:hover {
    background-color: var(--cam-scroll-thumb-hover);
}

/* ===== Firefox ===== */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--cam-scroll-thumb) var(--cam-scroll-track);
}

/* Ensure Angular components take full height */
cam-applicant-form,
cam-additional-form,
cam-document-submit,
cam-final-review {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Fix for any nested content areas inside components */
cam-document-submit > .content-scrollable {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

/* Table Styles */
.cam-screen .table-container {
    background: var(--cam-surface-dark);
    border-radius: 0.75rem;
    border: 1px solid var(--cam-border-dark);
    overflow: hidden;
    margin-bottom: 1.5rem;
}

.cam-screen table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--cam-font-sans);
}

.cam-screen  .table-container thead,
.cam-screen .table-container tbody tr {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.cam-screen .table-container tbody {
  display: block;
  max-height: 300px;   /* adjust as needed */
  overflow-y: auto;
}

.cam-screen .table-container thead {
  width: calc(100% - 1em); /* prevents header/body misalignment */
}

.cam-screen th {
    text-align: left;
    padding: 1rem 1.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--cam-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background-color: rgba(30, 41, 59, 0.5);
    border-bottom: 1px solid var(--cam-border-dark);
    white-space: nowrap;
}

.cam-screen td {
    padding: 1.25rem;
    font-size: 0.875rem;
    color: var(--cam-text-light);
    border-bottom: 1px solid var(--cam-border-dark);
    vertical-align: middle;
    text-wrap-mode: nowrap;
}

.cam-screen tr:last-child td {
    border-bottom: none;
}

.cam-screen tr:hover {
    background-color: rgba(59, 130, 246, 0.05);
    transition: background-color 0.2s ease;
}

.cam-screen .batch-id {
    color: var(--cam-primary);
    cursor: pointer;
    font-weight: 500;
    transition: color 0.2s ease;
}

.cam-screen .batch-id:hover {
    color: var(--cam-primary-hover);
    text-decoration: underline;
}

.cam-screen .status-badge {
    padding: 0.375rem 0.75rem;
    border-radius: 1rem;
    font-size: 0.75rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    white-space: nowrap;
    width: 7rem;
    max-width: 100%;
    justify-content: center;
}

.cam-screen .status-completed {
    background: rgba(16, 185, 129, 0.15);
    color: #10b981;
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.cam-screen .status-processing {
    background: rgba(59, 130, 246, 0.15);
    color: var(--cam-primary);
    border: 1px solid rgba(59, 130, 246, 0.3);
}

.cam-screen .status-pending {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.cam-screen .status-failed {
    background: rgba(239, 68, 68, 0.15);
    color: var(--cam-danger-color);
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.cam-screen .check-icon {
    color: #10b981;
    font-size: 0.875rem;
    font-weight: bold;
}

.cam-screen .ocrStatus i {
    height: 1.5rem;
    width: 1.5rem;
    text-align: center;
    align-content: center;
    border-radius: 50%;
}

.cam-screen .dash-icon {
    color: var(--cam-text-muted);
    font-size: 0.875rem;
}

.cam-screen td i {
    font-size: 0.875rem;
}

.cam-screen .ellipsis {
    display: inline-block;
    width: 10rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: middle;
}

/* Responsive table */
@media (max-width: 768px) {
    .cam-screen .table-container {
        border-radius: 0.5rem;
        overflow-x: auto;
    }
    
    .cam-screen table {
        min-width: 800px;
    }
    
    .cam-screen th,
    .cam-screen td {
        padding: 0.75rem 1rem;
    }
}

.cam-screen .related-scroll {
  max-height: 350px;   
  overflow-y: auto;
  padding-right: 6px;
}

.cam-screen .related-scroll button {
  position: absolute;
  padding-top: 10px;
  right: 2.8rem;
  top: 0.8rem;
}