*{box-sizing:border-box}body{margin:0;background:#f5f6f0;color:#253b32;font:16px system-ui,sans-serif}body[data-site=cemetery]{background:#f6f3eb;color:#263b43}header,footer,main{max-width:1000px;margin:auto;padding:24px}header,footer{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}header{border-bottom:1px solid #d6ded6}.brand{font-size:23px;font-weight:750;text-decoration:none}a{color:inherit}main{padding-top:40px;min-height:65vh}h1{font-size:34px;margin:0 0 10px}h2{font-size:23px}.lead,.meta{color:#607166;line-height:1.6}.card{background:white;border:1px solid #d6ded6;border-radius:14px;padding:24px;margin:24px 0}label{display:block;font-weight:600;margin:18px 0 6px}input,textarea,select{display:block;width:100%;font:inherit;padding:12px;border:1px solid #bcc9bf;border-radius:6px}textarea{min-height:150px;resize:vertical}button,.button{display:inline-block;background:#244b3e;color:white;border:0;border-radius:7px;padding:12px 18px;font:600 15px system-ui;cursor:pointer;text-decoration:none;margin:12px 0}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e8eee5;color:#253b32}.ticket-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #d6ded6}.ticket-row button{text-align:left;background:transparent;color:inherit;padding:0;margin:0}.ticket-row strong{display:block}.badge{background:#e8eee5;border-radius:18px;padding:5px 10px;font-size:12px;white-space:nowrap}.message{padding:18px;background:#f2f5ef;border-radius:8px;margin:16px 0}.message.admin{background:#e9eff9}.message p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.message small{color:#607166}#feedback{padding:12px;border-radius:6px}#feedback:empty{display:none}#feedback.error{background:#fff0ec;color:#9c3522}.actions{display:flex;gap:12px;flex-wrap:wrap}footer{border-top:1px solid #d6ded6;font-size:14px}details summary{cursor:pointer;font-weight:650}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #73946e;outline-offset:3px}@media(max-width:600px){main,header,footer{padding:20px}.card{padding:18px}.ticket-row{align-items:start}h1{font-size:28px}}

#feedback.flash-banner{padding:14px 18px;margin:16px 0 24px;border:1px solid #b9d4bd;border-left:4px solid #426d4a;border-radius:8px;background:#edf6ee;color:#21462b}#feedback.flash-banner.error{border-color:#ddb7af;background:#fff0eb;color:#8b3225}
