.mod-public{margin:0;background:#f4f7fb;color:#20334b;font:16px/1.6 system-ui,sans-serif}.mod-shell{max-width:1100px;margin:auto;padding:32px 24px 70px}.mod-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:48px}.mod-public a{color:#146c91}.mod-public h1{font-size:clamp(28px,5vw,48px);letter-spacing:-.04em}.mod-public h2{font-size:22px}.mod-public button,.mod-public select,.mod-public input,.mod-public textarea{font:inherit}.mod-public button{background:#155f72;color:white;border:0;border-radius:10px;padding:12px 20px;cursor:pointer}.mod-public select{padding:8px;max-width:160px}.mod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin:24px 0}.mod-layout{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.6fr);gap:24px;align-items:start}.mod-card{margin:0;background:white;border:1px solid #dfe6ed;border-radius:18px;padding:24px;box-shadow:0 8px 30px #193b5b08;overflow-wrap:anywhere}.mod-form{display:grid;gap:18px}.mod-form label{display:grid;gap:8px;font-weight:600}.mod-form input:not([type=checkbox]),.mod-form textarea,.mod-form select{box-sizing:border-box;max-width:100%;width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#20334b}.mod-form .mod-check{display:flex;align-items:center;gap:10px}.mod-check input{width:auto;min-width:18px;min-height:18px}.mod-form button{justify-self:start}.mod-field{display:grid;gap:12px;border:1px solid #dfe6ed;border-radius:12px;padding:18px;background:#f8fafc}.mod-secondary{margin-top:20px}.mod-list{list-style:none;padding:0}.mod-list li{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid #e4eaf0;overflow-wrap:anywhere}.mod-list small{color:#617187}.mod-notice{padding:16px 20px;background:#e7f4f3;border:1px solid #bcdedb;border-radius:12px}.mod-thumb{width:100%;height:220px;object-fit:cover;border-radius:10px;display:block}.mod-symbol{font-size:36px;color:#15788a}.mod-status{font-weight:600}.mod-submission{padding:18px 0;border-bottom:1px solid #ddd}.mod-submission summary{cursor:pointer}.mod-actions{display:flex;gap:24px;margin:20px 0}.mod-description,.mod-submission dd{overflow-wrap:anywhere}.mod-submission dt{font-weight:600}.mod-submission dd{margin:4px 0 16px}.mod-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mod-honeypot,.mod-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}#module-lightbox{border:0;border-radius:14px;max-width:90vw;max-height:90vh;padding:20px}#module-lightbox::backdrop{background:#0b1628d9}#module-lightbox img{display:block;max-width:80vw;max-height:65vh;object-fit:contain;margin-top:16px}.mod-public :focus-visible{outline:3px solid #e89524;outline-offset:4px}@media(max-width:760px){.mod-layout{grid-template-columns:1fr}.mod-shell{padding:20px 16px 48px}.mod-top{margin-bottom:30px}.mod-card{padding:18px}.mod-grid{gap:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.module-admin .studio-panel button{font:inherit;font-size:14px;font-weight:600;background:#155f72;color:#fff;border:0;border-radius:9px;padding:10px 16px;cursor:pointer}.module-admin .studio-panel button:hover{background:#104958}.module-admin .studio-panel button:disabled{opacity:.5;cursor:default}.module-admin .studio-panel a{color:#146c91;text-decoration:none;font-weight:600}.module-admin .studio-panel a:hover{text-decoration:underline}.module-admin .mod-secondary button,.module-admin [data-remove-field]{background:#eef2f6!important;color:#31465a!important}.module-admin .mod-form input,.module-admin .mod-form textarea,.module-admin .mod-form select{font:inherit}.module-admin .mod-list [aria-current=page]{color:#0d626e;text-decoration:underline}.module-admin :is(button,a,input,textarea,select):focus-visible{outline:3px solid #e89524;outline-offset:3px}

.mail-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}@media(max-width:760px){.mail-layout{grid-template-columns:1fr}}

.ext-portrait{max-width:420px;width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:16px}.mod-card .ext-portrait{height:260px}.ext-topic{font-weight:650;color:#155f72}.ext-download{display:inline-block;padding:12px 20px;border-radius:10px;background:#155f72;color:#fff!important;text-decoration:none}.ext-registration-list{overflow-x:auto}.ext-registration-list table{width:100%;border-collapse:collapse}.ext-registration-list th,.ext-registration-list td{padding:12px;text-align:left;border-bottom:1px solid #dfe6ed}.ext-registration-list button{margin:4px}
.event-image{display:block;width:100%;max-width:900px;height:auto;border-radius:14px;margin:20px auto;object-fit:contain}.event-admin-image{max-height:360px}.mod-thumb.event-thumb{object-fit:contain;background:#f4f7fb}.event-image+.mod-card{margin-top:24px}

/* Public modules inherit the PWA design; administration retains its own theme. */
.mod-public{background:var(--mod-bg,#f0f2f5);background-image:var(--mod-image,none);background-size:cover;background-position:center;background-attachment:fixed;color:var(--mod-heading,#6c757d);font-family:var(--mod-font,system-ui);font-size:var(--mod-size,16px);min-height:100vh}
.mod-public a,.mod-public .ext-topic{color:inherit; text-decoration: none}
.mod-public .mod-card,.mod-public .mod-notice,.mod-public .push-controls{background:var(--mod-surface,#fff);color:var(--mod-text,#333);border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:var(--mod-radius,12px);box-shadow:var(--mod-shadow,none);backdrop-filter:blur(var(--mod-blur,10px));-webkit-backdrop-filter:blur(var(--mod-blur,10px));font-family:inherit}
.mod-public button,.mod-public .ext-download,.mod-public .push-controls button{background:var(--mod-solid,#fff);color:var(--mod-text,#333)!important;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:var(--mod-radius,12px);font:inherit}
.mod-public input:not([type=checkbox]):not([type=hidden]),.mod-public textarea,.mod-public select{background:var(--mod-solid,#fff);color:var(--mod-text,#333);border:1px solid color-mix(in srgb,currentColor 35%,transparent);font:inherit}
.mod-public input::placeholder,.mod-public textarea::placeholder{color:inherit;opacity:.65}
.mod-public .event-thumb{background:transparent}
.mod-public #module-lightbox{background:var(--mod-solid,#fff);color:var(--mod-text,#333);border-radius:var(--mod-radius,12px);font-family:inherit}
.mod-public :focus-visible{outline:2px solid currentColor;outline-offset:4px}
.mod-public .mod-card h2{font-size:1.375em}
