/* PM24 V72 - final compact Front Desk ball board */
.fd-compact-shell{max-width:1600px;margin:0 auto}
.fd-compact-header{align-items:center}
.fd-compact-workspace{grid-template-columns:minmax(0,1fr) minmax(330px,380px);gap:14px;align-items:start}
.fd-room-board{min-width:0;overflow:hidden}
.fd-floor-tabs{display:flex;gap:8px;overflow:auto;padding:2px 0 10px;scrollbar-width:thin}
.fd-floor-tabs button{border:1px solid #dce6f3;background:#fff;color:#334b6b;padding:9px 14px;border-radius:12px;font-weight:900;white-space:nowrap;cursor:pointer}
.fd-floor-tabs button.is-active{background:#0877ff;color:#fff;border-color:#0877ff;box-shadow:0 7px 18px rgba(8,119,255,.22)}
.fd-status-legend{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin:8px 0 10px;padding:8px 10px;border:1px solid #e7edf5;border-radius:13px;background:#fbfdff}
.fd-status-legend span{display:flex;align-items:center;gap:5px;font-size:10px;color:#5d6e86}
.fd-status-legend i{width:9px;height:9px;border-radius:50%;display:block}.fd-status-legend b{font-size:9px}.fd-status-legend em{font-style:normal}
.fd-status-legend .available i{background:#16b96b}.fd-status-legend .occupied i{background:#ef4444}.fd-status-legend .due i{background:#f59e0b}.fd-status-legend .cleaning i{background:#8b5cf6}.fd-status-legend .booked i{background:#facc15}.fd-status-legend .maintenance i{background:#7d8796}
.fd-floor-stack{display:block;max-height:none;overflow:visible;padding:0}
.fd-floor-section{display:none;border:1px solid #e4ebf4;border-radius:18px;background:#fff;padding:13px}
.fd-floor-section.is-active{display:block}
.fd-floor-title{margin-bottom:9px}.fd-floor-title h3{font-size:16px}
.fd-ac-pair{grid-template-columns:1fr 1fr;gap:12px}
.fd-ac-column{padding:11px;border-radius:16px;background:#fbfdff;min-height:210px}
.fd-ball-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:12px 10px;align-items:start}
.fd-room-ball{width:74px;height:74px;aspect-ratio:auto;min-width:74px;max-width:74px;border-radius:50%!important;border-width:3px;box-shadow:0 8px 18px rgba(16,24,40,.14);transition:transform .18s ease,box-shadow .18s ease}
.fd-room-ball:hover{transform:translateY(-2px);box-shadow:0 11px 23px rgba(16,24,40,.18)}
.fd-room-ball strong{font-size:20px}.fd-room-ball small{font-size:9px;margin-top:5px}
.fd-room-ball.available{background:linear-gradient(145deg,#2bd67e,#0fa85b)!important;border-color:#0fa85b!important;color:#fff}
.fd-room-ball.occupied{background:linear-gradient(145deg,#ff5757,#df2727)!important;border-color:#df2727!important;color:#fff}
.fd-room-ball.due{background:linear-gradient(145deg,#ffad32,#f07800)!important;border-color:#ed7900!important;color:#fff}
.fd-room-ball.cleaning{background:linear-gradient(145deg,#9a72ff,#7043e6)!important;border-color:#7043e6!important;color:#fff}
.fd-room-ball.maintenance{background:linear-gradient(145deg,#a8b0bc,#78828f)!important;border-color:#78828f!important;color:#fff}
.fd-active-guests{position:sticky;top:12px;max-height:calc(100vh - 110px);overflow:auto}
.fd-dialog[open],.fd-dialog[data-fd-autoshow]{position:fixed;inset:0 0 0 auto;width:min(440px,96vw);height:100dvh;max-height:none;margin:0;border:0;border-left:1px solid #dfe7f2;border-radius:0;padding:18px;background:#fff;box-shadow:-20px 0 55px rgba(15,23,42,.18);z-index:10000;overflow:auto}
.fd-dialog::backdrop{background:rgba(15,23,42,.35)}
.fd-dialog-head{position:sticky;top:-18px;background:#fff;z-index:2;padding:14px 0 12px;border-bottom:1px solid #e9eef5;margin-bottom:14px}
.fd-stay-dialog .fd-stay-actions details{border:1px solid #e4ebf4;border-radius:14px;padding:10px;margin:10px 0;background:#fbfdff}
html[lang] .fd-room-ball strong,html[lang] .fd-room-ball small{font-family:inherit}
@media(max-width:1100px){.fd-compact-workspace{grid-template-columns:1fr}.fd-active-guests{position:static;max-height:none}.fd-ac-column{min-height:0}}
@media(max-width:760px){.fd-ac-pair{grid-template-columns:1fr}.fd-ball-grid{grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:10px 7px}.fd-room-ball{width:64px;height:64px;min-width:64px;max-width:64px}.fd-room-ball strong{font-size:17px}.fd-status-legend em{display:none}}
