﻿/* PracticeSafe PDF white-label login overrides */
[class*="_authContainer_"] {
  background: radial-gradient(circle at top left, rgba(7,152,164,.12), transparent 34%), #f5f8fb !important;
}
[class*="_authCard_"] {
  width: min(560px, calc(100vw - 32px)) !important;
  min-height: auto !important;
  height: auto !important;
  margin: 6vh auto !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 70px rgba(8,47,106,.14) !important;
  overflow: hidden !important;
}
[class*="_authCardTwoColumns_"] {
  display: block !important;
}
[class*="_authCardTwoColumns_"] > div:not([class]) {
  display: none !important;
}
[class*="_authLeftPanel_"] {
  width: 100% !important;
  min-height: auto !important;
  background: #fff !important;
}
[class*="_authContent_"] {
  width: 100% !important;
  max-width: 460px !important;
  margin: 0 auto !important;
  padding: 76px 54px 62px !important;
}
.login-header {
  margin-bottom: 28px !important;
}
.login-header-logos {
  height: auto !important;
  min-height: 76px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-bottom: 16px !important;
}
.login-logo-text {
  height: 72px !important;
  width: auto !important;
  max-width: 360px !important;
  object-fit: contain !important;
}
.login-title {
  margin-top: 18px !important;
  color: #082f6a !important;
  font-size: 34px !important;
  line-height: 1.12 !important;
}
.login-header::after {
  content: "Secure healthcare PDF demo - use sample files only, no PHI.";
  display: block;
  margin-top: 10px;
  color: #536579;
  font-size: 14px;
  line-height: 1.45;
  max-width: 390px;
}
.auth-label {
  color: #0f2742 !important;
  font-weight: 700 !important;
}
.auth-button {
  background: linear-gradient(90deg, #082f6a, #0798a4) !important;
  border: 0 !important;
  height: 42px !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 22px rgba(7,152,164,.22) !important;
}
.auth-button:hover {
  filter: brightness(1.04) !important;
}
.footer-link,
[class*="mantine-Flex-root"]:has(.footer-link) {
  display: none !important;
}
@media (max-width: 640px) {
  [class*="_authCard_"] { margin: 18px auto !important; width: calc(100vw - 24px) !important; }
  [class*="_authContent_"] { padding: 48px 26px 42px !important; }
  .login-logo-text { height: 58px !important; max-width: 300px !important; }
  .login-title { font-size: 30px !important; }
}

/* PracticeSafe PDF v2 blue logo sizing */
.login-logo-text {
  height: 96px !important;
  max-width: 440px !important;
  width: min(440px, 90vw) !important;
  object-fit: contain !important;
}
@media (max-width: 640px) {
  .login-logo-text {
    height: 66px !important;
    max-width: 286px !important;
    width: min(286px, 78vw) !important;
  }
}

/* PracticeSafe PDF professional demo login copy and layout */
[class*="_authContainer_"] {
  background:
    radial-gradient(circle at 12% 12%, rgba(7, 152, 164, .16), transparent 30%),
    linear-gradient(145deg, #eef8fb 0%, #f7fafc 44%, #eef3f8 100%) !important;
}
[class*="_authCard_"] {
  border: 1px solid rgba(8, 47, 106, .08) !important;
  box-shadow: 0 28px 80px rgba(15, 39, 66, .13), 0 1px 0 rgba(255, 255, 255, .95) inset !important;
}
[class*="_authContent_"] {
  padding: 66px 54px 52px !important;
}
.login-header {
  margin-bottom: 22px !important;
}
.login-header-logos {
  margin-bottom: 20px !important;
}
.login-title {
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  margin: 0 0 8px !important;
}
.login-title::before {
  content: "Secure PDF Workspace Demo";
  display: block;
  color: #082f6a;
  font-size: 29px;
  line-height: 1.12;
  font-weight: 850;
  letter-spacing: 0;
}
.login-header::after {
  content: "Evaluate a secure, practice-ready PDF toolkit for healthcare teams. Use sample files only - do not upload PHI or real patient information.\\A\\A Demo access:  Username  DemoUser   |   Password  Demo123!";
  white-space: pre-line;
  display: block;
  margin-top: 12px;
  padding: 14px 16px;
  color: #31465f;
  font-size: 13.5px;
  line-height: 1.48;
  background: linear-gradient(180deg, rgba(236, 253, 255, .95), rgba(248, 250, 252, .96));
  border: 1px solid rgba(7, 152, 164, .18);
  border-left: 4px solid #0798a4;
  border-radius: 10px;
  max-width: 420px;
}
.auth-label {
  color: #102a43 !important;
  font-size: 13.5px !important;
  margin-bottom: 6px !important;
}
.auth-input {
  border-radius: 8px !important;
  min-height: 40px !important;
}
.auth-input:focus-within {
  border-color: #0798a4 !important;
  box-shadow: 0 0 0 3px rgba(7, 152, 164, .12) !important;
}
.auth-button {
  height: 44px !important;
  margin-top: 4px !important;
  border-radius: 9px !important;
  font-size: 0 !important;
}
.auth-button::before {
  content: "Sign in to Demo";
  font-size: 14px;
  font-weight: 850;
}
@media (max-width: 640px) {
  [class*="_authContent_"] { padding: 58px 26px 36px !important; }
  .login-title::before { font-size: 24px; }
  .login-header::after {
    font-size: 13px;
    padding: 13px 14px;
    content: "Healthcare PDF demo for sample files only. Do not upload PHI or real patient information.\\A\\A Demo: DemoUser / Demo123!";
  }
}

/* PracticeSafe PDF final login copy correction */
.login-title::before {
  content: "PracticeSafe PDF Demo";
  font-size: 30px;
  line-height: 1.12;
}
.login-header::after {
  content: "Test the secure PDF workspace with sample documents only. Do not upload PHI, patient records, or real medical files.\A\A Demo login:  DemoUser  /  Demo123!";
  white-space: pre-line;
}
.auth-button {
  font-size: 14px !important;
  color: #ffffff !important;
}
.auth-button::before {
  content: none !important;
}
@media (max-width: 640px) {
  .login-title::before { font-size: 25px; }
  .login-header::after {
    content: "Use sample documents only. Do not upload PHI, patient records, or real medical files.\A\A Demo login: DemoUser / Demo123!";
  }
}

/* PracticeSafe PDF selectable demo and product note panel */
body.practice-login-enhanced .login-header::after {
  content: none !important;
  display: none !important;
}
.practice-demo-panel {
  margin-top: 14px;
  padding: 15px 16px;
  color: #263b54;
  background: linear-gradient(180deg, rgba(236, 253, 255, .97), rgba(248, 250, 252, .98));
  border: 1px solid rgba(7, 152, 164, .2);
  border-left: 4px solid #0798a4;
  border-radius: 11px;
  max-width: 420px;
}
.practice-demo-panel__eyebrow {
  margin: 0 0 6px;
  color: #0798a4;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.practice-demo-panel__copy {
  margin: 0 0 12px;
  color: #31465f;
  font-size: 13.25px;
  line-height: 1.45;
}
.practice-demo-panel__copy strong {
  color: #082f6a;
  font-weight: 850;
}
.practice-demo-panel__fields {
  display: grid;
  gap: 8px;
}
.practice-copy-row {
  display: grid;
  grid-template-columns: 76px 1fr auto;
  align-items: center;
  gap: 8px;
}
.practice-copy-row span {
  color: #102a43;
  font-size: 12px;
  font-weight: 800;
}
.practice-copy-row input {
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 10px;
  color: #082f6a;
  background: #fff;
  border: 1px solid rgba(8, 47, 106, .16);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 750;
}
.practice-copy-row button {
  height: 34px;
  padding: 0 11px;
  color: #fff;
  cursor: pointer;
  background: #082f6a;
  border: 0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 850;
}
.practice-copy-row button:hover {
  background: #0798a4;
}
.practice-demo-panel__fineprint {
  margin: 12px 0 0;
  color: #536579;
  font-size: 11.75px;
  line-height: 1.42;
}
@media (max-width: 640px) {
  .practice-demo-panel {
    padding: 13px 14px;
  }
  .practice-demo-panel__copy {
    font-size: 12.35px;
    line-height: 1.38;
    margin-bottom: 10px;
  }
  .practice-demo-panel__fineprint {
    font-size: 11.2px;
    line-height: 1.35;
    margin-top: 10px;
  }
  .practice-copy-row {
    grid-template-columns: 1fr auto;
    gap: 6px;
  }
  .practice-copy-row span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .practice-copy-row input,
  .practice-copy-row button {
    height: 32px;
  }
  .practice-copy-row input {
    font-size: 12.5px;
  }
}

/* PracticeSafe PDF login scroll fix for Chrome */
html:has(body.practice-login-enhanced),
body.practice-login-enhanced {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body.practice-login-enhanced #root {
  height: auto !important;
  min-height: 100dvh !important;
  overflow: visible !important;
}
body.practice-login-enhanced [class*="_authContainer_"] {
  height: auto !important;
  min-height: 100dvh !important;
  overflow: visible !important;
  padding: 32px 12px !important;
}
body.practice-login-enhanced [class*="_authCard_"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
@media (max-width: 640px) {
  body.practice-login-enhanced [class*="_authContainer_"] {
    padding: 24px 12px 32px !important;
  }
}

/* Force Chrome to use normal page scrolling on login */
html:has(body.practice-login-enhanced) {
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;
}
body.practice-login-enhanced {
  height: auto !important;
  min-height: 100dvh !important;
  max-height: none !important;
}
body.practice-login-enhanced [class*="_authContainer_"] {
  display: block !important;
  box-sizing: border-box !important;
}

/* Use the app root as the reliable Chrome scroll container */
body.practice-login-enhanced {
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}
body.practice-login-enhanced #root {
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}
body.practice-login-enhanced [class*="_authContainer_"] {
  min-height: 100dvh !important;
}

/* PracticeSafe PDF professional wide login layout */
body.practice-login-enhanced [class*="_authCard_"] {
  width: min(860px, calc(100vw - 48px)) !important;
  border-radius: 20px !important;
}
body.practice-login-enhanced [class*="_authContent_"] {
  max-width: 720px !important;
  padding: 58px 68px 54px !important;
}
body.practice-login-enhanced .login-header {
  margin-bottom: 24px !important;
}
body.practice-login-enhanced .login-header-logos {
  justify-content: center !important;
  min-height: 94px !important;
  margin-bottom: 24px !important;
}
body.practice-login-enhanced .login-logo-text {
  width: min(520px, 100%) !important;
  max-width: 520px !important;
  height: 112px !important;
}
body.practice-login-enhanced .login-title {
  text-align: center !important;
  margin-bottom: 16px !important;
}
body.practice-login-enhanced .login-title::before {
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 34px;
  letter-spacing: 0;
}
body.practice-login-enhanced .practice-demo-panel {
  max-width: none;
  padding: 18px 20px;
  border-radius: 12px;
}
body.practice-login-enhanced .practice-demo-panel__copy {
  font-size: 14px;
}
body.practice-login-enhanced .practice-demo-panel__fields {
  grid-template-columns: 1fr 1fr;
  column-gap: 14px;
}
body.practice-login-enhanced .practice-copy-row {
  grid-template-columns: 74px minmax(0, 1fr) auto;
}
body.practice-login-enhanced .auth-label {
  font-size: 14px !important;
}
body.practice-login-enhanced .auth-input {
  min-height: 44px !important;
  border-radius: 9px !important;
}
body.practice-login-enhanced .auth-button {
  height: 46px !important;
  border-radius: 10px !important;
}
@media (max-width: 820px) {
  body.practice-login-enhanced [class*="_authCard_"] {
    width: calc(100vw - 24px) !important;
  }
  body.practice-login-enhanced [class*="_authContent_"] {
    max-width: 100% !important;
    padding: 46px 28px 38px !important;
  }
  body.practice-login-enhanced .login-header-logos {
    justify-content: flex-start !important;
    min-height: 70px !important;
  }
  body.practice-login-enhanced .login-logo-text {
    height: 66px !important;
    max-width: 286px !important;
    width: min(286px, 78vw) !important;
  }
  body.practice-login-enhanced .login-title {
    text-align: left !important;
  }
  body.practice-login-enhanced .login-title::before {
    font-size: 25px;
  }
  body.practice-login-enhanced .practice-demo-panel__fields {
    grid-template-columns: 1fr;
  }
  body.practice-login-enhanced .practice-copy-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
/* PracticeSafe PDF demo credentials panel for Stirling PDF 2.13 auth layout */
body.practice-login-enhanced #root [class*="_authCard_"] {
  min-height: 640px !important;
}

body.practice-login-enhanced #root [class*="_authLeftPanel_"] {
  min-height: 640px !important;
}

.practice-demo-panel {
  width: 100%;
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(0, 137, 207, 0.2);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(0, 137, 207, 0.08), rgba(21, 183, 195, 0.08));
  box-shadow: 0 10px 24px rgba(31, 73, 125, 0.08);
  color: #0f2344;
}

.practice-demo-panel__eyebrow {
  margin-bottom: 4px;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #0089cf;
}

.practice-demo-panel__copy {
  margin: 0 0 10px;
  font-size: 0.82rem;
  line-height: 1.35;
  color: #334155;
}

.practice-demo-panel__fields {
  display: grid;
  gap: 8px;
}

.practice-demo-panel__row {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid rgba(31, 73, 125, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.practice-demo-panel__label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #475569;
}

.practice-demo-panel__value {
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  font-weight: 700;
  color: #0f172a;
  user-select: all;
}

.practice-demo-panel__copybtn,
.practice-demo-panel__fillbtn {
  min-width: 48px;
  min-height: 28px;
  border: 0;
  border-radius: 7px;
  background: #0f4f86;
  color: #ffffff;
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
}

.practice-demo-panel__copybtn:hover,
.practice-demo-panel__fillbtn:hover {
  background: #0b3f6c;
}

.practice-demo-panel__fillbtn {
  width: 100%;
  margin-top: 10px;
  background: linear-gradient(135deg, #1f497d 0%, #0089cf 100%);
}

.practice-demo-panel__fineprint {
  margin-top: 8px;
  font-size: 0.72rem;
  line-height: 1.3;
  color: #64748b;
}

@media (max-width: 520px) {
  body.practice-login-enhanced #root [class*="_authCard_"] {
    min-height: 680px !important;
  }

  body.practice-login-enhanced #root [class*="_authLeftPanel_"] {
    min-height: 680px !important;
  }

  .practice-demo-panel__row {
    grid-template-columns: 1fr auto;
  }

  .practice-demo-panel__label {
    grid-column: 1 / -1;
  }
}
/* Keep demo credentials readable inside the auth card */
.practice-demo-panel .practice-demo-panel__fields {
  grid-template-columns: 1fr !important;
}

.practice-demo-panel .practice-demo-panel__row {
  grid-template-columns: 92px minmax(180px, 1fr) auto !important;
}

.practice-demo-panel .practice-demo-panel__value {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

@media (max-width: 520px) {
  .practice-demo-panel .practice-demo-panel__value {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}