/* PM24 V107 — unified final PG/Co-living bed board + Front Desk visibility */
:root{--v107-blue:#0b72f6;--v107-navy:#0a1730;--v107-green:#14b866;--v107-red:#ef4444;--v107-amber:#f3a30b;--v107-ink:#10213a;--v107-muted:#6c7d96;--v107-line:#dfe7f2;--v107-soft:#f7f9fc}

/* Front Desk must never collapse when the unallocated-demand panel is present. */
body.app-frontdesk .fd-compact-shell{height:auto!important;min-height:0!important;overflow:visible!important}
body.app-frontdesk .fd-compact-workspace{flex:none!important;min-height:520px!important;align-items:stretch!important}
body.app-frontdesk .fd-room-board{height:auto!important;min-height:500px!important;overflow:visible!important}
body.app-frontdesk .fd-floor-stack{flex:none!important;min-height:330px!important;overflow:visible!important}
body.app-frontdesk .fd-floor-section{height:auto!important;min-height:320px!important;overflow:visible!important}
body.app-frontdesk .fd-active-guests{height:auto!important;min-height:500px!important;max-height:none!important;position:sticky!important;top:12px!important;overflow:auto!important}
@media(max-width:1100px){body.app-frontdesk .fd-compact-workspace{min-height:0!important}body.app-frontdesk .fd-active-guests{display:flex!important;position:static!important;min-height:0!important}}
@media(max-width:760px){body.app-frontdesk .fd-room-board,body.app-frontdesk .fd-floor-stack,body.app-frontdesk .fd-floor-section{min-height:0!important}}

/* Approved PG / Co-living dashboard */
body.app-dashboard .owner-page:has(.pgco-v107-dashboard){width:min(1500px,calc(100% - 24px));padding:14px 0 28px}
.pgco-v107-dashboard{display:grid;gap:12px;color:var(--v107-ink)}
.pgco-v107-topbar{min-height:58px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--v107-line);border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(16,33,58,.05)}
.pgco-v107-property{min-width:250px;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid #dbe5f2;border-radius:12px;color:inherit;text-decoration:none;background:#fff}
.pgco-v107-property-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eaf8f0;color:#12a65d;font-weight:900}.pgco-v107-property span:nth-child(2){display:grid;gap:2px;flex:1}.pgco-v107-property b{font-size:13px}.pgco-v107-property small{color:var(--v107-muted);font-size:10px}.pgco-v107-property em{font-style:normal;color:#8593a8}
.pgco-v107-top-actions{display:flex;align-items:center;gap:12px}.pgco-v107-top-actions a{text-decoration:none;color:inherit}.pgco-v107-add{font-size:13px;font-weight:850;color:#0c5ccc!important}.pgco-v107-alert{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f5f8fc;color:#1a5fd2!important}.pgco-v107-alert b{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#ef4444;color:#fff;font-size:10px}.pgco-v107-owner-mini{display:flex;align-items:center;gap:7px;font-size:12px}.pgco-v107-owner-mini>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#1168e8;color:#fff;font-weight:900}.pgco-v107-owner-mini em{font-style:normal;color:#8492a6}

.pgco-v107-workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:0;align-items:stretch;border:1px solid var(--v107-line);border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(15,32,55,.07);overflow:hidden;min-height:720px}
.pgco-v107-board-card{min-width:0;padding:18px 18px 14px;background:#fff;border-right:1px solid var(--v107-line)}
.pgco-v107-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.pgco-v107-board-head>div:first-child{display:flex;align-items:center;gap:10px}.pgco-v107-title-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eaf3ff;color:#1768dd;font-size:19px}.pgco-v107-board-head h1{margin:0;font-size:23px;letter-spacing:-.03em}.pgco-v107-board-head p{margin:2px 0 0;color:var(--v107-muted);font-size:12px}
.pgco-v107-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:#44546c;font-size:10px;font-weight:700}.pgco-v107-legend span{display:flex;align-items:center;gap:5px}.pgco-v107-legend i,.pgco-v107-floor-counts i{width:8px;height:8px;border-radius:50%;display:block}.pgco-v107-legend .vacant i,.pgco-v107-floor-counts .vacant i{background:var(--v107-green)}.pgco-v107-legend .occupied i,.pgco-v107-floor-counts .occupied i{background:var(--v107-red)}.pgco-v107-legend .due i,.pgco-v107-floor-counts .due i{background:var(--v107-amber)}.pgco-v107-legend .maintenance i,.pgco-v107-floor-counts .maintenance i{background:#53647c}
.pgco-v107-filters{display:flex;gap:9px;overflow:auto;padding-bottom:14px;scrollbar-width:thin}.pgco-v107-filters button{flex:0 0 auto;padding:9px 17px;border:1px solid #dbe5f1;border-radius:9px;background:#f8fafc;color:#2e405d;font:inherit;font-size:11px;font-weight:850;cursor:pointer}.pgco-v107-filters button.is-active{background:var(--v107-blue);border-color:var(--v107-blue);color:#fff;box-shadow:0 7px 16px rgba(11,114,246,.2)}
.pgco-v107-floor-list{display:grid;gap:12px}.pgco-v107-floor{border:1px solid #dfe7f2;border-radius:14px;background:#fff;overflow:hidden}.pgco-v107-floor[hidden]{display:none}.pgco-v107-floor-head{width:100%;min-height:50px;padding:10px 14px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;font:inherit;color:inherit;cursor:pointer}.pgco-v107-floor-name{display:flex;align-items:center;gap:9px}.pgco-v107-floor-name i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eefaf4;color:#16a560;font-style:normal}.pgco-v107-floor-name b{font-size:14px}.pgco-v107-floor-counts{display:flex;align-items:center;gap:10px}.pgco-v107-floor-counts em{display:flex;align-items:center;gap:4px;font-style:normal;font-size:10px;font-weight:800;color:#5f6f85}.pgco-v107-floor-counts strong{width:26px;height:26px;display:grid;place-items:center;border:1px solid #e0e8f3;border-radius:50%;color:#667890;transition:.18s}.pgco-v107-floor.is-open .pgco-v107-floor-counts strong{transform:rotate(180deg)}
.pgco-v107-floor-body{display:none;padding:4px 16px 18px}.pgco-v107-floor.is-open .pgco-v107-floor-body{display:block}.pgco-v107-bed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:18px 16px;padding:8px 0 2px}
.pgco-v107-bed-ball{width:108px;height:108px;justify-self:center;border-radius:50%;border:1.5px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#fff;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 8px 18px rgba(16,33,58,.04);transition:transform .16s ease,box-shadow .16s ease;color:inherit}.pgco-v107-bed-ball:hover,.pgco-v107-bed-ball.is-selected{transform:translateY(-3px);box-shadow:0 12px 24px rgba(16,33,58,.12)}.pgco-v107-bed-ball b{font-size:15px;line-height:1}.pgco-v107-bed-ball span{max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:750}.pgco-v107-bed-ball small{font-size:9px;font-weight:850}.pgco-v107-bed-ball.vacant{border-color:#9eddbb;background:linear-gradient(145deg,#f1fff7,#e7f9ef);color:#068648}.pgco-v107-bed-ball.occupied{border-color:#ff8585;background:linear-gradient(145deg,#fff7f7,#fff1f1);color:#c72d35}.pgco-v107-bed-ball.due{border-color:#f2bf54;background:linear-gradient(145deg,#fffaf0,#fff4dc);color:#cf7900}.pgco-v107-bed-ball.maintenance{border-color:#9aa8bb;background:linear-gradient(145deg,#f3f5f8,#e8edf3);color:#53647c;cursor:default}
.pgco-v107-tip{margin-top:16px;padding:11px 13px;border:1px solid #e4ebf4;border-radius:11px;background:#fbfcfe;color:#5e6f86;font-size:11px}.pgco-v107-tip span{margin-left:5px}.pgco-v107-empty{min-height:390px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:#64748b}.pgco-v107-empty>span{font-size:35px}.pgco-v107-empty h2,.pgco-v107-empty p{margin:0}

.pgco-v107-member-panel{background:#fff;min-width:0;display:flex;flex-direction:column}.pgco-v107-member-panel>header{min-height:58px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--v107-line)}.pgco-v107-member-panel>header h2{font-size:16px;margin:0}.pgco-v107-member-panel>header button{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#273c5b;font-size:23px;cursor:pointer}.pgco-v107-panel-empty{flex:1;display:grid;place-items:center;align-content:center;text-align:center;padding:35px;color:#6a7a90}.pgco-v107-panel-empty span{font-size:45px}.pgco-v107-panel-empty h3,.pgco-v107-panel-empty p{margin:5px 0}.pgco-v107-panel-content{padding:17px;display:grid;gap:14px;overflow:auto}.pgco-v107-panel-content[hidden]{display:none}
.pgco-v107-person{display:grid;grid-template-columns:82px 1fr;gap:13px;align-items:center}.pgco-v107-photo{width:82px;height:82px;border-radius:50%;overflow:hidden;background:#edf2f8;display:grid;place-items:center}.pgco-v107-photo img{width:100%;height:100%;object-fit:cover}.pgco-v107-photo img[hidden],.pgco-v107-photo span[hidden]{display:none}.pgco-v107-photo span{font-size:30px;font-weight:900;color:#52709e}.pgco-v107-person-name{display:flex;align-items:center;gap:8px}.pgco-v107-person-name h3{margin:0;font-size:18px}.pgco-v107-person-name em{padding:4px 8px;border-radius:999px;background:#ffe1e1;color:#d62d35;font-style:normal;font-size:9px;font-weight:900}.pgco-v107-person p{margin:4px 0;color:#65758b;font-size:11px}.pgco-v107-person a{display:flex;align-items:center;gap:6px;color:#0c9c59;text-decoration:none;font-size:11px}.pgco-v107-contact-actions{display:grid;grid-template-columns:1fr 46px;gap:10px}.pgco-v107-contact-actions a{height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900;font-size:12px}.pgco-v107-contact-actions .call{background:#0eb25e;color:#fff}.pgco-v107-contact-actions .whatsapp{border:1px solid #74d6a7;color:#0aa158;background:#fff}
.pgco-v107-info-card,.pgco-v107-dues-card,.pgco-v107-payments-card{border:1px solid #dfe7f2;border-radius:13px;background:#fff;overflow:hidden}.pgco-v107-info-card{padding:13px}.pgco-v107-info-card h4,.pgco-v107-dues-card h4,.pgco-v107-payments-card h4{margin:0;font-size:13px}.pgco-v107-info-card dl,.pgco-v107-dues-card dl{margin:11px 0 0;display:grid;gap:8px}.pgco-v107-info-card dl>div,.pgco-v107-dues-card dl>div{display:flex;justify-content:space-between;gap:12px;font-size:10px}.pgco-v107-info-card dt,.pgco-v107-dues-card dt{color:#65758b}.pgco-v107-info-card dd,.pgco-v107-dues-card dd{margin:0;text-align:right;font-weight:800;color:#263a58}
.pgco-v107-dues-card{border-color:#f2d2d2;background:#fffafa}.pgco-v107-dues-card>div:first-child{padding:12px 13px 8px}.pgco-v107-dues-card>div:first-child span{margin-top:9px;display:flex;align-items:center;justify-content:space-between;color:#e14449;font-size:10px}.pgco-v107-dues-card>div:first-child b{font-size:18px}.pgco-v107-dues-card dl{padding:0 13px 10px}.pgco-v107-dues-card p{margin:0;padding:10px 13px;border-top:1px solid #f2d5d5;color:#e23b40;font-size:10px;font-weight:800}
.pgco-v107-payments-card>div:first-child{display:flex;align-items:center;justify-content:space-between;padding:12px 13px}.pgco-v107-payments-card>div:first-child a{color:#126eea;text-decoration:none;font-size:10px;font-weight:850}.pgco-v107-payments-list{display:grid;padding:0 13px 11px}.pgco-v107-payment-row{display:grid;grid-template-columns:75px 1fr auto auto;gap:7px;align-items:center;padding:6px 0;font-size:9px;border-top:1px solid #eef2f6}.pgco-v107-payment-row:first-child{border-top:0}.pgco-v107-payment-row span{color:#63748b}.pgco-v107-payment-row b{font-size:9px}.pgco-v107-payment-row em{padding:3px 7px;border-radius:999px;background:#e8f8ee;color:#18864e;font-style:normal;font-weight:800}.pgco-v107-payment-row em.upi{background:#eaf2ff;color:#1769d6}.pgco-v107-no-payments{padding:0 13px 13px;color:#7a899d;font-size:10px}
.pgco-v107-panel-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}.pgco-v107-panel-actions a{min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #b8d0fa;border-radius:8px;color:#1768d8;text-decoration:none;font-size:10px;font-weight:900}.pgco-v107-panel-actions .primary{background:#0e6df1;color:#fff;border-color:#0e6df1}.pgco-v107-vacate-form button{width:100%;min-height:43px;border:1px solid #ff9d9d;border-radius:8px;background:#fff;color:#e23d43;font:inherit;font-size:10px;font-weight:900;cursor:pointer}

@media(max-width:1200px){.pgco-v107-workspace{grid-template-columns:minmax(0,1fr) 330px}.pgco-v107-bed-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.pgco-v107-bed-ball{width:94px;height:94px}.pgco-v107-top-actions .pgco-v107-owner-mini b{display:none}}
@media(max-width:980px){.pgco-v107-workspace{display:block}.pgco-v107-board-card{border-right:0}.pgco-v107-member-panel{position:fixed;inset:0 0 0 auto;width:min(390px,100vw);z-index:12000;box-shadow:-20px 0 55px rgba(15,23,42,.23);transform:translateX(105%);transition:.22s ease;max-height:100dvh}.pgco-v107-member-panel.is-open{transform:translateX(0)}.pgco-v107-panel-content{max-height:calc(100dvh - 58px)}.pgco-v107-topbar{position:relative}.pgco-v107-legend{justify-content:flex-end}}
@media(max-width:700px){body.app-dashboard .owner-page:has(.pgco-v107-dashboard){width:calc(100% - 12px);padding-top:8px}.pgco-v107-topbar{padding:7px 9px}.pgco-v107-property{min-width:0;flex:1}.pgco-v107-top-actions{gap:6px}.pgco-v107-add{font-size:0}.pgco-v107-add:after{content:'＋';font-size:20px}.pgco-v107-owner-mini{display:none}.pgco-v107-board-card{padding:13px 10px}.pgco-v107-board-head{display:grid}.pgco-v107-legend{justify-content:flex-start}.pgco-v107-bed-grid{grid-template-columns:repeat(3,1fr);gap:14px 6px}.pgco-v107-bed-ball{width:88px;height:88px}.pgco-v107-floor-head{padding:9px}.pgco-v107-floor-counts{gap:6px}.pgco-v107-floor-counts em{font-size:9px}.pgco-v107-floor-body{padding:4px 7px 14px}}
@media(max-width:390px){.pgco-v107-bed-grid{grid-template-columns:repeat(2,1fr)}.pgco-v107-bed-ball{width:96px;height:96px}}


/* V108 Floor -> Room -> Bed drill-down. Compact balls prevent room/bed-number confusion. */
.pgco-v108-floor-tabs{padding-bottom:12px}
.pgco-v108-floor .pgco-v107-floor-name small{color:#7a8aa0;font-size:10px;font-weight:750;margin-left:2px}
.pgco-v108-floor-body{padding:6px 13px 14px!important;background:#fbfcff;border-top:1px solid #eef2f7}
.pgco-v108-room-list{display:grid;gap:9px}
.pgco-v108-room{border:1px solid #dce6f3;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 4px 14px rgba(15,35,65,.035)}
.pgco-v108-room-head{width:100%;min-height:54px;padding:8px 11px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;color:inherit;cursor:pointer;text-align:left}
.pgco-v108-room-head>span:first-child{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;min-width:0}
.pgco-v108-room-head>span:first-child>i{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf4ff;color:#1768d8;font-size:12px;font-style:normal;font-weight:950}
.pgco-v108-room-head b{font-size:13px;color:#173b70;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pgco-v108-room-head small{font-size:9px;color:#71849e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pgco-v108-room-counts{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.pgco-v108-room-counts em{display:flex;align-items:center;gap:3px;color:#62748e;font-size:9px;font-style:normal;font-weight:850}
.pgco-v108-room-counts i{width:7px;height:7px;border-radius:50%}.pgco-v108-room-counts .vacant i{background:var(--v107-green)}.pgco-v108-room-counts .occupied i{background:var(--v107-red)}.pgco-v108-room-counts .due i{background:var(--v107-amber)}.pgco-v108-room-counts .maintenance i{background:#53647c}
.pgco-v108-room-counts strong{width:24px;height:24px;display:grid;place-items:center;border:1px solid #e2e9f3;border-radius:50%;color:#687b95;transition:.18s}
.pgco-v108-room.is-open .pgco-v108-room-counts strong{transform:rotate(180deg)}
.pgco-v108-room-body{display:none;padding:10px 13px 13px;border-top:1px solid #edf2f8;background:#fcfdff}.pgco-v108-room.is-open .pgco-v108-room-body{display:block}
.pgco-v108-bed-grid{display:flex!important;align-items:center;gap:10px!important;flex-wrap:wrap!important;padding:0!important}
.pgco-v108-bed-ball{width:64px!important;height:64px!important;min-width:64px!important;min-height:64px!important;border-radius:50%!important;gap:1px!important;padding:4px!important;justify-self:auto!important;box-shadow:0 5px 12px rgba(16,33,58,.05)!important}
.pgco-v108-bed-ball b{font-size:13px!important;line-height:1!important}.pgco-v108-bed-ball span{font-size:7.5px!important;max-width:52px!important}.pgco-v108-bed-ball small{font-size:7px!important}
.pgco-v108-bed-ball:hover,.pgco-v108-bed-ball.is-selected{transform:translateY(-2px)!important;box-shadow:0 9px 18px rgba(16,33,58,.13)!important}
@media(max-width:700px){.pgco-v108-floor-body{padding:6px 8px 10px!important}.pgco-v108-room-counts{gap:5px}.pgco-v108-room-counts em{font-size:8px}.pgco-v108-bed-grid{gap:8px!important}.pgco-v108-bed-ball{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important}.pgco-v108-bed-ball b{font-size:12px!important}.pgco-v108-bed-ball span{font-size:7px!important}.pgco-v108-room-head>span:first-child{grid-template-columns:34px minmax(0,1fr)}.pgco-v108-room-head>span:first-child>i{width:34px;height:34px}}
