/* ==========================================================================
   Page-specific styles
   ========================================================================== */

/* Auth (login / recovery) ---------------------------------------------- */
.auth{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-surface)}
.auth__visual{position:relative;overflow:hidden;background:var(--color-primary);min-height:220px;display:flex;align-items:center;justify-content:center;color:#fff}
.auth__visual-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.auth__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,61,233,0) 0%,rgba(1,61,233,.77) 50%,var(--color-primary) 100%)}
.auth__visual-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;padding:24px 16px;width:100%;max-width:452px;margin:0 auto}
.auth__headline{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-bold)}
.auth__lead{opacity:.85;font-size:var(--fs-body-md);line-height:var(--lh-body-md)}
.auth__benefits{display:none;flex-direction:column;gap:14px;margin-top:12px}
.auth__benefits li{display:flex;align-items:center;gap:12px;font-weight:var(--fw-medium)}
.auth__benefits .ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.2);flex:none}
.auth__benefits .icon{width:20px;height:20px}
.auth__panel{flex:1;display:flex;flex-direction:column;padding:24px 16px;gap:24px}
.auth__form{width:100%;max-width:420px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.auth__head{display:flex;flex-direction:column;gap:8px}
.auth__title{font-size:var(--fs-h1);line-height:var(--lh-h1);font-weight:var(--fw-bold)}
.demo-accounts{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--radius-card);background:var(--color-surface-muted)}
.demo-accounts__list{display:flex;flex-wrap:wrap;gap:8px}
.help-steps{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-card);background:var(--color-primary-25)}
.help-steps li{display:flex;align-items:center;gap:10px;font-weight:var(--fw-medium)}
.help-steps .n{width:24px;height:24px;border-radius:50%;background:var(--color-primary);color:#fff;display:grid;place-items:center;font-size:var(--fs-caption);font-weight:var(--fw-bold);flex:none}
.success-mark{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--color-success-bg);color:var(--color-success);margin:0 auto}
.success-mark .icon{width:44px;height:44px}
@media (min-width:768px){
  .auth__visual{min-height:300px}
  .auth__visual-content{padding:40px 64px;max-width:548px}
  .auth__panel{padding:40px 64px}
}
@media (min-width:1280px){
  .auth{flex-direction:row-reverse}
  .auth__visual{flex:0 0 50%;max-width:720px;align-items:flex-end;justify-content:center}
  .auth__visual::after{background:linear-gradient(180deg,rgba(1,61,233,0) 0%,rgba(1,61,233,.77) 50%,var(--color-primary) 100%)}
  /* Web: no card behind the text — the block sits at the bottom-right of the image, 64px from the bottom (and side) edge */
  .auth__visual-content{padding:0 64px 64px;margin:0;margin-inline-end:auto;width:100%;max-width:600px;text-align:start}
  .auth__benefits{display:flex}
  .auth__headline{font-size:28px;line-height:40px}
  .auth__panel{padding:64px 150px 40px}
  .auth__form{margin:auto}
  .auth__title{font-size:28px;line-height:40px}
}

/* Details header underline row ----------------------------------------- */
.meta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.meta-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--color-text-muted)}
.meta-item .icon{width:16px;height:16px}
.report-author{display:flex;align-items:center;gap:12px}
.label-muted{font-size:var(--fs-caption);color:var(--color-text-muted)}
.desc{font-size:var(--fs-body-md);line-height:var(--lh-body-md);white-space:pre-line}

/* Profile --------------------------------------------------------------- */
.profile-head{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.contact-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

/* Branch stats strip ---------------------------------------------------- */
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-radius:var(--radius-card);background:var(--color-surface-muted)}
.mini-stats b{display:block;font-size:var(--fs-body-lg);line-height:var(--lh-body-lg)}
.mini-stats span{font-size:var(--fs-caption);color:var(--color-text-muted)}

/* Mobile cards for list pages (tablet/mobile) --------------------------- */
.item-card{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--color-surface);border:var(--border-default) solid var(--color-border);border-radius:var(--radius-card);text-align:start}
