:root{--primary:#aa182c;--secondary:#653a2b;--background:#f5f7fa;--white:#fff;--text:#1f1f1f;--muted:#666;--border:#d9d9d9}body{background-color:var(--background);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}.container{max-width:950px;margin:0 auto;padding:20px}.header{background:var(--primary);color:var(--white);border-radius:10px;margin-bottom:20px;padding:18px 20px}.header h1{margin:0 0 8px}.header p{margin:0}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.login-page{background:var(--background);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--white);border-top:8px solid var(--primary);border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 2px 8px #00000014}.login-card h1{margin-top:0}.login-subtitle{color:var(--muted);margin-bottom:20px}.login-form{flex-direction:column;gap:12px;display:flex}.card{background:var(--white);border-left:6px solid var(--primary);border-radius:10px;margin-bottom:20px;padding:18px;box-shadow:0 2px 8px #00000014}h2{margin-top:30px;margin-bottom:12px}h3{margin-top:20px;margin-bottom:10px}.form-grid{flex-direction:column;gap:12px;display:flex}input,select{border:1px solid var(--border);border-radius:6px;width:100%;max-width:320px;padding:10px;font-size:14px}button{cursor:pointer;border:none;border-radius:6px;padding:10px 14px;font-size:14px;font-weight:600}button:hover{opacity:.92}button:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-success{color:var(--white);background-color:#2e8b57}.btn-danger{background-color:var(--secondary);color:var(--white)}.btn-secondary{color:var(--white);background-color:#6c757d}.button-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.event-title{color:var(--primary);margin-bottom:10px;font-size:20px;font-weight:700}.event-info{color:var(--muted);margin-bottom:6px}.role-row{margin-bottom:10px}.closed{color:var(--primary);margin:10px 0;font-weight:700}ul{padding-left:20px}@media (width<=600px){.container{padding:14px}.header{padding:16px}.card{padding:14px}input,select{max-width:100%}.top-bar{align-items:flex-start}}
