 :root {
     --primary: #139B6A;
     --secondary: #FFC639;
     --dark: #1e293b;

     --primary-cyan: #00d4ff;
     --primary-dark: #0a0f1c;
     --text-light: #8892b0;
     --accent-orange: #ff8c00;
     --accent-blue: #6c9bd1;
     --primary-gray: #e9e8e8;
     --primary-blue: #001a42;
 }

 body {
     font-family: 'Inter', sans-serif !important;
     background: white;
     color: var(--primary-dark) !important;
     line-height: 1.6 !important;
 }

 .bg-blue-ottm {
     background-color: var(--primary-blue) !important;
 }

 .bg-gray-ottm {
     background-color: var(--primary-gray) !important;
 }

 .bg-cyan-ottm {
     background-color: var(--primary-cyan) !important;
 }

 .bg-primary {
     background-color: var(--primary);
 }

 .text-yellow-ottm {
     color: var(--secondary);
 }

 .text-primary {
     color: var(--primary);
 }

 .border-primary {
     border-color: var(--primary);
 }

 .bg-secondary {
     background-color: var(--secondary);
 }

 /* Camera viewport styles */
 .camera-viewport {
     position: relative;
     width: 100%;
     max-width: 400px;
     margin: 0 auto;
 }

 .camera-overlay {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 250px;
     height: 250px;
     border: 3px solid var(--primary);
     border-radius: 50%;
     pointer-events: none;
     z-index: 10;
 }

 .face-guide {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     width: 200px;
     height: 250px;
     border: 2px dashed rgba(255, 255, 255, 0.5);
     border-radius: 50% 50% 60% 60%;
     pointer-events: none;
     z-index: 11;
 }

 /* Progress indicator */
 .progress-step {
     transition: all 0.3s ease;
 }

 .progress-step.active {
     background-color: var(--primary);
     color: white;
 }

 .progress-step.completed {
     background-color: #10b981;
     color: white;
 }

 /* Mobile optimizations */
 @media (max-width: 640px) {
     .camera-overlay {
         width: 200px;
         height: 200px;
     }

     .face-guide {
         width: 160px;
         height: 200px;
     }
 }

 /* Bot Assistant Styles */
 .bot-container {
     position: fixed;
     bottom: 20px;
     right: 20px;
     z-index: 1000;
 }

 .bot-button {
     width: 60px;
     height: 60px;
     border-radius: 50%;
     background: var(--primary);
     color: white;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
     transition: all 0.3s ease;
 }

 .bot-button:hover {
     transform: scale(1.1);
     box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
 }

 .bot-chat {
     position: absolute;
     bottom: 80px;
     right: 0;
     width: 350px;
     max-width: 90vw;
     background: white;
     border-radius: 16px;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
     overflow: hidden;
 }

 .dark .bot-chat {
     background: #1f2937;
 }

 /* Loading spinner */
 .spinner {
     border: 3px solid rgba(255, 255, 255, 0.3);
     border-radius: 50%;
     border-top: 3px solid white;
     width: 24px;
     height: 24px;
     animation: spin 1s linear infinite;
 }

 @keyframes spin {
     0% {
         transform: rotate(0deg);
     }

     100% {
         transform: rotate(360deg);
     }
 }



 .loader-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-color: rgba(255, 255, 255, 0.7);
     display: flex;
     align-items: center;
     justify-content: center;
     z-index: 9999;
 }

 .spinner {
     width: 50px;
     height: 50px;
     border: 5px solid rgba(0, 0, 0, 0.1);
     border-top-color: #3498db;
     border-radius: 50%;
     animation: spin 1s linear infinite;
 }

 @keyframes spin {
     to {
         transform: rotate(360deg);
     }
 }

 .d-none {
     display: none !important;
 }

 input,
 select {
     border: none;
     background: white !important;
     outline: none !important;
     flex: 1;
     color: #333 !important;
     border-radius: 1rem !important;
 }