:root{color:#122956;background:#e4f4ff;font:16px/1.5 system-ui,sans-serif}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 50%,#f6fbff,#d4ecfd)}
.banner{height:clamp(155px,26vw,320px);background:#b2dcf5 url('/assets/backdrop.png') center top/cover no-repeat}
.desk{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px max(20px,calc((100% - 1180px)/2));background:#f1faff;border-bottom:1px solid #abcce7}
.desk span{display:block;font-size:.85rem}.desk strong{letter-spacing:.04em}
main{max-width:1220px;margin:auto;padding:22px 20px 40px}
h1{font-size:clamp(1.9rem,4.5vw,3.15rem);letter-spacing:-.04em;line-height:1.1;margin:0}
h2,h3,p{margin:0 0 8px} .venue{margin:8px 0 18px}
button,input,select,.button{font:inherit;color:inherit;border:1px solid #8baed2;border-radius:9px;padding:8px 13px;background:#f8fcff;min-height:44px}
button,.button{font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
button:disabled{cursor:default;opacity:.55}
.primary{background:#07547c;color:#fff;border-color:#07547c}
button:hover:not(:disabled),.button:hover{filter:brightness(.94)}
:focus-visible{outline:3px solid #176bac;outline-offset:3px}
#search,.resources,.actions{display:flex;align-items:center;gap:10px}
#query{flex:1;min-width:0;background:#fff}
.resources{margin:12px 0 18px;align-items:stretch}.resources :is(button,.button){flex:1;background:#e8f5ff;text-align:center}
.panel{background:#f9fcff;border:1px solid #a9c9e7;border-radius:13px;padding:16px;margin-bottom:12px}
.empty{text-align:center;padding:30px 16px}.empty strong{font-size:1.4rem}.empty p{margin:5px 0 0}
.badge{display:inline-block;background:#086678;color:#fff;border-radius:5px;padding:3px 8px;font-size:.83rem;font-weight:750;margin-bottom:8px}
.result-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.result-heading .badge,.certificate-link{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:3px 8px;font-size:.83rem;font-weight:750;line-height:1.25;text-align:center;border-radius:5px}
.result-heading .badge{margin:0;border:1px solid transparent}
.certificate-downloads{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-left:auto}
.result-heading:has(.certificate-downloads > :only-child){align-items:stretch}
.result-heading:has(.certificate-downloads > :only-child) .badge,.certificate-downloads > :only-child{width:clamp(100px,35vw,180px)}
.details{white-space:pre-line}.muted{color:#385276}.meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin:9px 0;color:#800020}
.extra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 15px;border-top:1px solid #c2d9ea;padding-top:10px;margin-top:10px}
.bell-signals{display:block}
.collection{display:block}.collection-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.collection-gallery figure{margin:0}
.collection-gallery :is(img,.collection-placeholder){display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border:1px solid #c2d9ea;border-radius:8px}
.collection-gallery .collection-placeholder{display:grid;place-items:center;border-style:dashed;color:#385276;text-align:center;padding:8px}
@media(max-width:620px){.collection-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.collection-gallery figcaption{margin-top:5px;font-weight:650}
.admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.admin-actions>div{flex:1 1 220px;background:#eaf5fc;border-radius:8px;padding:10px}
#notice:empty,#login-error:empty{display:none}#notice,#login-error{color:#872419;margin-bottom:8px}
#report .actions{flex-wrap:wrap;margin-bottom:10px}#report label{display:flex;align-items:center;gap:8px}
.table-wrap{overflow:auto;max-height:70vh}table{border-collapse:collapse;width:100%;min-width:680px}
td,th{text-align:left;padding:8px;border-bottom:1px solid #c2d9ea;vertical-align:top}
th{position:sticky;top:0;background:#edf7ff}
dialog{width:min(940px,calc(100% - 24px));max-height:88vh;padding:0;border:1px solid #a9c9e7;border-radius:14px;color:inherit;background:white}
dialog::backdrop{background:#10233c99}
dialog header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#edf7ff;padding:12px 18px;border-bottom:1px solid #a9c9e7;z-index:1}
dialog header h2{margin:0}dialog header button{font-size:1.2rem}.dialog-body{padding:16px 18px}
#login{width:min(420px,calc(100% - 24px))}#password{width:100%;margin:4px 0 12px}
iframe{width:100%;height:64vh;border:1px solid #c2d9ea;margin-top:8px}
.floor-scroll{overflow:auto;max-height:63vh}.floor-scroll img{display:block;width:100%}
.guidelines h3:not(:first-child){margin-top:18px}
@media(max-width:620px){.desk{padding:10px 12px}.desk .actions{gap:5px}.desk .actions strong{font-size:.72rem}.resources{flex-direction:column}.resources :is(button,.button){width:100%}#search{flex-wrap:wrap}#query{flex-basis:100%}#search button{flex:1}main{padding-inline:12px}.banner{background-size:100% auto}}
