:root{--bg:#f4efe6;--bg-soft:#fff9ef;--card:#fff;--text:#112228;--muted:#5f6d72;--brand:#0c7c59;--brand-strong:#08543d;--danger:#9a031e;--border:#d4c5b5}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,#f9c784 0,transparent 42%),radial-gradient(circle at bottom right,#5bc0eb 0,transparent 34%),var(--bg);color:var(--text);font-family:Trebuchet MS,Segoe UI,sans-serif;margin:0}body,main{min-height:100vh}.login-page{display:grid;padding:1.5rem;place-items:center}.group-card,.login-card,.ranking-card,.status-banner{background:var(--card);border:1px solid var(--border);border-radius:1rem;box-shadow:0 8px 28px #11222814}.login-card{padding:2rem;width:min(460px,100%)}.app-header__eyebrow,.login-card__eyebrow{color:var(--brand);font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.app-header__title,.login-card__title{font-size:2rem;margin:.25rem 0 0}.login-card__subtitle{color:var(--muted)}.login-form{display:grid;gap:1rem;margin-top:1rem}.field{display:grid;gap:.4rem}.field input,.guess-fields input{background:var(--bg-soft);border:1px solid var(--border);border-radius:.6rem;font-size:1rem;padding:.7rem}.button{background:var(--brand);border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:700;padding:.75rem 1.1rem;transition:transform .14s ease,background .14s ease}.button:hover{background:var(--brand-strong);transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.6}.button--ghost{background:transparent;border:1px solid var(--brand);color:var(--brand)}.error-message,.status-banner__locked{color:var(--danger);font-weight:700;margin:0}.app-page{margin:0 auto;padding:1rem;width:min(1100px,100%)}.app-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem}.app-header__actions{align-items:center;display:flex;gap:.75rem}.app-header__user{color:var(--muted);font-weight:700}.app-header__nav{display:flex;gap:.5rem}.app-link{border:1px solid transparent;border-radius:999px;color:var(--text);padding:.5rem .8rem;text-decoration:none}.app-link--active{border-color:var(--brand);color:var(--brand);font-weight:700}.group-card,.status-banner{margin-bottom:1rem;padding:1rem}.group-card__header h2{margin:0}.group-card__teams{color:var(--muted);margin:.25rem 0 0}.match-list{display:grid;gap:.75rem;margin-top:1rem}.match-item{align-items:flex-start;border:1px dashed var(--border);border-radius:.8rem;display:flex;gap:1rem;justify-content:space-between;padding:.8rem}.match-item__kickoff,.match-item__result,.match-item__teams{margin:0}.match-item__teams{font-weight:700}.match-item__kickoff{color:var(--muted)}.match-item__result{color:var(--brand-strong)}.guess-fields{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(95px,1fr))}.guess-fields label{color:var(--muted);display:grid;font-size:.8rem;gap:.35rem}.ranking-card{padding:1rem}.ranking-card__header{align-items:center;display:flex;justify-content:space-between}.ranking-table{border-collapse:collapse;margin-top:1rem;width:100%}.ranking-table td,.ranking-table th{border-bottom:1px solid var(--border);padding:.7rem;text-align:left}@media(max-width:760px){.match-item{flex-direction:column}.guess-fields{width:100%}}
