@import url("./base/fonts.css?v=20260801-1");

:root {
    --yellow: #ffe400;
    --blue: #11152c;
    --dark: #090c1c;
    --text: #f7f7fb;
    --muted: #aeb2ca;
    --border: rgba(255, 255, 255, .1);
}

* { box-sizing: border-box; }
button,input,select { font:inherit; }
body {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    color: var(--text);
    background: radial-gradient(circle at 50% 0, #252d5b 0, var(--dark) 55%);
    font-family: "Outfit", ui-sans-serif, system-ui, sans-serif;
    font-size: 18px;
    font-weight: 300;
}
.auth { display: grid; place-items: center; min-height: 100vh; padding: 24px; }
.auth__panel { width: min(420px, 100%); }
.auth__brand { display: flex; align-items: center; justify-content: center; }
.auth__brand img { display:block; width:150px; max-width:100%; height:auto; }
.auth--login .auth__brand img { width:90px; }
.auth--campaign .auth__brand img { width:90px; }
.auth__eyebrow { margin: 32px 0 8px; color: var(--yellow); font-size: 12px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.auth__eyebrow--jury { margin-top:18px; color:var(--text); font-family:"Outfit",ui-sans-serif,system-ui,sans-serif; font-size:22px; font-weight:700; letter-spacing:0; text-transform:none; }
.auth h1 { margin: 0; font-family:"LEMON MILK",sans-serif; font-size:40px; font-weight:700; letter-spacing:-.035em; }
.auth__introduction { margin: 12px 0 26px; color: var(--muted); line-height: 1.6; }
.auth--entry .auth__eyebrow,
.auth--entry h1,
.auth--entry .auth__introduction { text-align: center; }
.auth--entry h1 { margin-top:18px; font-family:"Outfit",ui-sans-serif,system-ui,sans-serif; font-size:22px; font-weight:700; letter-spacing:0; }
.auth__error { margin-bottom: 18px; padding: 11px 13px; color: #ff9a9a; background: rgba(255, 90, 90, .1); border-left: 2px solid #ff8585; }
.auth__form { display: grid; gap: 10px; }
.auth__form label { margin-top: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }
.auth__form input { width: 100%; height: 48px; padding: 0 14px; color: var(--text); background: rgba(255, 255, 255, .055); border: 1px solid var(--border); border-radius: 5px; outline: none; font: inherit; }
.auth__form select { width:100%; height:48px; padding:0 48px 0 14px; appearance:none; color:var(--text); background-color:#1c2141; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23f7f7fb' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 18px center; background-size:12px 8px; border:1px solid var(--border); border-radius:5px; outline:none; }
.auth__form input:focus { border-color: rgba(255, 228, 0, .45); box-shadow: 0 0 0 3px rgba(255, 228, 0, .12); }
.auth__form button { height: 48px; margin-top: 12px; color: var(--blue); background: var(--yellow); border: 0; border-radius: 5px; font: inherit; font-weight: 850; cursor: pointer; }
.auth__panel--account { width:min(500px,100%); padding:34px 0; }
.auth__panel--account .auth__brand img { width:90px; }
.auth__panel--account > .auth__eyebrow,
.auth__panel--account > h1,
.auth__panel--account > .auth__introduction { text-align:center; }
.auth__panel--account > h1 { font-weight:500; }
.auth__section { margin-top:12px; padding:0 16px; background:rgba(255,255,255,.035); border:1px solid var(--border); border-radius:6px; }
.auth__section summary { padding:16px 0; color:var(--text); font-weight:600; cursor:pointer; }
.auth__section[open] { padding-bottom:18px; }.auth__section[open] summary { color:var(--yellow); }
.auth__hint { margin:0; color:var(--muted); font-size:14px; }
.auth__admin-link { display:block; width:max-content; margin:22px auto 0; color:var(--muted); font-size:12px; text-underline-offset:3px; }
.auth__admin-link:hover { color:var(--yellow); }
