/* NordNettCare – responsive branded login, scoped only to .nc-branded-login */
body.task-login.nc-branded-login {
  --nc-ink: #152a3b;
  --nc-muted: #647989;
  --nc-teal: #0e827b;
  --nc-border: #dce7ec;
  background: #edf5f7 !important;
  color: var(--nc-ink);
  overflow-x: hidden;
}
body.task-login.nc-branded-login #layout,
body.task-login.nc-branded-login #layout-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh;
  min-height: 100dvh;
  height: auto !important;
  overflow: visible !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.task-login.nc-branded-login #logo {
  display: none !important;
}
body.task-login.nc-branded-login .nc-login-stage {
  display: grid;
  grid-template-columns: minmax(320px, 1.05fr) minmax(360px, .95fr);
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Roboto, Arial, sans-serif;
  text-align: left;
}
body.task-login.nc-branded-login .nc-login-hero {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  color: white;
  min-height: 100vh;
  min-height: 100dvh;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(30px, 4.6vw, 72px);
  background: radial-gradient(ellipse at 88% 14%, rgba(99, 225, 205, .29), transparent 43%),
              radial-gradient(ellipse at 0% 95%, rgba(63, 123, 166, .30), transparent 53%),
              linear-gradient(146deg, #102a3e 3%, #064c60 58%, #08796f 100%);
}
body.task-login.nc-branded-login .nc-login-hero::after {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  right: -180px;
  bottom: 12%;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(255,255,255,.026), 0 0 0 164px rgba(255,255,255,.023);
  z-index: -1;
}
body.task-login.nc-branded-login .nc-hero-header,
body.task-login.nc-branded-login .nc-brand-lockup {
  display: flex;
  align-items: center;
}
body.task-login.nc-branded-login .nc-hero-header { justify-content: space-between; gap: 14px; }
body.task-login.nc-branded-login .nc-brand-lockup { gap: 12px; }
body.task-login.nc-branded-login .nc-brand-mark {
  width: 43px;
  height: 43px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.5);
  background: rgba(255,255,255,.11);
  border-radius: 12px;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.08em;
  padding-right: 3px;
}
body.task-login.nc-branded-login .nc-brand-name { font-size: 22px; font-weight: 760; letter-spacing: -.7px; }
body.task-login.nc-branded-login .nc-hero-badge {
  font-size: 10px; font-weight: 750; letter-spacing: .16em;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px; padding: 8px 12px;
  color: #c4e9e8;
}
body.task-login.nc-branded-login .nc-hero-message { max-width: 570px; margin: 80px 0 56px; }
body.task-login.nc-branded-login .nc-hero-eyebrow,
body.task-login.nc-branded-login .nc-panel-kicker {
  font-size: 11px; font-weight: 760; letter-spacing: .14em;
}
body.task-login.nc-branded-login .nc-hero-eyebrow { color: #a0e5dc; }
body.task-login.nc-branded-login .nc-hero-title {
  margin: 19px 0 22px;
  font-weight: 790;
  letter-spacing: -.048em;
  line-height: 1.1;
  font-size: clamp(38px, 3.7vw, 64px);
  color: white;
}
body.task-login.nc-branded-login .nc-hero-title span { color: #a0e5d8; }
body.task-login.nc-branded-login .nc-hero-description {
  max-width: 430px;
  margin: 0 0 32px;
  color: #d0e8ea;
  line-height: 1.75;
  font-size: 15px;
}
body.task-login.nc-branded-login .nc-hero-features { display: grid; gap: 12px; }
body.task-login.nc-branded-login .nc-hero-feature { display: flex; align-items: center; gap: 11px; font-size: 14px; color: #e9f6f6; }
body.task-login.nc-branded-login .nc-feature-check {
  display: grid; place-items: center; border-radius: 50%; width: 23px; height: 23px;
  background: rgba(125,240,207,.15); color: #abf1e0; font-size: 13px;
}
body.task-login.nc-branded-login .nc-hero-bottom { color: #a6cbd0; font-size: 12px; letter-spacing: .04em; }
body.task-login.nc-branded-login .nc-login-area {
  display: grid;
  place-items: center;
  padding: 34px 28px;
  background: linear-gradient(145deg, #f4fafc 0%, #edf4f7 100%);
}
body.task-login.nc-branded-login .nc-login-panel {
  width: 100%; max-width: 482px;
  padding: clamp(32px, 4.1vw, 60px);
  background: #fff;
  border: 1px solid #e3ebef;
  border-radius: 24px;
  box-shadow: 0 25px 75px rgba(19,54,71,.12), 0 3px 13px rgba(19,54,71,.035);
}
body.task-login.nc-branded-login .nc-panel-kicker { color: #117f7b; }
body.task-login.nc-branded-login .nc-panel-title {
  font-size: clamp(26px, 2.2vw, 34px);
  font-weight: 780; letter-spacing: -.035em; line-height: 1.2;
  margin: 13px 0 9px; color: #162e3e;
}
body.task-login.nc-branded-login .nc-panel-subtitle {
  color: #708391; font-size: 14px; line-height: 1.6; margin: 0 0 32px;
}
body.task-login.nc-branded-login #login-form {
  display: block;
  position: static !important;
  top: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
body.task-login.nc-branded-login .nc-field-label {
  display: block; font-size: 13px; font-weight: 700;
  margin: 13px 0 9px; color: #304557;
}
body.task-login.nc-branded-login #login-form input[type='text'],
body.task-login.nc-branded-login #login-form input[type='email'],
body.task-login.nc-branded-login #login-form input[type='password'] {
  width: 100%; height: 49px; border: 1px solid #cfdae1;
  background-color: #f8fbfc; color: #172b3a;
  border-radius: 11px; font-size: 14px;
  box-shadow: none; transition: border-color .16s ease, box-shadow .16s ease;
}
body.task-login.nc-branded-login #login-form input:focus {
  border-color: #138a85;
  outline: 0;
  box-shadow: 0 0 0 4px rgba(15, 133, 125, .13);
}
body.task-login.nc-branded-login #rcmloginsubmit,
body.task-login.nc-branded-login #login-form button[type='submit'] {
  width: 100%; min-height: 49px; border-radius: 11px; font-size: 14px;
  letter-spacing: .01em; font-weight: 750;
  color: white; border: none;
  background: linear-gradient(95deg, #106a78, #0b8a80);
  box-shadow: 0 8px 19px rgba(8,117,109,.18);
  margin-top: 16px;
}
body.task-login.nc-branded-login #rcmloginsubmit:hover,
body.task-login.nc-branded-login #login-form button[type='submit']:hover {
  background: linear-gradient(95deg, #0a586a, #087770);
}
body.task-login.nc-branded-login #login-footer {
  margin-top: 22px; font-size: 12px; color: #82939e; text-align: center;
}
body.task-login.nc-branded-login #login-footer > div { background: transparent; padding: 0; }
body.task-login.nc-branded-login #login-footer a { color: #0c7c77; font-weight: 650; }
body.task-login.nc-branded-login .nc-panel-links {
  display: flex; justify-content: center;
  border-top: 1px solid #e7eef1;
  padding-top: 22px; margin-top: 22px;
}
body.task-login.nc-branded-login .nc-back-home {
  color: #107d7a; font-size: 13px; font-weight: 710; text-decoration: none;
}
body.task-login.nc-branded-login .nc-back-home:hover { text-decoration: underline; }
body.task-login.nc-branded-login .nc-security-note {
  color: #91a0a8; text-align: center; margin: 18px 0 0; font-size: 11px; line-height: 1.5;
}
@media (max-width: 820px) {
  body.task-login.nc-branded-login .nc-login-stage { display: flex; flex-direction: column; min-height: 100dvh; }
  body.task-login.nc-branded-login .nc-login-hero { min-height: auto; padding: 20px 25px 28px; }
  body.task-login.nc-branded-login .nc-brand-mark { width: 36px; height: 36px; font-size: 23px; }
  body.task-login.nc-branded-login .nc-brand-name { font-size: 19px; }
  body.task-login.nc-branded-login .nc-hero-header { padding-bottom: 8px; }
  body.task-login.nc-branded-login .nc-hero-message { margin: 30px 0 0; }
  body.task-login.nc-branded-login .nc-hero-eyebrow,
  body.task-login.nc-branded-login .nc-hero-features,
  body.task-login.nc-branded-login .nc-hero-description,
  body.task-login.nc-branded-login .nc-hero-bottom { display: none; }
  body.task-login.nc-branded-login .nc-hero-title { font-size: 27px; line-height: 1.18; margin: 8px 0 0; }
  body.task-login.nc-branded-login .nc-hero-title br { display: none; }
  body.task-login.nc-branded-login .nc-login-area { flex: 1; padding: 24px 15px 42px; }
  body.task-login.nc-branded-login .nc-login-panel { border-radius: 20px; padding: 32px 25px; }
}
@media (prefers-reduced-motion: reduce) {
  body.task-login.nc-branded-login * { animation: none !important; transition: none !important; }
}
