:root{
  --bg:#050505;--panel:#101010;--line:#303030;--text:#f5f5f5;--muted:#a3a3a3;
  --red:#d10000;--green:#00a326;--blue:#0b58c8;--yellow:#f4b400;--danger:#c62828;
  --silver1:#ffffff;--silver2:#dcdcdc;--silver3:#a0a0a0
}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}
.flash-wrap{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:50}.flash{background:#222;border:1px solid #555;padding:12px 18px;border-radius:8px}.flash.error{background:#4a1111;border-color:#cc3333}
.btn{display:inline-block;border-radius:4px;background:linear-gradient(#fff,#d5d5d5,#a0a0a0);color:#bd0000;font-weight:900;padding:13px 20px;cursor:pointer;text-align:center;box-shadow:inset 0 1px 0 #fff;border:1px solid #777}.btn.big{width:100%;font-size:18px;margin-top:18px}.btn.small{padding:8px 10px;font-size:13px}.btn.secondary{color:#111}.btn.success{background:linear-gradient(#1bd844,#00a326,#08751f);color:#fff;border-color:#006b19}.btn.danger,.top-link.danger{background:linear-gradient(#ee3434,#ba1111,#710808);color:#fff;border-color:#791212}.btn.full{width:100%;margin-top:12px}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#222,#000)}.login-card{width:380px;max-width:92vw;background:#111;border:1px solid #333;padding:28px;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.55)}.login-card h1{margin:0 0 5px;color:#fff}.login-card p,.hint{color:var(--muted)}label{display:block;color:#eee;font-weight:700;margin:14px 0 6px}input,select{width:100%;padding:11px;border:1px solid #777;border-radius:4px;background:#eee;color:#111;font-size:15px}.hint{margin-top:18px;line-height:1.5;font-size:14px}
.pos-shell{height:100vh;display:flex;flex-direction:column;padding:8px;gap:8px;overflow:hidden}.topbar{display:flex;justify-content:space-between;align-items:center;background:#0b0b0b;border:1px solid var(--line);padding:8px 12px;min-height:48px}.brand{font-size:22px;font-weight:900;color:#fff}.small-text{font-size:13px;color:var(--muted)}.top-actions{display:flex;gap:8px}.top-link{display:inline-block;padding:10px 18px;border-radius:4px;background:linear-gradient(#fff,#dcdcdc,#aaa);color:#b40000;font-weight:900;border:1px solid #777}
.pos-layout{display:grid;grid-template-columns:180px minmax(540px,1fr) 405px;gap:8px;min-height:0;flex:1}.panel{background:#0d0d0d;border:1px solid var(--line);padding:8px;overflow:auto}.panel-title{background:var(--red);color:#fff;text-align:center;font-weight:900;padding:7px;border-radius:3px;margin-bottom:8px;font-size:15px}.button-list{display:flex;flex-direction:column;gap:7px}.cat-btn,.product-btn,.room-btn,.option-btn{border:1px solid #777;background:linear-gradient(var(--silver1),var(--silver2),var(--silver3));color:#111;font-weight:900;cursor:pointer;border-radius:3px;box-shadow:inset 0 1px 0 #fff;text-align:center}.cat-btn{height:56px;font-size:15px}.cat-btn.active{background:linear-gradient(#ff3434,#d60000,#880000);color:#fff}.products-panel{display:flex;flex-direction:column;overflow:hidden}.product-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-auto-rows:82px;gap:8px;align-content:start;overflow:auto;padding-bottom:4px}.product-btn{font-size:16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.product-btn .price{color:#006300;font-size:17px;margin-top:6px}.product-btn:active,.room-btn:active,.option-btn:active{transform:scale(.98)}.empty-box{color:#ddd;padding:20px;border:1px dashed #444;text-align:center}.options-title{margin-top:8px}.options-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;flex:0 0 auto}.option-btn{height:52px;font-size:15px;color:#b90000}.order-panel{display:flex;flex-direction:column;overflow:hidden}.order-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px}.room-title{font-size:42px;font-weight:900;color:#00ff3c;line-height:1}.mini-btn{background:linear-gradient(#fff,#ddd,#aaa);border:1px solid #777;color:#111;font-weight:900;padding:10px 12px;border-radius:3px;cursor:pointer}.order-items{flex:1;overflow:auto;margin:8px 0}.order-line{display:grid;grid-template-columns:1fr 52px 82px;gap:6px;align-items:center;padding:8px;border-bottom:1px solid #2a2a2a;font-size:15px}.order-line.voided{text-decoration:line-through;color:#888}.total-box{display:flex;justify-content:space-between;align-items:center;background:#0a7a1d;border:1px solid #11cf38;padding:12px 14px;font-size:22px;font-weight:900}.pay-row{display:grid;grid-template-columns:1fr 145px;gap:8px;margin-top:8px}.warning-note{color:#ffdb73;background:#2b2100;border:1px solid #6d5600;padding:9px;margin-top:8px;font-size:13px;border-radius:4px}.rooms-panel{flex:0 0 275px;overflow:auto}.rooms-grid{display:grid;grid-template-columns:repeat(9,minmax(92px,1fr));gap:8px}.room-btn{height:56px;background:linear-gradient(#20d849,#00a326,#006f18);color:#000;position:relative;font-size:21px;line-height:1.08;display:flex;flex-direction:column;align-items:center;justify-content:center}.room-btn.open{background:linear-gradient(#ffe074,#f4b400,#b57900)}.room-btn.selected{background:linear-gradient(#66a4ff,#0b58c8,#06377d);color:#fff}.room-btn small{font-size:14px;display:block;margin-top:2px;color:#111}.room-btn.selected small{color:#fff}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;z-index:100;padding:22px}.modal-backdrop.hidden{display:none}.modal-box{width:min(920px,96vw);max-height:90vh;overflow:auto;background:#111;border:1px solid #555;border-radius:8px;box-shadow:0 18px 70px rgba(0,0,0,.75)}.modal-head{display:flex;align-items:center;justify-content:space-between;background:#070707;border-bottom:1px solid #333;padding:12px 14px}.modal-head h2{margin:0;color:#fff}.modal-close{background:linear-gradient(#ff3b3b,#c91111,#760707);color:#fff;border:1px solid #7c1111;border-radius:4px;font-weight:900;padding:8px 14px;cursor:pointer}.modal-content{padding:14px}.summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.summary-cards div{background:#0b0b0b;border:1px solid #333;padding:12px;border-radius:6px}.summary-cards span{display:block;color:#aaa;font-size:13px}.summary-cards b{display:block;color:#00ff3c;font-size:24px;margin-top:5px}.modal-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:10px}.modal-table th,.modal-table td{border-bottom:1px solid #333;padding:8px;text-align:left}.modal-table th{background:#1b1b1b}.transfer-box{max-width:460px}.modal-note{color:#ffdb73;background:#2b2100;border:1px solid #6d5600;padding:9px;border-radius:4px}.modal-content h3{margin:14px 0 4px}
.admin-wrap{max-width:1100px;margin:0 auto;padding:24px}.admin-wrap.wide{max-width:1400px}.admin-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.admin-header h1{margin:0;color:#fff}.admin-header p{color:var(--muted);margin:6px 0 0}.admin-header-actions{display:flex;gap:10px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stat{background:#111;border:1px solid #333;padding:15px;border-radius:8px}.stat span{display:block;color:var(--muted)}.stat b{display:block;font-size:28px;margin-top:6px;color:#00ff3c}.admin-menu{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;max-width:700px}.admin-menu a{display:block;background:linear-gradient(#fff,#ddd,#aaa);color:#bd0000;border:1px solid #777;border-radius:4px;padding:18px 22px;font-weight:900;text-align:center;box-shadow:inset 0 1px 0 #fff}.admin-note,.admin-card{background:#111;border:1px solid #333;border-radius:8px;padding:16px;margin-top:16px}.admin-card h2{margin-top:0}.form-grid{display:grid;grid-template-columns:2fr 1.3fr 1fr 1fr 120px;gap:8px;align-items:end}.form-grid.small-grid{grid-template-columns:2fr 1fr 1fr 120px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid #333;padding:8px;text-align:left;vertical-align:middle}.admin-table th{background:#191919;color:#fff}.admin-table input,.admin-table select{padding:7px}.inline-form{display:flex;gap:6px}.report-filter{display:flex;align-items:end;gap:10px}.report-filter label{margin:0;color:#fff}
@media(max-width:1200px){.pos-layout{grid-template-columns:160px 1fr 360px}.rooms-grid{grid-template-columns:repeat(6,1fr)}.rooms-panel{flex-basis:280px}.room-btn{height:54px}}
@media(max-width:950px){.pos-shell{height:auto;overflow:auto}.pos-layout{grid-template-columns:150px 1fr}.order-panel{grid-column:1 / -1;min-height:330px}.rooms-panel{height:auto;flex-basis:auto}.rooms-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.pos-layout{grid-template-columns:1fr}.categories-panel .button-list{display:grid;grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:76px}.options-grid{grid-template-columns:repeat(2,1fr)}.rooms-grid{grid-template-columns:repeat(3,1fr)}.admin-header,.admin-header-actions{display:block}.stat-row,.admin-menu,.form-grid,.form-grid.small-grid,.summary-cards{grid-template-columns:1fr}.admin-table{font-size:12px}.admin-table input,.admin-table select{min-width:90px}.panel{max-height:none}}

/* v5 compact POS layout: rooms left, categories top, confirmation before booking */
.pos-v5{height:100vh;overflow:hidden;padding:6px;gap:6px}
.pos-layout-v5{display:grid;grid-template-columns:220px minmax(520px,1fr) 380px;gap:6px;min-height:0;flex:1}
.rooms-panel-v5,.products-panel-v5,.order-panel-v5{min-height:0;overflow:hidden;display:flex;flex-direction:column}.rooms-panel-v5{padding:6px}.products-panel-v5{padding:6px}.order-panel-v5{padding:8px}.panel-title{padding:6px;margin-bottom:6px;font-size:14px}.category-tabs{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:5px;flex:0 0 auto;margin-bottom:6px}.cat-tab{border:1px solid #777;background:linear-gradient(#fff,#ddd,#aaa);color:#111;font-weight:900;cursor:pointer;border-radius:3px;box-shadow:inset 0 1px 0 #fff;text-align:center;min-height:46px;padding:6px 8px;font-size:14px}.cat-tab.active{background:linear-gradient(#ff3434,#d60000,#880000);color:#fff}.product-grid-v5{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));grid-auto-rows:72px;gap:6px;align-content:start;padding-right:2px}.product-card{position:relative;border:1px solid #777;background:linear-gradient(#fff,#e1e1e1,#b0b0b0);color:#111;font-weight:900;cursor:pointer;border-radius:3px;box-shadow:inset 0 1px 0 #fff;text-align:left;padding:8px 8px 7px;overflow:hidden}.product-card:active,.room-btn-v5:active,.cat-tab:active,.option-btn:active{transform:scale(.98)}.product-name{display:block;font-size:15px;line-height:1.15;padding-right:6px;word-break:break-word}.price-badge{position:absolute;right:5px;bottom:5px;background:#777dab;color:#fff;border-radius:2px;padding:2px 6px;font-size:13px;min-width:56px;text-align:center}.options-grid-v5{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;flex:0 0 auto;margin-top:6px}.options-grid-v5 .option-btn{height:44px;font-size:14px;color:#b90000}.rooms-grid-v5{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;overflow:auto;align-content:start;padding-right:2px}.room-btn-v5{height:47px;border:1px solid #777;background:linear-gradient(#20d849,#00a326,#006f18);color:#000;position:relative;font-size:17px;line-height:1.05;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;cursor:pointer;border-radius:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.room-btn-v5.open{background:linear-gradient(#ffe074,#f4b400,#b57900)}.room-btn-v5.selected{background:linear-gradient(#66a4ff,#0b58c8,#06377d);color:#fff}.room-btn-v5 small{font-size:11px;display:block;margin-top:2px;color:#111}.room-btn-v5.selected small{color:#fff}.order-head-v5{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:4px}.order-panel-v5 .room-title{font-size:38px}.order-panel-v5 .order-items{flex:1;overflow:auto;margin:4px 0}.order-panel-v5 .order-line{grid-template-columns:1fr 44px 78px;gap:5px;padding:7px 5px;font-size:14px}.order-panel-v5 .total-box{padding:9px 11px;font-size:21px}.order-panel-v5 .pay-row{grid-template-columns:1fr 130px;gap:6px;margin-top:6px}.order-panel-v5 .btn{padding:10px 12px}.order-panel-v5 .warning-note{font-size:12px;padding:7px;margin-top:6px}.mini-btn{padding:8px 10px}.confirm-box{max-width:520px;margin:0 auto}.confirm-row{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #333;padding:10px 0;font-size:18px}.confirm-row span{color:#aaa}.confirm-row b{color:#fff}.qty-label{margin-top:15px}.qty-control{display:grid;grid-template-columns:70px 1fr 70px;gap:8px;margin-top:6px}.qty-control button{font-size:28px;font-weight:900;background:linear-gradient(#fff,#ddd,#aaa);border:1px solid #777;border-radius:4px;cursor:pointer}.qty-control input{text-align:center;font-size:24px;font-weight:900;padding:10px}.confirm-total{display:flex;justify-content:space-between;align-items:center;background:#0a7a1d;border:1px solid #11cf38;padding:12px 14px;font-size:20px;font-weight:900;margin:12px 0}.confirm-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:12px}.confirm-actions .btn{width:100%;font-size:17px}.modal-box{width:min(760px,96vw)}
@media(max-width:1250px){.pos-layout-v5{grid-template-columns:190px 1fr 350px}.rooms-grid-v5{grid-template-columns:repeat(2,1fr)}.category-tabs{grid-template-columns:repeat(3,1fr)}.product-grid-v5{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));grid-auto-rows:68px}.product-name{font-size:14px}.room-btn-v5{height:44px;font-size:16px}}
@media(max-width:920px){.pos-v5{height:auto;overflow:auto}.pos-layout-v5{grid-template-columns:1fr}.rooms-panel-v5,.products-panel-v5,.order-panel-v5{overflow:visible}.rooms-grid-v5{grid-template-columns:repeat(6,1fr)}.category-tabs{grid-template-columns:repeat(2,1fr)}.product-grid-v5{max-height:none;grid-template-columns:repeat(2,1fr)}.options-grid-v5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.rooms-grid-v5{grid-template-columns:repeat(3,1fr)}.product-grid-v5{grid-template-columns:1fr}.category-tabs{grid-template-columns:1fr}.confirm-actions{grid-template-columns:1fr}.summary-cards{grid-template-columns:1fr}}


/* v6 softer day-use POS layout: light background, bigger room buttons, Lek only, no transfer */
.pos-v6{
  background:#e9eef5;
  color:#1f2937;
  padding:8px;
  gap:8px;
}
.pos-v6 .topbar{
  background:linear-gradient(180deg,#ffffff,#f5f7fb);
  border:1px solid #cfd8e3;
  border-radius:12px;
  box-shadow:0 2px 10px rgba(15,23,42,.07);
  color:#1f2937;
  min-height:56px;
}
.pos-v6 .brand{color:#111827;font-size:24px;letter-spacing:.2px}
.pos-v6 .small-text{color:#64748b}
.pos-v6 .top-link{border-radius:9px;padding:10px 18px}
.pos-v6 .pos-layout-v5{
  grid-template-columns:310px minmax(540px,1fr) 375px;
  gap:8px;
}
.pos-v6 .panel{
  background:#ffffff;
  border:1px solid #cfd8e3;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(15,23,42,.07);
  color:#1f2937;
}
.pos-v6 .panel-title{
  background:linear-gradient(180deg,#10b981,#059669);
  color:#fff;
  border-radius:10px;
  padding:10px;
  margin-bottom:10px;
  font-size:17px;
  letter-spacing:.2px;
}
.pos-v6 .rooms-panel-v5{padding:10px}
.pos-v6 .rooms-grid-v5{
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.pos-v6 .room-btn-v5{
  height:76px;
  border:1px solid #0f8a35;
  border-radius:12px;
  background:linear-gradient(180deg,#34d665,#11a33b);
  color:#06220d;
  font-size:25px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65), 0 3px 8px rgba(15,23,42,.13);
}
.pos-v6 .room-btn-v5.open{
  background:linear-gradient(180deg,#ffd166,#f59e0b);
  border-color:#c47c00;
  color:#3a2500;
}
.pos-v6 .room-btn-v5.selected{
  background:linear-gradient(180deg,#3b82f6,#1d4ed8);
  border-color:#1e40af;
  color:#fff;
}
.pos-v6 .room-btn-v5 small{font-size:13px;margin-top:5px;color:inherit}
.pos-v6 .products-panel-v5{padding:10px;gap:8px}
.pos-v6 .category-tabs{
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:8px;
  margin-bottom:0;
}
.pos-v6 .cat-tab{
  min-height:50px;
  border-radius:12px;
  border:1px solid #cbd5e1;
  background:linear-gradient(180deg,#ffffff,#e8edf4);
  color:#1f2937;
  font-size:15px;
  box-shadow:0 2px 6px rgba(15,23,42,.08);
}
.pos-v6 .cat-tab.active{
  background:linear-gradient(180deg,#ef4444,#dc2626);
  color:#fff;
  border-color:#b91c1c;
}
.pos-v6 .product-grid-v5{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  grid-auto-rows:86px;
  gap:9px;
  padding:2px;
}
.pos-v6 .product-card{
  border-radius:13px;
  border:1px solid #cbd5e1;
  background:linear-gradient(180deg,#ffffff,#f1f5f9);
  color:#111827;
  padding:11px 10px 10px;
  box-shadow:0 3px 10px rgba(15,23,42,.08);
}
.pos-v6 .product-card:hover{filter:brightness(1.02)}
.pos-v6 .product-name{font-size:16px;line-height:1.18}
.pos-v6 .price-badge{
  right:8px;
  bottom:8px;
  border-radius:999px;
  background:#0f766e;
  color:#fff;
  padding:4px 9px;
  min-width:76px;
  font-size:13px;
}
.pos-v6 .options-grid-v5{
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:0;
}
.pos-v6 .options-grid-v5 .option-btn{
  height:52px;
  border-radius:12px;
  border-color:#cbd5e1;
  color:#b91c1c;
  background:linear-gradient(180deg,#fff,#e8edf4);
  font-size:15px;
  box-shadow:0 2px 6px rgba(15,23,42,.08);
}
.pos-v6 .order-panel-v5{padding:10px}
.pos-v6 .order-head-v5{
  border-bottom:1px solid #e2e8f0;
  padding-bottom:10px;
}
.pos-v6 .order-panel-v5 .room-title{font-size:46px;color:#16a34a}
.pos-v6 .mini-btn{
  border-radius:10px;
  border:1px solid #cbd5e1;
  background:linear-gradient(180deg,#fff,#e8edf4);
}
.pos-v6 .order-items{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:4px;
}
.pos-v6 .order-line{
  border-bottom:1px solid #e2e8f0;
  color:#1f2937;
  grid-template-columns:1fr 42px 92px;
  padding:9px 7px;
}
.pos-v6 .order-line:last-child{border-bottom:0}
.pos-v6 .total-box{
  border-radius:12px;
  border:1px solid #047857;
  background:linear-gradient(180deg,#10b981,#059669);
  color:#fff;
  font-size:24px;
  padding:13px 14px;
}
.pos-v6 .cash-note{
  margin-top:8px;
  padding:10px 12px;
  border-radius:10px;
  background:#eefdf5;
  color:#065f46;
  border:1px solid #bbf7d0;
  font-weight:800;
  text-align:center;
}
.pos-v6 .pay-full{
  width:100%;
  margin-top:8px;
  border-radius:12px;
  font-size:18px;
  padding:13px;
}
.pos-v6 .warning-note{
  background:#fffbeb;
  color:#92400e;
  border:1px solid #fde68a;
  border-radius:10px;
  font-size:12px;
}
.pos-v6 .modal-box{
  background:#fff;
  color:#1f2937;
  border-radius:16px;
  border:1px solid #d1d5db;
}
.pos-v6 .modal-head{
  background:#f8fafc;
  border-bottom:1px solid #e5e7eb;
  border-radius:16px 16px 0 0;
}
.pos-v6 .modal-head h2{color:#111827}
.pos-v6 .confirm-row{border-bottom:1px solid #e5e7eb}.pos-v6 .confirm-row b{color:#111827}.pos-v6 .confirm-row span{color:#64748b}
.pos-v6 .modal-note{background:#fffbeb;color:#92400e;border-color:#fde68a}
.pos-v6 .summary-cards div{background:#f8fafc;border-color:#e2e8f0}.pos-v6 .summary-cards span{color:#64748b}.pos-v6 .summary-cards b{color:#059669}.pos-v6 .modal-table th{background:#f1f5f9;color:#111827}.pos-v6 .modal-table th,.pos-v6 .modal-table td{border-bottom:1px solid #e5e7eb;color:#1f2937}
@media(max-width:1250px){
  .pos-v6 .pos-layout-v5{grid-template-columns:275px 1fr 350px}
  .pos-v6 .room-btn-v5{height:70px;font-size:23px}
  .pos-v6 .product-grid-v5{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));grid-auto-rows:82px}
  .pos-v6 .category-tabs{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:920px){
  .pos-v6 .rooms-grid-v5{grid-template-columns:repeat(4,1fr)}
  .pos-v6 .room-btn-v5{height:64px}
  .pos-v6 .options-grid-v5{grid-template-columns:1fr}
}

/* v7: lighter staff workflow, bigger room buttons, shift closing */
.pos-v7{background:linear-gradient(135deg,#eef4ff,#f8fafc 45%,#ecfdf5);}
.pos-v7 .topbar{background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
.pos-v7 .pos-layout-v5{grid-template-columns:335px minmax(560px,1fr) 390px;}
.pos-v7 .rooms-panel-v5{display:flex;flex-direction:column;}
.pos-v7 .room-legend{display:flex;gap:14px;align-items:center;font-size:13px;color:#475569;margin:0 0 8px 2px;font-weight:700}.pos-v7 .dot{width:13px;height:13px;border-radius:50%;display:inline-block;margin-right:4px}.pos-v7 .dot.free{background:#16a34a}.pos-v7 .dot.open{background:#f59e0b}
.pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,1fr);gap:10px;flex:1;}
.pos-v7 .room-btn-v5{height:86px;font-size:27px;border-radius:16px;}
.pos-v7 .room-btn-v5 em{font-style:normal;font-size:11px;margin-top:3px;color:inherit;opacity:.85}.pos-v7 .room-btn-v5 small{font-size:13px}
.pos-v7 .product-grid-v5{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));grid-auto-rows:88px}.pos-v7 .product-card{border-radius:16px}.pos-v7 .product-name{font-size:16px}.pos-v7 .price-badge{background:#2563eb}.pos-v7 .cat-tab{font-size:15px;min-height:52px}.pos-v7 .cat-tab.active{background:linear-gradient(180deg,#2563eb,#1d4ed8)}
.pos-v7 .panel-title{background:linear-gradient(90deg,#2563eb,#0ea5e9);font-size:18px}.pos-v7 .order-panel-v5 .room-title{color:#2563eb}.pos-v7 .cash-note{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.pos-v7 .total-box{background:linear-gradient(90deg,#16a34a,#059669)}
.pos-v7 .options-grid-v7{grid-template-columns:repeat(4,1fr)}.pos-v7 .options-grid-v7 .option-btn{color:#1e3a8a;font-weight:900}.pos-v7 .options-grid-v7 .shift-btn{background:linear-gradient(180deg,#fff7ed,#fed7aa);color:#9a3412;border-color:#fdba74}.pos-v7 .pay-full{background:linear-gradient(90deg,#16a34a,#15803d)}
.room-meta-v7{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.room-meta-v7 div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:9px 10px}.room-meta-v7 span{display:block;font-size:12px;color:#64748b}.room-meta-v7 b{display:block;font-size:13px;color:#111827;margin-top:3px}.shift-total{margin:12px 0;padding:14px;border-radius:14px;background:#ecfdf5;border:1px solid #bbf7d0;color:#064e3b;text-align:center;font-weight:900;font-size:20px}.shift-total strong{font-size:27px;color:#15803d}.admin-help{color:#64748b;font-size:13px;margin:10px 0 0}.admin-table .danger{background:#dc2626!important;color:#fff!important}
@media(max-width:1320px){.pos-v7 .pos-layout-v5{grid-template-columns:300px 1fr 360px}.pos-v7 .room-btn-v5{height:78px;font-size:24px}.pos-v7 .product-grid-v5{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));grid-auto-rows:84px}.pos-v7 .options-grid-v7{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.pos-v7 .pos-layout-v5{grid-template-columns:1fr}.pos-v7 .rooms-grid-v5{grid-template-columns:repeat(4,1fr)}.pos-v7 .room-btn-v5{height:70px}.room-meta-v7{grid-template-columns:1fr}}

/* v8: clearer room-service cards and blocked-shift warning */
.pos-v7 .product-card.service-card{
  background:linear-gradient(180deg,#fff7ed,#ffedd5);
  border-color:#fed7aa;
  position:relative;
}
.pos-v7 .product-card.service-card .product-name{
  color:#7c2d12;
  padding-top:10px;
}
.pos-v7 .product-card.service-card .price-badge{
  background:#ea580c;
}
.pos-v7 .service-tag{
  position:absolute;
  top:7px;
  left:8px;
  font-size:10px;
  font-weight:900;
  background:#9a3412;
  color:#fff;
  border-radius:999px;
  padding:2px 7px;
  letter-spacing:.3px;
}
.open-warning{
  margin:12px 0;
  padding:12px 14px;
  border-radius:12px;
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
  font-weight:900;
  text-align:center;
}
.modal-table th:nth-child(1), .modal-table th:nth-child(2){white-space:nowrap}

/* v9: larger product cards, only main room-service boxes highlighted, clearer daily status */
.pos-v7 .product-grid-v5{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  grid-auto-rows:108px;
  gap:12px;
}
.pos-v7 .product-card{
  border-radius:18px;
  padding:14px 12px 12px;
  min-height:108px;
}
.pos-v7 .product-name{
  font-size:18px;
  line-height:1.2;
}
.pos-v7 .price-badge{
  font-size:14px;
  min-width:92px;
  padding:6px 10px;
}
.pos-v7 .cat-tab{
  min-height:56px;
  font-size:16px;
}
.pos-v7 .product-card.service-card.featured-service-card{
  background:linear-gradient(180deg,#fff7ed,#ffedd5);
  border:2px solid #fb923c;
  box-shadow:0 5px 15px rgba(234,88,12,.18);
}
.pos-v7 .product-card.service-card.featured-service-card .product-name{
  color:#7c2d12;
  padding-top:12px;
  font-weight:900;
}
.pos-v7 .product-card.service-card.featured-service-card .price-badge{
  background:#ea580c;
}
/* All other Shërbim Dhome boxes stay like normal products */
.pos-v7 .product-card:not(.featured-service-card) .service-tag{display:none}
.status-pill{
  display:inline-block;
  border-radius:999px;
  padding:4px 10px;
  background:#e0f2fe;
  color:#075985;
  font-weight:900;
  font-size:12px;
}
@media(max-width:1320px){
  .pos-v7 .product-grid-v5{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));grid-auto-rows:102px}
  .pos-v7 .product-card{min-height:102px}
}

/* v10: clearer admin daily report with Hyrja/Dalja and printable daily total */
.print-only{display:none}
.report-page .report-filter{gap:9px;flex-wrap:wrap}
.report-page .print-btn{color:#064e3b;background:linear-gradient(#ecfdf5,#bbf7d0,#86efac);border-color:#22c55e}
.report-stats .stat{min-height:88px}
.report-table th{white-space:nowrap}
.report-table td{font-size:13px}
.report-table td:nth-child(2),.report-table td:nth-child(3){white-space:nowrap;color:#dbeafe}
.open-status{background:#fef3c7;color:#92400e}
@media print{
  body{background:#fff;color:#111}
  .no-print,.admin-header.no-print,.report-filter.no-print{display:none!important}
  .print-only{display:block!important}
  .admin-wrap,.admin-wrap.wide{max-width:none;margin:0;padding:0}
  .admin-card,.stat{background:#fff!important;color:#111!important;border:1px solid #aaa!important;box-shadow:none!important}
  .admin-card{page-break-inside:avoid;margin-top:10px;padding:10px}
  .admin-card h2,.admin-header h1{color:#111!important}
  .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .stat span,.stat b{color:#111!important}
  .admin-table th{background:#eee!important;color:#111!important}
  .admin-table th,.admin-table td{border-bottom:1px solid #ccc;color:#111!important;padding:5px;font-size:11px}
  .status-pill{border:1px solid #777;background:#fff!important;color:#111!important}
  .report-print-title h1{margin:0 0 4px;color:#111;font-size:20px}
  .report-print-title p{margin:0 0 10px;color:#111}
}

/* v11 Booking reservation improvements */
.pos-v7 .product-card.booking-card{
  background:linear-gradient(180deg,#fff7ed,#fed7aa,#fb923c);
  border:2px solid #f97316;
}
.pos-v7 .product-card.booking-card .service-tag{
  background:#9a3412;
  color:#fff;
}
.pos-v7 .product-card.booking-card .product-name{
  font-size:18px;
}
.pos-v7 .product-card.booking-card .price-badge{
  background:#7c2d12;
  color:#fff;
  min-width:96px;
}
.booking-form{max-width:620px;margin:0 auto;color:#111827}
.booking-form label{display:block;font-weight:900;margin:10px 0 5px;color:#111827}
.booking-form input,.booking-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;padding:12px;font-size:17px;background:#fff;color:#111827}
.booking-form textarea{min-height:70px;resize:vertical}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:12px;padding:10px 12px;font-weight:800;margin-bottom:10px}.booking-form .confirm-row b{color:#111827}.booking-form .confirm-row span{color:#475569}.muted{color:#64748b;font-size:12px}
@media(max-width:620px){.booking-grid{grid-template-columns:1fr}}


/* v14 database reset admin page */
.db-stat-row{grid-template-columns:repeat(3,1fr);}
.danger-card{border-color:#7f1d1d;background:#1b1111;}
.danger-card.hard{border-color:#dc2626;background:#211010;}
.danger-card ul{margin:8px 0 12px 20px;color:#ddd;}
.reset-form{max-width:620px;margin-top:8px;}
.reset-form input{font-size:18px;font-weight:900;text-transform:uppercase;}
@media(max-width:900px){.db-stat-row{grid-template-columns:1fr 1fr}.reset-form{display:grid;grid-template-columns:1fr}}

/* v15 fixes: reliable admin forms + larger Booking card + clearer professional admin feedback */
.flash.success{background:#0f3f26;border-color:#22c55e;color:#eafff2}
.editable-table input,.editable-table select{min-width:110px}
.pill-special{display:inline-block;background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd;border-radius:999px;padding:4px 9px;font-weight:900;font-size:12px}
.pos-v6 .booking-card{
  grid-column:span 2;
  min-height:112px;
  border:2px solid #2563eb;
  background:linear-gradient(180deg,#eff6ff,#dbeafe);
}
.pos-v6 .booking-card .product-name{font-size:22px;line-height:1.1;margin-top:15px;color:#0f172a}
.pos-v6 .booking-card .service-tag{background:#1d4ed8;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900;display:inline-block}
.pos-v6 .booking-card .price-badge{background:#1d4ed8;min-width:105px}
.booking-form input,.booking-form textarea{margin-bottom:8px}
.admin-note strong,.admin-help strong{color:#fff}
@media(max-width:920px){.pos-v6 .booking-card{grid-column:span 1}.pos-v6 .booking-card .product-name{font-size:18px}}

/* v17: mobile cleanup, compact Booking form, invoice detail modal */
.pos-v7 .products-panel-v5{gap:12px}
.pos-v7 .category-tabs{
  background:rgba(255,255,255,.72);
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:8px;
}
.pos-v7 .product-grid-v5{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:12px;
}
.pos-v7 .options-grid-v5{
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:8px;
}
.pos-v6 .booking-card{
  grid-column:span 1;
  min-height:108px;
  background:linear-gradient(180deg,#f0f9ff,#dbeafe);
  border:2px solid #60a5fa;
}
.pos-v6 .booking-card .product-name{font-size:19px;margin-top:14px;color:#0f172a}
.pos-v6 .booking-card .price-badge{min-width:94px;font-size:13px}
.booking-form{max-width:560px;margin:0 auto;color:#111827}
.booking-form .booking-room-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;margin-bottom:10px}
.booking-form input,.booking-form textarea{font-size:16px;padding:11px 12px;border-radius:12px}
.booking-form label{margin-top:9px}
.hint-box{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;border-radius:12px;padding:10px 12px;font-weight:800;margin:8px 0 12px}
.clickable-row{cursor:pointer;background:#fff}
.clickable-row:hover{background:#eff6ff!important}
.invoice-detail-card h3{margin:16px 0 6px;color:#0f172a}
.invoice-title-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}
.invoice-title-row div,.invoice-times div,.invoice-client-box div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;padding:10px 12px}
.invoice-title-row span,.invoice-times span,.invoice-client-box span{display:block;color:#64748b;font-size:12px;font-weight:800}
.invoice-title-row b,.invoice-times b,.invoice-client-box b{display:block;color:#0f172a;font-size:16px;margin-top:3px}
.invoice-times,.invoice-client-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.invoice-client-box{grid-template-columns:2fr 1fr 1fr}
.voided-row{opacity:.55;text-decoration:line-through}
.modal-table td{vertical-align:top}
@media(max-width:920px){
  .pos-v7 .products-panel-v5{gap:10px}
  .pos-v7 .product-grid-v5{padding:9px;gap:9px}
  .invoice-title-row,.invoice-times,.invoice-client-box{grid-template-columns:1fr}
}
@media(max-width:620px){
  .modal-backdrop{padding:8px;align-items:flex-start}
  .modal-box{width:100%;max-height:96vh;border-radius:14px}
  .modal-content{padding:10px}
  .pos-v7 .category-tabs{grid-template-columns:repeat(2,1fr);padding:6px;gap:6px}
  .pos-v7 .cat-tab{min-height:48px;font-size:14px}
  .pos-v7 .product-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:96px;padding:8px;gap:8px}
  .pos-v7 .product-card{min-height:96px;padding:10px 9px;border-radius:14px}
  .pos-v7 .product-name{font-size:15px;line-height:1.15}
  .pos-v7 .price-badge{font-size:12px;min-width:auto;padding:4px 7px}
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,1fr);gap:8px}
  .pos-v7 .room-btn-v5{height:66px;font-size:22px;border-radius:13px}
  .pos-v7 .options-grid-v7{grid-template-columns:repeat(2,1fr)}
  .summary-cards{grid-template-columns:1fr}
  .modal-table{font-size:12px;display:block;overflow-x:auto;white-space:nowrap}
  .booking-grid{grid-template-columns:1fr}
}

/* v18: better modal readability, admin detail popup and correction controls */
.modal-table .clickable-row td,
.clickable-row td,
.modal-table td {
  color:#0f172a;
}
.modal-table th{color:#ffffff;}
.modal-table tr:not(.clickable-row) td{color:#0f172a;}
.modal-content{color:#0f172a;}
.modal-content .small-text{color:#64748b;}
.admin-click-row{cursor:pointer;}
.admin-click-row:hover{background:#1f2937!important;}
.admin-help-text{color:#cbd5e1;margin:0 0 10px;font-weight:700;}
.admin-detail-modal{width:min(1120px,98vw);}
.admin-edit-items input{width:100%;min-width:82px;background:#f8fafc;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;padding:8px;}
.admin-actions-cell{min-width:230px;}
.admin-actions-cell .reason-input{margin-bottom:6px;min-width:190px;}
.admin-actions-cell .btn{margin:2px;}
.admin-note-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:13px;padding:12px 14px;margin:10px 0;}
.admin-note-box span{display:block;color:#9a3412;font-size:12px;font-weight:900;}
.admin-note-box b{display:block;color:#7c2d12;margin-top:4px;white-space:pre-wrap;}
.room-note-meta{grid-column:1 / -1;background:#fff7ed!important;border-color:#fed7aa!important;}
.room-note-meta span{color:#9a3412!important}.room-note-meta b{white-space:pre-wrap;color:#7c2d12!important;}
.booking-form textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font-size:16px;background:#fff;color:#111827;min-height:90px;resize:vertical;}
@media(max-width:700px){
  .admin-detail-modal{width:100%;}
  .admin-edit-items{display:block;overflow-x:auto;white-space:nowrap;}
  .admin-actions-cell{min-width:220px;}
}
.modal-table td{background:#ffffff;color:#0f172a;}
.modal-table tr.voided-row td{background:#f1f5f9;color:#64748b;}


/* v19: cleaner invoice detail design, booking card redesign, mobile polish */
.modal-box{border-radius:18px;overflow:hidden}
.modal-content{background:#f8fafc;color:#0f172a}
.modal-head{background:#0b0f19}
.modal-head h2{font-size:20px;letter-spacing:.2px}
.modal-table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden;border:1px solid #dbe3ee;border-radius:14px;background:#fff}
.modal-table th{background:#0f172a;color:#fff;font-size:13px;letter-spacing:.2px}
.modal-table td,.modal-table th{padding:11px 12px}
.modal-table tr:nth-child(even) td{background:#f8fafc}
.modal-table tr:hover td{background:#eef4ff}
.modal-table tr.voided-row td{background:#f1f5f9;color:#64748b}
.detail-table th:first-child,.detail-table td:first-child{width:88px;white-space:nowrap}
.invoice-detail-card{display:flex;flex-direction:column;gap:14px}
.invoice-detail-card h3{margin:0;color:#0f172a;font-size:18px}
.invoice-title-row,.invoice-times,.invoice-client-box{display:grid;gap:12px}
.invoice-title-row{grid-template-columns:repeat(3,1fr)}
.invoice-times{grid-template-columns:repeat(2,1fr)}
.invoice-client-box{grid-template-columns:2fr 1fr 1fr}
.invoice-title-row div,.invoice-times div,.invoice-client-box div{background:linear-gradient(180deg,#ffffff,#f8fafc);border:1px solid #dbe3ee;border-radius:16px;padding:14px 15px;box-shadow:0 4px 14px rgba(15,23,42,.05)}
.invoice-title-row span,.invoice-times span,.invoice-client-box span{display:block;color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.invoice-title-row b,.invoice-times b,.invoice-client-box b{display:block;color:#0f172a;font-size:19px;line-height:1.25;margin-top:5px}
.summary-cards{gap:12px}
.summary-cards div{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #dbe3ee;border-radius:16px;box-shadow:0 3px 10px rgba(15,23,42,.04)}
.hint-box{border-radius:14px;padding:12px 14px}
.pos-v7 .product-card.booking-card,.pos-v6 .booking-card{background:linear-gradient(180deg,#fff7ed,#ffedd5 55%,#fed7aa);border:2px solid #fb923c;border-radius:22px;padding:14px 14px 16px;box-shadow:0 8px 18px rgba(251,146,60,.16);min-height:122px}
.pos-v7 .product-card.booking-card .service-tag,.pos-v6 .booking-card .service-tag{background:#1d4ed8;color:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;display:inline-flex;align-self:flex-start;letter-spacing:.25px}
.pos-v7 .product-card.booking-card .product-name,.pos-v6 .booking-card .product-name{font-size:24px;line-height:1.08;margin-top:14px;color:#111827;padding-right:90px}
.pos-v7 .product-card.booking-card .price-badge,.pos-v6 .booking-card .price-badge{right:12px;bottom:12px;background:#7c2d12;color:#fff;border-radius:999px;padding:7px 11px;min-width:0;font-size:12px;box-shadow:0 3px 8px rgba(124,45,18,.25)}
.room-note-meta{margin-top:4px}
.admin-help-text{line-height:1.45}
.item-time-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;font-weight:900;font-size:12px;white-space:nowrap}
.admin-edit-items td{vertical-align:top}
.admin-edit-items th:first-child,.admin-edit-items td:first-child{min-width:140px}
@media(max-width:920px){
  .pos-v7 .product-card.booking-card .product-name,.pos-v6 .booking-card .product-name{font-size:20px;padding-right:0;margin-top:12px}
  .pos-v7 .product-card.booking-card .price-badge,.pos-v6 .booking-card .price-badge{position:static;display:inline-block;margin-top:12px}
  .invoice-title-row,.invoice-times,.invoice-client-box{grid-template-columns:1fr}
}
@media(max-width:640px){
  .pos-v7 .product-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
  .pos-v7 .product-card{min-height:118px}
  .pos-v7 .product-card.booking-card,.pos-v6 .booking-card{min-height:136px;padding:12px}
  .pos-v7 .product-card.booking-card .product-name,.pos-v6 .booking-card .product-name{font-size:18px;line-height:1.12}
  .modal-content{padding:10px}
  .modal-table{display:block;overflow-x:auto;white-space:nowrap}
  .detail-table th:first-child,.detail-table td:first-child{width:auto}
  .invoice-title-row div,.invoice-times div,.invoice-client-box div{padding:12px}
  .invoice-title-row b,.invoice-times b,.invoice-client-box b{font-size:17px}
  .summary-cards b{font-size:22px}
}


/* v21: revert to earlier visual style, keep safe correction flow */
.login-back{display:block;text-align:center;margin-top:14px;color:#93c5fd;font-weight:900}
.readonly-pill{display:flex;align-items:center;min-height:38px;padding:9px 10px;background:#f8fafc;border:1px solid #d7dee9;border-radius:10px;color:#0f172a;font-weight:700}
.edit-hidden{display:none!important}
.action-stack{display:flex;flex-direction:column;gap:7px}.action-inline{display:flex;flex-wrap:wrap;gap:7px}
.admin-edit-items input{border-radius:10px;background:#fff;border:1px solid #cbd5e1;padding:8px 10px}
.admin-edit-items .btn.small{border-radius:8px;padding:8px 11px}
.admin-actions-cell{min-width:280px}.reason-input{background:#fffdf8}
.admin-detail-modal .hint-box{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}
@media(max-width:640px){.admin-actions-cell{min-width:240px}}


/* v22: improved balanced layout, calmer colors, mobile room cards */
.pos-v7 .panel{border-color:#d8dee8;border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.pos-v7 .panel-title{background:linear-gradient(90deg,#2f67d8,#1fa0dc);border-radius:14px;padding:12px 14px;font-size:17px;letter-spacing:.2px}
.pos-v7 .room-legend{padding:8px 4px 4px;color:#334155;font-weight:800}
.pos-v7 .room-legend .dot.free{background:#22c55e}.pos-v7 .room-legend .dot.open{background:#f59e0b}
.pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow-y:auto;overflow-x:hidden;padding-right:2px}
.pos-v7 .room-btn-v5{height:88px;min-width:0;padding:6px 8px;border-radius:16px;background:linear-gradient(180deg,#32d25b,#21b34a 55%,#17923b);border:1px solid #15803d;color:#051b0b;box-shadow:0 4px 10px rgba(34,197,94,.18);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}
.pos-v7 .room-btn-v5.open{background:linear-gradient(180deg,#ffd978,#f4b64d 58%,#d08b16);border-color:#b7791f;color:#3b2500;box-shadow:0 4px 10px rgba(245,158,11,.18)}
.pos-v7 .room-btn-v5.selected{background:linear-gradient(180deg,#5ba9ff,#2d7de8 55%,#1b58bf);border-color:#1d4ed8;color:#fff;box-shadow:0 4px 12px rgba(37,99,235,.22)}
.pos-v7 .room-btn-v5 .room-number{display:block;font-size:clamp(20px,2.1vw,30px);line-height:1.02;font-weight:900;letter-spacing:.2px;max-width:100%;text-align:center;word-break:break-word}
.pos-v7 .room-btn-v5.room-long .room-number{font-size:clamp(15px,1.6vw,21px);line-height:1.02}
.pos-v7 .room-btn-v5.room-very-long .room-number{font-size:clamp(13px,1.35vw,18px)}
.pos-v7 .room-btn-v5 .room-status{font-size:13px;font-weight:900;line-height:1.05;margin-top:1px;color:inherit;opacity:.95}
.pos-v7 .room-btn-v5 .room-extra{font-style:normal;font-size:11px;line-height:1.05;opacity:.88;max-width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pos-v7 .modal-content{background:#f7f9fc;color:#0f172a}
.pos-v7 .summary-cards div,.pos-v7 .invoice-title-row div,.pos-v7 .invoice-times div,.pos-v7 .invoice-client-box div{background:#f8fafc}
.pos-v7 .shift-total{margin:14px 0;padding:15px 18px;border-radius:16px;background:linear-gradient(180deg,#eef5ff,#e0ecff);border:1px solid #bfd4ff;color:#1e3a8a;text-align:center;font-weight:800;font-size:22px}
.pos-v7 .shift-total strong{font-size:34px;color:#1d4ed8}
.pos-v7 .modal-table th{background:#0f172a}.pos-v7 .modal-table td{background:#fff}
.pos-v7 .confirm-actions .btn.success,.pos-v7 .pay-full,.pos-v7 .btn.success{background:linear-gradient(180deg,#22c55e,#16a34a);border-color:#15803d;color:#fff}
.pos-v7 .confirm-actions .btn.secondary,.pos-v7 .btn.secondary{background:linear-gradient(180deg,#ffffff,#eef2f7);border-color:#cfd8e3;color:#0f172a}
.pos-v7 .warning-note{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;border-radius:14px}
@media (max-width: 920px){
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
  .pos-v7 .room-btn-v5{height:82px}
}
@media (max-width: 640px){
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pos-v7 .room-btn-v5{height:96px;padding:6px}
  .pos-v7 .room-btn-v5 .room-number{font-size:clamp(18px,7vw,28px)}
  .pos-v7 .room-btn-v5.room-long .room-number{font-size:clamp(14px,5.6vw,19px)}
  .pos-v7 .room-btn-v5.room-very-long .room-number{font-size:clamp(12px,4.8vw,16px)}
  .pos-v7 .room-btn-v5 .room-status{font-size:13px}
  .pos-v7 .room-btn-v5 .room-extra{font-size:10px}
  .pos-v7 .options-grid-v7{grid-template-columns:repeat(2,1fr);gap:8px}
  .pos-v7 .options-grid-v5 .option-btn{height:50px;font-size:15px;border-radius:14px}
  .pos-v7 .panel-title{font-size:16px;padding:11px 12px}
  .pos-v7 .shift-total{font-size:18px;padding:14px}
  .pos-v7 .shift-total strong{font-size:28px}
}


/* v23: darker modal body and authenticator admin page */
.pos-v7 .modal-content, .modal-content{background:linear-gradient(180deg,#1f2937,#243244);color:#e5edf7}
.modal-content .small-text{color:#c4d0df}.modal-content h3{color:#f8fafc}
.confirm-box{max-width:560px}.confirm-row{border-bottom:1px solid rgba(255,255,255,.15);padding:11px 0}.confirm-row span{color:#b7c5d7}.confirm-row b{color:#f8fafc}
.qty-control input{background:#e5e7eb;color:#111827;border:1px solid #94a3b8;border-radius:12px}
.qty-control button{background:linear-gradient(180deg,#f8fafc,#d7dee8);border:1px solid #94a3b8;border-radius:12px;color:#0f172a}
.confirm-total{background:linear-gradient(180deg,#0f8f48,#0d7a3d);border:1px solid #34d399;border-radius:12px;color:#f0fdf4}
.modal-note{background:#3b2f09;border:1px solid #b9972e;color:#fde68a;border-radius:10px}
.booking-form{color:#e5edf7}.booking-form label{color:#e5edf7}.booking-form input,.booking-form textarea{background:#e5e7eb;color:#111827;border:1px solid #94a3b8}.booking-info{background:#1e3a5f;border:1px solid #3b82f6;color:#dbeafe}
.booking-form .confirm-row b{color:#f8fafc}.booking-form .confirm-row span{color:#b7c5d7}.booking-form .booking-room-row{background:#223246;border:1px solid #4b6582}
.security-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;margin-top:18px}.security-card{background:#fff;border:1px solid #dbe3ee;border-radius:16px;padding:18px;box-shadow:0 8px 18px rgba(15,23,42,.05)}.security-card h3{margin-top:0;color:#0f172a}.security-card ol{padding-left:20px;line-height:1.6;color:#334155}.qr-wrap{display:flex;justify-content:center;align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;padding:16px;margin:14px 0}.qr-wrap img{width:240px;max-width:100%;height:auto}.manual-key{margin:10px 0;padding:12px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px}.manual-key span{display:block;font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase}.manual-key code{display:block;margin-top:6px;font-size:15px;font-weight:700;color:#111827;word-break:break-all}.auth-enable-form label{display:block;font-weight:800;color:#334155;margin:0 0 6px}.auth-enable-form input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:12px;font-size:18px;letter-spacing:2px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.flash.success,.flash.error{margin:12px 0;padding:12px 14px;border-radius:12px;font-weight:700}.flash.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.flash.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
@media(max-width:900px){.security-grid{grid-template-columns:1fr}.qr-wrap img{width:220px}}

/* v25: balanced POS colors, no blue selected override, inventory/payment UI */
.pos-v7 .room-btn-v5.selected{
  outline:4px solid rgba(15,23,42,.42) !important;
  outline-offset:-5px;
  box-shadow:0 0 0 3px rgba(255,255,255,.65) inset, 0 6px 16px rgba(15,23,42,.16) !important;
}
.pos-v7 .room-btn-v5.selected:not(.open){
  background:linear-gradient(180deg,#32d25b,#21b34a 55%,#17923b) !important;
  border-color:#15803d !important;
  color:#051b0b !important;
}
.pos-v7 .room-btn-v5.selected.open{
  background:linear-gradient(180deg,#ffd978,#f4b64d 58%,#d08b16) !important;
  border-color:#b7791f !important;
  color:#3b2500 !important;
}
.empty-room-message{padding:16px!important;text-align:center;color:#cbd5e1!important;line-height:1.45}
.pos-v7 .modal-content,.modal-content{background:linear-gradient(180deg,#202938,#263447)!important;color:#e5edf7!important}
.confirm-row span{color:#b7c5d7!important}.confirm-row b{color:#ffffff!important}.modal-content h3{color:#ffffff!important}
.modal-table td{color:#0f172a!important}.modal-table th{color:#ffffff!important}.summary-cards div{background:#f8fafc!important}
.pay-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.pay-choice{border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:16px 14px;cursor:pointer;text-align:left;min-height:118px;color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.18)}.pay-choice span{display:block;font-size:22px}.pay-choice b{display:block;font-size:24px;margin:8px 0}.pay-choice small{display:block;line-height:1.25;color:rgba(255,255,255,.88)}.pay-choice.cash{background:linear-gradient(180deg,#16a34a,#0f7a34)}.pay-choice.bank{background:linear-gradient(180deg,#2563eb,#1e40af)}
.inline-check{display:flex;align-items:center;gap:8px;color:#111827;font-weight:900;margin:0}.inline-check input{width:auto}.inventory-table input{max-width:120px}.stock-ok,.stock-warn,.stock-bad{display:inline-block;border-radius:999px;padding:5px 10px;font-weight:900}.stock-ok{background:#dcfce7;color:#166534}.stock-warn{background:#fef3c7;color:#92400e}.stock-bad{background:#fee2e2;color:#991b1b}.low-stock-row{background:#fff7ed!important}.admin-menu a[href*="inventory"]{background:linear-gradient(180deg,#ecfdf5,#d1fae5);border-color:#86efac;color:#065f46}
.shift-total span{font-size:15px;color:#dbeafe}
@media(max-width:700px){.pay-choice-grid{grid-template-columns:1fr}.pay-choice{min-height:auto}.form-grid{grid-template-columns:1fr}.inventory-table{display:block;overflow-x:auto;white-space:nowrap}}


/* v26 fixes: readable inventory, safe room selection, neutral xhiro, shift start */
.pos-v7 .room-btn-v5.selected{
  outline:4px solid #64748b;
  outline-offset:-4px;
  transform:none;
}
.pos-v7 .room-btn-v5.selected:not(.open){
  background:linear-gradient(180deg,#32d25b,#21b34a 55%,#17923b)!important;
  border-color:#15803d!important;
  color:#051b0b!important;
  box-shadow:0 4px 10px rgba(34,197,94,.18)!important;
}
.pos-v7 .room-btn-v5.selected.open{
  background:linear-gradient(180deg,#ffd978,#f4b64d 58%,#d08b16)!important;
  border-color:#b7791f!important;
  color:#3b2500!important;
  box-shadow:0 4px 10px rgba(245,158,11,.18)!important;
}
.pos-v7 .room-btn-v5.selected small,
.pos-v7 .room-btn-v5.selected em{color:inherit!important}

.inventory-card .admin-help-text{color:#dbeafe}
.inventory-table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden;border-radius:14px}
.inventory-table th{background:#111827;color:#fff;padding:10px}
.inventory-table td{background:#fff;color:#111827!important;border-bottom:1px solid #d1d5db;padding:10px}
.inventory-table tr.stock-empty-row td{background:#fff1f2!important;color:#111827!important}
.inventory-table tr.stock-low-row td{background:#fffbeb!important;color:#111827!important}
.inventory-table td b{color:#111827!important}
.stock-number{display:inline-flex;align-items:center;justify-content:center;min-width:70px;padding:8px 12px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:20px;font-weight:900;border:1px solid #bae6fd}
.inline-stock-form{display:flex;gap:8px;align-items:center;margin:0}
.inline-stock-form input{max-width:110px;background:#f8fafc;color:#111827;border:1px solid #94a3b8;border-radius:8px}
.inventory-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.inventory-actions form{display:inline}
.stock-ok{background:#dcfce7;color:#166534;border-radius:999px;padding:7px 12px;font-weight:900}
.stock-warn{background:#fef3c7;color:#92400e;border-radius:999px;padding:7px 12px;font-weight:900}
.stock-bad{background:#fee2e2;color:#991b1b;border-radius:999px;padding:7px 12px;font-weight:900}

.rooms-edit-table td{color:#111827}
.rooms-edit-table .inactive-row td{opacity:.65;background:#f1f5f9}
.rooms-edit-table td form{margin:0}

.neutral-cards div{background:#f8fafc!important;border-color:#dbe3ee!important}
.neutral-cards span{color:#64748b!important}
.neutral-cards b{color:#1e3a8a!important}
.modal-content .summary-cards.neutral-cards b{color:#1e3a8a!important}

.exit-room-btn{
  background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;
  border-color:#1e40af!important;
  color:#fff!important;
  margin-top:8px;
}
.pos-v7 .total-box{
  background:linear-gradient(180deg,#0f766e,#115e59)!important;
  border-color:#0f766e!important;
  color:#ecfeff!important;
}
.payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.bank-btn{background:linear-gradient(180deg,#eff6ff,#bfdbfe)!important;color:#1e3a8a!important;border-color:#93c5fd!important}
.shift-start-box{background:#f8fafc;color:#0f172a;border-radius:16px;padding:18px;border:1px solid #dbe3ee}
.shift-start-box h3{margin-top:0;color:#0f172a}
.shift-start-box p{color:#334155;line-height:1.5}
.open-shift-btn{background:linear-gradient(180deg,#ecfdf5,#bbf7d0)!important;color:#166534!important;border-color:#86efac!important}

@media(max-width:800px){
  .inventory-table{display:block;overflow-x:auto;white-space:nowrap}
  .inventory-actions{min-width:260px}
  .rooms-edit-table{display:block;overflow-x:auto;white-space:nowrap}
}


/* v27: payment state per item, invoices/xhiro corrected, inventory safer */
.hidden-soft{display:none!important}

.pos-v7 .room-btn-v5.occupied-unpaid{
  background:linear-gradient(180deg,#fbbf24,#f59e0b 58%,#d97706)!important;
  border-color:#b45309!important;
  color:#2d1600!important;
}
.pos-v7 .room-btn-v5.occupied-paid{
  background:linear-gradient(180deg,#67e8f9,#14b8a6 58%,#0f766e)!important;
  border-color:#0f766e!important;
  color:#022c22!important;
}
.pos-v7 .room-btn-v5.selected.occupied-unpaid,
.pos-v7 .room-btn-v5.selected.occupied-paid,
.pos-v7 .room-btn-v5.selected:not(.open){
  outline:4px solid rgba(15,23,42,.55)!important;
  outline-offset:-4px;
  transform:none!important;
}
.pos-v7 .room-btn-v5.selected.occupied-unpaid{
  background:linear-gradient(180deg,#fbbf24,#f59e0b 58%,#d97706)!important;
  color:#2d1600!important;
}
.pos-v7 .room-btn-v5.selected.occupied-paid{
  background:linear-gradient(180deg,#67e8f9,#14b8a6 58%,#0f766e)!important;
  color:#022c22!important;
}
.pos-v7 .room-btn-v5 .room-status{font-size:12px;line-height:1.1;text-align:center}
.pay-state{display:inline-block;padding:5px 8px;border-radius:999px;font-weight:900}
.pay-state.paid{background:#ccfbf1;color:#0f766e}
.pay-state.unpaid{background:#ffedd5;color:#9a3412}
.order-line.paid-line{background:rgba(20,184,166,.08)}
.order-line.unpaid-line{background:rgba(245,158,11,.10)}
.item-paid{color:#0f766e;font-weight:900}
.item-unpaid{color:#b45309;font-weight:900}

.inventory-table th{background:#111827;color:#fff!important}
.inventory-table td{background:#fff;color:#111827!important}
.inventory-table td b{color:#111827!important}
.inventory-table tr.stock-empty-row td{background:#fff1f2!important}
.inventory-table tr.stock-low-row td{background:#fffbeb!important}
.stock-number{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:8px 12px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:20px;font-weight:900;border:1px solid #bae6fd}
.inventory-actions{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap;min-width:420px}
.inventory-actions form{margin:0}
.inline-stock-form{display:flex;align-items:center;gap:8px;margin:0}
.inline-stock-form input{width:86px;background:#f8fafc;color:#111827;border:1px solid #94a3b8;border-radius:8px}
.stock-action-box{flex-basis:100%;background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px;padding:10px;margin-top:6px}
.stock-action-form{display:grid;grid-template-columns:90px 110px auto;gap:8px;align-items:center}
.stock-action-form label{margin:0;color:#334155;font-weight:900}
.stock-action-form input{background:#fff;color:#111827;border:1px solid #94a3b8;border-radius:8px}
.stock-ok{background:#dcfce7;color:#166534;border-radius:999px;padding:7px 12px;font-weight:900}
.stock-warn{background:#fef3c7;color:#92400e;border-radius:999px;padding:7px 12px;font-weight:900}
.stock-bad{background:#fee2e2;color:#991b1b;border-radius:999px;padding:7px 12px;font-weight:900}

.neutral-cards div{background:#f8fafc!important;border-color:#dbe3ee!important}
.neutral-cards span{color:#64748b!important}
.neutral-cards b{color:#1e3a8a!important}
.modal-content .summary-cards.neutral-cards b{color:#1e3a8a!important}
.voided-row td{text-decoration:line-through;color:#64748b!important;background:#f1f5f9!important}

.payment-choice,.pay-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.pay-choice{border:1px solid #94a3b8;border-radius:14px;padding:14px;text-align:center;font-weight:900;cursor:pointer}
.pay-choice.cash{background:linear-gradient(180deg,#dcfce7,#86efac);color:#14532d}
.pay-choice.bank{background:linear-gradient(180deg,#dbeafe,#bfdbfe);color:#1e3a8a}
.exit-room-btn{
  background:linear-gradient(180deg,#2563eb,#1d4ed8)!important;
  border-color:#1e40af!important;
  color:#fff!important;
  margin-top:8px;
}
.pos-v7 .total-box{
  background:linear-gradient(180deg,#0f766e,#115e59)!important;
  border-color:#0f766e!important;
  color:#ecfeff!important;
}
.open-warning{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:12px;padding:10px 12px;font-weight:900;margin:10px 0}
.shift-start-box{background:#f8fafc;color:#0f172a;border-radius:16px;padding:18px;border:1px solid #dbe3ee}
.shift-start-box h3{margin-top:0;color:#0f172a}
.shift-start-box p{color:#334155;line-height:1.5}

@media(max-width:800px){
  .inventory-table{display:block;overflow-x:auto;white-space:nowrap}
  .inventory-actions{min-width:340px}
  .stock-action-form{grid-template-columns:1fr;white-space:normal}
}


/* v28: clearer room legend + paid/unpaid buttons + later payment */
.room-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:900}
.room-legend .dot.paid{background:#14b8a6}
.room-legend .dot.unpaid{background:#f59e0b}

.paid-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 12px}
.paid-choice{border:2px solid transparent;border-radius:14px;padding:12px 10px;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 4px 10px rgba(15,23,42,.08)}
.paid-choice.paid,.paid-choice.cash{background:#dcfce7;color:#14532d;border-color:#86efac}
.paid-choice.unpaid{background:#ffedd5;color:#9a3412;border-color:#fdba74}
.paid-choice.bank{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}
.paid-choice.active-choice{outline:4px solid rgba(15,23,42,.35);transform:translateY(-1px)}
.mini-pay-btn{border:1px solid #86efac;background:#dcfce7;color:#14532d;border-radius:999px;padding:6px 10px;font-weight:900;cursor:pointer;white-space:nowrap}
.order-line{grid-template-columns:minmax(0,1fr) auto auto auto}
.order-line span:first-child{min-width:0}
.order-line small{line-height:1.35}
@media(max-width:640px){
  .room-legend{font-size:12px;gap:6px}
  .paid-choice-row,.pay-choice-grid{grid-template-columns:1fr;gap:8px}
  .order-line{grid-template-columns:1fr auto;gap:6px}
  .order-line span:nth-child(3),.order-line span:nth-child(4){justify-self:end}
}


/* v29 */
.room-legend{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:2px;
}
.legend-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:800;
  color:#334155;
  white-space:nowrap;
}
.room-legend .dot{
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:999px;
  position:relative;
  top:0;
  flex:0 0 12px;
}
.room-legend .dot.free{background:#22c55e}
.room-legend .dot.paid{background:#38bdf8}
.room-legend .dot.unpaid{background:#f59e0b}

.pos-v7 .room-btn-v5.occupied-paid{
  background:linear-gradient(180deg,#7dd3fc,#38bdf8 58%,#0284c7)!important;
  border-color:#0369a1!important;
  color:#082f49!important;
}
.pos-v7 .room-btn-v5.selected.occupied-paid{
  background:linear-gradient(180deg,#7dd3fc,#38bdf8 58%,#0284c7)!important;
  color:#082f49!important;
}

.hint-box .small-text,
.modal-table .small-text{
  color:#475569!important;
  line-height:1.35;
}
.shift-total span{
  color:#475569!important;
  font-weight:800;
}
@media(max-width:720px){
  .room-legend{gap:8px}
  .legend-item{font-size:13px}
}


/* v30: stronger selected room + clearer paid/unpaid choice */
.pos-v7 .room-btn-v5.selected{
  outline:none!important;
  box-shadow:
    0 0 0 4px #ffffff,
    0 0 0 8px #7c3aed,
    0 10px 22px rgba(124,58,237,.35)!important;
  transform:translateY(-1px)!important;
  position:relative;
  z-index:2;
}
.pos-v7 .room-btn-v5.selected::after{
  content:"✓";
  position:absolute;
  top:5px;
  right:7px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#7c3aed;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:15px;
  border:2px solid #fff;
}

.paid-choice{
  position:relative;
  min-height:48px;
}
.paid-choice.active-choice{
  outline:none!important;
  border-color:#1d4ed8!important;
  box-shadow:
    0 0 0 3px #ffffff,
    0 0 0 7px #2563eb,
    0 8px 20px rgba(37,99,235,.28)!important;
  transform:translateY(-1px);
}
.paid-choice.active-choice::after{
  content:"✓";
  position:absolute;
  top:-10px;
  right:-10px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#2563eb;
  color:#fff;
  border:2px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:900;
}


/* v31: smaller selected check and safer booking click */
.pos-v7 .room-btn-v5.selected::after{
  width:16px!important;
  height:16px!important;
  top:4px!important;
  right:4px!important;
  font-size:10px!important;
  border-width:1px!important;
}
.pos-v7 .room-btn-v5.selected{
  box-shadow:
    0 0 0 3px #ffffff,
    0 0 0 6px #7c3aed,
    0 8px 18px rgba(124,58,237,.30)!important;
}
.product-card{cursor:pointer}
.product-card.booking-card{cursor:pointer}


/* v32: selected room check smaller, message/booking fixes */
.pos-v7 .room-btn-v5.selected::after{
  width:13px!important;
  height:13px!important;
  top:3px!important;
  right:3px!important;
  font-size:8px!important;
  border-width:1px!important;
}
.pos-v7 .room-btn-v5.selected{
  box-shadow:
    0 0 0 3px #ffffff,
    0 0 0 6px #7c3aed,
    0 8px 18px rgba(124,58,237,.30)!important;
}
.empty-room-message{
  color:#64748b!important;
  font-weight:700;
  text-align:center;
  padding:22px 12px;
}


/* v35: unpaid still boxes and rows */
.invoice-pay-summary div:nth-child(3){
  background:#fff7ed!important;
  border-color:#fdba74!important;
}
.invoice-pay-summary div:nth-child(3) b{
  color:#9a3412!important;
}
.unpaid-row td{
  background:#fff7ed!important;
  color:#111827!important;
}
.invoice-note-box{
  padding:12px 14px;
  background:#fff7ed;
  border:1px solid #fdba74;
  color:#7c2d12;
  border-radius:14px;
  margin:8px 0 12px;
  font-weight:800;
}
.invoice-note-box span{
  display:block;
  color:#9a3412;
  font-size:12px;
  text-transform:uppercase;
  margin-bottom:4px;
}
.invoice-note-box b{
  color:#111827;
  font-weight:900;
}


/* v37: minimal fixes only */
.shift-bank-total{
  margin-top:4px;
  font-weight:900;
  color:#075985!important;
}
.shift-bank-total b{
  color:#075985!important;
}
.modal-content{
  max-height:calc(100vh - 24px)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
.invoice-detail-card{
  max-height:none!important;
}


/* v38: minimal fixes only */
.modal-backdrop{
  align-items:flex-start!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}
.modal-content{
  max-height:none!important;
  overflow:visible!important;
  margin-top:0!important;
  margin-bottom:20px!important;
}


/* v38: minimal fixes only */
.modal-backdrop{
  align-items:flex-start!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
.modal-box{
  max-height:none!important;
  margin:16px auto!important;
}
.modal-content{
  max-height:none!important;
  overflow:visible!important;
}


/* v39: only fixes room total and scrolling */
.order-panel-v5{
  min-height:0!important;
  overflow:hidden!important;
}
.order-items{
  flex:1 1 auto!important;
  min-height:120px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
}
.total-box,
.order-panel-v5 > button,
.warning-note{
  flex:0 0 auto!important;
}

/* keep long modal/detail content scrollable */
.modal-backdrop{
  align-items:flex-start!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
.modal-box{
  max-height:none!important;
  margin:16px auto!important;
}
.modal-content{
  max-height:none!important;
  overflow:visible!important;
}


/* v40 admin only */
.period-filter label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#cbd5e1;
  font-weight:800;
}
.period-filter input[type="date"]{
  min-width:180px;
}


/* v41 admin report clarity */
.unpaid-stat{
  border-color:#fdba74!important;
  background:#1b1308!important;
}
.unpaid-stat span{
  color:#fed7aa!important;
}
.unpaid-stat b{
  color:#fb923c!important;
}

/* v42: shift cash float / kusur */
.shift-cash-box{
  text-align:left;
  display:block;
}
.shift-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:4px 0;
  border-bottom:1px solid rgba(148,163,184,.18);
}
.shift-row span{color:#cbd5e1;font-weight:800}
.shift-row b,.shift-row strong{font-size:18px}
.shift-handover{
  margin-top:8px;
  border-top:2px solid rgba(34,197,94,.45);
  border-bottom:0;
  padding-top:10px;
}
.shift-float-input{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:10px 0;
  color:#fed7aa;
  font-weight:900;
}
.shift-float-input input{
  width:100%;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(251,146,60,.55);
  background:#0f172a;
  color:#fff;
  font-size:18px;
  font-weight:900;
  padding:10px 12px;
}

/* v47 targeted UI only: bigger room tiles, clearer booking/multi-day, extension modal */
.pos-v7 .pos-layout-v5{
  grid-template-columns:255px minmax(520px,1fr) 390px!important;
}
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(2,minmax(108px,1fr))!important;
  gap:12px!important;
}
.pos-v7 .room-btn-v5{
  height:104px!important;
  padding:8px 10px!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:clamp(24px,2.4vw,34px)!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:13px!important;
  max-width:100%;
  white-space:normal;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:12px!important;
  max-width:100%;
}
.pos-v7 .room-stay-badge{
  display:inline-block;
  margin-top:2px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(15,23,42,.14);
  color:inherit;
  font-style:normal;
  font-size:10px;
  font-weight:900;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pos-v7 .product-card.booking-card,
.pos-v6 .booking-card{
  grid-column:span 2!important;
  min-height:132px!important;
}
.pos-v7 .product-card.booking-card .booking-subline,
.pos-v6 .booking-card .booking-subline{
  display:block;
  margin-top:6px;
  font-size:13px;
  font-weight:900;
  color:#7c2d12;
}
.order-line small small{
  color:inherit;
  font-size:11px;
}
@media(max-width:1320px){
  .pos-v7 .pos-layout-v5{grid-template-columns:245px minmax(470px,1fr) 375px!important}
  .pos-v7 .room-btn-v5{height:98px!important}
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{grid-template-columns:1fr!important}
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pos-v7 .product-card.booking-card,.pos-v6 .booking-card{grid-column:span 1!important}
}
@media(max-width:640px){
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v48 targeted layout: more useful space for room boxes, less empty center */
.pos-v7 .pos-layout-v5{
  grid-template-columns:420px minmax(420px,1fr) 390px!important;
}
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3,minmax(120px,1fr))!important;
  gap:10px!important;
}
.pos-v7 .room-btn-v5{
  height:92px!important;
  padding:8px 8px!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:clamp(24px,2.0vw,32px)!important;
  line-height:1!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:12px!important;
  line-height:1.05!important;
  max-width:100%!important;
  white-space:normal!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:11px!important;
  line-height:1.05!important;
  max-width:100%!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.pos-v7 .room-stay-badge{
  font-size:9px!important;
  padding:1px 5px!important;
}
.pos-v7 .product-grid-v5{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;
}
@media(max-width:1320px){
  .pos-v7 .pos-layout-v5{grid-template-columns:360px minmax(390px,1fr) 375px!important}
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,minmax(105px,1fr))!important}
  .pos-v7 .room-btn-v5{height:86px!important}
}
@media(max-width:1100px){
  .pos-v7 .pos-layout-v5{grid-template-columns:310px minmax(360px,1fr) 360px!important}
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(2,minmax(130px,1fr))!important}
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{grid-template-columns:1fr!important}
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}


/* v49 UI size only: wider room panel, taller room/product cards */
.pos-v7 .pos-layout-v5{
  grid-template-columns:500px minmax(420px,1fr) 390px!important;
  gap:8px!important;
}
.pos-v7 .rooms-panel-v5{
  padding:8px!important;
}
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3,minmax(140px,1fr))!important;
  gap:12px!important;
  padding-right:6px!important;
}
.pos-v7 .room-btn-v5{
  min-height:112px!important;
  height:112px!important;
  padding:10px 9px!important;
  border-radius:14px!important;
  justify-content:center!important;
  overflow:visible!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:clamp(28px,2.15vw,38px)!important;
  line-height:.95!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:13px!important;
  line-height:1.08!important;
  max-width:100%!important;
  white-space:normal!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:12px!important;
  line-height:1.08!important;
  max-width:100%!important;
  white-space:normal!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
.pos-v7 .room-stay-badge{
  font-size:10px!important;
  padding:2px 6px!important;
}

.pos-v7 .category-tabs{
  gap:8px!important;
  margin-bottom:10px!important;
}
.pos-v7 .cat-tab{
  min-height:56px!important;
  font-size:15px!important;
  border-radius:12px!important;
}
.pos-v7 .product-grid-v5{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;
  grid-auto-rows:104px!important;
  gap:12px!important;
  padding:8px!important;
}
.pos-v7 .product-card{
  border-radius:14px!important;
  padding:14px 12px 12px!important;
  overflow:hidden!important;
}
.pos-v7 .product-name{
  font-size:17px!important;
  line-height:1.14!important;
  padding-right:8px!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.pos-v7 .price-badge{
  right:9px!important;
  bottom:8px!important;
  min-width:74px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:14px!important;
}
.pos-v7 .product-card.booking-card,
.pos-v6 .booking-card{
  grid-column:span 2!important;
  min-height:150px!important;
}

@media(max-width:1600px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:460px minmax(390px,1fr) 380px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(128px,1fr))!important;
  }
  .pos-v7 .room-btn-v5{
    min-height:106px!important;
    height:106px!important;
  }
}
@media(max-width:1320px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:400px minmax(360px,1fr) 365px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(112px,1fr))!important;
    gap:10px!important;
  }
  .pos-v7 .room-btn-v5{
    min-height:100px!important;
    height:100px!important;
  }
  .pos-v7 .product-grid-v5{
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr))!important;
    grid-auto-rows:98px!important;
  }
}
@media(max-width:1100px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:340px minmax(340px,1fr) 350px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(140px,1fr))!important;
  }
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{grid-template-columns:1fr!important}
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pos-v7 .product-card.booking-card,.pos-v6 .booking-card{grid-column:span 1!important}
}
@media(max-width:640px){
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v50 targeted: wider room boxes, better apartment labels, extension name locked */
.pos-v7 .pos-layout-v5{
  grid-template-columns:570px minmax(390px,1fr) 390px!important;
  gap:8px!important;
}
.pos-v7 .rooms-panel-v5{
  padding:10px!important;
}
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3,minmax(158px,1fr))!important;
  gap:12px!important;
  padding-right:8px!important;
}
.pos-v7 .room-btn-v5{
  min-height:128px!important;
  height:128px!important;
  padding:12px 10px!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:clamp(30px,2.1vw,40px)!important;
  line-height:.95!important;
  overflow-wrap:anywhere!important;
}
.pos-v7 .room-btn-v5.room-long .room-number,
.pos-v7 .room-btn-v5.room-very-long .room-number{
  font-size:clamp(24px,1.6vw,30px)!important;
  line-height:1.02!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:13px!important;
  line-height:1.12!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:12px!important;
  line-height:1.12!important;
  max-width:100%!important;
  white-space:normal!important;
  display:block!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
}
.pos-v7 .room-stay-badge{
  font-size:10px!important;
  padding:2px 7px!important;
  max-width:100%!important;
}

.pos-v7 .category-tabs{
  gap:9px!important;
  margin-bottom:10px!important;
}
.pos-v7 .cat-tab{
  min-height:58px!important;
  font-size:15px!important;
  border-radius:12px!important;
}
.pos-v7 .product-grid-v5{
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important;
  grid-auto-rows:112px!important;
  gap:12px!important;
  padding:9px!important;
}
.pos-v7 .product-card{
  border-radius:14px!important;
  padding:14px 12px 12px!important;
}
.pos-v7 .product-name{
  font-size:17px!important;
  line-height:1.15!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.pos-v7 .price-badge{
  right:10px!important;
  bottom:8px!important;
  min-width:78px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:14px!important;
}
.pos-v7 .product-card.booking-card,
.pos-v6 .booking-card{
  grid-column:span 2!important;
  min-height:160px!important;
}
.locked-field{
  background:#eef6ff;
  border:1px solid #bfdbfe;
  border-radius:12px;
  padding:10px 12px;
  color:#0f172a;
  margin:8px 0;
}
.locked-field span{
  display:block;
  color:#64748b;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
}
.locked-field b{
  display:block;
  font-size:18px;
  margin-top:2px;
}
.locked-field small{
  display:block;
  color:#475569;
  margin-top:3px;
}

@media(max-width:1700px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:530px minmax(380px,1fr) 380px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(145px,1fr))!important;
  }
}
@media(max-width:1450px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:470px minmax(360px,1fr) 365px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(128px,1fr))!important;
    gap:10px!important;
  }
  .pos-v7 .room-btn-v5{
    min-height:116px!important;
    height:116px!important;
  }
}
@media(max-width:1200px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:380px minmax(340px,1fr) 350px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(165px,1fr))!important;
  }
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{grid-template-columns:1fr!important}
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .pos-v7 .product-card.booking-card,.pos-v6 .booking-card{grid-column:span 1!important}
}
@media(max-width:640px){
  .pos-v7 .rooms-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v51 targeted POS right panel: show total + unpaid, and make item list taller */
.pos-v7 .total-box{
  padding:10px 12px!important;
  align-items:center!important;
  gap:10px!important;
}
.pos-v7 .total-box > span{
  font-size:20px!important;
  font-weight:900!important;
}
.pos-v7 #orderTotal{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  line-height:1.05!important;
}
.pos-v7 #orderTotal .order-total-all{
  font-size:22px!important;
  font-weight:950!important;
  color:#fff!important;
}
.pos-v7 #orderTotal .order-total-unpaid{
  margin-top:4px!important;
  font-size:14px!important;
  font-weight:900!important;
  color:#ffedd5!important;
}
.pos-v7 .order-panel-v5 .order-items{
  flex:1 1 360px!important;
  min-height:330px!important;
  margin:6px 0!important;
}
.pos-v7 .order-panel-v5 .order-line{
  padding:6px 5px!important;
  grid-template-columns:1fr 42px 76px 58px!important;
  gap:5px!important;
  font-size:13px!important;
}
.pos-v7 .order-panel-v5 .order-line small{
  font-size:11px!important;
  line-height:1.12!important;
}
.pos-v7 .room-meta-v7{
  gap:6px!important;
  margin:6px 0!important;
}
.pos-v7 .room-meta-v7 div{
  padding:7px 8px!important;
  border-radius:10px!important;
}
.pos-v7 .room-meta-v7 span{
  font-size:11px!important;
}
.pos-v7 .room-meta-v7 b{
  font-size:12px!important;
  margin-top:2px!important;
}
.pos-v7 .invoice-note-box{
  padding:8px 10px!important;
  margin:6px 0!important;
}
.pos-v7 .order-panel-v5 .btn{
  padding:8px 10px!important;
}
.pos-v7 .order-panel-v5 .warning-note{
  padding:6px 8px!important;
  margin-top:5px!important;
  font-size:11px!important;
}
@media(max-height:850px){
  .pos-v7 .order-panel-v5 .order-items{
    flex-basis:300px!important;
    min-height:280px!important;
  }
  .pos-v7 .order-panel-v5 .btn{
    padding:7px 9px!important;
  }
}


/* v52 patch: simpler extend-stay payment choices */
.extend-payment-row{
  grid-template-columns:1fr 1fr 1fr!important;
}
@media(max-width:640px){
  .extend-payment-row{grid-template-columns:1fr!important;}
}


/* v53 extend stay hardening */
.extend-current-box{
  background:#0f172a;
  border:1px solid #60a5fa;
  border-radius:10px;
  color:#e5e7eb;
  padding:10px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:8px 0 12px;
}
.extend-current-box span{
  color:#bfdbfe;
  font-weight:900;
}
.extend-current-box b{
  color:#fff;
  font-size:18px;
}
button:disabled,
.btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none!important;
}


/* v54 settlement / keep open workflow */
.three-actions{
  grid-template-columns:1fr 1fr 1fr!important;
}
.bank-btn{
  background:linear-gradient(#dbeafe,#93c5fd,#3b82f6)!important;
  color:#06255a!important;
  border:1px solid #60a5fa!important;
}
@media(max-width:720px){
  .three-actions{
    grid-template-columns:1fr!important;
  }
}


/* v55 future checkout stays open */
.three-actions{
  grid-template-columns:1fr 1fr 1fr!important;
}
.bank-btn{
  background:linear-gradient(#dbeafe,#93c5fd,#3b82f6)!important;
  color:#06255a!important;
  border:1px solid #60a5fa!important;
}
@media(max-width:720px){
  .three-actions{
    grid-template-columns:1fr!important;
  }
}


/* v56 carry open debts across shifts */
.shift-warning{
  color:#dc2626;
  font-weight:900;
  min-height:18px;
  margin:-4px 0 6px;
}
button:disabled,
.btn:disabled{
  opacity:.55;
  cursor:not-allowed;
  transform:none!important;
}


/* v57 client plate search */
.client-search-form input{
  width:100%;
}
.search-row{
  display:grid;
  grid-template-columns:1fr 180px;
  gap:10px;
  align-items:end;
}
@media(max-width:720px){
  .search-row{grid-template-columns:1fr}
}


/* v58 floor dividers / client info / clean date selects */
.room-floor-divider{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:10px;
  margin:8px 0 2px;
  color:#0f172a;
  font-weight:1000;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-size:12px;
}
.room-floor-divider::after{
  content:"";
  height:1px;
  background:rgba(15,23,42,.18);
  flex:1;
}
.room-btn-v5.room-bar{
  border:2px solid #111827!important;
  background:linear-gradient(#fff7ed,#fed7aa)!important;
}
.client-mini-form{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:10px;
  display:grid;
  gap:8px;
}
.client-mini-title{
  font-size:12px;
  font-weight:1000;
  color:#334155;
  text-transform:uppercase;
}
.client-mini-form input,
.booking-form select{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:10px 12px;
  font-weight:800;
  background:#fff;
}
.booking-form select{
  cursor:pointer;
}


/* v59 Bari item-level customer */
.item-taken-by{
  display:inline-block;
  margin-top:2px;
  font-size:12px;
  font-weight:900;
  color:#0f172a;
  background:#e0f2fe;
  border:1px solid #7dd3fc;
  border-radius:8px;
  padding:2px 6px;
}
.client-mini-form.bari-required{
  border-color:#f97316;
  background:#fff7ed;
}
.client-mini-form.bari-required .client-mini-title{
  color:#9a3412;
}
.client-mini-form.bari-required input#itemTakenBy{
  border-color:#fb923c;
  background:#fff;
}


/* v60 room status colors: free mint, paid blue, unpaid amber */
.pos-v7 .room-btn-v5{
  background:#E8F5E9!important;
  border:2px solid #2E7D32!important;
  color:#1B5E20!important;
  box-shadow:0 2px 0 rgba(46,125,50,.22)!important;
}
.pos-v7 .room-btn-v5 .room-number,
.pos-v7 .room-btn-v5 .room-status,
.pos-v7 .room-btn-v5 .room-extra,
.pos-v7 .room-btn-v5 .room-stay-badge{
  color:#1B5E20!important;
}
.pos-v7 .room-btn-v5.occupied-paid{
  background:#E3F2FD!important;
  border-color:#1976D2!important;
  color:#0D47A1!important;
  box-shadow:0 2px 0 rgba(25,118,210,.22)!important;
}
.pos-v7 .room-btn-v5.occupied-paid .room-number,
.pos-v7 .room-btn-v5.occupied-paid .room-status,
.pos-v7 .room-btn-v5.occupied-paid .room-extra,
.pos-v7 .room-btn-v5.occupied-paid .room-stay-badge{
  color:#0D47A1!important;
}
.pos-v7 .room-btn-v5.occupied-unpaid{
  background:#FFF3E0!important;
  border-color:#F57C00!important;
  color:#7A3E00!important;
  box-shadow:0 2px 0 rgba(245,124,0,.24)!important;
}
.pos-v7 .room-btn-v5.occupied-unpaid .room-number,
.pos-v7 .room-btn-v5.occupied-unpaid .room-status,
.pos-v7 .room-btn-v5.occupied-unpaid .room-extra,
.pos-v7 .room-btn-v5.occupied-unpaid .room-stay-badge{
  color:#7A3E00!important;
}
.pos-v7 .room-btn-v5.selected{
  outline:3px solid #7C3AED!important;
  outline-offset:2px!important;
}
.pos-v7 .room-btn-v5.selected::after{
  background:#7C3AED!important;
  color:#fff!important;
  border:2px solid #fff!important;
}
.pos-v7 .dot.free{background:#2E7D32!important}
.pos-v7 .dot.paid{background:#1976D2!important}
.pos-v7 .dot.unpaid{background:#F57C00!important}
.pos-v7 .room-stay-badge{
  background:rgba(255,255,255,.72)!important;
  border:1px solid currentColor!important;
  font-weight:1000!important;
}


/* v61 stronger status colors and selected check stays inside the box */
.pos-v7 .room-btn-v5{
  position:relative!important;
  overflow:hidden!important;
  background:#C8E6C9!important;
  border:2px solid #1B5E20!important;
  color:#0B3D13!important;
  box-shadow:0 3px 0 rgba(27,94,32,.35)!important;
}
.pos-v7 .room-btn-v5 .room-number,
.pos-v7 .room-btn-v5 .room-status,
.pos-v7 .room-btn-v5 .room-extra,
.pos-v7 .room-btn-v5 .room-stay-badge{
  color:#0B3D13!important;
}
.pos-v7 .room-btn-v5.occupied-paid{
  background:#BBDEFB!important;
  border-color:#0D47A1!important;
  color:#062B63!important;
  box-shadow:0 3px 0 rgba(13,71,161,.35)!important;
}
.pos-v7 .room-btn-v5.occupied-paid .room-number,
.pos-v7 .room-btn-v5.occupied-paid .room-status,
.pos-v7 .room-btn-v5.occupied-paid .room-extra,
.pos-v7 .room-btn-v5.occupied-paid .room-stay-badge{
  color:#062B63!important;
}
.pos-v7 .room-btn-v5.occupied-unpaid{
  background:#FFE0B2!important;
  border-color:#EF6C00!important;
  color:#5D2F00!important;
  box-shadow:0 3px 0 rgba(239,108,0,.38)!important;
}
.pos-v7 .room-btn-v5.occupied-unpaid .room-number,
.pos-v7 .room-btn-v5.occupied-unpaid .room-status,
.pos-v7 .room-btn-v5.occupied-unpaid .room-extra,
.pos-v7 .room-btn-v5.occupied-unpaid .room-stay-badge{
  color:#5D2F00!important;
}
.pos-v7 .room-btn-v5.selected{
  outline:3px solid #4C1D95!important;
  outline-offset:-3px!important;
}
.pos-v7 .room-btn-v5.selected::after{
  top:4px!important;
  right:4px!important;
  transform:none!important;
  width:18px!important;
  height:18px!important;
  line-height:16px!important;
  font-size:12px!important;
  background:#4C1D95!important;
  color:#fff!important;
  border:2px solid #fff!important;
  box-shadow:0 1px 4px rgba(0,0,0,.25)!important;
}
.pos-v7 .room-stay-badge{
  background:rgba(255,255,255,.82)!important;
  border:1px solid currentColor!important;
  font-weight:1000!important;
}


/* v62 client lock/admin edit */
.locked-client-box{
  background:#eef2ff;
  border-color:#93c5fd;
}
.inline-client-edit{
  display:grid;
  gap:6px;
  min-width:170px;
}
.inline-client-edit input{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:8px;
  padding:6px 8px;
  font-weight:800;
}
.locked-field{
  background:#f8fafc;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:8px 10px;
  display:grid;
  gap:3px;
}
.locked-field span{
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  color:#475569;
}
.locked-field b{
  font-size:15px;
  color:#0f172a;
}
.locked-field small{
  color:#64748b;
  font-size:11px;
}


/* v63 totals and 3-hour overtime warning */
.order-total-all,
.order-total-paid,
.order-total-unpaid{
  display:block;
  line-height:1.2;
}
.order-total-all{font-size:20px;font-weight:1000}
.order-total-paid{font-size:13px;font-weight:900;color:#0f766e}
.order-total-unpaid{font-size:13px;font-weight:1000;color:#7c2d12}
.room-btn-v5.overtime-room{
  border-color:#b91c1c!important;
  box-shadow:0 0 0 3px rgba(185,28,28,.18), 0 3px 0 rgba(185,28,28,.35)!important;
}
.room-btn-v5.overtime-room::before{
  content:"";
  position:absolute;
  top:6px;
  left:6px;
  width:12px;
  height:12px;
  background:#dc2626;
  border:2px solid #fff;
  border-radius:50%;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.room-overtime-badge{
  display:inline-block;
  margin-top:3px;
  padding:2px 6px;
  border-radius:999px;
  background:#fee2e2!important;
  border:1px solid #b91c1c!important;
  color:#7f1d1d!important;
  font-size:10px!important;
  font-weight:1000!important;
}
.room-overtime-meta{
  grid-column:1 / -1;
  background:#fee2e2!important;
  border:1px solid #dc2626!important;
  border-radius:10px;
  padding:8px 10px;
}
.room-overtime-meta span{
  color:#7f1d1d!important;
  font-weight:1000;
}
.room-overtime-meta b{
  color:#7f1d1d!important;
}
.room-overtime-meta small{
  display:block;
  color:#991b1b;
  font-size:11px;
}
.admin-table .overtime-cell{
  color:#7f1d1d;
  background:#fee2e2;
  font-weight:1000;
  border-radius:8px;
  padding:4px 6px;
  display:inline-block;
}
.stays-filter{
  display:grid;
  grid-template-columns:repeat(4, minmax(140px, 1fr));
  gap:10px;
  align-items:end;
}
.stays-filter input{
  width:100%;
}
.stays-items{
  max-width:320px;
  font-size:12px;
}
@media(max-width:900px){
  .stays-filter{grid-template-columns:1fr}
}


/* v64 room card information layout */
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(auto-fit,minmax(138px,1fr))!important;
  gap:8px!important;
  align-items:start!important;
}
.pos-v7 .room-btn-v5{
  min-height:104px!important;
  height:auto!important;
  padding:10px 7px 7px!important;
  justify-content:flex-start!important;
  gap:2px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:31px!important;
  line-height:1!important;
  margin-top:2px!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:11px!important;
  line-height:1.1!important;
  margin-top:2px!important;
  max-width:100%!important;
  white-space:normal!important;
}
.pos-v7 .room-btn-v5 .room-extra,
.pos-v7 .room-btn-v5 .room-open-time{
  display:block!important;
  max-width:100%!important;
  font-size:10px!important;
  line-height:1.1!important;
  font-style:normal!important;
  font-weight:900!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5 .room-open-time{
  opacity:.95;
}
.pos-v7 .room-btn-v5 .room-stay-badge{
  display:block!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.08!important;
  font-size:9.5px!important;
  padding:2px 4px!important;
  margin-top:2px!important;
  border-radius:8px!important;
}

/* v64: 3-hour warning is only a small sign, not a red room box */
.pos-v7 .room-btn-v5.overtime-room.occupied-paid{
  border-color:#0D47A1!important;
  box-shadow:0 3px 0 rgba(13,71,161,.35)!important;
}
.pos-v7 .room-btn-v5.overtime-room.occupied-unpaid{
  border-color:#EF6C00!important;
  box-shadow:0 3px 0 rgba(239,108,0,.38)!important;
}
.pos-v7 .room-btn-v5.overtime-room::before{
  display:none!important;
}
.pos-v7 .room-overtime-badge{
  position:absolute!important;
  top:5px!important;
  left:5px!important;
  margin:0!important;
  padding:2px 5px!important;
  min-width:32px!important;
  max-width:58px!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:1000!important;
  box-shadow:0 1px 4px rgba(0,0,0,.25)!important;
  z-index:2!important;
}


/* v65 stable room card size - all room boxes same size, no overlap */
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  grid-auto-rows:112px!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 8px 10px 0!important;
}
.pos-v7 .room-floor-divider{
  grid-column:1 / -1!important;
  align-self:end!important;
  height:24px!important;
  margin:8px 0 2px!important;
}
.pos-v7 .room-btn-v5{
  width:100%!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
  padding:8px 7px 6px!important;
  box-sizing:border-box!important;
  justify-content:flex-start!important;
  gap:2px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:30px!important;
  line-height:.95!important;
  margin:0!important;
  max-width:100%!important;
}
.pos-v7 .room-btn-v5 .room-status{
  display:block!important;
  font-size:10.5px!important;
  line-height:1.05!important;
  margin:1px 0 0!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  display:block!important;
  font-size:9.5px!important;
  line-height:1.05!important;
  max-width:100%!important;
  max-height:22px!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:break-word!important;
}
.pos-v7 .room-btn-v5 .room-open-time{
  display:block!important;
  font-size:9.5px!important;
  line-height:1.05!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5 .room-stay-badge{
  display:block!important;
  max-width:100%!important;
  font-size:8.8px!important;
  line-height:1.05!important;
  padding:2px 4px!important;
  margin-top:1px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  border-radius:7px!important;
}
.pos-v7 .room-overtime-badge{
  top:4px!important;
  left:4px!important;
  min-width:28px!important;
  max-width:52px!important;
  padding:2px 4px!important;
  font-size:8.5px!important;
}
.pos-v7 .room-btn-v5.selected::after{
  top:4px!important;
  right:4px!important;
  transform:none!important;
}


/* v66 compact floor spacing and larger fixed cards */
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3, minmax(138px, 1fr))!important;
  grid-auto-rows:auto!important;
  gap:8px!important;
  align-items:start!important;
  align-content:start!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 8px 10px 0!important;
}
.pos-v7 .room-floor-divider{
  grid-column:1 / -1!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;
  margin:6px 0 1px!important;
  align-self:start!important;
}
.pos-v7 .room-btn-v5{
  width:100%!important;
  height:122px!important;
  min-height:122px!important;
  max-height:122px!important;
  padding:9px 7px 7px!important;
  box-sizing:border-box!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:32px!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:10.8px!important;
}
.pos-v7 .room-btn-v5 .room-extra,
.pos-v7 .room-btn-v5 .room-open-time{
  font-size:9.8px!important;
}
.pos-v7 .room-btn-v5 .room-stay-badge{
  font-size:9px!important;
  max-width:96%!important;
}


/* v67 date fix, booking people fields, wider right panel, mobile POS */
.pos-v7 .pos-layout-v5{
  grid-template-columns:420px minmax(420px,1fr) 460px!important;
}
@media(max-width:1700px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:410px minmax(400px,1fr) 440px!important;
  }
}
@media(max-width:1450px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:360px minmax(360px,1fr) 410px!important;
  }
}
@media(max-width:1200px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:330px minmax(320px,1fr) 380px!important;
  }
}
.pos-v7 .order-panel-v5{
  min-width:0!important;
}
.pos-v7 .order-panel-v5 .order-line{
  grid-template-columns:minmax(0,1fr) 42px 86px 58px!important;
}
.people-grid{
  margin-top:8px!important;
}
.people-grid select{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:10px 12px;
  font-weight:900;
  background:#fff;
}

/* Phone / small tablet: stack panels cleanly */
@media(max-width:920px){
  body{overflow:auto!important}
  .pos-v5,.pos-v7{
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
    padding:6px!important;
  }
  .pos-v7 .pos-layout-v5{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    height:auto!important;
    overflow:visible!important;
  }
  .pos-v7 .rooms-panel-v5,
  .pos-v7 .products-panel-v5,
  .pos-v7 .order-panel-v5{
    max-height:none!important;
    overflow:visible!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .pos-v7 .product-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:86px!important;
    max-height:none!important;
  }
  .pos-v7 .category-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pos-v7 .options-grid-v5{
    grid-template-columns:1fr!important;
  }
  .pos-v7 .order-panel-v5{
    position:static!important;
  }
}
@media(max-width:560px){
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pos-v7 .room-btn-v5{
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
  }
  .pos-v7 .booking-grid,
  .pos-v7 .people-grid{
    grid-template-columns:1fr!important;
  }
  .modal-backdrop{
    align-items:flex-start!important;
    padding:8px!important;
    overflow:auto!important;
  }
  .modal-box{
    width:100%!important;
    max-height:none!important;
  }
}


/* v68 room panel fixed no clipping + admin edit */
.pos-v7 .pos-layout-v5{
  grid-template-columns:460px minmax(340px,1fr) 430px!important;
}
.pos-v7 .rooms-panel-v5{
  min-width:0!important;
  overflow:hidden!important;
}
.pos-v7 .rooms-grid-v5{
  width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:0 8px 10px 0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.pos-v7 .room-btn-v5{
  width:100%!important;
  min-width:0!important;
}
@media(max-width:1500px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:440px minmax(320px,1fr) 410px!important;
  }
}
@media(max-width:1280px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:360px minmax(300px,1fr) 380px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
.edit-items-table input,
.edit-items-table select{
  width:100%;
  min-width:80px;
  padding:6px 8px;
  border:1px solid #cbd5e1;
  border-radius:8px;
  font-weight:800;
}
.inline-void-form{
  display:flex;
  gap:8px;
  align-items:center;
}
.inline-void-form input{
  flex:1;
  padding:6px 8px;
  border:1px solid #cbd5e1;
  border-radius:8px;
}
.danger-zone{
  border:2px solid #dc2626!important;
  background:#fff5f5!important;
}
.voided-row{
  opacity:.65;
  text-decoration:line-through;
}


/* v69 wider room panel and clean overtime badge */
.pos-v7 .pos-layout-v5{
  grid-template-columns:520px minmax(300px,1fr) 420px!important;
}
@media(max-width:1700px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:500px minmax(300px,1fr) 410px!important;
  }
}
@media(max-width:1500px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:470px minmax(280px,1fr) 400px!important;
  }
}
@media(max-width:1280px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:390px minmax(270px,1fr) 370px!important;
  }
}
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
.pos-v7 .room-btn-v5{
  padding-top:12px!important;
}
.pos-v7 .room-btn-v5.overtime-room{
  padding-top:16px!important;
}
.pos-v7 .room-btn-v5.overtime-room .room-number{
  margin-top:2px!important;
}
.pos-v7 .room-overtime-badge{
  top:5px!important;
  left:5px!important;
  min-width:42px!important;
  max-width:64px!important;
  padding:2px 5px!important;
  font-size:8px!important;
  line-height:1!important;
  border-radius:999px!important;
  z-index:5!important;
}
.pos-v7 .room-btn-v5.overtime-room.selected::after{
  top:5px!important;
  right:5px!important;
}
.pos-v7 .room-overtime-meta b{
  font-size:13px!important;
}
.pos-v7 .room-overtime-meta small{
  font-size:12px!important;
  font-weight:800!important;
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* v70 right panel visible scroll at browser zoom 100%+ */
.pos-v7 .order-panel-v5{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:18px!important;
  scrollbar-width:auto!important;
  scrollbar-color:#2563eb #e5e7eb!important;
  position:relative!important;
}
.pos-v7 .order-panel-v5::-webkit-scrollbar{
  width:13px!important;
}
.pos-v7 .order-panel-v5::-webkit-scrollbar-track{
  background:#e5e7eb!important;
  border-radius:12px!important;
}
.pos-v7 .order-panel-v5::-webkit-scrollbar-thumb{
  background:#2563eb!important;
  border:3px solid #e5e7eb!important;
  border-radius:12px!important;
}
.pos-v7 .order-panel-v5::after{
  content:"↕ Scroll";
  position:sticky;
  bottom:0;
  display:block;
  margin:6px auto 0;
  width:max-content;
  padding:3px 10px;
  border-radius:999px;
  background:rgba(37,99,235,.12);
  border:1px solid rgba(37,99,235,.35);
  color:#1e3a8a;
  font-size:11px;
  font-weight:1000;
  pointer-events:none;
}
.pos-v7 .order-panel-v5 .order-items{
  flex:0 0 auto!important;
  min-height:240px!important;
  max-height:none!important;
}
.pos-v7 .order-panel-v5 .pay-row,
.pos-v7 .order-panel-v5 .warning-note{
  flex:0 0 auto!important;
}
.pos-v7 .order-panel-v5 .btn{
  flex:0 0 auto!important;
}
@media(max-height:820px){
  .pos-v7 .order-panel-v5 .order-items{
    min-height:180px!important;
  }
  .pos-v7 .room-meta-v7 div{
    padding:6px 7px!important;
  }
  .pos-v7 .order-panel-v5 .btn{
    padding:7px 9px!important;
  }
}


/* v71 right panel normal layout + subtle scrollbar only */
.pos-v7 .order-panel-v5{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding-bottom:8px!important;
  scrollbar-width:auto!important;
  scrollbar-color:#94a3b8 #eef2f7!important;
}
.pos-v7 .order-panel-v5::-webkit-scrollbar{
  width:11px!important;
}
.pos-v7 .order-panel-v5::-webkit-scrollbar-track{
  background:#eef2f7!important;
  border-radius:12px!important;
}
.pos-v7 .order-panel-v5::-webkit-scrollbar-thumb{
  background:#94a3b8!important;
  border:2px solid #eef2f7!important;
  border-radius:12px!important;
}
.pos-v7 .order-panel-v5::after{
  content:none!important;
  display:none!important;
}
.pos-v7 .order-panel-v5 .order-items{
  flex:1 1 auto!important;
  min-height:260px!important;
  max-height:none!important;
}
.pos-v7 .order-panel-v5 .pay-row,
.pos-v7 .order-panel-v5 .warning-note,
.pos-v7 .order-panel-v5 .btn{
  flex:0 0 auto!important;
}
@media(max-height:850px){
  .pos-v7 .order-panel-v5 .order-items{
    min-height:220px!important;
  }
}
@media(max-height:760px){
  .pos-v7 .order-panel-v5 .order-items{
    min-height:170px!important;
  }
}


/* v72 long stay + mobile product cards + clean 3h badge */
.pos-v7 .room-legend{
  flex-wrap:wrap!important;
  gap:8px 12px!important;
}
.pos-v7 .room-legend .dot.longstay{
  background:#7c3aed!important;
  border:2px solid #ede9fe!important;
}
.pos-v7 .room-btn-v5.long-stay-room{
  box-shadow:inset 0 0 0 3px rgba(124,58,237,.30), 0 3px 0 rgba(76,29,149,.35)!important;
}
.pos-v7 .room-btn-v5.long-stay-room::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:5px;
  background:linear-gradient(90deg,#7c3aed,#2563eb);
  z-index:1;
}
.pos-v7 .room-longstay-badge{
  position:absolute!important;
  right:5px!important;
  bottom:5px!important;
  max-width:58px!important;
  padding:2px 5px!important;
  border-radius:999px!important;
  background:#ede9fe!important;
  color:#4c1d95!important;
  border:1px solid #7c3aed!important;
  font-size:8.5px!important;
  line-height:1!important;
  font-weight:1000!important;
  z-index:4!important;
}
.pos-v7 .room-overtime-badge{
  top:6px!important;
  left:6px!important;
  min-width:24px!important;
  max-width:30px!important;
  height:15px!important;
  padding:1px 4px!important;
  font-size:7.2px!important;
  line-height:12px!important;
  text-align:center!important;
  border-radius:999px!important;
  z-index:6!important;
}
.pos-v7 .room-btn-v5.overtime-room{
  padding-top:14px!important;
}
.pos-v7 .room-btn-v5.overtime-room .room-number{
  margin-top:5px!important;
}

/* Mobile: prevent product cards overlapping on phone */
@media(max-width:920px){
  .pos-v7 .product-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:152px!important;
    gap:14px!important;
    overflow:visible!important;
    align-content:start!important;
  }
  .pos-v7 .product-card{
    min-height:152px!important;
    height:152px!important;
    padding:18px 12px 40px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .pos-v7 .product-card .product-name{
    font-size:20px!important;
    line-height:1.12!important;
  }
  .pos-v7 .product-card .price-badge{
    bottom:12px!important;
    right:12px!important;
    font-size:17px!important;
    min-width:86px!important;
    border-radius:18px!important;
  }
  .pos-v7 .product-card .service-tag{
    top:8px!important;
    left:8px!important;
    font-size:10px!important;
  }
}
@media(max-width:560px){
  .pos-v7 .product-grid-v5{
    grid-auto-rows:146px!important;
    gap:12px!important;
  }
  .pos-v7 .product-card{
    height:146px!important;
    min-height:146px!important;
  }
}


/* v73 wider room panel, exact 3h badge, stay progress only as small badge */
.pos-v7 .pos-layout-v5{
  grid-template-columns:560px minmax(260px,1fr) 420px!important;
}
@media(max-width:1700px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:540px minmax(260px,1fr) 410px!important;
  }
}
@media(max-width:1500px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:500px minmax(250px,1fr) 400px!important;
  }
}
@media(max-width:1280px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:410px minmax(250px,1fr) 370px!important;
  }
}
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.pos-v7 .room-btn-v5{
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  padding:18px 8px 24px!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:33px!important;
  line-height:.92!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:11px!important;
}
.pos-v7 .room-btn-v5 .room-extra,
.pos-v7 .room-btn-v5 .room-open-time{
  font-size:10px!important;
}
.pos-v7 .room-btn-v5 .room-stay-badge{
  font-size:9px!important;
}

/* override v72: no purple border/whole-card effect for long stay */
.pos-v7 .room-btn-v5.long-stay-room{
  box-shadow:0 3px 0 rgba(13,71,161,.35)!important;
}
.pos-v7 .room-btn-v5.long-stay-room::after{
  content:none!important;
  display:none!important;
}
.pos-v7 .room-longstay-badge{
  position:absolute!important;
  left:7px!important;
  right:7px!important;
  bottom:5px!important;
  max-width:none!important;
  padding:2px 5px!important;
  border-radius:8px!important;
  background:#ede9fe!important;
  color:#4c1d95!important;
  border:1px solid #7c3aed!important;
  font-size:8.5px!important;
  line-height:1!important;
  font-weight:1000!important;
  z-index:4!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* exact 3h badge: above number, not on top of room number */
.pos-v7 .room-btn-v5.overtime-room{
  padding-top:24px!important;
}
.pos-v7 .room-overtime-badge{
  position:absolute!important;
  top:4px!important;
  left:6px!important;
  min-width:48px!important;
  max-width:68px!important;
  height:17px!important;
  padding:2px 5px!important;
  font-size:8px!important;
  line-height:12px!important;
  text-align:center!important;
  border-radius:999px!important;
  z-index:6!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.overtime-room .room-number{
  margin-top:2px!important;
}

/* if screen is narrower, use 2 columns instead of cutting */
@media(max-width:1280px){
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* v74 taller room cards no text cutting */
.pos-v7 .pos-layout-v5{
  grid-template-columns:580px minmax(250px,1fr) 420px!important;
}
@media(max-width:1700px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:560px minmax(250px,1fr) 410px!important;
  }
}
@media(max-width:1500px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:520px minmax(240px,1fr) 400px!important;
  }
}
.pos-v7 .rooms-grid-v5{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:11px!important;
}
.pos-v7 .room-btn-v5{
  height:168px!important;
  min-height:168px!important;
  max-height:168px!important;
  padding:26px 10px 30px!important;
  justify-content:flex-start!important;
  gap:3px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:34px!important;
  line-height:.95!important;
  margin:0!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:11.2px!important;
  line-height:1.12!important;
  margin:1px 0 0!important;
  white-space:normal!important;
  max-height:26px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:10px!important;
  line-height:1.12!important;
  max-height:24px!important;
  margin-top:1px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-open-time{
  font-size:10px!important;
  line-height:1.12!important;
  max-height:13px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-stay-badge{
  font-size:9.2px!important;
  line-height:1.05!important;
  padding:2px 5px!important;
  max-width:98%!important;
  margin-top:2px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-overtime-badge{
  top:6px!important;
  left:7px!important;
  min-width:56px!important;
  max-width:76px!important;
  height:18px!important;
  padding:2px 5px!important;
  font-size:8.4px!important;
  line-height:13px!important;
  text-align:center!important;
}
.pos-v7 .room-btn-v5.overtime-room{
  padding-top:28px!important;
}
.pos-v7 .room-btn-v5.overtime-room .room-number{
  margin-top:0!important;
}
.pos-v7 .room-longstay-badge{
  left:9px!important;
  right:9px!important;
  bottom:7px!important;
  padding:3px 6px!important;
  font-size:9px!important;
  line-height:1.05!important;
  max-height:18px!important;
}

/* Free rooms can use centered look inside the same card size */
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid){
  justify-content:center!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
}
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid) .room-number{
  font-size:36px!important;
}

/* Medium screens: keep 3 columns while possible, otherwise use 2 clean columns */
@media(max-width:1320px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:440px minmax(240px,1fr) 380px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pos-v7 .room-btn-v5{
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
  }
}


/* v75 checkout overdue critical + visible targa */
.pos-v7 .pos-layout-v5{
  grid-template-columns:600px minmax(240px,1fr) 420px!important;
}
@media(max-width:1700px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:580px minmax(240px,1fr) 410px!important;
  }
}
@media(max-width:1500px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:540px minmax(230px,1fr) 400px!important;
  }
}
.pos-v7 .room-btn-v5{
  height:188px!important;
  min-height:188px!important;
  max-height:188px!important;
  padding:27px 10px 42px!important;
}
.pos-v7 .room-btn-v5 .room-status{
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  max-height:14px!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:9.7px!important;
  max-height:22px!important;
}
.pos-v7 .room-plate-line{
  display:block!important;
  max-width:96%!important;
  font-size:9.5px!important;
  line-height:1.08!important;
  font-style:normal!important;
  font-weight:1000!important;
  color:#0D47A1!important;
  background:rgba(255,255,255,.42)!important;
  border:1px solid rgba(13,71,161,.18)!important;
  border-radius:7px!important;
  padding:1px 4px!important;
  margin-top:1px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.occupied-unpaid .room-plate-line{
  color:#7A3E00!important;
  border-color:rgba(122,62,0,.18)!important;
}
.pos-v7 .room-checkout-alert{
  position:absolute!important;
  left:9px!important;
  right:9px!important;
  bottom:25px!important;
  z-index:5!important;
  display:block!important;
  padding:2px 5px!important;
  border-radius:8px!important;
  font-size:8.7px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-checkout-alert.overdue{
  background:#fee2e2!important;
  color:#7f1d1d!important;
  border:1px solid #dc2626!important;
}
.pos-v7 .room-checkout-alert.today{
  background:#fff7ed!important;
  color:#9a3412!important;
  border:1px solid #f97316!important;
}
.pos-v7 .room-btn-v5.checkout-overdue-room{
  background:#FEE2E2!important;
  border-color:#DC2626!important;
  color:#7F1D1D!important;
  box-shadow:0 3px 0 rgba(127,29,29,.35)!important;
}
.pos-v7 .room-btn-v5.checkout-overdue-room .room-number,
.pos-v7 .room-btn-v5.checkout-overdue-room .room-status,
.pos-v7 .room-btn-v5.checkout-overdue-room .room-extra,
.pos-v7 .room-btn-v5.checkout-overdue-room .room-open-time,
.pos-v7 .room-btn-v5.checkout-overdue-room .room-stay-badge{
  color:#7F1D1D!important;
}
.pos-v7 .room-btn-v5.checkout-today-room{
  border-style:dashed!important;
}
.pos-v7 .room-overtime-badge{
  top:6px!important;
  left:7px!important;
  min-width:56px!important;
  max-width:76px!important;
  height:18px!important;
  font-size:8.3px!important;
}
.pos-v7 .room-longstay-badge{
  bottom:6px!important;
  left:9px!important;
  right:9px!important;
  font-size:8.8px!important;
}
.pos-v7 .modal-table tr.critical-row td{
  background:#fee2e2!important;
  color:#7f1d1d!important;
  font-weight:900!important;
}
@media(max-width:1320px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:460px minmax(230px,1fr) 380px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* v76 final room time and right panel duration */
.pos-v7 .pos-layout-v5{
  grid-template-columns:590px minmax(240px,1fr) 430px!important;
}
@media(max-width:1700px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:570px minmax(240px,1fr) 420px!important;
  }
}
@media(max-width:1500px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:530px minmax(230px,1fr) 405px!important;
  }
}
.pos-v7 .room-btn-v5{
  height:178px!important;
  min-height:178px!important;
  max-height:178px!important;
  padding:30px 10px 31px!important;
}
.pos-v7 .room-overtime-badge{
  top:6px!important;
  left:8px!important;
  min-width:72px!important;
  max-width:96px!important;
  height:19px!important;
  padding:2px 7px!important;
  font-size:8.6px!important;
  line-height:14px!important;
  text-align:left!important;
  border-radius:999px!important;
}
.pos-v7 .room-btn-v5.overtime-room{
  padding-top:31px!important;
}
.pos-v7 .room-btn-v5.overtime-room .room-number{
  margin-top:0!important;
}
.pos-v7 .room-open-time{
  white-space:nowrap!important;
  max-height:14px!important;
}
.pos-v7 .room-longstay-badge{
  font-size:8.8px!important;
}
.pos-v7 .room-meta-v7{
  grid-template-columns:1fr 1fr!important;
}
@media(max-width:1320px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:450px minmax(230px,1fr) 385px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:920px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* v77 hide plate in room box and deeper cards */
.pos-v7 .room-plate-line{
  display:none!important;
}
.pos-v7 .room-btn-v5{
  height:198px!important;
  min-height:198px!important;
  max-height:198px!important;
  padding:32px 10px 36px!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:36px!important;
  line-height:.95!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:11.2px!important;
  line-height:1.12!important;
  max-height:28px!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:10.2px!important;
  line-height:1.15!important;
  max-height:26px!important;
}
.pos-v7 .room-open-time{
  font-size:10px!important;
  line-height:1.12!important;
  max-height:15px!important;
}
.pos-v7 .room-stay-badge{
  font-size:9px!important;
  max-height:17px!important;
}
.pos-v7 .room-overtime-badge{
  top:6px!important;
  left:8px!important;
  min-width:78px!important;
  max-width:102px!important;
}
.pos-v7 .room-longstay-badge{
  left:10px!important;
  right:10px!important;
  bottom:8px!important;
  max-height:20px!important;
}
.pos-v7 .room-checkout-alert{
  bottom:31px!important;
  left:10px!important;
  right:10px!important;
  max-height:18px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:560px){
  .pos-v7 .room-btn-v5{
    height:170px!important;
    min-height:170px!important;
    max-height:170px!important;
  }
}


/* v78 duration days, append-only notes, clearer total box */
.existing-note-box{
  background:#fff7ed;
  border:1px solid #fdba74;
  border-radius:12px;
  padding:10px 12px;
  display:grid;
  gap:5px;
}
.existing-note-box span{
  font-size:12px;
  font-weight:1000;
  color:#9a3412;
  text-transform:uppercase;
}
.existing-note-box b{
  color:#7c2d12;
  font-size:14px;
  line-height:1.35;
  white-space:normal;
}
.pos-v7 .total-box-v78{
  display:grid!important;
  grid-template-columns:minmax(120px,1fr) minmax(120px,1fr)!important;
  align-items:stretch!important;
  gap:8px!important;
  padding:10px!important;
}
.pos-v7 .total-main{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  border-radius:12px;
  padding:8px 10px;
  display:grid;
  align-content:center;
  gap:2px;
}
.pos-v7 .total-main span{
  color:#d1fae5;
  font-size:13px!important;
  font-weight:1000!important;
}
.pos-v7 .total-main b{
  color:#fff;
  font-size:24px!important;
  line-height:1.05;
  font-weight:1000!important;
}
.pos-v7 .total-breakdown{
  display:grid!important;
  grid-template-rows:1fr 1fr;
  gap:5px!important;
  align-items:stretch!important;
  line-height:1.1!important;
}
.pos-v7 .total-breakdown span{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  border-radius:10px;
  padding:5px 8px!important;
  font-size:12.5px!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
.pos-v7 .total-breakdown .order-total-paid{
  background:#d1fae5!important;
  color:#065f46!important;
}
.pos-v7 .total-breakdown .order-total-unpaid{
  background:#ffedd5!important;
  color:#7c2d12!important;
}
/* Purple badge only for true multi-night check-out stays; no "Nga dje" for hourly/no-checkout rooms */
.pos-v7 .room-longstay-badge{
  background:#f5f3ff!important;
  color:#4c1d95!important;
  border-color:#7c3aed!important;
}


/* v79 total box contrast and xhiro order */
.pos-v7 .total-box{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) auto!important;
  grid-template-areas:"label total" "paid unpaid"!important;
  align-items:center!important;
  gap:7px 10px!important;
  padding:10px 12px!important;
  background:#0f766e!important;
  color:#fff!important;
}
.pos-v7 .total-box > span{grid-area:label!important;color:#fff!important;font-size:19px!important;font-weight:1000!important;opacity:1!important;}
.pos-v7 .total-box strong{grid-area:total!important;text-align:right!important;color:#fff!important;font-size:22px!important;font-weight:1000!important;line-height:1.1!important;}
.pos-v7 .total-box .order-total-all{display:block!important;color:#fff!important;font-size:22px!important;font-weight:1000!important;line-height:1.1!important;}
.pos-v7 .total-box .order-total-paid{grid-area:paid!important;justify-self:start!important;display:inline-block!important;background:rgba(255,255,255,.14)!important;color:#e6fffb!important;border:1px solid rgba(255,255,255,.30)!important;border-radius:10px!important;padding:4px 8px!important;font-size:12px!important;font-weight:1000!important;opacity:1!important;}
.pos-v7 .total-box .order-total-unpaid{grid-area:unpaid!important;justify-self:end!important;display:inline-block!important;background:#fff7ed!important;color:#7c2d12!important;border:1px solid #fdba74!important;border-radius:10px!important;padding:4px 8px!important;font-size:12px!important;font-weight:1000!important;opacity:1!important;}
.modal-table th:first-child,.modal-table td:first-child{white-space:nowrap!important;}
.modal-table td b{font-weight:1000!important;}


/* v80 invoice structure and visible unpaid total */
.pos-v7 .total-box-v78{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:10px 12px!important;
  background:#0f766e!important;
  color:#fff!important;
}
.pos-v7 .total-box-v78 .total-main{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(255,255,255,.25)!important;
  border-radius:10px!important;
  padding:8px 10px!important;
}
.pos-v7 .total-box-v78 .total-main span{
  color:#fff!important;
  font-weight:1000!important;
  opacity:1!important;
}
.pos-v7 .total-box-v78 .total-main b{
  color:#fff!important;
  font-size:24px!important;
  font-weight:1000!important;
}
.pos-v7 #orderTotal.total-breakdown{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
}
.pos-v7 #orderTotal.total-breakdown .order-total-paid{
  display:block!important;
  text-align:center!important;
  background:#dcfce7!important;
  color:#064e3b!important;
  border:1px solid #86efac!important;
  border-radius:10px!important;
  padding:6px 8px!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:1000!important;
  opacity:1!important;
  min-height:26px!important;
}
.pos-v7 #orderTotal.total-breakdown .order-total-unpaid{
  display:block!important;
  text-align:center!important;
  background:#ffedd5!important;
  color:#7c2d12!important;
  border:1px solid #fb923c!important;
  border-radius:10px!important;
  padding:6px 8px!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:1000!important;
  opacity:1!important;
  min-height:26px!important;
}
.invoice-summary-table th,
.invoice-summary-table td{
  font-size:12px!important;
}
.invoice-kpi-cards div span{
  font-size:11px!important;
}
.invoice-kpi-cards div b{
  font-size:18px!important;
}


/* v81 dhomat e mia unified folio logic + clearer totals */
.pos-v7 .total-box-v81{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  padding:10px!important;
  background:#0f766e!important;
  color:#fff!important;
  border-radius:12px!important;
}
.pos-v7 .total-box-v81 .total-main{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:center!important;
  gap:10px!important;
  background:rgba(255,255,255,.15)!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:10px!important;
  padding:8px 10px!important;
}
.pos-v7 .total-box-v81 .total-main span{
  color:#fff!important;
  font-size:14px!important;
  font-weight:1000!important;
}
.pos-v7 .total-box-v81 .total-main b{
  color:#fff!important;
  font-size:24px!important;
  font-weight:1000!important;
  line-height:1.05!important;
  text-align:right!important;
}
.pos-v7 #orderTotal.total-breakdown-v81{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
}
.pos-v7 #orderTotal.total-breakdown-v81 .order-total-paid,
.pos-v7 #orderTotal.total-breakdown-v81 .order-total-unpaid{
  display:block!important;
  text-align:center!important;
  border-radius:10px!important;
  padding:7px 8px!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  font-weight:1000!important;
  opacity:1!important;
  min-height:30px!important;
  white-space:normal!important;
}
.pos-v7 #orderTotal.total-breakdown-v81 .order-total-paid{
  background:#dcfce7!important;
  color:#064e3b!important;
  border:1px solid #86efac!important;
}
.pos-v7 #orderTotal.total-breakdown-v81 .order-total-unpaid{
  background:#ffedd5!important;
  color:#7c2d12!important;
  border:1px solid #fb923c!important;
}
.clean-invoice-table th,
.clean-invoice-table td{
  font-size:12px!important;
  vertical-align:top!important;
}
.clean-invoice-table td:nth-child(1),
.clean-invoice-table td:nth-child(2){
  white-space:nowrap!important;
}
.compact-kpis div span{font-size:11px!important}
.compact-kpis div b{font-size:17px!important;line-height:1.15!important}


/* v82 clean total box and wider modals */
.pos-v7 .total-box{
  display:grid!important;
  grid-template-columns:minmax(150px, 1.2fr) minmax(105px,.85fr) minmax(120px,.95fr)!important;
  grid-template-areas:"main paid unpaid"!important;
  gap:8px!important;
  align-items:stretch!important;
  padding:9px!important;
  background:#0f766e!important;
  color:#fff!important;
  border-radius:12px!important;
  min-height:78px!important;
  overflow:visible!important;
}
.pos-v7 .total-box .total-main,
.pos-v7 .total-box .total-paid,
.pos-v7 .total-box .total-unpaid{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border-radius:10px!important;
  padding:8px 10px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.pos-v7 .total-box .total-main{
  grid-area:main!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.25)!important;
}
.pos-v7 .total-box .total-paid{
  grid-area:paid!important;
  background:#dcfce7!important;
  border:1px solid #86efac!important;
  color:#14532d!important;
}
.pos-v7 .total-box .total-unpaid{
  grid-area:unpaid!important;
  background:#fff7ed!important;
  border:2px solid #fb923c!important;
  color:#7c2d12!important;
}
.pos-v7 .total-box span{
  display:block!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:inherit!important;
  white-space:nowrap!important;
  opacity:1!important;
}
.pos-v7 .total-box b{
  display:block!important;
  font-size:13px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  color:inherit!important;
  white-space:normal!important;
  word-break:break-word!important;
}
.pos-v7 .total-box .total-main b{
  font-size:21px!important;
  color:#fff!important;
}
.modal-box:has(.modal-table),
.modal-box:has(.invoice-room-table),
.modal-box:has(.my-rooms-table){
  width:min(1180px,96vw)!important;
  max-width:96vw!important;
}
.modal-table{table-layout:auto!important;width:100%!important;}
.modal-table th,.modal-table td{vertical-align:top!important;font-size:12px!important;line-height:1.22!important;}
.my-rooms-table th:nth-child(3),.my-rooms-table td:nth-child(3){min-width:170px!important;}
.my-rooms-table th:nth-last-child(1),.my-rooms-table td:nth-last-child(1),
.my-rooms-table th:nth-last-child(2),.my-rooms-table td:nth-last-child(2){min-width:92px!important;text-align:right!important;}
@media(max-width:900px){
  .pos-v7 .total-box{grid-template-columns:1fr!important;grid-template-areas:"main" "paid" "unpaid"!important;}
  .modal-box:has(.modal-table),.modal-box:has(.invoice-room-table),.modal-box:has(.my-rooms-table){width:98vw!important;}
  .modal-table{min-width:900px!important;}
}


/* v82 exact total-box-v82 override */
.pos-v7 .total-box-v82{
  display:grid!important;
  grid-template-columns:minmax(150px,1.15fr) minmax(95px,.8fr) minmax(115px,.9fr)!important;
  gap:8px!important;
  padding:9px!important;
  background:#0f766e!important;
  color:#fff!important;
  border-radius:12px!important;
  min-height:78px!important;
  overflow:visible!important;
}
.pos-v7 .total-box-v82 .total-main,
.pos-v7 .total-box-v82 .total-paid,
.pos-v7 .total-box-v82 .total-unpaid{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border-radius:10px!important;
  padding:8px 10px!important;
  min-width:0!important;
  overflow:hidden!important;
}
.pos-v7 .total-box-v82 .total-main{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.25)!important;}
.pos-v7 .total-box-v82 .total-paid{background:#dcfce7!important;border:1px solid #86efac!important;color:#14532d!important;}
.pos-v7 .total-box-v82 .total-unpaid{background:#fff7ed!important;border:2px solid #fb923c!important;color:#7c2d12!important;}
.pos-v7 .total-box-v82 span{font-size:10.5px!important;line-height:1!important;font-weight:1000!important;color:inherit!important;white-space:nowrap!important;opacity:1!important;}
.pos-v7 .total-box-v82 b{font-size:13px!important;line-height:1.05!important;font-weight:1000!important;color:inherit!important;white-space:normal!important;word-break:break-word!important;}
.pos-v7 .total-box-v82 .total-main b{font-size:21px!important;color:#fff!important;}
@media(max-width:900px){.pos-v7 .total-box-v82{grid-template-columns:1fr!important;}}


/* v83 final compact total box: total left, paid/unpaid right */
.pos-v7 #orderTotal.total-box,
.pos-v7 .total-box.total-box-v82{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 128px!important;
  grid-template-rows:1fr 1fr!important;
  grid-template-areas:
    "main paid"
    "main unpaid"!important;
  gap:6px 8px!important;
  align-items:stretch!important;
  padding:8px!important;
  min-height:82px!important;
  height:82px!important;
  max-height:82px!important;
  background:#0f766e!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.pos-v7 #orderTotal .total-main,
.pos-v7 #orderTotal .total-paid,
.pos-v7 #orderTotal .total-unpaid{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  border-radius:9px!important;
  min-width:0!important;
  overflow:hidden!important;
  padding:5px 7px!important;
  line-height:1.05!important;
}
.pos-v7 #orderTotal .total-main{
  grid-area:main!important;
  align-items:flex-start!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
}
.pos-v7 #orderTotal .total-paid{
  grid-area:paid!important;
  background:#dcfce7!important;
  border:1px solid #86efac!important;
  color:#14532d!important;
}
.pos-v7 #orderTotal .total-unpaid{
  grid-area:unpaid!important;
  background:#fff7ed!important;
  border:2px solid #fb923c!important;
  color:#7c2d12!important;
}
.pos-v7 #orderTotal span{
  display:block!important;
  margin:0 0 2px!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:inherit!important;
  opacity:1!important;
  white-space:nowrap!important;
}
.pos-v7 #orderTotal b{
  display:block!important;
  margin:0!important;
  color:inherit!important;
  font-weight:1000!important;
  line-height:1.05!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 #orderTotal .total-main b{
  font-size:21px!important;
  white-space:normal!important;
  word-break:break-word!important;
  max-height:44px!important;
}
.pos-v7 #orderTotal .total-paid b,
.pos-v7 #orderTotal .total-unpaid b{
  font-size:12px!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  .pos-v7 #orderTotal.total-box,
  .pos-v7 .total-box.total-box-v82{
    grid-template-columns:minmax(0,1fr) 120px!important;
    grid-template-areas:
      "main paid"
      "main unpaid"!important;
    min-height:80px!important;
    height:80px!important;
    max-height:80px!important;
  }
}


/* v84 final readable total layout */
.pos-v7 #orderTotal.total-box-v84,
.pos-v7 .total-box.total-box-v84,
.pos-v7 #orderTotal.total-box{
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) 150px!important;
  grid-template-rows:38px 38px!important;
  grid-template-areas:
    "main paid"
    "main unpaid"!important;
  column-gap:9px!important;
  row-gap:6px!important;
  align-items:stretch!important;
  min-height:92px!important;
  height:92px!important;
  max-height:92px!important;
  padding:8px!important;
  box-sizing:border-box!important;
  background:#0f766e!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.pos-v7 #orderTotal.total-box-v84 .total-main,
.pos-v7 #orderTotal.total-box-v84 .total-paid,
.pos-v7 #orderTotal.total-box-v84 .total-unpaid,
.pos-v7 #orderTotal.total-box .total-main,
.pos-v7 #orderTotal.total-box .total-paid,
.pos-v7 #orderTotal.total-box .total-unpaid{
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  border-radius:10px!important;
  padding:6px 8px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.pos-v7 #orderTotal .total-main{
  grid-area:main!important;
  align-items:flex-start!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  color:#fff!important;
}
.pos-v7 #orderTotal .total-paid{
  grid-area:paid!important;
  align-items:center!important;
  background:#dcfce7!important;
  border:1px solid #86efac!important;
  color:#14532d!important;
}
.pos-v7 #orderTotal .total-unpaid{
  grid-area:unpaid!important;
  align-items:center!important;
  background:#fff7ed!important;
  border:2px solid #fb923c!important;
  color:#7c2d12!important;
}
.pos-v7 #orderTotal span{
  display:block!important;
  color:inherit!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:1000!important;
  margin:0 0 3px!important;
  padding:0!important;
  opacity:1!important;
  white-space:nowrap!important;
}
.pos-v7 #orderTotal b{
  display:block!important;
  color:inherit!important;
  font-weight:1000!important;
  line-height:1.05!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  text-decoration:none!important;
  border:0!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.pos-v7 #orderTotal .total-main b{
  color:#fff!important;
  font-size:22px!important;
  word-break:break-word!important;
}
.pos-v7 #orderTotal .total-paid b,
.pos-v7 #orderTotal .total-unpaid b{
  font-size:12.5px!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
}
@media(max-width:900px){
  .pos-v7 #orderTotal.total-box-v84,
  .pos-v7 #orderTotal.total-box{
    grid-template-columns:minmax(0,1fr) 142px!important;
  }
}


/* v85 professional desktop fit and clean totals */
html, body{
  overflow:hidden!important;
}
.pos-v7{
  --panel-gap:10px;
  --panel-pad:10px;
  --card-radius:14px;
  height:100vh!important;
  min-height:0!important;
  padding:8px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:#eef7f6!important;
}
.pos-v7 .topbar{
  height:46px!important;
  min-height:46px!important;
  padding:6px 12px!important;
  margin-bottom:8px!important;
  box-sizing:border-box!important;
}
.pos-v7 .brand{
  font-size:22px!important;
  line-height:1!important;
}
.pos-v7 .small-text{
  font-size:11px!important;
}
.pos-v7 .top-link.danger{
  padding:8px 16px!important;
  min-width:54px!important;
  text-align:center!important;
}
.pos-v7 .pos-layout-v5{
  height:calc(100vh - 70px)!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:420px minmax(520px,1fr) 390px!important;
  gap:10px!important;
  align-items:stretch!important;
}
.pos-v7 .panel{
  border-radius:16px!important;
  padding:10px!important;
  min-height:0!important;
  box-sizing:border-box!important;
  box-shadow:0 2px 10px rgba(15,23,42,.06)!important;
}
.pos-v7 .rooms-panel-v5,
.pos-v7 .products-panel-v5,
.pos-v7 .order-panel-v5{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* Rooms: balanced at 100% zoom, not oversized */
.pos-v7 .panel-title{
  height:42px!important;
  min-height:42px!important;
  border-radius:12px!important;
  font-size:16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-bottom:8px!important;
}
.pos-v7 .room-legend{
  min-height:28px!important;
  margin-bottom:6px!important;
  gap:6px 10px!important;
  font-size:11px!important;
  align-items:center!important;
}
.pos-v7 .room-legend .dot{
  width:10px!important;
  height:10px!important;
}
.pos-v7 .rooms-grid-v5{
  height:calc(100% - 86px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  gap:8px!important;
  align-content:start!important;
  padding:0 7px 10px 0!important;
}
.pos-v7 .room-floor-divider{
  height:18px!important;
  min-height:18px!important;
  margin:5px 0 1px!important;
  font-size:12px!important;
}
.pos-v7 .room-btn-v5{
  height:142px!important;
  min-height:142px!important;
  max-height:142px!important;
  padding:22px 7px 25px!important;
  border-radius:12px!important;
  gap:1px!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:29px!important;
  line-height:.95!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:9.5px!important;
  line-height:1.08!important;
  max-height:22px!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:9px!important;
  line-height:1.08!important;
  max-height:20px!important;
}
.pos-v7 .room-btn-v5 .room-open-time{
  font-size:8.6px!important;
  line-height:1.05!important;
  max-height:12px!important;
}
.pos-v7 .room-btn-v5 .room-stay-badge{
  font-size:8px!important;
  padding:1px 4px!important;
  line-height:1.05!important;
  max-height:15px!important;
  max-width:96%!important;
}
.pos-v7 .room-overtime-badge{
  top:5px!important;
  left:6px!important;
  min-width:58px!important;
  max-width:76px!important;
  height:16px!important;
  padding:1px 5px!important;
  font-size:7.4px!important;
  line-height:13px!important;
}
.pos-v7 .room-btn-v5.overtime-room{
  padding-top:23px!important;
}
.pos-v7 .room-longstay-badge{
  left:7px!important;
  right:7px!important;
  bottom:5px!important;
  padding:2px 5px!important;
  font-size:8px!important;
  max-height:16px!important;
}
.pos-v7 .room-checkout-alert{
  bottom:24px!important;
  left:7px!important;
  right:7px!important;
  font-size:8px!important;
  max-height:15px!important;
}
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid){
  justify-content:center!important;
  padding:10px 7px!important;
}
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid) .room-number{
  font-size:32px!important;
}

/* Products: less empty, more professional */
.pos-v7 .products-panel-v5{
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:10px!important;
}
.pos-v7 .category-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.pos-v7 .category-tab{
  min-height:46px!important;
  height:46px!important;
  border-radius:11px!important;
  font-size:13px!important;
  padding:8px 10px!important;
}
.pos-v7 .product-grid-v5{
  min-height:0!important;
  height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:114px!important;
  gap:10px!important;
  padding:8px!important;
  align-content:start!important;
}
.pos-v7 .product-card{
  height:114px!important;
  min-height:114px!important;
  border-radius:12px!important;
  padding:14px 12px 34px!important;
}
.pos-v7 .product-card .product-name{
  font-size:16px!important;
  line-height:1.15!important;
}
.pos-v7 .product-card .price-badge{
  right:10px!important;
  bottom:9px!important;
  font-size:13px!important;
  min-width:70px!important;
}
.pos-v7 .options-grid-v5{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.pos-v7 .option-btn{
  height:42px!important;
  min-height:42px!important;
  border-radius:11px!important;
  font-size:13px!important;
}

/* Right panel: compact, scroll only inside */
.pos-v7 .order-panel-v5{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:10px!important;
}
.pos-v7 .order-head-v5{
  flex:0 0 auto!important;
}
.pos-v7 .room-title{
  font-size:48px!important;
  line-height:.95!important;
}
.pos-v7 .room-meta-v7{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}
.pos-v7 .room-meta-v7 div{
  padding:7px 8px!important;
  min-height:46px!important;
  border-radius:9px!important;
}
.pos-v7 .room-meta-v7 span{
  font-size:10px!important;
}
.pos-v7 .room-meta-v7 b{
  font-size:11px!important;
}
.pos-v7 .order-items{
  flex:1 1 auto!important;
  min-height:180px!important;
  border-radius:10px!important;
  overflow-y:auto!important;
}
.pos-v7 .order-line{
  grid-template-columns:minmax(0,1fr) 34px 72px 48px!important;
  gap:6px!important;
  padding:8px!important;
}
.pos-v7 .order-line b{
  font-size:12px!important;
}

/* Final total box: simple and fitting */
.pos-v7 #orderTotal.total-box,
.pos-v7 #orderTotal.total-box-v84{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 132px!important;
  grid-template-rows:34px 34px!important;
  grid-template-areas:
    "main paid"
    "main unpaid"!important;
  gap:6px!important;
  height:78px!important;
  min-height:78px!important;
  max-height:78px!important;
  padding:7px!important;
  background:#0f766e!important;
  border-radius:11px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.pos-v7 #orderTotal .total-main,
.pos-v7 #orderTotal .total-paid,
.pos-v7 #orderTotal .total-unpaid{
  margin:0!important;
  padding:5px 8px!important;
  border-radius:8px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  overflow:hidden!important;
}
.pos-v7 #orderTotal .total-main{
  grid-area:main!important;
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.26)!important;
}
.pos-v7 #orderTotal .total-paid{
  grid-area:paid!important;
  background:#dcfce7!important;
  color:#14532d!important;
  border:1px solid #86efac!important;
  align-items:center!important;
}
.pos-v7 #orderTotal .total-unpaid{
  grid-area:unpaid!important;
  background:#fff7ed!important;
  color:#7c2d12!important;
  border:1px solid #fb923c!important;
  align-items:center!important;
}
.pos-v7 #orderTotal span{
  font-size:10px!important;
  line-height:1!important;
  margin:0 0 2px!important;
  color:inherit!important;
  font-weight:1000!important;
}
.pos-v7 #orderTotal b{
  color:inherit!important;
  font-weight:1000!important;
  line-height:1.05!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:1!important;
  text-decoration:none!important;
}
.pos-v7 #orderTotal .total-main b{
  font-size:18px!important;
  word-break:break-word!important;
}
.pos-v7 #orderTotal .total-paid b,
.pos-v7 #orderTotal .total-unpaid b{
  font-size:11px!important;
  text-align:center!important;
  white-space:normal!important;
}
.pos-v7 .order-panel-v5 .btn{
  flex:0 0 auto!important;
  min-height:31px!important;
  height:31px!important;
  padding:5px 9px!important;
  font-size:12px!important;
  border-radius:8px!important;
}
.pos-v7 .warning-note{
  flex:0 0 auto!important;
  font-size:10px!important;
  padding:6px 8px!important;
}

/* Modal tables: fit at 100% without browser zoom */
.modal-box:has(.modal-table),
.modal-box:has(.my-rooms-table){
  width:min(1280px,96vw)!important;
  max-width:96vw!important;
}
.modal-content{
  max-height:78vh!important;
  overflow:auto!important;
}
.modal-table{
  width:100%!important;
  table-layout:auto!important;
}
.modal-table th,
.modal-table td{
  font-size:11.5px!important;
  line-height:1.2!important;
  padding:8px 9px!important;
}

/* Desktop breakpoints */
@media(max-width:1450px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:380px minmax(420px,1fr) 360px!important;
  }
  .pos-v7 .rooms-grid-v5{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .pos-v7 .room-btn-v5{
    height:132px!important;
    min-height:132px!important;
    max-height:132px!important;
  }
  .pos-v7 .product-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:1180px){
  html,body{overflow:auto!important;}
  .pos-v7{
    height:auto!important;
    overflow:visible!important;
  }
  .pos-v7 .pos-layout-v5{
    height:auto!important;
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-panel-v5,
  .pos-v7 .products-panel-v5,
  .pos-v7 .order-panel-v5{
    height:auto!important;
    min-height:0!important;
  }
  .pos-v7 .rooms-grid-v5{
    height:auto!important;
    max-height:none!important;
  }
}


/* v86 balanced fixed-width POS layout and final totals */
html, body{
  overflow:hidden!important;
  background:#eef7f6!important;
}
.pos-v7{
  height:100vh!important;
  max-height:100vh!important;
  padding:8px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:#eef7f6!important;
}
.pos-v7 .topbar{
  height:50px!important;
  min-height:50px!important;
  padding:7px 13px!important;
  margin-bottom:8px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
}
.pos-v7 .brand{
  font-size:23px!important;
  line-height:1!important;
}
.pos-v7 .topbar .small-text{
  font-size:11px!important;
}
.pos-v7 .top-link.danger{
  height:38px!important;
  min-width:54px!important;
  padding:7px 15px!important;
  border-radius:10px!important;
}

/* Main desktop structure */
.pos-v7 .pos-layout-v5{
  height:calc(100vh - 74px)!important;
  display:grid!important;
  grid-template-columns:410px minmax(720px,1fr) 370px!important;
  gap:10px!important;
  align-items:stretch!important;
  min-height:0!important;
}
.pos-v7 .panel{
  border-radius:16px!important;
  padding:10px!important;
  box-sizing:border-box!important;
  min-height:0!important;
  box-shadow:0 2px 10px rgba(15,23,42,.06)!important;
}
.pos-v7 .rooms-panel-v5,
.pos-v7 .products-panel-v5,
.pos-v7 .order-panel-v5{
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* Rooms panel */
.pos-v7 .panel-title{
  height:42px!important;
  min-height:42px!important;
  margin:0 0 8px!important;
  padding:0 10px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:16px!important;
}
.pos-v7 .room-legend{
  min-height:35px!important;
  margin:0 0 6px!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px 11px!important;
  font-size:10.8px!important;
}
.pos-v7 .room-legend .dot{
  width:10px!important;
  height:10px!important;
}
.pos-v7 .rooms-grid-v5{
  height:calc(100% - 91px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-content:start!important;
  padding:0 6px 10px 0!important;
}
.pos-v7 .room-floor-divider{
  height:18px!important;
  min-height:18px!important;
  margin:5px 0 1px!important;
  font-size:11.5px!important;
}
.pos-v7 .room-btn-v5{
  height:128px!important;
  min-height:128px!important;
  max-height:128px!important;
  padding:21px 7px 24px!important;
  border-radius:12px!important;
  gap:1px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5 .room-number{
  font-size:30px!important;
  line-height:.95!important;
}
.pos-v7 .room-btn-v5 .room-status{
  font-size:9.6px!important;
  line-height:1.05!important;
  max-height:22px!important;
}
.pos-v7 .room-btn-v5 .room-extra{
  font-size:9px!important;
  line-height:1.08!important;
  max-height:19px!important;
}
.pos-v7 .room-open-time{
  font-size:8.6px!important;
  line-height:1.05!important;
  max-height:12px!important;
  white-space:nowrap!important;
}
.pos-v7 .room-stay-badge{
  font-size:7.8px!important;
  padding:1px 4px!important;
  max-height:14px!important;
  max-width:96%!important;
}
.pos-v7 .room-overtime-badge{
  top:5px!important;
  left:6px!important;
  min-width:58px!important;
  max-width:76px!important;
  height:15px!important;
  padding:1px 5px!important;
  font-size:7.2px!important;
  line-height:12px!important;
}
.pos-v7 .room-longstay-badge{
  left:7px!important;
  right:7px!important;
  bottom:5px!important;
  padding:2px 5px!important;
  font-size:7.8px!important;
  max-height:15px!important;
}
.pos-v7 .room-checkout-alert{
  bottom:23px!important;
  left:7px!important;
  right:7px!important;
  font-size:7.8px!important;
  max-height:14px!important;
}
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid){
  justify-content:center!important;
  padding:10px 7px!important;
}
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid) .room-number{
  font-size:32px!important;
}

/* Products panel: cards/buttons no longer stretch across the whole screen */
.pos-v7 .products-panel-v5{
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  gap:10px!important;
  overflow:hidden!important;
}
.pos-v7 .category-tabs{
  display:grid!important;
  grid-template-columns:repeat(4, 190px)!important;
  justify-content:start!important;
  align-content:start!important;
  gap:8px!important;
  margin:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.pos-v7 .cat-tab{
  width:190px!important;
  height:48px!important;
  min-height:48px!important;
  border-radius:11px!important;
  padding:7px 10px!important;
  font-size:13.5px!important;
  box-sizing:border-box!important;
}
.pos-v7 .product-grid-v5{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill, 190px)!important;
  grid-auto-rows:108px!important;
  justify-content:start!important;
  align-content:start!important;
  gap:10px!important;
  padding:8px!important;
}
.pos-v7 .product-card{
  width:190px!important;
  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;
  border-radius:12px!important;
  padding:13px 11px 34px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.pos-v7 .product-card.booking-card{
  grid-column:span 2!important;
  width:390px!important;
  max-width:390px!important;
  height:126px!important;
  min-height:126px!important;
  max-height:126px!important;
}
.pos-v7 .product-card .product-name{
  font-size:16px!important;
  line-height:1.14!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.pos-v7 .product-card.booking-card .product-name{
  font-size:18px!important;
}
.pos-v7 .product-card .price-badge{
  right:9px!important;
  bottom:8px!important;
  min-width:70px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  font-size:13px!important;
}
.pos-v7 .options-grid-v5{
  display:grid!important;
  grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  gap:8px!important;
  margin-top:0!important;
}
.pos-v7 .option-btn{
  height:42px!important;
  min-height:42px!important;
  border-radius:11px!important;
  font-size:13px!important;
}

/* Right panel */
.pos-v7 .order-panel-v5{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:10px!important;
}
.pos-v7 .order-head-v5{
  flex:0 0 auto!important;
  padding-bottom:6px!important;
  margin-bottom:0!important;
}
.pos-v7 .room-title{
  font-size:48px!important;
  line-height:.95!important;
}
.pos-v7 .room-meta-v7{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}
.pos-v7 .room-meta-v7 div{
  min-height:44px!important;
  padding:7px 8px!important;
  border-radius:9px!important;
}
.pos-v7 .room-meta-v7 span{
  font-size:10px!important;
}
.pos-v7 .room-meta-v7 b{
  font-size:11px!important;
}
.pos-v7 .order-items{
  flex:1 1 auto!important;
  min-height:170px!important;
  border-radius:10px!important;
  overflow-y:auto!important;
}
.pos-v7 .order-line{
  grid-template-columns:minmax(0,1fr) 34px 72px 48px!important;
  gap:6px!important;
  padding:8px!important;
  font-size:11.5px!important;
}
.pos-v7 .order-line b{
  font-size:12px!important;
}

/* Final professional total box */
.pos-v7 #orderTotal.total-box-v86{
  flex:0 0 78px!important;
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) 140px!important;
  grid-template-rows:35px 35px!important;
  grid-template-areas:
    "main paid"
    "main unpaid"!important;
  gap:6px!important;
  height:78px!important;
  min-height:78px!important;
  max-height:78px!important;
  padding:6px!important;
  box-sizing:border-box!important;
  background:#0f766e!important;
  border-radius:11px!important;
  overflow:hidden!important;
}
.pos-v7 #orderTotal.total-box-v86 .total-main,
.pos-v7 #orderTotal.total-box-v86 .total-paid,
.pos-v7 #orderTotal.total-box-v86 .total-unpaid{
  margin:0!important;
  padding:5px 8px!important;
  border-radius:8px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
.pos-v7 #orderTotal.total-box-v86 .total-main{
  grid-area:main!important;
  align-items:flex-start!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  color:#fff!important;
}
.pos-v7 #orderTotal.total-box-v86 .total-paid{
  grid-area:paid!important;
  align-items:center!important;
  background:#dcfce7!important;
  border:1px solid #86efac!important;
  color:#14532d!important;
}
.pos-v7 #orderTotal.total-box-v86 .total-unpaid{
  grid-area:unpaid!important;
  align-items:center!important;
  background:#fff7ed!important;
  border:1px solid #fb923c!important;
  color:#7c2d12!important;
}
.pos-v7 #orderTotal.total-box-v86 span{
  display:block!important;
  margin:0 0 2px!important;
  padding:0!important;
  color:inherit!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:1000!important;
  opacity:1!important;
  white-space:nowrap!important;
}
.pos-v7 #orderTotal.total-box-v86 b{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:inherit!important;
  font-weight:1000!important;
  line-height:1.05!important;
  opacity:1!important;
  text-decoration:none!important;
}
.pos-v7 #orderTotal.total-box-v86 .total-main b{
  font-size:18px!important;
  word-break:break-word!important;
  white-space:normal!important;
}
.pos-v7 #orderTotal.total-box-v86 .total-paid b,
.pos-v7 #orderTotal.total-box-v86 .total-unpaid b{
  font-size:12px!important;
  text-align:center!important;
  white-space:normal!important;
}
.pos-v7 .order-panel-v5 .btn{
  flex:0 0 auto!important;
  height:31px!important;
  min-height:31px!important;
  padding:5px 9px!important;
  font-size:12px!important;
  border-radius:8px!important;
}
.pos-v7 .warning-note{
  flex:0 0 auto!important;
  font-size:10px!important;
  padding:6px 8px!important;
}

/* Modal tables fit at 100% zoom */
.modal-box:has(.modal-table),
.modal-box:has(.my-rooms-table){
  width:min(1280px,96vw)!important;
  max-width:96vw!important;
}
.modal-content{
  max-height:78vh!important;
  overflow:auto!important;
}
.modal-table{
  width:100%!important;
  table-layout:auto!important;
}
.modal-table th,
.modal-table td{
  font-size:11.5px!important;
  line-height:1.2!important;
  padding:8px 9px!important;
}

/* Breakpoints */
@media(max-width:1450px){
  .pos-v7 .pos-layout-v5{
    grid-template-columns:380px minmax(520px,1fr) 355px!important;
  }
  .pos-v7 .product-grid-v5{
    grid-template-columns:repeat(auto-fill, 180px)!important;
  }
  .pos-v7 .product-card{
    width:180px!important;
  }
  .pos-v7 .product-card.booking-card{
    width:370px!important;
    max-width:370px!important;
  }
  .pos-v7 .category-tabs{
    grid-template-columns:repeat(4, 180px)!important;
  }
  .pos-v7 .cat-tab{
    width:180px!important;
  }
}
@media(max-width:1180px){
  html, body{overflow:auto!important;}
  .pos-v7{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .pos-v7 .pos-layout-v5{
    height:auto!important;
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-panel-v5,
  .pos-v7 .products-panel-v5,
  .pos-v7 .order-panel-v5{
    height:auto!important;
    overflow:visible!important;
  }
  .pos-v7 .rooms-grid-v5{
    height:auto!important;
    max-height:none!important;
  }
}


/* v87 fixed total box + compact modals + Booking card */
.pos-v7 #orderTotal.totals-v87{
  flex:0 0 68px!important;
  height:68px!important;
  min-height:68px!important;
  max-height:68px!important;
  width:100%!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:7px!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:11px!important;
  background:#0f766e!important;
  overflow:hidden!important;
  color:#fff!important;
}
.pos-v7 #orderTotal.totals-v87 .v87-total{
  flex:1 1 auto!important;
  min-width:0!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  padding:6px 10px!important;
  box-sizing:border-box!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  overflow:hidden!important;
}
.pos-v7 #orderTotal.totals-v87 .v87-total span{
  display:block!important;
  margin:0 0 2px!important;
  padding:0!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.pos-v7 #orderTotal.totals-v87 .v87-total strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  white-space:normal!important;
  word-break:break-word!important;
  border:0!important;
  text-decoration:none!important;
}
.pos-v7 #orderTotal.totals-v87 .v87-side{
  flex:0 0 146px!important;
  width:146px!important;
  min-width:146px!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  overflow:hidden!important;
}
.pos-v7 #orderTotal.totals-v87 .v87-paid,
.pos-v7 #orderTotal.totals-v87 .v87-unpaid{
  flex:1 1 0!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:3px 6px!important;
  box-sizing:border-box!important;
  border-radius:8px!important;
  font-size:11.5px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
}
.pos-v7 #orderTotal.totals-v87 .v87-paid{
  background:#dcfce7!important;
  border:1px solid #86efac!important;
  color:#14532d!important;
}
.pos-v7 #orderTotal.totals-v87 .v87-unpaid{
  background:#fff7ed!important;
  border:1px solid #fb923c!important;
  color:#7c2d12!important;
}

/* Keep Xhiro / Dhomat e mia modal similar to the compact reference, not too wide */
.modal-box:has(.modal-table),
.modal-box:has(.my-rooms-table){
  width:min(860px,94vw)!important;
  max-width:94vw!important;
}
.modal-content{
  max-height:78vh!important;
  overflow:auto!important;
}
.modal-table{
  min-width:720px!important;
  width:100%!important;
}
.modal-table th,
.modal-table td{
  font-size:12px!important;
  line-height:1.22!important;
  padding:8px 10px!important;
}

/* Booking card should not be stretched */
.pos-v7 .product-card.booking-card,
.pos-v6 .booking-card{
  grid-column:span 1!important;
  width:230px!important;
  max-width:230px!important;
  min-width:230px!important;
  height:112px!important;
  min-height:112px!important;
  max-height:112px!important;
}
.pos-v7 .product-card.booking-card .product-name{
  font-size:16px!important;
  line-height:1.15!important;
  -webkit-line-clamp:2!important;
}
.pos-v7 .product-card.booking-card .price-badge{
  min-width:86px!important;
  font-size:12px!important;
  padding:4px 8px!important;
}

/* Do not stretch product cards too much */
.pos-v7 .product-grid-v5{
  grid-template-columns:repeat(auto-fill, minmax(180px, 230px))!important;
  justify-content:start!important;
}
.pos-v7 .product-card{
  max-width:230px!important;
}
@media(max-width:900px){
  .pos-v7 #orderTotal.totals-v87{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
  }
  .pos-v7 #orderTotal.totals-v87 .v87-side{
    flex-basis:138px!important;
    width:138px!important;
    min-width:138px!important;
  }
}


/* v88 apartment free status and booking card sizing */
.pos-v7 .room-btn-v5{
  height:136px!important;
  min-height:136px!important;
  max-height:136px!important;
}
.pos-v7 .room-btn-v5.room-very-long,
.pos-v7 .room-btn-v5.room-long{
  padding:14px 7px 12px!important;
}
.pos-v7 .room-btn-v5.room-very-long .room-number,
.pos-v7 .room-btn-v5.room-long .room-number{
  font-size:25px!important;
  line-height:.95!important;
  max-height:70px!important;
  overflow:hidden!important;
  white-space:normal!important;
}
.pos-v7 .room-btn-v5.room-very-long .room-status,
.pos-v7 .room-btn-v5.room-long .room-status{
  display:block!important;
  margin-top:5px!important;
  font-size:10px!important;
  line-height:1!important;
  max-height:14px!important;
  overflow:visible!important;
}
/* Free apartment / Bari boxes should always show status */
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid).room-very-long,
.pos-v7 .room-btn-v5:not(.occupied-paid):not(.occupied-unpaid).room-long{
  justify-content:center!important;
  gap:5px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
}

/* Booking / Online card: little wider and deeper, but not stretched */
.pos-v7 .product-card.booking-card,
.pos-v6 .booking-card{
  width:260px!important;
  max-width:260px!important;
  min-width:260px!important;
  height:128px!important;
  min-height:128px!important;
  max-height:128px!important;
  padding:14px 12px 36px!important;
}
.pos-v7 .product-card.booking-card .product-name{
  font-size:16px!important;
  line-height:1.12!important;
  -webkit-line-clamp:3!important;
}
.pos-v7 .product-card.booking-card .booking-subline{
  font-size:12px!important;
  line-height:1.1!important;
}
@media(max-width:1180px){
  .pos-v7 .product-card.booking-card,
  .pos-v6 .booking-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}
@media(max-width:560px){
  .pos-v7 .room-btn-v5{
    height:132px!important;
    min-height:132px!important;
    max-height:132px!important;
  }
  .pos-v7 .room-btn-v5.room-very-long .room-number,
  .pos-v7 .room-btn-v5.room-long .room-number{
    font-size:23px!important;
  }
}


/* v89 canceled logic and stay progress fixes */
.modal-table tr.voided-row td,
.clean-invoice-table tr.voided-row td{
  background:#fff1f2!important;
  color:#7f1d1d!important;
}
.status-pill.cancelled,
.status-pill.anulluar{
  background:#fee2e2!important;
  color:#991b1b!important;
}
.room-meta-v7 div span + b{
  word-break:break-word;
}
.detail-table th:first-child,
.detail-table td:first-child{
  width:40px!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.room-longstay-badge{
  background:#ede9fe!important;
  color:#4c1d95!important;
  border-color:#7c3aed!important;
}


/* v90 specific room meta and open exit text */
.pos-v7 .room-meta-v7{
  grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}
.pos-v7 .room-meta-v7 div{
  min-height:42px!important;
}
.pos-v7 .room-meta-v7 .room-note-meta,
.pos-v7 .room-meta-v7 .room-overtime-meta{
  grid-column:1 / -1!important;
}
.modal-table td:nth-child(3),
.modal-table th:nth-child(3){
  white-space:nowrap!important;
}


/* v91 reservations / arrivals module */
.pos-v7 .options-grid-v5{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.reservation-toolbar{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:12px;
  align-items:stretch;
  margin-bottom:12px;
}
.reservation-kpis{
  margin-bottom:12px;
}
.reservation-table td,
.reservation-table th{
  vertical-align:top!important;
}
.reservation-actions{
  min-width:150px;
}
.mini-action{
  display:inline-block;
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1e3a8a;
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  font-weight:1000;
  margin:2px;
  cursor:pointer;
}
.mini-action.success{
  background:#dcfce7;
  border-color:#86efac;
  color:#14532d;
}
.mini-action.danger-soft{
  background:#fee2e2;
  border-color:#fca5a5;
  color:#7f1d1d;
}
.status-pill.res-prepaid{
  background:#dcfce7;
  color:#14532d;
}
.status-pill.res-confirmed{
  background:#dbeafe;
  color:#1e3a8a;
}
.status-pill.res-reserved{
  background:#fef3c7;
  color:#92400e;
}
.status-pill.res-checked{
  background:#e0f2fe;
  color:#075985;
}
.status-pill.res-canceled,
.status-pill.res-noshow{
  background:#e5e7eb;
  color:#374151;
}
.reservation-row.res-prepaid td{
  background:#f0fdf4;
}
.reservation-row.res-confirmed td{
  background:#eff6ff;
}
.reservation-row.res-reserved td{
  background:#fffbeb;
}
.reservation-row.res-canceled td,
.reservation-row.res-noshow td{
  background:#f3f4f6;
  opacity:.75;
}
.reservation-form select,
.reservation-form input,
.reservation-form textarea{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:820px){
  .reservation-toolbar{
    grid-template-columns:1fr;
  }
  .pos-v7 .options-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .reservation-table{
    min-width:900px!important;
  }
}


/* v92 reservation typed room and check-in room change */
.reservation-form input[list]{
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:10px 12px;
  font-weight:900;
  background:#f8fafc;
}
.reservation-form .hint-box{
  margin-bottom:10px;
}


/* v93 reservations simpler and admin edit */
.admin-filter-row{
  display:grid;
  grid-template-columns:1fr 220px 120px;
  gap:10px;
  margin:14px 0;
}
.admin-filter-row input,
.admin-filter-row select,
.admin-table input,
.admin-table select,
.admin-table textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd5e1;
  border-radius:8px;
  padding:7px 8px;
  font-weight:800;
  margin:2px 0;
}
.admin-table textarea{
  min-height:48px;
}
.reservation-table .mini-action:not(.success):not(.danger-soft){
  display:none;
}
@media(max-width:900px){
  .admin-filter-row{
    grid-template-columns:1fr;
  }
}


/* v94 reservation check-in payment + badge */
.reservation-card-badge{
  position:absolute;
  top:8px;
  right:8px;
  background:#dbeafe;
  color:#1e3a8a;
  border:1px solid #93c5fd;
  border-radius:999px;
  padding:3px 7px;
  font-size:11px;
  font-weight:1000;
  z-index:4;
}
.reservation-card-badge.urgent{
  background:#fee2e2;
  border-color:#fca5a5;
  color:#7f1d1d;
}
.reservation-form .confirm-row{
  margin-bottom:8px;
}
.reservation-actions .small-text{
  display:inline-block;
  padding:5px 8px;
  background:#f1f5f9;
  border-radius:999px;
  font-weight:900;
}


/* v95 reservation button badge and required prepayment method */
.reservation-option-btn{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.res-option-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:48px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  border:1px solid #93c5fd!important;
  color:#1e3a8a!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.res-option-badge.urgent{
  background:#fee2e2!important;
  border-color:#fca5a5!important;
  color:#7f1d1d!important;
}


/* v96 compact room cards and weekday dates */
.pos-v7 .room-btn-v5.compact-room-tile{
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;
  padding:16px 7px 24px!important;
  gap:2px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-number{
  font-size:31px!important;
  line-height:.96!important;
  max-height:42px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-status{
  display:block!important;
  font-size:9.8px!important;
  line-height:1.1!important;
  max-height:24px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-extra,
.pos-v7 .room-btn-v5.compact-room-tile .room-open-time,
.pos-v7 .room-btn-v5.compact-room-tile .room-stay-badge,
.pos-v7 .room-btn-v5.compact-room-tile .room-checkout-alert{
  display:none!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-longstay-badge{
  display:block!important;
  left:7px!important;
  right:7px!important;
  bottom:6px!important;
  padding:2px 5px!important;
  max-height:16px!important;
  font-size:7.8px!important;
  line-height:1.05!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{
  top:5px!important;
  left:6px!important;
  min-width:54px!important;
  max-width:72px!important;
  height:15px!important;
  padding:1px 5px!important;
  font-size:7px!important;
  line-height:12px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.overtime-room{
  padding-top:20px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.room-long .room-number,
.pos-v7 .room-btn-v5.compact-room-tile.room-very-long .room-number{
  font-size:24px!important;
  max-height:58px!important;
}
.pos-v7 .room-meta-v7 div b{
  line-height:1.15!important;
}
.pos-v7 .room-meta-v7 div:has(b){
  overflow:hidden!important;
}
@media(max-width:560px){
  .pos-v7 .room-btn-v5.compact-room-tile{
    height:112px!important;
    min-height:112px!important;
    max-height:112px!important;
  }
  .pos-v7 .room-btn-v5.compact-room-tile .room-number{
    font-size:28px!important;
  }
}


/* v97 compact room guest and simpler reservation list */
.pos-v7 .room-guest-compact{
  display:block!important;
  max-width:96%!important;
  font-size:8.8px!important;
  line-height:1.05!important;
  font-style:normal!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  margin-top:1px!important;
  color:inherit!important;
}
.pos-v7 .compact-room-tile .room-status{
  max-height:14px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.reservation-table-simple{
  min-width:760px!important;
}
.reservation-table-simple th,
.reservation-table-simple td{
  vertical-align:top!important;
}
.reservation-table-simple th:nth-child(2),
.reservation-table-simple td:nth-child(2){
  min-width:260px!important;
}
.reservation-table-simple th:nth-child(3),
.reservation-table-simple td:nth-child(3){
  min-width:150px!important;
}
.reservation-table-simple th:nth-child(4),
.reservation-table-simple td:nth-child(4){
  min-width:145px!important;
}
.reservation-table-simple th:nth-child(5),
.reservation-table-simple td:nth-child(5){
  min-width:120px!important;
}
.res-room-big{
  display:inline-block!important;
  min-width:48px!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  color:#1e3a8a!important;
  text-align:center!important;
}
.admin-filter-row{
  grid-template-columns:1fr 220px 120px 150px!important;
}
@media(max-width:900px){
  .admin-filter-row{
    grid-template-columns:1fr!important;
  }
}


/* v98 transfer room and euro conversion */
.euro-convert-box{
  margin-top:8px;
  padding:9px 10px;
  border:1px dashed #93c5fd;
  background:#eff6ff;
  border-radius:10px;
}
.euro-convert-box label{
  margin:0 0 5px!important;
  font-size:12px!important;
  color:#1e3a8a;
}
.euro-convert-box input{
  background:#fff!important;
}
.euro-convert-box small{
  display:block;
  margin-top:5px;
  font-weight:900;
  color:#1e3a8a;
}
.transfer-room-card{
  border:2px solid #bfdbfe!important;
  background:#eff6ff!important;
}
.transfer-room-card input[readonly]{
  background:#e5e7eb!important;
}


/* v99 admin readable colors, scroll and mobile modal fixes */
/* Earlier POS CSS used global overflow hidden. Admin pages must scroll normally. */
body:has(.admin-wrap),
html:has(.admin-wrap){
  overflow:auto!important;
  height:auto!important;
  max-height:none!important;
  background:#eef7f6!important;
}
body:has(.admin-wrap){
  color:#0f172a!important;
}
.admin-wrap,
.admin-wrap *{
  color:#0f172a;
}
.admin-wrap{
  padding-bottom:40px!important;
}
.admin-header,
.admin-note,
.admin-wrap .panel,
.admin-wrap .form-card,
.admin-wrap .stat,
.admin-wrap .table-wrap{
  background:#ffffff!important;
  color:#0f172a!important;
}
.admin-header h1,
.admin-wrap h1,
.admin-wrap h2,
.admin-wrap h3,
.admin-wrap p,
.admin-wrap label,
.admin-wrap span,
.admin-wrap b,
.admin-wrap td,
.admin-wrap th{
  color:#0f172a!important;
}
.admin-table{
  background:#ffffff!important;
  color:#0f172a!important;
}
.admin-table th{
  background:#0f172a!important;
  color:#ffffff!important;
}
.admin-table td{
  background:#ffffff!important;
  color:#0f172a!important;
}
.admin-table tr:nth-child(even) td{
  background:#f8fafc!important;
}
.admin-table input,
.admin-table select,
.admin-table textarea,
.admin-wrap input,
.admin-wrap select,
.admin-wrap textarea{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
}
.admin-table input::placeholder,
.admin-wrap input::placeholder,
.admin-wrap textarea::placeholder{
  color:#64748b!important;
}
.admin-menu a{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
}
.admin-menu a:hover{
  background:#eff6ff!important;
  border-color:#93c5fd!important;
}

/* Modals: keep readable colors and scroll on desktop/mobile. */
.modal-box{
  max-height:92vh!important;
  overflow:hidden!important;
}
.modal-content{
  max-height:calc(92vh - 60px)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.modal-table td{
  color:#0f172a!important;
}
.modal-table th{
  color:#ffffff!important;
}
.modal-table input,
.modal-table select,
.modal-table textarea{
  color:#0f172a!important;
  background:#ffffff!important;
}

/* Xhiro table body has consistent readable contrast. */
.modal-table tr:not(:first-child) td{
  background:#ffffff!important;
}
.modal-table tr.unpaid-row td,
.modal-table .unpaid-row td{
  background:#fff7ed!important;
}

/* Admin transfer area must be reachable without browser zoom. */
.transfer-room-card{
  margin-top:12px!important;
}
.transfer-room-card .form-grid{
  align-items:end!important;
}

/* POS bottom buttons: more robust on phone. */
@media(max-width:720px){
  .modal-box{
    width:96vw!important;
    max-width:96vw!important;
    max-height:92vh!important;
  }
  .modal-content{
    max-height:calc(92vh - 54px)!important;
  }
  .summary-cards.compact-kpis{
    grid-template-columns:1fr 1fr!important;
  }
  .modal-table{
    min-width:760px!important;
  }
  .pos-v7 .options-grid-v5{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* v100 reservation cancel sync and shift carry */
.btn.warning{
  background:#f59e0b!important;
  border-color:#d97706!important;
  color:#111827!important;
}
.admin-table .btn.warning{
  color:#111827!important;
}


/* v101 reservation staff grouping and visible canceled/late rows */
.reservation-row.res-canceled td,
.reservation-row.res-noshow td{
  background:#fee2e2!important;
  color:#7f1d1d!important;
}
.reservation-row.res-late td{
  background:#fff7ed!important;
  color:#7c2d12!important;
}
.status-pill.res-canceled,
.status-pill.res-noshow{
  background:#fee2e2!important;
  border:1px solid #fca5a5!important;
  color:#7f1d1d!important;
}
.status-pill.res-late,
.admin-only-pill{
  background:#ffedd5!important;
  border:1px solid #fb923c!important;
  color:#7c2d12!important;
  border-radius:999px!important;
  padding:4px 8px!important;
  font-weight:1000!important;
  display:inline-block!important;
}
.reservation-table-simple h3,
.reservation-kpis + h3{
  margin-top:14px!important;
}


/* v102 multi-room reservations */
.input-help{
  display:block;
  margin-top:4px;
  color:#475569;
  font-size:11px;
  font-weight:800;
}
.res-date-in{
  color:#1d4ed8!important;
  background:#dbeafe;
  border:1px solid #93c5fd;
  border-radius:999px;
  padding:3px 7px;
  display:inline-block;
  margin-bottom:4px;
}
.res-date-out{
  color:#991b1b!important;
  background:#fee2e2;
  border:1px solid #fca5a5;
  border-radius:999px;
  padding:3px 7px;
  display:inline-block;
}
.res-room-big{
  max-width:260px;
  white-space:normal!important;
  line-height:1.15!important;
}
.reservation-form input[type="number"]{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:10px 12px;
  font-weight:900;
  background:#f8fafc;
}


/* v103 reservation room rows */
.reservation-rooms-list{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:6px 0 8px;
}
.reservation-room-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 62px;
  gap:7px;
  align-items:center;
}
.reservation-room-row span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:9px;
  background:#eff6ff;
  color:#1e3a8a!important;
  font-weight:1000;
}
.reservation-room-row select{
  width:100%;
  min-height:38px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:8px 10px;
  font-weight:900;
  background:#fff;
  color:#0f172a;
}
.booking-form .btn.small{
  min-height:34px;
  height:auto;
  padding:7px 11px;
  font-size:12px;
  border-radius:10px;
}
@media(max-width:560px){
  .reservation-room-row{
    grid-template-columns:28px minmax(0,1fr) 54px;
    gap:5px;
  }
  .reservation-room-row select{
    font-size:13px;
  }
}


/* v104 admin reservations cards */
.admin-reservations-page .admin-filter-row{
  grid-template-columns:minmax(240px,1fr) 220px 120px 160px!important;
  gap:10px!important;
}
.admin-reservation-list{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:14px;
}
.admin-res-card{
  background:#ffffff!important;
  border:1px solid #cbd5e1!important;
  border-left:7px solid #2563eb!important;
  border-radius:16px;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
  overflow:hidden;
}
.admin-res-status-canceled,
.admin-res-status-no_show,
.admin-res-status-deleted{
  border-left-color:#dc2626!important;
  background:#fff7f7!important;
}
.admin-res-status-checked_in{
  border-left-color:#16a34a!important;
}
.admin-res-card-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:14px 16px;
  background:#f8fafc!important;
  border-bottom:1px solid #e2e8f0;
}
.admin-res-card-head b{
  display:block;
  font-size:17px;
  color:#0f172a!important;
}
.admin-res-card-head span{
  display:block;
  margin-top:3px;
  color:#475569!important;
  font-weight:800;
}
.admin-res-head-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
  align-items:center;
}
.admin-status-select{
  min-width:150px;
}
.admin-res-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr 1fr;
  gap:12px;
  padding:14px 16px 16px;
}
.admin-res-section{
  background:#f8fafc!important;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:12px;
}
.admin-res-section h3{
  margin:0 0 9px!important;
  font-size:14px!important;
  color:#0f172a!important;
}
.admin-res-section label{
  display:block;
  margin:8px 0 0!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#334155!important;
}
.admin-res-section input,
.admin-res-section select,
.admin-res-section textarea{
  width:100%!important;
  min-height:38px;
  margin-top:4px;
  border-radius:10px!important;
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  color:#0f172a!important;
  font-weight:850!important;
  padding:8px 10px!important;
  box-sizing:border-box;
}
.admin-res-note{
  grid-column:span 4;
}
.admin-res-note textarea{
  min-height:75px!important;
}
.two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.admin-room-list{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:8px;
}
.admin-room-row{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 62px;
  gap:7px;
  align-items:center;
}
.admin-room-row span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:9px;
  background:#dbeafe!important;
  color:#1e3a8a!important;
  font-weight:1000;
}
.admin-room-row select{
  margin:0!important;
}
.field-help,
.legacy-room-note{
  display:block;
  margin-top:6px;
  color:#475569!important;
  font-weight:800;
  line-height:1.25;
}
.legacy-room-note{
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:10px;
  padding:7px 8px;
  color:#9a3412!important;
}
@media(max-width:1150px){
  .admin-res-grid{
    grid-template-columns:1fr 1fr;
  }
  .admin-res-note{
    grid-column:span 2;
  }
}
@media(max-width:760px){
  .admin-reservations-page .admin-filter-row{
    grid-template-columns:1fr!important;
  }
  .admin-res-card-head{
    flex-direction:column;
  }
  .admin-res-head-actions{
    justify-content:flex-start;
  }
  .admin-res-grid{
    grid-template-columns:1fr;
  }
  .admin-res-note{
    grid-column:span 1;
  }
  .two-col{
    grid-template-columns:1fr;
  }
  .admin-room-row{
    grid-template-columns:28px minmax(0,1fr) 54px;
  }
}


/* v105 reservation payment text, stay days and free-room planning */
.res-pay-paid,
.res-pay-due,
.res-stay-days{
  display:inline-block;
  font-weight:1000!important;
  line-height:1.25;
}
.res-pay-paid{
  color:#166534!important;
  background:#dcfce7;
  border:1px solid #86efac;
  border-radius:999px;
  padding:2px 7px;
  margin:2px 0;
}
.res-pay-due{
  color:#991b1b!important;
  background:#fee2e2;
  border:1px solid #fecaca;
  border-radius:999px;
  padding:2px 7px;
}
.res-total-line{
  display:inline-block;
  margin-bottom:3px;
  color:#0f172a!important;
}
.res-stay-days{
  margin-top:4px;
  color:#0f172a!important;
  background:#fef3c7;
  border:1px solid #fde68a;
  border-radius:999px;
  padding:2px 8px;
}
.reservation-availability-box{
  margin:10px 0 12px;
  padding:10px;
  border-radius:14px;
  border:1px solid #bfdbfe;
  background:#eff6ff;
}
.available-room-title{
  font-weight:1000;
  color:#1e3a8a!important;
  margin-bottom:2px;
}
.available-room-sub,
.available-room-empty{
  font-size:12px;
  font-weight:850;
  color:#475569!important;
  margin-bottom:8px;
}
.available-room-group{
  margin-top:8px;
}
.available-room-group b{
  display:block;
  font-size:12px;
  color:#0f172a!important;
  margin-bottom:5px;
}
.available-room-group div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.available-room-pill{
  border:1px solid #93c5fd;
  background:#ffffff;
  color:#1e3a8a!important;
  font-weight:1000;
  border-radius:999px;
  padding:5px 9px;
  cursor:pointer;
  min-height:30px;
}
.available-room-pill:hover{
  background:#dbeafe;
}
@media(max-width:720px){
  .reservation-availability-box{
    max-height:210px;
    overflow:auto;
  }
  .available-room-pill{
    padding:6px 10px;
    min-height:34px;
  }
}


/* v106 delayed check-in, item payment methods and zero-total occupied rooms */
.late-checkin-note{
  display:inline-block!important;
  margin-top:3px!important;
  padding:2px 7px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  font-weight:1000!important;
}
.delayed-hotel-entry{
  border:2px solid #f59e0b!important;
  background:#fff7ed!important;
}
.delayed-hotel-entry b{
  text-decoration:underline!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:3px!important;
  color:#9a3412!important;
}
.delayed-hotel-entry small{
  display:block!important;
  margin-top:4px!important;
  color:#9a3412!important;
  font-weight:900!important;
  line-height:1.25!important;
}
.room-payment-methods{
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
}
.room-payment-methods b{
  color:#1e3a8a!important;
}
.order-line small .item-paid,
.item-paid{
  font-weight:1000!important;
}


/* v107 security + reservation history collapse */
.reservation-history-collapse{
  margin-top:14px;
  border:1px solid #cbd5e1;
  border-radius:14px;
  overflow:hidden;
  background:#ffffff;
}
.reservation-history-collapse summary{
  cursor:pointer;
  list-style:none;
  padding:12px 14px;
  font-size:17px;
  font-weight:1000;
  background:#f8fafc;
  color:#0f172a;
  border-bottom:1px solid #e2e8f0;
}
.reservation-history-collapse summary::-webkit-details-marker{display:none;}
.reservation-history-collapse summary::after{
  content:'Hap listën';
  float:right;
  font-size:12px;
  color:#1d4ed8;
  background:#dbeafe;
  border-radius:999px;
  padding:3px 8px;
}
.reservation-history-collapse[open] summary::after{content:'Mbyll';}
.admin-help{
  color:#334155!important;
  background:#eff6ff!important;
  border:1px solid #bfdbfe!important;
  border-radius:12px;
  padding:10px 12px;
  font-weight:800;
}


/* v109 phase 1: sync/no-show/orange checkout */
.room-longstay-badge.today-checkout-badge{
  background:#f59e0b!important;
  color:#111827!important;
  border:1px solid #d97706!important;
  font-weight:1000!important;
}
.today-checkout-meta{
  background:#fff7ed!important;
  border:2px solid #f59e0b!important;
  border-radius:12px!important;
  padding:7px 9px!important;
}
.today-checkout-meta span{
  color:#9a3412!important;
}
.today-checkout-meta b{
  color:#111827!important;
}
.late-checkin-note{
  display:inline-block;
  margin-top:3px;
  padding:2px 7px;
  border-radius:999px;
  background:#fff7ed;
  color:#9a3412!important;
  font-weight:1000!important;
}
.reservation-row.res-late td{
  background:#fff7ed!important;
}
.reservation-row .danger-soft,
.mini-action.danger-soft{
  background:#fee2e2!important;
  color:#991b1b!important;
  border:1px solid #fecaca!important;
}


/* v110 phase2 guest items, lost found, direct multi-room booking */
.room-guest-items-alert{
  grid-column:1/-1!important;
  border:2px solid #f59e0b!important;
  background:#fff7ed!important;
}
.room-guest-items-alert span{
  color:#92400e!important;
}
.room-guest-items-alert b{
  color:#7c2d12!important;
}
.room-guest-items-alert small{
  display:block;
  margin-top:3px;
  color:#92400e!important;
  font-weight:900;
}
.guest-items-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 12px;
}
.guest-item-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(140px,1.5fr) auto;
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid #cbd5e1;
  background:#ffffff;
}
.guest-item-row.out{
  border-color:#f59e0b;
  background:#fff7ed;
}
.guest-item-row.returned{
  border-color:#86efac;
  background:#f0fdf4;
}
.guest-item-row b{
  color:#0f172a!important;
}
.guest-item-row span,
.guest-item-row small{
  color:#334155!important;
  font-weight:800;
}
.danger-note{
  background:#fff7ed;
  border:1px solid #f97316;
  color:#7c2d12!important;
  padding:10px;
  border-radius:12px;
  font-weight:900;
}
.lost-found-option{
  border-color:#f59e0b!important;
  background:#fff7ed!important;
  color:#7c2d12!important;
}
.lost-found-form h3{
  margin-top:14px;
}
.lost-found-table{
  min-width:780px!important;
}
@media(max-width:700px){
  .guest-item-row{
    grid-template-columns:1fr;
  }
}


/* v111 phase3: top lost-found area and mobile reliability */
.category-topbar-v111{
  display:grid;
  grid-template-columns:minmax(0,1fr) 1px 210px;
  gap:12px;
  align-items:stretch;
  margin-bottom:10px;
}
.category-topbar-v111 .category-tabs{
  margin:0!important;
}
.category-divider-v111{
  width:1px;
  background:#cbd5e1;
  min-height:48px;
}
.lost-found-top-btn{
  border:2px solid #f59e0b;
  background:#fff7ed;
  color:#7c2d12;
  font-weight:1000;
  border-radius:12px;
  font-size:15px;
  cursor:pointer;
  min-height:48px;
  padding:9px 12px;
  box-shadow:0 2px 6px rgba(15,23,42,.08);
}
.lost-found-top-btn:hover{
  background:#fed7aa;
}
.lost-found-form textarea{
  min-height:74px;
}
.lost-found-form select,
.lost-found-form input,
.lost-found-form textarea{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:820px){
  .category-topbar-v111{
    grid-template-columns:1fr;
  }
  .category-divider-v111{
    height:1px;
    min-height:1px;
    width:100%;
  }
  .lost-found-top-btn{
    min-height:44px;
  }
  .pos-layout-v5{
    min-height:auto!important;
  }
  .products-panel-v5,
  .rooms-panel-v5,
  .order-panel-v5{
    max-height:none!important;
  }
  .modal-backdrop{
    align-items:flex-start!important;
    padding-top:8px!important;
  }
  .modal-box{
    width:97vw!important;
    max-width:97vw!important;
    max-height:94vh!important;
  }
  .modal-content{
    max-height:calc(94vh - 54px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}
@media(max-width:560px){
  .category-tabs{
    grid-template-columns:1fr 1fr!important;
  }
  .lost-found-table{
    min-width:720px!important;
  }
}


/* v112 professional admin/search/lost-found/money readability */
.room-title-item-dot{font-size:22px;color:#f59e0b;vertical-align:middle;text-shadow:0 0 0 2px #fff;}
.lost-found-form{max-width:760px!important;margin:0 auto!important;}
.lost-found-table{width:100%!important;min-width:0!important;table-layout:fixed!important;}
.lost-found-table th,.lost-found-table td{white-space:normal!important;word-break:break-word!important;overflow-wrap:anywhere!important;padding:8px 7px!important;}
.lost-found-table th:nth-child(1),.lost-found-table td:nth-child(1){width:52px!important}.lost-found-table th:nth-child(2),.lost-found-table td:nth-child(2){width:120px!important}.lost-found-table th:nth-child(5),.lost-found-table td:nth-child(5){width:150px!important}
.lf-status{display:inline-block;border-radius:999px;padding:4px 8px;font-weight:1000;background:#e0f2fe;color:#075985!important}.lf-status.claimed_pending{background:#fff7ed;color:#9a3412!important;border:1px solid #f59e0b}
.admin-res-filter-v112,.admin-client-filter,.period-filter{display:grid;grid-template-columns:minmax(220px,1fr) 190px 150px 150px 110px 130px;gap:9px;align-items:end;margin:12px 0;background:#fff!important;border:1px solid #cbd5e1;border-radius:14px;padding:12px}.admin-client-filter{grid-template-columns:minmax(220px,1fr) 160px 160px 110px 100px}.period-filter{grid-template-columns:180px 180px 110px}.admin-res-filter-v112 input,.admin-res-filter-v112 select,.admin-client-filter input,.period-filter input{background:#fff!important;color:#0f172a!important;border:1px solid #cbd5e1!important;border-radius:10px!important;min-height:42px;padding:8px 10px;font-weight:850}.quick-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.quick-filter{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid #cbd5e1;color:#0f172a!important;font-weight:900;text-decoration:none}.quick-filter.active{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a!important}.admin-res-summary{display:grid;grid-template-columns:60px minmax(180px,1.4fr) 130px 165px 120px 125px 105px;gap:10px;align-items:center;padding:12px 14px;cursor:pointer;background:#fff!important;color:#0f172a!important;list-style:none}.admin-res-summary::-webkit-details-marker{display:none}.admin-res-summary span{color:#0f172a!important}.admin-res-summary .res-main small{display:block;color:#64748b!important;font-weight:800}.admin-res-summary .res-room{font-weight:1000;color:#1e3a8a!important}.admin-res-summary .res-date{font-size:12px;font-weight:850}.admin-res-summary .open-hint{color:#2563eb!important;font-weight:1000}.admin-res-card-body{border-top:1px solid #e2e8f0;padding:12px;background:#f8fafc}.client-card-list,.lost-admin-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.client-card,.lost-admin-card{background:#fff!important;border:1px solid #cbd5e1;border-left:6px solid #2563eb;border-radius:14px;box-shadow:0 6px 18px rgba(15,23,42,.06);padding:0}.client-card summary{display:grid;grid-template-columns:minmax(180px,1fr) 140px 130px 80px;gap:10px;align-items:center;padding:12px;cursor:pointer;list-style:none}.client-card summary::-webkit-details-marker{display:none}.client-card small{display:block;color:#64748b!important;font-weight:800}.plate-pill{background:#eef2ff;border-radius:999px;padding:5px 9px;font-weight:900}.client-card-body,.lost-admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border-top:1px solid #e2e8f0;background:#f8fafc}.client-card-body div,.lost-admin-grid div{background:#fff!important;border:1px solid #e2e8f0;border-radius:10px;padding:8px}.client-card-body .wide,.lost-admin-grid .wide{grid-column:1/-1}.client-card-body span,.lost-admin-grid span{display:block;color:#64748b!important;font-weight:850;font-size:12px}.client-card-body b,.lost-admin-grid b{color:#0f172a!important;white-space:pre-wrap}.client-edit-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 90px 90px;gap:8px}.lost-admin-card{padding:12px}.lost-admin-card.status-claimed_pending{border-left-color:#f59e0b;background:#fff7ed!important}.lost-admin-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.lost-admin-head b{color:#0f172a!important;font-size:16px}.lost-admin-head span{color:#475569!important;font-weight:850}.lf-admin-status{display:inline-flex;align-items:center;border-radius:999px;background:#e0f2fe;color:#075985!important;padding:5px 10px;height:28px;font-weight:1000}.lost-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.admin-card,.admin-card *,.danger-card,.danger-card *,.admin-note,.admin-note *{color:#0f172a!important}.admin-card,.danger-card{background:#fff!important;border:1px solid #cbd5e1!important;border-radius:14px!important}.danger-card{border-left:6px solid #ef4444!important}.reset-form input{background:#fff!important;color:#0f172a!important;border:1px solid #cbd5e1!important}.period-stats .stat b{font-size:20px!important;}
@media(max-width:1000px){.admin-res-filter-v112,.admin-client-filter,.period-filter{grid-template-columns:1fr 1fr}.admin-res-summary{grid-template-columns:50px minmax(140px,1fr) 110px}.client-card-body,.lost-admin-grid{grid-template-columns:1fr 1fr}.client-edit-row{grid-template-columns:1fr}.client-card summary{grid-template-columns:1fr 1fr}.lost-found-form{max-width:100%!important}}
@media(max-width:650px){.admin-res-filter-v112,.admin-client-filter,.period-filter{grid-template-columns:1fr}.admin-res-summary,.client-card summary{grid-template-columns:1fr}.client-card-body,.lost-admin-grid{grid-template-columns:1fr}}


/* v113: status i pavarur i dhomës, mbrojtje kundër faturave pa shërbim dhe detaje të bashkuara */
.room-legend .dot.defective{background:#ef4444;border-color:#991b1b}
.room-legend .dot.irregular{background:#f59e0b;border-color:#92400e}
.room-btn-v5.compact-room-tile{position:relative;overflow:hidden}
.room-btn-v5.room-defective{border:3px solid #b91c1c!important;box-shadow:0 0 0 2px rgba(185,28,28,.18),0 5px 12px rgba(0,0,0,.14)!important}
.room-btn-v5.room-defective:not(.occupied-paid):not(.occupied-unpaid):not(.room-irregular){background:linear-gradient(180deg,#fee2e2,#fecaca)!important;color:#7f1d1d!important}
.room-btn-v5.room-irregular{background:linear-gradient(180deg,#fffbeb,#fde68a)!important;border:3px solid #d97706!important;color:#78350f!important}
.room-defect-badge,.room-note-badge,.room-irregular-badge{position:absolute;z-index:3;font-style:normal;font-weight:900;line-height:1;border-radius:999px}
.room-defect-badge{top:4px;right:4px;background:#b91c1c;color:#fff;padding:4px 6px;font-size:9px;letter-spacing:.3px}
.room-note-badge{top:5px;left:5px;width:18px;height:18px;display:grid;place-items:center;background:#0f172a;color:#fff;font-size:10px}
.room-irregular-badge{bottom:4px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#92400e;color:#fff;padding:4px 7px;font-size:9px}
.room-title-defect{display:inline-flex;vertical-align:middle;margin-left:6px;padding:4px 7px;border-radius:999px;background:#b91c1c;color:#fff;font-size:11px;font-weight:900}
.room-defect-meta{border:1px solid #ef4444!important;background:#fef2f2!important;color:#7f1d1d!important}
.room-defect-meta b{color:#b91c1c!important}
.room-ready-meta{border:1px solid #22c55e!important;background:#f0fdf4!important;color:#14532d!important}
.independent-note{border-color:#60a5fa!important;background:#eff6ff!important}
.room-details-main-btn{font-weight:900;border-color:#2563eb!important;background:#eff6ff!important;color:#1e3a8a!important}
.room-details-window{min-width:0}
.room-details-heading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
.room-details-heading>div{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.room-details-heading span{font-size:11px;color:#64748b}
.room-details-heading b{font-size:18px;color:#0f172a}
.status-defective-text{color:#b91c1c!important}.status-ready-text{color:#15803d!important}
.room-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.room-detail-card{background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:14px;box-shadow:0 3px 10px rgba(15,23,42,.06)}
.room-detail-card h3{margin:0 0 10px;color:#0f172a}
.room-detail-card label{display:block;margin:9px 0 5px;font-weight:800;color:#334155}
.room-detail-card input,.room-detail-card textarea{width:100%;box-sizing:border-box;border:1px solid #94a3b8;border-radius:10px;padding:10px;background:#fff;color:#0f172a}
.room-detail-card textarea{min-height:78px;resize:vertical}
.room-detail-card.disabled-card{background:#f8fafc;color:#64748b}
.room-detail-card.documents-card{grid-column:1/-1}
.status-action-row{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}
.compact-action{width:100%;margin-top:10px}
.defect-reason-box{display:flex;flex-direction:column;gap:4px;background:#fef2f2;border:1px solid #ef4444;border-radius:10px;padding:10px;color:#7f1d1d}
.room-note-history{max-height:260px;overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:6px}
.room-note-history-row{padding:9px;border-bottom:1px solid #e2e8f0}
.room-note-history-row:last-child{border-bottom:0}
.room-note-history-row>div{display:flex;justify-content:space-between;gap:8px;align-items:center}
.room-note-history-row span{font-size:11px;color:#64748b}
.room-note-history-row p{margin:6px 0 0;white-space:pre-wrap;color:#0f172a}
.room-note-history-row.type-defect{border-left:4px solid #ef4444}.room-note-history-row.type-ready{border-left:4px solid #22c55e}
.old-debt-kpi{border-color:#f59e0b!important;background:#fffbeb!important}
.old-debt-kpi b{color:#92400e!important}.old-debt-kpi small{display:block;margin-top:3px;color:#78350f;font-weight:700}
.old-debt-row td{background:#fff7ed!important}
.old-debt-inline{display:inline-block;margin-top:3px;padding:2px 6px;border-radius:999px;background:#ffedd5;color:#9a3412;font-weight:900}
.old-debt-table th{background:#7c2d12!important}

@media(max-width:900px){
  .room-details-heading,.room-details-grid{grid-template-columns:1fr}
  .room-detail-card.documents-card{grid-column:auto}
  .status-action-row{grid-template-columns:1fr}
  .daily-turnover-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:520px){
  .room-details-heading{gap:7px}
  .room-details-heading>div,.room-detail-card{padding:10px}
  .daily-turnover-kpis{grid-template-columns:1fr!important}
  .room-note-history-row>div{align-items:flex-start;flex-direction:column}
}

/* v114: cleaner dark room-details modal + better contrast */
.room-details-window-v114{
  background:linear-gradient(180deg,#0f172a 0%,#16243b 100%);
  color:#e2e8f0;
  border:1px solid #334155;
  border-radius:18px;
  padding:10px;
  box-shadow:0 18px 40px rgba(2,6,23,.28);
}
.room-details-window-v114 .confirm-actions{margin-top:14px}
.room-details-top-note{
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(37,99,235,.16);
  border:1px solid rgba(96,165,250,.35);
  color:#dbeafe;
  font-weight:700;
}
.room-details-heading-v114{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.room-details-heading-v114>div{
  background:rgba(15,23,42,.72);
  border:1px solid #334155;
  border-radius:14px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.room-details-heading-v114 span{font-size:11px;color:#94a3b8}
.room-details-heading-v114 b{font-size:18px;color:#f8fafc}
.room-details-heading-v114 small{font-size:11px;color:#cbd5e1}
.room-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:14px;font-weight:900;letter-spacing:.2px;width:fit-content}
.room-chip.state-free,.room-chip.state-ready{background:#dcfce7;color:#166534}
.room-chip.state-occupied{background:#dbeafe;color:#1d4ed8}
.room-chip.state-irregular{background:#fef3c7;color:#92400e}
.room-chip.state-defective{background:#fee2e2;color:#991b1b}
.room-chip.state-neutral{background:#e2e8f0;color:#334155}
.room-details-grid-v114{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.room-details-window-v114 .room-detail-card{
  background:rgba(15,23,42,.8);
  border:1px solid #334155;
  border-radius:16px;
  box-shadow:0 8px 18px rgba(2,6,23,.18);
  color:#e2e8f0;
}
.room-details-window-v114 .room-detail-card h3{color:#f8fafc;margin:0 0 12px}
.room-details-window-v114 .room-detail-card label{color:#cbd5e1}
.room-details-window-v114 .room-detail-card input,
.room-details-window-v114 .room-detail-card textarea{
  background:#0b1220;
  color:#f8fafc;
  border:1px solid #475569;
}
.room-details-window-v114 .room-detail-card input::placeholder,
.room-details-window-v114 .room-detail-card textarea::placeholder{color:#94a3b8}
.room-details-window-v114 .disabled-card{background:rgba(30,41,59,.55);color:#94a3b8}
.room-details-window-v114 .disabled-card p{margin:0;color:#cbd5e1}
.room-inline-info{
  margin-top:10px;
  padding:9px 10px;
  border-radius:10px;
  background:rgba(14,116,144,.16);
  border:1px solid rgba(34,211,238,.35);
  color:#cffafe;
  font-size:13px;
}
.room-details-window-v114 .locked-field{
  background:rgba(248,250,252,.04);
  border:1px solid #334155;
  color:#f8fafc;
}
.room-details-window-v114 .locked-field span,
.room-details-window-v114 .locked-field small{color:#94a3b8}
.room-note-current{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px;
  border-radius:12px;
  border:1px solid #334155;
  background:rgba(15,23,42,.55);
  margin-bottom:10px;
}
.room-note-current span{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#93c5fd;font-weight:800}
.room-note-current b{color:#f8fafc;font-size:15px}
.room-note-current small{color:#94a3b8}
.room-note-current.type-defect{border-left:4px solid #ef4444;background:rgba(127,29,29,.18)}
.room-note-current.type-ready{border-left:4px solid #22c55e;background:rgba(20,83,45,.18)}
.room-note-current.type-general,.room-note-current.type-legacy{border-left:4px solid #60a5fa}
.room-note-current.empty{border-style:dashed;color:#cbd5e1}
.room-history-toggle{margin-top:12px;border-top:1px dashed #475569;padding-top:10px}
.room-history-toggle summary{cursor:pointer;font-weight:900;color:#dbeafe;list-style:none}
.room-history-toggle summary::-webkit-details-marker{display:none}
.room-history-subtitle{margin:8px 0 10px;color:#94a3b8;font-size:12px}
.room-details-window-v114 .room-note-history{background:#0b1220;border-color:#334155;max-height:280px}
.room-details-window-v114 .room-note-history-row{border-bottom:1px solid #23324a}
.room-details-window-v114 .room-note-history-row span{color:#94a3b8}
.room-details-window-v114 .room-note-history-row p{color:#f8fafc}
.room-details-window-v114 .defect-reason-box{background:rgba(127,29,29,.2);border-color:#ef4444;color:#fecaca}
.room-details-window-v114 .defect-reason-box b{color:#fff}
.room-documents-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.room-documents-card{grid-column:1/-1}
.room-detail-main-card{min-height:100%}
.room-detail-side-card{min-height:100%}
.room-details-window-v114 .btn.secondary{background:#dbeafe;color:#1e3a8a;border-color:#93c5fd}
.room-details-window-v114 .btn.success{box-shadow:none}
.room-details-window-v114 .small-text{color:#cbd5e1}
.room-free-meta b{color:#0f172a}
@media(max-width:980px){
  .room-details-heading-v114,.room-details-grid-v114{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .room-details-heading-v114,.room-details-grid-v114{grid-template-columns:1fr}
  .room-documents-card{grid-column:auto}
}

/* =========================================================
   v115 - simplified room details, organized admin dashboard,
   and mobile usability/performance presentation
   ========================================================= */

/* Simple room details */
.room-details-simple-v115{max-width:820px;margin:0 auto;color:#0f172a}
.room-simple-header{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:12px}
.room-simple-header>div{min-width:0;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:5px}
.room-simple-header span{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.3px}
.room-simple-header strong{font-size:22px;color:#0f172a;overflow-wrap:anywhere}
.room-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
.room-detail-tab{min-height:64px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;color:#334155;padding:9px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;cursor:pointer;text-align:left}
.room-detail-tab b{font-size:14px;color:#0f172a}
.room-detail-tab span{font-size:11px;color:#64748b}
.room-detail-tab.active{background:#e0edff;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.room-detail-tab.active b{color:#1d4ed8}
.room-detail-panel{display:none;background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:15px;box-shadow:0 5px 14px rgba(15,23,42,.07)}
.room-detail-panel.active{display:block}
.room-detail-panel h3{margin:0 0 5px;color:#0f172a}
.room-detail-panel h4{margin:16px 0 8px;color:#0f172a;display:flex;justify-content:space-between;gap:10px}
.room-detail-panel h4 span{font-size:11px;border-radius:999px;background:#fef3c7;color:#92400e;padding:4px 7px}
.room-detail-panel label{display:block;margin:12px 0 5px;font-weight:800;color:#334155}
.room-detail-panel input,.room-detail-panel textarea{width:100%;border:1px solid #94a3b8;border-radius:10px;background:#fff;color:#0f172a;padding:11px;font-size:16px}
.room-detail-panel textarea{min-height:88px;resize:vertical}
.panel-explanation{margin:0 0 12px;color:#64748b;line-height:1.45}
.simple-status-box{border-radius:12px;padding:12px;margin-bottom:10px;border:1px solid #cbd5e1;display:flex;flex-direction:column;gap:4px}
.simple-status-box span{font-size:11px;font-weight:800;text-transform:uppercase;color:#64748b}
.simple-status-box strong{font-size:20px}
.simple-status-box p{margin:2px 0 0;line-height:1.4}
.simple-status-box.ready{background:#f0fdf4;border-color:#86efac;color:#14532d}
.simple-status-box.occupied{background:#eff6ff;border-color:#93c5fd;color:#1e3a8a}
.simple-status-box.defective{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}
.simple-alert{border-radius:10px;padding:10px 12px;margin:8px 0;font-weight:800;line-height:1.4}
.simple-alert.warning{background:#fffbeb;border:1px solid #f59e0b;color:#78350f}
.simple-alert.danger{background:#fef2f2;border:1px solid #ef4444;color:#7f1d1d}
.simple-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}
.simple-info-grid>div{border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc;padding:10px;display:flex;flex-direction:column;gap:4px}
.simple-info-grid span{font-size:11px;color:#64748b}
.simple-info-grid b{color:#0f172a;overflow-wrap:anywhere}
.simple-help,.simple-empty-state,.simple-sync-note{border-radius:10px;padding:10px 12px;line-height:1.45}
.simple-help{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}
.simple-empty-state{background:#f8fafc;border:1px dashed #94a3b8;color:#475569;margin-top:10px}
.simple-sync-note{margin-top:12px;background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;font-size:12px}
.simple-subsection{border-top:1px solid #e2e8f0;margin-top:15px;padding-top:4px}
.simple-invoice-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.simple-invoice-summary>div{border:1px solid #cbd5e1;border-radius:11px;background:#f8fafc;padding:11px;display:flex;flex-direction:column;gap:5px}
.simple-invoice-summary span{font-size:11px;color:#64748b}
.simple-invoice-summary b{font-size:18px;color:#0f172a}
.simple-invoice-summary .unpaid{background:#fff7ed;border-color:#fdba74}
.simple-invoice-summary .unpaid b{color:#9a3412}
.room-detail-panel .full{width:100%;margin-top:10px}
.room-details-simple-v115 .room-note-current{background:#f8fafc;border-color:#cbd5e1}
.room-details-simple-v115 .room-note-current b,.room-details-simple-v115 .room-note-history-row p{color:#0f172a}
.room-details-simple-v115 .room-note-history{background:#f8fafc;border-color:#dbe3ee}
.room-details-simple-v115 .room-history-toggle summary{color:#1d4ed8}
.room-details-simple-v115 .room-history-subtitle{color:#64748b}

/* Admin hub */
.admin-hub-v115{max-width:1480px;padding:22px}
.admin-hub-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fff;border-radius:18px;padding:22px;box-shadow:0 12px 30px rgba(15,23,42,.16)}
.admin-hub-header h1{margin:4px 0 8px;font-size:30px}
.admin-hub-header p{margin:0;max-width:850px;color:#dbeafe;line-height:1.5}
.admin-eyebrow{font-size:11px;letter-spacing:1.2px;font-weight:900;color:#93c5fd}
.admin-logout-btn{white-space:nowrap}
.admin-today-panel{background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 6px 18px rgba(15,23,42,.06)}
.admin-today-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:12px}
.admin-today-title>div{display:flex;flex-direction:column;gap:2px}
.admin-today-title span{font-size:12px;font-weight:900;color:#2563eb;text-transform:uppercase;letter-spacing:.5px}
.admin-today-title b{font-size:18px;color:#0f172a}
.admin-today-title small{color:#64748b}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.admin-kpi{min-width:0;border:1px solid #dbe3ee;border-radius:12px;background:#f8fafc;padding:11px;display:flex;flex-direction:column;gap:4px}
.admin-kpi span{font-size:11px;color:#64748b;font-weight:800}
.admin-kpi b{font-size:18px;color:#0f172a;overflow-wrap:anywhere}
.admin-kpi small{font-size:11px;color:#64748b;line-height:1.35}
.admin-kpi.attention{background:#fff7ed;border-color:#fdba74}.admin-kpi.attention b{color:#9a3412}
.admin-kpi.info{background:#eff6ff;border-color:#93c5fd}.admin-kpi.info b{color:#1d4ed8}
.admin-kpi.danger{background:#fef2f2;border-color:#fca5a5}.admin-kpi.danger b{color:#b91c1c}
.admin-find-box{position:sticky;top:8px;z-index:12;background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:13px 14px;margin-bottom:18px;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.admin-find-box label{display:block;font-weight:900;color:#0f172a;margin-bottom:7px}
.admin-find-box small{display:block;color:#64748b;margin-top:6px}
.admin-search-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.admin-search-control input{min-width:0;border:1px solid #94a3b8;border-radius:10px;padding:11px 12px;font-size:16px;background:#fff;color:#0f172a}
.admin-search-clear{border:1px solid #cbd5e1;border-radius:10px;background:#f1f5f9;color:#334155;font-weight:900;padding:0 16px;cursor:pointer}
.admin-tool-sections{display:flex;flex-direction:column;gap:18px}
.admin-tool-section{background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:16px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.admin-section-heading{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px}
.admin-section-number{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#1d4ed8;color:#fff;display:grid;place-items:center;font-weight:900}
.admin-section-heading h2{margin:0 0 3px;color:#0f172a;font-size:20px}
.admin-section-heading p{margin:0;color:#64748b}
.admin-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.admin-tool-card{position:relative;min-width:0;border:1px solid #dbe3ee;border-radius:13px;background:#f8fafc;padding:14px;color:#0f172a;display:flex;flex-direction:column;gap:6px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}
.admin-tool-card:hover{transform:translateY(-1px);border-color:#60a5fa;box-shadow:0 8px 16px rgba(15,23,42,.08)}
.admin-tool-card.primary{border-left:5px solid #2563eb;background:#f8fbff}
.admin-tool-card.warning{border-left:5px solid #f59e0b;background:#fffbeb}
.admin-tool-card.danger-zone{border-left:5px solid #dc2626;background:#fef2f2}
.admin-tool-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:900;color:#2563eb}
.admin-tool-card.warning .admin-tool-label{color:#92400e}.admin-tool-card.danger-zone .admin-tool-label{color:#b91c1c}
.admin-tool-card strong{font-size:16px;color:#0f172a}
.admin-tool-card p{margin:0;color:#64748b;line-height:1.42;flex:1}
.admin-tool-card em{font-style:normal;font-weight:900;color:#1d4ed8;margin-top:4px}
.admin-tool-card.warning em{color:#92400e}.admin-tool-card.danger-zone em{color:#b91c1c}
.admin-system-section{border-color:#fecaca}
.admin-guidance-box{margin-top:18px;background:#eff6ff;border:1px solid #93c5fd;border-radius:13px;padding:13px;color:#1e3a8a;display:flex;gap:8px;align-items:flex-start;line-height:1.45}
.admin-no-results{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:12px;padding:16px;text-align:center;font-weight:800}
.hidden-by-search{display:none!important}

/* Mobile stability and touch usability */
@media(max-width:1100px){
  .admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .modal-backdrop{align-items:flex-start;padding:8px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .modal-box{width:100%;max-width:100%;max-height:none;margin:6px 0;border-radius:13px}
  .modal-content{max-height:none;overflow:visible}
  .room-simple-header{grid-template-columns:1fr}
  .room-detail-tabs{grid-template-columns:1fr 1fr;position:sticky;top:0;z-index:4;background:#fff;padding:5px 0}
  .room-detail-tab{min-height:58px}
  .room-detail-panel{padding:12px}
  .simple-info-grid,.simple-invoice-summary{grid-template-columns:1fr}
  .room-detail-panel input,.room-detail-panel textarea,.admin-search-control input{font-size:16px!important}
  .room-detail-panel .btn,.room-details-simple-v115 .confirm-actions .btn{min-height:46px}
  .admin-hub-v115{padding:10px}
  .admin-hub-header{flex-direction:column;padding:16px;border-radius:14px}
  .admin-hub-header h1{font-size:24px}
  .admin-logout-btn{width:100%}
  .admin-today-title{align-items:flex-start;flex-direction:column}
  .admin-kpi-grid{grid-template-columns:1fr 1fr}
  .admin-find-box{top:4px;padding:10px}
  .admin-search-control{grid-template-columns:1fr}
  .admin-search-clear{min-height:42px}
  .admin-tool-section{padding:12px}
  .admin-tool-grid{grid-template-columns:1fr}
  .admin-tool-card{padding:13px;min-height:126px}
  .admin-guidance-box{flex-direction:column}
}
@media(max-width:420px){
  .room-detail-tabs{grid-template-columns:1fr}
  .admin-kpi-grid{grid-template-columns:1fr}
}
.admin-hub-header h1{color:#fff!important}
.admin-hub-header p{color:#dbeafe!important}
.admin-no-results.hidden{display:none!important}

/* =========================================================
   v116 - unified admin shell, room-note workflow, mobile pulse
   ========================================================= */
.admin-body-v116{background:#eef4f7;color:#0f172a;min-height:100vh;overflow-x:hidden}
.admin-layout-v116{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.admin-sidebar-v116{position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#0b172a,#111f34);color:#e5eefc;border-right:1px solid #26374f;padding:14px 12px;z-index:60;display:flex;flex-direction:column}
.admin-sidebar-brand{display:flex;align-items:center;gap:10px;padding:8px 8px 16px;border-bottom:1px solid #26374f;margin-bottom:10px}
.admin-sidebar-brand>span{width:42px;height:42px;border-radius:12px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:900;font-size:17px}
.admin-sidebar-brand div{display:flex;flex-direction:column;min-width:0}.admin-sidebar-brand b{font-size:15px;color:#fff}.admin-sidebar-brand small{color:#9fb0c7}
.admin-sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1}
.admin-sidebar-nav a{display:flex;align-items:center;gap:9px;border-radius:9px;padding:9px 10px;color:#cbd8e9;font-weight:700;font-size:13px}
.admin-sidebar-nav a:hover{background:#1d2d45;color:#fff}.admin-sidebar-nav a.active{background:#2563eb;color:#fff;box-shadow:0 5px 14px rgba(37,99,235,.28)}
.admin-sidebar-home{margin-bottom:2px}.admin-sidebar-group{padding-top:7px;border-top:1px solid rgba(148,163,184,.15)}
.admin-sidebar-group-title{display:flex;align-items:center;gap:7px;padding:4px 10px 6px;color:#7f93ad;text-transform:uppercase;letter-spacing:.55px;font-size:10px;font-weight:900}
.admin-sidebar-bottom{display:grid;grid-template-columns:1fr 1fr;gap:7px;border-top:1px solid #26374f;padding-top:10px;margin-top:10px}
.admin-sidebar-bottom a{border:1px solid #334862;border-radius:9px;padding:9px;text-align:center;color:#dbe7f7;font-weight:800;font-size:12px}.admin-sidebar-bottom a.danger{border-color:#7f1d1d;background:#3a151b;color:#fecaca}
.admin-main-v116{min-width:0;padding:18px 22px 32px}
.admin-page-top-v116{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #d5e0e8;border-radius:14px;padding:15px 17px;box-shadow:0 6px 18px rgba(15,23,42,.05);margin-bottom:10px}
.admin-page-heading-v116{min-width:0;flex:1}.admin-page-breadcrumb{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.55px;font-weight:900}.admin-page-heading-v116 h1{margin:2px 0 3px!important;font-size:25px!important;color:#0f172a!important}.admin-page-heading-v116 p{margin:0;color:#64748b;line-height:1.4}
.admin-top-pos-link{white-space:nowrap;border-radius:9px;padding:10px 14px;background:#eff6ff;border:1px solid #93c5fd;color:#1d4ed8;font-weight:900}
.admin-mobile-menu-v116{display:none;border:1px solid #cbd5e1;background:#fff;border-radius:9px;width:42px;height:42px;font-size:20px;cursor:pointer}
.admin-context-tabs-v116{display:flex;gap:7px;overflow-x:auto;padding:5px 0 11px;-webkit-overflow-scrolling:touch}.admin-context-tabs-v116 a{white-space:nowrap;display:flex;align-items:center;gap:6px;border:1px solid #cbd5e1;background:#fff;border-radius:999px;padding:8px 12px;color:#475569;font-size:12px;font-weight:800}.admin-context-tabs-v116 a.active{background:#0f172a;color:#fff;border-color:#0f172a}
.admin-page-content-v116{min-width:0}.admin-page-content-v116>.admin-wrap{max-width:none!important;margin:0!important;padding:0!important}.admin-page-content-v116>.admin-wrap.wide{max-width:none!important}
.admin-page-content-v116 .admin-header{margin:0 0 12px}.admin-page-content-v116 .admin-header h1{display:none}.admin-page-content-v116 .admin-header>a[href*="/admin"]{display:none}
.admin-sidebar-overlay-v116{display:none}

/* Admin home */
.admin-home-v116{display:flex;flex-direction:column;gap:14px}
.admin-kpis-v116{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.admin-kpis-v116 a{background:#fff;border:1px solid #d5e0e8;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}.admin-kpis-v116 span{font-size:11px;color:#64748b;font-weight:800}.admin-kpis-v116 b{font-size:20px;color:#0f172a;overflow-wrap:anywhere}.admin-kpis-v116 small{font-size:11px;color:#64748b}.admin-kpis-v116 a.warn{background:#fff7ed;border-color:#fdba74}.admin-kpis-v116 a.warn b{color:#9a3412}.admin-kpis-v116 a.danger{background:#fef2f2;border-color:#fca5a5}.admin-kpis-v116 a.danger b{color:#b91c1c}.admin-kpis-v116 a.info{background:#eff6ff;border-color:#93c5fd}.admin-kpis-v116 a.info b{color:#1d4ed8}
.admin-quick-help-v116{background:#fff;border:1px solid #d5e0e8;border-radius:12px;padding:12px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(260px,440px);gap:12px;align-items:center}.admin-quick-help-v116>div{display:flex;flex-direction:column;gap:3px}.admin-quick-help-v116 b{color:#0f172a}.admin-quick-help-v116 span{color:#64748b;line-height:1.4}.admin-quick-help-v116 input{width:100%;border:1px solid #94a3b8;border-radius:9px;padding:11px 12px;background:#fff;color:#0f172a;font-size:15px}
.admin-sections-v116{display:grid;grid-template-columns:1fr 1fr;gap:13px}.admin-section-v116{background:#fff;border:1px solid #d5e0e8;border-radius:14px;padding:13px;box-shadow:0 4px 13px rgba(15,23,42,.04)}.admin-section-v116>header{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}.admin-section-v116>header>span{font-size:24px}.admin-section-v116 h2{font-size:17px!important;margin:0 0 2px!important;color:#0f172a!important}.admin-section-v116 header p{margin:0;color:#64748b;font-size:12px}.admin-section-v116.system{grid-column:1/-1;border-color:#fecaca}
.admin-action-grid-v116{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-action-grid-v116 a{display:flex;align-items:center;gap:10px;border:1px solid #dbe4ec;border-radius:10px;background:#f8fafc;padding:10px;min-height:69px}.admin-action-grid-v116 a:hover{border-color:#60a5fa;background:#f4f8ff}.admin-action-grid-v116 a>span{font-size:21px;flex:0 0 25px;text-align:center}.admin-action-grid-v116 a>div{display:flex;flex-direction:column;gap:3px;min-width:0}.admin-action-grid-v116 b{color:#0f172a;font-size:13px}.admin-action-grid-v116 small{color:#64748b;line-height:1.3}.admin-action-grid-v116 a.attention{border-left:4px solid #f59e0b;background:#fffbeb}.admin-action-grid-v116 a.danger-card{border-left:4px solid #dc2626;background:#fef2f2}.admin-no-results-v116{background:#fff7ed;border:1px solid #fdba74;border-radius:11px;padding:14px;text-align:center;color:#9a3412;font-weight:800}.admin-no-results-v116.hidden{display:none!important}

/* Room note administration */
.room-notes-admin-v116{display:flex;flex-direction:column;gap:12px}.note-kpis-v116{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.note-kpis-v116 a{background:#fff;border:1px solid #d5e0e8;border-radius:11px;padding:11px;display:flex;flex-direction:column;gap:3px}.note-kpis-v116 span{font-size:11px;color:#64748b;font-weight:800}.note-kpis-v116 b{font-size:22px;color:#0f172a}.note-kpis-v116 small{color:#64748b;font-size:11px}.note-kpis-v116 a.danger{background:#fef2f2;border-color:#fca5a5}.note-kpis-v116 a.danger b{color:#b91c1c}
.note-rules-v116{display:grid;grid-template-columns:1fr 1fr;gap:9px}.note-rules-v116>div{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px;color:#1e3a8a}.note-rules-v116 b{font-size:12px}.note-rules-v116 span{line-height:1.4;font-size:12px}
.note-filter-v116{background:#fff;border:1px solid #d5e0e8;border-radius:12px;padding:11px;display:grid;grid-template-columns:140px 175px 120px minmax(180px,1fr) auto auto;gap:8px;align-items:end}.note-filter-v116 label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#475569;font-weight:800}.note-filter-v116 input,.note-filter-v116 select{width:100%;border:1px solid #94a3b8;border-radius:8px;padding:9px;background:#fff;color:#0f172a;font-size:14px}
.note-list-v116{display:grid;grid-template-columns:1fr 1fr;gap:10px}.note-card-v116{background:#fff;border:1px solid #d5e0e8;border-left:5px solid #60a5fa;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:9px}.note-card-v116.type-defect{border-left-color:#ef4444}.note-card-v116.type-cleaning{border-left-color:#22c55e}.note-card-v116.type-guest{border-left-color:#8b5cf6}.note-card-v116.status-archived,.note-card-v116.status-deleted{opacity:.82}.note-card-v116>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.note-room-v116{display:flex;align-items:center;gap:9px}.note-room-v116>span{font-size:23px}.note-room-v116>div{display:flex;flex-direction:column}.note-room-v116 b{color:#0f172a}.note-room-v116 small{color:#64748b}.note-status-pill-v116{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;background:#fef3c7;color:#92400e}.note-status-pill-v116.completed{background:#dcfce7;color:#166534}.note-status-pill-v116.archived{background:#e2e8f0;color:#475569}.note-status-pill-v116.deleted{background:#fee2e2;color:#991b1b}.note-text-v116{margin:0;color:#0f172a;white-space:pre-wrap;line-height:1.45;font-size:14px}.note-meta-v116{display:flex;flex-direction:column;gap:3px;color:#64748b;font-size:11px;border-top:1px dashed #dbe4ec;padding-top:8px}.note-actions-v116{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}.note-actions-v116 form{margin:0}.note-actions-v116 .btn{padding:8px 10px;font-size:12px}.note-delete-v116{margin-left:auto}.note-delete-v116 summary{cursor:pointer;border:1px solid #fecaca;border-radius:8px;padding:8px 9px;color:#b91c1c;font-size:12px;font-weight:800}.note-delete-v116 form{margin-top:7px;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;padding:9px;display:flex;flex-direction:column;gap:7px}.note-delete-v116 label{display:flex;flex-direction:column;gap:4px;color:#7f1d1d;font-size:11px;font-weight:800}.note-delete-v116 input{border:1px solid #fca5a5;border-radius:7px;padding:8px;background:#fff;color:#0f172a}.admin-empty-v116{grid-column:1/-1;background:#fff;border:1px dashed #94a3b8;border-radius:11px;padding:20px;text-align:center;color:#64748b}

/* Simpler room details for POS */
.room-details-simple-v116{max-width:760px;margin:0 auto;color:#0f172a}.room-simple-header-v116{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px}.room-simple-header-v116>div{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.room-simple-header-v116 span{font-size:10px;color:#64748b;font-weight:900;text-transform:uppercase}.room-simple-header-v116 strong{font-size:21px}.room-simple-header-v116 b{font-size:15px}.room-detail-tabs-v116{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:10px 0}.room-detail-tabs-v116 .room-detail-tab{min-height:58px;align-items:center;text-align:center;position:relative}.room-detail-tabs-v116 .room-detail-tab>span{font-size:19px}.room-detail-tabs-v116 .room-detail-tab>b{font-size:12px}.room-detail-tabs-v116 .room-detail-tab>em{position:absolute;top:5px;right:6px;min-width:18px;height:18px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;font-style:normal;display:grid;place-items:center}.active-room-notes-list-v116{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.active-room-note-v116{border:1px solid #dbe4ec;border-left:4px solid #60a5fa;border-radius:10px;padding:10px;background:#f8fafc}.active-room-note-v116.type-cleaning{border-left-color:#22c55e}.active-room-note-v116.type-guest{border-left-color:#8b5cf6}.active-room-note-v116.type-defect{border-left-color:#ef4444;background:#fef2f2}.active-room-note-head-v116{display:flex;gap:8px;align-items:center}.active-room-note-head-v116>span{font-size:19px}.active-room-note-head-v116>div{display:flex;flex-direction:column}.active-room-note-head-v116 b{font-size:12px}.active-room-note-head-v116 small{color:#64748b;font-size:10px}.active-room-note-v116 p{margin:7px 0;color:#0f172a;white-space:pre-wrap;line-height:1.4}.note-create-v116{border-top:1px solid #e2e8f0;padding-top:7px}.note-create-v116 select{width:100%;border:1px solid #94a3b8;border-radius:9px;background:#fff;color:#0f172a;padding:10px;font-size:15px}

@media(max-width:1180px){.admin-kpis-v116{grid-template-columns:repeat(3,1fr)}.admin-sections-v116{grid-template-columns:1fr}.admin-section-v116.system{grid-column:auto}.note-list-v116{grid-template-columns:1fr}.note-filter-v116{grid-template-columns:1fr 1fr 1fr}.note-filter-v116 .btn{min-height:42px}}
@media(max-width:820px){
  .admin-layout-v116{display:block}.admin-main-v116{padding:10px}.admin-sidebar-v116{position:fixed;left:-280px;top:0;width:268px;height:100dvh;transition:left .18s ease;box-shadow:14px 0 30px rgba(2,6,23,.28)}.admin-menu-open-v116 .admin-sidebar-v116{left:0}.admin-sidebar-overlay-v116{display:block;position:fixed;inset:0;border:0;background:rgba(2,6,23,.58);z-index:55;opacity:0;pointer-events:none;transition:opacity .18s ease}.admin-menu-open-v116 .admin-sidebar-overlay-v116{opacity:1;pointer-events:auto}.admin-mobile-menu-v116{display:block;flex:0 0 42px}.admin-page-top-v116{padding:11px}.admin-top-pos-link{display:none}.admin-page-heading-v116 h1{font-size:20px!important}.admin-page-heading-v116 p{font-size:12px}.admin-context-tabs-v116{margin:0 -2px}.admin-quick-help-v116{grid-template-columns:1fr}.admin-action-grid-v116{grid-template-columns:1fr 1fr}.note-rules-v116{grid-template-columns:1fr}.note-filter-v116{grid-template-columns:1fr 1fr}.room-simple-header-v116{grid-template-columns:1fr}.room-detail-tabs-v116{grid-template-columns:1fr 1fr;position:sticky;top:0;background:#fff;z-index:4;padding:5px 0}.room-details-simple-v116 .room-detail-panel{padding:11px}.modal-backdrop{padding:6px}.modal-box{margin:0;width:100%;max-height:calc(100dvh - 12px)}.modal-content{max-height:calc(100dvh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:520px){.admin-kpis-v116{grid-template-columns:1fr 1fr}.admin-action-grid-v116{grid-template-columns:1fr}.note-filter-v116{grid-template-columns:1fr}.room-detail-tabs-v116{grid-template-columns:1fr 1fr}.admin-page-heading-v116 p{display:none}.admin-page-breadcrumb{display:none}}
.admin-sidebar-bottom{grid-template-columns:1fr}
.backup-center-v116{display:flex;flex-direction:column;gap:12px}.backup-primary-v116{background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#fff;border-radius:14px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:15px}.backup-primary-v116>div{display:flex;align-items:flex-start;gap:12px}.backup-primary-v116>div>span{font-size:31px}.backup-primary-v116 h2{margin:0 0 5px!important;color:#fff!important}.backup-primary-v116 p{margin:0;color:#dbeafe;max-width:760px;line-height:1.45}.backup-primary-v116 .btn{white-space:nowrap}.backup-info-v116{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.backup-info-v116>div{background:#fff;border:1px solid #d5e0e8;border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:4px}.backup-info-v116 span{font-size:11px;color:#64748b}.backup-info-v116 b{color:#0f172a}.backup-info-v116 small{color:#64748b;overflow-wrap:anywhere}.backup-history-v116{background:#fff;border:1px solid #d5e0e8;border-radius:12px;padding:14px}.backup-history-v116 h3{margin:0 0 4px;color:#0f172a}.backup-history-v116>p{margin:0 0 10px;color:#64748b}.backup-list-v116{display:flex;flex-direction:column;gap:6px}.backup-list-v116>div{display:flex;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc;padding:9px}.backup-list-v116 b{overflow-wrap:anywhere}.backup-list-v116 span{color:#64748b;white-space:nowrap}
@media(max-width:760px){.backup-primary-v116{flex-direction:column;align-items:stretch}.backup-info-v116{grid-template-columns:1fr}.backup-list-v116>div{flex-direction:column}.backup-list-v116 span{white-space:normal}}
.note-create-admin-v116{background:#fff;border:1px solid #93c5fd;border-radius:11px;padding:11px}.note-create-admin-v116 summary{cursor:pointer;color:#1d4ed8;font-weight:900}.note-create-admin-v116 form{display:grid;grid-template-columns:180px 230px minmax(260px,1fr) auto;gap:9px;align-items:end;margin-top:11px}.note-create-admin-v116 label{display:flex;flex-direction:column;gap:4px;color:#475569;font-size:11px;font-weight:800}.note-create-admin-v116 input,.note-create-admin-v116 select,.note-create-admin-v116 textarea{width:100%;border:1px solid #94a3b8;border-radius:8px;padding:9px;background:#fff;color:#0f172a}.note-create-admin-v116 textarea{min-height:42px;resize:vertical}.note-create-admin-v116 .btn{min-height:42px}
@media(max-width:980px){.note-create-admin-v116 form{grid-template-columns:1fr 1fr}.note-create-admin-v116 label.wide{grid-column:1/-1}}
@media(max-width:560px){.note-create-admin-v116 form{grid-template-columns:1fr}.note-create-admin-v116 label.wide{grid-column:auto}}

/* =========================================================
   v117 - calmer UI, guaranteed scrolling, lighter mobile sync
   ========================================================= */

/* Scroll must always remain available on admin pages and inside dialogs. */
html:has(.admin-layout-v116),
body.admin-body-v116{
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto;
}
.admin-layout-v116,
.admin-main-v116,
.admin-page-content-v116{
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.admin-main-v116{padding-bottom:max(34px,env(safe-area-inset-bottom))!important}
.admin-page-content-v116,.admin-page-content-v116 *{min-width:0}
.admin-page-content-v116 .admin-wrap{width:100%!important;max-width:none!important;padding-bottom:24px!important}
.admin-page-content-v116 .admin-card,
.admin-page-content-v116 .panel,
.admin-page-content-v116 .form-card{
  max-width:100%!important;
}
.admin-page-content-v116 .admin-card:has(>table),
.admin-page-content-v116 .panel:has(>table),
.admin-page-content-v116 .table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.admin-page-content-v116 .admin-card>table,
.admin-page-content-v116 .panel>table,
.admin-page-content-v116 .table-wrap>table{
  width:100%!important;
  min-width:720px;
}
.admin-page-content-v116 input,
.admin-page-content-v116 select,
.admin-page-content-v116 textarea{
  max-width:100%;
}

/* Dialogs have one clear scroll area. No browser zoom-out is needed. */
body.pos-modal-open{overflow:hidden!important;touch-action:none}
.modal-backdrop{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  align-items:center!important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.modal-box{
  display:flex!important;
  flex-direction:column!important;
  width:min(980px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100dvh - 24px)!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:16px!important;
  box-shadow:0 24px 64px rgba(15,23,42,.28)!important;
}
.modal-head{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:8;
}
.modal-content{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-bottom:max(16px,env(safe-area-inset-bottom))!important;
}
.modal-content::-webkit-scrollbar,
.admin-sidebar-v116::-webkit-scrollbar,
.admin-page-content-v116 .admin-card:has(>table)::-webkit-scrollbar{width:10px;height:10px}
.modal-content::-webkit-scrollbar-thumb,
.admin-sidebar-v116::-webkit-scrollbar-thumb,
.admin-page-content-v116 .admin-card:has(>table)::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:999px;border:2px solid transparent;background-clip:padding-box}

/* All room tiles keep exactly the same visual size, regardless of extra info. */
.pos-v7 .rooms-grid-v5{align-content:start!important;grid-auto-flow:row!important}
.pos-v7 .room-btn-v5.compact-room-tile{
  box-sizing:border-box!important;
  width:100%!important;
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;
  display:grid!important;
  grid-template-rows:44px 15px 13px!important;
  grid-template-columns:1fr!important;
  align-content:center!important;
  justify-items:center!important;
  gap:3px!important;
  padding:13px 7px 21px!important;
  flex:none!important;
  overflow:hidden!important;
  contain:layout paint;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-number{
  grid-row:1!important;
  align-self:center!important;
  width:100%!important;
  min-height:44px!important;
  max-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:1000!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-align:center!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.room-long .room-number,
.pos-v7 .room-btn-v5.compact-room-tile.room-very-long .room-number{
  font-size:21px!important;
  line-height:1.02!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-status{
  grid-row:2!important;
  align-self:center!important;
  width:100%!important;
  min-height:15px!important;
  max-height:15px!important;
  margin:0!important;
  font-size:9.5px!important;
  line-height:15px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-guest-compact{
  grid-row:3!important;
  align-self:center!important;
  width:100%!important;
  min-height:13px!important;
  max-height:13px!important;
  margin:0!important;
  font-size:8.5px!important;
  line-height:13px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.overtime-room{padding-top:13px!important}
.pos-v7 .room-btn-v5.compact-room-tile .room-defect-badge,
.pos-v7 .room-btn-v5.compact-room-tile .room-note-badge,
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge,
.pos-v7 .room-btn-v5.compact-room-tile .room-longstay-badge,
.pos-v7 .room-btn-v5.compact-room-tile .room-irregular-badge{position:absolute!important}

/* A calmer admin home: one section is open, the rest stay compact. */
.admin-home-v117{display:flex;flex-direction:column;gap:12px;max-width:1500px;margin:0 auto}
.admin-kpis-v117{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.admin-kpis-v117 a{
  background:#fff;
  border:1px solid #dbe4ec;
  border-radius:13px;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:4px;
  box-shadow:0 4px 14px rgba(15,23,42,.035);
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.admin-kpis-v117 a:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 7px 18px rgba(15,23,42,.07)}
.admin-kpis-v117 span{font-size:11px;color:#64748b;font-weight:850}
.admin-kpis-v117 b{font-size:20px;line-height:1.12;color:#0f172a;overflow-wrap:anywhere}
.admin-kpis-v117 small{font-size:10px;color:#94a3b8}
.admin-kpis-v117 a.warn{background:#fffaf0;border-color:#f7d58a}.admin-kpis-v117 a.danger{background:#fff5f5;border-color:#fecaca}.admin-kpis-v117 a.info{background:#f5f9ff;border-color:#bfdbfe}
.admin-start-v117{
  background:linear-gradient(135deg,#f8fbff,#eef6ff);
  border:1px solid #cfe0f3;
  border-radius:15px;
  padding:13px 14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,430px);
  gap:14px;
  align-items:center;
}
.admin-start-v117>div{display:flex;align-items:flex-start;gap:10px}.admin-start-icon-v117{font-size:24px}
.admin-start-v117 h2{margin:0 0 3px!important;font-size:17px!important;color:#0f172a!important}.admin-start-v117 p{margin:0;color:#64748b;font-size:12px;line-height:1.45}
.admin-search-v117{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #bfd0df;border-radius:11px;padding:0 10px;min-height:44px}
.admin-search-v117 input{width:100%;border:0!important;outline:0;background:transparent!important;color:#0f172a!important;font-size:15px;padding:10px 0!important}
.admin-sections-v117{display:flex;flex-direction:column;gap:9px}
.admin-section-v117{
  background:#fff;
  border:1px solid #dbe4ec;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(15,23,42,.035);
}
.admin-section-v117>summary{
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto 24px;
  align-items:center;
  gap:11px;
  padding:13px 15px;
  user-select:none;
}
.admin-section-v117>summary::-webkit-details-marker{display:none}
.admin-section-v117>summary:hover{background:#f8fafc}
.section-icon-v117{width:42px;height:42px;border-radius:12px;background:#eff6ff;display:grid;place-items:center;font-size:21px}
.admin-section-v117 summary h2{margin:0 0 2px!important;color:#0f172a!important;font-size:16px!important}.admin-section-v117 summary p{margin:0;color:#64748b;font-size:12px}
.section-count-v117{min-width:27px;height:27px;border-radius:999px;background:#eef2f7;color:#475569;display:grid;place-items:center;font-size:11px;font-weight:900}
.section-chevron-v117{font-size:19px;color:#64748b;transition:transform .16s ease}.admin-section-v117[open] .section-chevron-v117{transform:rotate(180deg)}
.admin-action-grid-v117{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 13px 13px;border-top:1px solid #eef2f7;padding-top:11px}
.admin-action-grid-v117 a{
  min-height:78px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 14px;
  gap:9px;
  align-items:center;
  padding:10px 11px;
  border:1px solid #e2e8f0;
  border-radius:11px;
  background:#fbfdff;
  color:#0f172a;
  transition:border-color .14s ease,background .14s ease,transform .14s ease;
}
.admin-action-grid-v117 a:hover{background:#f0f7ff;border-color:#93c5fd;transform:translateY(-1px)}
.admin-action-grid-v117 a>span{font-size:22px;text-align:center}.admin-action-grid-v117 a>div{display:flex;flex-direction:column;gap:3px}.admin-action-grid-v117 b{font-size:13px}.admin-action-grid-v117 small{color:#64748b;font-size:11px;line-height:1.35}.admin-action-grid-v117 em{font-style:normal;color:#94a3b8;font-size:20px}
.admin-action-grid-v117 a.attention{background:#fffaf0;border-color:#f5cf78}.admin-action-grid-v117 a.danger-card{background:#fff7f7;border-color:#fecaca}
.admin-no-results-v117{background:#fff;border:1px dashed #94a3b8;border-radius:13px;padding:24px;text-align:center;color:#64748b}.admin-no-results-v117.hidden{display:none!important}

/* Room details stay compact while every panel remains reachable. */
.room-details-simple-v116{max-width:760px!important}
.room-simple-header-v116{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.room-simple-header-v116>div{min-height:72px!important;justify-content:center!important}
.room-detail-tabs-v116{position:sticky;top:-1px;z-index:7;background:#fff;padding:5px 0!important}
.room-detail-panel{min-height:0!important;overflow:visible!important}
.room-detail-panel .simple-help,.room-detail-panel .panel-explanation{line-height:1.45}

@media(max-width:1180px){
  .admin-kpis-v117{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-action-grid-v117{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .admin-main-v116{padding:8px!important}
  .admin-page-top-v116{position:sticky;top:0;z-index:45;margin-bottom:7px!important;border-radius:12px!important}
  .admin-start-v117{grid-template-columns:1fr;padding:11px}
  .admin-kpis-v117{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .admin-kpis-v117 a{padding:10px;min-height:78px}.admin-kpis-v117 b{font-size:17px}
  .admin-section-v117>summary{grid-template-columns:38px minmax(0,1fr) auto 20px;padding:11px;gap:8px}.section-icon-v117{width:37px;height:37px;font-size:18px}.admin-section-v117 summary p{font-size:11px}
  .admin-action-grid-v117{grid-template-columns:1fr;padding:9px;gap:7px}.admin-action-grid-v117 a{min-height:68px;padding:9px}
  .admin-page-content-v116 .admin-header{flex-direction:column!important;align-items:stretch!important}.admin-page-content-v116 .admin-header-actions{display:flex;flex-wrap:wrap!important;gap:7px!important}
  .admin-page-content-v116 .form-grid,.admin-page-content-v116 .small-grid,.admin-page-content-v116 .two-col{grid-template-columns:1fr!important}
  .admin-page-content-v116 .inline-form{display:flex!important;flex-wrap:wrap!important;gap:7px!important}.admin-page-content-v116 .inline-form input{flex:1 1 180px!important}
  .admin-page-content-v116 input,.admin-page-content-v116 select,.admin-page-content-v116 textarea{font-size:16px!important}
  .admin-page-content-v116 .btn{min-height:42px}
  .modal-backdrop{padding:4px!important;align-items:flex-start!important}
  .modal-box{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 8px)!important;margin:0!important;border-radius:13px!important}
  .modal-content{padding:10px!important;overflow-y:auto!important;overflow-x:auto!important}
  .room-simple-header-v116{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.room-simple-header-v116>div{min-height:62px!important;padding:7px!important}.room-simple-header-v116 strong{font-size:18px!important}.room-simple-header-v116 b{font-size:11px!important}.room-simple-header-v116 span{font-size:8.5px!important}
  .room-detail-tabs-v116{grid-template-columns:1fr 1fr!important;gap:5px!important}.room-detail-tabs-v116 .room-detail-tab{min-height:50px!important}.room-detail-tabs-v116 .room-detail-tab>span{font-size:17px!important}.room-detail-tabs-v116 .room-detail-tab>b{font-size:11px!important}
  .pos-v7 .room-btn-v5.compact-room-tile{height:108px!important;min-height:108px!important;max-height:108px!important;grid-template-rows:40px 15px 12px!important;padding:11px 6px 19px!important}
  .pos-v7 .room-btn-v5.compact-room-tile .room-number{min-height:40px!important;max-height:40px!important;font-size:27px!important}.pos-v7 .room-btn-v5.compact-room-tile.room-long .room-number,.pos-v7 .room-btn-v5.compact-room-tile.room-very-long .room-number{font-size:19px!important}
}
@media(max-width:420px){
  .admin-page-heading-v116 h1{font-size:18px!important}
  .admin-kpis-v117{grid-template-columns:1fr 1fr}
  .admin-kpis-v117 span{font-size:10px}.admin-kpis-v117 small{display:none}.admin-kpis-v117 a{min-height:68px}
  .admin-start-v117>div p{display:none}.admin-start-v117 h2{font-size:15px!important}
  .admin-section-v117 summary p{display:none}
  .admin-page-content-v116 .admin-card>table,.admin-page-content-v116 .panel>table,.admin-page-content-v116 .table-wrap>table{min-width:650px}
}

/* Final mobile viewport guard: the complete POS page can always move vertically. */
@media(max-width:1180px){
  html:has(.pos-shell),body:has(.pos-shell){height:auto!important;min-height:100%!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important}
  .pos-shell{height:auto!important;min-height:100dvh!important;max-height:none!important;overflow:visible!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
  .pos-layout-v5{height:auto!important;min-height:0!important;overflow:visible!important}
  .rooms-panel-v5,.products-panel-v5,.order-panel-v5{height:auto!important;max-height:none!important;min-height:0!important}
  .order-panel-v5{overflow-y:visible!important}
}
body.pos-modal-open:has(.pos-shell){overflow:hidden!important;touch-action:none!important}

/* v118: clear daily turnover + professional inventory */
.product-card{position:relative}
.product-stock-badge{position:absolute;top:7px;right:7px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;line-height:1;z-index:3}
.product-stock-badge.ok{background:#dcfce7;color:#166534;border:1px solid #86efac}
.product-stock-badge.low{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}
.product-stock-badge.empty{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.product-out-of-stock{opacity:.72;filter:saturate(.7)}
.product-out-of-stock .product-name{text-decoration:line-through;text-decoration-thickness:1px}
.inventory-confirm-stock{border-color:#93c5fd!important;background:#eff6ff!important}

.daily-turnover-v118{display:flex;flex-direction:column;gap:14px;min-width:0}
.turnover-priority-v118,.turnover-source-v118,.turnover-debt-v118,.turnover-activity-v118,.turnover-details-v118{border:1px solid #cbd5e1;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.07)}
.turnover-priority-v118{padding:14px;background:linear-gradient(180deg,#f8fafc,#eef6ff);border-color:#93c5fd}
.turnover-priority-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.turnover-priority-title>div{display:flex;flex-direction:column}.turnover-priority-title span{font-size:11px;color:#64748b}.turnover-priority-title b{color:#0f172a}.turnover-priority-title strong{font-size:18px;color:#1e3a8a}
.turnover-main-cards-v118{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.turnover-main-cards-v118>div{display:flex;flex-direction:column;gap:5px;border-radius:14px;padding:14px;border:1px solid #dbeafe;background:#fff;min-height:112px}
.turnover-main-cards-v118 span{font-size:12px;color:#475569;font-weight:800}.turnover-main-cards-v118 b{font-size:25px;color:#0f172a}.turnover-main-cards-v118 small{font-size:11px;color:#64748b;line-height:1.35}
.turnover-main-cards-v118 .cash{border-left:6px solid #16a34a}.turnover-main-cards-v118 .bank{border-left:6px solid #2563eb}.turnover-main-cards-v118 .total{border-left:6px solid #7c3aed;background:#faf5ff}
.turnover-cash-line-v118{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:10px;padding:9px 12px;background:#e2e8f0;border-radius:10px;color:#334155;font-size:13px}
.turnover-source-v118,.turnover-debt-v118,.turnover-activity-v118{padding:14px}.turnover-source-v118 h3,.turnover-debt-v118 h3,.turnover-activity-v118 h3{margin:0 0 10px;color:#0f172a}
.turnover-source-grid-v118{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.turnover-source-grid-v118>div,.turnover-debt-grid-v118>div,.turnover-activity-grid-v118>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.turnover-source-grid-v118 span,.turnover-debt-grid-v118 span,.turnover-activity-grid-v118 span{font-size:12px;color:#64748b}.turnover-source-grid-v118 b,.turnover-debt-grid-v118 b,.turnover-activity-grid-v118 b{font-size:20px;color:#0f172a}.turnover-source-grid-v118 .old{background:#fffbeb;border-color:#fcd34d}.turnover-source-grid-v118 small{color:#92400e;font-weight:700}
.turnover-no-double-v118{margin-top:10px;padding:9px 11px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-weight:700;font-size:12px}
.turnover-debt-grid-v118{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.turnover-debt-grid-v118>div:first-child{background:#fff7ed;border-color:#fdba74}.turnover-debt-grid-v118>div:nth-child(2){background:#fef2f2;border-color:#fca5a5}.turnover-debt-grid-v118 .total{background:#7f1d1d;border-color:#7f1d1d}.turnover-debt-grid-v118 .total span,.turnover-debt-grid-v118 .total b{color:#fff}
.turnover-activity-grid-v118{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.turnover-details-v118{overflow:hidden}.turnover-details-v118 summary{cursor:pointer;padding:13px 15px;font-weight:900;color:#1e293b;background:#f8fafc;list-style:none}.turnover-details-v118 summary::-webkit-details-marker{display:none}.turnover-details-v118[open] summary{border-bottom:1px solid #e2e8f0;background:#eef6ff}.turnover-details-v118 .table-scroll-wrap{margin:0;max-height:360px;overflow:auto}.new-debt-row td{background:#fff7ed!important}.previous-debt-row td{background:#fef2f2!important}

.inventory-v118{max-width:1500px}.inventory-v118 .admin-header-actions,.admin-page-v118 .admin-header-actions{display:flex;gap:8px;flex-wrap:wrap}.inventory-kpis-v118{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.inventory-kpis-v118>div{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.06)}.inventory-kpis-v118 span{font-size:12px;color:#64748b;font-weight:800}.inventory-kpis-v118 b{font-size:24px;color:#0f172a}.inventory-kpis-v118 .danger{border-left:5px solid #dc2626}.inventory-kpis-v118 .warning{border-left:5px solid #f59e0b}
.inventory-tabs-v118{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:8px;z-index:12;background:rgba(241,245,249,.94);backdrop-filter:blur(8px);padding:8px;border-radius:14px;border:1px solid #cbd5e1;margin-bottom:14px}.inventory-tabs-v118 a{padding:10px 13px;border-radius:10px;background:#fff;border:1px solid #cbd5e1;color:#1e3a8a;font-weight:900}.inventory-tabs-v118 a:hover{background:#dbeafe}
.inventory-section-v118{scroll-margin-top:78px}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.inventory-product-grid-v118{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.inventory-product-card-v118{border:1px solid #cbd5e1;border-radius:16px;background:#fff;padding:14px;box-shadow:0 5px 15px rgba(15,23,42,.07);min-width:0}.inventory-product-card-v118.is-low{border-color:#f59e0b;background:#fffbeb}.inventory-product-card-v118.is-empty{border-color:#ef4444;background:#fef2f2}.inventory-product-card-v118 header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.inventory-product-card-v118 h3{margin:3px 0 0;color:#0f172a}.inventory-category{font-size:11px;color:#64748b}.inventory-state-badge{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.inventory-state-badge.ok{background:#dcfce7;color:#166534}.inventory-state-badge.low{background:#fef3c7;color:#92400e}.inventory-state-badge.empty{background:#fee2e2;color:#991b1b}
.inventory-stock-main{display:flex;align-items:baseline;gap:5px;margin:14px 0 10px;padding:12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0}.inventory-stock-main span{margin-right:auto;color:#64748b;font-size:12px}.inventory-stock-main b{font-size:31px;color:#0f172a}.inventory-stock-main small{color:#64748b}.inventory-meta-v118{display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.inventory-meta-v118>div{display:flex;flex-direction:column;gap:3px;padding:9px;background:#f8fafc;border-radius:10px}.inventory-meta-v118 span{font-size:11px;color:#64748b}.inventory-meta-v118 b{font-size:12px;color:#1e293b;line-height:1.35}.inventory-meta-v118 small{font-size:10px;color:#64748b}.inventory-card-actions-v118{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.inventory-card-more-v118{margin-top:10px;border-top:1px dashed #cbd5e1;padding-top:8px}.inventory-card-more-v118 summary{cursor:pointer;font-weight:800;color:#475569}.inventory-card-more-v118 form{margin-top:9px}.inventory-threshold-form-v118{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inventory-threshold-form-v118 label{display:flex;flex-direction:column;gap:4px;font-size:12px}.inventory-threshold-form-v118 input{max-width:110px}
.inventory-count-help-v118{background:linear-gradient(180deg,#fff,#f8fafc)}.inventory-example-v118{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.inventory-example-v118>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe}.inventory-example-v118 span{font-size:11px;color:#64748b}.inventory-example-v118 b{font-size:22px;color:#1e3a8a}
.inventory-filter-v118{display:grid;grid-template-columns:1.5fr 1.5fr 1fr 1fr auto auto;gap:8px;align-items:end;margin-bottom:12px}.inventory-filter-v118 label{display:flex;flex-direction:column;gap:4px;font-weight:800;color:#475569;font-size:12px}.inventory-change{display:inline-flex;padding:4px 7px;border-radius:999px;font-weight:900}.inventory-change.positive{background:#dcfce7;color:#166534}.inventory-change.negative{background:#fee2e2;color:#991b1b}.inventory-movements-table-v118 td{vertical-align:top}
.inventory-enable-grid-v118{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.inventory-enable-card-v118{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:8px;align-items:end;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.inventory-enable-card-v118>div{display:flex;flex-direction:column;gap:2px}.inventory-enable-card-v118 span,.inventory-enable-card-v118 small{font-size:11px;color:#64748b}.inventory-enable-card-v118 b{color:#0f172a}.inventory-enable-card-v118 label{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:800;color:#64748b}
.inventory-action-modal-v118 .inventory-action-box-v118{width:min(640px,96vw)}.inventory-action-form-v118{display:flex;flex-direction:column;gap:11px}.inventory-action-form-v118 label{display:flex;flex-direction:column;gap:5px;font-weight:800;color:#334155}.inventory-selected-product-v118{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.inventory-selected-product-v118 span,.inventory-selected-product-v118 small{color:#64748b}.inventory-selected-product-v118 b{font-size:20px;color:#1e3a8a}.inventory-action-fields-v118{display:flex;flex-direction:column;gap:9px}.inventory-package-grid-v118{display:grid;grid-template-columns:1fr 1fr;gap:9px}.inventory-calculation-v118{padding:9px 11px;border-radius:10px;background:#f1f5f9;border:1px solid #cbd5e1;color:#0f172a;font-weight:900}.inventory-action-form-v118 textarea{min-height:82px}
.product-create-grid label{display:flex;flex-direction:column;gap:5px;font-weight:800;color:#475569}.products-table-v118 .inventory-status-link{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.inventory-status-link.ok{background:#dcfce7;color:#166534}.inventory-status-link.low{background:#fef3c7;color:#92400e}.inventory-status-link.empty{background:#fee2e2;color:#991b1b}.inventory-status-link.off{background:#e2e8f0;color:#475569}.product-action-cell{display:flex;gap:6px;align-items:center}.switch-label{display:flex;align-items:center;gap:5px}

@media(max-width:1100px){.inventory-kpis-v118{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-product-grid-v118{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-enable-grid-v118{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-filter-v118{grid-template-columns:repeat(3,minmax(0,1fr))}.turnover-main-cards-v118{grid-template-columns:1fr 1fr}.turnover-main-cards-v118 .total{grid-column:1/-1}}
@media(max-width:700px){.turnover-main-cards-v118,.turnover-source-grid-v118,.turnover-debt-grid-v118,.turnover-activity-grid-v118{grid-template-columns:1fr}.turnover-main-cards-v118 .total{grid-column:auto}.turnover-priority-title{align-items:flex-start;flex-direction:column}.inventory-kpis-v118{grid-template-columns:1fr 1fr}.inventory-product-grid-v118,.inventory-enable-grid-v118{grid-template-columns:1fr}.inventory-filter-v118{grid-template-columns:1fr 1fr}.inventory-meta-v118{grid-template-columns:1fr}.inventory-card-actions-v118{grid-template-columns:1fr}.inventory-enable-card-v118{grid-template-columns:1fr 90px}.inventory-enable-card-v118 .btn{grid-column:1/-1}.inventory-package-grid-v118{grid-template-columns:1fr}.inventory-tabs-v118{position:static}.inventory-example-v118{grid-template-columns:1fr 1fr 1fr}.product-action-cell{min-width:150px}.turnover-details-v118 .table-scroll-wrap{max-height:310px}}
@media(max-width:430px){.inventory-kpis-v118{grid-template-columns:1fr}.inventory-filter-v118{grid-template-columns:1fr}.inventory-example-v118{grid-template-columns:1fr}.inventory-enable-card-v118{grid-template-columns:1fr}.turnover-main-cards-v118>div{min-height:auto}.turnover-main-cards-v118 b{font-size:22px}.inventory-v118 .admin-header-actions,.admin-page-v118 .admin-header-actions{width:100%}.inventory-v118 .admin-header-actions .btn,.admin-page-v118 .admin-header-actions .btn{flex:1}.inventory-action-modal-v118{padding:8px}.inventory-action-modal-v118 .modal-content{max-height:calc(100dvh - 100px);overflow:auto}}


/* v119: stable room cards and a simpler daily-turnover view.
   These final overrides intentionally touch only room-card presentation and the Xhiro modal. */

/* Every room stays the same size. Extra badges never shrink the card. */
.pos-v7 .room-btn-v5.compact-room-tile{
  height:150px!important;
  min-height:150px!important;
  max-height:150px!important;
  grid-template-rows:50px 30px 15px!important;
  gap:3px!important;
  padding:23px 8px 26px!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-number{
  min-height:50px!important;
  max-height:50px!important;
  font-size:31px!important;
  line-height:1!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.room-long .room-number,
.pos-v7 .room-btn-v5.compact-room-tile.room-very-long .room-number{
  font-size:21px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-status{
  min-height:30px!important;
  max-height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:13.5px!important;
  font-size:10.2px!important;
  white-space:normal!important;
  text-overflow:clip!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-guest-compact{
  min-height:15px!important;
  max-height:15px!important;
  line-height:15px!important;
  font-size:9.2px!important;
}

/* A note is information, not a defect. It remains visible even when a defect also exists. */
.pos-v7 .room-btn-v5.compact-room-tile .room-note-badge{
  top:5px!important;
  left:5px!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 7px!important;
  border-radius:999px!important;
  border:1px solid #b45309!important;
  background:#fbbf24!important;
  color:#422006!important;
  box-shadow:0 1px 3px rgba(66,32,6,.22)!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:1000!important;
  letter-spacing:.15px!important;
  white-space:nowrap!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-defect-badge{
  top:5px!important;
  right:5px!important;
  padding:4px 7px!important;
  font-size:8px!important;
}
/* Avoid a collision when a timed-service badge and a room note are both present. */
.pos-v7 .room-btn-v5.compact-room-tile.has-room-note .room-overtime-badge{
  top:28px!important;
}

/* Only the checkout warning turns red; the room's own occupancy color stays unchanged. */
.pos-v7 .room-btn-v5.compact-room-tile .room-longstay-badge.overdue-checkout-badge{
  background:#b91c1c!important;
  color:#fff!important;
  border:1px solid #7f1d1d!important;
  box-shadow:0 1px 4px rgba(127,29,29,.28)!important;
  font-weight:1000!important;
  letter-spacing:.15px!important;
}

/* v119 Xhiro: three immediate answers first, explanations only when relevant. */
.daily-turnover-v119{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
  color:#0f172a;
}
.turnover-main-v119,
.turnover-late-v119,
.turnover-details-v119{
  background:#fff;
  border:1px solid #d7e0ea;
  border-radius:15px;
  box-shadow:0 4px 14px rgba(15,23,42,.055);
}
.turnover-main-v119{
  padding:14px;
  background:linear-gradient(180deg,#f8fbff,#f1f7ff);
  border-color:#a9c9f2;
}
.turnover-main-v119 h2{
  margin:0 0 11px;
  font-size:18px;
  color:#0f172a;
}
.turnover-main-cards-v119{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.turnover-main-cards-v119>div{
  min-width:0;
  min-height:105px;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:13px 14px;
  border:1px solid #dbe4ee;
  border-radius:13px;
  background:#fff;
}
.turnover-main-cards-v119>div.cash{border-left:6px solid #16a34a}
.turnover-main-cards-v119>div.bank{border-left:6px solid #2563eb}
.turnover-main-cards-v119>div.total{border-left:6px solid #7c3aed;background:#faf7ff}
.turnover-main-cards-v119 span{
  color:#334155;
  font-size:13px;
  font-weight:900;
}
.turnover-main-cards-v119 b{
  color:#0f172a;
  font-size:27px;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.turnover-main-cards-v119 small{
  margin-top:auto;
  color:#64748b;
  font-size:11px;
  line-height:1.35;
}
.turnover-float-v119{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
  gap:8px;
  margin-top:10px;
}
.turnover-float-v119>div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:5px 12px;
  padding:10px 12px;
  border:1px solid #cbd5e1;
  border-radius:11px;
  background:#eef2f7;
}
.turnover-float-v119 span{color:#334155;font-size:12px;font-weight:850;overflow-wrap:anywhere}
.turnover-float-v119 b{color:#0f172a;font-size:17px;white-space:nowrap}
.turnover-float-v119 small{grid-column:1/-1;color:#64748b;font-size:10px}

.turnover-late-v119{
  padding:14px;
  border-color:#f4c75c;
  background:#fffaf0;
}
.turnover-late-head-v119{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.turnover-late-head-v119>div:first-child{display:flex;flex-direction:column;gap:4px}
.turnover-late-head-v119>div:first-child span{font-size:12px;color:#92400e;font-weight:900}
.turnover-late-head-v119>div:first-child>b{font-size:25px;color:#78350f}
.turnover-late-methods-v119{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.turnover-late-methods-v119>span{
  display:inline-flex;
  gap:5px;
  align-items:center;
  padding:6px 9px;
  border-radius:999px;
  background:#fff;
  border:1px solid #f5d67f;
  color:#78350f;
  font-size:11px;
  font-weight:850;
}
.turnover-late-v119>p{margin:9px 0;color:#5f3b0a;font-size:12px;line-height:1.45}
.turnover-simple-info-v119{
  padding:8px 10px;
  border:1px solid #bfdbfe;
  border-radius:9px;
  background:#eff6ff;
  color:#1e40af;
  font-size:11px;
  line-height:1.4;
}

.turnover-details-v119{
  overflow:hidden;
}
.turnover-details-v119>summary{
  min-height:45px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  cursor:pointer;
  list-style:none;
  background:#f8fafc;
  color:#1e293b;
  font-size:13px;
  font-weight:900;
}
.turnover-details-v119>summary::-webkit-details-marker{display:none}
.turnover-details-v119>summary::after{
  content:'▾';
  margin-left:auto;
  color:#64748b;
  transition:transform .15s ease;
}
.turnover-details-v119[open]>summary::after{transform:rotate(180deg)}
.turnover-details-v119[open]>summary{border-bottom:1px solid #dbe4ee;background:#eef6ff}
.turnover-details-v119 .table-scroll-wrap{
  margin:0;
  max-height:350px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.turnover-details-v119 .modal-table{margin:0;min-width:760px}
.turnover-late-v119 .turnover-details-v119{margin-top:10px;box-shadow:none}
.turnover-unpaid-v119>summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto 18px}
.turnover-unpaid-v119>summary b{color:#b91c1c;font-size:16px}
.turnover-unpaid-v119>summary em{font-style:normal;color:#64748b;font-size:11px}
.turnover-details-help-v119{
  padding:9px 12px;
  background:#fff7ed;
  border-bottom:1px solid #fed7aa;
  color:#9a3412;
  font-size:11px;
  line-height:1.4;
}

@media(max-width:820px){
  .pos-v7 .room-btn-v5.compact-room-tile{
    height:146px!important;
    min-height:146px!important;
    max-height:146px!important;
    grid-template-rows:48px 28px 14px!important;
    padding:22px 7px 25px!important;
  }
  .pos-v7 .room-btn-v5.compact-room-tile .room-number{
    min-height:48px!important;
    max-height:48px!important;
    font-size:29px!important;
  }
  .turnover-main-cards-v119{grid-template-columns:1fr 1fr}
  .turnover-main-cards-v119 .total{grid-column:1/-1}
  .turnover-float-v119{grid-template-columns:1fr}
}
@media(max-width:560px){
  .pos-v7 .room-btn-v5.compact-room-tile{
    height:144px!important;
    min-height:144px!important;
    max-height:144px!important;
    padding:22px 6px 24px!important;
  }
  .turnover-main-v119,.turnover-late-v119{padding:11px}
  .turnover-main-cards-v119{grid-template-columns:1fr;gap:8px}
  .turnover-main-cards-v119 .total{grid-column:auto}
  .turnover-main-cards-v119>div{min-height:auto;padding:11px 12px}
  .turnover-main-cards-v119 b{font-size:24px}
  .turnover-main-cards-v119 small{margin-top:0}
  .turnover-late-head-v119{flex-direction:column}
  .turnover-late-methods-v119{justify-content:flex-start}
  .turnover-float-v119>div{grid-template-columns:1fr}
  .turnover-float-v119 b{white-space:normal}
  .turnover-unpaid-v119>summary{grid-template-columns:minmax(0,1fr) auto 18px}
  .turnover-unpaid-v119>summary em{display:none}
  .turnover-details-v119 .table-scroll-wrap{max-height:300px}
}

/* v120: clearer cash logic, safer float selection, classic full-scroll dialogs. */

/* The whole Xhiro/shift dialog scrolls as one page. The title stays visible. */
.modal-box.turnover-modal-v120,
.modal-box.shift-modal-v120{
  display:block!important;
  width:min(980px,calc(100vw - 18px))!important;
  max-width:calc(100vw - 18px)!important;
  max-height:calc(100dvh - 16px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#f5f7fa!important;
  border-radius:12px!important;
}
.modal-box.turnover-modal-v120 .modal-head,
.modal-box.shift-modal-v120 .modal-head{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  background:#111827!important;
  border-bottom:1px solid #334155!important;
}
.modal-box.turnover-modal-v120 .modal-content,
.modal-box.shift-modal-v120 .modal-content{
  display:block!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
  padding:12px!important;
  background:#f5f7fa!important;
  color:#111827!important;
}

/* Orange invoice warning remains visible even when SHËNIM is present. */
.pos-v7 .room-btn-v5.room-irregular .room-irregular-status{
  width:auto!important;
  min-width:0!important;
  max-width:calc(100% - 12px)!important;
  min-height:23px!important;
  height:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 8px!important;
  border:1px solid #b45309!important;
  border-radius:999px!important;
  background:#f59e0b!important;
  color:#3b2100!important;
  box-shadow:0 1px 3px rgba(120,53,15,.24)!important;
  font-size:8.5px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.room-irregular .room-irregular-badge{
  background:#92400e!important;
  color:#fff!important;
  border:1px solid #78350f!important;
}

/* Daily turnover: flat, classic and immediately readable. */
.daily-turnover-v120{
  display:flex;
  flex-direction:column;
  gap:11px;
  min-width:0;
  color:#111827;
}
.turnover-summary-v120{
  background:#fff;
  border:1px solid #cbd5e1;
  border-radius:10px;
  padding:14px;
  box-shadow:0 2px 8px rgba(15,23,42,.05);
}
.turnover-summary-v120>header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid #e2e8f0;
}
.turnover-summary-v120 h2{
  margin:0!important;
  color:#111827!important;
  font-size:20px!important;
}
.turnover-summary-v120 header p{
  margin:0;
  color:#64748b;
  font-size:12px;
  text-align:right;
}
.turnover-totals-v120{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid #cbd5e1;
  border-radius:9px;
  overflow:hidden;
  background:#fff;
}
.turnover-totals-v120>div{
  min-width:0;
  min-height:112px;
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  gap:5px;
  border-right:1px solid #dbe3ec;
}
.turnover-totals-v120>div:last-child{border-right:0}
.turnover-totals-v120>div.cash{border-top:4px solid #16a34a}
.turnover-totals-v120>div.bank{border-top:4px solid #2563eb}
.turnover-totals-v120>div.total{border-top:4px solid #7c3aed}
.turnover-totals-v120 span{
  color:#334155;
  font-size:12px;
  font-weight:900;
}
.turnover-totals-v120 b{
  color:#0f172a;
  font-size:27px;
  line-height:1.1;
  overflow-wrap:anywhere;
}
.turnover-totals-v120 small{
  margin-top:auto;
  color:#64748b;
  font-size:11px;
  line-height:1.38;
}
.turnover-totals-v120 small strong{color:#334155}
.turnover-float-line-v120{
  margin-top:9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 11px;
  border:1px solid #d4dae2;
  border-radius:8px;
  background:#f8fafc;
}
.turnover-float-line-v120 span{color:#475569;font-size:12px;font-weight:800}
.turnover-float-line-v120 b{color:#111827;font-size:15px;white-space:nowrap}
.turnover-close-note-v120{
  margin-top:8px;
  padding:8px 10px;
  border-left:4px solid #64748b;
  background:#f1f5f9;
  color:#334155;
  font-size:11px;
  line-height:1.4;
}

/* Shift close: cash first, then a safe button-only float picker. */
.shift-close-v120{
  display:flex;
  flex-direction:column;
  gap:11px;
  color:#111827;
}
.shift-money-v120{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  border:1px solid #cbd5e1;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.shift-money-v120>div{
  min-width:0;
  padding:14px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.shift-money-v120>div+div{border-left:1px solid #dbe3ec}
.shift-money-v120 .cash{border-top:4px solid #16a34a}
.shift-money-v120 .bank{border-top:4px solid #2563eb}
.shift-money-v120 span{font-size:12px;font-weight:900;color:#334155}
.shift-money-v120 b{font-size:28px;line-height:1.1;color:#0f172a;overflow-wrap:anywhere}
.shift-money-v120 small{font-size:11px;line-height:1.4;color:#64748b}
.shift-float-picker-v120{
  padding:13px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:#fff;
}
.shift-section-title-v120{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.shift-section-title-v120 h3{margin:0 0 3px!important;color:#111827!important;font-size:17px!important}
.shift-section-title-v120 p{margin:0;color:#64748b;font-size:11px;line-height:1.4}
.shift-float-selected-v120{
  min-width:155px;
  padding:8px 10px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
  text-align:right;
}
.shift-float-selected-v120 span{display:block;color:#64748b;font-size:10px;font-weight:800}
.shift-float-selected-v120 b{display:block;color:#1e3a8a;font-size:18px;margin-top:2px}
.shift-float-buttons-v120{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
}
.shift-float-buttons-v120 button,
.shift-float-tools-v120 button{
  min-height:44px;
  border:1px solid #94a3b8;
  border-radius:8px;
  background:#f8fafc;
  color:#0f172a;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.shift-float-buttons-v120 button:hover,
.shift-float-tools-v120 button:hover{background:#eaf2ff;border-color:#60a5fa}
.shift-float-buttons-v120 button:active,
.shift-float-tools-v120 button:active{transform:translateY(1px)}
.shift-float-tools-v120{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:7px;
  margin-top:7px;
}
.shift-float-tools-v120 .no-float{background:#fff7ed;border-color:#fdba74;color:#9a3412}
.shift-warning{
  min-height:20px;
  margin-top:7px;
  color:#b45309!important;
  font-size:11px;
  font-weight:800;
}
.shift-handover-v120{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:3px 15px;
  padding:14px;
  border:2px solid #15803d;
  border-radius:10px;
  background:#ecfdf3;
}
.shift-handover-v120 span{font-size:15px;font-weight:1000;color:#14532d}
.shift-handover-v120 strong{font-size:29px;color:#14532d;white-space:nowrap}
.shift-handover-v120 small{grid-column:1/-1;color:#467158;font-size:11px}
.shift-meta-v120{
  display:flex;
  flex-wrap:wrap;
  gap:6px 15px;
  padding:9px 11px;
  border:1px solid #dbe3ec;
  border-radius:8px;
  background:#fff;
  color:#64748b;
  font-size:11px;
}
.shift-meta-v120 b{color:#334155}
.shift-close-v120 .table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.shift-close-v120 .modal-table{min-width:720px}
.shift-confirm-v120{
  position:sticky;
  bottom:0;
  z-index:10;
  padding:10px;
  margin:2px -2px -2px;
  border:1px solid #cbd5e1;
  border-radius:10px;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(5px);
}
.shift-confirm-v120 .btn:disabled{opacity:.5;cursor:not-allowed}

@media(max-width:760px){
  .modal-box.turnover-modal-v120,
  .modal-box.shift-modal-v120{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 6px)!important;
    margin:0!important;
    border-radius:10px!important;
  }
  .turnover-summary-v120>header{display:block}
  .turnover-summary-v120 header p{text-align:left;margin-top:3px}
  .turnover-totals-v120{grid-template-columns:1fr}
  .turnover-totals-v120>div{min-height:auto;border-right:0;border-bottom:1px solid #dbe3ec}
  .turnover-totals-v120>div:last-child{border-bottom:0}
  .turnover-float-line-v120{align-items:flex-start;flex-direction:column;gap:3px}
  .shift-money-v120{grid-template-columns:1fr}
  .shift-money-v120>div+div{border-left:0;border-top:1px solid #dbe3ec}
  .shift-section-title-v120{grid-template-columns:1fr}
  .shift-float-selected-v120{text-align:left;min-width:0}
  .shift-float-buttons-v120{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shift-float-tools-v120{grid-template-columns:1fr 1fr}
  .shift-float-tools-v120 .no-float{grid-column:1/-1}
  .shift-handover-v120{grid-template-columns:1fr}
  .shift-handover-v120 strong{white-space:normal}
}
@media(max-width:390px){
  .turnover-summary-v120,.shift-float-picker-v120{padding:10px}
  .turnover-totals-v120 b,.shift-money-v120 b{font-size:23px}
  .shift-float-buttons-v120{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shift-float-tools-v120{grid-template-columns:1fr}
  .shift-float-tools-v120 .no-float{grid-column:auto}
}


/* v121: classic daily turnover scroll + paid/free bar separation. */
.daily-turnover-v121{display:flex;flex-direction:column;gap:12px;color:#111827;min-width:0}
.turnover-summary-v121,.turnover-classic-section-v121{background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:14px;box-shadow:0 2px 7px rgba(15,23,42,.05)}
.turnover-summary-v121 h2{margin:0 0 11px!important;font-size:20px!important;color:#111827!important}
.turnover-totals-v121{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.turnover-totals-v121>div{min-width:0;padding:13px;border:1px solid #d7dee8;border-radius:9px;background:#f8fafc;display:flex;flex-direction:column;gap:5px}
.turnover-totals-v121>div:nth-child(1){border-left:5px solid #16a34a}
.turnover-totals-v121>div:nth-child(2){border-left:5px solid #2563eb}
.turnover-totals-v121>div:nth-child(3){border-left:5px solid #7c3aed}
.turnover-totals-v121 span{font-size:12px;font-weight:900;color:#334155}
.turnover-totals-v121 b{font-size:27px;line-height:1.1;color:#0f172a;overflow-wrap:anywhere}
.turnover-totals-v121 small{font-size:11px;line-height:1.35;color:#64748b}
.turnover-classic-title-v121{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #e2e8f0}
.turnover-classic-title-v121 h3{margin:0 0 3px!important;font-size:16px!important;color:#111827!important}
.turnover-classic-title-v121 p{margin:0;color:#64748b;font-size:11px;line-height:1.4}
.turnover-classic-title-v121>b{font-size:18px;color:#0f172a;white-space:nowrap}
.turnover-classic-section-v121.late{border-left:5px solid #f59e0b}
.turnover-classic-section-v121.unpaid{border-left:5px solid #ef4444}
.turnover-classic-section-v121.free-bar{border-left:5px solid #8b5cf6}
.turnover-classic-section-v121.payments{border-left:5px solid #2563eb}
.turnover-method-line-v121{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 9px}
.turnover-method-line-v121 span{padding:5px 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:11px;font-weight:900}
.daily-turnover-v121 .table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.daily-turnover-v121 .modal-table{min-width:760px;margin:0}
.daily-turnover-v121 .modal-table th{position:sticky;top:52px;z-index:2;background:#eef2f7}
.bar-free-confirm-v121{margin-top:10px;border:2px solid #8b5cf6;border-radius:10px;background:#faf5ff;padding:11px;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.bar-free-confirm-v121>div{display:flex;flex-direction:column;gap:3px}
.bar-free-confirm-v121 span{font-size:11px;color:#6b21a8;font-weight:900}
.bar-free-confirm-v121 b,.bar-free-confirm-v121 strong{font-size:20px;color:#3b0764}
.bar-free-confirm-v121 p{grid-column:1/-1;margin:2px 0 0;color:#6b21a8;font-size:11px;line-height:1.4}
.bar-paid-confirm-v121{margin-top:10px;border:1px solid #86efac;border-radius:9px;background:#f0fdf4;padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#14532d}
.bar-paid-confirm-v121 span{font-size:12px;font-weight:1000}.bar-paid-confirm-v121 b{font-size:12px;text-align:right}
.pos-v7 .room-btn-v5.room-bar{border-color:#7c3aed!important;background:#f5f3ff!important;color:#3b0764!important}
.pos-v7 .room-btn-v5.room-bar .room-number{font-size:22px!important;line-height:1.05!important;white-space:normal!important}
@media(max-width:760px){
  .turnover-totals-v121{grid-template-columns:1fr}
  .turnover-classic-title-v121{display:block}
  .turnover-classic-title-v121>b{display:block;margin-top:7px;white-space:normal}
  .daily-turnover-v121 .modal-table th{top:48px}
}
@media(max-width:420px){
  .turnover-summary-v121,.turnover-classic-section-v121{padding:10px}
  .turnover-totals-v121 b{font-size:23px}
  .bar-free-confirm-v121{grid-template-columns:1fr}
  .bar-free-confirm-v121 p{grid-column:auto}
  .bar-paid-confirm-v121{display:block}.bar-paid-confirm-v121 b{display:block;text-align:left;margin-top:3px}
}

.pos-v7 .room-btn-v5.room-bar-paid{border-color:#15803d!important;background:#ecfdf3!important;color:#14532d!important}
.pos-v7 .room-btn-v5.room-bar-free{border-color:#7c3aed!important;background:#f5f3ff!important;color:#3b0764!important}


/* v122: clean classic Xhiro tables, accountable bars, no inventory visibility in POS. */
.item-recipient-v122{display:inline-block;margin-top:2px;color:#475569;font-size:11px;font-weight:800}
.bar-recipient-form-v122{margin-top:10px;padding:11px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;display:flex;flex-direction:column;gap:5px}
.bar-recipient-form-v122.required{border-color:#c4b5fd;background:#faf5ff}
.bar-recipient-form-v122 label{font-size:12px;font-weight:900;color:#1e293b}
.bar-recipient-form-v122 input{width:100%;min-height:42px;padding:9px 10px;border:1px solid #94a3b8;border-radius:7px;background:#fff;color:#0f172a;font-size:15px}
.bar-recipient-form-v122 small{font-size:11px;line-height:1.35;color:#64748b}

.daily-turnover-v122{display:flex;flex-direction:column;gap:12px;color:#111827;min-width:0}
.turnover-summary-v122,.turnover-section-v122{background:#fff;border:1px solid #cbd5e1;border-radius:9px;padding:13px;box-shadow:none;min-width:0}
.turnover-summary-v122 h2{margin:0 0 10px!important;font-size:19px!important;color:#111827!important}
.turnover-totals-v122{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.turnover-totals-v122>div{padding:12px;border:1px solid #d6dde7;border-radius:8px;background:#f8fafc;display:flex;flex-direction:column;gap:4px;min-width:0}
.turnover-totals-v122>div.cash{border-left:4px solid #16a34a}
.turnover-totals-v122>div.bank{border-left:4px solid #2563eb}
.turnover-totals-v122>div.total{border-left:4px solid #7c3aed}
.turnover-totals-v122 span{font-size:12px;font-weight:900;color:#334155}
.turnover-totals-v122 b{font-size:26px;line-height:1.1;color:#0f172a;overflow-wrap:anywhere}
.turnover-totals-v122 small{font-size:11px;color:#64748b;line-height:1.3}
.turnover-float-v122{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:9px;padding:8px 10px;border-radius:7px;background:#eef2f7;color:#475569;font-size:12px}
.turnover-float-v122 b{color:#0f172a;white-space:nowrap}
.turnover-section-v122{border-left-width:4px}
.turnover-section-v122.late{border-left-color:#f59e0b}
.turnover-section-v122.unpaid{border-left-color:#ef4444}
.turnover-section-v122.bar-paid{border-left-color:#16a34a}
.turnover-section-v122.bar-free{border-left-color:#8b5cf6}
.turnover-section-v122.payments{border-left-color:#2563eb}
.turnover-section-v122>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px}
.turnover-section-v122>header h3{margin:0 0 3px!important;font-size:16px!important;color:#111827!important}
.turnover-section-v122>header p{margin:0;color:#64748b;font-size:11px;line-height:1.4}
.turnover-section-v122>header>strong{font-size:17px;color:#0f172a;white-space:nowrap;text-align:right}
.turnover-methods-v122{display:flex;gap:7px;flex-wrap:wrap;margin:-2px 0 9px}
.turnover-methods-v122 span{padding:5px 8px;border-radius:999px;background:#eef2f7;color:#334155;font-size:11px;font-weight:900}
.turnover-table-wrap-v122{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #d6dde7;border-radius:8px;background:#fff}
.turnover-table-v122{width:100%;min-width:760px;border-collapse:separate!important;border-spacing:0!important;margin:0!important;color:#111827;font-size:12px;table-layout:auto}
.turnover-table-v122 thead,.turnover-table-v122 tbody{position:static!important}
.turnover-table-v122 th{position:static!important;top:auto!important;z-index:auto!important;padding:9px 10px!important;background:#eef2f7!important;color:#1f2937!important;border:0!important;border-bottom:1px solid #cbd5e1!important;text-align:left!important;white-space:nowrap;font-size:11px;font-weight:900}
.turnover-table-v122 td{position:static!important;padding:9px 10px!important;background:#fff!important;color:#111827!important;border:0!important;border-bottom:1px solid #e2e8f0!important;vertical-align:top!important;line-height:1.35}
.turnover-table-v122 tbody tr:last-child td{border-bottom:0!important}
.turnover-table-v122 tbody tr:nth-child(even) td{background:#f8fafc!important}
.turnover-table-v122 tbody tr.clickable-row:hover td{background:#eff6ff!important}
.turnover-table-v122 .money-cell-v122{font-weight:900;white-space:nowrap;text-align:right!important}
.turnover-row-meta-v122{margin-top:3px;color:#64748b;font-size:10.5px;line-height:1.35;font-weight:500}

/* Old v121 table header rule must never overlay the first data row. */
.daily-turnover-v121 .modal-table th{position:static!important;top:auto!important;z-index:auto!important}

/* Waiters never receive a visual stock state in POS. */
.product-stock-badge,.inventory-confirm-stock{display:none!important}
.product-out-of-stock{opacity:1!important;filter:none!important}
.product-out-of-stock .product-name{text-decoration:none!important}

@media(max-width:760px){
  .turnover-totals-v122{grid-template-columns:1fr}
  .turnover-section-v122>header{display:block}
  .turnover-section-v122>header>strong{display:block;margin-top:6px;text-align:left;white-space:normal}
  .turnover-table-v122{font-size:11.5px}
  .turnover-table-v122 th,.turnover-table-v122 td{padding:8px!important}
}
@media(max-width:430px){
  .turnover-summary-v122,.turnover-section-v122{padding:9px}
  .turnover-totals-v122 b{font-size:23px}
  .turnover-float-v122{align-items:flex-start;flex-direction:column;gap:3px}
}

/* v123: strictly scoped fixes for room actions, bar history and service-room time. */
.is-hidden-v123{display:none!important}
.room-quick-actions-v123{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:0 0 auto}
.room-quick-actions-v123 .btn{width:100%;min-width:0;margin:0!important;padding:9px 7px!important;font-size:12px!important}
.room-details-action-v123{font-weight:900!important}

/* Shërbim Dhome: always show elapsed time on the tile. It turns red only after 3 hours. */
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:absolute!important;
  top:5px!important;
  left:5px!important;
  width:auto!important;
  min-width:48px!important;
  max-width:86px!important;
  height:21px!important;
  margin:0!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background:#dbeafe!important;
  border:1px solid #2563eb!important;
  color:#1e3a8a!important;
  box-shadow:0 1px 3px rgba(30,58,138,.18)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:1000!important;
  white-space:nowrap!important;
  z-index:7!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge.is-over{
  background:#dc2626!important;
  border-color:#991b1b!important;
  color:#fff!important;
  box-shadow:0 1px 4px rgba(153,27,27,.28)!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.service-time-room{padding-top:23px!important}
.pos-v7 .room-btn-v5.compact-room-tile.service-time-room.has-room-note .room-note-badge{
  top:31px!important;
  left:5px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.service-time-room .room-number{margin-top:2px!important}

/* The bar is a transaction list, not a fake free room. */
.bar-order-list-v123{display:flex;flex-direction:column;gap:7px;padding:2px}
.bar-order-row-v123{
  width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:7px 10px;align-items:start;text-align:left;padding:10px;border:1px solid #cbd5e1;border-radius:10px;
  background:#fff;color:#0f172a;cursor:pointer;box-shadow:0 2px 6px rgba(15,23,42,.05)
}
.bar-order-row-v123:hover{background:#eff6ff;border-color:#93c5fd}
.bar-order-row-v123 span{min-width:0}
.bar-order-row-v123 small{display:block;color:#64748b;font-size:9.5px;line-height:1.25}
.bar-order-row-v123 b{display:block;color:#0f172a;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
.bar-order-time-v123{grid-column:1/-1;font-size:10px;font-weight:900;color:#334155;border-bottom:1px solid #e2e8f0;padding-bottom:5px}
.bar-order-main-v123{grid-column:1}.bar-order-value-v123{grid-column:2;text-align:right}.bar-order-person-v123{grid-column:1}.bar-order-user-v123{grid-column:2;text-align:right}
.bar-empty-v123{padding:24px 12px;text-align:center;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-weight:800}
.bar-totals-v123{margin-top:6px}

.bar-details-v123{display:flex;flex-direction:column;gap:12px;color:#0f172a}
.bar-details-summary-v123{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.bar-details-summary-v123>div{display:flex;flex-direction:column;gap:4px;padding:11px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc}
.bar-details-summary-v123 span{font-size:11px;color:#64748b;font-weight:800}
.bar-details-summary-v123 b{font-size:18px;color:#0f172a;overflow-wrap:anywhere}
.bar-details-help-v123{margin:0;padding:9px 11px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;font-size:12px;line-height:1.4}
.bar-free-note-v123{padding:10px 12px;border-radius:8px;background:#faf5ff;border:1px solid #c4b5fd;color:#5b21b6;font-size:12px;line-height:1.4}
.modal-box.bar-details-modal-v123{width:min(1180px,97vw)!important}
.bar-details-table-v123{min-width:980px!important}

@media(max-width:900px){
  .bar-details-summary-v123{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .room-quick-actions-v123{grid-template-columns:1fr 1fr}
  .bar-order-row-v123{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px}
  .bar-details-summary-v123{grid-template-columns:1fr}
}


/* v124 recovery: restored security sessions only */
.security-admin-v112{max-width:1440px!important;}
.security-page-header{padding:18px!important;border:1px solid #cbd5e1!important;border-radius:16px!important;box-shadow:0 6px 18px rgba(15,23,42,.06);}
.inline-security-form{margin:0;}
.security-warning-list{background:#fff7ed;border:1px solid #fdba74;border-left:6px solid #f97316;border-radius:14px;padding:14px 16px;margin:0 0 16px;}
.security-warning-list h3{margin:0 0 8px;color:#9a3412!important;}
.security-warning-item{color:#7c2d12!important;font-weight:850;padding:5px 0;line-height:1.4;}
.security-warning-item::before{content:"!";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:#f97316;color:#fff;font-weight:1000;}
.security-stat-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
.security-stat-row .stat{border:1px solid #cbd5e1!important;border-radius:14px!important;box-shadow:0 4px 12px rgba(15,23,42,.05);}
.security-stat-row .stat span{font-size:13px!important;color:#64748b!important;font-weight:850;}
.security-stat-row .stat b{font-size:25px!important;color:#0f766e!important;overflow-wrap:anywhere;}
.security-section-card{background:#fff;border:1px solid #cbd5e1;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(15,23,42,.06);margin-bottom:18px;}
.security-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;}
.security-section-head h2{margin:0 0 5px;}.security-section-head p{margin:0;color:#64748b!important;}
.ip-group-list{display:flex;flex-direction:column;gap:11px;}
.ip-group-card{background:#fff;border:1px solid #cbd5e1;border-left:6px solid #64748b;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(15,23,42,.05);}
.ip-group-card.current-ip{border-left-color:#0f766e;}
.ip-group-summary{display:grid;grid-template-columns:minmax(260px,1fr) 90px 100px 170px 120px;gap:12px;align-items:center;padding:14px;cursor:pointer;list-style:none;background:#fff;color:#0f172a!important;}
.ip-group-summary::-webkit-details-marker{display:none;}.ip-group-summary::marker{display:none;content:"";}.ip-group-card[open]>.ip-group-summary{background:#f0fdfa;border-bottom:1px solid #ccfbf1;}
.ip-main-info{min-width:0;}.ip-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}.ip-title-line code{font-size:15px;font-weight:1000;color:#1e3a8a!important;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:5px 8px;word-break:break-all;}
.ip-owner-name{font-size:17px;font-weight:1000;margin-top:7px;color:#0f172a!important;}.ip-main-info small{display:block;margin-top:4px;color:#64748b!important;font-weight:800;overflow-wrap:anywhere;}
.current-pill,.role-pill{display:inline-flex;align-items:center;min-height:25px;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:1000;white-space:nowrap;}.current-pill{background:#ccfbf1;color:#115e59!important;border:1px solid #5eead4;}.role-pill{background:#eef2ff;color:#3730a3!important;border:1px solid #c7d2fe;}
.ip-summary-metric,.ip-last-seen{display:flex;flex-direction:column;gap:4px;}.ip-summary-metric span,.ip-last-seen span{font-size:11px;color:#64748b!important;font-weight:900;text-transform:uppercase;}.ip-summary-metric b{font-size:23px;color:#0f766e!important;}.ip-last-seen b{font-size:13px;color:#0f172a!important;}.ip-open-hint{color:#2563eb!important;font-weight:1000;text-align:right;}.ip-open-hint::after{content:" +";}.ip-group-card[open] .ip-open-hint::after{content:" −";}
.ip-group-body{padding:14px;background:#f8fafc;}.ip-label-form{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.4fr) 135px;gap:10px;align-items:end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;margin-bottom:12px;}.ip-label-form label{margin:0!important;}.ip-label-form label span{display:block;color:#475569!important;font-size:12px;font-weight:900;margin:0 0 5px;}.ip-label-form input{min-height:42px!important;}
.session-card-list{display:flex;flex-direction:column;gap:9px;}.session-card{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;}.session-card.current-session{border-color:#5eead4;background:#f0fdfa;}.session-card-main{min-width:0;flex:1;}.session-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}.session-title>b{font-size:16px;color:#0f172a!important;}.session-device{margin-top:5px;font-weight:900;color:#334155!important;}.session-times{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:7px;}.session-times span{color:#64748b!important;font-size:12px;font-weight:800;}.session-times b{color:#0f172a!important;}.user-agent-details{margin-top:8px;}.user-agent-details summary{cursor:pointer;color:#2563eb!important;font-weight:900;font-size:12px;}.user-agent-details code{display:block;margin-top:6px;background:#f1f5f9;border-radius:8px;padding:8px;color:#334155!important;font-size:11px;white-space:normal;word-break:break-all;}.session-card-action{flex:0 0 auto;}.session-card-action form{margin:0;}.session-card-action button[disabled]{opacity:.65;cursor:not-allowed;}.revoke-ip-form{display:flex;justify-content:flex-end;margin-top:12px;}.empty-security-state{padding:24px;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;color:#64748b!important;font-weight:900;}.authenticator-grid-v112{margin-top:0!important;}
.invoice-accounting-hint-v124{line-height:1.55!important;}.invoice-kpi-cards .kpi-current-shift{border-color:#16a34a!important;background:#f0fdf4!important;}.invoice-table-wrap-v124{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;}.invoice-table-wrap-v124 table{min-width:1180px;}
@media(max-width:920px){.security-stat-row{grid-template-columns:1fr 1fr!important;}.security-section-head{flex-direction:column!important;align-items:stretch!important;}.security-section-head form,.security-section-head .btn{width:100%!important;}.ip-group-summary{grid-template-columns:minmax(0,1fr) 70px 82px!important;padding:12px!important;}.ip-last-seen{grid-column:1/3!important;}.ip-open-hint{grid-column:3!important;grid-row:2!important;align-self:end!important;}.ip-label-form{grid-template-columns:1fr!important;}.ip-label-form .btn{width:100%!important;}.session-card{align-items:stretch!important;flex-direction:column!important;}.session-card-action,.session-card-action form,.session-card-action .btn{width:100%!important;}.session-times{display:grid!important;grid-template-columns:1fr 1fr!important;}.revoke-ip-form,.revoke-ip-form .btn{width:100%!important;}.authenticator-grid-v112{grid-template-columns:1fr!important;}}
@media(max-width:560px){.security-stat-row{grid-template-columns:1fr!important;}.ip-group-summary{grid-template-columns:1fr 64px!important;}.ip-summary-metric:nth-of-type(2){display:none!important;}.ip-last-seen{grid-column:1!important;}.ip-open-hint{grid-column:2!important;grid-row:2!important;font-size:12px!important;}.session-times{grid-template-columns:1fr!important;}}

/* v125 — separate permanent room/client notes, verified defect workflow, mobile clarity. */
.issues-admin-v125{display:flex;flex-direction:column;gap:14px;min-width:0}
.issues-rules-v125{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.issues-rules-v125>div{display:flex;flex-direction:column;gap:6px;padding:13px 15px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 4px 12px rgba(15,23,42,.05)}
.issues-rules-v125 b{font-size:16px;color:#0f172a}.issues-rules-v125 span{font-size:13px;line-height:1.5;color:#475569}
.issue-kpis-v125{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.issue-kpis-v125 a{display:flex;flex-direction:column;gap:4px;min-width:0;padding:13px;border:1px solid #cbd5e1;border-left:5px solid #2563eb;border-radius:13px;background:#fff;color:#0f172a;text-decoration:none;box-shadow:0 4px 12px rgba(15,23,42,.05)}
.issue-kpis-v125 a.blocking{border-left-color:#dc2626}.issue-kpis-v125 a.nonblocking{border-left-color:#d97706}.issue-kpis-v125 a.waiting{border-left-color:#2563eb}
.issue-kpis-v125 span{font-size:12px;font-weight:900;color:#334155}.issue-kpis-v125 b{font-size:28px;line-height:1;color:#0f172a}.issue-kpis-v125 small{font-size:11px;line-height:1.35;color:#64748b}
.issue-tabs-v125{display:flex;gap:8px;overflow-x:auto;padding:3px 0 7px;scrollbar-width:auto;scrollbar-color:#64748b #e2e8f0}
.issue-tabs-v125::-webkit-scrollbar{height:8px}.issue-tabs-v125::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}.issue-tabs-v125::-webkit-scrollbar-thumb{background:#64748b;border-radius:999px}
.issue-tabs-v125 a{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;padding:8px 14px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#0f172a;text-decoration:none;font-weight:900}
.issue-tabs-v125 a.active{background:#0f172a;color:#fff;border-color:#0f172a}
.issue-create-v125{border:1px solid #cbd5e1;border-radius:14px;background:#fff;overflow:hidden}
.issue-create-v125 summary{cursor:pointer;padding:13px 15px;background:#f8fafc;color:#0f172a;font-size:16px;font-weight:1000;border-bottom:1px solid #e2e8f0}
.issue-create-v125 form{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1fr);gap:10px;padding:14px;align-items:end}
.issue-create-v125 label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:900;color:#334155}
.issue-create-v125 .wide{grid-column:1/-1}.issue-create-v125 textarea{min-height:80px;resize:vertical}
.issue-filter-v125{display:grid;grid-template-columns:170px minmax(220px,1fr) 100px 100px;gap:9px;align-items:end;padding:11px;border:1px solid #cbd5e1;border-radius:13px;background:#fff}
.issue-filter-v125 label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:900;color:#334155}
.issue-list-v125{display:flex;flex-direction:column;gap:10px}
.issue-card-v125{border:1px solid #cbd5e1;border-left:6px solid #64748b;border-radius:14px;background:#fff;padding:13px 14px;box-shadow:0 4px 12px rgba(15,23,42,.05);min-width:0}
.issue-card-v125.defect.blocking{border-left-color:#dc2626}.issue-card-v125.defect.nonblocking{border-left-color:#d97706}.issue-card-v125.defect.status-repair_reported{background:#eff6ff;border-color:#93c5fd}.issue-card-v125.note.scope-guest{border-left-color:#7c3aed}.issue-card-v125.note.scope-room{border-left-color:#0f766e}
.issue-card-v125>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.issue-title-v125{display:flex;align-items:center;gap:10px;min-width:0}.issue-title-v125>div{display:flex;flex-direction:column;gap:2px;min-width:0}.issue-title-v125 b{font-size:17px;color:#0f172a}.issue-title-v125 small{font-size:12px;color:#64748b;font-weight:850}
.issue-number-v125{display:grid;place-items:center;min-width:48px;height:38px;padding:0 7px;border-radius:10px;background:#0f172a;color:#fff;font-size:16px;font-weight:1000}
.issue-badges-v125{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.issue-badges-v125 span,.issue-card-v125>.state{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:1000;white-space:nowrap}
.issue-badges-v125 .impact.blocking{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.issue-badges-v125 .impact.nonblocking{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}
.issue-badges-v125 .state.active{background:#fee2e2;color:#991b1b}.issue-badges-v125 .state.repair_reported{background:#dbeafe;color:#1e40af}.issue-badges-v125 .state.completed,.issue-card-v125>.state{background:#dcfce7;color:#166534}.issue-badges-v125 .state.archived,.issue-card-v125>.state.archived{background:#e2e8f0;color:#334155}
.issue-text-v125{margin:12px 0 9px;padding:11px;border-radius:10px;background:#f8fafc;color:#0f172a;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.issue-meta-v125{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:#64748b}.issue-meta-v125 b{color:#334155}
.repair-report-v125,.verified-report-v125{display:flex;flex-wrap:wrap;gap:5px 12px;margin-top:10px;padding:10px 11px;border-radius:10px}.repair-report-v125{background:#eff6ff;border:1px solid #93c5fd;color:#1e3a8a}.verified-report-v125{background:#ecfdf5;border:1px solid #86efac;color:#14532d}.repair-report-v125 p,.verified-report-v125 p{flex-basis:100%;margin:2px 0 0;white-space:pre-wrap}
.issue-actions-v125{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;margin-top:11px}.issue-actions-v125 form{margin:0}.verify-defect-v125{min-width:min(100%,440px);border:1px solid #86efac;border-radius:10px;background:#f0fdf4;padding:8px 10px}.verify-defect-v125 summary{cursor:pointer;color:#166534;font-weight:1000}.verify-defect-v125 form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:8px}.verify-defect-v125 label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:900;color:#334155}
.guest-link-v125{display:inline-flex;margin-top:10px;padding:6px 9px;border-radius:8px;background:#faf5ff;border:1px solid #ddd6fe;color:#5b21b6;font-size:12px}.permanent-note-v125{color:#64748b;font-weight:850}

.room-details-v125 .room-detail-panel{overflow:visible}.room-defects-list-v125,.active-room-notes-list-v116{display:flex;flex-direction:column;gap:8px}.room-defect-row-v125{border:1px solid #cbd5e1;border-left:5px solid #dc2626;border-radius:11px;background:#fff;padding:10px 11px}.room-defect-row-v125.nonblocking{border-left-color:#d97706;background:#fffbeb}.room-defect-row-v125.waiting{border-color:#93c5fd;background:#eff6ff}.room-defect-row-v125 header{display:flex;justify-content:space-between;gap:8px;align-items:center}.room-defect-row-v125 header b{color:#0f172a}.room-defect-row-v125 header span{font-size:10px;font-weight:1000;padding:3px 7px;border-radius:999px;background:#e2e8f0;color:#334155}.room-defect-row-v125 p{margin:8px 0;color:#0f172a;white-space:pre-wrap}.room-defect-row-v125>small{display:block;color:#64748b}.room-defect-row-v125 .mini-action{margin-top:8px}.defect-waiting-v125{margin-top:8px;padding:8px;border-radius:8px;background:#dbeafe;color:#1e3a8a;font-size:11px;font-weight:850;line-height:1.4}
.defect-create-v125,.note-scope-section-v125{margin-top:12px;padding:12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.defect-create-v125{display:flex;flex-direction:column;gap:7px}.note-scope-section-v125>h3{display:flex;align-items:center;gap:8px;margin-top:0!important}.note-scope-section-v125>h3 span{display:inline-grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:#0f172a;color:#fff;font-size:11px}.note-scope-section-v125.guest{border-color:#ddd6fe;background:#faf5ff}.note-person-v125{display:block;margin:6px 0 0;color:#6d28d9;font-weight:900}
.pos-v7 .room-btn-v5.compact-room-tile .room-soft-defect-badge{position:absolute;top:5px;right:5px;z-index:6;padding:4px 7px;border:1px solid #f59e0b;border-radius:999px;background:#fffbeb;color:#92400e;font-size:8px;line-height:1;font-style:normal;font-weight:1000;letter-spacing:.1px}
.pos-v7 .room-btn-v5.compact-room-tile.has-room-note .room-soft-defect-badge{right:5px}.pos-v7 .room-btn-v5.compact-room-tile.has-room-note .room-note-badge{left:5px!important}

/* Checkout today: thin red signal only, never a strong orange block. */
.pos-v7 .room-btn-v5.compact-room-tile .room-longstay-badge.today-checkout-badge,
.room-longstay-badge.today-checkout-badge{background:#fff7f7!important;color:#b91c1c!important;border:1px solid #fca5a5!important;box-shadow:none!important;font-weight:900!important;letter-spacing:0!important}
.today-checkout-meta{background:#fffafa!important;border:1px solid #fca5a5!important}.today-checkout-meta span,.today-checkout-meta b{color:#991b1b!important}

@media(max-width:960px){
  .issue-kpis-v125{grid-template-columns:1fr 1fr}.issues-rules-v125{grid-template-columns:1fr}.issue-create-v125 form{grid-template-columns:1fr 1fr}.issue-filter-v125{grid-template-columns:1fr 1fr}.issue-filter-v125 .btn{width:100%}
}
@media(max-width:820px){
  /* The whole POS page scrolls vertically; categories scroll horizontally and visibly. */
  .pos-v7 .category-topbar-v111{display:flex!important;flex-direction:column!important;gap:8px!important;overflow:visible!important}
  .pos-v7 .category-topbar-v111 .category-tabs,.pos-v7 .category-tabs{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap!important;gap:7px!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 2px 10px!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:#64748b #e2e8f0}
  .pos-v7 .category-tabs::-webkit-scrollbar{height:9px}.pos-v7 .category-tabs::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}.pos-v7 .category-tabs::-webkit-scrollbar-thumb{background:#64748b;border-radius:999px;border:2px solid #e2e8f0}
  .pos-v7 .category-tabs .cat-tab{flex:0 0 142px!important;min-width:142px!important;scroll-snap-align:start;white-space:normal!important}
  .pos-v7 .products-panel-v5,.pos-v7 .rooms-panel-v5,.pos-v7 .order-panel-v5{overflow:visible!important;max-height:none!important}
  .pos-v7 .product-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(78px,auto)!important;overflow:visible!important;max-height:none!important}
  .pos-v7 .rooms-grid-v5{overflow:visible!important;max-height:none!important}
  .modal-content,.table-scroll-wrap,.turnover-table-wrap-v122,.invoice-table-wrap-v124{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .issue-card-v125>header{flex-direction:column}.issue-badges-v125{justify-content:flex-start}.verify-defect-v125 form{grid-template-columns:1fr}.verify-defect-v125 .btn{width:100%}
}
@media(max-width:560px){
  .issue-kpis-v125,.issue-create-v125 form,.issue-filter-v125{grid-template-columns:1fr}.issue-create-v125 .wide{grid-column:auto}.issue-card-v125{padding:11px}.issue-title-v125 b{font-size:15px}.issue-number-v125{min-width:43px;height:35px;font-size:14px}
  .pos-v7 .category-tabs .cat-tab{flex-basis:132px!important;min-width:132px!important}
  .pos-v7 .product-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.pos-v7 .product-card{min-width:0!important;padding:8px!important}.pos-v7 .product-name{font-size:13px!important}.pos-v7 .price-badge{font-size:11px!important;min-width:48px!important}
  .room-details-v125 .room-simple-header-v116{grid-template-columns:1fr!important}.room-details-v125 .room-detail-tabs-v116{grid-template-columns:1fr 1fr!important}
}
.issue-groups-v125{display:flex;flex-direction:column;gap:14px}.issue-group-v125{border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;overflow:hidden}.issue-group-head-v125{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;border-bottom:1px solid #dbe3ec;background:#fff}.issue-group-head-v125 h2{margin:0!important;font-size:17px!important;color:#0f172a!important}.issue-group-head-v125 p{margin:3px 0 0;color:#64748b;font-size:12px}.issue-group-head-v125>b{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:999px;background:#0f172a;color:#fff;font-size:14px}.issue-group-v125 .issue-list-v125{padding:11px}
@media(max-width:560px){.issue-group-head-v125{align-items:center}.issue-group-head-v125 h2{font-size:15px!important}.issue-group-head-v125 p{font-size:11px}}

/* ======================================================================
   v126 — ONLY approved areas:
   reservation notes, room action stack, mobile category/product access,
   security live/trusted sessions and professional admin inventory.
   ====================================================================== */

/* Room actions: one calm, exact workflow in the approved order. */
.room-main-actions-v126{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  width:100%;
  margin-top:10px;
}
.room-main-actions-v126 .btn,
.room-main-actions-v126 button{
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  border-radius:9px!important;
  font-weight:950!important;
  line-height:1.15!important;
}
.room-main-actions-v126 #roomExitAction{order:1}
.room-main-actions-v126 #roomExtendAction{order:2}
.room-main-actions-v126 #roomReservationNoteAction{order:3}
.room-main-actions-v126 #roomDetailsAction{order:4}
.room-main-actions-v126 #roomPrintAction{order:5}

/* Permanent numbered reservation/stay notes in the room information panel. */
.reservation-notes-summary-v126{
  margin:10px 0 0;
  padding:10px 11px;
  border:1px solid #fdba74;
  border-left:5px solid #f59e0b;
  border-radius:11px;
  background:#fffaf0;
  color:#7c2d12;
}
.reservation-notes-summary-v126>header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:7px;
}
.reservation-notes-summary-v126>header b{font-size:13px;color:#7c2d12}
.reservation-notes-summary-v126>header span{
  display:inline-grid;place-items:center;min-width:25px;height:25px;padding:0 7px;
  border-radius:999px;background:#ffedd5;color:#9a3412;font-size:11px;font-weight:1000;
}
.reservation-note-compact-v126{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:2px 7px;
  padding:6px 0;
  border-top:1px solid #fed7aa;
}
.reservation-note-compact-v126:first-of-type{border-top:0}
.reservation-note-compact-v126 .seq{
  grid-row:1 / span 2;
  align-self:start;
  min-width:29px;
  color:#9a3412;
  font-size:12px;
  font-weight:1000;
}
.reservation-note-compact-v126 .text{
  min-width:0;
  color:#431407;
  font-size:12px;
  font-weight:850;
  line-height:1.28;
  overflow-wrap:anywhere;
  white-space:normal;
}
.reservation-note-compact-v126 .meta{
  color:#9a6a4d;
  font-size:9.5px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.reservation-notes-more-v126{
  display:block;
  width:100%;
  margin-top:6px;
  border:0;
  background:transparent;
  color:#9a3412;
  text-align:left;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
}
.reservation-note-full-v126{
  border:1px solid #d7dee8;
  border-left:5px solid #f59e0b;
  border-radius:11px;
  background:#fff;
  padding:10px 11px;
  margin:0 0 8px;
}
.reservation-note-full-v126 header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.reservation-note-full-v126 header b{color:#9a3412;font-size:14px}
.reservation-note-full-v126 header small{color:#64748b;font-size:10px;text-align:right}
.reservation-note-full-v126 p{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:#0f172a;line-height:1.45}
.reservation-note-form-v126{display:flex;flex-direction:column;gap:8px;margin-bottom:13px;padding:12px;border:1px solid #fdba74;border-radius:12px;background:#fffaf0}
.reservation-note-form-v126 textarea{min-height:88px;resize:vertical}
.reservation-note-form-v126 small{color:#7c2d12;font-size:11px;line-height:1.35}
.reservation-history-help-v126{display:flex!important;flex-direction:column!important;gap:5px!important}
.reservation-note-admin-v126{border-left-color:#f59e0b!important}

/* Room details now contains only the approved room tools. */
.room-details-v126 .room-detail-tabs-v116{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.room-details-v126 .room-detail-tabs-v116 button{
  min-width:0!important;
  overflow-wrap:anywhere;
}

/* Mobile/zoom: categories must remain reachable and visually obvious. */
.pos-v7 .category-tabs{
  scrollbar-gutter:stable;
  overscroll-behavior-x:contain;
}
.pos-v7 .category-tabs::after{
  content:"";
  flex:0 0 2px;
}
@media (max-width:1100px), (min-resolution:1.35dppx){
  .pos-v7 .category-topbar-v111{
    min-width:0!important;
    overflow:visible!important;
  }
  .pos-v7 .category-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:8px!important;
    padding:2px 2px 12px!important;
    scrollbar-width:auto!important;
    scrollbar-color:#475569 #e2e8f0!important;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
  }
  .pos-v7 .category-tabs::-webkit-scrollbar{height:10px!important;display:block!important}
  .pos-v7 .category-tabs::-webkit-scrollbar-track{background:#e2e8f0;border-radius:999px}
  .pos-v7 .category-tabs::-webkit-scrollbar-thumb{background:#475569;border:2px solid #e2e8f0;border-radius:999px}
  .pos-v7 .category-tabs .cat-tab{
    flex:0 0 clamp(132px,24vw,210px)!important;
    min-width:132px!important;
    min-height:54px!important;
    scroll-snap-align:start;
    white-space:normal!important;
  }
}
@media (max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  .pos-v7{min-width:0!important;width:100%!important;padding-left:6px!important;padding-right:6px!important}
  .pos-v7 .pos-main-v5,
  .pos-v7 .main-grid-v5,
  .pos-v7 .workspace-v5{
    min-width:0!important;
    width:100%!important;
    grid-template-columns:1fr!important;
  }
  .pos-v7 .rooms-panel-v5,
  .pos-v7 .products-panel-v5,
  .pos-v7 .order-panel-v5{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .pos-v7 .category-tabs .cat-tab{
    flex-basis:142px!important;
    min-width:142px!important;
    min-height:52px!important;
    font-size:13px!important;
  }
  .pos-v7 .product-grid-v5{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    gap:7px!important;
    overflow:visible!important;
    max-height:none!important;
  }
  .pos-v7 .product-card,
  .pos-v7 .product-card-v5{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:80px!important;
    padding:8px!important;
    overflow:hidden!important;
  }
  .pos-v7 .product-card *{max-width:100%;overflow-wrap:anywhere}
  .pos-v7 .rooms-grid-v5{width:100%!important;min-width:0!important;overflow:visible!important;max-height:none!important}
  .room-details-v126 .room-detail-tabs-v116{grid-template-columns:1fr 1fr!important}
  .room-main-actions-v126 .btn,.room-main-actions-v126 button{min-height:46px!important}
}
@media (max-width:390px){
  .pos-v7 .product-grid-v5{grid-template-columns:1fr 1fr!important;gap:6px!important}
  .pos-v7 .category-tabs .cat-tab{flex-basis:128px!important;min-width:128px!important}
  .reservation-note-compact-v126 .text{font-size:11px}
  .reservation-note-compact-v126 .meta{font-size:9px}
}

/* Security: live state, trust state and readable device/IP details. */
.security-kpis-v126{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:15px;
}
.security-kpi-v126{
  display:flex;flex-direction:column;gap:4px;
  border:1px solid #cbd5e1;border-radius:13px;background:#fff;padding:12px 13px;
}
.security-kpi-v126 span{font-size:11px;color:#64748b;font-weight:900;text-transform:uppercase}
.security-kpi-v126 b{font-size:22px;color:#0f172a;overflow-wrap:anywhere}
.security-kpi-v126.live{border-left:5px solid #16a34a}.security-kpi-v126.alert{border-left:5px solid #dc2626}
.security-email-status-v126{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0 0 15px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a;
}
.security-email-status-v126.warning{border-color:#fdba74;background:#fff7ed;color:#9a3412}
.security-email-status-v126 small{font-size:11px;line-height:1.4}
.ip-group-card-v126{border-left-color:#94a3b8!important}
.ip-group-card-v126.trusted{border-left-color:#16a34a!important}
.ip-group-card-v126.untrusted{border-left-color:#dc2626!important}
.security-live-pill-v126,.security-trust-pill-v126,.security-network-pill-v126{
  display:inline-flex;align-items:center;gap:5px;min-height:25px;padding:3px 8px;border-radius:999px;
  font-size:10.5px;font-weight:1000;white-space:nowrap;
}
.security-live-pill-v126.live{background:#dcfce7;color:#166534;border:1px solid #86efac}
.security-live-pill-v126.recent{background:#e0f2fe;color:#075985;border:1px solid #7dd3fc}
.security-live-pill-v126.old{background:#e2e8f0;color:#475569;border:1px solid #cbd5e1}
.security-live-pill-v126.live::before{content:"";width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.16)}
.security-trust-pill-v126.trusted{background:#dcfce7;color:#166534;border:1px solid #86efac}
.security-trust-pill-v126.untrusted{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.security-network-pill-v126{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}
.security-ip-actions-v126{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:10px 0}
.security-ip-actions-v126 form{margin:0;display:flex;gap:7px;flex-wrap:wrap;align-items:end}
.security-ip-actions-v126 label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:900;color:#475569}
.security-ip-actions-v126 input{min-height:39px!important}
.security-session-extra-v126{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px;
}
.security-session-extra-v126 span{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:10px}
.security-session-extra-v126 b{color:#0f172a;font-size:11px;overflow-wrap:anywhere}
.security-force-note-v126{display:block;margin-top:5px;color:#64748b;font-size:10px;line-height:1.3}

/* Professional but simple inventory administration. */
.inventory-admin-v126{display:flex;flex-direction:column;gap:15px}
.inventory-intro-v126{
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 15px;border:1px solid #cbd5e1;border-radius:15px;background:#fff;
}
.inventory-intro-v126 h2{margin:0 0 4px!important;font-size:20px!important}.inventory-intro-v126 p{margin:0;color:#64748b;line-height:1.4}
.inventory-search-v126{min-width:min(100%,320px);flex:0 1 360px}
.inventory-search-v126 input{width:100%;min-height:44px!important}
.inventory-kpis-v126{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.inventory-kpi-v126{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #cbd5e1;border-radius:13px;background:#fff}
.inventory-kpi-v126 span{font-size:11px;color:#64748b;font-weight:900}.inventory-kpi-v126 b{font-size:23px;color:#0f172a}.inventory-kpi-v126.danger{border-left:5px solid #dc2626}.inventory-kpi-v126.warning{border-left:5px solid #f59e0b}.inventory-kpi-v126.success{border-left:5px solid #16a34a}
.inventory-guide-v126{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.inventory-guide-v126 div{padding:11px 12px;border:1px solid #dbe3ec;border-radius:12px;background:#f8fafc}.inventory-guide-v126 b{display:block;margin-bottom:4px;color:#0f172a}.inventory-guide-v126 span{font-size:11px;line-height:1.4;color:#64748b}
.inventory-products-v126{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.inventory-product-card-v126{display:flex;flex-direction:column;gap:10px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;padding:13px;box-shadow:0 4px 12px rgba(15,23,42,.04);min-width:0}
.inventory-product-card-v126.low{border-left:5px solid #f59e0b}.inventory-product-card-v126.out{border-left:5px solid #dc2626}
.inventory-product-card-v126 header{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.inventory-product-card-v126 h3{margin:0!important;color:#0f172a!important;font-size:16px!important;overflow-wrap:anywhere}.inventory-product-card-v126 header small{display:block;margin-top:3px;color:#64748b}
.inventory-stock-v126{text-align:right;white-space:nowrap}.inventory-stock-v126 b{display:block;color:#0f172a;font-size:23px}.inventory-stock-v126 small{color:#64748b}
.inventory-product-meta-v126{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inventory-product-meta-v126 span{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#64748b;font-size:10px}.inventory-product-meta-v126 b{font-size:11px;color:#0f172a;overflow-wrap:anywhere}
.inventory-product-card-v126>.btn{margin-top:auto;width:100%}
.inventory-history-v126,.inventory-nontracked-v126{border:1px solid #cbd5e1;border-radius:15px;background:#fff;padding:14px}
.inventory-history-head-v126{display:flex;justify-content:space-between;align-items:flex-start;gap:13px;flex-wrap:wrap;margin-bottom:11px}.inventory-history-head-v126 h2{margin:0 0 4px!important}.inventory-history-head-v126 p{margin:0;color:#64748b;line-height:1.4}
.inventory-history-filter-v126{display:flex;gap:7px;flex-wrap:wrap}.inventory-history-filter-v126 select{min-height:40px!important}
.admin-table-scroll-v126{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.inventory-history-table-v126{min-width:900px!important}.inventory-history-table-v126 td small{display:block;color:#64748b}.inventory-history-table-v126 .positive{color:#15803d}.inventory-history-table-v126 .negative{color:#b91c1c}
.inventory-nontracked-v126 summary{cursor:pointer;font-weight:1000;color:#0f172a}.inventory-nontracked-v126>p{color:#64748b}.inventory-nontracked-grid-v126{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.inventory-nontracked-grid-v126 span{display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid #e2e8f0;border-radius:8px}.inventory-nontracked-grid-v126 small{color:#64748b}
.inventory-modal-v126{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:15px;background:rgba(15,23,42,.68);overflow:auto}.inventory-modal-v126.hidden-soft{display:none!important}.inventory-modal-open-v126{overflow:hidden!important}
.inventory-move-form-v126{width:min(660px,96vw);max-height:92vh;overflow:auto;display:flex;flex-direction:column;gap:11px;padding:16px;border-radius:15px;background:#fff;box-shadow:0 25px 60px rgba(0,0,0,.28)}
.inventory-move-form-v126 header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:1px solid #e2e8f0;padding-bottom:10px}.inventory-move-form-v126 header small{color:#64748b;font-weight:900}.inventory-move-form-v126 header h2{margin:2px 0 0!important}.inventory-move-form-v126 header button{width:38px;height:38px;border:0;border-radius:8px;background:#dc2626;color:#fff;font-size:23px;font-weight:1000;cursor:pointer}
.inventory-current-v126{display:flex;justify-content:space-between;align-items:center;padding:10px 11px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe}.inventory-current-v126 span{color:#1e3a8a;font-weight:900}.inventory-current-v126 b{font-size:20px;color:#1e3a8a}
.inventory-move-form-v126>label,.inventory-quantity-grid-v126 label,#inventoryCountedFieldV126 label{display:flex;flex-direction:column;gap:5px;font-weight:900;color:#334155}
.inventory-quantity-grid-v126{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.inventory-calculation-v126{display:flex;justify-content:space-between;align-items:center;grid-column:1/-1;padding:9px 10px;border-radius:9px;background:#f8fafc;border:1px solid #cbd5e1}.inventory-calculation-v126 span{color:#64748b;font-size:11px;font-weight:900}.inventory-calculation-v126 b{color:#0f172a}

@media(max-width:1050px){
  .security-kpis-v126,.inventory-kpis-v126{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-products-v126{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-guide-v126{grid-template-columns:1fr 1fr}
  .inventory-nontracked-grid-v126{grid-template-columns:repeat(2,minmax(0,1fr))}
  .security-session-extra-v126{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .security-kpis-v126,.inventory-kpis-v126,.inventory-products-v126,.inventory-guide-v126,.inventory-nontracked-grid-v126{grid-template-columns:1fr}
  .security-email-status-v126,.inventory-intro-v126,.inventory-history-head-v126{align-items:stretch}
  .security-session-extra-v126{grid-template-columns:1fr}
  .security-ip-actions-v126 form,.security-ip-actions-v126 label,.security-ip-actions-v126 input,.security-ip-actions-v126 .btn{width:100%}
  .inventory-history-filter-v126,.inventory-history-filter-v126 select,.inventory-history-filter-v126 .btn{width:100%}
  .inventory-quantity-grid-v126{grid-template-columns:1fr 1fr}.inventory-quantity-grid-v126 label:nth-child(3){grid-column:1/-1}
  .inventory-move-form-v126{width:100%;max-height:96vh;border-radius:12px;padding:13px}
}
.reservation-notes-modal-v126{display:flex;flex-direction:column;gap:10px;color:#0f172a}
.reservation-note-room-v126{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:7px 10px;align-items:center;padding:10px 11px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.reservation-note-room-v126 span{color:#64748b;font-size:11px;font-weight:900}.reservation-note-room-v126 b{overflow-wrap:anywhere}
.reservation-notes-list-v126{max-height:44vh;overflow:auto;padding-right:3px;scrollbar-gutter:stable}
.reservation-notes-modal-v126>label{font-weight:950;color:#334155}.reservation-notes-modal-v126>textarea{min-height:90px;resize:vertical}
@media(max-width:560px){.reservation-note-room-v126{grid-template-columns:auto 1fr}.reservation-notes-list-v126{max-height:38vh}}
.logged-out-pill-v126{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;font-size:10.5px;font-weight:1000;white-space:nowrap}
.session-card.session-state-logged_out,.session-card.session-state-expired{background:#f8fafc;opacity:.88}
.session-card.session-state-logged_out .session-device,.session-card.session-state-expired .session-device{color:#64748b!important}
.inventory-product-link-v126{grid-column:span 2;align-self:center;padding:8px 10px!important;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff!important;color:#1e3a8a!important}
.inventory-inline-link-v126{display:inline-block;margin-top:4px;color:#2563eb;font-size:11px;font-weight:950;text-decoration:none}.inventory-inline-link-v126:hover{text-decoration:underline}

/* ==========================================================
   v127 – compact reservation notes, mobile connection state,
   and a simpler professional inventory admin.
   ========================================================== */

/* Reservation notes in the right room panel: one compact line per note.
   Full date/time/user remains in the click-opened history modal. */
.reservation-notes-summary-v127{
  width:100%;display:block;text-align:left;border:1px solid #fed7aa;border-radius:10px;
  background:#fffaf4;padding:8px 9px;cursor:pointer;color:#431407;
  box-shadow:none;font:inherit;min-width:0;
}
.reservation-notes-summary-v127:hover{background:#fff7ed;border-color:#fb923c}
.reservation-notes-summary-v127:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.reservation-notes-title-v127{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.reservation-notes-title-v127 b{font-size:12px;color:#9a3412}
.reservation-notes-title-v127 em{font-style:normal;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:11px;font-weight:1000}
.reservation-notes-lines-v127{display:flex;flex-direction:column;gap:2px;min-width:0}
.reservation-note-line-v127{display:grid;grid-template-columns:29px minmax(0,1fr);gap:5px;align-items:baseline;min-width:0;line-height:1.2}
.reservation-note-line-v127>b{font-size:10px;color:#c2410c;white-space:nowrap}
.reservation-note-line-v127>span{font-size:11px;font-weight:800;color:#431407;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.reservation-notes-summary-v127>small{display:block;margin-top:4px;color:#9a3412;font-size:9px;font-weight:700}

/* Initial phone connection state. Hidden after successful first state load. */
.mobile-load-state-v127{
  margin:0 10px 8px;padding:8px 10px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;
  display:flex;align-items:center;gap:8px;color:#1e3a8a;font-size:12px;min-width:0;
}
.mobile-load-state-v127.loading .mobile-load-dot-v127{width:10px;height:10px;border:2px solid #93c5fd;border-top-color:#2563eb;border-radius:50%;animation:mobileSpinV127 .8s linear infinite;flex:0 0 auto}
.mobile-load-state-v127.error{border-color:#fecaca;background:#fff1f2;color:#991b1b}
.mobile-load-state-v127.error .mobile-load-dot-v127{width:10px;height:10px;border-radius:50%;background:#dc2626;flex:0 0 auto}
.mobile-load-state-v127.ok{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.mobile-load-state-v127.ok .mobile-load-dot-v127{width:10px;height:10px;border-radius:50%;background:#16a34a;flex:0 0 auto}
.mobile-load-state-v127>b{min-width:0;overflow-wrap:anywhere}
.mobile-load-actions-v127{margin-left:auto;display:none;gap:6px;flex-wrap:wrap}
.mobile-load-state-v127.error .mobile-load-actions-v127{display:flex}
.mobile-load-actions-v127 button,.mobile-load-actions-v127 a{border:1px solid currentColor;border-radius:7px;background:#fff;color:inherit;padding:5px 8px;font-size:10px;font-weight:900;text-decoration:none;cursor:pointer}
@keyframes mobileSpinV127{to{transform:rotate(360deg)}}

/* Inventory v127 */
.inventory-v127{display:flex;flex-direction:column;gap:14px;min-width:0}
.inventory-head-v127{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:15px;border:1px solid #cbd5e1;border-radius:15px;background:#fff}
.inventory-head-v127 h2{margin:0 0 5px!important;font-size:22px!important;color:#0f172a!important}
.inventory-head-v127 p{margin:0;max-width:720px;color:#64748b;line-height:1.45}
.inventory-kpis-v127{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px;min-width:min(100%,520px)}
.inventory-kpis-v127>div{padding:10px 11px;border:1px solid #dbe3ec;border-radius:11px;background:#f8fafc;display:flex;flex-direction:column;gap:3px}
.inventory-kpis-v127 span{font-size:10px;color:#64748b;font-weight:900}.inventory-kpis-v127 b{font-size:21px;color:#0f172a}
.inventory-kpis-v127 .warning{border-left:4px solid #f59e0b}.inventory-kpis-v127 .positive{border-left:4px solid #16a34a}.inventory-kpis-v127 .negative{border-left:4px solid #dc2626}
.inventory-tabs-v127{display:flex;gap:7px;padding:5px;border:1px solid #cbd5e1;border-radius:12px;background:#eaf0f5;width:max-content;max-width:100%;overflow-x:auto}
.inventory-tabs-v127 button{border:0;border-radius:8px;background:transparent;color:#334155;padding:9px 14px;font-weight:950;white-space:nowrap;cursor:pointer}
.inventory-tabs-v127 button.active{background:#0f172a;color:#fff;box-shadow:0 2px 7px rgba(15,23,42,.18)}
.inventory-tab-panel-v127{display:flex;flex-direction:column;gap:12px;min-width:0}
.inventory-toolbar-v127{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:12px;border:1px solid #cbd5e1;border-radius:13px;background:#fff}
.inventory-toolbar-v127>label{display:flex;flex-direction:column;gap:5px;min-width:min(100%,360px);font-weight:900;color:#334155}
.inventory-toolbar-v127 input{width:100%;min-height:43px!important}
.inventory-filter-buttons-v127{display:flex;gap:6px;flex-wrap:wrap}
.inventory-filter-buttons-v127 button{border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#334155;padding:8px 11px;font-weight:900;cursor:pointer}
.inventory-filter-buttons-v127 button.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}
.inventory-explain-v127{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid #bfdbfe;border-radius:11px;background:#eff6ff;color:#1e3a8a;font-size:12px;line-height:1.4}
.inventory-list-v127{display:flex;flex-direction:column;gap:7px;min-width:0}
.inventory-row-v127{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(140px,.8fr) minmax(165px,1fr) minmax(145px,.7fr);gap:10px;align-items:center;padding:11px 12px;border:1px solid #cbd5e1;border-left:5px solid #16a34a;border-radius:12px;background:#fff;min-width:0}
.inventory-row-v127.attention{border-left-color:#f59e0b}
.inventory-product-v127,.inventory-quantity-v127,.inventory-last-v127{min-width:0}
.inventory-product-v127 small,.inventory-quantity-v127>span,.inventory-last-v127>span{display:block;color:#64748b;font-size:10px;font-weight:900;margin-bottom:3px}
.inventory-product-v127 h3{margin:0!important;color:#0f172a!important;font-size:16px!important;overflow-wrap:anywhere}
.inventory-quantity-v127 b{display:block;color:#0f172a;font-size:20px}.inventory-quantity-v127 b small{font-size:11px;color:#64748b}
.inventory-quantity-v127 em{display:inline-block;margin-top:3px;padding:2px 6px;border-radius:999px;font-size:9px;font-style:normal;font-weight:950}
.inventory-quantity-v127 em.ok{background:#dcfce7;color:#166534}.inventory-quantity-v127 em.warning{background:#fef3c7;color:#92400e}.inventory-quantity-v127 em.danger{background:#fee2e2;color:#991b1b}
.inventory-last-v127 b{display:block;color:#334155;font-size:12px}.inventory-last-v127 small{color:#64748b;font-size:10px}
.inventory-actions-v127{display:flex;flex-direction:column;gap:5px;align-items:stretch}
.inventory-actions-v127>.btn{width:100%;margin:0!important}
.inventory-actions-v127 details{position:relative}
.inventory-actions-v127 summary{cursor:pointer;text-align:center;color:#475569;font-size:10px;font-weight:900;padding:4px}
.inventory-actions-v127 details[open]{padding:8px;border:1px solid #dbe3ec;border-radius:9px;background:#f8fafc}
.inventory-actions-v127 form{display:flex;flex-direction:column;gap:6px;margin-top:7px}
.inventory-actions-v127 form+form{padding-top:7px;border-top:1px solid #e2e8f0}
.inventory-actions-v127 label{display:flex;flex-direction:column;gap:3px;font-size:10px;font-weight:900;color:#475569}
.inventory-actions-v127 input{min-height:36px!important}
.inventory-untracked-v127{border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:12px}
.inventory-untracked-v127 summary{cursor:pointer;font-weight:950;color:#334155}.inventory-untracked-v127 p{color:#64748b}.inventory-untracked-v127>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.inventory-untracked-v127>div>span{display:flex;flex-direction:column;padding:7px 8px;border:1px solid #e2e8f0;border-radius:8px}.inventory-untracked-v127 small{color:#64748b}
.inventory-history-head-v127{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:13px;border:1px solid #cbd5e1;border-radius:13px;background:#fff}
.inventory-history-head-v127 h2{margin:0 0 4px!important}.inventory-history-head-v127 p{margin:0;color:#64748b;line-height:1.4}
.inventory-history-filter-v127{display:flex;gap:6px;flex-wrap:wrap}.inventory-history-filter-v127 select{min-height:40px!important}
.inventory-history-scroll-v127{border:1px solid #cbd5e1;border-radius:12px;background:#fff;max-width:100%;overflow:auto}
.inventory-history-table-v127{min-width:930px!important;margin:0!important}.inventory-history-table-v127 td small{display:block;color:#64748b}.inventory-history-table-v127 .positive{color:#15803d}.inventory-history-table-v127 .negative{color:#b91c1c}
.inventory-modal-v127{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:14px;background:rgba(15,23,42,.68);overflow:auto}
.inventory-modal-v127.hidden-soft{display:none!important}.inventory-modal-open-v127{overflow:hidden!important}
.inventory-form-v127{width:min(760px,96vw);max-height:94vh;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:#fff;box-shadow:0 25px 70px rgba(0,0,0,.32)}
.inventory-form-v127>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;border-bottom:1px solid #e2e8f0}.inventory-form-v127>header small{color:#64748b;font-weight:900}.inventory-form-v127>header h2{margin:2px 0 0!important}.inventory-form-v127>header button{width:38px;height:38px;border:0;border-radius:8px;background:#dc2626;color:#fff;font-size:23px;font-weight:1000;cursor:pointer}
.inventory-before-after-v127{display:grid;grid-template-columns:1fr 1fr;gap:8px}.inventory-before-after-v127>div{padding:10px 11px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;display:flex;justify-content:space-between;align-items:center;gap:10px}.inventory-before-after-v127 span{color:#1e3a8a;font-size:11px;font-weight:900}.inventory-before-after-v127 b{color:#1e3a8a;font-size:19px}
.inventory-action-choice-v127{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.inventory-action-choice-v127 button{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;text-align:left;align-items:center;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;padding:9px;cursor:pointer;color:#334155;font-size:17px}
.inventory-action-choice-v127 button b{font-size:11px;color:#0f172a}.inventory-action-choice-v127 button small{grid-column:2;color:#64748b;font-size:9px}.inventory-action-choice-v127 button.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 2px rgba(37,99,235,.12)}
.inventory-fields-v127{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.inventory-fields-v127 label,.inventory-counted-v127 label,.inventory-note-v127{display:flex;flex-direction:column;gap:5px;color:#334155;font-weight:900}
.inventory-fields-v127 input,.inventory-counted-v127 input{min-height:44px!important;font-size:17px!important}
.inventory-calc-v127{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc}.inventory-calc-v127 span{color:#64748b;font-size:11px;font-weight:900}.inventory-calc-v127 b{color:#0f172a;font-size:17px}
.inventory-counted-v127{padding:11px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}.inventory-counted-v127 small{display:block;margin-top:5px;color:#1e3a8a}
.inventory-note-v127 textarea{min-height:76px!important}

@media(max-width:1000px){
  .inventory-head-v127{flex-direction:column}.inventory-kpis-v127{width:100%;min-width:0}
  .inventory-row-v127{grid-template-columns:1.2fr .8fr 1fr}.inventory-actions-v127{grid-column:1/-1;display:grid;grid-template-columns:1fr auto}.inventory-actions-v127 details{min-width:100px}
  .inventory-untracked-v127>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .mobile-load-state-v127{margin:0 4px 7px;align-items:flex-start;flex-wrap:wrap}.mobile-load-actions-v127{width:100%;margin-left:18px}
  .reservation-note-line-v127{grid-template-columns:26px minmax(0,1fr)}
  .inventory-kpis-v127{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inventory-toolbar-v127,.inventory-history-head-v127{flex-direction:column;align-items:stretch}
  .inventory-toolbar-v127>label,.inventory-history-filter-v127,.inventory-history-filter-v127 select,.inventory-history-filter-v127 .btn{width:100%;min-width:0}
  .inventory-filter-buttons-v127{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-filter-buttons-v127 button{padding:8px 5px;font-size:10px}
  .inventory-row-v127{grid-template-columns:1fr 1fr;gap:8px;padding:10px}.inventory-product-v127{grid-column:1/-1}.inventory-last-v127{border-top:1px solid #e2e8f0;padding-top:7px}.inventory-actions-v127{grid-column:1/-1;display:flex}.inventory-actions-v127 details[open]{width:100%}
  .inventory-action-choice-v127{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-fields-v127{grid-template-columns:1fr 1fr}.inventory-fields-v127 label:nth-child(3){grid-column:1/-1}
  .inventory-form-v127{width:100%;max-height:97vh;padding:12px;border-radius:12px}.inventory-before-after-v127{grid-template-columns:1fr}.inventory-untracked-v127>div{grid-template-columns:1fr}
}

/* ==========================================================
   v128 – compact reservation notes, linked-room indication,
   and inventory history grouped by day.
   Only the explicitly agreed presentation areas are touched.
   ========================================================== */

/* Reservation notes stay in one thin horizontal row. The full history opens on click. */
.pos-v7 .room-meta-v7 .reservation-notes-summary-v128{
  grid-column:1/-1!important;
  min-height:46px!important;
  max-height:50px!important;
  padding:6px 8px!important;
  overflow:hidden!important;
}
.reservation-notes-summary-v128 .reservation-notes-title-v127{
  margin:0 0 2px!important;
  min-height:16px;
}
.reservation-notes-summary-v128 .reservation-notes-title-v127 b{font-size:10px!important}
.reservation-notes-summary-v128 .reservation-notes-title-v127 em{
  min-width:18px!important;height:18px!important;padding:0 5px!important;font-size:9px!important;
}
.reservation-notes-inline-track-v128{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:thin;
  scrollbar-color:#fdba74 transparent;
  padding-bottom:2px;
}
.reservation-notes-inline-track-v128::-webkit-scrollbar{height:3px}
.reservation-notes-inline-track-v128::-webkit-scrollbar-thumb{background:#fdba74;border-radius:99px}
.reservation-notes-inline-track-v128>i{font-style:normal;color:#cbd5e1;flex:0 0 auto}
.reservation-note-inline-v128{
  display:block;
  flex:0 0 auto;
  max-width:155px;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:10px;
  line-height:15px;
  font-weight:800;
  color:#431407;
}
.reservation-note-inline-v128>b{color:#c2410c;margin-right:2px}

/* Existing multi-room reservations are visible without changing reservation logic. */
.pos-v7 .room-meta-v7 .linked-rooms-meta-v128{
  grid-column:1/-1!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-height:0!important;
  padding:8px 9px!important;
  border:1px solid #93c5fd!important;
  background:#eff6ff!important;
}
.linked-rooms-meta-v128>span{color:#1e40af!important;font-size:10px!important;font-weight:900!important}
.linked-rooms-meta-v128>b{display:flex!important;flex-wrap:wrap!important;gap:4px!important;margin:0!important}
.linked-rooms-meta-v128>small{color:#475569!important;font-size:9px!important}
.linked-room-pill-v128{
  display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;
  border:1px solid #bfdbfe;background:#fff;color:#1e3a8a;font-size:10px;font-weight:900;
}
.linked-room-pill-v128.current{border-color:#2563eb;background:#dbeafe}
.linked-room-pill-v128.closed{opacity:.65;text-decoration:line-through}

/* Small GRUP marker on the room tile. It does not change the room color/status. */
.pos-v7 .room-btn-v5.compact-room-tile .room-group-badge-v128{
  position:absolute!important;z-index:7;top:5px!important;left:50%!important;transform:translateX(-50%)!important;
  display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border:1px solid #2563eb;
  border-radius:999px;background:#dbeafe;color:#1e3a8a;font-size:7.5px;line-height:1;font-style:normal;font-weight:1000;
}

/* Inventory: one card per day, with all drinks/movements inside. */
.inventory-history-head-v128{display:flex;flex-direction:column!important;align-items:stretch!important}
.inventory-history-filter-v128{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(150px,1fr)) auto auto!important;
  gap:8px!important;
  align-items:end!important;
}
.inventory-history-filter-v128 label{display:flex;flex-direction:column;gap:4px;color:#475569;font-size:11px;font-weight:900}
.inventory-history-filter-v128 input,.inventory-history-filter-v128 select{width:100%;min-height:40px!important}
.inventory-day-search-v128{
  display:flex;align-items:end;justify-content:space-between;gap:12px;padding:11px 12px;
  border:1px solid #cbd5e1;border-radius:12px;background:#fff;
}
.inventory-day-search-v128 label{display:flex;flex-direction:column;gap:4px;flex:1;color:#475569;font-size:11px;font-weight:900}
.inventory-day-search-v128 input{width:100%;min-height:41px!important}
.inventory-day-search-v128 small{max-width:340px;color:#64748b;line-height:1.35}
.inventory-days-v128{display:flex;flex-direction:column;gap:9px}
.inventory-day-v128{border:1px solid #cbd5e1;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 3px 11px rgba(15,23,42,.04)}
.inventory-day-v128>summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(170px,.8fr) minmax(440px,2fr) auto;
  gap:12px;align-items:center;padding:12px 14px;background:#f8fafc;
}
.inventory-day-v128>summary::-webkit-details-marker{display:none}
.inventory-day-v128[open]>summary{border-bottom:1px solid #dbe4ec;background:#f1f5f9}
.inventory-day-date-v128{display:flex;flex-direction:column;gap:2px}
.inventory-day-date-v128>span{font-size:9px;color:#64748b;font-weight:900;text-transform:uppercase}
.inventory-day-date-v128>b{font-size:17px;color:#0f172a}
.inventory-day-date-v128>small{font-size:10px;color:#64748b}
.inventory-day-kpis-v128{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:6px}
.inventory-day-kpis-v128>span{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}
.inventory-day-kpis-v128 small{font-size:9px;color:#64748b;font-weight:800}
.inventory-day-kpis-v128 b{font-size:14px;color:#0f172a}
.inventory-day-kpis-v128 .received{border-color:#bbf7d0;background:#f0fdf4}.inventory-day-kpis-v128 .received b{color:#15803d}
.inventory-day-kpis-v128 .sold{border-color:#bfdbfe;background:#eff6ff}.inventory-day-kpis-v128 .sold b{color:#1d4ed8}
.inventory-day-kpis-v128 .free{border-color:#ddd6fe;background:#f5f3ff}.inventory-day-kpis-v128 .free b{color:#6d28d9}
.inventory-day-kpis-v128 .other{border-color:#fed7aa;background:#fff7ed}.inventory-day-kpis-v128 .other b{color:#c2410c}
.inventory-day-v128>summary>em{font-style:normal;color:#2563eb;font-size:10px;font-weight:900;white-space:nowrap}
.inventory-day-v128[open]>summary>em{color:#64748b}.inventory-day-v128[open]>summary>em::before{content:'Mbyll '}.inventory-day-v128[open]>summary>em{font-size:0}.inventory-day-v128[open]>summary>em::before{font-size:10px}
.inventory-day-table-wrap-v128{border:0!important;border-radius:0!important;max-height:430px;overflow:auto}
.inventory-day-table-v128{min-width:900px!important;margin:0!important}
.inventory-day-table-v128 td{vertical-align:top}.inventory-day-table-v128 td small{display:block;color:#64748b}

@media(max-width:900px){
  .inventory-history-filter-v128{grid-template-columns:1fr 1fr!important}
  .inventory-day-v128>summary{grid-template-columns:1fr auto!important}
  .inventory-day-kpis-v128{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}
  .inventory-day-search-v128{align-items:stretch;flex-direction:column}
}
@media(max-width:560px){
  .reservation-note-inline-v128{max-width:115px;font-size:9.5px}
  .inventory-history-filter-v128{grid-template-columns:1fr!important}
  .inventory-history-filter-v128 .btn{width:100%}
  .inventory-day-v128>summary{grid-template-columns:1fr!important;padding:10px}
  .inventory-day-kpis-v128{grid-template-columns:1fr 1fr}
  .inventory-day-v128>summary>em{justify-self:start}
}

/* ==========================================================
   v129 – exact requested fixes only:
   reservation-note visibility, multi-room linkage recovery,
   waiter reservation privacy, and read-only admin list layout.
   ========================================================== */

/* Thin, single-line reservation-note strip in the room panel. */
.pos-v7 .room-meta-v7 .reservation-notes-summary-v129{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:5px 8px!important;
  border:1px solid #fdba74!important;
  border-radius:10px!important;
  background:#fff7ed!important;
  color:#431407!important;
  text-align:left!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.reservation-notes-label-v129{
  flex:0 0 auto;
  color:#9a3412!important;
  font-size:10px!important;
  font-weight:950!important;
  white-space:nowrap!important;
}
.reservation-notes-inline-track-v129{
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  gap:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:thin!important;
  scrollbar-color:#fdba74 transparent!important;
}
.reservation-notes-inline-track-v129::-webkit-scrollbar{height:3px!important}
.reservation-notes-inline-track-v129::-webkit-scrollbar-thumb{background:#fdba74!important;border-radius:99px!important}
.reservation-notes-inline-track-v129>i{font-style:normal!important;color:#cbd5e1!important;flex:0 0 auto!important}
.reservation-note-inline-v129{
  display:inline-block!important;
  flex:0 0 auto!important;
  max-width:175px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#431407!important;
  font-size:10px!important;
  line-height:18px!important;
  font-weight:800!important;
}
.reservation-note-inline-v129>b{color:#c2410c!important;margin-right:2px!important}

/* One compact line showing every room in the same group stay. */
.pos-v7 .room-meta-v7 .linked-rooms-meta-v129{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
  min-height:34px!important;
  padding:5px 8px!important;
  border:1px solid #93c5fd!important;
  border-radius:10px!important;
  background:#eff6ff!important;
  overflow:hidden!important;
}
.linked-rooms-meta-v129>b{flex:0 0 auto!important;color:#1e40af!important;font-size:10px!important;white-space:nowrap!important}
.linked-rooms-meta-v129>span{display:flex!important;align-items:center!important;gap:4px!important;min-width:0!important;overflow-x:auto!important;white-space:nowrap!important;scrollbar-width:thin!important}
.linked-rooms-meta-v129>span>i{font-style:normal!important;color:#94a3b8!important}
.linked-room-pill-v129{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;padding:3px 7px!important;border:1px solid #bfdbfe!important;border-radius:999px!important;background:#fff!important;color:#1e3a8a!important;font-size:10px!important;font-weight:900!important}
.linked-room-pill-v129.current{border-color:#2563eb!important;background:#dbeafe!important}
.linked-room-pill-v129.closed{opacity:.65!important;text-decoration:line-through!important}

/* Admin reservations: waiter-like read-only summary; editing opens only on click. */
.admin-res-v129 .admin-res-filter-v129{margin-bottom:10px!important}
.admin-reservation-list-v129{display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:12px!important}
.admin-res-card-v129{border:1px solid #cbd5e1!important;border-left:6px solid #2563eb!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 5px 15px rgba(15,23,42,.06)!important}
.admin-res-card-v129[open]{border-color:#93c5fd!important;box-shadow:0 8px 24px rgba(37,99,235,.10)!important}
.admin-res-card-v129.admin-res-status-canceled,.admin-res-card-v129.admin-res-status-no_show,.admin-res-card-v129.admin-res-status-deleted{border-left-color:#dc2626!important}
.admin-res-card-v129.admin-res-status-checked_in{border-left-color:#16a34a!important}
.admin-res-summary-v129{
  display:grid!important;
  grid-template-columns:56px minmax(260px,1.5fr) minmax(215px,1fr) minmax(190px,.9fr) 145px!important;
  gap:12px!important;
  align-items:center!important;
  padding:13px 14px!important;
  list-style:none!important;
  cursor:pointer!important;
  background:#fff!important;
  color:#0f172a!important;
}
.admin-res-summary-v129::-webkit-details-marker{display:none!important}
.admin-res-summary-v129::marker{display:none!important;content:""!important}
.admin-res-card-v129[open]>.admin-res-summary-v129{background:#eff6ff!important;border-bottom:1px solid #bfdbfe!important}
.admin-res-number-v129{font-size:15px!important;font-weight:1000!important;color:#0f172a!important}
.admin-res-main-v129,.admin-res-dates-v129,.admin-res-money-v129,.admin-res-action-v129{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important}
.admin-res-main-v129>b{font-size:17px!important;color:#1d4ed8!important}
.admin-res-main-v129>strong{font-size:15px!important;overflow-wrap:anywhere!important}
.admin-res-main-v129>small{color:#475569!important;font-size:11px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.admin-res-main-v129>em{font-style:normal!important;color:#7c2d12!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.admin-res-dates-v129>b,.admin-res-money-v129>b{display:block!important;width:max-content!important;max-width:100%!important;padding:4px 7px!important;border-radius:9px!important;font-size:12px!important;line-height:1.2!important}
.res-ci-v129{background:#dbeafe!important;color:#1e40af!important}
.res-co-v129{background:#fee2e2!important;color:#991b1b!important}
.res-nights-v129{background:#fef3c7!important;color:#92400e!important}
.admin-res-money-v129>b:first-child{background:#f8fafc!important;color:#0f172a!important}
.res-paid-v129{background:#dcfce7!important;color:#166534!important}
.res-due-v129{background:#fee2e2!important;color:#991b1b!important}
.admin-res-action-v129{align-items:flex-start!important}
.admin-res-action-v129 .status-pill{display:inline-flex!important;width:max-content!important;max-width:100%!important}
.admin-res-action-v129>strong{color:#2563eb!important;font-size:13px!important}
.admin-res-edit-v129{padding:14px!important;background:#f8fafc!important}
.admin-res-edit-head-v129{display:flex!important;justify-content:space-between!important;gap:16px!important;align-items:flex-start!important;margin-bottom:12px!important}
.admin-res-edit-head-v129 h2{margin:0!important;font-size:18px!important}
.admin-res-edit-head-v129 p{margin:3px 0 0!important;color:#64748b!important;font-size:12px!important}

@media(max-width:1050px){
  .admin-res-summary-v129{grid-template-columns:48px minmax(220px,1.3fr) minmax(190px,1fr) minmax(175px,.9fr)!important}
  .admin-res-action-v129{grid-column:2/-1!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
}
@media(max-width:720px){
  .admin-res-summary-v129{grid-template-columns:42px minmax(0,1fr)!important;gap:8px!important;padding:11px!important}
  .admin-res-main-v129,.admin-res-dates-v129,.admin-res-money-v129,.admin-res-action-v129{grid-column:2!important}
  .admin-res-dates-v129,.admin-res-money-v129{display:grid!important;grid-template-columns:1fr!important}
  .admin-res-dates-v129>b,.admin-res-money-v129>b{width:100%!important}
  .admin-res-action-v129{flex-direction:row!important;align-items:center!important;justify-content:space-between!important}
  .admin-res-edit-head-v129{flex-direction:column!important;align-items:stretch!important}
  .admin-res-edit-head-v129 .admin-res-head-actions{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}
  .admin-res-edit-head-v129 .admin-status-select{grid-column:1/-1!important}
}

/* ======================================================================
   v130 — ONLY the approved display fixes:
   one compact group/note line and category wrapping at zoom/mobile.
   ====================================================================== */

/* Group and up to four reservation notes share one thin, clickable line. */
.pos-v7 .room-meta-v7 .reservation-notes-summary-v130{
  grid-column:1/-1!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  padding:5px 8px!important;
  border:1px solid #fdba74!important;
  border-radius:10px!important;
  background:#fff7ed!important;
  color:#431407!important;
  text-align:left!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.reservation-notes-inline-track-v130{
  display:flex!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-width:0!important;
  gap:5px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch;
}
.reservation-notes-inline-track-v130::-webkit-scrollbar{display:none!important}
.reservation-notes-inline-track-v130>i{font-style:normal!important;color:#cbd5e1!important;flex:0 0 auto!important}
.reservation-group-inline-v130{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  flex:0 0 auto!important;
  color:#1e3a8a!important;
  font-size:9.5px!important;
  font-weight:900!important;
}
.reservation-group-inline-v130>b{color:#1d4ed8!important;font-size:9.5px!important}
.reservation-group-room-v130{display:inline!important;white-space:nowrap!important}
.reservation-group-room-v130.current{color:#1d4ed8!important;font-weight:1000!important}
.reservation-group-room-v130.closed{opacity:.65!important;text-decoration:line-through!important}
.reservation-note-inline-v130{
  display:inline-block!important;
  flex:0 0 auto!important;
  max-width:155px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#431407!important;
  font-size:9.5px!important;
  line-height:18px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.reservation-note-inline-v130>b{color:#c2410c!important;margin-right:2px!important}
.reservation-notes-more-v130{
  flex:0 0 auto!important;
  color:#9a3412!important;
  font-size:12px!important;
  line-height:18px!important;
  font-weight:1000!important;
  letter-spacing:1px!important;
}

/* The former separate linked-room box is intentionally not rendered in v130. */
.pos-v7 .room-meta-v7 .linked-rooms-meta-v129{display:none!important}

/* Compact room-tile marker with the linked room numbers. */
.pos-v7 .room-btn-v5.compact-room-tile .room-group-badge-v130{
  max-width:78%!important;
  padding:3px 6px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:7px!important;
  letter-spacing:0!important;
}

/* At zoom or narrower screens, category actions wrap into visible rows.
   The lost-found action becomes part of the same responsive grid. */
@media (max-width:1320px), (min-resolution:1.25dppx){
  .pos-v7 .category-topbar-v111{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    margin-bottom:10px!important;
  }
  .pos-v7 .category-topbar-v111 .category-tabs{
    display:contents!important;
  }
  .pos-v7 .category-topbar-v111 .category-divider-v111{
    display:none!important;
  }
  .pos-v7 .category-topbar-v111 .cat-tab,
  .pos-v7 .category-topbar-v111 .lost-found-top-btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:54px!important;
    height:auto!important;
    margin:0!important;
    padding:8px 9px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .pos-v7 .products-panel-v5{overflow:visible!important}
  .pos-v7 .product-grid-v5{min-height:0!important}
}
@media (max-width:820px){
  .pos-v7 .category-topbar-v111{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .pos-v7 .category-topbar-v111 .cat-tab,
  .pos-v7 .category-topbar-v111 .lost-found-top-btn{
    min-height:50px!important;
    font-size:13px!important;
  }
  .reservation-note-inline-v130{max-width:125px!important;font-size:9px!important}
  .reservation-group-inline-v130,.reservation-group-inline-v130>b{font-size:9px!important}
}
@media (max-width:330px){
  .pos-v7 .category-topbar-v111{
    grid-template-columns:1fr!important;
  }
}


/* ======================================================================
   v131 — ONLY approved corrections:
   clean group/reservation-note preview, always-visible category actions,
   and a grouped professional security/IP view.
   ====================================================================== */

/* Group metadata is one blue line; actual notes are a separate compact line. */
.pos-v7 .room-meta-v7 .reservation-notes-summary-v131{
  grid-column:1/-1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:3px!important;
  width:100%!important;
  min-width:0!important;
  padding:5px 7px!important;
  border:1px solid #fdba74!important;
  border-radius:10px!important;
  background:#fffaf5!important;
  color:#431407!important;
  text-align:left!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.reservation-group-inline-v131{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:4px!important;
  color:#1e3a8a!important;
  font-size:10px!important;
  line-height:15px!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.reservation-group-inline-v131>b{color:#1d4ed8!important;flex:0 0 auto!important}
.reservation-group-inline-v131>i{font-style:normal!important;color:#94a3b8!important;flex:0 0 auto!important}
.reservation-group-room-v131{display:inline!important;white-space:nowrap!important;flex:0 0 auto!important}
.reservation-group-room-v131.current{color:#1d4ed8!important;font-weight:1000!important}
.reservation-group-room-v131.closed{opacity:.65!important;text-decoration:line-through!important}
.reservation-notes-row-v131{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  gap:5px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.reservation-notes-row-v131>i{font-style:normal!important;color:#cbd5e1!important;flex:0 0 auto!important}
.reservation-note-inline-v131{
  display:inline-block!important;
  flex:1 1 0!important;
  min-width:0!important;
  max-width:34%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:#431407!important;
  font-size:9.5px!important;
  line-height:15px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.reservation-note-inline-v131>b,.reservation-notes-more-v131>b{color:#c2410c!important;margin-right:2px!important}
.reservation-notes-more-v131{
  flex:0 0 auto!important;
  color:#9a3412!important;
  font-size:9.5px!important;
  line-height:15px!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}

/* All categories and the lost-found action remain visible at normal zoom too. */
.pos-v7 .products-panel-v5{min-width:0!important}
.pos-v7 .category-topbar-v111{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  margin-bottom:10px!important;
}
.pos-v7 .category-topbar-v111 .category-tabs{display:contents!important}
.pos-v7 .category-topbar-v111 .category-divider-v111{display:none!important}
.pos-v7 .category-topbar-v111 .cat-tab,
.pos-v7 .category-topbar-v111 .lost-found-top-btn{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:52px!important;
  height:auto!important;
  margin:0!important;
  padding:8px 9px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:1050px){
  .pos-v7 .category-topbar-v111{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:430px){
  .pos-v7 .category-topbar-v111{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .pos-v7 .category-topbar-v111 .cat-tab,.pos-v7 .category-topbar-v111 .lost-found-top-btn{min-height:48px!important;font-size:12px!important}
  .reservation-note-inline-v131{font-size:8.8px!important}
}
@media(max-width:315px){
  .pos-v7 .category-topbar-v111{grid-template-columns:1fr!important}
}

/* Security: clear status sections and compact IP history. */
.security-ip-sections-v131{display:flex;flex-direction:column;gap:16px}
.security-ip-section-v131{border:1px solid #cbd5e1;border-radius:16px;background:#f8fafc;overflow:hidden}
.security-ip-section-head-v131{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;background:#fff;border-bottom:1px solid #e2e8f0}
.security-ip-section-head-v131 h2{margin:0!important;color:#0f172a!important;font-size:18px!important}
.security-ip-section-head-v131 p{margin:3px 0 0!important;color:#64748b!important;font-size:12px!important}
.security-ip-section-head-v131>b{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:#0f172a;color:#fff}
.security-ip-section-v131.live .security-ip-section-head-v131{border-left:6px solid #16a34a}
.security-ip-section-v131.recent .security-ip-section-head-v131{border-left:6px solid #2563eb}
.security-ip-section-v131.history .security-ip-section-head-v131{border-left:6px solid #64748b}
.security-ip-list-v131{display:flex;flex-direction:column;gap:9px;padding:11px}
.security-ip-card-v131{border:1px solid #cbd5e1;border-radius:13px;background:#fff;overflow:hidden}
.security-ip-card-v131>summary{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(90px,.45fr)) auto;gap:10px;align-items:center;padding:11px 12px;cursor:pointer;list-style:none}
.security-ip-card-v131>summary::-webkit-details-marker{display:none}
.security-ip-main-v131{min-width:0}.security-ip-main-v131 code{font-size:14px;font-weight:1000;color:#0f172a}.security-ip-main-v131 small{display:block;margin-top:4px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-ip-badges-v131{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:4px}
.security-ip-metric-v131 span{display:block;color:#64748b;font-size:10px;font-weight:850}.security-ip-metric-v131 b{display:block;color:#0f172a;font-size:14px;margin-top:2px}
.security-ip-open-v131{color:#2563eb;font-weight:950;font-size:12px;white-space:nowrap}
.security-ip-card-body-v131{border-top:1px solid #e2e8f0;padding:12px;background:#f8fafc}
.security-history-details-v131>summary{cursor:pointer;list-style:none}.security-history-details-v131>summary::-webkit-details-marker{display:none}
.security-email-log-v131{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.security-email-log-row-v131{display:grid;grid-template-columns:145px 110px minmax(130px,1fr) minmax(130px,1fr);gap:8px;align-items:center;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#0f172a;font-size:12px}
.security-email-log-row-v131 .sent{color:#166534;font-weight:1000}.security-email-log-row-v131 .failed{color:#991b1b;font-weight:1000}.security-email-log-row-v131 .queued,.security-email-log-row-v131 .testing,.security-email-log-row-v131 .unknown{color:#92400e;font-weight:1000}
.security-email-config-v131{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.security-email-config-v131 code{padding:4px 7px;border-radius:7px;background:#e2e8f0;color:#334155;font-size:11px}
@media(max-width:900px){
  .security-ip-card-v131>summary{grid-template-columns:1fr 1fr}.security-ip-main-v131{grid-column:1/-1}.security-ip-open-v131{text-align:right}
  .security-email-log-row-v131{grid-template-columns:1fr 1fr}.security-email-log-row-v131>*:nth-child(n+3){grid-column:1/-1}
}
@media(max-width:560px){
  .security-ip-card-v131>summary{grid-template-columns:1fr}.security-ip-main-v131,.security-ip-open-v131{grid-column:auto;text-align:left}
  .security-email-log-row-v131{grid-template-columns:1fr}.security-email-log-row-v131>*{grid-column:auto!important}
}


/* ======================================================================
   v132 — approved-only patch:
   wider invoices/shift dialogs, clearer shift sections, compact accounting
   labels, Xhiro payment metadata, mobile invoice cards, password hardening UI.
   ====================================================================== */
.modal-box.invoices-modal-v132{
  display:block!important;
  width:min(1260px,calc(100vw - 18px))!important;
  max-width:calc(100vw - 18px)!important;
  max-height:calc(100dvh - 16px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#1f2937!important;
}
.modal-box.invoices-modal-v132 .modal-head{position:sticky!important;top:0!important;z-index:30!important}
.modal-box.invoices-modal-v132 .modal-content{display:block!important;max-height:none!important;overflow:visible!important;padding:13px!important}
.invoice-kpis-v132{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.invoice-kpis-v132>div{min-height:76px!important}
.invoice-kpis-v132 small{display:block;margin-top:5px;color:#64748b;font-size:10px;line-height:1.3}
.invoice-kpis-v132 .kpi-unpaid-v132{border-color:#fb923c!important;background:#fff7ed!important}
.invoice-accounting-hint-v132{
  display:flex;flex-wrap:wrap;gap:6px 22px;margin:12px 0;padding:9px 12px;
  border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff;color:#1e3a8a;
  font-size:12px;line-height:1.4;
}
.invoice-table-wrap-v132 table{width:100%!important;min-width:1040px!important}
.invoice-table-wrap-v132 th,.invoice-table-wrap-v132 td{padding:9px 8px!important}
.invoice-table-wrap-v132 th:nth-child(1){width:42px}
.invoice-table-wrap-v132 th:nth-child(2){width:140px}
.invoice-table-wrap-v132 th:nth-child(4),.invoice-table-wrap-v132 th:nth-child(6),.invoice-table-wrap-v132 th:nth-child(7),.invoice-table-wrap-v132 th:nth-child(8){width:105px}

/* Mbyll turnin is wider on desktop but remains full-width and safe on phones. */
.modal-box.shift-modal-v120{width:min(1180px,calc(100vw - 18px))!important}
.shift-section-title-v120 h3{font-size:20px!important;font-weight:1000!important}
.shift-section-title-v120 p{font-size:12px!important;color:#475569!important}
.shift-float-selected-v120{min-width:185px!important;border-width:2px!important;padding:10px 13px!important}
.shift-float-selected-v120 span{font-size:12px!important;color:#334155!important}
.shift-float-selected-v120 b{font-size:24px!important;font-weight:1000!important}
.shift-report-section-v132{
  overflow:hidden;border:1px solid #cbd5e1;border-radius:11px;background:#fff;
  box-shadow:0 1px 3px rgba(15,23,42,.05);
}
.shift-report-heading-v132{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 13px;border-bottom:1px solid #cbd5e1;background:#eaf2ff;
}
.shift-report-heading-v132 span{color:#0f172a;font-size:17px;font-weight:1000}
.shift-report-heading-v132 small{color:#475569;font-size:11px;font-weight:750;text-align:right}
.shift-report-section-v132 .hint-box{margin:10px!important}
.shift-report-section-v132 .table-scroll-wrap{margin:0 10px 10px}
.shift-report-section-v132.payments .shift-report-heading-v132{background:#eefbf2;border-top:4px solid #16a34a}
.shift-report-section-v132.carry .shift-report-heading-v132{border-top:4px solid #2563eb}
.turnover-paid-meta-v132{display:block;margin-top:3px;color:#1d4ed8;font-size:11px;font-weight:700}

/* Password changes are intentionally not a one-field action anymore. */
.password-policy-grid-v132{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.password-policy-grid-v132>div{display:flex;flex-direction:column;gap:4px;padding:11px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.password-policy-grid-v132 b{color:#0f172a}.password-policy-grid-v132 span{color:#475569;font-size:12px;line-height:1.4}
.user-create-grid-v132{grid-template-columns:1fr .75fr 1fr 1fr auto!important}
.admin-table-scroll-v132{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.users-table-v132{min-width:980px}
.password-change-v132{min-width:270px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff}
.password-change-v132 summary{cursor:pointer;padding:9px 10px;color:#1e3a8a;font-weight:900}
.password-change-v132>div{display:grid;gap:7px;padding:0 10px 10px}
.password-change-v132 input{width:100%}
.password-change-v132 small{color:#64748b;font-size:10px;line-height:1.35}

@media(max-width:900px){
  .invoice-kpis-v132{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .user-create-grid-v132{grid-template-columns:1fr 1fr!important}
  .user-create-grid-v132 .btn{width:100%}
  .password-policy-grid-v132{grid-template-columns:1fr}
}
@media(max-width:760px){
  .modal-box.invoices-modal-v132,.modal-box.shift-modal-v120{width:100%!important;max-width:100%!important;margin:0!important;max-height:calc(100dvh - 4px)!important;border-radius:8px!important}
  .modal-box.invoices-modal-v132 .modal-content,.modal-box.shift-modal-v120 .modal-content{padding:8px!important}
  .invoice-kpis-v132{grid-template-columns:1fr 1fr!important;gap:7px!important}
  .invoice-kpis-v132>div{min-height:68px!important;padding:9px!important}
  .invoice-accounting-hint-v132{display:grid;gap:5px;margin:8px 0;font-size:11px}
  .invoice-table-wrap-v132{overflow:visible!important}
  .invoice-table-wrap-v132 table,.invoice-table-wrap-v132 tbody,.invoice-table-wrap-v132 tr,.invoice-table-wrap-v132 td{display:block!important;width:100%!important;min-width:0!important}
  .invoice-table-wrap-v132 thead{display:none!important}
  .invoice-table-wrap-v132 tbody{display:grid!important;gap:9px!important}
  .invoice-table-wrap-v132 tr{padding:7px 9px!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;box-shadow:0 1px 3px rgba(15,23,42,.05)!important}
  .invoice-table-wrap-v132 td{display:grid!important;grid-template-columns:108px minmax(0,1fr)!important;gap:8px!important;padding:6px 0!important;border:0!important;border-bottom:1px solid #e2e8f0!important;text-align:left!important;overflow-wrap:anywhere}
  .invoice-table-wrap-v132 td:last-child{border-bottom:0!important}
  .invoice-table-wrap-v132 td::before{content:attr(data-label);color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}
  .shift-report-heading-v132{display:block}
  .shift-report-heading-v132 small{display:block;margin-top:3px;text-align:left}
  .shift-float-selected-v120{min-width:0!important;width:100%;text-align:left!important}
  .shift-report-section-v132 .table-scroll-wrap{margin:0 7px 8px}
  .user-create-grid-v132{grid-template-columns:1fr!important}
}
@media(max-width:390px){
  .invoice-kpis-v132{grid-template-columns:1fr!important}
  .invoice-table-wrap-v132 td{grid-template-columns:92px minmax(0,1fr)!important}
  .shift-float-buttons-v120{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v132 responsive refinement: at laptop/tablet widths the invoice list becomes
   readable cards instead of forcing a horizontal scrollbar. */
@media(max-width:1050px){
  .modal-box.invoices-modal-v132{width:100%!important;max-width:100%!important;margin:0!important;max-height:calc(100dvh - 4px)!important;border-radius:8px!important}
  .modal-box.invoices-modal-v132 .modal-content{padding:8px!important}
  .invoice-kpis-v132{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .invoice-kpis-v132>div{min-height:68px!important;padding:9px!important}
  .invoice-accounting-hint-v132{display:grid;gap:5px;margin:8px 0;font-size:11px}
  .invoice-table-wrap-v132{overflow:visible!important}
  .invoice-table-wrap-v132 table,.invoice-table-wrap-v132 tbody,.invoice-table-wrap-v132 tr,.invoice-table-wrap-v132 td{display:block!important;width:100%!important;min-width:0!important}
  .invoice-table-wrap-v132 thead{display:none!important}
  .invoice-table-wrap-v132 tbody{display:grid!important;gap:9px!important}
  .invoice-table-wrap-v132 tr{padding:7px 9px!important;border:1px solid #cbd5e1!important;border-radius:10px!important;background:#fff!important;box-shadow:0 1px 3px rgba(15,23,42,.05)!important}
  .invoice-table-wrap-v132 td{display:grid!important;grid-template-columns:108px minmax(0,1fr)!important;gap:8px!important;padding:6px 0!important;border:0!important;border-bottom:1px solid #e2e8f0!important;text-align:left!important;overflow-wrap:anywhere}
  .invoice-table-wrap-v132 td:last-child{border-bottom:0!important}
  .invoice-table-wrap-v132 td::before{content:attr(data-label);color:#64748b;font-size:10px;font-weight:900;text-transform:uppercase}
}

/* ======================================================================
   v133 — approved-only changes:
   permanent room-note shortcut + direct Shërbim Dhome plate follow-up.
   No other POS/admin calculation or workflow is styled here.
   ====================================================================== */

/* Keep the room note below the room number, never on top of GRUPI/DEFEKT. */
.pos-v7 .room-btn-v5.compact-room-tile{
  grid-template-rows:45px 14px 26px 13px!important;
  gap:3px!important;
  padding:20px 7px 18px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-number{
  grid-row:1!important;
  min-height:45px!important;
  max-height:45px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-permanent-note-preview-v133{
  grid-row:2!important;
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:calc(100% - 8px)!important;
  min-width:0!important;
  height:14px!important;
  margin:0!important;
  padding:0 5px!important;
  border:1px solid #f4c96b!important;
  border-radius:5px!important;
  background:#fff8d8!important;
  color:#7c4a03!important;
  font-size:7.8px!important;
  line-height:12px!important;
  font-style:normal!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  cursor:pointer!important;
  box-shadow:none!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-permanent-note-preview-v133 span{
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-status{grid-row:3!important;min-height:26px!important;max-height:26px!important}
.pos-v7 .room-btn-v5.compact-room-tile .room-guest-compact{grid-row:4!important}

/* Missing plate is separate from room notes and becomes stronger only after due time. */
.pos-v7 .room-btn-v5.compact-room-tile .room-plate-missing-badge-v133{
  position:absolute!important;z-index:8!important;top:26px!important;right:5px!important;
  max-width:84%!important;padding:3px 6px!important;border:1px solid #f59e0b!important;
  border-radius:999px!important;background:#fffbeb!important;color:#92400e!important;
  font-size:7px!important;line-height:1!important;font-style:normal!important;font-weight:1000!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  box-shadow:0 1px 2px rgba(146,64,14,.15)!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-plate-missing-badge-v133.due{
  border-color:#dc2626!important;background:#fff1f2!important;color:#991b1b!important;
  animation:platePulseV133 1.7s ease-in-out infinite;
}
@keyframes platePulseV133{50%{box-shadow:0 0 0 4px rgba(220,38,38,.12)}}

/* One-click permanent-room-note block directly below the large room number. */
.pos-v7 .room-meta-v7 .room-note-quick-v133,
.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133{
  grid-column:1/-1!important;width:100%!important;min-width:0!important;
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:6px 10px!important;align-items:center!important;text-align:left!important;
  padding:8px 10px!important;border-radius:10px!important;cursor:pointer!important;
  font:inherit!important;box-shadow:none!important;
}
.pos-v7 .room-meta-v7 .room-note-quick-v133{
  border:1px solid #f4c96b!important;background:#fff8dc!important;color:#713f12!important;
}
.pos-v7 .room-meta-v7 .room-note-quick-v133>strong{font-size:11px!important;color:#92400e!important;white-space:nowrap!important}
.pos-v7 .room-meta-v7 .room-note-quick-v133>div{display:flex!important;gap:8px!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important}
.pos-v7 .room-meta-v7 .room-note-quick-v133>div>span{display:block!important;min-width:0!important;font-size:10px!important;color:#431407!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.pos-v7 .room-meta-v7 .room-note-quick-v133>div>span b{display:inline!important;color:#c2410c!important;font-size:10px!important;margin:0 2px 0 0!important}
.pos-v7 .room-meta-v7 .room-note-quick-v133>small{font-size:9px!important;color:#9a3412!important;font-weight:900!important;white-space:nowrap!important}

.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133{
  border:1px solid #f6c453!important;background:#fffaf0!important;color:#7c2d12!important;
  grid-template-columns:1fr!important;gap:2px!important;
}
.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133 span{font-size:10px!important;color:#b45309!important;font-weight:1000!important}
.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133 b{font-size:12px!important;color:#7c2d12!important;margin:0!important}
.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133 small{font-size:9px!important;color:#9a3412!important}
.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133.due{border-color:#f87171!important;background:#fff1f2!important}
.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133.due span,.pos-v7 .room-meta-v7 .room-plate-followup-meta-v133.due b{color:#991b1b!important}

.room-plate-open-v133{width:100%;margin:8px 0;padding:9px 11px;border:1px solid #f59e0b;border-radius:9px;background:#fffbeb;color:#92400e;font-weight:1000;cursor:pointer}

/* Direct room-service plate choice. */
.plate-followup-modal-v133{max-width:540px;margin:0 auto;display:flex;flex-direction:column;gap:10px;color:#0f172a}
.plate-followup-modal-v133 h3{margin:2px 0!important;color:#0f172a!important}.plate-followup-modal-v133 p{margin:0;color:#475569;line-height:1.4}
.plate-followup-modal-v133.due h3{color:#991b1b!important}
.plate-followup-room-v133{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid #bfdbfe;border-radius:10px;background:#eff6ff}
.plate-followup-room-v133 span{color:#64748b;font-size:12px}.plate-followup-room-v133 b{color:#1d4ed8;font-size:22px}
.plate-followup-modal-v133 input{width:100%;min-height:48px;font-size:18px!important;text-transform:uppercase}
.plate-followup-options-v133{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.plate-followup-options-v133 button{min-height:48px;border:1px solid #cbd5e1;border-radius:9px;background:#f8fafc;color:#0f172a;font-weight:950;cursor:pointer}

/* Reminder appears once per reminder timestamp in each open browser session. */
.plate-reminder-toast-v133{position:fixed;z-index:99999;right:16px;bottom:16px;width:min(340px,calc(100vw - 24px));display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:13px 14px;border:2px solid #dc2626;border-radius:13px;background:#fff;color:#0f172a;box-shadow:0 18px 45px rgba(15,23,42,.3)}
.plate-reminder-toast-v133 strong{color:#991b1b;font-size:16px}.plate-reminder-toast-v133 span{grid-column:1;color:#475569;font-weight:850}.plate-reminder-open-v133{grid-column:1/-1;margin-top:5px;min-height:40px;border:0;border-radius:8px;background:#dc2626;color:#fff;font-weight:1000;cursor:pointer}
.plate-reminder-close-v133{grid-column:2;grid-row:1/3;align-self:start;border:0;background:transparent;color:#64748b;font-size:22px;cursor:pointer}

@media(max-width:820px){
  .pos-v7 .room-btn-v5.compact-room-tile{height:145px!important;min-height:145px!important;max-height:145px!important;grid-template-rows:43px 14px 25px 13px!important;padding:19px 6px 17px!important}
  .pos-v7 .room-btn-v5.compact-room-tile .room-number{min-height:43px!important;max-height:43px!important;font-size:29px!important}
  .pos-v7 .room-meta-v7 .room-note-quick-v133{grid-template-columns:1fr auto!important}
  .pos-v7 .room-meta-v7 .room-note-quick-v133>strong{grid-column:1!important}
  .pos-v7 .room-meta-v7 .room-note-quick-v133>div{grid-column:1/-1!important;overflow:hidden!important}
  .plate-followup-options-v133{grid-template-columns:1fr!important}
  .plate-reminder-toast-v133{right:8px;bottom:max(8px,env(safe-area-inset-bottom));width:calc(100vw - 16px)}
}

/* ======================================================================
   v134 — ONLY the approved room-card, compact room-info, vehicle and
   category placement corrections. No accounting/admin/inventory styles.
   ====================================================================== */

/* Room cards reserve one clean alert lane below the room number. This keeps
   GRUPI/DEFEKT/time badges at the top and prevents TARGA/room-note overlap. */
.pos-v7 .room-btn-v5.compact-room-tile{
  height:132px!important;
  min-height:132px!important;
  max-height:132px!important;
  grid-template-rows:43px 17px 25px 13px!important;
  gap:3px!important;
  padding:21px 7px 20px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-number{
  grid-row:1!important;
  min-height:43px!important;
  max-height:43px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134{
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
  min-height:17px!important;
  max-height:17px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  overflow:hidden!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134.empty{visibility:hidden!important}
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134 .room-permanent-note-preview-v133,
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134 .room-plate-missing-badge-v133{
  position:static!important;
  transform:none!important;
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:15px!important;
  min-height:15px!important;
  margin:0!important;
  padding:1px 4px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:5px!important;
  font-size:7px!important;
  line-height:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  animation:none!important;
  cursor:default!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134 .room-permanent-note-preview-v133{
  border:1px solid #f2c75c!important;
  background:#fff8d8!important;
  color:#7c4a03!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134 .room-plate-missing-badge-v133{
  border:1px solid #f59e0b!important;
  background:#fffbeb!important;
  color:#92400e!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134 .room-plate-missing-badge-v133.due{
  border-color:#ef4444!important;
  background:#fff1f2!important;
  color:#991b1b!important;
  box-shadow:inset 0 0 0 1px rgba(239,68,68,.08)!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-status{grid-row:3!important;min-height:25px!important;max-height:25px!important}
.pos-v7 .room-btn-v5.compact-room-tile .room-guest-compact{grid-row:4!important}

/* Top badges use separate corners/center and are clipped before colliding. */
.pos-v7 .room-btn-v5.compact-room-tile .room-group-badge-v128,
.pos-v7 .room-btn-v5.compact-room-tile .room-group-badge-v130{
  top:4px!important;
  max-width:56%!important;
  padding:3px 5px!important;
  font-size:6.8px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{top:4px!important;left:4px!important;max-width:25%!important}
.pos-v7 .room-btn-v5.compact-room-tile .room-defect-badge,
.pos-v7 .room-btn-v5.compact-room-tile .room-soft-defect-badge{top:4px!important;right:4px!important;max-width:28%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

/* Permanent room note and vehicle follow-up are now normal compact data tiles
   in the right room overview, not full-width panels. */
.pos-v7 .room-meta-v7 .room-note-mini-v134,
.pos-v7 .room-meta-v7 .room-plate-mini-v134{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:56px!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  gap:2px 6px!important;
  align-content:center!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  text-align:left!important;
  font:inherit!important;
  cursor:pointer!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.pos-v7 .room-meta-v7 .room-note-mini-v134{
  border:1px solid #f2bd51!important;
  background:#fff8dc!important;
  color:#713f12!important;
}
.pos-v7 .room-meta-v7 .room-plate-mini-v134{
  border:1px solid #f5c04f!important;
  background:#fffaf0!important;
  color:#7c2d12!important;
}
.pos-v7 .room-meta-v7 .room-note-mini-v134>span,
.pos-v7 .room-meta-v7 .room-plate-mini-v134>span{
  grid-column:1!important;
  color:#9a3412!important;
  font-size:9px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.pos-v7 .room-meta-v7 .room-note-mini-v134>b,
.pos-v7 .room-meta-v7 .room-plate-mini-v134>b{
  grid-column:1!important;
  min-width:0!important;
  color:#431407!important;
  font-size:10px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-meta-v7 .room-note-mini-v134>small{
  grid-column:2!important;
  grid-row:1/3!important;
  align-self:center!important;
  min-width:20px!important;
  padding:3px 5px!important;
  border-radius:999px!important;
  background:#ffedd5!important;
  color:#9a3412!important;
  font-size:9px!important;
  font-weight:1000!important;
  text-align:center!important;
}
.pos-v7 .room-meta-v7 .room-plate-mini-v134>small{
  grid-column:2!important;
  grid-row:1/3!important;
  align-self:center!important;
  max-width:92px!important;
  color:#9a3412!important;
  font-size:8px!important;
  line-height:1.2!important;
  text-align:right!important;
}
.pos-v7 .room-meta-v7 .room-plate-mini-v134.due{
  border-color:#ef4444!important;
  background:#fff1f2!important;
}
.pos-v7 .room-meta-v7 .room-plate-mini-v134.due>span,
.pos-v7 .room-meta-v7 .room-plate-mini-v134.due>b{color:#991b1b!important}
.pos-v7 .room-meta-v7 .room-plate-mini-v134.new{box-shadow:0 0 0 3px rgba(245,158,11,.14)!important}

/* Smaller vehicle-choice modal; the overview tile remains the normal entry. */
.plate-followup-modal-v133{max-width:430px!important;gap:8px!important}
.plate-followup-modal-v133 .plate-followup-room-v133{padding:7px 10px!important}
.plate-followup-modal-v133 input{min-height:43px!important;font-size:16px!important}
.plate-followup-options-v133{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.plate-followup-options-v133 button{min-height:42px!important;padding:7px 5px!important;font-size:11px!important}

/* Lost & found follows Shërbim Dhome inside the same responsive category grid.
   A narrow orange edge marks it as a special action without separating it. */
.pos-v7 #categories .lost-found-top-btn.category-special-v134{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:52px!important;
  height:auto!important;
  margin:0!important;
  padding:8px 9px!important;
  border:1px solid #cbd5e1!important;
  border-left:4px solid #f59e0b!important;
  border-radius:10px!important;
  background:linear-gradient(#fff,#f3f4f6)!important;
  color:#7c2d12!important;
  box-shadow:0 2px 5px rgba(15,23,42,.08)!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:820px){
  .pos-v7 .room-btn-v5.compact-room-tile{
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
    grid-template-rows:43px 17px 25px 13px!important;
    padding:21px 6px 20px!important;
  }
  .pos-v7 .room-btn-v5.compact-room-tile .room-number{font-size:29px!important}
  .plate-followup-options-v133{grid-template-columns:1fr!important}
}
@media(max-width:430px){
  .pos-v7 .room-meta-v7 .room-note-mini-v134,
  .pos-v7 .room-meta-v7 .room-plate-mini-v134{min-height:53px!important;padding:6px 7px!important}
  .pos-v7 .room-meta-v7 .room-plate-mini-v134>small{max-width:74px!important;font-size:7.5px!important}
}

/* ======================================================================
   v135 — ONLY approved room-card spacing/layout correction.
   No behavior, data, accounting, admin, inventory or workflow changes.
   ====================================================================== */

/* All room cards keep one stable height and reserve a real header zone for
   time / defect / group markers. Room number, alerts, payment, guest and
   checkout information can no longer overlap each other. */
.pos-v7 .room-btn-v5.compact-room-tile{
  height:164px!important;
  min-height:164px!important;
  max-height:164px!important;
  grid-template-rows:52px 18px 27px 15px!important;
  gap:3px!important;
  padding:38px 7px 22px!important;
  overflow:hidden!important;
}

/* The room number always starts below the complete badge header. */
.pos-v7 .room-btn-v5.compact-room-tile .room-number{
  grid-row:1!important;
  min-height:52px!important;
  max-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 2px!important;
  font-size:36px!important;
  line-height:.92!important;
  overflow:hidden!important;
  text-align:center!important;
}
.pos-v7 .room-btn-v5.compact-room-tile.room-long .room-number,
.pos-v7 .room-btn-v5.compact-room-tile.room-very-long .room-number{
  font-size:28px!important;
  line-height:.9!important;
  white-space:normal!important;
}

/* Top header uses two visual levels:
   line 1 = service time left and defect/problem right;
   line 2 = linked-room group centered.
   This prevents GRUPI from touching the room number or the time badge. */
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{
  top:4px!important;
  left:5px!important;
  right:auto!important;
  max-width:31%!important;
  min-height:18px!important;
  padding:3px 8px!important;
  font-size:8px!important;
  line-height:10px!important;
  z-index:10!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-defect-badge,
.pos-v7 .room-btn-v5.compact-room-tile .room-soft-defect-badge{
  top:4px!important;
  right:5px!important;
  left:auto!important;
  max-width:34%!important;
  min-height:18px!important;
  padding:3px 7px!important;
  font-size:8px!important;
  line-height:10px!important;
  z-index:10!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-group-badge-v128,
.pos-v7 .room-btn-v5.compact-room-tile .room-group-badge-v130{
  top:23px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  max-width:88%!important;
  min-height:14px!important;
  padding:2px 7px!important;
  font-size:7px!important;
  line-height:9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  z-index:9!important;
}

/* The dedicated alert row stays directly below the room number. */
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134{
  grid-row:2!important;
  min-height:18px!important;
  max-height:18px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134 .room-permanent-note-preview-v133,
.pos-v7 .room-btn-v5.compact-room-tile .room-card-alerts-v134 .room-plate-missing-badge-v133{
  height:17px!important;
  min-height:17px!important;
  padding:2px 5px!important;
  font-size:7.5px!important;
  line-height:11px!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-status{
  grid-row:3!important;
  min-height:27px!important;
  max-height:27px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  overflow:hidden!important;
  line-height:1.12!important;
}
.pos-v7 .room-btn-v5.compact-room-tile .room-guest-compact{
  grid-row:4!important;
  min-height:15px!important;
  max-height:15px!important;
  margin:0!important;
  line-height:15px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Checkout/overdue stays in the reserved bottom lane and never covers names. */
.pos-v7 .room-btn-v5.compact-room-tile .room-longstay-badge{
  bottom:4px!important;
  max-width:92%!important;
  min-height:17px!important;
  padding:2px 7px!important;
  font-size:8px!important;
  line-height:11px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Mobile and browser zoom: keep the same visual structure, only add a little
   height. Cards remain equal; content is not shrunk to unreadable sizes. */
@media(max-width:820px), (min-resolution:1.25dppx){
  .pos-v7 .room-btn-v5.compact-room-tile{
    height:174px!important;
    min-height:174px!important;
    max-height:174px!important;
    grid-template-rows:54px 18px 28px 15px!important;
    padding:40px 6px 23px!important;
  }
  .pos-v7 .room-btn-v5.compact-room-tile .room-number{
    min-height:54px!important;
    max-height:54px!important;
    font-size:36px!important;
  }
  .pos-v7 .room-btn-v5.compact-room-tile.room-long .room-number,
  .pos-v7 .room-btn-v5.compact-room-tile.room-very-long .room-number{
    font-size:27px!important;
  }
}

/* v135 safeguard: prior historical overrides sometimes moved the checkout
   badge to the card edge. Keep it centered inside every room card. */
.pos-v7 .room-btn-v5.compact-room-tile .room-longstay-badge{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
}

/* v135 final spacing balance: enough real content height for guest and the
   bottom checkout badge, with no overlap. */
.pos-v7 .room-btn-v5.compact-room-tile{
  height:184px!important;
  min-height:184px!important;
  max-height:184px!important;
  padding:38px 7px 24px!important;
}
@media(max-width:820px), (min-resolution:1.25dppx){
  .pos-v7 .room-btn-v5.compact-room-tile{
    height:196px!important;
    min-height:196px!important;
    max-height:196px!important;
    padding:40px 6px 25px!important;
  }
}

/* ======================================================================
   v136 — ONLY approved Bar labels/layout, always-visible vehicle tile,
   and neutral App XY branding. No accounting or reservation logic changes.
   ====================================================================== */

/* Bar tiles: two deliberate lines instead of broken individual letters. */
.pos-v7 .room-btn-v5.room-bar .bar-room-title-v136{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:23px!important;
  line-height:.9!important;
  letter-spacing:-.4px!important;
}
.pos-v7 .room-btn-v5.room-bar .bar-room-title-v136 b{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-btn-v5.room-bar .room-status{
  font-size:9px!important;
  line-height:1.15!important;
}

/* Vehicle is a normal compact info tile for every active stay. Missing data
   is highlighted without creating a large extra panel. */
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:56px!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:3px!important;
  padding:7px 9px!important;
  border:1px solid #cbd5e1!important;
  border-radius:9px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  text-align:left!important;
  font:inherit!important;
  cursor:pointer!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136>span{
  color:#64748b!important;
  font-size:9px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136>b{
  max-width:100%!important;
  color:#0f172a!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136.missing{
  border-color:#f59e0b!important;
  background:#fffbeb!important;
}
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136.missing>span,
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136.missing>b{color:#92400e!important}
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136.due{
  border-color:#ef4444!important;
  background:#fff1f2!important;
}
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136.due>span,
.pos-v7 .room-meta-v7 .room-vehicle-mini-v136.due>b{color:#991b1b!important}

@media(max-width:430px){
  .pos-v7 .room-meta-v7 .room-vehicle-mini-v136{min-height:53px!important;padding:6px 7px!important}
  .pos-v7 .room-btn-v5.room-bar .bar-room-title-v136{font-size:21px!important}
}

/* v137 cash journal, group visibility and stay validation */
.cash-movement-btn-v137{position:relative}.cash-movement-btn-v137 span:not(:empty){display:inline-flex;min-width:22px;height:22px;border-radius:999px;align-items:center;justify-content:center;background:#b42318;color:#fff;margin-left:6px;font-weight:800}
.stay-nights-v137{margin:8px 0 12px;padding:9px 12px;border-radius:10px;background:#eef6ff;font-weight:800;color:#184e77}
.group-paid-row-v137 td{background:#ecfdf3!important;border-color:#86d7a5!important}.group-zero-note-v137{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#d1fadf;color:#05603a;font-size:11px;font-weight:800}
.cash-total-v137{min-width:280px}.cash-days-v137{margin-top:10px;border-top:1px solid rgba(0,0,0,.12)}.cash-day-row-v137{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:13px}.cash-day-row-v137 strong{white-space:nowrap}
.cash-movement-summary-v137{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.cash-movement-summary-v137 span{padding:9px 12px;border-radius:10px;background:#f5f7fa;border:1px solid #dfe5ec}
.cash-form-v137{display:grid;gap:7px;max-width:650px;margin-bottom:22px}.cash-form-v137 small{color:#687386}.cash-status-pending td{background:#fff8db}.cash-status-approved td{background:#ecfdf3}.cash-status-rejected td{background:#fff0f0}.cash-status-canceled td{background:#f1f2f4;color:#687386}
.admin-cash-grid-v137{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.admin-cash-card-v137{padding:14px;border:1px solid #dfe5ec;border-radius:12px;background:#fff}.admin-cash-actions-v137{display:flex;flex-wrap:wrap;gap:6px}.admin-cash-table-v137 input,.admin-cash-table-v137 select{min-width:110px}
@media(max-width:700px){.cash-movement-summary-v137{display:grid}.cash-total-v137{min-width:0}.cash-day-row-v137{font-size:12px}.group-zero-note-v137{display:block;margin:5px 0 0}}

/* v138 — POS i thjeshtë për dalje nga arka dhe Xhiro */
.cash-pos-v138{display:grid;gap:16px}.cash-pos-intro-v138{margin:0;padding:12px 14px;border-radius:12px;background:#f4f6f8;font-weight:700}.cash-pos-grid-v138{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cash-pos-tile-v138{min-height:126px;border:1px solid #d9dee5;border-radius:16px;background:#fff;padding:14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;text-align:left;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer}.cash-pos-tile-v138:active{transform:scale(.98)}.cash-pos-icon-v138{font-size:31px}.cash-pos-tile-v138 b{font-size:17px}.cash-pos-tile-v138 small{font-size:12px;color:#5d6672}.cash-pos-tile-v138.cash-owner{grid-column:span 2;border-width:2px}.cash-history-head-v138{display:flex;align-items:center;justify-content:space-between}.cash-history-head-v138 h3{margin:0}.cash-history-head-v138 span{font-weight:800}.cash-history-list-v138{display:grid;gap:8px}.cash-history-card-v138{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:10px 12px;border:1px solid #e1e5ea;border-radius:12px;background:#fff}.cash-history-card-v138 div{display:grid}.cash-history-card-v138 small{color:#68717c}.cash-history-card-v138 strong{font-size:16px}.cash-history-card-v138 em{grid-column:2/4;font-style:normal;font-size:11px;font-weight:800}.cash-history-card-v138.cash-status-pending{border-left:5px solid #d69e00}.cash-history-card-v138.cash-status-approved{border-left:5px solid #198754}.cash-quick-form-v138{display:grid;gap:11px}.cash-back-v138{justify-self:start;border:0;background:#eef1f5;border-radius:9px;padding:8px 11px;font-weight:800}.cash-quick-form-v138 label{font-weight:800}.cash-quick-form-v138 label small{font-weight:500}.cash-quick-form-v138 input,.cash-quick-form-v138 textarea{width:100%;min-height:46px;border:1px solid #cfd5dd;border-radius:11px;padding:10px 12px;font:inherit}.cash-amount-v138{font-size:28px!important;font-weight:900;text-align:center}.cash-more-v138{border:1px solid #dfe4e9;border-radius:11px;padding:10px}.cash-more-v138 summary{font-weight:800;cursor:pointer}.cash-more-v138[open]{display:grid;gap:9px}.cash-approval-choice-v138{display:grid;gap:6px;padding:11px;background:#f7f8fa;border-radius:11px}.cash-save-actions-v138{display:grid;grid-template-columns:1fr 1fr;gap:10px}.empty-pos-v138{padding:16px;text-align:center;color:#68717c}
.xhiro-dashboard-v138{display:grid;gap:14px}.xhiro-main-grid-v138{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.xhiro-card-v138{min-height:112px;border:0;border-radius:16px;padding:13px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:4px;cursor:pointer}.xhiro-card-v138 span{font-weight:800}.xhiro-card-v138 strong{font-size:25px;line-height:1.1}.xhiro-card-v138 small{font-size:11px;opacity:.78}.xhiro-card-v138.cash{background:#e7f7ed}.xhiro-card-v138.bank{background:#e8f1ff}.xhiro-card-v138.out{background:#fff0df}.xhiro-card-v138.unpaid{background:#f3eaff}.xhiro-card-v138.pending{background:#fff6cc}.xhiro-card-v138.total{background:#e5f6f2}.xhiro-drop-v138{display:grid;gap:7px;border:1px solid #dde2e8;border-radius:13px;padding:10px;background:#fff}.xhiro-drop-v138.hidden{display:none}.xhiro-day-v138,.xhiro-line-v138{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px;border-bottom:1px solid #edf0f3}.xhiro-day-v138:last-child,.xhiro-line-v138:last-child{border-bottom:0}.xhiro-day-v138 span,.xhiro-line-v138 span{display:grid}.xhiro-day-v138 small,.xhiro-line-v138 small{color:#69727c}.xhiro-line-v138 b{display:grid;text-align:right}.xhiro-line-v138 em{font-size:10px;font-style:normal}.xhiro-handover-v138{border:2px solid #198754;border-radius:17px;padding:16px;text-align:center;background:#f0fbf4}.xhiro-handover-v138 span{display:block;font-weight:900}.xhiro-handover-v138 strong{display:block;font-size:34px;margin:4px 0}.xhiro-handover-v138 small{display:block;color:#56605b}.xhiro-quick-bars-v138{display:grid;grid-template-columns:1fr 1fr;gap:10px}.xhiro-quick-bars-v138>div{border:1px solid #dfe4e8;border-radius:13px;padding:12px;display:grid;gap:4px}.xhiro-quick-bars-v138 span{font-weight:800}.xhiro-quick-bars-v138 b{font-size:17px}.xhiro-details-v138{border:1px solid #dfe4e8;border-radius:13px;padding:11px}.xhiro-details-v138 summary{font-weight:900;cursor:pointer}.group-room-zero-v138{display:block;color:#198754;font-weight:800}.xhiro-empty-v138{padding:10px;color:#6b737c}
@media(max-width:680px){.cash-pos-grid-v138,.xhiro-main-grid-v138,.xhiro-quick-bars-v138{grid-template-columns:1fr 1fr}.cash-pos-tile-v138{min-height:112px;padding:11px}.cash-pos-tile-v138 b{font-size:15px}.cash-save-actions-v138{grid-template-columns:1fr}.xhiro-card-v138{min-height:100px;padding:10px}.xhiro-card-v138 strong{font-size:21px}.xhiro-handover-v138 strong{font-size:29px}}


/* v139 — classic readable finance UI, admin approval workflow, layout fixes */
.cash-movement-modal-v138 .modal-content,.cash-movement-form-v138 .modal-content,.turnover-modal-v138 .modal-content{color:#111827!important;background:#f5f6f8!important}
.cash-movement-modal-v138 .cash-pos-intro-v138,.cash-movement-modal-v138 .cash-history-card-v138,.cash-movement-form-v138 .cash-quick-form-v138,.turnover-modal-v138 .xhiro-drop-v138,.turnover-modal-v138 .xhiro-details-v138{color:#111827!important}
.cash-pos-tile-v138{border:1px solid #aeb7c2!important;border-radius:8px!important;box-shadow:none!important;background:#fff!important;color:#111827!important}
.cash-pos-tile-v138:hover{background:#f7f8fa!important;border-color:#6b7280!important}.cash-pos-tile-v138.cash-owner{grid-column:auto!important}
.cash-pos-icon-v138{font-size:25px!important}.cash-pos-tile-v138 b{color:#111827!important}.cash-pos-tile-v138 small{color:#4b5563!important}
.cash-history-card-v138{color:#111827!important}.cash-history-card-v138 small{color:#4b5563!important}.cash-history-card-v138 strong{color:#111827!important}.cash-history-card-v138 em{color:#92400e!important}
.cash-amount-preview-v139{padding:10px;border:1px solid #9ca3af;background:#fff;text-align:center;font-size:22px;font-weight:900;color:#111827;border-radius:6px}
.cash-quick-amounts-v139{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.cash-quick-amounts-v139 button{min-height:44px;border:1px solid #9ca3af;background:#fff;border-radius:6px;font-weight:900;color:#111827}.cash-quick-amounts-v139 button.clear{background:#f3f4f6;color:#991b1b}
.cash-save-note-v139{margin:0;padding:10px;border-left:4px solid #2563eb;background:#eff6ff;color:#1e3a8a;font-size:12px}.cash-approval-choice-v138{display:none!important}
.xhiro-classic-summary-v139{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #9ca3af;background:#fff}.xhiro-classic-summary-v139>div{padding:13px;border-right:1px solid #d1d5db;border-bottom:1px solid #d1d5db;display:grid;gap:4px;color:#111827}.xhiro-classic-summary-v139 span{font-weight:800;color:#374151}.xhiro-classic-summary-v139 strong{font-size:24px;color:#111827}.xhiro-classic-summary-v139 .pending{background:#fff7ed}.xhiro-handover-v138{border-radius:8px!important;background:#fff!important;color:#111827!important;border:2px solid #166534!important}.xhiro-handover-v138 strong,.xhiro-handover-v138 span{color:#111827!important}.xhiro-handover-v138 small{color:#4b5563!important}.xhiro-quick-bars-v138>div{border-radius:8px!important;background:#fff!important;color:#111827!important}.xhiro-quick-bars-v138 span,.xhiro-quick-bars-v138 b{color:#111827!important}.xhiro-details-v138{border-radius:8px!important;background:#fff!important}.xhiro-details-v138 summary{color:#111827!important}.xhiro-day-v138,.xhiro-line-v138{color:#111827!important}.xhiro-day-v138 small,.xhiro-line-v138 small{color:#4b5563!important}.xhiro-day-v138 strong,.xhiro-line-v138 strong{color:#111827!important}.xhiro-line-v138 em{color:#92400e!important}
.admin-pending-badge-v139{margin-left:auto;min-width:23px;height:23px;border-radius:999px;background:#b91c1c;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.admin-pending-alert-v139{margin:8px 10px;padding:10px!important;border:1px solid #f59e0b!important;background:#fffbeb!important;color:#78350f!important;display:grid!important;gap:3px}.admin-pending-alert-v139 b{font-size:12px!important;color:#78350f!important}
.admin-cash-summary-v139{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:15px}.admin-cash-summary-v139>div{border:1px solid #cbd5e1;background:#fff;border-radius:8px;padding:15px;display:grid;gap:7px}.admin-cash-summary-v139 span{font-weight:800;color:#475569}.admin-cash-summary-v139 b{font-size:34px}.admin-cash-summary-v139 strong{font-size:20px}.admin-cash-filter-v139{display:flex;gap:10px;align-items:center;margin-bottom:14px}.admin-cash-list-v139{display:grid;gap:12px}.admin-cash-item-v139{border:1px solid #cbd5e1;border-left:5px solid #f59e0b;background:#fff;border-radius:8px;padding:14px}.admin-cash-item-v139.cash-status-approved{border-left-color:#15803d}.admin-cash-item-v139.cash-status-rejected,.admin-cash-item-v139.cash-status-canceled{border-left-color:#b91c1c}.admin-cash-item-v139 header{display:flex;justify-content:space-between;gap:15px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.admin-cash-item-v139 header div{display:grid}.admin-cash-item-v139 header small{color:#64748b}.admin-cash-item-v139 header strong{font-size:22px}.admin-cash-fields-v139{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 0}.admin-cash-fields-v139 label{display:grid;gap:4px;font-size:12px;font-weight:800}.admin-cash-fields-v139 input,.admin-cash-fields-v139 select{width:100%}.admin-cash-item-v139 footer{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.admin-cash-status-v139{font-weight:900}.admin-empty-v139{padding:25px;background:#fff;border:1px solid #cbd5e1;text-align:center}
/* Lost & found: prevent long text from writing over neighboring cells. */
.lost-found-table{table-layout:fixed;width:100%}.lost-found-table th,.lost-found-table td{vertical-align:top;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;max-width:0}.lost-found-table th:nth-child(1),.lost-found-table td:nth-child(1){width:42px}.lost-found-table th:nth-child(2),.lost-found-table td:nth-child(2){width:18%}.lost-found-table th:nth-child(3),.lost-found-table td:nth-child(3){width:29%}.lost-found-table th:nth-child(4),.lost-found-table td:nth-child(4){width:29%}.lost-found-table th:nth-child(5),.lost-found-table td:nth-child(5){width:24%}.lost-found-table .small-text{display:block;max-width:100%;overflow-wrap:anywhere}
/* Room overtime badge: show complete duration instead of clipping. */
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{max-width:58%!important;width:auto!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:10px!important;padding:4px 7px!important;z-index:8!important}.pos-v7 .room-btn-v5.compact-room-tile{overflow:visible!important}.pos-v7 .rooms-grid-v5{padding-top:5px!important}
@media(max-width:700px){.cash-quick-amounts-v139{grid-template-columns:repeat(3,1fr)}.xhiro-classic-summary-v139,.admin-cash-summary-v139{grid-template-columns:1fr}.admin-cash-fields-v139{grid-template-columns:1fr}.admin-cash-item-v139 footer{grid-template-columns:1fr}.lost-found-table{min-width:720px}.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{font-size:9px!important;max-width:65%!important}}

/* v141 — readability and safe admin-approval fixes. */
/* Booking, reservations and lost-found use a light, classic content surface. */
.modal-box .booking-form{
  background:#f8fafc!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:16px!important;
}
.modal-box .booking-form label,
.modal-box .booking-form h2,
.modal-box .booking-form h3,
.modal-box .booking-form p,
.modal-box .booking-form small,
.modal-box .booking-form .input-help,
.modal-box .booking-form .small-text,
.modal-box .booking-form .hint-box,
.modal-box .booking-form .reservation-availability-box,
.modal-box .booking-form .reservation-availability-box *{
  color:#0f172a!important;
}
.modal-box .booking-form input,
.modal-box .booking-form select,
.modal-box .booking-form textarea{
  background:#fff!important;
  color:#0f172a!important;
  border-color:#94a3b8!important;
}
.modal-box .booking-form input::placeholder,
.modal-box .booking-form textarea::placeholder{color:#64748b!important;opacity:1!important}
.modal-box .booking-form .modal-table,
.modal-box .booking-form .modal-table th,
.modal-box .booking-form .modal-table td,
.modal-box .booking-form .modal-table b,
.modal-box .booking-form .modal-table span,
.modal-box .booking-form .modal-table small{
  color:#0f172a!important;
}
.modal-box .booking-form .modal-table th{background:#e2e8f0!important}
.modal-box .booking-form .modal-table td{background:#fff!important}
.modal-box .booking-form .hint-box{background:#eaf2ff!important;border-color:#93c5fd!important;line-height:1.45!important}

/* Classic Xhiro cards: subtle green, clear icons, no numbered labels. */
.turnover-modal-v138 .modal-content{background:#f3f6f4!important;color:#0f172a!important}
.xhiro-summary-v141{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  border:0!important;
  background:transparent!important;
}
.xhiro-summary-v141 .xhiro-summary-card-v141{
  min-width:0;
  padding:14px 15px!important;
  border:1px solid #b8d8c2!important;
  border-left:5px solid #2f855a!important;
  border-radius:10px!important;
  background:#f4fbf6!important;
  box-shadow:0 2px 7px rgba(15,23,42,.05);
  color:#0f172a!important;
}
.xhiro-summary-v141 .xhiro-summary-card-v141 span{
  display:flex!important;
  align-items:center;
  gap:8px;
  color:#1f3d2b!important;
  font-weight:900!important;
}
.xhiro-summary-v141 .xhiro-summary-card-v141 span i{font-style:normal;font-size:18px;line-height:1}
.xhiro-summary-v141 .xhiro-summary-card-v141 strong{color:#0f172a!important;font-size:25px!important;line-height:1.15}
.xhiro-summary-v141 .xhiro-summary-card-v141.pending{
  background:#fffaf0!important;
  border-color:#e7c781!important;
  border-left-color:#b7791f!important;
}
.turnover-modal-v138 .xhiro-drop-v138,
.turnover-modal-v138 .xhiro-day-v138,
.turnover-modal-v138 .xhiro-line-v138,
.turnover-modal-v138 .xhiro-details-v138,
.turnover-modal-v138 .xhiro-details-v138 summary,
.turnover-modal-v138 .turnover-table-v122,
.turnover-modal-v138 .turnover-table-v122 th,
.turnover-modal-v138 .turnover-table-v122 td{
  color:#0f172a!important;
}
.turnover-modal-v138 .xhiro-drop-v138,
.turnover-modal-v138 .xhiro-details-v138{background:#fff!important}
.turnover-modal-v138 .turnover-table-v122 th{background:#e8efe9!important}
.turnover-modal-v138 .turnover-table-v122 td{background:#fff!important}

/* Full duration remains readable inside narrow room cards without touching other room content. */
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{
  left:5px!important;
  right:auto!important;
  max-width:none!important;
  width:auto!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:9px!important;
  line-height:1.1!important;
  padding:4px 6px!important;
  letter-spacing:-.15px!important;
}

/* Admin approval view always uses readable light cards. */
.admin-cash-v139,
.admin-cash-v139 h1,
.admin-cash-v139 p,
.admin-cash-v139 label,
.admin-cash-v139 small,
.admin-cash-v139 span,
.admin-cash-v139 b,
.admin-cash-v139 strong{color:#0f172a!important}
.admin-cash-item-v139 input,
.admin-cash-item-v139 select,
.admin-cash-filter-v139 select{background:#fff!important;color:#0f172a!important;border:1px solid #94a3b8!important}

@media(max-width:700px){
  .xhiro-summary-v141{grid-template-columns:1fr!important}
  .modal-box .booking-form{padding:11px!important}
  .pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{font-size:8.5px!important;padding:4px 5px!important}
}

/* v142 — consistent classic UI, readable text, safe cash approval workflow. */
.reservations-modal-v142 .modal-content,
.cash-movement-modal-v138 .modal-content,
.cash-movement-form-v138 .modal-content,
.cash-review-modal-v142 .modal-content,
.lost-found-form{
  background:#f4f6f8!important;
  color:#111827!important;
}
.reservations-modal-v142 .modal-content h2,
.reservations-modal-v142 .modal-content h3,
.reservations-modal-v142 .modal-content p,
.reservations-modal-v142 .modal-content span,
.reservations-modal-v142 .modal-content small,
.reservations-modal-v142 .modal-content b,
.reservations-modal-v142 .modal-content label,
.cash-movement-modal-v138 .modal-content,
.cash-movement-form-v138 .modal-content,
.cash-review-modal-v142 .modal-content,
.lost-found-form,
.lost-found-form h3,
.lost-found-form label,
.lost-found-form span,
.lost-found-form small,
.lost-found-form b{color:#111827!important}
.reservations-modal-v142 .modal-content>h3{margin:16px 4px 7px;color:#111827!important}
.reservations-modal-v142 .reservation-toolbar,
.reservations-modal-v142 .reservation-kpis{color:#111827!important}
.reservations-modal-v142 .reservation-toolbar .hint-box{background:#eef4fb!important;color:#173b70!important;border:1px solid #b8d0ed!important}
.reservations-modal-v142 .reservation-toolbar .hint-box *{color:#173b70!important}
.reservations-modal-v142 .reservation-table{background:#fff!important;border:1px solid #cbd5e1!important;border-radius:10px!important;overflow:hidden}
.reservations-modal-v142 .reservation-table th{background:#152238!important;color:#fff!important}
.reservations-modal-v142 .reservation-table td{background:#fff!important;color:#111827!important}
.reservations-modal-v142 .reservation-table td *{color:inherit}
.reservations-modal-v142 .reservation-table .res-date-in{color:#1457c4!important}
.reservations-modal-v142 .reservation-table .res-date-out{color:#b42318!important}
.reservations-modal-v142 .reservation-table .res-stay-days{color:#5b4300!important}

/* Only one # in table header; row values are normal numbers. */
.reservation-table td:first-child,.lost-found-table td:first-child{font-variant-numeric:tabular-nums;text-align:center;font-weight:900}

/* Lost & found: compact header, safe columns and readable rows. */
.lost-found-hint-v142{display:flex!important;flex-wrap:wrap;gap:4px 8px;align-items:center;line-height:1.35!important}
.lost-found-hint-v142 b{white-space:nowrap}.lost-found-hint-v142 span{min-width:220px;flex:1}
.lost-found-table{table-layout:fixed!important;width:100%!important;background:#fff!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid #94a3b8!important;border-radius:10px!important;overflow:hidden!important}
.lost-found-table th{background:#152238!important;color:#fff!important;padding:9px 7px!important}
.lost-found-table td{background:#fff!important;color:#111827!important;padding:9px 7px!important;vertical-align:top!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;line-height:1.28!important}
.lost-found-table td *{max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.lost-found-table th:nth-child(1),.lost-found-table td:nth-child(1){width:44px!important}
.lost-found-table th:nth-child(2),.lost-found-table td:nth-child(2){width:18%!important}
.lost-found-table th:nth-child(3),.lost-found-table td:nth-child(3){width:27%!important}
.lost-found-table th:nth-child(4),.lost-found-table td:nth-child(4){width:31%!important}
.lost-found-table th:nth-child(5),.lost-found-table td:nth-child(5){width:24%!important}
.lf-date-v142,.lf-main-v142,.lf-sub-v142{display:block!important}.lf-sub-v142{margin-top:3px;color:#475569!important;font-size:12px!important}
.lf-status{display:inline-block!important;max-width:100%!important;white-space:normal!important;line-height:1.15!important}

/* Cash expense entry and explicit review before save. */
.cash-form-v142{max-width:620px;margin:0 auto;background:#fff!important;border:1px solid #cbd5e1;border-radius:12px;padding:16px!important;color:#111827!important}
.cash-form-v142 label{color:#111827!important}.cash-form-v142 input{background:#fff!important;color:#111827!important;border:1px solid #64748b!important}
.cash-review-v142{max-width:560px;margin:0 auto;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:20px;color:#111827;text-align:center}
.cash-review-icon-v142{font-size:38px}.cash-review-v142 h2{margin:5px 0 10px;color:#111827!important}.cash-review-amount-v142{font-size:38px;font-weight:950;padding:13px;background:#f0f7f2;border:2px solid #4f8b64;border-radius:10px;color:#102a1b}
.cash-review-v142 dl{margin:14px 0;text-align:left;border:1px solid #d5dce5;border-radius:9px;overflow:hidden}.cash-review-v142 dl div{padding:11px 13px;border-bottom:1px solid #e2e8f0}.cash-review-v142 dl div:last-child{border-bottom:0}.cash-review-v142 dt{font-size:12px;font-weight:900;color:#64748b}.cash-review-v142 dd{margin:3px 0 0;font-weight:800;color:#111827;overflow-wrap:anywhere}.cash-review-actions-v142{display:grid;grid-template-columns:1fr 1fr;gap:10px}

/* Xhiro: classic light-green cards, clear names and explanations. */
.turnover-modal-v138 .modal-content{background:#eef2ef!important;color:#111827!important}
.xhiro-summary-v141{gap:9px!important}.xhiro-summary-v141 .xhiro-summary-card-v141{background:#f7fbf8!important;border:1px solid #b8c9bd!important;border-left:4px solid #3e6f4d!important;border-radius:8px!important;box-shadow:none!important;padding:13px 14px!important}
.xhiro-summary-v141 .xhiro-summary-card-v141 span{color:#193924!important}.xhiro-summary-v141 .xhiro-summary-card-v141 strong{color:#111827!important}.xhiro-summary-v141 .xhiro-summary-card-v141 small{display:block;color:#52645a!important;font-size:11px;line-height:1.3}
.xhiro-summary-v141 .xhiro-summary-card-v141.pending{background:#fffaf0!important;border-color:#dbc793!important;border-left-color:#9a6b16!important}
.xhiro-details-v138,.xhiro-handover-v138,.xhiro-quick-bars-v138>div{box-shadow:none!important}
.xhiro-drop-v138{border:1px solid #ccd6cf!important;border-radius:8px!important;overflow:hidden!important}.xhiro-day-v138{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;padding:11px 13px!important;border-bottom:1px solid #e2e8e4!important}.xhiro-day-v138:last-child{border-bottom:0!important}.xhiro-day-v138 span{display:block!important}.xhiro-day-v138 small{display:none!important}

/* Room duration badge stays completely inside the room tile. */
.pos-v7 .room-btn-v5.compact-room-tile{overflow:hidden!important}
.pos-v7 .room-btn-v5.compact-room-tile .room-overtime-badge{
  left:5px!important;right:5px!important;top:5px!important;width:auto!important;max-width:calc(100% - 10px)!important;
  min-height:24px!important;height:auto!important;padding:4px 5px!important;white-space:normal!important;overflow:visible!important;
  text-overflow:clip!important;font-size:9px!important;line-height:1.05!important;text-align:center!important;word-break:normal!important;
}

/* Admin approval: direct, selectable, traceable. */
.admin-cash-v142{color:#111827}.admin-cash-v142 h1,.admin-cash-v142 p,.admin-cash-v142 span,.admin-cash-v142 b,.admin-cash-v142 strong,.admin-cash-v142 small,.admin-cash-v142 label{color:#111827!important}
.admin-cash-overview-v142{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:12px;margin-bottom:14px}.admin-cash-overview-v142>div{background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:14px;display:grid;gap:5px}.admin-cash-overview-v142 b{font-size:32px}.admin-cash-overview-v142 strong{font-size:20px}.admin-cash-help-v142 b{font-size:16px}.admin-cash-help-v142 span{color:#475569!important}
.admin-cash-tabs-v142{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.admin-cash-tabs-v142 a{padding:10px 13px;border:1px solid #aebbc9;background:#fff;color:#243447!important;border-radius:8px;font-weight:900;text-decoration:none}.admin-cash-tabs-v142 a.active{background:#17324f;color:#fff!important;border-color:#17324f}
.admin-cash-bulk-v142{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;gap:9px;align-items:center;background:#f7faf8;border:1px solid #b9cbbf;border-radius:10px;padding:11px;margin-bottom:13px}.admin-cash-bulk-v142 input[type=text],.admin-cash-bulk-v142>input{background:#fff!important;color:#111827!important;border:1px solid #94a3b8!important}
.admin-cash-list-v142{display:grid;gap:10px}.admin-cash-item-v142{background:#fff;border:1px solid #cbd5e1;border-left:5px solid #d39b2a;border-radius:10px;overflow:hidden}.admin-cash-item-v142.cash-status-approved{border-left-color:#3f7b53}.admin-cash-item-v142.cash-status-rejected,.admin-cash-item-v142.cash-status-canceled{border-left-color:#a94442}
.admin-cash-item-v142>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-bottom:1px solid #e2e8f0}.admin-cash-title-v142{display:grid;min-width:0}.admin-cash-title-v142 b{font-size:17px}.admin-cash-title-v142 small{color:#64748b!important;overflow-wrap:anywhere}.admin-cash-item-v142>header>strong{font-size:24px;white-space:nowrap}.admin-cash-check-v142 input{width:20px;height:20px}
.admin-cash-detail-grid-v142{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:10px;padding:12px 14px}.admin-cash-detail-grid-v142>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px;padding:9px;min-width:0}.admin-cash-detail-grid-v142 span{display:block;font-size:11px;font-weight:900;color:#64748b!important}.admin-cash-detail-grid-v142 b{display:block;margin-top:3px;overflow-wrap:anywhere}
.admin-cash-edit-v142{border-top:1px solid #e2e8f0}.admin-cash-edit-v142 summary{padding:11px 14px;cursor:pointer;font-weight:900;color:#27445e!important;background:#f8fafc}.admin-cash-fields-v142{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 14px}.admin-cash-fields-v142 label{display:grid;gap:4px;font-size:12px;font-weight:900}.admin-cash-fields-v142 label.wide{grid-column:span 2}.admin-cash-fields-v142 input,.admin-cash-fields-v142 select{width:100%;background:#fff!important;color:#111827!important;border:1px solid #94a3b8!important}.admin-cash-actions-v142{display:grid;grid-template-columns:minmax(180px,1fr) repeat(4,auto);gap:8px;padding:0 14px 14px}.admin-cash-actions-v142 input{background:#fff!important;color:#111827!important;border:1px solid #94a3b8!important}.admin-empty-v142{background:#fff;border:1px solid #cbd5e1;padding:24px;text-align:center;border-radius:10px}
.admin-home-approval-v142{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 16px;margin-bottom:14px;border:1px solid #d6b35a;border-left:5px solid #b27b12;background:#fffaf0;border-radius:10px;text-decoration:none;color:#4b3509!important}.admin-home-approval-icon-v142{font-size:28px}.admin-home-approval-v142 div{display:grid}.admin-home-approval-v142 b{font-size:17px}.admin-home-approval-v142 small{color:#725817!important}.admin-home-approval-v142 em{font-size:28px;font-style:normal}

@media(max-width:760px){
 .reservations-modal-v142 .reservation-table,.lost-found-table{min-width:720px!important}
 .lost-found-form{overflow-x:auto!important}
 .cash-review-actions-v142{grid-template-columns:1fr}
 .admin-cash-overview-v142,.admin-cash-bulk-v142,.admin-cash-detail-grid-v142{grid-template-columns:1fr}
 .admin-cash-item-v142>header{grid-template-columns:auto 1fr}.admin-cash-item-v142>header>strong{grid-column:2}
 .admin-cash-fields-v142{grid-template-columns:1fr}.admin-cash-fields-v142 label.wide{grid-column:auto}
 .admin-cash-actions-v142{grid-template-columns:1fr}
}

/* v143: readable classic Xhiro, safe wrapping and date-grouped approvals */
.xhiro-dashboard-v143,.xhiro-dashboard-v143 *{box-sizing:border-box;color:#0f1b2d}.xhiro-summary-v143{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.xhiro-summary-v143>div{background:#f7f9fc;border:1px solid #cbd5e1;border-left:4px solid #2f855a;border-radius:10px;padding:12px}.xhiro-summary-v143 span,.xhiro-summary-v143 strong,.xhiro-summary-v143 small{display:block;color:#10203a}.xhiro-summary-v143 strong{font-size:26px;margin:4px 0}.xhiro-summary-v143 small{font-size:12px}.xhiro-handover-v143{margin:12px 0;padding:16px;text-align:center;background:#edf8f1;border:2px solid #2f855a;border-radius:10px}.xhiro-handover-v143 span,.xhiro-handover-v143 strong,.xhiro-handover-v143 small{display:block;color:#123525}.xhiro-handover-v143 strong{font-size:32px}.xhiro-details-v143,.xhiro-bars-v143 details{margin:10px 0;border:1px solid #cbd5e1;border-radius:10px;background:#fff;overflow:hidden}.xhiro-details-v143>summary,.xhiro-bars-v143 summary{list-style:none;cursor:pointer;padding:13px 15px;background:#e9f0ea;display:flex;align-items:center;gap:10px;font-weight:800;color:#10203a}.xhiro-details-v143>summary::-webkit-details-marker,.xhiro-bars-v143 summary::-webkit-details-marker{display:none}.xhiro-details-v143 summary em,.xhiro-bars-v143 summary em{margin-left:auto;font-style:normal}.xhiro-details-v143[open] summary em,.xhiro-bars-v143 details[open] summary em{transform:rotate(180deg)}.xhiro-details-v143>div,.xhiro-bars-v143 details>table{padding:10px}.xhiro-day-v143{width:100%;border:0;border-bottom:1px solid #dce3ea;background:#fff;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:12px;text-align:left;cursor:pointer}.xhiro-day-v143:hover{background:#f1f7f3}.xhiro-day-v143 span,.xhiro-day-v143 strong{color:#10203a}.xhiro-day-v143 em{font-style:normal;color:#356b4c;font-size:12px}.xhiro-bars-v143{display:grid;grid-template-columns:1fr 1fr;gap:10px}.xhiro-bars-v143 summary b{margin-left:auto;color:#10203a}.folio-stay-v143{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:5px;font-size:11px}.folio-stay-v143 span{color:#334155}.folio-stay-v143 span b{display:block;color:#0f3c78}.folio-stay-v143 em{grid-column:1/-1;font-style:normal;color:#7c4a03}.xhiro-section-title-v143{margin-top:14px}.xhiro-section-title-v143 h3,.xhiro-section-title-v143 small{color:#10203a}.turnover-table-v122 th,.turnover-table-v122 td{color:#0f172a!important;vertical-align:top}.turnover-table-v122 td{white-space:normal;overflow-wrap:anywhere}.admin-cash-v143,.admin-cash-v143 *{box-sizing:border-box}.admin-cash-overview-v143{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin:12px 0}.admin-cash-overview-v143>div{background:#f7f9fc;border:1px solid #cbd5e1;border-radius:10px;padding:14px}.admin-cash-overview-v143 span,.admin-cash-overview-v143 b,.admin-cash-overview-v143 strong,.admin-cash-overview-v143 small{display:block;color:#10203a}.admin-cash-day-v143{background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin:10px 0;overflow:hidden}.admin-cash-day-v143>summary{cursor:pointer;display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:14px;background:#e8efe9;color:#10203a}.admin-cash-day-v143>summary *{color:#10203a}.admin-cash-day-list-v143{padding:10px}.admin-cash-item-v143{border:1px solid #d5dde7;border-radius:9px;margin:8px 0;background:#fff;overflow:hidden}.admin-cash-item-v143 header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;background:#f8fafc}.admin-cash-item-v143 header b,.admin-cash-item-v143 header small,.admin-cash-item-v143 header strong{display:block;color:#10203a}.admin-cash-detail-grid-v143{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px}.admin-cash-detail-grid-v143>div{padding:9px;background:#f5f7fa;border-radius:7px}.admin-cash-detail-grid-v143 span,.admin-cash-detail-grid-v143 b,.admin-cash-detail-grid-v143 small{display:block;color:#10203a}.admin-cash-detail-grid-v143 .corrected{background:#fff4db;border:1px solid #e8bd5a}.admin-cash-edit-v143{margin:0 10px 10px;border-top:1px solid #dde4ec}.admin-cash-edit-v143 summary{cursor:pointer;padding:10px;color:#174f8a;font-weight:700}.admin-cash-fields-v143{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-cash-fields-v143 label{color:#10203a;font-weight:700}.admin-cash-fields-v143 input,.admin-cash-fields-v143 select{width:100%;color:#10203a!important;background:#fff!important;border:1px solid #94a3b8;padding:9px}.admin-cash-fields-v143 .wide{grid-column:1/-1}.admin-cash-actions-v143{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0}.admin-cash-actions-v143 input{min-width:220px;color:#10203a!important;background:#fff!important}.lost-found-table-v111,.lost-found-table-v111 td,.lost-found-table-v111 th{table-layout:fixed;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}.lost-found-table-v111 td>*{max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important}.lost-found-list-v111 td,.lost-found-list-v111 th{white-space:normal!important;overflow-wrap:anywhere!important;vertical-align:top}.reservation-modal-v73 h2,.reservation-modal-v73 h3,.reservation-modal-v73 label,.reservation-modal-v73 p,.reservation-modal-v73 span,.reservation-modal-v73 td,.reservation-modal-v73 th{color:#10203a}.room-time-badge,.room-total-time-v130{max-width:calc(100% - 12px)!important;white-space:normal!important;line-height:1.08!important;height:auto!important;min-height:26px!important;padding:5px 8px!important;text-align:center!important;overflow:visible!important}.modal-content h3,.modal-content summary,.modal-content label{color:#10203a}.modal-content .dark-panel h3,.modal-content .dark-panel label{color:#fff}
@media(max-width:720px){.xhiro-summary-v143,.xhiro-bars-v143,.admin-cash-overview-v143,.admin-cash-detail-grid-v143,.admin-cash-fields-v143{grid-template-columns:1fr}.xhiro-day-v143{grid-template-columns:1fr auto}.xhiro-day-v143 em{grid-column:1/-1}.admin-cash-day-v143>summary{grid-template-columns:1fr auto}.admin-cash-day-v143>summary strong{grid-column:1/-1}.folio-stay-v143{grid-template-columns:1fr}.folio-stay-v143 em{grid-column:auto}}

.lost-found-table{table-layout:fixed;width:100%}.lost-found-table th:nth-child(1),.lost-found-table td:nth-child(1){width:5%}.lost-found-table th:nth-child(2),.lost-found-table td:nth-child(2){width:18%}.lost-found-table th:nth-child(3),.lost-found-table td:nth-child(3){width:27%}.lost-found-table th:nth-child(4),.lost-found-table td:nth-child(4){width:27%}.lost-found-table th:nth-child(5),.lost-found-table td:nth-child(5){width:23%}.lost-found-table td,.lost-found-table th{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important;vertical-align:top}.lost-found-table .lf-main-v142,.lost-found-table .lf-sub-v142,.lost-found-table .lf-date-v142{display:block;max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.25}.lost-found-table .lf-status{display:inline-block;max-width:100%;white-space:normal!important;line-height:1.15}.paid-at-v143{grid-column:1/-1;color:#334155!important}
