/* Print Voucher popup */
.vm-overlay{position:fixed;inset:0;z-index:200;background:rgba(20,24,20,.5);display:flex;align-items:center;justify-content:center;padding:16px;}
.vm-box{width:min(420px,100%);background:var(--panel);border-radius:12px;padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.3);animation:vmRise .25s ease;}
@keyframes vmRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.vm-box h3{margin:0 0 4px;font-size:1.1rem;}
.vm-sub{color:var(--sub);font-size:.82rem;margin:0 0 14px;}
.vm-box label{font-size:.75rem;color:var(--sub);display:block;margin-bottom:5px;}
.vm-box input{width:100%;padding:9px 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font-size:.88rem;margin-bottom:16px;}
.vm-actions{display:flex;justify-content:flex-end;gap:10px;}
.vm-note{color:var(--sub);font-size:.75rem;line-height:1.45;margin:-4px 0 16px;}
/* Voucher buttons in View Tour Details rows */
.btn-amend{background:#e8c547;color:#2b2405;border:none;}
.btn-amend:hover{filter:brightness(1.06);}
/* Row buttons: fixed widths so every row lines up, however many amendments it has */
td.row-actions .ra{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;}
td.row-actions .ra button{flex:0 0 auto;white-space:nowrap;}
.btn-rem{width:112px;text-align:left;}
.btn-print{width:72px;}
.btn-del{width:34px;padding-left:0;padding-right:0;}
.vbox{display:flex;gap:6px;align-items:center;flex:0 0 auto;}
.vbox .vsel{width:140px;min-width:140px;max-width:140px;padding:5px 6px;font-size:.74rem;text-align:left;text-overflow:ellipsis;}
.btn-amend{width:96px;}
.btn-send{background:#2f6fb3;color:#fff;border:none;width:84px;}
.btn-send:hover{filter:brightness(1.08);}
@media (max-width:760px){
  .tourcard td.row-actions .ra .vbox{flex-wrap:wrap;}
  .tourcard td.row-actions .ra .vbox .vsel{flex:1 1 100%;}
  .tourcard td.row-actions .ra .vbox .btn-amend,.tourcard td.row-actions .ra .vbox .btn-send{flex:1 1 0;min-height:40px;width:auto;}
}

/* ── 📧 Send: Outlook-style compose window (dark, like Outlook) ── */
.ol-overlay{padding:16px;}
.ol-win{--ob:#1f1f1f;--ob2:#292929;--oline:#3d3d3d;--otx:#e8e8e8;--osub:#a8a8a8;--oblue:#0f6cbd;
  width:min(980px,100%);height:min(860px,calc(100vh - 32px));display:flex;flex-direction:column;background:var(--ob);color:var(--otx);
  border-radius:10px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);font-family:'Segoe UI',system-ui,sans-serif;animation:vmRise .2s ease;}
.ol-bar{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;background:#141414;border-bottom:1px solid var(--oline);}
.ol-title{font-size:.86rem;color:var(--osub);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ol-sigpick{display:flex;align-items:center;gap:6px;margin:0;font-size:.8rem;color:var(--otx);white-space:nowrap;}
.ol-sigpick select{width:auto;max-width:200px;background:var(--ob2);color:var(--otx);border:1px solid var(--oline);padding:5px 8px;font-size:.8rem;}
.ol-x{background:transparent;color:var(--osub);padding:6px 10px;font-size:.95rem;}
.ol-x:hover{color:#fff;background:#333;}
.ol-head{padding:12px 16px 0;}
.ol-send-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.ol-send{background:var(--oblue);color:#fff;border-radius:4px;padding:7px 16px;font-size:.85rem;font-weight:600;}
.ol-send:hover{filter:brightness(1.12);}
.ol-send:disabled{opacity:.6;}
.ol-from{font-size:.78rem;color:var(--osub);flex:1;}
.ol-discard{background:transparent;color:var(--otx);border:1px solid var(--oline);border-radius:4px;padding:6px 12px;font-size:.8rem;}
.ol-discard:hover{background:#333;}
.ol-line{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--oline);padding:6px 0;min-height:44px;}
.ol-lab{flex:0 0 auto;width:50px;text-align:center;border:1px solid var(--oline);border-radius:4px;padding:5px 0;font-size:.78rem;font-weight:600;}
.ol-chips{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;cursor:text;}
.ol-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;background:var(--ob2);border:1px solid #555;border-radius:4px;padding:2px 4px 2px 8px;font-size:.82rem;}
.ol-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ol-chip.ext{border-color:#d6b43c;}
.ol-chip.bad{border-color:#e05252;color:#ff9b9b;}
.ol-chip button{background:transparent;color:var(--osub);padding:0 4px;font-size:.75rem;line-height:1;}
.ol-chip button:hover{color:#fff;}
.ol-chips .ol-chip-in{flex:1;min-width:140px;width:auto;background:transparent;border:none;color:var(--otx);padding:4px 2px;font-size:.85rem;box-shadow:none;}
.ol-bcc-btn{background:transparent;color:var(--osub);font-weight:400;font-size:.78rem;padding:4px 6px;}
.ol-bcc-btn:hover{color:#fff;}
.ol-warn{font-size:.78rem;color:#ffd77a;padding:8px 0 0;}
.ol-head label.ol-chk{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--otx);margin:6px 0 0;}
.ol-chk input{width:auto;margin:0;}
.ol-subject{width:100%;background:transparent;border:none;border-bottom:1px solid var(--oline);border-radius:0;color:var(--otx);font-size:.9rem;padding:12px 0;box-shadow:none!important;}
.ol-attrow{padding:12px 16px;border-bottom:1px solid var(--oline);}
.ol-att{cursor:pointer;display:inline-flex;align-items:center;gap:10px;max-width:min(320px,100%);border:1px solid var(--oline);border-radius:6px;padding:8px 12px;background:var(--ob2);}
.ol-att-ic{flex:0 0 auto;width:30px;height:30px;border-radius:3px;background:#c4314b;color:#fff;font-weight:700;font-size:.62rem;display:flex;align-items:center;justify-content:center;}
.ol-att-txt{display:flex;flex-direction:column;min-width:0;}
.ol-att-name{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ol-att-size{font-size:.68rem;color:var(--osub);}
.ol-body{flex:1;overflow:auto;padding:16px;}
.ol-msg{outline:none;font-family:Aptos,Calibri,'Segoe UI',sans-serif;font-size:.92rem;line-height:1.5;min-height:120px;}
.ol-sig{margin-top:20px;padding:14px;border-radius:6px;background:#fff;color:#222;display:inline-block;max-width:100%;overflow:auto;}
.ol-sig img{max-width:none;}
.ol-sig td,.ol-sig th{text-align:left;white-space:normal;border-bottom:none;}
body.ol-open{overflow:hidden;}
.ol-win{position:relative;}
.ol-att:hover{border-color:#6a6a6a;background:#303030;}
.ol-att-eye{flex:0 0 auto;font-size:.72rem;color:#9cc3ff;margin-left:6px;}
.ol-pdf{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;background:#2b2b2b;}
.ol-pdf-bar{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 16px;background:#141414;border-bottom:1px solid #3d3d3d;}
.ol-pdf-name{flex:1;min-width:0;font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ol-pdf-dl{color:#fff;background:#0f6cbd;border-radius:4px;padding:6px 12px;font-size:.8rem;font-weight:600;text-decoration:none;}
.ol-pdf-pages{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;align-items:center;gap:12px;}
.ol-pdf-pages canvas{background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.5);max-width:100%;height:auto;}
.ol-pdf-wait{color:#bbb;font-size:.85rem;padding:40px 10px;text-align:center;}
@media (max-width:760px){
  .ol-overlay{padding:0;}
  .ol-win{height:100%;border-radius:0;width:100%;}
  .ol-bar{flex-wrap:wrap;gap:8px;}
  .ol-title{flex:1 1 calc(100% - 50px);}
  .ol-sigpick{flex:1 1 100%;order:3;}
  .ol-sigpick select{flex:1;max-width:none;}
  .ol-head{padding:10px 12px 0;}
  .ol-body,.ol-attrow{padding:12px;}
  .ol-lab{width:40px;}
  .ol-chips .ol-chip-in{min-width:100px;font-size:16px;}
  .ol-subject{font-size:16px;}
  .ol-send{padding:10px 18px;}
}
.vm-box{max-height:calc(100vh - 32px);overflow:auto;}
.vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.vm-grid .vm-wide{grid-column:1 / -1;}
/* 👥 Guests popup */
.gm-box{width:min(640px,100%);}
.gm-head,.gm-row{display:grid;grid-template-columns:26px 86px 1fr 130px 34px;gap:6px;align-items:center;}
.gm-head{font-size:.68rem;color:var(--sub);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;}
.gm-row{margin-bottom:6px;}
.gm-row input,.gm-row select{margin:0!important;padding:7px 8px;font-size:.85rem;}
.gm-n{font-size:.8rem;color:var(--sub);text-align:right;}
.gm-tools{display:flex;gap:8px;margin:8px 0 10px;}
#gmPasteBox textarea{width:100%;padding:9px 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--ink);font:inherit;font-size:.85rem;margin-bottom:8px;}
#gmPasteBox{margin-bottom:10px;}
/* Rooming inside 📝 Details */
.vm-box{width:min(560px,100%);}
.vm-h4{margin:6px 0 8px;font-size:.9rem;}
.rm-list{border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin-bottom:10px;}
.rm-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line);}
.rm-row:last-child{border-bottom:none;}
.rm-row.off{opacity:.55;}
.vm-box label.rm-in,.vm-box label.rm-one{display:flex;align-items:center;gap:8px;margin:0;font-size:.82rem;color:var(--ink);}
.vm-box .rm-in input,.vm-box .rm-one input{width:auto;margin:0;}
.rm-room{width:auto!important;min-width:130px;margin:0!important;padding:5px 6px;font-size:.8rem;}
.rm-room-off{font-size:.72rem;color:var(--sub);}
.vm-box label.rm-one{margin:0 0 10px;}
.rm-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 10px;}
#rmAuto{margin:0 0 14px;}
@media (max-width:760px){
  .gm-head{display:none;}
  .gm-row{grid-template-columns:22px 80px 1fr 40px;grid-template-areas:"n t name del" ". p p p";}
  .gm-row .gm-n{grid-area:n;} .gm-row .gm-title{grid-area:t;} .gm-row .gm-name{grid-area:name;} .gm-row .gm-pass{grid-area:p;} .gm-row .gm-del{grid-area:del;min-height:38px;}
  .gm-row{padding-bottom:8px;border-bottom:1px solid var(--line);}
  .vm-grid{grid-template-columns:1fr;}
}
/* Room-by-room guest picking */
.rm-roombox{border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:8px;}
.rm-roomhead{display:flex;align-items:center;gap:8px;font-size:.84rem;margin-bottom:6px;}
.rm-extra{font-size:.7rem;background:#fff4d6;color:#5b4300;border-radius:10px;padding:1px 8px;}
.rm-pick{display:flex;gap:6px;align-items:center;margin-bottom:6px;}
.rm-pick select{margin:0!important;padding:6px 8px;font-size:.82rem;}
.rm-pick .rm-x{flex:0 0 auto;}
.rm-plus{font-size:.72rem!important;padding:4px 8px!important;}
.rm-out{font-size:.78rem;color:#8a5a00;margin:4px 0 8px;}
.vbox .vtitle{width:118px;min-width:118px;max-width:118px;padding:5px 7px;font-size:.76rem;font-weight:600;text-transform:uppercase;text-align:left;margin:0;}
.vbox .vtitle::placeholder{text-transform:none;font-weight:400;}
@media (max-width:760px){
  .tourcard td.row-actions .ra .vbox .vsel{flex:1 1 45%;}
  .tourcard td.row-actions .ra .vbox .vtitle{flex:1 1 45%;width:auto;min-width:0;max-width:none;min-height:40px;font-size:16px;}
}
