/* ============================================================
   Split-Screen Login Layout — Quinta da Baroneza TI
   ============================================================ */

/* --- Reset & Container ------------------------------------ */
body.login-split-body {
   margin: 0;
   padding: 0;
   overflow: hidden;
   height: 100vh;
}

.login-split-container {
   display: flex;
   width: 100%;
   height: 100vh;
   min-height: 100vh;
}

/* --- Left Panel ------------------------------------------- */
.login-left-panel {
   width: 43%;
   background: linear-gradient(155deg, #1e5c2e 0%, #0f3318 100%);
   position: relative;
   overflow: hidden;
   display: flex;
   align-items: center;
   padding: 3rem 3.5rem;
   flex-shrink: 0;
}

.login-left-content {
   position: relative;
   z-index: 2;
   color: #fff;
   max-width: 400px;
}

/* Logo */
.login-logo-area {
   margin-bottom: 2.25rem;
}

.login-baroneza-logo {
   display: block;
   max-width: 260px;
   max-height: 150px;
   width: auto;
   height: auto;
   filter: brightness(0) invert(1);
   opacity: 0.92;
}

/* Brand text */
.login-brand-title {
   font-size: 1.9rem;
   font-weight: 700;
   color: #fff;
   line-height: 1.2;
   margin: 0 0 0.6rem 0;
   letter-spacing: -0.02em;
}

.login-brand-dept {
   color: rgba(255, 255, 255, 0.68);
   font-size: 0.875rem;
   margin: 0 0 1.5rem 0;
   font-weight: 400;
}

.login-brand-divider {
   width: 2rem;
   height: 2px;
   background: rgba(255, 255, 255, 0.3);
   border: none;
   margin: 0 0 1.75rem 0;
}

.login-features-list {
   list-style: none;
   padding: 0;
   margin: 0;
}

.login-features-list li {
   color: rgba(255, 255, 255, 0.72);
   font-size: 0.875rem;
   padding: 0.32rem 0 0.32rem 1.25rem;
   position: relative;
   line-height: 1.4;
}

.login-features-list li::before {
   content: '•';
   position: absolute;
   left: 0;
   color: rgba(255, 255, 255, 0.4);
   font-size: 1.1rem;
   line-height: 1.3;
}

/* Decorative circles */
.login-deco-circle {
   position: absolute;
   border-radius: 50%;
   pointer-events: none;
}

.login-deco-c1 {
   width: 340px;
   height: 340px;
   bottom: -110px;
   right: -100px;
   background: rgba(255, 255, 255, 0.065);
}

.login-deco-c2 {
   width: 230px;
   height: 230px;
   top: 15px;
   right: -35px;
   background: rgba(255, 255, 255, 0.05);
}

.login-deco-c3 {
   width: 150px;
   height: 150px;
   top: 52%;
   right: 115px;
   transform: translateY(-50%);
   background: rgba(255, 255, 255, 0.04);
}

/* --- Right Panel ------------------------------------------ */
.login-right-panel {
   flex: 1;
   background: #ecede7;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 2rem;
}

.login-right-inner {
   width: 100%;
   max-width: 450px;
}

/* --- Card ------------------------------------------------- */
.login-card {
   background: #ffffff;
   border-radius: 1rem;
   padding: 2.5rem 2.5rem 2.25rem;
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.07);
}

.login-card-footer {
   text-align: center;
   margin-top: 1rem;
   font-size: 0.78rem;
   color: #aaa;
}

/* --- Card Heading ----------------------------------------- */
.login-card-heading {
   margin-bottom: 1.75rem;
}

.login-card-heading h2 {
   font-size: 1.45rem;
   font-weight: 700;
   color: #161616;
   margin: 0 0 0.3rem 0;
   letter-spacing: -0.01em;
}

.login-card-heading p {
   color: #4d9160;
   font-size: 0.875rem;
   margin: 0;
}

/* --- Form Labels ------------------------------------------ */
.login-label {
   font-size: 0.72rem !important;
   font-weight: 700 !important;
   letter-spacing: 0.07em !important;
   color: #666 !important;
   text-transform: uppercase !important;
   margin-bottom: 0.4rem !important;
   display: block;
}

/* --- Input Fields ----------------------------------------- */
.login-input-wrapper {
   position: relative;
}

.login-input-icon {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   color: #c69860;
   font-size: 0.85rem;
   z-index: 3;
   pointer-events: none;
   line-height: 1;
}

.login-input-icon.icon-left  { left: 0.85rem; }
.login-input-icon.icon-right { right: 0.85rem; }

.login-input {
   width: 100%;
   padding: 0.6rem 2.4rem 0.6rem 2.4rem !important;
   border-radius: 0.5rem !important;
   border: 1.5px solid #dde0d8 !important;
   background: #f9faf6 !important;
   color: #161616 !important;
   font-size: 0.9rem !important;
   height: 2.75rem;
   transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
   box-sizing: border-box;
}

.login-input:focus {
   border-color: #4d9160 !important;
   box-shadow: 0 0 0 3px rgba(77, 145, 96, 0.13) !important;
   background: #fff !important;
   outline: none !important;
}

.login-input::placeholder {
   color: #bbb !important;
   font-size: 0.855rem;
}

/* --- Submit Button ---------------------------------------- */
.login-submit-btn {
   background: #2d5a3d !important;
   color: #fff !important;
   border: none !important;
   border-radius: 0.5rem !important;
   width: 100%;
   height: 2.75rem;
   font-size: 0.9rem !important;
   font-weight: 600 !important;
   letter-spacing: 0.025em;
   cursor: pointer;
   transition: background 0.2s ease, transform 0.1s ease !important;
   display: block;
}

.login-submit-btn:hover,
.login-submit-btn:focus {
   background: #245030 !important;
   transform: translateY(-1px);
   color: #fff !important;
}

.login-submit-btn:active {
   transform: translateY(0);
}

/* --- Responsive ------------------------------------------- */
@media (max-width: 900px) {
   body.login-split-body {
      overflow: auto;
      height: auto;
   }

   .login-split-container {
      flex-direction: column;
      height: auto;
      min-height: 100vh;
   }

   .login-left-panel {
      width: 100%;
      min-height: 210px;
      padding: 2rem 1.75rem;
      align-items: flex-start;
   }

   .login-brand-title {
      font-size: 1.45rem;
   }

   .login-features-list {
      display: none;
   }

   .login-deco-c3 {
      display: none;
   }

   .login-right-panel {
      align-items: flex-start;
      padding: 2rem 1.25rem 3rem;
   }
}

@media (max-width: 480px) {
   .login-card {
      padding: 1.75rem 1.25rem 1.5rem;
      border-radius: 0.75rem;
   }

   .login-brand-title {
      font-size: 1.2rem;
   }
}
