/* Summit standard login page (Owen 2026-10-15). Summit Networks palette: sage #8cb35b / deep sage #4d6b2f,
   rust #bf5b37, cream #fbf3e7, brown ink #3a2e22. Light by default, dark when the device is. No external fonts. */
:root{
  --bg:#f6f1e8;--panel:#fffdf9;--ink:#2b221a;--muted:#7a6c5b;--line:#e6dccd;--field:#fbf8f3;
  --brand:#4d6b2f;--brand-ink:#fff;--rust:#bf5b37;--bad:#b3261e;--ok:#2f6b3a;--ring:#8cb35b;
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --bg:#16130f;--panel:#201b16;--ink:#f3ece1;--muted:#b3a593;--line:#3a3128;--field:#1a1612;
  --brand:#8cb35b;--brand-ink:#16130f;--rust:#d97a52;--bad:#ff8a80;--ok:#a9cc7f;--ring:#a9cc7f;
}}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--ink);font:16px/1.5 var(--font);display:grid;place-items:center;min-height:100vh;padding:24px 16px}
.wrap{width:100%;max-width:420px;display:grid;gap:18px}
.brand{display:flex;align-items:center;gap:12px;justify-content:center}
.brand img{width:44px;height:44px}
.brand .name{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem}
.brand .name span{color:var(--rust)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px 22px;display:grid;gap:16px;box-shadow:0 10px 30px rgba(58,46,34,.07)}
h1{margin:0;font-size:1.45rem;line-height:1.2}
.lede{margin:-8px 0 0;color:var(--muted);font-size:.93rem}
.sso{display:grid;gap:10px}
.sso a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border-radius:12px;text-decoration:none;font-weight:600;font-size:.97rem;border:1px solid var(--line)}
.sso a svg{width:20px;height:20px;flex:none}
.sso .ms{background:#2f2f2f;color:#fff;border-color:#2f2f2f}
.sso .ms:hover{background:#444}
.sso .google{background:#fff;color:#1f1f1f;border-color:#dadce0}
.sso .google:hover{background:#f6f7f8}
.sso a[hidden]{display:none}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.or::before,.or::after{content:'';flex:1;height:1px;background:var(--line)}
form{display:grid;gap:12px}
label{display:grid;gap:6px;font-weight:600;font-size:.87rem}
input{font:inherit;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--field);color:var(--ink);width:100%}
input:focus{outline:2px solid var(--ring);outline-offset:1px;border-color:transparent}
.pw{position:relative}
.pw input{padding-right:64px}
.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);font:600 .8rem var(--font);padding:8px;cursor:pointer}
.btn{font:700 1rem var(--font);min-height:48px;border-radius:12px;border:0;background:var(--brand);color:var(--brand-ink);cursor:pointer;width:100%}
.btn:hover{filter:brightness(1.07)}
.btn:disabled{opacity:.6;cursor:default}
.btn.alt{background:var(--field);color:var(--ink);border:1px solid var(--line);font-weight:600}
.btn[hidden]{display:none}
.new{margin:0;text-align:center;font-size:.9rem;color:var(--muted)}
.new[hidden]{display:none}
.new button{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--brand);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.links{display:flex;justify-content:space-between;gap:10px;font-size:.86rem}
.links button{color:var(--muted);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.links button:hover{color:var(--ink)}
.wrap>.msg{background:var(--panel)}
.msg{padding:10px 12px;border-radius:10px;border:1px solid var(--line);font-size:.9rem}
.msg.bad{border-color:var(--bad);color:var(--bad)}
.msg.ok{border-color:var(--ok);color:var(--ok)}
.msg[hidden],form[hidden],.view[hidden],.or[hidden],.links button[hidden]{display:none}
.fine{margin:0;color:var(--muted);font-size:.78rem;text-align:center}
.fine a{color:inherit}
