/* PSCX Edge styles for the customer sign-in service: the tokens and card of
   web/edge_page.py (MACD's connector pages), plus form styles for allauth's pages. */
:root{color-scheme:light dark;
--sans:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
--display:"Space Grotesk",var(--sans);
--page:light-dark(#f1ede2,#0d1828);--surface:light-dark(#faf8f2,#122033);
--raised:light-dark(#ffffff,#18293f);--inset:light-dark(#f1ede2,#0d1828);
--ink:light-dark(#2f3d55,#ece6d8);--heading:light-dark(#365b82,#f1ede2);
--muted:light-dark(#55637a,#a9b4c4);--line:light-dark(#ddd6c7,#2a3c55);
--accent:light-dark(#365b82,#9ab8e4);--cta:#e5c174;--cta-hover:#d9b15e;--cta-ink:#243f5e;
--gold:#baa16b;--logo-ink:light-dark(#092350,#ece6d8);--focus:light-dark(#365b82,#9ab8e4);
--fail:light-dark(#bf000f,#ff91a6);--glow:light-dark(#365b820a,#9ab8e412);
--shadow-near:light-dark(#365b820a,#0000004d);--shadow-far:light-dark(#365b8224,#00000080)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;padding:8vh 16px 32px;background:var(--page);color:var(--ink);
font-family:var(--sans);font-size:15px;line-height:1.6}
main{max-width:34rem;margin:0 auto;overflow:hidden;background:var(--surface);
border:1px solid var(--line);border-radius:12px;
box-shadow:0 1px 2px var(--shadow-near),0 12px 32px -12px var(--shadow-far)}
main::before{content:"";display:block;height:3px;
background:linear-gradient(90deg,var(--cta),var(--gold) 45%,var(--line) 90%)}
header{display:flex;align-items:center;gap:14px;padding:26px 28px 20px;
background:radial-gradient(ellipse at 90% 0,var(--glow),transparent 70%)}
.mark{display:flex;align-items:center;flex-shrink:0;padding-right:14px;
border-right:1px solid var(--line);color:var(--logo-ink)}
.mark svg{display:block;width:auto;height:46px}
.mark .wordmark{font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:-.02em}
.eyebrow{display:flex;align-items:center;gap:7px;margin:0 0 4px;color:var(--accent);
font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.eyebrow::before{content:"";width:3px;height:11px;flex-shrink:0;background:var(--cta);transform:skewX(-20deg)}
h1{margin:0;color:var(--heading);font-family:var(--display);font-size:22px;font-weight:700;
letter-spacing:-.025em;line-height:1.3;overflow-wrap:anywhere}
.content{padding:0 28px 26px}
.content>p{margin:0 0 16px}
.lede{color:var(--muted)}
.options{display:grid;gap:12px}
.option{display:flex;align-items:center;gap:14px;min-height:60px;padding:12px 16px;
border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--ink);
text-decoration:none;transition:background .15s,border-color .15s}
.option:hover{background:var(--inset);border-color:var(--muted)}
.option .icon{display:flex;flex-shrink:0;width:28px;height:28px;align-items:center;justify-content:center;color:var(--logo-ink)}
.option .icon svg{width:24px;height:24px}
.option strong{display:block;font-size:15px}
.option small{display:block;color:var(--muted);font-size:12.5px;line-height:1.4}
.option::after{content:"\203A";margin-left:auto;color:var(--muted);font-size:22px;line-height:1}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0 0 18px;
padding:16px 18px;border:1px solid var(--line);border-radius:8px;background:var(--inset)}
.facts dt{color:var(--muted);font-size:12.5px;font-weight:600}
.facts dd{margin:0;overflow-wrap:anywhere}
fieldset{margin:0 0 18px;padding:10px 16px;border:1px solid var(--line);border-radius:8px}
legend{padding:0 6px;color:var(--muted);font-size:12.5px;font-weight:600}
label{display:flex;align-items:center;gap:8px;padding:5px 0}
.actions{display:flex;flex-wrap:wrap;gap:10px}
button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;
padding:10px 20px;border:1px solid var(--line);border-radius:4px;background:var(--raised);
color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;
transition:background .15s,border-color .15s}
button:hover,.button:hover{background:var(--inset);border-color:var(--muted)}
button.primary,.button{background:var(--cta);color:var(--cta-ink);border-color:transparent}
button.primary:hover,.button:hover{background:var(--cta-hover)}
:is(a,button,input):focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.notice{margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);
border-left:3px solid var(--accent);border-radius:8px;background:var(--inset)}
.notice.error{border-left-color:var(--fail)}
.status{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;
background:var(--inset);color:var(--muted);font-size:13px;font-weight:550}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cta)}
footer{padding:14px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
@media(max-width:420px){body{padding:16px 10px}header{padding:20px 18px 16px;gap:10px}
.mark svg{height:36px}.content{padding:0 18px 20px}footer{padding:12px 18px}
.facts{grid-template-columns:1fr;gap:2px}.facts dd{margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Sign-in service additions (#1708): allauth's forms in the PSCX Edge card. */
.content h2{margin:18px 0 8px;color:var(--heading);font-family:var(--display);font-size:16px}
.content form{display:grid;gap:4px;margin:0 0 8px}
.content form p{margin:0 0 10px}
.content label{display:block;padding:0 0 4px;color:var(--muted);font-size:12.5px;font-weight:600}
.content input[type=email],.content input[type=password],.content input[type=text],
.content input[type=number],.content textarea{display:block;width:100%;min-height:44px;
padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--raised);
color:var(--ink);font:inherit}
.content input[readonly]{background:var(--inset);color:var(--muted)}
.content input[type=checkbox]{width:18px;height:18px;margin-right:8px;vertical-align:middle}
.content p>span,.content .helptext{display:block;margin-top:6px;color:var(--muted);font-size:12.5px}
.content p>span ul,.content .helptext ul{margin:4px 0 0;padding-left:18px}
.content ul.errorlist{margin:0 0 8px;padding:10px 14px;list-style:none;border:1px solid var(--line);
border-left:3px solid var(--fail);border-radius:8px;background:var(--inset);color:var(--fail)}
.content img{display:block;max-width:220px;margin:6px auto 14px;border-radius:6px;background:#fff;padding:8px}
.content a{color:var(--accent)}
.content section{margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--raised)}
.content section h2{margin-top:0}
.content table{width:100%;border-collapse:collapse;font-size:13.5px}
.content th,.content td{padding:6px 4px;border-bottom:1px solid var(--line);text-align:left}
.actions a.button:not(.primary){background:var(--raised);color:var(--ink);border-color:var(--line)}
nav.account{display:flex;flex-wrap:wrap;gap:6px 14px;padding:12px 28px;border-top:1px solid var(--line);font-size:12.5px}
nav.account a{color:var(--accent);text-decoration:none}
nav.account a:hover{text-decoration:underline}
nav.account form{display:inline;margin:0}
nav.account button{min-height:0;padding:0;border:0;background:none;color:var(--accent);font-size:12.5px;font-weight:400}
.mark svg{display:block;width:auto;height:46px}
.content .page-heading{margin:4px 0 14px;color:var(--heading);font-family:var(--display);font-size:20px;
font-weight:700;letter-spacing:-.02em}
.content p.actions{margin-top:6px}
/* Every form's submit button is the page's call to action; password rules read as quiet help. */
.content form button[type=submit]{background:var(--cta);color:var(--cta-ink);border-color:transparent}
.content form button[type=submit]:hover{background:var(--cta-hover)}
.content form ul:not(.errorlist){margin:-4px 0 12px;padding-left:18px;color:var(--muted);font-size:12.5px;line-height:1.5}
.content hr{margin:18px 0 14px;border:0;border-top:1px solid var(--line)}
.content .actions button{width:100%}
