:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#2f2926;background:#f8f6f1;line-height:1.45}*{box-sizing:border-box}body{margin:0}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#7f171d,#c42730)}.login-card{width:min(420px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 18px 55px #5f151b55}.login-logo{display:block;width:205px;max-width:66%;height:auto;margin:0 auto 24px}.muted,.footnote{color:#746c66}.stack{display:grid;gap:16px;margin-top:0}label{display:grid;gap:7px;font-size:.88rem;font-weight:700}input,select,button{font:inherit}input,select{width:100%;border:1px solid #d8d1c8;border-radius:11px;padding:12px;background:#fff;color:#2f2926}input:focus,select:focus{outline:3px solid #f1c3c5;border-color:#b51f27}.password-wrap{display:flex}.password-wrap input{border-radius:11px 0 0 11px}.peek{border-radius:0 11px 11px 0;border:1px solid #d8d1c8;background:#f5eee8}.remember-option{display:flex;align-items:center;gap:9px;font-weight:600;cursor:pointer;padding:2px 0}.remember-option input{width:16px;height:16px;margin:0;flex:0 0 16px;accent-color:#b51f27}.remember-option span{line-height:1.25}.primary,.secondary,.ghost{border:0;border-radius:11px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:#b51f27;color:#fff}.secondary{background:#e5f1e9;color:#24613d}.ghost{background:#ffffff1c;color:#fff}.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed}.topbar{height:68px;padding:10px max(16px,calc((100vw - 920px)/2));background:#7f171d;color:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.topbar strong,.topbar small{display:block}.topbar small{opacity:.75}.app-shell{max-width:920px;margin:auto;padding:18px 16px 100px}.summary-card,.admin-tools,.progress-wrap{background:#fff;border:1px solid #dfe5ef;border-radius:16px;padding:15px;margin-bottom:14px}.summary-card{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card strong{display:block;font-size:1.1rem}.eyebrow{font-size:.7rem;letter-spacing:.1em;color:#8a7770;font-weight:800}.admin-tools{display:flex;align-items:end;gap:10px}.admin-tools label{flex:1}.progress-copy{display:flex;justify-content:space-between;gap:12px}.progress{height:8px;background:#e5ebf4;border-radius:99px;margin-top:10px;overflow:hidden}.progress span{display:block;height:100%;width:0;background:#2f7d4a;transition:width .2s}.items{display:grid;gap:10px}.item-card{background:#fff;border:1px solid #dfe5ef;border-radius:15px;padding:14px;display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:center}.item-code{font-size:.75rem;color:#718099;font-weight:800}.item-name{font-weight:800}.item-meta{font-size:.82rem;color:#746c66;margin-top:3px}.qty-label{text-align:right}.qty-input{text-align:right;font-size:1.15rem;font-weight:800}.note{grid-column:1/-1}.note summary{font-size:.82rem;color:#51617d;cursor:pointer}.note textarea{width:100%;margin-top:8px;min-height:64px;border:1px solid #ccd5e4;border-radius:10px;padding:9px;font:inherit}.action-dock{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;border-top:1px solid #d8dfeb;padding:12px max(16px,calc((100vw - 920px)/2));display:grid;grid-template-columns:1fr 1.4fr;gap:10px;backdrop-filter:blur(10px)}.alert{padding:12px 14px;border-radius:11px;margin:10px 0}.alert.error{background:#ffe7e7;color:#8d2525}.alert.success{background:#e4f5eb;color:#176540}.alert.info{background:#f8e8e7;color:#7f171d}.empty{background:#fff;padding:28px;border-radius:15px;text-align:center;color:#66728a}dialog{border:0;border-radius:18px;padding:24px;max-width:420px;box-shadow:0 20px 60px #17213f55}dialog::backdrop{background:#15213e99}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}@media(max-width:600px){.item-card{grid-template-columns:1fr 112px}.summary-card{grid-template-columns:1fr 1fr}.admin-tools{align-items:stretch;flex-direction:column}.admin-tools button{width:100%}}

.module-nav{display:flex;gap:8px;overflow:auto;padding:10px max(16px,calc((100% - 980px)/2));background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:64px;z-index:5}.module-nav button,.tab-row button{border:0;background:#f2f4f7;padding:10px 14px;border-radius:10px;white-space:nowrap;font-weight:700;color:#344054}.module-nav button.active,.tab-row button.active{background:#b51f27;color:#fff}.module-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.module-head h1{margin:4px 0}.form-card{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:18px;margin:14px 0;box-shadow:0 4px 16px rgba(16,24,40,.05)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.form-card label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}.form-card input,.form-card select{border:1px solid #d0d5dd;border-radius:9px;padding:10px;background:#fff}.smartpresence-edit-dialog{width:min(680px,calc(100vw - 32px));max-width:680px;padding:18px;overflow-x:hidden}.smartpresence-edit-dialog .form-card{margin:0;box-shadow:none}.smartpresence-edit-dialog h2{margin-top:0}.smartpresence-edit-dialog .alert{font-size:14px;line-height:1.4}.smartpresence-edit-dialog .form-actions{display:flex;gap:10px;flex-wrap:wrap}.sp-location-field{border:1px solid #e4e7ec;border-radius:10px;padding:12px;margin:14px 0 0}.sp-location-field legend{padding:0 6px;font-size:13px;font-weight:800}.sp-location-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:8px}.sp-location-option{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:600!important;padding:8px 10px;border:1px solid #eaecf0;border-radius:9px;background:#fafafa}.sp-location-option input{width:16px!important;height:16px;margin:0;flex:0 0 16px;accent-color:#b51f27}.sp-location-option span{line-height:1.25}@media(max-width:600px){.smartpresence-edit-dialog{width:calc(100vw - 20px);padding:10px}.smartpresence-edit-dialog .form-grid{grid-template-columns:1fr}.smartpresence-edit-dialog .form-actions button{flex:1 1 auto}}.form-card .check{display:flex;flex-direction:row;align-items:center;margin:14px 0}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.tab-row{display:flex;gap:8px;overflow:auto}.table-wrap{overflow:auto;background:#fff;border:1px solid #e4e7ec;border-radius:14px;margin:10px 0 24px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:11px 12px;border-bottom:1px solid #eaecf0;text-align:left;font-size:13px}th{background:#f9fafb;color:#475467}.status{font-size:11px;font-weight:800;background:#ecfdf3;color:#027a48;padding:5px 8px;border-radius:999px}.small{border:0;border-radius:8px;padding:7px 9px;background:#2f6f45;color:#fff}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:18px}.metric-grid article{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:18px}.metric-grid span{display:block;color:#667085;font-size:13px}.metric-grid strong{display:block;margin-top:8px;font-size:21px}


/* Desktop navigation standard: BaltisINN-style left sidebar */
@media (min-width: 1101px){
  .topbar{height:68px;padding:10px 24px 10px 242px}
  .module-nav{
    position:fixed;top:68px;left:0;bottom:0;width:230px;
    z-index:6;padding:18px 12px;display:flex;flex-direction:column;
    align-items:stretch;gap:6px;overflow-y:auto;
    background:#2f2926;border:0;border-right:1px solid #463d38
  }
  .module-nav button{
    width:100%;padding:13px 15px;border-radius:9px;
    background:transparent;color:#f7f1ea;text-align:left
  }
  .module-nav button:hover{background:#ffffff12}
  .module-nav button.active{
    background:#b51f27;color:#fff;
    box-shadow:inset 4px 0 0 #3c8a55
  }
  .app-shell{max-width:1120px;margin:0 auto 0 calc(230px + max(0px,(100vw - 1350px)/2));padding-top:24px}
  .action-dock{left:230px;padding-left:max(16px,calc((100vw - 1150px)/2));padding-right:max(16px,calc((100vw - 1150px)/2))}
}
@media (max-width: 1100px){
  .module-nav{top:68px}
}

.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.payroll-settings-card{padding:14px 16px;margin-bottom:8px}
.payroll-actions{margin-top:8px}
.payroll-save-btn{padding:8px 14px!important;border-radius:9px!important;font-size:13px!important;line-height:1.15!important;width:auto!important;min-height:34px!important}
.payroll-info-compact{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 11px;margin:6px 0 10px;border-radius:9px;font-size:12px;line-height:1.35}
.payroll-info-compact strong{font-size:12px}
.schedule-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.schedule-legend span{background:#fff;border:1px solid #e4e7ec;border-radius:9px;padding:7px 10px;font-size:12px;color:#475467}
.schedule-legend b{color:#7f171d}
.schedule-fairness{grid-template-columns:repeat(4,minmax(0,1fr))}
.schedule-fair-card{padding:12px!important}
.schedule-fair-card strong{font-size:16px!important;margin-top:4px!important}
.schedule-fair-card small{display:block;margin-top:5px;color:#667085;font-size:11px;line-height:1.35}
.schedule-sunday td{background:#fff7ed}
.schedule-rule-short{font-size:16px!important}
.schedule-request-card{padding:14px 16px}
.schedule-request-card>div:first-child{margin-bottom:10px}
.schedule-request-card .muted{font-size:12px;margin-top:3px}
.schedule-review.secondary{background:#f2f4f7;color:#344054}
.schedule-review-divider{height:1px;background:#b51f27;margin:4px -20px 8px;opacity:.75}
.schedule-table-scroll{height:clamp(320px,52vh,620px);overflow:auto;overscroll-behavior:contain;border-radius:14px}
.schedule-table-scroll .table-wrap{margin:0;overflow:visible;border-radius:14px}
.schedule-table-scroll table{margin:0}
.schedule-table-scroll thead th{position:sticky;top:0;z-index:3;background:#f9fafb;box-shadow:0 1px 0 #e4e7ec}



.payroll-approval-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px}
.payroll-approval-card .muted{margin-top:4px;font-size:12px;line-height:1.35}

.payroll-info-compact span:not(:last-child)::after{content:" ·";font-weight:700}

.form-card input[readonly]{background:#f2eee9;color:#6b625c;cursor:not-allowed}
@media (max-width:600px){
  .form-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .form-actions button{width:100%}
}

.permission-box{border:1px solid #dfe5ef;border-radius:14px;padding:14px;margin:16px 0}
.permission-box legend{font-weight:800;padding:0 6px}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.permission-grid .check{display:flex;align-items:center;gap:8px;background:#f8f6f1;border-radius:10px;padding:10px}
.user-password-help{margin-bottom:14px}
.user-list-head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:4px 0 10px}
.user-list-head h2{margin:0 0 3px}
.user-list-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.user-search{min-width:280px}
.user-search span{display:block;font-size:12px;font-weight:800;color:#475467;margin-bottom:5px}
.user-search input{width:100%;min-height:36px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff}
.user-table-scroll{height:clamp(340px,62vh,720px);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e4e7ec;border-radius:14px;margin:8px 0 24px}
.user-table{margin:0;min-width:920px}
.user-table thead th{position:sticky;top:0;z-index:4;background:#f9fafb;box-shadow:0 1px 0 #e4e7ec}
.user-sort{display:flex;align-items:center;gap:4px;width:100%;padding:0;border:0;background:transparent;color:#475467;font:inherit;font-weight:800;text-align:left;cursor:pointer}
.user-sort:hover,.user-sort.active{color:#7f171d}
.user-sort-mark{min-width:12px;font-size:10px}
.user-table tbody tr:hover td{background:#fffaf5}

.user-editor-dialog{width:min(980px,calc(100vw - 28px));max-width:980px;max-height:90vh;border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.30)}
.user-editor-dialog::backdrop{background:rgba(28,24,22,.58)}
.user-editor-form{margin:0;border:0;border-radius:16px;max-height:90vh;overflow:auto;padding:18px}
.user-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.user-editor-head h2{margin:3px 0 4px}
.user-editor-actions{position:sticky;bottom:-18px;background:#fff;padding:12px 0 2px;margin-top:10px;border-top:1px solid #eaecf0}

@media (max-width:800px){
  .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  .permission-grid{grid-template-columns:1fr}
}

.form-card .check{justify-content:flex-start;gap:8px}
.form-card .check input[type="checkbox"]{width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:0;padding:0;accent-color:#b51f27}
.user-status-row{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:14px 0}
.form-card .user-active-toggle{display:inline-flex;width:auto;margin:0;padding:10px 13px;border:1px solid #d8e7dc;border-radius:11px;background:#f3f8f4}
.user-active-toggle span{display:flex;flex-direction:column;gap:1px;line-height:1.25}
.user-active-toggle small{font-weight:500;color:#667085}
.permission-grid .check{margin:0;justify-content:flex-start}
@media (max-width:600px){
  .user-status-row{margin:12px 0}
  .form-card .user-active-toggle{width:100%}
}

.period-picker label{min-width:210px}
.period-picker label small{font-weight:500;margin-top:2px}
@media (max-width:600px){
  .period-picker{align-items:stretch}
  .period-picker label,.period-picker button{width:100%}
}


/* Purchase Plan & PO preview */
.purchase-preview{width:min(1120px,calc(100vw - 32px));max-width:1120px;max-height:88vh;border:0;border-radius:16px;padding:0;color:var(--text,#211f2d);box-shadow:0 24px 70px rgba(0,0,0,.3)}
.purchase-preview::backdrop{background:rgba(28,24,22,.62)}
.purchase-preview>div,.purchase-preview>.preview-note{margin-left:22px;margin-right:22px}
.preview-head{display:flex;align-items:center;justify-content:space-between;padding:22px 0 14px;border-bottom:1px solid #e3e0dc}
.preview-head small{color:#7b6f67;font-weight:700;letter-spacing:.08em}.preview-head h2{margin:4px 0 0}
.preview-close{border:0;background:#f2efeb;color:#3a332f;border-radius:50%;width:40px;height:40px;font-size:26px;line-height:1;cursor:pointer}
.preview-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 0}
.preview-summary div{background:#f8f6f2;border-radius:10px;padding:11px 13px}.preview-summary span{display:block;color:#7b6f67;font-size:.78rem;margin-bottom:4px}.preview-summary strong{overflow-wrap:anywhere}
.preview-lines{margin:0 22px;max-height:43vh;overflow:auto;border:1px solid #e3e0dc;border-radius:10px}
.preview-lines table{margin:0;min-width:900px}.preview-lines th{position:sticky;top:0;background:#f7f5f2;z-index:1}
.preview-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:16px 0 6px;font-size:1.08rem}.preview-total strong{font-size:1.35rem;color:var(--primary,#b5232d)}
.preview-note{background:#fff4dc;color:#735514;border-radius:9px;padding:10px 13px}
.preview-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 0 22px}.preview-actions button{min-width:140px}
@media(max-width:700px){
 .purchase-preview{width:calc(100vw - 16px);max-height:94vh;border-radius:12px}
 .purchase-preview>div,.purchase-preview>.preview-note{margin-left:14px;margin-right:14px}
 .preview-head{padding-top:16px}.preview-summary{grid-template-columns:1fr 1fr;gap:8px}
 .preview-lines{margin:0 14px;max-height:42vh}.preview-actions{position:sticky;bottom:0;background:white;padding-bottom:14px}
 .preview-actions button{flex:1;min-width:0}.preview-total{justify-content:space-between}
}


/* Rapikan pemilih periode dan tombol Saran Kirim */
.period-picker{display:grid;grid-template-columns:minmax(260px,320px) auto 1fr;align-items:start;column-gap:12px;row-gap:8px}
.period-picker label{min-width:0;width:100%}
.period-picker #generatePlan{align-self:start;margin-top:20px;min-width:176px;height:44px;white-space:nowrap}
@media(max-width:600px){
 .period-picker{grid-template-columns:1fr}
 .period-picker #generatePlan{width:100%;min-width:0;margin-top:2px}
}

/* Rapikan tombol verifikasi Payment Plan */
#paymentForm>.primary{margin-top:14px;padding:8px 12px;border-radius:9px;font-size:13px}


/* Hotel Operations - Check In */
.checkin-form .full{grid-column:1/-1}
.checkin-metrics article strong{font-variant-numeric:tabular-nums}
.checkin-form input[type="number"]{text-align:right}
@media(max-width:600px){
  .checkin-form .full{grid-column:auto}
}


/* Hotel Operations - room master, status, checkout */
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:22px}
.section-title-row h2{margin:0}
.room-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:12px 0 24px}
.room-pill{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:3px;min-height:88px}
.room-pill strong{font-size:18px}
.room-pill span{font-size:12px;font-weight:800}
.room-pill small{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-pill.available{border-left:5px solid #2f7d4a;background:#f5fbf7}
.room-pill.available span{color:#1d6b3d}
.room-pill.occupied{border-left:5px solid #b51f27;background:#fff7f7}
.room-pill.occupied span{color:#9f1f27}
.room-empty{grid-column:1/-1;padding:18px}
.checkout-btn{background:#b51f27}
.checkout-dialog{width:min(560px,calc(100vw - 28px));max-width:560px}
.checkout-dialog h2{margin-top:0}
.checkout-form .full{grid-column:1/-1}
@media(max-width:600px){
  .section-title-row{display:block}.section-title-row small{display:block;margin-top:4px}
  .room-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .checkout-form .full{grid-column:auto}
}

.room-pill.maintenance{border-left:5px solid #d79a22;background:#fffaf0}
.room-pill.maintenance span{color:#9a6500}


/* Hotel Operations - Booking */
.booking-form .full{grid-column:1/-1}
.booking-metrics article strong{font-variant-numeric:tabular-nums}
.booking-form input[type="number"]{text-align:right}
.booking-cancel{background:#7b6f67}
@media(max-width:600px){.booking-form .full{grid-column:auto}}


/* Hotel Operations - Housekeeping */
.hk-filter{align-items:center}.hk-filter label{min-width:220px}
.hk-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.hk-card{min-height:150px;justify-content:flex-start}
.hk-room-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.hk-room-head span{font-size:11px}
.room-pill.ready{border-left:5px solid #2f7d4a;background:#f5fbf7}.room-pill.ready span{color:#1d6b3d}
.room-pill.dirty{border-left:5px solid #b51f27;background:#fff7f7}.room-pill.dirty span{color:#9f1f27}
.room-pill.cleaning{border-left:5px solid #d79a22;background:#fffaf0}.room-pill.cleaning span{color:#9a6500}
.hk-actions{margin-top:auto;padding-top:8px}.hk-actions button{width:100%}.secondary-action{background:#7b6f67}
@media(max-width:600px){.hk-filter{align-items:stretch}.hk-filter label{min-width:0;width:100%}.hk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Hotel Operations - POS Cafe */
.pos-head-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.pos-lines{display:grid;gap:8px;margin:12px 0}
.pos-line{display:grid;grid-template-columns:minmax(220px,2fr) 100px 140px 80px;gap:8px;align-items:center}
.pos-line input{text-align:left}.pos-line input[name="qty"],.pos-line input[name="price"]{text-align:right}
.pos-total{display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:14px 0;font-size:1.05rem}
.pos-total strong{font-size:1.45rem;color:#b51f27}
@media(max-width:700px){.pos-line{grid-template-columns:1fr 72px 110px}.pos-line .pos-remove{grid-column:1/-1;width:100%}.pos-total{justify-content:space-between}}


/* Owner Dashboard & Daily Report */
.owner-date{margin:-6px 0 14px;color:#667085;font-weight:700}
.owner-metrics article small{display:block;margin-top:4px;color:#667085}
.report-filter{align-items:end}.report-filter label{min-width:220px}
.report-metrics{margin-top:12px}
@media(max-width:600px){.report-filter{align-items:stretch}.report-filter label,.report-filter button{width:100%}}


/* QRIS manual verification */
.qris-ok{background:#e4f5eb;color:#176540}
.qris-wait{background:#fff4dc;color:#8a5a00}
#posQrisLabel[hidden]{display:none}


/* Daily operations home */
.today-head{display:flex;align-items:end;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:14px 16px;margin-bottom:14px}
.today-head strong{display:block;font-size:1.1rem}.today-head label{min-width:220px}
.today-metrics article small{display:block;margin-top:4px;color:#667085}
.today-actions{display:flex;gap:9px;flex-wrap:wrap;margin:4px 0 22px}
.today-actions button{min-width:130px}
#checkinQrisLabel[hidden],#checkoutQrisLabel[hidden],#posQrisLabel[hidden]{display:none}
@media(max-width:600px){.today-head{align-items:stretch;flex-direction:column}.today-head label{min-width:0;width:100%}.today-actions{display:grid;grid-template-columns:1fr 1fr}.today-actions button{min-width:0;width:100%}}


/* Role-aware User Manual */
.topbar-actions{display:flex;align-items:center;gap:8px}.help-btn{font-weight:700}.active-user{display:grid;grid-template-columns:auto auto;column-gap:7px;align-items:center;min-width:150px;padding:7px 10px;border-radius:10px;background:#ffffff14;border:1px solid #ffffff1f;color:#fff;line-height:1.15}.active-user>span{grid-row:1/3;font-size:18px}.active-user strong{font-size:12px;white-space:nowrap}.active-user small{font-size:10px;opacity:.78;white-space:nowrap}.end-shift-btn{background:#ffffff22}.end-shift-btn:hover{background:#ffffff32}
.user-manual-dialog{width:min(760px,calc(100vw - 24px));max-height:88vh;border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(16,24,40,.25);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.user-manual-dialog::backdrop{background:rgba(15,23,42,.48)}
.manual-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 14px;border-bottom:1px solid #eaecf0;background:#fff}
.manual-head h2{margin:3px 0 3px}.manual-head p{margin:0;color:#667085}
.manual-close{border:0;background:#f2f4f7;border-radius:10px;width:38px;height:38px;font-size:24px;line-height:1;cursor:pointer}
.manual-intro{padding:14px 22px;background:#fff8ed;color:#69410d;border-bottom:1px solid #f2dfbf}
.manual-section{padding:18px 22px;border-bottom:1px solid #eaecf0}.manual-section h3{margin:0 0 12px}
.manual-steps{display:grid;gap:9px}.manual-steps article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}
.manual-steps article>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#7f171d;color:white}
.manual-steps strong,.manual-steps span{display:block}.manual-steps span{margin-top:2px;color:#475467;line-height:1.45}
.manual-caution{margin-top:14px;padding:11px 12px;border-left:4px solid #d79a22;background:#fffaf0;color:#69410d;border-radius:8px}
.manual-rules{margin:0;padding-left:22px}.manual-rules li{margin:8px 0;line-height:1.45}
.manual-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.manual-module{padding:11px 12px;border:1px solid #eaecf0;border-radius:10px;background:#fff}.manual-module strong,.manual-module span{display:block}.manual-module span{font-size:13px;color:#667085;margin-top:3px;line-height:1.4}
.manual-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:12px 22px;background:#fff;border-top:1px solid #eaecf0}
@media(max-width:600px){.topbar{align-items:flex-start;height:auto;min-height:68px;padding-top:8px;padding-bottom:8px}.topbar-brand small{display:none}.topbar-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}.active-user{order:-1;width:100%;min-width:0;grid-template-columns:auto 1fr;justify-content:end;padding:5px 8px}.active-user>span{font-size:15px}.active-user strong,.active-user small{text-align:right}.help-btn{padding-left:9px;padding-right:9px}.user-manual-dialog{max-height:92vh}.manual-head,.manual-section,.manual-intro{padding-left:16px;padding-right:16px}.manual-modules{grid-template-columns:1fr}.manual-footer{padding:10px 16px}.manual-footer button{width:100%}}


/* Outlet Lead weekly discipline control */
.lead-task-list{display:grid;gap:12px}
.lead-task-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:16px}
.lead-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.lead-task-head strong,.lead-task-head small,.lead-note{display:block}
.lead-task-head small,.lead-note{margin-top:3px;color:#667085}
.lead-task-input{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;align-items:center;margin:14px 0 12px}
.lead-review-actions{display:flex;gap:6px;flex-wrap:wrap}
.lead-task-card>.primary{width:100%}
@media(max-width:600px){
  .lead-task-head{display:grid;gap:8px}
  .lead-task-input{grid-template-columns:1fr}
}


/* Attendance Lite */
.attendance-self-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.attendance-self-head>div{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:14px}
.attendance-self-head strong{display:block;margin-top:4px;font-size:1.05rem}
.attendance-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 22px}
.attendance-actions button{min-height:52px}
.attendance-note{margin-top:-10px;margin-bottom:24px}
@media(max-width:700px){
  .attendance-self-head{grid-template-columns:1fr 1fr}
  .attendance-self-head>div:last-child{grid-column:1/-1}
  .attendance-actions{grid-template-columns:1fr 1fr}
}

.attendance-report-divider{height:1px;background:#e4e7ec;margin:24px 0}
.attendance-user-setting{margin:0 0 14px}

.attendance-location-add{display:flex;align-items:center;gap:10px;align-self:end}
.attendance-location-add small{display:block;max-width:360px}
@media(max-width:600px){.attendance-location-add{align-items:stretch;flex-direction:column}.attendance-location-add button{width:100%}}


/* Attendance live selfie */
.attendance-camera-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,460px);width:100%}
.attendance-camera-dialog::backdrop{background:rgba(17,24,39,.72)}
.attendance-camera-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.attendance-camera-card video{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#111;border-radius:14px;margin:10px 0 14px}
.attendance-camera-card .dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.attendance-camera-card .manual-head{position:static;padding:0;background:transparent;border:0}
.attendance-camera-card .manual-head h2{margin:4px 0 2px}
.attendance-camera-card .manual-head p{margin:0}
@media(max-width:600px){
  .attendance-camera-dialog{max-width:94vw}
  .attendance-camera-card{padding:14px}
}

@media (max-width:600px){
  .payroll-save-btn{width:auto!important;justify-self:start}
  .payroll-info-compact{display:block;font-size:12px}
  .payroll-info-compact span{display:block;margin-top:3px}
  .payroll-info-compact span:not(:last-child)::after{content:""}
}

@media(max-width:700px){
  .payroll-approval-card{align-items:stretch;flex-direction:column}
}

@media(max-width:800px){
  .schedule-fairness{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .schedule-fairness{grid-template-columns:1fr}
  .schedule-legend{gap:6px}
}

@media(max-width:800px){
  .schedule-table-scroll{height:56vh;min-height:300px}
  .schedule-review-divider{margin-left:0;margin-right:0}
}

@media(max-width:700px){
  .user-list-head{align-items:stretch;flex-direction:column}
  .user-list-head button{align-self:flex-start}
  .user-editor-dialog{width:calc(100vw - 14px);max-height:94vh}
  .user-editor-form{max-height:94vh;padding:14px}
}

@media(max-width:700px){
  .user-list-actions{width:100%;align-items:stretch}
  .user-search{min-width:0;flex:1 1 100%}
  .user-list-actions button{width:auto}
  .user-table-scroll{height:60vh;min-height:320px}
}


/* BLI Lite grouped navigation: one lightweight accordion level only */
.nav-group-items[hidden]{display:none!important}
.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nav-chevron{font-size:1.2rem;line-height:1;transition:transform .15s ease}
.nav-group.open .nav-chevron{transform:rotate(90deg)}

@media (min-width:1101px){
  .module-nav{gap:5px}
  .module-nav>.nav-module{font-weight:800}
  .module-nav .nav-group{display:block}
  .module-nav .nav-group-toggle{
    width:100%;padding:12px 14px;border-radius:9px;
    background:#3b3430;color:#f7f1ea;text-align:left;font-weight:800
  }
  .module-nav .nav-group-toggle:hover,
  .module-nav .nav-group-toggle.has-active{background:#463d38}
  .module-nav .nav-group-items{
    display:grid;gap:2px;padding:4px 0 4px 10px
  }
  .module-nav .nav-group-items .nav-module{
    padding:9px 12px;font-size:.91rem;color:#e9e0da
  }
  .module-nav .nav-group-items .nav-module.active{
    background:#b51f27;color:#fff;box-shadow:inset 3px 0 0 #3c8a55
  }
}

@media (max-width:1100px){
  .module-nav>.nav-module,.module-nav>.nav-group{flex:0 0 auto}
  .module-nav .nav-group{display:flex;gap:6px;align-items:center}
  .module-nav .nav-group-toggle{border:0;background:#eceff3;padding:10px 13px;border-radius:10px;white-space:nowrap;font-weight:800;color:#344054}
  .module-nav .nav-group-toggle.has-active{background:#f4dedf;color:#8b1d23}
  .module-nav .nav-group-items{display:flex;gap:6px}
}

/* SmartPresence BLI Lite: keep technical controls compact and exception-based. */
.sp-compact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:2px 0 8px}
.sp-status-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.sp-status-off{background:#fff1f0;color:#a12626}
.sp-compact-head .secondary{padding:8px 12px}
.sp-compact-alert{margin:6px 0 8px;padding:9px 12px}
.sp-settings{background:#fff;border:1px solid #e4e7ec;border-radius:11px;margin:7px 0;overflow:hidden}
.sp-settings summary{cursor:pointer;padding:9px 13px;font-size:12px;font-weight:800;color:#667085;list-style-position:inside}
.sp-settings[open] summary{border-bottom:1px solid #eaecf0}
.sp-settings .form-card{border:0;border-radius:0;box-shadow:none;margin:0;padding:12px 13px}
.sp-settings .form-grid{grid-template-columns:minmax(240px,1fr)}
.sp-settings .form-actions{margin-top:8px}
.sp-toolbar{padding:11px 13px;margin:8px 0 14px;box-shadow:none}
.sp-toolbar label{min-width:130px}
.sp-toolbar .form-actions{margin:0}
@media(max-width:600px){
  .sp-compact-head{align-items:stretch}
  .sp-compact-head .secondary{width:100%}
  .sp-toolbar{align-items:stretch}
  .sp-toolbar label,.sp-toolbar .form-actions,.sp-toolbar .form-actions button{width:100%}
}

.sp-summary-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.sp-summary-item{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #e4e7ec;border-radius:999px;background:#fff;color:#667085;font-size:12px;line-height:1}
.sp-summary-item strong{font-size:16px;line-height:1;color:#1f2937}
@media(max-width:600px){
  .sp-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .sp-summary-item{justify-content:space-between;border-radius:10px;padding:8px 9px}
  .sp-summary-item span{font-size:11px}
  .sp-summary-item strong{font-size:15px}
}

/* SmartPresence legacy transition panel */
.sp-legacy-panel{margin-top:18px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;overflow:hidden}
.sp-legacy-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 14px}
.sp-legacy-body{padding:0 14px 14px}

/* Attendance location setup dialog */
.attendance-location-dialog{width:min(680px,94vw);max-height:88vh;border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.attendance-location-dialog::backdrop{background:rgba(18,24,40,.55)}
.attendance-location-form{margin:0;border:0;box-shadow:none;padding:18px}
.attendance-gps-box{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dfe4ea;border-radius:12px;padding:13px 14px;margin:12px 0;background:#fafbfc}
.attendance-gps-box .secondary{flex:0 0 auto}
.location-permission-help{margin:10px 0}
@media(max-width:600px){
  .attendance-location-dialog{width:96vw}
  .attendance-gps-box{align-items:stretch;flex-direction:column}
  .attendance-gps-box .secondary{width:100%}
}

/* Persistent attendance header status */
.attendance-status-btn{border:1px solid #ffffff2c;border-radius:10px;padding:9px 12px;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap;line-height:1;background:#ffffff18;color:#fff}
.attendance-status-btn strong{font-size:12px}
.attendance-status-btn.is-working{background:#dff4e7;color:#176540;border-color:#b8dfc7}
.attendance-status-btn.is-completed{background:#e8f1eb;color:#245c3c;border-color:#cbded1}
.attendance-status-btn.is-not-started{background:#fff2d8;color:#7a4b00;border-color:#efd59a}
.attendance-status-btn.is-legacy{background:#ffffff1c;color:#fff}
.attendance-status-btn.is-error{background:#ffe4e2;color:#8d2525;border-color:#f2b8b4}
.attendance-status-btn.page-active{box-shadow:0 0 0 2px #fff inset}
@media(max-width:600px){
  .attendance-status-btn{flex:1 1 auto;padding:9px 10px}
  .attendance-status-btn strong{font-size:11px}
}

/* Compact BLI logo in topbar */
.topbar-brand{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto}
.topbar-logo{display:block;width:52px;height:52px;object-fit:contain;border-radius:12px;background:#fff;padding:2px}
@media (min-width:1101px){
  .topbar{padding-left:18px;padding-right:18px}
}
@media (max-width:600px){
  .topbar-logo{width:44px;height:44px;border-radius:10px}
}

/* BLI Lite: prepaid/deposit is only visible when loaded from a reservation (readonly). */
#checkinForm label:has(input[name="deposit"]:not([readonly])){display:none}

/* Bank Reconciliation compact analysis layout */
.bank-recon-period{padding:9px 12px;margin:6px 0 8px;box-shadow:none}
.bank-recon-period label{min-width:220px;display:flex;flex-direction:row;align-items:center;gap:9px}
.bank-recon-period label input{width:190px;padding:8px 10px}
.bank-recon-period .secondary{padding:9px 14px}
.bank-recon-compact-head{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:10px 12px;margin-bottom:8px}
.bank-recon-head-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.bank-recon-accounts{display:flex;gap:7px;flex-wrap:wrap;min-width:0}
.bank-recon-account{display:inline-flex;align-items:center;gap:6px;border:1px solid #e4e7ec;border-radius:999px;padding:5px 8px;background:#fafafa;font-size:11px;white-space:nowrap}
.bank-recon-account span{color:#667085}
.bank-recon-account b{font-size:10px;color:#667085}
.bank-recon-account.connected{background:#f4fbf6;border-color:#d7eadc}
.bank-recon-account.connected b{color:#247247}
.bank-recon-account.offline{background:#fff6f6;border-color:#f0d8d8}
.bank-recon-account.offline b{color:#9c2f2f}
.bank-recon-actions{display:flex;gap:7px;align-items:flex-start;flex:0 0 auto}
.bank-recon-actions>.secondary{padding:8px 11px;font-size:12px}
.bank-recon-api{position:relative}
.bank-recon-api summary{list-style:none;cursor:pointer;background:#f2f4f7;color:#344054;border-radius:9px;padding:8px 11px;font-size:12px;font-weight:800;white-space:nowrap}
.bank-recon-api summary::-webkit-details-marker{display:none}
.bank-recon-api-panel{position:absolute;right:0;top:40px;z-index:8;width:min(520px,70vw);background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:12px;box-shadow:0 16px 36px rgba(16,24,40,.18);display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.bank-recon-api-panel label{min-width:0}
.bank-recon-api-panel input{padding:8px 10px}
.bank-recon-api-panel .secondary{padding:9px 12px}
.bank-recon-api-panel small{grid-column:1/-1}
.bank-recon-note{margin:7px 0;padding:5px 8px;border-radius:8px;background:#f8f6f1;color:#6b625c;font-size:11px;line-height:1.25}
.bank-recon-note.error{background:#ffe7e7;color:#8d2525}
.bank-recon-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bank-recon-kpis article{border:1px solid #e4e7ec;border-radius:10px;padding:7px 10px;background:#fff;min-height:50px}
.bank-recon-kpis span{display:block;color:#667085;font-size:11px}
.bank-recon-kpis strong{display:block;margin-top:2px;font-size:17px;line-height:1.2}
.bank-recon-table-scroll{height:calc(100vh - 335px);min-height:360px;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e4e7ec;border-radius:14px;margin:0 0 20px}
.bank-recon-table-scroll .table-wrap{margin:0;overflow:visible;border:0;border-radius:0}
.bank-recon-table-scroll table{margin:0;min-width:980px}
.bank-recon-table-scroll th,.bank-recon-table-scroll td{padding:8px 9px;font-size:12px;vertical-align:top}
.bank-recon-table-scroll thead th{position:sticky;top:0;z-index:4;background:#f9fafb;box-shadow:0 1px 0 #e4e7ec}
.bank-recon-table-scroll tbody tr:hover td{background:#fffaf5}
@media(max-width:800px){
  .bank-recon-period label{width:100%;flex-direction:column;align-items:stretch}.bank-recon-period label input{width:100%}
  .bank-recon-head-row{flex-direction:column}.bank-recon-actions{width:100%;justify-content:space-between}
  .bank-recon-accounts{gap:5px}.bank-recon-account{white-space:normal}
  .bank-recon-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bank-recon-api-panel{position:fixed;left:12px;right:12px;top:120px;width:auto}
  .bank-recon-table-scroll{height:58vh;min-height:320px}
}

/* OTA Receivables standalone workflow */
.ota-receivable-filter{padding:10px 12px;margin:6px 0 10px;box-shadow:none}
.ota-receivable-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}
.ota-receivable-kpis article{padding:10px 12px}
.ota-receivable-kpis strong{font-size:18px;margin-top:3px}
.ota-receivable-table-scroll{height:calc(100vh - 345px);min-height:360px;overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e4e7ec;border-radius:14px;margin:8px 0 20px}
.ota-receivable-table-scroll .table-wrap{margin:0;overflow:visible;border:0;border-radius:0}
.ota-receivable-table-scroll table{margin:0;min-width:960px}
.ota-receivable-table-scroll thead th{position:sticky;top:0;z-index:4;background:#f9fafb;box-shadow:0 1px 0 #e4e7ec}
.ota-receivable-table-scroll tbody tr:hover td{background:#fffaf5}
@media(max-width:800px){.ota-receivable-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ota-receivable-table-scroll{height:58vh;min-height:320px}}

[hidden]{display:none!important}


/* Attendance Compact 2026 */
.attendance-self-compact{margin:0 0 14px}
.attendance-self-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}
.attendance-self-title h2{margin:0;font-size:1.25rem}
.attendance-summary-strip{display:flex;align-items:stretch;gap:0;border:1px solid #e4e7ec;border-radius:12px;background:#fff;overflow:hidden}
.attendance-summary-strip>span{flex:1;min-width:0;padding:9px 12px;border-right:1px solid #e4e7ec}
.attendance-summary-strip>span:last-child{border-right:0}
.attendance-summary-strip small{display:block;color:#777;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.attendance-summary-strip strong{display:block;margin-top:2px;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attendance-self-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}
.attendance-actions.attendance-actions-compact{display:flex;grid-template-columns:none;gap:8px;margin:0}
.attendance-actions.attendance-actions-compact button{min-height:38px;padding:8px 18px;min-width:120px}
.attendance-my-history{border-top:1px solid #eceff3;margin-top:8px;padding-top:6px}
.attendance-my-history>summary{cursor:pointer;font-weight:700;color:#555;padding:5px 0}
.sp-legacy-panel{margin-top:8px}
@media(max-width:700px){
  .attendance-summary-strip{overflow-x:auto}
  .attendance-summary-strip>span{min-width:118px}
  .attendance-self-title,.attendance-self-control{align-items:flex-start;flex-direction:column}
  .attendance-actions.attendance-actions-compact{width:100%}
  .attendance-actions.attendance-actions-compact button{flex:1;min-width:0}
}


/* Attendance Team Schedule Style 2026 */
.attendance-self-compact{margin:0 0 6px}
.attendance-self-title{margin-bottom:5px}
.attendance-self-title h2{font-size:1.1rem}
.attendance-summary-strip>span{padding:6px 9px}
.attendance-summary-strip small{font-size:.65rem}
.attendance-summary-strip strong{font-size:.86rem}
.attendance-self-control{margin:5px 0;gap:8px}
.attendance-actions.attendance-actions-compact button{min-height:34px;padding:6px 14px;min-width:100px}
.attendance-my-history{margin-top:4px;padding-top:3px}
.attendance-my-history>summary{padding:3px 0;font-size:13px}
.sp-legacy-panel{margin-top:6px;border:0;border-radius:0;background:transparent;overflow:visible}
.sp-legacy-panel>summary{list-style:none;pointer-events:none;padding:6px 0 7px;border-bottom:1px solid #b51f27;font-size:15px}
.sp-legacy-panel>summary::-webkit-details-marker{display:none}
.sp-legacy-body{padding:6px 0 0}
.sp-status-line{margin:0 0 5px}
.sp-status-line .status{padding:4px 7px}
.sp-toolbar{display:flex;align-items:end;gap:8px;padding:0;margin:4px 0 6px;border:0;background:transparent;box-shadow:none}
.sp-toolbar label{min-width:0;display:flex;flex-direction:row;align-items:center;gap:6px}
.sp-toolbar label input{width:145px;padding:7px 9px}
.sp-toolbar .form-actions{margin:0}
.sp-toolbar .secondary{padding:8px 12px;border-radius:9px}
.attendance-report-divider{height:1px;background:#b51f27;margin:6px 0 7px;opacity:.75}
.sp-legacy-body h3{font-size:15px;margin:6px 0}
.sp-summary-strip{margin:4px 0 5px;gap:6px}
.sp-summary-item{padding:5px 8px;font-size:11px}
.sp-summary-item strong{font-size:14px}
#smartPresenceWorkspace .sp-summary-strip + .alert.info{padding:6px 9px;margin:4px 0 6px;border-radius:8px;font-size:11px;line-height:1.3}
#smartPresenceWorkspace .table-wrap{max-height:clamp(300px,48vh,580px);overflow:auto;overscroll-behavior:contain;margin:6px 0 16px;border-radius:12px}
#smartPresenceWorkspace .table-wrap thead th{position:sticky;top:0;z-index:3;background:#f9fafb;box-shadow:0 1px 0 #e4e7ec}
@media(max-width:700px){
  .sp-toolbar{align-items:stretch;flex-direction:column}
  .sp-toolbar label{width:100%;justify-content:space-between}
  .sp-toolbar label input{width:min(190px,60vw)}
  .sp-toolbar .form-actions,.sp-toolbar .form-actions button{width:100%}
  #smartPresenceWorkspace .table-wrap{max-height:56vh}
}


/* Housekeeping compact review */
.hk-compact-head{display:flex;align-items:center;gap:12px;padding:9px 12px;margin-bottom:8px;min-height:0}
.hk-outlet-select{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
.hk-outlet-select select{min-width:190px}
.hk-compact-tip{font-size:13px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#hkSummary{margin-left:auto}
.hk-summary-strip{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.hk-summary-strip span{display:flex;align-items:baseline;gap:5px;padding:5px 8px;border:1px solid #e4e7ec;border-radius:9px;background:#fff;white-space:nowrap}
.hk-summary-strip b{font-size:11px;color:#667085}.hk-summary-strip strong{font-size:16px;line-height:1}
.hk-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px;margin:8px 0 12px}
.hk-card{height:108px;min-height:108px;padding:9px;gap:2px;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}
.hk-card strong{font-size:17px}.hk-card small{font-size:11px}
.hk-card.maintenance>small{font-size:10px!important;line-height:1.15!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%;min-width:0}
.hk-card.maintenance>small strong{font-size:10px!important;line-height:1.15!important;font-weight:700;color:inherit}
.hk-actions{padding-top:4px;margin-top:auto;display:flex;align-items:flex-end;justify-content:flex-end;gap:5px}
.hk-card.maintenance .hk-actions{padding-top:2px}
.hk-actions button{padding:7px 8px}
.hk-actions button[data-status="MAINTENANCE"],.hk-card.maintenance .hk-actions button[data-status="DIRTY"]{width:auto!important;min-width:0!important;min-height:24px!important;padding:3px 8px!important;font-size:11px!important;line-height:1.15!important;border-radius:8px!important;flex:0 0 auto}
.hk-card.dirty .hk-actions{gap:3px;flex-wrap:nowrap}
.hk-card.dirty .hk-actions button[data-status="MAINTENANCE"]{order:1;font-size:0!important;padding:3px 5px!important;white-space:nowrap;flex:0 0 auto}
.hk-card.dirty .hk-actions button[data-status="MAINTENANCE"]::after{content:"Maint.";font-size:9px;line-height:1.1}
.hk-card.dirty .hk-actions button[data-status="CLEANING"]{order:2;padding:5px 6px!important;font-size:10px!important;line-height:1.1!important;white-space:nowrap;flex:0 0 auto}
@media(max-width:900px){.hk-compact-head{flex-wrap:wrap}.hk-compact-tip{order:3;width:100%}#hkSummary{margin-left:0}.hk-summary-strip{flex-wrap:wrap}}
@media(max-width:600px){.hk-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.hk-summary-strip span{display:block;text-align:center;padding:5px 4px}.hk-summary-strip b{display:block}.hk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Check-In compact summary */
.checkin-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:6px 0 10px}
.checkin-summary-strip span{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:7px 9px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;min-width:0}
.checkin-summary-strip b{font-size:11px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.checkin-summary-strip strong{font-size:15px;line-height:1.1;white-space:nowrap}
.checkin-form{margin-top:8px}
@media(max-width:1000px){.checkin-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.checkin-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.checkin-summary-strip span{padding:6px 8px}.checkin-summary-strip strong{font-size:14px}}


/* Check-In focus layout */
.checkin-summary-strip{display:flex!important;align-items:stretch;gap:0!important;margin:4px 0 12px!important;background:#fff;border:1px solid #e4e7ec;border-radius:12px;overflow-x:auto;box-shadow:0 2px 8px rgba(16,24,40,.035)}
.checkin-summary-strip span{flex:1 0 130px!important;display:flex;align-items:center!important;justify-content:space-between;gap:8px;padding:8px 11px!important;border:0!important;border-right:1px solid #eaecf0!important;border-radius:0!important;background:transparent!important;white-space:nowrap}
.checkin-summary-strip span:last-child{border-right:0!important}
.checkin-summary-strip b{font-size:11px;color:#667085;font-weight:700}
.checkin-summary-strip strong{font-size:15px;line-height:1;color:#2f2926}
.checkin-focus-card{border:1px solid #d0d5dd;border-top:4px solid #b51f27;box-shadow:0 10px 28px rgba(16,24,40,.09);padding:20px;margin-top:8px}
.checkin-focus-card:focus-within{box-shadow:0 12px 32px rgba(181,31,39,.11)}
@media(max-width:700px){.checkin-summary-strip span{flex-basis:118px!important;padding:7px 9px!important}.checkin-focus-card{padding:14px}}


/* Check-In fixed outlet */
.checkin-fixed-outlet-hidden{display:none!important}


/* Check-In & Check-Out grouped tabs */
.front-office-tabs{margin:-4px 0 10px;gap:8px;flex-wrap:wrap}
.front-office-view-title{margin:4px 0 10px;font-size:1.2rem}
@media(max-width:600px){.front-office-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.front-office-tabs button{flex:0 0 auto}}


/* Inventory Count compact table */
#items.items{display:block}
.inventory-table-wrap{overflow:auto;background:#fff;border:1px solid #dfe5ef;border-radius:14px;margin:8px 0 18px;max-height:calc(100vh - 330px)}
.inventory-compact-table{width:100%;min-width:760px;border-collapse:collapse}
.inventory-compact-table thead th{position:sticky;top:0;z-index:2;background:#f9fafb;color:#475467;font-size:12px;padding:9px 10px;border-bottom:1px solid #e4e7ec}
.inventory-compact-table td{padding:7px 10px;border-bottom:1px solid #eaecf0;font-size:13px;vertical-align:middle}
.inventory-compact-table tbody tr:last-child td{border-bottom:0}
.inventory-code{font-size:12px;color:#51617d}.inventory-name{font-weight:700}.inventory-estimate{color:#667085;white-space:nowrap}
.inventory-compact-table .inventory-qty{width:100px;padding:8px;text-align:right;font-size:14px;font-weight:800}
.inventory-compact-table .inventory-note{min-width:160px;padding:8px;font-size:13px}
.inventory-compact-table th:nth-child(1){width:90px}.inventory-compact-table th:nth-child(3){width:110px}.inventory-compact-table th:nth-child(4){width:130px}.inventory-compact-table th:nth-child(5){width:210px}
@media(max-width:700px){.inventory-table-wrap{max-height:none}.inventory-compact-table{min-width:700px}.inventory-compact-table td,.inventory-compact-table thead th{padding:7px 8px}}


/* Inventory Count compact summary */
.inventory-summary-compact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:10px 14px;margin-bottom:8px}
.inventory-summary-compact>div{min-width:110px}
.inventory-hidden-outlet{display:none!important}
.inventory-period{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.inventory-period .eyebrow{margin:0}.inventory-period strong{font-size:14px}
.inventory-progress-inline{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:10px;min-width:0!important}
.inventory-progress-inline>strong{font-size:13px;white-space:nowrap}.inventory-progress-inline .progress{margin:0;height:7px}.inventory-progress-inline #saveState{font-size:12px;color:#667085;white-space:nowrap}
@media(max-width:700px){.inventory-summary-compact{grid-template-columns:1fr;gap:8px}.inventory-progress-inline{grid-template-columns:auto 1fr}.inventory-progress-inline #saveState{grid-column:1/-1}}


/* Asset Control compact review */
.asset-summary-compact{display:flex;align-items:stretch;gap:0!important;margin:4px 0 10px!important;background:#fff;border:1px solid #e4e7ec;border-radius:12px;overflow-x:auto}
.asset-summary-compact article{flex:1 0 150px!important;border:0!important;border-right:1px solid #eaecf0!important;border-radius:0!important;padding:10px 12px!important}
.asset-summary-compact article:last-child{border-right:0!important}.asset-summary-compact article span{font-size:11px!important}.asset-summary-compact article strong{font-size:17px!important;margin-top:3px!important}
.asset-table-scroll{max-height:calc(100vh - 310px);overflow:auto!important;overscroll-behavior:contain;border-radius:14px;margin:6px 0 12px!important}
.asset-table-scroll table{margin:0;min-width:760px}.asset-table-scroll thead th{position:sticky;top:0;z-index:3;background:#f9fafb;box-shadow:0 1px 0 #e4e7ec}
.asset-table-scroll th,.asset-table-scroll td{padding:8px 10px}.asset-table-scroll .small{padding:6px 9px}
.asset-replacement-panel{padding:12px 14px;margin:10px 0}.asset-replacement-panel>summary{cursor:pointer;font-weight:800}.asset-replacement-form{margin:8px 0 0;padding:4px 0 0;border:0;box-shadow:none;background:transparent}
@media(max-width:700px){.asset-summary-compact article{flex-basis:130px!important}.asset-table-scroll{max-height:none}}


/* Electricity Control compact */
.electricity-compact-filter{display:flex!important;align-items:end!important;gap:14px!important;padding:10px 14px!important;margin-bottom:8px!important}
.electricity-progress-inline{display:grid;grid-template-columns:auto minmax(180px,1fr);align-items:center;gap:10px;flex:1;min-width:260px}
.electricity-progress-inline>strong{font-size:13px;white-space:nowrap}.electricity-progress-inline .progress{margin:0;height:7px}
.electricity-summary-compact{display:flex;align-items:stretch;gap:0!important;margin:4px 0 10px!important;background:#fff;border:1px solid #e4e7ec;border-radius:12px;overflow-x:auto}
.electricity-summary-compact article{flex:1 0 145px!important;border:0!important;border-right:1px solid #eaecf0!important;border-radius:0!important;padding:9px 12px!important}
.electricity-summary-compact article:last-child{border-right:0!important}.electricity-summary-compact article span{font-size:11px!important}.electricity-summary-compact article strong{font-size:17px!important;margin-top:3px!important}
.electricity-table-scroll{max-height:calc(100vh - 325px);overflow:auto!important;overscroll-behavior:contain;border-radius:14px;margin:6px 0 8px!important}
.electricity-table-scroll table{margin:0;min-width:760px}.electricity-table-scroll thead th{position:sticky;top:0;z-index:3;background:#f9fafb;box-shadow:0 1px 0 #e4e7ec}
.electricity-table-scroll th,.electricity-table-scroll td{padding:8px 10px}.electricity-table-scroll input{padding:8px!important}
.electricity-submit-bar{display:flex;justify-content:flex-end;margin:8px 0 12px}.electricity-submit-bar .primary{min-width:240px}
@media(max-width:700px){.electricity-compact-filter{align-items:stretch!important;flex-direction:column}.electricity-progress-inline{width:100%;min-width:0}.electricity-summary-compact article{flex-basis:130px!important}.electricity-table-scroll{max-height:none}.electricity-submit-bar .primary{width:100%}}


/* BLI Lite · compact Outlet Lead Tasks */
.lead-summary-strip{display:flex;align-items:center;gap:0;background:#fff;border:1px solid #e4e7ec;border-radius:12px;margin-bottom:8px;overflow:auto}
.lead-summary-strip span{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 14px;border-right:1px solid #eaecf0}
.lead-summary-strip span:last-child{border-right:0}
.lead-summary-strip b{font-size:12px;color:#667085;font-weight:600}
.lead-summary-strip strong{font-size:14px;color:#1d2939}
.lead-lite-guide{font-size:13px;margin:5px 2px 10px}
.lead-task-list-compact{gap:7px}
.lead-task-row{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(230px,1.25fr) minmax(150px,.75fr) auto auto;gap:8px;align-items:center;background:#fff;border:1px solid #e4e7ec;border-radius:11px;padding:9px 10px}
.lead-task-title strong,.lead-task-title small{display:block}
.lead-task-title small{font-size:11px;color:#667085;margin-top:2px}
.lead-task-title .lead-review-note{color:#b42318}
.lead-task-evidence{min-width:0}
.lead-task-row input[type="url"],.lead-task-row input[type="text"]{min-width:0;width:100%;padding:9px 10px}
.lead-confirm-wrap{display:flex;align-items:center;gap:8px;min-height:38px;margin:0;padding:0 4px}
.lead-confirm-wrap input{width:auto!important;flex:0 0 auto}
.lead-confirm-wrap span,.lead-confirm-wrap small{display:block}
.lead-confirm-wrap small{font-size:11px;color:#667085;margin-top:1px}
.lead-task-status{white-space:nowrap}
.lead-needs-revision{background:#fff1f0;color:#b42318}
.lead-task-row>.lead-submit{width:auto;min-width:90px;padding:9px 12px;white-space:nowrap}
@media(max-width:760px){
  .lead-summary-strip span{padding:8px 10px}
  .lead-task-row{grid-template-columns:1fr;gap:7px;padding:10px}
  .lead-task-row>.lead-submit{width:100%}
  .lead-task-status{justify-self:start}
}


/* BLI Cloudflare Integration */
/* Admin integrations */
.integration-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:10px 0 20px}
.integration-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(16,24,40,.05)}
.integration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.integration-head h2{margin:2px 0 3px;font-size:20px}
.integration-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid #d0d5dd;background:#f2f4f7;color:#475467}
.integration-status.connected{background:#ecfdf3;border-color:#abefc6;color:#067647}
.integration-status.saved{background:#fffaeb;border-color:#fedf89;color:#b54708}
.integration-status.offline{background:#fef3f2;border-color:#fecdca;color:#b42318}
.integration-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.integration-meta>div{border:1px solid #eaecf0;border-radius:10px;padding:9px 10px;min-width:0}
.integration-meta span,.integration-hostnames span{display:block;color:#667085;font-size:11px;margin-bottom:3px}
.integration-meta strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.integration-hostnames{border:1px solid #eaecf0;border-radius:10px;padding:9px 10px;margin-bottom:12px;overflow-wrap:anywhere}
.integration-hostnames strong{font-size:12px;line-height:1.45}
.integration-secret-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:8px;align-items:end;margin-bottom:7px}
.integration-secret-row label{min-width:0}
.integration-secret-row input{width:100%}
.integration-secret-row button{white-space:nowrap}
.integration-message{min-height:20px;margin-top:8px;font-size:12px;color:#667085}
.integration-message.success{color:#067647;font-weight:700}
.integration-message.error{color:#b42318;font-weight:700}
@media(max-width:900px){.integration-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-secret-row{grid-template-columns:1fr 1fr}.integration-secret-row label{grid-column:1/-1}}
@media(max-width:560px){.integration-head{flex-direction:column}.integration-meta{grid-template-columns:1fr}.integration-secret-row{grid-template-columns:1fr}.integration-secret-row label{grid-column:auto}.integration-secret-row button{width:100%}}


/* BLI Cloudflare saved-token controls */
.integration-token-saved{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #abefc6;background:#ecfdf3;border-radius:10px;padding:10px 12px;margin-bottom:8px}
.integration-token-saved strong{display:block;color:#067647;font-size:13px}
.integration-token-saved small{display:block;color:#667085;margin-top:2px}
.integration-token-actions{display:flex;gap:8px;flex:0 0 auto}
.integration-replace-row[hidden]{display:none!important}
@media(max-width:700px){.integration-token-saved{align-items:stretch;flex-direction:column}.integration-token-actions{width:100%}.integration-token-actions button{flex:1}.integration-replace-row{grid-template-columns:1fr}.integration-replace-row label{grid-column:auto}.integration-replace-row button{width:100%}}

/* BLI Master Data grouped navigation */
.master-group-row{gap:8px;flex-wrap:wrap;overflow:visible;margin-bottom:8px}.master-sub-row{gap:6px;flex-wrap:wrap;overflow:visible;margin:0 0 14px}.master-sub-row[hidden]{display:none!important}.master-sub-row button{padding:7px 11px;font-size:13px;background:#fff;border:1px solid #e4e7ec}.master-sub-row button.active{background:#fbe9ea;color:#991b1b;border-color:#e8b9bc}@media(max-width:600px){.master-group-row,.master-sub-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}}

/* BLI Duitku integration controls */
.duitku-secret-row{grid-template-columns:minmax(160px,.55fr) minmax(260px,1fr) auto}.duitku-checklist{margin-top:12px;border:1px solid #eaecf0;border-radius:10px;padding:11px 12px;display:grid;gap:5px;font-size:12px;color:#475467}.duitku-checklist strong{color:#344054;margin-bottom:2px}.duitku-checklist div:last-child{font-weight:700}@media(max-width:900px){.duitku-secret-row{grid-template-columns:1fr}.duitku-secret-row label{grid-column:auto}.duitku-secret-row button{width:100%}}

/* BLI_BANK_CONTROL_WEEKLY_V1_CSS */
.bank-control-tabs{margin:0 0 8px}.bank-control-tabs button.active{background:#1f2937;color:#fff}.bank-control-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:8px 0}.bank-control-kpis article{background:#fff;border:1px solid #e4e7ec;border-radius:11px;padding:9px 11px}.bank-control-kpis span{display:block;color:#667085;font-size:11px}.bank-control-kpis strong{display:block;margin-top:3px;font-size:16px}.bank-control-bli{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.bank-control-bli span{display:flex;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e4e7ec;border-radius:999px;padding:6px 10px;font-size:11px}.bank-control-bli b{color:#667085}.bank-verify-card{background:#fff;border:1px solid #e4e7ec;border-radius:13px;padding:11px;margin:8px 0}.bank-verify-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}.bank-verify-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1fr) minmax(130px,.7fr);gap:10px;align-items:end;border-top:1px solid #f0f1f3;padding:8px 0}.bank-verify-row small,.bank-verify-row span{display:block}.bank-verify-row label{font-size:11px;color:#667085}.bank-verify-row input{margin-top:4px}.bank-control-two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:10px;align-items:start}.bank-control-two h3{margin:9px 0 6px}.bank-control-category{min-width:170px;padding:6px 7px;font-size:11px}.bank-control-category+small{display:block;margin-top:2px}.bank-recon-table-scroll{height:calc(100vh - 420px);min-height:300px}
@media(max-width:900px){.bank-control-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-control-two{grid-template-columns:1fr}.bank-verify-row{grid-template-columns:1fr}.bank-recon-table-scroll{height:52vh}}


/* Accounting Lite compact workspace */
.accounting-filter-compact{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(155px,.8fr) minmax(155px,.8fr) auto;align-items:end;gap:8px;padding:9px 11px;margin-bottom:8px;min-height:0}
.accounting-filter-compact label{margin:0;font-size:12px;gap:4px}
.accounting-filter-compact select,.accounting-filter-compact input{min-height:38px;padding-top:7px;padding-bottom:7px}
.accounting-filter-compact button{min-height:38px;margin:0;padding:8px 18px}
.accounting-kpi-strip{display:flex;align-items:stretch;flex-wrap:wrap;gap:0;margin:0 0 8px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;overflow:hidden}
.accounting-kpi-strip article{flex:1 1 170px;min-width:150px;min-height:0;margin:0;padding:8px 12px;border:0;border-right:1px solid #e4e7ec;border-radius:0;box-shadow:none;background:#fff}
.accounting-kpi-strip article:last-child{border-right:0}
.accounting-kpi-strip article span{font-size:11px;line-height:1.2}
.accounting-kpi-strip article strong{display:block;margin-top:3px;font-size:18px;line-height:1.2}
.accounting-section-title{margin:9px 0 6px;font-size:1.16rem}
.accounting-trace-hint{margin:0 0 5px;padding:2px 1px;font-size:12px;color:#7a4b4b}
.accounting-table-scroll{max-height:56vh;overflow:auto;border:1px solid #e4e7ec;border-radius:10px;background:#fff}
.accounting-table-scroll table{margin:0;min-width:900px;border-collapse:separate;border-spacing:0}
.accounting-table-scroll thead th{position:sticky;top:0;z-index:3;background:#f8fafc;box-shadow:0 1px 0 #e4e7ec}
.accounting-table-scroll th:first-child,.accounting-table-scroll td:first-child{position:sticky;left:0;background:#fff;z-index:2}
.accounting-table-scroll thead th:first-child{z-index:4;background:#f8fafc}
.accounting-table-scroll tbody td:first-child{box-shadow:1px 0 0 #eef0f3}
.accounting-pnl-scroll .table-wrap{max-height:56vh;overflow:auto;border:1px solid #e4e7ec;border-radius:10px}
.accounting-pnl-scroll table{margin:0}
.accounting-pnl-scroll thead th{position:sticky;top:0;z-index:2;background:#f8fafc}
@media(max-width:800px){.accounting-filter-compact{grid-template-columns:1fr 1fr;align-items:end}.accounting-filter-compact label:first-child{grid-column:1/-1}.accounting-filter-compact button{width:100%}.accounting-kpi-strip article{flex-basis:50%;border-bottom:1px solid #e4e7ec}.accounting-table-scroll{max-height:60vh}}
@media(max-width:520px){.accounting-filter-compact{grid-template-columns:1fr}.accounting-filter-compact label:first-child{grid-column:auto}.accounting-kpi-strip article{flex-basis:100%;border-right:0}}


/* BLI_BANK_SIMPLE_COMPARE_V1_CSS */
.simple-bank-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 4px}
.simple-bank-compare>div{background:#fff;border:1px solid #e4e7ec;border-radius:11px;padding:9px 11px}
.simple-bank-compare span{display:block;color:#667085;font-size:11px}
.simple-bank-compare strong{display:block;margin-top:3px;font-size:18px}
.simple-bank-compare small{display:block;margin-top:3px;color:#667085;font-size:10px}
.simple-bank-note{font-size:10px;margin:0 2px 8px}
@media(max-width:800px){.simple-bank-compare{grid-template-columns:1fr}}


/* BLI_COLLAPSIBLE_SIDEBAR_V1: compact desktop analysis rail */
.sidebar-toggle{display:none}
@media (min-width:1101px){
  .module-nav,.app-shell,.action-dock,.topbar{transition:width .18s ease,left .18s ease,margin-left .18s ease,padding-left .18s ease}
  .sidebar-toggle{display:flex!important;align-items:center;justify-content:flex-end;gap:8px;min-height:32px!important;padding:4px 8px!important;margin:0 0 8px;background:#ffffff0d!important;color:#fff!important;border:1px solid #ffffff18!important}
  .sidebar-toggle:hover{background:#ffffff18!important}
  .sidebar-toggle-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#ffffff16;font-size:22px;line-height:1}
  .sidebar-toggle-label{font-size:11px;color:#d9d2cc;font-weight:700}
  .nav-module::before,.nav-group-toggle::before{display:none;font-size:14px;font-weight:900;line-height:1}
  .nav-module[data-module="dashboard"]::before{content:"D"}.nav-module[data-module="masters"]::before{content:"M"}
  .nav-group-toggle[data-nav-group="hotel"]::before{content:"H"}.nav-group-toggle[data-nav-group="team"]::before{content:"T"}.nav-group-toggle[data-nav-group="cost"]::before{content:"C"}.nav-group-toggle[data-nav-group="finance"]::before{content:"P"}
  body.sidebar-collapsed .module-nav{width:72px;padding:18px 9px;overflow-x:hidden}
  body.sidebar-collapsed .app-shell{max-width:calc(100vw - 104px);margin-left:88px;margin-right:16px}
  body.sidebar-collapsed .action-dock{left:72px}
  body.sidebar-collapsed .sidebar-toggle{justify-content:center;padding:4px!important}
  body.sidebar-collapsed .sidebar-toggle-label{display:none}
  body.sidebar-collapsed .nav-module,body.sidebar-collapsed .nav-group-toggle{display:flex;align-items:center;justify-content:center;min-height:46px;padding:8px!important;font-size:0!important}
  body.sidebar-collapsed .nav-module::before,body.sidebar-collapsed .nav-group-toggle::before{display:block;font-size:14px}
  body.sidebar-collapsed .nav-group-toggle>span,body.sidebar-collapsed .nav-group-items{display:none!important}
  body.sidebar-collapsed .module-nav button{position:relative}
  body.sidebar-collapsed .module-nav button:hover::after{content:attr(title);position:fixed;left:78px;z-index:20;background:#241f1c;color:#fff;border-radius:8px;padding:7px 9px;font-size:12px;line-height:1.2;white-space:nowrap;box-shadow:0 5px 18px #0004}
}


/* Purchase Plan editable draft */
.pp-edit-input{width:104px;min-width:88px;min-height:34px;padding:5px 7px;text-align:right}
.pp-order-wrap{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pp-update-last-price{margin:0 auto 0 0;padding:6px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.pp-update-last-price span{display:flex;flex-direction:column;gap:1px}
.pp-update-last-price small{font-weight:400;color:#667085}
@media(max-width:720px){.pp-edit-input{width:88px}.pp-update-last-price{width:100%;margin-bottom:6px}}


/* BLI_HOUSEKEEPING_STATUS_CONTRAST_V1 - stronger but still clean Ready / Occupied visual states */
.hk-card.ready{
  border:2px solid #2e7d32;
  border-left:7px solid #2e7d32;
  background:#eff8f1;
  box-shadow:0 1px 4px rgba(46,125,50,.14);
}
.hk-card.ready strong{color:#1b5e20}
.hk-card.ready .hk-room-head span{
  color:#fff;
  background:#2e7d32;
  padding:3px 8px;
  border-radius:999px;
  font-weight:800;
  line-height:1.2;
}
.hk-card.occupied{
  border:2px solid #a83232;
  border-left:7px solid #a83232;
  background:#fff1f1;
  box-shadow:0 1px 4px rgba(168,50,50,.14);
}
.hk-card.occupied strong{color:#8e2525}
.hk-card.occupied .hk-room-head span{
  color:#fff;
  background:#a83232;
  padding:3px 8px;
  border-radius:999px;
  font-weight:800;
  line-height:1.2;
}


/* BLI_ROOM_STATUS_CONSISTENCY_V1 - Room Status follows the same mature visual language as Housekeeping */
.status-card.ready{
  border:2px solid #2e7d32;
  border-left:7px solid #2e7d32;
  background:#eff8f1;
  box-shadow:0 1px 4px rgba(46,125,50,.14);
}
.status-card.ready strong{color:#1b5e20}
.status-card.ready .hk-room-head span{
  color:#fff;
  background:#2e7d32;
  padding:3px 8px;
  border-radius:999px;
  font-weight:800;
  line-height:1.2;
}
.status-card.occupied{
  border:2px solid #a83232;
  border-left:7px solid #a83232;
  background:#fff1f1;
  box-shadow:0 1px 4px rgba(168,50,50,.14);
}
.status-card.occupied strong{color:#8e2525}
.status-card.occupied .hk-room-head span{
  color:#fff;
  background:#a83232;
  padding:3px 8px;
  border-radius:999px;
  font-weight:800;
  line-height:1.2;
}

/* BLI_RUNTIME_VERSION_BADGE_V2: runtime version + successful deployment time for monitoring. */
.top-runtime-version{font-weight:800;white-space:nowrap}
.nav-runtime-version{display:none}
@media (min-width:1101px){
  .nav-runtime-version{display:block;margin-top:auto;padding:12px 14px 4px;border-top:1px solid #ffffff1f;color:#f7f1ea;line-height:1.35}
  .nav-runtime-version span,.nav-runtime-version strong,.nav-runtime-version small{display:block}
  .nav-runtime-version span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
  .nav-runtime-version strong{margin-top:3px;font-size:12px}
  .nav-runtime-version .nav-runtime-updated{margin-top:4px;font-size:10px;opacity:.78}
  .nav-runtime-version .nav-runtime-commit{margin-top:2px;font-size:9px;opacity:.45;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
}

/* BLI_AUTO_CHECKIN_SOURCE_V1: source is determined by workflow, not by operator selection. */
.checkin-source-display{display:flex;flex-direction:column;gap:7px;justify-content:flex-end}
.checkin-source-display>span{font-size:.88rem;font-weight:700}
.checkin-source-display>strong{display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:9px;background:#f9fafb;color:#344054;font-size:14px}

/* BLI_SIMPLE_FRONTDESK_FLOW_V1: simple front desk — Walk-in default, one-click OTA, paid Direct Booking only. */
.checkin-source-inline{display:flex;align-items:center;gap:8px}
.checkin-source-inline>strong{flex:1;display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:9px;background:#f9fafb;color:#344054;font-size:14px}
.checkin-ota-quick{min-height:42px;white-space:nowrap;padding:8px 11px}
.checkin-ota-quick.active{border-color:#9f001d;color:#9f001d;background:#fff4f5}

/* BLI_BANK_RECON_TRACE_FILTERS_V2 */
.bank-recon-filter-head{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:10px;border:1px solid #e4e7ec;border-radius:12px;background:#fafafa}.bank-recon-filter-title{display:flex;flex-direction:column;gap:2px;margin-right:auto;min-width:160px}.bank-recon-filter-title small{font-size:12px;opacity:.7}.bank-recon-filter-head label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700}.bank-recon-filter-head select{min-width:140px;padding:8px 30px 8px 10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;font:inherit}@media(max-width:720px){.bank-recon-filter-title{width:100%;margin-right:0}.bank-recon-filter-head label{flex:1 1 120px}.bank-recon-filter-head select{width:100%;min-width:0}}

/* BLI_BANK_RECON_INLINE_FILTERS_V1 */
.recon-th-label{display:block;margin-bottom:4px}.recon-th-filter{width:100%;min-width:92px;max-width:150px;padding:5px 24px 5px 7px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;font:inherit;font-size:12px;font-weight:600}.bank-recon-table-scroll thead th{vertical-align:bottom}.bank-recon-table-scroll thead th:nth-child(3),.bank-recon-table-scroll thead th:nth-child(5),.bank-recon-table-scroll thead th:nth-child(9){padding-top:7px;padding-bottom:7px}@media(max-width:720px){.recon-th-filter{min-width:82px;max-width:120px}}

/* BLI_BANK_RECON_ACCOUNT_SUMMARY_V1 */
.bank-account-summary{margin:10px 0 12px}.bank-account-summary-head{display:flex;align-items:baseline;gap:10px;padding:0 4px 7px}.bank-account-summary .table-wrap{margin:0}.bank-account-summary table{font-size:12px}.bank-account-summary th,.bank-account-summary td{white-space:nowrap}.bank-summary-total{background:#f6f7f8}.bank-summary-total td{border-top:2px solid #d9dde3}@media(max-width:900px){.bank-account-summary{overflow-x:auto}.bank-account-summary .table-wrap{min-width:880px}}

/* BLI_ADMIN_PROCUREMENT_SIDEBAR_DEDUP_V2 */
body:has(.app-shell[data-role="admin"]) .module-nav .nav-group-items [data-module="directpurchase"],
body:has(.app-shell[data-role="admin"]) .module-nav .nav-group-items [data-module="receiving"],
body:has(.app-shell[data-role="admin"]) .module-nav .nav-group-items [data-module="payment"]{display:none!important}

/* BLI_ROOM_STATUS_OPS_WRAP_V2: secondary room context may ellipsis; operational notice must stay readable. */
.hk-card>.hk-meta-line{display:block;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.hk-card>.hk-ops-line{display:block;max-width:100%;min-width:0;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.2}
.hk-card.maintenance>.hk-meta-line{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.hk-card.maintenance>.hk-ops-line{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}

/* BLI_BANK_CONTROL_AUTO_PERIOD_V1 */
.bank-control-auto-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:10px 12px;border:1px solid #e3e6e8;border-radius:12px;background:#fff}.bank-control-auto-period>div{font-size:13px}.bank-control-auto-period span{color:#6b7280}.bank-control-auto-period button{white-space:nowrap}.bank-recon-period[hidden]{display:none!important}@media(max-width:720px){.bank-control-auto-period{align-items:flex-start;flex-direction:column}.bank-control-auto-period button{width:100%}}

/* BLI_BANK_BALANCE_FRESHNESS_V1 */
.bank-balance-control{margin:10px 0 12px;border:1px solid #d9dee5;border-radius:14px;background:#fff;padding:12px}.bank-balance-control.ok{border-color:#a9d8b8;background:#f6fbf7}.bank-balance-control.wait{border-color:#e6cf95;background:#fffaf0}.bank-balance-control.bad{border-color:#e7b0ae;background:#fff7f6}.bank-balance-status{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.bank-balance-status>div:first-child{display:grid;gap:2px}.bank-balance-status span,.bank-balance-grid span,.bank-balance-sync span{font-size:11px;color:#667085}.bank-balance-status>div:first-child>strong{font-size:20px;line-height:1.15}.bank-balance-status small{font-size:12px;color:#475467}.bank-balance-sync{text-align:right;display:grid;gap:2px}.bank-balance-sync strong{font-size:12px}.bank-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.bank-balance-grid>div{background:rgba(255,255,255,.78);border:1px solid rgba(208,213,221,.85);border-radius:10px;padding:8px 9px;display:grid;gap:2px}.bank-balance-grid strong{font-size:14px}.bank-recon-account small{display:block;font-size:9px;color:#667085}.bank-recon-account.stale,.bank-recon-account.unknown{background:#fff8e8;border-color:#ead59d}.bank-recon-account.not_connected{background:#fff6f6;border-color:#f0d8d8}@media(max-width:760px){.bank-balance-status{flex-direction:column}.bank-balance-sync{text-align:left}.bank-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* BLI_BANK_RECON_OPTIMAL_V2 */
.bank-opt-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap}.bank-opt-pill.ok{background:#eaf7ee;color:#176b3a}.bank-opt-pill.review{background:#fff2cc;color:#7a5200}.bank-opt-pill.delay{background:#eef1f5;color:#475467}.bank-opt-account-row{cursor:pointer}.bank-opt-account-row:hover,.bank-opt-account-row.selected{background:#f4f6f8}.bank-opt-accounts .bank-account-summary-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.bank-opt-accounts .bank-account-summary-head>div{display:grid;gap:2px}.bank-opt-mini{display:flex;gap:8px;margin-top:10px}.bank-opt-mini>span{min-width:120px;padding:7px 10px;border:1px solid rgba(208,213,221,.85);border-radius:10px;background:rgba(255,255,255,.78);display:flex;align-items:center;justify-content:space-between;gap:12px}.bank-opt-mini b{font-size:11px;color:#667085}.bank-opt-mini strong{font-size:14px}.bank-opt-action{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:5px;align-items:center;min-width:250px}.bank-opt-action small{grid-column:1/-1}.bank-opt-empty{padding:18px;border:1px dashed #d0d5dd;border-radius:10px;color:#667085;text-align:center}.bank-opt-matched{margin-top:10px;padding:8px 0}.bank-opt-matched summary{cursor:pointer;font-weight:700;color:#475467}@media(max-width:760px){.bank-opt-accounts .bank-account-summary-head{align-items:flex-start;flex-direction:column}.bank-opt-mini{width:100%;flex-direction:column}.bank-opt-mini>span{width:100%}.bank-opt-action{min-width:0;grid-template-columns:1fr}.bank-opt-action small{grid-column:1}.bank-recon-table-scroll{overflow-x:auto}}

/* BLI_BANK_BALANCE_MONITOR_V3_UI */
.bank-opt-total-balance{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:5px}.bank-opt-total-balance b{font-size:11px;color:#667085}.bank-opt-total-balance strong{font-size:17px}.bank-opt-total-balance small{flex-basis:100%;font-size:10px}.bank-balance-last-known{font-size:9px;margin-top:2px;white-space:nowrap}

/* BLI_BANK_TRANSACTIONS_FEED_MONITOR_V5 */
.bank-transactions-panel{max-height:none!important;overflow:visible!important}.bank-feed-monitor{margin:0 0 12px;padding:12px;border:1px solid #e0e5eb;border-radius:14px;background:#fff}.bank-feed-monitor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.bank-feed-monitor-head>div{display:grid;gap:2px}.bank-feed-monitor-head strong{font-size:13px}.bank-feed-monitor-head span{font-size:11px;color:#667085}.bank-feed-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.bank-feed-card{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:10px;border:1px solid #dfe4ea;border-radius:11px;background:#fafbfc}.bank-feed-card>strong{font-size:13px}.bank-feed-card>b{font-size:10px;align-self:start}.bank-feed-card>small{grid-column:1/-1;font-size:10px;color:#667085}.bank-feed-card.ok{border-color:#b8dec4;background:#f7fbf8}.bank-feed-card.ok>b{color:#176b3a}.bank-feed-card.delay{border-color:#e8d39d;background:#fffaf0}.bank-feed-card.delay>b{color:#7a5200}.bank-feed-card.error{border-color:#efc2bf;background:#fff7f6}.bank-feed-card.error>b{color:#b42318}.bank-txn-table-wrap{overflow-x:auto;border:1px solid #e2e6eb;border-radius:12px}.bank-txn-table-wrap table{margin:0}.bank-txn-category{display:inline-block;padding:4px 8px;border-radius:999px;background:#f3f4f6;font-size:11px;white-space:nowrap}.bank-txn-sort-th{padding:0!important}.bank-txn-sort{width:100%;min-height:40px;border:0;background:transparent;padding:9px 12px;display:flex;align-items:center;justify-content:flex-start;gap:7px;font:inherit;font-weight:700;color:inherit;cursor:pointer;text-align:left}.bank-txn-sort-th.amount .bank-txn-sort{justify-content:flex-end;text-align:right}.bank-txn-sort b{font-size:13px;line-height:1;color:#98a2b3}.bank-txn-sort.active b{color:#344054}.bank-txn-sort:hover{background:#f8fafc}.bank-txn-sort:focus-visible{outline:2px solid #98a2b3;outline-offset:-2px}.bank-txn-filter-row th{padding:6px 8px!important;background:#fafbfc;border-top:1px solid #e7e9ee;vertical-align:middle}.bank-txn-filter-row input,.bank-txn-filter-row select{width:100%;min-width:0;min-height:32px;height:32px;padding:5px 8px;font-size:11px;border-radius:8px}.bank-txn-filter-row th:nth-child(2){min-width:132px}.bank-txn-filter-row th:nth-child(3){min-width:230px}.bank-txn-filter-row th:nth-child(4){min-width:94px}.bank-txn-filter-row .bank-txn-clear{width:100%;min-height:32px;height:32px;padding:5px 9px;font-size:11px}.bank-txn-filter-row th:empty{min-width:58px}@media(max-width:820px){.bank-feed-monitor-head{flex-direction:column}.bank-feed-monitor-head button{width:100%}.bank-txn-filter-row input,.bank-txn-filter-row select,.bank-txn-filter-row .bank-txn-clear{min-width:105px}}@media(max-width:520px){.bank-feed-monitor{padding:10px}}

/* BLI_BANK_RECON_INLINE_REVIEW_V1 */
.bank-inline-review-row>td{padding:0!important;border-top:0!important}.bank-inline-review{margin:0 8px 10px;padding:12px;border:1px solid #dfe4ea;border-radius:12px;background:#fafbfc}.bank-inline-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.bank-inline-review-head>div{display:grid;gap:2px}.bank-inline-review-head strong{font-size:13px}.bank-inline-review-head span{font-size:11px;color:#667085}.bank-inline-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bank-inline-review-grid>div{display:grid;gap:3px;padding:9px;border:1px solid #e5e7eb;border-radius:9px;background:#fff;min-width:0}.bank-inline-review-grid>div.wide{grid-column:span 2}.bank-inline-review-grid span{font-size:10px;color:#667085}.bank-inline-review-grid strong{font-size:12px;overflow-wrap:anywhere}.bank-inline-review-grid small{font-size:10px}@media(max-width:820px){.bank-inline-review-head{flex-direction:column}.bank-inline-review-head button{width:100%}.bank-inline-review-grid{grid-template-columns:1fr 1fr}.bank-inline-review-grid>div.wide{grid-column:1/-1}}@media(max-width:520px){.bank-inline-review-grid{grid-template-columns:1fr}.bank-inline-review-grid>div.wide{grid-column:auto}}

/* BLI_CHECKOUT_QUEUE_LITE_V1 / BLI_CHECKOUT_QUEUE_COMPACT_V1 */
.checkout-status{white-space:nowrap;font-weight:700}.checkout-status.late{background:#fff1f0;color:#b42318;border-color:#f2c5c2}.checkout-status.today{background:#fff7e6;color:#8a5a00;border-color:#efd8a5}.checkout-status.house{background:#f4f6f8;color:#475467;border-color:#d9dee5}.checkout-row-late{background:#fffafa}.checkout-actions{white-space:nowrap}.checkout-actions .checkout-btn{font-weight:700}.checkout-queue-summary{display:flex;align-items:center;gap:7px;margin:7px 0 9px;min-height:30px}.checkout-queue-summary>strong{font-size:16px;margin-right:3px}.checkout-count{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d9dee5;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;background:#f7f8fa;color:#475467}.checkout-count.late{background:#fff1f0;color:#b42318;border-color:#f2c5c2}.checkout-count.today{background:#fff7e6;color:#8a5a00;border-color:#efd8a5}.checkout-count.house{background:#f4f6f8;color:#475467}.checkout-queue-scroll{max-height:calc(100vh - 285px);min-height:300px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:12px}.checkout-queue-scroll table{margin:0}.checkout-queue-scroll thead th{position:sticky;top:0;z-index:3;background:#f7f8fa;box-shadow:0 1px 0 #e5e7eb}.checkout-queue-scroll td,.checkout-queue-scroll th{padding-top:8px;padding-bottom:8px}@media(max-width:900px){.checkout-actions{white-space:normal}.checkout-actions button{margin:2px 0}.checkout-queue-scroll{max-height:none;min-height:0;overflow-x:auto;overflow-y:visible}.checkout-queue-scroll thead th{position:static}.checkout-queue-summary{flex-wrap:wrap}}

/* BLI_CASH_DEPOSIT_SIMPLE_AUTO_V1 */
.cash-deposit-simple{display:grid;gap:12px;max-width:760px}.cash-deposit-hero{border:1px solid #e4e7ec;border-radius:16px;padding:18px;background:#fff;display:grid;gap:4px}.cash-deposit-hero>span{font-size:12px;font-weight:800;letter-spacing:.05em;color:#667085}.cash-deposit-hero>strong{font-size:34px;line-height:1.05}.cash-deposit-hero>small{font-size:12px;color:#667085}.cash-deposit-hero.ok{background:#f4fbf6;border-color:#b7dfc4}.cash-deposit-hero.wait{background:#fffaf0;border-color:#ead59d}.cash-deposit-hero.bad{background:#fff7f6;border-color:#e7b0ae}.cash-deposit-period{padding:0 2px}.cash-deposit-account{border:1px solid #e4e7ec;border-radius:14px;background:#fff;padding:14px;display:grid;gap:2px}.cash-deposit-account>span{font-size:11px;color:#667085;font-weight:800;letter-spacing:.04em}.cash-deposit-account>strong{font-size:17px}.cash-deposit-account>b{font-size:15px}.cash-deposit-account>small{font-size:12px;color:#667085}.cash-deposit-status{border-radius:999px;padding:7px 11px;width:max-content;font-size:12px}.cash-deposit-status.ok{background:#eaf7ee;color:#176b3a}.cash-deposit-status.wait{background:#fff2cc;color:#7a5200}.cash-deposit-status.bad{background:#fdecec;color:#9f1c1c}.cash-deposit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cash-deposit-grid>div{border:1px solid #e4e7ec;border-radius:12px;background:#fff;padding:12px;display:grid;gap:4px}.cash-deposit-grid span{font-size:11px;color:#667085}.cash-deposit-grid strong{font-size:17px}.cash-deposit-remaining strong{font-size:20px}.cash-deposit-note{font-size:12px;line-height:1.5;color:#475467;background:#f8fafc;border-radius:10px;padding:10px 12px}.cash-deposit-proof-ok{border:1px solid #b7dfc4;background:#f4fbf6;border-radius:12px;padding:11px 12px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cash-deposit-proof-ok span{font-size:12px;color:#667085}.cash-deposit-proof-ok a{margin-left:auto;font-size:12px;font-weight:700}.cash-deposit-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cash-deposit-upload label{cursor:pointer}.cash-deposit-upload small{color:#667085;font-size:11px;flex:1;min-width:220px}@media(max-width:680px){.cash-deposit-hero>strong{font-size:29px}.cash-deposit-grid{grid-template-columns:1fr}.cash-deposit-proof-ok a{margin-left:0}.cash-deposit-upload{align-items:flex-start;flex-direction:column}}

/* BLI_CASH_DEPOSIT_PAGE_POLISH_V2 */
.cash-deposit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-deposit-upload{padding:2px 0}.cash-deposit-period{font-size:13px}.cash-deposit-status{margin-top:1px}@media(max-width:680px){.cash-deposit-grid{grid-template-columns:1fr}}

/* BLI_INVENTORY_OPS_LITE_V1 */
.inventory-estimate strong{display:block}.inventory-estimate small,.inventory-audit{display:block;margin-top:3px;font-size:11px;line-height:1.3;color:#746c66;white-space:nowrap}.inventory-audit-error{color:#8d2525;font-weight:800}.inventory-qty[aria-invalid="true"]{border-color:#b51f27;box-shadow:0 0 0 2px #f1c3c5}

/* BLI_INVENTORY_COUNT_SIMPLE_DEADLINE_V1 */
.inventory-overdue{color:#b42318!important;font-weight:800}

/* BLI_INVENTORY_MONTH_END_FINAL_V1 */
.inventory-progress-main,.inventory-deadline-note{display:block}.inventory-deadline-note{margin-top:2px;font-size:11px;line-height:1.25;font-weight:600;color:#756b62}.inventory-overdue .inventory-progress-main{color:#b42318}.inventory-overdue .inventory-deadline-note{color:#8a514c}.inventory-preclose th:nth-child(n+3),.inventory-preclose td:nth-child(n+3){display:none}.inventory-closed input,.inventory-closed textarea{display:none!important}.inventory-readonly-value{display:inline-block;min-width:32px;font-weight:700;color:#2f2925}.inventory-closed td:nth-child(3){text-align:center}.inventory-closed td:nth-child(4) .inventory-readonly-value{font-weight:500;color:#756b62}

/* BLI_BANK_RECON_EXCEPTION_TABLE_LITE_V1 */
.bank-recon-reference{font-size:12px;overflow-wrap:anywhere}.bank-recon-description{max-width:440px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-recon-note-input{width:100%;min-width:180px;max-width:320px;padding:7px 9px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;font:inherit;font-size:12px}.bank-recon-note-input:focus{outline:2px solid rgba(56,94,131,.18);border-color:#667085}.bank-recon-note-input.is-saved{border-color:#6aa27a;background:#f4fbf6}.bank-recon-note-input:disabled{opacity:.7}.bank-recon-waiting{margin:0 0 10px}.bank-recon-waiting summary{cursor:pointer;font-weight:800;color:#7a5200;padding:8px 10px;border:1px solid #f0df9b;border-radius:9px;background:#fff9df}.bank-recon-waiting .table-wrap{margin-top:6px}.bank-waiting-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff2cc;color:#7a5200;font-size:11px;font-weight:800;white-space:nowrap}@media(max-width:760px){.bank-recon-description{max-width:280px}.bank-recon-note-input{min-width:150px}}

/* BLI_WHACENTER_MULTI_OUTLET_V1_CSS */
.wa-outlet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 12px}
.wa-outlet-card{border:1px solid #e4e7ec;border-radius:12px;padding:12px;background:#fafafa;min-width:0}
.wa-outlet-card .integration-head{margin-bottom:8px}.wa-outlet-card .integration-head h3{margin:2px 0 0;font-size:16px}.wa-outlet-card .integration-meta{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:8px}
.wa-test-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:end;margin-top:8px}.wa-test-row label{min-width:0}.wa-test-row input{width:100%}
.wa-outlet-card .integration-secret-row{grid-template-columns:minmax(180px,1fr) auto auto}.wa-outlet-card .integration-token-saved{margin:7px 0}
@media(max-width:900px){.wa-outlet-grid{grid-template-columns:1fr}.wa-test-row{grid-template-columns:1fr}.wa-test-row button{width:100%}.wa-outlet-card .integration-secret-row{grid-template-columns:1fr}.wa-outlet-card .integration-secret-row label{grid-column:auto}}

/* BLI_WHACENTER_RESILIENCE_LITE_V3 */
.wa-table-wrap{overflow:auto;border:1px solid #e4e7ec;border-radius:12px;margin:8px 0 10px}.wa-integration-table{width:100%;min-width:900px;border-collapse:collapse}.wa-integration-table th{background:#f9fafb;color:#475467;font-size:11px;text-align:left;padding:9px 10px;border-bottom:1px solid #e4e7ec;white-space:nowrap}.wa-integration-table td{padding:9px 10px;border-bottom:1px solid #eaecf0;font-size:12px;vertical-align:middle}.wa-integration-table td small{display:block;color:#667085;margin-top:2px;font-size:10px;max-width:280px}.wa-row-actions{display:flex;gap:5px;white-space:nowrap}.wa-row-actions button{padding:7px 9px;font-size:11px}.wa-editor-row td{background:#fcfcfd}.wa-editor{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:7px;align-items:end}.wa-editor input{width:100%}.wa-editor>small{grid-column:1/-1;color:#b54708}.wa-troubleshoot{border-top:1px solid #eaecf0;margin-top:9px;padding-top:8px;font-size:11px;color:#475467}.wa-troubleshoot summary{cursor:pointer;font-weight:800}.wa-troubleshoot div{margin-top:7px;line-height:1.45}#waIntegrationMessage:not(:empty){margin:6px 0 8px;padding:7px 9px;border-radius:8px;background:#f9fafb}#waIntegrationMessage.success{background:#ecfdf3}#waIntegrationMessage.error{background:#fef3f2}
@media(max-width:700px){.wa-editor{grid-template-columns:1fr}.wa-editor>small{grid-column:auto}.wa-integration-table th,.wa-integration-table td{padding:8px}}


/* BLI_OTA_TAB_TITLE_LITE_V1: OTA tab already has its own "OTA Payment Evidence" heading, so hide the redundant focused-view title only on this tab. */
.front-office-tabs:has([data-front-office-view="otapayment"].active) + .front-office-view-title{display:none}


/* BLI_CHECKIN_LAYOUT_STABLE_V1 */
@media(min-width:901px){
  .checkin-form .form-grid{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:12px;row-gap:12px;align-items:start}
  .checkin-form #lastGuestBtn{grid-column:5!important;grid-row:1!important;justify-self:start!important;align-self:end!important;width:auto!important;min-width:0!important;min-height:28px!important;padding:5px 9px!important;margin:0 0 2px 0!important;font-size:11px!important;border-radius:8px!important}
  .checkin-form label.check:has(input[name="ageConfirmed"]){grid-column:5!important;grid-row:1!important;justify-self:start!important;align-self:start!important;margin:0!important;padding:0!important;min-height:22px!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;font-size:12px!important;white-space:nowrap!important}
  .checkin-form label.check:has(input[name="ageConfirmed"]) input{width:16px!important;height:16px!important;margin:0!important;padding:0!important;flex:0 0 16px!important}
  .checkin-form label:has(select[name="roomNumber"]){grid-column:1!important;grid-row:2!important}
  .checkin-form label:has(input[name="checkInDate"]){grid-column:2!important;grid-row:2!important}
  .checkin-form label:has(input[name="checkOutDate"]){grid-column:3!important;grid-row:2!important}
  .checkin-form label:has(#checkinRoomRateDisplay){grid-column:4!important;grid-row:2!important}
  .checkin-form label:has(select[name="rateModeUi"]){grid-column:5!important;grid-row:2!important;align-self:start!important}
  .checkin-form label:has(select[name="source"]){grid-column:1!important;grid-row:3!important}
  .checkin-form label:has(#checkinDepositDisplay){grid-column:2!important;grid-row:3!important}
  .checkin-form #checkinPaymentAmountLabel{grid-column:3!important;grid-row:3!important}
  .checkin-form #checkinPaymentMethodLabel{grid-column:4!important;grid-row:3!important}
  .checkin-form .full{grid-column:1/-1!important}
}
@media(max-width:900px){.checkin-form .form-grid>*{grid-column:auto!important;grid-row:auto!important}}
