/* Portable snapshot of SO 33ce3b6 globals.css and AuthCard/Button/Input.
   The currently shipped school theme is retained; no sibling runtime is required. */
:root{color-scheme:light;--background:#f8fafc;--foreground:#0f172a;--card:#fff;--muted-foreground:#475569;--border:#e2e8f0;--primary:#0f766e;--primary-foreground:#f0fdfa;--destructive:#b91c1c}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--background:#0b1220;--foreground:#e2e8f0;--card:#111827;--muted-foreground:#a8b5c7;--border:#334155;--primary:#2dd4bf;--primary-foreground:#042f2e;--destructive:#f87171}}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font:16px/1.5 Arial,Helvetica,sans-serif}main{min-height:100svh;display:grid;place-items:center;padding:1rem}.auth-card{width:100%;max-width:28rem;padding:1.5rem;border:1px solid var(--border);border-radius:.75rem;background:var(--card);box-shadow:0 1px 2px #0000000d;overflow-wrap:anywhere}header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-size:1.125rem}h1{font-size:1.5rem;line-height:1.3;margin:1.5rem 0 .5rem}.description,.help{color:var(--muted-foreground);font-size:.875rem}.description{margin-top:0}.help{margin:1.5rem 0 0}form{display:grid;gap:1rem;margin-top:1.5rem}label{display:grid;gap:.375rem;font-size:.875rem;font-weight:500}input,select{font:inherit;color:var(--foreground);background:var(--background);border:1px solid var(--border);border-radius:.375rem;min-height:2.75rem;min-width:0;padding:.625rem .75rem;width:100%}.language{max-width:7.5rem}.language span{font-size:.75rem;color:var(--muted-foreground)}.language select{padding:.375rem;min-height:2.75rem}button{font:inherit;border:1px solid transparent;border-radius:.5rem;min-height:2.75rem;padding:.625rem 1rem;cursor:pointer;background:var(--primary);color:var(--primary-foreground);font-weight:600}button:hover{filter:brightness(.95)}a{color:var(--primary);text-underline-offset:.2em}a:hover{text-decoration:underline}.secondary{display:inline-block;margin-top:1.25rem;font-size:.875rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.alert{padding:.75rem;border:1px solid var(--destructive);border-radius:.5rem;color:var(--destructive);font-size:.875rem}.status{padding:.75rem;border:1px solid var(--border);border-radius:.5rem}ul{list-style:none;padding:0;margin:1.5rem 0}li+li{margin-top:.75rem}li a{display:block;min-height:3rem;padding:.875rem;border:1px solid var(--border);border-radius:.5rem;text-decoration:none;font-weight:600}li a:hover{border-color:var(--primary)}button[value=deny],form[action='/schools/logout'] button{background:transparent;color:var(--foreground);border-color:var(--border)}@media(max-width:360px){.auth-card{padding:1rem}header{align-items:flex-start;gap:.5rem}}

.button-link{display:block;text-align:center;margin-top:1.5rem;padding:.75rem 1rem;min-height:2.75rem;background:var(--primary);color:var(--primary-foreground);border-radius:.5rem;text-decoration:none;font-weight:600}

li a{display:flex;align-items:center;gap:1rem}.school-logo{position:relative;flex-shrink:0;width:3rem;height:3rem;display:grid;place-items:center}.school-logo svg{width:2rem;height:2rem}.school-logo img{position:absolute;inset:0;width:3rem;height:3rem;object-fit:contain;background:var(--card)}
