/*
  Plentz authentication composition — canonical 7.1.0
  Caregivers are integrated artwork layers in the page background.
  No photo cards, no full-height image column, no crop masks, no duplicate overrides.
*/
:root{--auth-ink:#062B35;--auth-muted:#71869a;--auth-brand:#078447;--auth-brand-hover:#066f3c;--auth-line:#dce7e6}
*{box-sizing:border-box}
.fp-auth-shell{font-family:"Segoe UI",Inter,Arial,sans-serif;color:var(--auth-ink)}
.fp-auth-card{position:relative}
.fp-auth-card>label{display:block;margin:13px 0 6px;color:#29495a;font-size:11px;font-weight:800}
.fp-auth-input{height:48px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid #dbe5ea;border-radius:11px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
.fp-auth-input:focus-within{border-color:#9dcbb7;box-shadow:0 0 0 4px rgba(7,132,71,.075)}
.fp-auth-input>span{flex:0 0 auto;color:#55738e;font-size:12px;font-weight:800}
.fp-auth-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#183746;font:inherit;font-size:13px}
.fp-auth-input input::placeholder{color:#9aabb7}
.fp-auth-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:11px;background:var(--auth-brand);color:#fff;font-size:13px;font-weight:850;cursor:pointer;box-shadow:0 7px 18px rgba(7,132,71,.16)}
.fp-auth-button:hover{background:var(--auth-brand-hover)}
.fp-auth-button b{font-size:13px}.fp-auth-message{min-height:14px;margin:8px 0 0;color:#c64b42;font-size:10.5px;text-align:center}

.ch150-auth{position:fixed;inset:0;z-index:99999;overflow:auto;padding:28px;background:#f5f8f6}
.ch150-auth-frame{position:relative;isolation:isolate;width:min(1360px,100%);min-height:calc(100dvh - 56px);margin:auto;overflow:hidden;display:grid;grid-template-columns:minmax(260px,.76fr) minmax(360px,.92fr) minmax(360px,.92fr);grid-template-rows:auto 1fr auto;border:1px solid #dce7e1;border-radius:30px;background:
  radial-gradient(ellipse at 89% 28%,rgba(105,98,235,.07) 0 17%,transparent 43%),
  radial-gradient(ellipse at 82% 70%,rgba(77,169,139,.06) 0 16%,transparent 42%),
  radial-gradient(ellipse at 8% 108%,rgba(72,205,205,.16) 0 28%,transparent 57%),
  #fff;box-shadow:0 24px 70px rgba(29,65,49,.09)}
.ch150-auth-brand{grid-column:1/4;grid-row:1;display:flex;align-items:center;gap:11px;padding:34px 38px 16px;position:relative;z-index:5}
.ch150-auth-brand img{display:block;width:39px;height:39px;object-fit:contain}.ch150-auth-brand>span:last-child{display:grid;gap:2px}.ch150-auth-brand strong{font-size:18px;letter-spacing:-.035em;color:var(--auth-ink)}.ch150-auth-brand small{font-size:10px;color:#7d91a2}
.ch150-auth-intro{grid-column:1;grid-row:2;align-self:center;position:relative;z-index:5;max-width:340px;padding:24px 24px 58px 38px}
.ch150-auth-intro>span,.ch150-login-head>span{color:#0597a5;font-size:9px;font-weight:900;letter-spacing:.14em}.ch150-auth-intro h1{margin:12px 0 13px;color:var(--auth-ink);font-size:clamp(34px,3.25vw,50px);line-height:1.01;letter-spacing:-.052em;font-weight:780}.ch150-auth-intro p{max-width:300px;margin:0;color:var(--auth-muted);font-size:12px;line-height:1.6}
.ch150-login-card{grid-column:2;grid-row:2;align-self:center;justify-self:center;position:relative;z-index:7;width:min(390px,94%);margin:8px auto 32px;padding:27px 28px 24px;border:1px solid rgba(22,72,48,.10);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 18px 48px rgba(17,54,38,.075)}
.ch150-login-head{margin-bottom:20px}.ch150-login-head h2{margin:6px 0 4px;color:var(--auth-ink);font-size:24px;line-height:1.12;letter-spacing:-.035em}.ch150-login-head p{margin:0;color:#7c8fa2;font-size:12px;line-height:1.45}.ch150-login-private{margin-top:18px;padding-top:14px;border-top:1px solid #edf1ef;display:flex;align-items:center;justify-content:center;gap:7px;color:#7d91a3;text-align:center}.ch150-login-private span{color:#3d80ff}.ch150-login-private strong{font-size:9px;font-weight:650;line-height:1.35}
.ch-auth-link-button{display:block;width:100%;margin-top:9px;padding:9px 11px;border:0;background:transparent;color:#087a45;font:inherit;font-size:12px;font-weight:850;cursor:pointer;text-align:center}.ch-auth-link-button:hover{text-decoration:underline}.ch-register-legal{display:flex!important;align-items:flex-start;gap:9px;margin:11px 0!important;color:#60736b!important;font-size:11px!important;font-weight:600!important;line-height:1.45}.ch-register-legal input{width:17px!important;height:17px!important;min-height:0!important;flex:0 0 auto;margin-top:1px;accent-color:var(--auth-brand)}.ch-register-legal a{color:#087a45}

/* Caregiver is part of the page artwork: no independent box/column surface. */
.ch-auth-caregiver-slot{grid-column:3;grid-row:1/4;position:relative;z-index:4;min-width:0;min-height:0;align-self:stretch;justify-self:stretch;display:flex;align-items:center;justify-content:center;padding:86px 22px 28px 0;overflow:visible;pointer-events:none}
.ch-auth-caregiver-photo{display:block;width:min(100%,520px);height:auto;max-width:520px;max-height:min(76dvh,690px);object-fit:contain;object-position:center;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;opacity:1;filter:drop-shadow(0 20px 28px rgba(18,49,38,.09));transition:opacity .18s ease}
.ch-auth-caregiver-photo.is-switching{opacity:.10}
.ch-auth-caregiver-photo.is-male,.ch-auth-caregiver-photo.is-female{width:min(100%,520px);max-width:520px}
.ch150-auth-foot{grid-column:1/3;grid-row:3;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;color:#8998a6;font-size:9px}.ch150-auth-foot i{width:28px;height:1px;background:#d9e1e5}

@media(max-width:1180px) and (min-width:901px){
 .ch150-auth{padding:22px}.ch150-auth-frame{min-height:calc(100dvh - 44px);grid-template-columns:minmax(220px,.70fr) minmax(330px,.92fr) minmax(330px,.88fr)}
 .ch150-auth-brand{padding:29px 31px 14px}.ch150-auth-intro{padding-left:31px}.ch150-login-card{width:min(365px,94%);padding:25px 26px 22px}
 .ch-auth-caregiver-slot{padding:76px 10px 24px 0}.ch-auth-caregiver-photo,.ch-auth-caregiver-photo.is-male,.ch-auth-caregiver-photo.is-female{width:min(100%,470px);max-width:470px;max-height:70dvh}
}
@media(max-width:900px) and (min-width:761px){
 .ch150-auth{padding:18px}.ch150-auth-frame{min-height:calc(100dvh - 36px);grid-template-columns:minmax(230px,.78fr) minmax(330px,1fr);grid-template-rows:auto auto minmax(300px,36vh);background:radial-gradient(ellipse at 76% 80%,rgba(77,169,139,.07),transparent 44%),radial-gradient(ellipse at 90% 20%,rgba(105,98,235,.06),transparent 42%),#fff}
 .ch150-auth-brand{grid-column:1/3;grid-row:1;padding:26px 28px 10px}.ch150-auth-intro{grid-column:1;grid-row:2;padding:24px 20px 30px 28px}.ch150-login-card{grid-column:2;grid-row:2;width:min(360px,94%);margin:10px auto 18px}
 .ch-auth-caregiver-slot{grid-column:1/3;grid-row:3;padding:0 20px 0;align-items:flex-end;justify-content:center;overflow:hidden}.ch-auth-caregiver-photo,.ch-auth-caregiver-photo.is-male,.ch-auth-caregiver-photo.is-female{width:min(470px,70vw);max-width:470px;max-height:335px}.ch150-auth-foot{display:none}
}
@media(max-width:760px){
 .ch150-auth{position:fixed;inset:0;padding:0;background:#f7faf8}.ch150-auth-frame{width:100%;min-height:100svh;margin:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;overflow:auto;background:radial-gradient(ellipse at 68% 12%,rgba(105,98,235,.06),transparent 36%),radial-gradient(ellipse at 72% 38%,rgba(77,169,139,.055),transparent 40%),linear-gradient(180deg,#fbfdfc 0%,#f6faf8 48%,#fff 100%)}
 .ch150-auth-brand{order:0;width:100%;padding:calc(17px + env(safe-area-inset-top)) 18px 7px}.ch150-auth-brand img{width:34px;height:34px}.ch150-auth-brand strong{font-size:16px}.ch150-auth-brand small{font-size:9px}.ch150-auth-intro{display:none}
 .ch-auth-caregiver-slot{order:1;width:100%;height:250px;min-height:250px;padding:0 10px;overflow:hidden;align-items:flex-end;justify-content:center}.ch-auth-caregiver-photo,.ch-auth-caregiver-photo.is-male,.ch-auth-caregiver-photo.is-female{width:min(420px,94vw);max-width:420px;max-height:246px;filter:drop-shadow(0 12px 18px rgba(18,49,38,.08))}
 .ch150-login-card{order:2;align-self:center;width:min(430px,calc(100% - 28px));margin:-8px auto calc(18px + env(safe-area-inset-bottom));padding:21px 20px 19px;border-radius:18px}.ch150-login-head{margin-bottom:17px}.ch150-login-head h2{font-size:22px}.ch150-login-head p{font-size:11.5px}.fp-auth-input{height:45px}.fp-auth-button{min-height:45px}.ch150-auth-foot{display:none}
}
@media(max-width:430px){.ch-auth-caregiver-slot{height:228px;min-height:228px}.ch-auth-caregiver-photo,.ch-auth-caregiver-photo.is-male,.ch-auth-caregiver-photo.is-female{width:min(390px,95vw);max-width:390px;max-height:224px}.ch150-login-card{width:calc(100% - 24px);padding:19px 18px 18px}}
/* Access-control helpers still used by production */
.ch-access-hold-summary{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;margin:16px 0;padding:14px;border:1px solid #dfe8e3;border-radius:12px;background:#f7faf8}
.ch-access-hold-summary span{color:#66756f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ch-access-hold-summary strong{color:#162b36;text-transform:capitalize}
.ch-admin-access-modal>section{width:min(1040px,calc(100vw - 28px));max-width:1040px;max-height:88vh;overflow:auto;margin:auto}
.ch-admin-access-shell td small{display:block;color:#6c7a75;margin-top:2px}
.ch-admin-access-editor{z-index:10050}
.ch-access-editor-card{width:min(560px,92vw);margin:auto;display:grid;gap:10px}
.ch-access-editor-card label{display:grid;gap:5px;font-weight:750;color:#263b33}
.ch-access-editor-card input,.ch-access-editor-card select{width:100%;min-height:42px}
.ch-access-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
@media(max-width:640px){
  .ch-admin-access-modal{padding:14px!important}.ch-admin-access-modal>section{width:100%;max-width:100%;padding:18px}
  .ch-admin-access-shell .table-wrap{overflow:visible!important;border:0!important;background:transparent!important}
  .ch-admin-access-shell table,.ch-admin-access-shell tbody{display:block!important;width:100%!important;border:0!important;background:transparent!important}
  .ch-admin-access-shell thead{display:none!important}
  .ch-admin-access-shell tr{display:block!important;width:100%!important;margin:0 0 12px!important;padding:10px 12px!important;border:1px solid var(--ch-border,#dfe8e3)!important;border-radius:12px!important;background:#fff!important}
  .ch-admin-access-shell td{display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;gap:8px!important;width:100%!important;min-width:0!important;padding:7px 0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .ch-admin-access-shell td:before{content:attr(data-label);font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--ch-muted,#6c7a75)}
  .ch-admin-access-shell td strong,.ch-admin-access-shell td small{min-width:0;overflow-wrap:anywhere}.ch-admin-access-shell .ch-access-edit{justify-self:start!important}
  .ch-admin-access-shell td[data-label="User"]:before{grid-row:1/span 2}.ch-admin-access-shell td[data-label="User"]>strong,.ch-admin-access-shell td[data-label="User"]>small{grid-column:2}
}
@media(max-width:560px){.ch-access-hold-summary{grid-template-columns:1fr}.ch-access-editor-actions{flex-direction:column-reverse}.ch-access-editor-actions .btn{width:100%}}


.ch-device-password-dialog{min-height:100%;display:grid;place-items:center;padding:24px}.ch-device-password-card{width:min(460px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:28px;box-shadow:0 24px 70px rgba(18,33,26,.24)}.ch-device-password-card h2{margin:6px 0 8px}.ch-device-password-card p{margin:0 0 18px;color:#53635b}.ch-device-password-card label{display:grid;gap:7px;font-weight:700}.ch-device-password-card input{width:100%;box-sizing:border-box;border:1px solid #bcc9c2;border-radius:10px;padding:12px 13px;font:inherit}.ch-device-password-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
