.public-berth-calendar{border-top:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;gap:10px;margin-top:15px;padding-top:15px;display:grid}.public-berth-calendar header,.public-berth-calendar header span,.public-berth-calendar footer,.public-berth-calendar footer span{align-items:center;gap:7px;display:flex}.public-berth-calendar header{justify-content:space-between}.public-berth-calendar header>span{color:var(--aqua)}.public-berth-calendar header small{color:var(--text-muted);align-items:center;gap:5px;display:flex}.public-berth-calendar__weekdays,.public-berth-calendar__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.public-berth-calendar__weekdays span{text-align:center;color:var(--text-muted);text-transform:uppercase;font-size:9px}.public-berth-calendar__grid button{border:1px solid var(--border);background:var(--surface-raised);min-width:0;min-height:44px;color:var(--text);touch-action:none;border-radius:8px;place-items:center;gap:1px;padding:4px 1px;display:grid;position:relative}.public-berth-calendar__grid button small{display:none}.public-berth-calendar__grid button strong{font-size:10px}.public-berth-calendar__grid button i{background:var(--green);border-radius:50%;width:5px;height:5px}.public-berth-calendar__grid button.occupied,.public-berth-calendar__grid button.blocked{opacity:.52;cursor:not-allowed}.public-berth-calendar__grid button.occupied i{background:var(--red)}.public-berth-calendar__grid button.blocked i{background:var(--text-muted)}.public-berth-calendar__grid button.is-selected{border-color:var(--aqua);background:color-mix(in srgb,var(--aqua) 18%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--aqua) 45%,transparent)}.public-berth-calendar__grid button.is-invalid{border-color:var(--red);background:color-mix(in srgb,var(--red) 14%,var(--surface))}.public-berth-calendar footer{color:var(--text-muted);flex-wrap:wrap;font-size:10px}.public-berth-calendar footer i{border-radius:50%;width:6px;height:6px}.public-berth-calendar footer i.available{background:var(--green)}.public-berth-calendar footer i.occupied{background:var(--red)}.public-berth-calendar footer i.blocked{background:var(--text-muted)}.public-berth-calendar>p{color:var(--red);margin:0;font-size:11px}.public-berth-calendar__state{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:8px;margin-top:15px;padding:13px;font-size:12px;display:flex}
