/* Darupayesh / original Ziggurat-inspired identity, Stage 10.8-Z
   Visual-only additive stylesheet; leaves Django behavior and JS untouched. */
:root {
  --color-navy:#082f4f;
  --color-navy-deep:#061a2c;
  --color-teal:#00a79d;
  --color-teal-hover:#008e88;
  --color-teal-soft:#e4f6f4;
  --color-canvas:#f3f7fa;
  --color-text:#17344d;
  --color-muted:#647d90;
  --color-line:#d9e6ec;
  --color-focus:#18b9af;
  --dp-ink:#082f4f;
  --dp-teal:#009f98;
  --dp-teal-dark:#007f7a;
  --dp-mint:#e3f5f3;
  --dp-page:#f3f7fa;
  --dp-border:#d9e5ed;
  --zg-gold:#e1b47b;
}
body { background:var(--color-canvas); }
.dp-brand-icon { border:0; border-radius:0; background:none; filter:drop-shadow(0 5px 10px rgba(0,28,55,.14)); object-fit:contain; }
.dp-brand-copy strong { color:#082f4f; font-weight:780; letter-spacing:-.2px; }
.dp-brand-copy small { letter-spacing:0; }
.dp-logo-lockup { gap:10px; }
.dp-org-logo { border-radius:10px; }

/* Personnel navigation / masthead */
.sidebar { background:linear-gradient(165deg,#0b3b5e 0%,#082f4f 40%,#061a2c 100%); border-inline-start:3px solid rgba(24,185,175,.72); }
.sidebar .dp-sidebar-brand { margin-bottom:6px; }
.sidebar .dp-sidebar-brand .dp-brand-icon { width:57px;height:57px;filter:drop-shadow(0 6px 11px rgba(0,0,0,.26)); }
.sidebar .dp-sidebar-brand .dp-brand-copy strong { color:#fff;font-size:22px;font-weight:780; }
.sidebar .dp-sidebar-brand .dp-brand-copy small { color:#b7e4e8; }
.sidebar .nav-caption { color:#b4cad7; }
.sidebar .nav-item { border-radius:10px; }
.sidebar .nav-item.is-active { background:linear-gradient(90deg,rgba(0,167,157,.28),rgba(36,188,198,.12));border-color:rgba(81,218,209,.3); }
.sidebar .nav-item:hover { background:rgba(123,215,223,.11); }
.sidebar .dp-sidebar-institutions { background:rgba(4,30,51,.22);border-color:rgba(148,202,220,.17); }
.sidebar .dp-sidebar-institutions .dp-org-title { color:#b7cdda; }
.sidebar .dp-sidebar-institutions .dp-org-logo { border-color:rgba(255,255,255,.4); }
.topbar { border-bottom:2px solid #d9eeef; box-shadow:0 2px 16px rgba(7,47,77,.035); }
.topbar .dp-topbar-name { color:#124c65;font-weight:750; }
.topbar .dp-topbar-name img { width:31px;height:31px; }
.topbar-left strong { color:#082f4f; }
.topbar .topbar-right { justify-content:flex-end; }
.topbar .dp-topbar-institutions {
  margin-inline-start:0;margin-inline-end:12px;
  padding-inline-start:0;padding-inline-end:14px;
  border-inline-start:0;border-inline-end:1px solid #d4e5eb;
  flex-shrink:0;
}
.dp-org-logo { object-fit:contain; }
.footer { border-top-color:#d5e4e9; }

/* Public header, landing page and patient forms */
body.public-shell {
  background:radial-gradient(circle at 7% 4%,rgba(40,175,181,.11),transparent 25%),linear-gradient(165deg,#fbfdfe,#f2f7fa 62%,#f9fbfc);
  color:#17344d;
  font-family:var(--font-fa);
}
.public-shell .public-head {
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;column-gap:clamp(24px,4vw,58px);
  border-bottom:2px solid #d5e8ec;
}
.public-shell .dp-public-primary {
  grid-column:1;display:flex;align-items:center;
  gap:clamp(24px,3.8vw,52px);min-width:0;
}
.public-shell .dp-public-primary .public-brand { flex-shrink:0; }
.public-shell .dp-public-primary .dp-public-login { flex-shrink:0; }
.public-shell .dp-public-orgs-edge {
  grid-column:2;justify-self:end;display:flex;align-items:center;
  gap:16px;min-width:0;
}
.public-shell .dp-public-orgs-edge .dp-org {
  flex:0 0 145px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;
  width:145px;min-width:145px;
}
.public-shell .dp-public-orgs-edge .dp-org-logo {
  width:43px;height:43px;padding:4px;
}
.public-shell .dp-public-orgs-edge .dp-org-label {
  display:block;white-space:normal;overflow-wrap:normal;
  max-width:145px;min-height:32px;text-align:center;
  font-size:10px;line-height:1.55;
}
.public-shell .dp-public-orgs-edge .dp-org-separator {
  height:48px;margin-top:-25px;
}
.public-shell .public-brand .dp-brand-icon { width:58px;height:58px;filter:drop-shadow(0 4px 8px rgba(7,47,79,.13)); }
.public-shell .public-brand strong { color:#082f4f;font-weight:780;font-size:23px; }
.public-shell .public-brand small { color:#557589; }
.public-shell .user-login { color:#0a5e71;border-color:#c3dfe3;border-radius:10px; }
.public-shell .user-login:hover { color:#007f7a;background:#eaf7f5; }
.public-shell .user-login:focus-visible { outline:3px solid #00a79d;outline-offset:3px; }
@media(max-width:1030px) {
  .public-shell .dp-public-orgs-edge .dp-org { flex-basis:47px;width:47px;min-width:47px; }
  .public-shell .dp-public-orgs-edge .dp-org-label { display:none; }
  .public-shell .dp-public-orgs-edge .dp-org-separator { margin-top:0;height:27px; }
}
@media(max-width:760px) {
  .public-shell .public-head { grid-template-columns:minmax(0,1fr) auto;row-gap:12px; }
  .public-shell .dp-public-primary { display:contents; }
  .public-shell .dp-public-primary .public-brand { grid-column:1;grid-row:1; }
  .public-shell .dp-public-orgs-edge { grid-column:2;grid-row:1; }
  .public-shell .dp-public-primary .dp-public-login { grid-column:1 / -1;grid-row:2;justify-self:start; }
}
.public-shell .public-hero {
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(22px,3.8vw,42px);border:1px solid #d7e5ed;border-radius:25px;
  background:#fff;box-shadow:0 15px 50px rgba(7,47,79,.065);
}
.public-shell .public-hero::before {
  content:"";position:absolute;inset:0 0 0 auto;left:0;width:46%;
  background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(255,255,255,.98) 94%),
     url("../branding/ziggurat-login-bg.jpg") center/cover no-repeat;
  opacity:.46;pointer-events:none;z-index:-1;
}
.public-shell .hero-copy h1 { color:#082f4f;letter-spacing:-.3px; }
.public-shell .hero-copy p { color:#5c7989; }
.dp-eyebrow { background:#e8f7f7;color:#086a74;border-color:#ccebea; }
.dp-eyebrow:before { background:#18b9af; }
.dp-hero-note:before { background:#e3f5f3;color:#008e88; }
.public-shell .public-card { background:rgba(255,255,255,.96);border-color:#d9e7ed;border-radius:17px;box-shadow:0 10px 30px rgba(6,45,76,.065); }
.public-shell .public-card:hover { border-color:#a6d4da;box-shadow:0 16px 35px rgba(6,45,76,.10); }
.public-shell .public-card .icon { background:#e6f6f4;color:#008e88;border-radius:14px; }
.public-shell .public-card.track .icon { background:#eaf2f9;color:#155b83; }
.public-shell .public-card:after { color:#039e9a; }
.public-shell .public-card h2 { color:#0d3755; }
.public-shell .public-foot { color:#668092; }
.public-shell .mobile-intake .card,.public-shell .track-card { border-color:#d7e4ed;border-radius:17px;box-shadow:0 10px 30px rgba(7,47,79,.06); }
.public-shell .mobile-intake .card.hero { background:linear-gradient(115deg,#f0faf9,#fff);border-right:4px solid #15b8b0; }
.public-shell .mobile-intake .hero h1,.public-shell .track-heading { color:#082f4f; }
.public-shell .mobile-intake .btn.primary,.public-shell .mobile-intake .seg.active,.public-shell .mobile-intake .insurance-btn.active,.public-shell .track-btn { background:linear-gradient(110deg,#08719a,#009f98);border-color:#008f91; }
.public-shell .mobile-intake .btn.primary:hover,.public-shell .track-btn:hover { background:#087d8c; }
.public-shell .mobile-intake .progress span.on { background:#00a79d; }
.public-shell .mobile-intake .choice.active { border-color:#65c9c6;background:#ebf8f7; }
.public-shell .track-card:first-child { background:linear-gradient(130deg,#f5fbfc,#fff);border-top:3px solid #12ada6; }
.public-shell .track-status { background:#e2f5f4;color:#076f70; }
.dp-track-note { background:#edf9f8;color:#496f7b; }
.dp-content-kicker { color:#008c8d; }

/* Ziggurat login layout: Chogha Zanbil photo left, sign-in card right. */
body.dp-login-page { background:#071c2f;color:#17344d; }
.dp-login-shell { direction:ltr;grid-template-columns:minmax(0,1.22fr) minmax(410px,.78fr); }
.dp-login-intro {
  direction:rtl;min-height:100vh;isolation:isolate;
  background:
    linear-gradient(0deg,rgba(4,23,40,.86) 0%,rgba(4,25,43,.27) 45%,rgba(4,25,43,.14) 100%),
    url("../branding/ziggurat-login-bg.jpg") center/cover no-repeat;
}
.dp-login-intro:after { content:"";position:absolute;inset:auto 0 0;height:4px;width:100%;border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#0aaea8,#e1b47b); }
.dp-login-home { align-self:flex-start;padding:11px 15px;border:1px solid rgba(255,255,255,.19);border-radius:13px;background:rgba(3,33,54,.43);backdrop-filter:blur(8px); }
.dp-login-home img { width:70px;height:70px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.17)); }
.dp-login-home strong { font-size:28px;color:#fff;font-weight:800; }
.dp-login-home small { color:#c5eeef; }
.dp-login-intro-content { margin:auto 0 65px;max-width:670px;padding:16px 22px 16px 0; }
.dp-login-kicker { background:rgba(9,68,81,.48);border-color:rgba(176,232,231,.3);color:#e1fcfb; }
.dp-login-intro h1 { font-size:clamp(32px,3.4vw,50px);color:#fff;line-height:1.65;text-shadow:0 4px 17px rgba(0,0,0,.22); }
.dp-login-intro p { color:#e0ebf0;font-size:14px;line-height:2.1; }
.dp-login-orgs { border:0;background:rgba(4,31,51,.4);backdrop-filter:blur(8px);border-radius:13px;padding:12px 14px;max-width:max-content; }
.dp-login-orgs .dp-org-label { color:#e2f1f5; }
.dp-login-orgs .dp-org-separator { background:rgba(255,255,255,.33); }
.dp-login-form-area { direction:rtl;background:linear-gradient(145deg,#f5f9fb,#eaf2f6);padding:35px clamp(22px,3.4vw,58px); }
.dp-login-card { max-width:500px; }
.dp-login-return { margin-bottom:21px;color:#466a7e; }
.dp-login-form-card { border-radius:22px;border:1px solid #d4e3ed;box-shadow:0 25px 65px rgba(6,39,65,.13);padding:clamp(25px,3vw,40px); }
.dp-login-card-brand { display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:23px;padding-bottom:21px;border-bottom:1px solid #e6eff2; }
.dp-login-card-brand img { width:74px;height:74px;object-fit:contain; }
.dp-login-card-brand strong { display:block;font-size:31px;font-weight:790;line-height:1.55;color:#082f4f; }
.dp-login-card-brand small { display:block;font-size:11px;color:#627e8c; }
.dp-login-form-card .dp-login-form-icon { display:none; }
.dp-login-form-card h2 { color:#0a3755;font-size:22px; }
.dp-login-form-card .dp-login-description { color:#6a8290; }
.dp-login-form-card label { color:#2a4d63; }
.dp-login-form-card input:not([type=hidden]) { border-color:#cadde8;color:#163c57;background:#fff; }
.dp-login-form-card input:focus { outline:2px solid #4ec9c4; }
.dp-login-form-card button[type=submit] { background:linear-gradient(105deg,#0b5680 0%,#009b98 75%,#14b9af);box-shadow:0 9px 23px rgba(0,116,138,.18); }
.dp-login-form-card button[type=submit]:hover { background:linear-gradient(105deg,#084c75,#008e88); }
.dp-login-public a { color:#008c8e; }
@media(max-width:980px) {
  .dp-login-shell { grid-template-columns:1fr; }
  .dp-login-intro { min-height:290px;padding:22px;gap:15px; }
  .dp-login-intro-content { margin:8px 0 12px; }
  .dp-login-intro h1 { font-size:25px; }
  .dp-login-intro p { display:none; }
  .dp-login-orgs { padding:7px 10px; }
  .dp-login-home img { width:47px;height:47px; }
  .dp-login-home strong { font-size:22px; }
  .dp-login-form-area { padding:26px 20px 45px; }
}
@media(max-width:800px) {
  .public-shell .public-hero::before { width:100%;opacity:.13; }
  .public-shell .public-hero { padding:24px; }
}
@media(max-width:540px) {
  .public-shell .public-brand .dp-brand-icon { width:46px;height:46px; }
  .dp-login-intro { min-height:260px;padding:15px; }
  .dp-login-home { padding:5px 8px; }
  .dp-login-intro-content { padding:0 8px; }
  .dp-login-intro h1 { font-size:21px; }
  .dp-login-orgs .dp-org-label { display:none; }
  .dp-login-card-brand img { width:60px;height:60px; }
  .dp-login-card-brand strong { font-size:25px; }
  .dp-login-form-card { padding:22px; }
}

/* Stage 10.8-Z4: full-viewport patient landing experience. */
body.public-shell.dp-landing-page {
  background:linear-gradient(100deg,rgba(244,250,253,.09),rgba(250,253,255,.19) 70%),
    url("../branding/darupayesh-public-bg.png") center center / cover no-repeat fixed;
  min-height:100vh;
}
.dp-landing-page .public-wrap {
  width:min(1270px,calc(100% - 62px));min-height:100vh;
  display:flex;flex-direction:column;
}
.dp-landing-page .public-head {
  border-bottom:1px solid rgba(140,189,202,.38);
  padding:16px 0;min-height:110px;
}
.public-shell .dp-public-orgs-edge { transform:translateX(22px); }
.public-shell .dp-public-orgs-edge .dp-org:first-child {
  width:215px;min-width:215px;flex-basis:215px;
}
.public-shell .dp-public-orgs-edge .dp-org:first-child .dp-org-label {
  white-space:nowrap;max-width:none;width:215px;font-size:10px;
}
.public-shell .dp-public-staff-access {
  color:#376b83;text-decoration:none;font-size:11px;font-weight:700;
  border-bottom:1px dotted rgba(52,106,127,.45);
}
.public-shell .dp-public-staff-access:hover { color:#008a92;border-bottom-color:#008a92; }
.dp-landing-page .public-main {
  flex:1;display:flex;align-items:center;justify-content:stretch;
  padding:clamp(48px,7vh,100px) 0;
}
.dp-landing-page .public-hero.dp-landing-hero {
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);
  align-items:center;gap:clamp(38px,6vw,94px);
  padding:0;min-height:0;width:100%;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  overflow:visible;isolation:auto;
}
.dp-landing-page .public-hero.dp-landing-hero::before { content:none;display:none; }
.dp-landing-page .dp-landing-copy { max-width:690px; }
.dp-landing-page .dp-landing-copy .dp-eyebrow {
  background:rgba(233,250,250,.82);border-color:rgba(147,214,216,.6);
  color:#126f81;box-shadow:0 4px 15px rgba(14,81,103,.035);
}
.dp-landing-page .dp-landing-copy h1 {
  font-size:clamp(33px,4vw,55px);font-weight:850;
  color:#0a3557;line-height:1.52;letter-spacing:-.65px;
  margin:19px 0 21px;text-wrap:balance;
}
.dp-landing-page .dp-landing-copy .dp-landing-emphasis {
  display:block;color:#007d8d;
}
.dp-landing-page .dp-landing-copy p {
  font-size:clamp(14px,1.22vw,17px);line-height:2.25;
  color:#315a74;max-width:620px;margin:0;
  text-shadow:0 1px 2px rgba(255,255,255,.85);
}
.dp-landing-page .dp-landing-assurance {
  margin-top:25px;display:inline-flex;align-items:center;gap:9px;
  color:#487187;font-size:12px;line-height:1.8;
}
.dp-landing-page .dp-landing-assurance span {
  display:grid;place-items:center;flex:none;width:27px;height:27px;
  color:#008b81;background:#e1f5f0;border-radius:50%;font-weight:850;
}
.dp-landing-page .public-actions.dp-landing-actions {
  display:grid;grid-template-columns:1fr;gap:17px;width:100%;align-self:center;
}
.dp-landing-page .dp-landing-actions .public-card {
  display:flex;align-items:center;gap:17px;text-align:right;
  position:relative;min-height:145px;padding:23px;
  border:1px solid rgba(191,219,227,.9);border-radius:20px;
  background:rgba(255,255,255,.89);
  -webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);
  box-shadow:0 16px 45px rgba(15,80,111,.09);
}
.dp-landing-page .dp-landing-actions .public-card:first-child {
  border-right:4px solid #0ba8a3;background:rgba(255,255,255,.94);
}
.dp-landing-page .dp-landing-actions .public-card:after { display:none; }
.dp-landing-page .dp-landing-actions .public-card .icon {
  flex:none;margin:0;width:60px;height:60px;border-radius:17px;
  display:grid;place-items:center;background:#e4f7f5;color:#008c91;font-size:30px;
}
.dp-landing-page .dp-landing-actions .public-card.track .icon { background:#ebf3fa;color:#245f8d; }
.dp-landing-page .dp-landing-action-copy { flex:1;min-width:0;display:block; }
.dp-landing-page .dp-landing-actions .public-card h2 {
  margin:0 0 5px;color:#123e5d;font-size:19px;font-weight:830;
}
.dp-landing-page .dp-landing-actions .public-card p {
  color:#587b90;font-size:12px;line-height:1.95;margin:0;
}
.dp-landing-page .dp-landing-action-arrow {
  flex:none;font-size:19px;font-weight:800;color:#007d8b;align-self:center;
}
.dp-landing-page .dp-landing-actions .public-card:hover {
  border-color:#83c9ce;background:rgba(255,255,255,.98);
  transform:translateY(-3px);box-shadow:0 22px 48px rgba(14,83,113,.13);
}
.dp-landing-page .dp-landing-actions .public-card:focus-visible {
  outline:3px solid #0b9b9d;outline-offset:4px;
}
.dp-landing-page .public-foot {
  border-top:1px solid rgba(141,194,209,.4);
  padding:15px 0 19px;margin:0;color:#426c82;
}
@media(max-width:1030px) {
  .public-shell .dp-public-orgs-edge { transform:none; }
  .public-shell .dp-public-orgs-edge .dp-org:first-child {
    flex-basis:47px;width:47px;min-width:47px;
  }
}
@media(max-width:880px) {
  .dp-landing-page .public-hero.dp-landing-hero { grid-template-columns:1fr;gap:29px; }
  .dp-landing-page .public-main { padding:40px 0; }
  .dp-landing-page .dp-landing-copy { max-width:680px; }
  .dp-landing-page .public-actions.dp-landing-actions { grid-template-columns:1fr 1fr;gap:12px; }
  .dp-landing-page .dp-landing-actions .public-card { padding:19px;min-height:155px; }
}
@media(max-width:600px) {
  body.public-shell.dp-landing-page { background-position:37% center;background-attachment:scroll; }
  .dp-landing-page .public-wrap { width:calc(100% - 30px); }
  .dp-landing-page .public-main { padding:37px 0; }
  .dp-landing-page .dp-landing-copy h1 { font-size:34px;line-height:1.65; }
  .dp-landing-page .dp-landing-copy p { font-size:13px;line-height:2.1; }
  .dp-landing-page .public-actions.dp-landing-actions { grid-template-columns:1fr; }
  .dp-landing-page .dp-landing-actions .public-card { min-height:122px;padding:16px;gap:13px; }
  .dp-landing-page .dp-landing-actions .public-card .icon { width:51px;height:51px; }
  .dp-landing-page .dp-landing-actions .public-card h2 { font-size:17px; }
  .dp-landing-page .dp-landing-actions .public-card p { font-size:11px; }
  .dp-landing-page .public-foot { justify-content:center;text-align:center; }
}
