.openfablab-public{font:inherit;max-width:100%;color:inherit}.ofl-calendar-toolbar{display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:1rem 0}.ofl-calendar-toolbar button,.ofl-lang button{font:inherit;cursor:pointer;padding:.5rem .8rem;border:1px solid #bdced1;border-radius:.5rem;background:#f4f8f8;color:#213d46;min-height:42px}.ofl-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #dbe4e5;border-radius:.75rem;overflow:hidden}.ofl-week-day{min-width:0;border-right:1px solid #e2e8e9;padding:.5rem;min-height:180px}.ofl-week-day h3{font-size:.9em;margin:.25rem 0 .75rem}.ofl-public-event{display:block;width:100%;padding:.6rem;text-align:left;font:inherit;border:1px solid #bedbd0;border-radius:.6rem;background:#edf7f1;color:#224b3b;margin-bottom:.5rem;overflow-wrap:anywhere;cursor:pointer}.ofl-public-event.animation{background:#edf4fb;border-color:#c3d9ed;color:#244b6b}.ofl-public-event strong,.ofl-public-event small{display:block}.ofl-public-event.ended{opacity:.7}.ofl-public-machine{display:block;padding:.8rem;border-bottom:1px solid #dbe4e5}.ofl-public-machine p{flex-basis:100%;margin:.25rem 0}.ofl-public-badge{background:#edf4f5;border-radius:2rem;padding:.2rem .65rem;font-size:.85em}.ofl-public-warning{background:#fff6dd;border-left:3px solid #bd8f32;padding:.7rem}.ofl-public-modal{max-width:min(92vw,600px);border:1px solid #bdced1;border-radius:1rem;padding:1.2rem;font:inherit}.ofl-public-modal::backdrop{background:#102b3b88}.ofl-lang{display:flex;gap:.4rem;justify-content:flex-end;margin:.5rem 0}.ofl-lang button[aria-pressed=true]{font-weight:700;background:#deebf0;border-color:#366b82}@media(max-width:760px){.ofl-week{display:block}.ofl-week-day{min-height:0;border-right:0;border-bottom:1px solid #dbe4e5;padding:.75rem}.ofl-week-day h3{margin-bottom:.5rem}.ofl-public-machine{align-items:start}}
.openfablab-public details.ofl-lang,.openfablab-reservations details.ofl-lang{display:block;position:relative;width:max-content;margin:.5rem 0 .5rem auto;font-size:.85rem}.ofl-lang>summary{display:flex;gap:5px;align-items:center;min-height:38px;padding:4px 7px;border:1px solid #bdced1;border-radius:8px;list-style:none;cursor:pointer;background:#f4f8f8;color:#213d46}.ofl-lang>summary::-webkit-details-marker{display:none}.ofl-lang>summary>span:first-child{font-size:1.2rem}.ofl-lang .ofl-language-options{position:absolute;right:0;top:100%;padding:5px;background:#fff;border:1px solid #bdced1;border-radius:8px;z-index:20;min-width:140px;box-shadow:0 5px 15px #0002}.ofl-lang:not([open])>.ofl-language-options{display:none}.ofl-lang .ofl-language-options button{display:block;width:100%;text-align:left;border:0;background:#fff}.ofl-lang .ofl-language-options button[aria-pressed=true]{background:#deebf0}
.openfablab-public[hidden]{display:none!important}.ofl-module-toolbar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;min-width:0;margin:.7rem 0}.ofl-module-toolbar h2{font:inherit;font-weight:700;margin:0;line-height:1.35}.openfablab-public .ofl-module-toolbar details.ofl-lang,.openfablab-reservations .ofl-module-toolbar details.ofl-lang{margin:0 0 0 auto;flex:0 0 auto}.ofl-calendar-toolbar strong{font-size:.9em;overflow-wrap:anywhere}.ofl-public-modal{max-height:85vh;overflow-y:auto;box-sizing:border-box}.ofl-public-description{white-space:pre-wrap;overflow-wrap:anywhere}.ofl-public-modal>p,.ofl-public-modal>small{display:block;margin:.7rem 0}.ofl-public-modal>button:last-child{display:block;min-height:44px;margin:.8rem 0 0 auto}.ofl-public-machine>strong{overflow-wrap:anywhere}
.openfablab-public .ofl-resource-toolbar:empty{display:none;margin:0}
.ofl-public-badge{color:#213d46}.ofl-public-modal{background:#fff;color:#213d46}.ofl-public-modal a{color:#185b87}

.openfablab-public .ofl-public-machine-heading{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:.35rem .5rem;min-width:0}.openfablab-public .ofl-public-machine-heading>strong{flex:0 1 auto;min-width:0;max-width:100%;overflow-wrap:anywhere;line-height:1.4}.openfablab-public .ofl-public-machine-heading>span{flex:0 1 auto;max-width:100%;overflow-wrap:anywhere}.openfablab-public .ofl-public-category{font-size:.85em;line-height:1.4;padding:.2rem .5rem;border:1px solid #dbe4e5;border-radius:.4rem;background:#f4f8f8;color:#213d46}.ofl-public-modal .ofl-public-average{font-weight:600;line-height:1.45;overflow-wrap:anywhere}

/* One explicit language control, isolated from theme summary/menu behavior. */
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang{position:relative;display:block;flex:0 0 auto;width:max-content;max-width:100%;margin:0 0 0 auto;font-size:.85rem;line-height:1.4;z-index:3}
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang>.ofl-language-trigger{display:flex;align-items:center;gap:5px;min-height:40px;padding:4px 8px;margin:0;border:1px solid #9cb4be;border-radius:8px;background:#f4f8fa;color:#173744;font:inherit;line-height:1.4;box-shadow:none;cursor:pointer;text-transform:none}
.ofl-lang>.ofl-language-trigger>span:first-child{font-size:1.2rem}
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang .ofl-language-options{position:absolute;inset:auto 0 auto auto;top:calc(100% + 4px);min-width:140px;max-width:min(230px,85vw);padding:5px;border:1px solid #9cb4be;border-radius:8px;background:#fff;color:#173744;box-shadow:0 4px 14px #142a3826;z-index:4}
.ofl-lang .ofl-language-options[hidden]{display:none!important}
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang .ofl-language-options:not([hidden]){display:block}
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang .ofl-language-options>button{display:block;width:100%;min-height:42px;padding:8px 10px;margin:0;border:0;border-radius:5px;text-align:left;font:inherit;line-height:1.4;text-transform:none;background:#fff;color:#173744;opacity:1;box-shadow:none}
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang .ofl-language-options>button:is(:hover,:focus-visible,:active){background:#e2edf4;color:#102f40;opacity:1}
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang .ofl-language-options>button[aria-checked=true]{background:#dcebf2;color:#102f40;font-weight:700}
:is(.openfablab-public,.openfablab-reservations,[data-openfablab-link]) .ofl-lang button:focus-visible{outline:3px solid #246c9b;outline-offset:2px}
.openfablab-public .ofl-public-machine-line{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;min-width:0}
.openfablab-public .ofl-public-machine-line>.ofl-public-machine-heading{flex:1 1 220px}
.openfablab-public .ofl-module-toolbar{position:relative;z-index:2}
.openfablab-public .ofl-week{position:relative;z-index:0}
.openfablab-public .ofl-public-event{transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease;cursor:pointer}
.openfablab-public .ofl-public-event:focus-visible{outline:3px solid #246c9b;outline-offset:2px;box-shadow:0 2px 5px #152e401c}
@media(hover:hover){.openfablab-public .ofl-public-event:hover{background:#e1f0e7;border-color:#54806a;box-shadow:0 2px 5px #152e401c;color:#224b3b}.openfablab-public .ofl-public-event.animation:hover{background:#e0edf8;border-color:#5a87ad;color:#244b6b}}
@media(prefers-reduced-motion:reduce){.openfablab-public .ofl-public-event{transition:none}}
