
:root{
  /* Type scale. There were seven heavy weights in use -- 950, 900, 850, 800,
     780, 750, 700 -- and 86% of every weight declaration in this file was 700
     or heavier. When almost everything is bold nothing reads as emphasised,
     which is what made the portal look dated. Four weights now, by role, and
     nothing above 700. Size and colour carry the hierarchy; weight assists. */
  --w-body:400;--w-medium:500;--w-strong:600;--w-display:700;

  --navy:#12233F;--navy2:#1D3557;--gold:#C9A227;--paper:#F6F4EE;--card:#fff;
  --ink:#172033;--muted:#6B7280;--line:#DADDE4;--green:#18794E;--greenbg:#EAF7F0;
  --red:#B42318;--redbg:#FEF0ED;--amber:#9A5B00;--amberbg:#FFF5DC;--blue:#245C9A;
  --bluebg:#EAF2FB;--shadow:0 12px 30px rgba(18,35,63,.09);--radius:16px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit} button{cursor:pointer}
a{color:inherit}.app{min-height:100vh;display:grid;grid-template-columns:270px 1fr}
.sidebar{background:linear-gradient(180deg,var(--navy),#0c1830);color:#fff;padding:24px 18px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:12px;margin:0 6px 24px}.logo{width:44px;height:44px;border-radius:12px;border:2px solid rgba(255,255,255,.45);display:grid;place-items:center;color:var(--gold);font-weight:var(--w-display,700);font-size:19px}
.brand h1{font-size:17px;margin:0}.brand p{margin:2px 0 0;color:#cbd5e1;font-size:12px}
.navlabel{color:#91a0b8;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:20px 10px 8px}
nav button{width:100%;border:0;background:transparent;color:#dbe4f0;padding:11px 12px;border-radius:11px;text-align:left;margin:3px 0;display:flex;gap:10px;align-items:center}
nav button:hover,nav button.on{background:rgba(255,255,255,.10);color:#fff}.ico{width:22px;text-align:center;color:#e8cf73}
.sidebox{margin-top:24px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.05);font-size:12px;color:#d9e2ef}
.main{min-width:0}.topbar{position:sticky;top:0;z-index:20;background:rgba(246,244,238,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:14px 24px;display:flex;gap:14px;align-items:center;justify-content:space-between}
.top-left{display:flex;align-items:center;gap:12px}.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 11px}.title h2{margin:0;font-size:20px}.title p{margin:2px 0 0;color:var(--muted);font-size:12px}
.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.langbar{display:flex;background:#fff;border:1px solid var(--line);border-radius:11px;padding:3px}
.langbar button{border:0;background:transparent;padding:7px 9px;border-radius:8px;font-size:12px}.langbar button.on{background:var(--navy);color:#fff}
.btn{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 12px;border-radius:10px;font-weight:var(--w-strong,600);font-size:13px}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:#15223b}.btn.danger{color:var(--red);border-color:#efb5af}
.content{padding:24px;max-width:1500px;margin:auto}.view{display:none}.view.on{display:block}
.hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.hero h2{margin:0 0 6px;font-size:25px}.hero p{margin:0;color:var(--muted);max-width:760px}
.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin:16px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.kpi .num{font-size:28px;font-weight:var(--w-display,700);color:var(--navy);margin-top:6px}.kpi .lab{font-size:12px;color:var(--muted);line-height:1.35}
.two{grid-template-columns:1.2fr .8fr}.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
@media(max-width:820px){.section-head>div:has(>.btn){flex-wrap:wrap!important}.section-head>div>.btn{width:auto!important;flex:0 1 auto!important;min-width:fit-content!important}}.section-head h3{margin:0;font-size:16px}.section-head p{margin:2px 0 0;color:var(--muted);font-size:12px}
.property{border-left:5px solid var(--gold)}.property h3{margin:0 0 3px}.property .meta{color:var(--muted);font-size:12px}.minirow{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.mini{font-size:12px}.mini strong{display:block;font-size:18px;color:var(--navy)}
.quicklinks{display:flex;gap:10px;flex-wrap:wrap}.quicklink{flex:1 1 240px;border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.quicklink h4{margin:0 0 5px}.quicklink p{font-size:12px;color:var(--muted);margin:0 0 12px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.formgrid.threecol{grid-template-columns:repeat(3,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:var(--w-strong,600);color:#364152}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{width:100%;border:1px solid #cfd4dc;background:#fff;border-radius:10px;padding:10px 11px;color:var(--ink)} textarea{min-height:94px;resize:vertical}
.hint{font-size:11px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:16px 0}
.photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.thumb{width:88px;height:70px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#eee;position:relative}.thumb img{width:100%;height:100%;object-fit:cover}.thumb button{position:absolute;right:3px;top:3px;border:0;border-radius:50%;width:22px;height:22px;background:rgba(0,0,0,.68);color:#fff}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:var(--w-strong,600)}.due{background:var(--amberbg);color:var(--amber)}.overdue{background:var(--redbg);color:var(--red)}.progress{background:var(--bluebg);color:var(--blue)}.done{background:var(--greenbg);color:var(--green)}.open{background:#f1efff;color:#6046a8}.low{background:#eff3f8;color:#596579}.high{background:var(--redbg);color:var(--red)}.medium{background:var(--amberbg);color:var(--amber)}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;background:#fff;font-size:12px}th,td{padding:11px 12px;border-bottom:1px solid #eceef2;text-align:left;vertical-align:top}th{background:#f7f8fa;color:#475467;font-size:11px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}tr:last-child td{border-bottom:0}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}.smallbtn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:var(--w-strong,600)}
.checklist{display:grid;gap:8px}.checkrow{display:grid;grid-template-columns:minmax(240px,1fr) 150px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.checkrow label{font-size:12px}.checkrow select{padding:7px}
.alert{border:1px solid #f0d69a;background:#fff8e7;padding:11px 13px;border-radius:10px;font-size:12px;color:#79500b}.success{border-color:#a9d9bf;background:#eefaf3;color:#1e6847}
.comment{border-left:3px solid #d8dce5;padding:8px 10px;margin:8px 0;background:#fafbfc;border-radius:0 8px 8px 0}.comment .cm{font-size:12px}.comment .ct{font-size:10px;color:var(--muted);margin-top:4px}
.modal{position:fixed;inset:0;background:rgba(11,20,38,.62);display:none;z-index:100;padding:20px;overflow:auto}.modal.on{display:flex;align-items:flex-start;justify-content:center}.modalbox{width:min(920px,100%);background:var(--paper);border-radius:18px;padding:18px;margin:auto;box-shadow:0 25px 80px rgba(0,0,0,.28)}
.modalhead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.modalhead h3{margin:0}.close{border:0;background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 10px}
.empty{padding:26px;text-align:center;color:var(--muted);font-size:13px}.toast{position:fixed;right:20px;bottom:20px;z-index:200;background:#12233F;color:#fff;padding:11px 14px;border-radius:10px;box-shadow:var(--shadow);display:none;max-width:360px;font-size:12px}.toast.on{display:block}
.toolrow{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.toolrow .field{min-width:180px;flex:1}.statline{font-size:12px;color:var(--muted);margin-top:8px}
.public-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.public-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}
.mobilebar{display:none}
[data-lang-mode="en"] .es{display:none!important}[data-lang-mode="es"] .en{display:none!important}
@media(max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}.two,.three{grid-template-columns:1fr}.public-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){
 .app{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;top:0;z-index:80;width:270px;transition:.2s}.sidebar.open{left:0}.menu{display:inline-block}
 .content{padding:16px}.topbar{padding:11px 14px}.title p{display:none}.kpis{grid-template-columns:repeat(2,1fr)}.formgrid,.formgrid.threecol{grid-template-columns:1fr}
 .field.full{grid-column:auto}.checkrow{grid-template-columns:1fr}.public-list{grid-template-columns:1fr}.hero{display:block}.hero .quicklinks{margin-top:12px}.top-actions .property-filter{display:none}
}
@media print{.sidebar,.topbar,.no-print{display:none!important}.app{display:block}.content{padding:0}.card{box-shadow:none}}

.brand{display:block;margin:0 6px 24px}
.brand-logo-img{display:block;width:100%;max-width:215px;height:auto;background:#fff;border-radius:10px;padding:7px}
.brand p{margin:8px 0 0;color:#cbd5e1;font-size:11px}
.hotel-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 10px;font-size:12px;font-weight:var(--w-strong,600);max-width:280px}
.hotel-chip .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none}
.hotel-chip span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hotel-selector{position:fixed;inset:0;z-index:350;background:linear-gradient(145deg,#0b1830,#12233F 55%,#1d3c67);display:none;align-items:center;justify-content:center;padding:22px;overflow:auto}
.hotel-selector.on{display:flex}
.hotel-selector-inner{width:min(1040px,100%);color:#fff}
.selector-logo{display:block;width:min(390px,75vw);height:auto;margin:0 auto 18px;background:#fff;border-radius:14px;padding:9px}
.hotel-selector h1{text-align:center;font-size:30px;margin:5px 0 5px}
.hotel-selector .lead{text-align:center;color:#d6deea;max-width:720px;margin:0 auto 22px;font-size:14px}
.hotel-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hotel-option{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.075);color:#fff;border-radius:18px;padding:20px;text-align:left;min-height:205px;transition:.16s}
.hotel-option:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:#d6b64e}
.hotel-option .chain{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#ead47b;font-weight:var(--w-strong,600)}
.hotel-option h3{font-size:19px;line-height:1.2;margin:8px 0}
.hotel-option p{font-size:12px;line-height:1.45;color:#dbe4ef;margin:0 0 13px}
.hotel-option .room-count{display:inline-flex;background:rgba(255,255,255,.12);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:var(--w-strong,600);margin-bottom:12px}
.hotel-option .selectline{display:block;background:var(--gold);color:#17233a;font-size:12px;font-weight:var(--w-strong,600);border-radius:9px;padding:9px 10px;text-align:center}
.hotel-selector-footer{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:17px}
.hotel-selector-footer button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:10px;padding:9px 12px;font-weight:var(--w-strong,600)}
.master-badge{display:inline-flex;border-radius:999px;background:#edf4ff;color:#245c9a;padding:3px 7px;font-size:10px;font-weight:var(--w-strong,600)}
@media(max-width:780px){.hotel-options{grid-template-columns:1fr}.hotel-option{min-height:auto}.hotel-selector h1{font-size:24px}.brand-logo-img{max-width:205px}.hotel-chip{max-width:190px}}


.pm-source{display:flex;gap:10px;align-items:flex-start;background:#eef4fb;border:1px solid #cbd9eb;border-radius:12px;padding:12px 13px;margin-bottom:12px;font-size:12px;color:#294c75}
.pm-source strong{color:#173b65}
.pm-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.pm-progress{margin-left:auto;font-size:12px;font-weight:var(--w-strong,600);color:#475467}
.pmgroup{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;margin:9px 0}
.pmgroup>summary{list-style:none;display:flex;align-items:center;gap:9px;padding:12px 13px;background:#f7f8fa;cursor:pointer;font-weight:var(--w-strong,600);color:var(--navy);user-select:none}
.pmgroup>summary::-webkit-details-marker{display:none}
.pmgroup>summary:before{content:'›';font-size:22px;line-height:12px;transform:rotate(0deg);transition:.15s;color:var(--gold)}
.pmgroup[open]>summary:before{transform:rotate(90deg)}
.pmgroup-title{flex:1}.pmgroup-es{font-size:11px;color:#667085;font-weight:var(--w-strong,600);margin-left:4px}
.pmgroup-page{font-size:10px;background:#ede9d8;color:#705b18;border-radius:999px;padding:4px 7px;white-space:nowrap}
.pmgroup-count{font-size:10px;background:#eaf2fb;color:#245c9a;border-radius:999px;padding:4px 7px;white-space:nowrap}
.pmgroup-body{padding:8px}
.checkrow{transition:.12s}
.checkrow.deficiency{background:#fff2ef;border-color:#e6a49d}
.checkrow.corrected{background:#eef9f2;border-color:#a9d9bf}
.checkrow select{min-width:180px}
.pm-item-source{display:block;color:#98a2b3;font-size:9px;margin-top:3px}
@media(max-width:780px){
 .pmgroup>summary{align-items:flex-start}.pmgroup-page,.pmgroup-count{font-size:9px}
 .pm-progress{width:100%;margin-left:0}.checkrow select{min-width:0}
}


.pm-mark-wrap{display:flex;align-items:center;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.pm-mark{width:42px;height:36px;border:1px solid #cfd4dc;background:#fff;border-radius:9px;font-weight:var(--w-strong,600);font-size:16px;color:#475467;display:grid;place-items:center;padding:0}
.pm-mark:hover{border-color:#8f9bad}
.pm-mark.active[data-status="Needs Repair"]{background:#b42318;border-color:#b42318;color:#fff}
.pm-mark.active[data-status="Corrected"]{background:#18794e;border-color:#18794e;color:#fff}
.pm-mark.active[data-status="NA"]{background:#667085;border-color:#667085;color:#fff}
.pm-mark-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#596579;margin:7px 0 12px}
.pm-mark-legend b{display:inline-flex;min-width:24px;justify-content:center;color:#172033}
.pm-hotel-rule{margin-top:7px;font-weight:var(--w-strong,600);color:#173b65}
.checkrow{grid-template-columns:minmax(240px,1fr) auto}
@media(max-width:780px){
 .checkrow{grid-template-columns:1fr}
 .pm-mark-wrap{justify-content:flex-start}
 .pm-mark{width:48px;height:40px}
}


.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.team-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px}
.team-card h4{margin:0 0 4px}.team-card p{margin:0;color:var(--muted);font-size:11px}
.morning-member{border:1px solid var(--line);border-radius:14px;background:#fff;margin:12px 0;overflow:hidden}
.morning-member-head{padding:12px 14px;background:#f6f7f9;display:flex;justify-content:space-between;gap:10px;align-items:center}
.morning-member-head h3{margin:0;font-size:15px}.morning-member-body{padding:8px 12px}
.taskline{display:grid;grid-template-columns:34px 110px 1fr 120px auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #eceef2;font-size:12px}
.taskline:last-child{border-bottom:0}.taskline input[type="checkbox"]{width:18px;height:18px}
.tasktype{font-size:10px;font-weight:var(--w-strong,600);border-radius:999px;background:#eef2f6;padding:4px 7px;text-align:center}
.today-banner{border:1px solid #b8d7c5;background:#edf8f1;color:#235d3f;border-radius:12px;padding:12px 14px;margin-bottom:14px;font-size:12px}
@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr}.taskline{grid-template-columns:30px 90px 1fr}}
@media(max-width:620px){.team-grid{grid-template-columns:1fr}.taskline{grid-template-columns:28px 78px 1fr}.taskline .task-status,.taskline .task-action{grid-column:2/4}}


.inv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.inv-cat{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;cursor:pointer}.inv-cat h4{margin:0 0 5px}.inv-cat p{margin:0;color:var(--muted);font-size:11px}.inv-cat strong{display:block;font-size:23px;color:var(--navy);margin-top:10px}.inv-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.inv-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:var(--w-strong,600)}.inv-tab.on{background:var(--navy);color:#fff;border-color:var(--navy)}.inv-count-row{display:grid;grid-template-columns:minmax(180px,1.4fr) 90px 100px 100px;gap:8px;align-items:center;padding:10px;border-bottom:1px solid #edf0f3}.inv-count-row:last-child{border-bottom:0}.inv-item-name{font-weight:var(--w-strong,600);font-size:12px}.inv-item-meta{font-size:10px;color:var(--muted);margin-top:3px}.inv-count-row input{padding:8px}.reorder{background:var(--redbg);color:var(--red);font-weight:var(--w-strong,600);border-radius:8px;padding:5px 7px;font-size:10px;display:inline-block}.okstock{background:var(--greenbg);color:var(--green);font-weight:var(--w-strong,600);border-radius:8px;padding:5px 7px;font-size:10px;display:inline-block}@media(max-width:1000px){.inv-grid{grid-template-columns:repeat(2,1fr)}.inv-count-row{grid-template-columns:1fr 80px 90px}}@media(max-width:600px){.inv-grid{grid-template-columns:1fr}.inv-count-row{grid-template-columns:1fr 80px}.inv-count-row .hide-mobile{display:none}}

.public-inventory-shell{display:none;min-height:100vh;background:var(--paper);color:var(--ink)}
body.public-inventory-mode .app{display:none!important}
body.public-inventory-mode .hotel-selector{display:none!important}
body.public-inventory-mode .public-inventory-shell{display:block}
.public-inventory-header{background:linear-gradient(145deg,#0c1930,#12233F 60%,#1d3c67);padding:18px 16px;color:#fff}
.public-inventory-headinner{max-width:860px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.public-inventory-logo{width:245px;max-width:58vw;background:#fff;border-radius:10px;padding:6px}
.public-inventory-body{max-width:860px;margin:auto;padding:18px 14px 40px}
.public-inventory-title{margin:0 0 5px;font-size:24px}.public-inventory-sub{margin:0;color:#667085;font-size:12px}
.public-inventory-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}
.public-meta-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}
.public-meta-card small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.public-meta-card strong{display:block;margin-top:3px;font-size:12px}
.public-count-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.public-count-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #edf0f3}
.public-count-row:last-child{border-bottom:0}.public-count-row input{font-size:18px;font-weight:var(--w-strong,600);text-align:center;padding:10px}
.public-item-name{font-size:13px;font-weight:var(--w-strong,600)}.public-item-meta{font-size:10px;color:var(--muted);margin-top:3px}
.public-submitbar{position:sticky;bottom:0;background:rgba(246,244,238,.95);backdrop-filter:blur(8px);padding:11px 0;margin-top:14px;border-top:1px solid var(--line)}
.public-success{background:#fff;border:1px solid #a9d9bf;border-radius:16px;padding:28px;text-align:center}.public-success h2{color:var(--green)}
.link-preview{word-break:break-all;background:#f7f8fa;border:1px dashed #bcc4d0;border-radius:10px;padding:10px;font-size:11px;margin-top:9px}
.link-builder{border-left:5px solid var(--gold)}
.no-login-pill{display:inline-flex;background:#edf8f1;color:#18794e;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:var(--w-strong,600)}
@media(max-width:640px){
 .public-inventory-headinner{display:block}.public-inventory-header .langbar{margin-top:10px;width:max-content}
 .public-inventory-meta{grid-template-columns:1fr}.public-count-row{grid-template-columns:1fr 88px}.public-inventory-logo{max-width:75vw}
}


.public-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.public-category-choice{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-align:left;cursor:pointer;transition:.15s;min-height:150px}
.public-category-choice:hover{transform:translateY(-2px);border-color:#c8a938;box-shadow:0 10px 25px rgba(0,0,0,.07)}
.public-category-choice h3{margin:0 0 7px;color:var(--navy);font-size:18px}
.public-category-choice p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.public-category-choice .start{display:inline-block;margin-top:16px;background:var(--gold);color:#17233a;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:var(--w-strong,600)}
.public-back{margin-bottom:12px}
@media(max-width:680px){.public-category-grid{grid-template-columns:1fr}.public-category-choice{min-height:auto}}


/* ---- BrightPath 2026 clean operations theme ---- */
:root{
  --navy:#0F172A;--navy2:#1E293B;--gold:#F59E0B;--paper:#F6F8FB;--card:#FFFFFF;
  --ink:#172033;--muted:#64748B;--line:#E2E8F0;--green:#0F766E;--greenbg:#ECFDF5;
  --red:#B42318;--redbg:#FFF1F0;--amber:#A16207;--amberbg:#FFFBEB;--blue:#2563EB;
  --bluebg:#EFF6FF;--shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.05);--radius:14px;
}
body{background:linear-gradient(180deg,#F8FAFC 0,#F6F8FB 100%);color:var(--ink)}
.sidebar{background:linear-gradient(180deg,#0B1220 0%,#111C2F 100%);border-right:1px solid rgba(148,163,184,.13)}
.sidebar nav button{border:1px solid transparent;color:#D6DEE9;border-radius:10px}
.sidebar nav button:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar nav button.on{background:#FFFFFF;color:#0F172A;border-color:#E2E8F0;box-shadow:0 5px 18px rgba(0,0,0,.14)}
.sidebar nav button.on svg,.sidebar nav button.on span:first-child{color:#2563EB}
.topbar{background:rgba(248,250,252,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.9)}
.card{border:1px solid #E2E8F0;box-shadow:var(--shadow);border-radius:14px}
.hero{background:linear-gradient(135deg,#FFFFFF 0%,#F8FAFC 100%);border:1px solid #E2E8F0;border-radius:16px;padding:18px 20px;margin-bottom:14px}
.hero h2{letter-spacing:-.025em}
.btn{border-radius:9px;border-color:#D8E0EA;background:#fff}
.btn.primary{background:#2563EB;border-color:#2563EB;color:#fff}
.btn.primary:hover{background:#1D4ED8}
.btn.gold{background:#F59E0B;border-color:#F59E0B;color:#172033}
.smallbtn{border-radius:8px}
.kpi .num{letter-spacing:-.04em}
.tablewrap{border-radius:12px;border:1px solid #E2E8F0}
table th{background:#F8FAFC;color:#475569;font-weight:var(--w-strong,600)}
table td{border-color:#EDF1F5}
input,select,textarea{border-color:#D9E1EA;background:#fff;border-radius:9px}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(37,99,235,.12);border-color:#60A5FA}
.alert{border-radius:11px}
.badge{border-radius:999px}
.modern-section-icon{width:36px;height:36px;border-radius:10px;background:#EFF6FF;color:#2563EB;display:grid;place-items:center;font-weight:var(--w-strong,600)}
.safety-kpi{border-top:3px solid #2563EB}
.due-strip{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.doc-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #D8E0EA;border-radius:999px;padding:5px 8px;background:#fff;font-size:10px;font-weight:var(--w-strong,600);margin:2px}
.doc-pill:hover{border-color:#93C5FD;background:#EFF6FF}
.scope-pill{display:inline-flex;border-radius:999px;padding:4px 7px;font-size:10px;background:#F1F5F9;color:#475569;font-weight:var(--w-strong,600)}
.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.directory-card{border:1px solid #E2E8F0;border-radius:12px;background:#fff;padding:13px}
.directory-card h4{margin:0 0 4px}.directory-card p{font-size:11px;color:#64748B;margin:2px 0}
.doc-note{font-size:10px;color:#64748B;margin-top:7px}
.schedule-row-overdue{background:#FFF7F5}.schedule-row-due{background:#FFFCF1}
.file-drop{border:1px dashed #B8C5D5;background:#F8FAFC;border-radius:11px;padding:10px}
@media(max-width:900px){.directory-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.directory-grid{grid-template-columns:1fr}}


.ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ops-module{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;cursor:pointer;box-shadow:var(--shadow)}
.ops-module h4{margin:0 0 5px}.ops-module p{font-size:11px;color:var(--muted);margin:0}.ops-module strong{font-size:22px;display:block;margin-top:10px}
.shift-card{border-left:4px solid #2563EB}
.incident-high{border-left:4px solid #B42318}
.project-card{border-left:4px solid #7C3AED}
.po-card{border-left:4px solid #0F766E}
.doc-category{display:inline-flex;border-radius:999px;background:#F1F5F9;color:#475569;padding:4px 7px;font-size:10px;font-weight:var(--w-strong,600)}
.room-status-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.room-tile{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px;text-align:center;font-size:11px;cursor:pointer}
.room-tile b{display:block;font-size:14px}.room-tile.clean{background:#ECFDF5}.room-tile.dirty{background:#FFF7ED}.room-tile.inspect{background:#EFF6FF}.room-tile.ooo{background:#FFF1F0}
.approval-row{border:1px solid var(--line);border-radius:11px;padding:11px;margin:8px 0;background:#fff}
@media(max-width:1000px){.ops-grid{grid-template-columns:repeat(2,1fr)}.room-status-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:600px){.ops-grid{grid-template-columns:1fr}.room-status-grid{grid-template-columns:repeat(3,1fr)}}


.inspection-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.inspection-type-btn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;text-align:left;font-weight:var(--w-strong,600)}.inspection-type-btn.on{border-color:#60A5FA;background:#EFF6FF;color:#1D4ED8}
.daily-inspection-group{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:9px 0;background:#fff}.daily-inspection-group summary{cursor:pointer;background:#F8FAFC;padding:10px 12px;font-weight:var(--w-strong,600);color:var(--navy)}.daily-inspection-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:8px;align-items:center;padding:9px 11px;border-top:1px solid #EEF2F6}.daily-inspection-row.issue{background:#FFF5F3}.daily-inspection-row.fixed{background:#F0FDF4}.inspect-marks{display:flex;gap:6px}.inspect-mark{width:40px;height:34px;border:1px solid #CBD5E1;border-radius:8px;background:#fff;font-weight:var(--w-strong,600);font-size:16px}.inspect-mark.active[data-status="Issue"]{background:#B42318;color:#fff;border-color:#B42318}.inspect-mark.active[data-status="Fixed"]{background:#0F766E;color:#fff;border-color:#0F766E}.inspection-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#64748B;margin:8px 0 12px}.inspection-legend b{color:#172033}.inspection-source{font-size:11px;background:#F8FAFC;border:1px solid #E2E8F0;border-radius:10px;padding:10px;margin:10px 0;color:#475569}@media(max-width:650px){.inspection-type-grid{grid-template-columns:1fr}.daily-inspection-row{grid-template-columns:1fr}}


.public-inspection-shell{display:none;min-height:100vh;background:var(--paper);color:var(--ink)}
body.public-inspection-mode .app{display:none!important}
body.public-inspection-mode .hotel-selector{display:none!important}
body.public-inspection-mode .public-inventory-shell{display:none!important}
body.public-inspection-mode .public-inspection-shell{display:block}
.public-inspection-header{background:linear-gradient(145deg,#0B1220,#14213A 60%,#1D3C67);padding:18px 16px;color:#fff}
.public-inspection-headinner{max-width:880px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.public-inspection-logo{width:245px;max-width:58vw;background:#fff;border-radius:10px;padding:6px}
.public-inspection-body{max-width:880px;margin:auto;padding:18px 14px 44px}
.public-inspection-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.public-inspection-choice{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-align:left;cursor:pointer;min-height:165px;transition:.15s}
.public-inspection-choice:hover{transform:translateY(-2px);border-color:#93C5FD;box-shadow:0 10px 25px rgba(15,23,42,.07)}
.public-inspection-choice h3{margin:0 0 8px;color:var(--navy);font-size:19px}
.public-inspection-choice p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.public-inspection-choice .start{display:inline-block;margin-top:16px;background:#2563EB;color:#fff;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:var(--w-strong,600)}
.public-inspection-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
.public-inspection-meta .public-meta-card{background:#fff}
.public-inspection-checklist{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.public-inspection-group{border-bottom:1px solid var(--line)}
.public-inspection-group:last-child{border-bottom:0}
.public-inspection-group-title{padding:10px 12px;background:#F8FAFC;font-weight:var(--w-strong,600);color:var(--navy);font-size:12px}
.public-inspection-row{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-top:1px solid #EEF2F6}
.public-inspection-row.issue{background:#FFF5F3}.public-inspection-row.fixed{background:#F0FDF4}
.public-inspection-submit{position:sticky;bottom:0;background:rgba(246,248,251,.95);backdrop-filter:blur(8px);padding:11px 0;margin-top:14px;border-top:1px solid var(--line)}
.public-inspection-success{background:#fff;border:1px solid #A7F3D0;border-radius:16px;padding:28px;text-align:center}
.public-inspection-success h2{color:#0F766E}
.inspection-link-builder{border-left:5px solid #2563EB}
@media(max-width:680px){
 .public-inspection-headinner{display:block}.public-inspection-choice-grid{grid-template-columns:1fr}
 .public-inspection-meta{grid-template-columns:1fr}.public-inspection-row{grid-template-columns:1fr}
 .public-inspection-logo{max-width:75vw}
}


.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.settings-tab{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:var(--w-strong,600);cursor:pointer}
.settings-tab.on{background:#EFF6FF;border-color:#93C5FD;color:#1D4ED8}
.settings-pane{display:none}.settings-pane.on{display:block}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.settings-color{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:end}
.settings-color input[type=color]{height:42px;width:72px;padding:3px}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.module-toggle{border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;display:flex;gap:8px;align-items:center;font-size:11px;font-weight:var(--w-strong,600)}
.access-card,.settings-team-card{border:1px solid var(--line);border-radius:12px;padding:11px;background:#fff;margin:8px 0}
.access-card .row,.settings-team-card .row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.settings-status{font-size:11px;color:var(--muted)}
.bp-duty-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.bp-duty-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #CBD5E1;border-radius:999px;padding:6px 9px;background:#F8FAFC;font-size:11px;font-weight:var(--w-strong,600)}
.bp-duty-pill.on{background:#ECFDF5;border-color:#86D7AE;color:#11623C}
.bp-whatsapp-test{margin-top:14px;border-left:5px solid #22C55E}
.bp-whatsapp-send{display:inline-flex;align-items:center;gap:7px}
.whatsapp-icon{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#25D366;color:#fff;font-size:10px;font-weight:var(--w-strong,600);line-height:1;position:relative}
.whatsapp-icon:after{content:"";position:absolute;bottom:-2px;left:3px;border-width:3px 3px 0 0;border-style:solid;border-color:#25D366 transparent transparent transparent;transform:rotate(18deg)}
.cloud-pill{display:inline-flex;padding:4px 8px;border-radius:999px;background:#ECFDF5;color:#0F766E;font-weight:var(--w-strong,600);font-size:10px}
@media(max-width:800px){.settings-grid{grid-template-columns:1fr}.module-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.module-grid{grid-template-columns:1fr}.access-card .row,.settings-team-card .row{display:block}}


/* BrightPath secure management gate */
body:not(.bp-auth-ready):not(.public-inventory-mode):not(.public-inspection-mode):not(.public-employee-mode) .app,
body:not(.bp-auth-ready):not(.public-inventory-mode):not(.public-inspection-mode):not(.public-employee-mode) #hotelSelector,
body:not(.bp-auth-ready):not(.public-inventory-mode):not(.public-inspection-mode):not(.public-employee-mode) .bp-management-logout {
  display:none !important;
}
#bpAuthGate{display:none;position:fixed;inset:0;z-index:99999;width:100vw;height:100dvh;min-height:100vh;background:#fff;overflow:hidden}
body.bp-auth-login #bpAuthGate,body.bp-auth-checking #bpAuthGate{display:block}
body.bp-auth-ready #bpAuthGate{display:none!important}
body.bp-auth-login,body.bp-auth-checking{overflow:hidden}
/* Never paint unfiltered navigation while a signed-in role is being resolved. */
body.bp-auth-ready:not(.bp-nav-ready) .sidebar nav{visibility:hidden}

.bp-auth-shell{display:grid;grid-template-columns:58% 42%;width:100%;height:100%;min-height:0;background:#fff}
.bp-auth-art{position:relative;min-width:0;min-height:0;background:#0b1f3d url("brightpath-hotel-clean.jpg") center center/cover no-repeat}
.bp-auth-art:after{content:"";position:absolute;inset:0;box-shadow:inset -18px 0 32px rgba(7,24,47,.10);pointer-events:none}

.bp-auth-panel{position:relative;min-width:0;min-height:0;background:#fff;display:flex;align-items:center;justify-content:center;padding:72px clamp(34px,4vw,72px) 40px;overflow:auto}
.bp-auth-lang{position:absolute;right:28px;top:24px;z-index:3;display:flex;gap:4px;padding:4px;background:#F1F5F9;border:1px solid #D8E0E9;border-radius:999px}
.bp-auth-lang button{border:0;background:transparent;color:#64748B;border-radius:999px;padding:9px 16px;font-weight:var(--w-strong,600);cursor:pointer}
.bp-auth-lang button.on{background:#12233F;color:#fff;box-shadow:0 3px 10px rgba(18,35,63,.18)}

.bp-auth-card{max-width:540px;width:100%;background:#fff;border:0;border-radius:0;padding:10px 0;box-shadow:none;color:#12233F}
.bp-auth-card h1{margin:0 0 8px;color:#12233F;text-align:center;font-size:clamp(34px,3vw,48px);line-height:1.08;font-weight:var(--w-display,700);letter-spacing:-.02em}
.bp-auth-rule{text-align:center;color:#C89218;margin:5px 0 10px}
.bp-auth-kicker{text-align:center;color:#64748B;font-size:15px;margin-bottom:30px}
.bp-auth-card label{display:block;color:#1E293B;font-size:14px;font-weight:var(--w-strong,600);margin:0 0 7px}
.bp-auth-inputwrap{display:flex;align-items:center;gap:10px;min-height:60px;border:1px solid #CBD5E1;border-radius:12px;padding:0 15px;margin-bottom:18px;background:#fff}
.bp-auth-inputwrap:focus-within{border-color:#C9A227;box-shadow:0 0 0 3px rgba(201,162,39,.13)}
.bp-auth-inputwrap .ico{font-size:18px;color:#64748B}
.bp-auth-inputwrap input{width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;font-size:16px;color:#0F172A}
.bp-auth-eye{border:0;background:transparent;color:#475569;font-size:18px;cursor:pointer;padding:6px}
.bp-auth-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px;color:#64748B;font-size:13px}
.bp-auth-options label{display:flex;align-items:center;gap:7px;margin:0;font-size:13px;font-weight:var(--w-strong,600)}
.bp-auth-options input{width:auto}
.bp-auth-signin{width:100%;min-height:60px;border:0;border-radius:12px;background:#12233F;color:#fff;font-size:19px;font-weight:var(--w-strong,600);cursor:pointer;box-shadow:0 9px 22px rgba(18,35,63,.16)}
.bp-auth-signin:hover{background:#0B1B35}
.bp-auth-message{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px;padding:18px;border-radius:14px;background:#FFF8EA;border:1px solid #F0DEB3;color:#3F3F46;font-size:14px;line-height:1.4}
.bp-auth-message .people{font-size:30px}
.bp-auth-muted{color:#64748B;font-size:12px;line-height:1.5}

@media(max-width:1100px){
 .bp-auth-shell{grid-template-columns:55% 45%}
 .bp-auth-panel{padding-left:34px;padding-right:34px}
 .bp-auth-art{background-position:42% center}
}
@media(max-width:820px){
 #bpAuthGate{overflow:auto;background:#fff}
 body.bp-auth-login,body.bp-auth-checking{overflow:auto}
 .bp-auth-shell{display:block;min-height:100dvh;height:auto}
 .bp-auth-art{height:220px;min-height:220px;background-position:center 28%}
 .bp-auth-panel{min-height:calc(100dvh - 220px);padding:68px 22px 34px;align-items:flex-start}
 .bp-auth-lang{top:16px;right:18px}
 .bp-auth-card{max-width:540px}
 .bp-auth-card h1{font-size:32px}
}
@media(max-width:480px){
 .bp-auth-art{height:175px;min-height:175px}
 .bp-auth-panel{min-height:calc(100dvh - 175px);padding:64px 18px 28px}
 .bp-auth-lang{right:14px}
 .bp-auth-options{align-items:flex-start;flex-direction:column}
 .bp-auth-message{font-size:13px}
}


/* Employee mobile links + permission UI */
.public-employee-shell{display:none;min-height:100vh;background:#F4F7FB;color:#172033}
body.public-employee-mode .app,body.public-employee-mode .hotel-selector,body.public-employee-mode .public-inventory-shell,body.public-employee-mode .public-inspection-shell{display:none!important}
body.public-employee-mode .public-employee-shell{display:block}
.public-employee-head{background:linear-gradient(145deg,#0B1220,#14213A 60%,#1D3C67);padding:16px;color:#fff}
.public-employee-headin{max-width:760px;margin:auto;display:flex;gap:12px;align-items:center;justify-content:space-between}
.public-employee-logo{width:220px;max-width:58vw;background:#fff;border-radius:10px;padding:6px}
.public-employee-body{max-width:760px;margin:auto;padding:16px 13px 44px}
.employee-card{background:#fff;border:1px solid #E2E8F0;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(15,23,42,.07);margin-bottom:13px}
.employee-title{font-size:25px;margin:0 0 5px;color:#0F172A}.employee-sub{font-size:12px;color:#64748B;margin:0 0 14px}
.employee-step{font-size:11px;font-weight:var(--w-strong,600);text-transform:uppercase;letter-spacing:.06em;color:#2563EB;margin-bottom:5px}
.employee-big-input,.employee-card input,.employee-card textarea,.employee-card select{font-size:16px;min-height:48px}
.employee-card textarea{min-height:110px}.employee-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.employee-choice{border:2px solid #E2E8F0;background:#fff;border-radius:14px;padding:15px;font-weight:var(--w-strong,600);font-size:14px;cursor:pointer}.employee-choice.on{border-color:#2563EB;background:#EFF6FF;color:#1D4ED8}
.employee-photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.employee-photo-preview img{width:100px;height:82px;object-fit:cover;border-radius:10px;border:1px solid #CBD5E1}
.employee-submit{width:100%;min-height:54px;font-size:16px;font-weight:var(--w-strong,600)}.employee-success{text-align:center;padding:30px 18px}.employee-success .check{font-size:52px;color:#0F766E}
.passcode-card{max-width:460px;margin:55px auto 0}.passcode-card input{text-align:center;font-size:22px;letter-spacing:.12em}.passcode-card button{width:100%;min-height:52px;margin-top:10px}
.kpi-click{cursor:pointer;transition:.12s}.kpi-click:hover{transform:translateY(-2px);border-color:#93C5FD;box-shadow:0 10px 24px rgba(15,23,42,.09)}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bp-role-off{color:#94A3B8}.permission-group{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#64748B;margin-top:8px}.permission-item{display:flex;gap:9px;align-items:center;border:1px solid #E2E8F0;border-radius:10px;padding:9px;background:#fff}.permission-item input{width:auto}
.link-card{border:1px solid #E2E8F0;border-radius:14px;padding:14px;margin:10px 0;background:#fff}.link-card .link-label{font-size:11px;color:#364152;font-weight:var(--w-strong,600);margin-top:10px}.link-card .link-url{display:block;font-size:11px;background:#F8FAFC;color:#245C9A;padding:8px;border-radius:8px;word-break:break-all;margin:5px 0;text-decoration:underline}.link-card .link-help{font-size:11px;color:#6B7280;line-height:1.4;margin:6px 0 9px}.link-actions{display:flex;gap:7px;flex-wrap:wrap}
.bp-management-logout{background:#7F1D1D!important;color:#fff!important;border-color:#991B1B!important}
@media(max-width:600px){.employee-choice-grid,.permission-grid{grid-template-columns:1fr}.public-employee-body{padding:12px 10px 35px}.employee-card{padding:14px}.employee-title{font-size:22px}}


/* ===== BrightPath employee mobile workflow hardening ===== */
@media(max-width:760px){
  body.public-employee-mode,body.public-inspection-mode,body.public-inventory-mode{overflow-x:hidden!important;background:#f4f6f8!important}
  #publicEmployeeShell,#publicInspectionShell,#publicInventoryShell{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;overflow-x:hidden!important}
  #publicEmployeeBody,#publicInspectionBody,#publicInventoryBody{width:100%!important;max-width:100%!important;min-width:0!important;padding:12px!important;margin:0 auto!important}
  .employee-card,.public-inspection-card,.public-inventory-card{max-width:100%!important;min-width:0!important}
  .employee-card{border-radius:14px!important;padding:15px!important;margin:0 0 10px!important}
  .employee-title{font-size:24px!important;line-height:1.18!important}.employee-sub{font-size:13px!important;line-height:1.45!important}
  #publicEmployeeShell input,#publicEmployeeShell select,#publicEmployeeShell textarea,#publicInspectionShell input,#publicInspectionShell select,#publicInspectionShell textarea,#publicInventoryShell input,#publicInventoryShell select,#publicInventoryShell textarea{width:100%!important;max-width:100%!important;min-height:52px!important;font-size:16px!important;border-radius:10px!important}
  #publicEmployeeShell textarea,#publicInspectionShell textarea{min-height:110px!important}
  .employee-choice-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .employee-choice{min-width:0!important;min-height:54px!important;white-space:normal!important;line-height:1.2!important;padding:10px!important}
  .employee-submit,.public-inspection-submit .btn,.public-submitbar .btn{width:100%!important;min-height:56px!important;font-size:17px!important;position:sticky!important;bottom:8px!important;z-index:15!important;box-shadow:0 8px 24px rgba(18,35,63,.18)!important}
  .employee-photo-preview{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
  .employee-photo-preview img{width:100%!important;height:92px!important;object-fit:cover!important;border-radius:10px!important}
  .pmgroup summary{min-height:50px!important;padding:12px!important}
  .checkrow{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:12px 8px!important}
  .checkrow label{min-width:0!important;overflow-wrap:anywhere!important;font-size:14px!important;line-height:1.35!important}
  .pm-mark-wrap{display:flex!important;gap:6px!important}.pm-mark{width:44px!important;min-width:44px!important;height:44px!important;padding:0!important}
  .public-inspection-checklist{width:100%!important;max-width:100%!important}
  .public-inspection-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}
  .public-count-row{grid-template-columns:minmax(0,1fr) 82px!important;gap:8px!important;padding:11px 8px!important}
  .public-count-row input{width:82px!important;min-width:0!important}
  .public-category-grid{grid-template-columns:1fr!important}.public-category-choice{min-height:auto!important}
  .langbar{position:sticky!important;top:0!important;z-index:25!important;width:100%!important;display:flex!important;justify-content:center!important;gap:6px!important;padding:8px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(8px)!important}
  .langbar button{min-height:42px!important;padding:8px 15px!important}
  .tablewrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
}

/* ===== BrightPath management portal: phone navigation ===== */
.bp-mobile-overlay,.bp-mobile-bottomnav{display:none}
@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}
  body{background:#f4f6f8}
  .app{display:block!important;min-height:100dvh}
  .main{width:100%!important;min-width:0!important}
  .sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    z-index:120!important;
    width:min(86vw,310px)!important;
    height:100dvh!important;
    transform:translateX(-105%);
    transition:transform .22s ease!important;
    padding:18px 14px calc(30px + env(safe-area-inset-bottom))!important;
    box-shadow:16px 0 40px rgba(0,0,0,.22);
  }
  .sidebar.open{transform:translateX(0)!important}
  .sidebar .brand{margin:2px 4px 16px!important}
  .sidebar nav button{
    min-height:48px!important;
    padding:11px 12px!important;
    font-size:14px!important;
    border-radius:11px!important;
  }
  .sidebar .navlabel{margin-top:14px!important}
  .sidebox{display:none!important}
  .bp-management-logout{min-height:48px!important}
  .bp-mobile-overlay{
    display:block;
    position:fixed;
    inset:0;
    z-index:110;
    background:rgba(7,18,36,.48);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
  }
  body.bp-menu-open .bp-mobile-overlay{opacity:1;pointer-events:auto}
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:70!important;
    min-height:64px!important;
    padding:10px 12px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(12px)!important;
    box-shadow:0 1px 12px rgba(18,35,63,.08)!important;
  }
  .top-left{min-width:0!important;flex:1!important;gap:9px!important}
  .menu{
    display:inline-grid!important;
    place-items:center!important;
    min-width:46px!important;
    width:46px!important;
    height:46px!important;
    padding:0!important;
    border-radius:12px!important;
    background:#12233F!important;
    color:#fff!important;
    border:0!important;
    font-size:20px!important;
  }
  .title{min-width:0!important}
  .title h2{
    font-size:16px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .title p{display:none!important}
  .top-actions{
    display:flex!important;
    flex:0 0 auto!important;
    gap:5px!important;
  }
  .top-actions .property-filter,
  .top-actions .langbar,
  .top-actions .bp-management-logout{display:none!important}
  .hotel-chip{
    max-width:130px!important;
    min-height:44px!important;
    padding:8px 10px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    font-size:11px!important;
  }
  .hotel-chip #chosenHotelLabel{
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  .content{
    width:100%!important;
    max-width:100%!important;
    padding:14px 12px calc(88px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
  }
  .hero{
    display:block!important;
    margin-bottom:12px!important;
    padding:15px!important;
    border-radius:14px!important;
  }
  .hero h2{font-size:21px!important;line-height:1.2!important}
  .hero p{font-size:13px!important;line-height:1.45!important}
  .quicklinks{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}
  .quicklinks .btn,.quicklinks .quicklink{width:100%!important;min-width:0!important}
  .grid,.two,.three,.settings-grid,.formgrid,.formgrid.threecol,.kpis,.inv-grid{
    grid-template-columns:1fr!important;
  }
  .card{
    padding:14px!important;
    border-radius:14px!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  .kpis{gap:9px!important;margin:10px 0!important}
  .kpi{min-height:88px!important}
  .kpi .num{font-size:25px!important}
  .section-head{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .section-head .btn{width:100%!important}
  /* Text entry only. Bare `input` also matches a checkbox, and this rule is
     !important, so it beat every module's own sizing: measured at 375px, the
     tick boxes in Forcewa's "still waiting on documents" panel came out 277px
     wide and 50px tall each, which squeezed the label beside them to zero and
     left twelve unreadable rows. A radio, a range, a colour swatch and the
     button-like inputs are not text fields either; the rule below this one
     already gives buttons their 44px. */
  input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]),
  select,textarea{
    width:100%!important;
    max-width:100%!important;
    min-height:50px!important;
    font-size:16px!important;
  }
  textarea{min-height:110px!important}
  button,.btn,.smallbtn{
    min-height:44px;
    touch-action:manipulation;
  }
  .settings-tabs{
    display:flex!important;
    overflow-x:auto!important;
    gap:7px!important;
    padding-bottom:6px!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .settings-tabs::-webkit-scrollbar{display:none}
  .settings-tab{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    min-height:44px!important;
  }
  .tablewrap,.table-card,[style*="overflow:auto"]{
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  table{min-width:720px}
  .photos,.employee-photo-preview{max-width:100%!important}
  .thumb{width:96px!important;height:78px!important}
  .modal{padding:10px!important}
  .modal-card{width:100%!important;max-width:100%!important;max-height:94dvh!important;border-radius:15px!important}
  .modal-body{padding:14px!important;overflow:auto!important}
  .modal-foot{position:sticky!important;bottom:0!important;background:#fff!important;padding:10px!important}
  .bp-mobile-bottomnav{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    position:fixed;
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    z-index:90;
    background:#fff;
    border:1px solid #dce2e8;
    border-radius:16px;
    box-shadow:0 8px 28px rgba(18,35,63,.18);
    overflow:hidden;
    padding:4px;
  }
  .bp-mobile-bottomnav button{
    border:0;
    background:transparent;
    color:#64748b;
    min-width:0;
    min-height:54px;
    border-radius:12px;
    font-size:10px;
    font-weight:var(--w-strong,600);
    padding:5px 2px;
    line-height:1.15;
  }
  .bp-mobile-bottomnav button .mi{display:block;font-size:19px;margin-bottom:3px}
  .bp-mobile-bottomnav button.on{background:#12233F;color:#fff}
}
@media(max-width:390px){
  .hotel-chip{max-width:105px!important}
  .title h2{font-size:15px!important}
  .content{padding-left:9px!important;padding-right:9px!important}
}

/* ===== Approved BrightPath property login ===== */
#bpAuthGate{background:#f7f9fc!important}
.bp-auth-shell{grid-template-columns:58% 42%!important;background:#f7f9fc!important}
.bp-auth-art{background:#0b1f3d url("brightpath-portal-art.jpg") center center/contain no-repeat!important}
.bp-auth-art:after{display:none!important}
.bp-auth-panel{background:#f9fbfd!important;padding:72px clamp(34px,4vw,70px) 40px!important}
.bp-auth-card{max-width:560px!important;background:#fff!important;border:1px solid #e4e9f0!important;border-radius:20px!important;padding:38px 34px!important;box-shadow:0 14px 42px rgba(18,35,63,.10)!important}
.bp-auth-card h1{font-size:clamp(34px,3vw,46px)!important}
.bp-auth-rule{color:#22a55a!important}
.bp-auth-kicker{font-size:16px!important}
.bp-auth-signin{background:#062557!important}
.bp-auth-message{display:none!important}
.bp-auth-lang{background:#fff!important;box-shadow:0 8px 24px rgba(18,35,63,.08)!important}
@media(max-width:820px){
 .bp-auth-shell{display:block!important}
 .bp-auth-art{height:250px!important;min-height:250px!important;background-position:center 22%!important}
 .bp-auth-panel{min-height:calc(100dvh - 250px)!important;padding:66px 18px 30px!important}
 .bp-auth-card{padding:26px 20px!important;border-radius:16px!important}
}
/* ===== Real-time work order notification center ===== */
.bp-notify-wrap{position:relative;display:inline-flex;align-items:center}
.bp-notify-bell{position:relative;width:46px;height:46px;border:1px solid #d9e1ea;border-radius:12px;background:#fff;color:#12233F;font-size:21px;cursor:pointer;display:grid;place-items:center}
.bp-notify-bell:hover{background:#f7f9fc}
.bp-notify-count{position:absolute;right:-5px;top:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:var(--w-display,700);display:none;place-items:center;border:2px solid #fff}
.bp-notify-count.on{display:grid}
.bp-notify-panel{display:none;position:absolute;right:0;top:54px;width:min(380px,calc(100vw - 24px));max-height:440px;overflow:auto;background:#fff;border:1px solid #dce2e8;border-radius:14px;box-shadow:0 18px 45px rgba(18,35,63,.18);z-index:180;padding:10px}
.bp-notify-panel.on{display:block}
.bp-notify-head{display:flex;justify-content:space-between;align-items:center;padding:7px 7px 10px;font-weight:var(--w-strong,600)}
.bp-notify-item{padding:11px;border-radius:10px;border-top:1px solid #eef2f6;cursor:pointer}
.bp-notify-item.unread{background:#fff8e5}
.bp-notify-item b{display:block;font-size:13px;margin-bottom:3px}
.bp-notify-item small{color:#64748b;line-height:1.35}
.bp-wo-toast{position:fixed;right:18px;top:82px;z-index:100000;width:min(390px,calc(100vw - 28px));background:#10223f;color:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 18px 48px rgba(0,0,0,.25);display:none;gap:12px;align-items:flex-start}
.bp-wo-toast.on{display:flex;animation:bpToastIn .22s ease-out}
.bp-wo-toast .bell{font-size:24px;color:#f5ad17}
.bp-wo-toast b{display:block;margin-bottom:4px}
.bp-wo-toast small{color:#dbe6f5;line-height:1.4}
@keyframes bpToastIn{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:820px){
 .bp-notify-bell{width:44px;height:44px}
 .bp-notify-panel{position:fixed;left:10px;right:10px;top:70px;width:auto;max-height:65dvh}
 .bp-wo-toast{left:10px;right:10px;top:72px;width:auto}
}

.bp-auth-art{
  position:relative!important;
}
.bp-auth-art:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(6,20,46,.18),rgba(6,20,46,.04) 22%,rgba(6,20,46,.04) 78%,rgba(6,20,46,.18)),
    radial-gradient(circle at center,rgba(255,255,255,.08),transparent 60%);
  pointer-events:none;
}
.bp-auth-brand-below{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #e5eaf0;
  text-align:center;
}
.bp-auth-brand-below .bp-mini-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:18px;
  font-weight:var(--w-strong,600);
  color:#12233F;
}
.bp-auth-brand-below .bp-mini-mark{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#f0a61f,#2aa6a4);
  color:#fff;
  font-weight:var(--w-strong,600);
  box-shadow:0 4px 12px rgba(18,35,63,.12);
}
.bp-auth-brand-below small{
  display:block;
  margin-top:5px;
  color:#7a8798;
  font-size:12px;
}
@media(max-width:820px){
  .bp-auth-art{
    background-size:contain!important;
    background-position:center top!important;
    height:270px!important;
    min-height:270px!important;
  }
}

/* ===== BrightPath 2026 operations UI refinement ===== */
:root{--bp-ink:#10213d;--bp-blue:#0b2a55;--bp-soft:#f4f7fb;--bp-line:#dfe6ee;--bp-green:#1f9d63;--bp-red:#d92d20;--bp-amber:#d99a12}
body{background:var(--bp-soft)}
.content{max-width:1600px;margin:0 auto}
.topbar{border-bottom:1px solid var(--bp-line);box-shadow:0 4px 18px rgba(16,33,61,.05)}
.hero{background:linear-gradient(135deg,#fff 0%,#f7faff 100%);border:1px solid var(--bp-line);box-shadow:0 10px 28px rgba(16,33,61,.06)}
.hero h2{letter-spacing:-.02em}
.card{border-color:var(--bp-line);box-shadow:0 7px 22px rgba(16,33,61,.045)}
.kpi{position:relative;overflow:hidden;min-height:118px}
.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#b9c8d9}
.kpi:nth-child(2):before{background:#e9a31b}.kpi:nth-child(3):before{background:#d92d20}.kpi:nth-child(4):before{background:#2386d8}.kpi:nth-child(5):before{background:#8b5cf6}.kpi:nth-child(6):before{background:#1f9d63}
.kpi .num{font-size:34px;letter-spacing:-.03em}
.quicklink{border:1px solid var(--bp-line);border-radius:14px;background:#fff}
.sidebar nav button{transition:background .15s,transform .15s}.sidebar nav button:hover{transform:translateX(2px)}
.bp-notify-bell.has-alert{background:#fff1f0!important;border-color:#f3a7a0!important;color:#b42318!important;box-shadow:0 0 0 3px rgba(217,45,32,.08)}
.bp-notify-bell.has-alert:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#d92d20;right:6px;top:6px;box-shadow:0 0 0 2px #fff}
.bp-notify-caughtup{text-align:center;padding:26px 16px;color:#64748b}.bp-notify-caughtup strong{display:block;color:#10213d;font-size:15px;margin:6px 0}
.bp-link-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.bp-link-access-grid .permission-item{min-height:48px}
.bp-settings-locations{margin-top:14px}
.bp-dashboard-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.bp-dashboard-action{background:#fff;border:1px solid var(--bp-line);border-radius:14px;padding:15px;text-align:left;cursor:pointer;min-height:94px}
.bp-dashboard-action:hover{border-color:#b9c8d9;box-shadow:0 8px 20px rgba(16,33,61,.07)}
.bp-dashboard-action .ico{display:block;font-size:22px;margin-bottom:9px}.bp-dashboard-action b{display:block;color:#10213d}.bp-dashboard-action small{display:block;color:#64748b;margin-top:3px;line-height:1.3}
@media(max-width:900px){.bp-dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-link-access-grid{grid-template-columns:1fr}}
@media(max-width:520px){.bp-dashboard-actions{grid-template-columns:1fr 1fr}.bp-dashboard-action{min-height:84px;padding:12px}}

/* ===== BrightPath commercial dashboard pass — exact uploaded logo ===== */
.bp-exact-logo{display:block;object-fit:contain;background:#fff}
.bp-sidebar-logo{width:178px;max-width:100%;height:72px;border-radius:8px;padding:5px}
.bp-login-logo{width:min(420px,88%);height:auto;margin:0 auto 24px}
.bp-auth-brand-below{display:none!important}
.bp-auth-card:before{content:none;display:none;width:min(410px,88%);aspect-ratio:2.78/1;margin:0 auto 24px;background:#fff url("brightpath-logo.jpg") center/contain no-repeat}
.bp-auth-art{background:#0b1f3d url("brightpath-portal-art.jpg") center center/cover no-repeat!important}
.bp-ops-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}
.bp-ops-main,.bp-ops-rail{min-width:0}
.bp-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.bp-stat{background:#fff;border:1px solid #dfe6ee;border-radius:15px;padding:15px;min-height:116px;box-shadow:0 7px 22px rgba(16,33,61,.045);cursor:pointer}
.bp-stat .icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#edf4ff;font-size:19px;margin-bottom:9px}
.bp-stat .lab{font-size:12px;font-weight:var(--w-strong,600);color:#41516a}.bp-stat .num{font-size:30px;font-weight:var(--w-display,700);color:#10213d;margin-top:4px}.bp-stat .sub{font-size:11px;color:#64748b;margin-top:6px}
.bp-panel{background:#fff;border:1px solid #dfe6ee;border-radius:15px;padding:14px;box-shadow:0 7px 22px rgba(16,33,61,.045);margin-bottom:14px}
.bp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.bp-panel-head h3{margin:0;font-size:15px}
.bp-activity-item,.bp-task-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid #edf1f5}
.bp-activity-item:first-of-type,.bp-task-item:first-of-type{border-top:0}.bp-act-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#edf4ff}
.bp-act-title{font-weight:var(--w-strong,600);font-size:13px;color:#10213d}.bp-act-meta{font-size:11px;color:#64748b;margin-top:2px;line-height:1.35}
.bp-ops-two{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.bp-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:8px}
.bp-quick-grid button{border:1px solid #dfe6ee;background:#fff;border-radius:12px;padding:12px;text-align:left;min-height:70px;cursor:pointer;font-weight:var(--w-strong,600);color:#10213d}.bp-quick-grid button span{display:block;font-size:11px;color:#64748b;font-weight:var(--w-medium,500);margin-top:4px}
.bp-overview-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.bp-overview-cell{text-align:center;padding:10px 4px;border-right:1px solid #edf1f5}.bp-overview-cell:last-child{border-right:0}.bp-overview-cell strong{display:block;font-size:22px;color:#10213d}.bp-overview-cell small{font-size:10px;color:#64748b}
.bp-access-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 5px}.bp-access-chip{flex:0 0 auto;border:1px solid #dfe6ee;background:#fff;border-radius:10px;padding:9px 11px;font-size:11px;font-weight:var(--w-strong,600)}
.bp-link-status{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.bp-link-status div{border:1px solid #dfe6ee;border-radius:10px;padding:9px;font-size:11px}.bp-link-status b{display:block;margin-bottom:3px}.bp-link-status small{color:#1f9d63}
.bp-legal-footer{grid-column:1/-1!important;grid-row:auto!important;flex:0 0 100%!important;align-self:end!important;justify-self:stretch!important;width:100%!important;box-sizing:border-box!important;clear:both!important;order:999!important;position:static!important;text-align:center;padding:26px 16px 22px;margin-top:26px;border-top:1px solid rgba(15,23,42,.08);color:#64748b;font-size:11px;line-height:1.5}.bp-legal-footer .bp-legal-name{font-weight:var(--w-strong,600);color:#12233F;letter-spacing:.01em}.bp-legal-footer .bp-legal-meta{margin-top:2px}.bp-legal-footer .bp-legal-logo{display:block;margin:10px auto 0;height:38px;width:auto;max-width:210px;object-fit:contain;opacity:.85}@media(max-width:600px){.bp-legal-footer .bp-legal-logo{height:32px}}
.bp-notify-panel{width:min(430px,calc(100vw - 24px))!important}
.bp-notify-item{display:grid!important;grid-template-columns:34px 1fr;gap:9px!important}.bp-notify-type{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#edf4ff}
@media(max-width:1200px){.bp-ops-dashboard{grid-template-columns:1fr}.bp-ops-rail{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bp-stat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.bp-stat-grid{grid-template-columns:1fr 1fr}.bp-ops-two,.bp-ops-rail{grid-template-columns:1fr}.bp-overview-row{grid-template-columns:1fr 1fr}.bp-sidebar-logo{width:160px}}
@media(max-width:420px){.bp-stat-grid{grid-template-columns:1fr 1fr}.bp-stat{min-height:102px;padding:12px}.bp-stat .num{font-size:25px}}

/* ===== Deployment hotfix: auth + artwork ===== */
.bp-auth-art{
  background-color:#0b1f3d!important;
  background-image:url("brightpath-portal-art.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.bp-auth-art:before{display:none!important}
.bp-auth-shell{min-height:100dvh!important}
@media(min-width:821px){
  .bp-auth-art{height:100dvh!important;min-height:100dvh!important}
}

/* ===== Auth startup + exact logo hotfix ===== */
.bp-auth-art{position:relative!important;background-position:center center!important}
.bp-auth-art .bp-left-logo{
  position:absolute;
  top:26px;
  left:28px;
  z-index:6;
  width:min(330px,38vw);
  max-width:72%;
  height:auto;
  padding:8px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(8,28,58,.14);
  object-fit:contain;
}
.bp-auth-art .bp-logo-mask{
  position:absolute;
  top:0;left:0;
  width:46%;
  height:126px;
  z-index:5;
  background:linear-gradient(90deg,rgba(236,245,255,.97),rgba(236,245,255,.82),rgba(236,245,255,0));
  pointer-events:none;
}
@media(max-width:820px){
  .bp-auth-art .bp-left-logo{top:14px;left:14px;width:220px;max-width:68%;padding:6px 8px}
  .bp-auth-art .bp-logo-mask{height:92px;width:78%}
}

/* ===== FINAL LOGIN: single logo, clean hotel artwork, no checking screen ===== */
.bp-auth-art{
  background-color:#0b1f3d!important;
  background-image:url("brightpath-hotel-clean.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.bp-auth-art:before,.bp-auth-art:after,.bp-logo-mask{display:none!important}
.bp-left-brand{
  position:absolute;
  left:34px;
  top:30px;
  z-index:7;
  width:min(440px,78%);
  padding:18px 20px 20px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 34px rgba(8,28,58,.16);
}
.bp-left-brand img{
  display:block;
  width:min(360px,100%);
  height:auto;
  object-fit:contain;
}
.bp-left-brand h2{
  margin:18px 0 4px;
  color:#10213d;
  font-size:clamp(25px,2.15vw,38px);
  line-height:1.08;
}
.bp-left-brand h2 .green{color:#249a55}
.bp-left-brand h2 .blue{color:#0967e8}
.bp-left-brand p{
  margin:12px 0 0;
  color:#506079;
  font-size:14px;
  line-height:1.5;
}
.bp-auth-card-initial-logo{display:block;width:min(360px,82%);height:auto;margin:0 auto 24px;object-fit:contain}
@media(max-width:820px){
  .bp-left-brand{left:14px;top:14px;width:min(360px,88%);padding:10px 12px 12px}
  .bp-left-brand img{width:230px}
  .bp-left-brand h2{font-size:20px;margin-top:9px}
  .bp-left-brand p{display:none}
}

/* ===== FINAL CLEAN LOGIN LAYOUT ===== */
#bpAuthGate{
  background:#f7f9fc!important;
}
.bp-auth-shell{
  display:grid!important;
  grid-template-columns:56% 44%!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:hidden!important;
  background:#fff!important;
}
.bp-auth-art{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  background:#0b1f3d url("brightpath-hotel-clean.jpg") center center/cover no-repeat!important;
  overflow:hidden!important;
}
.bp-auth-art:before,
.bp-auth-art:after,
.bp-logo-mask,
.bp-left-brand{
  display:none!important;
}
.bp-auth-panel{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:84px 42px 42px!important;
  background:#f8fafc!important;
  overflow:auto!important;
  box-shadow:none!important;
}
.bp-auth-lang{
  position:absolute!important;
  top:24px!important;
  right:28px!important;
  z-index:10!important;
  display:flex!important;
  gap:4px!important;
  padding:4px!important;
  border-radius:999px!important;
  border:1px solid #dce3eb!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(16,33,61,.08)!important;
}
.bp-auth-card{
  width:min(100%,560px)!important;
  max-width:560px!important;
  margin:auto!important;
  padding:36px 36px 32px!important;
  background:#fff!important;
  border:1px solid #e2e8f0!important;
  border-radius:22px!important;
  box-shadow:0 18px 48px rgba(16,33,61,.10)!important;
  overflow:visible!important;
}
.bp-auth-card:before{display:none!important;content:none!important}
.bp-auth-card-initial-logo,
.bp-login-logo{
  display:block!important;
  width:min(360px,82%)!important;
  max-height:126px!important;
  object-fit:contain!important;
  margin:0 auto 28px!important;
  background:#fff!important;
}
.bp-auth-card h1{
  margin:0 0 6px!important;
  text-align:center!important;
  color:#10213d!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.08!important;
}
.bp-auth-rule{
  margin:4px 0 10px!important;
  text-align:center!important;
}
.bp-auth-kicker{
  margin:0 0 28px!important;
  text-align:center!important;
  font-size:15px!important;
  color:#64748b!important;
}
.bp-auth-inputwrap{
  min-height:58px!important;
  margin-bottom:17px!important;
}
.bp-auth-signin{
  min-height:58px!important;
}
.bp-auth-message,
.bp-auth-brand-below{
  display:none!important;
}

/* Laptop heights: keep card inside the viewport without cutting top/bottom */
@media(max-height:760px) and (min-width:821px){
  .bp-auth-panel{padding-top:64px!important;padding-bottom:24px!important}
  .bp-auth-card{padding:24px 30px!important}
  .bp-auth-card-initial-logo,.bp-login-logo{width:min(300px,72%)!important;max-height:94px!important;margin-bottom:18px!important}
  .bp-auth-card h1{font-size:32px!important}
  .bp-auth-kicker{margin-bottom:18px!important}
  .bp-auth-inputwrap{min-height:52px!important;margin-bottom:12px!important}
  .bp-auth-signin{min-height:52px!important}
}

/* Tablet / phone */
@media(max-width:820px){
  #bpAuthGate{overflow:auto!important}
  .bp-auth-shell{
    display:block!important;
    height:auto!important;
    min-height:100dvh!important;
  }
  .bp-auth-art{
    height:210px!important;
    min-height:210px!important;
    background-position:center 45%!important;
  }
  .bp-auth-panel{
    height:auto!important;
    min-height:calc(100dvh - 210px)!important;
    padding:68px 18px 30px!important;
    align-items:flex-start!important;
  }
  .bp-auth-card{
    width:min(100%,540px)!important;
    padding:26px 20px!important;
    border-radius:18px!important;
  }
  .bp-auth-lang{
    top:14px!important;
    right:16px!important;
  }
  .bp-auth-card-initial-logo,.bp-login-logo{
    width:min(290px,78%)!important;
    max-height:104px!important;
    margin-bottom:20px!important;
  }
}

/* ===== BrightPath Login V2 - isolated ===== */
#bpLoginGateV2{
  position:fixed!important; inset:0!important; z-index:2147483000!important;
  display:grid!important; grid-template-columns:56% 44%!important;
  width:100vw!important; height:100dvh!important; min-height:100vh!important;
  overflow:hidden!important; background:#f8fafc!important;
}
body.bp-auth-ready #bpLoginGateV2{display:none!important}
#bpLoginVisualV2{
  width:100%!important; height:100%!important; min-width:0!important; min-height:0!important;
  background:#0b1f3d url("brightpath-hotel-clean.jpg") center center/cover no-repeat!important;
}
#bpLoginPanelV2{
  position:relative!important; width:100%!important; height:100%!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  padding:84px 42px 42px!important; overflow:auto!important; background:#f8fafc!important;
}
#bpLoginLangV2{
  position:absolute!important; top:24px!important; right:28px!important;
  display:flex!important; gap:4px!important; padding:4px!important;
  border:1px solid #dce3eb!important; border-radius:999px!important;
  background:#fff!important; box-shadow:0 8px 24px rgba(16,33,61,.08)!important;
}
#bpLoginLangV2 button{
  min-height:42px!important; padding:8px 18px!important; border:0!important;
  border-radius:999px!important; background:transparent!important; color:#64748b!important;
  font:var(--w-strong,600) 15px Arial,sans-serif!important; cursor:pointer!important;
}
#bpLoginLangV2 button.active{background:#10213d!important;color:#fff!important}
#bpLoginCardV2{
  width:min(100%,560px)!important; max-width:560px!important; margin:auto!important;
  padding:34px 36px 32px!important; border:1px solid #e2e8f0!important;
  border-radius:22px!important; background:#fff!important;
  box-shadow:0 18px 48px rgba(16,33,61,.10)!important;
  font-family:Arial,sans-serif!important; color:#10213d!important;
}
#bpLoginLogoV2{
  display:block!important; width:min(350px,82%)!important; max-height:120px!important;
  object-fit:contain!important; margin:0 auto 24px!important; background:#fff!important;
}
#bpLoginCardV2 h1{
  margin:0 0 8px!important; text-align:center!important;
  font:var(--w-display,700) clamp(32px,3vw,44px)/1.08 Arial,sans-serif!important;
  letter-spacing:-.02em!important; color:#10213d!important;
}
#bpLoginSubtitleV2{
  margin:0 0 28px!important; text-align:center!important;
  font:var(--w-body,400) 15px/1.45 Arial,sans-serif!important; color:#64748b!important;
}
#bpLoginCardV2>label{
  display:block!important; margin:0 0 7px!important;
  font:var(--w-strong,600) 14px Arial,sans-serif!important; color:#1e293b!important;
}
.bpv2Input{
  display:flex!important; align-items:center!important; gap:10px!important;
  width:100%!important; min-height:58px!important; margin:0 0 17px!important;
  padding:0 15px!important; border:1px solid #cbd5e1!important;
  border-radius:12px!important; background:#fff!important;
}
.bpv2Input:focus-within{border-color:#c9a227!important;box-shadow:0 0 0 3px rgba(201,162,39,.13)!important}
.bpv2Input input{
  flex:1!important; width:100%!important; min-width:0!important; margin:0!important;
  padding:0!important; border:0!important; outline:0!important; box-shadow:none!important;
  background:transparent!important; font:var(--w-body,400) 16px Arial,sans-serif!important; color:#0f172a!important;
}
#bpPwdToggleV2{
  width:40px!important; height:40px!important; min-height:40px!important;
  border:0!important; background:transparent!important; color:#64748b!important; cursor:pointer!important;
}
#bpLoginOptionsV2{
  display:flex!important; align-items:center!important; justify-content:space-between!important;
  gap:14px!important; margin:0 0 20px!important;
  font:var(--w-medium,500) 13px Arial,sans-serif!important; color:#64748b!important;
}
#bpLoginOptionsV2 label{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;font:600 13px Arial,sans-serif!important}
#bpLoginOptionsV2 input{width:auto!important;height:auto!important}
#mgmtLoginBtn{
  width:100%!important; min-height:58px!important; border:0!important; border-radius:12px!important;
  background:#10213d!important; color:#fff!important; font:var(--w-strong,600) 18px Arial,sans-serif!important; cursor:pointer!important;
}
#mgmtLoginBtn:disabled{opacity:.65!important;cursor:wait!important}
#bpLoginErrorV2{
  display:none; margin-top:14px!important; padding:10px 12px!important;
  border:1px solid #f0b5ae!important; border-radius:10px!important;
  background:#fff1f0!important; color:#8a261f!important; font:600 13px/1.4 Arial,sans-serif!important;
}
@media(max-height:760px) and (min-width:821px){
  #bpLoginPanelV2{padding:60px 34px 24px!important}
  #bpLoginCardV2{padding:22px 28px!important}
  #bpLoginLogoV2{width:min(290px,72%)!important;max-height:92px!important;margin-bottom:16px!important}
  #bpLoginCardV2 h1{font-size:32px!important}
  #bpLoginSubtitleV2{margin-bottom:18px!important}
  .bpv2Input{min-height:50px!important;margin-bottom:12px!important}
  #mgmtLoginBtn{min-height:50px!important}
}
@media(max-width:820px){
  #bpLoginGateV2{display:block!important;overflow:auto!important}
  #bpLoginVisualV2{height:190px!important;min-height:190px!important;background-position:center 45%!important}
  #bpLoginPanelV2{height:auto!important;min-height:calc(100dvh - 190px)!important;padding:64px 16px 28px!important;align-items:flex-start!important}
  #bpLoginLangV2{top:14px!important;right:16px!important}
  #bpLoginCardV2{padding:24px 18px!important;border-radius:18px!important}
  #bpLoginLogoV2{width:min(280px,76%)!important;max-height:96px!important;margin-bottom:18px!important}
  #bpLoginOptionsV2{align-items:flex-start!important;flex-direction:column!important}
}

/* ===== CLIENT-READY LOGIN V3: no crop, no zoom ===== */
#bpLoginGateV2{
  grid-template-columns:52% 48%!important;
  background:#f5f7fb!important;
}

#bpLoginVisualV2{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#071a36!important;
  background-image:none!important;
  padding:20px!important;
}

#bpHotelPhotoV3{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:18px!important;
  box-shadow:0 18px 45px rgba(0,0,0,.22)!important;
  background:#071a36!important;
}

#bpLoginPanelV2{
  padding:72px 54px 34px!important;
  background:#f7f9fc!important;
}

#bpLoginLangV2{
  top:22px!important;
  right:30px!important;
  transform:none!important;
}

#bpLoginCardV2{
  width:min(100%,470px)!important;
  max-width:470px!important;
  padding:28px 30px 26px!important;
  border-radius:18px!important;
  box-shadow:0 14px 38px rgba(16,33,61,.09)!important;
}

#bpLoginLogoV2{
  width:min(270px,72%)!important;
  max-height:90px!important;
  margin:0 auto 18px!important;
  object-fit:contain!important;
}

#bpLoginCardV2 h1{
  font-size:32px!important;
  margin:0 0 5px!important;
}

#bpLoginSubtitleV2{
  font-size:14px!important;
  margin:0 0 22px!important;
}

#bpLoginCardV2>label{
  font-size:13px!important;
  margin-bottom:6px!important;
}

.bpv2Input{
  min-height:49px!important;
  margin-bottom:12px!important;
  padding:0 13px!important;
  border-radius:10px!important;
}

.bpv2Input input{
  font-size:15px!important;
}

#bpLoginOptionsV2{
  margin-bottom:16px!important;
  font-size:12px!important;
}

#bpLoginOptionsV2 label{
  font-size:12px!important;
}

#mgmtLoginBtn{
  min-height:49px!important;
  font-size:16px!important;
  border-radius:10px!important;
}

/* Normal laptop sizes */
@media(min-width:821px) and (max-height:900px){
  #bpLoginVisualV2{padding:16px!important}
  #bpLoginPanelV2{padding:58px 38px 24px!important}
  #bpLoginCardV2{max-width:445px!important;padding:22px 26px 20px!important}
  #bpLoginLogoV2{width:235px!important;max-height:76px!important;margin-bottom:13px!important}
  #bpLoginCardV2 h1{font-size:28px!important}
  #bpLoginSubtitleV2{font-size:13px!important;margin-bottom:15px!important}
  .bpv2Input{min-height:44px!important;margin-bottom:9px!important}
  #mgmtLoginBtn{min-height:45px!important}
}

/* Mobile: photo remains fully visible; login becomes single column */
@media(max-width:820px){
  #bpLoginGateV2{
    display:block!important;
    overflow:auto!important;
    background:#f7f9fc!important;
  }
  #bpLoginVisualV2{
    height:230px!important;
    min-height:230px!important;
    padding:10px!important;
  }
  #bpHotelPhotoV3{
    border-radius:12px!important;
    object-fit:contain!important;
  }
  #bpLoginPanelV2{
    height:auto!important;
    min-height:calc(100dvh - 230px)!important;
    padding:62px 14px 24px!important;
  }
  #bpLoginLangV2{
    top:14px!important;
    right:14px!important;
  }
  #bpLoginCardV2{
    width:min(100%,450px)!important;
    max-width:450px!important;
    padding:22px 18px!important;
  }
  #bpLoginLogoV2{
    width:220px!important;
    max-height:72px!important;
    margin-bottom:12px!important;
  }
  #bpLoginCardV2 h1{font-size:28px!important}
  #bpLoginOptionsV2{flex-direction:column!important;align-items:flex-start!important}
}

/* ===== BrightPath Login V4 — clean client-facing redesign ===== */
#bpLoginGateV4{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:hidden!important;
  background:#eef3f8!important;
  font-family:Arial,sans-serif!important;
}
body.bp-auth-ready #bpLoginGateV4{display:none!important}

#bpLoginShowcaseV4{
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
  gap:18px!important;
  padding:24px!important;
  background:linear-gradient(155deg,#081b38 0%,#0d2a57 100%)!important;
}
#bpHotelFrameV4{
  min-height:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#06162e!important;
  box-shadow:0 24px 60px rgba(0,0,0,.28)!important;
}
#bpHotelFrameV4 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#06162e!important;
}
#bpShowcaseCopyV4{
  padding:4px 6px 2px!important;
  color:#fff!important;
}
.bpShowcaseEyebrowV4{
  margin-bottom:7px!important;
  color:#c7d7ef!important;
  font-size:12px!important;
  font-weight:var(--w-medium,500)!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
#bpShowcaseCopyV4 h2{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(27px,2.3vw,42px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
#bpShowcaseCopyV4 p{
  max-width:690px!important;
  margin:10px 0 13px!important;
  color:#d8e2f1!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.bpShowcaseFeaturesV4{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.bpShowcaseFeaturesV4 span{
  padding:7px 10px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:var(--w-strong,600)!important;
}

#bpLoginSideV4{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:84px 46px 38px!important;
  background:#f8fafc!important;
  overflow:auto!important;
}
#bpLoginLanguageV4{
  position:absolute!important;
  top:24px!important;
  right:30px!important;
  display:flex!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid #dce3eb!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(16,33,61,.07)!important;
}
#bpLoginLanguageV4 button{
  min-height:40px!important;
  padding:8px 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#64748b!important;
  font:var(--w-strong,600) 14px Arial,sans-serif!important;
  cursor:pointer!important;
}
#bpLoginLanguageV4 button.active{
  background:#10213d!important;
  color:#fff!important;
}

#bpLoginCardV4{
  width:min(100%,430px)!important;
  max-width:430px!important;
  padding:0!important;
  margin:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#10213d!important;
}
#bpLoginLogoV4{
  display:block!important;
  width:min(315px,78%)!important;
  max-height:105px!important;
  margin:0 auto 18px!important;
  object-fit:contain!important;
  background:transparent!important;
}
.bpLoginDividerV4{
  width:56px!important;
  height:3px!important;
  margin:0 auto 20px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg,#f4a024,#25a261,#1677ff)!important;
}
#bpLoginCardV4 h1{
  margin:0 0 6px!important;
  text-align:center!important;
  color:#10213d!important;
  font:var(--w-display,700) 34px/1.08 Arial,sans-serif!important;
  letter-spacing:-.025em!important;
}
#bpLoginSubtitleV4{
  margin:0 0 26px!important;
  text-align:center!important;
  color:#64748b!important;
  font:var(--w-body,400) 14px/1.45 Arial,sans-serif!important;
}
#bpLoginCardV4>label{
  display:block!important;
  margin:0 0 7px!important;
  color:#1e293b!important;
  font:var(--w-strong,600) 13px Arial,sans-serif!important;
}
.bpLoginFieldV4{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:50px!important;
  margin:0 0 14px!important;
  padding:0 13px!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
  background:#fff!important;
}
.bpLoginFieldV4:focus-within{
  border-color:#9fb4cb!important;
  box-shadow:0 0 0 3px rgba(31,78,121,.08)!important;
}
.bpLoginFieldIconV4{
  color:#64748b!important;
  font-size:15px!important;
}
.bpLoginFieldV4 input{
  flex:1!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0f172a!important;
  font:var(--w-body,400) 15px Arial,sans-serif!important;
}
#bpPwdToggleV4{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#64748b!important;
  cursor:pointer!important;
}
#bpLoginMetaV4{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 17px!important;
  color:#64748b!important;
  font:var(--w-medium,500) 12px Arial,sans-serif!important;
}
#bpLoginMetaV4 label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  font:600 12px Arial,sans-serif!important;
}
#bpLoginMetaV4 input{width:auto!important;height:auto!important}
#mgmtLoginBtn{
  width:100%!important;
  min-height:50px!important;
  border:0!important;
  border-radius:12px!important;
  background:#10213d!important;
  color:#fff!important;
  font:var(--w-strong,600) 16px Arial,sans-serif!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(16,33,61,.15)!important;
}
#mgmtLoginBtn:hover{background:#0a1a31!important}
#mgmtLoginBtn:disabled{opacity:.65!important;cursor:wait!important}
#bpLoginErrorV4{
  display:none;
  margin-top:13px!important;
  padding:10px 12px!important;
  border:1px solid #efb2aa!important;
  border-radius:10px!important;
  background:#fff1f0!important;
  color:#8a261f!important;
  font:600 12px/1.4 Arial,sans-serif!important;
}
#bpLoginFooterV4{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:20px!important;
  padding-top:14px!important;
  border-top:1px solid #e5eaf0!important;
  color:#94a3b8!important;
  font:var(--w-medium,500) 11px Arial,sans-serif!important;
}

/* Standard laptops */
@media(max-height:820px) and (min-width:821px){
  #bpLoginGateV4{grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr)!important}
  #bpLoginShowcaseV4{padding:18px!important;gap:12px!important}
  #bpLoginSideV4{padding:58px 34px 24px!important}
  #bpLoginLogoV4{width:250px!important;max-height:82px!important;margin-bottom:12px!important}
  .bpLoginDividerV4{margin-bottom:14px!important}
  #bpLoginCardV4 h1{font-size:29px!important}
  #bpLoginSubtitleV4{margin-bottom:18px!important}
  .bpLoginFieldV4{min-height:45px!important;margin-bottom:10px!important}
  #mgmtLoginBtn{min-height:46px!important}
  #bpLoginFooterV4{margin-top:14px!important}
  #bpShowcaseCopyV4 h2{font-size:28px!important}
  #bpShowcaseCopyV4 p{margin:8px 0 10px!important}
}

/* Mobile */
@media(max-width:820px){
  #bpLoginGateV4{
    display:block!important;
    overflow:auto!important;
    background:#f8fafc!important;
  }
  #bpLoginShowcaseV4{
    display:block!important;
    padding:10px!important;
    background:#071a36!important;
  }
  #bpHotelFrameV4{
    height:190px!important;
    border-radius:14px!important;
  }
  #bpHotelFrameV4 img{
    object-fit:contain!important;
  }
  #bpShowcaseCopyV4{
    display:none!important;
  }
  #bpLoginSideV4{
    min-height:calc(100dvh - 210px)!important;
    padding:62px 16px 24px!important;
    align-items:flex-start!important;
  }
  #bpLoginLanguageV4{
    top:14px!important;
    right:14px!important;
  }
  #bpLoginCardV4{
    width:min(100%,430px)!important;
  }
  #bpLoginLogoV4{
    width:230px!important;
    max-height:76px!important;
    margin-bottom:12px!important;
  }
  #bpLoginCardV4 h1{font-size:29px!important}
  #bpLoginMetaV4{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  #bpLoginFooterV4{
    flex-direction:column!important;
  }
}

/* ===== BrightPath Login V5 — clean, client-ready, no photo ===== */
#bpLoginGateV5{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  grid-template-columns:minmax(430px,46%) minmax(0,54%)!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:hidden!important;
  background:#f7f9fc!important;
  font-family:Arial,sans-serif!important;
}
body.bp-auth-ready #bpLoginGateV5{display:none!important}

#bpLoginBrandV5{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:54px 56px!important;
  background:
    radial-gradient(circle at 18% 15%,rgba(26,109,210,.22),transparent 28%),
    radial-gradient(circle at 85% 82%,rgba(36,162,103,.12),transparent 30%),
    linear-gradient(150deg,#07182f 0%,#0b2852 64%,#0d315f 100%)!important;
  color:#fff!important;
  overflow:hidden!important;
}
.bpBrandInnerV5{
  width:min(100%,520px)!important;
}
#bpBrandLogoV5{
  display:block!important;
  width:min(360px,84%)!important;
  max-height:128px!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:16px!important;
  padding:12px 16px!important;
  box-shadow:0 16px 40px rgba(0,0,0,.20)!important;
}
.bpBrandRuleV5{
  width:64px!important;
  height:4px!important;
  margin:30px 0 24px!important;
  border-radius:99px!important;
  background:linear-gradient(90deg,#f49b20,#30a568,#1677ff)!important;
}
#bpLoginBrandV5 h2{
  margin:0!important;
  color:#fff!important;
  font:var(--w-strong,600) clamp(32px,3.1vw,54px)/1.04 Arial,sans-serif!important;
  letter-spacing:-.035em!important;
}
#bpLoginBrandV5 h2 span{color:#dce9ff!important}
#bpLoginBrandV5 p{
  max-width:490px!important;
  margin:20px 0 24px!important;
  color:#cad7e8!important;
  font:var(--w-body,400) 15px/1.6 Arial,sans-serif!important;
}
.bpBrandFeaturesV5{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  max-width:460px!important;
}
.bpBrandFeaturesV5 div{
  padding:11px 13px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.06)!important;
  color:#fff!important;
  font:var(--w-strong,600) 12px Arial,sans-serif!important;
}
.bpBrandFootV5{
  margin-top:32px!important;
  color:#8fa6c4!important;
  font:600 11px Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

#bpLoginFormSideV5{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  height:100%!important;
  padding:86px 52px 42px!important;
  background:#f7f9fc!important;
  overflow:auto!important;
}
#bpLoginLangV5{
  position:absolute!important;
  top:26px!important;
  right:30px!important;
  display:flex!important;
  gap:4px!important;
  padding:4px!important;
  border:1px solid #dde4ec!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(16,33,61,.07)!important;
}
#bpLoginLangV5 button{
  min-height:40px!important;
  padding:8px 16px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:#64748b!important;
  font:var(--w-strong,600) 14px Arial,sans-serif!important;
  cursor:pointer!important;
}
#bpLoginLangV5 button.active{
  background:#10213d!important;
  color:#fff!important;
}

#bpLoginCardV5{
  width:min(100%,460px)!important;
  max-width:460px!important;
  padding:36px!important;
  border:1px solid #e1e7ef!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(16,33,61,.09)!important;
  color:#10213d!important;
}
.bpLoginKickerV5{
  margin-bottom:10px!important;
  color:#7a8ba2!important;
  font:var(--w-strong,600) 11px Arial,sans-serif!important;
  letter-spacing:.12em!important;
}
#bpLoginCardV5 h1{
  margin:0 0 7px!important;
  color:#10213d!important;
  font:var(--w-display,700) 36px/1.06 Arial,sans-serif!important;
  letter-spacing:-.03em!important;
}
#bpLoginSubtitleV5{
  margin:0 0 28px!important;
  color:#64748b!important;
  font:var(--w-body,400) 14px/1.5 Arial,sans-serif!important;
}
#bpLoginCardV5>label{
  display:block!important;
  margin:0 0 7px!important;
  color:#1e293b!important;
  font:var(--w-strong,600) 13px Arial,sans-serif!important;
}
.bpFieldV5{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:52px!important;
  margin:0 0 15px!important;
  padding:0 14px!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
  background:#fff!important;
}
.bpFieldV5:focus-within{
  border-color:#8fa7c0!important;
  box-shadow:0 0 0 3px rgba(25,71,120,.08)!important;
}
.bpFieldV5 input{
  flex:1!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#0f172a!important;
  font:var(--w-body,400) 15px Arial,sans-serif!important;
}
#bpPwdToggleV5{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#64748b!important;
  cursor:pointer!important;
}
#bpLoginMetaV5{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:2px 0 18px!important;
  color:#64748b!important;
  font:var(--w-medium,500) 12px Arial,sans-serif!important;
}
#bpLoginMetaV5 label{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  font:600 12px Arial,sans-serif!important;
}
#bpLoginMetaV5 input{width:auto!important;height:auto!important}
#mgmtLoginBtn{
  width:100%!important;
  min-height:52px!important;
  border:0!important;
  border-radius:12px!important;
  background:#10213d!important;
  color:#fff!important;
  font:var(--w-strong,600) 16px Arial,sans-serif!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(16,33,61,.15)!important;
}
#mgmtLoginBtn:hover{background:#0a1a31!important}
#mgmtLoginBtn:disabled{opacity:.65!important;cursor:wait!important}
#bpLoginErrorV5{
  display:none;
  margin-top:13px!important;
  padding:10px 12px!important;
  border:1px solid #efb2aa!important;
  border-radius:10px!important;
  background:#fff1f0!important;
  color:#8a261f!important;
  font:600 12px/1.4 Arial,sans-serif!important;
}
.bpSecurityV5{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-top:20px!important;
  padding:14px!important;
  border:1px solid #e7ecf2!important;
  border-radius:12px!important;
  background:#f9fbfd!important;
}
.bpSecurityV5>span{font-size:19px!important}
.bpSecurityV5 strong{
  display:block!important;
  margin-bottom:3px!important;
  color:#334155!important;
  font:var(--w-strong,600) 12px Arial,sans-serif!important;
}
.bpSecurityV5 small{
  color:#7a8ba2!important;
  font:var(--w-body,400) 11px/1.4 Arial,sans-serif!important;
}

/* laptops */
@media(max-height:820px) and (min-width:821px){
  #bpLoginBrandV5{padding:36px 42px!important}
  #bpBrandLogoV5{width:300px!important;max-height:100px!important}
  .bpBrandRuleV5{margin:22px 0 18px!important}
  #bpLoginBrandV5 h2{font-size:36px!important}
  #bpLoginBrandV5 p{margin:14px 0 18px!important}
  #bpLoginFormSideV5{padding:60px 36px 24px!important}
  #bpLoginCardV5{max-width:430px!important;padding:28px!important}
  #bpLoginCardV5 h1{font-size:31px!important}
  #bpLoginSubtitleV5{margin-bottom:20px!important}
  .bpFieldV5{min-height:46px!important;margin-bottom:11px!important}
  #mgmtLoginBtn{min-height:47px!important}
  .bpSecurityV5{margin-top:14px!important}
}

/* mobile */
@media(max-width:820px){
  #bpLoginGateV5{
    display:block!important;
    overflow:auto!important;
  }
  #bpLoginBrandV5{
    min-height:220px!important;
    padding:26px 20px!important;
    align-items:flex-start!important;
  }
  .bpBrandInnerV5{width:100%!important}
  #bpBrandLogoV5{
    width:230px!important;
    max-height:80px!important;
    padding:8px 10px!important;
  }
  .bpBrandRuleV5{margin:16px 0 12px!important}
  #bpLoginBrandV5 h2{font-size:27px!important}
  #bpLoginBrandV5 p,
  .bpBrandFeaturesV5,
  .bpBrandFootV5{display:none!important}
  #bpLoginFormSideV5{
    min-height:calc(100dvh - 220px)!important;
    padding:66px 16px 24px!important;
    align-items:flex-start!important;
  }
  #bpLoginLangV5{
    top:14px!important;
    right:14px!important;
  }
  #bpLoginCardV5{
    width:min(100%,430px)!important;
    padding:24px 20px!important;
  }
  #bpLoginCardV5 h1{font-size:30px!important}
  #bpLoginMetaV5{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}

/* ===== BrightPath Login V6 — reference-matched client-facing layout ===== */
#bpLoginGateV6{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:grid!important;
  grid-template-columns:60% 40%!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:hidden!important;
  background:#f7f9fc!important;
  font-family:Arial,sans-serif!important;
}
body.bp-auth-ready #bpLoginGateV6{display:none!important}

#bpLoginHeroV6{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  overflow:hidden!important;
  background:#dfe7f0!important;
}
#bpHeroHotelV6{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
#bpHeroShadeV6{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.10) 36%,rgba(5,19,39,.05) 58%,rgba(5,19,39,.72) 100%),
    linear-gradient(90deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.05) 47%,rgba(255,255,255,0) 70%)!important;
}
#bpHeroContentV6{
  position:absolute!important;
  z-index:2!important;
  top:clamp(28px,5vh,70px)!important;
  left:clamp(28px,4vw,64px)!important;
  width:min(520px,78%)!important;
}
#bpHeroLogoV6{
  display:block!important;
  width:clamp(230px,18vw,340px)!important;
  max-height:110px!important;
  object-fit:contain!important;
  margin:0 0 clamp(28px,5vh,64px)!important;
  background:transparent!important;
}
#bpHeroHeadlineV6 h2{
  margin:0!important;
  color:#10213d!important;
  font:var(--w-strong,600) clamp(30px,2.7vw,49px)/1.08 Arial,sans-serif!important;
  letter-spacing:-.035em!important;
  text-shadow:0 1px 1px rgba(255,255,255,.35)!important;
}
#bpHeroHeadlineV6 h2 .green{color:#2aa45f!important}
#bpHeroHeadlineV6 h2 .blue{color:#1476ff!important}
.bpAccentLineV6{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  margin:20px 0 22px!important;
}
.bpAccentLineV6 i{
  display:block!important;
  width:18px!important;
  height:3px!important;
  border-radius:99px!important;
}
.bpAccentLineV6 i:nth-child(1){background:#214b85!important}
.bpAccentLineV6 i:nth-child(2){background:#ee9f22!important}
.bpAccentLineV6 i:nth-child(3){
  width:9px!important;height:9px!important;
  transform:rotate(45deg)!important;background:#2ca25f!important;
}
.bpAccentLineV6 i:nth-child(4){background:#2ca25f!important}
.bpAccentLineV6 i:nth-child(5){background:#f29a1f!important}
#bpHeroHeadlineV6 p{
  margin:0!important;
  color:#536783!important;
  font:var(--w-medium,500) clamp(14px,1.2vw,19px)/1.5 Arial,sans-serif!important;
}

#bpHeroFeaturesV6{
  position:absolute!important;
  z-index:3!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  padding:18px 42px 28px!important;
  background:linear-gradient(180deg,rgba(6,23,45,0),rgba(6,23,45,.88) 32%,rgba(6,23,45,.95) 100%)!important;
}
.bpHeroFeatureV6{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  padding:10px 20px!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.24)!important;
}
.bpHeroFeatureV6:last-child{border-right:0!important}
.bpFeatureIconV6{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:58px!important;
  height:58px!important;
  margin-bottom:10px!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#1476ff!important;
  box-shadow:0 8px 22px rgba(0,0,0,.14)!important;
  font-size:29px!important;
}
.bpHeroFeatureV6:nth-child(2) .bpFeatureIconV6{color:#29a35d!important}
.bpHeroFeatureV6:nth-child(3) .bpFeatureIconV6{color:#f28b18!important}
.bpHeroFeatureV6 strong{
  margin-bottom:5px!important;
  font:var(--w-strong,600) 14px Arial,sans-serif!important;
}
.bpHeroFeatureV6 span{
  color:#edf3fb!important;
  font:var(--w-body,400) 12px/1.45 Arial,sans-serif!important;
}

#bpLoginSideV6{
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:100%!important;
  padding:72px 44px 28px!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 80% 8%,rgba(213,225,243,.28),transparent 25%),
    #f8fafc!important;
}
#bpLanguageV6{
  position:absolute!important;
  top:26px!important;
  right:38px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:42px!important;
  padding:4px 10px!important;
  border:1px solid #e5eaf1!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#0f294f!important;
  box-shadow:0 8px 24px rgba(17,39,71,.08)!important;
}
#bpLanguageV6>span{font-size:16px!important}
#bpLanguageV6 button{
  border:0!important;
  padding:6px 4px!important;
  background:transparent!important;
  color:#7b8aa0!important;
  font:var(--w-strong,600) 12px Arial,sans-serif!important;
  cursor:pointer!important;
}
#bpLanguageV6 button.active{color:#0f294f!important}
#bpLoginEsV6:before{content:"";}

#bpLoginCardV6{
  width:min(100%,520px)!important;
  max-width:520px!important;
  margin:auto!important;
  padding:30px 28px 24px!important;
  border:1px solid #e9edf3!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 18px 50px rgba(19,43,76,.09)!important;
  color:#10213d!important;
}
.bpTopAccentV6{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  margin:0 0 24px!important;
}
.bpTopAccentV6 span{
  width:20px!important;height:3px!important;border-radius:99px!important;
}
.bpTopAccentV6 span:nth-child(1){background:#1476ff!important}
.bpTopAccentV6 span:nth-child(2){background:#3aa55e!important}
.bpTopAccentV6 b{
  width:10px!important;height:10px!important;
  transform:rotate(45deg)!important;background:#3aa55e!important;
}
.bpTopAccentV6 span:nth-child(4){background:#f49b20!important}
.bpTopAccentV6 span:nth-child(5){background:#e66f2d!important}

#bpLoginCardV6 h1{
  margin:0 0 6px!important;
  text-align:center!important;
  color:#0f2a52!important;
  font:var(--w-display,700) clamp(30px,2.3vw,42px)/1.05 Arial,sans-serif!important;
  letter-spacing:-.03em!important;
}
#bpLoginSubtitleV6{
  margin:0 0 30px!important;
  text-align:center!important;
  color:#61718a!important;
  font:var(--w-medium,500) 14px/1.45 Arial,sans-serif!important;
}
#bpLoginCardV6>label{
  display:block!important;
  margin:0 0 7px!important;
  color:#10213d!important;
  font:var(--w-strong,600) 13px Arial,sans-serif!important;
}
.bpFieldV6{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:55px!important;
  margin:0 0 17px!important;
  padding:0 14px!important;
  border:1px solid #d7dfea!important;
  border-radius:10px!important;
  background:#fff!important;
}
.bpFieldV6:focus-within{
  border-color:#8fa8c8!important;
  box-shadow:0 0 0 3px rgba(20,65,120,.08)!important;
}
.bpFieldIconV6{
  color:#37537b!important;
  font-size:18px!important;
}
.bpFieldV6 input{
  flex:1!important;
  width:100%!important;
  min-width:0!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#0f172a!important;
  font:var(--w-body,400) 15px Arial,sans-serif!important;
}
#bpPwdToggleV6{
  width:38px!important;height:38px!important;
  border:0!important;background:transparent!important;
  color:#526a8b!important;cursor:pointer!important;
}
#bpLoginMetaV6{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 20px!important;
}
#bpLoginMetaV6 label{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#10213d!important;
  font:600 12px Arial,sans-serif!important;
}
#bpLoginMetaV6 input{width:auto!important;height:auto!important}
#bpForgotV6{
  border:0!important;background:transparent!important;
  color:#1476ff!important;font:var(--w-strong,600) 12px Arial,sans-serif!important;cursor:pointer!important;
}
#mgmtLoginBtn{
  width:100%!important;
  min-height:56px!important;
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(90deg,#062b5c,#0c3f7d)!important;
  color:#fff!important;
  font:var(--w-strong,600) 16px Arial,sans-serif!important;
  cursor:pointer!important;
  box-shadow:0 10px 22px rgba(6,43,92,.20)!important;
}
.bpSignArrowV6{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;height:26px!important;
  margin-right:7px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:50%!important;
}
#bpLoginErrorV6{
  display:none;
  margin-top:12px!important;
  padding:9px 11px!important;
  border:1px solid #efb2aa!important;
  border-radius:9px!important;
  background:#fff1f0!important;
  color:#8a261f!important;
  font:600 12px/1.4 Arial,sans-serif!important;
}

#bpQuickTitleV6{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
  margin:22px 0 16px!important;
  color:#75849a!important;
}
#bpQuickTitleV6 span{height:1px!important;background:#e1e7ee!important}
#bpQuickTitleV6 b{font:var(--w-strong,600) 12px Arial,sans-serif!important}

#bpQuickGridV6{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:10px!important;
}
.bpQuickCardV6{
  min-height:70px!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:10px!important;
  border:1px solid #dfe5ed!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#10213d!important;
  text-align:left!important;
  cursor:pointer!important;
}
.bpQuickIconV6{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;height:32px!important;
  color:#1476ff!important;
  font-size:21px!important;
}
.bpQuickCardV6 strong{
  display:block!important;
  margin-bottom:2px!important;
  font:var(--w-strong,600) 10px Arial,sans-serif!important;
}
.bpQuickCardV6 small{
  display:block!important;
  color:#7b8aa0!important;
  font:var(--w-body,400) 9px Arial,sans-serif!important;
}
#bpHelpPanelV6{
  width:100%!important;
  min-height:66px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:20px!important;
  padding:12px 14px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#fff,#fbfcfe)!important;
  color:#10213d!important;
  text-align:left!important;
  cursor:pointer!important;
}
.bpHelpIconV6{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;height:32px!important;
  color:#214b85!important;
  font-size:20px!important;
}
.bpHelpTextV6{flex:1!important}
.bpHelpTextV6 strong{
  display:block!important;
  margin-bottom:3px!important;
  font:var(--w-strong,600) 12px Arial,sans-serif!important;
}
.bpHelpTextV6 small{
  display:block!important;
  color:#718198!important;
  font:var(--w-body,400) 10px Arial,sans-serif!important;
}
.bpHelpArrowV6{font-size:25px!important;color:#214b85!important}

/* Fit the entire page inside common laptop/browser heights */
@media(max-height:900px) and (min-width:821px){
  #bpHeroContentV6{top:28px!important;left:34px!important}
  #bpHeroLogoV6{width:250px!important;max-height:82px!important;margin-bottom:26px!important}
  #bpHeroHeadlineV6 h2{font-size:32px!important}
  #bpHeroHeadlineV6 p{font-size:13px!important}
  .bpAccentLineV6{margin:14px 0 14px!important}
  #bpHeroFeaturesV6{padding:10px 28px 14px!important}
  .bpFeatureIconV6{width:43px!important;height:43px!important;font-size:22px!important;margin-bottom:6px!important}
  .bpHeroFeatureV6 strong{font-size:11px!important}
  .bpHeroFeatureV6 span{font-size:9px!important}
  #bpLoginSideV6{padding:54px 26px 18px!important}
  #bpLanguageV6{top:14px!important;right:20px!important;transform:scale(.92);transform-origin:top right!important}
  #bpLoginCardV6{max-width:455px!important;padding:20px 22px 18px!important}
  .bpTopAccentV6{margin-bottom:14px!important}
  #bpLoginCardV6 h1{font-size:30px!important}
  #bpLoginSubtitleV6{margin-bottom:18px!important;font-size:12px!important}
  .bpFieldV6{min-height:45px!important;margin-bottom:10px!important}
  #mgmtLoginBtn{min-height:47px!important}
  #bpQuickTitleV6{margin:14px 0 10px!important}
  .bpQuickCardV6{min-height:56px!important;padding:7px!important}
  #bpHelpPanelV6{min-height:52px!important;margin-top:12px!important;padding:8px 10px!important}
}

/* Mobile: preserve full visibility, avoid horizontal crop */
@media(max-width:820px){
  #bpLoginGateV6{
    display:block!important;
    overflow:auto!important;
    background:#f8fafc!important;
  }
  #bpLoginHeroV6{
    height:310px!important;
    min-height:310px!important;
  }
  #bpHeroHotelV6{
    object-fit:cover!important;
    object-position:center 42%!important;
  }
  #bpHeroContentV6{
    top:18px!important;
    left:18px!important;
    width:75%!important;
  }
  #bpHeroLogoV6{
    width:190px!important;
    max-height:68px!important;
    margin-bottom:18px!important;
  }
  #bpHeroHeadlineV6 h2{font-size:24px!important}
  #bpHeroHeadlineV6 p{display:none!important}
  .bpAccentLineV6{margin:12px 0!important}
  #bpHeroFeaturesV6{
    padding:8px 8px 10px!important;
  }
  .bpHeroFeatureV6{padding:5px!important}
  .bpFeatureIconV6{width:36px!important;height:36px!important;font-size:18px!important}
  .bpHeroFeatureV6 strong{font-size:9px!important}
  .bpHeroFeatureV6 span{display:none!important}

  #bpLoginSideV6{
    min-height:calc(100dvh - 310px)!important;
    padding:66px 14px 20px!important;
    align-items:flex-start!important;
  }
  #bpLanguageV6{top:14px!important;right:14px!important}
  #bpLoginCardV6{
    width:min(100%,480px)!important;
    max-width:480px!important;
    padding:22px 16px 18px!important;
  }
  #bpLoginCardV6 h1{font-size:30px!important}
  #bpQuickGridV6{grid-template-columns:1fr!important}
  .bpQuickCardV6{min-height:54px!important}
}

/* ===== BrightPath exact full-screen login ===== */
#bpAuthGate{
  display:flex;
  position:fixed;
  inset:0;
  z-index:99999;
  width:100vw;
  height:100dvh;
  min-height:100vh;
  overflow:hidden;
  background:#06172f;
}
body.bp-auth-ready #bpAuthGate,
body.public-inventory-mode #bpAuthGate,
body.public-inspection-mode #bpAuthGate,
body.public-employee-mode #bpAuthGate{display:none!important}
body.bp-auth-login,
body.bp-auth-checking{overflow:hidden}

.bp-auth-shell{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:#06172f url("brightpath-login-full.png") center center / 100% 100% no-repeat;
}

/* Cover the static right-hand login artwork with the real functional panel. */
.bp-auth-art{display:none!important}
.bp-auth-panel{
  position:absolute;
  top:0;
  right:0;
  width:42%;
  height:100%;
  min-width:480px;
  min-height:0;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:72px clamp(34px,4vw,72px) 42px;
  overflow:auto;
  box-shadow:-14px 0 36px rgba(15,23,42,.10);
}

/* Functional language toggle only — this replaces the one printed in the image. */
.bp-auth-lang{
  position:absolute;
  top:22px;
  right:30px;
  z-index:10;
  display:flex;
  gap:4px;
  padding:4px;
  border-radius:999px;
  background:#f4f6f8;
  border:1px solid #d8dee8;
  box-shadow:0 4px 16px rgba(15,23,42,.06);
}
.bp-auth-lang button{
  border:0;
  background:transparent;
  color:#475569;
  border-radius:999px;
  padding:9px 16px;
  font-weight:var(--w-strong,600);
  cursor:pointer;
}
.bp-auth-lang button.on{
  background:#0d2348;
  color:#fff;
}

.bp-auth-card{
  width:min(100%,540px);
  max-width:540px!important;
  background:#fff;
  color:#0f2344;
  padding:18px 0 12px;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.bp-auth-card h1{
  margin:0 0 8px;
  text-align:center;
  color:#0f2344;
  font-size:clamp(34px,3vw,48px);
  line-height:1.08;
  font-weight:var(--w-display,700);
  letter-spacing:-.025em;
}
.bp-auth-rule{
  text-align:center;
  color:#d59600;
  margin:5px 0 10px;
}
.bp-auth-kicker{
  text-align:center;
  color:#475569;
  font-size:15px;
  margin:0 0 30px;
}
.bp-auth-card label{
  display:block;
  color:#1e293b;
  font-size:14px;
  font-weight:var(--w-strong,600);
  margin:0 0 7px;
}
.bp-auth-inputwrap{
  min-height:60px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 15px;
  margin:0 0 18px;
  background:#fff;
  transition:border-color .15s,box-shadow .15s;
}
.bp-auth-inputwrap:focus-within{
  border-color:#d49a13;
  box-shadow:0 0 0 3px rgba(212,154,19,.13);
}
.bp-auth-inputwrap .ico{font-size:18px;color:#64748b}
.bp-auth-inputwrap input{
  width:100%;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  margin:0!important;
  padding:0!important;
  font-size:16px;
  color:#0f172a;
}
.bp-auth-eye{
  border:0;
  background:transparent;
  color:#475569;
  font-size:18px;
  cursor:pointer;
  padding:6px;
}
.bp-auth-options{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:0 0 20px;
  color:#64748b;
  font-size:13px;
}
.bp-auth-options label{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-size:13px;
  font-weight:600;
}
.bp-auth-options input{width:auto}
.bp-auth-signin{
  width:100%;
  min-height:60px;
  border:0;
  border-radius:12px;
  background:#0d2348;
  color:#fff;
  font-size:19px;
  font-weight:var(--w-strong,600);
  cursor:pointer;
  box-shadow:0 9px 22px rgba(13,35,72,.16);
}
.bp-auth-signin:hover{background:#081b3a}
.bp-auth-message{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:26px;
  padding:18px;
  border-radius:14px;
  background:#fff7e9;
  border:1px solid #f2dfb6;
  color:#3f3f46;
  font-size:14px;
  line-height:1.4;
}
.bp-auth-message .people{font-size:30px}
.bp-auth-muted{color:#64748b}

/* Medium laptops */
@media(max-width:1180px){
  .bp-auth-panel{
    width:44%;
    min-width:430px;
    padding-left:34px;
    padding-right:34px;
  }
  .bp-auth-card h1{font-size:38px}
}

/* Tablet/mobile */
@media(max-width:820px){
  #bpAuthGate{
    overflow:auto;
    background:#06172f;
  }
  body.bp-auth-login,body.bp-auth-checking{overflow:auto}
  .bp-auth-shell{
    min-height:100dvh;
    height:auto;
    background:#06172f;
  }
  .bp-auth-shell:before{
    content:"";
    display:block;
    width:100%;
    height:220px;
    background:url("brightpath-login-full.png") left center / cover no-repeat;
  }
  .bp-auth-panel{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    min-width:0;
    height:auto;
    min-height:calc(100dvh - 220px);
    padding:68px 22px 34px;
    box-shadow:none;
  }
  .bp-auth-lang{
    top:16px;
    right:18px;
  }
  .bp-auth-card{
    width:min(100%,540px);
    padding:8px 0 24px;
  }
  .bp-auth-card h1{font-size:32px}
}
@media(max-width:480px){
  .bp-auth-shell:before{height:175px}
  .bp-auth-panel{min-height:calc(100dvh - 175px);padding:64px 18px 28px}
  .bp-auth-lang{right:14px}
  .bp-auth-options{
    align-items:flex-start;
    flex-direction:column;
  }
  .bp-auth-message{font-size:13px}
}




/* ===== BrightPath merged auth safety ===== */
body:not(.bp-auth-ready):not(.public-inventory-mode):not(.public-inspection-mode):not(.public-employee-mode) #bpAuthGate{display:flex!important}
body.bp-auth-ready #bpAuthGate,
body.public-inventory-mode #bpAuthGate,
body.public-inspection-mode #bpAuthGate,
body.public-employee-mode #bpAuthGate{display:none!important}
#bpAuthGate .bp-auth-shell{
  background:#06172f url("brightpath-login-full.png") center center/100% 100% no-repeat!important;
}
@media(max-width:820px){
  #bpAuthGate .bp-auth-shell{background:#06172f!important}
  #bpAuthGate .bp-auth-shell:before{
    background:url("brightpath-login-full.png") left center/cover no-repeat!important;
  }
}



/* ===== Dashboard V3 — compact + clean customization ===== */
.bp-dashboard-v3{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:16px!important;
  align-items:start!important;
}
.bp-dashboard-v3 .bp-ops-main{min-width:0!important}
.bp-dashboard-v3 .bp-ops-rail{
  display:grid!important;
  gap:14px!important;
  align-content:start!important;
  position:sticky!important;
  top:86px!important;
}
.bp-dashboard-hero{
  align-items:center!important;
  margin-bottom:12px!important;
}
.bp-dashboard-actions{justify-content:flex-end!important}
.bp-dashboard-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.bp-dashboard-widget,
.bp-dashboard-rail-widget{
  position:relative!important;
  margin:0!important;
  min-height:0!important;
}
.bp-dashboard-kpis{
  padding:0!important;
}
.bp-dashboard-v3 .bp-panel{
  padding:15px!important;
  box-shadow:0 7px 20px rgba(18,35,63,.055)!important;
}
.bp-dashboard-v3 .bp-panel-head{
  margin-bottom:9px!important;
  min-height:32px!important;
}
.bp-dashboard-v3 .bp-stat-grid{
  gap:10px!important;
  margin:0!important;
}
.bp-dashboard-v3 .bp-stat-card{
  min-height:88px!important;
  padding:13px!important;
}
.bp-dashboard-v3 .bp-overview-row{gap:9px!important}
.bp-dashboard-v3 #propertyCards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.bp-dashboard-v3 #propertyCards .card{
  margin:0!important;
  padding:14px!important;
  box-shadow:none!important;
}
.bp-dashboard-v3 .bp-quick-grid{gap:8px!important}
.bp-dashboard-v3 .bp-quick-grid button{padding:10px!important}

/* Customization toolbar */
.bp-customize-bar{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 13px;
  margin:0 0 12px;
  border:1px solid #cbd8e5;
  border-radius:12px;
  background:#f4f8fc;
  color:#40556d;
  font-size:12px;
}
.bp-customize-bar>div:first-child{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.bp-customize-bar strong{color:#183b62;font-size:13px}
.bp-customize-bar-actions{display:flex;gap:8px;align-items:center}
body.bp-dashboard-customizing .bp-customize-bar{display:flex}
body.bp-dashboard-customizing #bpDashboardCustomizeBtn{
  background:#12233F!important;
  color:#fff!important;
  border-color:#12233F!important;
}

/* Drag handle: hidden until customize mode */
.bp-widget-drag{
  display:none;
  position:absolute;
  z-index:8;
  top:9px;
  right:10px;
  width:34px;
  height:30px;
  padding:7px 8px;
  grid-template-columns:repeat(2,4px);
  grid-template-rows:repeat(3,4px);
  gap:3px;
  place-content:center;
  border:1px solid #cbd7e4;
  border-radius:8px;
  background:#fff;
  cursor:grab;
  touch-action:none;
  box-shadow:0 2px 7px rgba(18,35,63,.08);
}
.bp-widget-drag span{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#60758d;
}
.bp-widget-drag:active{cursor:grabbing}
body.bp-dashboard-customizing .bp-widget-drag{display:grid}
body.bp-dashboard-customizing .bp-dashboard-widget,
body.bp-dashboard-customizing .bp-dashboard-rail-widget{
  outline:1px dashed #aebfd1;
  outline-offset:3px;
}
body.bp-dashboard-customizing .bp-dashboard-widget .bp-panel-head,
body.bp-dashboard-customizing .bp-dashboard-rail-widget .bp-panel-head{
  padding-right:42px!important;
}
.bp-dashboard-widget.bp-sort-dragging,
.bp-dashboard-rail-widget.bp-sort-dragging{
  opacity:.38!important;
  transform:scale(.995);
}
.bp-dashboard-widget.bp-sort-target,
.bp-dashboard-rail-widget.bp-sort-target{
  box-shadow:0 0 0 3px rgba(36,92,154,.15)!important;
}
.bp-sort-placeholder{
  height:74px;
  border:2px dashed #8ca5bf;
  border-radius:13px;
  background:#f4f8fc;
}

/* Keep content tight and avoid oversized blanks */
.bp-dashboard-v3 .bp-panel:has(#bpRecentActivity:empty),
.bp-dashboard-v3 .bp-panel:has(#bpUpcomingTasks:empty){
  min-height:110px!important;
}

@media(max-width:1180px){
  .bp-dashboard-v3{grid-template-columns:minmax(0,1fr) 285px!important}
  .bp-dashboard-v3 #propertyCards{grid-template-columns:1fr!important}
}
@media(max-width:980px){
  .bp-dashboard-v3{grid-template-columns:1fr!important}
  .bp-dashboard-v3 .bp-ops-rail{
    position:static!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .bp-dashboard-v3 .bp-ops-rail{grid-template-columns:1fr!important}
  .bp-customize-bar{align-items:flex-start!important;flex-direction:column!important}
  .bp-customize-bar-actions{width:100%!important;justify-content:flex-end!important}
  .bp-dashboard-actions{justify-content:flex-start!important}
}


/* ===== Restored employee mobile configuration from previous production index ===== */
.public-inventory-shell{display:none;min-height:100vh;background:var(--paper);color:var(--ink)}
body.public-inventory-mode .app{display:none!important}
body.public-inventory-mode .hotel-selector{display:none!important}
body.public-inventory-mode .public-inventory-shell{display:block}
.public-inventory-header{background:linear-gradient(145deg,#0c1930,#12233F 60%,#1d3c67);padding:18px 16px;color:#fff}
.public-inventory-headinner{max-width:860px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.public-inventory-logo{width:245px;max-width:58vw;background:#fff;border-radius:10px;padding:6px}
.public-inventory-body{max-width:860px;margin:auto;padding:18px 14px 40px}
.public-inventory-title{margin:0 0 5px;font-size:24px}.public-inventory-sub{margin:0;color:#667085;font-size:12px}
.public-inventory-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}
.public-meta-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}
.public-meta-card small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.public-meta-card strong{display:block;margin-top:3px;font-size:12px}
.public-count-list{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.public-count-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #edf0f3}
.public-count-row:last-child{border-bottom:0}.public-count-row input{font-size:18px;font-weight:var(--w-strong,600);text-align:center;padding:10px}
.public-item-name{font-size:13px;font-weight:var(--w-strong,600)}.public-item-meta{font-size:10px;color:var(--muted);margin-top:3px}
.public-submitbar{position:sticky;bottom:0;background:rgba(246,244,238,.95);backdrop-filter:blur(8px);padding:11px 0;margin-top:14px;border-top:1px solid var(--line)}
.public-success{background:#fff;border:1px solid #a9d9bf;border-radius:16px;padding:28px;text-align:center}.public-success h2{color:var(--green)}
.link-preview{word-break:break-all;background:#f7f8fa;border:1px dashed #bcc4d0;border-radius:10px;padding:10px;font-size:11px;margin-top:9px}
.link-builder{border-left:5px solid var(--gold)}
.no-login-pill{display:inline-flex;background:#edf8f1;color:#18794e;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:var(--w-strong,600)}
@media(max-width:640px){
 .public-inventory-headinner{display:block}.public-inventory-header .langbar{margin-top:10px;width:max-content}
 .public-inventory-meta{grid-template-columns:1fr}.public-count-row{grid-template-columns:1fr 88px}.public-inventory-logo{max-width:75vw}
}


.public-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.public-category-choice{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-align:left;cursor:pointer;transition:.15s;min-height:150px}
.public-category-choice:hover{transform:translateY(-2px);border-color:#c8a938;box-shadow:0 10px 25px rgba(0,0,0,.07)}
.public-category-choice h3{margin:0 0 7px;color:var(--navy);font-size:18px}
.public-category-choice p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.public-category-choice .start{display:inline-block;margin-top:16px;background:var(--gold);color:#17233a;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:var(--w-strong,600)}
.public-back{margin-bottom:12px}
@media(max-width:680px){.public-category-grid{grid-template-columns:1fr}.public-category-choice{min-height:auto}}



.public-inspection-shell{display:none;min-height:100vh;background:var(--paper);color:var(--ink)}
body.public-inspection-mode .app{display:none!important}
body.public-inspection-mode .hotel-selector{display:none!important}
body.public-inspection-mode .public-inventory-shell{display:none!important}
body.public-inspection-mode .public-inspection-shell{display:block}
.public-inspection-header{background:linear-gradient(145deg,#0B1220,#14213A 60%,#1D3C67);padding:18px 16px;color:#fff}
.public-inspection-headinner{max-width:880px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.public-inspection-logo{width:245px;max-width:58vw;background:#fff;border-radius:10px;padding:6px}
.public-inspection-body{max-width:880px;margin:auto;padding:18px 14px 44px}
.public-inspection-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.public-inspection-choice{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;text-align:left;cursor:pointer;min-height:165px;transition:.15s}
.public-inspection-choice:hover{transform:translateY(-2px);border-color:#93C5FD;box-shadow:0 10px 25px rgba(15,23,42,.07)}
.public-inspection-choice h3{margin:0 0 8px;color:var(--navy);font-size:19px}
.public-inspection-choice p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.public-inspection-choice .start{display:inline-block;margin-top:16px;background:#2563EB;color:#fff;border-radius:9px;padding:8px 10px;font-size:11px;font-weight:var(--w-strong,600)}
.public-inspection-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}
.public-inspection-meta .public-meta-card{background:#fff}
.public-inspection-checklist{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.public-inspection-group{border-bottom:1px solid var(--line)}
.public-inspection-group:last-child{border-bottom:0}
.public-inspection-group-title{padding:10px 12px;background:#F8FAFC;font-weight:var(--w-strong,600);color:var(--navy);font-size:12px}
.public-inspection-row{display:grid;grid-template-columns:minmax(190px,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-top:1px solid #EEF2F6}
.public-inspection-row.issue{background:#FFF5F3}.public-inspection-row.fixed{background:#F0FDF4}
.public-inspection-submit{position:sticky;bottom:0;background:rgba(246,248,251,.95);backdrop-filter:blur(8px);padding:11px 0;margin-top:14px;border-top:1px solid var(--line)}
.public-inspection-success{background:#fff;border:1px solid #A7F3D0;border-radius:16px;padding:28px;text-align:center}
.public-inspection-success h2{color:#0F766E}
.inspection-link-builder{border-left:5px solid #2563EB}
@media(max-width:680px){
 .public-inspection-headinner{display:block}.public-inspection-choice-grid{grid-template-columns:1fr}
 .public-inspection-meta{grid-template-columns:1fr}.public-inspection-row{grid-template-columns:1fr}
 .public-inspection-logo{max-width:75vw}
}



.public-employee-shell{display:none;min-height:100vh;background:#F4F7FB;color:#172033}
body.public-employee-mode .app,body.public-employee-mode .hotel-selector,body.public-employee-mode .public-inventory-shell,body.public-employee-mode .public-inspection-shell{display:none!important}
body.public-employee-mode .public-employee-shell{display:block}
.public-employee-head{background:linear-gradient(145deg,#0B1220,#14213A 60%,#1D3C67);padding:16px;color:#fff}
.public-employee-headin{max-width:760px;margin:auto;display:flex;gap:12px;align-items:center;justify-content:space-between}
.public-employee-logo{width:220px;max-width:58vw;background:#fff;border-radius:10px;padding:6px}
.public-employee-body{max-width:760px;margin:auto;padding:16px 13px 44px}
.employee-card{background:#fff;border:1px solid #E2E8F0;border-radius:18px;padding:18px;box-shadow:0 8px 30px rgba(15,23,42,.07);margin-bottom:13px}
.employee-title{font-size:25px;margin:0 0 5px;color:#0F172A}.employee-sub{font-size:12px;color:#64748B;margin:0 0 14px}
.employee-step{font-size:11px;font-weight:var(--w-strong,600);text-transform:uppercase;letter-spacing:.06em;color:#2563EB;margin-bottom:5px}
.employee-big-input,.employee-card input,.employee-card textarea,.employee-card select{font-size:16px;min-height:48px}
.employee-card textarea{min-height:110px}.employee-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.employee-choice{border:2px solid #E2E8F0;background:#fff;border-radius:14px;padding:15px;font-weight:var(--w-strong,600);font-size:14px;cursor:pointer}.employee-choice.on{border-color:#2563EB;background:#EFF6FF;color:#1D4ED8}
.employee-photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.employee-photo-preview img{width:100px;height:82px;object-fit:cover;border-radius:10px;border:1px solid #CBD5E1}
.employee-submit{width:100%;min-height:54px;font-size:16px;font-weight:var(--w-strong,600)}.employee-success{text-align:center;padding:30px 18px}.employee-success .check{font-size:52px;color:#0F766E}
.passcode-card{max-width:460px;margin:55px auto 0}.passcode-card input{text-align:center;font-size:22px;letter-spacing:.12em}.passcode-card button{width:100%;min-height:52px;margin-top:10px}
.kpi-click{cursor:pointer;transition:.12s}.kpi-click:hover{transform:translateY(-2px);border-color:#93C5FD;box-shadow:0 10px 24px rgba(15,23,42,.09)}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-item{display:flex;gap:9px;align-items:center;border:1px solid #E2E8F0;border-radius:10px;padding:9px;background:#fff}.permission-item input{width:auto}
.link-card{border:1px solid #E2E8F0;border-radius:14px;padding:14px;margin:10px 0;background:#fff}.link-card .link-label{font-size:11px;color:#364152;font-weight:var(--w-strong,600);margin-top:10px}.link-card .link-url{display:block;font-size:11px;background:#F8FAFC;color:#245C9A;padding:8px;border-radius:8px;word-break:break-all;margin:5px 0;text-decoration:underline}.link-card .link-help{font-size:11px;color:#6B7280;line-height:1.4;margin:6px 0 9px}.link-actions{display:flex;gap:7px;flex-wrap:wrap}
.bp-management-logout{background:#7F1D1D!important;color:#fff!important;border-color:#991B1B!important}
@media(max-width:600px){.employee-choice-grid,.permission-grid{grid-template-columns:1fr}.public-employee-body{padding:12px 10px 35px}.employee-card{padding:14px}.employee-title{font-size:22px}}




/* Employee/mobile routes bypass management login exactly as intended. */
body.public-employee-mode #bpAuthGate,
body.public-inventory-mode #bpAuthGate,
body.public-inspection-mode #bpAuthGate{display:none!important}
body.public-employee-mode .app,
body.public-inventory-mode .app,
body.public-inspection-mode .app{display:none!important}


#bpAuthGate{display:none!important;position:fixed;inset:0;z-index:99999;background:#f7f9fc;overflow:auto}
body.bp-auth-login #bpAuthGate,body.bp-auth-checking #bpAuthGate{display:block!important}
body.bp-auth-ready #bpAuthGate,
body.public-employee-mode #bpAuthGate,
body.public-inventory-mode #bpAuthGate,
body.public-inspection-mode #bpAuthGate{display:none!important}
.bp-login-clean-shell{display:grid;grid-template-columns:46% 54%;min-height:100dvh;background:#f7f9fc}
.bp-login-brand-side{display:flex;align-items:center;justify-content:center;padding:52px;background:linear-gradient(150deg,#07182f,#0b2852 65%,#0d315f)}
.bp-login-brand-inner{width:min(100%,520px)}
.bp-login-brand-logo{width:min(360px,84%);max-height:125px;object-fit:contain;display:block;background:#fff;border-radius:16px;padding:12px 16px}
.bp-login-brand-line{width:62px;height:4px;border-radius:99px;margin:28px 0 22px;background:linear-gradient(90deg,#f49b20,#30a568,#1677ff)}
.bp-login-brand-side h1{margin:0;color:#fff;font-size:clamp(32px,3.2vw,52px);line-height:1.05;letter-spacing:-.035em}.bp-login-brand-side h1 span{color:#dce9ff}
.bp-login-brand-side p{max-width:500px;color:#cbd8e8;font-size:15px;line-height:1.6;margin:20px 0 0}
.bp-login-form-side{position:relative;display:flex;align-items:center;justify-content:center;padding:76px 42px 34px}
.bp-login-language{position:absolute;right:28px;top:24px;display:flex;gap:4px;padding:4px;border:1px solid #dfe5ec;border-radius:999px;background:#fff}
.bp-login-language button{border:0;background:transparent;color:#64748b;padding:8px 14px;border-radius:999px;font-weight:var(--w-strong,600)}.bp-login-language button.on{background:#10213d;color:#fff}
.bp-login-clean-card{width:min(100%,450px);padding:34px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(16,33,61,.08)}
.bp-login-clean-card h1{margin:0 0 7px;color:#10213d;font-size:34px}.bp-login-clean-card .bp-auth-kicker{color:#64748b;margin-bottom:24px}
.bp-login-clean-card label{display:block;margin:0 0 7px;font-size:13px;font-weight:var(--w-strong,600);color:#1e293b}
.bp-login-clean-card .bp-auth-inputwrap{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 13px;margin-bottom:14px;border:1px solid #cbd5e1;border-radius:11px;background:#fff}
.bp-login-clean-card .bp-auth-inputwrap input{flex:1;width:100%;border:0!important;outline:0!important;box-shadow:none!important;padding:0!important}
.bp-login-clean-card .bp-auth-eye{width:36px;height:36px;border:0;background:transparent;color:#64748b}
.bp-login-clean-card .bp-auth-options{display:flex;justify-content:space-between;gap:10px;margin:2px 0 17px;color:#64748b;font-size:11px}
.bp-login-clean-card .bp-auth-options label{display:flex;align-items:center;gap:6px;margin:0;font-size:11px}
.bp-login-clean-card .bp-auth-signin{width:100%;min-height:50px;border:0;border-radius:11px;background:#10213d;color:#fff;font-size:15px;font-weight:var(--w-strong,600)}
.bp-login-clean-card .bp-auth-message{margin-top:18px;padding-top:15px;border-top:1px solid #e7ecf2;color:#7b8aa0;font-size:11px}
.bp-login-clean-card .bp-auth-rule{display:none}
@media(max-width:820px){.bp-login-clean-shell{display:block}.bp-login-brand-side{min-height:210px;padding:24px 20px;align-items:flex-start}.bp-login-brand-logo{width:225px;max-height:78px;padding:8px 10px}.bp-login-brand-line{margin:15px 0 12px}.bp-login-brand-side h1{font-size:27px}.bp-login-brand-side p{display:none}.bp-login-form-side{min-height:calc(100dvh - 210px);padding:64px 14px 24px;align-items:flex-start}.bp-login-language{right:14px;top:14px}.bp-login-clean-card{padding:24px 20px}}



/* ===== Reference-style management login ===== */
#bpAuthGate{display:none!important;position:fixed;inset:0;z-index:99999;background:#f8fafc;overflow:hidden}
body.bp-auth-login #bpAuthGate,body.bp-auth-checking #bpAuthGate{display:block!important}
body.bp-auth-ready #bpAuthGate,
body.public-employee-mode #bpAuthGate,
body.public-inventory-mode #bpAuthGate,
body.public-inspection-mode #bpAuthGate{display:none!important}

.bp-ref-login{
  display:grid;
  grid-template-columns:60% 40%;
  width:100vw;
  height:100dvh;
  min-height:100vh;
  background:#f8fafc;
}
.bp-ref-visual{position:relative;overflow:hidden;min-width:0}
.bp-ref-hotel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.bp-ref-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,.08) 40%,rgba(7,23,47,.12) 60%,rgba(7,23,47,.76)),
    linear-gradient(90deg,rgba(255,255,255,.30),rgba(255,255,255,.05) 58%,transparent);
}
.bp-ref-copy{position:absolute;z-index:2;top:42px;left:38px;width:min(520px,76%)}
.bp-ref-logo{display:block;width:min(320px,78%);max-height:105px;object-fit:contain;margin-bottom:42px}
.bp-ref-message h1{margin:0;color:#10213d;font-size:clamp(30px,2.7vw,48px);line-height:1.08;letter-spacing:-.035em}
.bp-ref-message .green{color:#2aa45f}.bp-ref-message .blue{color:#1476ff}
.bp-ref-line{display:flex;align-items:center;gap:5px;margin:18px 0 19px}
.bp-ref-line i{display:block;width:18px;height:3px;border-radius:99px}
.bp-ref-line i:nth-child(1){background:#214b85}.bp-ref-line i:nth-child(2){background:#ee9f22}.bp-ref-line b{width:9px;height:9px;transform:rotate(45deg);background:#2ca25f}
.bp-ref-line i:nth-child(4){background:#2ca25f}.bp-ref-line i:nth-child(5){background:#f29a1f}
.bp-ref-message p{margin:0;color:#536783;font-size:16px;line-height:1.55}
.bp-ref-features{
  position:absolute;z-index:3;left:0;right:0;bottom:0;
  display:grid;grid-template-columns:repeat(3,1fr);
  padding:28px 36px;
  background:linear-gradient(180deg,rgba(6,23,45,0),rgba(6,23,45,.90) 35%,rgba(6,23,45,.97));
}
.bp-ref-features div{padding:8px 18px;text-align:center;color:#fff;border-right:1px solid rgba(255,255,255,.22)}
.bp-ref-features div:last-child{border-right:0}
.bp-ref-features strong{display:block;font-size:13px;margin-bottom:5px}
.bp-ref-features span{font-size:11px;color:#e8eef7}

.bp-ref-formside{position:relative;display:flex;align-items:center;justify-content:center;padding:72px 38px 26px;overflow:auto;background:#f9fbfd}
.bp-ref-language{position:absolute;right:28px;top:22px;display:flex;gap:4px;padding:4px;border:1px solid #e1e7ee;border-radius:999px;background:#fff;box-shadow:0 8px 22px rgba(16,33,61,.06)}
.bp-ref-language button{border:0;background:transparent;color:#64748b;padding:8px 14px;border-radius:999px;font-weight:var(--w-strong,600)}
.bp-ref-language button.on{background:#10213d;color:#fff}
.bp-ref-card{width:min(100%,500px);padding:30px 28px 24px;border:1px solid #e6ebf1;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(16,33,61,.08)}
.bp-ref-card h1{margin:0 0 7px;text-align:center;color:#10213d;font-size:36px;letter-spacing:-.03em}
.bp-ref-card .bp-auth-kicker{margin-bottom:26px;text-align:center;color:#65758d;font-size:13px}
.bp-ref-card label{display:block;margin:0 0 7px;color:#10213d;font-size:13px;font-weight:var(--w-strong,600)}
.bp-ref-card .bp-auth-inputwrap{display:flex;align-items:center;gap:10px;min-height:52px;margin-bottom:15px;padding:0 13px;border:1px solid #d3dce7;border-radius:10px;background:#fff}
.bp-ref-card .bp-auth-inputwrap input{flex:1;width:100%;border:0!important;outline:0!important;box-shadow:none!important;padding:0!important}
.bp-ref-card .bp-auth-eye{width:36px;height:36px;border:0;background:transparent;color:#64748b}
.bp-ref-card .bp-auth-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;color:#64748b;font-size:11px}
.bp-ref-card .bp-auth-options label{display:flex;align-items:center;gap:6px;margin:0;font-size:11px}
.bp-ref-card .bp-auth-signin{width:100%;min-height:52px;border:0;border-radius:10px;background:linear-gradient(90deg,#062b5c,#0c3f7d);color:#fff;font-weight:var(--w-strong,600);font-size:15px}
.bp-ref-card .bp-auth-message{margin-top:18px;padding-top:15px;border-top:1px solid #e7ecf2;color:#7b8aa0;font-size:11px}
.bp-ref-card .bp-auth-rule{display:none}

@media(max-height:850px) and (min-width:821px){
  .bp-ref-copy{top:28px;left:32px}.bp-ref-logo{width:245px;max-height:80px;margin-bottom:24px}
  .bp-ref-message h1{font-size:32px}.bp-ref-message p{font-size:13px}.bp-ref-line{margin:13px 0}
  .bp-ref-features{padding:14px 25px}.bp-ref-formside{padding:55px 26px 18px}.bp-ref-card{max-width:445px;padding:22px}
  .bp-ref-card h1{font-size:30px}.bp-ref-card .bp-auth-kicker{margin-bottom:18px}.bp-ref-card .bp-auth-inputwrap{min-height:45px;margin-bottom:10px}
  .bp-ref-card .bp-auth-signin{min-height:47px}
}
@media(max-width:820px){
  #bpAuthGate{overflow:auto}
  .bp-ref-login{display:block;height:auto;min-height:100dvh}
  .bp-ref-visual{height:300px}
  .bp-ref-copy{top:18px;left:18px;width:76%}.bp-ref-logo{width:190px;max-height:65px;margin-bottom:18px}
  .bp-ref-message h1{font-size:24px}.bp-ref-message p{display:none}.bp-ref-features{padding:8px}.bp-ref-features div{padding:4px}
  .bp-ref-features strong{font-size:9px}.bp-ref-features span{display:none}
  .bp-ref-formside{min-height:calc(100dvh - 300px);padding:64px 14px 24px;align-items:flex-start}
  .bp-ref-language{right:14px;top:14px}.bp-ref-card{padding:22px 16px}.bp-ref-card h1{font-size:30px}
}



/* ===== BrightPath Login V8 — exact reference composition, responsive/no clipping ===== */
#bpAuthGate{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:auto!important;
  background:#f8fafc!important;
}
body.bp-auth-login #bpAuthGate{display:block!important}
body.bp-auth-checking #bpAuthGate{display:block!important}
body.bp-auth-ready #bpAuthGate,
body.public-employee-mode #bpAuthGate,
body.public-inventory-mode #bpAuthGate,
body.public-inspection-mode #bpAuthGate{display:none!important}

.bp-login-v8{
  display:grid!important;
  grid-template-columns:minmax(0,60fr) minmax(410px,40fr)!important;
  width:100%!important;
  min-height:100dvh!important;
  background:#f8fafc!important;
}
.bp-login-v8-hero{
  position:relative!important;
  min-width:0!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  background:#dbe5f0!important;
}
.bp-login-v8-hotel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.bp-login-v8-wash{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.34) 0%,rgba(255,255,255,.13) 42%,rgba(10,28,51,.03) 58%,rgba(8,24,47,.78) 100%),
    linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,.08) 45%,transparent 74%)!important;
}
.bp-login-v8-brand{
  position:absolute!important;
  z-index:2!important;
  top:clamp(24px,4.8vh,64px)!important;
  left:clamp(24px,3.6vw,58px)!important;
  width:min(520px,78%)!important;
}
.bp-login-v8-logo{
  display:block!important;
  width:clamp(220px,18vw,325px)!important;
  max-height:105px!important;
  object-fit:contain!important;
  margin:0 0 clamp(28px,5vh,60px)!important;
  background:transparent!important;
}
.bp-login-v8-copy h1{
  margin:0!important;
  color:#10213d!important;
  font-size:clamp(28px,2.45vw,46px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  text-shadow:0 1px 2px rgba(255,255,255,.55)!important;
}
.bp-login-v8-copy .bp-green{color:#2aa45f!important}
.bp-login-v8-copy .bp-blue{color:#1476ff!important}
.bp-login-v8-accent,
.bp-login-v8-card-accent{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  margin:20px 0 20px!important;
}
.bp-login-v8-card-accent{justify-content:center!important;margin:0 0 24px!important}
.bp-login-v8-accent i,.bp-login-v8-card-accent i{
  display:block!important;width:18px!important;height:3px!important;border-radius:99px!important;
}
.bp-login-v8-accent i:nth-child(1),.bp-login-v8-card-accent i:nth-child(1){background:#1476ff!important}
.bp-login-v8-accent i:nth-child(2),.bp-login-v8-card-accent i:nth-child(2){background:#2ca25f!important}
.bp-login-v8-accent b,.bp-login-v8-card-accent b{display:block!important;width:9px!important;height:9px!important;transform:rotate(45deg)!important;background:#2ca25f!important}
.bp-login-v8-accent i:nth-child(4),.bp-login-v8-card-accent i:nth-child(4){background:#f49b20!important}
.bp-login-v8-accent i:nth-child(5),.bp-login-v8-card-accent i:nth-child(5){background:#e86f28!important}
.bp-login-v8-copy p{
  margin:0!important;
  color:#52657f!important;
  font-size:clamp(13px,1.05vw,17px)!important;
  line-height:1.55!important;
}
.bp-login-v8-features{
  position:absolute!important;
  z-index:3!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  padding:18px 34px 26px!important;
  background:linear-gradient(180deg,rgba(8,24,47,0),rgba(8,24,47,.88) 34%,rgba(8,24,47,.96) 100%)!important;
}
.bp-login-v8-feature{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  padding:8px 18px!important;
  color:#fff!important;
  border-right:1px solid rgba(255,255,255,.23)!important;
}
.bp-login-v8-feature:last-child{border-right:0!important}
.bp-login-v8-feature-icon{
  display:grid!important;
  place-items:center!important;
  width:50px!important;height:50px!important;
  margin-bottom:9px!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#1476ff!important;
  font-size:24px!important;
}
.bp-login-v8-feature:nth-child(2) .bp-login-v8-feature-icon{color:#29a35d!important}
.bp-login-v8-feature:nth-child(3) .bp-login-v8-feature-icon{color:#f28b18!important}
.bp-login-v8-feature strong{font-size:12px!important;margin-bottom:5px!important}
.bp-login-v8-feature span{font-size:10px!important;line-height:1.4!important;color:#edf3fb!important}

.bp-login-v8-side{
  position:relative!important;
  min-width:0!important;
  min-height:100dvh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:72px 34px 28px!important;
  background:#f9fbfd!important;
  overflow:auto!important;
}
.bp-login-v8-language{
  position:absolute!important;
  top:24px!important;
  right:30px!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:42px!important;
  padding:4px 9px!important;
  border:1px solid #e3e8ef!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(17,39,71,.07)!important;
}
.bp-login-v8-language button{
  border:0!important;
  background:transparent!important;
  color:#75849a!important;
  padding:7px 8px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:var(--w-strong,600)!important;
}
.bp-login-v8-language button.on{color:#10213d!important}
.bp-login-v8-globe{color:#10213d!important;font-weight:var(--w-strong,600)!important}

.bp-login-v8-card{
  width:min(100%,520px)!important;
  padding:30px 28px 24px!important;
  border:1px solid #e7ebf1!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(16,33,61,.085)!important;
}
#bpAuthGateCard h1{
  margin:0 0 7px!important;
  text-align:center!important;
  color:#10213d!important;
  font-size:clamp(30px,2.25vw,40px)!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
}
.bp-login-v8-sub{
  margin:0 0 28px!important;
  text-align:center!important;
  color:#64748b!important;
  font-size:13px!important;
}
#bpAuthGateCard>label{
  display:block!important;
  margin:0 0 7px!important;
  color:#10213d!important;
  font-size:13px!important;
  font-weight:var(--w-strong,600)!important;
}
.bp-login-v8-field{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:54px!important;
  margin-bottom:16px!important;
  padding:0 13px!important;
  border:1px solid #d5dde7!important;
  border-radius:10px!important;
  background:#fff!important;
}
.bp-login-v8-field input{
  flex:1!important;
  min-width:0!important;
  width:100%!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  padding:0!important;
  background:transparent!important;
  color:#0f172a!important;
  font-size:14px!important;
}
.bp-login-v8-eye{
  width:38px!important;height:38px!important;
  border:0!important;background:transparent!important;color:#4f6686!important;
}
.bp-login-v8-options{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 18px!important;
}
.bp-login-v8-remember{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  font-size:11px!important;
  color:#10213d!important;
}
.bp-login-v8-remember input{width:auto!important;height:auto!important}
.bp-login-v8-forgot{
  border:0!important;
  background:transparent!important;
  color:#1476ff!important;
  font-size:11px!important;
  font-weight:var(--w-strong,600)!important;
}
.bp-login-v8-submit{
  width:100%!important;
  min-height:54px!important;
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(90deg,#062b5c,#0c3f7d)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:var(--w-strong,600)!important;
  box-shadow:0 10px 22px rgba(6,43,92,.18)!important;
}
.bp-login-v8-quick-title{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:12px!important;
  margin:22px 0 15px!important;
  color:#718198!important;
  font-size:11px!important;
}
.bp-login-v8-quick-title span{height:1px!important;background:#e0e6ed!important}
.bp-login-v8-quick{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.bp-login-v8-quick-card{
  min-height:66px!important;
  padding:10px!important;
  border:1px solid #dfe5ed!important;
  border-radius:10px!important;
  background:#fff!important;
  text-align:left!important;
  color:#10213d!important;
}
.bp-login-v8-quick-card strong{display:block!important;font-size:10px!important;margin-bottom:3px!important}
.bp-login-v8-quick-card span{display:block!important;font-size:9px!important;color:#7b8aa0!important}
.bp-login-v8-help{
  width:100%!important;
  min-height:66px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:18px!important;
  padding:12px 14px!important;
  border:1px solid #e2e8f0!important;
  border-radius:10px!important;
  background:#fbfcfe!important;
  color:#10213d!important;
  text-align:left!important;
}
.bp-login-v8-help-icon{font-size:20px!important}
.bp-login-v8-help>span:nth-child(2){flex:1!important}
.bp-login-v8-help strong{display:block!important;font-size:11px!important;margin-bottom:3px!important}
.bp-login-v8-help small{display:block!important;font-size:9px!important;color:#718198!important}
.bp-login-v8-help>b{font-size:24px!important}

/* Fit normal laptops at 100% browser zoom */
@media(max-height:900px) and (min-width:821px){
  .bp-login-v8-brand{top:24px!important;left:30px!important}
  .bp-login-v8-logo{width:245px!important;max-height:80px!important;margin-bottom:24px!important}
  .bp-login-v8-copy h1{font-size:31px!important}
  .bp-login-v8-copy p{font-size:13px!important}
  .bp-login-v8-accent{margin:13px 0!important}
  .bp-login-v8-features{padding:10px 24px 14px!important}
  .bp-login-v8-feature-icon{width:40px!important;height:40px!important;font-size:20px!important;margin-bottom:5px!important}
  .bp-login-v8-feature strong{font-size:10px!important}
  .bp-login-v8-feature span{font-size:8px!important}

  .bp-login-v8-side{padding:54px 24px 16px!important}
  .bp-login-v8-language{top:13px!important;right:18px!important;transform:scale(.92);transform-origin:top right!important}
  .bp-login-v8-card{max-width:455px!important;padding:19px 21px 17px!important}
  .bp-login-v8-card-accent{margin-bottom:12px!important}
  #bpAuthGateCard h1{font-size:29px!important}
  .bp-login-v8-sub{margin-bottom:17px!important;font-size:11px!important}
  .bp-login-v8-field{min-height:44px!important;margin-bottom:10px!important}
  .bp-login-v8-submit{min-height:46px!important}
  .bp-login-v8-quick-title{margin:13px 0 9px!important}
  .bp-login-v8-quick-card{min-height:52px!important;padding:7px!important}
  .bp-login-v8-help{min-height:49px!important;margin-top:10px!important;padding:7px 9px!important}
}

/* Medium-width browser / split-window mode: shrink, don't crop */
@media(max-width:1180px) and (min-width:821px){
  .bp-login-v8{grid-template-columns:52% 48%!important}
  .bp-login-v8-brand{width:86%!important}
  .bp-login-v8-logo{width:220px!important}
  .bp-login-v8-copy h1{font-size:29px!important}
  .bp-login-v8-features{padding-left:12px!important;padding-right:12px!important}
  .bp-login-v8-feature{padding-left:8px!important;padding-right:8px!important}
  .bp-login-v8-side{padding-left:18px!important;padding-right:18px!important}
}

/* Narrow split-window/tablet: stack vertically so nothing is half cut */
@media(max-width:820px){
  #bpAuthGate{overflow:auto!important}
  .bp-login-v8{
    display:block!important;
    min-height:100dvh!important;
  }
  .bp-login-v8-hero{
    min-height:320px!important;
    height:320px!important;
  }
  .bp-login-v8-hotel{
    object-fit:cover!important;
    object-position:center 42%!important;
  }
  .bp-login-v8-brand{
    top:16px!important;
    left:16px!important;
    width:75%!important;
  }
  .bp-login-v8-logo{
    width:185px!important;
    max-height:64px!important;
    margin-bottom:16px!important;
  }
  .bp-login-v8-copy h1{font-size:23px!important}
  .bp-login-v8-copy p{display:none!important}
  .bp-login-v8-accent{margin:10px 0!important}
  .bp-login-v8-features{padding:7px!important}
  .bp-login-v8-feature{padding:3px!important}
  .bp-login-v8-feature-icon{width:34px!important;height:34px!important;font-size:16px!important}
  .bp-login-v8-feature strong{font-size:8px!important}
  .bp-login-v8-feature span{display:none!important}

  .bp-login-v8-side{
    min-height:calc(100dvh - 320px)!important;
    padding:64px 14px 22px!important;
    align-items:flex-start!important;
  }
  .bp-login-v8-language{top:13px!important;right:13px!important}
  .bp-login-v8-card{width:min(100%,480px)!important;padding:20px 16px!important}
  #bpAuthGateCard h1{font-size:29px!important}
  .bp-login-v8-quick{grid-template-columns:1fr!important}
  .bp-login-v8-quick-card{min-height:50px!important}
}

/* Very narrow phones */
@media(max-width:480px){
  .bp-login-v8-hero{height:275px!important;min-height:275px!important}
  .bp-login-v8-side{min-height:calc(100dvh - 275px)!important}
  .bp-login-v8-card{border-radius:14px!important}
  .bp-login-v8-options{align-items:flex-start!important;flex-direction:column!important}
}



/* ===== BrightPath exact reference login — interactive + flexible ===== */
#bpAuthGate{
  display:none!important;
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  width:100vw!important;
  height:100dvh!important;
  overflow:hidden!important;
  background:#f6f8fb!important;
}
body.bp-auth-login #bpAuthGate,body.bp-auth-checking #bpAuthGate{display:block!important}
body.bp-auth-ready #bpAuthGate,
body.public-employee-mode #bpAuthGate,
body.public-inventory-mode #bpAuthGate,
body.public-inspection-mode #bpAuthGate{display:none!important}

#bpLoginScaleStage{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#f6f8fb!important;
}
#bpLoginDesignCanvas{
  width:1600px!important;
  height:1024px!important;
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:960px 640px!important;
  transform-origin:center center!important;
  background:#f8fafc!important;
}
.bp-login-exact-left{
  position:relative!important;
  width:960px!important;
  height:1024px!important;
  overflow:hidden!important;
  background:#dbe5ef!important;
}
.bp-login-exact-left img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
}
.bp-login-exact-right{
  position:relative!important;
  width:640px!important;
  height:1024px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:92px 54px 46px!important;
  background:#fbfcfe!important;
}
.bp-login-exact-language{
  position:absolute!important;
  top:44px!important;
  right:52px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:4px 12px!important;
  border:1px solid #e3e8ef!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#10213d!important;
  box-shadow:0 8px 22px rgba(17,39,71,.07)!important;
}
.bp-login-exact-language button{
  border:0!important;
  background:transparent!important;
  color:#718198!important;
  padding:6px 4px!important;
  font-size:12px!important;
  font-weight:var(--w-strong,600)!important;
}
.bp-login-exact-language button.on{color:#10213d!important}
.bp-login-globe,.bp-login-chevron{font-weight:var(--w-strong,600)!important}

.bp-login-exact-card{
  width:520px!important;
  padding:38px 28px 30px!important;
  border:1px solid #e7ebf1!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(16,33,61,.085)!important;
}
.bp-login-card-accent{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:5px!important;margin:0 0 26px!important;
}
.bp-login-card-accent i{width:19px!important;height:3px!important;border-radius:99px!important}
.bp-login-card-accent i:nth-child(1){background:#1476ff!important}
.bp-login-card-accent i:nth-child(2){background:#2ca25f!important}
.bp-login-card-accent b{width:9px!important;height:9px!important;transform:rotate(45deg)!important;background:#2ca25f!important}
.bp-login-card-accent i:nth-child(4){background:#f49b20!important}
.bp-login-card-accent i:nth-child(5){background:#e86f28!important}

#bpAuthGateCard h1{
  margin:0 0 7px!important;text-align:center!important;color:#10213d!important;
  font-size:37px!important;line-height:1.05!important;letter-spacing:-.03em!important;
}
.bp-login-sub{margin:0 0 30px!important;text-align:center!important;color:#64748b!important;font-size:13px!important}
#bpAuthGateCard>label{display:block!important;margin:0 0 8px!important;color:#10213d!important;font-size:13px!important;font-weight:var(--w-strong,600)!important}
.bp-login-field{
  display:flex!important;align-items:center!important;gap:11px!important;
  min-height:58px!important;margin-bottom:18px!important;padding:0 15px!important;
  border:1px solid #d7dee8!important;border-radius:10px!important;background:#fff!important;
}
.bp-login-field input{
  flex:1!important;min-width:0!important;width:100%!important;border:0!important;outline:0!important;
  box-shadow:none!important;padding:0!important;background:transparent!important;color:#0f172a!important;font-size:14px!important;
}
.field-icon{color:#37527a!important;font-size:18px!important}
.bp-login-eye{width:38px!important;height:38px!important;border:0!important;background:transparent!important;color:#4e6687!important}
.bp-login-options{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0 0 20px!important;
}
.bp-login-remember{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;font-size:11px!important;color:#10213d!important}
.bp-login-remember input{width:auto!important;height:auto!important}
.bp-login-forgot{border:0!important;background:transparent!important;color:#1476ff!important;font-size:11px!important;font-weight:var(--w-strong,600)!important}
.bp-login-submit{
  width:100%!important;min-height:58px!important;border:0!important;border-radius:10px!important;
  background:linear-gradient(90deg,#062b5c,#0b3973)!important;color:#fff!important;font-size:16px!important;font-weight:var(--w-strong,600)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
}
.signin-circle{
  display:grid!important;place-items:center!important;width:27px!important;height:27px!important;border:1px solid rgba(255,255,255,.82)!important;border-radius:50%!important;
}
.bp-login-quick-title{
  display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:12px!important;
  margin:24px 0 16px!important;color:#718198!important;font-size:11px!important;
}
.bp-login-quick-title span{height:1px!important;background:#e0e6ed!important}
.bp-login-quick-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important}
.bp-login-quick-card{
  min-height:70px!important;display:flex!important;align-items:center!important;gap:8px!important;padding:10px!important;
  border:1px solid #dfe5ed!important;border-radius:10px!important;background:#fff!important;color:#10213d!important;text-align:left!important;
}
.qicon{font-size:21px!important;color:#1476ff!important}
.bp-login-quick-card strong{display:block!important;font-size:10px!important;margin-bottom:3px!important}
.bp-login-quick-card small{display:block!important;font-size:9px!important;color:#718198!important}
.bp-login-help{
  width:100%!important;min-height:70px!important;display:flex!important;align-items:center!important;gap:12px!important;
  margin-top:20px!important;padding:12px 14px!important;border:1px solid #e1e7ee!important;border-radius:10px!important;
  background:#fbfcfe!important;color:#10213d!important;text-align:left!important;
}
.helpicon{font-size:22px!important}
.bp-login-help>span:nth-child(2){flex:1!important}
.bp-login-help strong{display:block!important;font-size:11px!important;margin-bottom:3px!important}
.bp-login-help small{display:block!important;font-size:9px!important;color:#718198!important}
.bp-login-help>b{font-size:24px!important}

/* Phone/tablet: real responsive reflow rather than a tiny scaled desktop */
@media(max-width:760px){
  #bpAuthGate{overflow:auto!important}
  #bpLoginScaleStage{display:block!important;height:auto!important;overflow:visible!important}
  #bpLoginDesignCanvas{
    width:100%!important;height:auto!important;display:block!important;transform:none!important;
  }
  .bp-login-exact-left{
    width:100%!important;height:auto!important;aspect-ratio:960/1024!important;
  }
  .bp-login-exact-left img{width:100%!important;height:100%!important;object-fit:contain!important;background:#dbe5ef!important}
  .bp-login-exact-right{
    width:100%!important;height:auto!important;min-height:620px!important;padding:76px 14px 26px!important;
  }
  .bp-login-exact-language{top:18px!important;right:16px!important}
  .bp-login-exact-card{width:min(100%,520px)!important;padding:24px 18px!important}
  #bpAuthGateCard h1{font-size:30px!important}
  .bp-login-quick-grid{grid-template-columns:1fr!important}
  .bp-login-quick-card{min-height:54px!important}
}



/* ==================================================================
   BrightPath PUBLIC MOBILE ISOLATION — Work Order / PM / Inventory /
   Inspection. Public pages must never inherit management mobile chrome.
   ================================================================== */

/* Only the active public shell may be visible. */
body.public-employee-mode > :not(#publicEmployeeShell):not(#bpUniversalViewer):not(script):not(style),
body.public-inventory-mode > :not(#publicInventoryShell):not(#bpUniversalViewer):not(script):not(style),
body.public-inspection-mode > :not(#publicInspectionShell):not(#bpUniversalViewer):not(script):not(style){
  display:none!important;
}
body.public-employee-mode > #publicEmployeeShell,
body.public-inventory-mode > #publicInventoryShell,
body.public-inspection-mode > #publicInspectionShell{
  display:block!important;
}

/* Explicitly kill management-only phone UI. */
body.public-employee-mode .bp-mobile-bottomnav,
body.public-inventory-mode .bp-mobile-bottomnav,
body.public-inspection-mode .bp-mobile-bottomnav,
body.public-employee-mode .bp-mobile-overlay,
body.public-inventory-mode .bp-mobile-overlay,
body.public-inspection-mode .bp-mobile-overlay,
body.public-employee-mode .bp-wo-toast,
body.public-inventory-mode .bp-wo-toast,
body.public-inspection-mode .bp-wo-toast,
body.public-employee-mode .bp-notify-panel,
body.public-inventory-mode .bp-notify-panel,
body.public-inspection-mode .bp-notify-panel,
body.public-employee-mode .bp-notify-bell,
body.public-inventory-mode .bp-notify-bell,
body.public-inspection-mode .bp-notify-bell,
body.public-employee-mode .app,
body.public-inventory-mode .app,
body.public-inspection-mode .app{
  display:none!important;
}

/* Public page viewport */
body.public-employee-mode,
body.public-inventory-mode,
body.public-inspection-mode{
  width:100%!important;
  max-width:100%!important;
  min-height:100dvh!important;
  margin:0!important;
  overflow-x:hidden!important;
  background:#f3f6fa!important;
  -webkit-text-size-adjust:100%!important;
}

#publicEmployeeShell,
#publicInventoryShell,
#publicInspectionShell{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:100dvh!important;
  margin:0!important;
  overflow-x:hidden!important;
  background:#f3f6fa!important;
}

/* Headers stay clean, one logo, no overflow. */
.public-employee-head,
.public-inventory-header,
.public-inspection-header{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  overflow:hidden!important;
}
.public-employee-headin,
.public-inventory-headinner,
.public-inspection-headinner{
  width:min(100%,760px)!important;
  max-width:760px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
}
.public-employee-logo,
.public-inventory-logo,
.public-inspection-logo{
  display:block!important;
  width:min(230px,58vw)!important;
  max-width:58vw!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Main public content */
#publicEmployeeBody,
#publicInventoryBody,
#publicInspectionBody,
.public-employee-body,
.public-inventory-body,
.public-inspection-body{
  width:min(100%,760px)!important;
  max-width:760px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:14px 12px calc(34px + env(safe-area-inset-bottom))!important;
  overflow:visible!important;
}

/* Cards never overflow or become giant blank regions. */
.employee-card,
.public-meta-card,
.public-count-list,
.public-inspection-checklist,
.public-inspection-choice,
.public-category-choice{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow:hidden!important;
}

/* Form controls: full-width text fields, NORMAL checkboxes/radios. */
#publicEmployeeShell input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#publicEmployeeShell select,
#publicEmployeeShell textarea,
#publicInventoryShell input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#publicInventoryShell select,
#publicInventoryShell textarea,
#publicInspectionShell input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
#publicInspectionShell select,
#publicInspectionShell textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  font-size:16px!important;
}

#publicEmployeeShell input[type="checkbox"],
#publicEmployeeShell input[type="radio"],
#publicInventoryShell input[type="checkbox"],
#publicInventoryShell input[type="radio"],
#publicInspectionShell input[type="checkbox"],
#publicInspectionShell input[type="radio"]{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  flex:0 0 20px!important;
  margin:0!important;
  padding:0!important;
  border-radius:5px!important;
  accent-color:#2563eb!important;
}

/* Work Order urgent control: compact, not a blank card. */
.employee-urgent-card{
  padding:14px 16px!important;
}
.employee-urgent-row{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:24px!important;
  margin:0!important;
  line-height:1.35!important;
}
.employee-urgent-row b{
  min-width:0!important;
  font-size:14px!important;
}

/* Location and choice buttons fit phones. */
.employee-choice-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
}
.employee-choice{
  min-width:0!important;
  max-width:100%!important;
  min-height:58px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  padding:10px 8px!important;
}

/* Photo controls and preview */
#publicEmployeeShell .employee-card label.btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:54px!important;
  padding:10px 8px!important;
  white-space:normal!important;
}
.employee-photo-preview{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
}
.employee-photo-preview > div{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
}
.employee-photo-preview img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  border-radius:10px!important;
}
.employee-photo-preview button{
  right:-4px!important;
  top:-4px!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  line-height:30px!important;
}

/* Submission controls stay in document flow; Safari bottom chrome cannot cover them. */
.employee-submit,
.public-inspection-submit,
.public-submitbar{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  margin-top:12px!important;
  margin-bottom:8px!important;
  z-index:auto!important;
  transform:none!important;
}
.employee-submit,
.public-inspection-submit .btn,
.public-submitbar .btn{
  width:100%!important;
  min-height:56px!important;
  font-size:17px!important;
}

/* Public language controls */
#publicEmployeeShell .langbar,
#publicInventoryShell .langbar,
#publicInspectionShell .langbar{
  flex-wrap:wrap!important;
  max-width:100%!important;
}
#publicEmployeeShell .langbar button,
#publicInventoryShell .langbar button,
#publicInspectionShell .langbar button{
  min-height:40px!important;
  padding:7px 11px!important;
  font-size:12px!important;
}

/* PM / Inspection checklists */
#publicEmployeeShell .pmgroup,
#publicInspectionShell .public-inspection-group{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#publicEmployeeShell .checkrow,
#publicInspectionShell .public-inspection-row{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
#publicEmployeeShell .pm-mark-wrap,
#publicInspectionShell .inspect-marks{
  flex-wrap:wrap!important;
}

/* Inventory rows */
#publicInventoryShell .public-count-row{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* iPhone-size adjustments */
@media(max-width:480px){
  .public-employee-head,
  .public-inventory-header,
  .public-inspection-header{
    padding:12px!important;
  }
  .public-employee-headin,
  .public-inventory-headinner,
  .public-inspection-headinner{
    gap:8px!important;
  }
  .employee-card{
    padding:14px!important;
    border-radius:14px!important;
    margin-bottom:10px!important;
  }
  .employee-step{
    font-size:11px!important;
    line-height:1.25!important;
  }
  .employee-choice{
    font-size:13px!important;
  }
  .employee-photo-preview{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}



/* ===== Dedicated management Mobile Links section ===== */
#view-mobilelinks .hero{align-items:center}
#view-mobilelinks #employeeLinkList{display:grid;gap:12px}
#view-mobilelinks .link-card{margin:0}
@media(max-width:700px){
  #view-mobilelinks .hero{align-items:flex-start}
  #view-mobilelinks .link-actions{display:grid;grid-template-columns:1fr;gap:7px}
  #view-mobilelinks .link-actions button{width:100%}
}



/* ===== Portal-wide photo/document viewer ===== */
.bp-clickable-thumb img,.employee-photo-preview img,.photos img,.doc-pill{cursor:zoom-in}
.bp-universal-viewer{
  display:none;position:fixed;inset:0;z-index:2147483646;width:100vw;height:100dvh;min-height:100vh;
  padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));
}
.bp-universal-viewer.on{display:flex!important;align-items:center;justify-content:center}
.bp-viewer-backdrop{position:absolute;inset:0;background:rgba(4,12,25,.94);backdrop-filter:blur(3px)}
.bp-viewer-panel{
  position:relative;z-index:1;display:flex;flex-direction:column;width:min(1180px,100%);height:min(92dvh,900px);
  min-height:300px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:#0b1423;color:#fff;
  box-shadow:0 28px 90px rgba(0,0,0,.46)
}
.bp-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:8px 10px 8px 14px;border-bottom:1px solid rgba(255,255,255,.14)}
.bp-viewer-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--w-strong,600);font-size:13px}
.bp-viewer-head-actions{display:flex;align-items:center;gap:6px}
.bp-viewer-head-actions button,.bp-viewer-zoom button{
  display:grid;place-items:center;min-width:38px;height:38px;padding:0 8px;border:1px solid rgba(255,255,255,.20);
  border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-weight:var(--w-strong,600);font-size:18px
}
#bpViewerCount{min-width:40px;text-align:center;font-size:11px;color:#d6e0ed}
.bp-viewer-close{background:#fff!important;color:#10213d!important}
.bp-viewer-body{position:relative;flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}
.bp-viewer-image-stage{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding:16px;overflow:auto;touch-action:pan-x pan-y pinch-zoom}
.bp-viewer-image-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;transition:transform .12s ease}
.bp-viewer-frame{display:block;width:100%;height:100%;min-height:70vh;border:0;background:#fff}
.bp-viewer-fallback{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 10px;border-radius:9px;background:rgba(10,22,40,.86);font-size:11px;color:#fff}
.bp-viewer-file-card{max-width:460px;margin:12vh auto 0;padding:24px;text-align:center;color:#fff}
.bp-viewer-file-icon{font-size:58px}
.bp-viewer-zoom{display:flex;align-items:center;justify-content:center;gap:7px;min-height:54px;padding:8px;border-top:1px solid rgba(255,255,255,.14)}
body.bp-viewer-open{overflow:hidden!important}

body.public-employee-mode > #bpUniversalViewer.on,
body.public-inventory-mode > #bpUniversalViewer.on,
body.public-inspection-mode > #bpUniversalViewer.on{display:flex!important}

/* ===== Safari/iPhone hardening for all shared employee links ===== */
body.public-employee-mode,body.public-inventory-mode,body.public-inspection-mode{
  min-height:var(--bp-public-vh,100svh)!important;overscroll-behavior-y:auto!important;-webkit-text-size-adjust:100%!important
}
#publicEmployeeShell,#publicInventoryShell,#publicInspectionShell{
  min-height:var(--bp-public-vh,100svh)!important;-webkit-overflow-scrolling:touch!important
}
#publicEmployeeBody,#publicInventoryBody,#publicInspectionBody,
.public-employee-body,.public-inventory-body,.public-inspection-body{
  padding-bottom:max(38px,calc(env(safe-area-inset-bottom) + 28px))!important;
  scroll-padding-bottom:max(90px,calc(env(safe-area-inset-bottom) + 70px))!important
}
#publicEmployeeShell *,#publicInventoryShell *,#publicInspectionShell *{min-width:0}
#publicEmployeeShell button,#publicInventoryShell button,#publicInspectionShell button,
#publicEmployeeShell label.btn,#publicInventoryShell label.btn,#publicInspectionShell label.btn{
  touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important
}
#publicEmployeeShell input:not([type="checkbox"]):not([type="radio"]),
#publicEmployeeShell textarea,#publicEmployeeShell select,
#publicInventoryShell input:not([type="checkbox"]):not([type="radio"]),
#publicInventoryShell textarea,#publicInventoryShell select,
#publicInspectionShell input:not([type="checkbox"]):not([type="radio"]),
#publicInspectionShell textarea,#publicInspectionShell select{font-size:16px!important}
#publicEmployeeShell img,#publicInventoryShell img,#publicInspectionShell img{max-width:100%!important}

@supports (-webkit-touch-callout:none){
  html{min-height:-webkit-fill-available}
  body.public-employee-mode,body.public-inventory-mode,body.public-inspection-mode{min-height:-webkit-fill-available!important}
  #publicEmployeeShell,#publicInventoryShell,#publicInspectionShell{min-height:-webkit-fill-available!important}
  .employee-submit,.public-inspection-submit,.public-submitbar,.public-submitbar .btn{
    position:relative!important;bottom:auto!important;transform:none!important
  }
}
@media(max-width:700px){
  .bp-universal-viewer{padding:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom))}
  .bp-viewer-panel{width:100%;height:calc(var(--bp-public-vh,100dvh) - 12px);max-height:none;border-radius:12px}
  .bp-viewer-head{min-height:50px;padding:6px 7px 6px 10px}
  .bp-viewer-head-actions{gap:4px}.bp-viewer-head-actions button{min-width:34px;height:34px;font-size:16px}
  .bp-viewer-title{font-size:11px}.bp-viewer-image-stage{padding:8px}.bp-viewer-zoom{min-height:48px}
  .bp-viewer-frame{min-height:calc(var(--bp-public-vh,100dvh) - 120px)}
}



/* ===== Dashboard compactness + clean work-order notifications ===== */

/* Reduce dashboard whitespace */
#view-dashboard .content,
.view#view-dashboard{
  padding-top:0!important;
}
.content{
  padding:16px 18px!important;
}
#view-dashboard .hero{
  margin-bottom:10px!important;
  gap:12px!important;
}
#view-dashboard .hero h2{
  margin-bottom:3px!important;
  font-size:23px!important;
  line-height:1.05!important;
}
#view-dashboard .hero p{
  font-size:12px!important;
  line-height:1.35!important;
}
#view-dashboard .quicklinks{
  gap:7px!important;
}
#view-dashboard .btn{
  padding:8px 10px!important;
}
.bp-ops-dashboard{
  gap:12px!important;
}
.bp-stat-grid{
  gap:8px!important;
  margin-bottom:10px!important;
}
.bp-stat{
  min-height:96px!important;
  padding:11px 12px!important;
  border-radius:13px!important;
}
.bp-stat .icon{
  width:34px!important;
  height:34px!important;
  margin-bottom:6px!important;
}
.bp-stat .num{
  font-size:26px!important;
  margin-top:2px!important;
}
.bp-stat .sub{
  margin-top:3px!important;
  line-height:1.15!important;
}
.bp-panel{
  padding:12px!important;
  margin-bottom:10px!important;
  border-radius:13px!important;
}
.bp-panel-head{
  margin-bottom:6px!important;
}
.bp-access-strip{
  padding:0 0 4px!important;
  gap:6px!important;
}
.bp-access-chip{
  padding:7px 9px!important;
}
#view-dashboard .card{
  padding:14px!important;
}

/* Notification dropdown */
.bp-notify-panel{
  width:min(520px,calc(100vw - 28px))!important;
  max-height:min(620px,72dvh)!important;
  padding:10px!important;
  overflow:auto!important;
}
.bp-notify-head{
  position:sticky!important;
  top:0!important;
  z-index:2!important;
  background:#fff!important;
  gap:12px!important;
  padding:6px 6px 10px!important;
  border-bottom:1px solid #e9eef4!important;
}
.bp-notify-head>div{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  font-size:15px!important;
}
.bp-notify-head-icon{margin-right:5px!important}
.bp-notify-item{
  display:block!important;
  padding:11px 12px!important;
  margin-top:7px!important;
  border:1px solid #e6ebf1!important;
  border-radius:11px!important;
  overflow:hidden!important;
}
.bp-notify-item.unread{
  background:#fff8e5!important;
  border-color:#f5e6b8!important;
}
.bp-notify-item-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.bp-notify-wo{
  display:block!important;
  min-width:0!important;
  color:#10213d!important;
  font-size:13px!important;
  font-weight:var(--w-strong,600)!important;
  line-height:1.25!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:nowrap!important;
}
.bp-notify-time{
  flex:0 0 auto!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:var(--w-strong,600)!important;
  white-space:nowrap!important;
}
.bp-notify-issue{
  margin-top:5px!important;
  color:#38506e!important;
  font-size:13px!important;
  font-weight:var(--w-strong,600)!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
.bp-notify-meta{
  margin-top:4px!important;
  color:#6b7e96!important;
  font-size:11px!important;
  line-height:1.25!important;
}
.wo-time-cell{
  white-space:nowrap!important;
  color:#52657b!important;
  font-size:11px!important;
}
.bp-wo-created-meta{
  display:flex!important;
  align-items:center!important;
  min-height:42px!important;
  padding:9px 11px!important;
  border:1px solid #d7dfe8!important;
  border-radius:10px!important;
  background:#f8fafc!important;
  color:#43566f!important;
  font-size:12px!important;
  font-weight:var(--w-strong,600)!important;
}
.bp-act-issue{
  margin-top:3px!important;
  color:#405570!important;
}

/* notification panel mobile */
@media(max-width:820px){
  .bp-notify-panel{
    left:8px!important;
    right:8px!important;
    top:66px!important;
    width:auto!important;
    max-height:72dvh!important;
  }
  .bp-notify-item-top{
    grid-template-columns:1fr!important;
    gap:3px!important;
  }
  .bp-notify-time{
    justify-self:start!important;
  }
}

/* dashboard on medium screens */
@media(max-width:1180px){
  .content{padding:12px 14px!important}
  .bp-ops-dashboard{gap:10px!important}
}



/* ===== Work Order automatic bilingual translation ===== */
.bp-wo-translation-note{
  margin-top:2px!important;
  margin-bottom:2px!important;
}
.bp-wo-translation-note span{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:8px 10px!important;
  border:1px solid #cfe0f2!important;
  border-radius:9px!important;
  background:#f3f8fd!important;
  color:#405a78!important;
  font-size:11px!important;
  line-height:1.35!important;
}



/* ===== Reliable property switching ===== */
.bp-property-snapshot-card{
  width:100%!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  text-align:left!important;
  color:inherit!important;
  font:inherit!important;
  cursor:pointer!important;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important;
}
.bp-property-snapshot-card:hover{
  transform:translateY(-2px)!important;
  border-color:#8ea9c4!important;
  box-shadow:0 8px 22px rgba(18,35,63,.08)!important;
}
.bp-property-snapshot-card.selected{
  border-color:#245c9a!important;
  box-shadow:0 0 0 2px rgba(36,92,154,.12)!important;
}
.bp-property-snapshot-card.selected:after{
  content:"Selected Hotel";
  display:inline-flex;
  margin-top:10px;
  padding:4px 8px;
  border-radius:999px;
  background:#eaf2fb;
  color:#245c9a;
  font-size:10px;
  font-weight:var(--w-strong,600);
}
.hotel-option.selected{
  border-color:#245c9a!important;
  box-shadow:0 0 0 2px rgba(36,92,154,.12)!important;
}



/* ===== Audited employee-link language + maintenance portal ===== */
#publicEmployeeShell .langbar button.on,
#publicInventoryShell [data-public-lang].on,
#publicInspectionShell [data-inspection-lang].on{
  background:#fff!important;
  color:#12233F!important;
  border-color:#fff!important;
}
.maintenance-quick{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:12px;
}
.maintenance-quick a{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  min-height:52px;
}
.maintenance-tabs{
  position:sticky;
  top:0;
  z-index:12;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin:0 0 10px;
  padding:6px 0;
  background:#f3f6fa;
}
.maintenance-tabs button{
  min-height:44px;
  border:1px solid #d9e2ec;
  border-radius:10px;
  background:#fff;
  color:#12233F;
  font-weight:var(--w-strong,600);
  font-size:12px;
}
.maintenance-tabs button.on{
  background:#12233F;
  color:#fff;
  border-color:#12233F;
}
.maintenance-task h2{margin:8px 0 5px;font-size:19px}
.maintenance-task p{margin:7px 0 10px;line-height:1.45;overflow-wrap:anywhere}
.maintenance-tags{display:flex;gap:6px;flex-wrap:wrap}
.maintenance-tags span{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:#edf2f7;
  color:#405570;
  font-size:10px;
  font-weight:var(--w-strong,600);
}
.maintenance-complete{position:static!important;margin-top:10px!important}
.maintenance-carpet{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:11px 0;
  border-bottom:1px solid #e5ebf2;
}
.maintenance-carpet:last-child{border-bottom:0}
.maintenance-carpet span{color:#64748b;font-size:12px}
@media(max-width:480px){
  .maintenance-quick{grid-template-columns:1fr}
  .maintenance-tabs{top:0}
}



/* ===== Compact notification empty state ===== */

/* Dashboard notification card should collapse naturally when empty. */
.bp-panel.bp-notifications-empty{
  min-height:0!important;
  height:auto!important;
  padding-bottom:12px!important;
}
.bp-panel.bp-notifications-empty .bp-panel-head{
  margin-bottom:4px!important;
}
.bp-panel.bp-notifications-empty .bp-panel-head .smallbtn{
  display:none!important;
}

.bp-notify-caughtup-compact{
  min-height:0!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:12px 4px 4px!important;
  margin:0!important;
  text-align:left!important;
}
.bp-notify-caughtup-compact .bp-empty-check{
  display:grid!important;
  place-items:center!important;
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  background:#eef5fb!important;
  color:#245c9a!important;
  font-size:15px!important;
  font-weight:var(--w-strong,600)!important;
}
.bp-notify-caughtup-compact>div{
  display:flex!important;
  flex-direction:column!important;
  gap:1px!important;
  min-width:0!important;
}
.bp-notify-caughtup-compact strong{
  display:block!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:#12233F!important;
}
.bp-notify-caughtup-compact span:not(.bp-empty-check){
  display:block!important;
  margin:0!important;
  color:#718198!important;
  font-size:10px!important;
  line-height:1.25!important;
}

/* Top bell dropdown should also be compact when empty. */
.bp-notify-panel.is-empty{
  width:min(390px,calc(100vw - 28px))!important;
  max-height:none!important;
  min-height:0!important;
  padding:8px!important;
}
.bp-notify-panel.is-empty .bp-notify-head{
  padding:5px 5px 8px!important;
  margin:0!important;
}
.bp-notify-panel.is-empty .bp-notify-caughtup-compact{
  padding:10px 5px 5px!important;
}

/* Prevent any inherited fixed/min-height blank space. */
#bpDashboardNotifications:has(.bp-notify-caughtup-compact),
.bp-notify-panel.is-empty{
  min-height:0!important;
  height:auto!important;
}

@media(max-width:700px){
  .bp-notify-caughtup-compact{
    padding:10px 2px 3px!important;
  }
}



/* ===== 30-minute inactivity session message ===== */
.bp-session-expired-note{
  margin:0 0 14px!important;
  padding:9px 11px!important;
  border:1px solid #f0d9a7!important;
  border-radius:9px!important;
  background:#fff8e8!important;
  color:#6d5220!important;
  font-size:11px!important;
  line-height:1.35!important;
  text-align:center!important;
}



/* ===== Employee passcode reliability ===== */
.public-passcode-error{
  margin:8px 0 12px!important;
  padding:9px 11px!important;
  border:1px solid #f2b8b5!important;
  border-radius:9px!important;
  background:#fff1f0!important;
  color:#9f1d1d!important;
  font-size:12px!important;
  font-weight:var(--w-strong,600)!important;
  line-height:1.35!important;
}
#publicPasscodeContinue:disabled{
  opacity:.65!important;
  cursor:wait!important;
}
.passcode-card input#publicPasscodeInput{
  font-size:18px!important;
  letter-spacing:.08em!important;
}



/* ===== Management login interaction stability ===== */
#bpAuthGate{
  pointer-events:auto!important;
}
#bpLoginScaleStage,
#bpLoginDesignCanvas,
.bp-login-exact-right,
.bp-login-exact-card,
#bpAuthGateCard{
  pointer-events:auto!important;
}
.bp-login-exact-left,
.bp-login-exact-left img,
.bp-login-card-accent,
.bp-login-card-accent *,
.bp-login-exact-right:before,
.bp-login-exact-right:after{
  pointer-events:none!important;
}
#bpAuthGateCard{
  position:relative!important;
  z-index:20!important;
}
#bpAuthGateCard label,
#bpAuthGateCard .bp-login-field,
#bpAuthGateCard .bp-login-options,
#bpAuthGateCard .bp-login-submit,
#bpAuthGateCard input,
#bpAuthGateCard button{
  position:relative;
  z-index:21!important;
  pointer-events:auto!important;
}
.bp-login-field{
  isolation:isolate!important;
}
.bp-login-field input{
  display:block!important;
  min-width:0!important;
  opacity:1!important;
  visibility:visible!important;
  user-select:text!important;
  -webkit-user-select:text!important;
  cursor:text!important;
  caret-color:#12233F!important;
  touch-action:manipulation!important;
}
.bp-login-field .field-icon{
  pointer-events:none!important;
}
.bp-login-eye{
  pointer-events:auto!important;
}
.bp-login-inline-error{
  margin:-6px 0 14px!important;
  padding:9px 11px!important;
  border:1px solid #f1b7b7!important;
  border-radius:9px!important;
  background:#fff2f2!important;
  color:#9f1d1d!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:var(--w-strong,600)!important;
}

/* Prevent transformed login artwork from becoming the pointer target. */
#bpLoginDesignCanvas{
  transform-origin:top left!important;
}
.bp-login-exact-left{
  z-index:1!important;
}
.bp-login-exact-right{
  z-index:5!important;
}
.bp-login-exact-card{
  position:relative!important;
  z-index:10!important;
}

@media(max-width:760px){
  #bpLoginScaleStage,
  #bpLoginDesignCanvas{
    transform:none!important;
  }
  #bpAuthGateCard input{
    font-size:16px!important;
  }
}



/* ===== Unified Work Orders / Schedule / Projects ===== */
.bp-wo-hub-hero{align-items:center!important}
.bp-wo-hub-tabs{
  display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px;padding:6px;border:1px solid #dfe6ee;border-radius:13px;background:#fff;
}
.bp-wo-hub-tabs button{
  border:0;background:transparent;color:#53677f;padding:9px 13px;border-radius:9px;font-weight:var(--w-strong,600);font-size:12px;
}
.bp-wo-hub-tabs button.on{background:#12233F;color:#fff}
.bp-wo-hub-panel{display:none}
.bp-wo-hub-panel.on{display:block}
.bp-schedule-form-card{margin-top:12px}
.bp-schedule-list{display:grid;gap:8px}
.bp-schedule-row{
  display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;text-align:left;
  padding:11px;border:1px solid #e0e7ef;border-radius:11px;background:#fff;color:#172033
}
.bp-schedule-row:hover{border-color:#9fb3ca;background:#fafcff}
.bp-schedule-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;border-radius:9px;background:#eef4fb;color:#245c9a}
.bp-schedule-date.overdue{background:#fff0ed;color:#b42318}
.bp-schedule-date b{font-size:14px}.bp-schedule-date span{font-size:10px;font-weight:var(--w-strong,600)}
.bp-schedule-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.bp-schedule-main strong{font-size:12px}.bp-schedule-main span{font-size:12px;overflow-wrap:anywhere}.bp-schedule-main small{color:#718198}
.bp-todo-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:12px}
.bp-todo-list{display:grid;gap:8px}
.bp-todo-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px;border:1px solid #e0e7ef;border-radius:11px;background:#fff}
.bp-todo-item.done{opacity:.65;background:#f8fafc}
.bp-todo-check{display:grid;place-items:center;width:32px;height:32px;border:1px solid #bfd0e1;border-radius:50%;background:#eef5fb;color:#245c9a;font-weight:var(--w-strong,600)}
.bp-todo-copy{min-width:0}.bp-todo-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.bp-todo-meta{margin-top:3px;color:#718198;font-size:10px}.bp-todo-copy p{margin:7px 0 0;font-size:12px;line-height:1.4}
.bp-mini-metric{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #e3e9ef;border-radius:9px;background:#fafcff}.bp-mini-metric b{font-size:20px}.bp-mini-metric span{font-size:10px;color:#718198}
@media(max-width:900px){.bp-todo-layout{grid-template-columns:1fr}.bp-schedule-row{grid-template-columns:72px minmax(0,1fr)}.bp-schedule-row>div:last-child{grid-column:2}}
@media(max-width:600px){.bp-wo-hub-tabs{display:grid;grid-template-columns:1fr 1fr}.bp-schedule-row{grid-template-columns:1fr}.bp-schedule-row>div:last-child{grid-column:auto}.bp-todo-item{grid-template-columns:34px 1fr}.bp-todo-item>.smallbtn{grid-column:2;justify-self:start}}



/* ==================================================================
   BRIGHTPATH LOGIN — FULL VIEWPORT RESPONSIVE FIX
   Overrides the older fixed-canvas scaling without touching portal logic.
   ================================================================== */

#bpAuthGate{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  overflow:auto!important;
  background:#f8fafc!important;
}

#bpLoginScaleStage{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100dvh!important;
  overflow:visible!important;
  background:#f8fafc!important;
}

#bpLoginDesignCanvas{
  display:grid!important;
  grid-template-columns:minmax(620px,56%) minmax(500px,44%)!important;
  width:100%!important;
  height:100dvh!important;
  min-height:720px!important;
  max-width:none!important;
  transform:none!important;
  transform-origin:center!important;
  margin:0!important;
  background:#f8fafc!important;
}

/* Left reference visual */
.bp-login-exact-left{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:720px!important;
  overflow:hidden!important;
  background:#dbe5ef!important;
  z-index:1!important;
}
.bp-login-exact-left img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}

/* Right login area fills the rest of the browser and centers the card */
.bp-login-exact-right{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:720px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:82px clamp(28px,4vw,64px) 34px!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 48% 36%,rgba(231,237,246,.55),transparent 46%),
    #fbfcfe!important;
  z-index:5!important;
}

.bp-login-exact-language{
  position:absolute!important;
  top:26px!important;
  right:32px!important;
  z-index:30!important;
}

.bp-login-exact-card{
  position:relative!important;
  z-index:20!important;
  width:min(100%,520px)!important;
  max-width:520px!important;
  margin:auto!important;
  padding:32px 28px 25px!important;
  border:1px solid #e3e8ef!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(16,33,61,.10)!important;
}

/* Keep the entire sign-in card visible at normal 100% zoom */
#bpAuthGateCard h1{
  margin:0 0 7px!important;
  font-size:34px!important;
  line-height:1.06!important;
}
.bp-login-sub{margin-bottom:22px!important}
.bp-login-field{
  min-height:50px!important;
  margin-bottom:13px!important;
}
.bp-login-submit{min-height:50px!important}
.bp-login-options{margin-bottom:16px!important}
.bp-login-quick-title{margin:17px 0 12px!important}
.bp-login-quick-grid{gap:9px!important}
.bp-login-quick-card{min-height:60px!important}
.bp-login-help{min-height:60px!important;margin-top:14px!important}

/* Laptop-height screens: compact vertically, never scale the whole UI */
@media (min-width:901px) and (max-height:820px){
  #bpLoginDesignCanvas,
  .bp-login-exact-left,
  .bp-login-exact-right{
    min-height:100dvh!important;
  }
  .bp-login-exact-right{
    padding-top:56px!important;
    padding-bottom:16px!important;
  }
  .bp-login-exact-language{
    top:11px!important;
    right:20px!important;
  }
  .bp-login-exact-card{
    width:min(100%,470px)!important;
    padding:19px 21px 17px!important;
  }
  .bp-login-card-accent{margin-bottom:11px!important}
  #bpAuthGateCard h1{font-size:28px!important}
  .bp-login-sub{margin-bottom:14px!important;font-size:11px!important}
  .bp-login-field{min-height:42px!important;margin-bottom:8px!important}
  .bp-login-submit{min-height:44px!important}
  .bp-login-options{margin-bottom:11px!important}
  .bp-login-quick-title{margin:11px 0 7px!important}
  .bp-login-quick-card{min-height:47px!important;padding:7px!important}
  .bp-login-help{min-height:47px!important;margin-top:8px!important;padding:7px 9px!important}
}

/* Split-window / smaller desktop */
@media (min-width:901px) and (max-width:1250px){
  #bpLoginDesignCanvas{
    grid-template-columns:minmax(500px,52%) minmax(450px,48%)!important;
  }
  .bp-login-exact-right{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .bp-login-exact-card{
    width:min(100%,470px)!important;
  }
}

/* Tablet */
@media (max-width:900px){
  #bpAuthGate{overflow:auto!important}
  #bpLoginScaleStage{
    height:auto!important;
    min-height:100dvh!important;
  }
  #bpLoginDesignCanvas{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    transform:none!important;
  }
  .bp-login-exact-left{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:960/1024!important;
  }
  .bp-login-exact-left img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    background:#dbe5ef!important;
  }
  .bp-login-exact-right{
    width:100%!important;
    height:auto!important;
    min-height:620px!important;
    padding:70px 16px 28px!important;
  }
  .bp-login-exact-language{
    top:15px!important;
    right:15px!important;
  }
  .bp-login-exact-card{
    width:min(100%,520px)!important;
    padding:23px 18px!important;
  }
}

/* Phone */
@media (max-width:560px){
  .bp-login-exact-left{
    height:240px!important;
    aspect-ratio:auto!important;
  }
  .bp-login-exact-left img{
    object-fit:cover!important;
    object-position:center 30%!important;
  }
  .bp-login-exact-right{
    min-height:calc(100dvh - 240px)!important;
    padding:64px 12px 22px!important;
  }
  .bp-login-exact-card{
    padding:19px 14px!important;
    border-radius:14px!important;
  }
  #bpAuthGateCard h1{font-size:28px!important}
  .bp-login-quick-grid{grid-template-columns:1fr!important}
  .bp-login-quick-card{min-height:49px!important}
}

/* Form remains clickable */
.bp-login-exact-left,
.bp-login-exact-left img,
.bp-login-card-accent,
.bp-login-card-accent *{
  pointer-events:none!important;
}
.bp-login-exact-right,
.bp-login-exact-card,
#bpAuthGateCard,
#bpAuthGateCard input,
#bpAuthGateCard button,
.bp-login-exact-language,
.bp-login-exact-language button{
  pointer-events:auto!important;
}



/* ==================================================================
   OPERATIONS LOGBOOKS — OneNote-style workflow, BrightPath design
   ================================================================== */
.bp-logbook-hero{align-items:center!important;margin-bottom:10px!important}
.bp-logbook-actions{display:flex;gap:8px;flex-wrap:wrap}
.bp-logbook-toolbar{
  display:grid;grid-template-columns:minmax(220px,330px) auto minmax(220px,1fr);gap:12px;align-items:end;
  padding:10px 12px;margin-bottom:10px;border:1px solid #dde5ed;border-radius:13px;background:#fff
}
.bp-logbook-toolbar .field{margin:0}
.bp-logbook-current{padding:10px 12px;color:#52657b;font-weight:var(--w-strong,600);font-size:12px}
.bp-logbook-search-wrap input{width:100%;min-height:42px}
.bp-logbook-shell{
  display:grid;grid-template-columns:250px 205px minmax(0,1fr);min-height:650px;
  border:1px solid #dce4ec;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 26px rgba(20,39,65,.06)
}
.bp-logbook-books{padding:9px;background:#12233f;overflow:auto}
.bp-logbook-book{
  position:relative;display:grid;grid-template-columns:5px 34px minmax(0,1fr);align-items:center;gap:8px;width:100%;
  min-height:47px;padding:5px 7px;border:0;border-radius:9px;background:transparent;color:#dce7f5;text-align:left
}
.bp-logbook-book:hover{background:rgba(255,255,255,.07)}
.bp-logbook-book.on{background:#fff;color:#12233f}
.bp-logbook-color{width:5px;height:32px;border-radius:4px}
.bp-logbook-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.09);font-size:11px;font-weight:var(--w-strong,600)}
.bp-logbook-book.on .bp-logbook-icon{background:#eef4fb;color:#245c9a}
.bp-logbook-book b{font-size:11px;line-height:1.2}
.bp-logbook-pages{border-right:1px solid #dce4ec;background:#f8fafc;overflow:auto}
.bp-logbook-pages-head{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid #dce4ec;background:#fff}
.bp-logbook-pages-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.bp-logbook-pages-head strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-logbook-pages-head small{font-size:9px;color:#718198}
.bp-logbook-page{display:flex;flex-direction:column;gap:3px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #e6ebf1;background:transparent;text-align:left;color:#25364d}
.bp-logbook-page:hover{background:#eef4fb}
.bp-logbook-page.on{background:#dfeaf7;color:#12233f;box-shadow:inset 3px 0 #245c9a}
.bp-logbook-page strong{font-size:12px}.bp-logbook-page span{font-size:9px;color:#718198}
.bp-logbook-no-pages{display:flex;flex-direction:column;gap:10px;padding:18px;color:#718198;font-size:11px}
.bp-logbook-editor{min-width:0;overflow:auto;background:#fff}
.bp-logbook-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:600px;padding:30px;text-align:center;color:#718198}
.bp-logbook-empty-icon{display:grid;place-items:center;width:62px;height:62px;margin-bottom:12px;border-radius:16px;background:#eef4fb;color:#245c9a;font-size:28px}
.bp-logbook-editor-head{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:15px;padding:17px 18px;border-bottom:1px solid #e1e7ee;background:rgba(255,255,255,.97);backdrop-filter:blur(8px)}
.bp-logbook-kicker{font-size:9px;font-weight:var(--w-strong,600);letter-spacing:.08em;text-transform:uppercase;color:#718198}
.bp-logbook-editor-head h2{margin:3px 0 8px;font-size:21px}
.bp-logbook-editor-meta{display:flex;gap:8px;flex-wrap:wrap}
.bp-logbook-editor-meta input,.bp-logbook-editor-meta select{min-height:37px;padding:6px 8px;font-size:11px}
.bp-logbook-editor-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap}
.bp-logbook-form{padding:18px}
.bp-logbook-checklist{display:grid;gap:2px;margin:13px 0 16px;border:1px solid #dfe6ee;border-radius:11px;overflow:hidden}
.bp-logbook-checkrow{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(130px,.45fr);gap:8px;align-items:center;padding:7px 9px;border-bottom:1px solid #edf1f5;background:#fff}
.bp-logbook-checkrow:last-child{border-bottom:0}
.bp-logbook-checkrow:has(input[type="checkbox"]:checked){background:#f5fbf7}
.bp-logbook-check-main{display:flex;align-items:flex-start;gap:9px;margin:0!important;font-size:11px;line-height:1.35;font-weight:var(--w-strong,600)}
.bp-logbook-check-main input{width:18px!important;height:18px!important;flex:0 0 18px!important;margin-top:0!important;accent-color:#7c3aed}
.bp-logbook-time,.bp-logbook-note{min-height:34px!important;padding:5px 7px!important;font-size:10px!important}
.bp-logbook-table-wrap{width:100%;overflow:auto;margin-bottom:10px;border:1px solid #dfe6ee;border-radius:10px}
.bp-logbook-table{width:100%;min-width:880px;border-collapse:collapse}
.bp-logbook-table th{padding:7px;background:#12233f;color:#fff;border-right:1px solid #30435e;font-size:9px;text-align:left;white-space:nowrap}
.bp-logbook-table td{padding:0;border-right:1px solid #e1e7ee;border-bottom:1px solid #e1e7ee}
.bp-logbook-table td input{width:100%;min-width:90px;min-height:34px;border:0!important;border-radius:0!important;padding:5px 7px!important;font-size:10px!important;background:#fff}
.bp-logbook-table td:last-child{width:42px;padding:3px;text-align:center}
.bp-logbook-table td:last-child button{min-width:30px}
@media(max-width:1250px){
  .bp-logbook-shell{grid-template-columns:215px 175px minmax(0,1fr)}
}
@media(max-width:900px){
  .bp-logbook-toolbar{grid-template-columns:1fr}
  .bp-logbook-current{display:none}
  .bp-logbook-shell{display:block;border-radius:12px;overflow:visible}
  .bp-logbook-books{display:flex;gap:6px;overflow-x:auto;padding:8px;border-radius:12px 12px 0 0}
  .bp-logbook-book{flex:0 0 160px;grid-template-columns:5px 28px 1fr}
  .bp-logbook-pages{display:flex;flex-direction:column;max-height:190px;border-right:0;border-bottom:1px solid #dce4ec}
  #logbookPageList{display:flex;overflow-x:auto}
  .bp-logbook-page{flex:0 0 145px;border-right:1px solid #e6ebf1;border-bottom:0}
  .bp-logbook-editor-head{position:relative;flex-direction:column}
  .bp-logbook-checkrow{grid-template-columns:minmax(0,1fr) 78px}
  .bp-logbook-note{grid-column:1/-1}
}
@media(max-width:560px){
  .bp-logbook-form{padding:12px}
  .bp-logbook-book{flex-basis:145px}
  .bp-logbook-editor-head{padding:12px}
  .bp-logbook-editor-actions{width:100%}.bp-logbook-editor-actions .btn{flex:1}
  .bp-logbook-checkrow{grid-template-columns:1fr;padding:9px}
  .bp-logbook-time,.bp-logbook-note{width:100%}
}



/* ===== Consolidated OneNote workflows ===== */
.bp-morning-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px;padding:6px;border:1px solid #dfe6ee;border-radius:13px;background:#fff}
.bp-morning-tabs button{border:0;background:transparent;color:#53677f;padding:9px 13px;border-radius:9px;font-weight:var(--w-strong,600);font-size:12px}
.bp-morning-tabs button.on{background:#12233f;color:#fff}
.bp-morning-panel{display:none}.bp-morning-panel.on{display:block}
.bp-daily-clean-actions{display:flex;gap:7px;flex-wrap:wrap}
.bp-maint-log-wrap{margin-top:12px}
.bp-maint-log-table{min-width:1120px}
.bp-maint-log-table th{white-space:nowrap}
.bp-maint-log-table td{padding:0}
.bp-maint-log-table td input,.bp-maint-log-table td select{width:100%;min-width:105px;min-height:37px;border:0!important;border-radius:0!important;padding:6px 7px!important;font-size:10px!important;background:#fff}
.bp-maint-log-table td:nth-child(3) input{min-width:250px}
.bp-maint-log-table td:nth-child(7){padding:4px;min-width:95px}
.bp-maint-log-table td:last-child{padding:4px;width:44px}
@media(max-width:700px){
  .bp-morning-tabs{display:grid;grid-template-columns:1fr 1fr}
  .bp-daily-clean-actions{width:100%}.bp-daily-clean-actions .btn{flex:1}
}
/* The same rules, asked of the Front Desk workspace instead of the window.
   Everything above lives inside .bp-ops-workspace, whose width does not track
   the viewport. Measured: 388px at a 390px phone, 696px at 768px, 714px at
   1024px, 510px at 1200px -- where the 240px activity rail comes back -- 750px
   at 1440px, and about 1190px at 1920px. It is not monotonic between 768 and
   1200, so a max-width media query asks the wrong element: at a 1200px laptop
   none of these fire, yet the content has 510px, less room than a 768px tablet.

   Each twin keeps the breakpoint its media rule was written with, because that
   number is a statement about how much room the layout needs -- and the
   workspace is the thing that does or does not have it. A rule that says "below
   900px, stack this" now stacks when the element has 750px, which it does on a
   1440px laptop: the shuttle batch row goes from ten columns to four, the
   history filters from five to two, the shift layout from two columns to one.
   They stop firing again on a genuinely wide screen, where the workspace is
   wide too -- at 1920px it is about 1190px and most of these are inactive.

   The media blocks are kept exactly as written, because several of these
   selectors also match outside the workspace -- Guest Relations is an ordinary
   portal view until Front Desk re-parents it. These twins only ADD the same
   declarations when the workspace itself is narrow, so they can turn a stacked
   layout on, never off. */

@container bpops (max-width:700px){.bp-daily-clean-actions{width:100%}.bp-daily-clean-actions .btn{flex:1}}



/* ==================================================================
   LOGIN ARTWORK NO-CROP RESTORE
   Preserve the exact full left reference artwork at every desktop size.
   ================================================================== */

/* Use the artwork's real aspect ratio: 922 x 1024.
   This prevents the browser from cutting the BrightPath logo, hotel sign,
   marketing copy, or bottom feature icons. */
@media (min-width:901px){
  #bpLoginScaleStage{
    width:100%!important;
    height:100dvh!important;
    min-height:100vh!important;
    overflow:hidden!important;
  }

  #bpLoginDesignCanvas{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) clamp(390px, 32vw, 560px)!important;
    width:100%!important;
    height:100dvh!important;
    min-height:720px!important;
    max-width:none!important;
    transform:none!important;
    margin:0!important;
  }
  /* Portrait artwork in a landscape panel: fill it and crop, biased upward so
     the headline stays visible when the window is short. */
  .bp-login-exact-left img.bp-login-art-base{
    object-fit:cover!important;
    object-position:50% 52%!important;
    width:100%!important;
    height:100%!important;
  }
  /* The frame kept the artwork's 922/1024 ratio, so the photo sat letterboxed
     inside its own panel. Let it fill; the image crops instead. */
  .bp-login-exact-left .bp-login-art-frame{
    container-type:inline-size!important;
    position:absolute!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }

  .bp-login-exact-left{
    position:relative!important;
    width:100%!important;
    height:100dvh!important;
    min-width:0!important;
    min-height:720px!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#eef3f8!important;
  }

  .bp-login-exact-left img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#eef3f8!important;
  }

  .bp-login-exact-right{
    width:100%!important;
    min-width:0!important;
    height:100dvh!important;
    min-height:720px!important;
  }
}

/* Tablet and split-screen: full artwork first, then login.
   Still no cropping. */
@media (max-width:900px){
  #bpLoginScaleStage{
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    overflow:auto!important;
  }

  #bpLoginDesignCanvas{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    transform:none!important;
  }

  .bp-login-exact-left{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:922 / 1024!important;
    overflow:hidden!important;
    background:#eef3f8!important;
  }

  .bp-login-exact-left img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#eef3f8!important;
  }

  .bp-login-exact-right{
    width:100%!important;
    height:auto!important;
    min-height:620px!important;
  }
}

/* Phones: do not switch back to cover. Show the complete artwork. */
@media (max-width:560px){
  .bp-login-exact-left{
    width:100%!important;
    height:auto!important;
    aspect-ratio:922 / 1024!important;
    overflow:hidden!important;
  }

  .bp-login-exact-left img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
  }

  .bp-login-exact-right{
    min-height:620px!important;
    padding-top:66px!important;
  }
}



/* ==================================================================
   EXACT ORIGINAL LOGO RESTORE
   The reference artwork contains a baked-in imitation logo.
   Cover it with the user's original BrightPath logo file unchanged.
   ================================================================== */

.bp-login-exact-left{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.bp-login-art-frame{
  position:relative!important;
  width:auto!important;
  height:100%!important;
  max-width:100%!important;
  aspect-ratio:922 / 1024!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
  background:#eef3f8!important;
}

.bp-login-art-base{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  object-position:center!important;
}

/* Exact uploaded logo: no filters, transforms, tinting or opacity changes. */
/* Everything on the artwork is markup now. The photo carries no text, so the
   overlay is a normal flow column anchored to the panel -- it no longer has to
   line up with features inside a cropping, scaling image. */
.bp-login-art-overlay{
  position:absolute!important;
  left:clamp(18px,3.4cqw,44px)!important;
  top:clamp(12px,2.3cqw,30px)!important;
  transform:none!important;
  width:min(42%,310px)!important;
  padding:0!important;
  z-index:8!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
#bpLoginDesignCanvas .bp-login-art-overlay img.bp-login-art-logo{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  width:min(100%,200px)!important;
  width:min(100%,26cqw,190px)!important;
  height:auto!important;
  max-height:none!important;
}
.bp-login-art-logo{
  display:block!important;
  width:min(100%,250px)!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:left center!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  margin:0 0 clamp(7px,1.5cqw,16px)!important;
}
.bp-login-art-title{
  margin:0!important;
  color:#12233F!important;
  font-size:clamp(16px,1.85vw,31px)!important;
  font-size:clamp(16px,3.5cqw,26px)!important;
  text-wrap:balance!important;
  line-height:1.2!important;
  font-weight:var(--w-strong,600)!important;
  letter-spacing:-.012em!important;
}
.bp-login-art-title .bp-ink-green{color:#16a34a!important}
.bp-login-art-title .bp-ink-blue{color:#2563eb!important}
.bp-login-art-rule{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:clamp(10px,1.2vw,18px) 0 clamp(10px,1.2vw,18px)!important;
}
.bp-login-art-rule i{display:block!important;height:2px!important;width:22px!important;border-radius:2px!important;background:#e07b39!important}
.bp-login-art-rule i:nth-child(2){background:#16a34a!important;width:14px!important}
.bp-login-art-rule i:nth-child(3){background:#e0a83a!important;width:22px!important}
.bp-login-art-copy{
  margin:0!important;
  max-width:21em!important;
  color:#43536a!important;
  font-size:clamp(11px,.98vw,16px)!important;
  font-size:clamp(10.5px,1.6cqw,13.5px)!important;
  line-height:1.55!important;
  font-weight:var(--w-medium,500)!important;
}
/* Feature strip along the bottom of the artwork. It used to be baked into the
   photo, which meant it cropped away on short windows and could not be edited;
   it is markup now, so it always shows and the wording can change. */
.bp-login-exact-left .bp-login-art-frame::before{
  content:''!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:34%!important;
  z-index:7!important;
  pointer-events:none!important;
  background:linear-gradient(0deg,rgba(9,17,29,.78) 0%,rgba(9,17,29,.55) 42%,rgba(9,17,29,.18) 74%,rgba(9,17,29,0) 100%)!important;
}
.bp-login-art-features{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:clamp(22px,4.2vh,54px)!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:clamp(6px,1.2vw,20px)!important;
  padding:0 clamp(18px,2.4vw,34px)!important;
  z-index:8!important;
  pointer-events:none!important;
  box-sizing:border-box!important;
}
.bp-login-feature{
  flex:1 1 0!important;
  min-width:0!important;
  text-align:center!important;
  color:#fff!important;
  text-shadow:0 1px 6px rgba(8,16,28,.55)!important;
}
.bp-login-feature-icon{
  display:grid!important;
  place-items:center!important;
  width:clamp(28px,4.4cqw,44px)!important;
  height:clamp(28px,4.4cqw,44px)!important;
  margin:0 auto clamp(6px,1.1cqw,12px)!important;
  border-radius:clamp(8px,1.2cqw,13px)!important;
  background:#fff!important;
  box-shadow:0 2px 10px rgba(6,12,22,.28)!important;
}
.bp-login-feature-icon svg{
  width:58%!important;
  height:58%!important;
  display:block!important;
}
.bp-login-feature strong{
  display:block!important;
  font-size:clamp(10px,.95vw,14px)!important;
  font-weight:var(--w-strong,600)!important;
  line-height:1.25!important;
  letter-spacing:.005em!important;
}
.bp-login-feature small{
  display:block!important;
  margin-top:2px!important;
  font-size:clamp(9px,.8vw,12px)!important;
  line-height:1.3!important;
  color:rgba(255,255,255,.82)!important;
}
.bp-login-art-features .es{display:none!important}
#bpLoginDesignCanvas.bp-login-es .bp-login-art-features .en{display:none!important}
#bpLoginDesignCanvas.bp-login-es .bp-login-art-features .es{display:inline!important}
/* The hotel brands running on Innwaya, under the sign-in card.

   The marks ship as local SVGs (brand-hilton / brand-ihg / brand-marriott),
   not hotlinks, so the page never depends on a third-party CDN. Source:
   Wikimedia Commons, all three tagged public domain as text/simple-geometry
   logos below the threshold of originality -- Hilton_Worldwide_logo.svg,
   IHG_Hotels_&_Resorts_logo.svg, Marriott_International.svg. To swap in the
   artwork from Hilton Brand Hub / IHG Merlin / Marriott MGS later, run
   scripts/update-brand-logos.sh; the type rules below stay as the fallback
   for any brand without a file. */
.bp-login-brands{
  margin:clamp(12px,1.6vw,20px) 0 0;text-align:center;
  /* The marks are sized against THIS box, not the viewport. The sign-in card
     is a fixed-ish column, so a vw-based size overflowed it on a wide screen
     and wrapped Marriott onto a second line. */
  container-type:inline-size;
}
.bp-login-brands-label{
  display:block;font-size:10px;font-weight:var(--w-medium,500);letter-spacing:.14em;
  text-transform:uppercase;color:#94a3b8;margin-bottom:clamp(7px,1vw,11px);
}
.bp-login-brands-row{
  display:flex;align-items:center;justify-content:center;
  gap:clamp(14px,2.4vw,30px);flex-wrap:wrap;
}
.bp-brand{
  font-weight:var(--w-strong,600);letter-spacing:.06em;line-height:1;
  font-size:clamp(13px,1.15vw,17px);opacity:.78;
  transition:opacity .15s;
}
.bp-login-brands-row:hover .bp-brand{opacity:.58}
.bp-login-brands-row .bp-brand:hover{opacity:1}
.bp-brand-hilton{color:#00205B;font-family:Georgia,'Times New Roman',serif;letter-spacing:.11em}
.bp-brand-ihg{color:#1B3A6B;letter-spacing:.16em;font-weight:var(--w-strong,600)}
.bp-brand-marriott{color:#A61C30;font-family:Georgia,'Times New Roman',serif;letter-spacing:.05em}
/* Marks. The three lockups have very different proportions (Hilton 2.7:1,
   IHG 6.1:1, Marriott 3.2:1) and different internal cap-heights, so a single
   height would make IHG look shrunken next to a boxed Hilton. Each is sized
   so the LETTERS land on the same optical line instead. */
.bp-brand.has-mark{display:inline-flex;align-items:center;opacity:.72;flex:0 0 auto}
.bp-brand.has-mark img{width:auto;object-fit:contain;display:block}
.bp-brand-hilton.has-mark img{height:clamp(15px,7.2cqw,23px)}
.bp-brand-ihg.has-mark img{height:clamp(12px,6cqw,19px)}
.bp-brand-marriott.has-mark img{height:clamp(15px,7.2cqw,23px)}
/* Marks are wider than the words were, so the row needs a tighter gap than the
   type version to keep all three on one line. */
.bp-login-brands-row:has(.has-mark){gap:clamp(9px,5cqw,22px)}
.bp-login-brands-row:hover .bp-brand.has-mark{opacity:.5}
.bp-login-brands-row .bp-brand.has-mark:hover{opacity:1}
.bp-login-brands .es{display:none}
#bpLoginDesignCanvas.bp-login-es .bp-login-brands .en{display:none}
#bpLoginDesignCanvas.bp-login-es .bp-login-brands .es{display:inline}
.bp-login-art-overlay .es{display:none!important}
#bpLoginDesignCanvas.bp-login-es .bp-login-art-overlay .en{display:none!important}
#bpLoginDesignCanvas.bp-login-es .bp-login-art-overlay .es{display:inline!important}



/* The base art remains non-interactive; login controls stay interactive. */
.bp-login-art-frame,
.bp-login-art-base,
.bp-login-art-overlay{
  pointer-events:none!important;
}

@media (min-width:901px){
  .bp-login-art-frame{
    height:100dvh!important;
    max-height:100dvh!important;
  }
}

@media (max-width:900px){
  .bp-login-art-frame{
    width:100%!important;
    height:auto!important;
    aspect-ratio:922 / 1024!important;
  }
}

@media (max-width:560px){
  .bp-login-art-frame{
    width:100%!important;
    height:auto!important;
    aspect-ratio:922 / 1024!important;
  }
}

/* Below 901px the login stops being a two-column hero + form and stacks, and the
   art keeps aspect-ratio:922/1024 -- so it took the full width as height: 433px
   at 390px wide, 853px at 768px. The form was pushed off the bottom of every
   phone and tablet. Measured at 390x664 the password field started at y=800 and
   Sign In at y=924, against a 664px fold; at 768x1024, Sign In sat at y=1358.
   Neither could be reached without scrolling the login stage.

   The art is also laid out for the 922px-wide desktop image down here: its text
   overlay is positioned into a 164px column, so the headline was crammed into
   roughly a third of the width and the feature tiles were cropped by the frame.

   It becomes a compact banner instead -- the image cropped from its top-left so
   the logo and headline survive, the overlay given the full width to read
   across, and the cropped feature tiles dropped. Sign In now lands at y=559 of
   664 on the phone and y=625 of 1024 on the tablet, with the whole form above
   the fold. These use id+class so they beat the bare-class !important rules
   above regardless of source order; 901px and wider is untouched (verified
   byte-identical at 1440x900). */
@media (max-width:900px){
  #bpLoginDesignCanvas .bp-login-exact-left{
    aspect-ratio:auto!important;
    height:clamp(118px,17vh,176px)!important;
    min-height:0!important;
  }
  #bpLoginDesignCanvas .bp-login-art-frame{
    aspect-ratio:auto!important;
    height:100%!important;
    min-height:0!important;
  }
  #bpLoginDesignCanvas .bp-login-art-base{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:left top!important;
  }
  #bpLoginDesignCanvas .bp-login-art-overlay{
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-width:none!important;
    top:10px!important;
  }
  /* the rule, body copy and feature tiles do not survive the crop */
  #bpLoginDesignCanvas .bp-login-art-rule,
  #bpLoginDesignCanvas .bp-login-art-copy,
  #bpLoginDesignCanvas .bp-login-art-features{display:none!important}
  #bpLoginDesignCanvas .bp-login-exact-right{
    padding-top:16px!important;
    min-height:0!important;
  }
}

/* Phones only: no hotel photograph on the sign-in screen.
   The artwork is a 960x1024 portrait built for the left half of a desktop
   layout. On a phone it can only ever be a thin crop -- it was down to a
   118-176px letterbox strip -- which shows almost none of the picture while
   still pushing the form down the screen. What the strip is actually carrying
   is the logo and the headline, so keep those and drop the photograph: the
   panel becomes a plain masthead and "Welcome Back" is the first real thing
   on screen.

   700px, so tablets keep the full artwork: phones portrait are 430px and
   under, tablets start at 768px. Everything from 701px up is untouched,
   including the 901px+ desktop layout. */
@media (max-width:700px){
  #bpLoginDesignCanvas .bp-login-exact-left{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    background:#fff!important;
    padding:15px 16px 11px!important;
    box-sizing:border-box!important;
  }
  /* the frame existed to crop the photo; with no photo it only has to wrap */
  #bpLoginDesignCanvas .bp-login-art-frame{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    background:transparent!important;
  }
  #bpLoginDesignCanvas .bp-login-art-base{display:none!important}
  /* the caption strip is drawn along the bottom of the artwork */
  #bpLoginDesignCanvas .bp-login-art-frame::before{content:none!important;display:none!important}
  #bpLoginDesignCanvas .bp-login-art-overlay{
    position:static!important;
    inset:auto!important;
    left:auto!important; right:auto!important; top:auto!important; bottom:auto!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    padding:0!important;
    text-align:left!important;
  }
  #bpLoginDesignCanvas .bp-login-art-logo{
    height:28px!important;
    width:auto!important;
    max-width:150px!important;
    margin:0 0 7px!important;
  }
  #bpLoginDesignCanvas .bp-login-art-title{
    font-size:15px!important;
    line-height:1.3!important;
    margin:0!important;
  }

  /* One sheet, not three. Measured at 390x664 the screen was a white masthead,
     then a cream band (#f7f6f0), then a white card inset 12px with a 1px
     border, a 12px radius and a 45px shadow -- which is why it read as two
     separate panels stacked up rather than one sign-in screen. On a desktop
     that card floats over the photograph and the frame is the point; with the
     photograph gone there is nothing for it to float over.

     The logo sat at x=16 while the form labels started at x=26 (12px panel
     inset plus 14px card padding), so nothing lined up either. Everything now
     shares one white background and one 16px left edge. */
  body.bp-auth-login,
  #bpLoginScaleStage,
  #bpLoginDesignCanvas,
  #bpLoginDesignCanvas .bp-login-exact-right{
    background:#fff!important;
  }
  #bpLoginDesignCanvas .bp-login-exact-right{
    padding:0 16px 22px!important;
  }
  #bpLoginDesignCanvas .bp-login-exact-card{
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
}




/* ==================================================================
   SHIFT MODE — dense command-center prototype
   ================================================================== */
.bp-ops-mode-shell{display:grid;grid-template-columns:210px minmax(0,1fr) 240px;min-height:calc(100dvh - 150px);border:1px solid #dce4ec;border-radius:16px;overflow:hidden;background:#f4f7fb}
.bp-ops-sidebar{display:flex;flex-direction:column;background:#10213d;color:#fff;min-width:0;max-width:100%;overflow-x:hidden}
.bp-ops-brand{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.bp-ops-brand img{width:120px;height:auto;background:#fff;border-radius:6px;padding:3px}
.bp-ops-collapse{margin-left:auto;border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:7px;padding:7px}
.bp-ops-property{padding:10px}.bp-ops-property label{display:block;font-size:9px;color:#9fb0c7;margin-bottom:5px}.bp-ops-property select{width:100%;min-height:36px}
.bp-ops-nav{display:grid;gap:3px;padding:4px 8px;overflow:auto;box-sizing:border-box;max-width:100%;min-width:0}
.bp-ops-nav button{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:39px;border:0;border-radius:8px;background:transparent;color:#d9e4f2;text-align:left;font-weight:var(--w-strong,600);font-size:11px;padding:6px 8px}
.bp-ops-nav button.on,.bp-ops-nav button:hover{background:#fff;color:#12233f}.bp-ops-nav b{min-width:18px;text-align:center;border-radius:999px;background:#ef4444;color:#fff;font-size:9px}
.bp-ops-exit{margin-top:auto;border:0;border-top:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;padding:12px;text-align:left}
.bp-ops-mode-shell.sidebar-collapsed{grid-template-columns:62px minmax(0,1fr) 240px}.sidebar-collapsed .bp-ops-brand img,.sidebar-collapsed .bp-ops-property,.sidebar-collapsed .bp-ops-nav span,.sidebar-collapsed .bp-ops-exit span{display:none}.sidebar-collapsed .bp-ops-brand{justify-content:center}.sidebar-collapsed .bp-ops-nav button{grid-template-columns:1fr;justify-items:center}.sidebar-collapsed .bp-ops-nav b{position:absolute;margin:0 0 24px 24px}
.bp-ops-workspace{min-width:0;padding:12px;overflow:auto;container-type:inline-size;container-name:bpops}
.bp-ops-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.bp-ops-topbar h2{margin:1px 0;font-size:20px}.bp-ops-kicker{font-size:9px;letter-spacing:.12em;color:#75869b;font-weight:var(--w-strong,600)}.bp-ops-top-actions{display:flex;gap:7px}.bp-ops-refresh{display:inline-flex;align-items:center;gap:6px}.bp-ops-refresh svg{width:16px;height:16px;flex:0 0 auto}
.bp-ops-view{display:none}.bp-ops-view.on{display:block}
.bp-ops-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:9px}.bp-ops-kpi{padding:10px 12px;border:1px solid #dce4ec;border-radius:11px;background:#fff}.bp-ops-kpi span,.bp-ops-kpi small{display:block;font-size:9px;color:#718198}.bp-ops-kpi strong{display:block;font-size:26px;line-height:1.05;color:#12233f}.bp-ops-kpi.danger strong{color:#b42318}.bp-ops-kpi.warning strong{color:#b36b00}.bp-ops-kpi.review strong{color:#5b49b8}
.bp-ops-home-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9px;margin-bottom:9px}
.bp-ops-card{background:#fff;border:1px solid #dce4ec;border-radius:12px;padding:11px;margin-bottom:9px}.bp-ops-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.bp-ops-card-head h3{margin:0;font-size:13px}.bp-ops-card-head p{margin:2px 0 0;color:#718198;font-size:9px}
.bp-ops-attn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-bottom:1px solid #edf1f5}.bp-ops-attn:last-child{border-bottom:0}.bp-ops-attn>div{display:grid;gap:2px}.bp-ops-attn strong{font-size:8px}.bp-ops-attn b{font-size:11px}.bp-ops-attn small{font-size:9px;color:#718198}.ops-critical{background:#fff3f1}.ops-missing{background:#fff7f0}.ops-warning{background:#fffbea}.ops-complete{background:#f5fbf7}
.bp-ops-status-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.bp-ops-status-grid>div{padding:9px;border:1px solid #e1e7ee;border-radius:9px;background:#fafcff}.bp-ops-status-grid span{display:block;font-size:9px;color:#718198}.bp-ops-status-grid b{font-size:12px}
.bp-ops-activity{padding:11px;background:#fff;border-left:1px solid #dce4ec;overflow:auto}.bp-ops-activity-item{display:grid;gap:3px;padding:8px 0;border-bottom:1px solid #edf1f5}.bp-ops-activity-item time{font-size:8px;color:#718198}.bp-ops-activity-item span{font-size:10px}
.bp-ops-sheet-wrap{overflow:auto;border:1px solid #dfe6ee;border-radius:9px}.bp-ops-sheet{width:100%;min-width:980px;border-collapse:collapse}.bp-ops-sheet th{position:sticky;top:0;background:#12233f;color:#fff;text-align:left;font-size:9px;padding:7px;border-right:1px solid #32445e}.bp-ops-sheet td{font-size:9px;padding:7px;border-right:1px solid #e5ebf1;border-bottom:1px solid #e5ebf1;vertical-align:top}.bp-ops-sheet input{min-width:150px;min-height:31px;padding:4px 6px;font-size:9px}
/* Asked of the workspace, not the window.
   The Front Desk shell is three columns -- a 210px sidebar, the workspace, and
   a 240px activity rail -- and it changes shape twice on the way down. Measured
   width of the workspace: 388px at a 390px phone, 696px at a 768px iPad, 714px
   at 1024px, then 510px at 1200px, where the activity rail comes back and takes
   240px, and 750px at 1440px. It is not monotonic: a 1200px laptop gives these
   sheets LESS room than a 768px tablet, so no viewport breakpoint can be right
   for both. A container query asks the workspace its width and gets the answer.
   720px is the line the measurements draw: every case above restacks except the
   1440px desktop at 750px, which keeps the scrolling table it has today.
   Without container-query support the sheets simply stay scrolling tables,
   which is the behaviour being replaced -- the fallback is the status quo. */
@container bpops (max-width:720px){
  /* `.bp-ops-sheet` is not one table. It is ten: the Daily Operations
     checklist, Cash Counts (16 columns), Pool / Spa readings (11), the Shuttle
     sheet and Shuttle history (10 each), Time Card events (7), the Shift Audit
     task list (7) and the cash and pool month ledgers.
     Labelling them all by column position labelled nine of them wrongly. On a
     390px phone the shuttle sheet read "Due: 84,213" over the odometer start,
     "Remarks: 84,227" over the odometer end and "Source: 14" over the mileage,
     while the exception note and the review control got no label at all; the
     cash sheet put a 300.00 opening balance under "Due". 61 wrong labels across
     six tables. A label that names the wrong field is worse than no label: the
     number still looks like an answer.
     Each table now carries its own set, keyed on the tbody that fills it. */
  .bp-ops-sheet-wrap:not(.bp-month-ledger-wrap){overflow:visible;max-height:none;border:0}
  .bp-ops-sheet:not(.bp-month-ledger){min-width:0;display:block}
  .bp-ops-sheet:not(.bp-month-ledger) thead{display:none}
  .bp-ops-sheet:not(.bp-month-ledger) tbody,
  .bp-ops-sheet:not(.bp-month-ledger) tr,
  .bp-ops-sheet:not(.bp-month-ledger) td{display:block;width:auto}
  .bp-ops-sheet:not(.bp-month-ledger) tr{background:#fff;border:1px solid #dfe6ee;border-radius:9px;padding:9px 11px;margin-bottom:8px}
  .bp-ops-sheet:not(.bp-month-ledger) td{border:0;padding:3px 0;font-size:11px;display:grid;grid-template-columns:84px minmax(0,1fr);gap:9px;align-items:start}
  .bp-ops-sheet:not(.bp-month-ledger) td::before{content:attr(data-ops-label);color:#64748b;font-weight:var(--w-strong,600);font-size:10px}

  /* Daily Operations checklist */
  #opsDailyRows td:nth-child(1)::before{content:'Status'}
  #opsDailyRows td:nth-child(2)::before{content:'Time / Shift'}
  #opsDailyRows td:nth-child(3)::before{content:'Area'}
  #opsDailyRows td:nth-child(4)::before{content:'Item'}
  #opsDailyRows td:nth-child(5)::before{content:'Assigned to'}
  #opsDailyRows td:nth-child(6)::before{content:'Due'}
  #opsDailyRows td:nth-child(7)::before{content:'Remarks'}
  #opsDailyRows td:nth-child(8)::before{content:'Source'}
  /* The item is the point of the row, so it reads as the heading. */
  #opsDailyRows td:nth-child(4){font-size:13px;font-weight:var(--w-strong,600);color:#12233f}

  /* Fairfield Shuttle Log — selected day */
  #opsShuttleRows td:nth-child(1)::before{content:'Time'}
  #opsShuttleRows td:nth-child(2)::before{content:'Guest / Staff'}
  #opsShuttleRows td:nth-child(3)::before{content:'Name'}
  #opsShuttleRows td:nth-child(4)::before{content:'Route'}
  #opsShuttleRows td:nth-child(5)::before{content:'Driver'}
  #opsShuttleRows td:nth-child(6)::before{content:'Odometer start'}
  #opsShuttleRows td:nth-child(7)::before{content:'Odometer end'}
  #opsShuttleRows td:nth-child(8)::before{content:'Miles'}
  #opsShuttleRows td:nth-child(9)::before{content:'Notes / exception'}
  #opsShuttleRows td:nth-child(10)::before{content:'Review'}
  #opsShuttleRows td:nth-child(4){font-size:13px;font-weight:var(--w-strong,600);color:#12233f}

  /* Fairfield Shuttle Log — history */
  #opsShuttleHistoryRows td:nth-child(1)::before{content:'Date'}
  #opsShuttleHistoryRows td:nth-child(2)::before{content:'Time'}
  #opsShuttleHistoryRows td:nth-child(3)::before{content:'Type'}
  #opsShuttleHistoryRows td:nth-child(4)::before{content:'Route'}
  #opsShuttleHistoryRows td:nth-child(5)::before{content:'Driver'}
  #opsShuttleHistoryRows td:nth-child(6)::before{content:'Odo start'}
  #opsShuttleHistoryRows td:nth-child(7)::before{content:'Odo end'}
  #opsShuttleHistoryRows td:nth-child(8)::before{content:'Miles'}
  #opsShuttleHistoryRows td:nth-child(9)::before{content:'Source'}
  #opsShuttleHistoryRows td:nth-child(10)::before{content:'Review'}
  #opsShuttleHistoryRows td:nth-child(4){font-size:13px;font-weight:var(--w-strong,600);color:#12233f}

  /* Cash Counts / Drops */
  #opsCashDetailRows td:nth-child(1)::before{content:'Date'}
  #opsCashDetailRows td:nth-child(2)::before{content:'Shift'}
  #opsCashDetailRows td:nth-child(3)::before{content:'Count type'}
  #opsCashDetailRows td:nth-child(4)::before{content:'Employee'}
  #opsCashDetailRows td:nth-child(5)::before{content:'Counted'}
  #opsCashDetailRows td:nth-child(6)::before{content:'Opening'}
  #opsCashDetailRows td:nth-child(7)::before{content:'Expected'}
  #opsCashDetailRows td:nth-child(8)::before{content:'Actual'}
  #opsCashDetailRows td:nth-child(9)::before{content:'Variance'}
  #opsCashDetailRows td:nth-child(10)::before{content:'Previous variance'}
  #opsCashDetailRows td:nth-child(11)::before{content:'Drop'}
  #opsCashDetailRows td:nth-child(12)::before{content:'Drop detail'}
  #opsCashDetailRows td:nth-child(13)::before{content:'Witness'}
  #opsCashDetailRows td:nth-child(14)::before{content:'Status'}
  #opsCashDetailRows td:nth-child(15)::before{content:'Auditor remarks'}
  /* Pool / Spa readings */
  #opsPoolDetailRows td:nth-child(1)::before{content:'Date / time'}
  #opsPoolDetailRows td:nth-child(2)::before{content:'Facility'}
  #opsPoolDetailRows td:nth-child(3)::before{content:'Shift / test'}
  #opsPoolDetailRows td:nth-child(4)::before{content:'Employee'}
  #opsPoolDetailRows td:nth-child(5)::before{content:'Chlorine'}
  #opsPoolDetailRows td:nth-child(6)::before{content:'pH'}
  #opsPoolDetailRows td:nth-child(7)::before{content:'Safety'}
  #opsPoolDetailRows td:nth-child(8)::before{content:'Status'}
  #opsPoolDetailRows td:nth-child(9)::before{content:'Notes'}
  #opsPoolDetailRows td:nth-child(10)::before{content:'Auditor remarks'}
  /* Time Card events */
  #opsTimeCardEvents td:nth-child(1)::before{content:'Date'}
  #opsTimeCardEvents td:nth-child(2)::before{content:'Time'}
  #opsTimeCardEvents td:nth-child(3)::before{content:'Employee'}
  #opsTimeCardEvents td:nth-child(4)::before{content:'Hotel'}
  #opsTimeCardEvents td:nth-child(5)::before{content:'Event'}
  #opsTimeCardEvents td:nth-child(6)::before{content:'Source'}
  /* Shift Audit task list */
  .bp-audit-task-table tbody td:nth-child(1)::before{content:'Task'}
  .bp-audit-task-table tbody td:nth-child(2)::before{content:'Agent status'}
  .bp-audit-task-table tbody td:nth-child(3)::before{content:'Completed'}
  .bp-audit-task-table tbody td:nth-child(4)::before{content:'Agent note / reason'}
  .bp-audit-task-table tbody td:nth-child(5)::before{content:'Linked record'}
  .bp-audit-task-table tbody td:nth-child(6)::before{content:'Auditor'}
  .bp-audit-task-table tbody td:nth-child(7)::before{content:'Auditor remarks'}

  /* The last cell of these is the row's action or its review control, not a
     field, so it gets the full width and no label. */
  #opsCashDetailRows td:nth-child(16),
  #opsPoolDetailRows td:nth-child(11),
  #opsTimeCardEvents td:nth-child(7){grid-template-columns:none;padding-top:8px}
  #opsCashDetailRows td:nth-child(16)::before,
  #opsPoolDetailRows td:nth-child(11)::before,
  #opsTimeCardEvents td:nth-child(7)::before{content:none}

  /* An empty-state or spanning row is not a record; it gets no label. */
  .bp-ops-sheet:not(.bp-month-ledger) td[colspan]{display:block;grid-template-columns:none;text-align:center;padding:10px 0}
  .bp-ops-sheet:not(.bp-month-ledger) td[colspan]::before{content:none}
  .bp-ops-sheet:not(.bp-month-ledger) input{min-width:0;width:100%;min-height:40px;font-size:16px}

  /* The month ledgers are excluded above and stay tables. They are a calendar:
     `table-layout:fixed`, a three-row sticky header and a sticky row header, one
     column per day. Restacked into blocks a month becomes a list of thirty-one
     unlabelled cells. They keep their own horizontal scroll. */
}
.bp-ops-filter-row{display:flex;gap:6px;flex-wrap:wrap}.bp-ops-filter-row select,.bp-ops-filter-row input{min-height:34px;font-size:10px}
.bp-ops-critical-wrap{display:grid;gap:7px;margin-bottom:10px}.bp-ops-critical{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid #f1b7ad;border-left:5px solid #d92d20;border-radius:10px;background:#fff4f2}.bp-ops-critical span{font-size:9px;font-weight:var(--w-strong,600);color:#b42318}.bp-ops-critical h3{margin:2px 0;font-size:13px}.bp-ops-critical small{font-size:9px;color:#718198}
.bp-ops-simple-list{display:grid;gap:4px}.bp-ops-simple-list>div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border-bottom:1px solid #edf1f5}.bp-ops-simple-list b{font-size:10px}.bp-ops-simple-list small{display:block;font-size:9px;color:#718198}
.bp-ops-timeline{display:grid;gap:0}.bp-ops-timeline>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid #edf1f5}.bp-ops-timeline time{font-size:9px;color:#718198}.bp-ops-timeline section b{font-size:10px}.bp-ops-timeline section p{margin:3px 0;font-size:10px}.bp-ops-timeline section strong{font-size:9px;color:#b36b00}
.bp-ops-entry-form{padding:10px;margin-bottom:10px;border:1px solid #dfe6ee;border-radius:10px;background:#f8fafc}.bp-ops-safety-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:8px 0}.bp-ops-safety-checks label{font-size:10px}
.bp-ops-pool-status{display:grid;gap:3px;padding:12px;border:1px solid #dfe6ee;border-radius:11px;background:#f8fafc}.bp-ops-pool-status.open{background:#f1faf4;border-color:#b6dfc2}.bp-ops-pool-status.closed{background:#fff2f0;border-color:#efb8ae}.bp-ops-pool-status strong{font-size:16px}.bp-ops-pool-status span,.bp-ops-pool-status small{font-size:9px}
.bp-ops-settings-summary{display:grid;gap:7px}.bp-ops-settings-summary>div{display:flex;justify-content:space-between;padding:7px;border-bottom:1px solid #edf1f5}.bp-ops-settings-summary span{font-size:9px;color:#718198}.bp-ops-settings-summary b{font-size:10px}
.bp-ops-audit-task,.bp-ops-audit-mini{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding:7px;border-bottom:1px solid #edf1f5;align-items:center}.bp-ops-audit-task b,.bp-ops-audit-mini b{font-size:10px}.bp-ops-audit-task small{display:block;font-size:9px;color:#718198}.bp-ops-audit-mini span{font-size:8px;white-space:nowrap}
.bp-inline-check{display:flex!important;align-items:flex-start;gap:7px;font-size:10px!important}.bp-inline-check input{width:18px!important;height:18px!important;flex:0 0 18px}
@media(max-width:1150px){.bp-ops-mode-shell{grid-template-columns:70px minmax(0,1fr)}.bp-ops-activity{display:none}.bp-ops-brand img,.bp-ops-brand-copy,.bp-ops-property,.bp-ops-nav span,.bp-ops-exit span{display:none}.bp-ops-brand{flex-wrap:wrap;justify-content:center;gap:4px;padding:8px 4px}.bp-ops-brand .bp-logo-home-btn{display:none}.bp-ops-collapse{margin:0}.bp-ops-nav button{grid-template-columns:1fr;justify-items:center}.bp-ops-home-grid{grid-template-columns:1fr}}
@container bpops (max-width:1150px){.bp-ops-home-grid{grid-template-columns:1fr}}
@media(max-width:700px){.bp-ops-mode-shell{display:block;overflow-x:hidden}.bp-ops-sidebar{position:sticky;top:0;z-index:20;display:block;min-width:0;max-width:100%;overflow-x:hidden}.bp-ops-brand{display:none}.bp-ops-nav{display:flex;overflow-x:auto;padding:6px;box-sizing:border-box;max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bp-ops-nav::-webkit-scrollbar{display:none}.bp-ops-nav button{flex:0 0 auto;display:flex;gap:5px}.bp-ops-nav span{display:inline}.bp-ops-nav-group{flex:0 0 auto;white-space:nowrap;align-self:center;padding:0 4px}.bp-ops-exit{display:none}.bp-ops-kpis{grid-template-columns:1fr 1fr}.bp-ops-status-grid{grid-template-columns:1fr 1fr}.bp-ops-topbar{align-items:flex-start;flex-direction:column}.bp-ops-top-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.bp-ops-top-actions>*{flex:0 0 auto}}
@container bpops (max-width:700px){.bp-ops-top-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.bp-ops-top-actions>*{flex:0 0 auto}}
@container bpops (max-width:700px){.bp-ops-kpis{grid-template-columns:1fr 1fr}.bp-ops-status-grid{grid-template-columns:1fr 1fr}}



/* Pool + Spa property-aware controls */
.bp-ops-facility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.bp-ops-facility-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bp-ops-entry-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.bp-ops-entry-title b{font-size:13px}
.bp-ops-entry-title small{display:block;color:#718198;font-size:9px;margin-top:2px}
.bp-ops-limit-card{display:grid!important;gap:6px!important;padding:8px!important;border:1px solid #e1e7ee!important;border-radius:9px!important}
.bp-ops-limit-card>div{display:flex;justify-content:space-between;gap:8px}
.bp-ops-limit-card small{font-size:9px;color:#718198}



/* ==================================================================
   SHIFT MODE — TRUE FULL-SCREEN WORKSPACE
   Legacy Operations Logbooks remains only as hidden historical logic;
   it is no longer a navigation destination.
   ================================================================== */

body.bp-operations-mode-active{
  overflow:hidden!important;
  background:#f4f7fb!important;
}

body.bp-operations-mode-active .app{
  display:block!important;
  grid-template-columns:1fr!important;
  width:100%!important;
  min-height:100dvh!important;
}

body.bp-operations-mode-active #sidebar,
body.bp-operations-mode-active .main > .topbar{
  display:none!important;
}

body.bp-operations-mode-active .main{
  width:100%!important;
  min-width:0!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
}

body.bp-operations-mode-active .main > .content{
  width:100%!important;
  max-width:none!important;
  min-height:100dvh!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

body.bp-operations-mode-active #view-operationsmode{
  display:block!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
}

body.bp-operations-mode-active #view-operationsmode .bp-ops-mode-shell{
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

/* Front Desk fills the window edge to edge, so the legal footer under it must
   stay in the workspace column: the rail's colour carries on beside it rather
   than stopping short above a full-width white band. The rail's width and
   colour are measured (bp-ops-footer-rail) because they change with collapse,
   breakpoint and theme. */
body.bp-operations-mode-active .main{
  background:linear-gradient(to right,var(--bp-ops-rail-bg,transparent) 0,var(--bp-ops-rail-bg,transparent) var(--bp-ops-rail-w,0px),var(--bp-ops-work-bg,transparent) var(--bp-ops-rail-w,0px))!important;
}
body.bp-operations-mode-active .main > .bp-legal-footer{
  width:auto!important;
  margin:0 0 0 var(--bp-ops-rail-w,0px)!important;
  background:var(--bp-ops-work-bg,transparent);
}

body.bp-operations-mode-active .bp-ops-workspace{
  height:100dvh!important;
  padding:14px 16px!important;
  overflow:auto!important;
}

body.bp-operations-mode-active .bp-ops-sidebar,
body.bp-operations-mode-active .bp-ops-activity{
  height:100dvh!important;
  overflow:auto!important;
}

body.bp-operations-mode-active .bp-ops-topbar{
  position:sticky!important;
  top:0!important;
  z-index:10!important;
  margin:-14px -16px 10px!important;
  padding:12px 16px!important;
  background:rgba(244,247,251,.96)!important;
  backdrop-filter:blur(10px)!important;
  border-bottom:1px solid #dce4ec!important;
}

/* Keep only the active Operations panel visible in true Shift Mode. */
body.bp-operations-mode-active .main > .content > .view:not(#view-operationsmode){
  display:none!important;
}

@media(max-width:1150px){
  body.bp-operations-mode-active .bp-ops-mode-shell{
    grid-template-columns:70px minmax(0,1fr)!important;
  }
}

@media(max-width:700px){
  body.bp-operations-mode-active{
    overflow:auto!important;
  }
  body.bp-operations-mode-active .main > .content,
  body.bp-operations-mode-active #view-operationsmode,
  body.bp-operations-mode-active #view-operationsmode .bp-ops-mode-shell{
    min-height:100dvh!important;
    height:auto!important;
  }
  body.bp-operations-mode-active .bp-ops-workspace{
    height:auto!important;
    min-height:calc(100dvh - 56px)!important;
    padding:10px!important;
  }
  body.bp-operations-mode-active .bp-ops-topbar{
    margin:-10px -10px 10px!important;
    padding:10px!important;
  }
}



/* Unified property scope */
.hotel-chip.single-property{cursor:default!important}
.hotel-chip.single-property:hover{background:#fff!important}
#chosenHotelLabel{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:781px){.hotel-chip{max-width:360px!important}}


/* BrightPath logo as Home */
.bp-logo-home-btn{appearance:none;border:0;background:transparent;padding:0;margin:0;display:block;cursor:pointer;max-width:100%}
.bp-logo-home-btn img{display:block}
.bp-ops-logo-home{width:120px;background:#fff;border-radius:6px;padding:3px}
.bp-ops-logo-home img{width:100%!important;height:auto!important;background:transparent!important;padding:0!important}



/* Quiet session restore: never flash the login form for an already signed-in user. */
.bp-session-check{
  min-height:240px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#12233F;
}
.bp-session-check h2{margin:14px 0 5px;font-size:25px}
.bp-session-check p{margin:0;color:#64748B;font-size:13px}
.bp-session-spinner{
  width:38px;height:38px;border-radius:50%;
  border:4px solid #E2E8F0;border-top-color:#C9A227;
  animation:bpSessionSpin .75s linear infinite;
}
@keyframes bpSessionSpin{to{transform:rotate(360deg)}}



/* ==========================================================
   ZERO LOGIN FLASH
   The first browser paint is a neutral session-check screen.
   The full login UI is not displayed unless session restore
   explicitly determines that the user is signed out.
   ========================================================== */
.bp-initial-session-check{
  display:none;
  position:absolute;
  inset:0;
  z-index:100;
  background:#f7f9fc;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  text-align:center;
  color:#12233F;
  padding:28px;
}
.bp-initial-session-check img{
  width:min(310px,72vw);
  height:auto;
  margin:0 0 28px;
  object-fit:contain;
}
.bp-initial-session-check strong{
  margin-top:16px;
  font-size:22px;
  line-height:1.2;
}
.bp-initial-session-check span{
  margin-top:7px;
  color:#64748B;
  font-size:13px;
}
body.bp-auth-checking #bpInitialSessionCheck{
  display:flex!important;
}
body.bp-auth-checking #bpLoginScaleStage{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.bp-auth-login #bpInitialSessionCheck,
body.bp-auth-ready #bpInitialSessionCheck{
  display:none!important;
}
body.bp-auth-login #bpLoginScaleStage{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}



body.bp-pre-public-route #bpAuthGate{display:none!important}



/* Maintenance Team mobile Work Order detail */
.maintenance-task-open{
  width:100%;text-align:left;appearance:none;cursor:pointer;
  color:inherit;font:inherit;
}
.maintenance-task-open:hover{border-color:#93C5FD}
.maintenance-open-label{display:block;margin-top:12px;font-size:12px;font-weight:var(--w-strong,600);color:#1D4ED8}
.maintenance-property-lock{margin:10px 0 14px;padding:9px 10px;border-radius:10px;background:#EFF6FF;color:#1E40AF;font-size:11px;font-weight:var(--w-strong,600)}
.maintenance-detail-head h2{margin:10px 0 4px;font-size:21px}
.maintenance-meta{font-size:12px;color:#475569;margin:5px 0}
.maintenance-issue{font-size:16px;line-height:1.55;white-space:pre-wrap}
.maintenance-critical{background:#FEE2E2!important;color:#991B1B!important}
.maintenance-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.maintenance-photo-btn{border:0;background:#F8FAFC;padding:0;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:4/3}
.maintenance-photo-btn img{width:100%;height:100%;object-fit:cover;display:block}
.maintenance-comment{border-top:1px solid #E2E8F0;padding:10px 0}
.maintenance-comment:first-child{border-top:0}
.maintenance-comment b,.maintenance-comment span,.maintenance-comment small{display:block}
.maintenance-comment span{margin-top:4px;white-space:pre-wrap}
.maintenance-comment small{margin-top:4px;color:#64748B;font-size:10px}
.maintenance-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.maintenance-card-photo-count{font-size:11px;font-weight:var(--w-strong,600);color:#475569;margin-top:7px}
@media(max-width:520px){
  .maintenance-action-grid{grid-template-columns:1fr}
  .maintenance-photo-grid{grid-template-columns:1fr 1fr}
}



/* Maintenance Work Order open-button reliability */
.maintenance-task{position:relative!important}
.maintenance-open-workorder,
.maintenance-complete-morning{
  width:100%!important;
  min-height:54px!important;
  margin-top:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  z-index:4!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(37,99,235,.12)!important;
}
.maintenance-open-workorder:active{transform:scale(.99)}



/* ==========================================================
   WORK ORDER QUEUE — TRAINING-FREE CARD INTERFACE
   One visual language for every hotel and every Work Order.
   ========================================================== */
.bp-wo-queue{display:grid;gap:12px}
.bp-wo-queue-head{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:2px 2px 4px;
}
.bp-wo-queue-title{font-size:15px;font-weight:var(--w-strong,600);color:#12233F}
.bp-wo-queue-sub{font-size:10px;color:#7A889B;margin-top:2px}
.bp-wo-legend{display:flex;gap:10px;flex-wrap:wrap;color:#64748B;font-size:9px;font-weight:var(--w-strong,600)}
.bp-wo-legend span{display:inline-flex;align-items:center;gap:5px}
.bp-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#94A3B8}
.bp-dot.emergency{background:#DC2626}
.bp-dot.high{background:#F59E0B}
.bp-dot.normal{background:#3B82F6}

.bp-wo-card-list{display:grid;gap:10px}
.bp-wo-card{
  position:relative;
  overflow:hidden;
  border:1px solid #DEE7F1;
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 14px rgba(18,35,63,.045);
}
.bp-wo-card:hover{border-color:#C8D8EA;box-shadow:0 7px 22px rgba(18,35,63,.07)}
.bp-wo-card-accent{position:absolute;inset:0 auto 0 0;width:4px;background:#94A3B8}
.bp-wo-card-accent.emergency,.bp-wo-card-accent.urgent{background:#DC2626}
.bp-wo-card-accent.high{background:#F59E0B}
.bp-wo-card-accent.medium,.bp-wo-card-accent.normal{background:#3B82F6}
.bp-wo-card-accent.low{background:#64748B}

.bp-wo-card-top{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:12px 14px 10px 17px;
  border-bottom:1px solid #EEF2F6;
}
.bp-wo-location-block{display:flex;align-items:center;gap:10px;min-width:0}
.bp-wo-location-icon{
  width:38px;height:38px;display:grid;place-items:center;border-radius:11px;
  background:#EEF5FF;font-size:17px;flex:0 0 auto;
}
.bp-wo-group-icon{background:#E8F1FF}
.bp-wo-location-title{font-size:16px;font-weight:var(--w-strong,600);color:#12233F;line-height:1.05}
.bp-wo-hotel-name{margin-top:3px;font-size:10px;color:#738197;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-wo-badges,.bp-wo-group-glance{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.bp-wo-issue-counter{
  display:flex;align-items:baseline;gap:4px;padding:4px 8px;border-radius:9px;
  background:#EEF5FF;color:#245C9A;
}
.bp-wo-issue-counter strong{font-size:14px}
.bp-wo-issue-counter span{font-size:9px;font-weight:var(--w-medium,500);text-transform:uppercase}
.bp-wo-open-counter{
  padding:5px 8px;border-radius:999px;background:#F1F5F9;color:#475569;
  font-size:9px;font-weight:var(--w-strong,600);
}

.bp-wo-card-body{
  display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;
  padding:13px 14px 14px 17px;
}
.bp-wo-card-copy{min-width:0}
.bp-wo-number-link{
  border:0;background:transparent;padding:0;color:#2563EB;font-weight:var(--w-strong,600);font-size:11px;
  text-decoration:underline;text-underline-offset:2px;cursor:pointer;
}
.bp-wo-category-pill{
  display:inline-flex;margin-left:6px;padding:3px 6px;border-radius:999px;background:#F1F5F9;
  color:#475569;font-size:9px;font-weight:var(--w-strong,600);vertical-align:middle;
}
.bp-wo-issue-text{margin-top:7px;color:#1E293B;font-size:13px;line-height:1.42;overflow-wrap:anywhere}
.bp-wo-meta-line,.bp-wo-mini-meta{
  display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:7px;
  color:#8190A3;font-size:9px;
}
.bp-wo-photo-link{
  border:0;background:transparent;padding:0;color:#245C9A;font-size:9px;font-weight:var(--w-strong,600);cursor:pointer;
}
.bp-wo-card-controls{
  display:grid;grid-template-columns:1fr;align-content:center;gap:7px;
  padding-left:14px;border-left:1px solid #EEF2F6;
}
.bp-wo-assign-box,.bp-wo-inline-assign{display:flex;flex-direction:column;gap:3px}
.bp-wo-assign-box>span,.bp-wo-inline-assign>span{font-size:9px;font-weight:var(--w-strong,600);color:#64748B}
.bp-inline-wo-assignee{
  width:100%!important;max-width:none!important;min-width:0!important;height:38px;
  border:1px solid #CBD5E1;border-radius:9px;background:#fff;padding:5px 28px 5px 9px;
  font-size:11px;
}
.bp-inline-wo-assignee:focus{outline:2px solid #BFDBFE;outline-offset:1px;border-color:#60A5FA}
.bp-wo-primary-action{
  width:100%;min-height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  font-size:10px!important;font-weight:var(--w-strong,600)!important;
}
.bp-wo-more-action{
  border:0;background:transparent;color:#64748B;font-size:9px;font-weight:var(--w-strong,600);cursor:pointer;
  padding:3px;text-align:center;
}

.bp-wo-card-group{background:#FCFEFF}
.bp-wo-group-top{background:linear-gradient(90deg,#F4F8FD 0%,#FBFDFF 100%)}
.bp-wo-group-list{display:grid}
.bp-wo-group-issue{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 190px 62px;
  gap:10px;align-items:center;
  padding:10px 14px 10px 17px;
  border-bottom:1px solid #EEF2F6;
}
.bp-wo-group-issue:last-child{border-bottom:0}
.bp-wo-group-issue:hover{background:#F9FBFE}
.bp-wo-issue-index{
  width:27px;height:27px;display:grid;place-items:center;border:1px solid #B7CDE7;border-radius:50%;
  background:#EEF5FF;color:#245C9A;font-size:10px;font-weight:var(--w-strong,600);cursor:pointer;
}
.bp-wo-group-issue-copy{min-width:0}
.bp-wo-group-issue-head{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.bp-wo-group-issue-text{margin-top:3px;color:#243348;font-size:12px;line-height:1.35}
.bp-wo-issue-view{
  border:0;background:#F4F7FB;color:#245C9A;border-radius:8px;min-height:34px;
  font-size:9px;font-weight:var(--w-strong,600);cursor:pointer;
}
.bp-wo-issue-view:hover{background:#E9F1FB}
.bp-wo-group-footer{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:10px 14px 11px 17px;background:#F8FBFF;border-top:1px solid #E6EDF5;
}
.bp-wo-group-footer-note{max-width:720px;color:#718198;font-size:9px;line-height:1.35}
.bp-wo-group-footer .bp-wo-primary-action{width:auto;min-width:150px}

@media(max-width:1050px){
  .bp-wo-card-body{grid-template-columns:minmax(0,1fr) 210px}
  .bp-wo-group-issue{grid-template-columns:28px minmax(0,1fr) 165px 55px}
}
@media(max-width:760px){
  .bp-wo-queue-head{align-items:flex-start;flex-direction:column}
  .bp-wo-card-top{align-items:flex-start}
  .bp-wo-card-body{grid-template-columns:1fr}
  .bp-wo-card-controls{padding-left:0;padding-top:10px;border-left:0;border-top:1px solid #EEF2F6}
  .bp-wo-group-top{align-items:flex-start;flex-direction:column}
  .bp-wo-group-glance{justify-content:flex-start}
  .bp-wo-group-issue{grid-template-columns:28px minmax(0,1fr)}
  .bp-wo-inline-assign{grid-column:2}
  .bp-wo-issue-view{grid-column:2;width:100%}
  .bp-wo-group-footer{align-items:flex-start;flex-direction:column}
  .bp-wo-group-footer .bp-wo-primary-action{width:100%}
}



/* ==========================================================
   COMBINED ROOM WORK ORDER — COMPACT DETAIL MODAL
   Prevents photos from expanding and keeps all issues scannable.
   ========================================================== */
#woModal .modalbox{
  display:flex;
  flex-direction:column;
  width:min(1040px,calc(100vw - 28px))!important;
  max-width:1040px!important;
  height:min(92dvh,900px)!important;
  max-height:92dvh!important;
  overflow:hidden!important;
}
#woModal .modalhead{flex-shrink:0}
#woReminderNotice{
  flex-shrink:0;
  margin:0 0 12px;
  padding:12px 16px;
  border:1px solid #75BD93;
  border-radius:10px;
  background:#E8F7ED;
  color:#14532D;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
  text-align:center;
  overflow-wrap:anywhere;
}
#woReminderNotice[hidden]{display:none!important}
#woReminderNotice[data-state="sending"]{background:#EFF6FF;border-color:#93C5FD;color:#1E40AF}
#woReminderNotice[data-state="error"]{background:#FEF2F2;border-color:#FCA5A5;color:#991B1B}
#woModal #woModalBody{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  max-height:calc(92dvh - 72px)!important;
  padding:14px!important;
  background:#F5F8FC!important;
}
.bp-room-detail-shell{display:grid;gap:10px}
.bp-room-detail-hero{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:15px 16px;
  border:1px solid #DDE7F1;
  border-radius:14px;
  background:linear-gradient(135deg,#F7FAFE,#FFFFFF);
}
.bp-room-detail-icon{
  width:48px;height:48px;display:grid;place-items:center;
  border-radius:13px;background:#E8F1FF;font-size:22px;
}
.bp-room-detail-kicker{
  color:#245C9A;font-size:9px;font-weight:var(--w-strong,600);
  letter-spacing:.07em;text-transform:uppercase;
}
.bp-room-detail-title h2{
  margin:2px 0 1px;font-size:22px;line-height:1.05;color:#12233F;
}
.bp-room-detail-hotel{font-size:11px;color:#64748B}
.bp-room-detail-summary{display:flex;align-items:center;gap:8px}
.bp-room-detail-stat{
  min-width:78px;padding:8px 10px;border:1px solid #D9E5F1;border-radius:10px;
  background:#fff;text-align:center;
}
.bp-room-detail-stat strong{display:block;font-size:20px;color:#173E78;line-height:1}
.bp-room-detail-stat span{display:block;margin-top:3px;font-size:8px;font-weight:var(--w-strong,600);color:#718198;text-transform:uppercase}
.bp-room-all-photos{min-height:38px!important;padding:7px 11px!important;font-size:10px!important}
.bp-room-detail-note{
  padding:9px 12px;border-radius:10px;background:#EDF5FF;color:#466581;
  font-size:10px;line-height:1.4;
}
.bp-room-detail-issues{display:grid;gap:9px}
.bp-room-detail-issue{
  border:1px solid #DDE6EF;border-radius:13px;background:#fff;
  box-shadow:0 3px 10px rgba(18,35,63,.035);
  overflow:hidden;
}
.bp-room-detail-issue-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:11px 13px;border-bottom:1px solid #EDF2F7;background:#FBFCFE;
}
.bp-room-detail-issue-left{display:flex;gap:9px;align-items:center;min-width:0}
.bp-room-detail-index{
  width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid #B6CCE6;border-radius:50%;background:#EEF5FF;
  color:#245C9A;font-size:11px;font-weight:var(--w-strong,600);
}
.bp-room-detail-wo-number{
  border:0;background:transparent;padding:0;color:#1D4ED8;
  font-size:12px;font-weight:var(--w-strong,600);text-decoration:underline;text-underline-offset:2px;cursor:pointer;
}
.bp-room-detail-badges{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:4px}
.bp-room-detail-category{
  display:inline-flex;padding:3px 6px;border-radius:999px;
  background:#F1F5F9;color:#475569;font-size:8px;font-weight:var(--w-strong,600);
}
.bp-room-detail-view{
  width:auto!important;min-height:36px!important;padding:6px 10px!important;
  font-size:9px!important;white-space:nowrap;
}
.bp-room-detail-main{
  display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;
  padding:12px 13px 13px;
}
.bp-room-detail-copy{min-width:0}
.bp-room-detail-issue-text{
  color:#1E293B;font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;
}
.bp-room-detail-meta{
  display:flex;gap:10px;flex-wrap:wrap;margin-top:8px;
  color:#7A889B;font-size:9px;
}
.bp-room-detail-assignee{
  display:flex;flex-direction:column;gap:4px;margin-top:10px;max-width:260px;
}
.bp-room-detail-assignee>span{
  color:#64748B;font-size:9px;font-weight:var(--w-strong,600);text-transform:uppercase;letter-spacing:.04em;
}
.bp-room-detail-assignee .bp-inline-wo-assignee{
  width:100%!important;max-width:260px!important;min-height:38px!important;
}
.bp-room-detail-photo-area{
  min-width:0;border-left:1px solid #EDF2F7;padding-left:13px;
}
.bp-room-detail-photo-label{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;
  color:#64748B;font-size:9px;font-weight:var(--w-strong,600);text-transform:uppercase;
}
.bp-room-detail-photo-label button{
  border:0;background:transparent;color:#2563EB;font-size:9px;font-weight:var(--w-strong,600);cursor:pointer;
}
.bp-room-detail-thumbs{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;
}
.bp-room-detail-thumb{
  position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;
  border:1px solid #D9E3EE;border-radius:9px;background:#EEF2F7;padding:0;cursor:zoom-in;
}
.bp-room-detail-thumb img{
  display:block!important;width:100%!important;height:100%!important;
  min-width:0!important;max-width:100%!important;max-height:none!important;
  object-fit:cover!important;border:0!important;border-radius:0!important;
}
.bp-room-detail-thumb span{
  position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(10,24,43,.64);color:#fff;font-size:16px;font-weight:var(--w-strong,600);
}
.bp-room-detail-no-photo{
  display:grid;place-items:center;min-height:82px;border:1px dashed #CBD5E1;
  border-radius:9px;background:#F8FAFC;color:#94A3B8;font-size:10px;font-weight:var(--w-strong,600);
}

@media(max-width:760px){
  #woModal .modalbox{
    width:calc(100vw - 12px)!important;
    height:calc(100dvh - 12px)!important;
    max-height:calc(100dvh - 12px)!important;
    border-radius:14px!important;
  }
  #woModal #woModalBody{
    max-height:calc(100dvh - 76px)!important;
    padding:9px!important;
  }
  .bp-room-detail-hero{
    grid-template-columns:42px minmax(0,1fr);
  }
  .bp-room-detail-icon{width:42px;height:42px}
  .bp-room-detail-summary{
    grid-column:1 / -1;justify-content:flex-start;
  }
  .bp-room-detail-main{
    grid-template-columns:1fr;
  }
  .bp-room-detail-photo-area{
    border-left:0;border-top:1px solid #EDF2F7;padding:10px 0 0;
  }
  .bp-room-detail-thumbs{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .bp-room-detail-issue-head{
    align-items:flex-start;
  }
  .bp-room-detail-view{
    flex:0 0 auto;
  }
}



/* ==========================================================
   COMPACT WORK ORDER SYSTEM — DESKTOP + MOBILE ALIGNMENT
   Same visual hierarchy, less wasted vertical space.
   ========================================================== */
/* Desktop management queue: denser without reducing readability. */
.bp-wo-queue{gap:8px!important}
.bp-wo-queue-head{padding:0 1px 2px!important}
.bp-wo-card-list{gap:7px!important}
.bp-wo-card{border-radius:12px!important;box-shadow:0 2px 8px rgba(18,35,63,.035)!important}
.bp-wo-card-top{padding:8px 11px 7px 14px!important;gap:8px!important}
.bp-wo-location-block{gap:8px!important}
.bp-wo-location-icon{width:31px!important;height:31px!important;border-radius:9px!important;font-size:14px!important}
.bp-wo-location-title{font-size:14px!important}
.bp-wo-hotel-name{margin-top:1px!important;font-size:9px!important}
.bp-wo-badges,.bp-wo-group-glance{gap:4px!important}
.bp-wo-issue-counter{padding:3px 6px!important}
.bp-wo-issue-counter strong{font-size:12px!important}
.bp-wo-open-counter{padding:4px 6px!important;font-size:8px!important}
.bp-wo-card-body{grid-template-columns:minmax(0,1fr) 220px!important;gap:12px!important;padding:8px 11px 9px 14px!important}
.bp-wo-number-link{font-size:10px!important}
.bp-wo-category-pill{padding:2px 5px!important;font-size:8px!important}.bp-wo-category-pill{flex:0 0 auto!important;white-space:nowrap!important}.bp-wo-card-top>:first-child{min-width:0}
.bp-wo-issue-text{margin-top:4px!important;font-size:12px!important;line-height:1.32!important}
.bp-wo-meta-line,.bp-wo-mini-meta{margin-top:4px!important;gap:7px!important;font-size:8px!important}
.bp-wo-card-controls{gap:5px!important;padding-left:10px!important}
.bp-wo-assign-box>span,.bp-wo-inline-assign>span{font-size:8px!important}
.bp-inline-wo-assignee{height:34px!important;border-radius:8px!important;font-size:10px!important;padding-top:3px!important;padding-bottom:3px!important}
.bp-wo-primary-action{min-height:34px!important;font-size:9px!important}
.bp-wo-more-action{font-size:8px!important}

/* Grouped room cards are compact, with each issue one clean line cluster. */
.bp-wo-group-issue{grid-template-columns:25px minmax(0,1fr) 170px 54px!important;gap:7px!important;padding:7px 11px 7px 14px!important}
.bp-wo-issue-index{width:23px!important;height:23px!important;font-size:9px!important}
.bp-wo-group-issue-head{gap:4px!important}
.bp-wo-group-issue-text{margin-top:2px!important;font-size:11px!important;line-height:1.25!important}
.bp-wo-issue-view{min-height:30px!important;font-size:8px!important}
.bp-wo-group-footer{padding:7px 11px 8px 14px!important;gap:10px!important}
.bp-wo-group-footer-note{font-size:8px!important}
.bp-wo-group-footer .bp-wo-primary-action{min-width:135px!important;width:auto!important}

/* Mobile maintenance portal mirrors the management card language. */
.bp-tech-work-list{display:grid;gap:8px}
.bp-tech-portal-head{padding:13px!important}
.bp-tech-portal-head .employee-title{font-size:20px!important;margin-bottom:2px!important}
.bp-tech-portal-head .employee-sub{margin-bottom:8px!important}
.bp-tech-tabs{margin:8px 0!important}
.bp-tech-tabs button{min-height:38px!important;padding:7px 9px!important;font-size:11px!important}
.bp-tech-wo-card{position:relative!important;overflow:hidden!important;padding:0!important;border-radius:13px!important;margin:0!important}
.bp-tech-wo-accent{position:absolute;inset:0 auto 0 0;width:4px;background:#64748B}
.bp-tech-wo-accent.emergency,.bp-tech-wo-accent.urgent{background:#DC2626}
.bp-tech-wo-accent.high{background:#F59E0B}
.bp-tech-wo-accent.medium,.bp-tech-wo-accent.normal{background:#3B82F6}
.bp-tech-wo-accent.low{background:#64748B}
.bp-tech-wo-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px 7px 13px;border-bottom:1px solid #EEF2F6}
.bp-tech-wo-location{display:flex;align-items:center;gap:8px;min-width:0}
.bp-tech-wo-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#EEF5FF;font-size:14px;flex:0 0 auto}
.bp-tech-wo-location strong{display:block;font-size:14px;color:#12233F;line-height:1.05}
.bp-tech-wo-location small{display:block;margin-top:2px;font-size:9px;color:#718198;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.bp-tech-wo-body{padding:8px 10px 7px 13px}
.bp-tech-wo-idrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bp-tech-wo-idrow b{font-size:10px;color:#2563EB}
.bp-tech-wo-idrow span{padding:2px 5px;border-radius:999px;background:#F1F5F9;color:#475569;font-size:8px;font-weight:var(--w-strong,600)}
.bp-tech-wo-body p{margin:5px 0 0!important;font-size:12px!important;line-height:1.32!important;color:#1E293B}
.bp-tech-wo-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px;color:#8190A3;font-size:8px}
.bp-tech-view-details{width:calc(100% - 20px)!important;margin:0 10px 9px 10px!important;min-height:39px!important;font-size:10px!important;font-weight:var(--w-strong,600)!important}
.bp-tech-morning-card{padding:12px!important}
.bp-tech-morning-card h2{margin:5px 0!important;font-size:15px!important}
.bp-tech-morning-card p{margin:5px 0 9px!important;font-size:12px!important}
.bp-tech-morning-card .maintenance-complete-morning{min-height:40px!important;margin-top:5px!important}

/* Maintenance detail uses the same compact rhythm. */
.maintenance-detail-head{padding:12px!important}
.maintenance-detail-head .employee-title{font-size:19px!important;margin:5px 0 3px!important}
.maintenance-detail-head h2{font-size:17px!important;margin:6px 0 3px!important}
.maintenance-detail-head .maintenance-meta{margin:3px 0!important;font-size:10px!important}
#publicEmployeeBody .employee-card{margin-bottom:8px!important}
#publicEmployeeBody .maintenance-issue{font-size:13px!important;line-height:1.4!important}
.maintenance-photo-grid{gap:6px!important}
.maintenance-action-grid{gap:6px!important;margin-top:9px!important}
.maintenance-action-grid .btn{min-height:44px!important;font-size:11px!important}

@media(max-width:1050px){
  .bp-wo-card-body{grid-template-columns:minmax(0,1fr) 190px!important}
  .bp-wo-group-issue{grid-template-columns:24px minmax(0,1fr) 150px 48px!important}
}
@media(max-width:760px){
  .bp-wo-card-top{padding:8px 10px 7px 13px!important}
  .bp-wo-card-body{grid-template-columns:1fr!important;padding:8px 10px 10px 13px!important}
  .bp-wo-card-controls{padding:7px 0 0!important;gap:6px!important}
  .bp-wo-group-issue{grid-template-columns:24px minmax(0,1fr)!important;padding:8px 10px 8px 13px!important}
  .bp-wo-inline-assign,.bp-wo-issue-view{grid-column:2!important}
  .bp-wo-group-footer{padding:8px 10px 9px 13px!important}
  .bp-wo-group-footer-note{display:none!important}
  .bp-tech-wo-location small{max-width:165px}
}



/* ==========================================================
   COMPACT ALIGNED WORK ORDERS V2
   Less dead space + Assign and View Details side-by-side.
   Desktop and maintenance mobile use the same visual rhythm.
   ========================================================== */
.bp-wo-card-list{gap:7px!important}
.bp-wo-card{border-radius:12px!important}
.bp-wo-card-top{
  padding:7px 10px 6px 13px!important;
  min-height:0!important;
}
.bp-wo-location-icon{
  width:30px!important;height:30px!important;border-radius:8px!important;font-size:14px!important;
}
.bp-wo-location-block{gap:8px!important}
.bp-wo-location-title{font-size:14px!important}
.bp-wo-hotel-name{margin-top:1px!important;font-size:9px!important}
.bp-wo-card-body{
  grid-template-columns:minmax(0,1fr) minmax(310px,360px)!important;
  gap:10px!important;
  padding:7px 10px 8px 13px!important;
}
.bp-wo-issue-text{margin-top:4px!important;font-size:12px!important;line-height:1.3!important}
.bp-wo-meta-line,.bp-wo-mini-meta{margin-top:4px!important;gap:7px!important;font-size:8px!important}
.bp-wo-card-controls{
  grid-template-columns:minmax(150px,1fr) 112px 30px!important;
  align-items:end!important;
  align-content:center!important;
  gap:6px!important;
  padding-left:10px!important;
}
.bp-wo-assign-box{gap:2px!important}
.bp-inline-wo-assignee{height:34px!important;font-size:10px!important;border-radius:8px!important}
.bp-wo-primary-action{
  width:auto!important;min-width:112px!important;min-height:34px!important;
  padding:5px 8px!important;font-size:9px!important;
}
.bp-wo-more-action{
  width:30px!important;height:34px!important;display:grid!important;place-items:center!important;
  border:1px solid #D9E3ED!important;border-radius:8px!important;background:#fff!important;
}
.bp-wo-group-issue{
  grid-template-columns:24px minmax(0,1fr) minmax(150px,185px) 52px!important;
  padding:6px 10px 6px 13px!important;
  gap:7px!important;
}
.bp-wo-issue-index{width:23px!important;height:23px!important;font-size:9px!important}
.bp-wo-group-issue-text{font-size:11px!important;line-height:1.25!important}
.bp-wo-group-footer{
  padding:6px 10px 6px 13px!important;
  min-height:0!important;
}
.bp-wo-group-footer-count{font-size:8px;color:#718198;font-weight:var(--w-strong,600)}
.bp-wo-group-footer .bp-wo-primary-action{min-width:112px!important}
.bp-wo-queue-head{padding-bottom:1px!important}
.bp-wo-queue{gap:8px!important}

/* Maintenance mobile room grouping mirrors management grouping. */
.bp-tech-room-group{padding:0!important}
.bp-tech-room-head{background:#F7FAFE!important}
.bp-tech-room-count{
  display:flex;align-items:baseline;gap:4px;padding:4px 7px;border-radius:8px;
  background:#EAF3FF;color:#245C9A;
}
.bp-tech-room-count b{font-size:13px}
.bp-tech-room-count span{font-size:8px;font-weight:var(--w-strong,600);text-transform:uppercase}
.bp-tech-room-issues{display:grid}
.bp-tech-room-issue{
  display:grid;grid-template-columns:24px minmax(0,1fr) 54px;gap:7px;align-items:center;
  padding:7px 9px 7px 12px;border-top:1px solid #EDF2F7;
}
.bp-tech-room-index{
  width:22px;height:22px;display:grid;place-items:center;border:1px solid #B7CCE5;
  border-radius:50%;background:#EEF5FF;color:#245C9A;font-size:9px;font-weight:var(--w-strong,600);
}
.bp-tech-room-copy{min-width:0}
.bp-tech-room-copy p{margin:3px 0 0!important;font-size:11px!important;line-height:1.25!important}
.bp-tech-room-view{
  min-height:32px;border:0;border-radius:7px;background:#EFF5FC;color:#245C9A;
  font-size:8px;font-weight:var(--w-strong,600);touch-action:manipulation;
}
.bp-tech-room-footer{
  padding:6px 10px 7px 12px;border-top:1px solid #EDF2F7;background:#F9FBFE;
  color:#718198;font-size:8px;font-weight:var(--w-strong,600);
}
#publicEmployeeBody .bp-tech-wo-card{margin-bottom:7px!important}

@media(max-width:1000px){
  .bp-wo-card-body{
    grid-template-columns:minmax(0,1fr) minmax(280px,330px)!important;
  }
  .bp-wo-card-controls{
    grid-template-columns:minmax(135px,1fr) 104px 30px!important;
  }
}
@media(max-width:760px){
  .bp-wo-card-body{grid-template-columns:1fr!important}
  .bp-wo-card-controls{
    grid-template-columns:minmax(0,1fr) 112px 30px!important;
    border-top:1px solid #EEF2F6!important;border-left:0!important;
    padding:6px 0 0!important;
  }
  .bp-wo-group-issue{grid-template-columns:23px minmax(0,1fr)!important}
  .bp-wo-inline-assign{grid-column:2!important}
  .bp-wo-issue-view{grid-column:2!important}
}



/* Mobile Work Order translation visibility */
.bp-maintenance-translation-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;
}
.bp-translation-ready,.bp-tech-translation-badge{
  display:inline-flex;align-items:center;gap:3px;border:1px solid #BBD7F3;
  background:#EEF7FF;color:#1E5D91;border-radius:999px;font-size:8px;font-weight:var(--w-strong,600);
  padding:3px 6px;white-space:nowrap;
}
.bp-maintenance-language-primary{
  padding:9px 10px;border:1px solid #DCE6F0;border-radius:10px;background:#fff;
}
.bp-maintenance-language-secondary{
  margin-top:7px;padding:8px 10px;border-radius:10px;background:#F4F8FC;border:1px solid #E2EAF2;
}
.bp-maintenance-lang-label{
  display:block;margin-bottom:4px;color:#56718D;font-size:8px;font-weight:var(--w-strong,600);
  text-transform:uppercase;letter-spacing:.055em;
}
.bp-maintenance-language-primary .maintenance-issue,
.bp-maintenance-language-secondary p{
  margin:0!important;line-height:1.4!important;color:#1E293B;white-space:pre-wrap;overflow-wrap:anywhere;
}
.bp-maintenance-language-primary .maintenance-issue{font-size:13px!important}
.bp-maintenance-language-secondary p{font-size:11px!important;color:#52657A!important}
.bp-maintenance-language-hint,.bp-public-translation-note{
  margin:5px 0 0;padding:6px 8px;border-radius:8px;background:#F0F7FF;
  color:#315E87;font-size:8px;line-height:1.35;font-weight:var(--w-strong,600);
}
.bp-public-translation-note{margin:6px 0 8px}
.bp-tech-wo-idrow .bp-tech-translation-badge{
  background:#F0F8FF!important;color:#245C9A!important;
}
@media(max-width:520px){
  .bp-maintenance-language-primary .maintenance-issue{font-size:14px!important}
  .bp-maintenance-language-secondary p{font-size:12px!important}
}



.bp-translation-pending,
.bp-tech-translation-pending{
  display:inline-flex;align-items:center;gap:3px;
  border:1px solid #F3D39C;background:#FFF8E8;color:#8A5B16;
  border-radius:999px;font-size:8px;font-weight:var(--w-strong,600);padding:3px 6px;white-space:nowrap;
}
.bp-maintenance-pending-box{
  border-color:#F1D5A8!important;
  background:#FFF9ED!important;
}
.bp-maintenance-pending-box p{color:#7A5A24!important}



/* Public link property identity: URLs/tokens remain unchanged. */
.bp-public-hotel-identity{display:grid;grid-template-columns:38px minmax(0,1fr) 28px;gap:10px;align-items:center;margin:0 0 10px;padding:10px 12px;border:1px solid #BCD5F1;border-radius:12px;background:linear-gradient(135deg,#EEF6FF,#F9FCFF);box-shadow:0 3px 10px rgba(20,65,115,.05)}
.bp-public-hotel-identity.gate{margin-bottom:14px}
.bp-public-hotel-pin{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#fff;font-size:18px;box-shadow:inset 0 0 0 1px #D7E5F3}
.bp-public-hotel-copy{min-width:0;display:flex;flex-direction:column;gap:1px}
.bp-public-hotel-copy>span{font-size:8px;font-weight:var(--w-strong,600);letter-spacing:.08em;color:#2D6DB0;text-transform:uppercase}
.bp-public-hotel-copy>strong{font-size:14px;line-height:1.2;color:#10233E;overflow-wrap:anywhere}
.bp-public-hotel-copy>small{font-size:9px;color:#64748B;font-weight:var(--w-strong,600)}
.bp-public-hotel-check{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#DFF6E8;color:#17713B;font-weight:var(--w-strong,600)}
@media(max-width:520px){.bp-public-hotel-identity{grid-template-columns:34px minmax(0,1fr) 24px;padding:9px 10px}.bp-public-hotel-pin{width:34px;height:34px;font-size:16px}.bp-public-hotel-copy>strong{font-size:13px}.bp-public-hotel-check{width:23px;height:23px;font-size:11px}}



/* ==========================================================
   DASHBOARD V4 — COMPACT OPERATIONS CONSOLE
   Reclaims vertical space without removing any functionality.
   ========================================================== */
#view-dashboard{padding-top:0!important}
.bp-dashboard-v3{
  grid-template-columns:minmax(0,1fr) 285px!important;
  gap:10px!important;
}
.bp-dashboard-v3 .bp-ops-rail{
  gap:9px!important;
  top:76px!important;
}

/* Compact command bar replaces oversized hero */
.bp-dashboard-commandbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:64px;
  margin:0 0 7px;
  padding:9px 11px;
  border:1px solid #DDE6EF;
  border-radius:12px;
  background:linear-gradient(135deg,#FFFFFF,#F8FBFE);
  box-shadow:0 3px 10px rgba(18,35,63,.035);
}
.bp-dashboard-command-title{min-width:0}
.bp-dashboard-command-kicker{
  margin-bottom:1px;
  color:#6A7B90;
  font-size:8px;
  font-weight:var(--w-strong,600);
  letter-spacing:.09em;
}
.bp-dashboard-command-title h2{
  margin:0!important;
  color:#12233F;
  font-size:20px!important;
  line-height:1!important;
  letter-spacing:-.025em;
}
.bp-dashboard-command-title p{
  margin:3px 0 0!important;
  color:#718198!important;
  font-size:9px!important;
  line-height:1.2!important;
}
.bp-dashboard-command-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}
.bp-command-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-height:34px;
  padding:5px 9px;
  border:1px solid #D4DFEA;
  border-radius:9px;
  background:#fff;
  color:#17314F;
  font-size:9px;
  font-weight:var(--w-strong,600);
  white-space:nowrap;
  cursor:pointer;
}
.bp-command-btn.primary{background:#2563EB;border-color:#2563EB;color:#fff}
.bp-command-btn.gold{background:#F59E0B;border-color:#F59E0B;color:#13213A}
.bp-command-btn.ghost{background:#fff}
.bp-command-icon{font-size:13px;line-height:1}

/* Permission chips become a thin capability strip */
.bp-dashboard-access-row{margin:0 0 7px}
.bp-dashboard-access-row .bp-access-strip{
  display:flex!important;
  gap:4px!important;
  padding:0!important;
  overflow-x:auto;
  scrollbar-width:none;
}
.bp-dashboard-access-row .bp-access-strip::-webkit-scrollbar{display:none}
.bp-dashboard-access-row .bp-access-chip{
  min-height:25px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  font-size:8px!important;
  white-space:nowrap;
}

/* KPI row: one glance, no wasted subtitle line */
.bp-dashboard-v3 .bp-stat-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:6px!important;
}
.bp-dashboard-v3 .bp-stat{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:7px!important;
  min-height:62px!important;
  padding:7px 9px!important;
  border-radius:10px!important;
}
.bp-dashboard-v3 .bp-stat .icon{
  grid-row:1 / 3!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  border-radius:8px!important;
  font-size:13px!important;
}
.bp-dashboard-v3 .bp-stat .lab{
  grid-column:2!important;
  font-size:9px!important;
  line-height:1.05!important;
  margin:0!important;
}
.bp-dashboard-v3 .bp-stat .num{
  grid-column:3!important;
  grid-row:1 / 3!important;
  margin:0!important;
  font-size:24px!important;
  line-height:1!important;
}
.bp-dashboard-v3 .bp-stat .sub{display:none!important}

/* Property snapshot: shorter cards, metrics inline */
.bp-dashboard-v3 .bp-panel{
  padding:10px!important;
  border-radius:11px!important;
}
.bp-dashboard-v3 .bp-panel-head{
  min-height:24px!important;
  margin-bottom:5px!important;
}
.bp-dashboard-v3 .bp-panel-head h3{
  margin:0!important;
  font-size:11px!important;
}
.bp-dashboard-v3 #propertyCards{gap:7px!important}
.bp-dashboard-v3 #propertyCards .card{
  min-height:0!important;
  padding:9px 10px!important;
  border-radius:10px!important;
}
.bp-dashboard-v3 #propertyCards h3{
  margin:0 0 2px!important;
  font-size:14px!important;
  line-height:1.08!important;
}
.bp-dashboard-v3 #propertyCards .meta{
  margin:0!important;
  font-size:8px!important;
}
.bp-dashboard-v3 #propertyCards .minirow{
  margin-top:7px!important;
  gap:7px!important;
}
.bp-dashboard-v3 #propertyCards .mini{
  display:flex!important;
  align-items:baseline!important;
  gap:4px!important;
  font-size:8px!important;
  white-space:nowrap;
}
.bp-dashboard-v3 #propertyCards .mini strong{
  font-size:16px!important;
  line-height:1!important;
}

/* Rail widgets: short, dense utility panels */
.bp-dashboard-v3 .bp-dashboard-rail-widget{
  padding:9px!important;
}
.bp-dashboard-v3 .bp-dashboard-rail-widget .bp-panel-head{
  margin-bottom:5px!important;
}
.bp-dashboard-v3 .bp-dashboard-rail-widget .bp-panel-head h3{
  font-size:10px!important;
}
.bp-dashboard-v3 .bp-notify-caughtup-compact{
  padding:5px 1px 1px!important;
  gap:7px!important;
}
.bp-dashboard-v3 .bp-notify-caughtup-compact .bp-empty-check{
  width:24px!important;height:24px!important;flex-basis:24px!important;font-size:12px!important;
}
.bp-dashboard-v3 .bp-notify-caughtup-compact strong{font-size:9px!important}
.bp-dashboard-v3 .bp-notify-caughtup-compact span:not(.bp-empty-check){font-size:8px!important}

/* Quick Actions: six compact shortcuts, not six mini-cards */
.bp-dashboard-quick-compact{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
}
.bp-dashboard-quick-compact button{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  min-height:34px!important;
  padding:5px 6px!important;
  border-radius:8px!important;
  font-size:8px!important;
  font-weight:var(--w-strong,600)!important;
  text-align:left!important;
}
.bp-dashboard-quick-compact button b{
  display:grid;
  place-items:center;
  width:18px;height:18px;
  border-radius:6px;
  background:#EFF5FC;
  color:#245C9A;
  font-size:10px;
  flex:0 0 auto;
}
.bp-dashboard-quick-compact button>span{
  display:inline!important;
  margin:0!important;
  color:inherit!important;
  font-size:8px!important;
  line-height:1!important;
}

/* Reduce general stack gaps below the fold too */
.bp-dashboard-stack{gap:7px!important}
.bp-dashboard-v3 .bp-overview-row{gap:5px!important}
.bp-dashboard-v3 .bp-overview-cell{padding:7px!important}
.bp-dashboard-v3 .bp-overview-cell strong{font-size:18px!important}
.bp-dashboard-v3 .bp-overview-cell small{font-size:8px!important}


/* Existing customizable widgets remain fully functional */
body.bp-dashboard-customizing .bp-dashboard-commandbar{
  outline:1px solid #DDE6EF;
}

@media(max-width:1180px){
  /*
   * 981-1180px was the broken band: iPad landscape, and any desktop with a
   * browser side panel open.
   *
   * This kept a 255px rail while .bp-ops-rail's own breakpoint still split
   * itself into two columns -- so each widget got 123px, the button grid was
   * forced to two columns inside that, and the labels rendered one letter per
   * line. Measured at 1024px: "Guest Request" was a text box 6px wide and
   * 110px tall, and the New message button was 22px across.
   *
   * One column here. A 450px main beside a 300px rail is two cramped columns
   * where there is room for one good one, and the rail reads far better across
   * the full width. Everything inside is auto-fit, so it fits the space it is
   * actually given rather than being told a column count that some ancestor
   * can invalidate.
   */
  .bp-dashboard-v3{grid-template-columns:minmax(0,1fr)!important}
  .bp-dashboard-v3 .bp-ops-rail{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}
  .bp-dashboard-v3 .bp-stat-grid{grid-template-columns:repeat(5,minmax(105px,1fr))!important;overflow-x:auto}
  .bp-dashboard-quick-compact{grid-template-columns:repeat(auto-fit,minmax(124px,1fr))!important}
}
@media(max-width:980px){
  .bp-dashboard-v3{grid-template-columns:1fr!important}
  .bp-dashboard-v3 .bp-ops-rail{
    position:static!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  .bp-dashboard-commandbar{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .bp-dashboard-command-actions{justify-content:flex-start!important;flex-wrap:wrap}
  .bp-dashboard-v3 .bp-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow:visible!important;
  }
  .bp-dashboard-v3 .bp-stat:last-child{grid-column:1 / -1}
  .bp-dashboard-v3 .bp-ops-rail{grid-template-columns:1fr!important}
  .bp-dashboard-quick-compact{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))!important}
}

/* Key Metrics, on a phone. Two columns with the fifth spanning the full width
   is three rows of 62px -- measured 198px on the live dashboard at 390x664,
   for five figures that are usually 0. Three columns puts them in two rows.
   At that width there is no room for the 28px icon beside a wrapping label and
   a 24px number, so the icon goes and the label sits above the figure. The
   last tile must stop spanning, or the saving is given straight back. */
@media(max-width:560px){
  .bp-dashboard-v3 .bp-stat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .bp-dashboard-v3 .bp-stat{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:1px!important;
    min-height:56px!important;
    padding:8px 9px!important;
  }
  .bp-dashboard-v3 .bp-stat:last-child{grid-column:auto!important}
  .bp-dashboard-v3 .bp-stat .icon{display:none!important}
  .bp-dashboard-v3 .bp-stat .lab{font-size:9px!important;line-height:1.1!important;color:#52627c!important}
  .bp-dashboard-v3 .bp-stat .num{font-size:21px!important;line-height:1!important;margin:0!important}
  .bp-dashboard-v3 .bp-stat .sub{display:none!important}
}



/* ==========================================================
   PORTAL V5 — SINGLE HEADER SYSTEM
   Removes duplicate section hero panels and reclaims space.
   ========================================================== */

/* Desktop shell uses more of the screen for actual work. */
@media(min-width:901px){
  .app{
    grid-template-columns:238px minmax(0,1fr)!important;
  }
  .sidebar{
    padding:16px 11px!important;
  }
  .sidebar .brand{
    margin:0 5px 14px!important;
  }
  .sidebar .bp-sidebar-logo,
  .sidebar .brand-logo-img{
    max-width:182px!important;
  }
  .sidebar .navlabel{
    margin:13px 8px 5px!important;
    font-size:9px!important;
  }
  .sidebar nav button{
    min-height:37px!important;
    margin:1px 0!important;
    padding:7px 9px!important;
    gap:7px!important;
    font-size:11px!important;
    border-radius:8px!important;
  }
  .sidebar .sidebox{
    margin-top:12px!important;
    padding:9px!important;
    font-size:9px!important;
    line-height:1.35!important;
  }
  .sidebar .bp-management-logout{
    min-height:36px!important;
    margin-top:7px!important;
    padding:6px 8px!important;
    font-size:10px!important;
  }

  /* One-line global header. No stacked property/language rows. */
  .topbar{
    min-height:56px!important;
    padding:7px 13px!important;
    gap:10px!important;
    flex-wrap:nowrap!important;
  }
  .top-left{
    min-width:190px!important;
    flex:1 1 auto!important;
  }
  .top-left .title h2{
    font-size:17px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  .top-left .title p{
    display:none!important;
  }
  .top-actions{
    display:flex!important;
    flex:0 1 auto!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    min-width:0!important;
  }
  .bp-notify-bell{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }
  .hotel-chip{
    max-width:210px!important;
    min-height:38px!important;
    padding:6px 8px!important;
    font-size:10px!important;
  }
  .top-actions .property-filter{
    display:block!important;
    width:230px!important;
    max-width:230px!important;
    min-height:38px!important;
    padding:5px 27px 5px 9px!important;
    font-size:11px!important;
    border-radius:9px!important;
  }
  .top-actions .langbar{
    display:flex!important;
    flex:0 0 auto!important;
    padding:2px!important;
    border-radius:9px!important;
  }
  .top-actions .langbar button{
    min-height:32px!important;
    padding:5px 7px!important;
    font-size:10px!important;
  }

  .content{
    max-width:none!important;
    padding:10px 13px 18px!important;
  }
}

/* At narrower desktop widths, keep one hotel selector rather than wrapping. */
@media(min-width:901px) and (max-width:1180px){
  .hotel-chip{display:none!important}
  .top-actions .property-filter{
    width:220px!important;
    max-width:220px!important;
  }
}

/* ----------------------------------------------------------
   Every regular portal section:
   global topbar already owns title/subtitle, so the old hero
   becomes a tiny action corner instead of a second panel.
   ---------------------------------------------------------- */
.view > .hero.bp-section-hero-compact{
  min-height:0!important;
  height:auto!important;
  margin:0 0 7px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:5px!important;
}

/* The duplicated title/description is removed. */
.view > .hero.bp-section-hero-compact > .bp-section-hero-copy{
  display:none!important;
}

/* Sections with no unique hero action use zero vertical space. */
.view > .hero.bp-section-hero-compact.bp-section-hero-empty{
  display:none!important;
  margin:0!important;
}

/* Actions that actually matter remain as a small upper-right toolbar. */
.view > .hero.bp-section-hero-compact > .quicklinks,
.view > .hero.bp-section-hero-compact > .bp-logbook-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  margin:0!important;
  padding:0!important;
}
.view > .hero.bp-section-hero-compact > button,
.view > .hero.bp-section-hero-compact .quicklinks .btn,
.view > .hero.bp-section-hero-compact .bp-logbook-actions .btn{
  min-height:32px!important;
  padding:5px 8px!important;
  border-radius:8px!important;
  font-size:9px!important;
  white-space:nowrap!important;
}

/* Work Order hero action is already duplicated by the New Work Order tab. */
#view-workorders > .hero.bp-wo-hub-hero{
  display:none!important;
}

/* Logbook toolbar should sit immediately below the global header. */
#view-logbooks > .bp-logbook-toolbar{
  margin-top:0!important;
}

/* Tabs become the section's real navigation header. */
.bp-wo-hub-tabs,
.bp-morning-tabs,
.settings-tabs{
  margin-top:0!important;
}

/* Make first content cards start closer to the top. */
.view.on > .grid:first-of-type,
.view.on > .card:first-of-type,
.view.on > .kpis:first-of-type,
.view.on > .inv-grid:first-of-type{
  margin-top:0!important;
}

/* Mobile also avoids the second oversized title card.
   Keep unique actions touch-friendly, but compact. */
@media(max-width:900px){
  .view > .hero.bp-section-hero-compact{
    margin:0 0 7px!important;
    padding:0!important;
    display:flex!important;
    justify-content:flex-end!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .view > .hero.bp-section-hero-compact.bp-section-hero-empty{
    display:none!important;
  }
  .view > .hero.bp-section-hero-compact > .bp-section-hero-copy{
    display:none!important;
  }
  .view > .hero.bp-section-hero-compact > .quicklinks,
  .view > .hero.bp-section-hero-compact > .bp-logbook-actions{
    display:flex!important;
    width:auto!important;
    margin:0!important;
    gap:5px!important;
  }
  .view > .hero.bp-section-hero-compact .btn,
  .view > .hero.bp-section-hero-compact > button{
    width:auto!important;
    min-height:38px!important;
    padding:6px 9px!important;
    font-size:10px!important;
  }
}

/* Shift Mode remains its own full-screen workspace. */
body.bp-operations-mode-active .topbar{display:none!important}



/* ==========================================================
   PORTAL V6 — MERGED DASHBOARD + SINGLE HOTEL SELECTOR
   ========================================================== */
.hotel-chip,#chooseHotelBtn{display:none!important}
.bp-dashboard-commandbar{display:none!important}

.bp-dashboard-top-actions{
  display:flex;align-items:center;gap:4px;flex:0 0 auto;
}
.bp-dashboard-top-actions[hidden]{display:none!important}
.bp-top-command{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  min-height:34px;padding:5px 8px;border:1px solid #D3DFEB;border-radius:8px;
  background:#fff;color:#17314F;font-size:9px;font-weight:var(--w-strong,600);white-space:nowrap;cursor:pointer;
}
.bp-top-command.primary{background:#2563EB;border-color:#2563EB;color:#fff}
.bp-top-command.gold{background:#F59E0B;border-color:#F59E0B;color:#16243B}

.bp-property-single-control{
  position:relative;display:flex;align-items:center;min-width:255px;max-width:340px;flex:0 1 320px;
}
.bp-property-single-control .bp-property-dot{
  position:absolute;left:10px;z-index:2;width:8px;height:8px;border-radius:50%;
  background:#F59E0B;pointer-events:none;
}
.top-actions .bp-property-single-control .property-filter{
  display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
  min-height:38px!important;padding:6px 30px 6px 27px!important;border-radius:9px!important;
  font-size:11px!important;font-weight:var(--w-strong,600)!important;
}

#view-dashboard .bp-dashboard-access-row{margin:0 0 5px!important}
#view-dashboard .bp-dashboard-stack{gap:6px!important}

@media(min-width:1101px){
  .topbar{min-height:54px!important;padding:6px 12px!important}
  .top-left{flex:1 1 auto!important;min-width:170px!important}
  .top-actions{gap:4px!important}
  .bp-notify-bell{width:36px!important;height:36px!important;min-width:36px!important}
  .top-actions .langbar button{min-height:32px!important;padding:4px 6px!important}
}
@media(min-width:901px) and (max-width:1300px){
  .bp-property-single-control{min-width:220px;flex-basis:250px}
  .bp-top-command{padding:5px 6px;font-size:8px}
}
@media(max-width:1100px) and (min-width:901px){
  .topbar{flex-wrap:wrap!important}
  .top-left{flex:1 1 200px!important}
  .top-actions{flex:1 1 100%!important;justify-content:flex-end!important}
  .bp-property-single-control{min-width:220px;flex:0 1 270px}
}
@media(max-width:900px){
  .bp-dashboard-top-actions{display:none!important}
  .bp-property-single-control{min-width:0;max-width:none;width:100%;flex:1 1 100%}
  .top-actions .bp-property-single-control .property-filter{display:block!important;width:100%!important}
}



/* Property selector: instant scope switch + automatic cloud refresh */
.bp-property-single-control{isolation:isolate}
.bp-property-refresh-indicator{
  position:absolute;
  right:31px;
  top:50%;
  transform:translateY(-50%);
  display:none;
  align-items:center;
  gap:4px;
  z-index:3;
  padding:2px 5px;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  color:#64748B;
  font-size:8px;
  font-weight:var(--w-strong,600);
  pointer-events:none;
}
.bp-property-single-control.bp-refreshing .bp-property-refresh-indicator{
  display:inline-flex;
}
.bp-property-single-control.bp-refreshing .bp-property-refresh-indicator:before{
  content:'';
  width:9px;
  height:9px;
  border:2px solid #CBD5E1;
  border-top-color:#2563EB;
  border-radius:50%;
  animation:bpPropertySpin .7s linear infinite;
}
.bp-property-single-control.bp-refreshing .property-filter{
  padding-right:72px!important;
}
@keyframes bpPropertySpin{to{transform:rotate(360deg)}}


/* Authoritative global property state */
select.bp-global-property-locked:disabled{
  opacity:.78!important;
  cursor:not-allowed!important;
  background-color:#F8FAFC!important;
  color:#334155!important;
}


/* ==========================================================
   PM + CARPET ROOM TRACKING BOARDS
   ========================================================== */
.bp-room-tracking-board{
  margin:0 0 10px;
  padding:11px;
  border:1px solid #DCE5EE;
  border-radius:12px;
  background:#fff;
  box-shadow:0 4px 14px rgba(18,35,63,.045);
}
.bp-track-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.bp-track-title{min-width:0}
.bp-track-kicker{
  margin-bottom:2px;
  color:#6D7F95;
  font-size:8px;
  font-weight:var(--w-strong,600);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bp-track-title h3{
  margin:0;
  color:#12233F;
  font-size:15px;
  line-height:1.12;
}
.bp-track-title p{
  margin:3px 0 0;
  color:#6D7F95;
  font-size:9px;
  line-height:1.3;
}
.bp-track-summary{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.bp-track-count{
  min-width:66px;
  padding:6px 8px;
  border:1px solid #CFE7D9;
  border-radius:9px;
  background:#F2FBF6;
  text-align:center;
}
.bp-track-count.todo{
  border-color:#F2D8A8;
  background:#FFF8EB;
}
.bp-track-count.total{
  border-color:#DCE5EE;
  background:#F7F9FC;
}
.bp-track-count strong{
  display:block;
  color:#173A2C;
  font-size:19px;
  line-height:1;
}
.bp-track-count.todo strong{color:#8A5A13}
.bp-track-count.total strong{color:#334B68}
.bp-track-count span{
  display:block;
  margin-top:2px;
  color:#64748B;
  font-size:7px;
  font-weight:var(--w-medium,500);
  text-transform:uppercase;
}
.bp-track-period{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:126px;
}
.bp-track-period span{
  color:#718198;
  font-size:7px;
  font-weight:var(--w-strong,600);
  text-transform:uppercase;
}
.bp-track-period select{
  min-height:32px;
  padding:5px 24px 5px 7px;
  border:1px solid #D7E1EB;
  border-radius:8px;
  background:#fff;
  color:#183B62;
  font-size:9px;
  font-weight:var(--w-strong,600);
}
.bp-track-progress{
  height:5px;
  margin-top:8px;
  overflow:hidden;
  border-radius:999px;
  background:#EDF1F5;
}
.bp-track-progress span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:#2E8B57;
}
.bp-track-progress-label{
  margin-top:3px;
  color:#708196;
  font-size:8px;
  text-align:right;
}
.bp-track-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}
.bp-track-column{
  min-width:0;
  padding:8px;
  border:1px solid #E1E8EF;
  border-radius:10px;
  background:#FAFCFE;
}
.bp-track-column.completed{background:#F8FCF9}
.bp-track-column.todo{background:#FFFCF6}
.bp-track-column-head{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:6px;
  color:#465B72;
  font-size:9px;
}
.bp-track-column-head strong{flex:1}
.bp-track-column-head b{
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  border-radius:999px;
  background:#fff;
  border:1px solid #DDE5ED;
  font-size:9px;
}
.bp-track-chips{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  align-content:flex-start;
  max-height:154px;
  overflow:auto;
}
.bp-room-track-chip{
  display:inline-flex;
  align-items:center;
  gap:3px;
  min-width:48px;
  min-height:28px;
  padding:4px 7px;
  border:1px solid #D4DEE8;
  border-radius:7px;
  background:#fff;
  color:#334B68;
  font-size:9px;
  cursor:pointer;
}
.bp-room-track-chip span{font-size:9px}
.bp-room-track-chip b{font-size:10px}
.bp-room-track-chip.done{
  border-color:#B9DEC9;
  background:#EAF8F0;
  color:#19653E;
}
.bp-room-track-chip.todo{
  border-color:#E8D1A4;
  background:#FFF7E6;
  color:#875810;
}
.bp-room-track-chip.overdue{
  border-color:#E4B3B3;
  background:#FFF0F0;
  color:#A12D2D;
}
.bp-room-track-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 3px 8px rgba(18,35,63,.08);
}
.bp-track-none{
  display:inline-flex;
  padding:5px 2px;
  color:#8391A2;
  font-size:9px;
}
.bp-track-empty{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
}
.bp-track-empty-icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:9px;
  background:#EEF4FA;
  color:#245C9A;
  font-weight:var(--w-strong,600);
}
.bp-track-empty strong{
  display:block;
  color:#183B62;
  font-size:11px;
}
.bp-track-empty span{
  display:block;
  margin-top:2px;
  color:#718198;
  font-size:9px;
}

@media(max-width:760px){
  .bp-track-head{flex-direction:column}
  .bp-track-summary{width:100%;justify-content:flex-start}
  .bp-track-period{min-width:140px}
  .bp-track-columns{grid-template-columns:1fr}
  .bp-track-chips{max-height:190px}
}



/* ==========================================================
   UNIFIED ROOM TRACKING BOARD
   One room grid — status is communicated by chip color.
   ========================================================== */
.bp-track-columns{display:none!important}
.bp-track-progress,
.bp-track-progress-label{display:none!important}

.bp-track-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
  padding-top:7px;
  border-top:1px solid #EDF1F5;
  color:#687B91;
  font-size:8px;
  font-weight:var(--w-strong,600);
}
.bp-track-legend span{display:inline-flex;align-items:center;gap:4px}
.bp-track-legend i{
  display:inline-block;
  width:8px;height:8px;
  border-radius:3px;
  border:1px solid #CBD5E1;
  background:#F4F7FA;
}
.bp-track-legend i.done{background:#DDF4E6;border-color:#9ED0B2}
.bp-track-legend i.todo{background:#FFF0C9;border-color:#E7C675}
.bp-track-legend i.overdue{background:#FFE0E0;border-color:#E2A1A1}
.bp-track-legend i.neutral{background:#EFF2F5;border-color:#C9D1DA}

.bp-track-one-grid{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  max-height:240px;
  overflow:auto;
  margin-top:9px;
  padding:1px;
}
.bp-room-track-chip{
  min-width:52px!important;
  min-height:31px!important;
  justify-content:center;
  position:relative;
}
.bp-room-track-chip.neutral{
  border-color:#D4DCE5;
  background:#F4F6F8;
  color:#65758A;
}
.bp-room-track-chip em{
  display:grid;
  place-items:center;
  min-width:15px;
  height:15px;
  padding:0 3px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  font-size:7px;
  font-style:normal;
  font-weight:var(--w-strong,600);
}
.bp-track-count.done{
  border-color:#CFE7D9;
  background:#F2FBF6;
}
.bp-track-count.done strong{color:#19653E}
.bp-track-count.overdue{
  border-color:#EDC3C3;
  background:#FFF3F3;
}
.bp-track-count.overdue strong{color:#A12D2D}
.bp-track-count.neutral{
  border-color:#DCE3EA;
  background:#F6F8FA;
}
.bp-track-count.neutral strong{color:#65758A}

/* Work Order room history */
.bp-room-history-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-bottom:10px;
}
.bp-room-history-summary>div{
  padding:8px;
  border:1px solid #DEE6EE;
  border-radius:9px;
  background:#F8FAFC;
  text-align:center;
}
.bp-room-history-summary>div.done{
  border-color:#CDE4D6;
  background:#F2FAF5;
}
.bp-room-history-summary strong{
  display:block;
  color:#193B61;
  font-size:20px;
  line-height:1;
}
.bp-room-history-summary span{
  display:block;
  margin-top:3px;
  color:#718198;
  font-size:8px;
  font-weight:var(--w-strong,600);
}
.bp-room-history-list{
  display:grid;
  gap:7px;
  max-height:62vh;
  overflow:auto;
}
.bp-room-history-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border:1px solid #E0E7EF;
  border-radius:9px;
  background:#fff;
}
.bp-room-history-row.active{
  border-left:4px solid #E8A723;
}
.bp-room-history-main{min-width:0}
.bp-room-history-top{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  margin-bottom:4px;
}
.bp-room-history-main>strong{
  display:block;
  color:#243B55;
  font-size:10px;
  line-height:1.3;
}
.bp-room-history-main>small{
  display:block;
  margin-top:2px;
  color:#718198;
  font-size:8px;
}
.bp-room-history-actions{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.bp-room-history-actions .btn{
  min-height:31px;
  padding:5px 8px;
  font-size:8px;
}

@media(max-width:700px){
  .bp-track-one-grid{max-height:300px}
  .bp-room-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bp-room-history-row{grid-template-columns:1fr}
  .bp-room-history-actions{justify-content:flex-start}
}



/* ==========================================================
   ROOM TRACKING POLISH — CONSISTENT ROOM NUMBER GRID
   ========================================================== */

/* Every room board now uses the same clean grid. */
.bp-track-one-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(64px,1fr))!important;
  gap:7px!important;
  max-height:250px!important;
  margin-top:10px!important;
  padding:2px!important;
  overflow:auto!important;
  align-items:stretch!important;
}

/* Room number itself is the visual anchor; no check/dot/circle glyphs. */
.bp-room-track-chip{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:38px!important;
  padding:7px 8px!important;
  gap:0!important;
  border-radius:9px!important;
  font-variant-numeric:tabular-nums;
  box-shadow:none!important;
}
.bp-room-track-chip>b{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:var(--w-strong,600)!important;
  letter-spacing:.01em!important;
}
.bp-room-track-chip>span{display:none!important}

/* Active-WO count sits in the corner so it never crowds the room number. */
.bp-room-track-chip>em{
  position:absolute!important;
  top:3px!important;
  right:4px!important;
  display:grid!important;
  place-items:center!important;
  min-width:15px!important;
  height:15px!important;
  padding:0 3px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.08)!important;
  font-size:7px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:var(--w-strong,600)!important;
  box-shadow:0 1px 2px rgba(15,23,42,.07)!important;
}
.bp-room-track-chip.done{
  border-color:#A8D8BA!important;
  background:#EAF8F0!important;
  color:#17633C!important;
}
.bp-room-track-chip.todo{
  border-color:#E6C77E!important;
  background:#FFF6DD!important;
  color:#84570D!important;
}
.bp-room-track-chip.overdue{
  border-color:#E6AAAA!important;
  background:#FFECEC!important;
  color:#A22F2F!important;
}
.bp-room-track-chip.neutral{
  border-color:#D5DEE8!important;
  background:#F6F8FA!important;
  color:#60748C!important;
}
.bp-room-track-chip:hover{
  transform:translateY(-1px)!important;
  border-color:#9DB1C7!important;
  box-shadow:0 3px 8px rgba(18,35,63,.08)!important;
}

/* Give the board a little more breathing room without wasting height. */
.bp-room-tracking-board{
  padding:12px 13px!important;
}
.bp-track-legend{
  gap:12px!important;
  margin-top:9px!important;
  padding-top:8px!important;
}

/* ==========================================================
   WORK ORDER ROOM HISTORY — CLEANER MODAL
   ========================================================== */
#woModal.bp-room-history-modal{
  padding:24px!important;
  align-items:center!important;
}
#woModal.bp-room-history-modal .modalbox{
  width:min(1180px,calc(100vw - 48px))!important;
  max-width:1180px!important;
  height:auto!important;
  max-height:88dvh!important;
  margin:auto!important;
  padding:16px!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
#woModal.bp-room-history-modal .modalhead{
  margin-bottom:10px!important;
  padding:1px 1px 8px!important;
  border-bottom:1px solid #E7EDF3!important;
}
#woModal.bp-room-history-modal .modalhead h3{
  font-size:17px!important;
  line-height:1.15!important;
  color:#12233F!important;
}
#woModal.bp-room-history-modal #woModalBody{
  max-height:calc(88dvh - 74px)!important;
  padding:8px 2px 2px!important;
  background:#fff!important;
}
#woModal.bp-room-history-modal .bp-room-history-summary{
  gap:8px!important;
  margin-bottom:10px!important;
}
#woModal.bp-room-history-modal .bp-room-history-summary>div{
  padding:8px 10px!important;
  min-height:58px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#woModal.bp-room-history-modal .bp-room-history-summary strong{
  font-size:18px!important;
}
#woModal.bp-room-history-modal .bp-room-history-list{
  gap:8px!important;
  max-height:calc(88dvh - 175px)!important;
  padding-right:2px!important;
}
#woModal.bp-room-history-modal .bp-room-history-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:12px!important;
  padding:10px 12px!important;
  border-radius:11px!important;
  box-shadow:0 2px 6px rgba(15,23,42,.025)!important;
}
#woModal.bp-room-history-modal .bp-room-history-row.active{
  border-left-width:4px!important;
}
#woModal.bp-room-history-modal .bp-room-history-top{
  gap:6px!important;
  margin-bottom:5px!important;
}

/* Replaces the ugly native-looking WO number button. */
.bp-room-history-id{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:4px 8px!important;
  border:1px solid #D9E4EF!important;
  border-radius:7px!important;
  background:#F5F8FC!important;
  color:#183B62!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:var(--w-strong,600)!important;
  letter-spacing:.01em!important;
  cursor:pointer!important;
}
.bp-room-history-id:hover{
  border-color:#AFC4DA!important;
  background:#EDF4FB!important;
  color:#1D4ED8!important;
}
.bp-room-history-id:focus-visible{
  outline:2px solid #93C5FD!important;
  outline-offset:2px!important;
}

/* Photo count and View Details now read as one clean action group. */
.bp-room-history-photo{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  min-width:42px!important;
  min-height:32px!important;
  padding:5px 7px!important;
  border:1px solid #D9E4EF!important;
  border-radius:8px!important;
  background:#F8FAFC!important;
  color:#52667C!important;
  font-size:9px!important;
  font-weight:var(--w-strong,600)!important;
  cursor:pointer!important;
}
.bp-room-history-photo:hover{
  background:#EEF4FA!important;
  border-color:#B9CADD!important;
}
.bp-room-history-view{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:6px 10px!important;
  border:1px solid #2563EB!important;
  border-radius:8px!important;
  background:#2563EB!important;
  color:#fff!important;
  font-size:9px!important;
  font-weight:var(--w-strong,600)!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.bp-room-history-view:hover{
  background:#1D4ED8!important;
  border-color:#1D4ED8!important;
}
.bp-room-history-main>strong{
  margin-top:1px!important;
  font-size:10px!important;
}
.bp-room-history-main>small{
  font-size:8px!important;
  line-height:1.35!important;
}

@media(max-width:760px){
  .bp-track-one-grid{
    grid-template-columns:repeat(auto-fill,minmax(58px,1fr))!important;
    gap:6px!important;
    max-height:310px!important;
  }
  .bp-room-track-chip{
    min-height:38px!important;
    padding:7px 5px!important;
  }
  #woModal.bp-room-history-modal{
    padding:6px!important;
  }
  #woModal.bp-room-history-modal .modalbox{
    width:calc(100vw - 12px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 12px)!important;
    border-radius:13px!important;
  }
  #woModal.bp-room-history-modal #woModalBody{
    max-height:calc(100dvh - 78px)!important;
    padding:7px 1px 1px!important;
  }
  #woModal.bp-room-history-modal .bp-room-history-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #woModal.bp-room-history-modal .bp-room-history-actions{
    justify-content:flex-start!important;
  }
}



/* ==========================================================
   REGIONAL / ALL-HOTELS TRACKING VIEW
   ========================================================== */
.bp-regional-period{
  display:flex!important;
  width:max-content!important;
  margin:0 0 8px auto!important;
}

.bp-regional-track-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
.bp-regional-track-kicker{
  color:#64748B;
  font-size:8px;
  font-weight:var(--w-strong,600);
  letter-spacing:.08em;
}
.bp-regional-track-head h3{
  margin:2px 0 2px;
  color:#12233F;
  font-size:17px;
  line-height:1.1;
}
.bp-regional-track-head p{
  margin:0;
  color:#6F8195;
  font-size:9px;
  line-height:1.35;
  max-width:760px;
}
.bp-regional-track-hotels{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 9px;
  border:1px solid #D9E3ED;
  border-radius:999px;
  background:#F8FAFC;
  color:#536A83;
  font-size:8px;
  font-weight:var(--w-strong,600);
}

.bp-regional-track-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.bp-regional-hotel-card{
  min-width:0;
  padding:10px;
  border:1px solid #DCE5EE;
  border-radius:12px;
  background:#FBFCFE;
}
.bp-regional-hotel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}
.bp-regional-hotel-title{
  min-width:0;
}
.bp-regional-hotel-title>span{
  display:block;
  color:#8090A2;
  font-size:7px;
  font-weight:var(--w-strong,600);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.bp-regional-hotel-title>button{
  display:block;
  max-width:100%;
  margin:1px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:#173A60;
  font:inherit;
  font-size:11px;
  font-weight:var(--w-strong,600);
  line-height:1.15;
  text-align:left;
  cursor:pointer;
}
.bp-regional-hotel-title>button:hover{
  color:#2563EB;
}
.bp-regional-hotel-title>small{
  display:block;
  margin-top:2px;
  color:#75879A;
  font-size:7px;
}
.bp-regional-open-hotel{
  flex:0 0 auto;
  min-height:28px;
  padding:4px 7px;
  border:1px solid #D6E1EC;
  border-radius:7px;
  background:#fff;
  color:#245C9A;
  font-size:7px;
  font-weight:var(--w-strong,600);
  cursor:pointer;
}
.bp-regional-open-hotel:hover{
  border-color:#AFC5DB;
  background:#F2F7FC;
}

.bp-regional-hotel-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
}
.bp-regional-mini-stat{
  min-width:0;
  padding:5px 3px;
  border:1px solid #DCE4EC;
  border-radius:7px;
  background:#fff;
  text-align:center;
}
.bp-regional-mini-stat strong{
  display:block;
  color:#344B64;
  font-size:14px;
  line-height:1;
}
.bp-regional-mini-stat span{
  display:block;
  margin-top:2px;
  color:#718198;
  font-size:6px;
  font-weight:var(--w-strong,600);
  line-height:1.1;
  text-transform:uppercase;
}
.bp-regional-mini-stat.done{
  background:#F0FAF4;
  border-color:#C7E5D3;
}
.bp-regional-mini-stat.done strong{color:#17633C}
.bp-regional-mini-stat.todo{
  background:#FFF8E8;
  border-color:#ECD6A2;
}
.bp-regional-mini-stat.todo strong{color:#8B5A0A}
.bp-regional-mini-stat.overdue{
  background:#FFF2F2;
  border-color:#EBC1C1;
}
.bp-regional-mini-stat.overdue strong{color:#A22F2F}
.bp-regional-mini-stat.neutral{
  background:#F6F8FA;
}
.bp-regional-hotel-card .bp-track-legend{
  margin-top:6px!important;
  padding-top:6px!important;
  gap:7px!important;
  font-size:6.5px!important;
}
.bp-regional-hotel-card .bp-track-legend i{
  width:7px!important;
  height:7px!important;
}

.bp-regional-room-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(43px,1fr));
  gap:4px;
  max-height:170px;
  margin-top:7px;
  padding:1px;
  overflow:auto;
}
.bp-regional-room-chip{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:28px;
  padding:4px 4px;
  border:1px solid #D5DEE8;
  border-radius:7px;
  background:#F6F8FA;
  color:#60748C;
  cursor:pointer;
}
.bp-regional-room-chip>b{
  font-size:8.5px;
  font-weight:var(--w-strong,600);
  line-height:1;
  font-variant-numeric:tabular-nums;
}
.bp-regional-room-chip>em{
  position:absolute;
  top:2px;
  right:2px;
  display:grid;
  place-items:center;
  min-width:13px;
  height:13px;
  padding:0 2px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  background:#fff;
  font-size:6px;
  font-style:normal;
  font-weight:var(--w-strong,600);
}
.bp-regional-room-chip.done{
  border-color:#A8D8BA;
  background:#EAF8F0;
  color:#17633C;
}
.bp-regional-room-chip.todo{
  border-color:#E6C77E;
  background:#FFF6DD;
  color:#84570D;
}
.bp-regional-room-chip.overdue{
  border-color:#E6AAAA;
  background:#FFECEC;
  color:#A22F2F;
}
.bp-regional-room-chip.neutral{
  border-color:#D5DEE8;
  background:#F6F8FA;
  color:#60748C;
}
.bp-regional-room-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 2px 6px rgba(18,35,63,.08);
}

@media(max-width:1280px){
  .bp-regional-track-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:820px){
  .bp-regional-track-head{
    flex-direction:column;
    gap:7px;
  }
  .bp-regional-track-grid{
    grid-template-columns:1fr;
  }
  .bp-regional-room-grid{
    max-height:220px;
    grid-template-columns:repeat(auto-fill,minmax(48px,1fr));
  }
  .bp-regional-period{
    margin-left:0!important;
  }
}



/* ==========================================================
   DASHBOARD — ROOM OPERATIONS + DAILY OPERATIONS
   ========================================================== */
.bp-dashboard-room-widget,
.bp-dashboard-daily-widget{
  padding:10px!important;
}
.bp-dashboard-room-widget .bp-panel-head,
.bp-dashboard-daily-widget .bp-panel-head{
  margin-bottom:7px!important;
}
.bp-dashboard-room-widget .bp-panel-head p,
.bp-dashboard-daily-widget .bp-panel-head p{
  margin:2px 0 0!important;
  font-size:8px!important;
}

/* Dashboard room board uses the same room language but slightly denser. */
#bpDashboardRoomBoard .bp-room-tracking-board{
  margin:0!important;
  padding:9px!important;
  box-shadow:none!important;
  border-color:#E3E9F0!important;
  background:#FBFCFE!important;
}
#bpDashboardRoomBoard .bp-track-head{
  gap:8px!important;
}
#bpDashboardRoomBoard .bp-track-title h3{
  font-size:12px!important;
}
#bpDashboardRoomBoard .bp-track-title p{
  font-size:8px!important;
}
#bpDashboardRoomBoard .bp-track-count{
  min-width:58px!important;
  padding:5px 6px!important;
}
#bpDashboardRoomBoard .bp-track-count strong{
  font-size:15px!important;
}
#bpDashboardRoomBoard .bp-track-one-grid{
  grid-template-columns:repeat(auto-fill,minmax(55px,1fr))!important;
  gap:5px!important;
  max-height:188px!important;
}
#bpDashboardRoomBoard .bp-room-track-chip{
  min-height:32px!important;
  padding:5px!important;
}
#bpDashboardRoomBoard .bp-room-track-chip>b{
  font-size:9.5px!important;
}

/* All Hotels room cards stay compact on the dashboard. */
#bpDashboardRoomBoard .bp-regional-track-head{
  margin-bottom:7px!important;
}
#bpDashboardRoomBoard .bp-regional-track-head h3{
  font-size:13px!important;
}
#bpDashboardRoomBoard .bp-regional-track-head p{
  font-size:8px!important;
}
#bpDashboardRoomBoard .bp-regional-track-grid{
  gap:7px!important;
}
#bpDashboardRoomBoard .bp-regional-hotel-card{
  padding:8px!important;
}
#bpDashboardRoomBoard .bp-regional-room-grid{
  max-height:132px!important;
  grid-template-columns:repeat(auto-fill,minmax(39px,1fr))!important;
}

/* Daily Operations */
.bp-dashboard-daily-head-actions{
  display:flex;
  gap:5px;
  align-items:center;
  flex-wrap:wrap;
}
.bp-daily-ops-shell{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:9px;
}
.bp-daily-metrics-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
}
.bp-daily-metric{
  display:grid;
  grid-template-columns:22px 1fr;
  grid-template-rows:auto auto;
  column-gap:6px;
  align-items:center;
  min-width:0;
  min-height:48px;
  padding:6px 7px;
  border:1px solid #DDE5ED;
  border-radius:8px;
  background:#F9FBFD;
  color:#314A65;
  text-align:left;
  cursor:pointer;
}
.bp-daily-metric:hover{
  border-color:#B8C8D9;
  background:#F3F7FB;
}
.bp-daily-metric-icon{
  grid-row:1 / 3;
  display:grid;
  place-items:center;
  width:22px;height:22px;
  border-radius:6px;
  background:#EEF4FA;
  font-size:10px;
}
.bp-daily-metric strong{
  font-size:15px;
  line-height:1;
  color:#183B62;
}
.bp-daily-metric small{
  min-width:0;
  color:#6E7F92;
  font-size:7px;
  font-weight:var(--w-strong,600);
  line-height:1.15;
}
.bp-daily-metric.critical{
  border-color:#E9B9B9;
  background:#FFF4F4;
}
.bp-daily-metric.critical strong{color:#A22F2F}
.bp-daily-metric.warning{
  border-color:#EAD4A5;
  background:#FFF9EC;
}
.bp-daily-metric.warning strong{color:#8A5A0A}

.bp-daily-attention-panel{
  min-width:0;
  padding:7px;
  border:1px solid #E1E8EF;
  border-radius:9px;
  background:#FCFDFE;
}
.bp-daily-attention-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:1px 2px 6px;
  border-bottom:1px solid #EDF1F5;
}
.bp-daily-attention-head strong{
  color:#213B58;
  font-size:9px;
}
.bp-daily-attention-head span{
  color:#8190A0;
  font-size:7px;
}
.bp-daily-attention-list{
  display:grid;
  gap:4px;
  max-height:183px;
  overflow:auto;
  margin-top:5px;
}
.bp-daily-attention{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  gap:6px;
  align-items:center;
  width:100%;
  min-height:37px;
  padding:5px 6px;
  border:1px solid #E4EAF0;
  border-radius:7px;
  background:#fff;
  color:#3B5067;
  text-align:left;
  cursor:pointer;
}
.bp-daily-attention:hover{background:#F6F9FC}
.bp-daily-attention.critical{
  border-left:3px solid #D83A3A;
}
.bp-daily-attention.urgent,
.bp-daily-attention.warning{
  border-left:3px solid #E5A51A;
}
.bp-daily-attention-icon{
  display:grid;
  place-items:center;
  width:24px;height:24px;
  border-radius:6px;
  background:#F1F5F9;
  font-size:10px;
}
.bp-daily-attention-copy{
  min-width:0;
}
.bp-daily-attention-copy strong{
  display:block;
  overflow:hidden;
  color:#263F59;
  font-size:8.5px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bp-daily-attention-copy small{
  display:block;
  overflow:hidden;
  margin-top:2px;
  color:#7C8B9B;
  font-size:7px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bp-daily-clear{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:56px;
  color:#39765A;
  font-size:8px;
  font-weight:var(--w-strong,600);
}

/* Regional daily operations matrix */
.bp-regional-daily{
  display:grid;
  gap:6px;
}
.bp-regional-daily-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#738499;
  font-size:7px;
  font-weight:var(--w-strong,600);
  letter-spacing:.06em;
}
.bp-regional-daily-row{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:7px;
  align-items:center;
  padding:6px;
  border:1px solid #E1E8EF;
  border-radius:9px;
  background:#FBFCFE;
}
.bp-regional-daily-row.has-attention{
  border-left:3px solid #E5A51A;
}
.bp-regional-daily-hotel{
  display:block;
  min-width:0;
  padding:4px 5px;
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.bp-regional-daily-hotel strong{
  display:block;
  overflow:hidden;
  color:#1E3A57;
  font-size:9px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bp-regional-daily-hotel span{
  display:block;
  margin-top:2px;
  color:#7C8B9B;
  font-size:7px;
}
.bp-regional-daily-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:4px;
}
.bp-regional-daily-metrics .bp-daily-metric{
  min-height:42px;
  padding:4px 5px;
  grid-template-columns:18px 1fr;
  column-gap:4px;
}
.bp-regional-daily-metrics .bp-daily-metric-icon{
  width:18px;height:18px;
  font-size:8px;
}
.bp-regional-daily-metrics .bp-daily-metric strong{
  font-size:12px;
}
.bp-regional-daily-metrics .bp-daily-metric small{
  font-size:6px;
}

/* Avoid repeating too much dashboard height after adding operational widgets. */
.bp-dashboard-v3 .bp-dashboard-room-widget + .bp-dashboard-daily-widget{
  margin-top:0!important;
}

@media(max-width:1200px){
  .bp-daily-ops-shell{
    grid-template-columns:1fr;
  }
  .bp-daily-metrics-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .bp-regional-daily-row{
    grid-template-columns:150px minmax(0,1fr);
  }
  .bp-regional-daily-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .bp-dashboard-daily-head-actions{
    width:100%;
  }
  .bp-daily-metrics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bp-regional-daily-row{
    grid-template-columns:1fr;
  }
  .bp-regional-daily-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #bpDashboardRoomBoard .bp-regional-track-grid{
    grid-template-columns:1fr!important;
  }
}



/* Guest Relations + Incident workspace */
.bp-incident-tabs{display:flex;gap:5px;margin:0 0 9px;padding:4px;border:1px solid #DDE5ED;border-radius:10px;background:#fff;width:max-content;max-width:100%}
.bp-incident-tabs button{min-height:33px;padding:5px 9px;border:0;border-radius:7px;background:transparent;color:#60738A;font-size:9px;font-weight:var(--w-strong,600);cursor:pointer}
.bp-incident-tabs button.on{background:#12233F;color:#fff}
.bp-incident-pane{display:none}.bp-incident-pane.on{display:block}
.bp-guest-follow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border:1px solid #E0E7EF;border-radius:8px;margin-bottom:5px;background:#FAFCFE}
.bp-guest-follow.overdue{border-left:3px solid #DC3B3B;background:#FFF6F6}
.bp-guest-follow strong,.bp-guest-follow span,.bp-guest-follow b,.bp-guest-follow small{display:block}
.bp-guest-follow strong{font-size:9px;color:#23405F}.bp-guest-follow span,.bp-guest-follow small{font-size:7px;color:#77889A;margin-top:2px}.bp-guest-follow b{font-size:7px;color:#A22F2F;text-align:right}
.bp-guest-type{display:inline-flex;padding:3px 6px;border-radius:999px;background:#EEF4FA;color:#245C9A;font-size:7px;font-weight:var(--w-strong,600)}
.bp-table-note{display:block;margin-top:3px;color:#748397}

/* Owner hotel configuration */
.bp-owner-config-note{margin-top:12px;padding:9px;border:1px solid #F0DDAF;border-radius:9px;background:#FFF9EA;color:#66501A;font-size:9px;line-height:1.4}
.bp-property-config-list{display:grid;gap:6px}
.bp-property-config-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #DEE6EE;border-radius:9px;background:#FBFCFE}
.bp-property-config-row.inactive{opacity:.62;background:#F6F7F8}
.bp-property-config-row>div:first-child span,.bp-property-config-row>div:first-child strong,.bp-property-config-row>div:first-child small{display:block}
.bp-property-config-row>div:first-child span{font-size:7px;font-weight:var(--w-strong,600);color:#8291A2;text-transform:uppercase}
.bp-property-config-row>div:first-child strong{font-size:10px;color:#183B62;margin-top:1px}
.bp-property-config-row>div:first-child small{font-size:7px;color:#77889A;margin-top:2px}
.bp-property-config-meta{text-align:right}.bp-property-config-meta b,.bp-property-config-meta small{display:block}.bp-property-config-meta b{font-size:8px;color:#3D6D55}.bp-property-config-meta small{font-size:7px;color:#8291A2}
@media(max-width:700px){.bp-property-config-row{grid-template-columns:1fr auto}.bp-property-config-meta{display:none}.bp-incident-tabs{width:100%}.bp-incident-tabs button{flex:1}}
@container bpops (max-width:700px){.bp-incident-tabs{width:100%}.bp-incident-tabs button{flex:1}}



/* ==========================================================
   OPEN CASE WORKFLOW — INCIDENTS + GUEST RELATIONS
   ========================================================== */
.bp-guest-follow{
  width:100%;
  border:1px solid #E0E7EF;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
}
.bp-guest-follow:hover{border-color:#BFCEDD;background:#F5F9FD}
.bp-guest-follow>div:last-child{text-align:right}
.bp-guest-follow em{display:block;margin-top:3px;color:#2563EB;font-size:7px;font-style:normal;font-weight:var(--w-strong,600)}
.bp-case-table-row td{vertical-align:middle}
.bp-case-modalbox{
  width:min(1120px,calc(100vw - 40px))!important;
  max-width:1120px!important;
  max-height:90dvh!important;
  overflow:hidden!important;
  padding:15px!important;
}
#incidentCaseBody{
  max-height:calc(90dvh - 70px);
  overflow:auto;
  padding:3px 2px 4px;
}
.bp-case-overview{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:10px;
}
.bp-case-original,.bp-case-add-update,.bp-case-timeline-card{
  border:1px solid #DFE7EF;
  border-radius:11px;
  background:#fff;
  padding:11px;
}
.bp-case-kicker{
  color:#50677F;
  font-size:11px;
  font-weight:var(--w-strong,600);
  letter-spacing:.07em;
}
.bp-case-headerline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-top:3px;
}
.bp-case-headerline h3{
  margin:0;
  color:#183B62;
  font-size:18px;
}
.bp-case-headerline>div>span{
  display:block;
  margin-top:2px;
  color:#74869A;
  font-size:12px;
}
.bp-case-status{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:#EEF4FA;
  color:#245C9A;
  font-size:11px;
  font-weight:var(--w-strong,600);
  white-space:nowrap;
}
.bp-case-identity{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}
.bp-case-identity>div{
  min-width:0;
  padding:9px 10px;
  border:1px solid #C9D9E8;
  border-radius:9px;
  background:#F5F9FD;
}
.bp-case-identity span,.bp-case-identity b{display:block}
.bp-case-identity span{
  color:#50677F;
  font-size:10px;
  font-weight:var(--w-strong,600);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bp-case-identity b{
  margin-top:3px;
  color:#173B63;
  font-size:14px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.bp-case-meta-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:9px;
}
.bp-case-meta-grid>div{
  min-width:0;
  padding:6px;
  border-radius:7px;
  background:#F7F9FC;
}
.bp-case-meta-grid span,.bp-case-meta-grid b{display:block}
.bp-case-meta-grid span{
  color:#50677F;
  font-size:10px;
  font-weight:var(--w-strong,600);
  text-transform:uppercase;
}
.bp-case-meta-grid b{
  margin-top:2px;
  color:#314B68;
  font-size:12px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.bp-case-original-text{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid #ECF0F4;
}
.bp-case-original-text>span{
  display:block;
  color:#50677F;
  font-size:10px;
  font-weight:var(--w-strong,600);
  text-transform:uppercase;
}
.bp-case-original-text p{
  margin:4px 0 0;
  color:#263E58;
  font-size:14px;
  line-height:1.55;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.bp-case-add-update h3{
  margin:0 0 8px;
  color:#183B62;
  font-size:15px;
}
.bp-case-add-update textarea{min-height:88px}
.bp-case-add-update>p{color:#52697E;font-size:12px;line-height:1.5}
.bp-case-settlement{
  margin:12px 0;
  padding:11px;
  border:1px solid #C8D9E8;
  border-radius:10px;
  background:#F8FBFE;
}
.bp-case-settlement legend{
  padding:0 5px;
  color:#183B62;
  font-size:12px;
  font-weight:var(--w-strong,600);
}
.bp-case-settlement-help{margin:0 0 9px;color:#52697E;font-size:11px;line-height:1.45}
.bp-case-settlement .field{margin-bottom:8px}
.bp-case-settlement .field label{font-size:11px;color:#304D69}
.bp-case-settlement .field input,.bp-case-settlement .field select{min-height:38px;font-size:13px}
.bp-case-settlement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bp-case-settlement-grid .full{grid-column:1/-1}
.bp-case-settlement-output{
  display:block;
  margin-top:2px;
  padding:8px 9px;
  border:1px solid #C6DDEE;
  border-radius:8px;
  background:#EDF7FD;
  color:#174E78;
  font-size:12px;
  font-weight:var(--w-strong,600);
  line-height:1.4;
}
.bp-case-settlement-note{margin:7px 0 0;color:#647A8F;font-size:10px;line-height:1.4}
.bp-case-refund-ledger{
  display:grid;
  gap:7px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #DDE7EF;
}
.bp-case-refund-ledger>span{color:#50677F;font-size:10px;font-weight:var(--w-strong,600);letter-spacing:.06em;text-transform:uppercase}
.bp-case-refund-row{
  padding:8px 9px;
  border:1px solid #CFE0D4;
  border-radius:8px;
  background:#F4FBF6;
}
.bp-case-refund-row strong,.bp-case-refund-row span,.bp-case-refund-row small{display:block}
.bp-case-refund-row strong{color:#17613D;font-size:13px;line-height:1.35}
.bp-case-refund-row span{margin-top:2px;color:#456956;font-size:11px;line-height:1.35}
.bp-case-refund-row small{margin-top:3px;color:#617689;font-size:10px;line-height:1.35}
.bp-case-timeline-card{
  margin-top:10px;
}
.bp-case-timeline{
  display:grid;
  gap:7px;
}
.bp-case-update{
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  gap:7px;
  align-items:flex-start;
}
.bp-case-update-marker{
  display:grid;
  place-items:center;
  width:27px;height:27px;
  border-radius:999px;
  background:#EAF2FB;
  color:#245C9A;
  font-size:11px;
  font-weight:var(--w-strong,600);
}
.bp-case-update-main{
  padding:7px 8px;
  border:1px solid #E2E8EF;
  border-radius:8px;
  background:#FBFCFE;
}
.bp-case-update-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.bp-case-update-top strong{color:#263F5B;font-size:12px}
.bp-case-update-top span{color:#61768B;font-size:11px;line-height:1.35;text-align:right}
.bp-case-update-main p{
  margin:4px 0 0;
  color:#314B66;
  font-size:13px;
  line-height:1.55;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.bp-case-update-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:5px;
  color:#5A6F83;
  font-size:11px;
  line-height:1.4;
}
.bp-case-no-updates{
  padding:14px;
  border:1px dashed #D6E0EA;
  border-radius:8px;
  color:#5A6F83;
  font-size:12px;
  text-align:center;
}
@media(max-width:820px){
  .bp-case-overview{grid-template-columns:1fr}
  .bp-case-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bp-case-identity,.bp-case-settlement-grid{grid-template-columns:1fr}
  .bp-case-modalbox{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important}
  #incidentCaseBody{max-height:calc(100dvh - 78px)}
}
@container bpops (max-width:820px){.bp-case-overview{grid-template-columns:1fr}.bp-case-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-case-identity,.bp-case-settlement-grid{grid-template-columns:1fr}.bp-case-modalbox{width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important}}



/* ==========================================================
   CASE ROWS — CLICK THE RECORD ITSELF
   ========================================================== */
.bp-case-table-row{
  cursor:pointer;
  transition:background .12s ease,box-shadow .12s ease;
}
.bp-case-table-row:hover{
  background:#F2F7FC!important;
  box-shadow:inset 3px 0 0 #2563EB;
}
.bp-case-table-row:focus-visible{
  outline:2px solid #93C5FD;
  outline-offset:-2px;
  background:#F5F9FD!important;
}
.bp-case-table-row td{
  cursor:pointer;
}
.bp-case-table-row td a,
.bp-case-table-row td button{
  cursor:pointer;
}
.bp-guest-follow em{display:none!important}
.bp-guest-follow{
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.bp-guest-follow:hover{
  box-shadow:inset 3px 0 0 #2563EB;
}

/* Universal update/activity taxonomy */
.bp-case-update-type{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border:1px solid #D5E1ED;
  border-radius:999px;
  background:#EFF5FB;
  color:#245C9A;
  font-size:10px;
  font-weight:var(--w-strong,600);
  line-height:1;
}



/* ==========================================================
   TO-DO / PROJECT CASE WORKFLOW
   ========================================================== */
.bp-todo-open{
  appearance:none;
  -webkit-appearance:none;
  display:block;
  width:100%;
  min-width:0;
  padding:4px 5px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.bp-todo-open:hover{
  background:#F2F7FC;
}
.bp-todo-open:focus-visible{
  outline:2px solid #93C5FD;
  outline-offset:1px;
}
.bp-todo-open .bp-todo-title,
.bp-todo-open .bp-todo-meta,
.bp-todo-open p{
  pointer-events:none;
}



/* ==========================================================
   PERFORMANCE / RESPONSIVENESS
   ========================================================== */
.view:not(.on){
  content-visibility:hidden;
  contain:layout style paint;
}
.view.on{
  content-visibility:visible;
}
.bp-load-more-wrap{
  display:flex;
  justify-content:center;
  padding:10px 0 2px;
}
.bp-load-more-wrap .btn{
  min-width:190px;
}
.bp-property-single-control.bp-refreshing{
  cursor:progress;
}



/* Clear Front Desk workflows */
.bp-ops-howto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0;padding:10px;border:1px solid #CFE6DA;border-radius:10px;background:#F7FCF9}
.bp-ops-howto-step{display:flex;gap:7px;align-items:flex-start;min-width:0}
.bp-ops-howto-step>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:#0D7959;color:#fff;font-size:8px;font-weight:var(--w-strong,600)}
.bp-ops-howto-step b,.bp-ops-howto-step small{display:block}
.bp-ops-howto-step b{font-size:8px;color:#214A3C}
.bp-ops-howto-step small{margin-top:2px;color:#668277;font-size:7px;line-height:1.35}
.bp-ops-howto-note{grid-column:1/-1;padding-top:7px;border-top:1px solid #DCEEE5;color:#55776A;font-size:7.5px;line-height:1.4}
.bp-ops-howto-note b{color:#215C47}
.bp-cash-form-callout{display:flex;gap:7px;align-items:flex-start;margin:8px 0;padding:8px 9px;border:1px solid #D7E8F0;border-radius:8px;background:#F5FAFD;color:#4B6979;font-size:8px;line-height:1.4}
.bp-cash-form-callout b{color:#245C9A;white-space:nowrap}
.bp-cash-form-callout span{display:block}
.bp-shift-start-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 10px;padding:8px 10px;border:1px solid #D8E3EE;border-radius:10px;background:#fff}
.bp-shift-start-guide>div{display:grid;gap:2px}
.bp-shift-start-guide b{font-size:8px;color:#214566}
.bp-shift-start-guide span{font-size:7px;color:#71839A;line-height:1.35}
.bp-ops-date-control{display:grid;gap:2px;align-items:center}
.bp-ops-date-control span{font-size:7px;font-weight:var(--w-strong,600);color:#71839A;text-transform:uppercase;letter-spacing:.03em}
.bp-ops-date-control input{min-height:34px}
@media(max-width:900px){.bp-ops-howto{grid-template-columns:1fr}.bp-ops-howto-note{grid-column:auto}.bp-shift-start-guide{grid-template-columns:1fr}}
@container bpops (max-width:900px){.bp-ops-howto{grid-template-columns:1fr}.bp-ops-howto-note{grid-column:auto}.bp-shift-start-guide{grid-template-columns:1fr}}
/* Front Desk Shift Control + Audit + Reports */
.bp-shift-command{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;border:1px solid #D8E3EE;border-radius:12px;background:linear-gradient(135deg,#F8FBFE,#EEF5FC);margin-bottom:10px}
.bp-shift-command-copy span{font-size:7px;font-weight:var(--w-strong,600);letter-spacing:.08em;color:#71839A}.bp-shift-command-copy h3{margin:2px 0;color:#173B63;font-size:16px}.bp-shift-command-copy p{margin:0;color:#71839A;font-size:8px}.bp-shift-command-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.bp-shift-command-controls select,.bp-shift-command-controls input{min-height:34px;border:1px solid #D5E0EB;border-radius:8px;padding:5px 8px;background:#fff}
.bp-shift-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}.bp-shift-kpis>div{padding:8px;border:1px solid #DEE6EF;border-radius:9px;background:#fff;text-align:center}.bp-shift-kpis strong{display:block;font-size:18px;color:#183B62}.bp-shift-kpis span{font-size:7px;color:#71839A}.bp-shift-kpis .warn{background:#FFF6F1;border-color:#F3D2C5}
.bp-shift-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:9px}.bp-shift-group{padding:8px;border:1px solid #DEE6EF;border-radius:10px;background:#fff;margin-bottom:7px}.bp-shift-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.bp-shift-group-head h4{margin:0;color:#274968;font-size:10px}.bp-shift-group-head span{font-size:7px;color:#789}
.bp-shift-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px;border-top:1px solid #EDF1F5}.bp-shift-item:first-of-type{border-top:0}.bp-shift-item.done{background:#F6FCF8}.bp-shift-item.issue{background:#FFF5F5}.bp-shift-item.carry{background:#FFF9ED}.bp-shift-item.na{opacity:.72}.bp-shift-item-top{display:flex;gap:5px;align-items:center;margin-bottom:2px}.bp-shift-state{font-size:6.5px;font-weight:var(--w-strong,600);text-transform:uppercase;padding:2px 5px;border-radius:999px;background:#EEF2F6;color:#5D6E80}.done .bp-shift-state{background:#DFF4E7;color:#17683D}.issue .bp-shift-state{background:#FFE1E1;color:#A52B2B}.carry .bp-shift-state{background:#FFF0CB;color:#8A5B13}.bp-shift-item time,.bp-shift-item em{font-size:7px;color:#6D7F92;font-style:normal}.bp-shift-item-main>b{display:block;font-size:9px;color:#243F5C}.bp-shift-item-main>small{display:block;font-size:7px;color:#78889A;margin-top:2px}.bp-shift-exception{margin-top:4px;padding:4px 6px;background:#FFF1F1;border-radius:6px;color:#923333;font-size:7px}.bp-shift-linked{margin-top:3px;color:#1D6D45;font-size:7px;font-weight:var(--w-strong,600)}.bp-shift-item-actions{display:flex;gap:3px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.bp-shift-item-actions button{min-height:27px;border:1px solid #D8E2EC;background:#fff;border-radius:6px;padding:4px 6px;font-size:7px;font-weight:var(--w-strong,600);cursor:pointer}.bp-shift-item-actions button:hover{background:#F1F6FB}.bp-shift-module{color:#245C9A!important;border-color:#BDD2E8!important}
.bp-shift-journal{min-width:0;padding:9px;border:1px solid #DDE6EF;border-radius:10px;background:#fff;height:max-content;position:sticky;top:70px}.bp-shift-journal-head h4{margin:0;color:#183B62;font-size:11px}.bp-shift-journal-head span{font-size:7px;color:#78889A}.bp-shift-journal-add{display:grid;gap:5px;margin-top:7px}.bp-shift-journal-add select,.bp-shift-journal-add textarea{border:1px solid #DCE5EE;border-radius:7px;padding:6px;font-size:8px}.bp-shift-journal-add textarea{min-height:75px}.bp-shift-journal-list{display:grid;gap:5px;max-height:300px;overflow:auto;margin-top:8px}.bp-shift-journal-list>div{padding:6px;border:1px solid #E5EAF0;border-radius:7px;background:#FAFCFE}.bp-shift-journal-list time{font-size:7px;color:#728397}.bp-shift-journal-list b{display:block;font-size:8px;color:#31506E}.bp-shift-journal-list p{margin:3px 0;font-size:8px;line-height:1.35;color:#435B73}.bp-shift-journal-list small{font-size:6.5px;color:#8291A2}.bp-shift-close{display:grid;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid #E7ECF1}.bp-shift-close label{font-size:7px;font-weight:var(--w-strong,600);color:#65788C}.bp-shift-close textarea{min-height:60px}.bp-shift-submitted{margin-top:8px;padding:8px;border-radius:8px;background:#EEF7F2}.bp-shift-submitted b,.bp-shift-submitted span{display:block}.bp-shift-submitted b{font-size:9px;color:#236345}.bp-shift-submitted span,.bp-shift-submitted p{font-size:7px;color:#647C70}.bp-shift-empty{padding:20px;border:1px dashed #C9D5E1;border-radius:10px;text-align:center;background:#FAFCFE}.bp-shift-empty strong,.bp-shift-empty span{display:block}.bp-shift-empty strong{font-size:11px;color:#294B69}.bp-shift-empty span{margin-top:3px;font-size:8px;color:#77899A}.bp-click-row{cursor:pointer}.bp-click-row:hover{background:#F3F8FC}
.bp-shift-audit-list{display:grid;gap:5px}.bp-shift-audit-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;padding:8px 9px;border:1px solid #DDE6EF;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.bp-shift-audit-row:hover{background:#F5F9FD}.bp-shift-audit-row.exception{border-left:3px solid #D94848}.bp-shift-audit-row strong,.bp-shift-audit-row span{display:block}.bp-shift-audit-row strong{font-size:9px;color:#294B69}.bp-shift-audit-row span{font-size:7px;color:#78899A;margin-top:2px}.bp-shift-audit-row em{font-size:7px;font-style:normal;font-weight:var(--w-strong,600);color:#466786}
.bp-audit-shift-detail{margin-top:10px;padding:10px;border:1px solid #CEDBE7;border-radius:10px;background:#F9FBFD}.bp-audit-shift-head{display:flex;justify-content:space-between;gap:10px}.bp-audit-shift-head>div:first-child>span{font-size:7px;font-weight:var(--w-strong,600);color:#71839A}.bp-audit-shift-head h3{margin:2px 0;font-size:13px;color:#173B63}.bp-audit-shift-head p{margin:0;font-size:7px;color:#78899A}.bp-audit-shift-head>div:last-child{text-align:right}.bp-audit-shift-head>div:last-child strong{display:block;font-size:20px;color:#173B63}.bp-audit-shift-head>div:last-child span{font-size:7px;color:#78899A}.bp-audit-warning{margin-top:8px;padding:7px;border-radius:7px;background:#FFF3E8;color:#7A521A}.bp-audit-warning b{font-size:8px}.bp-audit-warning p{font-size:8px;margin:3px 0 0}.bp-audit-linked{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0;font-size:8px;color:#526B83}.bp-audit-session-close{display:flex;gap:6px;align-items:flex-end;margin-top:8px}.bp-audit-session-close textarea{flex:1;min-height:55px}
.bp-report-filters{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:7px;align-items:end}.bp-report-filters>*{min-width:0}.bp-report-filters select,.bp-report-filters input{max-width:100%;min-width:0;box-sizing:border-box}.bp-report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}.bp-report-summary>div{padding:7px;border:1px solid #E0E7EF;border-radius:8px;background:#FAFCFE;text-align:center}.bp-report-summary strong,.bp-report-summary span{display:block}.bp-report-summary strong{font-size:13px;color:#193B61}.bp-report-summary span{font-size:7px;color:#78899A;margin-top:2px}.bp-report-table{max-height:60vh;overflow:auto}.bp-report-table table{min-width:900px}
@media(max-width:900px){.bp-shift-command{align-items:flex-start;flex-direction:column}.bp-shift-layout{grid-template-columns:1fr}.bp-shift-journal{position:static}.bp-shift-kpis,.bp-report-summary{grid-template-columns:repeat(2,1fr)}.bp-report-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bp-report-filters .btn{grid-column:1/-1}.bp-shift-item{grid-template-columns:1fr}.bp-shift-item-actions{justify-content:flex-start}.bp-shift-audit-row{grid-template-columns:1fr auto}.bp-shift-audit-row em{display:none}}
@container bpops (max-width:900px){.bp-shift-command{align-items:flex-start;flex-direction:column}.bp-shift-layout{grid-template-columns:1fr}.bp-shift-kpis,.bp-report-summary{grid-template-columns:repeat(2,1fr)}.bp-shift-item{grid-template-columns:1fr}.bp-shift-audit-row{grid-template-columns:1fr auto}.bp-shift-audit-row em{display:none}}



/* Operator-focused shift UX */
.bp-shift-now{display:grid;gap:1px;min-width:116px;padding:5px 8px;border:1px solid #D5E1EC;border-radius:8px;background:#fff}
.bp-shift-now span{font-size:6.5px;color:#78899A}.bp-shift-now b{font-size:8px;color:#254C72}
.bp-shift-ready{display:grid;justify-items:center;gap:5px}.bp-shift-ready-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#EAF3FB;color:#245C9A;font-size:18px}.bp-shift-ready small{font-size:7px;color:#8291A2}
.bp-shift-operator-bar{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:10px;padding:8px 10px;margin-bottom:8px;border:1px solid #DCE5EE;border-radius:10px;background:#fff}
.bp-shift-operator-clock span,.bp-shift-operator-clock strong{display:block}.bp-shift-operator-clock span{font-size:6.5px;color:#7D8C9C;text-transform:uppercase;font-weight:var(--w-strong,600)}.bp-shift-operator-clock strong{font-size:11px;color:#244B70;margin-top:1px}.bp-shift-operator-progress>div:first-child{display:flex;justify-content:space-between;gap:8px}.bp-shift-operator-progress b{font-size:8px;color:#274B70}.bp-shift-operator-progress span{font-size:7px;color:#77899A}.bp-shift-progress-track{height:5px;margin-top:4px;border-radius:999px;background:#E9EEF4;overflow:hidden}.bp-shift-progress-track i{display:block;height:100%;border-radius:inherit;background:#2563EB}
.bp-shift-focus{padding:9px;margin-bottom:8px;border:1px solid #CDDCEA;border-radius:10px;background:#F8FBFE}.bp-shift-focus-head{display:flex;justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:6px}.bp-shift-focus-head span{display:block;font-size:6.5px;font-weight:var(--w-strong,600);letter-spacing:.08em;color:#67809A}.bp-shift-focus-head h4{margin:1px 0 0;font-size:11px;color:#173B63}.bp-shift-focus-head small{font-size:6.5px;color:#7B8C9D}
.bp-shift-focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.bp-shift-focus-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 8px;border:1px solid #DDE6EF;border-radius:8px;background:#fff}.bp-shift-focus-item.overdue{border-left:3px solid #D83B3B;background:#FFF8F8}.bp-shift-focus-item.due{border-left:3px solid #E59B18;background:#FFF9EE}.bp-shift-focus-item.soon{border-left:3px solid #3A7EDB;background:#F7FAFF}.bp-shift-focus-copy{min-width:0}.bp-shift-focus-copy span,.bp-shift-focus-copy b{display:block}.bp-shift-focus-copy span{font-size:6.5px;color:#7A8B9D}.bp-shift-focus-copy b{font-size:8px;color:#294965;margin-top:1px;line-height:1.25}.bp-shift-focus-actions{display:flex;gap:4px;flex-shrink:0}.bp-shift-done-quick{border:0;border-radius:6px;padding:5px 7px;background:#1F7A4D;color:#fff;font-size:7px;font-weight:var(--w-strong,600);cursor:pointer}.bp-shift-focus-clear{padding:11px;border:1px dashed #C6D7CC;border-radius:8px;background:#F6FCF8;color:#276544;text-align:center;font-size:8px}
.bp-shift-item.overdue{box-shadow:inset 3px 0 0 #D83B3B}.bp-shift-item.due{box-shadow:inset 3px 0 0 #E59B18}.bp-shift-item.soon{box-shadow:inset 3px 0 0 #3A7EDB}.bp-shift-time{padding:2px 5px;border-radius:999px;background:#F1F4F7}.bp-shift-time.overdue{background:#FFE5E5;color:#A52B2B}.bp-shift-time.due{background:#FFF0C9;color:#895C16}.bp-shift-time.soon{background:#E8F1FF;color:#245C9A}
.bp-shift-action-done{background:#E7F6ED!important;border-color:#B8DFC7!important;color:#17683D!important;font-weight:var(--w-strong,600)!important}.bp-shift-all-clear{display:grid;gap:3px;padding:18px;border:1px dashed #C7D8CD;border-radius:10px;background:#F8FCF9;text-align:center}.bp-shift-all-clear strong{font-size:10px;color:#226443}.bp-shift-all-clear span{font-size:7px;color:#70897A}
@media(max-width:900px){.bp-shift-operator-bar{grid-template-columns:1fr auto}.bp-shift-operator-progress{grid-column:1/-1;grid-row:2}.bp-shift-focus-list{grid-template-columns:1fr}.bp-shift-now{min-width:0}}
@container bpops (max-width:900px){.bp-shift-operator-bar{grid-template-columns:1fr auto}.bp-shift-operator-progress{grid-column:1/-1;grid-row:2}.bp-shift-focus-list{grid-template-columns:1fr}.bp-shift-now{min-width:0}}



/* Fairfield shuttle log */
.bp-shuttle-filters{margin-top:8px}.bp-shuttle-filters input{min-width:260px}.bp-shuttle-entry-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.bp-shuttle-entry-head strong,.bp-shuttle-entry-head span{display:block}.bp-shuttle-entry-head strong{font-size:11px;color:#173B63}.bp-shuttle-entry-head span{font-size:8px;color:#76889A;margin-top:2px}
.bp-shuttle-warning{padding:7px 8px;border:1px solid #F2C2A3;border-radius:7px;background:#FFF7F0;color:#86511E;font-size:8px;font-weight:var(--w-strong,600)}.bp-shuttle-row-warning{padding:4px 5px;margin-bottom:3px;border-radius:5px;background:#FFF0E3;color:#844A15;font-size:7px;font-weight:var(--w-strong,600)}.bp-shuttle-type{display:inline-block;padding:2px 6px;border-radius:999px;font-size:7px;font-weight:var(--w-strong,600);text-transform:uppercase}.bp-shuttle-type.guest{background:#E6F0FF;color:#245C9A}.bp-shuttle-type.staff{background:#E8F6EC;color:#1D6D45}.bp-shuttle-table td small{display:block;margin-top:3px;color:#7B8C9D;font-size:6.5px}.bp-shuttle-table select{min-width:92px}.bp-shuttle-table td:last-child input{display:block;min-width:150px;margin-top:4px}
@media(max-width:900px){.bp-shuttle-kpis{grid-template-columns:repeat(2,1fr)}.bp-shuttle-filters input{min-width:0;flex:1 1 100%}}
@container bpops (max-width:900px){.bp-shuttle-kpis{grid-template-columns:repeat(2,1fr)}.bp-shuttle-filters input{min-width:0;flex:1 1 100%}}



/* Fairfield Shuttle - paper catch-up + live history */
.bp-shuttle-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.bp-shuttle-head-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.bp-shuttle-batch-entry{padding:10px;margin-top:8px;border:1px solid #C9D9E8;border-radius:10px;background:#F8FBFE}.bp-shuttle-batch-toolbar{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px;align-items:end;margin:8px 0}.bp-shuttle-batch-help{display:flex;gap:5px;align-items:center;padding:7px 9px;border-radius:8px;background:#EEF5FC;color:#49647D;font-size:7.5px}.bp-shuttle-batch-head,.bp-shuttle-batch-row{display:grid;grid-template-columns:88px 90px 115px minmax(120px,1fr) 120px 92px 92px 55px minmax(120px,1fr) 30px;gap:4px;align-items:center}.bp-shuttle-batch-head{padding:5px 4px;font-size:6.5px;font-weight:var(--w-strong,600);text-transform:uppercase;color:#748598}.bp-shuttle-batch-row{padding:4px;border-top:1px solid #E5EBF1}.bp-shuttle-batch-row input,.bp-shuttle-batch-row select{min-width:0;height:30px;border:1px solid #D7E0E9;border-radius:6px;padding:4px 5px;background:#fff;font-size:8px}.bp-shuttle-batch-row output{display:grid;place-items:center;min-height:28px;border-radius:6px;background:#EEF3F7;font-size:8px;font-weight:var(--w-strong,600);color:#31506D}.bp-shuttle-batch-row.has-mile-warning output{background:#FFF0DB;color:#9B5F11}.bp-shuttle-batch-row.is-invalid{background:#FFF2F2;outline:1px solid #E7A2A2;border-radius:6px}.bp-shuttle-row-remove{border:0;background:transparent;color:#9B4550;font-size:16px;cursor:pointer}.bp-shuttle-batch-footer{display:flex;align-items:center;gap:7px;margin-top:8px}.bp-shuttle-batch-footer>span{flex:1;font-size:7px;color:#718499}.bp-shuttle-history-card{margin-top:10px}.bp-shuttle-history-filters{display:grid;grid-template-columns:150px 150px 180px 150px auto;gap:6px;align-items:end;margin:7px 0}.bp-shuttle-date-link{border:0;background:transparent;color:#185FB5;text-decoration:underline;font:inherit;font-weight:var(--w-strong,600);cursor:pointer;padding:0}.bp-shuttle-source{display:inline-block;padding:2px 5px;border-radius:999px;background:#EEF2F6;color:#566B7D;font-size:6.5px;font-weight:var(--w-strong,600)}.bp-shuttle-source.historical{background:#EAF1FB;color:#285E9C}.bp-shuttle-source.paper{background:#EAF7EF;color:#277047}.bp-shuttle-history-flag{display:block;margin-top:2px;color:#A76410}.bp-dashboard-room-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;margin-bottom:7px}.bp-dashboard-regional-room-grid{margin-top:2px}
@media(max-width:1100px){.bp-shuttle-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-shuttle-batch-head{display:none}.bp-shuttle-batch-row{grid-template-columns:repeat(4,minmax(0,1fr));padding:7px;margin-bottom:6px;border:1px solid #DDE6EF;border-radius:8px}.bp-shuttle-batch-row [data-f="custom"],.bp-shuttle-batch-row [data-f="notes"]{grid-column:span 2}.bp-shuttle-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-shuttle-history-filters button{grid-column:1/-1}.bp-shuttle-batch-toolbar{grid-template-columns:1fr}}
@container bpops (max-width:1100px){.bp-shuttle-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.bp-shuttle-batch-head{display:none}.bp-shuttle-batch-row{grid-template-columns:repeat(4,minmax(0,1fr));padding:7px;margin-bottom:6px;border:1px solid #DDE6EF;border-radius:8px}.bp-shuttle-batch-row [data-f="custom"],.bp-shuttle-batch-row [data-f="notes"]{grid-column:span 2}.bp-shuttle-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-shuttle-history-filters button{grid-column:1/-1}.bp-shuttle-batch-toolbar{grid-template-columns:1fr}}
@media(max-width:700px){.bp-shuttle-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-shuttle-head-actions{justify-content:flex-start}.bp-shuttle-batch-row{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-shuttle-batch-row [data-f="custom"],.bp-shuttle-batch-row [data-f="notes"]{grid-column:1/-1}.bp-shuttle-history-filters{grid-template-columns:1fr}.bp-shuttle-history-filters button{grid-column:auto}.bp-dashboard-room-summary{justify-content:flex-start}}
@container bpops (max-width:700px){.bp-shuttle-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-shuttle-batch-row{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-shuttle-batch-row [data-f="custom"],.bp-shuttle-batch-row [data-f="notes"]{grid-column:1/-1}.bp-shuttle-history-filters{grid-template-columns:1fr}.bp-shuttle-history-filters button{grid-column:auto}}



/* Dashboard Room Operations — compact five-stat row */
.bp-dashboard-room-summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:5px!important;
  width:100%!important;
  margin:0 0 5px!important;
}
.bp-dashboard-room-summary .bp-track-count{
  min-width:0!important;
  padding:5px 4px!important;
}
.bp-dashboard-room-summary .bp-track-count strong{
  font-size:16px!important;
}
.bp-track-count.followup,
.bp-regional-mini-stat.followup{
  border-color:#CFC5F3!important;
  background:#F6F3FF!important;
}
.bp-track-count.followup strong,
.bp-regional-mini-stat.followup strong{
  color:#6846B7!important;
}
.bp-dashboard-room-summary + .bp-track-legend{
  margin-top:4px!important;
  padding-top:4px!important;
  gap:6px 10px!important;
  justify-content:flex-start;
}
.bp-dashboard-regional-room-grid .bp-regional-hotel-summary{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:3px!important;
}
.bp-dashboard-regional-room-grid .bp-regional-mini-stat{
  padding:4px 2px!important;
}
.bp-dashboard-regional-room-grid .bp-regional-mini-stat strong{
  font-size:12px!important;
}
.bp-dashboard-regional-room-grid .bp-regional-mini-stat span{
  font-size:5.5px!important;
}
.bp-dashboard-regional-room-grid .bp-regional-hotel-card .bp-track-legend{
  display:grid!important;
  grid-template-columns:repeat(4,max-content)!important;
  justify-content:start!important;
  column-gap:9px!important;
  row-gap:3px!important;
  margin-top:4px!important;
  padding-top:4px!important;
}
@media(max-width:760px){
  .bp-dashboard-room-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .bp-dashboard-regional-room-grid .bp-regional-hotel-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .bp-dashboard-regional-room-grid .bp-regional-hotel-card .bp-track-legend{
    grid-template-columns:repeat(2,max-content)!important;
  }
}



/* Room Action Hub */
.bp-room-action-modalbox{width:min(1100px,calc(100vw - 30px))!important;max-width:1100px!important;max-height:91dvh!important;overflow:hidden!important}#roomActionBody{max-height:calc(91dvh - 66px);overflow:auto;padding:2px}
.bp-room-action-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px}.bp-room-action-summary>div{padding:7px;border:1px solid #DFE7EF;border-radius:8px;background:#FAFCFE;text-align:center}.bp-room-action-summary strong,.bp-room-action-summary span{display:block}.bp-room-action-summary strong{font-size:17px;color:#183B62}.bp-room-action-summary span{font-size:7px;color:#718399}
.bp-room-action-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:9px}.bp-room-action-buttons button{min-height:38px;border:1px solid #D6E0EA;border-radius:9px;background:#fff;font-weight:var(--w-strong,600);font-size:9px;cursor:pointer}.bp-room-action-buttons .primary{background:#2563EB;border-color:#2563EB;color:#fff}.bp-room-action-buttons .follow{background:#F5F1FF;border-color:#D6C9FA;color:#6846B7}.bp-room-action-buttons .complaint{background:#FFF3F3;border-color:#F2CCCC;color:#A23636}
.bp-room-action-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bp-room-action-columns>section{padding:8px;border:1px solid #DFE7EF;border-radius:9px;background:#fff}.bp-room-action-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.bp-room-action-section-head h4{margin:0;color:#244B70;font-size:10px}.bp-room-action-section-head span{display:grid;place-items:center;min-width:22px;height:20px;border-radius:999px;background:#EEF3F8;color:#617489;font-size:7px;font-weight:var(--w-strong,600)}
.bp-room-action-record{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;padding:7px;border:0;border-top:1px solid #EDF1F5;background:transparent;text-align:left;cursor:pointer}.bp-room-action-record:first-of-type{border-top:0}.bp-room-action-record:hover{background:#F6F9FC}.bp-room-action-record>span{padding:3px 5px;border-radius:999px;background:#EEF3F8;color:#536A82;font-size:6px;font-weight:var(--w-strong,600)}.bp-room-action-record>span.active{background:#E9F2FF;color:#245C9A}.bp-room-action-record>span.followup{background:#F2EDFF;color:#6846B7}.bp-room-action-record>span.complaint{background:#FFECEC;color:#9B3535}.bp-room-action-record b,.bp-room-action-record small{display:block}.bp-room-action-record b{font-size:8px;color:#294965;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-room-action-record small{margin-top:2px;font-size:6.5px;color:#7A8B9D}.bp-room-action-record em{font-style:normal;color:#71859A;font-size:13px}
.bp-room-action-form{margin-bottom:9px;padding:10px;border:1px solid #CEDBE8;border-radius:10px;background:#F8FBFE}.bp-room-action-form-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.bp-room-action-form-head span{display:block;font-size:6.5px;font-weight:var(--w-strong,600);letter-spacing:.07em;color:#718399}.bp-room-action-form-head h4{margin:2px 0 0;color:#183B62;font-size:11px}.bp-room-followup-badge{position:absolute;left:3px;top:3px;display:grid;place-items:center;min-width:17px;height:14px;padding:0 3px;border-radius:999px;background:#7147C7;color:#fff;font-size:5.5px;font-weight:var(--w-strong,600);line-height:1}.bp-room-track-chip,.bp-regional-room-chip{position:relative}

/* Front Desk scheduled To-Dos */
.bp-shift-todo-modalbox{width:min(720px,calc(100vw - 24px))!important;max-width:720px!important}.bp-shift-todo-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:8px}.bp-shift-todo-quick button{min-height:32px;border:1px solid #D8E2EC;border-radius:7px;background:#F8FBFE;color:#315779;font-size:8px;font-weight:var(--w-strong,600);cursor:pointer}.bp-shift-todo-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #E4EAF0}.bp-shift-todo-footer span{font-size:7px;color:#78899A}.bp-shift-journal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:7px}.bp-shift-schedule-btn{white-space:nowrap;color:#245C9A!important;border-color:#BDD2E8!important}
.bp-shift-scheduled-panel{padding:8px;margin-bottom:8px;border:1px solid #D8E4EE;border-radius:10px;background:#FBFDFF}.bp-shift-scheduled-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.bp-shift-scheduled-head span{display:block;font-size:6px;font-weight:var(--w-strong,600);letter-spacing:.07em;color:#718399}.bp-shift-scheduled-head h4{margin:1px 0 0;font-size:10px;color:#244B70}.bp-shift-scheduled-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.bp-shift-scheduled-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:center;padding:6px;border:1px solid #E0E7EF;border-radius:7px;background:#fff;text-align:left;cursor:pointer}.bp-shift-scheduled-list span{padding:2px 4px;border-radius:999px;background:#FFF1D7;color:#805B1E;font-size:5.5px;font-weight:var(--w-strong,600)}.bp-shift-scheduled-list b,.bp-shift-scheduled-list small{display:block}.bp-shift-scheduled-list b{font-size:8px;color:#2A4A68}.bp-shift-scheduled-list small{font-size:6.5px;color:#7A8998;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-shift-scheduled-list em{font-style:normal;color:#7B8C9D}
@media(max-width:760px){.bp-room-action-columns{grid-template-columns:1fr}.bp-room-action-summary{grid-template-columns:repeat(2,1fr)}.bp-room-action-buttons{grid-template-columns:1fr}.bp-shift-todo-quick{grid-template-columns:repeat(2,1fr)}.bp-shift-scheduled-list{grid-template-columns:1fr}}
@container bpops (max-width:760px){.bp-shift-todo-quick{grid-template-columns:repeat(2,1fr)}.bp-shift-scheduled-list{grid-template-columns:1fr}}



/* Dashboard room metrics as quick filters */
.bp-room-metric-btn{appearance:none;font-family:inherit;cursor:pointer}
.bp-dashboard-room-summary .bp-room-metric-btn,
.bp-dashboard-regional-room-grid .bp-room-metric-btn{
  border-width:1px;
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
}
.bp-dashboard-room-summary .bp-room-metric-btn:hover,
.bp-dashboard-regional-room-grid .bp-room-metric-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(30,55,85,.10);
}
.bp-room-metric-btn.on{
  box-shadow:0 0 0 2px rgba(37,99,235,.22)!important;
  border-color:#6D99E8!important;
}
.bp-room-filter-active{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:0 0 6px;padding:5px 7px;border:1px solid #D6E1EC;border-radius:8px;background:#F7FAFD;
}
.bp-room-filter-active span{font-size:7px;font-weight:var(--w-strong,600);color:#526C84}
.bp-room-filter-active button{border:0;background:transparent;color:#245C9A;font-size:7px;font-weight:var(--w-strong,600);cursor:pointer}

/* More writing space for Front Desk shift notes and handoff summary */
.bp-shift-layout{grid-template-columns:minmax(0,1.35fr) minmax(350px,.85fr)!important}
.bp-shift-journal-add textarea#opsShiftJournalText{
  min-height:165px!important;
  resize:vertical!important;
  line-height:1.45!important;
}
.bp-shift-close textarea#opsShiftClosingSummary{
  min-height:190px!important;
  resize:vertical!important;
  line-height:1.45!important;
}
.bp-shift-journal-list{max-height:390px!important}
@media(max-width:900px){
  .bp-shift-layout{grid-template-columns:1fr!important}
  .bp-shift-journal-add textarea#opsShiftJournalText{min-height:145px!important}
  .bp-shift-close textarea#opsShiftClosingSummary{min-height:165px!important}
}
@container bpops (max-width:900px){.bp-shift-layout{grid-template-columns:1fr!important}}



/* Explicit close-time controls */
#editClosedAtWrap,#caseClosedAtWrap,#todoClosedAtWrap{border:1px solid #D6E2ED;border-radius:8px;padding:6px;background:#F8FBFE}
#editClosedAtWrap label,#caseClosedAtWrap label,#todoClosedAtWrap label{color:#315779;font-weight:var(--w-strong,600)}



/* Completed Work Orders at bottom of main Work Orders page */
.bp-wo-completed-inline-card{margin-top:12px}.bp-completed-scope{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #DEE6EE;border-radius:8px;background:#FAFCFE;white-space:nowrap}.bp-completed-scope strong{font-size:12px;color:#173B63}.bp-completed-scope span{font-size:7px;color:#718399}
.bp-completed-inline-scroll{max-height:620px;overflow:auto;border:1px solid #E0E7EF;border-radius:9px;background:#fff}.bp-completed-date-group{border-bottom:1px solid #DFE7EF}.bp-completed-date-group:last-child{border-bottom:0}.bp-completed-date-head{position:sticky;top:0;z-index:3;padding:7px 9px;background:#F3F7FB;border-bottom:1px solid #DCE5EE}.bp-completed-date-head strong,.bp-completed-date-head span{display:block}.bp-completed-date-head strong{font-size:9px;color:#244B70}.bp-completed-date-head span{font-size:6.5px;color:#77899A;margin-top:1px}.bp-completed-inline-table td,.bp-completed-inline-table th{font-size:7px;padding:6px}.bp-completed-inline-table thead th{position:static}.bp-completed-inline-table .bp-table-note{display:block;margin-top:1px}
@media(max-width:760px){.bp-completed-inline-scroll{max-height:520px}.bp-completed-inline-table{min-width:840px}}


/* ===== BrightPath refresh stability + unified Shift Mode ===== */
body:not(.bp-auth-ready):not(.public-inventory-mode):not(.public-inspection-mode):not(.public-employee-mode) .app{display:none!important}
body:not(.bp-auth-ready) #sidebar nav,
body:not(.bp-auth-ready) .bp-mobile-bottomnav{visibility:hidden!important}
body.bp-auth-ready #sidebar nav,
body.bp-auth-ready .bp-mobile-bottomnav{visibility:visible}
#view-operationsmode .bp-ops-mode-shell{border-color:#DCE5EE;box-shadow:0 12px 30px rgba(18,35,63,.08)}
#view-operationsmode .bp-ops-topbar,
#view-operationsmode .bp-shift-command,
#view-operationsmode .bp-shift-operator-bar{border-color:#DCE5EE;background:#F8FAFC}
#view-operationsmode button{border-radius:9px}
#view-operationsmode input,
#view-operationsmode select,
#view-operationsmode textarea{border-color:#D8E1EA;border-radius:9px;background:#fff}
.bp-completed-wo-table button{position:relative;z-index:2;pointer-events:auto;touch-action:manipulation}


/* Uniform main/Shift chrome + room/month views */
#view-operationsmode .bp-ops-sidebar{background:linear-gradient(180deg,#0B1220,#111C2F)!important;border-right:1px solid rgba(148,163,184,.13)!important}
#view-operationsmode .bp-ops-brand{min-height:82px;padding:14px 18px!important;border-bottom:1px solid rgba(148,163,184,.13)!important}
#view-operationsmode .bp-ops-brand img{width:100%!important;max-width:215px!important;background:#fff!important;border-radius:10px!important;padding:7px!important}
#view-operationsmode .bp-ops-sidebar nav{padding:10px 12px!important}
#view-operationsmode .bp-ops-sidebar nav button{min-height:43px!important;margin:3px 0!important;padding:10px 12px!important;border:1px solid transparent!important;border-radius:10px!important;color:#D6DEE9!important;font-weight:var(--w-strong,600)!important}
#view-operationsmode .bp-ops-sidebar nav button:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
#view-operationsmode .bp-ops-sidebar nav button.on{background:#fff!important;color:#0F172A!important;border-color:#E2E8F0!important;box-shadow:0 5px 18px rgba(0,0,0,.14)!important}
.bp-month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.bp-month-toolbar{margin-bottom:10px;padding:9px 10px;border:1px solid #E2E8F0;border-radius:10px;background:#F8FAFC}.bp-month-toolbar label{font-size:11px;font-weight:var(--w-strong,600);color:#334155}.bp-month-toolbar input{margin-left:7px}
.bp-month-summary{display:flex;gap:7px;flex-wrap:wrap}.bp-month-summary span{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #DCE5EE;font-size:10px;font-weight:var(--w-strong,600)}
@media(max-width:700px){}

/* Work Orders room status + reliable completed actions */
.bp-wo-room-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:11px 12px;border:1px solid #D8E3EE;border-radius:12px;background:#F8FBFE;flex-wrap:wrap}
.bp-wo-room-status-copy span{display:block;font-size:8px;font-weight:var(--w-strong,600);letter-spacing:.08em;color:#71839A}.bp-wo-room-status-copy strong{display:block;margin-top:2px;color:#173B63;font-size:15px}.bp-wo-room-status-copy small{display:block;margin-top:3px;color:#64748B}
.bp-wo-room-status-controls{display:flex;gap:7px;align-items:center}.bp-wo-room-status-controls select{min-width:135px;min-height:40px;font-weight:var(--w-strong,600);border-radius:9px}
.bp-room-status-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:var(--w-strong,600)}.bp-room-status-badge.vacant{background:#EAF7F0;color:#18794E}.bp-room-status-badge.occupied{background:#EAF2FB;color:#245C9A}.bp-room-status-badge.unknown{background:#F1F5F9;color:#64748B}
[data-completed-wo-id]{pointer-events:auto!important;touch-action:manipulation;position:relative;z-index:3}
@media(max-width:620px){.bp-wo-room-status-controls,.bp-wo-room-status-controls select{width:100%}}

.bp-wo-status-toolbar{display:flex;align-items:end;gap:7px;flex-wrap:wrap;padding:8px 10px;border:1px solid #C9D9E8;border-radius:10px;background:#F3F8FD}
.bp-wo-status-toolbar label{display:grid;gap:3px;font-size:8px;font-weight:var(--w-strong,600);color:#53677F;text-transform:uppercase;letter-spacing:.05em}.bp-wo-status-toolbar select{min-width:105px;min-height:36px;border-radius:8px;background:#fff;font-size:11px;font-weight:var(--w-strong,600)}
.bp-completed-card-groups{display:grid;gap:14px}.bp-completed-card-group{display:grid;gap:9px;padding-top:4px}.bp-completed-card-separator{display:flex;align-items:center;gap:10px;color:#173B63}.bp-completed-card-separator:before,.bp-completed-card-separator:after{content:"";height:1px;background:#CAD7E4;flex:1}.bp-completed-card-separator strong{font-size:11px;white-space:nowrap}.bp-completed-card-separator span{font-size:9px;color:#718399;white-space:nowrap}
.bp-completed-card .bp-wo-card-accent{background:#18794E!important}.bp-completed-card .bp-wo-card-top{border-bottom:1px solid #E7EDF3}.bp-completed-card .bp-wo-card-controls{align-items:center}
@media(max-width:620px){.bp-wo-status-toolbar,.bp-wo-status-toolbar label,.bp-wo-status-toolbar select,.bp-wo-status-toolbar .btn{width:100%}}

/* Single-language Work Order labels + compact unified Shift Mode */
#view-operationsmode,#view-operationsmode *{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
#view-operationsmode{font-size:13px}
#view-operationsmode .bp-ops-kicker,#view-operationsmode .bp-shift-command-copy span{font-size:10px!important}
#view-operationsmode .bp-ops-topbar h2{font-size:20px!important;font-weight:var(--w-strong,600)!important;letter-spacing:-.02em}
#view-operationsmode .bp-ops-nav button{font-size:13px!important;font-weight:var(--w-strong,600)!important}
#view-operationsmode .bp-shift-command{display:grid!important;grid-template-columns:minmax(260px,.8fr) minmax(500px,1.2fr)!important;align-items:center!important;padding:12px 14px!important}
#view-operationsmode .bp-shift-command-copy h3{font-size:18px!important;font-weight:var(--w-strong,600)!important}
#view-operationsmode .bp-shift-command-copy p{font-size:12px!important;line-height:1.35!important}
#view-operationsmode .bp-shift-command-controls{display:grid!important;grid-template-columns:auto minmax(140px,.7fr) minmax(190px,1fr) auto!important;gap:8px!important;width:100%!important}
#view-operationsmode .bp-shift-command-controls select,#view-operationsmode .bp-shift-command-controls input,#view-operationsmode .bp-shift-command-controls button{min-height:42px!important;font-size:13px!important}
#view-operationsmode .bp-shift-now{min-width:118px!important;padding:7px 9px!important}
#view-operationsmode .bp-shift-now span{font-size:9px!important}#view-operationsmode .bp-shift-now b{font-size:11px!important}
#view-operationsmode .bp-shift-empty.bp-shift-ready{min-height:0!important;padding:12px 14px!important;display:grid!important;grid-template-columns:42px minmax(220px,1fr) auto!important;grid-template-rows:auto auto!important;align-items:center!important;justify-items:start!important;column-gap:12px!important;row-gap:2px!important;text-align:left!important}
#view-operationsmode .bp-shift-ready-icon{grid-row:1/3!important;width:36px!important;height:36px!important}
#view-operationsmode .bp-shift-ready strong{font-size:14px!important;grid-column:2!important}
#view-operationsmode .bp-shift-ready span{font-size:11px!important;grid-column:2!important;margin:0!important}
#view-operationsmode .bp-shift-ready small{font-size:10px!important;grid-column:3!important;grid-row:1/3!important;max-width:230px!important}
#view-operationsmode .bp-shift-ready .btn{grid-column:3!important;grid-row:1/3!important}
#view-operationsmode .bp-ops-card-head h3{font-size:15px!important;font-weight:var(--w-strong,600)!important}
#view-operationsmode .bp-ops-card-head p{font-size:11px!important}
#view-operationsmode #opsShiftHistory table{font-size:12px!important}
@media(max-width:1100px){#view-operationsmode .bp-shift-command{grid-template-columns:1fr!important}#view-operationsmode .bp-shift-command-controls{grid-template-columns:1fr 1fr!important}#view-operationsmode .bp-shift-empty.bp-shift-ready{grid-template-columns:42px 1fr!important}#view-operationsmode .bp-shift-ready small,#view-operationsmode .bp-shift-ready .btn{grid-column:2!important;grid-row:auto!important}}
@container bpops (max-width:1100px){#view-operationsmode .bp-shift-command{grid-template-columns:1fr!important}#view-operationsmode .bp-shift-command-controls{grid-template-columns:1fr 1fr!important}#view-operationsmode .bp-shift-empty.bp-shift-ready{grid-template-columns:42px 1fr!important}#view-operationsmode .bp-shift-ready small,#view-operationsmode .bp-shift-ready .btn{grid-column:2!important;grid-row:auto!important}}
@media(max-width:650px){#view-operationsmode .bp-shift-command-controls{grid-template-columns:1fr!important}#view-operationsmode .bp-shift-empty.bp-shift-ready{grid-template-columns:34px 1fr!important;padding:10px!important}}
@container bpops (max-width:650px){#view-operationsmode .bp-shift-command-controls{grid-template-columns:1fr!important}#view-operationsmode .bp-shift-empty.bp-shift-ready{grid-template-columns:34px 1fr!important;padding:10px!important}}

/* Early Check-In / Late Checkout reservations + fully clickable Work Orders */
.bp-fd-reservation-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin:12px 0 16px;padding:14px;border:1px solid #D7E2EC;border-radius:12px;background:#F8FBFE}
.bp-fd-reservation-form .field{margin:0}.bp-fd-reservation-notes{grid-column:span 2}
.bp-fd-reservation-date{padding:6px 10px;border-radius:999px;background:#EEF4FA;color:#234A70;font-size:11px;font-weight:var(--w-strong,600)}
.bp-fd-reservation-list{display:grid;gap:8px}
.bp-fd-reservation-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bp-todo-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.bp-hsk-notify-btn{border-color:#9ad5b0;color:#147a40;background:#f0fbf4}.bp-todo-all-toggle{display:inline-flex;align-items:center;gap:5px;align-self:end;padding:9px 4px;font-size:11px;font-weight:var(--w-strong,600);color:#245c9a;white-space:nowrap}.bp-todo-all-toggle input{width:auto}
.bp-fd-reservation-row{display:grid;grid-template-columns:118px minmax(130px,.55fr) minmax(180px,1fr) 120px minmax(150px,.7fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #DEE7F1;border-radius:11px;background:#fff}
.bp-fd-reservation-row:hover{border-color:#9FB5CA;box-shadow:0 5px 14px rgba(18,35,63,.06)}
.bp-fd-reservation-type{display:inline-flex;width:max-content;padding:5px 8px;border-radius:999px;background:#EAF2FB;color:#245C9A;font-size:10px;font-weight:var(--w-strong,600)}
.bp-fd-reservation-type.late{background:#FFF5DC;color:#8A5600}
.bp-fd-reservation-time{font-size:17px;font-weight:var(--w-strong,600);color:#12233F}.bp-fd-reservation-room b,.bp-fd-reservation-guest b{display:block}.bp-fd-reservation-row small{display:block;color:#667085;margin-top:2px}
.bp-shift-reservations{margin-bottom:12px;padding:12px;border:1px solid #BFD0E3;border-left:4px solid #C9A227;border-radius:12px;background:#FFFCF3}
.bp-shift-reservations-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.bp-shift-reservations-head h4{margin:0;color:#173B63}.bp-shift-reservations-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.bp-shift-reservation-item{display:flex;gap:9px;align-items:center;padding:9px;border:1px solid #E6D9A7;border-radius:9px;background:#fff}.bp-shift-reservation-item time{font-weight:var(--w-strong,600);color:#12233F;min-width:68px}.bp-shift-reservation-item b{display:block;font-size:11px}.bp-shift-reservation-item small{display:block;color:#667085;font-size:9px}
.bp-recent-wo-overview{margin-bottom:10px}.bp-dashboard-wo-item{width:100%;border:0;border-top:1px solid #EEF2F6;background:transparent;text-align:left;color:inherit}.bp-dashboard-wo-item:hover{background:#F7FAFD}
.bp-wo-card,.bp-wo-group-issue,.bp-ops-simple-list>div,.bp-completed-card{cursor:pointer}
@media(max-width:1000px){.bp-fd-reservation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-fd-reservation-row{grid-template-columns:100px 120px minmax(160px,1fr) 110px auto}.bp-fd-reservation-row .bp-fd-reservation-meta{grid-column:3/5}}
@container bpops (max-width:1000px){.bp-fd-reservation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-fd-reservation-row{grid-template-columns:100px 120px minmax(160px,1fr) 110px auto}.bp-fd-reservation-row .bp-fd-reservation-meta{grid-column:3/5}}
@media(max-width:680px){.bp-fd-reservation-form{grid-template-columns:1fr}.bp-fd-reservation-notes{grid-column:auto}.bp-fd-reservation-row{grid-template-columns:90px 1fr auto}.bp-fd-reservation-row .bp-fd-reservation-guest{grid-column:2/4}.bp-fd-reservation-row .bp-fd-reservation-meta{grid-column:1/4}.bp-shift-reservations-list{grid-template-columns:1fr}}
@container bpops (max-width:680px){.bp-fd-reservation-form{grid-template-columns:1fr}.bp-fd-reservation-notes{grid-column:auto}.bp-fd-reservation-row{grid-template-columns:90px 1fr auto}.bp-fd-reservation-row .bp-fd-reservation-guest{grid-column:2/4}.bp-fd-reservation-row .bp-fd-reservation-meta{grid-column:1/4}.bp-shift-reservations-list{grid-template-columns:1fr}}

.bp-frontdesk-shift-notes-mount{margin-top:10px}.bp-frontdesk-shift-todo{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-top:1px solid #e8edf3}.bp-frontdesk-shift-todo small{display:block;color:#667085;margin-top:3px}.bp-frontdesk-shift-todo p{margin:5px 0 0;color:#4b5d73;font-size:12px}@media(max-width:650px){.bp-frontdesk-shift-todo{grid-template-columns:32px 1fr}.bp-frontdesk-shift-todo .bp-hsk-notify-btn{grid-column:2;justify-self:start}}
<style id="bp-frontdesk-sidebar-blue">
/* Front Desk sidebar labels use the portal blue, including Exit Front Desk. */
#bpOpsModeShell .bp-ops-nav button,
#bpOpsModeShell .bp-ops-exit{color:#245C9A!important}
#bpOpsModeShell .bp-ops-nav button.on,
#bpOpsModeShell .bp-ops-nav button:hover{color:#245C9A!important}
.bp-public-session-actions{display:flex;justify-content:flex-end;margin:8px 0 12px}.bp-public-logout{border-color:#d6a2a8!important;color:#9b2635!important;background:#fff!important}.bp-public-logout:hover{background:#fff1f2!important}

  /* Account help dialog -- raised from the sign-in screen, so it cannot rely on
     any of the portal chrome being present. */
  .bp-help-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:2147483000;display:grid;place-items:center;padding:20px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  body.bp-help-open #bpAuthGate,
  body.bp-help-open #bpLoginScaleStage{overflow:hidden!important}
  .bp-help-card{position:relative;background:#fff;border-radius:16px;padding:26px 26px 20px;width:min(460px,100%);box-shadow:0 24px 60px rgba(15,23,42,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#0f172a}
  .bp-help-card h3{margin:0 0 6px;font-size:19px;font-weight:var(--w-strong,600)}
  .bp-help-sub{margin:0 0 16px;font-size:13px;line-height:1.55;color:#64748b}
  .bp-help-l{display:block;font-size:12px;font-weight:var(--w-medium,500);color:#475569;margin:12px 0 5px}
  .bp-help-in{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:9px;font:inherit;font-size:14px;background:#fff;color:inherit;box-sizing:border-box}
  .bp-help-in:focus{outline:none;border-color:#12233F;box-shadow:0 0 0 3px rgba(18,35,63,.09)}
  textarea.bp-help-in{resize:vertical;min-height:64px}
  .bp-help-note{min-height:18px;margin-top:12px;font-size:12.5px;color:#475569}
  .bp-help-note.bad{color:#b91c1c}
  .bp-help-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
  .bp-help-b{padding:10px 18px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:9px;font:inherit;font-size:13px;font-weight:var(--w-strong,600);cursor:pointer}
  .bp-help-b:hover{border-color:#94a3b8}
  .bp-help-b.primary{background:#12233F;border-color:#12233F;color:#fff}
  .bp-help-b.primary:hover{background:#1e3a5f}
  .bp-help-b[disabled]{opacity:.6;cursor:default}
  .bp-help-x{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:24px;line-height:1;color:#94a3b8;cursor:pointer;padding:2px 6px}
  .bp-help-x:hover{color:#0f172a}
