/* =========================================
   IMMOTECH Login (2026 modern)
   Palette: Gold #DBAD6F | Teal #057B95
========================================= */

:root{
  --imm-gold:#DBAD6F;
  --imm-teal:#057B95;
  --imm-dark:#0f172a;
  --imm-card:rgba(255,255,255,.78);
  --imm-border:rgba(255,255,255,.28);
  --imm-shadow: 0 18px 40px rgba(0,0,0,.18);
  --imm-text:#0b1220;
  --imm-muted:rgba(15,23,42,.65);
}

.immotech-login{
  min-height: 100vh;
  overflow: hidden;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, "Helvetica Neue", Arial;
  color: var(--imm-text);
}

/* Background */
.immotech-bg{
  position: fixed;
  inset: 0;
  background:
    radial-gradient(1100px 700px at 15% 25%, rgba(5,123,149,.22), transparent 60%),
    radial-gradient(900px 600px at 85% 30%, rgba(219,173,111,.26), transparent 60%),
    radial-gradient(900px 700px at 50% 90%, rgba(5,123,149,.10), transparent 55%),
    linear-gradient(180deg, #eef2f7, #e9eef5);
  z-index: 0;
}

.immotech-noise{
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(rgba(0,0,0,.06) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: .12;
  pointer-events: none;
}

.immotech-orb{
  position:absolute;
  filter: blur(40px);
  opacity: .55;
  border-radius: 999px;
  z-index: 0;
}
.orb-1{ width: 260px; height: 260px; background: rgba(5,123,149,.35); left: -70px; top: 140px; }
.orb-2{ width: 300px; height: 300px; background: rgba(219,173,111,.40); right: -90px; top: 120px; }
.orb-3{ width: 240px; height: 240px; background: rgba(5,123,149,.22); left: 45%; bottom: -110px; transform: translateX(-50%); }

/* Layout wrapper */
.immotech-login-wrap{
  position: relative;
  z-index: 2;
  width: min(460px, 92vw);
  margin: 0 auto;
  padding: 34px 0 26px;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}

/* Header */
.immotech-login-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 0 6px;
}

.brand-app{
  display:flex;
  align-items:center;
  gap: 12px;
}

.brand-mark{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  letter-spacing: .5px;
  color: #0b1220;
  background: linear-gradient(135deg, rgba(219,173,111,1), rgba(219,173,111,.72));
  box-shadow: 0 12px 26px rgba(219,173,111,.22);
}

.brand-title{
  font-size: 24px;
  font-weight: 900;
  line-height: 1.05;
}

.brand-subtitle{
  margin-top: 2px;
  font-size: 12.5px;
  color: var(--imm-muted);
  font-weight: 600;
}

.brand-logo{
  height: 34px;
  max-width: 170px;
  object-fit: contain;
  filter: drop-shadow(0 6px 12px rgba(0,0,0,.12));
}

/* Card */
.immotech-card{
  background: var(--imm-card);
  border: 1px solid var(--imm-border);
  backdrop-filter: blur(14px);
  border-radius: 18px;
  box-shadow: var(--imm-shadow);
  padding: 18px 18px 16px;
}

.immotech-card-top{
  margin-bottom: 12px;
}

.immotech-card-title{
  font-weight: 900;
  font-size: 20px;
}

.immotech-card-desc{
  margin-top: 4px;
  color: var(--imm-muted);
  font-weight: 600;
  font-size: 13px;
}

/* Inputs */
.immotech-label{
  font-weight: 800;
  font-size: 12.5px;
  color: rgba(15,23,42,.72);
  margin-bottom: 6px;
}

.immotech-input{
  position: relative;
}

.immotech-input i{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 12px;
  color: rgba(15,23,42,.55);
}

.immotech-input .form-control{
  padding-left: 38px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: none !important;
  height: 44px;
}

.immotech-input .form-control:focus{
  border-color: rgba(5,123,149,.50);
  box-shadow: 0 0 0 .2rem rgba(5,123,149,.15) !important;
}

/* Button */
.immotech-btn{
  background: linear-gradient(135deg, rgba(5,123,149,1), rgba(5,123,149,.78));
  color: #fff;
  border: none;
  border-radius: 12px;
  font-weight: 900;
  padding: 10px 14px;
  box-shadow: 0 12px 26px rgba(5,123,149,.22);
}
.immotech-btn:hover{
  color:#fff;
  filter: brightness(1.02);
}

/* Remember */
.immotech-remember{
  font-weight: 700;
  color: rgba(15,23,42,.62);
}

/* Hint */
.immotech-hint{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(0,0,0,.05);
  color: rgba(15,23,42,.70);
  font-size: 12.5px;
  font-weight: 600;
}

/* Footer */
.immotech-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 0 6px;
  color: rgba(15,23,42,.62);
  font-weight: 700;
  font-size: 12px;
}

.immotech-footer .dot{
  width: 8px;
  height: 8px;
  display:inline-block;
  border-radius: 999px;
  background: rgba(34,197,94,.9);
  box-shadow: 0 0 0 3px rgba(34,197,94,.12);
  margin-right: 8px;
}

.footer-logo{
  height: 22px;
  object-fit: contain;
  opacity: .95;
}
