 /* Modern CSS Reset and Base Styles */
 @font-face {
     font-family: ShareTechMono;
     src: url(../font/ShareTechMono-Regular.otf);
     src: url(../font/ShareTechMono-Regular.ttf);
 }

 @font-face {
     font-family: VictorMono;
     src: url(../font/VictorMono.ttf);
 }

 @font-face {
     font-family: 'Solaiman';
     src: url('../font/SolaimanLipi.eot');
     src: local('☺'),
         url('../font/SolaimanLipi.woff') format('woff'),
         url('../font/SolaimanLipi.ttf') format('truetype'),
         url('../font/SolaimanLipi.svg') format('svg');
     font-weight: normal;
     font-style: normal;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

:root {
     /* Color Palette */
     --primary: #6366f1;
     --primary-hover: #5855eb;
     --primary-light: #e0e7ff;
     --secondary: #64748b;
     --success: #10b981;
     --warning: #f59e0b;
     --danger: #ef4444;
     --dark: #1e293b;
     --light: #f8fafc;
     --white: #ffffff;
     --gray-50: #f9fafb;
     --gray-100: #f3f4f6;
     --gray-200: #e5e7eb;
     --gray-300: #d1d5db;
     --gray-400: #9ca3af;
     --gray-500: #6b7280;
     --gray-600: #4b5563;
     --gray-700: #374151;
     --gray-800: #1f2937;
     --gray-900: #111827;

     /* Typography */
     --font-size-xs: 0.75rem;
     --font-size-sm: 0.875rem;
     --font-size-base: 1.1rem;
     --font-size-lg: 1.125rem;
     --font-size-xl: 1.25rem;
     --font-size-2xl: 1.5rem;
     --font-size-3xl: 1.875rem;
     --font-size-4xl: 2.25rem;

     /* Spacing */
     --spacing-1: 0.25rem;
     --spacing-2: 0.5rem;
     --spacing-3: 0.75rem;
     --spacing-4: 1rem;
     --spacing-5: 1.25rem;
     --spacing-6: 1.5rem;
     --spacing-8: 2rem;
     --spacing-10: 2.5rem;
     --spacing-12: 3rem;

     /* Border Radius */
     --radius-sm: 0.375rem;
     --radius: 0.5rem;
     --radius-lg: 0.75rem;
     --radius-xl: 1rem;

     /* Shadows */
     --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
     --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
     --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
     --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
     --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
 }

 body {
     font-family: VictorMono, 'Segoe UI', Roboto, sans-serif;
     line-height: 1.6;
     color: var(--gray-700);
     background: linear-gradient(135deg, var(--gray-50) 0%, var(--primary-light) 100%);
     min-height: 100vh;
 }

/* Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
}

 /* Container */
 .container {
     max-width: 1200px;
     margin: 0 auto;
     padding: var(--spacing-4);
 }

 /* Typography */
 .title {
     font-size: var(--font-size-4xl);
     font-weight: 800;
     color: var(--dark);
     margin-bottom: var(--spacing-4);
     background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
     background-clip: text;
     text-align: center;
     letter-spacing: -0.025em;
 }

 .subtitle {
     font-size: var(--font-size-xl);
     font-weight: 600;
     color: var(--gray-600);
     margin-bottom: var(--spacing-6);
     text-align: center;
 }

 /* Header */
 .header {
     background: rgba(255, 255, 255, 0.95);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(255, 255, 255, 0.2);
     border-radius: var(--radius-xl);
     padding: var(--spacing-6);
     margin-bottom: var(--spacing-8);
     box-shadow: var(--shadow-lg);
     position: relative;
     overflow: hidden;
 }

 .header::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 4px;
     background: linear-gradient(90deg, var(--primary), var(--success), var(--warning));
 }

 /* Card Container */
 .card {
     background: rgba(255, 255, 255, 0.9);
     backdrop-filter: blur(20px);
     border: 1px solid rgba(255, 255, 255, 0.2);
     border-radius: var(--radius-xl);
     padding: var(--spacing-8);
     margin-bottom: var(--spacing-6);
     box-shadow: var(--shadow-lg);
     transition: all 0.3s ease;
     position: relative;
     overflow: hidden;
 }

 .card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 2px;
     background: linear-gradient(90deg, var(--primary), var(--primary-hover));
     transform: scaleX(0);
     transform-origin: left;
     transition: transform 0.3s ease;
 }

 .card:hover {
     transform: translateY(-4px);
     box-shadow: var(--shadow-xl);
 }

 .card:hover::before {
     transform: scaleX(1);
 }

 /* Form Elements */
 .form-group {
     margin-bottom: var(--spacing-6);
 	font-family: VictorMono;
 }

 .form-row {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: var(--spacing-4);
 }

 .label {
     display: inline-block;
 	 width: 150px;
     font-size: var(--font-size-sm);
     font-weight: 400;
     color: var(--gray-700);
     margin-bottom: var(--spacing-2);
     text-transform: capitalize;
     letter-spacing: 0.05em;
     font-family: Solaiman;
     font-size: 18px;
 }

.label-top {
     display: block;
     font-family: Solaiman;
     font-size: 20px;
 }

.label-left {
     display: inline-block;
     font-family: Solaiman;
     font-size: 20px;
	 width: 160px;
 }

.label-left-wide {
     display: inline-block;
     font-family: Solaiman;
     font-size: 20px;
	 width: 240px;
 }
 .label-left-wider {
     display: inline-block;
     font-family: Solaiman;
     font-size: 20px;
	 width: 260px;
 }
 .section-title {
     font-size: var(--font-size-2xl);
     font-weight: 700;
     color: var(--dark);
     margin-bottom: var(--spacing-4);
     position: relative;
     padding-left: var(--spacing-4);
 }

 .section-title::before {
     content: '';
     position: absolute;
     left: 0;
     top: 50%;
     transform: translateY(-50%);
     width: 4px;
     height: 100%;
     background: linear-gradient(to bottom, var(--primary), var(--primary-hover));
     border-radius: var(--radius);
 }
.gpa-cr {
	width: 120px !important;
}

 .input,
 .select,
 .textarea {
     width: 100%;
     padding: var(--spacing-3) var(--spacing-4);
     border: 2px solid var(--gray-200);
     border-radius: var(--radius-lg);
     font-size: var(--font-size-base);
     color: var(--gray-700);
     background: var(--white);
     transition: all 0.3s ease;
     position: relative;
 }

 .input:focus,
 .select:focus,
 .textarea:focus {
     outline: none;
     border-color: var(--primary);
     box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
     transform: translateY(-1px);
 }

 .input:hover,
 .select:hover,
 .textarea:hover {
     border-color: var(--gray-300);
 }

 .textarea {
     resize: vertical;
     min-height: 120px;
 }

 .btn {
 	 background-color: rgb(11, 94, 215);
 	 color: #fff; 
 	 cursor: pointer;
 	 font-family: Solaiman;
 	 font-size: 20px;
 }

.btn:hover {
 	 background-color: rgb(41, 134, 215);
 	 color: #fff; 
 }

 /* Animations */
 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(30px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .card,
 .header {
     animation: fadeInUp 0.6s ease-out;
 }

 .card:nth-child(2) {
     animation-delay: 0.1s;
 }

 .card:nth-child(3) {
     animation-delay: 0.2s;
 }

 .card:nth-child(4) {
     animation-delay: 0.3s;
 }

 /* Utility Classes */
 .text-center {
     text-align: center;
 }


 .mb-4 {
     margin-bottom: var(--spacing-4);
 }

 .mt-4 {
     margin-top: var(--spacing-4);
 }

 .p-4 {
     padding: var(--spacing-4);
 }

 .err {
     color: var(--danger);
 }

 .info {
     font-weight: bold;
     color: green;
 }

 .email-info {
     background-color: #f1f1f1;
     padding: 10px;
     border-left: 5px solid #004080;
     margin-bottom: 20px;
 }

 .email-container {
     background-color: #ffffff;
     padding: 20px;
     border-radius: 8px;
     box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
     max-width: 600px;
     margin: auto;
 }

 h4 { color: #004080; }

 .hint {
     font-weight: normal;
     color: black;
     background: #bbb;
     padding: 0px;
 }

 .en {
     font-family: VictorMono;
     font-size: 18px;
 }

 .bn {
     font-family: Solaiman;
     font-size: 18px;
 }

.bn-l {
     font-family: Solaiman;
     font-size: 24px;
 }

.bn-xl {
     font-family: Solaiman;
     font-size: 32px;
 }

 .alert {
     padding: var(--spacing-3);
     border-radius: var(--radius);
     margin-bottom: var(--spacing-4);
     font-size: var(--font-size-sm);
 }

