.lb{--wine:#762c3b;--green:#244e3d;--gold:#b39347;background:#faf7ef;color:#282928;max-width:1150px;margin:24px auto;padding:32px;border:1px solid #dfd3b5;border-radius:8px;font-family:Arial,sans-serif;line-height:1.6}.lb *{box-sizing:border-box}.lb header{display:flex;align-items:center;gap:20px;border-bottom:2px solid var(--gold);padding-bottom:22px}.lb header img{object-fit:contain;border-radius:50%;flex-shrink:0}.lb header span{font-size:11px;letter-spacing:2px;color:var(--green)}.lb h2,.lb h3{font-family:Georgia,serif;color:var(--wine);line-height:1.25}.lb h2{margin:6px 0;font-size:30px}.lb nav{display:flex;gap:10px 20px;flex-wrap:wrap;margin:20px 0 30px}.lb a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}.lb nav a{font-size:14px}.lb article{background:white;border:1px solid #e2d9c4;border-left:3px solid var(--gold);padding:22px;margin:18px 0;border-radius:4px}.lb article h3{margin-top:0}.lb form{margin-top:18px;max-width:720px}.lb label{display:block;font-weight:600;margin:14px 0}.lb input:not([type=hidden]),.lb select,.lb textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #aaa;border-radius:4px;background:white;color:#282928;font:inherit}.lb textarea{min-height:90px}.lb button,.lb .lb-button{display:inline-block;background:var(--wine);color:white;border:0;border-radius:4px;padding:12px 20px;font:inherit;cursor:pointer;text-decoration:none}.lb button:hover,.lb .lb-button:hover{background:#56202b;color:white}.lb button.lb-secondary{background:var(--green)}.lb :focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:600px){.lb{padding:18px;margin:12px 0}.lb h2{font-size:24px}.lb header{gap:12px}.lb article{padding:16px}.lb nav{gap:12px}.lb button{margin:4px 0;width:100%}}

.lb-agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.lb-event-date{font-weight:700;color:var(--green)}.lb .lb-cancelled{border-left-color:var(--wine);background:#f5ecec}.lb-notice{padding:12px;border-left:3px solid var(--green);background:#eaf2eb}.lb-agenda-toolbar h3{margin:0}@media(max-width:600px){.lb-agenda-toolbar{justify-content:center}}
/* Calendar layout adapted from the FMIGS monthly agenda. */
.lb-calendar{margin-top:10px}.lb-calendar-hero{background:linear-gradient(115deg,#56202b,#762c3b);color:#fff;border-radius:14px;padding:24px;margin-bottom:20px}.lb .lb-calendar-hero h3{color:#fff;margin:0 0 6px;font-size:27px}.lb-calendar-hero p{margin:0;color:#f2e7d4}.lb .lb-calendar-filters{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;background:#fff;border:1px solid #e2d9c4;padding:18px;border-radius:12px;max-width:none;margin-bottom:22px}.lb .lb-calendar-filters label{margin:0;font-size:13px}.lb-calendar-options{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.lb-calendar-options small{color:#555}.lb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:20px}.lb-weekday{text-align:center;font-weight:700;font-size:12px;padding:8px 0;color:#536157}.lb-calendar-day{display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:76px;background:#fff;border:1px solid #ded8c8;border-radius:8px;padding:8px;font-size:13px;line-height:1.35}.lb .lb-calendar-event{background:var(--green);border-color:var(--green);color:#fff;text-decoration:none;transition:background .15s}.lb .lb-calendar-event strong{color:#fff}.lb-calendar-event span{color:#f3ddb5;font-size:11px;overflow-wrap:anywhere}.lb .lb-calendar-event:hover{background:#32664f;color:#fff}.lb .lb-calendar-today{border:2px solid var(--gold)}.lb .lb-calendar-cancelled{background:#756b68;border-color:#756b68}.lb-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:12px;color:#536157}.lb-calendar-panels[hidden]{display:none!important}.lb-calendar-panels details{margin:12px 0;border:1px solid #ded8c8;border-radius:8px;padding:12px}.lb-calendar-panels summary{cursor:pointer;font-weight:600}.lb-calendar-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(760px,calc(100% - 32px));max-height:85vh;overflow:auto;background:#faf7ef;border:1px solid #b39347;border-radius:14px;padding:38px 22px 22px;color:#282928;margin:auto;box-shadow:0 14px 48px #0005}.lb-calendar-dialog:not([open]){display:none}.lb-calendar-dialog::backdrop{background:rgba(25,30,27,.72)}.lb .lb-calendar-close{position:absolute;right:10px;top:8px;padding:0;width:36px;height:36px;font-size:26px;line-height:1;border-radius:8px}.lb-calendar-dialog-body h3{padding-right:30px}.lb .lb-calendar-dialog article{margin-bottom:12px}@media(max-width:800px){.lb .lb-calendar-filters{grid-template-columns:1fr 1fr}.lb-calendar-filters>div{grid-column:1/-1}}@media(max-width:540px){.lb .lb-calendar-filters{grid-template-columns:1fr;padding:14px}.lb-calendar-hero{padding:18px}.lb .lb-calendar-hero h3{font-size:23px}.lb-calendar-grid{gap:3px}.lb-calendar-day{min-height:56px;padding:5px;font-size:12px}.lb-calendar-event span{font-size:9px}.lb-weekday{font-size:10px}.lb-calendar-dialog{padding:38px 14px 14px}.lb .lb-calendar-close{width:36px;margin:0}}
.lb header .lb-lodge-name{font-family:Georgia,serif;color:var(--green);font-size:17px;margin:6px 0}.lb [data-lb-free-lodge][hidden]{display:none!important}.lb button:disabled{opacity:.5;cursor:default}.lb>section{margin-top:28px}.lb section>details{background:#fff;border:1px solid #e2d9c4;padding:18px;border-radius:8px}.lb section>details>summary{cursor:pointer;font-weight:600;color:var(--wine)}
.lb .lb-lodge-logo{display:block;width:72px;height:72px;object-fit:contain;background:#fff;border:1px solid #e2d9c4;border-radius:8px;padding:3px;margin:8px 0;flex-shrink:0}.lb-event-lodge{display:flex;align-items:center;gap:14px;margin:12px 0}.lb-event-lodge p{margin:0}.lb .lb-event-lodge .lb-lodge-logo{width:54px;height:54px;margin:0}.lb-logo-field{border:1px solid #e2d9c4;border-radius:8px;padding:16px;background:white;margin:15px 0}.lb .lb-checkbox{display:flex;align-items:center;gap:10px}.lb .lb-checkbox input[type=checkbox]{display:inline-block;width:auto;margin:0}

.lb-member-status{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 24px}.lb-member-office{color:var(--green)}
.lb .lb-profile-photo{display:block;width:96px;height:96px;object-fit:cover;border:2px solid var(--gold);border-radius:50%;margin:12px 0;background:#fff}.lb-password-settings{border:1px solid #ded3b8;background:#fff;padding:16px;border-radius:8px;margin:18px 0}.lb-password-settings>summary{cursor:pointer;font-weight:600;color:var(--wine)}
