/* PM24 V188 – compact operational lists, progressive detail panels */
:root{--pm-navy:#08255d;--pm-blue:#1477f8;--pm-pink:#f51b78;--pm-border:#dbe6f4;--pm-muted:#667792;--pm-bg:#f5f8fd}

/* Shared concise page rhythm */
.v101-booking,.v101-group,.ops-page-shell{max-width:1480px!important;margin:0 auto!important;padding:18px 22px!important;gap:16px!important}
.v101-head,.g-head,.ops-page-header{align-items:center!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.v101-head h1,.g-head h1,.ops-page-header h1{font-size:clamp(30px,3vw,42px)!important;margin:3px 0 5px!important;line-height:1.04!important}
.v101-head p,.g-head p,.ops-page-header p{max-width:760px;margin:0!important;line-height:1.45;color:var(--pm-muted)!important}
.v101-head .btn,.g-head .btn,.ops-header-actions .btn{min-height:44px;border-radius:14px!important;padding:0 18px!important;display:inline-flex;align-items:center;justify-content:center}
.v101-head .btn:not(.ghost),.g-head .btn:not(.ghost),.ops-header-actions .btn:not(.ghost){background:linear-gradient(135deg,var(--pm-pink),#ff4599)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(245,27,120,.18)}

/* Advance booking stats */
.v101-stats{gap:12px!important;margin:16px 0!important}
.v101-stats article{min-height:104px;padding:15px 17px!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(26,53,94,.055)}
.v101-stats article span{display:block;color:var(--pm-muted);font-weight:800;font-size:13px;line-height:1.25}
.v101-stats article b{margin-top:8px;font-size:26px!important;color:#101b32}

/* Default full-width list; details appear only after selection */
.v101-layout,.g-layout,.ops-two-column{grid-template-columns:1fr!important;gap:16px!important}
.v101-layout:not(.has-detail) .v101-side,.g-layout:not(.has-detail) .g-side,.ops-two-column:not(.has-detail) .ops-detail-card{display:none!important}
.v101-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important}
.g-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(340px,410px)!important}
.ops-two-column.has-detail{grid-template-columns:minmax(0,1fr) minmax(330px,410px)!important}
.v101-side,.g-side,.ops-detail-card{position:sticky!important;top:16px!important;max-height:calc(100vh - 32px);overflow:auto;border-radius:22px!important}

/* Filters: one clean toolbar */
.v101-filter,.ops-filter-bar,.v101-group main>form:first-child{background:#fff!important;border:1px solid var(--pm-border);border-radius:18px!important;padding:10px!important;box-shadow:0 10px 26px rgba(27,55,95,.05)}
.v101-filter{grid-template-columns:minmax(260px,1fr) 180px 180px 110px!important}
.ops-filter-bar{grid-template-columns:minmax(260px,1fr) 180px 100px 88px!important;align-items:end!important}
.v101-filter input,.v101-filter select,.ops-filter-bar input,.ops-filter-bar select,.v101-group main>form:first-child input{min-height:46px;border-radius:13px!important;border-color:#cfdaea!important;background:#fff!important}
.v101-filter .btn,.ops-filter-bar .btn,.v101-group main>form:first-child .btn{min-height:46px;background:var(--pm-navy)!important;color:#fff!important;border:0!important;border-radius:13px!important}

/* Tables/lists */
.v101-list,.g-list,.ops-record-list{gap:8px!important}
.v101-card,.g-card,.ops-record-row{min-height:76px;padding:13px 15px!important;border-radius:15px!important;border-color:var(--pm-border)!important;box-shadow:none!important;background:#fff!important;transform:none!important}
.v101-card:hover,.g-card:hover,.ops-record-row:hover,.v101-card.active,.g-card.active,.ops-record-row.is-selected{border-color:#7eb0ff!important;background:#f5f9ff!important;box-shadow:0 8px 22px rgba(34,91,173,.08)!important}
.v101-card{grid-template-columns:minmax(210px,1.2fr) minmax(210px,1fr) minmax(165px,.72fr) auto!important}
.g-card{grid-template-columns:minmax(230px,1.25fr) minmax(150px,.7fr) minmax(180px,.8fr) auto!important}
.ops-record-row{grid-template-columns:minmax(220px,1.1fr) minmax(185px,.8fr) minmax(145px,.65fr) auto!important}
.v101-card b,.g-card b,.ops-record-row b{font-size:15px;line-height:1.25;color:#111c34}
.v101-card small,.g-card small,.ops-record-row span{font-size:12.5px!important;line-height:1.35!important}
.tag,.ops-status{border-radius:999px!important;padding:7px 11px!important;font-size:11px!important;font-weight:900!important;white-space:nowrap}

/* Guest register compact summary */
.ops-page-header{padding:4px 0!important}
.ops-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.ops-stat-grid article{min-height:88px;padding:14px 16px!important;border-radius:17px!important;box-shadow:0 8px 22px rgba(26,53,94,.045)}
.ops-stat-grid article small{font-size:12px!important}
.ops-stat-grid article b{font-size:25px!important;margin-top:5px!important}
.ops-list-card,.ops-detail-card{padding:18px!important}
.ops-section-title{margin:16px 0 10px!important}
.ops-empty-detail{min-height:220px!important}

/* Detail cards */
.v101-side,.g-side,.ops-detail-card{border:1px solid var(--pm-border)!important;box-shadow:0 18px 42px rgba(26,53,94,.09)!important}
.v101-side h2,.g-side h2,.ops-detail-card>h2{font-size:25px!important}
.v101-side dl,.ops-detail-grid{gap:8px!important}
.v101-side dl div,.g-summary div,.ops-detail-grid>div{padding:11px!important;border-radius:13px!important;background:#f8fbff!important}
.ops-detail-actions .btn,.v101-actions .btn,.g-actions .btn{min-height:40px;border-radius:12px!important}

/* Group page removes needless empty space */
.v101-group .g-head{margin-bottom:14px}
.v101-group .g-layout{margin-top:12px!important}
.v101-group main>form:first-child{display:grid!important;grid-template-columns:minmax(280px,1fr) 110px!important;margin-bottom:10px!important}
.v101-group .g-side{padding:17px!important}

/* Existing room header polish: prevent duplicate/overlap and keep counters below */
.pgco-room-card-header,.pgco-v107-room-head,.pgco-v108-room-head{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:start!important;gap:10px!important;min-height:72px!important}
.pgco-room-card-header h3,.pgco-v107-room-head h3,.pgco-v108-room-head h3{margin:0!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2!important}
.pgco-room-card-header .room-meta,.pgco-v107-room-head .room-meta,.pgco-v108-room-head .room-meta{grid-column:2/4!important;margin-top:2px!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important;color:var(--pm-muted)!important}

/* No legacy yellow action buttons */
.v101-booking .btn,.v101-group .btn,.ops-page-shell .btn{font-weight:850}
.v101-booking .btn:not(.ghost):not(.danger):not(.outline),.v101-group .btn:not(.ghost):not(.danger):not(.outline),.ops-page-shell .btn:not(.ghost):not(.danger):not(.outline){background:linear-gradient(135deg,var(--pm-pink),#ff4599)!important;color:#fff!important;border-color:transparent!important}

@media(max-width:1100px){
 .v101-layout.has-detail,.g-layout.has-detail,.ops-two-column.has-detail{grid-template-columns:1fr!important}
 .v101-side,.g-side,.ops-detail-card{position:static!important;max-height:none!important}
 .v101-stats{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:760px){
 .v101-booking,.v101-group,.ops-page-shell{padding:12px!important}
 .v101-head,.g-head,.ops-page-header{align-items:flex-start!important;flex-direction:column!important;display:flex!important}
 .v101-stats,.ops-stat-grid{grid-template-columns:1fr 1fr!important}
 .v101-filter,.ops-filter-bar,.v101-group main>form:first-child{grid-template-columns:1fr!important}
 .v101-card,.g-card,.ops-record-row{grid-template-columns:1fr auto!important;gap:7px 10px!important}
 .v101-card>div:nth-child(2),.v101-card>div:nth-child(3),.g-card>div:nth-child(2),.g-card>div:nth-child(3),.ops-record-row>div:nth-child(2),.ops-record-row>div:nth-child(3){grid-column:1!important}
 .v101-card>.tag,.g-card>.tag,.ops-record-row>.ops-status{grid-column:2!important;grid-row:1!important}
}
