/* V182 — unified premium operations boards. Loaded last on every page. */
:root{--pm24-navy:#071a46;--pm24-navy2:#0c2d72;--pm24-pink:#ef2f7d;--pm24-blue:#1687ff;--pm24-green:#16a66a;--pm24-orange:#f28a18;--pm24-border:#dfe7f3}

/* PG / Co-living: one approved board for owner, manager, warden and receptionist. */
.pgco-v107-dashboard{max-width:1680px!important;margin:0 auto!important;padding:0 16px 22px!important}
.pgco-v107-workspace{display:grid!important;grid-template-columns:minmax(0,1fr) 370px!important;gap:18px!important;align-items:start!important}
.pgco-v107-board-card,.pgco-v107-member-panel{background:#fff!important;border:1px solid var(--pm24-border)!important;border-radius:20px!important;box-shadow:0 16px 40px rgba(7,26,70,.09)!important}
.pgco-v107-board-card{min-width:0!important;padding:18px!important}
.pgco-v107-member-panel{position:sticky!important;top:86px!important;max-height:calc(100vh - 104px)!important;overflow:auto!important}
.pgco-v107-floor-list{display:grid!important;gap:14px!important;max-height:calc(100vh - 300px)!important;overflow:auto!important;padding:2px 5px 12px 2px!important}
.pgco-v107-floor{border:1px solid var(--pm24-border)!important;border-radius:17px!important;overflow:hidden!important;background:#fbfcff!important}
.pgco-v107-floor-head{min-height:68px!important;padding:12px 15px!important;background:#f6f9fe!important}
.pgco-v107-floor-body{padding:14px!important}
.pgco-v108-room-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;gap:12px!important;align-items:start!important}
.pgco-v108-room{min-width:0!important;border:1px solid #dfe7f3!important;border-radius:15px!important;background:#fff!important;box-shadow:0 7px 20px rgba(7,26,70,.055)!important;overflow:hidden!important}
.pgco-v108-room-head{width:100%!important;min-height:68px!important;padding:11px 12px!important;background:#f8faff!important;border:0!important}
.pgco-v108-room-head>span:first-child{min-width:0!important}
.pgco-v108-room-head b,.pgco-v108-room-head small{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.pgco-v108-room-body{padding:11px!important;background:#fff!important}
.pgco-v108-bed-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(76px,1fr))!important;gap:8px!important}
.pgco-v108-bed-ball{width:100%!important;min-width:0!important;min-height:76px!important;border-radius:12px!important;padding:8px 5px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;line-height:1.15!important;box-shadow:none!important}
.pgco-v108-bed-ball b{font-size:17px!important}.pgco-v108-bed-ball span{font-size:11px!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.pgco-v108-bed-ball small{font-size:9px!important}
.pgco-v107-payments-card{margin-bottom:12px!important}.pgco-v107-panel-actions{position:sticky!important;bottom:0!important;background:#fff!important;padding-top:10px!important;z-index:2!important}
.pgco-v107-tip{margin-top:13px!important}

/* Hotel / Lodge / Resort: premium scalable room grid and fixed guest details column. */
body.app-frontdesk .fd-compact-shell{max-width:1680px!important;margin:0 auto!important}
body.app-frontdesk .fd-compact-workspace{display:grid!important;grid-template-columns:minmax(720px,1fr) 360px!important;gap:18px!important;align-items:start!important}
body.app-frontdesk .fd-room-board{min-width:0!important}
body.app-frontdesk .fd-floor-stack{max-height:calc(100vh - 360px)!important;overflow:auto!important;padding-right:6px!important}
body.app-frontdesk .fd-ball-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:12px!important}
body.app-frontdesk .fd-room-ball{min-width:0!important;width:100%!important;max-width:none!important;min-height:158px!important;border-radius:15px!important}
body.app-frontdesk .fd-room-ball>a,body.app-frontdesk .fd-room-ball>button,body.app-frontdesk .fd-room-ball>span,body.app-frontdesk .fd-room-ball>form,body.app-frontdesk .fd-room-ball>form>button{width:100%!important;min-width:0!important;min-height:156px!important;padding:14px!important;overflow:hidden!important}
body.app-frontdesk .fd-room-card-top,body.app-frontdesk .fd-room-type,body.app-frontdesk .fd-room-mode,body.app-frontdesk .fd-room-ball em{white-space:normal!important;overflow-wrap:anywhere!important}
body.app-frontdesk .fd-active-guests{position:sticky!important;top:86px!important;max-height:calc(100vh - 105px)!important;overflow:auto!important}
body.app-frontdesk .fd-filter-row button{cursor:pointer!important}
body.app-frontdesk [data-fd-room][hidden]{display:none!important}

@media(max-width:1260px){
 .pgco-v107-workspace{grid-template-columns:minmax(0,1fr) 330px!important}
 .pgco-v108-room-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important}
 body.app-frontdesk .fd-compact-workspace{grid-template-columns:minmax(600px,1fr) 320px!important}
 body.app-frontdesk .fd-ball-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr))!important}
}
@media(max-width:980px){
 .pgco-v107-workspace,body.app-frontdesk .fd-compact-workspace{grid-template-columns:1fr!important}
 .pgco-v107-member-panel,body.app-frontdesk .fd-active-guests{position:relative!important;top:auto!important;max-height:none!important}
 .pgco-v107-floor-list,body.app-frontdesk .fd-floor-stack{max-height:none!important}
}
@media(max-width:640px){
 .pgco-v107-dashboard{padding:0 8px 18px!important}
 .pgco-v107-board-card{padding:12px!important}
 .pgco-v108-room-list,body.app-frontdesk .fd-ball-grid{grid-template-columns:1fr!important}
 .pgco-v108-bed-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* V182 final brand-colour lock — no legacy yellow action buttons. */
:root{--pm24-primary:#ef2f7d;--pm24-secondary:#1687ff;--pm24-dark:#071a46;--pm24-soft:#eef5ff}
button,.btn,.button,input[type="submit"],input[type="button"],a.btn,a.button{transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
button:hover,.btn:hover,.button:hover,input[type="submit"]:hover,input[type="button"]:hover,a.btn:hover,a.button:hover{transform:translateY(-1px);filter:brightness(.985)}
.btn-primary,.button-primary,.primary-action,[data-action="primary"],button[type="submit"]{background:linear-gradient(135deg,var(--pm24-primary),#d91f69)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 9px 22px rgba(239,47,125,.22)!important}
.btn-secondary,.button-secondary,.secondary-action{background:linear-gradient(135deg,var(--pm24-secondary),#096bd4)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 9px 22px rgba(22,135,255,.18)!important}
.btn-warning,.button-warning,.warning-action,.bg-warning,.btn-yellow,[style*="background:#ffc107"],[style*="background: #ffc107"],[style*="background:#fbbf24"],[style*="background: #fbbf24"],[style*="background:#f59e0b"],[style*="background: #f59e0b"]{background:linear-gradient(135deg,var(--pm24-primary),#d91f69)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 9px 22px rgba(239,47,125,.2)!important}
.btn-outline-warning,.warning-outline{background:#fff!important;border:1px solid rgba(239,47,125,.38)!important;color:#c91f64!important;box-shadow:none!important}
/* Keep operational statuses meaningful; yellow/orange is status-only, never a main action colour. */
.status.cleaning,.status.pending,.status.due,.fd-status-cleaning,.pgco-status-due{background:#fff2df!important;color:#a95500!important;border-color:#ffd39b!important}
/* Nav/action consistency. */
.sidebar a.active,.dashboard-sidebar a.active,.app-sidebar a.active,.nav-pills .active{background:linear-gradient(135deg,var(--pm24-dark),#123d91)!important;color:#fff!important}
.dashboard-header,.panel-heading,.board-heading{border-color:var(--pm24-border)!important}
/* Remove legacy decorative/duplicate board fragments when the approved boards are present. */
.pgco-v107-dashboard .pgco-old-bed-balls,.pgco-v107-dashboard .legacy-bed-board,.pgco-v107-dashboard .building-board-old,body.app-frontdesk .legacy-room-balls,body.app-frontdesk .fd-old-room-board{display:none!important}

/* V183 rapid polish: compact approved grids, aligned detail panel, single active nav. */
body.app-dashboard .owner-subscription-global-alert{
  margin:0 0 12px!important;padding:10px 14px!important;border-radius:14px!important;
  border-color:#d7e3f7!important;background:linear-gradient(135deg,#f7faff,#eef5ff)!important;
}
body.app-dashboard .owner-subscription-global-alert b{color:#153b72!important;font-size:12px!important}
body.app-dashboard .owner-subscription-global-alert p{margin-top:2px!important;font-size:11px!important;line-height:1.3!important}
body.app-dashboard .owner-subscription-global-alert .btn{min-height:34px!important;padding:7px 12px!important;background:linear-gradient(135deg,#ef2f7d,#d91f69)!important;color:#fff!important}

.pgco-v107-workspace{align-items:start!important}
.pgco-v107-board-card,.pgco-v107-member-panel{margin-top:0!important;transform:none!important}
.pgco-v107-member-panel{align-self:start!important;top:18px!important}
.pgco-v107-member-panel>header{position:sticky!important;top:0!important;z-index:4!important}
.pgco-v107-panel-content{padding-bottom:0!important}
.pgco-v107-payments-card{max-height:none!important;overflow:visible!important}
.pgco-v107-panel-actions{position:sticky!important;bottom:0!important;margin:0 -1px -1px!important;padding:12px!important;border-top:1px solid #e4ebf5!important}
.pgco-v107-floor-list{max-height:none!important;overflow:visible!important}
.pgco-v108-room-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.pgco-v108-room-head{min-height:62px!important;padding:9px 10px!important}
.pgco-v108-room-body{padding:9px!important}
.pgco-v108-bed-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.pgco-v108-bed-ball{min-height:68px!important;padding:7px 4px!important}
.pgco-v108-bed-ball b{font-size:15px!important}.pgco-v108-bed-ball span{font-size:10px!important}.pgco-v108-bed-ball small{font-size:8px!important}

body.app-frontdesk .fd-compact-workspace{grid-template-columns:minmax(0,1fr) 320px!important;gap:14px!important}
body.app-frontdesk .fd-floor-stack{max-height:none!important;overflow:visible!important;padding-right:0!important}
body.app-frontdesk .fd-ball-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
body.app-frontdesk .fd-room-ball{min-height:132px!important;border-radius:13px!important}
body.app-frontdesk .fd-room-ball>a,body.app-frontdesk .fd-room-ball>button,body.app-frontdesk .fd-room-ball>span,body.app-frontdesk .fd-room-ball>form,body.app-frontdesk .fd-room-ball>form>button{min-height:130px!important;padding:11px!important}
body.app-frontdesk .fd-room-card-top strong{font-size:20px!important}
body.app-frontdesk .fd-room-type{font-size:11px!important;line-height:1.25!important;margin-top:6px!important}
body.app-frontdesk .fd-room-mode{font-size:10px!important;line-height:1.25!important;margin-top:2px!important}
body.app-frontdesk .fd-room-status{margin-top:7px!important;padding:5px 6px!important;font-size:9px!important}
body.app-frontdesk .fd-room-ball em{font-size:9px!important;line-height:1.3!important;margin-top:5px!important}
body.app-frontdesk .fd-active-guests{top:18px!important}
body.app-frontdesk .fd-day-report-mini button{background:linear-gradient(135deg,#ef2f7d,#d91f69)!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(239,47,125,.2)!important}

@media(max-width:1500px){
 .pgco-v108-room-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.app-frontdesk .fd-ball-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1180px){
 .pgco-v108-room-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.app-frontdesk .fd-ball-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:980px){
 .pgco-v107-member-panel{top:auto!important}
 .pgco-v108-room-list,body.app-frontdesk .fd-ball-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
 .pgco-v108-room-list,body.app-frontdesk .fd-ball-grid{grid-template-columns:1fr!important}
}

/* V184 exact approved scalable room/bed board pattern. */
body.app-frontdesk .fd-compact-workspace{
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:16px!important;
}
body.app-frontdesk .fd-room-board{padding:18px!important;overflow:hidden!important}
body.app-frontdesk .fd-floor-section{display:none!important}
body.app-frontdesk .fd-floor-section.is-active{display:block!important}
body.app-frontdesk .fd-approved-room-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
body.app-frontdesk .fd-room-ball{
  width:100%!important;min-width:0!important;max-width:none!important;
  min-height:146px!important;border-radius:14px!important;background:#fff!important;
  box-shadow:0 5px 14px rgba(16,47,96,.055)!important;overflow:hidden!important;
}
body.app-frontdesk .fd-room-ball>a,
body.app-frontdesk .fd-room-ball>button,
body.app-frontdesk .fd-room-ball>span,
body.app-frontdesk .fd-room-ball>form,
body.app-frontdesk .fd-room-ball>form>button{
  width:100%!important;min-width:0!important;min-height:144px!important;
  padding:12px!important;display:flex!important;flex-direction:column!important;
  align-items:stretch!important;text-align:left!important;background:#fff!important;color:#173760!important;
}
body.app-frontdesk .fd-room-ball.available{border:1px solid #bfe7cf!important;background:#fff!important}
body.app-frontdesk .fd-room-ball.occupied,body.app-frontdesk .fd-room-ball.due{border:1px solid #ffb9c8!important;background:#fff!important}
body.app-frontdesk .fd-room-ball.cleaning{border:1px solid #ffd19b!important;background:#fff!important}
body.app-frontdesk .fd-room-ball.maintenance{border:1px solid #cbd3df!important;background:#fff!important}
body.app-frontdesk .fd-room-card-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
body.app-frontdesk .fd-room-card-top strong{font-size:22px!important;line-height:1!important;color:#183b73!important}
body.app-frontdesk .fd-room-ball.available .fd-room-card-top strong{color:#169051!important}
body.app-frontdesk .fd-room-ball.occupied .fd-room-card-top strong,body.app-frontdesk .fd-room-ball.due .fd-room-card-top strong{color:#ef2f66!important}
body.app-frontdesk .fd-room-ball.cleaning .fd-room-card-top strong{color:#ef7d00!important}
body.app-frontdesk .fd-room-type{margin-top:10px!important;font-size:12px!important;line-height:1.28!important;font-weight:850!important;color:#27466f!important}
body.app-frontdesk .fd-room-mode{margin-top:3px!important;font-size:11px!important;line-height:1.25!important;font-weight:750!important;color:#506b91!important}
body.app-frontdesk .fd-room-status{margin-top:10px!important;padding:5px 7px!important;border-radius:5px!important;font-size:9px!important;line-height:1!important;text-align:center!important;letter-spacing:.03em!important}
body.app-frontdesk .fd-room-ball.available .fd-room-status{background:#2ab45d!important;color:#fff!important}
body.app-frontdesk .fd-room-ball.occupied .fd-room-status,body.app-frontdesk .fd-room-ball.due .fd-room-status{background:#ef2f6c!important;color:#fff!important}
body.app-frontdesk .fd-room-ball.cleaning .fd-room-status{background:#ff8a00!important;color:#fff!important}
body.app-frontdesk .fd-room-ball.maintenance .fd-room-status{background:#758196!important;color:#fff!important}
body.app-frontdesk .fd-room-ball em{margin-top:7px!important;font-size:9px!important;line-height:1.35!important;color:#4c6383!important;font-style:normal!important;font-weight:750!important}
body.app-frontdesk .fd-active-guests{position:sticky!important;top:18px!important;max-height:calc(100vh - 36px)!important;overflow:auto!important}

/* PG/Co-living approved compact 4-column cards; room count adds rows, never shrinks cards. */
.pgco-v107-workspace{grid-template-columns:minmax(0,1fr) 390px!important;gap:16px!important}
.pgco-v108-room-list{
  display:grid!important;grid-template-columns:repeat(4,minmax(205px,1fr))!important;
  gap:10px!important;align-items:start!important;overflow:visible!important;
}
.pgco-v108-room-card{min-width:0!important;background:#fff!important;border-radius:13px!important;overflow:hidden!important}
.pgco-v108-room-head{min-height:58px!important;padding:9px 10px!important}
.pgco-v108-room-body{padding:8px!important}
.pgco-v108-bed-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.pgco-v108-bed-ball{min-height:64px!important;padding:6px 4px!important;border-radius:10px!important}
.pgco-v107-member-panel{position:sticky!important;top:18px!important;max-height:calc(100vh - 36px)!important;overflow:auto!important}

@media(max-width:1500px){
 body.app-frontdesk .fd-approved-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .pgco-v108-room-list{grid-template-columns:repeat(3,minmax(205px,1fr))!important}
}
@media(max-width:1180px){
 body.app-frontdesk .fd-compact-workspace,.pgco-v107-workspace{grid-template-columns:1fr!important}
 body.app-frontdesk .fd-active-guests,.pgco-v107-member-panel{position:relative!important;top:auto!important;max-height:none!important}
 body.app-frontdesk .fd-approved-room-grid,.pgco-v108-room-list{grid-template-columns:repeat(3,minmax(190px,1fr))!important}
}
@media(max-width:820px){
 body.app-frontdesk .fd-approved-room-grid,.pgco-v108-room-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
 body.app-frontdesk .fd-approved-room-grid,.pgco-v108-room-list{grid-template-columns:1fr!important}
}
