:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#21344b;background:#f4f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:10px 16px;background:#126d65;color:white;font-weight:600}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e9eef5;color:#30465e}button.danger{background:#fff0f0;color:#ad3030}input,select,textarea{width:100%;border:1px solid #d1dbe7;border-radius:8px;background:white;padding:11px;color:#21344b}textarea{min-height:90px}label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.8px}h2{font-size:20px}small,.muted{color:#6a7e94}.brand{font-size:30px;font-weight:800;letter-spacing:-1px}.brand em{font-style:normal;color:#47c7a4}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.welcome{background:#163f43;color:white;padding:12vh 9vw;display:flex;flex-direction:column;justify-content:center}.welcome h1{font-size:48px;line-height:1.12;margin-top:55px}.welcome p{color:#b3d7d4;line-height:1.8}.login-form{align-self:center;width:min(420px,90%);margin:auto;padding:30px}.field{margin-bottom:18px}.login-form button{width:100%}.shell{display:grid;grid-template-columns:235px 1fr;min-height:100vh}.sidebar{background:#163f43;color:white;padding:30px 20px;position:sticky;top:0;height:100vh}.sidebar .brand{margin:0 14px 35px}.sidebar button{display:block;width:100%;text-align:left;background:transparent;color:#b8d4d3;margin:5px 0;font-weight:500}.sidebar button.active{background:#28585b;color:white}.sidebar footer{font-size:12px;margin:40px 14px;color:#b8d4d3}.workspace{min-width:0}.topbar{background:white;border-bottom:1px solid #e3eaf2;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;gap:15px}.topbar select{width:280px}.main{padding:32px;max-width:1500px;margin:auto}.heading,.tools{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.tools input,.tools select{max-width:320px}.card{background:white;border:1px solid #e2e9f1;border-radius:14px;padding:22px;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat strong{display:block;font-size:30px;margin:12px 0 2px;color:#126d65}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-size:12px;text-transform:uppercase;color:#7a8ca1;letter-spacing:.4px;background:#f7f9fc}th,td{padding:14px 12px;border-bottom:1px solid #edf1f6;vertical-align:middle}td button{padding:6px 10px;font-size:12px;margin:3px}.badge{display:inline-block;border-radius:20px;background:#eaf5f0;color:#147260;font-size:12px;padding:4px 10px}.badge.cancelled,.badge.inactive{background:#fff0ed;color:#b14837}.badge.draft{background:#eef1f6;color:#66778b}.empty{text-align:center;padding:50px;color:#7a8ca1}.pager{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.message{border-radius:8px;padding:12px;background:#e8f5ef;color:#14674d;margin-bottom:18px;white-space:pre-line}.message.error{background:#fff0ed;color:#9b382f}dialog{width:min(650px,95vw);border:0;border-radius:16px;padding:28px;box-shadow:0 25px 80px #18354a44}dialog::backdrop{background:#102a3f66}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-grid .wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.event-title{font-weight:700}.guide{line-height:1.9}.link{color:#126d65}.hidden{display:none!important}@media(max-width:900px){.shell{grid-template-columns:170px 1fr}.sidebar{padding:25px 10px}.stats{grid-template-columns:1fr 1fr}.topbar,.main{padding:20px}.login{grid-template-columns:1fr}.welcome{display:none}}@media(max-width:600px){.shell{display:block}.sidebar{position:static;height:auto;padding:15px}.sidebar .brand{margin:0 10px 10px;font-size:24px}.sidebar nav{display:flex;overflow:auto}.sidebar button{white-space:nowrap;width:auto}.sidebar footer{display:none}.topbar{flex-wrap:wrap;padding:15px}.topbar select{width:100%}.main{padding:18px}.heading{align-items:flex-start}.heading h1{font-size:23px}.form-grid{grid-template-columns:1fr}.stats{gap:10px}.card{padding:15px}.tools{flex-wrap:wrap}.tools select,.tools input{max-width:100%}}

.sidebar{overflow-y:auto}.brand{text-decoration:none;color:inherit}input[type=checkbox]{width:auto}#qr svg{max-width:100%;height:auto}#qr{margin:20px 0}#reader{margin-bottom:20px}

.qr-poster{text-align:center}.qr-poster svg{width:320px;max-width:100%;height:auto}@media print{body>*:not(#event-qr-modal){display:none!important}#event-qr-modal[open]{display:block;position:static;width:100%;max-width:none;max-height:none;border:0;box-shadow:none;overflow:visible}.modal-actions,.qr-screen-only{display:none!important}.qr-poster{padding:30px}.qr-poster svg{width:110mm;height:110mm}dialog::backdrop{background:none}}

/* Group navigation by the operational workflow. */
.sidebar .nav-group{margin:0 0 12px;border-bottom:1px solid #ffffff16;padding-bottom:10px}
.sidebar .nav-group:last-child{border-bottom:0}
.sidebar .nav-group summary{cursor:pointer;color:#91bdb9;font-size:11px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;list-style:none;gap:6px}
.sidebar .nav-group summary::-webkit-details-marker{display:none}
.sidebar .nav-group summary::after{content:'›';font-size:20px;line-height:12px;transform:rotate(0deg)}
.sidebar .nav-group[open] summary::after{transform:rotate(90deg)}
.sidebar .nav-group summary:hover{color:white}
.sidebar .nav-group summary:focus-visible,.sidebar .nav-items button:focus-visible{outline:2px solid #47c7a4;outline-offset:2px}
.sidebar .nav-items button{padding:9px 12px;margin:3px 0}
@media(max-width:600px){.sidebar nav{display:block;overflow:visible}.sidebar .nav-group{margin-bottom:5px;padding-bottom:5px}.sidebar .nav-group summary{font-size:11px;padding:7px 10px}.sidebar .nav-items{display:flex;flex-wrap:wrap;gap:5px;padding:3px 6px 8px}.sidebar .nav-items button{width:auto;margin:0;padding:8px 12px}.sidebar .brand{margin-bottom:6px}}
