.free-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}.free-controls h2{margin:0 auto;text-transform:capitalize}.free-controls button,.free-controls input{padding:9px 12px}.free-show-cancelled{display:flex;align-items:center;gap:6px}.free-show-cancelled input{width:auto}.free-calendar-scroll{overflow-x:auto}.free-calendar{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:900px;gap:1px;background:#d7dbd8;border:1px solid #d7dbd8}.free-weekday{background:#8b2428;color:white;text-align:center;padding:10px}.free-day{min-height:132px;background:#fff;padding:5px}.free-day-number{display:block;text-align:right;padding:3px 5px;color:#58615c}.free-empty{background:#f2f1ec}.free-today{box-shadow:inset 0 0 0 2px #8b2428}.free-booking{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;width:100%;padding:8px;margin:5px 0;border:1px solid #cec6b4;border-left:4px solid #a78021;background:#fff8e8;color:#273a39;font:inherit;cursor:pointer;white-space:normal;overflow-wrap:anywhere;border-radius:5px}.free-booking small{font-size:11px}.free-booking.free-present{background:#ebf5ec;border-color:#399348}.free-booking.free-absent{background:#ffeded;border-color:#bd3939}.free-booking.free-cancelled{background:#f1f1f1;border-color:#aaa;opacity:.7}.free-dialog{width:min(480px,90vw);border:0;border-radius:12px;padding:28px;color:#273a39;box-shadow:0 20px 70px #0004}.free-dialog::backdrop{background:#0007}.free-dialog form{display:block}.free-dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.free-dialog button{padding:10px 14px;border:1px solid #b9c5be;border-radius:6px;cursor:pointer}.free-dialog button.free-present{background:#2c7d3b;color:white}.free-dialog button.free-absent{background:#ab3030;color:white}.free-dialog button:disabled{opacity:.5;cursor:wait}.free-skill-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:15px 0}.free-skill-checks .check{display:flex;gap:10px;align-items:center}.free-skill-checks input{width:auto}.free-message{min-height:24px}.free-legend{font-size:13px;color:#58615c}@media(max-width:600px){.free-controls h2{order:-1;width:100%;text-align:center}.free-dialog{padding:20px}}

/* Compact calendar entries, with a narrow face and full names preserved. */
.free-calendar .free-day{min-height:104px;padding:4px}
.free-calendar .free-weekday{padding:7px;font-size:12px}
.free-calendar button.free-booking{display:block;box-sizing:border-box;min-height:0;padding:4px 6px;margin:3px 0;border-left-width:3px;font-family:"Arial Narrow","Aptos Narrow","Liberation Sans Narrow",Arial,sans-serif;font-stretch:condensed;font-size:13px;line-height:1.15;font-weight:400}
.free-booking>strong,.free-booking>span{display:inline;margin:0;padding:0;font-size:inherit;line-height:inherit}
.free-booking>strong{font-weight:600}
.free-booking>strong::after{content:" · ";font-weight:400}
.free-booking>small{display:block;margin-top:2px;font-family:inherit;font-size:11px;line-height:1.15}
