:root{--ink:#20312f;--muted:#61716c;--green:#176c54;--line:#dbe5df;--paper:#fff;--bg:#f3f6f3;--danger:#a32e3c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--green)}.top{padding:18px 4%;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;font-size:24px;text-decoration:none;white-space:nowrap}.brand span{font-size:12px;background:#e6f3eb;border-radius:8px;padding:4px 7px;vertical-align:middle}.top nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.top nav>a{font-size:14px;text-decoration:none}.top form{margin:0}main{max-width:1440px;margin:auto;padding:32px 4% 48px}h1{font-size:clamp(26px,3vw,36px);letter-spacing:-.8px;margin:0 0 20px}h2{font-size:21px;margin:0 0 16px}p{margin:0 0 18px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;margin:20px 0}.narrow{max-width:520px;margin:28px auto}.toolbar,.public-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.toolbar p{margin:0}.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.filters label{flex:1;min-width:130px}.filters .check{flex:0 0 auto}.filters button{margin-bottom:0}label{display:block;font-weight:600;font-size:14px;margin-bottom:16px}input,select,textarea{font:inherit;color:inherit;border:1px solid #bccbc2;background:#fff;border-radius:8px;padding:11px 12px;width:100%;margin-top:6px}input:focus,select:focus,textarea:focus{outline:3px solid #b0dac6;outline-offset:1px}input[type=checkbox]{width:19px;height:19px;accent-color:var(--green);margin:0;flex-shrink:0}.check{display:flex;gap:10px;align-items:center;font-weight:500}.filters label{margin-bottom:0}.filters .check{padding:12px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.form-grid .wide{grid-column:1/-1}.validation-box{background:#f4f8f5;border-radius:10px;padding:18px;margin:10px 0 24px}.validation-box label:last-child{margin-bottom:0}small,.muted{color:var(--muted);font-size:13px}label small{display:block;font-weight:400;margin-top:5px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:var(--green);color:white;font:600 14px/1.4 system-ui;text-decoration:none;cursor:pointer;white-space:nowrap}button:hover,.button:hover{filter:brightness(.92)}.secondary{background:#fff;border-color:#bfcec5;color:var(--green)}.danger{background:#fff1f0;border-color:#efd3d2;color:var(--danger)}.link{background:none;color:var(--green);padding:0;font-weight:400}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:white;margin:20px 0}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;background:#eaf1ec;font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding:15px 16px}td{border-top:1px solid var(--line);padding:16px;vertical-align:middle}tbody tr:hover{background:#fafcf9}.badge{display:inline-block;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;background:#edf1ef;margin:2px 0}.badge.ok,.badge.scheduled{background:#e1f2e7;color:#256546}.badge.pending{background:#fff0d6;color:#855c13}.badge.cancelled{background:#ffe6e8;color:#a32e3c}.badge.postponed{background:#fff0d6;color:#855c13}.notice{padding:16px 20px;border-radius:10px;background:#dff3e6;margin-bottom:20px;border:1px solid #b4d9c1}.error{padding:14px;background:#fff0ef;border-left:4px solid var(--danger);border-radius:6px;color:var(--danger)}.empty{text-align:center;padding:60px 20px;color:var(--muted)}summary{cursor:pointer}details[open] summary{margin-bottom:20px}.changes{display:grid;grid-template-columns:190px 1fr;gap:10px;font-size:14px}.changes dt{font-weight:600}.changes dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}pre{background:#f4f6f4;padding:16px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}footer{text-align:center;color:var(--muted);font-size:12px;padding:20px}.stats{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0}.stats span{padding:14px;background:#f3f6f3;border-radius:10px}.stats strong{display:block;font-size:28px}.public{background:#fff}.public main{max-width:1200px;padding:28px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--green);font-weight:700;margin-bottom:4px}.public-heading h1{margin:0}.public .cancelled td:first-child,.public .cancelled td:nth-child(2)>strong{text-decoration:line-through;color:var(--danger)}.old-date{text-decoration:line-through;color:var(--danger)}.public .postponed td:first-child strong{color:#855c13}.compact main{padding:12px}.compact h1{font-size:24px}.compact td{padding:10px 12px}.compact .button{padding:7px 10px}.public-foot{text-align:right}[hidden]{display:none!important}
@media(max-width:760px){.top{align-items:start;flex-direction:column;padding:16px 20px}.top nav{gap:12px}main{padding:24px 16px}.toolbar{align-items:start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.panel{padding:18px}.filters{gap:12px}.filters label{min-width:140px}.public main{padding:18px 12px}.public-table{border:none;background:transparent;overflow:visible}.public-table table,.public-table tbody,.public-table tr,.public-table td{display:block}.public-table thead{display:none}.public-table tr{border:1px solid var(--line);border-radius:12px;margin-bottom:14px;padding:12px;background:white}.public-table td{border:0;padding:7px 4px;display:grid;grid-template-columns:110px 1fr;gap:10px}.public-table td:before{content:attr(data-label);font-size:12px;color:var(--muted);font-weight:600}.public-table td>br{display:none}.public-table td small,.public-table td .badge{grid-column:2}.public-table td .old-date{grid-column:2}.public-table td:first-child strong{grid-column:2}.changes{grid-template-columns:1fr;gap:4px}.changes dd{margin-bottom:14px}.stats{gap:10px}.stats span{flex:1;min-width:120px}}
@media print{.top,footer,.filters,.toolbar .button,.actions button{display:none}body{background:white}main{padding:0}.panel,.table-wrap{border-radius:0;box-shadow:none}a{color:black}.public-table table{font-size:11px}}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
