/* Scheduled crews: time, availability and one booking action. */
.crew-home .tables-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.crew-home .tables-grid>.table-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:22px;border:0;border-radius:26px;background:#fff;box-shadow:0 3px 14px #233b5603}
.crew-home .table-card>.table-top,.crew-home .table-card>.group-requirement,.crew-home .table-card .seat-summary>span,.crew-home .table-card .table-meta>span:last-child,.crew-home .table-card .table-meta svg{display:none}
.crew-home .table-card>.table-meta,.crew-home .table-card>.seat-summary,.crew-home .table-card>.table-button{grid-column:auto;grid-row:auto;min-width:0}
.crew-home .table-card>.seats{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-height:28px;min-width:0;width:100%;margin:18px 0 0;grid-column:auto;grid-row:auto}
.crew-home .table-card .seat{flex:0 1 28px;min-width:0;max-width:28px;width:28px;height:auto;aspect-ratio:1;border-radius:50%;border:0}
.crew-home .table-card .seat svg{width:14px;height:14px}
.crew-home .table-card .seat.vacant{border:0;background:#f2f4f7;color:#a5afbc}
.crew-home .table-card .seat.taken{background:#e4efea;color:#507161}
.crew-home .table-card>.table-button{grid-column:auto;grid-row:auto;min-width:0}
.crew-home .table-card>.table-meta{display:block;margin:0;width:100%;padding-right:125px;color:#1d3044}
.crew-home .table-card .table-meta>span:first-child,.crew-home .table-card .table-meta time{display:block;margin:0}
.crew-home .table-card .crew-slot-hour{display:block;font-size:30px;line-height:1.15;font-weight:650;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:#1d3044}
.crew-home .table-card .crew-slot-date{display:block;margin-top:5px;font-size:11px;line-height:1.5;letter-spacing:0;color:#7c8797}
.crew-home .table-card>.seat-summary{position:absolute;top:24px;right:22px;display:block;max-width:calc(100% - 130px);width:auto;margin:0;padding:0;line-height:1.5}
.crew-home .table-card .seat-summary strong{display:block;margin:0;padding:6px 9px;border-radius:999px;background:#edf5f1;color:#47765e;font-size:11px;font-weight:550;text-align:center;overflow-wrap:anywhere}
.crew-home .table-card .seat-summary .full-label{background:#f0f2f5;color:#7b8490}
.crew-home .table-card>.table-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:20px 0 0;padding:11px 14px;min-height:44px;border-radius:14px;background:#eef2f6;color:#263b4d;font-size:12px;line-height:1.4;font-weight:600;text-align:left}
.crew-home .table-card>.table-button:not(:disabled):hover{background:#e3eaf1}
.crew-home .table-card>.table-button svg{flex:none;width:16px;height:16px}
@media(max-width:1000px){.crew-home .tables-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:720px){.crew-home .tables-grid{grid-template-columns:minmax(0,1fr);gap:14px}.crew-home .tables-grid>.table-card{padding:20px;border-radius:24px}.crew-home .table-card>.seat-summary{right:20px;top:22px}}

/* Home is exactly two rows, including the final link to the complete calendar. */
#home-view .tables-grid>.table-card:nth-child(n+6){display:none}
.crew-home .tables-grid>.schedule-more{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:210px;padding:24px;border-radius:26px;background:#fff;color:#263b4d;text-decoration:none;text-align:center}
.schedule-more strong{font-size:28px;letter-spacing:-.5px}
.schedule-more span{font-size:13px;color:#7c8797}
.schedule-more svg{width:24px;height:24px}
.schedule-more:hover{background:#f9fafc}
.schedule-more:focus-visible{outline:3px solid #f44472;outline-offset:4px}
@media(max-width:1000px){#home-view .tables-grid>.table-card:nth-child(n+4){display:none}}
@media(max-width:720px){#home-view .tables-grid>.table-card:nth-child(n+2){display:none}}
