/* Linked only from standalone account and administration pages. */
:where(.psico-auth,.psico-admin) {
 --ink:#263c37; --muted:#546861; --line:#dae7df; --rose:#e9629e;
 --leaf:#eaf4ee; --sky:#eaf3fa; --focus:#387366;
 margin:0; color:var(--ink); background:#f5faf7; font:16px/1.55 system-ui,sans-serif;
}
:where(.psico-auth,.psico-admin) *, :where(.psico-auth,.psico-admin) *::before {box-sizing:border-box}
:where(.psico-auth,.psico-admin) a {color:#365f55;text-underline-offset:.2em}
:where(.psico-auth,.psico-admin) :focus-visible {outline:3px solid var(--focus);outline-offset:3px}
:where(.psico-auth,.psico-admin) .eyebrow {display:block;font-size:.72rem;font-weight:750;letter-spacing:.12em;color:#4b6c61}
.psico-auth {min-height:100svh;background:radial-gradient(ellipse at top left,#fbeaf2,transparent 55%),radial-gradient(ellipse at bottom right,#e7f2fa,transparent 55%),#f7faf8}
.psico-auth main {display:grid;grid-template-columns:minmax(190px, .73fr) minmax(0,1.27fr);max-width:940px;min-height:500px;margin:clamp(16px,7vh,80px) auto;padding:0;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 18px 65px #263c3710;overflow:hidden}
.psico-auth .auth-intro {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:clamp(24px,4vw,44px);background:linear-gradient(150deg,#e8f4ed,#eff7fa 62%,#f9edf4)}
.psico-auth .logo {display:block;width:min(200px,100%);height:auto;margin:0 0 15px}
.psico-auth .auth-intro p {font:clamp(21px,3vw,32px)/1.17 Georgia,serif;margin:0 0 12px}
.psico-auth .auth-intro a {font-size:.88rem}
.psico-auth .auth-content {min-width:0;padding:clamp(24px,5vw,50px)}
.psico-auth h1 {font:clamp(28px,4vw,39px)/1.13 Georgia,serif;letter-spacing:-.025em;margin:0 0 14px}
.psico-auth h2 {font-size:1.13rem;margin:12px 0}
.psico-auth .auth-description,.psico-auth small,.psico-auth .help {color:var(--muted)}
.psico-auth p {margin:0 0 16px;overflow-wrap:anywhere}
.psico-auth label {display:block;font-size:.91rem;font-weight:650;margin:15px 0 6px}
.psico-auth input:not([type=hidden]) {display:block;width:100%;min-width:0;min-height:46px;margin-top:5px;border:1px solid #bcd1c6;border-radius:11px;padding:10px 12px;background:#fbfdfc;color:var(--ink);font:inherit}
.psico-auth .password-row {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.psico-auth button,.psico-auth .button,.psico-admin .cta,.psico-owner button,.psico-owner .button {display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;border:0;border-radius:11px;padding:9px 16px;background:var(--rose);color:#fff;text-decoration:none;font:750 19px/1.3 system-ui,sans-serif;text-shadow:0 1px 2px #592642b0;cursor:pointer}
.psico-auth button:not(.toggle) {width:100%;margin:17px 0 8px}
.psico-auth .toggle {font-size:.84rem;min-height:42px;background:var(--leaf);color:#365a50;text-shadow:none}
.psico-auth :is(button,.button):hover:not(:disabled),.psico-admin .cta:hover,.psico-owner button:hover:not(:disabled) {filter:brightness(.91)}
.psico-auth button:disabled,.psico-admin button:disabled {opacity:.75;cursor:not-allowed}
.psico-auth .links {display:flex;gap:8px 16px;flex-wrap:wrap;margin:19px 0;padding-block:14px;border-block:1px solid var(--line);font-size:.88rem}
.psico-auth .notice,.psico-auth [data-confirmation-wait] {padding:12px 15px;border-radius:12px;background:var(--sky)}
.psico-auth time {font-weight:750;font-variant-numeric:tabular-nums;white-space:nowrap}
.psico-auth .spinner,.psico-admin .spinner {width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:account-spin .8s linear infinite}
@keyframes account-spin {to{transform:rotate(360deg)}}
.psico-dashboard main {max-width:1320px;padding:25px clamp(14px,4vw,48px) 50px}
.psico-dashboard header {border-bottom:1px solid var(--line);padding-bottom:14px}
.psico-dashboard .dashboard-title {padding:24px 0 3px}
.psico-dashboard h1 {font:clamp(32px,4vw,46px)/1.12 Georgia,serif;margin:6px 0 8px}
.psico-dashboard .dashboard-title p {margin:0;color:var(--muted)}
.psico-dashboard .tabs {gap:5px;margin:17px 0;padding:6px;background:#eaf4ee;border-radius:12px}
.psico-dashboard .tabs a {text-decoration:none;font-size:.88rem}
.psico-dashboard .tabs [aria-current] {background:#fff;box-shadow:0 1px 4px #263c3715}
.psico-dashboard article {box-shadow:0 10px 35px #263c3709}
.psico-dashboard dl {gap:8px}
.psico-dashboard dl div {background:#eff6f2;padding:9px 12px}
.psico-dashboard th {color:#415e54}
.psico-dashboard tbody tr:nth-child(even) {background:#f8fbf9}
.psico-dashboard td {font-size:.88rem}
.psico-dashboard .status-pill {display:inline-block;padding:3px 8px;border-radius:999px;background:#edf1f3;color:#425961;font-size:.79rem;font-weight:650;white-space:nowrap}
.psico-dashboard .status-pill:is([data-status="Ativa"],[data-status="Vigente"],[data-status="Concluída"]) {background:#e4f3ea;color:#285a42}
.psico-dashboard .status-pill:is([data-status="Atrasada"],[data-status="Aguardando cadastro"]) {background:#fbf0da;color:#684c21}
.psico-dashboard .status-pill:is([data-status="Revogada"],[data-status="Falhou"],[data-status="Cancelada"]) {background:#f9e8ef;color:#74334f}
.psico-dashboard input,.psico-dashboard select,.psico-dashboard textarea {min-height:40px}
.psico-dashboard .temp-operation button:not(.cta) {background:#eaf4ee;color:#30594b;cursor:pointer}
.psico-dashboard .operations {background:#fbfdfb}
.psico-owner main {width:min(1100px,calc(100% - 28px));max-width:1100px;margin:22px auto;padding:clamp(16px,4vw,38px);border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 12px 42px #263c3710}
.psico-owner h1 {font:clamp(28px,4vw,42px)/1.15 Georgia,serif}
.psico-owner button,.psico-owner .button {margin:4px 0}
.psico-owner main {overflow-wrap:anywhere}
.psico-owner table {display:block;overflow:auto;max-width:100%}
@media(max-width:980px){.psico-auth main{margin-inline:16px}}
@media(max-width:640px){
 .psico-auth main {grid-template-columns:1fr;margin:12px;min-height:0;border-radius:18px}
 .psico-auth .auth-intro {padding:18px 22px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 15px}
 .psico-auth .logo {width:105px;margin:0}
 .psico-auth .auth-intro p {display:none}
 .psico-auth .auth-intro a {grid-column:1/-1}
 .psico-auth .auth-content {padding:22px}
 .psico-dashboard .table {overflow:visible}
 .psico-dashboard table,.psico-dashboard tbody,.psico-dashboard tr,.psico-dashboard td {display:block;width:100%}
 .psico-dashboard thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .psico-dashboard tbody tr {border:1px solid var(--line);border-radius:12px;margin-bottom:9px;padding:5px 9px}
 .psico-dashboard td {display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1fr);gap:8px;min-width:0;padding:6px;border:0}
 .psico-dashboard td::before {content:attr(data-label);font-size:.76rem;font-weight:700;color:#4f655b}
 .psico-dashboard .status-pill {justify-self:start}
 .psico-dashboard .tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .psico-dashboard form label {max-width:100%}
}
@media(prefers-reduced-motion:reduce){.psico-auth .spinner,.psico-admin .spinner{animation:none}}
