 :root {
   --primary: #ff6600;
   --primary-dark: #e65c00;
   --grey: #999999;
   --border-grey: #ddd;
   --input-grey: #ccc;
   --label-grey: #666;
 }

 body {
   font-family: Arial, sans-serif;
   background: #f8f9fa;
   margin: 0;
   padding: 0;
   min-height: 100vh;
   display: flex;
   align-items: center;
   justify-content: center;
 }


 .main {
   display: flex;
   align-items: center;
   justify-content: center;
   height: 100vh;
   width: 100%;
 }

 /* Overall container centers the card content */
 .bgcont {
   width: 62%;
   height: 100vh;
   padding: 0 2rem;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   justify-content: center;
   background: #f8f9fa;
   /* position: relative; */
 }

 /* Top section: heading + description */
 .bgconttop {
   padding: 1rem;
   z-index: 2;
   max-width: 800px;
 }

 .bgconttop h1 {
   font-size: 2.6rem;
   line-height: 1.07;
   color: var(--text-main);
   font-weight: 900;
   margin-bottom: 1.1rem;
 }

 .highlight {
   color: var(--primary);
   font-weight: 900;
 }

 .bgconttop .desc {
   font-size: 1.15rem;
   color: #6c6c6c;
   font-weight: 400;
   max-width: 564px;
   margin-bottom: 0.3rem;
   line-height: 1.6;
 }

 /* Image illustration styles */
 .img-illustration {
   width: 100%;
   display: flex;
   justify-content: end;
   align-items: flex-end;
   margin-top: 1.1rem;
   margin-bottom: 2.5rem;
   z-index: 1;
 }

 /* #f6eada */
 .background-image {
   width: 57%;
   max-width: 820px;
   height: auto;
   display: block;
 }

 /* Bottom product attribution */
 .bgcontbottom {
   width: 100%;
   font-size: 1.13rem;
   color: #000;
   text-align: left;
   padding-left: 1rem;
   font-weight: 500;
   letter-spacing: .01em;
 }

 .brand {
   color: var(--primary);
   font-weight: 600;
 }


 .login-panel {
   height: 100vh;
   width: 35%;
   min-width: 320px;
   background: #f8f9fa;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   z-index: 2;
 }

 .panel-content {
   height: 63vh;
   width: 72%;
   min-width: 320px;
   padding: 2rem;
   margin-right: 2.5rem;
   text-align: center;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   background: rgba(255, 255, 255, 0.97);
   border-radius: 1.3rem;
   box-shadow: 0 8px 32px 0 rgba(44, 63, 95, 0.15);
 }

 .panel-logo {
   width: 55%;
   margin: 1rem auto;
   display: block;

 }

 .panelheading {
   margin: 2rem 0;
   display: flex;
   flex-direction: column;
   gap: 0.5rem;
 }


 h2 {
   color: #242424;
   font-size: 2rem;
   font-weight: 700;
   margin: 0;
   /* margin-top: 1.8rem; */
   letter-spacing: 1px;
 }

 form {
   margin-top: 1rem;
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   text-align: left;
   justify-content: space-evenly;
   height: 49%;
   width: 100%;
 }

 label {
   display: block;
   margin-bottom: 0.6rem;
   font-weight: 600;
   color: #555;
   text-align: left;
   font-size: 1.05rem;
 }

 input[type="text"],
 input[type="password"] {
   width: 90%;
   padding: 0.80rem;
   margin-bottom: 1.2rem;
   border-radius: 0.5rem;
   border: 1px solid #e0e0e0;
   font-size: 1.07rem;
   background: #f6f6f6;
 }

 input[type="text"]:focus,
 input[type="password"]:focus {
   outline: none;
   border: 1.5px solid #ff8400;
   background: #fff;
 }

 .login-btn {
   width: 65%;
   padding: 0.85rem;
   background: #ff8400;
   border: none;
   border-radius: 0.5rem;
   color: #fff;
   font-weight: 700;
   font-size: 1.07rem;
   cursor: pointer;
   margin-top: 1rem;
   margin-left: 4rem;
   transition: background 0.2s;
 }

 .login-btn:hover {
   background: #d7660a;
 }

 .hint {
   color: #888;
   font-size: 0.93rem;
   margin: 0;
 }

 @media (max-width: 900px) {
   .login-panel {
     width: 90vw;
     height: 80vh;
     min-width: 260px;
     max-width: none;
   }

   .panel-content {
     width: 96%;
   }
 }

 @media (max-width: 600px) {
   .login-panel {
     border-radius: 0.6rem;
     height: 90vh;
     width: 99vw;
     min-width: 0px;
   }

   .panel-content {
     width: 99%;
   }

   h2 {
     font-size: 1.3rem;
   }
 }

 @media (max-width: 900px) {
   .bgconttop {
     margin-left: 2vw;
   }

   .background-image {
     width: 94vw;
     max-width: 96vw;
   }

   .img-illustration {
     margin-bottom: 1.3rem;
   }
 }

 @media (max-width: 600px) {
   .bgconttop h1 {
     font-size: 1.2rem;
   }

   .bgcontbottom {
     font-size: .94rem;
     padding: 2rem 0 1rem 2vw;
   }
 }