:root{--bg:#0e1b2a;--surface:#16293d;--card:#1b3149;--border:#29455f;--text:#eaf2fb;--muted:#8fa8c0;--accent:#35c4dc;--accent-strong:#1a9fb8;--danger:#e2725b;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background-color:var(--bg);color:var(--text);background-image:linear-gradient(#0e1b2ad6,#0e1b2aeb),url(/bg.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;line-height:1.5}a{color:var(--accent)}input,textarea,select,button{font:inherit;color:inherit}.app{max-width:720px;margin:0 auto;padding:0 1rem 4rem}.app-header{justify-content:space-between;align-items:center;gap:.5rem;padding:1.25rem 0 .5rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.logout{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .9rem;font-size:.8rem}.logout:hover{color:var(--text);border-color:var(--muted)}.banner{border-radius:var(--radius);margin-bottom:.5rem;padding:.6rem .9rem;font-size:.85rem}.banner.warn{color:#f0dfa0;background:#3a3417;border:1px solid #6b5d1f}.banner.error-banner{color:#f0b3a8;background:#3a1d18;border:1px solid #6b2f24}.burgee{font-size:2.2rem;line-height:1}.brand h1{letter-spacing:.5px;margin:0;font-size:1.6rem}.tagline{color:var(--muted);font-size:.85rem}.tabs{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);gap:.25rem;padding:.5rem 0;display:flex;position:sticky;top:0}.tab{border-radius:var(--radius);color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:.5rem .25rem;transition:background .15s,color .15s;display:flex}.tab:hover{background:var(--surface)}.tab.active{color:var(--text);background:var(--surface)}.tab.active .tab-icon{transform:translateY(-1px)}.tab-icon{font-size:1.3rem}.tab-label{font-size:.75rem}.content{padding-top:1rem}.page h2{margin:.25rem 0}.page h3{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:1.5rem 0 .5rem;font-size:1rem}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:.9rem 1rem}.card.past{opacity:.65}.item-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.meta{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin-top:.35rem;font-size:.9rem;display:flex}.notes{white-space:pre-wrap;margin:.5rem 0 .25rem}.list{margin:0;padding:0;list-style:none}.link-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.form{flex-direction:column;gap:.6rem;display:flex}.form .row{flex-wrap:wrap;gap:.6rem;display:flex}.form label{color:var(--muted);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.form label.grow{flex:1;min-width:140px}.form input,.form textarea,.form select{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:.5rem .6rem}.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--accent-strong);outline-offset:-1px}button[type=submit],.form button{background:var(--accent-strong);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:.55rem 1.1rem;font-weight:600}button[type=submit]:hover{background:var(--accent)}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.2rem 0;font-size:.8rem;text-decoration:underline}.link-btn:hover{color:var(--danger)}.wind-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.9rem}.wind-table th,.wind-table td{text-align:left;border-bottom:1px solid var(--border);padding:.35rem .5rem}.wind-table th{color:var(--muted);font-weight:500}.attendance{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;margin:.6rem 0;padding-top:.6rem;display:flex}.att-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.att-name{font-size:.95rem}.att-buttons{gap:.35rem;display:flex}.att-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--muted);border-radius:999px;padding:.25rem .7rem;font-size:.8rem}.att-btn.yes.active{color:#fff;background:#1f7a4d;border-color:#1f7a4d}.att-btn.no.active{background:var(--danger);border-color:var(--danger);color:#fff}.row-actions{align-items:center;gap:.9rem;margin-top:.2rem;display:flex}.link-btn.danger:hover{color:var(--danger)}.edit-form{gap:.6rem}.guest-tag{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border:1px solid var(--border);vertical-align:middle;border-radius:999px;margin-left:.45rem;padding:.05rem .4rem;font-size:.62rem}.guest-add{border-top:1px dashed var(--border);gap:.4rem;margin-top:.5rem;padding-top:.6rem;display:flex}.guest-add input{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;min-width:0;padding:.35rem .6rem}.guest-add .guest-btn{background:var(--surface);border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:8px;align-self:auto;padding:.35rem .8rem;font-weight:500}.guest-add .guest-btn:hover{color:var(--text);border-color:var(--muted)}.guest-remove{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:.9rem;line-height:1}.guest-remove:hover{color:var(--danger)}.gate{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.gate-card{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.6rem;width:100%;max-width:320px;padding:2rem 1.5rem;display:flex}.gate-burgee{font-size:2.5rem}.gate-card h1{margin:0}.gate-card input{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;padding:.6rem .7rem}.gate-card button{background:var(--accent-strong);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1rem;font-weight:600}.gate-card button:hover{background:var(--accent)}
