:root{--ink:#173f34;--orange:#e76f3c;--cream:#f6f1e7;--paper:#fffdf8;--line:#ddd7ca;--muted:#66746f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}button,input,select,textarea{font:inherit}.admin-login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#173f34,#0c211c)}.login-card{width:min(430px,calc(100vw - 2rem));padding:2.5rem;background:var(--paper);box-shadow:0 20px 60px #0005}.admin-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:white;font-weight:800}.login-card h1{margin:1.5rem 0 .5rem;font-family:Georgia,serif}.login-card p{color:var(--muted)}label{display:grid;gap:.45rem;font-size:.82rem;font-weight:700}input,select,textarea{width:100%;padding:.8rem;border:1px solid var(--line);background:white}button{padding:.85rem 1.2rem;border:0;background:var(--orange);color:white;font-weight:800;cursor:pointer}.login-card button{width:100%;margin-top:1rem}.login-card>a{display:block;margin-top:1.2rem;text-align:center;color:var(--ink)}.alert{padding:1rem;margin-bottom:1rem}.error{background:#ffe0da;color:#8b2e1d}.success{background:#dcebdd;color:#225b34}.admin-dashboard>header{height:76px;padding:0 clamp(1rem,4vw,4rem);display:flex;justify-content:space-between;align-items:center;background:#102e26;color:white}.admin-dashboard>header>div,.admin-dashboard header nav{display:flex;align-items:center;gap:1rem}.admin-dashboard header strong,.admin-dashboard header small{display:block}.admin-dashboard header small{color:#a9bdb6}.admin-dashboard header a,.text-button{color:white;background:none}.admin-dashboard header nav form{margin:0}.admin-dashboard main{padding:2rem clamp(1rem,4vw,4rem)}.admin-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:2rem}.wheel-panel,.settings-panel{padding:2rem;background:var(--paper);border:1px solid var(--line)}.kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--orange);font-size:.72rem;font-weight:800}.wheel-panel h1{font-family:Georgia,serif;font-size:2.5rem;margin:.3rem 0}.wheel-panel>p{color:var(--muted)}.wheel-wrap{width:min(520px,100%);aspect-ratio:1;position:relative;margin:2rem auto}.wheel-wrap canvas{width:100%;height:100%;filter:drop-shadow(0 12px 16px #173f3433);transition:transform 4s cubic-bezier(.12,.72,.18,1)}.pointer{position:absolute;z-index:4;left:50%;top:-8px;transform:translateX(-50%);width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-top:42px solid #111}.wheel-center{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;display:grid;place-items:center;border-radius:50%;background:white;border:8px solid #e8dcc5;color:var(--orange);font-weight:900}.draw-form button{width:100%;font-size:1.1rem}.draw-form button:disabled{background:#aaa}.security-note{text-align:center;font-size:.76rem}.winner-announcement{text-align:center;padding:1.2rem;background:#fff0d5;border:2px solid #e5b65d}.winner-announcement span,.winner-announcement strong{display:block}.winner-announcement strong{font-family:Georgia,serif;font-size:4rem;color:var(--orange)}.winner-announcement p{margin:0}.settings-panel h2{font-family:Georgia,serif}.settings-form{display:grid;gap:1rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.settings-form fieldset{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--line)}.settings-form legend{font-weight:800}.secondary-button{background:var(--ink)}.history{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem}.history ol{list-style:none;padding:0}.history li{display:grid;grid-template-columns:42px 70px 1fr;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}.history li>span{color:var(--orange);font-weight:800}.history li>strong{font-size:1.4rem}.history small{color:var(--muted)}.empty{color:var(--muted)}.danger-button{width:100%;background:#8f3427;margin-top:1rem}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.admin-dashboard header nav>a{display:none}}@media(max-width:520px){.wheel-panel,.settings-panel{padding:1.2rem}.field-row{grid-template-columns:1fr}.admin-dashboard>header{padding:0 1rem}}
