/* Pulso private access: self-contained, with the same type, colors and controls. */
body.modo-admin { padding:0; }
body.admin-locked main.wrap { display:none; }
body.modo-admin #admGate { position:relative; inset:auto; min-height:100dvh; box-sizing:border-box; padding:40px 24px; background:var(--p-color-canvas); color:var(--p-color-ink-950); overflow:auto; }
.p-admin-access { display:grid; grid-template-columns:.9fr 1.1fr; width:min(980px,100%); border-radius:28px; background:var(--p-color-white); box-shadow:0 20px 60px #14172212,0 2px 8px #14172206; overflow:hidden; }
.p-admin-intro { padding:38px; display:flex; flex-direction:column; justify-content:space-between; gap:56px; background:radial-gradient(ellipse at 0 100%,#353cad70,transparent 70%),var(--p-color-ink-900); color:var(--p-color-white); }
.p-admin-brand { font-size:24px; font-weight:800; letter-spacing:-.8px; color:inherit; text-decoration:none; display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.p-admin-brand span { padding:4px 9px; border:1px solid #ffffff24; border-radius:7px; color:var(--p-color-lime-300); font-size:10px; letter-spacing:1.2px; }
.p-admin-lock { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#ffffff0c; margin-bottom:24px; color:var(--p-color-lime-300); }
.p-admin-lock svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; }
.p-admin-eyebrow { color:var(--p-color-cobalt-800); font-size:10px; font-weight:750; letter-spacing:1.4px; margin:0 0 16px; }
.p-admin-intro .p-admin-eyebrow { color:var(--p-color-lime-300); }
.p-admin-intro h2 { font-size:32px; line-height:1.16; font-weight:700; letter-spacing:-1px; margin:0 0 20px; }
.p-admin-intro-copy > p:last-child { color:var(--p-color-ink-200); font-size:14px; line-height:1.7; max-width:29ch; margin:0; }
.p-admin-foot { font-size:11px; color:var(--p-color-ink-300); }
.p-admin-form-panel { padding:44px; min-width:0; }
.p-admin-form-panel h1 { font-size:27px; line-height:1.2; letter-spacing:-.8px; margin:0 0 12px; }
.p-admin-form-panel h1[tabindex="-1"]:focus { outline:none; }
.p-admin-subtitle { color:var(--p-color-ink-700); font-size:14px; line-height:1.65; margin:0 0 26px; }
.p-admin-field { display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.p-admin-field label,.p-admin-share label { font-size:12px; font-weight:650; }
body.modo-admin .p-admin-form-panel .p-input { width:100%; box-sizing:border-box; min-height:48px; border:1px solid var(--p-color-ink-500); border-radius:10px; background:var(--p-color-ink-50); color:var(--p-color-ink-950); font:inherit; font-size:14px; padding:12px 14px; }
.p-admin-form-panel .p-input::placeholder { color:var(--p-color-ink-600); }
.p-admin-password { position:relative; }
body.modo-admin .p-admin-password .p-input { padding-right:82px; }
.p-admin-reveal { position:absolute; right:4px; top:4px; height:40px; padding:0 10px; border:0; border-radius:6px; background:transparent; color:var(--p-color-cobalt-800); font:inherit; font-size:11px; font-weight:650; cursor:pointer; }
.p-admin-form-panel .p-input:focus-visible,.p-admin-form-panel button:focus-visible,.p-admin-form-panel a:focus-visible { outline:3px solid var(--p-color-cobalt-300); outline-offset:3px; }
body.modo-admin .p-admin-submit { width:100%; display:flex; justify-content:space-between; min-height:48px; margin-top:20px; border:0; padding:12px 18px; border-radius:10px; background:var(--p-color-lime-300); color:var(--p-color-ink-950); font-weight:700; cursor:pointer; }
body.modo-admin .p-admin-submit:hover { background:var(--p-color-ink-950); color:var(--p-color-lime-300); }
.p-admin-submit:disabled { opacity:.65; cursor:wait; }
.p-admin-hint,.p-admin-help { font-size:11px; line-height:1.65; color:var(--p-color-ink-700); }
.p-admin-help { margin-top:18px; }
.p-admin-help summary { cursor:pointer; color:var(--p-color-cobalt-800); }
.p-admin-switch { margin:24px 0 20px; padding-top:22px; border-top:1px solid var(--p-color-ink-100); font-size:12px; color:var(--p-color-ink-700); }
.p-admin-switch button { background:none; border:0; padding:4px; font:inherit; font-weight:700; color:var(--p-color-cobalt-800); cursor:pointer; }
.p-admin-back { font-size:12px; text-decoration:none; color:var(--p-color-ink-700); }
.p-admin-back:hover { text-decoration:underline; }
.p-admin-error { font-size:12px; color:var(--p-color-rose-700); line-height:1.5; margin:12px 0; }
.p-admin-error:empty { display:none; }
.p-admin-status { padding:12px; border-radius:10px; background:var(--p-color-cobalt-50); color:var(--p-color-cobalt-900); font-size:13px; line-height:1.6; }
.p-admin-session-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:12px 0 24px; font-size:13px; color:var(--muted); }
.p-admin-account { display:grid; grid-template-columns:1fr 1.5fr; align-items:start; gap:32px; }
.p-admin-account > div:first-child { padding:28px 0; }
.p-admin-account .p-admin-form-panel { background:var(--p-color-white); color:var(--p-color-ink-950); border-radius:20px; padding:28px; }
.p-admin-account h3 { margin:0 0 12px; font-size:22px; }
.p-admin-account > div:first-child .p-admin-eyebrow { color:var(--text); }
.p-admin-account .p-admin-status[hidden] { display:none; }
.p-admin-team .adm-form { margin:24px 0; align-items:center; flex-wrap:wrap; }
.p-admin-team .adm-form label { font-size:13px; }
.p-admin-team .adm-form input { flex:1; min-width:180px; }
.p-admin-team .p-button { min-height:40px; }
.p-admin-invites { list-style:none; padding:0; }
.p-admin-invites li { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.p-admin-invites small { display:block; color:var(--muted); margin-top:4px; }
.p-admin-share { padding:20px; margin:16px 0; display:grid; gap:12px; border:1px solid var(--border); border-radius:12px; }
.p-admin-share p { margin:0; font-size:13px; color:var(--muted); }
.p-admin-share .p-input { min-width:0; width:100%; box-sizing:border-box; }
@media(max-width:700px) {
  body.modo-admin #admGate { padding:20px 14px; align-items:flex-start; }
  .p-admin-access { max-width:480px; grid-template-columns:1fr; border-radius:22px; }
  .p-admin-intro { padding:22px 26px; gap:0; }
  .p-admin-intro-copy,.p-admin-foot { display:none; }
  .p-admin-form-panel { padding:30px 26px; }
  .p-admin-form-panel h1 { font-size:25px; }
  .p-admin-session-bar { align-items:flex-start; flex-direction:column; }
  .p-admin-account { grid-template-columns:1fr; gap:12px; }
  .p-admin-account > div:first-child { padding:8px 0; }
}
@media(prefers-reduced-motion:no-preference) {
  .p-admin-submit { transition:background 150ms ease,color 150ms ease; }
}
