*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:#edf3ee;color:#182e27;font:1rem/1.45 system-ui,sans-serif}
header{background:#183e32;color:#fff;padding:1rem max(1rem,calc((100% - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem}
header small{color:#bcdfcc;font-weight:700;letter-spacing:.12em}
h1,h2,p{margin:0}
h1{font-size:clamp(1.4rem,3vw,2rem)}
h2{font-size:1.25rem;margin-bottom:.6rem}
h2 small{color:#426052;font-size:.85rem}
nav a{color:#fff;margin:0 .4rem}
main{max-width:1220px;margin:auto;padding:1rem}
section{margin:1rem 0 1.4rem}
.heading{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.65rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.65rem}
button,input{font:inherit}
button{background:#fff;color:#153d31;border:1px solid #94b0a0;border-radius:.65rem;min-height:44px;padding:.55rem .8rem;cursor:pointer}
button:hover{background:#e3eee7}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #507eae;outline-offset:2px}
button:disabled{opacity:.55;cursor:default}
.primary{background:#20664d;color:#fff;border-color:#20664d;font-weight:750}
.primary:hover{background:#174b39}
.ticket{background:white;text-align:left;display:grid;gap:.35rem;align-content:start;min-height:106px;border-left:5px solid #d18c33;overflow-wrap:anywhere}
.ticket.done{border-left-color:#2b855e;background:#e0f2e7}
.ticket strong{font-size:1.25rem}
.ticket small{color:#46655a}
.cancellations{background:#ffe9e6;border:1px solid #d68880;border-radius:.85rem;padding:.9rem;color:#751f23}
.cancel{background:#fff5f4;border-left:5px solid #b73937;border-radius:.6rem;padding:.7rem;display:grid;gap:.4rem;overflow-wrap:anywhere}
.cancel button{justify-self:start;color:#801e23;border-color:#c07676}
#ticket-cancel{color:#751f23;font-weight:750;margin-bottom:.65rem}
#message,#ticket-update,.note{border-radius:.55rem;padding:.65rem .8rem;background:#fff2d9;color:#683b17;margin-bottom:.65rem;white-space:pre-wrap;overflow-wrap:anywhere}
.signin{display:grid;gap:.9rem;background:white;padding:1.15rem;border-radius:.8rem;max-width:24rem;margin:2rem auto}
.signin label{display:grid;gap:.35rem}
.signin input{width:100%;padding:.6rem;border:1px solid #94b0a0;border-radius:.5rem}
dialog{color:inherit;border:1px solid #aac3b5;border-radius:.9rem;width:min(95vw,40rem);max-height:88vh;padding:1rem;background:#f9fcfa}
dialog::backdrop{background:#0a251eb0}
#ticket-lines{list-style:none;margin:.65rem 0;padding:0}
#ticket-lines li{background:white;border-bottom:1px solid #d8e4db;padding:.65rem;overflow-wrap:anywhere}
#ticket-lines strong{font-size:1.15rem}
#ticket-lines p{margin:.25rem 0 0;color:#315b49;white-space:pre-wrap}
.footer{display:flex;justify-content:flex-end}
