.glb{--glb-ink:#173e36;--glb-green:#246551;--glb-line:#d6e1da;max-width:1200px;color:#20362f;line-height:1.55;margin:2rem auto;padding:clamp(12px,3vw,32px);background:#fafbf8;border:1px solid var(--glb-line);border-radius:14px;box-sizing:border-box}.glb *{box-sizing:border-box}.glb h2,.glb h3,.glb legend{color:var(--glb-ink)}.glb a{color:#185c48;text-decoration:underline}.glb-calendar{margin:1.5rem 0 2rem}.glb-month{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.glb-month strong{font-size:1.25rem;text-transform:capitalize}.glb-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem}.glb-scroll{overflow-x:auto;border:1px solid var(--glb-line);border-radius:8px}.glb-grid{border-collapse:separate;border-spacing:0;width:100%;margin:0!important;font-size:13px}.glb-grid th,.glb-grid td{min-width:30px;height:32px;text-align:center;padding:5px;border-right:1px solid #e0e6df;border-bottom:1px solid #e0e6df;white-space:nowrap}.glb-grid th{background:#f0f4ef}.glb-grid tr>:first-child{position:sticky;left:0;z-index:1;text-align:left;min-width:118px;background:#f0f4ef;box-shadow:2px 0 2px #0001}.glb-free{background:#eaf5ed;color:#21593d}.glb-pending{background:#fff0ca;color:#714a06}.glb-approved{background:#d9e5e0;color:#183f33}.glb-past{background:#f1f1f1;color:#777}.glb-form{display:grid;gap:18px;max-width:850px;margin:1.5rem 0}.glb-form fieldset{border:1px solid var(--glb-line);border-radius:8px;padding:16px;margin:0;min-width:0}.glb-form legend{font-weight:700;padding:0 6px}.glb-form label{display:grid;gap:6px;font-weight:600;font-size:15px}.glb-form input:not([type=checkbox]),.glb-form textarea{display:block;width:100%;max-width:100%;background:white;color:#20362f;border:1px solid #829a8e;border-radius:5px;padding:10px;font:inherit;min-height:44px}.glb-form input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:3px 0;accent-color:var(--glb-green)}.glb-form .glb-check{display:flex;gap:9px;align-items:flex-start;font-weight:400}.glb-units{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:18px}.glb-all{padding-bottom:12px;border-bottom:1px solid var(--glb-line);font-weight:700!important}.glb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.glb-form button{justify-self:start;border:0;background:var(--glb-green);color:white;padding:13px 22px;border-radius:6px;font:inherit;font-weight:700;cursor:pointer}.glb-form button:hover{background:#173e36}.glb :focus-visible{outline:3px solid #b37916;outline-offset:3px}.glb-notice{padding:14px 18px;background:#fff1c9;border-left:4px solid #976413}.glb-form-error{color:#972a1c;font-weight:600;margin:0}.glb-honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.glb-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.glb details{margin:22px 0;background:white;border:1px solid var(--glb-line);border-radius:8px;padding:18px}.glb summary{cursor:pointer;font-weight:700}.glb-card{padding:18px;margin:16px 0;border:1px solid var(--glb-line);border-radius:8px;background:white}.glb-action{display:inline-block;margin:5px 10px 5px 0}.glb-filters{display:flex;gap:16px;flex-wrap:wrap}.glb-filters [aria-current]{font-weight:700}.glb-pages{display:flex;gap:20px}@media(max-width:600px){.glb-fields{grid-template-columns:1fr}.glb{padding:12px}.glb-month{font-size:14px}.glb-form button{width:100%}}

.glb .glb-month{display:grid;grid-template-columns:1fr auto 1fr}.glb-month>a:last-child{justify-self:end}.glb-month-picker{display:flex;align-items:center;justify-content:center;gap:8px;margin:0}.glb-month-picker select{max-width:100%;min-height:44px;padding:8px 28px 8px 12px;border:1px solid #829a8e;border-radius:6px;background:white;color:var(--glb-ink);font:inherit;font-weight:700;text-transform:capitalize;cursor:pointer}@media(max-width:600px){.glb .glb-month{grid-template-columns:1fr 1fr}.glb-month-picker{grid-column:1 / -1;grid-row:1}}

.glb-photo-setting{border:1px solid var(--glb-line);border-radius:8px;padding:14px;display:grid;gap:12px}.glb-photo-preview img{display:block;max-width:100%;height:auto;max-height:180px;object-fit:contain}.glb-photo-buttons{display:flex;flex-wrap:wrap;gap:8px}.glb .glb-photo-buttons button{width:auto;font-size:14px;padding:8px 12px}.glb-units .glb-photo-link{display:inline-block;font-size:13px;margin:4px 0 0 27px}.glb-grid .glb-photo-link{text-underline-offset:3px}

/* Guest booking layout */
.glb { --glb-ink:#193e34; --glb-green:#285c49; --glb-line:#dce4db; background:#f8f9f5; border-radius:22px; padding:clamp(18px,3.5vw,42px); box-shadow:0 12px 40px #193e3408; }
.glb-welcome { padding:clamp(24px,5vw,56px); border-radius:16px; background:linear-gradient(125deg,#edf3e8,#f4f1e5); margin-bottom:22px; }
.glb .glb-eyebrow { margin:0 0 14px; color:#426351; font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.glb .glb-welcome h2 { margin:0 0 18px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(30px,4vw,48px); line-height:1.15; font-weight:400; letter-spacing:-.025em; color:var(--glb-ink); }
.glb .glb-intro { margin:0; max-width:620px; font-size:clamp(16px,1.8vw,19px); line-height:1.7; color:#455d50; }
.glb-rules { display:grid; grid-template-columns:190px 1fr; gap:18px; padding:20px 24px; border:1px solid #e5dcc9; border-radius:12px; background:#faf6ec; color:#594e38; }
.glb-rules-title { font-size:14px; font-weight:700; }
.glb .glb-rules p { font-size:14px; line-height:1.65; margin:0; }
.glb-rules strong { font-weight:600; }
.glb-rules p>span { display:block; margin-top:3px; }
.glb-calendar { margin:28px 0 34px; background:#fff; border:1px solid var(--glb-line); border-radius:16px; padding:clamp(14px,2.5vw,26px); }
.glb .glb-calendar-heading h3 { margin:0 0 5px; font-size:23px; line-height:1.3; }
.glb .glb-calendar-heading p { margin:0 0 22px; font-size:14px; color:#596d62; }
.glb .glb-month { gap:12px; padding:14px; background:#f3f6f0; border-radius:12px; }
.glb-month>a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:9px 14px; background:#fff; border:1px solid var(--glb-line); border-radius:9px; font-size:14px; font-weight:600; text-decoration:none; width:fit-content; }
.glb-month>a:hover { background:#e5eee3; border-color:#97b29e; }
.glb-month-picker { min-width:0; }
.glb-month-picker label { margin:0; min-width:0; }
.glb-month-picker select { width:100%; min-width:170px; padding:10px 32px 10px 14px; border-color:#a9bcac; border-radius:9px; font-size:17px; }
.glb-calendar-meta { padding:18px 0 16px; }
.glb .glb-legend { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; padding:0; }
.glb-legend>span { display:inline-flex; align-items:center; gap:6px; border:1px solid #dce4db; border-radius:999px; padding:5px 12px; font-size:13px; font-weight:600; white-space:nowrap; }
.glb-legend .glb-key-free { background:#eaf5ed; color:#21593d; border-color:#c9e3d1; }
.glb-legend .glb-key-pending { background:#fff0ca; color:#714a06; border-color:#ead395; }
.glb-legend .glb-key-approved { background:#d9e5e0; color:#183f33; border-color:#bbcfc5; }
.glb .glb-calendar-help { margin:0; max-width:650px; font-size:12px; line-height:1.6; color:#5c6e64; }
.glb-scroll { border-radius:10px; scrollbar-color:#8ca994 #f0f4ef; scrollbar-width:thin; }
.glb-grid th,.glb-grid td { height:38px; min-width:34px; }
.glb-grid tr>:first-child { min-width:132px; padding-left:14px; }
.glb-grid .glb-photo-link { font-weight:600; }
.glb-grid tbody tr:hover td { box-shadow:inset 0 0 0 999px #ffffff2b; }
.glb .glb-request-heading h3 { margin:0; font-size:26px; line-height:1.3; }
.glb .glb-request-heading .glb-eyebrow { margin-bottom:8px; }
.glb-form { max-width:100%; gap:22px; }
.glb-form fieldset { background:#fff; padding:22px; border-radius:12px; }
.glb-units>div { border:1px solid var(--glb-line); border-radius:8px; padding:10px; background:#fafbf8; }
.glb-units>div:has(input:checked) { border-color:#6a9679; background:#ecf5e9; }
.glb-form input:not([type=checkbox]),.glb-form textarea { border-color:#a8bbae; border-radius:8px; padding:12px; }
.glb-form button[type=submit] { border-radius:9px; padding:15px 24px; }
.glb .glb-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
@media(max-width:700px) { .glb-rules{grid-template-columns:1fr;gap:7px;padding:18px}.glb .glb-month{grid-template-columns:1fr 1fr}.glb-month-picker{grid-column:1 / -1;grid-row:1;justify-self:stretch}.glb-month-picker label{width:100%}.glb-month-picker select{min-width:0}.glb-month>a{font-size:13px}.glb-welcome{padding:25px 20px}.glb-calendar{padding:14px}.glb-form fieldset{padding:14px}.glb-units{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.glb-legend>span{padding:5px 9px} }
@media(prefers-reduced-motion:no-preference) { .glb-month>a,.glb-form button{transition:background-color .15s ease,border-color .15s ease} }

.glb .glb-form select{display:block;width:100%;min-height:44px;padding:10px;border:1px solid #a8bbae;border-radius:8px;background:white;color:#20362f;font:inherit}.glb .glb-form .glb-card{margin:0;min-width:0}
