html{margin:0!important;padding:0!important;width:100%;min-height:100%;background:#f4f6f8}body.ohhsem-system-page{margin:0!important;padding:0!important;width:100%!important;min-width:0!important;min-height:100vh!important;max-width:none!important;background:#f4f6f8!important;color:#23314a!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;line-height:1.45!important;overflow-x:hidden}body.ohhsem-system-page *{box-sizing:border-box}body.ohhsem-system-page img{max-width:100%;height:auto}body.ohhsem-system-page button,body.ohhsem-system-page input,body.ohhsem-system-page select,body.ohhsem-system-page textarea{font-family:inherit}body.ohhsem-system-page h1,body.ohhsem-system-page h2,body.ohhsem-system-page h3,body.ohhsem-system-page h4,body.ohhsem-system-page p{font-family:inherit}body.ohhsem-system-page a{font-family:inherit}#wpadminbar{display:none!important}html{margin-top:0!important}
:root{--ots-red:#df2638;--ots-red-dark:#c81f31;--ots-navy:#15233d;--ots-text:#23314a;--ots-muted:#7a8798;--ots-bg:#f4f6f8;--ots-card:#fff;--ots-line:#e8ebef;--ots-green:#20a874;--ots-blue:#4d7df0;--ots-orange:#f59e0b;--ots-shadow:0 10px 30px rgba(25,35,52,.06)}
*{box-sizing:border-box}.ots-app,.ots-login{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ots-text)}body:has(.ots-app),body:has(.ots-login){margin:0;background:var(--ots-bg)}body:has(.ots-app) header:not(.ots-topbar):not(.ots-public-header):not(.ots-mobile-appbar),body:has(.ots-app) footer,body:has(.ots-login) header:not(.ots-topbar),body:has(.ots-login) footer{display:none!important}.ots-app a{text-decoration:none}.ots-admin-layout{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.ots-sidebar{background:#fff;border-right:1px solid var(--ots-line);padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.ots-sidebar-logo{padding:4px 8px 24px}.ots-sidebar-logo img{width:150px;height:auto}.ots-side-nav{display:flex;flex-direction:column;gap:5px}.ots-side-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;color:#566274;font-size:13px;font-weight:600}.ots-side-nav a:hover{background:#f8f9fb;color:var(--ots-navy)}.ots-side-nav a.active{background:#fff1f3;color:var(--ots-red)}.ots-side-icon{width:18px;text-align:center;font-size:15px}.ots-sidebar-bottom{margin-top:auto}.ots-support{background:#fff7f8;border:1px solid #fde1e5;border-radius:12px;padding:14px}.ots-support b{display:block;font-size:12px;margin-bottom:5px}.ots-support span{display:block;font-size:11px;color:var(--ots-muted);line-height:1.45}.ots-admin-content{min-width:0}.ots-topbar{height:72px;background:#fff;border-bottom:1px solid var(--ots-line);display:flex;align-items:center;padding:0 28px;gap:20px;position:sticky;top:0;z-index:30}.ots-search{flex:1;max-width:520px;position:relative}.ots-search input{width:100%;height:40px;border:1px solid var(--ots-line);border-radius:9px;padding:0 14px 0 38px;background:#fafbfc;color:var(--ots-text)}.ots-search:before{content:'⌕';position:absolute;left:14px;top:8px;color:#98a2b3}.ots-top-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.ots-icon-btn{width:38px;height:38px;border:1px solid var(--ots-line);border-radius:9px;display:grid;place-items:center;background:#fff;color:#647084}.ots-user-chip{display:flex;align-items:center;gap:10px}.ots-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ffe4e7;color:var(--ots-red);font-weight:800}.ots-user-chip strong{font-size:13px;display:block}.ots-user-chip small{font-size:11px;color:var(--ots-muted)}.ots-main{padding:26px 28px 50px;max-width:1680px;margin:0 auto}.ots-breadcrumb{font-size:11px;color:#9aa3af;margin-bottom:8px}.ots-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.ots-title-row h1{font-size:27px;margin:0 0 5px;color:var(--ots-navy);letter-spacing:-.02em}.ots-title-row p{margin:0;color:var(--ots-muted);font-size:13px}.ots-btn{appearance:none;border:0;background:var(--ots-red);color:#fff!important;border-radius:9px;padding:11px 16px;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-content:center}.ots-btn:hover{background:var(--ots-red-dark)}.ots-btn.secondary{background:#fff;color:var(--ots-text)!important;border:1px solid var(--ots-line)}.ots-btn.ghost{background:#fff;color:var(--ots-red)!important;border:1px solid #f5c7cd}.ots-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.ots-stat{background:#fff;border:1px solid var(--ots-line);border-radius:13px;padding:17px 18px;box-shadow:var(--ots-shadow)}.ots-stat-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.ots-stat span{font-size:12px;color:var(--ots-muted);font-weight:600}.ots-stat strong{display:block;color:var(--ots-navy);font-size:27px;margin-top:7px;line-height:1}.ots-stat small{font-size:10px;color:#98a2b3;display:block;margin-top:8px}.ots-stat-icon{width:34px;height:34px;border-radius:9px;background:#fff1f3;color:var(--ots-red);display:grid;place-items:center}.ots-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);gap:16px}.ots-card{background:#fff;border:1px solid var(--ots-line);border-radius:13px;box-shadow:var(--ots-shadow);padding:18px;margin-bottom:16px}.ots-card-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.ots-card-head h2,.ots-card-head h3{margin:0;color:var(--ots-navy);font-size:15px}.ots-card-head p{margin:4px 0 0;color:var(--ots-muted);font-size:11px}.ots-link{color:var(--ots-red);font-size:11px;font-weight:700}.ots-chart{height:190px;border-bottom:1px solid var(--ots-line);position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(223,38,56,.05),transparent 72%)}.ots-chart:before,.ots-chart:after{content:"";position:absolute;left:0;right:0;height:1px;background:#eef0f3}.ots-chart:before{top:33%}.ots-chart:after{top:66%}.ots-chart svg{position:absolute;inset:20px 10px 12px;width:calc(100% - 20px);height:calc(100% - 32px)}.ots-table-wrap{overflow:auto}.ots-table{width:100%;border-collapse:collapse}.ots-table th{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:#8c97a6;background:#fafbfc;padding:10px 9px;text-align:left;border-bottom:1px solid var(--ots-line)}.ots-table td{padding:11px 9px;border-bottom:1px solid #f0f2f4;font-size:11.5px;vertical-align:middle}.ots-table tr:last-child td{border-bottom:0}.ots-table strong{font-size:11.5px}.ots-table small{display:block;color:var(--ots-muted);font-size:10px;margin-top:2px}.ots-status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:9.5px;font-weight:800;text-transform:capitalize}.ots-status.green{background:#e9f8f2;color:#16825c}.ots-status.orange{background:#fff4da;color:#b47608}.ots-status.red{background:#ffeaed;color:#c5273b}.ots-status.blue{background:#eaf0ff;color:#3d63c9}.ots-departure-list{display:flex;flex-direction:column;gap:9px}.ots-departure-item{display:grid;grid-template-columns:48px 1fr auto;gap:9px;align-items:center;border-bottom:1px solid #f0f2f4;padding-bottom:9px}.ots-departure-item:last-child{border-bottom:0}.ots-datebox{border:1px solid #f3c6cc;background:#fff6f7;color:var(--ots-red);border-radius:9px;text-align:center;padding:6px 4px}.ots-datebox b{display:block;font-size:14px}.ots-datebox small{font-size:8px}.ots-package-rank{display:flex;align-items:center;gap:9px;padding:8px 0}.ots-rank{width:22px;height:22px;border-radius:7px;background:#fff1f3;color:var(--ots-red);display:grid;place-items:center;font-size:9px;font-weight:800}.ots-progressbar{height:5px;border-radius:99px;background:#eef1f4;overflow:hidden;margin-top:5px}.ots-progressbar i{display:block;height:100%;background:var(--ots-red);border-radius:99px}.ots-public-header{height:76px;background:#fff;border-bottom:1px solid var(--ots-line);display:flex;align-items:center;padding:0 4vw;gap:32px;position:sticky;top:0;z-index:40}.ots-public-brand img{width:150px}.ots-public-nav{display:flex;align-items:center;gap:26px;flex:1}.ots-public-nav a{font-size:12.5px;color:#536071;font-weight:650}.ots-public-nav a.active{color:var(--ots-red)}.ots-public-user{display:flex;align-items:center;gap:10px}.ots-public-main{max-width:1480px;margin:0 auto;padding:26px 4vw 52px}.ots-package-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.ots-package-head h1{margin:0;color:var(--ots-navy);font-size:28px}.ots-package-head p{margin:6px 0 0;color:var(--ots-muted);font-size:12px}.ots-filter-row{display:grid;grid-template-columns:1.4fr repeat(3,.65fr);gap:10px;background:#fff;border:1px solid var(--ots-line);border-radius:12px;padding:12px;margin-bottom:17px}.ots-filter-row input,.ots-filter-row select{height:40px;border:1px solid var(--ots-line);border-radius:8px;padding:0 11px;background:#fff;font-size:12px}.ots-package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ots-package-card{background:#fff;border:1px solid var(--ots-line);border-radius:14px;overflow:hidden;box-shadow:var(--ots-shadow)}.ots-package-image{height:185px;background-size:cover;background-position:center;position:relative}.ots-package-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.15))}.ots-duration-badge{position:absolute;left:12px;top:12px;z-index:2;background:#fff;color:var(--ots-text);padding:5px 9px;border-radius:999px;font-size:9px;font-weight:800}.ots-package-body{padding:14px 15px 15px}.ots-package-body h3{margin:0 0 5px;color:var(--ots-navy);font-size:16px}.ots-package-meta{display:flex;gap:12px;color:var(--ots-muted);font-size:10.5px;margin-bottom:12px}.ots-package-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid #f1f2f4}.ots-package-price small{display:block;color:var(--ots-muted);font-size:9px}.ots-package-price strong{font-size:15px;color:var(--ots-navy)}.ots-flow-wrap{max-width:1220px;margin:0 auto}.ots-stepper{display:grid;grid-template-columns:repeat(4,1fr);max-width:780px;margin:5px auto 24px;position:relative}.ots-stepper:before{content:"";height:2px;background:#e3e6eb;position:absolute;top:15px;left:12%;right:12%}.ots-stepper>div{position:relative;z-index:1;text-align:center;color:#9aa3af;font-size:10px}.ots-stepper b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9ecf0;color:#6d7786;margin:0 auto 6px;font-size:11px}.ots-stepper .done b{background:#e9f7f1;color:var(--ots-green)}.ots-stepper .active b{background:var(--ots-red);color:#fff}.ots-stepper .active span,.ots-stepper .done span{color:var(--ots-navy);font-weight:750}.ots-booking-card{background:#fff;border:1px solid var(--ots-line);border-radius:14px;box-shadow:var(--ots-shadow);padding:20px;margin-bottom:14px}.ots-section-label{font-size:9px;letter-spacing:.09em;color:var(--ots-red);font-weight:900;text-transform:uppercase}.ots-section-title{font-size:17px;color:var(--ots-navy);margin:4px 0 2px}.ots-section-sub{font-size:10px;color:var(--ots-muted);margin:0}.ots-package-summary{display:grid;grid-template-columns:120px 1fr auto;gap:15px;align-items:center}.ots-package-thumb{height:82px;border-radius:10px;background-size:cover;background-position:center}.ots-package-summary-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px}.ots-info-label{font-size:9px;color:#9aa3af;margin-bottom:2px}.ots-info-value{font-size:11px;color:var(--ots-text);font-weight:700}.ots-change-link{font-size:10px;color:var(--ots-red);font-weight:800}.ots-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ots-form label{display:block;font-size:10px;font-weight:750;color:#596575}.ots-form input,.ots-form select,.ots-form textarea{width:100%;border:1px solid #dfe3e8;border-radius:8px;background:#fff;padding:10px 11px;margin-top:5px;color:var(--ots-text);font:inherit}.ots-form input:focus,.ots-form select:focus,.ots-form textarea:focus{outline:none;border-color:#ef9aa5;box-shadow:0 0 0 3px rgba(223,38,56,.08)}.ots-pax-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}.ots-pax{border:1px solid var(--ots-line);border-radius:11px;padding:12px;min-width:0}.ots-pax:nth-child(1){background:#fff8f9}.ots-pax:nth-child(2){background:#fbfcfe}.ots-pax:nth-child(3){background:#f6f8ff}.ots-pax:nth-child(4){background:#fffbf2}.ots-pax:nth-child(5){background:#fff7fc}.ots-pax-title{font-size:11px;font-weight:800;color:var(--ots-navy);min-height:18px}.ots-pax small{font-size:8.5px;color:var(--ots-muted);display:block;margin-top:2px}.ots-pax strong{display:block;margin:9px 0;font-size:13px;color:var(--ots-navy)}.ots-counter{display:grid;grid-template-columns:30px 1fr 30px;border:1px solid #dfe3e8;border-radius:8px;overflow:hidden;background:#fff}.ots-counter button{border:0;background:#f7f8fa;height:30px;font-size:16px;cursor:pointer}.ots-counter input{border:0!important;margin:0!important;padding:4px!important;text-align:center;font-weight:800;appearance:textfield}.ots-booking-bottom{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.ots-pic-card{display:grid;grid-template-columns:1fr;gap:8px}.ots-summary-card{background:var(--ots-navy);color:#fff;border-radius:14px;padding:17px}.ots-summary-card h3{margin:0 0 12px;font-size:13px}.ots-summary-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:10px}.ots-summary-line:last-of-type{border-bottom:0}.ots-summary-line strong{font-size:12px}.ots-summary-total{display:flex;justify-content:space-between;align-items:flex-end;padding-top:12px;margin-top:4px}.ots-summary-total small{font-size:9px;color:#b8c0ce}.ots-summary-total strong{font-size:19px}.ots-action-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}.ots-action-row .ots-btn{min-width:180px}.ots-passenger-list{display:flex;flex-direction:column;gap:10px}.ots-passenger-card{border:1px solid var(--ots-line);border-radius:12px;background:#fff;overflow:hidden}.ots-passenger-card.is-pending{border-style:dashed}.ots-passenger-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fbfcfd;border-bottom:1px solid var(--ots-line)}.ots-passenger-head-left{display:flex;align-items:center;gap:9px}.ots-passenger-no{width:26px;height:26px;border-radius:8px;background:#fff1f3;color:var(--ots-red);display:grid;place-items:center;font-size:9px;font-weight:900}.ots-passenger-head h3{margin:0;font-size:12px;color:var(--ots-navy)}.ots-passenger-head p{margin:2px 0 0;font-size:9px;color:var(--ots-muted)}.ots-passenger-body{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:14px}.ots-upload-box{min-height:132px;border:1px dashed #c7cdd5;border-radius:10px;background:#fafbfc;padding:12px;display:flex!important;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--ots-muted);font-size:10px}.ots-upload-box input{font-size:9px;margin-top:8px!important;padding:0!important;border:0!important}.ots-passenger-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ots-auto-tag{display:inline-flex;align-items:center;gap:4px;color:var(--ots-green);font-size:9px;font-weight:750}.ots-review-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:14px}.ots-review-box{border:1px solid var(--ots-line);border-radius:11px;padding:14px}.ots-review-line{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #f0f2f4;font-size:10.5px}.ots-review-line:last-child{border:0}.ots-review-line span{color:var(--ots-muted)}.ots-success{text-align:center;background:#fff;border:1px solid var(--ots-line);border-radius:16px;padding:56px 24px;box-shadow:var(--ots-shadow)}.ots-success-icon{width:62px;height:62px;border-radius:50%;background:#e9f8f2;color:var(--ots-green);display:grid;place-items:center;font-size:28px;margin:0 auto 15px}.ots-success h2{margin:5px 0 8px;color:var(--ots-navy)}.ots-success p{color:var(--ots-muted);font-size:11px}.ots-success>strong{font-size:21px;color:var(--ots-navy)}.ots-empty{background:#fff;border:1px dashed #cbd1da;border-radius:12px;padding:36px;text-align:center;color:var(--ots-muted)}.ots-login{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at top right,#fff1f3,transparent 35%),var(--ots-bg)}.ots-login-card{width:min(420px,100%);background:#fff;border:1px solid var(--ots-line);border-radius:18px;padding:32px;box-shadow:0 25px 70px rgba(22,35,61,.1)}.ots-login-card>img{width:170px}.ots-login-card h1{margin:24px 0 6px;color:var(--ots-navy)}.ots-login-card p{color:var(--ots-muted);font-size:12px}.ots-login-card label{font-size:11px;font-weight:700}.ots-login-card input[type=text],.ots-login-card input[type=password]{width:100%;padding:11px;border:1px solid #dfe3e8;border-radius:8px;margin:6px 0 12px}.ots-login-card input[type=submit]{width:100%;background:var(--ots-red);color:#fff;border:0;border-radius:9px;padding:11px;font-weight:800}.ots-admin-mini-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ots-admin-mini-form .wide{grid-column:span 2}.ots-admin-mini-form .full{grid-column:1/-1}.ots-admin-mini-form button{align-self:end}.ots-note{padding:11px 12px;border-radius:9px;background:#fff9e8;border:1px solid #f6e7b3;color:#8a6b13;font-size:10px}.ots-filters{display:flex;gap:8px;margin-bottom:12px}.ots-filters input,.ots-filters select{height:36px;border:1px solid var(--ots-line);border-radius:8px;padding:0 10px;font-size:10px}.ots-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:9px;font-weight:800}.ots-airline{display:flex;align-items:center;gap:7px}.ots-airline-mark{width:24px;height:24px;border-radius:6px;background:#f7f8fa;display:grid;place-items:center;font-size:11px}.ots-row-actions{display:flex;gap:6px}.ots-row-actions a{font-size:9px;color:var(--ots-red);font-weight:800}.ots-pagination{display:flex;justify-content:space-between;align-items:center;padding-top:12px;color:var(--ots-muted);font-size:10px}.ots-pagination-pages{display:flex;gap:5px}.ots-pagination-pages span{width:26px;height:26px;border:1px solid var(--ots-line);border-radius:7px;display:grid;place-items:center}.ots-pagination-pages .active{background:var(--ots-red);color:#fff;border-color:var(--ots-red)}
@media(max-width:1200px){.ots-admin-layout{grid-template-columns:190px 1fr}.ots-stats{grid-template-columns:repeat(2,1fr)}.ots-dashboard-grid{grid-template-columns:1fr}.ots-package-grid{grid-template-columns:repeat(2,1fr)}.ots-pax-grid{grid-template-columns:repeat(3,1fr)}.ots-booking-bottom{grid-template-columns:1fr}.ots-passenger-fields{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ots-admin-layout{display:block}.ots-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--ots-line)}.ots-side-nav{display:grid;grid-template-columns:repeat(2,1fr)}.ots-support{display:none}.ots-topbar{padding:0 16px}.ots-search{display:none}.ots-main,.ots-public-main{padding:20px 15px 40px}.ots-public-header{padding:12px 15px;height:auto;flex-wrap:wrap}.ots-public-nav{order:3;width:100%;overflow:auto}.ots-package-grid,.ots-filter-row,.ots-stats,.ots-field-grid,.ots-pax-grid,.ots-package-summary,.ots-passenger-body,.ots-review-grid{grid-template-columns:1fr}.ots-package-summary-info,.ots-passenger-fields{grid-template-columns:1fr 1fr}.ots-admin-mini-form{grid-template-columns:1fr}.ots-admin-mini-form .wide,.ots-admin-mini-form .full{grid-column:auto}.ots-stepper span{font-size:8px}.ots-action-row{align-items:stretch;flex-direction:column-reverse}.ots-action-row .ots-btn{width:100%}.ots-title-row{flex-direction:column;align-items:stretch}}

/* v1.1.5 booking detail role separation */
.ots-detail-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.ots-detail-summary>div{background:#fff;border:1px solid var(--ots-line);border-radius:11px;padding:13px 14px;box-shadow:var(--ots-shadow)}.ots-detail-summary span{display:block;color:var(--ots-muted);font-size:9px;font-weight:700;margin-bottom:5px}.ots-detail-summary strong{font-size:11.5px;color:var(--ots-navy)}.ots-detail-summary i{font-style:normal}.ots-booking-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr);gap:16px}.ots-detail-lines{display:flex;flex-direction:column}.ots-detail-lines>div{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 0;border-bottom:1px solid #f0f2f4}.ots-detail-lines>div:last-child{border-bottom:0}.ots-detail-lines span{font-size:10px;color:var(--ots-muted)}.ots-detail-lines span small{display:block;margin-top:3px;color:#9aa3af}.ots-detail-lines strong{font-size:10.5px;color:var(--ots-navy);text-align:right}.ots-flight-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ots-flight-pair>div{border:1px solid var(--ots-line);background:#fafbfc;border-radius:10px;padding:14px}.ots-flight-pair span{display:block;color:var(--ots-red);font-size:9px;font-weight:800;text-transform:uppercase;margin-bottom:7px}.ots-flight-pair strong{display:block;color:var(--ots-navy);font-size:13px}.ots-flight-pair small{display:block;color:var(--ots-muted);font-size:9.5px;margin-top:5px;line-height:1.45}.ots-admin-detail-actions{display:flex;justify-content:space-between;gap:10px;margin-bottom:14px}.ots-admin-passenger-edit{display:flex;flex-direction:column;gap:12px}.ots-admin-passenger-edit section{border:1px solid var(--ots-line);border-radius:11px;overflow:hidden}.ots-admin-passenger-edit .ots-passenger-head{margin:0}.ots-passenger-fields-admin{padding:13px;grid-template-columns:repeat(5,minmax(0,1fr))}.ots-note-success{background:#eaf8f2!important;border-color:#c9ecdd!important;color:#147a57!important;margin-bottom:14px}.ots-row-actions a+ a{border-left:1px solid var(--ots-line);padding-left:6px}.ots-row-actions a:hover{text-decoration:underline}
@media(max-width:1050px){.ots-detail-summary{grid-template-columns:repeat(2,1fr)}.ots-booking-detail-grid{grid-template-columns:1fr}.ots-passenger-fields-admin{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ots-detail-summary,.ots-flight-pair,.ots-passenger-fields-admin{grid-template-columns:1fr}.ots-admin-detail-actions{flex-direction:column}.ots-admin-detail-actions .ots-btn{width:100%}}

/* v1.1.6 Customer Hub */
.ots-customer-search{display:flex;gap:10px;align-items:center;margin-bottom:14px}.ots-customer-search input{flex:1;min-width:280px}.ots-table-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #e4e9f0;border-radius:9px;color:#14213d;text-decoration:none;font-weight:700;background:#fff;white-space:nowrap}.ots-table-btn:hover{border-color:#ef233c;color:#ef233c}.ots-customer-cell{display:flex;align-items:center;gap:10px;min-width:190px}.ots-customer-avatar{width:36px;height:36px;border-radius:50%;background:#fff0f2;color:#df2638;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex:0 0 auto}.ots-customer-avatar.large{width:58px;height:58px;font-size:18px}.ots-customer-avatar.small{width:32px;height:32px;font-size:10px}.ots-customer-detail-hero{display:grid;grid-template-columns:minmax(280px,1.6fr) repeat(4,minmax(135px,1fr));gap:12px;margin-bottom:14px}.ots-customer-profile-card,.ots-mini-stat{background:#fff;border:1px solid #edf0f4;border-radius:14px;box-shadow:0 5px 18px rgba(18,31,53,.04)}.ots-customer-profile-card{display:flex;align-items:center;gap:14px;padding:18px}.ots-customer-profile-card h2{margin:3px 0 4px;font-size:20px;color:#111c35}.ots-customer-profile-card p{margin:0;color:#6f7a8d}.ots-mini-stat{padding:16px;display:flex;flex-direction:column;justify-content:center}.ots-mini-stat span{font-size:12px;color:#7b8494}.ots-mini-stat strong{font-size:21px;color:#111c35;margin-top:5px}.ots-mini-stat small{font-size:11px;color:#8d96a6;margin-top:3px}.ots-customer-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ots-customer-info-grid>div{padding:14px 16px;background:#fafbfc;border:1px solid #eef1f5;border-radius:11px}.ots-customer-info-grid span{display:block;font-size:11px;color:#808a9a;margin-bottom:5px}.ots-customer-info-grid strong{color:#17223b;font-size:13px}.ots-empty-state{padding:28px;text-align:center;color:#7e8899}.ots-empty-state strong,.ots-empty-state span{display:block}.ots-empty-state strong{color:#1a253d;margin-bottom:5px}@media(max-width:1100px){.ots-customer-detail-hero{grid-template-columns:1fr 1fr}.ots-customer-profile-card{grid-column:1/-1}.ots-customer-info-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.ots-customer-detail-hero,.ots-customer-info-grid{grid-template-columns:1fr}.ots-customer-search{align-items:stretch;flex-direction:column}.ots-customer-search input{min-width:0}}

/* v1.1.7 Travel Package Management */
.ots-package-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.ots-package-subnav{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--ots-line);border-radius:10px;padding:4px;box-shadow:var(--ots-shadow)}.ots-package-subnav a{padding:8px 12px;border-radius:7px;color:#657184;font-size:11px;font-weight:750}.ots-package-subnav a.active{background:#fff1f3;color:var(--ots-red)}.ots-package-list-cell{display:flex;align-items:center;gap:10px;min-width:205px}.ots-package-thumb{width:46px;height:38px;border-radius:8px;background-size:cover;background-position:center;flex:0 0 auto;border:1px solid #eef0f3}.ots-package-thumb.placeholder{display:grid;place-items:center;background:#fff4f5;color:var(--ots-red);font-weight:800}.ots-package-list-table td{padding-top:12px;padding-bottom:12px}.ots-package-editor-form{max-width:1180px}.ots-package-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ots-package-basic-grid .wide{grid-column:span 1}.ots-package-basic-grid .full{grid-column:1/-1}.ots-field-hint{display:block;font-size:9.5px;color:var(--ots-muted);margin-top:5px;font-weight:500}.ots-field-hint a{color:var(--ots-red);font-weight:700}.ots-pricing-matrix{border:1px solid var(--ots-line);border-radius:12px;overflow:hidden}.ots-pricing-head,.ots-pricing-row{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(180px,.8fr) minmax(180px,.8fr);gap:0;align-items:center}.ots-pricing-head{background:#fafbfc;color:#7f8a99;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ots-pricing-head span,.ots-pricing-row>div,.ots-pricing-row>label{padding:12px 14px}.ots-pricing-row{border-top:1px solid var(--ots-line)}.ots-pricing-row>div strong{display:block;color:var(--ots-navy);font-size:11.5px}.ots-pricing-row>div small{display:block;color:var(--ots-muted);font-size:9.5px;margin-top:3px}.ots-pricing-row label{margin:0;position:relative}.ots-pricing-row label span{position:absolute;left:25px;top:23px;color:#8993a1;font-size:10px;font-weight:700}.ots-pricing-row input{padding-left:38px!important}.ots-hotel-addon-list{display:flex;flex-direction:column;gap:9px}.ots-hotel-addon-row{display:grid;grid-template-columns:38px minmax(260px,1fr) minmax(190px,.45fr) 38px;gap:10px;align-items:end;border:1px solid var(--ots-line);background:#fafbfc;border-radius:11px;padding:12px}.ots-hotel-icon{width:36px;height:36px;border-radius:9px;background:#fff1f3;color:var(--ots-red);display:grid;place-items:center;margin-bottom:1px}.ots-hotel-addon-row label{margin:0}.ots-money-input{position:relative}.ots-money-input span{position:absolute;left:11px;top:10px;font-size:10px;color:#8b95a4;font-weight:700}.ots-money-input input{padding-left:36px!important}.ots-addon-remove{width:36px;height:36px;border:1px solid #f3d6da;background:#fff;color:#c93245;border-radius:9px;font-size:20px;cursor:pointer}.ots-inline-info{margin-top:10px;padding:10px 12px;border:1px solid #e8edf3;border-radius:9px;background:#f8fafc;color:#6e7a8d;font-size:10px}.ots-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin:16px 0 24px}.ots-destination-layout{display:grid;grid-template-columns:minmax(300px,.55fr) minmax(0,1.45fr);gap:16px}.ots-destination-layout .ots-form{display:flex;flex-direction:column;gap:11px}.ots-destination-layout .ots-form .ots-btn{align-self:flex-start}.ots-side-nav a[href*="destinations"]{padding-left:28px;font-size:12px}
@media(max-width:900px){.ots-pricing-head,.ots-pricing-row{grid-template-columns:1fr 1fr}.ots-pricing-head span:first-child{grid-column:1/-1}.ots-pricing-row>div{grid-column:1/-1;border-bottom:1px solid #f0f2f4}.ots-hotel-addon-row{grid-template-columns:38px 1fr 38px}.ots-hotel-addon-row label:nth-of-type(2){grid-column:2/3}.ots-destination-layout{grid-template-columns:1fr}.ots-package-basic-grid{grid-template-columns:1fr}.ots-package-basic-grid .full{grid-column:auto}}
@media(max-width:620px){.ots-package-admin-toolbar{align-items:stretch;flex-direction:column}.ots-package-subnav{width:100%}.ots-package-subnav a{flex:1;text-align:center}.ots-hotel-addon-row{grid-template-columns:1fr}.ots-hotel-icon{display:none}.ots-addon-remove{width:100%}.ots-editor-actions{flex-direction:column-reverse}.ots-editor-actions .ots-btn{width:100%}.ots-pricing-head{display:none}.ots-pricing-row{display:block}.ots-pricing-row>div{border-bottom:0}.ots-pricing-row label{display:block;padding-top:5px}.ots-pricing-row label:before{content:attr(data-label);display:block;font-size:9px;color:var(--ots-muted);margin-bottom:5px}}

/* v1.1.8 Package admin + traveller pricing */
.ots-nav-group{display:flex;flex-direction:column;gap:3px}.ots-nav-toggle{width:100%;appearance:none;border:0;background:transparent;display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:9px;color:#566274;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.ots-nav-toggle:hover,.ots-nav-toggle.active{background:#fff1f3;color:var(--ots-red)}.ots-nav-toggle>span:nth-child(2){flex:1}.ots-nav-toggle i{font-style:normal;font-size:12px;transition:transform .2s ease}.ots-nav-group.open .ots-nav-toggle i{transform:rotate(180deg)}.ots-nav-submenu{display:none;margin:1px 0 3px 31px;padding-left:10px;border-left:1px solid #edf0f4}.ots-nav-group.open .ots-nav-submenu{display:flex;flex-direction:column;gap:2px}.ots-nav-submenu a,.ots-side-nav .ots-nav-submenu a[href*="destinations"]{padding:8px 10px!important;border-radius:7px;font-size:11.5px;color:#738094}.ots-nav-submenu a.active{background:#fff1f3;color:var(--ots-red)}
.ots-package-list-card{padding:0;overflow:hidden}.ots-package-filterbar{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(150px,.75fr) minmax(135px,.6fr) minmax(150px,.7fr) auto;gap:10px;align-items:end;padding:16px 18px;border-bottom:1px solid var(--ots-line);background:#fff}.ots-package-filterbar label{margin:0}.ots-package-filterbar label>span{display:block;font-size:9.5px;font-weight:750;color:#7c8797;margin-bottom:5px}.ots-package-filterbar input,.ots-package-filterbar select{width:100%;height:39px;border:1px solid var(--ots-line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ots-text);font-size:11px}.ots-filter-actions{display:flex;gap:7px}.ots-filter-actions .ots-btn{height:39px;padding:0 13px}.ots-list-heading{padding:15px 18px 2px;margin:0}.ots-package-list-card .ots-table-wrap{padding:0 10px 10px}.ots-package-list-table .ots-status.blue{white-space:nowrap}.ots-package-editor-form{max-width:1120px}.ots-package-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ots-package-basic-grid label.full{grid-column:1/-1}.ots-package-basic-grid label{margin:0}.ots-package-editor-form .ots-section-label{font-size:9px}.ots-hotel-addon-row{grid-template-columns:38px minmax(240px,1.2fr) minmax(165px,.55fr) minmax(165px,.55fr) 38px}.ots-hotel-addon-row label:nth-of-type(2),.ots-hotel-addon-row label:nth-of-type(3){min-width:0}
.ots-traveller-config{overflow:visible}.ots-market-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ots-market-option{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--ots-line);border-radius:12px;padding:14px 15px;cursor:pointer;background:#fff;transition:border-color .18s,box-shadow .18s,background .18s}.ots-market-option:hover{border-color:#efbcc3}.ots-market-option input{position:absolute;opacity:0;pointer-events:none}.ots-market-icon{width:42px;height:42px;border-radius:10px;background:#f7f8fa;color:var(--ots-navy);display:grid;place-items:center;font-size:10px;font-weight:850}.ots-market-option>span:nth-of-type(2){flex:1}.ots-market-option strong{display:block;color:var(--ots-navy);font-size:12px}.ots-market-option small{display:block;color:var(--ots-muted);font-size:9.5px;margin-top:3px}.ots-market-option>b{width:21px;height:21px;border-radius:50%;border:1px solid #dce1e7;color:transparent;display:grid;place-items:center;font-size:10px}.ots-market-option:has(input:checked){border-color:#ef6574;background:#fff8f9;box-shadow:0 0 0 2px rgba(223,38,56,.07)}.ots-market-option:has(input:checked) .ots-market-icon{background:#ffe9ec;color:var(--ots-red)}.ots-market-option:has(input:checked)>b{background:var(--ots-red);border-color:var(--ots-red);color:#fff}.ots-pricing-reveal{margin-top:18px;padding-top:17px;border-top:1px solid var(--ots-line)}.ots-pricing-reveal[hidden]{display:none!important}.ots-divider-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.ots-divider-title h3{margin:2px 0 0;color:var(--ots-navy);font-size:14px}.ots-market-badge{padding:5px 9px;border-radius:999px;background:#fff1f3;color:var(--ots-red);font-size:9px;font-weight:800}.ots-pax [data-price-label]{font-size:12px}.ots-addon-choice{margin-top:16px;border-top:1px solid var(--ots-line);padding-top:15px}.ots-addon-check{display:flex;align-items:center;gap:11px;border:1px solid var(--ots-line);border-radius:11px;padding:12px 14px;background:#fafbfc;cursor:pointer;margin:0}.ots-addon-check input{position:absolute;opacity:0}.ots-check-ui{width:22px;height:22px;border-radius:6px;border:1px solid #d7dde5;background:#fff;color:transparent;display:grid;place-items:center;font-size:10px}.ots-addon-check:has(input:checked){border-color:#efc3c9;background:#fff8f9}.ots-addon-check:has(input:checked) .ots-check-ui{background:var(--ots-red);border-color:var(--ots-red);color:#fff}.ots-addon-check strong{display:block;font-size:11.5px;color:var(--ots-navy)}.ots-addon-check small{display:block;font-size:9.5px;color:var(--ots-muted);margin-top:2px}.ots-addon-panel{margin-top:10px;border:1px solid var(--ots-line);border-radius:11px;padding:13px;background:#fff}.ots-addon-panel[hidden]{display:none!important}.ots-addon-panel label{margin:0}.ots-addon-price-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.ots-addon-price-preview>div{padding:10px 11px;border-radius:9px;background:#f8fafc;border:1px solid #edf0f4}.ots-addon-price-preview span{display:block;font-size:9px;color:var(--ots-muted)}.ots-addon-price-preview strong{display:block;font-size:11px;color:var(--ots-navy);margin-top:3px}.ots-addon-summary[hidden]{display:none!important}
@media(max-width:1100px){.ots-package-filterbar{grid-template-columns:1fr 1fr 1fr}.ots-package-filterbar .ots-filter-search{grid-column:1/-1}.ots-filter-actions{align-self:end}.ots-hotel-addon-row{grid-template-columns:38px 1fr 1fr 38px}.ots-hotel-addon-row label:first-of-type{grid-column:2/4}}
@media(max-width:760px){.ots-package-filterbar{grid-template-columns:1fr}.ots-package-filterbar .ots-filter-search{grid-column:auto}.ots-filter-actions .ots-btn{flex:1}.ots-market-options,.ots-addon-price-preview{grid-template-columns:1fr}.ots-hotel-addon-row{grid-template-columns:1fr}.ots-hotel-icon{display:none}.ots-hotel-addon-row label:first-of-type{grid-column:auto}.ots-addon-remove{width:100%}}

/* v1.1.9 Package admin revamp + simplified Adult / Child / Babies pricing */
.ots-package-filterbar-v119{grid-template-columns:minmax(260px,1.5fr) minmax(170px,.8fr) minmax(145px,.65fr) minmax(135px,.6fr) auto}
.ots-package-editor-v119{max-width:1180px}
.ots-editor-section{padding:0;overflow:hidden}
.ots-editor-section-head{padding:18px 20px;margin:0;border-bottom:1px solid var(--ots-line);background:linear-gradient(180deg,#fff,#fdfdfd)}
.ots-editor-section-head h2{font-size:16px!important;letter-spacing:-.01em}
.ots-editor-section-head p{font-size:11px!important;max-width:620px}
.ots-package-details-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;padding:20px}
.ots-package-detail-fields{min-width:0}
.ots-package-basic-grid-v119{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.ots-package-basic-grid-v119 .full{grid-column:1/-1}
.ots-package-basic-grid-v119 label{margin:0;font-size:10px;font-weight:700;color:#5f6b7c}
.ots-package-basic-grid-v119 input,.ots-package-basic-grid-v119 select,.ots-package-basic-grid-v119 textarea{margin-top:6px;width:100%;border:1px solid var(--ots-line);border-radius:9px;background:#fff;color:var(--ots-text);font-size:11px;outline:none;transition:border-color .15s,box-shadow .15s}
.ots-package-basic-grid-v119 input,.ots-package-basic-grid-v119 select{height:41px;padding:0 11px}
.ots-package-basic-grid-v119 textarea{padding:11px;resize:vertical;min-height:96px}
.ots-package-basic-grid-v119 input:focus,.ots-package-basic-grid-v119 select:focus,.ots-package-basic-grid-v119 textarea:focus{border-color:#ef9aa5;box-shadow:0 0 0 3px rgba(223,38,56,.06)}
.ots-optional{font-size:8.5px;color:#97a1ae;font-weight:600;margin-left:3px}
.ots-image-uploader{border:1px solid var(--ots-line);border-radius:12px;background:#fafbfc;padding:11px;align-self:start}
.ots-image-preview{height:190px;border-radius:9px;border:1px dashed #d8dee6;background:#f5f7f9 center/cover no-repeat;display:grid;place-items:center;overflow:hidden;position:relative}
.ots-image-preview.has-image{border-style:solid;background-color:#edf1f5}
.ots-image-preview.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(16,30,52,.08))}
.ots-image-empty{text-align:center;color:#8691a0;padding:18px;position:relative;z-index:1}
.ots-image-preview.has-image .ots-image-empty{display:none}
.ots-image-empty>span{width:42px;height:42px;border-radius:11px;background:#fff;border:1px solid #e5e9ee;display:grid;place-items:center;margin:0 auto 9px;color:var(--ots-red);font-size:18px}
.ots-image-empty strong{display:block;font-size:11px;color:#5d6878}
.ots-image-empty small{display:block;font-size:9px;margin-top:4px}
.ots-image-actions{display:flex;gap:8px;margin-top:10px}
.ots-image-actions .ots-btn{flex:1;height:37px;padding:0 10px;font-size:10.5px}
.ots-upload-button{position:relative;overflow:hidden;cursor:pointer}
.ots-upload-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ots-image-actions button:disabled{opacity:.45;cursor:not-allowed}

.ots-pricing-country-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:16px;padding:20px}
.ots-pricing-country-card{border:1px solid var(--ots-line);border-radius:12px;overflow:hidden;background:#fff}
.ots-pricing-country-card.local{box-shadow:inset 0 3px 0 #df2638}
.ots-pricing-country-card.foreigner{box-shadow:inset 0 3px 0 #5876d8}
.ots-pricing-country-head{display:flex;align-items:center;gap:11px;padding:16px 17px;background:#fafbfc;border-bottom:1px solid var(--ots-line)}
.ots-country-mark{width:42px;height:36px;border-radius:9px;background:#fff1f3;color:var(--ots-red);display:grid;place-items:center;font-size:10px;font-weight:850}
.ots-pricing-country-card.foreigner .ots-country-mark{background:#edf1ff;color:#4f68c7}
.ots-pricing-country-head strong{display:block;font-size:13px;color:var(--ots-navy);line-height:1.2}
.ots-pricing-country-head small{display:block;font-size:10.5px;color:var(--ots-muted);margin-top:3px;line-height:1.35}
.ots-price-field{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 196px;gap:18px;align-items:center;min-height:70px;padding:13px 17px;border-bottom:1px solid #f0f2f4}
.ots-price-field:last-child{border-bottom:0}
.ots-price-type{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:10px;align-items:center;min-width:0}
.ots-price-type i{grid-row:1/3;width:36px;height:36px;border-radius:9px;background:#f7f8fa;color:#5b6678;display:grid;place-items:center;font-style:normal;font-size:10px;font-weight:850}
.ots-price-type b{font-size:12.5px;color:var(--ots-navy);line-height:1.25}
.ots-price-type small{font-size:10.5px;color:var(--ots-muted);margin-top:2px;line-height:1.35}
.ots-money-box{position:relative;display:block;min-width:0}
.ots-money-box em{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-style:normal;font-size:11px;color:#7c8796;font-weight:850;z-index:1;letter-spacing:.01em;white-space:nowrap}
.ots-money-box input{width:100%;height:44px!important;border:1px solid #dfe4ea!important;border-radius:9px!important;padding:0 13px 0 57px!important;margin:0!important;background:#fff!important;font-size:13.5px!important;font-weight:750!important;line-height:44px!important;color:var(--ots-navy)!important;text-align:right!important;font-variant-numeric:tabular-nums;box-shadow:none!important}
.ots-money-box input:focus{border-color:#aeb8c5!important;box-shadow:0 0 0 3px rgba(37,52,72,.06)!important;outline:0!important}
.ots-money-box.is-positive em{color:#17834f}
.ots-money-box.is-positive input{border-color:#cfe8da!important;background:#fbfffd!important}
.ots-money-box.is-positive input:focus{border-color:#66b98b!important;box-shadow:0 0 0 3px rgba(23,131,79,.08)!important}
.ots-money-box.is-negative em{color:#c83c49}
.ots-money-box.is-negative input{border-color:#f0d2d5!important;background:#fffdfd!important}
.ots-money-box.is-negative input:focus{border-color:#dc7780!important;box-shadow:0 0 0 3px rgba(200,60,73,.08)!important}
.ots-money-box.is-neutral em{color:#5f6b7a}
.ots-money-box.is-base em{color:#6f7b8a;font-size:9px}
.ots-money-box.is-base input{padding-left:54px!important;background:#f7f8fa!important;color:#788390!important;font-size:12px!important;font-weight:650!important;cursor:not-allowed}

.ots-hotel-addon-list-v119{padding:18px 20px 6px;gap:10px}
.ots-hotel-addon-row-v119{grid-template-columns:34px minmax(260px,1.25fr) minmax(155px,.55fr) minmax(155px,.55fr) 38px;background:#fff;padding:13px 14px;border-radius:11px;align-items:end}
.ots-hotel-option-number{width:30px;height:36px;border-radius:9px;background:#fff1f3;color:var(--ots-red);display:grid;place-items:center;font-size:10px;font-weight:800}
.ots-hotel-addon-row-v119 label{font-size:9.5px;font-weight:700;color:#657184}
.ots-hotel-addon-row-v119 label>input,.ots-hotel-addon-row-v119 .ots-money-input{margin-top:6px}
.ots-hotel-addon-row-v119 label>input{height:38px;border:1px solid var(--ots-line);border-radius:8px;padding:0 10px;width:100%;font-size:10.5px;color:var(--ots-text)}
.ots-editor-section>.ots-inline-info{margin:7px 20px 18px}

.ots-market-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px;background:#f5f7f9;border:1px solid var(--ots-line);border-radius:12px}
.ots-market-pill{position:relative;display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:9px;background:transparent;cursor:pointer;margin:0;transition:background .18s,box-shadow .18s}
.ots-market-pill input{position:absolute;opacity:0;pointer-events:none}
.ots-market-pill-mark{width:38px;height:34px;border-radius:8px;background:#fff;color:#6c788a;display:grid;place-items:center;font-size:9px;font-weight:850;border:1px solid #e8ebef}
.ots-market-pill-copy{flex:1}
.ots-market-pill-copy strong{display:block;font-size:11.5px;color:var(--ots-navy)}
.ots-market-pill-copy small{display:block;font-size:9px;color:var(--ots-muted);margin-top:2px}
.ots-market-pill-check{width:20px;height:20px;border:1px solid #d9dfe6;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:9px}
.ots-market-pill:has(input:checked){background:#fff;box-shadow:0 2px 8px rgba(24,34,50,.07)}
.ots-market-pill:has(input:checked) .ots-market-pill-mark{background:#fff1f3;color:var(--ots-red);border-color:#f4c8ce}
.ots-market-pill:has(input:checked) .ots-market-pill-check{background:var(--ots-red);border-color:var(--ots-red);color:#fff}
.ots-pax-grid-three{grid-template-columns:repeat(3,1fr)!important}

.ots-addon-choice-v119{border:1px solid var(--ots-line);border-radius:12px;padding:0;margin-top:18px;overflow:hidden;background:#fff}
.ots-addon-choice-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 15px;background:#fafbfc}
.ots-addon-choice-head h3{margin:2px 0 0;font-size:13px;color:var(--ots-navy)}
.ots-addon-choice-head p{margin:3px 0 0;color:var(--ots-muted);font-size:9.5px}
.ots-switch{position:relative;width:42px;height:24px;margin:0;flex:0 0 auto}
.ots-switch input{position:absolute;opacity:0}
.ots-switch span{position:absolute;inset:0;border-radius:999px;background:#dfe4ea;cursor:pointer;transition:.2s}
.ots-switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.15);transition:.2s}
.ots-switch input:checked+span{background:var(--ots-red)}
.ots-switch input:checked+span:after{transform:translateX(18px)}
.ots-addon-panel-v119{margin:0;border:0;border-top:1px solid var(--ots-line);border-radius:0;padding:15px}
.ots-addon-panel-v119>label{display:block;font-size:10px;font-weight:700;color:#657184}
.ots-addon-panel-v119 select{margin-top:6px;width:100%;height:41px;border:1px solid var(--ots-line);border-radius:9px;padding:0 11px;background:#fff;color:var(--ots-text);font-size:11px}
.ots-addon-calc-preview{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:9px;margin-top:11px}
.ots-addon-calc-preview>div{border:1px solid #edf0f4;border-radius:10px;background:#f8fafc;padding:11px 12px}
.ots-addon-calc-preview>div.total{background:#fff6f7;border-color:#f7d4d9}
.ots-addon-calc-preview span{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:9px;color:#778395}
.ots-addon-calc-preview span b{font-size:8.5px;color:#556174;background:#fff;border:1px solid #e8ebef;border-radius:999px;padding:2px 6px}
.ots-addon-calc-preview strong{display:block;margin-top:5px;font-size:13px;color:var(--ots-navy)}
.ots-addon-calc-preview .total strong{color:var(--ots-red)}
.ots-addon-calc-preview small{display:block;margin-top:3px;font-size:8.5px;color:#919ba8}

@media(max-width:1150px){
  .ots-package-filterbar-v119{grid-template-columns:1fr 1fr 1fr}.ots-package-filterbar-v119 .ots-filter-search{grid-column:1/-1}
  .ots-package-details-layout{grid-template-columns:240px minmax(0,1fr)}
  .ots-hotel-addon-row-v119{grid-template-columns:34px 1fr 1fr 38px}.ots-hotel-addon-row-v119 .ots-hotel-name{grid-column:2/4}
}
@media(max-width:850px){
  .ots-package-details-layout{grid-template-columns:1fr}.ots-image-uploader{max-width:430px}
  .ots-pricing-country-grid{grid-template-columns:1fr}
  .ots-addon-calc-preview,.ots-pax-grid-three{grid-template-columns:1fr!important}
}
@media(max-width:680px){
  .ots-package-filterbar-v119{grid-template-columns:1fr}.ots-package-filterbar-v119 .ots-filter-search{grid-column:auto}
  .ots-package-basic-grid-v119{grid-template-columns:1fr}.ots-package-basic-grid-v119 .full{grid-column:auto}
  .ots-market-selector{grid-template-columns:1fr}
  .ots-price-field{grid-template-columns:1fr;gap:9px;min-height:0;padding:13px 14px}.ots-money-box{width:100%}.ots-money-box input{height:46px!important;font-size:14px!important}.ots-price-type b{font-size:13px}.ots-price-type small{font-size:11px}.ots-hotel-addon-row-v119{grid-template-columns:1fr}.ots-hotel-addon-row-v119 .ots-hotel-name{grid-column:auto}.ots-hotel-option-number{display:none}
}


/* v1.2.1 — Typography & readability pass on top of v1.1.9 package revamp.
   IMPORTANT: presentation-only overrides; no v1.1.9 workflow/UI markup is reverted. */
body.ohhsem-system-page{font-size:14px!important;line-height:1.55!important}
.ots-app,.ots-login{font-size:14px;line-height:1.55}

/* Navigation / shell */
.ots-admin-layout{grid-template-columns:236px 1fr}
.ots-side-nav a,.ots-nav-toggle{font-size:14px;line-height:1.35;padding-top:12px;padding-bottom:12px}
.ots-nav-submenu a,.ots-side-nav .ots-nav-submenu a[href*="destinations"]{font-size:12.5px;line-height:1.4;padding-top:9px!important;padding-bottom:9px!important}
.ots-side-icon{font-size:16px}
.ots-support b{font-size:13px}.ots-support span{font-size:12px;line-height:1.55}
.ots-topbar{height:76px}.ots-search input{height:43px;font-size:13.5px}
.ots-user-chip strong{font-size:14px}.ots-user-chip small{font-size:12px}
.ots-breadcrumb{font-size:12px}.ots-title-row h1{font-size:29px;line-height:1.2}.ots-title-row p{font-size:14px;line-height:1.55}
.ots-btn{font-size:14px;min-height:42px;line-height:1.2}

/* Dashboard */
.ots-stat span{font-size:13px}.ots-stat strong{font-size:29px}.ots-stat small{font-size:11.5px;line-height:1.45}
.ots-card-head h2,.ots-card-head h3{font-size:16.5px;line-height:1.35}.ots-card-head p{font-size:12.5px;line-height:1.5}
.ots-link{font-size:12.5px}.ots-datebox b{font-size:15px}.ots-datebox small{font-size:10.5px}.ots-rank{font-size:10.5px}

/* Tables */
.ots-table th{font-size:11.5px;line-height:1.35;padding:12px 10px}
.ots-table td{font-size:13px;line-height:1.45;padding:12px 10px}.ots-table strong{font-size:13px}.ots-table small{font-size:11.5px;line-height:1.45}
.ots-status{font-size:11px;line-height:1.2;padding:5px 9px}.ots-pagination{font-size:12px}

/* Staff package portal */
.ots-public-nav a{font-size:14px}.ots-package-head h1{font-size:30px;line-height:1.2}.ots-package-head p{font-size:13.5px;line-height:1.55}
.ots-filter-row input,.ots-filter-row select{font-size:13.5px;height:43px}.ots-duration-badge{font-size:11px}
.ots-package-body h3{font-size:17px}.ots-package-meta{font-size:12px;line-height:1.45}.ots-package-price small{font-size:11px}.ots-package-price strong{font-size:16px}

/* Booking flow */
.ots-stepper>div{font-size:12px;line-height:1.4}.ots-stepper b{font-size:12px;width:32px;height:32px}.ots-stepper span{font-size:10.5px}
.ots-form label{font-size:12.5px;line-height:1.4}.ots-form input,.ots-form select,.ots-form textarea{font-size:14px;line-height:1.45;min-height:43px;padding:10px 12px}.ots-form textarea{min-height:92px}
.ots-section-label,.ots-package-editor-form .ots-section-label{font-size:11px;line-height:1.35;letter-spacing:.075em}
.ots-field-hint{font-size:11.5px;line-height:1.5}.ots-note{font-size:12.5px;line-height:1.5}.ots-inline-info{font-size:12px;line-height:1.5}
.ots-pax-title{font-size:13px;line-height:1.35}.ots-pax small{font-size:11px;line-height:1.4}.ots-pax strong{font-size:14px}.ots-pax [data-price-label]{font-size:13px}
.ots-counter{grid-template-columns:34px 1fr 34px}.ots-counter button{height:34px;font-size:17px}.ots-counter input{font-size:13px!important}
.ots-summary-card h3{font-size:15px}.ots-summary-line{font-size:12.5px;line-height:1.45;padding:9px 0}.ots-summary-line strong{font-size:13.5px}.ots-summary-total small{font-size:11px}.ots-summary-total strong{font-size:21px}
.ots-passenger-no{font-size:11px;width:29px;height:29px}.ots-passenger-head h3{font-size:14px}.ots-passenger-head p{font-size:11.5px;line-height:1.45}.ots-review-line{font-size:12.5px;line-height:1.45;padding:10px 0}

/* v1.1.9 traveller selector + dynamic hotel add-on */
.ots-market-pill-copy strong{font-size:13.5px}.ots-market-pill-copy small{font-size:11.5px;line-height:1.45}
.ots-market-pill-mark{font-size:11.5px}.ots-market-pill-check{font-size:11px}
.ots-market-badge{font-size:11px}.ots-divider-title h3{font-size:15.5px}
.ots-addon-choice-head h3{font-size:15.5px}.ots-addon-choice-head p{font-size:12px;line-height:1.45}
.ots-addon-calc-preview span{font-size:11.5px}.ots-addon-calc-preview strong{font-size:14px}.ots-addon-calc-preview small{font-size:11px;line-height:1.4}

/* Login */
.ots-login-card p{font-size:13.5px;line-height:1.55}.ots-login-card label{font-size:12.5px}

/* Detail screens */
.ots-detail-summary span{font-size:11.5px}.ots-detail-summary strong{font-size:13px}.ots-detail-lines span{font-size:12px}.ots-detail-lines strong{font-size:12.5px}
.ots-flight-pair span{font-size:11px}.ots-flight-pair strong{font-size:14px}.ots-flight-pair small{font-size:11.5px;line-height:1.5}

/* Customer hub */
.ots-customer-avatar{font-size:13px}.ots-customer-avatar.small{font-size:11px}.ots-customer-info-grid span{font-size:12px}.ots-customer-info-grid strong{font-size:14px}

/* Package administration — keep v1.1.9 structure */
.ots-package-subnav a{font-size:12.5px}.ots-package-filterbar label>span{font-size:11.5px}
.ots-package-filterbar input,.ots-package-filterbar select{font-size:13px;height:42px}.ots-filter-actions .ots-btn{height:42px}
.ots-pricing-head{font-size:11px}.ots-pricing-row>div strong{font-size:13px}.ots-pricing-row>div small{font-size:11.5px;line-height:1.45}.ots-pricing-row label span{font-size:11.5px;top:24px}
.ots-money-input span{font-size:11.5px;top:11px}
.ots-hotel-addon-row label{font-size:12px}.ots-hotel-option-number{font-size:12px}.ots-addon-remove{font-size:17px}
.ots-package-image-card strong{font-size:13px}.ots-package-image-card small{font-size:11.5px;line-height:1.45}

/* Placeholder readability */
.ots-app input::placeholder,.ots-app textarea::placeholder,.ots-login input::placeholder{font-size:inherit;color:#9aa3af}

@media(max-width:980px){.ots-admin-layout{grid-template-columns:220px 1fr}.ots-title-row h1{font-size:27px}}
@media(max-width:760px){
  body.ohhsem-system-page,.ots-app,.ots-login{font-size:14px}
  .ots-title-row h1,.ots-package-head h1{font-size:25px}
  .ots-table th{font-size:11px}.ots-table td{font-size:12.5px}
  .ots-form label{font-size:12.5px}.ots-form input,.ots-form select,.ots-form textarea{font-size:16px}
  .ots-btn{font-size:14px}
}


/* v1.2.2 — Package & PIC staff UX refinement */
.ots-package-choice-card{padding:22px}.ots-package-hero{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);gap:22px;align-items:stretch}.ots-booking-package-image{min-height:190px;border-radius:13px;background-size:cover;background-position:center;border:1px solid #edf0f4;box-shadow:0 7px 22px rgba(22,35,61,.06)}.ots-package-hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}.ots-package-kicker{display:inline-flex;font-size:12px;line-height:1.25;color:var(--ots-red);font-weight:850;margin-bottom:7px}.ots-package-hero-copy h2{margin:0;color:var(--ots-navy);font-size:25px;line-height:1.15;letter-spacing:-.025em}.ots-package-hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.ots-package-hero-meta span{min-width:145px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #edf0f4;color:var(--ots-navy);font-size:13px;font-weight:750}.ots-package-hero-meta b{display:block;margin-bottom:3px;color:#8792a2;font-size:10px;text-transform:uppercase;letter-spacing:.035em}.ots-itinerary-btn{margin-top:14px}.ots-departure-picker{margin-top:20px;padding-top:18px;border-top:1px solid var(--ots-line)}.ots-departure-picker-title{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.ots-departure-picker-title strong{font-size:13.5px;color:var(--ots-navy)}.ots-departure-picker-title span{font-size:11px;color:var(--ots-muted)}.ots-departure-scroll-wrap{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:9px;align-items:stretch}.ots-departure-strip{display:flex;gap:9px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:1px}.ots-departure-strip::-webkit-scrollbar{display:none}.ots-departure-choice{position:relative;flex:0 0 190px;min-height:66px;border:1px solid #e0e4ea;border-radius:9px;background:#fff;padding:11px 12px;display:flex!important;align-items:flex-start;gap:9px;cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}.ots-departure-choice input{position:absolute;opacity:0;pointer-events:none}.ots-departure-calendar{width:21px;height:21px;border-radius:6px;background:#f5f7fa;color:#24324a;display:grid;place-items:center;font-size:10px;flex:0 0 auto}.ots-departure-copy{min-width:0}.ots-departure-copy strong{display:block;font-size:11.5px;line-height:1.3;color:var(--ots-navy);white-space:nowrap}.ots-departure-copy small{display:block;margin-top:4px;font-size:10px;color:#7f8a99;font-weight:600}.ots-departure-choice:hover{border-color:#efafb8}.ots-departure-choice:has(input:checked){border-color:#ff5367;background:#fff8f9;box-shadow:0 0 0 1px rgba(223,38,56,.05)}.ots-departure-choice:has(input:checked) .ots-departure-calendar,.ots-departure-choice:has(input:checked) .ots-departure-copy strong{color:var(--ots-red)}.ots-departure-choice:has(input:checked) .ots-departure-copy small{color:#d92d43}.ots-departure-choice.is-full{opacity:.48;cursor:not-allowed;background:#fafbfc}.ots-departure-next{width:42px;border:1px solid #dfe3e8;border-radius:50%;background:#fff;color:var(--ots-navy);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(22,35,61,.06)}.ots-departure-next:hover{border-color:#efafb8;color:var(--ots-red)}.ots-empty-inline{display:flex;align-items:center;color:var(--ots-muted);font-size:11px;padding:12px}.ots-contact-card{margin-top:14px}.ots-contact-grid{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:12px}.ots-contact-grid label{font-size:11.5px}.ots-contact-grid input{font-size:13px;min-height:43px}.ots-package-pic-form .ots-section-title{font-size:19px}.ots-package-pic-form .ots-section-sub{font-size:11.5px}.ots-package-pic-form .ots-change-link{font-size:11.5px}.ots-package-pic-form .ots-form label{font-size:11.5px}
@media(max-width:900px){.ots-package-hero{grid-template-columns:220px minmax(0,1fr)}.ots-contact-grid{grid-template-columns:1fr 1fr}.ots-contact-grid label:last-child{grid-column:1/-1}}
@media(max-width:760px){.ots-package-hero{grid-template-columns:1fr}.ots-booking-package-image{min-height:220px}.ots-package-hero-copy h2{font-size:22px}.ots-package-hero-meta{width:100%}.ots-package-hero-meta span{flex:1}.ots-departure-scroll-wrap{grid-template-columns:minmax(0,1fr) 38px}.ots-departure-choice{flex-basis:170px}.ots-contact-grid{grid-template-columns:1fr}.ots-contact-grid label:last-child{grid-column:auto}.ots-departure-picker-title{align-items:flex-start;flex-direction:column;gap:3px}}

/* v1.2.3 — Flights admin UX */
.ots-title-action-row{display:flex;justify-content:flex-end;align-items:center;margin:-4px 0 14px}.ots-flight-list-card{padding:0;overflow:visible}.ots-flight-filterbar{display:grid;grid-template-columns:minmax(260px,1.45fr) minmax(170px,.85fr) minmax(160px,.8fr) minmax(135px,.65fr) minmax(165px,.75fr) auto;gap:10px;align-items:end;padding:18px;border-bottom:1px solid var(--ots-line);background:#fff;border-radius:13px 13px 0 0}.ots-flight-filterbar label{margin:0}.ots-flight-filterbar label>span{display:block;font-size:12px;font-weight:750;color:#6f7a8b;margin-bottom:6px}.ots-flight-filterbar input,.ots-flight-filterbar select{width:100%;height:43px;border:1px solid var(--ots-line);border-radius:9px;padding:0 11px;background:#fff;color:var(--ots-text);font-size:13px}.ots-flight-filterbar input:focus,.ots-flight-filterbar select:focus{outline:0;border-color:#f098a2;box-shadow:0 0 0 3px rgba(226,31,55,.07)}.ots-flight-filterbar .ots-filter-actions{display:flex;gap:7px}.ots-flight-filterbar .ots-btn{height:43px;padding:0 14px}.ots-flight-list-card .ots-list-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 18px 8px}.ots-flight-list-card .ots-list-heading h2{margin:0;color:var(--ots-navy);font-size:17px}.ots-flight-list-card .ots-list-heading p{margin:4px 0 0;color:var(--ots-muted);font-size:12px}.ots-flight-list-card .ots-table-wrap{padding:0 10px 12px}.ots-flight-list-table th{font-size:11.5px}.ots-flight-list-table td{font-size:13px;padding-top:13px;padding-bottom:13px}.ots-flight-list-table strong{font-size:13px}.ots-flight-list-table small{font-size:11.5px;line-height:1.4}.ots-return-flight-no{margin-top:4px!important}.ots-flight-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:31px;border:1px solid var(--ots-line);border-radius:7px;padding:0 9px;font-size:11.5px!important}.ots-flight-actions a:first-child{color:#344054}.ots-flight-actions a:last-child{color:var(--ots-red);border-color:#f5c8ce}.ots-flight-actions a+a{border-left:1px solid #f5c8ce;padding-left:9px}.ots-flight-actions a:hover{text-decoration:none;background:#fff7f8}.ots-empty-state{padding:42px 24px;text-align:center;color:var(--ots-muted)}.ots-empty-state strong{display:block;color:var(--ots-navy);font-size:15px;margin-bottom:6px}.ots-empty-state span{font-size:12px}

.ots-flight-editor{max-width:1180px}.ots-flight-setup-card{margin-bottom:16px}.ots-flight-setup-grid{display:grid;grid-template-columns:minmax(360px,1.45fr) minmax(180px,.55fr) minmax(190px,.6fr);gap:14px;align-items:start}.ots-flight-editor label{display:block;margin:0;color:#344054;font-size:12.5px;font-weight:750}.ots-flight-editor label>small{display:block;margin-top:6px;color:#8b95a5;font-size:11px;font-weight:500;line-height:1.45}.ots-flight-editor input,.ots-flight-editor select{width:100%;height:44px;border:1px solid var(--ots-line);border-radius:9px;background:#fff;padding:0 12px;margin-top:7px;color:var(--ots-text);font-size:13.5px}.ots-flight-editor input:focus,.ots-flight-editor select:focus{outline:0;border-color:#f08c98;box-shadow:0 0 0 3px rgba(226,31,55,.07)}.ots-required{color:var(--ots-red)}.ots-flight-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ots-flight-leg-card{padding:20px}.ots-flight-leg-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:start;margin-bottom:18px}.ots-flight-leg-icon{width:42px;height:42px;border-radius:11px;background:#fff0f2;color:var(--ots-red);display:grid;place-items:center;font-size:19px;font-weight:800}.ots-flight-leg-head h2{margin:2px 0 3px;color:var(--ots-navy);font-size:18px}.ots-flight-leg-head p{margin:0;color:var(--ots-muted);font-size:11.5px}.ots-flight-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.ots-flight-form-grid .span-2{grid-column:1/-1}.ots-flight-copy{border:1px solid #f1c8ce;background:#fff7f8;color:var(--ots-red);border-radius:8px;padding:8px 10px;font-size:10.5px;font-weight:800;cursor:pointer;white-space:nowrap}.ots-flight-copy:hover{background:#fff0f2}.ots-flight-info{margin:0 0 16px}.ots-editor-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.ots-editor-actions .ots-btn{min-width:126px}

.ots-search-select{position:relative;margin-top:7px}.ots-search-select-trigger{width:100%;height:44px;border:1px solid var(--ots-line);border-radius:9px;background:#fff;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ots-text);font-size:13.5px;text-align:left;cursor:pointer}.ots-search-select-trigger:hover{border-color:#cfd5dd}.ots-search-select-trigger b{font-size:14px;color:#8d97a5}.ots-search-select.open .ots-search-select-trigger{border-color:#ef8b97;box-shadow:0 0 0 3px rgba(226,31,55,.07)}.ots-search-select-menu{position:absolute;z-index:70;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #dfe3e8;border-radius:11px;box-shadow:0 16px 45px rgba(22,35,61,.14);overflow:hidden}.ots-search-select-search{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--ots-line);background:#fafbfc}.ots-search-select-search span{color:#8d97a5}.ots-search-select-search input{margin:0!important;height:38px!important;background:#fff!important}.ots-search-select-options{max-height:290px;overflow:auto;padding:6px}.ots-search-select-option{width:100%;border:0;background:#fff;border-radius:8px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:var(--ots-text)}.ots-search-select-option:hover,.ots-search-select-option.selected{background:#fff4f5}.ots-search-select-option strong{display:block;font-size:12.5px;color:var(--ots-navy)}.ots-search-select-option small{display:block;margin-top:3px;color:var(--ots-muted);font-size:10.5px}.ots-search-select-option em{font-style:normal;font-size:9px;font-weight:800;color:#b42318;background:#ffefef;border-radius:999px;padding:4px 7px}.ots-search-select-empty{padding:18px;text-align:center;color:var(--ots-muted);font-size:11.5px}

.ots-flight-detail-summary i{display:block!important;margin-top:4px;color:var(--ots-muted);font-size:10.5px}.ots-flight-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ots-flight-detail-leg{position:relative;padding:22px}.ots-flight-leg-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0f2;color:var(--ots-red);font-size:10px;font-weight:850;letter-spacing:.04em}.ots-flight-detail-airline{display:flex;align-items:center;gap:12px;margin:18px 0}.ots-flight-detail-airline h2{margin:0 0 3px;color:var(--ots-navy);font-size:18px}.ots-flight-detail-airline strong{color:#667085;font-size:13px}.ots-flight-route-display{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;background:#fafbfc;border:1px solid var(--ots-line);border-radius:11px;padding:15px}.ots-flight-route-display>div:last-child{text-align:right}.ots-flight-route-display span,.ots-flight-date-display span{display:block;color:var(--ots-muted);font-size:10.5px;margin-bottom:4px}.ots-flight-route-display strong{font-size:20px;color:var(--ots-navy)}.ots-flight-route-display>b{color:#98a2b3}.ots-flight-date-display{margin-top:12px;border-top:1px solid #f0f2f4;padding-top:13px}.ots-flight-date-display strong{font-size:13px;color:var(--ots-navy)}

@media(max-width:1250px){.ots-flight-filterbar{grid-template-columns:1fr 1fr 1fr}.ots-flight-filter-search{grid-column:1/-1}.ots-flight-setup-grid{grid-template-columns:1fr 1fr}.ots-flight-package-field{grid-column:1/-1}.ots-flight-editor-grid{grid-template-columns:1fr}}
@media(max-width:760px){.ots-title-action-row .ots-btn{width:100%}.ots-flight-filterbar{grid-template-columns:1fr}.ots-flight-filter-search{grid-column:auto}.ots-flight-filterbar .ots-filter-actions .ots-btn{flex:1}.ots-flight-setup-grid,.ots-flight-form-grid,.ots-flight-detail-grid{grid-template-columns:1fr}.ots-flight-package-field,.ots-flight-form-grid .span-2{grid-column:auto}.ots-flight-leg-head{grid-template-columns:42px 1fr}.ots-flight-copy{grid-column:1/-1}.ots-editor-actions{flex-direction:column-reverse}.ots-editor-actions .ots-btn{width:100%}.ots-search-select-menu{position:fixed;left:15px;right:15px;top:20%;max-height:65vh}}

/* v1.2.4 — live AJAX flight filtering + package search */
.ots-flight-results{transition:opacity .16s ease;min-height:100px;position:relative}.ots-flight-results.is-loading{opacity:.5;pointer-events:none}.ots-flight-results.is-loading:after{content:"";position:absolute;top:16px;right:18px;width:17px;height:17px;border:2px solid #f0c7cc;border-top-color:var(--ots-red);border-radius:50%;animation:otsSpin .7s linear infinite}.ots-flight-filterbar.is-loading select,.ots-flight-filterbar.is-loading input{cursor:progress}.ots-flight-filterbar .ots-filter-actions{align-self:end}.ots-flight-filterbar .ots-filter-actions .ots-btn{min-width:76px}.ots-search-select-loading,.ots-search-select-placeholder{padding:17px 14px;color:var(--ots-muted);font-size:12px;text-align:center}.ots-search-select-loading.error{color:#b42318}.ots-search-select-menu .ots-search-select-options{min-height:52px}@keyframes otsSpin{to{transform:rotate(360deg)}}

/* v1.2.6 — Flights destination filter + OHHSEM month picker */
.ots-flight-month-filter{position:relative}.ots-month-picker{position:relative}.ots-month-trigger{width:100%;height:43px;border:1px solid var(--ots-line);border-radius:9px;background:#fff;color:var(--ots-text);padding:0 11px;display:flex;align-items:center;gap:8px;cursor:pointer;font:inherit;text-align:left}.ots-month-trigger:hover{border-color:#d8dde5}.ots-month-picker.open .ots-month-trigger{border-color:#f098a2;box-shadow:0 0 0 3px rgba(226,31,55,.07)}.ots-month-trigger-icon{width:20px;height:20px;border-radius:6px;background:#fff0f2;color:var(--ots-red);display:grid;place-items:center;font-size:11px;font-weight:900}.ots-month-trigger [data-flight-month-label]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.ots-month-trigger b{font-size:13px;color:#98a2b3;transition:transform .16s ease}.ots-month-picker.open .ots-month-trigger b{transform:rotate(180deg)}
.ots-month-popover{position:absolute;z-index:90;right:0;top:calc(100% + 7px);width:306px;padding:12px;background:#fff;border:1px solid #e7eaf0;border-radius:13px;box-shadow:0 16px 42px rgba(16,24,40,.14)}.ots-month-popover[hidden]{display:none!important}.ots-month-head{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:7px;margin-bottom:10px}.ots-month-head strong{text-align:center;font-size:14px;color:var(--ots-navy)}.ots-month-head button{height:34px;border:1px solid var(--ots-line);border-radius:8px;background:#fff;color:#475467;font-size:20px;line-height:1;cursor:pointer}.ots-month-head button:hover{background:#fff7f8;color:var(--ots-red);border-color:#f3c6cc}.ots-month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.ots-month-cell{height:36px;border:1px solid transparent;border-radius:8px;background:#f8fafc;color:#344054;font-size:12px;font-weight:700;cursor:pointer}.ots-month-cell:hover{background:#fff0f2;color:var(--ots-red)}.ots-month-cell.current{border-color:#e4e7ec;background:#fff}.ots-month-cell.selected{background:var(--ots-red);color:#fff;border-color:var(--ots-red);box-shadow:0 4px 11px rgba(226,31,55,.18)}.ots-month-foot{display:flex;justify-content:space-between;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid #eef0f3}.ots-month-foot button{border:0;background:transparent;padding:5px 2px;color:#667085;font-size:11.5px;font-weight:750;cursor:pointer}.ots-month-foot button:hover{color:var(--ots-red)}
@media(max-width:760px){.ots-month-popover{position:fixed;left:18px;right:18px;top:22%;width:auto;max-width:none}.ots-month-grid{grid-template-columns:repeat(3,1fr)}.ots-month-cell{height:42px}}

/* v1.2.7 — Mobile app shell + admin dashboard responsive UX */
.ots-mobile-appbar,.ots-mobile-bottom-nav,.ots-mobile-overlay,.ots-mobile-close,.ots-mobile-quick-actions{display:none}
.ots-sidebar-mobile-head{display:block}

@media(max-width:760px){
  body.ohhsem-system-page{background:#f5f6f8!important;overscroll-behavior-y:auto}
  body.ohhsem-system-page.ots-nav-lock{overflow-y:hidden!important;touch-action:pan-y pinch-zoom!important}
  .ots-admin-layout{display:block!important;min-height:100dvh;padding-bottom:0;background:#f5f6f8}
  .ots-admin-content{min-width:0;width:100%}

  /* Native-app style top bar */
  .ots-topbar{display:none!important}
  .ots-mobile-appbar{display:flex;position:sticky;top:0;z-index:85;min-height:calc(62px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0;align-items:center;gap:12px;background:rgba(255,255,255,.96);border-bottom:1px solid #e9ecf0;backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px)}
  .ots-mobile-menu{width:40px;height:40px;border:0;border-radius:12px;background:#f7f8fa;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;flex:0 0 auto}
  .ots-mobile-menu span{width:17px;height:2px;border-radius:2px;background:#27364d;display:block}
  .ots-mobile-appbar-copy{min-width:0;flex:1;line-height:1.12}
  .ots-mobile-appbar-copy small{display:block;color:#929cab;font-size:10.5px;font-weight:650;margin-bottom:4px}
  .ots-mobile-appbar-copy strong{display:block;color:var(--ots-navy);font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-mobile-avatar{width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:#ffe7ea;color:var(--ots-red)!important;font-size:12px;font-weight:850;text-decoration:none;flex:0 0 auto}

  /* Off-canvas app drawer */
  .ots-sidebar{display:flex!important;position:fixed!important;left:0;top:0;bottom:0;z-index:130;width:min(86vw,320px);height:100dvh!important;padding:calc(14px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));border:0;border-right:1px solid #e7eaf0;background:#fff;box-shadow:16px 0 46px rgba(18,31,53,.17);transform:translate3d(-105%,0,0);transition:transform .24s cubic-bezier(.2,.75,.25,1);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .ots-admin-layout.mobile-nav-open .ots-sidebar{transform:translate3d(0,0,0)}
  .ots-sidebar-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
  .ots-sidebar-logo{padding:5px 8px 10px!important;display:block}
  .ots-sidebar-logo img{width:145px!important}
  .ots-mobile-close{display:grid;width:38px;height:38px;place-items:center;border:1px solid #e9ecf0;border-radius:11px;background:#fff;color:#586577;font-size:24px;line-height:1;flex:0 0 auto}
  .ots-side-nav{display:flex!important;grid-template-columns:none!important;flex-direction:column!important;gap:5px}
  .ots-side-nav>a,.ots-nav-toggle{min-height:46px!important;border-radius:12px!important;font-size:14px!important;padding:12px 13px!important}
  .ots-nav-submenu{padding-left:38px}
  .ots-nav-submenu a{font-size:13px!important;min-height:38px;display:flex;align-items:center}
  .ots-support{display:block!important;margin-top:16px;border-radius:14px;padding:14px}
  .ots-mobile-overlay{display:block;position:fixed;inset:0;z-index:120;border:0;background:rgba(12,20,34,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
  .ots-admin-layout.mobile-nav-open .ots-mobile-overlay{opacity:1;visibility:visible;pointer-events:auto}

  /* Content */
  .ots-main{width:100%;max-width:none!important;margin:0!important;padding:16px 13px calc(92px + env(safe-area-inset-bottom))!important}
  .ots-breadcrumb{display:none!important}
  .ots-title-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:11px!important;margin:2px 1px 16px!important}
  .ots-title-row h1{font-size:24px!important;line-height:1.15!important;letter-spacing:-.025em;margin:0 0 5px!important}
  .ots-title-row p{font-size:13px!important;line-height:1.48!important;color:#7b8797!important;max-width:34em}
  .ots-title-row>.ots-btn,.ots-title-action-row .ots-btn{width:100%;min-height:46px;border-radius:12px}
  .ots-card{border-radius:16px!important;padding:15px!important;margin-bottom:12px!important;box-shadow:0 4px 18px rgba(22,35,61,.045)!important}
  .ots-card-head{align-items:flex-start!important;margin-bottom:12px!important}
  .ots-card-head h2,.ots-card-head h3{font-size:16px!important}
  .ots-card-head p{font-size:12px!important}

  /* Dashboard metric cards */
  .ots-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-bottom:12px!important}
  .ots-stat{min-width:0;border-radius:16px!important;padding:14px!important;box-shadow:0 4px 16px rgba(22,35,61,.045)!important}
  .ots-stat-top{gap:6px!important}
  .ots-stat span{font-size:11.5px!important;line-height:1.3!important}
  .ots-stat strong{font-size:clamp(20px,5.5vw,27px)!important;line-height:1.08!important;margin-top:7px!important;letter-spacing:-.025em;overflow-wrap:anywhere}
  .ots-stat small{font-size:10px!important;line-height:1.35!important;margin-top:7px!important}
  .ots-stat-icon{width:31px!important;height:31px!important;border-radius:9px!important;font-size:11px!important;flex:0 0 auto}

  /* Quick action strip behaves like an app home screen */
  .ots-mobile-quick-actions{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 -13px 13px;padding:1px 13px 4px}
  .ots-mobile-quick-actions::-webkit-scrollbar{display:none}
  .ots-mobile-quick-actions a{flex:0 0 148px;scroll-snap-align:start;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;border:1px solid #e9ecf0;background:#fff;border-radius:15px;padding:12px;color:var(--ots-navy)!important;text-decoration:none;box-shadow:0 3px 13px rgba(22,35,61,.035)}
  .ots-mobile-quick-icon{grid-row:1/3;width:38px;height:38px;border-radius:11px;background:#fff0f2;color:var(--ots-red);display:grid;place-items:center;font-size:17px;font-weight:800}
  .ots-mobile-quick-actions strong{font-size:12px;line-height:1.25;white-space:nowrap}
  .ots-mobile-quick-actions small{font-size:9.5px;line-height:1.25;color:#8b95a4;white-space:nowrap}

  .ots-dashboard-grid{display:flex!important;flex-direction:column!important;gap:0!important}
  .ots-chart{height:160px!important;border-radius:10px;overflow:hidden}

  /* Recent bookings: convert the desktop table into tappable app cards */
  .ots-dashboard-grid .ots-table-wrap{overflow:visible!important}
  .ots-dashboard-grid .ots-table{min-width:0!important;display:block}
  .ots-dashboard-grid .ots-table thead{display:none}
  .ots-dashboard-grid .ots-table tbody{display:flex;flex-direction:column;gap:8px}
  .ots-dashboard-grid .ots-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;border:1px solid #edf0f4;border-radius:13px;background:#fafbfc;padding:11px 12px}
  .ots-dashboard-grid .ots-table td{display:block!important;border:0!important;padding:0!important;font-size:12px!important;min-width:0}
  .ots-dashboard-grid .ots-table td:nth-child(1){grid-column:1;grid-row:1}.ots-dashboard-grid .ots-table td:nth-child(1) strong{font-size:12.5px!important}
  .ots-dashboard-grid .ots-table td:nth-child(5){grid-column:2;grid-row:1;text-align:right;align-self:start}
  .ots-dashboard-grid .ots-table td:nth-child(2){grid-column:1/-1;grid-row:2;font-weight:750;color:#344054;margin-top:2px}
  .ots-dashboard-grid .ots-table td:nth-child(3){grid-column:1;grid-row:3;color:#7b8797;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .ots-dashboard-grid .ots-table td:nth-child(4){grid-column:2;grid-row:3;text-align:right;font-weight:800;color:var(--ots-navy);white-space:nowrap}
  .ots-dashboard-grid .ots-table tr:has(td[colspan]){display:block;text-align:center;color:#8994a3}

  .ots-departure-list{gap:8px!important}
  .ots-departure-item{grid-template-columns:48px minmax(0,1fr) auto!important;gap:10px!important;padding:9px 0!important;border-bottom:1px solid #f0f2f4!important}
  .ots-departure-item>div:nth-child(2) strong{font-size:12px!important;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-departure-item>div:nth-child(2) small{font-size:10.5px!important;margin-top:3px!important}
  .ots-departure-item .ots-status{font-size:9.5px!important;padding:5px 7px!important;white-space:nowrap}
  .ots-datebox{border-radius:10px!important;padding:7px 4px!important}
  .ots-datebox b{font-size:15px!important}.ots-datebox small{font-size:9px!important}
  .ots-package-rank{padding:9px 0!important}.ots-package-rank strong{font-size:12px!important}.ots-package-rank small{font-size:10px!important}

  /* Generic admin lists/forms remain usable on a phone */
  .ots-table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .ots-admin-layout .ots-table{min-width:720px}
  .ots-flight-list-card,.ots-package-list-card{border-radius:16px!important;overflow:hidden}
  .ots-flight-list-card .ots-table-wrap{padding-bottom:10px!important}
  .ots-flight-filterbar,.ots-package-filterbar-v119,.ots-package-filterbar{border-radius:16px!important;padding:14px!important;gap:10px!important}
  .ots-flight-filterbar input,.ots-flight-filterbar select,.ots-package-filterbar input,.ots-package-filterbar select{min-height:46px!important;font-size:16px!important;border-radius:11px!important}
  .ots-flight-editor input,.ots-flight-editor select,.ots-form input,.ots-form select,.ots-form textarea{font-size:16px!important}

  /* Fixed bottom navigation with iPhone safe-area support */
  .ots-mobile-bottom-nav{display:grid;position:fixed;z-index:100;left:10px;right:10px;bottom:calc(9px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);min-height:64px;padding:6px;border:1px solid rgba(226,230,236,.95);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(15,28,48,.15);backdrop-filter:saturate(155%) blur(16px);-webkit-backdrop-filter:saturate(155%) blur(16px)}
  .ots-mobile-bottom-nav a,.ots-mobile-bottom-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;border-radius:14px;color:#8490a1!important;text-decoration:none;padding:5px 3px;font-family:inherit}
  .ots-mobile-bottom-nav span{font-size:17px;line-height:1.05}.ots-mobile-bottom-nav small{font-size:9.5px;font-weight:750;line-height:1.2;white-space:nowrap}
  .ots-mobile-bottom-nav a.active{background:#fff1f3;color:var(--ots-red)!important}
  .ots-mobile-bottom-nav button:active,.ots-mobile-bottom-nav a:active{transform:scale(.97)}
}

@media(max-width:390px){
  .ots-main{padding-left:11px!important;padding-right:11px!important}
  .ots-stats{gap:8px!important}.ots-stat{padding:12px!important}.ots-stat strong{font-size:20px!important}.ots-stat-icon{width:28px!important;height:28px!important}
  .ots-mobile-bottom-nav{left:7px;right:7px;bottom:calc(7px + env(safe-area-inset-bottom))}
  .ots-mobile-quick-actions{margin-left:-11px;margin-right:-11px;padding-left:11px;padding-right:11px}
}
.ots-mobile-user-card{display:none}
@media(max-width:760px){
  .ots-mobile-user-card{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;gap:10px;align-items:center;margin:2px 2px 13px;padding:11px;border:1px solid #edf0f4;border-radius:14px;background:#fafbfc}
  .ots-mobile-user-card .ots-avatar{width:42px;height:42px;font-size:12px}
  .ots-mobile-user-card strong{display:block;font-size:13px;color:var(--ots-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-mobile-user-card small{display:block;margin-top:2px;font-size:10.5px;color:#8994a3}
  .ots-mobile-user-card>a{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff;border:1px solid #e7eaf0;color:#7c8796!important;text-decoration:none;font-size:15px}
}


/* v1.2.8 — Mobile admin polish: branded app header + app-style list cards */
@media(max-width:760px){
  /* Branded mobile app bar — logo-first, similar to a native social app */
  .ots-mobile-appbar{display:flex!important;min-height:calc(60px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) 13px 0!important;justify-content:space-between!important;gap:12px!important}
  .ots-mobile-brand{display:flex;align-items:center;min-width:0;height:60px;flex:1}
  .ots-mobile-brand img{display:block;width:132px;max-width:46vw;height:auto;max-height:36px;object-fit:contain;object-position:left center}
  .ots-mobile-appbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
  .ots-mobile-menu{width:38px!important;height:38px!important;border-radius:50%!important;background:#f4f6f8!important;border:1px solid #edf0f3!important}
  .ots-mobile-menu span{width:16px!important}
  .ots-mobile-avatar{width:38px!important;height:38px!important;box-shadow:inset 0 0 0 1px #ffd7dc}
  .ots-mobile-appbar-copy{display:none!important}

  /* Home is information-first; no create shortcuts on the mobile dashboard. */
  .ots-mobile-quick-actions{display:none!important}
  .ots-page-dashboard .ots-title-row{margin-top:0!important;margin-bottom:14px!important}
  .ots-page-dashboard .ots-title-row h1{font-size:23px!important}
  .ots-page-dashboard .ots-title-row p{font-size:12.5px!important;line-height:1.4!important}
  .ots-page-dashboard .ots-stat small{display:none!important}
  .ots-page-dashboard .ots-stat{min-height:104px!important;display:flex;align-items:stretch}
  .ots-page-dashboard .ots-stat-top{width:100%}
  .ots-page-dashboard .ots-stat strong{margin-top:9px!important}
  .ots-page-dashboard .ots-chart{height:145px!important}

  /* App-like overall rhythm */
  .ots-main{padding:14px 12px calc(90px + env(safe-area-inset-bottom))!important}
  .ots-title-row{margin-bottom:14px!important}
  .ots-title-row h1{font-size:23px!important}
  .ots-title-row p{font-size:12.5px!important;line-height:1.45!important}
  .ots-card{padding:14px!important;border-radius:15px!important}
  .ots-card-head{gap:10px!important}
  .ots-card-head h2,.ots-card-head h3{font-size:16px!important;line-height:1.25!important}
  .ots-card-head p{font-size:11.5px!important;line-height:1.4!important}
  .ots-link{font-size:12px!important;min-height:36px;display:inline-flex;align-items:center}
  .ots-status{font-size:10.5px!important;padding:5px 8px!important}
  .ots-badge{font-size:10.5px!important;padding:5px 8px!important}

  /* Comfortable form controls and filtering on phones */
  .ots-filters{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-bottom:13px!important}
  .ots-filters input,.ots-filters select{width:100%!important;height:46px!important;font-size:16px!important;border-radius:11px!important;padding:0 12px!important}
  .ots-form input,.ots-form select,.ots-form textarea,.ots-flight-editor input,.ots-flight-editor select{min-height:46px;font-size:16px!important;border-radius:11px!important}
  .ots-form textarea{min-height:104px}
  .ots-form label,.ots-flight-editor label{font-size:12.5px!important;line-height:1.35}
  .ots-btn{min-height:44px!important;border-radius:11px!important;font-size:13.5px!important;padding:10px 14px!important}
  .ots-row-actions{gap:7px!important;flex-wrap:wrap}
  .ots-row-actions a,.ots-flight-actions a{min-height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 11px!important;border:1px solid #e5e9ee!important;border-radius:9px!important;background:#fff!important;font-size:11.5px!important}
  .ots-pagination{flex-direction:column!important;align-items:flex-start!important;gap:10px!important;font-size:11.5px!important}
  .ots-pagination-pages span{width:34px!important;height:34px!important;border-radius:9px!important}

  /* Major admin listings become stacked cards instead of wide desktop tables. */
  .ots-admin-layout .ots-flight-list-table,
  .ots-admin-layout .ots-package-list-table,
  .ots-admin-layout .ots-booking-list-table,
  .ots-admin-layout .ots-customer-list-table,
  .ots-admin-layout .ots-payment-list-table,
  .ots-admin-layout .ots-destination-list-table,
  .ots-admin-layout .ots-staff-list-table{min-width:0!important;width:100%!important;display:block!important}
  .ots-flight-list-table thead,.ots-package-list-table thead,.ots-booking-list-table thead,.ots-customer-list-table thead,.ots-payment-list-table thead,.ots-destination-list-table thead,.ots-staff-list-table thead{display:none!important}
  .ots-flight-list-table tbody,.ots-package-list-table tbody,.ots-booking-list-table tbody,.ots-customer-list-table tbody,.ots-payment-list-table tbody,.ots-destination-list-table tbody,.ots-staff-list-table tbody{display:flex!important;flex-direction:column!important;gap:10px!important}
  .ots-flight-list-table tr,.ots-package-list-table tr,.ots-booking-list-table tr,.ots-customer-list-table tr,.ots-payment-list-table tr,.ots-destination-list-table tr,.ots-staff-list-table tr{display:block!important;border:1px solid #e9edf2!important;border-radius:14px!important;background:#fff!important;padding:5px 12px!important;box-shadow:0 3px 12px rgba(20,32,52,.035)!important}
  .ots-flight-list-table td,.ots-package-list-table td,.ots-booking-list-table td,.ots-customer-list-table td,.ots-payment-list-table td,.ots-destination-list-table td,.ots-staff-list-table td{display:grid!important;grid-template-columns:106px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;width:100%!important;padding:9px 0!important;border:0!important;border-bottom:1px solid #f0f2f5!important;font-size:12.5px!important;text-align:right!important;min-width:0!important;word-break:break-word}
  .ots-flight-list-table td:last-child,.ots-package-list-table td:last-child,.ots-booking-list-table td:last-child,.ots-customer-list-table td:last-child,.ots-payment-list-table td:last-child,.ots-destination-list-table td:last-child,.ots-staff-list-table td:last-child{border-bottom:0!important}
  .ots-flight-list-table td::before,.ots-package-list-table td::before,.ots-booking-list-table td::before,.ots-customer-list-table td::before,.ots-payment-list-table td::before,.ots-destination-list-table td::before,.ots-staff-list-table td::before{font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.035em!important;color:#939dab!important;text-align:left!important;align-self:start!important;padding-top:2px}
  .ots-flight-list-table td>* ,.ots-package-list-table td>* ,.ots-booking-list-table td>* ,.ots-customer-list-table td>* ,.ots-payment-list-table td>* ,.ots-destination-list-table td>* ,.ots-staff-list-table td>*{justify-self:end;max-width:100%}
  .ots-flight-list-table td strong,.ots-package-list-table td strong,.ots-booking-list-table td strong,.ots-customer-list-table td strong,.ots-payment-list-table td strong,.ots-destination-list-table td strong,.ots-staff-list-table td strong{font-size:13px!important}
  .ots-flight-list-table td small,.ots-package-list-table td small,.ots-booking-list-table td small,.ots-customer-list-table td small,.ots-payment-list-table td small{font-size:11px!important}

  .ots-flight-list-table td:nth-child(1)::before{content:'Flight'}.ots-flight-list-table td:nth-child(2)::before{content:'Route'}.ots-flight-list-table td:nth-child(3)::before{content:'Package'}.ots-flight-list-table td:nth-child(4)::before{content:'Departure'}.ots-flight-list-table td:nth-child(5)::before{content:'Return'}.ots-flight-list-table td:nth-child(6)::before{content:'Seats'}.ots-flight-list-table td:nth-child(7)::before{content:'Status'}.ots-flight-list-table td:nth-child(8)::before{content:'Action'}
  .ots-package-list-table td:nth-child(1)::before{content:'Package'}.ots-package-list-table td:nth-child(2)::before{content:'Duration'}.ots-package-list-table td:nth-child(3)::before{content:'Adult'}.ots-package-list-table td:nth-child(4)::before{content:'Child'}.ots-package-list-table td:nth-child(5)::before{content:'Babies'}.ots-package-list-table td:nth-child(6)::before{content:'Hotel Add-ons'}.ots-package-list-table td:nth-child(7)::before{content:'Departures'}.ots-package-list-table td:nth-child(8)::before{content:'Status'}.ots-package-list-table td:nth-child(9)::before{content:'Action'}
  .ots-booking-list-table td:nth-child(1)::before{content:'Booking ID'}.ots-booking-list-table td:nth-child(2)::before{content:'Customer'}.ots-booking-list-table td:nth-child(3)::before{content:'Package'}.ots-booking-list-table td:nth-child(4)::before{content:'Departure'}.ots-booking-list-table td:nth-child(5)::before{content:'Pax'}.ots-booking-list-table td:nth-child(6)::before{content:'Payment'}.ots-booking-list-table td:nth-child(7)::before{content:'Status'}.ots-booking-list-table td:nth-child(8)::before{content:'Action'}
  .ots-customer-list-table td:nth-child(1)::before{content:'Customer'}.ots-customer-list-table td:nth-child(2)::before{content:'Contact'}.ots-customer-list-table td:nth-child(3)::before{content:'Bookings'}.ots-customer-list-table td:nth-child(4)::before{content:'Registered Pax'}.ots-customer-list-table td:nth-child(5)::before{content:'Booking Value'}.ots-customer-list-table td:nth-child(6)::before{content:'Last Booking'}.ots-customer-list-table td:nth-child(7)::before{content:'Action'}
  .ots-payment-list-table td:nth-child(1)::before{content:'Booking'}.ots-payment-list-table td:nth-child(2)::before{content:'Customer'}.ots-payment-list-table td:nth-child(3)::before{content:'Type'}.ots-payment-list-table td:nth-child(4)::before{content:'Method'}.ots-payment-list-table td:nth-child(5)::before{content:'Reference'}.ots-payment-list-table td:nth-child(6)::before{content:'Amount'}.ots-payment-list-table td:nth-child(7)::before{content:'Date'}
  .ots-destination-list-table td:nth-child(1)::before{content:'Destination'}.ots-destination-list-table td:nth-child(2)::before{content:'State / Region'}.ots-destination-list-table td:nth-child(3)::before{content:'Country'}.ots-destination-list-table td:nth-child(4)::before{content:'Packages'}.ots-destination-list-table td:nth-child(5)::before{content:'Status'}
  .ots-staff-list-table td:nth-child(1)::before{content:'Staff'}.ots-staff-list-table td:nth-child(2)::before{content:'Email'}.ots-staff-list-table td:nth-child(3)::before{content:'Role'}

  /* Editors and detail screens */
  .ots-package-details-layout{padding:14px!important;gap:14px!important}
  .ots-pricing-country-grid{padding:14px!important;gap:11px!important}
  .ots-price-field{padding:12px 13px!important;gap:9px!important}
  .ots-hotel-addon-list-v119{padding:14px 14px 5px!important}
  .ots-hotel-addon-row-v119{padding:12px!important}
  .ots-editor-section-head{padding:15px!important}
  .ots-editor-section-head h2{font-size:17px!important}
  .ots-editor-section-head p{font-size:12px!important;line-height:1.45!important}
  .ots-image-preview{height:210px!important}
  .ots-booking-card{padding:15px!important;border-radius:15px!important}
  .ots-review-box{padding:13px!important}
  .ots-review-line{font-size:12px!important;gap:10px!important}

  /* Bottom tab bar feels less like a floating website widget. */
  .ots-mobile-bottom-nav{left:8px!important;right:8px!important;bottom:calc(7px + env(safe-area-inset-bottom))!important;min-height:62px!important;border-radius:18px!important;padding:5px!important}
  .ots-mobile-bottom-nav a,.ots-mobile-bottom-nav button{min-height:50px!important;border-radius:13px!important;gap:3px!important}
  .ots-mobile-bottom-nav span{font-size:18px!important}.ots-mobile-bottom-nav small{font-size:10px!important;font-weight:800!important}
}

@media(max-width:390px){
  .ots-mobile-brand img{width:119px;max-width:43vw}
  .ots-main{padding-left:10px!important;padding-right:10px!important}
  .ots-stats{gap:8px!important}
  .ots-stat{padding:12px!important}
  .ots-admin-layout .ots-flight-list-table td,.ots-admin-layout .ots-package-list-table td,.ots-admin-layout .ots-booking-list-table td,.ots-admin-layout .ots-customer-list-table td,.ots-admin-layout .ots-payment-list-table td,.ots-admin-layout .ots-destination-list-table td,.ots-admin-layout .ots-staff-list-table td{grid-template-columns:92px minmax(0,1fr)!important}
}


/* v1.2.9 — Mobile shell polish: static logo header + edge-to-edge app tab bar */
@media(max-width:760px){
  html,body.ohhsem-system-page{max-width:100%;overflow-x:hidden}
  body.ohhsem-system-page{-webkit-tap-highlight-color:transparent}

  /* Header belongs to the page flow (not sticky) and carries branding only. */
  .ots-mobile-appbar{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
    min-height:calc(62px + env(safe-area-inset-top))!important;
    padding:env(safe-area-inset-top) 15px 0!important;
    justify-content:flex-start!important;
    background:#fff!important;
    border-bottom:1px solid #e9ecf0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .ots-mobile-brand{height:62px!important;flex:0 1 auto!important}
  .ots-mobile-brand img{width:136px!important;max-width:52vw!important;max-height:38px!important}
  .ots-mobile-appbar-actions,.ots-mobile-menu,.ots-mobile-avatar{display:none!important}

  /* Give content enough clearance for a true fixed app tab bar. */
  .ots-main{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}

  /* Full-width bottom navigation, flush to the physical bottom edge. */
  .ots-mobile-bottom-nav{
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    min-height:calc(66px + env(safe-area-inset-bottom))!important;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    border-top:1px solid #e5e8ed!important;
    border-radius:18px 18px 0 0!important;
    background:#fff!important;
    box-shadow:0 -8px 28px rgba(15,28,48,.10)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .ots-mobile-bottom-nav a,.ots-mobile-bottom-nav button{
    min-height:52px!important;
    border-radius:12px!important;
    touch-action:manipulation;
  }
  .ots-mobile-bottom-nav a.active{background:#fff1f3!important}
}
@media(max-width:390px){
  .ots-mobile-brand img{width:126px!important;max-width:50vw!important}
  .ots-mobile-bottom-nav{padding-left:5px!important;padding-right:5px!important}
}

/* v1.3.0 — Mobile navigation drawer: right edge + full-height app sheet */
@media(max-width:760px){
  /* Drawer is anchored to the physical right edge and spans the full viewport height. */
  .ots-sidebar{
    left:auto!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    border-left:1px solid #e7eaf0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:-16px 0 46px rgba(18,31,53,.17)!important;
    transform:translate3d(105%,0,0)!important;
    padding-top:calc(14px + env(safe-area-inset-top))!important;
    padding-bottom:calc(20px + env(safe-area-inset-bottom))!important;
  }
  .ots-admin-layout.mobile-nav-open .ots-sidebar{
    transform:translate3d(0,0,0)!important;
  }

  /* Keep the sheet visually continuous right up to the top screen edge. */
  .ots-sidebar-mobile-head{
    margin-top:0!important;
  }
  .ots-mobile-overlay{
    inset:0!important;
  }
}

/* v1.3.1 — OHHSEM unified application icon system */
.ots-svg-icon{width:20px;height:20px;display:block;flex:0 0 auto;overflow:visible}
.ots-side-icon{width:30px!important;height:30px;display:grid!important;place-items:center;text-align:center!important;border-radius:9px;background:#f7f8fa;color:#667386;transition:background .16s ease,color .16s ease,transform .16s ease;flex:0 0 30px}
.ots-side-icon .ots-svg-icon{width:18px;height:18px}
.ots-side-nav>a:hover .ots-side-icon,.ots-nav-toggle:hover .ots-side-icon{background:#f0f2f5;color:var(--ots-navy)}
.ots-side-nav>a.active .ots-side-icon,.ots-nav-toggle.active .ots-side-icon,.ots-nav-group.open .ots-nav-toggle .ots-side-icon{background:#ffe7ea;color:var(--ots-red)}
.ots-nav-toggle>i{width:22px;height:22px;display:grid;place-items:center;margin-left:auto;color:#9aa4b2;transition:transform .2s ease,color .16s ease}
.ots-nav-toggle>i .ots-svg-icon{width:16px;height:16px}
.ots-nav-group.open .ots-nav-toggle>i{color:var(--ots-red)}
.ots-sub-icon{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#f8f9fb;color:#8792a2;flex:0 0 22px}
.ots-sub-icon .ots-svg-icon{width:13px;height:13px}
.ots-nav-submenu a{gap:8px!important}
.ots-nav-submenu a.active .ots-sub-icon{background:#ffe7ea;color:var(--ots-red)}

/* Header/search icons */
.ots-search:before{display:none!important}
.ots-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;color:#8e99a8;pointer-events:none}
.ots-search-icon .ots-svg-icon{width:18px;height:18px}
.ots-icon-btn{transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.ots-icon-btn .ots-svg-icon{width:18px;height:18px}
.ots-icon-btn:hover{background:#fff4f5;border-color:#f0cbd0;color:var(--ots-red);transform:translateY(-1px)}

/* Dashboard KPI icons */
.ots-stat-icon{width:38px!important;height:38px!important;border-radius:11px!important;background:#fff1f3!important;color:var(--ots-red)!important;display:grid!important;place-items:center!important;font-style:normal!important}
.ots-stat-icon .ots-svg-icon{width:19px;height:19px}

/* Flight editor / selector icons */
.ots-flight-leg-icon .ots-svg-icon{width:21px;height:21px}
.ots-search-select-trigger b{width:22px;height:22px;display:grid;place-items:center;color:#8d97a5}
.ots-search-select-trigger b .ots-svg-icon{width:16px;height:16px}
.ots-search-select-search>span{display:grid;place-items:center;width:24px;height:24px;color:#8d97a5;flex:0 0 24px}
.ots-search-select-search>span .ots-svg-icon{width:17px;height:17px}
.ots-month-trigger-icon{font-size:0!important}
.ots-month-trigger-icon .ots-svg-icon{width:14px;height:14px}
.ots-month-trigger>b{width:20px;height:20px;display:grid;place-items:center}
.ots-month-trigger>b .ots-svg-icon{width:15px;height:15px}
.ots-month-head button{display:grid!important;place-items:center!important}
.ots-month-head button .ots-svg-icon{width:16px;height:16px}

/* Drawer utility icons */
.ots-mobile-close{font-size:0!important}
.ots-mobile-close .ots-svg-icon{width:19px;height:19px}
.ots-mobile-user-card>a{font-size:0!important}
.ots-mobile-user-card>a .ots-svg-icon{width:17px;height:17px}

/* Mobile app bottom navigation */
.ots-mobile-bottom-nav span{display:grid;place-items:center;line-height:1!important}
.ots-mobile-bottom-nav span .ots-svg-icon{width:21px;height:21px}
.ots-mobile-bottom-nav a.active span .ots-svg-icon{stroke-width:2.15}

@media(max-width:760px){
  .ots-side-nav>a,.ots-nav-toggle{gap:10px!important}
  .ots-side-icon{width:32px!important;height:32px!important;flex-basis:32px}
  .ots-side-icon .ots-svg-icon{width:19px;height:19px}
  .ots-nav-submenu{padding-left:42px!important}
  .ots-mobile-bottom-nav span .ots-svg-icon{width:22px;height:22px}
  .ots-mobile-bottom-nav a.active span{color:var(--ots-red)}
}

/* Icon cleanup inside admin package / flight tools */
.ots-package-thumb.placeholder .ots-svg-icon{width:18px;height:18px}
.ots-image-empty>span .ots-svg-icon{width:20px;height:20px}
.ots-airline-mark .ots-svg-icon{width:14px;height:14px}
.ots-addon-remove{display:grid!important;place-items:center!important;font-size:0!important}
.ots-addon-remove .ots-svg-icon{width:17px;height:17px}


/* v1.3.4 — Compact document verification UI */
.ots-doc-upload-wrap{display:grid;gap:10px;align-content:start}
.ots-upload-box strong{font-size:15px!important;color:#243247!important;font-weight:800}
.ots-upload-box span{font-size:13px;color:#687386;margin-top:5px}
.ots-upload-box small{font-size:12px;line-height:1.5;color:#8b95a5;margin-top:5px;max-width:310px}
.ots-doc-scan-status{border:1px solid #e7eaf0;border-radius:13px;background:#fbfcfe;padding:11px 12px;transition:.2s ease}
.ots-doc-scan-main{display:flex;align-items:center;gap:10px;min-width:0}
.ots-scan-dot{width:10px;height:10px;border-radius:999px;background:#8fa0b5;box-shadow:0 0 0 4px rgba(143,160,181,.12);flex:0 0 auto}
.ots-doc-scan-copy{min-width:0;flex:1}.ots-doc-scan-copy strong{display:block;font-size:13px;line-height:1.25;color:#243247}.ots-doc-scan-copy small{display:block;font-size:11px;line-height:1.4;color:#7d8796;margin-top:2px;white-space:normal}
.ots-scan-badge{font-size:10px;font-weight:800;border-radius:999px;padding:5px 8px;background:#eef1f5;color:#667085;white-space:nowrap}
.ots-scan-progress{height:4px;border-radius:999px;background:#edf0f4;overflow:hidden;margin-top:9px}.ots-scan-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:#df2638;transition:width .22s ease}
.ots-doc-scan-status.is-checking{border-color:#dfe6f2;background:#fbfdff}.ots-doc-scan-status.is-checking .ots-scan-dot{background:#5676bb;box-shadow:0 0 0 4px rgba(86,118,187,.12)}.ots-doc-scan-status.is-checking .ots-scan-badge{background:#eef3ff;color:#4565a9}
.ots-doc-scan-status.is-pass{border-color:#d6ecdf;background:#fbfffc}.ots-doc-scan-status.is-pass .ots-scan-dot{background:#1e9a5b;box-shadow:0 0 0 4px rgba(30,154,91,.12)}.ots-doc-scan-status.is-pass .ots-scan-badge{background:#e8f8ef;color:#16834c}.ots-doc-scan-status.is-pass .ots-scan-progress>span{background:#1e9a5b}
.ots-doc-scan-status.is-warn{border-color:#f0dfb5;background:#fffdf8}.ots-doc-scan-status.is-warn .ots-scan-dot{background:#d3961e;box-shadow:0 0 0 4px rgba(211,150,30,.13)}.ots-doc-scan-status.is-warn .ots-scan-badge{background:#fff4dc;color:#986400}.ots-doc-scan-status.is-warn .ots-scan-progress>span{background:#d3961e}
.ots-doc-scan-status.is-fail{border-color:#f0ccd1;background:#fffafb}.ots-doc-scan-status.is-fail .ots-scan-dot{background:#d83b4d;box-shadow:0 0 0 4px rgba(216,59,77,.12)}.ots-doc-scan-status.is-fail .ots-scan-badge{background:#ffe9eb;color:#c42d3a}.ots-doc-scan-status.is-fail .ots-scan-progress>span{background:#d83b4d}
.ots-btn.is-disabled,.ots-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}
.ots-toast-stack{position:fixed;right:18px;bottom:18px;z-index:999999;display:grid;gap:10px;width:min(380px,calc(100vw - 28px));pointer-events:none}
.ots-toast{pointer-events:auto;display:grid;grid-template-columns:12px 1fr 28px;gap:10px;align-items:start;background:#fff;border:1px solid #e5e9ef;border-radius:14px;padding:13px 12px;box-shadow:0 14px 40px rgba(24,35,52,.18);opacity:0;transform:translateY(10px) scale(.985);transition:.18s ease}.ots-toast.is-visible{opacity:1;transform:none}.ots-toast.is-leaving{opacity:0;transform:translateY(8px)}
.ots-toast-icon{width:10px;height:10px;border-radius:999px;background:#6480a8;margin-top:4px;box-shadow:0 0 0 4px rgba(100,128,168,.11)}.ots-toast strong{display:block;font-size:13px;line-height:1.3;color:#202b3c}.ots-toast small{display:block;font-size:11px;line-height:1.45;color:#6f7a8a;margin-top:2px}.ots-toast button{border:0;background:transparent;color:#9aa3b1;font-size:20px;line-height:20px;cursor:pointer;padding:0}
.ots-toast.is-success{border-color:#d9ecdf}.ots-toast.is-success .ots-toast-icon{background:#1e9a5b;box-shadow:0 0 0 4px rgba(30,154,91,.11)}.ots-toast.is-warning{border-color:#f0dfb5}.ots-toast.is-warning .ots-toast-icon{background:#d3961e;box-shadow:0 0 0 4px rgba(211,150,30,.12)}.ots-toast.is-error{border-color:#f0ccd1}.ots-toast.is-error .ots-toast-icon{background:#d83b4d;box-shadow:0 0 0 4px rgba(216,59,77,.11)}
@media(max-width:760px){.ots-upload-box strong{font-size:15px!important}.ots-upload-box span{font-size:13px}.ots-upload-box small{font-size:12px}.ots-doc-scan-status{padding:11px}.ots-doc-scan-copy strong{font-size:13px}.ots-doc-scan-copy small{font-size:12px}.ots-toast-stack{right:10px;bottom:76px;width:calc(100vw - 20px)}.ots-toast{border-radius:13px}}


/* v1.3.8 — Passenger verification readability and verified-state polish */
.ots-passenger-body{align-items:start}
.ots-passenger-fields{align-content:start;align-items:start;grid-auto-rows:max-content}
.ots-passenger-fields>label{min-width:0;margin:0;font-size:12px;line-height:1.35;color:#4f5d70}
.ots-passenger-fields input,.ots-passenger-fields select{min-height:44px;font-size:14px;font-weight:650}
.ots-passenger-card.is-verified{border-color:#cfe8da;box-shadow:0 4px 14px rgba(30,154,91,.045)}
.ots-passenger-card.is-verified .ots-passenger-head{background:#fbfffc;border-bottom-color:#dceee4}
.ots-passenger-card.is-review{border-color:#ead9ad}
.ots-passenger-card.is-review .ots-passenger-head{background:#fffdf8;border-bottom-color:#f0e4c4}
.ots-passenger-card.is-verified .ots-upload-box{min-height:100px;border-style:solid;border-color:#d4eadf;background:#fbfffc;justify-content:flex-start;align-items:flex-start;text-align:left;padding:13px}
.ots-passenger-card.is-review .ots-upload-box{min-height:108px;border-color:#ead9ad;background:#fffdf8}
.ots-passenger-card.is-verified .ots-upload-box small{margin-top:3px;color:#5f816e}
.ots-passenger-card.is-verified .ots-doc-scan-status{padding:9px 10px;border-radius:10px}
.ots-passenger-card.is-verified .ots-doc-scan-copy small{display:none}
.ots-passenger-card.is-verified .ots-scan-progress{height:3px;margin-top:7px}
.ots-passenger-card.is-verified .ots-auto-tag{color:#27865a;background:#edf9f2;border-radius:999px;padding:2px 6px;font-size:9px}
.ots-passenger-card.is-review .ots-auto-tag{color:#9a6c10;background:#fff6df;border-radius:999px;padding:2px 6px;font-size:9px}
.ots-upload-box input[type=file]{width:100%;font-size:11px!important;color:#586678}
.ots-upload-box input[type=file]::file-selector-button{border:1px solid #d9dfe7;border-radius:8px;background:#fff;color:#243247;padding:7px 10px;margin-right:8px;font-weight:750;cursor:pointer}
.ots-upload-box input[type=file]::file-selector-button:hover{border-color:#ef9aa5;background:#fff8f9}
@media(max-width:900px){.ots-passenger-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ots-passenger-fields{grid-template-columns:1fr}.ots-passenger-body{gap:11px;padding:12px}.ots-passenger-card.is-verified .ots-upload-box,.ots-passenger-card.is-review .ots-upload-box{min-height:auto}}

/* v1.4.4 — Customer payment link automation */
.ots-payment-request-active,.ots-payment-request-form{border:1px solid #e5e8ee}
.ots-payment-request-amount{display:flex;flex-direction:column;gap:4px;padding:14px 0;border-top:1px solid #eef0f3;border-bottom:1px solid #eef0f3;margin:12px 0}.ots-payment-request-amount span{font-size:12px;color:#788394;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ots-payment-request-amount strong{font-size:28px;color:#1f2d40;line-height:1.1}.ots-payment-request-amount small,.ots-muted{font-size:11px;color:#7d8795;line-height:1.45}
.ots-payment-link-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin:12px 0}.ots-payment-link-box input{min-width:0;height:44px;border:1px solid #dfe4eb;border-radius:10px;background:#f8fafc;padding:0 12px;font-size:12px;color:#586577}
.ots-paid-card{text-align:center;padding:22px}.ots-paid-card h3{margin:8px 0 3px;font-size:18px}.ots-paid-card p{margin:0;color:#758092;font-size:13px}
.ots-public-payment{min-height:100vh;background:#f5f6f8;padding:36px 18px 56px;display:flex;flex-direction:column;align-items:center;justify-content:center}.ots-payment-public-brand{width:min(520px,100%);margin:0 auto 15px}.ots-payment-public-brand img{height:36px;width:auto;display:block}.ots-payment-public-card{width:min(520px,100%);background:#fff;border:1px solid #e7e9ee;border-radius:20px;padding:28px;box-shadow:0 20px 48px rgba(30,40,55,.08)}.ots-payment-public-card h1{font-size:25px;line-height:1.18;color:#1f2d40;margin:7px 0 8px}.ots-payment-public-card>p{font-size:13px;color:#738093;margin:0 0 20px;line-height:1.55}.ots-payment-public-summary{border:1px solid #eaedf1;border-radius:13px;overflow:hidden}.ots-payment-public-summary>div{display:flex;justify-content:space-between;gap:18px;padding:11px 13px;border-bottom:1px solid #edf0f3}.ots-payment-public-summary>div:last-child{border-bottom:0}.ots-payment-public-summary span{font-size:12px;color:#7a8594}.ots-payment-public-summary strong{font-size:12px;color:#243247;text-align:right}.ots-payment-public-total{margin:18px 0;padding:17px;border-radius:14px;background:#fff5f6;border:1px solid #f4d9dd}.ots-payment-public-total span,.ots-payment-public-total small{display:block;color:#7e6970;font-size:11px}.ots-payment-public-total strong{display:block;color:#d9263a;font-size:30px;line-height:1.15;margin:4px 0}.ots-test-gateway-note{display:flex;flex-direction:column;gap:3px;padding:12px 13px;border-radius:11px;background:#fff9e9;border:1px solid #f1e2b8;margin:0 0 13px}.ots-test-gateway-note strong{font-size:12px;color:#765715}.ots-test-gateway-note span{font-size:11px;line-height:1.45;color:#8c7441}.ots-payment-public-button{width:100%;min-height:48px;font-size:14px}.ots-payment-success-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e8f7ee;color:#168950;font-size:25px;font-weight:800;margin-bottom:14px}.ots-payment-public-foot{font-size:11px;color:#9aa2ae;margin:14px 0 0;text-align:center}
@media(max-width:600px){.ots-public-payment{padding:22px 12px 40px;justify-content:flex-start}.ots-payment-public-brand{margin-top:12px}.ots-payment-public-card{border-radius:16px;padding:20px}.ots-payment-public-card h1{font-size:22px}.ots-payment-public-summary>div{align-items:flex-start}.ots-payment-link-box{grid-template-columns:1fr}.ots-payment-link-box .ots-btn{width:100%}}

/* v1.4.5 — Role-specific Staff Dashboard & own-booking editing */
.ots-staff-dashboard{display:grid;gap:18px}
.ots-staff-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px 0 2px}
.ots-staff-welcome h1{margin:3px 0 5px;font-size:28px;line-height:1.12;color:#1f2d40;letter-spacing:-.025em}
.ots-staff-welcome p{margin:0;color:#788394;font-size:13px;line-height:1.55}
.ots-staff-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.ots-staff-kpi{background:#fff;border:1px solid #e7eaf0;border-radius:16px;padding:16px;display:flex;gap:13px;align-items:flex-start;box-shadow:0 4px 16px rgba(26,39,58,.035)}
.ots-kpi-icon{width:38px;height:38px;border-radius:11px;background:#fff0f2;color:#d92539;display:grid;place-items:center;flex:0 0 auto}.ots-kpi-icon .ots-svg-icon{width:19px;height:19px}.ots-kpi-icon.success{background:#ebf8f0;color:#168850}.ots-kpi-icon.warning{background:#fff5df;color:#b27708}.ots-kpi-icon.money{background:#eef4ff;color:#4567a7}
.ots-staff-kpi small{display:block;color:#778396;font-size:11px;font-weight:750}.ots-staff-kpi strong{display:block;color:#1e2b3d;font-size:24px;line-height:1.08;margin:3px 0}.ots-staff-kpi p{margin:0;color:#99a2ae;font-size:10.5px;line-height:1.35}
.ots-staff-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:16px;align-items:start}.ots-staff-side-stack{display:grid;gap:16px}
.ots-staff-booking-list{display:grid}.ots-staff-booking-row{padding:14px 0;border-top:1px solid #eef1f4;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(180px,.8fr) auto;gap:16px;align-items:center}.ots-staff-booking-row:first-child{border-top:0;padding-top:4px}.ots-staff-booking-main{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,1fr);gap:16px;min-width:0}.ots-staff-booking-main strong,.ots-staff-booking-package b{display:block;color:#273447;font-size:12.5px}.ots-staff-booking-main span,.ots-staff-booking-package small{display:block;margin-top:3px;color:#8691a0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-staff-payment-track{min-width:0}.ots-staff-payment-track>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.ots-staff-payment-track span,.ots-staff-payment-track small{font-size:10.5px;color:#8791a1}.ots-staff-payment-track strong{font-size:10.5px;color:#3d4a5c}.ots-staff-payment-track .ots-progressbar{margin:6px 0 4px;height:5px}
.ots-staff-booking-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;white-space:nowrap}.ots-staff-booking-actions>a{font-size:11px;font-weight:750;color:#596779;text-decoration:none}.ots-staff-booking-actions>a.primary{color:var(--ots-red)}
.ots-staff-attention-list,.ots-staff-upcoming-list{display:grid}.ots-staff-attention-list>a,.ots-staff-upcoming-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #eef1f4;text-decoration:none;color:inherit}.ots-staff-attention-list>a:first-child,.ots-staff-upcoming-list>a:first-child{border-top:0;padding-top:2px}.ots-staff-attention-list strong,.ots-staff-upcoming-list strong{display:block;color:#2a3749;font-size:11.5px}.ots-staff-attention-list small,.ots-staff-upcoming-list small{display:block;color:#8792a2;font-size:10.5px;margin-top:2px}.ots-staff-attention-list>a>b,.ots-staff-upcoming-list>a>b{font-size:19px;color:#a6afbb;font-weight:500}.ots-attention-dot{width:9px;height:9px;border-radius:50%;background:#7691bc;box-shadow:0 0 0 4px rgba(118,145,188,.11)}.ots-attention-dot.warning{background:#d39a22;box-shadow:0 0 0 4px rgba(211,154,34,.12)}.ots-empty-mini{font-size:11px;color:#8c96a4;padding:7px 0 2px}
.ots-staff-detail-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.ots-staff-edit-form .ots-booking-detail-grid{align-items:start}.ots-staff-locked-summary .ots-muted{display:block;margin-top:12px}.ots-staff-locked-summary{position:sticky;top:18px}
.ots-staff-mobile-nav{display:none}

@media(max-width:1050px){.ots-staff-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ots-staff-dashboard-grid{grid-template-columns:1fr}.ots-staff-side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.ots-staff-booking-row{grid-template-columns:minmax(0,1fr) minmax(190px,.7fr) auto}}
@media(max-width:760px){
  .ots-public-header{position:static!important;min-height:60px;padding:12px 15px!important;justify-content:flex-start!important;border-bottom:1px solid #eaedf1}.ots-public-brand img{height:29px!important;width:auto!important}.ots-public-nav,.ots-public-user{display:none!important}.ots-public-main{padding:16px 14px calc(88px + env(safe-area-inset-bottom))!important}.ots-staff-dashboard{gap:14px}.ots-staff-welcome{align-items:flex-start}.ots-staff-welcome h1{font-size:24px}.ots-staff-welcome p{font-size:12.5px}.ots-staff-welcome>.ots-btn{display:none}.ots-staff-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ots-staff-kpi{padding:13px 12px;border-radius:14px;gap:9px}.ots-kpi-icon{width:34px;height:34px}.ots-staff-kpi strong{font-size:21px}.ots-staff-kpi p{display:none}.ots-staff-side-stack{grid-template-columns:1fr}.ots-staff-booking-row{grid-template-columns:1fr;gap:11px;padding:14px 0}.ots-staff-booking-main{grid-template-columns:1fr 1fr;gap:10px}.ots-staff-payment-track{background:#fafbfc;border-radius:10px;padding:9px 10px}.ots-staff-booking-actions{justify-content:flex-start}.ots-staff-detail-actions{width:100%;justify-content:flex-start}.ots-staff-detail-actions .ots-btn{flex:1;justify-content:center}.ots-staff-locked-summary{position:static}.ots-staff-mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:99990;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #e5e8ed;padding:7px 5px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(24,36,54,.07)}.ots-staff-mobile-nav a{min-height:47px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#7b8696;font-size:10px;font-weight:700;border-radius:10px}.ots-staff-mobile-nav a span{display:grid;place-items:center}.ots-staff-mobile-nav .ots-svg-icon{width:20px;height:20px}.ots-staff-mobile-nav a.active{color:var(--ots-red);background:#fff5f6}.ots-staff-mobile-nav small{font-size:9.5px;font-weight:750}.ots-field-grid{grid-template-columns:1fr!important}.ots-booking-detail-grid{grid-template-columns:1fr!important}}
@media(max-width:430px){.ots-staff-kpi{display:block}.ots-kpi-icon{margin-bottom:8px}.ots-staff-booking-main{grid-template-columns:1fr}.ots-staff-booking-actions .ots-status{margin-right:auto}}

/* v1.4.6 — Staff dashboard aligned with the Admin application UI */
.ots-stat-icon-green{background:#e9f8f2!important;color:#16825c!important}
.ots-stat-icon-amber{background:#fff4da!important;color:#b47608!important}
.ots-stat-icon-blue{background:#eaf0ff!important;color:#3d63c9!important}
.ots-staff-admin-dashboard .ots-card{margin-bottom:16px}
.ots-staff-dashboard-table .ots-row-actions{flex-wrap:wrap}
.ots-staff-dashboard-actions a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:29px;border:1px solid var(--ots-line);border-radius:7px;padding:0 8px!important;color:#344054!important;font-size:11px!important}
.ots-staff-dashboard-actions a:last-child{color:var(--ots-red)!important;border-color:#f5c8ce}
.ots-staff-dashboard-actions a:hover{background:#fff7f8;text-decoration:none}
.ots-page-profile .ots-main>.ots-card{max-width:780px}
@media(max-width:720px){
  .ots-staff-admin-dashboard .ots-table-wrap{overflow:visible!important}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table{min-width:0!important;display:block}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table thead{display:none}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table tbody{display:flex;flex-direction:column;gap:9px}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;border:1px solid #edf0f4;border-radius:13px;background:#fafbfc;padding:12px}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table td{display:block!important;border:0!important;padding:0!important;min-width:0}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table td:nth-child(1){grid-column:1;grid-row:1}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table td:nth-child(5){grid-column:2;grid-row:1;text-align:right}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table td:nth-child(2){grid-column:1/-1;grid-row:2}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table td:nth-child(3){grid-column:1/-1;grid-row:3}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table td:nth-child(4){grid-column:1;grid-row:4}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table td:nth-child(6){grid-column:2;grid-row:4;text-align:right}
  .ots-staff-admin-dashboard .ots-staff-dashboard-table tr:has(td[colspan]){display:block;text-align:center}
  .ots-staff-dashboard-actions{justify-content:flex-end}
}

/* v1.4.7 — Customer payment invoice */
.ots-public-invoice-page{min-height:100vh;background:#f2f4f7;padding:34px 18px 54px;display:block;color:#223047}
.ots-payment-invoice-shell{width:min(980px,100%);margin:0 auto;background:#fff;border:1px solid #e6e9ee;border-radius:22px;box-shadow:0 22px 60px rgba(28,38,54,.09);overflow:hidden}
.ots-invoice-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 30px;border-bottom:1px solid #eceff3;background:#fff}
.ots-invoice-brand{display:flex;align-items:center;gap:14px}.ots-invoice-brand img{height:38px;width:auto;display:block}.ots-invoice-brand div{display:flex;flex-direction:column;gap:2px}.ots-invoice-brand strong{font-size:15px;color:#1f2d40}.ots-invoice-brand span{font-size:11.5px;color:#7e8897}
.ots-invoice-status{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:11.5px;font-weight:800;border:1px solid}.ots-invoice-status i{width:7px;height:7px;border-radius:50%;display:block}.ots-invoice-status.pending{background:#fff8ea;border-color:#f0dfb6;color:#8a6419}.ots-invoice-status.pending i{background:#e4a829}.ots-invoice-status.paid{background:#ebf8f0;border-color:#caead8;color:#17764b}.ots-invoice-status.paid i{background:#20a365}.ots-invoice-status.expired{background:#fff0f1;border-color:#f0ced2;color:#b72739}.ots-invoice-status.expired i{background:#da3146}.ots-invoice-status.replaced{background:#fff8ea;border-color:#f0dfb6;color:#8a6419}.ots-invoice-status.replaced i{background:#e4a829}
.ots-invoice-title-row{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;padding:30px}.ots-invoice-title-row h1{margin:5px 0 5px;font-size:32px;line-height:1;color:#1f2d40}.ots-invoice-title-row p{margin:0;color:#788497;font-size:13px}.ots-invoice-meta{border:1px solid #e7eaf0;border-radius:14px;overflow:hidden}.ots-invoice-meta>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:10px 13px;border-bottom:1px solid #edf0f3}.ots-invoice-meta>div:last-child{border-bottom:0}.ots-invoice-meta span{font-size:11px;color:#8a94a3}.ots-invoice-meta strong{font-size:11.5px;color:#253349;text-align:right}
.ots-invoice-alert{margin:0 30px 22px;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.ots-invoice-alert strong{font-size:12.5px}.ots-invoice-alert span{font-size:11.5px}.ots-invoice-alert.success{background:#ecf8f1;border:1px solid #cfe9d9;color:#23704c}.ots-invoice-alert.danger{background:#fff1f2;border:1px solid #efd1d5;color:#a93342}.ots-invoice-alert.warning{background:#fff8ea;border:1px solid #f0dfb6;color:#8a6419}
.ots-invoice-party-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 30px 16px}.ots-invoice-panel{border:1px solid #e6e9ef;border-radius:15px;padding:18px;background:#fff}.ots-invoice-panel-label{display:block;font-size:10px;letter-spacing:.08em;font-weight:850;color:#9aa3af;margin-bottom:7px}.ots-invoice-panel h3,.ots-invoice-panel h2{margin:0;color:#223047}.ots-invoice-panel h3{font-size:16px}.ots-invoice-panel h2{font-size:18px}.ots-invoice-panel p{margin:5px 0 0;font-size:12px;color:#718094;line-height:1.45}
.ots-sales-person-card{background:#fbfcfe}.ots-sales-person-row{display:flex;align-items:center;gap:11px}.ots-sales-avatar{width:38px;height:38px;border-radius:12px;background:#fff0f2;color:#d72b3f;display:grid;place-items:center;font-size:12px;font-weight:850;border:1px solid #f0d7da;flex:0 0 auto}.ots-sales-contact{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ots-sales-contact span{font-size:11px;color:#596679;background:#fff;border:1px solid #e6e9ef;border-radius:999px;padding:6px 9px}
.ots-invoice-trip-panel,.ots-invoice-party-grid+.ots-invoice-trip-panel{margin:0 30px 16px}.ots-invoice-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.ots-invoice-market{font-size:10.5px;font-weight:800;color:#657286;background:#f4f6f9;border-radius:999px;padding:6px 9px;white-space:nowrap}.ots-invoice-trip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ots-invoice-trip-grid>div{background:#f8fafc;border-radius:11px;padding:11px}.ots-invoice-trip-grid span{display:block;font-size:10px;color:#8a95a5;margin-bottom:4px}.ots-invoice-trip-grid strong{display:block;font-size:12px;color:#27364b}.ots-invoice-trip-grid small{font-size:10px;color:#8a95a5}.ots-invoice-flight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.ots-invoice-flight-leg{border:1px solid #e8ebf0;border-radius:12px;padding:13px}.ots-invoice-flight-leg>span{font-size:9.5px;color:#d72b3f;font-weight:900;letter-spacing:.07em}.ots-invoice-flight-leg strong{display:block;font-size:13px;margin-top:4px;color:#28364a}.ots-invoice-flight-leg p{font-size:17px;font-weight:850;color:#1f2d40;margin:7px 0 2px}.ots-invoice-flight-leg small{font-size:10.5px;color:#7f8998}
.ots-invoice-trip-panel+ .ots-invoice-panel,.ots-invoice-panel.ots-invoice-charges-panel{margin:0 30px 16px}.ots-invoice-passengers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ots-invoice-passengers>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border-radius:10px;background:#f8fafc}.ots-invoice-passenger-no{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#fff;border:1px solid #e3e7ed;color:#6d7888;font-size:10.5px;font-weight:800}.ots-invoice-passengers strong{font-size:11.5px;color:#2b394d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ots-invoice-passengers small{font-size:10px;color:#8d97a5;text-transform:capitalize}
.ots-invoice-line-table{border:1px solid #e8ebf0;border-radius:12px;overflow:hidden}.ots-invoice-line-table>div{display:grid;grid-template-columns:minmax(0,1.8fr) 60px 120px 130px;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf0f3}.ots-invoice-line-table>div:last-child{border-bottom:0}.ots-invoice-line-table .head{background:#f7f9fb;color:#818c9b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.ots-invoice-line-table>div:not(.head){font-size:11.5px;color:#536075}.ots-invoice-line-table>div span:nth-child(n+2),.ots-invoice-line-table>div strong{text-align:right}.ots-invoice-line-table strong{font-size:11.5px;color:#26354a}.ots-invoice-totals{width:min(390px,100%);margin:14px 0 0 auto}.ots-invoice-totals>div{display:flex;justify-content:space-between;gap:20px;padding:7px 1px}.ots-invoice-totals span{font-size:11.5px;color:#798594}.ots-invoice-totals strong{font-size:11.5px;color:#27354a}
.ots-invoice-payment-box{margin:0 30px 14px;border-radius:15px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid}.ots-invoice-payment-box.pending{background:#fff7f8;border-color:#efd9dc}.ots-invoice-payment-box.paid{background:#eef9f3;border-color:#d2eadc}.ots-invoice-payment-box.expired{background:#f7f7f8;border-color:#e4e6ea}.ots-invoice-payment-box.replaced{background:#fffaf0;border-color:#eee0bd}.ots-invoice-payment-box>div:first-child span{display:block;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#8b7580}.ots-invoice-payment-box>div:first-child strong{display:block;font-size:30px;line-height:1.05;margin:4px 0;color:#d5263b}.ots-invoice-payment-box.paid>div:first-child strong{color:#18814f}.ots-invoice-payment-box.expired>div:first-child strong{color:#596575}.ots-invoice-payment-box.replaced>div:first-child strong{color:#8a6419}.ots-invoice-payment-box small{display:block;font-size:10.5px;color:#7c8796}.ots-invoice-payment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ots-invoice-payment-actions form{margin:0}.ots-invoice-payment-actions .ots-payment-public-button{width:auto;min-height:42px;padding:0 18px}.ots-invoice-print{min-height:42px}.ots-invoice-test-note{margin:0 30px 20px}.ots-invoice-footer{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:20px 30px 24px;border-top:1px solid #eceff3;background:#fafbfc}.ots-invoice-footer>div{display:flex;flex-direction:column;gap:2px}.ots-invoice-footer strong{font-size:12px;color:#2c394c}.ots-invoice-footer span{font-size:10.5px;color:#8b95a2}.ots-invoice-footer>div:last-child{text-align:right}
@media(max-width:760px){.ots-public-invoice-page{padding:0;background:#fff}.ots-payment-invoice-shell{border:0;border-radius:0;box-shadow:none}.ots-invoice-header{padding:17px 16px}.ots-invoice-brand img{height:31px}.ots-invoice-brand div{display:none}.ots-invoice-title-row{grid-template-columns:1fr;gap:16px;padding:22px 16px}.ots-invoice-title-row h1{font-size:27px}.ots-invoice-meta{width:100%}.ots-invoice-alert{margin:0 16px 14px}.ots-invoice-party-grid{grid-template-columns:1fr;padding:0 16px 12px;gap:10px}.ots-invoice-trip-panel,.ots-invoice-party-grid+.ots-invoice-trip-panel,.ots-invoice-trip-panel+ .ots-invoice-panel,.ots-invoice-panel.ots-invoice-charges-panel{margin:0 16px 12px}.ots-invoice-trip-grid{grid-template-columns:1fr 1fr}.ots-invoice-flight-grid{grid-template-columns:1fr}.ots-invoice-passengers{grid-template-columns:1fr}.ots-invoice-line-table>div{grid-template-columns:minmax(0,1.4fr) 42px 82px 92px;gap:6px;padding:9px 8px}.ots-invoice-line-table>div{font-size:10.5px}.ots-invoice-payment-box{margin:0 16px 12px;padding:16px;flex-direction:column;align-items:stretch}.ots-invoice-payment-actions{justify-content:stretch}.ots-invoice-payment-actions .ots-btn,.ots-invoice-payment-actions form,.ots-invoice-payment-actions form .ots-btn{width:100%}.ots-invoice-test-note{margin:0 16px 14px}.ots-invoice-footer{padding:18px 16px;align-items:flex-start}.ots-invoice-footer>div:last-child{text-align:right}}
@media(max-width:460px){.ots-invoice-status{font-size:10px;padding:7px 9px}.ots-invoice-trip-grid{grid-template-columns:1fr 1fr}.ots-invoice-section-head{align-items:flex-start}.ots-invoice-market{white-space:normal;text-align:right}.ots-invoice-line-table>div{grid-template-columns:minmax(0,1fr) 34px 70px 82px;gap:4px}.ots-invoice-line-table .head{font-size:8.5px}.ots-invoice-line-table>div:not(.head){font-size:9.8px}.ots-invoice-line-table strong{font-size:9.8px}.ots-invoice-footer{flex-direction:column}.ots-invoice-footer>div:last-child{text-align:left}}


/* v1.4.8 — A4 invoice canvas + passenger document details */
@media (min-width:761px){
  .ots-public-invoice-page{padding:28px 18px 46px}
  .ots-payment-invoice-shell{width:min(210mm,calc(100vw - 36px));min-height:297mm;margin:0 auto}
}
.ots-invoice-passengers>div.ots-invoice-passenger-row{grid-template-columns:28px minmax(0,1fr) minmax(150px,190px)}
.ots-invoice-passenger-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.ots-invoice-passenger-main strong{font-size:11.5px;color:#2b394d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ots-invoice-passenger-main small{font-size:10px;color:#8d97a5;text-transform:capitalize}
.ots-invoice-passenger-doc{min-width:0;text-align:right;display:flex;flex-direction:column;gap:2px}
.ots-invoice-passenger-doc span{font-size:9px;color:#929baa;text-transform:uppercase;letter-spacing:.045em;font-weight:750}
.ots-invoice-passenger-doc strong{font-size:10.8px;color:#344257;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){
  .ots-invoice-passengers>div.ots-invoice-passenger-row{grid-template-columns:28px minmax(0,1fr)}
  .ots-invoice-passenger-doc{grid-column:2;text-align:left;margin-top:3px}
}
/* v1.4.9 — Compact one-page A4 invoice + simplified passenger details */
@media (min-width:761px){
  .ots-public-invoice-page{padding:18px 14px 28px}
  .ots-payment-invoice-shell{width:min(210mm,calc(100vw - 28px));min-height:0}
  .ots-invoice-header{padding:14px 24px}
  .ots-invoice-brand{gap:10px}
  .ots-invoice-brand img{height:26px}
  .ots-invoice-brand strong{font-size:13px}
  .ots-invoice-brand span{font-size:10.5px}
  .ots-invoice-title-row{grid-template-columns:minmax(0,1fr) 285px;gap:20px;padding:18px 24px 14px}
  .ots-invoice-title-row h1{font-size:27px;margin:3px 0 3px}
  .ots-invoice-title-row p{font-size:11.5px}
  .ots-invoice-meta{border-radius:11px}
  .ots-invoice-meta>div{grid-template-columns:86px 1fr;padding:7px 10px}
  .ots-invoice-meta span,.ots-invoice-meta strong{font-size:10.5px}
  .ots-invoice-alert{margin:0 24px 10px;padding:9px 11px}
  .ots-invoice-party-grid{gap:10px;padding:0 24px 10px}
  .ots-invoice-panel{padding:12px 14px;border-radius:12px}
  .ots-invoice-party-grid .ots-invoice-panel{min-height:0}
  .ots-invoice-panel-label{font-size:8.8px;margin-bottom:4px}
  .ots-invoice-panel h3{font-size:14px}
  .ots-invoice-panel h2{font-size:15px}
  .ots-invoice-panel p{font-size:10.5px;line-height:1.35;margin-top:3px}
  .ots-sales-person-row{gap:8px}
  .ots-sales-avatar{width:31px;height:31px;font-size:10px}
  .ots-sales-contact{margin-top:6px;gap:8px}
  .ots-sales-contact span{font-size:9.8px}
  .ots-invoice-trip-panel,.ots-invoice-party-grid+.ots-invoice-trip-panel,.ots-invoice-trip-panel + .ots-invoice-panel,.ots-invoice-panel.ots-invoice-charges-panel{margin:0 24px 10px}
  .ots-invoice-section-head{margin-bottom:9px}
  .ots-invoice-market{font-size:9.5px;padding:4px 7px}
  .ots-invoice-trip-grid{gap:7px}
  .ots-invoice-trip-grid>div{padding:8px 9px;border-radius:9px}
  .ots-invoice-trip-grid span{font-size:9px;margin-bottom:2px}
  .ots-invoice-trip-grid strong{font-size:10.8px}
  .ots-invoice-trip-grid small{font-size:8.8px}
  .ots-invoice-flight-grid{gap:7px;margin-top:7px}
  .ots-invoice-flight-leg{padding:9px 10px;border-radius:9px}
  .ots-invoice-flight-leg>span{font-size:8.5px}
  .ots-invoice-flight-leg strong{font-size:11px;margin-top:2px}
  .ots-invoice-flight-leg p{font-size:14px;margin:4px 0 1px}
  .ots-invoice-flight-leg small{font-size:9px}
  .ots-invoice-line-table{border-radius:10px}
  .ots-invoice-line-table>div{grid-template-columns:minmax(0,1.8fr) 48px 96px 108px;gap:7px;padding:7px 9px}
  .ots-invoice-line-table .head{font-size:8.8px}
  .ots-invoice-line-table>div:not(.head),.ots-invoice-line-table strong{font-size:10.2px}
  .ots-invoice-totals{width:min(340px,100%);margin-top:7px}
  .ots-invoice-totals>div{padding:4px 1px}
  .ots-invoice-totals span,.ots-invoice-totals strong{font-size:10.2px}
  .ots-invoice-payment-box{margin:0 24px 9px;padding:11px 14px;border-radius:12px}
  .ots-invoice-payment-box>div:first-child strong{font-size:23px;margin:2px 0}
  .ots-invoice-payment-box>div:first-child span{font-size:9px}
  .ots-invoice-payment-box small{font-size:9.5px}
  .ots-invoice-payment-actions .ots-payment-public-button,.ots-invoice-print{min-height:36px;padding:0 13px;font-size:11px}
  .ots-invoice-test-note{margin:0 24px 9px}
  .ots-invoice-footer{padding:11px 24px 13px}
  .ots-invoice-footer strong{font-size:10.5px}
  .ots-invoice-footer span{font-size:9.2px}
}

.ots-invoice-passenger-table{border:1px solid #e8ebf0;border-radius:10px;overflow:hidden}
.ots-invoice-passenger-table>div{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,.9fr) 86px;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid #edf0f3}
.ots-invoice-passenger-table>div:last-child{border-bottom:0}
.ots-invoice-passenger-table .head{background:#f7f9fb;color:#818c9b;font-size:8.8px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.ots-invoice-passenger-row>strong{font-size:10.8px;color:#27364b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-invoice-passenger-id{font-size:10.4px;color:#46556a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-invoice-passenger-id small{font-size:8.2px;color:#98a1ae;font-weight:800;text-transform:uppercase;margin-right:5px}
.ots-invoice-passenger-category{justify-self:start;display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#f2f5f8;color:#526174;font-size:9.5px;font-weight:800}

@media(max-width:760px){
  .ots-invoice-brand img{height:25px}
  .ots-invoice-passenger-table>div{grid-template-columns:minmax(0,1fr) minmax(105px,.7fr) 72px;gap:6px;padding:9px 8px}
  .ots-invoice-passenger-table .head{font-size:8px}
  .ots-invoice-passenger-row>strong,.ots-invoice-passenger-id{font-size:9.6px}
  .ots-invoice-passenger-id small{display:none}
  .ots-invoice-passenger-category{font-size:8.8px;padding:0 6px}
}

/* v1.4.10 — Compact invoice header, simplified sales person and passenger ID presentation */
.ots-invoice-header{padding:12px 24px;background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%);border-bottom:1px solid #e9edf2}
.ots-invoice-brand{gap:9px;min-width:0}
.ots-invoice-brand img{width:320px;max-width:320px;height:auto;max-height:70px;object-fit:contain;object-position:left center}
.ots-invoice-brand div{gap:1px;min-width:0}
.ots-invoice-brand strong{font-size:12px;line-height:1.2;color:#243247}
.ots-invoice-brand span{font-size:9.5px;line-height:1.25;color:#8a95a4;white-space:nowrap}
.ots-sales-person-card{display:flex;flex-direction:column;justify-content:center}
.ots-sales-person-simple h3{font-size:14px;margin:0;color:#223047}
.ots-sales-person-simple p{font-size:10.5px;margin:3px 0 0;color:#718094}
.ots-sales-person-simple span{display:inline-flex;margin-top:7px;font-size:10px;font-weight:750;color:#4e5c70;background:#f6f8fa;border:1px solid #e7ebf0;border-radius:7px;padding:4px 7px}
.ots-invoice-passenger-id{font-weight:650;color:#46556a}
.ots-invoice-passenger-id small{display:none!important}
@media(max-width:760px){
  .ots-invoice-header{padding:12px 16px}
  .ots-invoice-brand img{width:180px;max-width:180px;height:auto;max-height:44px}
  .ots-invoice-brand div{display:flex!important}
  .ots-invoice-brand strong{font-size:11px}
  .ots-invoice-brand span{font-size:8.5px;white-space:normal}
  .ots-sales-person-simple span{font-size:9.5px}
}


/* v1.4.12 — Staff shell consistency, payment tracking and invoice logo */
.ots-booking-page-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin:-6px 0 14px}
.ots-staff-payment-history .ots-detail-lines small{display:block;margin-top:3px;color:#8a95a4;font-size:10.5px;font-weight:550}
.ots-staff-payment-link-card .ots-card-head{align-items:flex-start}
.ots-staff-payment-link-card .ots-payment-link-box{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;margin-top:12px}
.ots-staff-payment-link-card .ots-payment-link-box input{min-width:0;width:100%;height:42px;border:1px solid #dfe4ea;border-radius:9px;background:#f8fafc;padding:0 11px;color:#465468;font-size:11px}
.ots-balance-request-preview{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid #e8ebf0;border-radius:11px;background:#f8fafc}
.ots-balance-request-preview span{font-size:11px;color:#7b8796}.ots-balance-request-preview strong{font-size:18px;color:#d9253a}
@media(max-width:760px){
  .ots-booking-page-actions{justify-content:stretch}.ots-booking-page-actions .ots-btn{flex:1}
  .ots-staff-payment-link-card .ots-payment-link-box{grid-template-columns:1fr 1fr}.ots-staff-payment-link-card .ots-payment-link-box input{grid-column:1/-1}
}

/* v1.4.14 — Staff booking edit document scanner + package/departure UX polish */
.ots-package-pic-form .ots-change-link{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;
  border:1px solid #ffd3da;border-radius:9px;background:#fff1f3;color:var(--ots-red)!important;
  font-size:12px;font-weight:800;box-shadow:0 2px 7px rgba(223,38,56,.05);transition:.16s ease;
}
.ots-package-pic-form .ots-change-link:hover{background:#ffe8ec;border-color:#f8aeb9;transform:translateY(-1px)}
.ots-departure-calendar{width:30px;height:30px;border-radius:8px;background:#f5f7fa;color:#536174;display:grid;place-items:center;flex:0 0 auto}
.ots-departure-calendar .ots-svg-icon{width:16px;height:16px}
.ots-departure-choice:has(input:checked) .ots-departure-calendar{background:#ffe7eb;color:var(--ots-red)}
.ots-departure-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}
.ots-slot-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;line-height:1}
.ots-slot-badge.available{background:#e9f8f2;color:#14815a}
.ots-slot-badge.medium{background:#fff4da;color:#a96d08}
.ots-slot-badge.low{background:#ffeaed;color:#c5273b}
.ots-slot-badge.full{background:#eef0f3;color:#7c8796}
.ots-departure-choice:has(input:checked) .ots-slot-badge.available{background:#dff5eb;color:#0e7951}
.ots-departure-choice:has(input:checked) .ots-slot-badge.medium{background:#fff0c2;color:#9a6505}
.ots-departure-choice:has(input:checked) .ots-slot-badge.low{background:#ffdce2;color:#b91f34}

/* Edit Passenger Details component moved to the consolidated v1.4.155 layer below. */
@media(max-width:760px){.ots-package-pic-form .ots-change-link{width:100%;margin-top:4px}.ots-departure-calendar{width:28px;height:28px}.ots-slot-badge{font-size:9.5px}}


/* v1.4.15 — Selected departure card: solid OHHSEM red */
.ots-departure-choice:has(input:checked){
  background:var(--ots-red)!important;
  border-color:var(--ots-red)!important;
  box-shadow:0 8px 18px rgba(223,38,56,.18)!important;
}
.ots-departure-choice:has(input:checked) .ots-departure-calendar{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.ots-departure-choice:has(input:checked) .ots-departure-copy strong{
  color:#fff!important;
}
.ots-departure-choice:has(input:checked) .ots-departure-copy small{
  color:rgba(255,255,255,.86)!important;
}
.ots-departure-choice:has(input:checked) .ots-slot-badge,
.ots-departure-choice:has(input:checked) .ots-slot-badge.available,
.ots-departure-choice:has(input:checked) .ots-slot-badge.medium,
.ots-departure-choice:has(input:checked) .ots-slot-badge.low{
  background:#fff!important;
  color:var(--ots-red)!important;
}
.ots-departure-choice.is-full:has(input:checked){
  background:#f4f5f7!important;
  border-color:#e0e4ea!important;
  box-shadow:none!important;
}

/* v1.4.16 — Simplified two-step booking flow + passenger-later workflow */
.ots-stepper.ots-stepper-two{max-width:760px;margin-left:auto;margin-right:auto}
.ots-stepper.ots-stepper-two>div{flex:1}
.ots-passenger-placeholder-summary{margin-top:14px;padding:16px;border:1px solid #e7ebf0;border-radius:12px;background:#fafbfc;display:flex;align-items:center;justify-content:space-between;gap:18px}
.ots-passenger-placeholder-summary h3{margin:3px 0 5px;font-size:15px;color:#172033}
.ots-passenger-placeholder-summary p{margin:0;max-width:620px;color:#748093;font-size:11px;line-height:1.55}
.ots-placeholder-chips{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.ots-placeholder-chips span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#fff;border:1px solid #e2e7ed;color:#4f5d70;font-size:10.5px;font-weight:700;white-space:nowrap}
.ots-placeholder-chips b{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#fff0f2;color:var(--ots-red);font-size:10px}
.ots-upload-box.ots-upload-box-simple{min-height:92px!important;justify-content:center;padding:14px!important}
.ots-upload-box.ots-upload-box-simple strong{font-size:12px}
.ots-simplified-review .ots-card-head .ots-status{white-space:nowrap}
@media(max-width:760px){
  .ots-passenger-placeholder-summary{align-items:flex-start;flex-direction:column;padding:13px}
  .ots-placeholder-chips{justify-content:flex-start}
  .ots-stepper.ots-stepper-two{max-width:none}
}


/* v1.4.17 — Review & Payment polish + corrected two-step timeline */
.ots-stepper.ots-stepper-two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:560px;
}
.ots-stepper.ots-stepper-two:before{
  left:25%!important;
  right:25%!important;
}
.ots-stepper.ots-stepper-two>div{min-width:0}
.ots-payment-request-active .ots-payment-link-box-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) 88px 88px;
  gap:8px;
  align-items:stretch;
}
.ots-payment-request-active .ots-payment-link-box-actions input{
  width:100%;
  min-width:0;
  height:42px;
  margin:0;
}
.ots-payment-request-active .ots-payment-link-box-actions .ots-payment-link-action{
  width:88px;
  min-width:88px;
  min-height:42px;
  height:42px;
  padding:0 12px;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.ots-review-footer-actions{justify-content:flex-start}
.ots-review-footer-actions .ots-btn{min-width:0}
@media(max-width:600px){
  .ots-stepper.ots-stepper-two{max-width:100%;}
  .ots-stepper.ots-stepper-two:before{left:25%!important;right:25%!important}
  .ots-payment-request-active .ots-payment-link-box-actions{grid-template-columns:1fr 1fr}
  .ots-payment-request-active .ots-payment-link-box-actions input{grid-column:1/-1}
  .ots-payment-request-active .ots-payment-link-box-actions .ots-payment-link-action{width:100%;min-width:0}
}

/* v1.4.18 — Staff traveller type + passenger quantity UX revamp */
.ots-traveller-config-v1418{padding:24px}
.ots-traveller-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.ots-traveller-heading .ots-section-title{font-size:20px;margin-top:5px}
.ots-traveller-heading .ots-section-sub{font-size:12.5px;line-height:1.55;max-width:700px}
.ots-required-hint{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#fff3f5;color:var(--ots-red);border:1px solid #f8d7dc;font-size:10.5px;font-weight:800;white-space:nowrap}

.ots-market-selector-v1418{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;border:0;background:transparent;border-radius:0}
.ots-market-selector-v1418 .ots-market-card{min-height:98px;padding:17px 18px;border:1.5px solid #e1e5ea;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(20,31,50,.02);transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}
.ots-market-selector-v1418 .ots-market-card:hover{border-color:#efb2ba;box-shadow:0 8px 22px rgba(33,43,65,.06);transform:translateY(-1px)}
.ots-market-selector-v1418 .ots-market-pill-mark{width:48px;height:48px;border-radius:12px;font-size:11px;background:#f7f8fa;border:1px solid #e6e9ed;color:#5b6677;flex:0 0 auto}
.ots-market-selector-v1418 .ots-market-pill-copy strong{font-size:15px;line-height:1.3;color:var(--ots-navy)}
.ots-market-selector-v1418 .ots-market-pill-copy small{font-size:11.5px;line-height:1.45;margin-top:4px;max-width:360px}
.ots-market-selector-v1418 .ots-market-pill-check{width:26px;height:26px;font-size:12px;border-width:1.5px;flex:0 0 auto}
.ots-market-selector-v1418 .ots-market-card:has(input:checked){background:#fff7f8;border-color:var(--ots-red);box-shadow:0 0 0 3px rgba(223,38,56,.07),0 8px 22px rgba(33,43,65,.05)}
.ots-market-selector-v1418 .ots-market-card:has(input:checked) .ots-market-pill-mark{background:#fff;border-color:#efbcc4;color:var(--ots-red)}
.ots-market-selector-v1418 .ots-market-card:has(input:checked) .ots-market-pill-check{background:var(--ots-red);border-color:var(--ots-red);color:#fff}

.ots-pricing-reveal-v1418{margin-top:22px;padding-top:22px;border-top:1px solid #edf0f3}
.ots-pax-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:13px}
.ots-pax-section-head h3{margin:4px 0 3px;color:var(--ots-navy);font-size:18px;letter-spacing:-.01em}
.ots-pax-section-head p{margin:0;color:var(--ots-muted);font-size:11.5px;line-height:1.5}
.ots-pax-section-head .ots-market-badge{font-size:10.5px;padding:6px 10px;background:#fff3f5;border:1px solid #f6d7dc}

.ots-pax-list{display:flex;flex-direction:column;gap:10px}
.ots-pax-list .ots-pax-row{display:grid;grid-template-columns:minmax(250px,1.55fr) minmax(135px,.7fr) minmax(170px,.82fr) minmax(120px,.55fr);align-items:center;gap:18px;padding:15px 16px;border:1px solid #e4e8ed;border-radius:13px;background:#fff;min-width:0;transition:border-color .16s,background .16s,box-shadow .16s}
.ots-pax-list .ots-pax-row:nth-child(n){background:#fff}
.ots-pax-list .ots-pax-row:hover{border-color:#d9dee5;background:#fcfcfd}
.ots-pax-list .ots-pax-row.has-quantity{border-color:#f0bdc4;background:#fffafb;box-shadow:0 0 0 2px rgba(223,38,56,.035)}
.ots-pax-identity{display:flex;align-items:center;gap:12px;min-width:0}
.ots-pax-category-mark{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;background:#f3f5f7;color:#5d6879;font-size:13px;font-weight:900;border:1px solid #e4e8ed}
.ots-pax-row.has-quantity .ots-pax-category-mark{background:#fff1f3;color:var(--ots-red);border-color:#f4cbd0}
.ots-pax-list .ots-pax-title{font-size:14px;line-height:1.3;min-height:0;margin:0;color:var(--ots-navy)}
.ots-pax-list .ots-pax-description{font-size:10.5px;line-height:1.45;margin-top:3px;color:#8993a2}
.ots-pax-rate small,.ots-pax-quantity>small,.ots-pax-line-total small{display:block;margin:0 0 5px;font-size:9.5px;line-height:1.2;text-transform:uppercase;letter-spacing:.055em;color:#9aa3af;font-weight:800}
.ots-pax-rate strong{display:block;margin:0;font-size:14px;color:var(--ots-navy);white-space:nowrap}
.ots-pax-quantity{min-width:0}
.ots-pax-list .ots-counter{display:grid;grid-template-columns:38px 58px 38px;width:max-content;border:1px solid #dce1e7;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.025)}
.ots-pax-list .ots-counter button{height:38px;width:38px;padding:0;border:0;background:#f7f8fa;color:#3e4a5c;font-size:20px;font-weight:500;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.ots-pax-list .ots-counter button:hover{background:#fff0f2;color:var(--ots-red)}
.ots-pax-list .ots-counter input{width:58px!important;height:38px!important;padding:0 4px!important;margin:0!important;border:0!important;border-left:1px solid #edf0f3!important;border-right:1px solid #edf0f3!important;border-radius:0!important;text-align:center;font-size:14px!important;font-weight:800;color:var(--ots-navy);background:#fff}
.ots-pax-line-total{text-align:right;min-width:0}
.ots-pax-line-total strong{display:block;margin:0;font-size:14px;color:var(--ots-navy);white-space:nowrap}
.ots-pax-row.has-quantity .ots-pax-line-total strong{color:var(--ots-red)}

@media(max-width:980px){
  .ots-pax-list .ots-pax-row{grid-template-columns:minmax(220px,1.4fr) minmax(120px,.65fr) minmax(150px,.75fr)}
  .ots-pax-line-total{grid-column:2/4;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:-4px}
  .ots-pax-line-total small{margin:0}
}
@media(max-width:760px){
  .ots-traveller-config-v1418{padding:18px 15px}
  .ots-traveller-heading{gap:10px;margin-bottom:14px}
  .ots-traveller-heading .ots-section-title{font-size:18px}
  .ots-traveller-heading .ots-section-sub{font-size:11.5px}
  .ots-required-hint{font-size:9.5px;padding:5px 8px}
  .ots-market-selector-v1418{grid-template-columns:1fr;gap:10px}
  .ots-market-selector-v1418 .ots-market-card{min-height:84px;padding:14px}
  .ots-market-selector-v1418 .ots-market-pill-mark{width:44px;height:44px}
  .ots-market-selector-v1418 .ots-market-pill-copy strong{font-size:14px}
  .ots-market-selector-v1418 .ots-market-pill-copy small{font-size:10.5px}
  .ots-pricing-reveal-v1418{margin-top:18px;padding-top:18px}
  .ots-pax-section-head{align-items:flex-start;flex-direction:column;gap:8px}
  .ots-pax-section-head h3{font-size:16.5px}
  .ots-pax-section-head p{font-size:10.5px}
  .ots-pax-list{gap:9px}
  .ots-pax-list .ots-pax-row{grid-template-columns:1fr auto;gap:12px;padding:14px}
  .ots-pax-identity{grid-column:1/-1}
  .ots-pax-rate{grid-column:1/2}
  .ots-pax-quantity{grid-column:2/3;grid-row:2/3;text-align:right}
  .ots-pax-line-total{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;margin-top:0;border-top:1px solid #eef1f4;text-align:left}
  .ots-pax-line-total small{margin:0}
  .ots-pax-list .ots-counter{grid-template-columns:38px 48px 38px}
  .ots-pax-list .ots-counter input{width:48px!important}
}

/* v1.4.19 — Compact traveller type + fully plugin-owned booking UI */
/* The standalone system shell already excludes the active WordPress theme. These
   scoped resets make the booking experience deterministic even if another plugin
   injects generic form/button rules into the page. */
body.ohhsem-system-page .ots-staff-package-flow,
body.ohhsem-system-page .ots-staff-package-flow *{
  box-sizing:border-box;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.ohhsem-system-page .ots-staff-package-flow button,
body.ohhsem-system-page .ots-staff-package-flow input,
body.ohhsem-system-page .ots-staff-package-flow select,
body.ohhsem-system-page .ots-staff-package-flow textarea{
  font:inherit;
  text-transform:none;
  letter-spacing:normal;
  box-shadow:none;
  outline-offset:2px;
}
body.ohhsem-system-page .ots-staff-package-flow button{
  -webkit-appearance:none;
  appearance:none;
}
body.ohhsem-system-page .ots-staff-package-flow a{
  text-decoration:none;
}
body.ohhsem-system-page .ots-staff-package-flow h1,
body.ohhsem-system-page .ots-staff-package-flow h2,
body.ohhsem-system-page .ots-staff-package-flow h3,
body.ohhsem-system-page .ots-staff-package-flow p{
  margin-top:0;
}

.ots-traveller-config-v1419{padding:21px 22px}
.ots-traveller-heading-v1419{margin-bottom:12px;display:block}
.ots-traveller-heading-v1419 .ots-section-title{margin:3px 0 2px;font-size:18px;line-height:1.3;letter-spacing:-.015em}
.ots-traveller-heading-v1419 .ots-section-sub{margin:0;font-size:11.5px;line-height:1.45;color:#7f8a99}

.ots-market-selector-v1419{
  width:min(100%,430px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:5px;
  border:1px solid #e5e8ed;
  border-radius:12px;
  background:#f6f7f9;
}
.ots-market-compact-option{
  position:relative;
  min-width:0;
  min-height:48px;
  margin:0;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#465266;
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 20px;
  align-items:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.ots-market-compact-option:hover{background:#fff}
.ots-market-compact-option input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ots-market-compact-code{
  width:31px;
  height:31px;
  border-radius:8px;
  display:grid;
  place-items:center;
  border:1px solid #e4e7ec;
  background:#fff;
  color:#738094;
  font-size:8.5px;
  line-height:1;
  font-weight:850;
  letter-spacing:.025em;
}
.ots-market-compact-option strong{
  display:block;
  min-width:0;
  font-size:12.5px;
  line-height:1.25;
  font-weight:750;
  color:var(--ots-navy);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ots-market-compact-check{
  width:20px;
  height:20px;
  border-radius:50%;
  border:1px solid #d7dde5;
  display:grid;
  place-items:center;
  color:transparent;
  background:#fff;
  font-size:9px;
  font-weight:900;
  transition:.16s ease;
}
.ots-market-compact-option:has(input:checked){
  background:#fff;
  border-color:#efb9c1;
  color:var(--ots-red);
  box-shadow:0 2px 8px rgba(20,31,50,.055);
}
.ots-market-compact-option:has(input:checked) .ots-market-compact-code{
  background:#fff1f3;
  border-color:#f2cbd1;
  color:var(--ots-red);
}
.ots-market-compact-option:has(input:checked) .ots-market-compact-check{
  background:var(--ots-red);
  border-color:var(--ots-red);
  color:#fff;
}
.ots-market-compact-option:has(input:focus-visible){
  outline:2px solid rgba(223,38,56,.25);
  outline-offset:2px;
}

@media(max-width:760px){
  .ots-traveller-config-v1419{padding:17px 14px}
  .ots-traveller-heading-v1419{margin-bottom:10px}
  .ots-traveller-heading-v1419 .ots-section-title{font-size:16.5px}
  .ots-traveller-heading-v1419 .ots-section-sub{font-size:10.5px}
  .ots-market-selector-v1419{width:100%;gap:5px;padding:4px;border-radius:11px}
  .ots-market-compact-option{min-height:44px;padding:6px 8px;grid-template-columns:27px minmax(0,1fr) 18px;gap:7px;border-radius:8px}
  .ots-market-compact-code{width:27px;height:27px;border-radius:7px;font-size:7.5px}
  .ots-market-compact-option strong{font-size:11.5px}
  .ots-market-compact-check{width:18px;height:18px;font-size:8px}
}

/* v1.4.20 — Traveller choice + passenger quantity UX revamp */
.ots-traveller-heading-v1420{margin-bottom:12px}
.ots-traveller-heading-v1420 .ots-section-sub{max-width:520px}

/* New compact pricing choice bar — intentionally not card-like. */
.ots-market-choice-wrap{
  width:min(100%,520px);
  display:flex;
  align-items:stretch;
  gap:8px;
  padding:0;
  margin:0;
}
.ots-market-choice{
  position:relative;
  flex:1 1 0;
  min-width:0;
  min-height:54px;
  margin:0!important;
  padding:8px 10px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  border:1px solid #e1e6ec!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#4e596b!important;
  cursor:pointer;
  box-shadow:none!important;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.ots-market-choice:hover{border-color:#d3d9e1!important;background:#fbfcfd!important}
.ots-market-choice input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  margin:0!important;
}
.ots-market-choice-code{
  width:34px;
  height:34px;
  border-radius:9px;
  display:grid;
  place-items:center;
  background:#f5f7f9;
  border:1px solid #e7ebef;
  color:#667286;
  font-size:8.5px;
  line-height:1;
  font-weight:900;
  letter-spacing:.035em;
}
.ots-market-choice-copy{display:block;min-width:0}
.ots-market-choice-copy strong{
  display:block;
  margin:0;
  color:var(--ots-navy);
  font-size:13px;
  line-height:1.2;
  font-weight:800;
}
.ots-market-choice-copy small{
  display:block;
  margin-top:2px;
  color:#929cab;
  font-size:9.5px;
  line-height:1.25;
  font-weight:600;
}
.ots-market-choice-indicator{
  width:17px;
  height:17px;
  border:1.5px solid #cfd6df;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 4px #fff;
  transition:.16s ease;
}
.ots-market-choice:has(input:checked){
  border-color:#ec9eaa!important;
  background:#fff6f7!important;
  box-shadow:0 0 0 2px rgba(223,38,56,.045)!important;
}
.ots-market-choice:has(input:checked) .ots-market-choice-code{
  background:#fff;
  border-color:#efc1c8;
  color:var(--ots-red);
}
.ots-market-choice:has(input:checked) .ots-market-choice-copy strong{color:var(--ots-red)}
.ots-market-choice:has(input:checked) .ots-market-choice-indicator{
  border-color:var(--ots-red);
  background:var(--ots-red);
}
.ots-market-choice:has(input:focus-visible){outline:2px solid rgba(223,38,56,.22);outline-offset:2px}

/* Passenger rows: identity + rate + quantity only; totals stay in summary. */
.ots-pax-list .ots-pax-row{
  grid-template-columns:minmax(250px,1.65fr) minmax(135px,.65fr) minmax(142px,.55fr)!important;
  gap:16px!important;
  padding:14px 16px!important;
}
.ots-pax-rate{min-width:0}
.ots-pax-quantity{min-width:142px;justify-self:end}
.ots-pax-rate small,.ots-pax-quantity>small{margin-bottom:6px!important}

/* Hard reset the quantity control so WordPress/theme rules cannot create gaps. */
.ots-pax-list .ots-counter{
  display:flex!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:126px!important;
  height:40px!important;
  min-width:126px!important;
  padding:0!important;
  margin:0!important;
  gap:0!important;
  border:1px solid #d8dee6!important;
  border-radius:10px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(15,23,42,.025)!important;
}
.ots-pax-list .ots-counter button{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 40px!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  display:grid!important;
  place-items:center!important;
  background:#f7f8fa!important;
  color:#354052!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:20px!important;
  font-weight:500!important;
  line-height:1!important;
  text-align:center!important;
  cursor:pointer!important;
}
.ots-pax-list .ots-counter button:first-child{border-right:1px solid #edf0f3!important}
.ots-pax-list .ots-counter button:last-child{border-left:1px solid #edf0f3!important}
.ots-pax-list .ots-counter button:hover{background:#fff0f2!important;color:var(--ots-red)!important}
.ots-pax-list .ots-counter input{
  appearance:textfield!important;
  -webkit-appearance:none!important;
  -moz-appearance:textfield!important;
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:40px!important;
  min-height:40px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  display:block!important;
  background:#fff!important;
  color:var(--ots-navy)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:40px!important;
  text-align:center!important;
  text-indent:0!important;
  vertical-align:middle!important;
  box-shadow:none!important;
}
.ots-pax-list .ots-counter input::-webkit-outer-spin-button,
.ots-pax-list .ots-counter input::-webkit-inner-spin-button{-webkit-appearance:none!important;margin:0!important}

@media(max-width:980px){
  .ots-pax-list .ots-pax-row{grid-template-columns:minmax(210px,1.45fr) minmax(120px,.65fr) minmax(142px,.55fr)!important}
}
@media(max-width:760px){
  .ots-market-choice-wrap{width:100%;gap:7px}
  .ots-market-choice{min-height:50px;padding:7px 8px!important;grid-template-columns:30px minmax(0,1fr) 16px;gap:7px;border-radius:10px!important}
  .ots-market-choice-code{width:30px;height:30px;border-radius:8px;font-size:7.5px}
  .ots-market-choice-copy strong{font-size:12px}
  .ots-market-choice-copy small{font-size:8.5px}
  .ots-market-choice-indicator{width:16px;height:16px}
  .ots-pax-list .ots-pax-row{grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;padding:13px!important}
  .ots-pax-identity{grid-column:1/-1}
  .ots-pax-rate{grid-column:1/2}
  .ots-pax-quantity{grid-column:2/3;grid-row:2/3;justify-self:end;min-width:126px;text-align:left}
  .ots-pax-list .ots-counter{width:126px!important;min-width:126px!important}
}
@media(max-width:420px){
  .ots-market-choice-wrap{gap:6px}
  .ots-market-choice{grid-template-columns:27px minmax(0,1fr) 14px;padding:7px!important}
  .ots-market-choice-code{width:27px;height:27px;font-size:7px}
  .ots-market-choice-copy small{display:none}
  .ots-market-choice-copy strong{font-size:11.5px}
  .ots-market-choice-indicator{width:14px;height:14px}
  .ots-pax-list .ots-pax-row{grid-template-columns:1fr!important}
  .ots-pax-identity,.ots-pax-rate,.ots-pax-quantity{grid-column:1!important;grid-row:auto!important;justify-self:stretch}
  .ots-pax-quantity{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}
  .ots-pax-quantity>small{margin:0 0 12px!important}
}

/* v1.4.22 — Admin Bookings filters + listing readability */
.ots-booking-filters{display:grid;grid-template-columns:minmax(320px,1.45fr) minmax(190px,.7fr) minmax(180px,.62fr) auto;gap:12px;align-items:end;padding:2px 0 16px;border-bottom:1px solid #edf0f3;margin-bottom:4px}
.ots-booking-filters label{display:block;margin:0;color:#526071;font-size:11.5px;font-weight:750}
.ots-booking-filters label>span{display:block;margin-bottom:6px}
.ots-booking-filters input,.ots-booking-filters select{appearance:none;width:100%;height:43px;border:1px solid #dfe4ea;border-radius:10px;background:#fff;padding:0 12px;color:#273447;font:600 12.5px/1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;outline:none}
.ots-booking-filters input:focus,.ots-booking-filters select:focus{border-color:#ef9aa5;box-shadow:0 0 0 3px rgba(223,38,56,.07)}
.ots-booking-filters .ots-filter-search>div{position:relative}.ots-booking-filters .ots-filter-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:#8b96a5;pointer-events:none}.ots-booking-filters .ots-filter-search i .ots-svg-icon{width:16px;height:16px}.ots-booking-filters .ots-filter-search input{padding-left:38px}
.ots-filter-reset{height:43px;border:1px solid #e1e5ea;background:#fff;color:#677384;border-radius:10px;padding:0 15px;font:750 12px/1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.ots-filter-reset:hover{border-color:#f0b5bd;color:var(--ots-red);background:#fff8f9}
.ots-booking-filters.is-loading,.ots-booking-results.is-loading{opacity:.62;pointer-events:none}.ots-booking-results{transition:opacity .15s ease}
.ots-booking-list-table th{font-size:11px!important;padding:12px 10px!important}.ots-booking-list-table td{font-size:12.5px!important;padding:13px 10px!important}.ots-booking-list-table td strong{font-size:12.5px!important}.ots-booking-list-table td small{font-size:10.8px!important;line-height:1.45;margin-top:3px!important}
.ots-row-actions.ots-list-actions{gap:9px;align-items:center;white-space:nowrap}.ots-row-actions a,.ots-flight-actions a{font-size:12.5px!important;font-weight:750!important;line-height:1.2}.ots-row-actions a+a{padding-left:9px!important}
.ots-booking-list-table td:nth-child(3){text-align:center}.ots-booking-list-table th:nth-child(3){text-align:center}.ots-booking-list-table td:nth-child(7){white-space:nowrap}
@media(max-width:1100px){.ots-booking-filters{grid-template-columns:1fr 1fr}.ots-booking-filters .ots-filter-search{grid-column:1/-1}.ots-filter-reset{justify-self:start}}
@media(max-width:700px){.ots-booking-filters{grid-template-columns:1fr;gap:10px}.ots-booking-filters .ots-filter-search{grid-column:auto}.ots-booking-filters input,.ots-booking-filters select{height:46px;font-size:16px}.ots-filter-reset{width:100%;height:44px}.ots-booking-list-table td:nth-child(1)::before{content:'Booking ID'}.ots-booking-list-table td:nth-child(2)::before{content:'Customer'}.ots-booking-list-table td:nth-child(3)::before{content:'Pax'}.ots-booking-list-table td:nth-child(4)::before{content:'Package'}.ots-booking-list-table td:nth-child(5)::before{content:'Departure'}.ots-booking-list-table td:nth-child(6)::before{content:'Payment'}.ots-booking-list-table td:nth-child(7)::before{content:'Status'}.ots-booking-list-table td:nth-child(8)::before{content:'Action'}.ots-booking-list-table td:nth-child(3){text-align:left}.ots-row-actions.ots-list-actions{justify-self:end}}

/* v1.4.24 Booking AJAX pagination */
.ots-booking-pagination{gap:14px;flex-wrap:wrap}.ots-booking-pagination .ots-pagination-pages{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ots-booking-pagination .ots-pagination-pages button{appearance:none;border:1px solid var(--ots-line);background:#fff;color:#586477;min-width:34px;height:34px;padding:0 10px;border-radius:8px;font:inherit;font-size:12px;font-weight:750;cursor:pointer;display:inline-grid;place-items:center}.ots-booking-pagination .ots-pagination-pages button:hover:not(:disabled){border-color:#ef9aa5;color:var(--ots-red);background:#fff7f8}.ots-booking-pagination .ots-pagination-pages button.active{background:var(--ots-red);border-color:var(--ots-red);color:#fff}.ots-booking-pagination .ots-pagination-pages button:disabled{opacity:.4;cursor:not-allowed}.ots-booking-results.is-loading{opacity:.6;pointer-events:none}
@media(max-width:720px){.ots-booking-pagination{align-items:stretch!important}.ots-booking-pagination .ots-pagination-pages{width:100%;justify-content:space-between}.ots-booking-pagination .ots-pagination-pages button{min-width:36px;height:38px}.ots-booking-pagination .ots-pagination-pages button:first-child,.ots-booking-pagination .ots-pagination-pages button:last-child{padding:0 12px}}

/* v1.4.25 — Settings center */
.ots-page-settings .ots-title-row{margin-bottom:18px}
.ots-settings-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:18px;align-items:start}
.ots-settings-tabs{background:#fff;border:1px solid var(--ots-line);border-radius:14px;padding:8px;position:sticky;top:18px;box-shadow:0 8px 30px rgba(22,35,61,.035)}
.ots-settings-tabs a{display:block;text-decoration:none;padding:11px 12px;border-radius:10px;color:var(--ots-text);border:1px solid transparent;margin-bottom:3px}
.ots-settings-tabs a:last-child{margin-bottom:0}
.ots-settings-tabs a strong{display:block;font-size:12px;line-height:1.25;color:var(--ots-navy)}
.ots-settings-tabs a span{display:block;font-size:9.5px;line-height:1.35;color:var(--ots-muted);margin-top:3px}
.ots-settings-tabs a:hover{background:#fafbfc}
.ots-settings-tabs a.active{background:#fff3f4;border-color:#f6cfd4}
.ots-settings-tabs a.active strong{color:var(--ots-red)}
.ots-settings-content{min-width:0}
.ots-settings-form{display:flex;flex-direction:column;gap:14px}
.ots-settings-card{background:#fff;border:1px solid var(--ots-line);border-radius:14px;padding:18px;box-shadow:0 8px 28px rgba(22,35,61,.03);margin-bottom:14px}
.ots-settings-form .ots-settings-card{margin-bottom:0}
.ots-settings-card .ots-card-head{margin-bottom:16px}
.ots-settings-card .ots-card-head h2{font-size:15px;margin:0;color:var(--ots-navy)}
.ots-settings-card .ots-card-head p{font-size:10.5px;margin:4px 0 0;color:var(--ots-muted)}
.ots-settings-grid{display:grid;gap:13px}
.ots-settings-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ots-settings-grid .full{grid-column:1/-1}
.ots-settings-grid label,.ots-brand-upload>span{display:block;font-size:10.5px;font-weight:750;color:#526073}
.ots-settings-grid input,.ots-settings-grid select,.ots-settings-grid textarea,.ots-settings-inline input,.ots-brand-upload input[type=file]{width:100%;margin-top:6px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;color:var(--ots-navy);font:inherit;font-size:12px;padding:10px 11px;min-height:40px;box-sizing:border-box}
.ots-settings-grid textarea{resize:vertical;min-height:78px}
.ots-settings-grid input:focus,.ots-settings-grid select:focus,.ots-settings-grid textarea:focus,.ots-settings-inline input:focus{outline:none;border-color:#ef9aa5;box-shadow:0 0 0 3px rgba(223,38,56,.08)}
.ots-settings-grid label small{display:block;font-size:9px;font-weight:500;color:var(--ots-muted);margin-top:5px}
.ots-settings-toggles{display:flex;flex-direction:column;border-top:1px solid #f0f2f4;margin-top:14px}
.ots-settings-toggles>label{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:13px 0;border-bottom:1px solid #f0f2f4;cursor:pointer}
.ots-settings-toggles>label:last-child{border-bottom:0;padding-bottom:0}
.ots-settings-toggles strong{font-size:11px;color:var(--ots-navy);display:block}
.ots-settings-toggles small{font-size:9.5px;color:var(--ots-muted);display:block;margin-top:3px;line-height:1.4}
.ots-settings-toggles input[type=checkbox]{appearance:none;-webkit-appearance:none;width:40px;height:22px;border-radius:999px;background:#dfe3e8;position:relative;flex:0 0 auto;cursor:pointer;transition:.18s ease;border:0}
.ots-settings-toggles input[type=checkbox]:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s ease}
.ots-settings-toggles input[type=checkbox]:checked{background:var(--ots-red)}
.ots-settings-toggles input[type=checkbox]:checked:after{left:21px}
.ots-settings-savebar{position:sticky;bottom:10px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(9px);border:1px solid var(--ots-line);border-radius:12px;padding:11px 13px;box-shadow:0 12px 36px rgba(22,35,61,.10)}
.ots-settings-savebar strong{font-size:11px;color:var(--ots-navy);display:block}
.ots-settings-savebar span{font-size:9px;color:var(--ots-muted);display:block;margin-top:2px}
.ots-settings-savebar .ots-btn{min-width:125px}
.ots-settings-notice{padding:11px 13px;border-radius:10px;font-size:10.5px;font-weight:700;margin-bottom:14px;border:1px solid}
.ots-settings-notice.success{background:#ecf9f3;border-color:#c7ecdb;color:#147a53}
.ots-settings-notice.error{background:#fff2f2;border-color:#f4cccc;color:#aa2833}
.ots-settings-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ots-settings-health-grid>div{border:1px solid #edf0f3;background:#fafbfc;border-radius:10px;padding:12px}
.ots-settings-health-grid span{font-size:9px;color:var(--ots-muted);display:block}
.ots-settings-health-grid strong{font-size:13px;color:var(--ots-navy);display:block;margin-top:4px}
.ots-brand-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
.ots-brand-upload{border:1px solid #e7eaf0;border-radius:11px;padding:13px;background:#fbfcfd}
.ots-brand-upload .preview{height:84px;background:#fff;border:1px solid #edf0f3;border-radius:8px;margin:8px 0 10px;display:flex;align-items:center;justify-content:center;padding:10px}
.ots-brand-upload .preview img{max-width:190px;max-height:58px;object-fit:contain}
.ots-brand-upload input[type=file]{font-size:9.5px;padding:8px;min-height:auto}
.ots-brand-upload .remove{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--ots-muted);margin-top:8px;font-weight:600}
.ots-brand-upload .remove input{width:auto;margin:0}
.ots-test-email-form{margin-top:14px}
.ots-settings-inline{display:flex;gap:9px;align-items:center}
.ots-settings-inline input{margin:0;flex:1}
.ots-settings-inline .ots-btn{white-space:nowrap}
@media(max-width:960px){
  .ots-settings-layout{grid-template-columns:1fr}
  .ots-settings-tabs{position:static;display:flex;gap:6px;overflow:auto;padding:7px;-webkit-overflow-scrolling:touch}
  .ots-settings-tabs a{min-width:132px;margin:0;flex:0 0 auto}
  .ots-settings-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .ots-settings-card{padding:14px;border-radius:12px}
  .ots-settings-grid.two,.ots-brand-upload-grid,.ots-settings-health-grid{grid-template-columns:1fr}
  .ots-settings-grid .full{grid-column:auto}
  .ots-settings-savebar{bottom:76px;padding:10px}
  .ots-settings-savebar>div{display:none}
  .ots-settings-savebar .ots-btn{width:100%}
  .ots-settings-inline{flex-direction:column;align-items:stretch}
  .ots-settings-tabs a{min-width:122px;padding:10px}
}


/* v1.4.29 — Payment gateway master switch */
.ots-gateway-master-card{overflow:hidden}
.ots-gateway-master-toggle{margin-top:0;border-top:0}
.ots-gateway-master-toggle>label{padding-top:4px}
.ots-gateway-mode-note{display:flex;align-items:flex-start;gap:10px;margin:4px 0 16px;padding:11px 12px;border-radius:10px;border:1px solid}
.ots-gateway-mode-note strong{font-size:11px;white-space:nowrap}
.ots-gateway-mode-note span{font-size:9.75px;line-height:1.45}
.ots-gateway-mode-note.test{background:#f4f7fb;border-color:#dce5f0;color:#49627d}
.ots-gateway-mode-note.live{background:#ecf9f3;border-color:#c9eadc;color:#167451}
.ots-gateway-master-card.is-disabled .ots-gateway-provider-config{opacity:.72}
@media(max-width:640px){.ots-gateway-mode-note{display:block}.ots-gateway-mode-note strong{display:block;margin-bottom:3px}}

/* v1.4.30 — Settings IA refresh + admin readability pass */
.ots-settings-subtabs{display:flex;gap:8px;margin:0 0 14px;padding:5px;background:#eef1f5;border:1px solid #e4e8ee;border-radius:13px;max-width:650px}
.ots-settings-subtabs a{display:flex;align-items:center;gap:10px;min-width:0;flex:1;padding:10px 12px;border-radius:9px;color:#556275!important;border:1px solid transparent;background:transparent;transition:.16s ease}
.ots-settings-subtabs a:hover{background:rgba(255,255,255,.65);color:var(--ots-navy)!important}
.ots-settings-subtabs a.active{background:#fff;border-color:#e4e7ec;box-shadow:0 3px 10px rgba(22,35,61,.06);color:var(--ots-navy)!important}
.ots-settings-subtab-icon{width:32px;height:32px;border-radius:9px;background:#fff;color:#7a8798;display:grid;place-items:center;font-size:11px;font-weight:900;border:1px solid #e5e8ed;flex:0 0 auto}
.ots-settings-subtabs a.active .ots-settings-subtab-icon{background:#fff1f3;border-color:#f2cbd1;color:var(--ots-red)}
.ots-settings-subtabs strong{display:block;font-size:13.5px;line-height:1.25;color:inherit}
.ots-settings-subtabs small{display:block;font-size:11px;line-height:1.3;color:#8993a2;margin-top:2px}
.ots-settings-test-card{border-style:dashed;background:#fcfcfd}
.ots-settings-test-card .ots-card-head{margin-bottom:0}

/* Admin-wide readability: keep the visual density, remove micro text. */
.ots-admin-layout .ots-side-nav a{font-size:14px;line-height:1.3}
.ots-admin-layout .ots-support b{font-size:13px}.ots-admin-layout .ots-support span{font-size:12px}
.ots-admin-layout .ots-user-chip strong{font-size:14px}.ots-admin-layout .ots-user-chip small{font-size:12px}
.ots-admin-layout .ots-search input{font-size:14px}
.ots-admin-layout .ots-breadcrumb{font-size:12px}
.ots-admin-layout .ots-title-row p{font-size:14px;line-height:1.5}
.ots-admin-layout .ots-btn{font-size:14px;line-height:1.2}
.ots-admin-layout .ots-stat span{font-size:13px}.ots-admin-layout .ots-stat small{font-size:11.5px}
.ots-admin-layout .ots-card-head h2,.ots-admin-layout .ots-card-head h3{font-size:16.5px;line-height:1.3}
.ots-admin-layout .ots-card-head p{font-size:12.5px;line-height:1.5}
.ots-admin-layout .ots-link{font-size:12.5px}
.ots-admin-layout .ots-table th{font-size:11.5px;line-height:1.3;padding:12px 10px}
.ots-admin-layout .ots-table td{font-size:13px;line-height:1.45;padding:13px 10px}
.ots-admin-layout .ots-table strong{font-size:13px}.ots-admin-layout .ots-table small{font-size:11.5px;line-height:1.35}
.ots-admin-layout .ots-status{font-size:10.8px;line-height:1.2;padding:5px 9px}
.ots-admin-layout .ots-row-actions a,.ots-admin-layout .ots-flight-actions a{font-size:13px!important}
.ots-admin-layout .ots-pagination{font-size:12px}
.ots-admin-layout .ots-note{font-size:12px;line-height:1.5}
.ots-admin-layout .ots-badge{font-size:10.5px}
.ots-admin-layout .ots-filters input,.ots-admin-layout .ots-filters select{font-size:13px}
.ots-admin-layout .ots-detail-summary span{font-size:11.5px}.ots-admin-layout .ots-detail-summary strong{font-size:13px}
.ots-admin-layout .ots-detail-lines span{font-size:12px}.ots-admin-layout .ots-detail-lines strong{font-size:12.5px}

/* Settings readability */
.ots-page-settings .ots-settings-tabs a{padding:12px 13px}
.ots-page-settings .ots-settings-tabs a strong{font-size:13.5px;line-height:1.3}
.ots-page-settings .ots-settings-tabs a span{font-size:11px;line-height:1.4;margin-top:4px}
.ots-page-settings .ots-settings-card{padding:20px}
.ots-page-settings .ots-settings-card .ots-card-head h2{font-size:17px}
.ots-page-settings .ots-settings-card .ots-card-head p{font-size:12.5px;line-height:1.5}
.ots-page-settings .ots-settings-grid{gap:15px}
.ots-page-settings .ots-settings-grid label,.ots-page-settings .ots-brand-upload>span{font-size:12.5px;line-height:1.35}
.ots-page-settings .ots-settings-grid input,.ots-page-settings .ots-settings-grid select,.ots-page-settings .ots-settings-grid textarea,.ots-page-settings .ots-settings-inline input{font-size:14px;min-height:44px;padding:11px 12px}
.ots-page-settings .ots-settings-grid label small{font-size:11px;line-height:1.45;margin-top:6px}
.ots-page-settings .ots-settings-toggles>label{padding:15px 0}
.ots-page-settings .ots-settings-toggles strong{font-size:13px;line-height:1.35}
.ots-page-settings .ots-settings-toggles small{font-size:11.5px;line-height:1.45;margin-top:4px}
.ots-page-settings .ots-settings-savebar{padding:13px 14px}
.ots-page-settings .ots-settings-savebar strong{font-size:13px}.ots-page-settings .ots-settings-savebar span{font-size:11px}
.ots-page-settings .ots-settings-notice{font-size:12.5px;line-height:1.45;padding:12px 14px}
.ots-page-settings .ots-settings-health-grid span{font-size:11px}.ots-page-settings .ots-settings-health-grid strong{font-size:14px}
.ots-page-settings .ots-gateway-mode-note strong{font-size:13px}.ots-page-settings .ots-gateway-mode-note span{font-size:11.5px;line-height:1.45}

@media(max-width:760px){
  .ots-settings-subtabs{max-width:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .ots-settings-subtabs a{padding:9px;gap:8px}
  .ots-settings-subtab-icon{width:30px;height:30px}
  .ots-settings-subtabs strong{font-size:12.5px}.ots-settings-subtabs small{font-size:10px}
  .ots-page-settings .ots-settings-card{padding:16px}
  .ots-admin-layout .ots-table td{font-size:13px!important}.ots-admin-layout .ots-table strong{font-size:13px!important}.ots-admin-layout .ots-table small{font-size:11.5px!important}
}


/* v1.4.32 — Admin bookings sales filter, sales column and safer destructive action */
.ots-booking-filters{grid-template-columns:minmax(300px,1.35fr) minmax(170px,.68fr) minmax(170px,.68fr) minmax(165px,.6fr) auto}
.ots-booking-list-table td:nth-child(8){white-space:nowrap}
.ots-row-actions a,.ots-flight-actions a{font-size:14px!important;font-weight:750!important;line-height:1.25}
.ots-admin-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ots-inline-delete-form{display:inline-flex;margin:0 0 0 auto;padding:0}
.ots-btn.danger{background:#fff1f3!important;color:#c5263b!important;border:1px solid #f1bbc3!important}
.ots-btn.danger:hover{background:#ffe5e9!important;color:#a91f31!important;border-color:#e999a4!important}
@media(max-width:1100px){.ots-booking-filters{grid-template-columns:1fr 1fr}.ots-booking-filters .ots-filter-search{grid-column:1/-1}.ots-filter-reset{justify-self:start}}
@media(max-width:700px){
  .ots-booking-list-table td:nth-child(1)::before{content:'Booking ID'}
  .ots-booking-list-table td:nth-child(2)::before{content:'Customer'}
  .ots-booking-list-table td:nth-child(3)::before{content:'Pax'}
  .ots-booking-list-table td:nth-child(4)::before{content:'Package'}
  .ots-booking-list-table td:nth-child(5)::before{content:'Departure'}
  .ots-booking-list-table td:nth-child(6)::before{content:'Payment'}
  .ots-booking-list-table td:nth-child(7)::before{content:'Sales Person'}
  .ots-booking-list-table td:nth-child(8)::before{content:'Status'}
  .ots-booking-list-table td:nth-child(9)::before{content:'Action'}
  .ots-inline-delete-form{margin-left:0;width:100%}.ots-inline-delete-form .ots-btn{width:100%}
}

/* v1.4.33 — Flight details countdown + attached booking list */
.ots-flight-countdown{display:inline-flex!important;align-items:center;justify-content:center;min-height:30px;padding:6px 11px!important;font-size:14px!important;font-weight:800!important;line-height:1!important}
.ots-flight-bookings-card{margin-top:18px}
.ots-flight-bookings-card .ots-card-head{margin-bottom:4px}
.ots-flight-bookings-table td strong{display:block;font-size:14px;line-height:1.35}
.ots-flight-bookings-table td small{display:block;margin-top:4px;font-size:12.5px;line-height:1.35;color:var(--ots-muted,#6b7280)}
.ots-flight-bookings-table td small .ots-status{display:inline-flex;margin-top:2px}
@media(max-width:720px){
  .ots-flight-bookings-table thead{display:none}
  .ots-flight-bookings-table,.ots-flight-bookings-table tbody,.ots-flight-bookings-table tr,.ots-flight-bookings-table td{display:block;width:100%}
  .ots-flight-bookings-table tr{padding:14px 15px;border:1px solid #e7e9ef;border-radius:14px;margin-bottom:10px;background:#fff}
  .ots-flight-bookings-table td{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;gap:12px;padding:8px 0!important;border:0!important;align-items:start}
  .ots-flight-bookings-table td::before{font-size:12px;font-weight:750;color:#7b8290}
  .ots-flight-bookings-table td:nth-child(1)::before{content:'Booking ID'}
  .ots-flight-bookings-table td:nth-child(2)::before{content:'Customer'}
  .ots-flight-bookings-table td:nth-child(3)::before{content:'Pax'}
  .ots-flight-bookings-table td:nth-child(4)::before{content:'Payment'}
  .ots-flight-bookings-table td:nth-child(5)::before{content:'Sales Person'}
  .ots-flight-bookings-table td:nth-child(6)::before{content:'Status'}
  .ots-flight-bookings-table td:nth-child(7)::before{content:'Action'}
  .ots-flight-bookings-table td>*{justify-self:end;text-align:right;max-width:100%}
}

/* v1.4.34 — Flight Details attached-booking pagination */
.ots-flight-booking-results{transition:opacity .18s ease}
.ots-flight-booking-results.is-loading{opacity:.55;pointer-events:none}
.ots-flight-bookings-table .ots-row-actions a{font-size:14px;font-weight:700;white-space:nowrap}


/* v1.4.35 — Flight Details summary + attached-booking listing polish */
.ots-flight-detail-summary>.ots-flight-summary-metric{
  min-height:96px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ots-flight-detail-summary>.ots-flight-summary-metric>span{
  font-size:11.5px!important;
  margin-bottom:8px!important;
}
.ots-flight-detail-summary>.ots-flight-summary-metric>strong{
  display:block;
  font-size:19px!important;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.015em;
  color:var(--ots-navy);
}
.ots-flight-detail-summary>.ots-flight-summary-metric>i{
  margin-top:6px;
  font-size:11px;
  line-height:1.3;
  color:var(--ots-muted);
}
.ots-flight-detail-summary>.ots-flight-summary-metric>strong>.ots-status{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 11px!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
}
.ots-flight-detail-summary>.ots-flight-summary-countdown>strong>.ots-flight-countdown{
  font-size:18px!important;
  min-height:36px;
  padding:8px 12px!important;
}
/* Keep Attached Package intentionally compact so the operational metrics lead visually. */
.ots-flight-detail-summary>.ots-flight-summary-package strong{font-size:13px!important;line-height:1.35}
.ots-flight-detail-summary>.ots-flight-summary-package span{font-size:11.5px!important}
.ots-flight-detail-summary>.ots-flight-summary-package i{display:block;margin-top:5px;font-size:11px;color:var(--ots-muted)}

/* Match the established Admin Bookings listing language. */
.ots-flight-bookings-card{overflow:visible}
.ots-flight-bookings-listing th{
  font-size:11px!important;
  padding:12px 10px!important;
  color:#6e7888;
  font-weight:800;
  white-space:nowrap;
}
.ots-flight-bookings-listing td{
  font-size:12.5px!important;
  padding:13px 10px!important;
  vertical-align:middle;
}
.ots-flight-bookings-listing td strong{font-size:12.8px!important;line-height:1.4}
.ots-flight-bookings-listing td small{font-size:10.8px!important;line-height:1.45;margin-top:3px!important}
.ots-flight-bookings-listing .ots-list-actions{gap:9px;align-items:center;white-space:nowrap}
.ots-flight-bookings-listing .ots-list-actions a{
  font-size:12.5px!important;
  font-weight:750!important;
  line-height:1.2;
  color:var(--ots-red);
}
.ots-flight-booking-pagination{
  margin-top:2px;
  padding-top:14px;
  border-top:1px solid #eef1f4;
}
.ots-flight-booking-pagination .ots-pagination-pages button{
  appearance:none;
  border:1px solid var(--ots-line);
  background:#fff;
  color:#586477;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:8px;
  font:inherit;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
  display:inline-grid;
  place-items:center;
}
.ots-flight-booking-pagination .ots-pagination-pages button:hover:not(:disabled){border-color:#ef9aa5;color:var(--ots-red);background:#fff7f8}
.ots-flight-booking-pagination .ots-pagination-pages button.active{background:var(--ots-red);border-color:var(--ots-red);color:#fff}
.ots-flight-booking-pagination .ots-pagination-pages button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1050px){
  .ots-flight-detail-summary>.ots-flight-summary-metric{min-height:88px}
}
@media(max-width:720px){
  .ots-flight-detail-summary>.ots-flight-summary-metric{min-height:0;padding:16px 15px}
  .ots-flight-detail-summary>.ots-flight-summary-metric>strong{font-size:18px!important}
  .ots-flight-booking-pagination{align-items:stretch!important}
  .ots-flight-booking-pagination .ots-pagination-pages{width:100%;justify-content:space-between}
  .ots-flight-booking-pagination .ots-pagination-pages button{min-width:36px;height:38px}
  .ots-flight-booking-pagination .ots-pagination-pages button:first-child,
  .ots-flight-booking-pagination .ots-pagination-pages button:last-child{padding:0 12px}
}

/* v1.4.36 — Flights master directories: Airlines & Airports */
.ots-airline-logo-mark{width:38px;height:38px;border:1px solid #edf0f4;background:#fff;border-radius:9px;overflow:hidden;padding:5px;flex:0 0 38px}.ots-airline-logo-mark img{display:block;width:100%;height:100%;object-fit:contain}.ots-flight-logo-icon{width:48px;height:48px;border:1px solid #edf0f4;background:#fff;border-radius:11px;overflow:hidden;padding:6px;display:grid;place-items:center}.ots-flight-logo-icon img{width:100%;height:100%;object-fit:contain;display:block}.ots-flight-route-display small{display:block;color:#8c97a6;font-size:10.5px;margin-top:3px;line-height:1.3}.ots-airport-code{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:30px;padding:0 9px;border-radius:8px;background:#eef3ff;color:#3457ad;font-size:12.5px;font-weight:850;letter-spacing:.06em}.ots-directory-editor{max-width:1040px}.ots-directory-editor-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}.ots-airline-logo-editor{border:1px solid var(--ots-line);border-radius:12px;background:#fafbfc;padding:16px}.ots-airline-logo-preview{height:120px;border:1px dashed #cfd5dd;border-radius:11px;background:#fff;display:grid;place-items:center;margin-bottom:14px;color:#8d97a5}.ots-airline-logo-preview img{max-width:90%;max-height:82px;object-fit:contain}.ots-airline-logo-preview .ots-svg-icon{width:34px;height:34px}.ots-airline-logo-editor label{display:block;font-size:12.5px;font-weight:750;color:#485568}.ots-airline-logo-editor input[type=file]{width:100%;margin-top:7px;font-size:12px}.ots-airline-logo-editor small{display:block;color:var(--ots-muted);font-size:10.5px;line-height:1.45;margin-top:7px}.ots-check-line{display:flex!important;align-items:center;gap:8px;margin-top:12px;font-size:11.5px!important;font-weight:650!important}.ots-check-line input{margin:0!important}.ots-directory-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.ots-directory-table .ots-airline{min-width:210px}.ots-master-search-select{margin-top:7px}.ots-master-option{justify-content:flex-start}.ots-master-option>span:not(.ots-master-option-logo){min-width:0;flex:1}.ots-master-option-logo{width:36px;height:36px;border:1px solid #edf0f4;border-radius:8px;background:#fff;display:grid;place-items:center;overflow:hidden;padding:4px;color:#667085;font-size:10px;font-weight:850;flex:0 0 36px}.ots-master-option-logo img{width:100%;height:100%;object-fit:contain}.ots-note-warning a{color:#9c6510;font-weight:800;text-decoration:underline}.ots-flight-form-grid label>a,.ots-flight-form-grid small a{color:var(--ots-red);font-weight:700}.ots-flight-form-grid .ots-search-select{margin-top:7px}.ots-nav-submenu a[href*="flight_section=airlines"],.ots-nav-submenu a[href*="flight_section=airports"]{padding:8px 10px!important}
@media(max-width:760px){.ots-directory-editor-grid{grid-template-columns:1fr}.ots-directory-fields{grid-template-columns:1fr}.ots-airline-logo-editor{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:center}.ots-airline-logo-preview{height:82px;margin:0}.ots-airline-logo-editor .ots-check-line{grid-column:1/-1}.ots-directory-table .ots-airline{min-width:0}.ots-master-search-select .ots-search-select-menu{position:fixed;left:15px;right:15px;top:20%;max-height:65vh}}

/* v1.4.37 — Flights logo emphasis + simplified airline editor */
.ots-flight-airline-feature{display:flex;align-items:center;gap:14px;min-width:250px}
.ots-flight-airline-logo-wide{width:150px;height:52px;display:flex;align-items:center;justify-content:flex-start;flex:0 0 150px;background:transparent;overflow:hidden}
.ots-flight-airline-logo-wide img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.ots-flight-airline-logo-fallback{width:54px;height:44px;border-radius:10px;background:#f5f6f8;color:#737d8c;display:grid;place-items:center}
.ots-flight-airline-logo-fallback .ots-svg-icon{width:24px;height:24px}
.ots-flight-airline-copy{min-width:0}.ots-flight-airline-copy strong{display:block;font-size:14px!important;line-height:1.25}.ots-flight-airline-copy small{display:block;margin-top:3px}

.ots-airline-editor-page{max-width:1080px}.ots-airline-editor-card{overflow:visible}
.ots-airline-editor-layout{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:24px;align-items:stretch}
.ots-airline-brand-panel,.ots-airline-info-panel{border:1px solid var(--ots-line);border-radius:16px;background:#fbfcfd;padding:20px}
.ots-airline-info-panel{background:#fff}
.ots-field-eyebrow{display:block;margin-bottom:12px;font-size:11.5px;font-weight:850;letter-spacing:.08em;color:#7a8492}
.ots-airline-logo-preview-wide{height:150px!important;border:1px dashed #cbd2dc!important;border-radius:14px!important;background:#fff!important;padding:20px!important;margin:0 0 14px!important}
.ots-airline-logo-preview-wide img{display:block;max-width:100%!important;width:100%;max-height:100%!important;height:100%;object-fit:contain}
.ots-airline-logo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;color:#7b8492}
.ots-airline-logo-empty .ots-svg-icon{width:30px;height:30px}.ots-airline-logo-empty strong{font-size:14px;color:#344054}.ots-airline-logo-empty small{font-size:12px;color:#8a94a3}
.ots-airline-upload-control{display:block!important;font-size:13px!important;font-weight:750!important;color:#344054!important}
.ots-airline-upload-control>span{display:block;margin-bottom:7px}.ots-airline-upload-control input[type=file]{display:block;width:100%;padding:10px;border:1px solid #dfe3e9;border-radius:10px;background:#fff;font-size:12.5px}
.ots-airline-upload-control small{display:block;margin-top:7px;font-size:11.5px!important;color:#7b8492!important;font-weight:500!important}
.ots-airline-remove-logo{margin-top:14px!important}
.ots-airline-fields{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr)!important;align-items:end}.ots-airline-fields label.full{grid-column:1/-1}
.ots-airline-linked-stat{border:1px solid #eceff3;border-radius:12px;background:#fafbfc;padding:14px 16px;min-height:88px;display:flex;flex-direction:column;justify-content:center}
.ots-airline-linked-stat span{font-size:11.5px;font-weight:750;color:#7b8492}.ots-airline-linked-stat strong{font-size:25px;line-height:1.1;margin:4px 0;color:#172033}.ots-airline-linked-stat small{font-size:11.5px;color:#8a94a3}
.ots-airline-directory-brand{display:flex;align-items:center;gap:16px;min-width:280px}.ots-airline-directory-brand>strong{font-size:14px!important}
.ots-airline-directory-logo{width:150px;height:52px;display:flex;align-items:center;justify-content:flex-start;flex:0 0 150px;overflow:hidden}.ots-airline-directory-logo img{width:100%;height:100%;display:block;object-fit:contain;object-position:left center}
.ots-airline-directory-fallback{width:52px;height:42px;display:grid;place-items:center;border-radius:10px;background:#f5f6f8;color:#737d8c}.ots-airline-directory-fallback .ots-svg-icon{width:22px;height:22px}

@media(max-width:900px){.ots-airline-editor-layout{grid-template-columns:1fr}.ots-airline-fields{grid-template-columns:1fr!important}.ots-airline-linked-stat{min-height:0}}
@media(max-width:680px){
  .ots-flight-airline-feature{min-width:0;gap:12px;justify-content:flex-end}.ots-flight-airline-logo-wide{width:104px;height:40px;flex-basis:104px}.ots-flight-airline-copy{text-align:right}
  .ots-airline-editor-page{max-width:none}.ots-airline-brand-panel,.ots-airline-info-panel{padding:16px}.ots-airline-logo-preview-wide{height:125px!important}
  .ots-airline-directory-brand{min-width:0;justify-content:flex-end}.ots-airline-directory-logo{width:105px;height:40px;flex-basis:105px}.ots-airline-directory-brand>strong{text-align:right}
}

/* v1.4.38 — Staff mobile app experience */
.ots-staff-mobile-home-head,.ots-staff-mobile-money-card,.ots-staff-mobile-recent-list,.ots-staff-booking-mobile-list,.ots-staff-filter-toggle,.ots-staff-profile-hero{display:none}

@media(max-width:760px){
  /* Staff app shell */
  .ots-staff-app{background:#f5f6f8!important;min-height:100dvh}
  .ots-staff-app .ots-topbar{display:none!important}
  .ots-staff-app .ots-sidebar{display:none!important}
  .ots-staff-app .ots-mobile-overlay{display:none!important}
  .ots-staff-app .ots-mobile-appbar{
    min-height:calc(58px + env(safe-area-inset-top))!important;
    padding:env(safe-area-inset-top) 16px 0!important;
    border-bottom:0!important;
    background:#fff!important;
  }
  .ots-staff-app .ots-mobile-brand{height:58px!important}
  .ots-staff-app .ots-mobile-brand img{width:132px!important;max-width:50vw!important;max-height:34px!important}
  .ots-staff-app .ots-main{padding:14px 13px calc(84px + env(safe-area-inset-bottom))!important;background:#f5f6f8!important}
  .ots-staff-app .ots-breadcrumb{display:none!important}
  .ots-staff-app .ots-title-row{margin:0 0 13px!important;gap:5px!important}
  .ots-staff-app .ots-title-row h1{font-size:22px!important;letter-spacing:-.025em!important}
  .ots-staff-app .ots-title-row p{font-size:12px!important;line-height:1.4!important;color:#7d8796!important}

  /* True app bottom tabs for staff — no drawer / More item. */
  .ots-staff-app .ots-staff-app-tabs{
    grid-template-columns:repeat(4,1fr)!important;
    left:0!important;right:0!important;bottom:0!important;width:100%!important;
    min-height:calc(68px + env(safe-area-inset-bottom))!important;
    padding:7px 7px calc(6px + env(safe-area-inset-bottom))!important;
    border:0!important;border-top:1px solid #e3e7ec!important;border-radius:0!important;
    background:#fff!important;box-shadow:0 -7px 25px rgba(20,31,49,.075)!important;
  }
  .ots-staff-app .ots-staff-app-tabs a{min-height:52px!important;border-radius:12px!important;color:#8b95a4!important;gap:3px!important}
  .ots-staff-app .ots-staff-app-tabs a.active{background:#fff1f3!important;color:var(--ots-red)!important}
  .ots-staff-app .ots-staff-app-tabs .ots-svg-icon{width:21px!important;height:21px!important}
  .ots-staff-app .ots-staff-app-tabs small{font-size:10px!important;font-weight:800!important}

  /* Staff dashboard home */
  .ots-staff-app.ots-page-dashboard .ots-title-row{display:none!important}
  .ots-staff-mobile-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:2px 1px 13px}
  .ots-staff-mobile-home-head>div>span{display:block;font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:#9aa3af;margin-bottom:3px}
  .ots-staff-mobile-home-head h2{margin:0;color:var(--ots-navy);font-size:24px;line-height:1.12;letter-spacing:-.025em}
  .ots-staff-mobile-home-head p{margin:5px 0 0;color:#7f8997;font-size:12.5px;line-height:1.35}
  .ots-staff-mobile-role{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#fff;border:1px solid #e7eaf0;border-radius:999px;padding:6px 9px;color:#687588;font-size:9.5px;font-weight:800}

  .ots-staff-mobile-money-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;padding:17px 16px;border-radius:18px;background:linear-gradient(135deg,#d91f35 0%,#ed4557 100%);box-shadow:0 10px 24px rgba(217,31,53,.18);color:#fff}
  .ots-staff-mobile-money-card span{display:block;font-size:11px;font-weight:700;color:rgba(255,255,255,.78)}
  .ots-staff-mobile-money-card strong{display:block;margin-top:5px;font-size:27px;line-height:1.05;letter-spacing:-.03em;color:#fff}
  .ots-staff-mobile-money-card small{display:block;margin-top:7px;font-size:10.5px;color:rgba(255,255,255,.8)}
  .ots-staff-mobile-money-icon{width:44px;height:44px!important;flex:0 0 44px;display:grid!important;place-items:center;border-radius:14px;background:rgba(255,255,255,.15);color:#fff!important}
  .ots-staff-mobile-money-icon .ots-svg-icon{width:23px;height:23px}

  /* On the app home, the key collection card already carries outstanding + awaiting. */
  .ots-staff-app.ots-page-dashboard .ots-staff-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;margin-bottom:11px!important}
  .ots-staff-app.ots-page-dashboard .ots-staff-admin-stats .ots-stat:nth-child(3),
  .ots-staff-app.ots-page-dashboard .ots-staff-admin-stats .ots-stat:nth-child(4){display:none!important}
  .ots-staff-app.ots-page-dashboard .ots-stat{min-height:96px!important;padding:14px!important;border-radius:16px!important;box-shadow:none!important}
  .ots-staff-app.ots-page-dashboard .ots-stat span{font-size:11px!important}
  .ots-staff-app.ots-page-dashboard .ots-stat strong{font-size:25px!important;margin-top:8px!important}
  .ots-staff-app.ots-page-dashboard .ots-stat small{display:none!important}
  .ots-staff-app.ots-page-dashboard .ots-stat-icon{width:32px!important;height:32px!important}

  .ots-staff-app.ots-page-dashboard .ots-card{border-radius:17px!important;padding:14px!important;box-shadow:none!important;border-color:#e8ebef!important;margin-bottom:11px!important}
  .ots-staff-app.ots-page-dashboard .ots-card-head{margin-bottom:10px!important}
  .ots-staff-app.ots-page-dashboard .ots-card-head h2{font-size:15.5px!important}
  .ots-staff-app.ots-page-dashboard .ots-card-head p{display:none!important}
  .ots-staff-app.ots-page-dashboard .ots-card-head .ots-link{font-size:11.5px!important;min-height:auto!important}

  /* Dedicated recent-booking cards — only the essentials are visible at first glance. */
  .ots-staff-mobile-recent-list{display:grid;gap:9px}
  .ots-staff-app.ots-page-dashboard .ots-staff-dashboard-table{display:none!important}
  .ots-staff-mobile-booking-card{display:block!important;border:1px solid #e9ecf0;border-radius:15px;background:#fafbfc;padding:12px;color:inherit!important;text-decoration:none!important}
  .ots-staff-mobile-booking-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .ots-staff-mobile-booking-top>span:first-child strong{display:block;color:#435064;font-size:11px;letter-spacing:.015em}
  .ots-staff-mobile-booking-top>span:first-child small{display:block;margin-top:2px;color:#9aa3af;font-size:9.5px}
  .ots-staff-mobile-booking-card h3{margin:10px 0 2px;color:var(--ots-navy);font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-staff-mobile-booking-card>p{margin:0;color:#7e8998;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-staff-mobile-booking-bottom{display:grid;grid-template-columns:1fr 1fr 26px;gap:8px;align-items:end;margin-top:11px;padding-top:10px;border-top:1px solid #eceff2}
  .ots-staff-mobile-booking-bottom span small{display:block;color:#98a1ae;font-size:9px}
  .ots-staff-mobile-booking-bottom span strong{display:block;margin-top:2px;color:#465366;font-size:11.5px}
  .ots-staff-mobile-booking-bottom b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#8a95a4}
  .ots-staff-mobile-booking-bottom b .ots-svg-icon{width:16px;height:16px}
  .ots-staff-mobile-empty{padding:22px 10px;text-align:center;color:#8c96a4}
  .ots-staff-mobile-empty strong{display:block;color:#4c5869;font-size:13px}.ots-staff-mobile-empty span{display:block;margin-top:3px;font-size:10.5px}

  /* Needs-attention is the action inbox. */
  .ots-staff-attention-list a{padding:12px 0!important;grid-template-columns:10px minmax(0,1fr) 24px!important}
  .ots-staff-attention-list strong{font-size:12.5px!important}
  .ots-staff-attention-list small{font-size:10.5px!important;line-height:1.35!important}
  .ots-staff-attention-list>a>b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#f7f8fa;font-size:17px!important}

  /* Upcoming departures become swipeable mini trip cards. */
  .ots-staff-upcoming-list{display:flex!important;gap:9px!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding:1px 1px 4px;scrollbar-width:none}
  .ots-staff-upcoming-list::-webkit-scrollbar{display:none}
  .ots-staff-upcoming-list>a{flex:0 0 82%;scroll-snap-align:start;grid-template-columns:48px minmax(0,1fr) 22px!important;border:1px solid #eceff2!important;border-radius:14px!important;background:#fafbfc!important;padding:10px!important}
  .ots-staff-upcoming-list>a:first-child{padding-top:10px!important}
  .ots-staff-upcoming-list strong{font-size:12px!important}.ots-staff-upcoming-list small{font-size:10px!important;line-height:1.3!important}
  .ots-staff-upcoming-list>a>b{font-size:18px!important}

  /* My Bookings — app search/filter bar and purpose-built cards */
  .ots-staff-app.ots-page-bookings .ots-title-row{margin-bottom:10px!important}
  .ots-staff-app.ots-page-bookings .ots-title-row p{display:none!important}
  .ots-staff-app.ots-page-bookings .ots-stats{display:none!important}
  .ots-staff-bookings-card{padding:10px!important;border-radius:17px!important;box-shadow:none!important}
  .ots-staff-booking-filters{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;padding:0!important;margin:0 0 10px!important;border:0!important;background:transparent!important}
  .ots-staff-booking-filters .ots-filter-search{grid-column:1!important}
  .ots-staff-booking-filters .ots-filter-search>span{display:none!important}
  .ots-staff-booking-filters .ots-filter-search>div{height:44px!important;border-radius:12px!important;background:#f6f7f9!important;border:1px solid #e6e9ee!important}
  .ots-staff-booking-filters .ots-filter-search input{height:42px!important;background:transparent!important;border:0!important;font-size:15px!important}
  .ots-staff-filter-toggle{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;height:44px;border:1px solid #e3e7ec;border-radius:12px;background:#fff;color:#667386;font-size:11.5px;font-weight:800;padding:0 12px}
  .ots-staff-filter-toggle .ots-svg-icon{width:16px;height:16px}
  .ots-staff-filter-toggle.active{background:#fff1f3;border-color:#f5c8ce;color:var(--ots-red)}
  .ots-staff-booking-filters .ots-booking-destination-filter,
  .ots-staff-booking-filters .ots-booking-passenger-filter,
  .ots-staff-booking-filters .ots-booking-status-filter,
  .ots-staff-booking-filters .ots-filter-reset{display:none!important}
  .ots-staff-booking-filters.filters-open .ots-booking-destination-filter,
  .ots-staff-booking-filters.filters-open .ots-booking-passenger-filter,
  .ots-staff-booking-filters.filters-open .ots-booking-status-filter{display:block!important;grid-column:1/-1!important}
  .ots-staff-booking-filters.filters-open .ots-filter-reset{display:inline-flex!important;grid-column:1/-1!important;justify-content:center!important;min-height:40px!important;border-radius:10px!important}
  .ots-staff-booking-filters label>span{font-size:10.5px!important;margin-bottom:5px!important}
  .ots-staff-booking-filters select{height:44px!important;border-radius:11px!important;font-size:15px!important}

  .ots-staff-booking-mobile-list{display:grid!important;gap:9px}
  .ots-staff-app .ots-booking-desktop-table{display:none!important}
  .ots-staff-booking-app-card{border:1px solid #e8ebef;border-radius:15px;background:#fff;overflow:hidden}
  .ots-staff-booking-app-main{display:block!important;padding:13px;color:inherit!important;text-decoration:none!important}
  .ots-staff-booking-app-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
  .ots-staff-booking-app-head>span:first-child strong{display:block;color:#4a5668;font-size:11px}.ots-staff-booking-app-head>span:first-child small{display:block;margin-top:2px;color:#9aa3af;font-size:9.5px}
  .ots-staff-booking-app-card h3{margin:10px 0 2px;color:var(--ots-navy);font-size:14px;line-height:1.25}.ots-staff-booking-app-card p{margin:0;color:#808b9a;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-staff-booking-app-meta{display:grid;grid-template-columns:1fr 1fr 26px;gap:8px;align-items:end;margin-top:11px;padding-top:10px;border-top:1px solid #eef0f3}
  .ots-staff-booking-app-meta span small{display:block;font-size:9px;color:#99a2af}.ots-staff-booking-app-meta span strong{display:block;margin-top:2px;font-size:11.5px;color:#485567}
  .ots-staff-booking-app-meta>b{width:26px;height:26px;border-radius:50%;background:#f7f8fa;display:grid;place-items:center;color:#8c96a5}.ots-staff-booking-app-meta>b .ots-svg-icon{width:15px;height:15px}
  .ots-staff-booking-app-edit{display:flex!important;align-items:center;justify-content:center;min-height:38px;border-top:1px solid #eef0f3;background:#fbfcfd;color:var(--ots-red)!important;font-size:11px;font-weight:800;text-decoration:none!important}
  .ots-staff-app .ots-booking-pagination{padding:11px 2px 2px!important;display:block!important;text-align:center}
  .ots-staff-app .ots-booking-pagination>span{display:block;margin-bottom:9px;font-size:10px!important}
  .ots-staff-app .ots-booking-pagination .ots-pagination-pages{justify-content:center;gap:5px!important;flex-wrap:wrap}
  .ots-staff-app .ots-booking-pagination button{min-width:34px;height:34px;border-radius:10px!important;font-size:10.5px!important}

  /* Travel Packages — compact browse cards like a native catalogue. */
  .ots-staff-app.ots-page-packages .ots-filter-row{display:block!important;padding:0!important;background:transparent!important;border:0!important;margin-bottom:11px!important}
  .ots-staff-app.ots-page-packages .ots-filter-row input{width:100%!important;height:44px!important;border-radius:12px!important;background:#fff!important;font-size:15px!important}
  .ots-staff-app.ots-page-packages .ots-filter-row select{display:none!important}
  .ots-staff-app.ots-page-packages .ots-package-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .ots-staff-app.ots-page-packages .ots-package-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;border-radius:16px!important;min-height:128px!important;box-shadow:none!important;border-color:#e7ebef!important}
  .ots-staff-app.ots-page-packages .ots-package-image{height:auto!important;min-height:128px!important;border-radius:15px 0 0 15px!important}
  .ots-staff-app.ots-page-packages .ots-duration-badge{left:7px!important;top:7px!important;padding:4px 7px!important;font-size:8.5px!important}
  .ots-staff-app.ots-page-packages .ots-package-body{padding:12px!important;min-width:0}
  .ots-staff-app.ots-page-packages .ots-package-body h3{font-size:14.5px!important;line-height:1.25!important;margin-bottom:5px!important}
  .ots-staff-app.ots-page-packages .ots-package-meta{display:block!important;margin-bottom:9px!important;font-size:10.5px!important;line-height:1.45!important}
  .ots-staff-app.ots-page-packages .ots-package-meta span{display:block!important;margin-bottom:2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-staff-app.ots-page-packages .ots-package-footer{display:block!important;padding-top:8px!important}
  .ots-staff-app.ots-page-packages .ots-package-price{display:none!important}
  .ots-staff-app.ots-page-packages .ots-package-footer .ots-btn{min-height:36px!important;width:100%!important;border-radius:10px!important;font-size:11.5px!important}

  /* Booking detail / edit screens: reduce visual noise on phones. */
  .ots-staff-app.ots-page-bookings .ots-staff-detail-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:10px!important}
  .ots-staff-app.ots-page-bookings .ots-staff-detail-actions .ots-btn{min-width:0!important;width:100%!important;font-size:12px!important}
  .ots-staff-app.ots-page-bookings .ots-detail-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-bottom:10px!important}
  .ots-staff-app.ots-page-bookings .ots-detail-summary>div{padding:10px!important;border-radius:13px!important;box-shadow:none!important}
  .ots-staff-app.ots-page-bookings .ots-detail-summary>div:nth-child(4){display:none!important}
  .ots-staff-app.ots-page-bookings .ots-detail-summary span{font-size:9.5px!important;margin-bottom:4px!important}.ots-staff-app.ots-page-bookings .ots-detail-summary strong{font-size:11px!important}
  .ots-staff-app.ots-page-bookings .ots-booking-detail-grid{display:block!important}
  .ots-staff-app.ots-page-bookings .ots-detail-lines>div{padding:9px 0!important}.ots-staff-app.ots-page-bookings .ots-detail-lines span{font-size:10.5px!important}.ots-staff-app.ots-page-bookings .ots-detail-lines strong{font-size:11.5px!important;max-width:62%}
  .ots-staff-app.ots-page-bookings .ots-booking-detail-grid>div:first-child>.ots-card:first-child .ots-detail-lines>div:last-child{display:none!important}
  .ots-staff-app .ots-staff-passenger-view-table{min-width:0!important;display:block!important}.ots-staff-app .ots-staff-passenger-view-table thead{display:none!important}.ots-staff-app .ots-staff-passenger-view-table tbody{display:grid!important;gap:7px!important}
  .ots-staff-app .ots-staff-passenger-view-table tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:4px 10px!important;border:1px solid #eceff2!important;border-radius:12px!important;padding:10px!important;background:#fafbfc!important}
  .ots-staff-app .ots-staff-passenger-view-table td{display:block!important;border:0!important;padding:0!important;font-size:11px!important}
  .ots-staff-app .ots-staff-passenger-view-table td:nth-child(1){grid-column:1;grid-row:1}.ots-staff-app .ots-staff-passenger-view-table td:nth-child(2){grid-column:1;grid-row:2;color:#7f8998}.ots-staff-app .ots-staff-passenger-view-table td:nth-child(3),.ots-staff-app .ots-staff-passenger-view-table td:nth-child(4){display:none!important}.ots-staff-app .ots-staff-passenger-view-table td:nth-child(5){grid-column:2;grid-row:1/3;align-self:center}
  .ots-staff-app .ots-summary-card{border-radius:16px!important;padding:15px!important;box-shadow:none!important}
  .ots-staff-app .ots-staff-payment-history,.ots-staff-app .ots-staff-payment-link-card{border-radius:16px!important;box-shadow:none!important}

  /* My Profile — account screen instead of a desktop form. */
  .ots-staff-app.ots-page-profile .ots-title-row{display:none!important}
  .ots-staff-profile-card{max-width:none!important;padding:0!important;overflow:hidden;border-radius:18px!important;box-shadow:none!important}
  .ots-staff-profile-hero{display:flex;align-items:center;gap:12px;padding:18px 15px;background:linear-gradient(180deg,#fff6f7,#fff);border-bottom:1px solid #edf0f3}
  .ots-staff-profile-hero .ots-avatar{width:52px;height:52px;font-size:14px;flex:0 0 52px}
  .ots-staff-profile-hero h2{margin:0;color:var(--ots-navy);font-size:17px}.ots-staff-profile-hero p{margin:3px 0;color:#7f8998;font-size:11px}.ots-staff-profile-hero div>span{display:inline-flex;margin-top:4px;padding:4px 7px;border-radius:999px;background:#fff1f3;color:var(--ots-red);font-size:9px;font-weight:800}
  .ots-staff-profile-desktop-head{display:none!important}
  .ots-staff-profile-card form{padding:14px!important}
  .ots-staff-profile-card .ots-field-grid{display:grid!important;grid-template-columns:1fr!important;gap:11px!important}
  .ots-staff-profile-card .ots-staff-role-field{display:none!important}
  .ots-staff-profile-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:14px!important}
  .ots-staff-profile-actions .ots-btn{width:100%!important}
}

@media(max-width:390px){
  .ots-staff-mobile-money-card strong{font-size:24px}
  .ots-staff-mobile-home-head h2{font-size:22px}
  .ots-staff-app.ots-page-dashboard .ots-stat strong{font-size:23px!important}
  .ots-staff-upcoming-list>a{flex-basis:90%}
  .ots-staff-app.ots-page-packages .ots-package-card{grid-template-columns:100px minmax(0,1fr)!important}
  .ots-staff-app.ots-page-packages .ots-package-image{min-height:122px!important}
  .ots-staff-app.ots-page-bookings .ots-detail-summary{grid-template-columns:1fr 1fr!important}
  .ots-staff-app.ots-page-bookings .ots-detail-summary>div:nth-child(3){grid-column:1/-1}
}

/* v1.4.39 — Admin booking meta, airline/package editor consistency, Staff reporting */

/* Airline editor: fully plugin-owned form controls */
.ots-airline-editor-page,.ots-airline-editor-page *{box-sizing:border-box}
.ots-airline-editor-page input,.ots-airline-editor-page select,.ots-airline-editor-page button,.ots-airline-editor-page label{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.ots-airline-editor-page .ots-airline-fields label{display:flex!important;flex-direction:column;gap:7px;color:#344054!important;font-size:13px!important;font-weight:750!important;line-height:1.35;margin:0!important}
.ots-airline-editor-page .ots-airline-fields input,.ots-airline-editor-page .ots-airline-fields select{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:46px!important;margin:0!important;padding:0 13px!important;border:1px solid #dce1e8!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font-size:14px!important;font-weight:550!important;line-height:1.3!important;box-shadow:none!important;outline:0!important}
.ots-airline-editor-page .ots-airline-fields select{background-image:linear-gradient(45deg,transparent 50%,#778292 50%),linear-gradient(135deg,#778292 50%,transparent 50%)!important;background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;padding-right:36px!important}
.ots-airline-editor-page .ots-airline-fields input:focus,.ots-airline-editor-page .ots-airline-fields select:focus{border-color:#e86d7b!important;box-shadow:0 0 0 3px rgba(223,38,56,.08)!important}
.ots-airline-editor-page .ots-airline-fields label>small{font-size:11.5px!important;font-weight:500!important;color:#7b8492!important;line-height:1.45;margin:0!important}
.ots-airline-editor-page .ots-airline-upload-control input[type=file]{appearance:none!important;width:100%!important;min-height:46px!important;padding:7px 9px!important;border:1px solid #dce1e8!important;border-radius:10px!important;background:#fff!important;color:#667085!important;font-size:12.5px!important}
.ots-airline-editor-page .ots-airline-upload-control input[type=file]::file-selector-button{border:0!important;border-radius:8px!important;background:#fff1f3!important;color:var(--ots-red)!important;padding:8px 11px!important;margin-right:10px!important;font:700 12px Inter,system-ui,sans-serif!important;cursor:pointer!important}

/* Package itinerary upload */
.ots-itinerary-upload-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.ots-form-label{display:block;font-size:12.5px;font-weight:750;color:#344054}
.ots-itinerary-upload-box{min-height:64px;border:1px dashed #cfd5dd;border-radius:11px;background:#fafbfc;padding:10px 11px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}
.ots-itinerary-upload-box.has-file{border-style:solid;border-color:#dfe3e8;background:#fff}
.ots-itinerary-file-icon{width:38px;height:38px;border-radius:9px;background:#fff1f3;color:var(--ots-red);display:grid;place-items:center}.ots-itinerary-file-icon .ots-svg-icon{width:19px;height:19px}
.ots-itinerary-file-copy{min-width:0}.ots-itinerary-file-copy strong{display:block;color:#253044;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-itinerary-file-copy small{display:block;color:#8993a1;font-size:10.5px;margin-top:3px}
.ots-itinerary-view{font-size:11.5px;font-weight:800;color:var(--ots-red)!important;padding:7px 9px;border-radius:8px;background:#fff1f3}
.ots-itinerary-upload-actions{display:flex;gap:8px;flex-wrap:wrap}.ots-itinerary-upload-actions .ots-btn{min-height:38px;padding:8px 12px}
.ots-itinerary-upload-actions input[type=file]{display:none!important}

/* Hotel Options: match the OHHSEM editor controls */
.ots-hotel-addon-list-v119{border:1px solid #e8ebef;border-radius:14px;background:#fafbfc;padding:12px!important;display:flex;flex-direction:column;gap:10px}
.ots-hotel-addon-row-v119{display:grid!important;grid-template-columns:34px minmax(260px,1.4fr) minmax(170px,.7fr) minmax(170px,.7fr) 38px!important;gap:11px!important;align-items:end!important;background:#fff!important;border:1px solid #e6e9ee!important;border-radius:12px!important;padding:13px!important;margin:0!important}
.ots-hotel-option-number{width:30px;height:30px;border-radius:9px;background:#fff1f3;color:var(--ots-red);font-size:12px!important;font-weight:850;display:grid;place-items:center;align-self:center}
.ots-hotel-field{display:flex!important;flex-direction:column!important;gap:7px!important;margin:0!important;font-size:12.5px!important;font-weight:750!important;color:#344054!important}
.ots-hotel-field>span{font-size:12.5px!important;color:#344054!important;font-weight:750!important;position:static!important}
.ots-hotel-field>input,.ots-hotel-money-input{height:44px!important;border:1px solid #dce1e8!important;border-radius:10px!important;background:#fff!important;margin:0!important;box-shadow:none!important}
.ots-hotel-field>input{width:100%!important;padding:0 12px!important;color:#172033!important;font:550 13.5px Inter,system-ui,sans-serif!important;outline:0!important}
.ots-hotel-money-input{position:relative!important;display:flex!important;align-items:center!important;overflow:hidden!important}
.ots-hotel-money-input>span{position:static!important;width:42px;height:100%;display:grid!important;place-items:center!important;background:#f6f7f9!important;border-right:1px solid #e3e6ea!important;color:#697586!important;font-size:11.5px!important;font-weight:800!important;flex:0 0 42px}
.ots-hotel-money-input input{height:100%!important;width:100%!important;border:0!important;padding:0 11px!important;margin:0!important;background:#fff!important;color:#172033!important;font:600 13.5px Inter,system-ui,sans-serif!important;box-shadow:none!important;outline:0!important}
.ots-hotel-field>input:focus,.ots-hotel-money-input:focus-within{border-color:#e86d7b!important;box-shadow:0 0 0 3px rgba(223,38,56,.07)!important}
.ots-hotel-addon-row-v119 .ots-addon-remove{width:36px!important;height:36px!important;margin:0!important;border:1px solid #f0d8dc!important;border-radius:9px!important;background:#fff7f8!important;color:#c93648!important;display:grid!important;place-items:center!important;align-self:end!important}.ots-hotel-addon-row-v119 .ots-addon-remove .ots-svg-icon{width:17px;height:17px}

/* Staff directory */
.ots-staff-filters{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(180px,.7fr) minmax(180px,.7fr) auto;gap:10px;align-items:end;margin-bottom:16px}
.ots-staff-filters label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;font-weight:750;color:#566274}.ots-staff-filters label>span{font-size:11.5px}.ots-staff-filters input,.ots-staff-filters select{appearance:none;width:100%;height:42px;border:1px solid var(--ots-line);border-radius:9px;background:#fff;padding:0 11px;color:#263244;font:550 13px Inter,system-ui,sans-serif;outline:0}.ots-staff-filters input:focus,.ots-staff-filters select:focus{border-color:#e98a96;box-shadow:0 0 0 3px rgba(223,38,56,.06)}
.ots-staff-filters .ots-filter-actions{display:flex;align-items:end}.ots-staff-filters .ots-filter-actions .ots-btn{height:42px}
.ots-staff-directory-table .ots-customer-cell{min-width:190px}.ots-staff-directory-table td{vertical-align:middle}.ots-staff-directory-table .ots-status{white-space:nowrap}.ots-staff-directory-table .ots-list-actions a{font-size:12.5px!important}
[data-staff-results].is-loading,[data-staff-booking-results].is-loading{opacity:.58;pointer-events:none}

/* Staff details / report */
.ots-staff-report-profile{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px}.ots-staff-report-profile-main{display:flex;align-items:center;gap:14px}.ots-staff-report-avatar{width:52px;height:52px;font-size:15px}.ots-staff-report-profile h2{margin:3px 0 4px;font-size:20px;color:var(--ots-navy)}.ots-staff-report-profile p{margin:0;color:var(--ots-muted);font-size:12px}.ots-staff-report-contact{display:flex;gap:24px;flex-wrap:wrap}.ots-staff-report-contact span{min-width:150px}.ots-staff-report-contact small{display:block;color:#8b95a3;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:750;margin-bottom:4px}.ots-staff-report-contact strong{font-size:12.5px;color:#344054}.ots-staff-last-active{font-size:11px;color:#7b8492;background:#f6f7f9;border-radius:999px;padding:7px 10px;font-weight:700}.ots-staff-report-bookings .ots-list-actions a{font-size:12.5px!important}.ots-staff-booking-pagination{margin-top:12px}

@media(max-width:1050px){.ots-hotel-addon-row-v119{grid-template-columns:34px minmax(220px,1.2fr) minmax(150px,.7fr) minmax(150px,.7fr) 38px!important}.ots-staff-filters{grid-template-columns:1fr 1fr}.ots-staff-filters .ots-staff-search{grid-column:1/-1}}
@media(max-width:760px){
  .ots-hotel-addon-row-v119{grid-template-columns:30px minmax(0,1fr) 36px!important;align-items:center!important}.ots-hotel-addon-row-v119 .ots-hotel-name{grid-column:2/3}.ots-hotel-addon-row-v119 .ots-hotel-price-field{grid-column:2/4}.ots-hotel-addon-row-v119 .ots-addon-remove{grid-column:3;grid-row:1;align-self:center!important}.ots-hotel-option-number{grid-column:1;grid-row:1}.ots-hotel-money-input{height:43px!important}
  .ots-itinerary-upload-box{grid-template-columns:36px minmax(0,1fr)}.ots-itinerary-view{grid-column:2;justify-self:start}.ots-itinerary-upload-actions .ots-btn{flex:1}
  .ots-staff-filters{grid-template-columns:1fr!important;gap:9px}.ots-staff-filters .ots-staff-search{grid-column:auto}.ots-staff-filters .ots-filter-actions .ots-btn{width:100%}
  .ots-staff-report-profile{align-items:flex-start;flex-direction:column;padding:16px}.ots-staff-report-contact{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.ots-staff-report-contact span{min-width:0;background:#fafbfc;border-radius:10px;padding:10px}.ots-staff-report-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ots-staff-directory-table td:nth-child(1)::before{content:'Staff'}.ots-staff-directory-table td:nth-child(2)::before{content:'Contact'}.ots-staff-directory-table td:nth-child(3)::before{content:'Role'}.ots-staff-directory-table td:nth-child(4)::before{content:'Bookings'}.ots-staff-directory-table td:nth-child(5)::before{content:'Paid Bookings'}.ots-staff-directory-table td:nth-child(6)::before{content:'Booking Value'}.ots-staff-directory-table td:nth-child(7)::before{content:'Last Booking'}.ots-staff-directory-table td:nth-child(8)::before{content:'Action'}
  .ots-staff-report-bookings thead{display:none!important}.ots-staff-report-bookings tbody{display:flex!important;flex-direction:column!important;gap:10px!important}.ots-staff-report-bookings tr{display:block!important;border:1px solid #e9edf2!important;border-radius:14px!important;background:#fff!important;padding:5px 12px!important}.ots-staff-report-bookings td{display:grid!important;grid-template-columns:100px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;padding:9px 0!important;border:0!important;border-bottom:1px solid #f0f2f5!important;text-align:right!important}.ots-staff-report-bookings td:last-child{border-bottom:0!important}.ots-staff-report-bookings td::before{font-size:10px;font-weight:800;text-transform:uppercase;color:#939dab;text-align:left}.ots-staff-report-bookings td:nth-child(1)::before{content:'Booking ID'}.ots-staff-report-bookings td:nth-child(2)::before{content:'Customer'}.ots-staff-report-bookings td:nth-child(3)::before{content:'Package'}.ots-staff-report-bookings td:nth-child(4)::before{content:'Departure'}.ots-staff-report-bookings td:nth-child(5)::before{content:'Payment'}.ots-staff-report-bookings td:nth-child(6)::before{content:'Status'}.ots-staff-report-bookings td:nth-child(7)::before{content:'Action'}
}

/* v1.4.41 — Staff user management */
.ots-staff-top-actions{justify-content:flex-end;margin-bottom:12px}
.ots-user-editor{display:flex;flex-direction:column;gap:14px;max-width:980px}
.ots-user-editor-card{padding:20px 22px!important}
.ots-user-editor-grid label{display:flex!important;flex-direction:column!important;gap:7px!important;margin:0!important;color:#344054!important;font-size:13px!important;font-weight:760!important;line-height:1.35!important}
.ots-user-editor-grid input,.ots-user-editor-grid select{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:46px!important;margin:0!important;padding:0 13px!important;border:1px solid #dce1e8!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font:550 14px/1.3 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:none!important;outline:0!important}
.ots-user-editor-grid input:disabled{background:#f5f6f8!important;color:#7d8794!important;cursor:not-allowed}
.ots-user-editor-grid select{background-image:linear-gradient(45deg,transparent 50%,#778292 50%),linear-gradient(135deg,#778292 50%,transparent 50%)!important;background-position:calc(100% - 17px) 20px,calc(100% - 12px) 20px!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;padding-right:36px!important}
.ots-user-editor-grid input:focus,.ots-user-editor-grid select:focus{border-color:#e86d7b!important;box-shadow:0 0 0 3px rgba(223,38,56,.08)!important}
.ots-user-editor-grid label>small{margin:0!important;color:#7d8794!important;font-size:11.5px!important;font-weight:500!important;line-height:1.45!important}
.ots-user-reset-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:14px 15px;border:1px solid #e7eaf0;border-radius:12px;background:#fafbfc}
.ots-user-reset-row strong{display:block;color:#253044;font-size:13px}.ots-user-reset-row span{display:block;color:#7d8794;font-size:11.5px;margin-top:3px}
.ots-user-editor-save{display:flex;justify-content:flex-end;gap:9px;padding:2px 0 8px}
@media(max-width:760px){
  .ots-staff-top-actions .ots-btn{width:100%}
  .ots-user-editor{gap:11px}.ots-user-editor-card{padding:16px!important}.ots-user-editor-grid{grid-template-columns:1fr!important}.ots-user-reset-row{align-items:flex-start;flex-direction:column}.ots-user-reset-row .ots-btn{width:100%}.ots-user-editor-save{display:grid;grid-template-columns:1fr 1fr}.ots-user-editor-save .ots-btn{width:100%}
}

/* v1.4.42 — user/profile password controls */
.ots-password-field{margin-top:2px}.ots-password-field>label{display:flex!important;flex-direction:column!important;gap:7px!important;margin:0!important;color:#344054!important;font-size:13px!important;font-weight:760!important}.ots-password-control{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center}.ots-password-control input{appearance:none!important;-webkit-appearance:none!important;width:100%!important;min-height:46px!important;margin:0!important;padding:0 13px!important;border:1px solid #dce1e8!important;border-radius:10px!important;background:#fff!important;color:#172033!important;font:550 14px/1.3 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;box-shadow:none!important;outline:0!important}.ots-password-control input:focus{border-color:#e86d7b!important;box-shadow:0 0 0 3px rgba(223,38,56,.08)!important}.ots-password-action{appearance:none;border:1px solid #dce1e8;background:#fff;color:#344054;border-radius:10px;height:46px;padding:0 13px;font:750 12px/1 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}.ots-password-action:hover{border-color:#efb2ba;color:var(--ots-red)}.ots-password-generate{height:46px!important;white-space:nowrap}.ots-password-field small{color:#7d8794!important;font-size:11.5px!important;font-weight:500!important;line-height:1.45!important}.ots-profile-form{padding:0 20px 20px}.ots-profile-grid{margin-top:4px}.ots-profile-password-section{margin-top:20px;padding-top:18px;border-top:1px solid #edf0f4}.ots-profile-password-section h3{margin:3px 0 4px;color:#17223b;font-size:17px}.ots-profile-password-section>p{margin:0 0 13px;color:#7d8794;font-size:12px}.ots-profile-password-section .ots-password-field{max-width:680px}
@media(max-width:720px){.ots-password-control{grid-template-columns:1fr auto}.ots-password-generate{grid-column:1/-1;width:100%!important}.ots-profile-form{padding:0 15px 16px}.ots-profile-password-section{margin-top:16px}.ots-profile-password-section h3{font-size:16px}}

/* v1.4.44 — unified Transactions */
.ots-transaction-filters{grid-template-columns:minmax(280px,1.35fr) minmax(145px,.58fr) minmax(140px,.55fr) minmax(175px,.7fr) auto}
.ots-transaction-results{transition:opacity .15s ease}.ots-transaction-results.is-loading{opacity:.58;pointer-events:none}
.ots-transaction-list-table td,.ots-transaction-list-table th{white-space:nowrap}.ots-transaction-list-table td:nth-child(3){white-space:normal;min-width:150px}.ots-transaction-list-table .ots-row-actions{min-width:128px;flex-wrap:wrap}
.ots-transaction-list-table .ots-row-actions a{font-size:11.5px!important}
@media(max-width:1100px){.ots-transaction-filters{grid-template-columns:1fr 1fr}.ots-transaction-filters .ots-filter-search{grid-column:1/-1}}
@media(max-width:700px){
  .ots-transaction-filters{grid-template-columns:1fr}.ots-transaction-filters .ots-filter-search{grid-column:auto}.ots-transaction-filters input,.ots-transaction-filters select{font-size:16px;height:46px}
  .ots-transaction-list-table td:nth-child(1)::before{content:'Date'}.ots-transaction-list-table td:nth-child(2)::before{content:'Booking'}.ots-transaction-list-table td:nth-child(3)::before{content:'Customer'}.ots-transaction-list-table td:nth-child(4)::before{content:'Payment'}.ots-transaction-list-table td:nth-child(5)::before{content:'Amount'}.ots-transaction-list-table td:nth-child(6)::before{content:'Sales Person'}.ots-transaction-list-table td:nth-child(7)::before{content:'Gateway'}.ots-transaction-list-table td:nth-child(8)::before{content:'Status'}.ots-transaction-list-table td:nth-child(9)::before{content:'Action'}
}

/* v1.4.45 — Advanced Reports */
.ots-page-reports .ots-main{max-width:none}
.ots-report-toolbar{display:flex;flex-direction:column;gap:18px}
.ots-report-tabs{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:10px;overflow-x:auto;padding:2px 1px 4px;scrollbar-width:thin}
.ots-report-tabs a{display:flex;min-width:150px;min-height:74px;flex-direction:column;justify-content:center;gap:5px;padding:12px 14px;border:1px solid #e5e9ef;border-radius:14px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 2px 8px rgba(17,24,39,.025);transition:.18s ease}
.ots-report-tabs a:hover{border-color:#f1aab2;background:#fffafa}
.ots-report-tabs a.active{border-color:#df2638;background:#fff2f4;box-shadow:inset 0 0 0 1px rgba(223,38,56,.08)}
.ots-report-tabs strong{font-size:14px;font-weight:750;line-height:1.2}
.ots-report-tabs small{font-size:11px;line-height:1.35;color:#7b8495;font-weight:500}
.ots-report-filters{padding:16px;border:1px solid #e6eaf0;border-radius:16px;background:#fff;box-shadow:0 4px 16px rgba(16,24,40,.035)}
.ots-report-periods{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.ots-report-periods button{appearance:none;border:1px solid #e1e5eb;border-radius:999px;background:#f8f9fb;padding:8px 12px;font:650 12px/1.1 Inter,sans-serif;color:#475467;cursor:pointer;transition:.18s ease}
.ots-report-periods button:hover{border-color:#e9a3ab;background:#fff8f9;color:#b7192c}
.ots-report-periods button.active{border-color:#df2638;background:#df2638;color:#fff;box-shadow:0 4px 12px rgba(223,38,56,.18)}
.ots-report-custom-dates{display:none;grid-template-columns:repeat(2,minmax(170px,220px));gap:10px;margin:0 0 14px}.ots-report-custom-dates.is-visible{display:grid}
.ots-report-custom-dates label,.ots-report-filter-grid label{display:flex;flex-direction:column;gap:6px;color:#5f697b;font-size:12px;font-weight:650}
.ots-report-custom-dates input,.ots-report-filter-grid select{width:100%;height:42px;border:1px solid #dfe4eb;border-radius:10px;background:#fff;padding:0 11px;color:#172033;font:600 13px/1 Inter,sans-serif;outline:none;box-shadow:none}
.ots-report-custom-dates input:focus,.ots-report-filter-grid select:focus{border-color:#e8707d;box-shadow:0 0 0 3px rgba(223,38,56,.08)}
.ots-report-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:10px;align-items:end}
.ots-report-filter-grid .ots-report-reset{height:42px;white-space:nowrap;padding-inline:15px}
.ots-report-context{display:flex;align-items:center;gap:8px;padding:0 3px;color:#7a8494;font-size:12px}.ots-report-context strong{color:#293247;font-size:12px}.ots-report-context i{width:1px;height:14px;background:#dfe3e9;margin:0 3px}
.ots-report-results{display:flex;flex-direction:column;gap:16px;position:relative;min-height:130px;transition:opacity .15s}.ots-report-results.is-loading{opacity:.42;pointer-events:none}.ots-report-results.is-loading:after{content:"";position:absolute;top:42px;left:50%;width:26px;height:26px;margin-left:-13px;border:3px solid #f1c5ca;border-top-color:#df2638;border-radius:50%;animation:ots-report-spin .7s linear infinite}@keyframes ots-report-spin{to{transform:rotate(360deg)}}
.ots-report-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}
.ots-report-kpi{min-height:116px;padding:17px;border:1px solid #e7eaf0;border-radius:15px;background:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 3px 14px rgba(16,24,40,.03)}
.ots-report-kpi span{font-size:12px;font-weight:650;color:#7a8494;margin-bottom:8px}.ots-report-kpi strong{font-size:22px;line-height:1.15;font-weight:800;letter-spacing:-.4px;color:#172033}.ots-report-kpi small{font-size:11px;color:#9099a8;margin-top:7px;font-weight:550}
.ots-report-card,.ots-report-chart-card{border:1px solid #e7eaf0;border-radius:16px;background:#fff;box-shadow:0 3px 14px rgba(16,24,40,.03);overflow:hidden}
.ots-report-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px 18px 13px;border-bottom:1px solid #f0f2f5}.ots-report-card-head h3{margin:0;color:#182136;font-size:15px;line-height:1.25;font-weight:780}.ots-report-card-head p{margin:4px 0 0;color:#8891a0;font-size:11.5px;line-height:1.45}.ots-report-link{font-size:12px;font-weight:700;color:#c51f32;text-decoration:none;white-space:nowrap;margin-top:2px}.ots-report-link:hover{text-decoration:underline}
.ots-report-grid{display:grid;gap:14px}.ots-report-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ots-report-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ots-report-chart-card{padding-bottom:8px}.ots-report-chart-card .ots-report-card-head{border-bottom:0;padding-bottom:2px}.ots-report-legend{display:flex;align-items:center;gap:15px;font-size:11px;font-weight:650;color:#667085}.ots-report-legend span{display:flex;align-items:center;gap:6px}.ots-report-legend span:before{content:"";width:18px;height:3px;border-radius:99px}.ots-report-legend .booking:before{background:#df2638}.ots-report-legend .collected:before{background:#263753}
.ots-report-svg-wrap{width:100%;overflow-x:auto;padding:4px 12px 6px}.ots-report-line-chart{display:block;width:100%;min-width:610px;height:auto}.ots-report-line-chart .grid{stroke:#edf0f4;stroke-width:1}.ots-report-line-chart .axis-label,.ots-report-line-chart .x-label{fill:#929aa8;font-size:10px;font-family:Inter,sans-serif}.ots-report-line-chart .line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.ots-report-line-chart .line.booking{stroke:#df2638}.ots-report-line-chart .line.collected{stroke:#263753}.ots-report-line-chart .dot{stroke:#fff;stroke-width:2;cursor:help}.ots-report-line-chart .dot.booking{fill:#df2638}.ots-report-line-chart .dot.collected{fill:#263753}
.ots-report-bars{display:flex;flex-direction:column;gap:15px;padding:16px 18px 19px}.ots-report-bar-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.ots-report-bar-meta span{font-size:12px;font-weight:650;color:#3d4658;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-report-bar-meta strong{font-size:12px;font-weight:750;color:#1f2937}.ots-report-bar-track{height:8px;border-radius:999px;background:#f0f2f5;overflow:hidden}.ots-report-bar-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#df2638,#ef6c79)}
.ots-report-table-wrap{overflow-x:auto}.ots-report-table{width:100%;border-collapse:collapse;min-width:680px}.ots-report-table th{padding:11px 14px;border-bottom:1px solid #eaedf1;background:#fafbfc;text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;color:#8a93a1;font-weight:750}.ots-report-table td{padding:13px 14px;border-bottom:1px solid #f0f2f4;color:#525c6d;font-size:12px;vertical-align:middle}.ots-report-table tbody tr:last-child td{border-bottom:0}.ots-report-table td strong{color:#222c40;font-weight:720}.ots-report-table td a{display:inline-flex;align-items:center;min-height:30px;padding:0 9px;border-radius:8px;background:#fff1f3;color:#c61f32;text-decoration:none;font-size:11.5px;font-weight:720}.ots-report-table td a:hover{background:#ffe6e9}
.ots-report-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:110px;padding:22px;color:#8b94a3;font-size:12px;text-align:center;gap:5px}.ots-report-empty strong{font-size:13px;color:#4b5565}.ots-report-progress-big{padding:22px}.ots-report-progress-big>strong{display:block;font-size:34px;line-height:1;font-weight:830;color:#172033;margin-bottom:13px}.ots-report-progress-big>div{height:10px;border-radius:99px;background:#edf0f4;overflow:hidden}.ots-report-progress-big>div i{display:block;height:100%;border-radius:99px;background:#df2638}.ots-report-progress-big>span{display:block;margin-top:10px;color:#7d8797;font-size:11.5px;font-weight:550}
.ots-report-departures{display:flex;flex-direction:column}.ots-report-departure{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:center;padding:15px 18px;border-bottom:1px solid #eef1f4;text-decoration:none;color:inherit;transition:.15s}.ots-report-departure:last-child{border-bottom:0}.ots-report-departure:hover{background:#fffafa}.ots-report-departure>div:first-child{display:flex;flex-direction:column;gap:5px}.ots-report-departure>div:first-child strong{font-size:13px;color:#243048}.ots-report-departure>div:first-child span{font-size:11.5px;color:#7d8797}.ots-report-occupancy{display:grid;grid-template-columns:70px 1fr 72px;gap:9px;align-items:center}.ots-report-occupancy b{font-size:11.5px;color:#334155;text-align:right}.ots-report-occupancy>div{height:8px;border-radius:99px;background:#edf0f4;overflow:hidden}.ots-report-occupancy>div i{display:block;height:100%;background:#df2638;border-radius:99px}.ots-report-occupancy small{font-size:10.5px;color:#8c95a3}
.ots-report-mini-list{display:flex;flex-direction:column;padding:6px 18px 12px}.ots-report-mini-list>div{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0;border-bottom:1px solid #f0f2f4}.ots-report-mini-list>div:last-child{border-bottom:0}.ots-report-mini-list span{display:flex;min-width:0;flex-direction:column;gap:3px}.ots-report-mini-list strong{font-size:12px;color:#2a3448;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-report-mini-list small{font-size:10.5px;color:#929aa7}.ots-report-mini-list b{font-size:11px;color:#5f6978;white-space:nowrap}
@media(max-width:1280px){.ots-report-tabs{grid-template-columns:repeat(6,180px)}.ots-report-kpis{grid-template-columns:repeat(3,1fr)}.ots-report-filter-grid{grid-template-columns:repeat(2,minmax(180px,1fr)) auto}.ots-report-grid.three{grid-template-columns:1fr 1fr}.ots-report-grid.three>*:last-child{grid-column:1/-1}}
@media(max-width:760px){.ots-page-reports .ots-title-row p{max-width:92%}.ots-report-toolbar{gap:13px}.ots-report-tabs{display:flex;margin:0 -2px;padding-bottom:5px}.ots-report-tabs a{min-width:154px;min-height:65px;padding:10px 12px}.ots-report-tabs small{display:none}.ots-report-filters{padding:12px;border-radius:14px}.ots-report-periods{display:flex;flex-wrap:nowrap;overflow-x:auto;margin:0 -2px 11px;padding:2px 2px 5px;scrollbar-width:none}.ots-report-periods::-webkit-scrollbar{display:none}.ots-report-periods button{flex:0 0 auto;padding:8px 11px}.ots-report-custom-dates{grid-template-columns:1fr 1fr}.ots-report-filter-grid{grid-template-columns:1fr 1fr;gap:8px}.ots-report-filter-grid label:nth-child(3),.ots-report-filter-grid label:nth-child(4){grid-column:auto}.ots-report-filter-grid .ots-report-reset{grid-column:1/-1;width:100%}.ots-report-context{flex-wrap:wrap}.ots-report-kpis{grid-template-columns:1fr 1fr;gap:9px}.ots-report-kpi{min-height:98px;padding:13px}.ots-report-kpi span{font-size:11px;margin-bottom:6px}.ots-report-kpi strong{font-size:18px}.ots-report-kpi small{font-size:10px}.ots-report-grid.two,.ots-report-grid.three{grid-template-columns:1fr}.ots-report-grid.three>*:last-child{grid-column:auto}.ots-report-card-head{padding:14px 14px 11px}.ots-report-svg-wrap{padding-inline:4px}.ots-report-line-chart{min-width:560px}.ots-report-departure{grid-template-columns:1fr;gap:10px;padding:13px 14px}.ots-report-occupancy{grid-template-columns:60px 1fr 64px}.ots-report-table{min-width:620px}.ots-report-table th{font-size:10px}.ots-report-table td{font-size:11.5px}.ots-report-bars{padding:14px}.ots-report-progress-big{padding:17px}.ots-report-progress-big>strong{font-size:29px}}


/* v1.4.46 — Clean Reports */
.ots-report-clean{gap:14px}
.ots-report-clean .ots-report-tabs{display:flex;grid-template-columns:none;gap:6px;overflow-x:auto;padding:3px 0 4px;border-bottom:1px solid #e9edf2}
.ots-report-clean .ots-report-tabs a{min-width:auto;min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:#697386;white-space:nowrap}
.ots-report-clean .ots-report-tabs a:hover{background:#f7f8fa;color:#263248}.ots-report-clean .ots-report-tabs a.active{background:#fff0f2;color:#bf1e31;box-shadow:none}
.ots-report-clean .ots-report-tabs strong{font-size:13.5px;font-weight:760}.ots-report-clean .ots-report-tabs small{display:none}
.ots-report-clean .ots-report-filters{padding:14px 15px;border-radius:14px}
.ots-report-filter-top{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.ots-report-filter-top>div:first-child{min-width:0;flex:1}
.ots-report-filter-label{display:block;margin:0 0 8px;color:#687386;font-size:11.5px;font-weight:740}
.ots-report-clean .ots-report-periods{margin:0;gap:6px;flex-wrap:wrap}.ots-report-clean .ots-report-periods button{padding:8px 11px;font-size:11.5px}
.ots-report-more{height:36px;display:inline-flex;align-items:center;gap:7px;justify-content:center;flex:0 0 auto;border:1px solid #dfe4eb;border-radius:10px;background:#fff;padding:0 12px;color:#475467;font:700 11.5px/1 Inter,sans-serif;cursor:pointer}.ots-report-more:hover{background:#fafbfc}.ots-report-more.active{border-color:#f0b1b8;background:#fff5f6;color:#b91c2f}.ots-report-more b{font-size:8px;color:#df2638}
.ots-report-clean .ots-report-custom-dates{margin:12px 0 0;padding-top:12px;border-top:1px solid #f0f2f5}
.ots-report-advanced{display:none;margin-top:12px;padding-top:12px;border-top:1px solid #f0f2f5}.ots-report-advanced.is-visible{display:block}
.ots-report-clean .ots-report-filter-grid{grid-template-columns:repeat(4,minmax(145px,1fr)) auto;gap:9px}.ots-report-clean .ots-report-filter-grid .ots-report-reset{height:42px}
.ots-report-clean .ots-report-context{font-size:11.5px;padding-inline:2px}.ots-report-clean .ots-report-context strong{font-size:11.5px}
.ots-page-reports .ots-report-kpis{grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px}.ots-page-reports .ots-report-kpi{min-height:104px;padding:15px}.ots-page-reports .ots-report-kpi span{font-size:11.5px}.ots-page-reports .ots-report-kpi strong{font-size:21px}.ots-page-reports .ots-report-kpi small{font-size:10.5px}
.ots-report-leader-columns{display:grid;grid-template-columns:1fr 1fr;gap:0}.ots-report-leader-columns>div{min-width:0;padding:12px 16px 14px}.ots-report-leader-columns>div+div{border-left:1px solid #eef1f4}.ots-report-leader-columns h4{margin:0 0 3px;color:#7b8493;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;font-weight:780}.ots-report-leader-columns .ots-report-mini-list{padding:0}.ots-report-leader-columns .ots-report-mini-list>div{padding:9px 0}.ots-report-leader-columns .ots-report-mini-list strong{font-size:11.5px}.ots-report-leader-columns .ots-report-mini-list b{font-size:10.5px}
.ots-report-attention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px}.ots-report-attention-grid a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "meta value";gap:3px 12px;align-items:center;min-height:74px;padding:13px 14px;border:1px solid #e9edf2;border-radius:12px;background:#fbfcfd;text-decoration:none;color:inherit;transition:.15s}.ots-report-attention-grid a:hover{border-color:#efb0b7;background:#fff7f8}.ots-report-attention-grid span{grid-area:label;color:#344054;font-size:12px;font-weight:730}.ots-report-attention-grid strong{grid-area:value;color:#172033;font-size:24px;line-height:1;font-weight:820}.ots-report-attention-grid small{grid-area:meta;color:#8b94a3;font-size:10.5px}
.ots-report-mix-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:16px}.ots-report-mix-grid>div{display:flex;min-height:72px;flex-direction:column;justify-content:center;gap:6px;padding:11px;border-radius:11px;background:#f8f9fb;border:1px solid #eef1f4}.ots-report-mix-grid span{font-size:10.5px;color:#778192;font-weight:650}.ots-report-mix-grid strong{font-size:19px;color:#1f2937;font-weight:800}
.ots-report-clean .ots-report-card-head h3{font-size:14.5px}.ots-report-clean .ots-report-card-head p{font-size:11px}.ots-report-clean .ots-report-table td{font-size:12.5px}.ots-report-clean .ots-report-table td a{font-size:12px}
@media(max-width:1180px){.ots-page-reports .ots-report-kpis{grid-template-columns:repeat(3,1fr)}.ots-report-clean .ots-report-filter-grid{grid-template-columns:repeat(2,minmax(170px,1fr)) auto}.ots-report-mix-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.ots-report-clean .ots-report-tabs{margin:0 -2px}.ots-report-clean .ots-report-tabs a{padding:8px 11px;font-size:12px}.ots-report-filter-top{align-items:stretch;flex-direction:column;gap:10px}.ots-report-more{align-self:flex-start}.ots-report-clean .ots-report-periods{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.ots-report-clean .ots-report-periods::-webkit-scrollbar{display:none}.ots-report-clean .ots-report-periods button{flex:0 0 auto}.ots-report-clean .ots-report-custom-dates{grid-template-columns:1fr 1fr}.ots-report-clean .ots-report-filter-grid{grid-template-columns:1fr 1fr}.ots-report-clean .ots-report-filter-grid .ots-report-reset{grid-column:1/-1}.ots-page-reports .ots-report-kpis{grid-template-columns:1fr 1fr}.ots-page-reports .ots-report-kpi:last-child:nth-child(odd){grid-column:1/-1}.ots-report-leader-columns{grid-template-columns:1fr}.ots-report-leader-columns>div+div{border-left:0;border-top:1px solid #eef1f4}.ots-report-attention-grid{grid-template-columns:1fr}.ots-report-mix-grid{grid-template-columns:repeat(2,1fr)}.ots-report-mix-grid>div:last-child:nth-child(odd){grid-column:1/-1}}

/* v1.4.47 — Reports Overview: sales + staff performance */
.ots-report-overview-v147{display:flex;flex-direction:column;gap:14px}
.ots-report-overview-v147>.ots-report-kpis{grid-template-columns:repeat(4,minmax(150px,1fr))}
.ots-report-overview-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(285px,.8fr);gap:14px;align-items:stretch}
.ots-report-overview-main>.ots-report-chart-card,.ots-report-overview-main>.ots-report-card{height:100%}
.ots-report-overview-chart .ots-report-svg-wrap{padding:2px 13px 8px}
.ots-report-overview-chart .ots-report-line-chart{min-width:520px}
.ots-report-overview-chart .ots-report-line-chart .line.booking{stroke-width:2.6}
.ots-report-chart-note{font-size:10.5px;font-weight:650;color:#98a1af;white-space:nowrap;margin-top:2px}
.ots-report-staff-leaders{min-width:0}
.ots-report-leader-list{display:flex;flex-direction:column;padding:6px 14px 10px}
.ots-report-leader-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid #f0f2f5;color:inherit;text-decoration:none}
.ots-report-leader-row:last-child{border-bottom:0}.ots-report-leader-row:hover .ots-report-leader-name strong{color:#bd1e30}
.ots-report-rank{display:flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:8px;background:#f3f5f7;color:#687386;font-size:11px;font-weight:800}
.ots-report-leader-row.is-top .ots-report-rank{background:#fff0f2;color:#c61f32}
.ots-report-leader-name{display:flex;min-width:0;flex-direction:column;gap:3px}.ots-report-leader-name strong{font-size:12.5px;color:#263248;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.15s}.ots-report-leader-name small{font-size:10.5px;color:#929baa}
.ots-report-leader-row>b{font-size:11.5px;color:#253047;white-space:nowrap}
.ots-report-overview-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ots-report-status-list{display:flex;flex-direction:column;gap:13px;padding:15px 17px 16px}
.ots-report-status-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.ots-report-status-row span{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#4e596b;font-weight:650}.ots-report-status-row span i{width:7px;height:7px;border-radius:50%;background:#98a2b3}.ots-report-status-row span i.green{background:#12a36d}.ots-report-status-row span i.orange{background:#e49a21}.ots-report-status-row span i.red{background:#d92d45}.ots-report-status-row strong{font-size:11.5px;color:#293247}
.ots-report-status-track{height:5px;border-radius:99px;background:#eef1f4;overflow:hidden}.ots-report-status-track>i{display:block;height:100%;border-radius:99px;background:#687386}
.ots-report-status-total{display:flex;justify-content:space-between;align-items:center;margin-top:1px;padding-top:12px;border-top:1px solid #edf0f3}.ots-report-status-total span{font-size:11.5px;color:#667085;font-weight:700}.ots-report-status-total strong{font-size:15px;color:#172033}
.ots-report-payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:15px 17px 17px}.ots-report-payment-summary>div:not(.ots-report-collection-track){display:flex;min-height:66px;flex-direction:column;justify-content:center;gap:5px;padding:11px 12px;border:1px solid #edf0f3;border-radius:11px;background:#fafbfc}.ots-report-payment-summary span{font-size:10.5px;color:#7d8797;font-weight:650}.ots-report-payment-summary strong{font-size:15px;color:#202a3d;font-weight:800}.ots-report-collection-track{grid-column:1/-1;height:6px;border-radius:99px;background:#edf0f4;overflow:hidden;margin-top:1px}.ots-report-collection-track i{display:block;height:100%;border-radius:99px;background:#df2638}
@media(max-width:1120px){.ots-report-overview-main{grid-template-columns:minmax(0,1.45fr) minmax(270px,.85fr)}.ots-report-overview-v147>.ots-report-kpis{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:820px){.ots-report-overview-main,.ots-report-overview-bottom{grid-template-columns:1fr}.ots-report-overview-chart .ots-report-line-chart{min-width:500px}}
@media(max-width:560px){.ots-report-overview-v147>.ots-report-kpis{grid-template-columns:1fr 1fr}.ots-report-payment-summary{grid-template-columns:1fr 1fr}.ots-report-leader-row{grid-template-columns:28px minmax(0,1fr);}.ots-report-leader-row>b{grid-column:2;justify-self:start;margin-top:-4px}.ots-report-chart-note{display:none}}

/* v1.4.48 — Reports overview only, date-range filter + gradient sales chart */
.ots-report-single{gap:14px}
.ots-report-date-filter{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(420px,1.7fr) auto;gap:18px;align-items:end;padding:15px 16px;border:1px solid #e6eaf0;border-radius:15px;background:#fff;box-shadow:0 4px 16px rgba(16,24,40,.035)}
.ots-report-date-summary{display:flex;min-width:0;flex-direction:column;gap:5px}.ots-report-date-summary>span{font-size:10.5px;font-weight:760;letter-spacing:.035em;text-transform:uppercase;color:#8a94a4}.ots-report-date-summary>strong{font-size:14px;line-height:1.3;color:#202b3f;font-weight:790;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-report-date-controls{display:grid;grid-template-columns:minmax(145px,1fr) 18px minmax(145px,1fr) auto;gap:9px;align-items:end}.ots-report-date-controls label{display:flex;min-width:0;flex-direction:column;gap:6px}.ots-report-date-controls label span{font-size:10.5px;color:#7b8494;font-weight:700}.ots-report-date-controls input{width:100%;height:40px;border:1px solid #dfe4eb;border-radius:10px;background:#fafbfc;padding:0 10px;color:#263248;font:650 12px/1 Inter,sans-serif;outline:none}.ots-report-date-controls input:focus{border-color:#e36a78;background:#fff;box-shadow:0 0 0 3px rgba(223,38,56,.07)}
.ots-report-date-arrow{align-self:end;display:flex;height:40px;align-items:center;justify-content:center;color:#a0a8b5;font-size:14px}
.ots-report-apply{height:40px;border:0;border-radius:10px;background:#df2638;padding:0 16px;color:#fff;font:760 11.5px/1 Inter,sans-serif;cursor:pointer;box-shadow:0 5px 13px rgba(223,38,56,.16);transition:.16s}.ots-report-apply:hover{background:#ca2032;transform:translateY(-1px)}
.ots-report-date-meta{display:flex;align-items:center;justify-content:flex-end;height:40px}.ots-report-date-meta span{display:inline-flex;align-items:center;height:28px;padding:0 9px;border-radius:999px;background:#f7f8fa;color:#8a94a4;font-size:10px;font-weight:650;white-space:nowrap}
.ots-report-overview-v148{gap:14px}.ots-report-overview-v148>.ots-report-kpis{grid-template-columns:repeat(4,minmax(150px,1fr))}
.ots-report-overview-chart-v148{position:relative;overflow:hidden}.ots-report-overview-chart-v148:before{content:"";position:absolute;inset:0 0 auto auto;width:180px;height:110px;background:radial-gradient(circle at 100% 0,rgba(239,82,100,.075),transparent 68%);pointer-events:none}.ots-report-overview-chart-v148 .ots-report-card-head{position:relative;z-index:1;align-items:center;padding:16px 18px 4px}.ots-report-overview-chart-v148 .ots-report-svg-wrap{padding:0 12px 8px;overflow-x:auto}.ots-report-overview-chart-v148 .ots-report-line-chart{display:block;width:100%;min-width:520px;height:auto}.ots-report-overview-chart-v148 .grid{stroke:#edf0f4;stroke-width:1;stroke-dasharray:3 6}.ots-report-overview-chart-v148 .x-label{fill:#939cab;font-size:9.5px;font-weight:600}.ots-sales-area{fill:url(#otsSalesArea)}.ots-sales-line{fill:none;stroke:url(#otsSalesStroke);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:url(#otsSalesGlow)}.ots-sales-hit{fill:transparent;cursor:pointer}.ots-sales-dot{fill:#fff;stroke:#e9465a;stroke-width:2.2;pointer-events:none}.ots-sales-dot.is-last{fill:#df2638;stroke:#fff;stroke-width:2.5;filter:url(#otsSalesGlow)}
.ots-report-chart-total{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.ots-report-chart-total span{font-size:9.5px;color:#929baa;font-weight:690;text-transform:uppercase;letter-spacing:.035em}.ots-report-chart-total strong{font-size:18px;line-height:1.05;color:#1f293d;font-weight:830;letter-spacing:-.25px}
.ots-report-overview-insights{display:grid;grid-template-columns:1.12fr .94fr .94fr;gap:14px;align-items:stretch}.ots-report-overview-insights>.ots-report-card{height:100%}
.ots-report-package-list{display:flex;flex-direction:column;padding:6px 14px 10px}.ots-report-package-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid #f0f2f5}.ots-report-package-row:last-child{border-bottom:0}.ots-report-package-row.is-top .ots-report-rank{background:#fff0f2;color:#c61f32}.ots-report-package-name{display:flex;min-width:0;flex-direction:column;gap:3px}.ots-report-package-name strong{font-size:12.5px;color:#263248;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-report-package-name small{font-size:10.5px;color:#929baa}.ots-report-package-row>b{font-size:11.5px;color:#253047;white-space:nowrap}
.ots-report-collection-card .ots-report-card-head{border-bottom:0}.ots-report-progress-v148{display:flex;flex-direction:column;gap:14px;padding:14px 17px 17px}.ots-report-progress-value{display:flex;align-items:baseline;gap:8px}.ots-report-progress-value strong{font-size:31px;line-height:1;color:#172033;font-weight:840;letter-spacing:-.8px}.ots-report-progress-value span{font-size:10.5px;color:#8a94a4;font-weight:700}.ots-report-progress-track{height:9px;border-radius:999px;background:#edf0f4;overflow:hidden}.ots-report-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d91f35 0%,#ef5364 58%,#f39a73 100%);box-shadow:0 2px 8px rgba(223,38,56,.16)}.ots-report-progress-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ots-report-progress-meta>span{display:flex;min-width:0;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid #edf0f3;border-radius:10px;background:#fafbfc}.ots-report-progress-meta small{font-size:9.5px;color:#8b94a3;font-weight:680}.ots-report-progress-meta b{font-size:12px;color:#283348;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-report-progress-v148>p{margin:0;color:#8a94a4;font-size:10.5px;font-weight:580}
@media(max-width:1180px){.ots-report-date-filter{grid-template-columns:170px minmax(390px,1fr)}.ots-report-date-meta{display:none}.ots-report-overview-insights{grid-template-columns:1fr 1fr}.ots-report-overview-insights>.ots-report-card:last-child{grid-column:1/-1}.ots-report-overview-v148>.ots-report-kpis{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:820px){.ots-report-date-filter{grid-template-columns:1fr;gap:12px;align-items:stretch}.ots-report-date-controls{grid-template-columns:1fr 18px 1fr auto}.ots-report-date-summary>strong{white-space:normal}.ots-report-overview-insights{grid-template-columns:1fr}.ots-report-overview-insights>.ots-report-card:last-child{grid-column:auto}.ots-report-chart-total strong{font-size:16px}}
@media(max-width:560px){.ots-report-date-filter{padding:13px}.ots-report-date-controls{grid-template-columns:1fr 14px 1fr}.ots-report-date-controls .ots-report-apply{grid-column:1/-1;width:100%}.ots-report-date-arrow{height:40px}.ots-report-overview-v148>.ots-report-kpis{grid-template-columns:1fr 1fr}.ots-report-overview-chart-v148 .ots-report-line-chart{min-width:480px}.ots-report-chart-total span{display:none}.ots-report-chart-total strong{font-size:14px}.ots-report-package-row{grid-template-columns:28px minmax(0,1fr)}.ots-report-package-row>b{grid-column:2;justify-self:start;margin-top:-4px}.ots-report-progress-meta{grid-template-columns:1fr 1fr}}


/* v1.4.49 — Reports filter alignment + isolated Collection Progress */
.ots-report-date-filter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:16px 18px}
.ots-report-date-summary{width:100%;align-items:center;text-align:center;gap:4px}
.ots-report-date-summary>strong{max-width:100%;font-size:14px}
.ots-report-date-controls{display:grid;grid-template-columns:minmax(150px,190px) 18px minmax(150px,190px) auto auto;align-items:end;justify-content:center;gap:9px;width:100%}
.ots-report-reset-month{height:40px;border:1px solid #e1e5eb;border-radius:10px;background:#fff;padding:0 14px;color:#667085;font:720 11px/1 Inter,sans-serif;cursor:pointer;white-space:nowrap;transition:.16s}
.ots-report-reset-month:hover{border-color:#d5dae2;background:#f8f9fb;color:#344054}
.ots-report-date-filter.is-loading .ots-report-apply,.ots-report-date-filter.is-loading .ots-report-reset-month{pointer-events:none;opacity:.62}
.ots-report-date-meta{display:none!important}
.ots-report-collection-card .ots-report-card-head{border-bottom:1px solid #f0f2f5}
.ots-collection-progress{display:flex;flex-direction:column;gap:14px;padding:17px 18px 18px}
.ots-collection-progress .ots-report-progress-value{display:flex;align-items:baseline;gap:8px;height:auto!important;background:transparent!important;overflow:visible!important;border-radius:0!important}
.ots-collection-progress .ots-report-progress-value strong{font-size:31px;line-height:1;color:#172033;font-weight:840;letter-spacing:-.8px}
.ots-collection-progress .ots-report-progress-value span{font-size:10.5px;color:#8a94a4;font-weight:700}
.ots-collection-progress .ots-report-progress-track{display:block;height:9px!important;border-radius:999px!important;background:#edf0f4!important;overflow:hidden!important}
.ots-collection-progress .ots-report-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d91f35 0%,#ef5364 58%,#f39a73 100%);box-shadow:0 2px 8px rgba(223,38,56,.16)}
.ots-collection-progress .ots-report-progress-meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;height:auto!important;background:transparent!important;overflow:visible!important;border-radius:0!important}
.ots-collection-progress .ots-report-progress-meta>span{display:flex;min-width:0;flex-direction:column;gap:4px;padding:10px 11px;border:1px solid #edf0f3;border-radius:10px;background:#fafbfc}
.ots-collection-progress .ots-report-progress-meta small{font-size:9.5px;color:#8b94a3;font-weight:680}
.ots-collection-progress .ots-report-progress-meta b{font-size:12px;color:#283348;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-report-progress-remaining{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #edf0f3}
.ots-report-progress-remaining span{font-size:10.5px;color:#8a94a4;font-weight:650}.ots-report-progress-remaining strong{font-size:12.5px;color:#3a4558;font-weight:800;white-space:nowrap}
@media(max-width:820px){.ots-report-date-controls{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);max-width:560px}.ots-report-date-controls .ots-report-apply{grid-column:1/2;width:100%}.ots-report-reset-month{grid-column:2/4;width:100%}}
@media(max-width:560px){.ots-report-date-filter{padding:14px 13px}.ots-report-date-controls{grid-template-columns:1fr 14px 1fr}.ots-report-date-controls .ots-report-apply{grid-column:1/-1}.ots-report-reset-month{grid-column:1/-1}.ots-collection-progress .ots-report-progress-meta{grid-template-columns:1fr}.ots-report-progress-remaining{align-items:flex-end;flex-direction:column;gap:4px}.ots-report-progress-remaining strong{font-size:13px}}

/* v1.4.50 — Reports date-range UX revamp */
.ots-report-date-filter{
  gap:12px;
  padding:16px 18px 18px;
  border:1px solid #e8ebf0;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fdfdfe 100%);
  box-shadow:0 4px 16px rgba(16,24,40,.035)
}
.ots-report-date-summary{gap:3px;padding:0 4px 2px}
.ots-report-date-summary>span{font-size:10px;letter-spacing:.05em;color:#98a1af}
.ots-report-date-summary>strong{font-size:15px;line-height:1.3;color:#1d2939;letter-spacing:-.12px}
.ots-report-range-box{
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(0,1.8fr);
  gap:18px;
  align-items:center;
  width:min(100%,900px);
  padding:12px 13px;
  border:1px solid #e8ebef;
  border-radius:14px;
  background:#f8f9fb
}
.ots-report-range-intro{display:flex;align-items:center;gap:10px;min-width:0;padding:2px 4px}
.ots-report-range-icon{display:flex;flex:0 0 36px;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid #f0d8dc;border-radius:10px;background:#fff;color:#d92b3e;box-shadow:0 2px 8px rgba(16,24,40,.025)}
.ots-report-range-icon svg{width:18px;height:18px}
.ots-report-range-copy{display:flex;min-width:0;flex-direction:column;gap:3px}
.ots-report-range-copy strong{font-size:12.5px;line-height:1.2;color:#273248;font-weight:780}
.ots-report-range-copy small{font-size:10.5px;line-height:1.35;color:#8a94a4;font-weight:550}
.ots-report-date-controls{
  display:grid;
  grid-template-columns:minmax(145px,1fr) 38px minmax(145px,1fr) auto;
  gap:9px;
  align-items:end;
  justify-content:stretch;
  width:100%
}
.ots-report-date-field{display:flex;min-width:0;flex-direction:column;gap:5px}
.ots-report-date-field>span{padding-left:2px;font-size:9.5px!important;text-transform:uppercase;letter-spacing:.04em;color:#8a94a4!important;font-weight:750!important}
.ots-report-date-field input{
  height:42px;
  border:1px solid #dfe4ea;
  border-radius:10px;
  background:#fff;
  padding:0 10px;
  color:#253047;
  font:680 12px/1 Inter,sans-serif;
  box-shadow:0 1px 2px rgba(16,24,40,.02);
  transition:border-color .16s,box-shadow .16s,background .16s
}
.ots-report-date-field input:hover{border-color:#cfd5dd}
.ots-report-date-field input:focus{border-color:#df5f6e;background:#fff;box-shadow:0 0 0 3px rgba(223,38,56,.075)}
.ots-report-date-connector{display:flex;height:42px;align-items:center;justify-content:center;gap:5px;color:#98a1ae}
.ots-report-date-connector i{display:block;flex:1;height:1px;background:#dfe3e8}
.ots-report-date-connector b{font-size:9.5px;font-weight:720;text-transform:uppercase;color:#9ba4b1}
.ots-report-date-actions{display:flex;align-items:center;gap:7px}
.ots-report-date-actions .ots-report-apply,.ots-report-date-actions .ots-report-reset-month{height:42px;border-radius:10px;padding:0 14px}
.ots-report-date-actions .ots-report-apply{min-width:66px}
.ots-report-date-actions .ots-report-reset-month{min-width:66px;background:transparent}
.ots-report-reset-month:disabled{opacity:.42;cursor:default;background:transparent;border-color:#e4e7ec;color:#98a2b3}
.ots-report-reset-month:disabled:hover{background:transparent;border-color:#e4e7ec;color:#98a2b3}
@media(max-width:900px){
  .ots-report-range-box{grid-template-columns:1fr;gap:10px}
  .ots-report-range-intro{padding:0 2px}
}
@media(max-width:700px){
  .ots-report-date-controls{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}
  .ots-report-date-actions{grid-column:1/-1;justify-content:flex-end}
}
@media(max-width:520px){
  .ots-report-date-filter{padding:14px 12px}
  .ots-report-range-box{padding:11px}
  .ots-report-range-copy small{display:none}
  .ots-report-date-controls{grid-template-columns:1fr;gap:8px}
  .ots-report-date-connector{height:12px;gap:7px}.ots-report-date-connector i{max-width:34px}.ots-report-date-connector b{font-size:9px}
  .ots-report-date-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  .ots-report-date-actions .ots-report-apply,.ots-report-date-actions .ots-report-reset-month{width:100%}
}

/* v1.4.51 — compact report range + custom sales hover card */
.ots-report-date-filter{
  align-items:stretch;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none
}
.ots-report-date-summary{align-items:center;text-align:center;padding:0 0 2px}
.ots-report-range-box{
  display:flex;
  width:auto;
  max-width:100%;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent
}
.ots-report-range-copy{display:block;padding:0 1px}
.ots-report-range-copy strong{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.045em;color:#7f8998;font-weight:760}
.ots-report-date-controls{
  display:flex;
  width:auto;
  max-width:100%;
  align-items:flex-end;
  justify-content:flex-start;
  gap:7px
}
.ots-report-date-field{width:152px;flex:0 0 152px;gap:4px}
.ots-report-date-field>span{padding-left:1px;font-size:9px!important;letter-spacing:.035em}
.ots-report-date-field input{
  width:152px;
  height:38px;
  border-radius:9px;
  padding:0 9px;
  background:#f8f9fb;
  font-size:11.5px
}
.ots-report-date-connector{display:flex;flex:0 0 24px;width:24px;height:38px;align-items:center;justify-content:center;color:#a1a8b3}
.ots-report-date-connector i{display:none}
.ots-report-date-connector b{font-size:14px;font-weight:600;line-height:1;color:#9aa3b0}
.ots-report-date-actions{display:flex;flex:0 0 auto;align-items:flex-end;gap:6px}
.ots-report-date-actions .ots-report-apply,.ots-report-date-actions .ots-report-reset-month{height:38px;min-width:60px;border-radius:9px;padding:0 12px}
.ots-report-date-actions .ots-report-reset-month{min-width:58px}

.ots-report-overview-chart-v148{isolation:isolate}
.ots-report-overview-chart-v148 .ots-report-svg-wrap{position:relative}
.ots-sales-hover-guide{stroke:#df2638;stroke-width:1;stroke-dasharray:3 5;opacity:0;pointer-events:none;transition:opacity .12s ease}
.ots-sales-hover-guide.is-visible{opacity:.34}
.ots-sales-hit{fill:transparent;cursor:crosshair}
.ots-sales-dot{transition:r .12s ease,fill .12s ease,stroke-width .12s ease,filter .12s ease}
.ots-sales-dot.is-active{r:5.2px;fill:#df2638;stroke:#fff;stroke-width:2.8;filter:url(#otsSalesGlow)}
.ots-sales-tooltip{
  position:absolute;
  z-index:8;
  width:174px;
  padding:11px 12px 10px;
  border:1px solid rgba(219,224,231,.96);
  border-radius:12px;
  background:rgba(255,255,255,.98);
  box-shadow:0 12px 28px rgba(31,41,55,.13),0 2px 5px rgba(31,41,55,.05);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-8px) scale(.98);
  transform-origin:50% 100%;
  transition:opacity .11s ease,transform .11s ease,visibility .11s;
  backdrop-filter:blur(8px)
}
.ots-sales-tooltip.is-visible{opacity:1;visibility:visible;transform:translate(-50%,-12px) scale(1)}
.ots-sales-tooltip.is-below{transform-origin:50% 0}
.ots-sales-tooltip.is-below.is-visible{transform:translate(-50%,12px) scale(1)}
.ots-sales-tooltip-head{display:flex;align-items:center;gap:7px;padding-bottom:8px;border-bottom:1px solid #f0f2f5}
.ots-sales-tooltip-marker{width:7px;height:7px;flex:0 0 7px;border-radius:999px;background:linear-gradient(135deg,#d91f35,#f16b73);box-shadow:0 0 0 3px rgba(223,38,56,.08)}
.ots-sales-tooltip-head strong{font-size:10.5px;color:#667085;font-weight:750;letter-spacing:.01em}
.ots-sales-tooltip-main{display:flex;flex-direction:column;gap:3px;padding:9px 0 8px}
.ots-sales-tooltip-main span,.ots-sales-tooltip-foot span{font-size:9px;color:#98a1af;font-weight:700;text-transform:uppercase;letter-spacing:.045em}
.ots-sales-tooltip-main strong{font-size:17px;line-height:1.1;color:#202a3d;font-weight:840;letter-spacing:-.25px}
.ots-sales-tooltip-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ots-sales-tooltip-foot b{font-size:10.5px;color:#344054;font-weight:800}
@media(max-width:700px){
  .ots-report-date-controls{display:grid;grid-template-columns:152px 24px 152px;gap:7px;max-width:100%}
  .ots-report-date-actions{grid-column:1/4;justify-content:flex-start}
}
@media(max-width:430px){
  .ots-report-date-controls{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);width:100%}
  .ots-report-date-field,.ots-report-date-field input{width:100%;flex-basis:auto}
  .ots-report-date-connector{width:20px;flex-basis:20px}
  .ots-report-date-actions{grid-column:1/4}
}

/* v1.4.52 — Reports period dropdown + contextual custom range */
.ots-report-period-filter{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  padding:0;
  border:0;
  background:transparent
}
.ots-report-period-summary{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-height:42px;
  text-align:center
}
.ots-report-period-summary>span{
  font-size:9.5px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.055em;
  color:#98a1af;
  font-weight:760
}
.ots-report-period-summary>strong{
  font-size:15px;
  line-height:1.25;
  color:#1f293b;
  font-weight:820;
  letter-spacing:-.16px
}
.ots-report-period-summary>small{
  margin-top:1px;
  font-size:10.5px;
  line-height:1.3;
  color:#8a94a4;
  font-weight:590
}
.ots-report-period-tools{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:12px;
  min-width:0
}
.ots-report-period-select,.ots-report-custom-date{
  display:flex;
  flex-direction:column;
  gap:5px
}
.ots-report-period-select>span:first-child,.ots-report-custom-date>span{
  padding-left:1px;
  font-size:9.5px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.045em;
  color:#7f8998;
  font-weight:760
}
.ots-report-select-shell{
  position:relative;
  display:block;
  width:168px
}
.ots-report-select-shell:after{
  content:"";
  position:absolute;
  right:12px;
  top:50%;
  width:6px;
  height:6px;
  margin-top:-5px;
  border-right:1.6px solid #7d8795;
  border-bottom:1.6px solid #7d8795;
  transform:rotate(45deg);
  pointer-events:none
}
.ots-report-period-select select{
  width:168px;
  height:40px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid #dfe4ea;
  border-radius:10px;
  background:#f8f9fb;
  padding:0 34px 0 11px;
  color:#253047;
  font:740 12px/1 Inter,sans-serif;
  cursor:pointer;
  outline:0;
  box-shadow:0 1px 2px rgba(16,24,40,.018);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
.ots-report-period-select select:hover{border-color:#cfd5dd;background:#fff}
.ots-report-period-select select:focus{border-color:#df5f6e;background:#fff;box-shadow:0 0 0 3px rgba(223,38,56,.075)}
.ots-report-custom-range{
  display:none;
  align-items:flex-end;
  gap:7px;
  min-width:0
}
.ots-report-custom-range.is-visible{display:flex}
.ots-report-custom-divider{
  display:block;
  width:1px;
  height:40px;
  margin:0 4px 0 0;
  background:#e6e9ee
}
.ots-report-custom-date{width:150px;flex:0 0 150px}
.ots-report-custom-date input{
  width:150px;
  height:40px;
  box-sizing:border-box;
  border:1px solid #dfe4ea;
  border-radius:10px;
  background:#f8f9fb;
  padding:0 10px;
  color:#253047;
  font:680 11.5px/1 Inter,sans-serif;
  outline:0;
  box-shadow:0 1px 2px rgba(16,24,40,.018);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
.ots-report-custom-date input:hover{border-color:#cfd5dd;background:#fff}
.ots-report-custom-date input:focus{border-color:#df5f6e;background:#fff;box-shadow:0 0 0 3px rgba(223,38,56,.075)}
.ots-report-custom-arrow{
  display:flex;
  width:22px;
  height:40px;
  flex:0 0 22px;
  align-items:center;
  justify-content:center;
  color:#9ca4b1;
  font-size:14px;
  line-height:1
}
.ots-report-custom-apply{
  height:40px;
  min-width:66px;
  border:1px solid #cf2437;
  border-radius:10px;
  background:#d9273a;
  padding:0 14px;
  color:#fff;
  font:760 11px/1 Inter,sans-serif;
  cursor:pointer;
  box-shadow:0 3px 9px rgba(217,39,58,.14);
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease
}
.ots-report-custom-apply:hover{background:#c92134;border-color:#c92134;box-shadow:0 4px 12px rgba(217,39,58,.18)}
.ots-report-custom-apply:active{transform:translateY(1px)}
.ots-report-period-filter.is-loading .ots-report-period-select select,.ots-report-period-filter.is-loading .ots-report-custom-apply{cursor:wait;opacity:.62}
@media(max-width:760px){
  .ots-report-period-tools{flex-wrap:wrap;gap:10px}
  .ots-report-custom-range{width:100%;flex-wrap:wrap;padding-top:2px}
  .ots-report-custom-divider{display:none}
}
@media(max-width:520px){
  .ots-report-period-summary{min-height:38px}
  .ots-report-period-tools{display:grid;grid-template-columns:1fr;gap:9px}
  .ots-report-select-shell,.ots-report-period-select select{width:100%}
  .ots-report-custom-range.is-visible{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:7px;width:100%}
  .ots-report-custom-date,.ots-report-custom-date input{width:100%;min-width:0;flex-basis:auto}
  .ots-report-custom-arrow{width:20px;flex-basis:20px}
  .ots-report-custom-apply{grid-column:1/-1;width:100%}
}

/* v1.4.53 — Reports toolbar polish + shared custom calendar */
.ots-report-period-filter{
  display:flex;
  flex-direction:row;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  width:100%;
}
.ots-report-period-tools{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap:14px;
  min-width:0;
}
.ots-report-period-summary{
  flex:0 0 auto;
  min-width:190px;
  min-height:46px;
  align-items:flex-end;
  justify-content:center;
  text-align:right;
  padding-bottom:1px;
}
.ots-report-period-summary>span{font-size:10px}
.ots-report-period-summary>strong{font-size:16px}
.ots-report-period-summary>small{font-size:11px}
.ots-report-select-shell,.ots-report-period-select select{width:188px}
.ots-report-period-select select{
  height:44px;
  border-radius:11px;
  padding-left:13px;
  font-size:12.5px;
}
.ots-report-select-shell:after{right:14px}
.ots-report-custom-divider{height:44px;margin-right:2px}
.ots-report-custom-date{width:172px;flex-basis:172px}
.ots-report-custom-date>span,.ots-report-period-select>span:first-child{font-size:10px}
.ots-report-custom-arrow{height:44px;width:24px;flex-basis:24px}
.ots-report-custom-apply{
  height:44px;
  min-width:74px;
  border-radius:11px;
  padding:0 16px;
  font-size:11.5px;
}

/* Progressive enhancement: keep the real date input as the submitted value. */
.ots-date-picker{
  position:relative;
  display:block;
  width:100%;
}
.ots-date-picker>.ots-native-date-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.ots-date-trigger{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #dfe4ea;
  border-radius:10px;
  background:#fff;
  padding:0 11px 0 12px;
  color:#263247;
  font:650 12px/1 Inter,sans-serif;
  text-align:left;
  cursor:pointer;
  outline:0;
  box-shadow:0 1px 2px rgba(16,24,40,.02);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.ots-date-trigger:hover{border-color:#cbd2dc;background:#fff}
.ots-date-trigger:focus-visible,.ots-date-picker.is-open .ots-date-trigger{
  border-color:#df5f6e;
  box-shadow:0 0 0 3px rgba(223,38,56,.075);
}
.ots-date-trigger.is-empty .ots-date-trigger-value{color:#9aa3b2;font-weight:560}
.ots-date-trigger-value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ots-date-trigger-icon{
  width:17px;
  height:17px;
  flex:0 0 17px;
  color:#7e8897;
}
.ots-date-trigger-icon svg{display:block;width:100%;height:100%}
.ots-report-custom-date .ots-date-trigger{height:44px;border-radius:11px;background:#f8f9fb;font-size:12px}
.ots-report-custom-date .ots-date-trigger:hover,.ots-report-custom-date .ots-date-picker.is-open .ots-date-trigger{background:#fff}

.ots-calendar-popover{
  position:fixed;
  z-index:100000;
  width:302px;
  box-sizing:border-box;
  padding:12px;
  border:1px solid #e2e6ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 18px 46px rgba(23,31,44,.16),0 3px 10px rgba(23,31,44,.06);
  opacity:0;
  transform:translateY(-4px) scale(.985);
  transform-origin:top left;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease;
}
.ots-calendar-popover.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.ots-calendar-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:7px;
  margin-bottom:10px;
}
.ots-calendar-nav{
  appearance:none;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #e6e9ee;
  border-radius:9px;
  background:#fff;
  color:#596476;
  cursor:pointer;
  transition:.15s ease;
}
.ots-calendar-nav:hover:not(:disabled){border-color:#d4dae3;background:#f7f8fa;color:#242e40}
.ots-calendar-nav:disabled{opacity:.32;cursor:not-allowed}
.ots-calendar-nav svg{width:15px;height:15px}
.ots-calendar-jump{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:6px}
.ots-calendar-jump select{
  width:100%;
  height:34px;
  border:1px solid #e6e9ee;
  border-radius:9px;
  background:#f8f9fb;
  padding:0 7px;
  color:#283347;
  font:720 11.5px/1 Inter,sans-serif;
  outline:0;
  cursor:pointer;
}
.ots-calendar-jump select:focus{border-color:#df5f6e;box-shadow:0 0 0 2px rgba(223,38,56,.07);background:#fff}
.ots-calendar-weekdays,.ots-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.ots-calendar-weekdays{margin-bottom:4px}
.ots-calendar-weekdays span{
  display:flex;
  height:25px;
  align-items:center;
  justify-content:center;
  color:#a0a8b5;
  font:760 9px/1 Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.ots-calendar-day{
  appearance:none;
  position:relative;
  width:36px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#344054;
  font:680 11.5px/1 Inter,sans-serif;
  cursor:pointer;
  transition:background .13s ease,color .13s ease,box-shadow .13s ease;
}
.ots-calendar-day:hover:not(:disabled):not(.is-selected){background:#f4f5f7;color:#1e293b}
.ots-calendar-day.is-outside{color:#c1c6cf}
.ots-calendar-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #e7a4ad;color:#c72235}
.ots-calendar-day.is-selected{background:#d9273a;color:#fff;font-weight:800;box-shadow:0 4px 10px rgba(217,39,58,.2)}
.ots-calendar-day:disabled{color:#d3d7de;cursor:not-allowed;background:transparent;box-shadow:none}
.ots-calendar-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #eef0f3;
}
.ots-calendar-footer button{
  appearance:none;
  height:32px;
  border:0;
  border-radius:8px;
  background:transparent;
  padding:0 9px;
  color:#667085;
  font:720 10.5px/1 Inter,sans-serif;
  cursor:pointer;
}
.ots-calendar-footer button:hover{background:#f5f6f8;color:#283347}
.ots-calendar-footer .ots-calendar-today{color:#c72235;background:#fff5f6}
.ots-calendar-footer .ots-calendar-today:hover{background:#ffecef;color:#b31d2f}

@media(max-width:900px){
  .ots-report-period-filter{align-items:flex-start;gap:18px}
  .ots-report-period-tools{flex-wrap:wrap}
  .ots-report-period-summary{padding-top:14px}
  .ots-report-custom-range{width:100%;flex-wrap:wrap}
  .ots-report-custom-divider{display:none}
}
@media(max-width:620px){
  .ots-report-period-filter{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .ots-report-period-tools{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:9px}
  .ots-report-period-select,.ots-report-select-shell,.ots-report-period-select select{width:100%}
  .ots-report-period-summary{order:2;align-items:flex-start;min-width:0;min-height:0;padding:0;text-align:left}
  .ots-report-custom-range.is-visible{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:7px;width:100%}
  .ots-report-custom-date{width:100%;min-width:0;flex-basis:auto}
  .ots-report-custom-apply{grid-column:1/-1;width:100%}
  .ots-calendar-popover{width:min(302px,calc(100vw - 24px));}
}

/* v1.4.63 — consolidated + aligned Flights date/time picker styles */
.ots-datetime-picker{
  position:relative;
  display:block;
  width:100%;
  margin-top:7px;
}
.ots-datetime-picker>.ots-native-datetime-input{
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
.ots-datetime-trigger{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:50px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  border:1px solid #dfe4ea;
  border-radius:11px;
  background:#fff;
  padding:8px 12px;
  color:#263247;
  text-align:left;
  cursor:pointer;
  outline:0;
  box-shadow:0 1px 2px rgba(16,24,40,.025);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.ots-datetime-trigger:hover{border-color:#cbd2dc;background:#fff}
.ots-datetime-trigger:focus-visible,.ots-datetime-picker.is-open .ots-datetime-trigger{
  border-color:#df5f6e;
  box-shadow:0 0 0 3px rgba(223,38,56,.075);
}
.ots-datetime-trigger-icon{width:20px;height:20px;color:#7e8897}
.ots-datetime-trigger-icon svg,.ots-datetime-trigger-chevron svg{display:block;width:100%;height:100%}
.ots-datetime-trigger-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.ots-datetime-trigger-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#283347;font-size:12.5px;font-weight:760;line-height:1.15}
.ots-datetime-trigger-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a94a3;font-size:10.5px;font-weight:580;line-height:1.15}
.ots-datetime-trigger.is-empty .ots-datetime-trigger-copy strong{color:#8e98a7;font-weight:630}
.ots-datetime-trigger.is-empty .ots-datetime-trigger-copy small{color:#a2aab6}
.ots-datetime-trigger-chevron{width:15px;height:15px;color:#9aa3b0;transition:transform .15s ease}
.ots-datetime-picker.is-open .ots-datetime-trigger-chevron{transform:rotate(180deg)}
.ots-datetime-picker.has-error .ots-datetime-trigger{border-color:#e76877}
.ots-datetime-error{
  display:block!important;
  min-height:0;
  margin:5px 0 0!important;
  color:#c52235!important;
  font-size:10.5px!important;
  font-weight:650!important;
  line-height:1.35!important;
}
.ots-datetime-error:empty{display:none!important}

.ots-datetime-popover{
  position:fixed;
  z-index:100002;
  width:432px;
  max-height:calc(100vh - 24px);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  box-sizing:border-box;
  padding:12px;
  border:1px solid #e2e6ec;
  border-radius:13px;
  background:#fff;
  box-shadow:0 16px 42px rgba(23,31,44,.16),0 2px 8px rgba(23,31,44,.05);
  opacity:0;
  transform:translateY(-4px) scale(.985);
  transform-origin:top left;
  pointer-events:none;
  transition:opacity .14s ease,transform .14s ease;
}
.ots-datetime-popover.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.ots-datetime-pop-head{display:flex;width:398px;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 8px}
.ots-datetime-pop-head>div:first-child{min-width:0;padding-top:0}
.ots-datetime-pop-head strong{display:block;color:#202b3d;font-size:12.5px;line-height:1.2}
.ots-datetime-pop-head span{display:block;margin-top:2px;color:#929baa;font-size:9.5px;font-weight:560}
.ots-datetime-selection{flex:0 0 auto;min-width:132px;padding:7px 9px;border-radius:8px;background:#fff4f5;text-align:right}
.ots-datetime-selection b{display:block;color:#c72235;font-size:10px;line-height:1.15}
.ots-datetime-selection span{margin-top:3px;color:#c72235;font-size:9px;font-weight:800}
.ots-datetime-pop-body{display:grid;width:398px;grid-template-columns:246px 142px;justify-content:start;gap:10px;margin:0 auto}
.ots-datetime-calendar-panel,.ots-datetime-time-panel{border:1px solid #eceff3;border-radius:10px;background:#fff;box-sizing:border-box}
.ots-datetime-calendar-panel{width:246px;padding:10px;justify-self:stretch}
.ots-datetime-time-panel{display:flex;flex-direction:column;justify-content:flex-start;width:142px;padding:9px;background:#fafbfc}
.ots-datetime-calendar-head{display:grid;width:222px;grid-template-columns:30px 154px 30px;align-items:center;gap:4px;margin:0 auto 6px}
.ots-datetime-calendar-head .ots-calendar-nav{width:30px;height:30px;border-radius:7px}
.ots-datetime-calendar-head .ots-calendar-nav svg{width:14px;height:14px}
.ots-datetime-calendar-head .ots-calendar-jump{grid-template-columns:90px 60px;gap:4px}
.ots-datetime-calendar-head .ots-calendar-jump select{width:100%;min-width:0;height:30px;padding:0 7px;border-radius:7px;font-size:10.75px}
.ots-datetime-calendar-panel .ots-calendar-weekdays,.ots-datetime-calendar-grid{
  display:grid;
  width:222px;
  grid-template-columns:repeat(7,30px);
  justify-content:center;
  column-gap:2px;
  row-gap:2px;
  margin-left:auto;
  margin-right:auto;
}
.ots-datetime-calendar-panel .ots-calendar-weekdays{margin-bottom:3px}
.ots-datetime-calendar-panel .ots-calendar-weekdays span{display:flex;width:30px;height:20px;padding:0;align-items:center;justify-content:center;justify-self:center;color:#a0a8b5;font-size:9.25px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.ots-datetime-day{
  appearance:none;
  position:relative;
  width:30px;
  height:30px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#344054;
  font-size:11.25px;
  font-weight:650;
  line-height:1;
  cursor:pointer;
  transition:background .13s ease,color .13s ease,box-shadow .13s ease;
}
.ots-datetime-day:hover:not(:disabled):not(.is-selected){background:#f4f5f7;color:#1e293b}
.ots-datetime-day.is-outside{color:#c1c6cf}
.ots-datetime-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px #e7a4ad;color:#c72235}
.ots-datetime-day.is-selected{background:#d9273a;color:#fff;font-weight:800;box-shadow:0 2px 7px rgba(217,39,58,.18)}
.ots-datetime-day:disabled{color:#d3d7de;cursor:not-allowed;background:transparent;box-shadow:none}
.ots-datetime-today{
  appearance:none;
  display:block;
  width:222px;
  height:30px;
  margin:6px auto 0;
  border:0;
  border-radius:7px;
  background:#fff5f6;
  padding:0 8px;
  color:#c72235;
  font-size:10.25px;
  font-weight:750;
  line-height:1;
  cursor:pointer;
}
.ots-datetime-today:hover:not(:disabled){background:#ffecef}
.ots-datetime-today:disabled{opacity:.4;cursor:not-allowed}
.ots-datetime-time-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.ots-datetime-time-title span{color:#8c96a5;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.ots-datetime-time-title strong{color:#c72235;font-size:10.5px;line-height:1.1}
.ots-datetime-time-simple{display:block;margin:0!important}
.ots-datetime-time-simple>span{display:block;margin:0 0 4px;color:#929baa;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.ots-datetime-time-simple input{
  width:100%!important;
  height:38px!important;
  margin:0!important;
  padding:0 8px!important;
  border:1px solid #dde2e8!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#263247!important;
  text-align:center!important;
  font-size:16px!important;
  font-weight:800!important;
  letter-spacing:.02em;
  outline:0!important;
  transition:border-color .14s ease,box-shadow .14s ease;
}
.ots-datetime-time-simple input:focus{border-color:#df5f6e!important;box-shadow:0 0 0 3px rgba(223,38,56,.07)!important}
.ots-datetime-time-simple input.has-error{border-color:#e76877!important;box-shadow:0 0 0 3px rgba(231,104,119,.07)!important}
.ots-time-ampm{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-top:6px;padding:2px;border-radius:8px;background:#eef1f4}
.ots-time-ampm button{appearance:none;height:27px;border:0;border-radius:6px;background:transparent;color:#7c8796;font-size:9.5px;font-weight:800;cursor:pointer;transition:.13s ease}
.ots-time-ampm button.is-active{background:#fff;color:#c72235;box-shadow:0 1px 4px rgba(27,35,48,.08)}
.ots-datetime-pop-error{width:398px;min-height:0;margin:7px auto 0;color:#c52235;font-size:10px;font-weight:650}
.ots-datetime-pop-error:empty{display:none}
.ots-datetime-pop-footer{display:flex;width:398px;align-items:center;justify-content:space-between;gap:8px;margin:8px auto 0;padding-top:8px;border-top:1px solid #eef0f3}
.ots-datetime-pop-footer button{appearance:none;height:31px;border-radius:8px;padding:0 10px;font-size:10px;font-weight:800;cursor:pointer}
.ots-datetime-clear{border:0;background:transparent;color:#7a8493}
.ots-datetime-clear:hover{background:#f5f6f8;color:#344054}
.ots-datetime-apply{border:1px solid #d9273a;background:#d9273a;color:#fff;box-shadow:0 3px 8px rgba(217,39,58,.14)}
.ots-datetime-apply:hover{background:#c92134;border-color:#c92134}

/* All Flights: keep airline branding visible without dominating the row. */
.ots-flight-airline-feature{min-width:220px;gap:11px}
.ots-flight-airline-logo-wide{width:112px;height:40px;flex:0 0 112px}
.ots-flight-airline-logo-fallback{width:42px;height:36px;border-radius:9px}
.ots-flight-airline-logo-fallback .ots-svg-icon{width:20px;height:20px}

@media(max-width:760px){
  .ots-datetime-trigger{min-height:46px}
  .ots-datetime-popover{
    width:100vw;
    max-width:100vw;
    max-height:calc(100dvh - 16px);
    padding:10px 12px 11px;
    border-radius:12px 12px 0 0;
  }
  .ots-datetime-pop-head{width:100%;align-items:center;flex-direction:row;gap:8px;margin:0 0 7px}
  .ots-datetime-pop-head>div:first-child{min-width:0;flex:1 1 auto}
  .ots-datetime-selection{width:auto;min-width:112px;flex:0 0 auto;text-align:right}
  .ots-datetime-pop-body{width:100%;grid-template-columns:1fr;justify-items:stretch;gap:8px;margin:0}
  .ots-datetime-calendar-panel{width:100%;max-width:none;padding:9px 8px 8px;box-sizing:border-box}
  .ots-datetime-calendar-head{width:100%;grid-template-columns:30px minmax(0,1fr) 30px;gap:7px;margin:0 0 6px}
  .ots-datetime-calendar-head .ots-calendar-nav{width:30px;height:30px}
  .ots-datetime-calendar-head .ots-calendar-jump{grid-template-columns:minmax(0,1fr) 84px;gap:6px}
  .ots-datetime-calendar-head .ots-calendar-jump select{height:30px;font-size:11px;padding:0 7px}
  .ots-datetime-calendar-panel .ots-calendar-weekdays,.ots-datetime-calendar-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr));column-gap:2px;row-gap:2px;margin-left:0;margin-right:0}
  .ots-datetime-calendar-panel .ots-calendar-weekdays{margin-bottom:2px}
  .ots-datetime-calendar-panel .ots-calendar-weekdays span{width:100%;height:21px;font-size:9.25px}
  .ots-datetime-day{width:100%;height:34px;min-width:0;border-radius:8px;font-size:11.5px}
  .ots-datetime-today{width:100%;height:30px;margin-top:6px;font-size:10.5px}
  .ots-datetime-time-panel{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 104px;align-items:end;gap:7px;background:#fff}
  .ots-datetime-time-title{grid-column:1/-1;margin-bottom:0}
  .ots-time-ampm{margin-top:0}
  .ots-datetime-pop-error{width:100%;margin-left:0;margin-right:0}
  .ots-datetime-pop-footer{width:100%;position:sticky;bottom:-9px;margin-left:0;margin-right:0;background:#fff;z-index:2;padding-bottom:1px}
  .ots-flight-airline-logo-wide{width:88px;height:34px;flex-basis:88px}
  .ots-flight-airline-feature{gap:9px}
}
@media(max-width:480px){
  .ots-datetime-popover{width:100vw;max-width:100vw;padding:9px 10px 10px}
  .ots-datetime-pop-head{align-items:flex-start}
  .ots-datetime-pop-head span{display:none}
  .ots-datetime-selection{min-width:106px;padding:5px 7px}
  .ots-datetime-calendar-panel{padding:8px 6px 7px}
  .ots-datetime-calendar-head{grid-template-columns:29px minmax(0,1fr) 29px;gap:6px}
  .ots-datetime-calendar-head .ots-calendar-nav{width:29px;height:29px}
  .ots-datetime-calendar-head .ots-calendar-jump select{height:29px;font-size:10.75px}
  .ots-datetime-calendar-panel .ots-calendar-weekdays,.ots-datetime-calendar-grid{column-gap:2px;row-gap:2px}
  .ots-datetime-calendar-panel .ots-calendar-weekdays span{height:20px;font-size:9px}
  .ots-datetime-day{height:33px;font-size:11.25px}
  .ots-datetime-time-panel{grid-template-columns:minmax(0,1fr) 96px;gap:6px}
  .ots-datetime-time-simple input{height:36px!important;font-size:15px!important}
  .ots-time-ampm button{height:26px}
  .ots-datetime-pop-footer{bottom:-8px}
}
@media(max-width:360px){
  .ots-datetime-popover{width:100vw;max-width:100vw;padding-left:8px;padding-right:8px}
  .ots-datetime-selection{min-width:98px}
  .ots-datetime-calendar-panel{width:100%}
  .ots-datetime-calendar-head,.ots-datetime-calendar-panel .ots-calendar-weekdays,.ots-datetime-calendar-grid,.ots-datetime-today{width:100%}
  .ots-datetime-calendar-head{grid-template-columns:28px minmax(0,1fr) 28px}
  .ots-datetime-calendar-head .ots-calendar-jump{grid-template-columns:minmax(0,1fr) 76px}
  .ots-datetime-calendar-panel .ots-calendar-weekdays,.ots-datetime-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));column-gap:1.5px}
  .ots-datetime-calendar-panel .ots-calendar-weekdays span,.ots-datetime-day{width:100%}
  .ots-datetime-day{height:31px;font-size:10.75px}
  .ots-datetime-time-panel{grid-template-columns:minmax(0,1fr) 90px}
}

/* v1.4.64 Admin dashboard revamp */
.ots-admin-dashboard-v164{display:grid;gap:16px}.ots-admin-dashboard-v164 .ots-svg-icon{width:18px;height:18px}.ots-admin-dashboard-date{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:-50px;margin-bottom:14px;min-height:36px;color:#8a95a5;font-size:12.5px}.ots-admin-dashboard-date span{padding:5px 9px;border-radius:999px;background:#fff1f3;color:var(--ots-red);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.ots-admin-dashboard-date strong{color:#536071;font-size:12.5px;font-weight:700}.ots-admin-dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ots-admin-kpi{min-width:0;display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fff;border:1px solid var(--ots-line);border-radius:14px;box-shadow:0 8px 24px rgba(25,35,52,.045)}.ots-admin-kpi-icon{flex:0 0 38px;width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.ots-admin-kpi-icon.sales{background:#fff1f3;color:var(--ots-red)}.ots-admin-kpi-icon.booking{background:#edf3ff;color:#5578cf}.ots-admin-kpi-icon.payment{background:#fff6df;color:#bd7b05}.ots-admin-kpi-icon.flight{background:#edf8f4;color:#16825c}.ots-admin-kpi>div{min-width:0}.ots-admin-kpi small{display:block;color:#7f8a99;font-size:11.5px;font-weight:700}.ots-admin-kpi strong{display:block;color:var(--ots-navy);font-size:26px;line-height:1.08;margin-top:6px;letter-spacing:-.02em}.ots-admin-kpi>div>span{display:block;color:#98a2b3;font-size:10.5px;line-height:1.35;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-admin-dashboard-row{display:grid;gap:16px;align-items:stretch}.ots-admin-dashboard-row-primary{grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr)}.ots-admin-dashboard-row-secondary{grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr)}.ots-admin-dashboard-row-tertiary{grid-template-columns:minmax(270px,.65fr) minmax(0,1.65fr)}.ots-admin-dashboard-card{min-width:0;background:#fff;border:1px solid var(--ots-line);border-radius:14px;box-shadow:0 8px 24px rgba(25,35,52,.045);padding:17px 18px}.ots-admin-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.ots-admin-card-head h2{margin:0;color:var(--ots-navy);font-size:16px;line-height:1.25;letter-spacing:-.01em}.ots-admin-card-head p{margin:4px 0 0;color:#8a95a5;font-size:11px;line-height:1.4}.ots-admin-card-head>a{flex:0 0 auto;color:var(--ots-red);font-size:11px;font-weight:800}.ots-admin-action-list{display:grid;gap:7px}.ots-admin-action-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #edf0f4;border-radius:10px;background:#fafbfc;color:inherit;transition:background .16s,border-color .16s,transform .16s}.ots-admin-action-list>a:hover{background:#fff;border-color:#e2e6eb;transform:translateY(-1px)}.ots-admin-action-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.ots-admin-action-icon .ots-svg-icon{width:16px;height:16px}.ots-admin-action-icon.warning{background:#fff5dc;color:#b87808}.ots-admin-action-icon.info{background:#edf3ff;color:#5578cf}.ots-admin-action-icon.neutral{background:#f0f2f5;color:#6d7989}.ots-admin-action-icon.flight{background:#edf8f4;color:#16825c}.ots-admin-action-list>a div{min-width:0}.ots-admin-action-list>a strong{display:block;color:#344054;font-size:12.5px;line-height:1.3}.ots-admin-action-list>a small{display:block;color:#8a95a5;font-size:10.5px;line-height:1.4;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-admin-action-list>a>b{display:grid;place-items:center;color:#a1aab6}.ots-admin-action-list>a>b .ots-svg-icon{width:14px;height:14px}.ots-admin-all-clear{display:flex;align-items:center;gap:11px;padding:16px;border:1px dashed #cde9df;border-radius:11px;background:#f6fcf9}.ots-admin-all-clear>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f7f1;color:#16825c}.ots-admin-all-clear strong{display:block;color:#28614e;font-size:12.5px}.ots-admin-all-clear small{display:block;color:#719184;font-size:10.5px;line-height:1.4;margin-top:3px}.ots-admin-collection-card{display:flex;flex-direction:column}.ots-admin-collection-value{display:flex;align-items:baseline;gap:7px;margin-top:2px}.ots-admin-collection-value strong{font-size:30px;line-height:1;color:var(--ots-navy);letter-spacing:-.03em}.ots-admin-collection-value span{font-size:11.5px;color:#8a95a5;font-weight:700}.ots-admin-progress{height:8px;margin:14px 0 13px;border-radius:999px;background:#f0f2f5;overflow:hidden}.ots-admin-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ots-red),#ef6b78)}.ots-admin-collection-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ots-admin-collection-meta>span{padding:10px 11px;border:1px solid #edf0f4;border-radius:10px;background:#fafbfc}.ots-admin-collection-meta small{display:block;color:#8b95a4;font-size:10px}.ots-admin-collection-meta b{display:block;color:#344054;font-size:12.5px;margin-top:4px}.ots-admin-collection-outstanding{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:13px;color:#7f8a99;font-size:10.5px}.ots-admin-collection-outstanding strong{color:var(--ots-red);font-size:13.5px}.ots-admin-flight-list{display:grid}.ots-admin-flight-row{display:grid;grid-template-columns:34px minmax(90px,.65fr) minmax(170px,1.15fr) minmax(135px,.8fr) 18px;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid #f0f2f4;color:inherit}.ots-admin-flight-row:first-child{padding-top:2px}.ots-admin-flight-row:last-child{border-bottom:0;padding-bottom:2px}.ots-admin-flight-row:hover .ots-admin-flight-main strong{color:var(--ots-red)}.ots-admin-flight-logo{width:32px;height:32px;border-radius:8px;background:#f7f8fa;border:1px solid #eef0f3;display:grid;place-items:center;overflow:hidden;color:#718096}.ots-admin-flight-logo img{width:22px;height:22px;object-fit:contain}.ots-admin-flight-logo .ots-svg-icon{width:16px;height:16px}.ots-admin-flight-main,.ots-admin-flight-route,.ots-admin-flight-seat{min-width:0}.ots-admin-flight-main strong,.ots-admin-flight-route strong,.ots-admin-flight-seat strong{display:block;color:#344054;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-admin-flight-main small,.ots-admin-flight-route small,.ots-admin-flight-seat small{display:block;color:#8a95a5;font-size:10.25px;line-height:1.35;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-admin-flight-seat i{display:block;height:4px;margin-top:5px;border-radius:999px;background:#eef1f4;overflow:hidden}.ots-admin-flight-seat i b{display:block;height:100%;border-radius:inherit;background:var(--ots-red)}.ots-admin-flight-arrow{display:grid;place-items:center;color:#a2abb7}.ots-admin-flight-arrow .ots-svg-icon{width:14px;height:14px}.ots-admin-leader-list{display:grid;gap:6px}.ots-admin-leader-row{display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #edf0f4;border-radius:10px;color:inherit;background:#fff}.ots-admin-leader-row>span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f2f4f7;color:#7b8797;font-size:10px;font-weight:850}.ots-admin-leader-row.is-first{border-color:#f4d0d5;background:#fffafb}.ots-admin-leader-row.is-first>span{background:#fff0f2;color:var(--ots-red)}.ots-admin-leader-row div{min-width:0}.ots-admin-leader-row div strong{display:block;color:#344054;font-size:12px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-admin-leader-row div small{display:block;color:#8c96a4;font-size:10.25px;line-height:1.35;margin-top:3px}.ots-admin-leader-row>b{color:var(--ots-navy);font-size:12px;white-space:nowrap}.ots-admin-status-list{display:grid;gap:12px}.ots-admin-status-row>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.ots-admin-status-row span{display:flex;align-items:center;gap:7px;color:#687586;font-size:11px}.ots-admin-status-row span i{width:7px;height:7px;border-radius:50%}.ots-admin-status-row span i.green{background:#20a874}.ots-admin-status-row span i.orange{background:#f59e0b}.ots-admin-status-row span i.red{background:#df2638}.ots-admin-status-row strong{color:#344054;font-size:11.5px}.ots-admin-status-track{height:5px!important;margin-top:6px;border-radius:999px;background:#eff1f4;overflow:hidden}.ots-admin-status-track i{display:block;height:100%;border-radius:inherit;background:#d6dbe2}.ots-admin-status-row:nth-child(1) .ots-admin-status-track i{background:#20a874}.ots-admin-status-row:nth-child(2) .ots-admin-status-track i{background:#f3b23d}.ots-admin-status-row:nth-child(3) .ots-admin-status-track i{background:#df6674}.ots-admin-status-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f2f4;padding-top:11px;color:#8b95a4;font-size:10.5px}.ots-admin-status-total strong{color:var(--ots-navy);font-size:12px}.ots-admin-recent-list{display:grid}.ots-admin-recent-row{display:grid;grid-template-columns:minmax(105px,.72fr) minmax(150px,1.1fr) minmax(105px,.65fr) auto 16px;gap:11px;align-items:center;padding:10px 2px;border-bottom:1px solid #f0f2f4;color:inherit}.ots-admin-recent-row:first-child{padding-top:2px}.ots-admin-recent-row:last-child{border-bottom:0;padding-bottom:2px}.ots-admin-recent-row:hover .ots-admin-recent-id strong{color:var(--ots-red)}.ots-admin-recent-id,.ots-admin-recent-customer,.ots-admin-recent-amount{min-width:0}.ots-admin-recent-id strong,.ots-admin-recent-customer strong,.ots-admin-recent-amount strong{display:block;color:#344054;font-size:11.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-admin-recent-id small,.ots-admin-recent-customer small,.ots-admin-recent-amount small{display:block;color:#8a95a5;font-size:10px;line-height:1.35;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ots-admin-recent-row>b{display:grid;place-items:center;color:#a2abb7}.ots-admin-recent-row>b .ots-svg-icon{width:13px;height:13px}.ots-admin-empty{padding:25px 10px;text-align:center;color:#929cab;font-size:11.5px;line-height:1.45;border:1px dashed #e2e6eb;border-radius:10px;background:#fbfcfd}
.ots-admin-dashboard-v164 .ots-status{font-size:10.5px;padding:5px 9px}
@media(max-width:1180px){.ots-admin-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ots-admin-dashboard-row-primary,.ots-admin-dashboard-row-secondary{grid-template-columns:minmax(0,1.3fr) minmax(270px,.8fr)}.ots-admin-dashboard-row-tertiary{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr)}.ots-admin-flight-row{grid-template-columns:34px minmax(90px,.7fr) minmax(145px,1fr) minmax(115px,.75fr) 16px}.ots-admin-recent-row{grid-template-columns:minmax(100px,.75fr) minmax(130px,1fr) minmax(95px,.65fr) auto 14px}}
@media(max-width:920px){.ots-admin-dashboard-date{margin-top:0;justify-content:flex-start}.ots-admin-dashboard-row-primary,.ots-admin-dashboard-row-secondary,.ots-admin-dashboard-row-tertiary{grid-template-columns:1fr}.ots-admin-dashboard-row-tertiary .ots-admin-status-card{order:2}.ots-admin-dashboard-row-tertiary .ots-admin-recent-card{order:1}.ots-admin-collection-card{min-height:245px}.ots-admin-flight-row{grid-template-columns:34px minmax(100px,.7fr) minmax(170px,1fr) minmax(130px,.75fr) 16px}}
@media(max-width:680px){.ots-admin-dashboard-v164{gap:12px}.ots-admin-dashboard-date{margin-bottom:4px}.ots-admin-dashboard-kpis{grid-template-columns:1fr 1fr;gap:9px}.ots-admin-kpi{padding:12px;gap:9px;border-radius:12px}.ots-admin-kpi-icon{width:32px;height:32px;flex-basis:32px;border-radius:8px}.ots-admin-kpi-icon .ots-svg-icon{width:15px;height:15px}.ots-admin-kpi strong{font-size:23px}.ots-admin-kpi small{font-size:10.5px}.ots-admin-kpi>div>span{font-size:10px}.ots-admin-dashboard-card{padding:14px;border-radius:12px}.ots-admin-card-head{margin-bottom:11px}.ots-admin-card-head h2{font-size:15px}.ots-admin-action-list>a{grid-template-columns:32px minmax(0,1fr) 16px;padding:8px}.ots-admin-action-icon{width:32px;height:32px}.ots-admin-collection-meta{grid-template-columns:1fr 1fr}.ots-admin-flight-row{grid-template-columns:32px minmax(0,1fr) 15px;gap:9px;padding:11px 1px}.ots-admin-flight-main{grid-column:2}.ots-admin-flight-route{grid-column:2;grid-row:2;margin-top:-5px}.ots-admin-flight-seat{grid-column:2;grid-row:3;margin-top:-4px}.ots-admin-flight-arrow{grid-column:3;grid-row:1/4}.ots-admin-flight-logo{grid-column:1;grid-row:1/4;align-self:start;width:30px;height:30px}.ots-admin-flight-seat i{max-width:180px}.ots-admin-recent-row{grid-template-columns:minmax(0,1fr) auto 14px;gap:7px 10px;padding:11px 1px}.ots-admin-recent-id{grid-column:1;grid-row:1}.ots-admin-recent-customer{grid-column:1;grid-row:2}.ots-admin-recent-amount{grid-column:1;grid-row:3}.ots-admin-recent-row>.ots-status{grid-column:2;grid-row:1;align-self:start}.ots-admin-recent-row>b{grid-column:3;grid-row:1/4}.ots-admin-recent-row .ots-status{font-size:9.5px;padding:4px 7px}}
@media(max-width:430px){.ots-admin-dashboard-kpis{grid-template-columns:1fr}.ots-admin-kpi{align-items:center}.ots-admin-kpi>div>span{white-space:normal}.ots-admin-collection-meta{grid-template-columns:1fr}.ots-admin-dashboard-date{align-items:flex-start;flex-direction:column;gap:5px}.ots-admin-action-list>a small{white-space:normal;line-height:1.35}.ots-admin-leader-row{grid-template-columns:25px minmax(0,1fr)}.ots-admin-leader-row>b{grid-column:2;margin-top:-2px}.ots-admin-card-head{gap:8px}}

/* v1.4.66 Admin dashboard monthly overview */
.ots-admin-dashboard-monthly .ots-admin-dashboard-date{flex-wrap:wrap}
.ots-admin-dashboard-monthly .ots-admin-dashboard-date small{color:#98a2b3;font-size:11.5px;font-weight:650}
.ots-admin-dashboard-monthly .ots-admin-dashboard-row-single{grid-template-columns:1fr}
.ots-admin-dashboard-monthly .ots-admin-dashboard-row-single .ots-admin-upcoming-card{width:100%}
@media(max-width:920px){
  .ots-admin-dashboard-monthly .ots-admin-dashboard-date{gap:6px 8px}
}
@media(max-width:430px){
  .ots-admin-dashboard-monthly .ots-admin-dashboard-date{display:grid;grid-template-columns:auto 1fr;align-items:center}
  .ots-admin-dashboard-monthly .ots-admin-dashboard-date small{grid-column:1/-1;margin-top:-1px}
}

/* v1.4.67 — Admin dashboard mobile app experience */
@media(max-width:760px){
  /* Scope this revamp to the admin dashboard only; staff dashboard stays untouched. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-main{padding-top:12px!important}
  .ots-page-dashboard:not(.ots-staff-app) .ots-title-row{margin:0 2px 10px!important;gap:0!important}
  .ots-page-dashboard:not(.ots-staff-app) .ots-title-row h1{font-size:26px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0!important}
  .ots-page-dashboard:not(.ots-staff-app) .ots-title-row p{display:none!important}

  /* Compact month context: the dashboard already communicates the monthly scope. */
  .ots-admin-dashboard-monthly .ots-admin-dashboard-date{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-direction:row!important;gap:8px!important;margin:0 2px 14px!important;min-height:0!important;font-size:12px!important}
  .ots-admin-dashboard-monthly .ots-admin-dashboard-date span{padding:5px 8px!important;font-size:9.5px!important;line-height:1!important;letter-spacing:.045em!important}
  .ots-admin-dashboard-monthly .ots-admin-dashboard-date strong{font-size:13.5px!important;line-height:1.2!important;color:#4f5d70!important}
  .ots-admin-dashboard-monthly .ots-admin-dashboard-date small{display:none!important}
  .ots-admin-dashboard-v164{gap:12px!important}

  /* 2x2 app-home KPI grid. Keep the first screen useful without long secondary copy. */
  .ots-admin-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .ots-admin-kpi{position:relative!important;display:block!important;min-height:112px!important;padding:14px 12px!important;border-radius:17px!important;border-color:#e9edf2!important;box-shadow:0 4px 16px rgba(22,35,61,.045)!important;overflow:hidden}
  .ots-admin-kpi-icon{position:absolute!important;top:12px!important;right:12px!important;width:31px!important;height:31px!important;min-width:31px!important;flex-basis:31px!important;border-radius:10px!important}
  .ots-admin-kpi-icon .ots-svg-icon{width:15px!important;height:15px!important}
  .ots-admin-kpi>div{padding-right:30px!important}
  .ots-admin-kpi small{font-size:11.5px!important;line-height:1.3!important;font-weight:750!important;color:#778395!important;max-width:90px}
  .ots-admin-kpi strong{font-size:clamp(20px,5.8vw,25px)!important;line-height:1.06!important;margin-top:13px!important;letter-spacing:-.035em!important;overflow-wrap:anywhere}
  .ots-admin-kpi>div>span{display:none!important}

  /* Card language follows a native mobile surface: larger radius, quiet shadow, no redundant subtitle. */
  .ots-admin-dashboard-card{padding:15px!important;border-radius:18px!important;border-color:#e9edf2!important;box-shadow:0 4px 18px rgba(22,35,61,.04)!important}
  .ots-admin-card-head{align-items:center!important;margin-bottom:12px!important;gap:10px!important}
  .ots-admin-card-head h2{font-size:16.5px!important;line-height:1.2!important;letter-spacing:-.015em!important}
  .ots-admin-card-head p{display:none!important}
  .ots-admin-card-head>a{min-height:32px!important;padding:0 10px!important;border:1px solid #f1d6da!important;border-radius:999px!important;background:#fff7f8!important;display:inline-flex!important;align-items:center!important;font-size:10.5px!important;white-space:nowrap}

  /* Action Required remains the highest-priority operational list. */
  .ots-admin-action-list{gap:8px!important}
  .ots-admin-action-list>a{grid-template-columns:36px minmax(0,1fr) 17px!important;gap:10px!important;min-height:58px!important;padding:10px!important;border-radius:14px!important;background:#fafbfc!important}
  .ots-admin-action-icon{width:36px!important;height:36px!important;border-radius:11px!important}
  .ots-admin-action-list>a strong{font-size:12.5px!important;line-height:1.3!important}
  .ots-admin-action-list>a small{font-size:10.5px!important;line-height:1.3!important;margin-top:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .ots-admin-action-list>a>b .ots-svg-icon{width:14px!important;height:14px!important}
  .ots-admin-all-clear{padding:13px!important;border-radius:14px!important}

  /* Collection card: remove the duplicated Sales tile (already in KPI) on phones. */
  .ots-admin-collection-card{min-height:0!important}
  .ots-admin-collection-value{margin-top:1px!important}
  .ots-admin-collection-value strong{font-size:32px!important}
  .ots-admin-collection-value span{font-size:11.5px!important}
  .ots-admin-progress{height:8px!important;margin:13px 0 12px!important}
  .ots-admin-collection-meta{grid-template-columns:1fr!important;gap:0!important}
  .ots-admin-collection-meta>span{padding:10px 11px!important;border-radius:12px!important}
  .ots-admin-collection-meta>span:nth-child(2){display:none!important}
  .ots-admin-collection-meta small{font-size:10.5px!important}
  .ots-admin-collection-meta b{font-size:13px!important}
  .ots-admin-collection-outstanding{padding-top:12px!important;font-size:11px!important}
  .ots-admin-collection-outstanding strong{font-size:14px!important}

  /* Upcoming flights become compact tappable app cards. Three upcoming items are enough on Home. */
  .ots-admin-flight-list{gap:8px!important}
  .ots-admin-flight-row{grid-template-columns:36px minmax(0,1fr) 16px!important;grid-template-rows:auto auto auto!important;gap:3px 10px!important;padding:11px!important;border:1px solid #edf0f4!important;border-radius:14px!important;background:#fafbfc!important}
  .ots-admin-flight-row:nth-child(n+4){display:none!important}
  .ots-admin-flight-logo{grid-column:1!important;grid-row:1/4!important;align-self:start!important;width:36px!important;height:36px!important;border-radius:10px!important;background:#fff!important}
  .ots-admin-flight-logo img{width:23px!important;height:23px!important}
  .ots-admin-flight-main{grid-column:2!important;grid-row:1!important}
  .ots-admin-flight-route{grid-column:2!important;grid-row:2!important;margin:1px 0 0!important}
  .ots-admin-flight-seat{grid-column:2!important;grid-row:3!important;margin:3px 0 0!important;display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
  .ots-admin-flight-arrow{grid-column:3!important;grid-row:1/4!important;align-self:center!important}
  .ots-admin-flight-main strong{font-size:13px!important}
  .ots-admin-flight-main small{font-size:10.5px!important;margin-top:2px!important}
  .ots-admin-flight-route strong{font-size:12px!important}
  .ots-admin-flight-route small{font-size:10.5px!important;margin-top:2px!important}
  .ots-admin-flight-seat strong{display:none!important}
  .ots-admin-flight-seat small{font-size:10.5px!important;margin:0!important;flex:0 0 auto;color:#6f7c8e!important}
  .ots-admin-flight-seat i{width:min(112px,38vw)!important;height:4px!important;margin:0!important;flex:1 1 90px!important}

  /* Recent bookings: two-line cards; hide date/package/pax metadata and chevron on Home. */
  .ots-admin-recent-list{gap:8px!important}
  .ots-admin-recent-row{grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;gap:7px 10px!important;padding:11px 12px!important;border:1px solid #edf0f4!important;border-radius:14px!important;background:#fafbfc!important}
  .ots-admin-recent-row:nth-child(n+5){display:none!important}
  .ots-admin-recent-id{grid-column:1!important;grid-row:1!important}
  .ots-admin-recent-customer{grid-column:1!important;grid-row:2!important}
  .ots-admin-recent-amount{grid-column:2!important;grid-row:2!important;text-align:right!important;align-self:end!important}
  .ots-admin-recent-row>.ots-status{grid-column:2!important;grid-row:1!important;align-self:start!important;justify-self:end!important}
  .ots-admin-recent-row>b{display:none!important}
  .ots-admin-recent-id strong{font-size:12.5px!important;color:#5a6677!important}
  .ots-admin-recent-customer strong{font-size:13px!important}
  .ots-admin-recent-amount strong{font-size:12.5px!important;color:var(--ots-navy)!important}
  .ots-admin-recent-id small,.ots-admin-recent-customer small,.ots-admin-recent-amount small{display:none!important}
  .ots-admin-recent-row .ots-status{font-size:9.5px!important;padding:4px 7px!important;line-height:1.2!important}

  /* Booking status stays compact and scannable at the bottom of the app home. */
  .ots-admin-status-list{gap:11px!important}
  .ots-admin-status-row span{font-size:11.5px!important}
  .ots-admin-status-row strong{font-size:12px!important}
  .ots-admin-status-track{height:5px!important;margin-top:6px!important}
  .ots-admin-status-total{padding-top:10px!important;font-size:10.5px!important}
  .ots-admin-status-total strong{font-size:12.5px!important}

  /* Keep Recent Bookings ahead of the lower-priority monthly status summary on mobile. */
  .ots-admin-dashboard-row-tertiary .ots-admin-recent-card{order:1!important}
  .ots-admin-dashboard-row-tertiary .ots-admin-status-card{order:2!important}
}

@media(max-width:390px){
  .ots-admin-dashboard-kpis{gap:8px!important}
  .ots-admin-kpi{min-height:106px!important;padding:12px 10px!important}
  .ots-admin-kpi-icon{top:10px!important;right:10px!important;width:29px!important;height:29px!important;min-width:29px!important}
  .ots-admin-kpi small{font-size:10.75px!important;max-width:82px}
  .ots-admin-kpi strong{font-size:20px!important;margin-top:12px!important}
  .ots-admin-dashboard-card{padding:13px!important;border-radius:16px!important}
  .ots-admin-flight-row,.ots-admin-recent-row{padding:10px!important}
}


/* v1.4.68 — Admin-wide mobile app system
   Shared mobile presentation for every administrator surface. Desktop behavior is unchanged. */
.ots-admin-mobile-filter-toggle{display:none}
.ots-admin-mobile-filter-options{display:contents}

@media(max-width:760px){
  /* Shared app-page hierarchy */
  .ots-admin-layout:not(.ots-staff-app) .ots-main{padding:14px 12px calc(94px + env(safe-area-inset-bottom))!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-title-row{margin:1px 1px 13px!important;gap:7px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-title-row h1{font-size:23px!important;line-height:1.12!important;letter-spacing:-.03em!important}
  .ots-admin-layout:not(.ots-staff-app):not(.ots-page-dashboard) .ots-title-row p{display:none!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-title-action-row,
  .ots-admin-layout:not(.ots-staff-app) .ots-package-admin-toolbar,
  .ots-admin-layout:not(.ots-staff-app) .ots-admin-detail-actions{display:flex!important;align-items:center!important;gap:9px!important;margin:0 0 12px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-title-action-row>div,
  .ots-admin-layout:not(.ots-staff-app) .ots-package-admin-toolbar>div{display:none!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-title-action-row .ots-btn,
  .ots-admin-layout:not(.ots-staff-app) .ots-package-admin-toolbar .ots-btn{width:100%!important;min-height:46px!important;border-radius:13px!important;justify-content:center!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-admin-detail-actions .ots-btn{min-height:44px!important;border-radius:12px!important;flex:1 1 0!important;justify-content:center!important;white-space:nowrap!important}

  .ots-admin-layout:not(.ots-staff-app) .ots-card,
  .ots-admin-layout:not(.ots-staff-app) .ots-settings-card{border:1px solid #e9edf2!important;border-radius:18px!important;background:#fff!important;box-shadow:0 4px 18px rgba(17,31,54,.045)!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-card-head{gap:10px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-card-head h2,
  .ots-admin-layout:not(.ots-staff-app) .ots-card-head h3{font-size:16px!important;line-height:1.25!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-card-head p{display:none!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-section-label{font-size:9.5px!important;letter-spacing:.07em!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-note,
  .ots-admin-layout:not(.ots-staff-app) .ots-settings-notice{border-radius:13px!important;font-size:12.5px!important;line-height:1.45!important;padding:12px 13px!important}

  /* Native-feeling form controls, no iOS zoom */
  /* Generic Admin mobile controls stay touch-friendly, but intentionally use zero
     specificity so page-level components (for example Edit Booking) can own their
     typography without an !important specificity fight. */
  :where(.ots-admin-layout:not(.ots-staff-app)) :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important;min-height:46px;border-radius:11px!important}
  .ots-admin-layout:not(.ots-staff-app) textarea{min-height:96px!important}
  .ots-admin-layout:not(.ots-staff-app) label{font-size:12px}
  .ots-admin-layout:not(.ots-staff-app) label>small{font-size:11px!important;line-height:1.42!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-field-grid,
  .ots-admin-layout:not(.ots-staff-app) .ots-settings-grid.two,
  .ots-admin-layout:not(.ots-staff-app) .ots-directory-fields,
  .ots-admin-layout:not(.ots-staff-app) .ots-flight-form-grid,
  .ots-admin-layout:not(.ots-staff-app) .ots-user-editor-grid,
  .ots-admin-layout:not(.ots-staff-app) .ots-package-basic-grid-v119{grid-template-columns:1fr!important;gap:12px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-field-grid .full,
  .ots-admin-layout:not(.ots-staff-app) .ots-settings-grid .full{grid-column:1!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-editor-actions,
  .ots-admin-layout:not(.ots-staff-app) .ots-action-row{gap:9px!important;flex-wrap:nowrap!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-editor-actions .ots-btn,
  .ots-admin-layout:not(.ots-staff-app) .ots-action-row .ots-btn{min-height:46px!important;border-radius:12px!important;flex:1 1 0!important;justify-content:center!important}

  /* Search + expandable Filters pattern shared by Packages, Flights, Bookings, Transactions and Staff. */
  .ots-admin-mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:42px;margin:0;border:1px solid #e2e7ed;border-radius:11px;background:#f8f9fb;padding:0 12px;color:#4e5b6e;font:750 12px/1 Inter,sans-serif;cursor:pointer}
  .ots-admin-mobile-filter-toggle b{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#fff;color:#8a95a4;font-size:14px;transition:transform .18s ease}
  .ots-admin-mobile-filter-toggle[aria-expanded="true"] b{transform:rotate(180deg);color:var(--ots-red)}
  .ots-admin-mobile-filter-options{display:none!important;grid-column:1/-1;grid-template-columns:1fr;gap:10px;padding-top:2px}
  .ots-admin-mobile-filter-options.is-open{display:grid!important}
  .ots-package-filterbar-v119,
  .ots-flight-filterbar,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters,
  .ots-transaction-filters,
  .ots-staff-filters{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;padding:12px!important;border:1px solid #e9edf2!important;border-radius:15px!important;background:#fafbfc!important}
  .ots-package-filterbar-v119 .ots-filter-search,
  .ots-flight-filterbar .ots-flight-filter-search,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters .ots-filter-search,
  .ots-transaction-filters .ots-filter-search,
  .ots-staff-filters .ots-staff-search{grid-column:1/-1!important;width:100%!important}
  .ots-package-filterbar-v119 .ots-filter-actions,
  .ots-flight-filterbar .ots-filter-actions,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters .ots-filter-actions,
  .ots-transaction-filters .ots-filter-actions,
  .ots-staff-filters .ots-filter-actions{width:100%!important}
  .ots-admin-mobile-filter-options .ots-filter-actions .ots-btn,
  .ots-admin-mobile-filter-options>.ots-filter-reset{width:100%!important;min-height:42px!important;border-radius:11px!important}

  /* KPI rows: consistent compact 2x2 app tiles across list pages. */
  .ots-admin-layout:not(.ots-staff-app) .ots-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-bottom:11px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-stat{min-height:92px!important;padding:13px!important;border-radius:15px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-stat span{font-size:10.5px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-stat strong{font-size:clamp(20px,6vw,25px)!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-stat small{display:none!important}

  /* Shared card-table foundation */
  .ots-page-packages-admin .ots-package-list-card .ots-table-wrap,
  .ots-page-flights .ots-flight-results .ots-table-wrap,
  .ots-page-airlines .ots-table-wrap,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-results .ots-table-wrap,
  .ots-page-payments .ots-transaction-results .ots-table-wrap,
  .ots-page-customers>.ots-admin-content .ots-customer-list-table,
  .ots-page-staff .ots-staff-directory-card .ots-table-wrap,
  .ots-page-destinations .ots-table-wrap,
  .ots-page-flights .ots-flight-bookings-listing{overflow:visible!important;padding:0!important}

  .ots-page-packages-admin .ots-package-list-table,
  .ots-page-flights .ots-flight-list-table,
  .ots-page-airlines .ots-airline-directory-table,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table,
  .ots-page-payments .ots-transaction-list-table,
  .ots-page-customers .ots-customer-list-table,
  .ots-page-staff .ots-staff-directory-table,
  .ots-page-destinations .ots-destination-list-table,
  .ots-page-flights .ots-flight-bookings-listing{display:block!important;min-width:0!important;width:100%!important}
  .ots-page-packages-admin .ots-package-list-table thead,
  .ots-page-flights .ots-flight-list-table thead,
  .ots-page-airlines .ots-airline-directory-table thead,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table thead,
  .ots-page-payments .ots-transaction-list-table thead,
  .ots-page-customers .ots-customer-list-table thead,
  .ots-page-staff .ots-staff-directory-table thead,
  .ots-page-destinations .ots-destination-list-table thead,
  .ots-page-flights .ots-flight-bookings-listing thead{display:none!important}
  .ots-page-packages-admin .ots-package-list-table tbody,
  .ots-page-flights .ots-flight-list-table tbody,
  .ots-page-airlines .ots-airline-directory-table tbody,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table tbody,
  .ots-page-payments .ots-transaction-list-table tbody,
  .ots-page-customers .ots-customer-list-table tbody,
  .ots-page-staff .ots-staff-directory-table tbody,
  .ots-page-destinations .ots-destination-list-table tbody,
  .ots-page-flights .ots-flight-bookings-listing tbody{display:grid!important;gap:10px!important}
  .ots-page-packages-admin .ots-package-list-table tr,
  .ots-page-flights .ots-flight-list-table tr,
  .ots-page-airlines .ots-airline-directory-table tr,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table tr,
  .ots-page-payments .ots-transaction-list-table tr,
  .ots-page-customers .ots-customer-list-table tr,
  .ots-page-staff .ots-staff-directory-table tr,
  .ots-page-destinations .ots-destination-list-table tr,
  .ots-page-flights .ots-flight-bookings-listing tr{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px 12px!important;padding:14px!important;border:1px solid #e9edf2!important;border-radius:16px!important;background:#fff!important;box-shadow:0 3px 13px rgba(17,31,54,.035)!important}
  .ots-page-packages-admin .ots-package-list-table td,
  .ots-page-flights .ots-flight-list-table td,
  .ots-page-airlines .ots-airline-directory-table td,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td,
  .ots-page-payments .ots-transaction-list-table td,
  .ots-page-customers .ots-customer-list-table td,
  .ots-page-staff .ots-staff-directory-table td,
  .ots-page-destinations .ots-destination-list-table td,
  .ots-page-flights .ots-flight-bookings-listing td{display:block!important;border:0!important;padding:0!important;min-width:0!important;font-size:12px!important;line-height:1.35!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-table td strong{font-size:13px!important;line-height:1.32!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-table td small{font-size:10.5px!important;line-height:1.35!important;color:#8a95a4!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-table .ots-status{font-size:10px!important;padding:5px 8px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-row-actions{display:flex!important;gap:8px!important;width:100%!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-row-actions a,
  .ots-admin-layout:not(.ots-staff-app) .ots-table-btn{display:flex!important;min-height:38px!important;align-items:center!important;justify-content:center!important;flex:1 1 0!important;border:1px solid #e1e6ec!important;border-radius:10px!important;background:#fafbfc!important;padding:8px 11px!important;color:#465468!important;font-size:11.5px!important;font-weight:800!important;text-decoration:none!important}

  /* Travel Packages — retain only the information needed for quick mobile decisions. */
  .ots-page-packages-admin .ots-package-list-card{padding:12px!important}
  .ots-page-packages-admin .ots-list-heading{margin:13px 2px 10px!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(1){grid-column:1/-1!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(4),
  .ots-page-packages-admin .ots-package-list-table td:nth-child(5),
  .ots-page-packages-admin .ots-package-list-table td:nth-child(6){display:none!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(2)::before{content:'Duration';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(3){text-align:right}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(3)::before{content:'Adult from';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(7)::before{content:'Departures';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(8){justify-self:end;align-self:end}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(9){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}
  .ots-page-packages-admin .ots-package-list-cell{align-items:center!important;gap:11px!important}
  .ots-page-packages-admin .ots-package-thumb{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:12px!important}
  .ots-page-packages-admin .ots-package-list-cell strong{font-size:14px!important}
  .ots-page-packages-admin .ots-package-list-cell small{display:-webkit-box!important;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .ots-page-packages-admin .ots-package-details-layout{grid-template-columns:1fr!important;gap:15px!important}
  .ots-page-packages-admin .ots-image-uploader{max-width:none!important;width:100%!important}

  /* Destinations */
  .ots-page-destinations .ots-destination-layout{grid-template-columns:1fr!important;gap:12px!important}
  .ots-page-destinations .ots-destination-list-table td:nth-child(1){grid-column:1/-1}
  .ots-page-destinations .ots-destination-list-table td:nth-child(2){grid-column:1}
  .ots-page-destinations .ots-destination-list-table td:nth-child(3){grid-column:2;text-align:right}
  .ots-page-destinations .ots-destination-list-table td:nth-child(4)::before{content:'Packages';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-destinations .ots-destination-list-table td:nth-child(5){justify-self:end;align-self:end}

  /* Flights directory */
  .ots-page-flights .ots-flight-list-card{padding:12px!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(1){grid-column:1/-1}
  .ots-page-flights .ots-flight-list-table td:nth-child(3),
  .ots-page-flights .ots-flight-list-table td:nth-child(5){display:none!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(2){grid-column:1/-1;padding:9px 0!important;border-top:1px solid #eef1f4!important;border-bottom:1px solid #eef1f4!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(4)::before{content:'Departure';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-flights .ots-flight-list-table td:nth-child(6){text-align:right}
  .ots-page-flights .ots-flight-list-table td:nth-child(6)::before{content:'Seats';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-flights .ots-flight-list-table td:nth-child(7){align-self:end}
  .ots-page-flights .ots-flight-list-table td:nth-child(8){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}
  .ots-page-flights .ots-flight-airline-feature{min-width:0!important;justify-content:flex-start!important;gap:11px!important}
  .ots-page-flights .ots-flight-airline-logo-wide{width:82px!important;height:34px!important;flex-basis:82px!important}
  .ots-page-flights .ots-flight-airline-copy{text-align:left!important}
  .ots-page-flights .ots-flight-airline-copy strong{font-size:14px!important}
  .ots-page-flights .ots-return-flight-no{display:none!important}
  .ots-page-flights .ots-flight-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .ots-page-flights .ots-flight-detail-summary>.ots-flight-summary-metric{min-height:82px!important;padding:13px!important;border-radius:14px!important}

  /* Flight booking list inside Flight Details */
  .ots-page-flights .ots-flight-bookings-listing td:nth-child(1){grid-column:1/-1}
  .ots-page-flights .ots-flight-bookings-listing td:nth-child(3),
  .ots-page-flights .ots-flight-bookings-listing td:nth-child(5){display:none!important}
  .ots-page-flights .ots-flight-bookings-listing td:nth-child(4){grid-column:1/-1;padding:8px 0!important;border-top:1px solid #eef1f4!important}
  .ots-page-flights .ots-flight-bookings-listing td:nth-child(6){align-self:end}
  .ots-page-flights .ots-flight-bookings-listing td:nth-child(7){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}

  /* Airlines */
  .ots-page-airlines .ots-airline-directory-table td:nth-child(1){grid-column:1/-1}
  .ots-page-airlines .ots-airline-directory-table td:nth-child(2)::before{content:'Linked Flights';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-airlines .ots-airline-directory-table td:nth-child(3){justify-self:end;align-self:end}
  .ots-page-airlines .ots-airline-directory-table td:nth-child(4){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}
  .ots-page-airlines .ots-airline-directory-brand{min-width:0!important;justify-content:flex-start!important;gap:12px!important}
  .ots-page-airlines .ots-airline-directory-logo{width:90px!important;height:38px!important;flex-basis:90px!important}
  .ots-page-airlines .ots-airline-directory-brand>strong{text-align:left!important;font-size:14px!important}
  .ots-page-airlines .ots-airline-editor-layout{grid-template-columns:1fr!important;gap:12px!important}
  .ots-page-airlines .ots-airline-brand-panel,.ots-page-airlines .ots-airline-info-panel{padding:14px!important;border-radius:15px!important}

  /* Bookings */
  .ots-page-bookings:not(.ots-staff-app) .ots-bookings-card{padding:12px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(1){grid-column:1/-1}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(3),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(5),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(7){display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(2){grid-column:1/-1}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(4){grid-column:1/-1;color:#687588}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(6){grid-column:1/-1;padding:9px 0!important;border-top:1px solid #eef1f4!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(8){align-self:end}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(9){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}

  /* Transactions */
  .ots-page-payments .ots-transaction-card{padding:12px!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(1){grid-column:1/-1}
  .ots-page-payments .ots-transaction-list-table td:nth-child(2){grid-column:1/-1}
  .ots-page-payments .ots-transaction-list-table td:nth-child(3){grid-column:1/-1}
  .ots-page-payments .ots-transaction-list-table td:nth-child(6),
  .ots-page-payments .ots-transaction-list-table td:nth-child(7){display:none!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(4){align-self:end}
  .ots-page-payments .ots-transaction-list-table td:nth-child(5){text-align:right;align-self:end}
  .ots-page-payments .ots-transaction-list-table td:nth-child(8){grid-column:1/-1;padding:9px 0!important;border-top:1px solid #eef1f4!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(9){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}

  /* Customers */
  .ots-page-customers .ots-customer-search{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;margin-bottom:12px!important}
  .ots-page-customers .ots-customer-search input{grid-column:1/-1!important;width:100%!important}
  .ots-page-customers .ots-customer-search .ots-btn{min-height:42px!important;border-radius:11px!important}
  .ots-page-customers .ots-customer-list-table td:nth-child(1){grid-column:1/-1}
  .ots-page-customers .ots-customer-list-table td:nth-child(2){grid-column:1/-1}
  .ots-page-customers .ots-customer-list-table td:nth-child(4),
  .ots-page-customers .ots-customer-list-table td:nth-child(6){display:none!important}
  .ots-page-customers .ots-customer-list-table td:nth-child(3)::before{content:'Bookings';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-customers .ots-customer-list-table td:nth-child(5){text-align:right}
  .ots-page-customers .ots-customer-list-table td:nth-child(5)::before{content:'Booking Value';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-customers .ots-customer-list-table td:nth-child(7){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}
  .ots-page-customers .ots-customer-detail-hero{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .ots-page-customers .ots-customer-profile-card{grid-column:1/-1!important;padding:14px!important;border-radius:16px!important}
  .ots-page-customers .ots-mini-stat{min-height:86px!important;padding:12px!important;border-radius:14px!important}
  .ots-page-customers .ots-customer-info-grid{grid-template-columns:1fr!important;gap:0!important}
  .ots-page-customers .ots-customer-info-grid>div{padding:11px 0!important;border-bottom:1px solid #eef1f4!important}

  /* Staff */
  .ots-page-staff .ots-staff-top-actions{justify-content:stretch!important}
  .ots-page-staff .ots-staff-directory-card{padding:12px!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(1){grid-column:1/-1}
  .ots-page-staff .ots-staff-directory-table td:nth-child(2){grid-column:1/-1}
  .ots-page-staff .ots-staff-directory-table td:nth-child(5),
  .ots-page-staff .ots-staff-directory-table td:nth-child(7){display:none!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(3){align-self:end}
  .ots-page-staff .ots-staff-directory-table td:nth-child(4)::before{content:'Bookings';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-staff .ots-staff-directory-table td:nth-child(6){text-align:right}
  .ots-page-staff .ots-staff-directory-table td:nth-child(6)::before{content:'Booking Value';display:block;color:#98a1ae;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px}
  .ots-page-staff .ots-staff-directory-table td:nth-child(8){grid-column:1/-1;padding-top:9px!important;border-top:1px solid #eef1f4!important}
  .ots-page-staff .ots-staff-report-profile{grid-template-columns:1fr!important;gap:13px!important}
  .ots-page-staff .ots-staff-report-contact{grid-template-columns:1fr!important;gap:8px!important}

  /* Settings become horizontal app tabs with a single reading column. */
  .ots-page-settings .ots-settings-layout{display:block!important}
  .ots-page-settings .ots-settings-tabs{display:flex!important;gap:7px!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding:1px 1px 8px!important;margin:0 -12px 12px!important;padding-left:12px!important;padding-right:12px!important;scrollbar-width:none!important}
  .ots-page-settings .ots-settings-tabs::-webkit-scrollbar{display:none!important}
  .ots-page-settings .ots-settings-tabs a{flex:0 0 auto!important;min-width:auto!important;scroll-snap-align:start;padding:9px 12px!important;border:1px solid #e4e8ed!important;border-radius:999px!important;background:#fff!important}
  .ots-page-settings .ots-settings-tabs a strong{font-size:11.5px!important;white-space:nowrap!important}
  .ots-page-settings .ots-settings-tabs a span{display:none!important}
  .ots-page-settings .ots-settings-tabs a.active{background:#fff1f3!important;border-color:#f1c8ce!important;color:var(--ots-red)!important}
  .ots-page-settings .ots-settings-content{min-width:0!important}
  .ots-page-settings .ots-settings-card{padding:14px!important;margin-bottom:11px!important}
  .ots-page-settings .ots-settings-health-grid{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .ots-page-settings .ots-settings-health-grid>div{padding:11px!important;border-radius:12px!important;min-width:0!important}
  .ots-page-settings .ots-settings-health-grid span{font-size:9.5px!important}
  .ots-page-settings .ots-settings-health-grid strong{font-size:12.5px!important;overflow-wrap:anywhere}
  .ots-page-settings .ots-settings-toggles>label{padding:12px!important;border-radius:13px!important;align-items:center!important}
  .ots-page-settings .ots-settings-toggles small{display:none!important}

  /* Reports: compact management surface, keep graph scrollable rather than squeezing labels. */
  .ots-page-reports .ots-report-period-filter{gap:10px!important}
  .ots-page-reports .ots-report-period-summary{display:none!important}
  .ots-page-reports .ots-report-period-tools{width:100%!important}
  .ots-page-reports .ots-report-select-shell,.ots-page-reports .ots-report-period-select select{width:100%!important}
  .ots-page-reports .ots-report-overview-chart-v148{overflow:hidden!important}
  .ots-page-reports .ots-report-svg-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}

  /* Pagination behaves like a compact app footer. */
  .ots-admin-layout:not(.ots-staff-app) .ots-pagination{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:9px!important;margin-top:12px!important;padding-top:11px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-pagination>span{text-align:center!important;font-size:10.5px!important;color:#8a95a4!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-pagination-pages{display:flex!important;width:100%!important;justify-content:center!important;gap:5px!important;overflow-x:auto!important;scrollbar-width:none!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-pagination-pages::-webkit-scrollbar{display:none!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-pagination-pages button,
  .ots-admin-layout:not(.ots-staff-app) .ots-pagination-pages span{min-width:38px!important;height:38px!important;border-radius:10px!important;flex:0 0 auto!important}
}

@media(max-width:380px){
  .ots-admin-layout:not(.ots-staff-app) .ots-main{padding-left:10px!important;padding-right:10px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-stats{gap:7px!important}
  .ots-admin-layout:not(.ots-staff-app) .ots-stat{padding:11px!important}
  .ots-page-settings .ots-settings-health-grid{grid-template-columns:1fr!important}
}

/* v1.4.69 — Admin mobile polish
   Clearer list hierarchy, Staff-style filters, mobile-first Booking Details,
   and a collapsible Settings section selector. Desktop presentation is unchanged. */
.ots-settings-mobile-selector{display:none}

@media(max-width:760px){
  /* ---------- Shared directory/list rhythm ---------- */
  .ots-admin-layout:not(.ots-staff-app) .ots-package-list-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-flight-list-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-booking-list-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-transaction-list-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-customer-list-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-staff-directory-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-airline-directory-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-destination-list-table tr,
  .ots-admin-layout:not(.ots-staff-app) .ots-flight-bookings-listing tr{
    gap:8px 12px!important;
    padding:13px 14px!important;
    border-radius:15px!important;
  }
  .ots-admin-layout:not(.ots-staff-app) .ots-table td{
    font-size:12px!important;
    line-height:1.32!important;
    color:#5d697a;
  }
  .ots-admin-layout:not(.ots-staff-app) .ots-table td strong{
    font-size:13.5px!important;
    line-height:1.28!important;
    font-weight:800!important;
    color:#17243a!important;
  }
  .ots-admin-layout:not(.ots-staff-app) .ots-table td small{
    font-size:10.5px!important;
    line-height:1.32!important;
    margin-top:2px!important;
    color:#929baa!important;
  }
  .ots-admin-layout:not(.ots-staff-app) .ots-table td::before{
    font-size:9.5px!important;
    line-height:1.15!important;
    margin-bottom:3px!important;
    color:#9aa3af!important;
    letter-spacing:.045em!important;
  }
  .ots-admin-layout:not(.ots-staff-app) .ots-row-actions{
    padding-top:8px!important;
    border-top:1px solid #eef1f4!important;
  }
  .ots-admin-layout:not(.ots-staff-app) .ots-row-actions a,
  .ots-admin-layout:not(.ots-staff-app) .ots-table-btn{
    min-height:40px!important;
    font-size:12px!important;
    border-radius:11px!important;
  }

  /* ---------- Staff-account style mobile filters everywhere ---------- */
  .ots-package-filterbar-v119,
  .ots-flight-filterbar,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters,
  .ots-transaction-filters,
  .ots-staff-filters{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:0!important;
    margin:0 0 11px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .ots-package-filterbar-v119 .ots-filter-search,
  .ots-flight-filterbar .ots-flight-filter-search,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters .ots-filter-search,
  .ots-transaction-filters .ots-filter-search,
  .ots-staff-filters .ots-staff-search{
    grid-column:1!important;
    min-width:0!important;
  }
  .ots-package-filterbar-v119 .ots-filter-search>span,
  .ots-flight-filterbar .ots-flight-filter-search>span,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters .ots-filter-search>span,
  .ots-transaction-filters .ots-filter-search>span,
  .ots-staff-filters .ots-staff-search>span{display:none!important}
  .ots-package-filterbar-v119 .ots-filter-search>input,
  .ots-flight-filterbar .ots-flight-filter-search>input,
  .ots-staff-filters .ots-staff-search>input{
    width:100%!important;
    height:44px!important;
    min-height:44px!important;
    padding:0 13px!important;
    border:1px solid #e6e9ee!important;
    border-radius:12px!important;
    background:#f6f7f9!important;
    font-size:15px!important;
    box-shadow:none!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters .ots-filter-search>div,
  .ots-transaction-filters .ots-filter-search>div{
    height:44px!important;
    border:1px solid #e6e9ee!important;
    border-radius:12px!important;
    background:#f6f7f9!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters .ots-filter-search input,
  .ots-transaction-filters .ots-filter-search input{
    height:42px!important;
    min-height:42px!important;
    border:0!important;
    background:transparent!important;
    font-size:15px!important;
    box-shadow:none!important;
  }
  .ots-admin-mobile-filter-toggle{
    grid-column:2!important;
    grid-row:1!important;
    width:auto!important;
    min-width:96px!important;
    height:44px!important;
    margin:0!important;
    padding:0 12px!important;
    border:1px solid #e3e7ec!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#667386!important;
    justify-content:center!important;
    gap:7px!important;
    font-size:11.5px!important;
    font-weight:800!important;
    box-shadow:none!important;
  }
  .ots-admin-mobile-filter-toggle .ots-admin-filter-icon{width:16px;height:16px;display:grid;place-items:center}
  .ots-admin-mobile-filter-toggle .ots-admin-filter-icon svg{width:16px;height:16px;display:block;stroke:currentColor;fill:none;stroke-width:1.8}
  .ots-admin-mobile-filter-toggle>b{display:none!important}
  .ots-admin-mobile-filter-toggle em{
    min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff1f3;color:var(--ots-red);
    display:none;place-items:center;font-style:normal;font-size:9px;font-weight:900
  }
  .ots-admin-mobile-filter-toggle.has-filters em{display:grid}
  .ots-admin-mobile-filter-toggle[aria-expanded="true"],
  .ots-admin-mobile-filter-toggle.has-filters{
    background:#fff7f8!important;border-color:#f2cbd1!important;color:var(--ots-red)!important
  }
  .ots-admin-mobile-filter-options{
    grid-column:1/-1!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:4px 0 0!important;
  }
  .ots-admin-mobile-filter-options label>span{display:block!important;font-size:10.5px!important;font-weight:750!important;margin:0 0 5px!important;color:#758092!important}
  .ots-admin-mobile-filter-options select,
  .ots-admin-mobile-filter-options input:not([type=hidden]){height:44px!important;min-height:44px!important;border-radius:11px!important;font-size:15px!important}
  .ots-admin-mobile-filter-options .ots-filter-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .ots-admin-mobile-filter-options .ots-filter-actions .ots-btn,
  .ots-admin-mobile-filter-options>.ots-filter-reset{min-height:42px!important;border-radius:11px!important}

  /* ---------- Packages: package + status / duration + price ---------- */
  .ots-page-packages-admin .ots-package-list-table tr{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"package status" "duration price" "action action"!important;
  }
  .ots-page-packages-admin .ots-package-list-table td:nth-child(1){grid-area:package!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(2){grid-area:duration!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(3){grid-area:price!important;text-align:right!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(4),
  .ots-page-packages-admin .ots-package-list-table td:nth-child(5),
  .ots-page-packages-admin .ots-package-list-table td:nth-child(6),
  .ots-page-packages-admin .ots-package-list-table td:nth-child(7){display:none!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(8){grid-area:status!important;justify-self:end!important;align-self:start!important}
  .ots-page-packages-admin .ots-package-list-table td:nth-child(9){grid-area:action!important;padding-top:0!important;border-top:0!important}
  .ots-page-packages-admin .ots-package-list-cell small{display:none!important}
  .ots-page-packages-admin .ots-package-thumb{width:44px!important;height:44px!important;flex-basis:44px!important}

  /* ---------- Flights: flight + status / route / departure ---------- */
  .ots-page-flights .ots-flight-list-table tr{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"flight status" "route route" "departure departure" "action action"!important;
  }
  .ots-page-flights .ots-flight-list-table td:nth-child(1){grid-area:flight!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(2){grid-area:route!important;padding:8px 0!important;border-top:1px solid #f0f2f5!important;border-bottom:0!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(3),
  .ots-page-flights .ots-flight-list-table td:nth-child(5),
  .ots-page-flights .ots-flight-list-table td:nth-child(6){display:none!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(4){grid-area:departure!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(7){grid-area:status!important;justify-self:end!important;align-self:start!important}
  .ots-page-flights .ots-flight-list-table td:nth-child(8){grid-area:action!important;padding-top:0!important;border-top:0!important}
  .ots-page-flights .ots-flight-airline-logo-wide{width:68px!important;height:30px!important;flex-basis:68px!important}

  /* ---------- Bookings: ID + status / customer / payment ---------- */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table tr{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"booking status" "customer customer" "payment payment" "action action"!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(1){grid-area:booking!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(1) small{display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(2){grid-area:customer!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(3),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(4),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(5),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(7){display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(6){grid-area:payment!important;padding:8px 0!important;border-top:1px solid #f0f2f5!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(8){grid-area:status!important;justify-self:end!important;align-self:start!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(9){grid-area:action!important;padding-top:0!important;border-top:0!important}

  /* ---------- Transactions: booking + status / customer / date + amount ---------- */
  .ots-page-payments .ots-transaction-list-table tr{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"booking status" "customer customer" "date amount" "action action"!important;
  }
  .ots-page-payments .ots-transaction-list-table td:nth-child(1){grid-area:date!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(2){grid-area:booking!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(2) small{display:none!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(3){grid-area:customer!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(4),
  .ots-page-payments .ots-transaction-list-table td:nth-child(6),
  .ots-page-payments .ots-transaction-list-table td:nth-child(7){display:none!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(5){grid-area:amount!important;text-align:right!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(8){grid-area:status!important;padding:0!important;border-top:0!important;justify-self:end!important;align-self:start!important}
  .ots-page-payments .ots-transaction-list-table td:nth-child(9){grid-area:action!important;padding-top:0!important;border-top:0!important}

  /* ---------- Staff: identity + role / contact / bookings + value ---------- */
  .ots-page-staff .ots-staff-directory-table tr{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"staff role" "contact contact" "bookings value" "action action"!important;
  }
  .ots-page-staff .ots-staff-directory-table td:nth-child(1){grid-area:staff!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(1) small{display:none!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(2){grid-area:contact!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(3){grid-area:role!important;justify-self:end!important;align-self:start!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(4){grid-area:bookings!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(5),
  .ots-page-staff .ots-staff-directory-table td:nth-child(7){display:none!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(6){grid-area:value!important;text-align:right!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(6) small{display:none!important}
  .ots-page-staff .ots-staff-directory-table td:nth-child(8){grid-area:action!important;padding-top:0!important;border-top:0!important}

  /* ---------- Customers / Airlines / Destinations: less metadata noise ---------- */
  .ots-page-customers .ots-customer-list-table td:nth-child(2) small{font-size:10.5px!important}
  .ots-page-customers .ots-customer-list-table td:nth-child(4),
  .ots-page-customers .ots-customer-list-table td:nth-child(6){display:none!important}
  .ots-page-airlines .ots-airline-directory-logo{width:72px!important;height:32px!important;flex-basis:72px!important}
  .ots-page-destinations .ots-destination-list-table td:nth-child(4){display:none!important}

  /* ---------- Admin Booking Details: mobile reading flow ---------- */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions{
    margin-bottom:10px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions .ots-btn{
    min-height:43px!important;font-size:12px!important
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-summary{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:0 0 11px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-summary>div{
    min-height:72px!important;
    padding:11px 12px!important;
    border-radius:13px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-summary>div:nth-child(1){grid-column:1/-1!important;min-height:auto!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-summary>div:nth-child(2),
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-summary>div:nth-child(5){display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-summary span{font-size:9.5px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-summary strong{font-size:13.5px!important}

  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:11px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid>div{display:contents!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid>div:first-child>.ots-card:nth-child(1){order:10}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid>div:nth-child(2)>.ots-summary-card{order:20}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid>div:first-child>.ots-card:nth-child(2){order:30}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid>div:first-child>.ots-card:nth-child(3){order:40}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid>div:nth-child(2)>.ots-card{order:50;margin-top:0!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid>div:nth-child(2)>form.ots-card{order:60;margin-top:0!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-detail-grid .ots-card,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-detail-grid .ots-summary-card{
    margin:0!important;padding:14px!important;border-radius:16px!important
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-detail-grid .ots-card-head{margin-bottom:10px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-lines>div{
    padding:10px 0!important;gap:12px!important;align-items:flex-start!important
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-lines>div>span{font-size:11px!important;line-height:1.35!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-lines>div>strong{
    max-width:62%;font-size:12.5px!important;line-height:1.38!important;text-align:right!important;overflow-wrap:anywhere
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-flight-pair{grid-template-columns:1fr!important;gap:8px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-flight-pair>div{padding:12px!important;border-radius:13px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-flight-pair strong{font-size:14px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-flight-pair small{font-size:10.5px!important;line-height:1.4!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-summary-card .ots-summary-line{padding:9px 0!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-summary-card .ots-summary-total{padding-top:11px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-summary-card .ots-summary-total strong{font-size:21px!important}

  /* Passenger details become concise passenger cards on the admin detail page. */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table-wrap{overflow:visible!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table{display:block!important;width:100%!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table thead{display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table tbody{display:grid!important;gap:8px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table tr{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px 10px!important;
    padding:11px 12px!important;border:1px solid #edf0f3!important;border-radius:13px!important;background:#fafbfc!important
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table td{
    display:block!important;border:0!important;padding:0!important;font-size:11.5px!important
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table td:nth-child(1){grid-column:1!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table td:nth-child(2){grid-column:1/-1!important;color:#788396!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table td:nth-child(3),
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table td:nth-child(4),
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table td:nth-child(6){display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-detail-actions~.ots-booking-detail-grid .ots-table td:nth-child(5){grid-column:2!important;grid-row:1!important;justify-self:end!important}

  /* Edit Booking remains one-column, with a calmer passenger form. */
  .ots-page-bookings:not(.ots-staff-app) form>.ots-booking-detail-grid{grid-template-columns:1fr!important;gap:11px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-passenger-edit{display:grid!important;gap:9px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-passenger-edit>section{padding:12px!important;border-radius:14px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-passenger-fields-admin{grid-template-columns:1fr!important;gap:10px!important}

  /* ---------- Settings: section selector, not top tabs ---------- */
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready{display:block!important}
  .ots-page-settings .ots-settings-mobile-selector{
    width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin:0 0 9px;padding:10px 12px;border:1px solid #e4e8ed;border-radius:14px;background:#fff;
    color:#17243a;box-shadow:0 3px 14px rgba(17,31,54,.035);text-align:left;cursor:pointer
  }
  .ots-page-settings .ots-settings-mobile-selector>span{min-width:0;display:block}
  .ots-page-settings .ots-settings-mobile-selector small{display:block;font-size:9.5px;line-height:1.2;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:#9aa3af;margin-bottom:3px}
  .ots-page-settings .ots-settings-mobile-selector strong{display:block;font-size:14px;line-height:1.25;color:#17243a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-page-settings .ots-settings-mobile-selector>b{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;background:#f7f8fa;color:#788496;font-size:16px;transition:transform .18s ease}
  .ots-page-settings .ots-settings-mobile-selector[aria-expanded="true"]>b{transform:rotate(180deg);background:#fff1f3;color:var(--ots-red)}
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs{
    display:none!important;position:static!important;overflow:visible!important;margin:0 0 11px!important;padding:6px!important;
    border:1px solid #e5e9ee!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 24px rgba(17,31,54,.06)!important
  }
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs.is-mobile-open{display:grid!important;grid-template-columns:1fr!important;gap:2px!important}
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs a{
    width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    padding:10px 11px!important;margin:0!important;border:0!important;border-radius:10px!important;background:transparent!important;scroll-snap-align:none!important
  }
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs a strong{font-size:12.5px!important;line-height:1.3!important;white-space:normal!important}
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs a span{display:block!important;grid-column:1!important;font-size:10px!important;line-height:1.35!important;margin-top:2px!important;color:#929baa!important}
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs a.active{background:#fff4f5!important}
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs a.active strong{color:var(--ots-red)!important}
  .ots-page-settings .ots-settings-layout.is-mobile-settings-ready .ots-settings-tabs a.active::after{content:'✓';grid-column:2;grid-row:1/3;align-self:center;color:var(--ots-red);font-size:13px;font-weight:900}
}

@media(max-width:380px){
  .ots-admin-mobile-filter-toggle{min-width:88px!important;padding:0 10px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-detail-lines>div>strong{max-width:58%}
}

/* v1.4.70 — Admin Bookings mobile listing follows the Staff Accounts card rhythm. */
.ots-admin-booking-mobile-list{display:none}

@media(max-width:760px){
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-desktop-table{display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-mobile-list{
    display:grid!important;
    gap:9px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-card{
    background:#fff;
    border:1px solid #e8ebef;
    border-radius:15px;
    padding:13px 14px 12px;
    box-shadow:0 1px 2px rgba(23,36,58,.025);
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    min-width:0;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-identity{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-identity .ots-customer-avatar{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    flex-basis:40px!important;
    font-size:11px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-identity>div{min-width:0}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-identity strong{
    display:block;
    color:#17243a;
    font-size:13.5px;
    line-height:1.25;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-identity small{
    display:block;
    margin-top:2px;
    color:#929baa;
    font-size:10.5px;
    line-height:1.25;
    font-weight:650;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-card-head>.ots-status{
    flex:0 0 auto;
    margin-top:1px;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-package{
    padding:10px 0 9px;
    margin-top:10px;
    border-top:1px solid #eef1f4;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-package strong{
    display:block;
    color:#344155;
    font-size:12.5px;
    line-height:1.3;
    font-weight:750;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-package small{
    display:block;
    margin-top:2px;
    color:#929baa;
    font-size:10.5px;
    line-height:1.3;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-metrics{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:1px 0 10px;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-metrics>span:last-child{text-align:right}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-metrics small{
    display:block;
    color:#98a1ae;
    font-size:9px;
    line-height:1.15;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.045em;
    margin-bottom:3px;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-metrics strong{
    display:block;
    color:#17243a;
    font-size:13px;
    line-height:1.25;
    font-weight:800;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding-top:9px;
    border-top:1px solid #eef1f4;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-actions a{
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e3e7ec;
    border-radius:11px;
    background:#fff;
    color:#445166;
    font-size:12px;
    line-height:1;
    font-weight:800;
    text-decoration:none;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-actions a:last-child{
    background:#fff5f6;
    border-color:#f1d4d8;
    color:var(--ots-red);
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-actions a:only-child{
    grid-column:1/-1;
    background:#fff;
    border-color:#e3e7ec;
    color:#445166;
  }
}

/* v1.4.71 — Booking Details mobile app view
   Dedicated mobile hierarchy for the administrator booking detail screen. */
.ots-admin-booking-mobile-hero{display:none}

@media(max-width:760px){
  /* Treat Booking Details as an app screen, not a compressed desktop page. */
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-viewing) .ots-breadcrumb,
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-viewing) .ots-title-row{
    display:none!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-viewing{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }

  /* Compact navigation/actions at the top of the app screen. */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-viewing>.ots-admin-detail-actions{
    order:1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:9px!important;
    margin:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-viewing>.ots-admin-detail-actions .ots-btn{
    min-height:42px!important;
    padding:0 13px!important;
    border-radius:12px!important;
    font-size:12px!important;
    box-shadow:none!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-viewing>.ots-admin-detail-actions .ots-btn.secondary{
    justify-content:flex-start!important;
    background:transparent!important;
    border-color:transparent!important;
    padding-left:2px!important;
    color:#667386!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-viewing>.ots-admin-detail-actions .ots-btn:not(.secondary){
    min-width:104px!important;
    background:#df2638!important;
  }

  /* Mobile booking hero: identity, state and money in one glance. */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-mobile-hero{
    order:2!important;
    display:block!important;
    padding:16px!important;
    margin:0!important;
    border:1px solid #eceff3!important;
    border-radius:20px!important;
    background:linear-gradient(145deg,#ffffff 0%,#fffafb 100%)!important;
    box-shadow:0 8px 28px rgba(20,34,56,.055)!important;
  }
  .ots-admin-booking-mobile-hero-top{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .ots-admin-booking-mobile-hero-top>div:first-child>span{
    display:block!important;
    margin-bottom:3px!important;
    color:#96a0ae!important;
    font-size:9.5px!important;
    line-height:1.15!important;
    font-weight:800!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
  }
  .ots-admin-booking-mobile-hero-top>div:first-child>strong{
    display:block!important;
    color:#17243a!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:800!important;
  }
  .ots-admin-booking-mobile-statuses{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:5px!important;
    flex-wrap:wrap!important;
    max-width:58%!important;
  }
  .ots-admin-booking-mobile-statuses .ots-status{
    padding:4px 7px!important;
    font-size:9px!important;
    line-height:1.1!important;
    font-style:normal!important;
  }
  .ots-admin-booking-mobile-identity{
    padding:16px 0 14px!important;
  }
  .ots-admin-booking-mobile-identity h2{
    margin:0 0 4px!important;
    color:#17243a!important;
    font-size:21px!important;
    line-height:1.16!important;
    letter-spacing:-.025em!important;
    font-weight:800!important;
  }
  .ots-admin-booking-mobile-identity p{
    margin:0!important;
    color:#6f7b8c!important;
    font-size:12px!important;
    line-height:1.35!important;
    font-weight:600!important;
  }
  .ots-admin-booking-mobile-money{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    padding-top:12px!important;
    border-top:1px solid #eef1f4!important;
  }
  .ots-admin-booking-mobile-money>div{
    min-width:0!important;
    padding:9px 8px!important;
    border-radius:12px!important;
    background:#f7f9fb!important;
  }
  .ots-admin-booking-mobile-money span{
    display:block!important;
    margin-bottom:4px!important;
    color:#8a95a5!important;
    font-size:9px!important;
    line-height:1.15!important;
    font-weight:750!important;
  }
  .ots-admin-booking-mobile-money strong{
    display:block!important;
    color:#17243a!important;
    font-size:11.5px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ots-admin-booking-mobile-money .has-balance{
    background:#fff4f5!important;
  }
  .ots-admin-booking-mobile-money .has-balance strong{color:#c9273b!important}
  .ots-admin-booking-mobile-money .is-settled{
    background:#ecf8f3!important;
  }
  .ots-admin-booking-mobile-money .is-settled strong{color:#198260!important}

  /* Desktop summary is redundant once the mobile hero is present. */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-viewing>.ots-detail-summary{
    display:none!important;
  }

  /* Reading flow: contact -> itinerary -> passengers -> payment activity. */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid{
    order:4!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    margin:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid>div{display:contents!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card{order:10!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card{order:20!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card{order:30!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-summary{display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history{order:40!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment{order:50!important}

  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-card{
    margin:0!important;
    padding:15px!important;
    border:1px solid #e9edf2!important;
    border-radius:18px!important;
    background:#fff!important;
    box-shadow:0 4px 18px rgba(17,31,54,.04)!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-card-head{
    margin:0 0 11px!important;
    padding:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-card-head h2{
    color:#17243a!important;
    font-size:15.5px!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
  }

  /* Contact card only keeps information that is useful on the go. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines>div:nth-child(1),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines>div:nth-child(4),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines>div:nth-child(6){display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines{
    display:grid!important;
    gap:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines>div{
    min-height:43px!important;
    padding:10px 0!important;
    border-bottom:1px solid #f0f2f5!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines>div:last-child{border-bottom:0!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines span{
    color:#8a95a4!important;
    font-size:10px!important;
    font-weight:650!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines strong{
    max-width:68%!important;
    color:#263348!important;
    font-size:12.5px!important;
    font-weight:750!important;
  }

  /* Itinerary looks like two compact travel legs. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair>div{
    position:relative!important;
    padding:12px 13px 12px 16px!important;
    border:1px solid #edf0f4!important;
    border-radius:14px!important;
    background:#fafbfc!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair>div:before{
    content:''!important;
    position:absolute!important;
    left:7px!important;
    top:12px!important;
    bottom:12px!important;
    width:3px!important;
    border-radius:99px!important;
    background:#e4e8ed!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair>div:first-child:before{background:#df2638!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair span{
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
    color:#8c96a5!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair strong{
    display:block!important;
    margin:4px 0 3px!important;
    color:#17243a!important;
    font-size:15px!important;
    line-height:1.2!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair small{
    display:block!important;
    color:#727e8f!important;
    font-size:10.5px!important;
    line-height:1.4!important;
  }

  /* Passenger table becomes an intentional passenger-card list. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table-wrap{overflow:visible!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table{display:block!important;width:100%!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table thead{display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tbody{
    display:grid!important;
    gap:8px!important;
    counter-reset:ots-admin-passenger!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tr{
    counter-increment:ots-admin-passenger!important;
    position:relative!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:3px 9px!important;
    min-height:62px!important;
    padding:10px 11px!important;
    border:1px solid #edf0f4!important;
    border-radius:14px!important;
    background:#fafbfc!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tr:before{
    content:counter(ots-admin-passenger)!important;
    grid-column:1!important;
    grid-row:1/3!important;
    align-self:center!important;
    width:32px!important;
    height:32px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:50%!important;
    background:#fff1f3!important;
    color:#cf2a3c!important;
    font-size:11px!important;
    font-weight:850!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td{
    display:block!important;
    border:0!important;
    padding:0!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(1){
    grid-column:2!important;grid-row:1!important;
    align-self:end!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(1) strong{
    display:block!important;
    overflow:hidden!important;
    color:#263348!important;
    font-size:12.5px!important;
    line-height:1.25!important;
    font-weight:780!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(2){
    grid-column:2!important;grid-row:2!important;
    color:#7c8797!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(3),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(4),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(6){display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(5){
    grid-column:3!important;grid-row:1/3!important;
    align-self:center!important;justify-self:end!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(5) .ots-status{
    font-size:9px!important;padding:4px 7px!important
  }

  /* Payment activity is a clean transaction list; form remains easy to complete. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines{
    display:grid!important;
    gap:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines>div{
    padding:11px 0!important;
    border-bottom:1px solid #f0f2f5!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines>div:last-child{border-bottom:0!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines span{
    color:#445166!important;
    font-size:11.5px!important;
    font-weight:700!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines small{
    display:block!important;
    margin-top:3px!important;
    color:#939dac!important;
    font-size:9.5px!important;
    font-weight:550!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines strong{
    color:#17243a!important;
    font-size:12.5px!important;
    font-weight:800!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment{
    padding:15px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-field-grid{gap:10px!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-btn{
    min-height:46px!important;
    margin-top:12px!important;
    border-radius:12px!important;
  }
}

@media(max-width:380px){
  .ots-admin-booking-mobile-money{gap:5px!important}
  .ots-admin-booking-mobile-money>div{padding:8px 6px!important}
  .ots-admin-booking-mobile-money strong{font-size:10.5px!important}
  .ots-admin-booking-mobile-statuses{max-width:54%!important}
}

/* v1.4.72 — Booking Details mobile alignment + app polish */
@media(max-width:760px){
  /* One strict mobile content rail. Prevent legacy desktop/table widths leaking into cards. */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-viewing,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid>div,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-card,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid form.ots-card,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-table-wrap,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-flight-pair,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-detail-lines{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid{
    overflow:visible!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid .ots-card,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-view-grid form.ots-card{
    justify-self:stretch!important;
    align-self:stretch!important;
    overflow:hidden!important;
  }

  /* Customer card: app-style label/value rows that cannot push outside the viewport. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-card-head h2{
    font-size:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-card-head h2::after{
    content:'Contact & Departure';
    display:block;
    color:#17243a;
    font-size:15.5px;
    line-height:1.25;
    font-weight:800;
    letter-spacing:-.01em;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines>div{
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines span,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines strong{
    min-width:0!important;
    max-width:none!important;
    width:auto!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-customer-card .ots-detail-lines strong{
    text-align:right!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    line-height:1.35!important;
  }

  /* Flight cards: keep every line inside the same rail and improve visual rhythm. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair>div{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:13px 13px 13px 18px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair strong,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair small{
    max-width:100%!important;
    min-width:0!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-flight-card .ots-flight-pair small{
    margin-top:4px!important;
    font-size:11px!important;
    line-height:1.45!important;
  }

  /* Passenger cards: fixed app grid, no table widths or badges escaping right. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tbody,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tr{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tr{
    grid-template-columns:34px minmax(0,1fr) max-content!important;
    overflow:hidden!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(1),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(2){
    min-width:0!important;
    max-width:100%!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(5){
    min-width:0!important;
    max-width:92px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(5) .ots-status{
    display:block!important;
    max-width:92px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }

  /* Payment form: native app-style form surface instead of desktop form compressed into a card. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:15px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-card-head{
    margin-bottom:12px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-card-head h2{
    font-size:16px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-field-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:11px!important;
    width:100%!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment label{
    width:100%!important;
    min-width:0!important;
    color:#6d7888!important;
    font-size:10.5px!important;
    font-weight:750!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment input,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:46px!important;
    margin-top:6px!important;
    padding:0 12px!important;
    border:1px solid #e2e6eb!important;
    border-radius:12px!important;
    background:#fbfcfd!important;
    color:#17243a!important;
    font-size:13px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment input:focus,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment select:focus{
    background:#fff!important;
    border-color:#ef9aa5!important;
    box-shadow:0 0 0 3px rgba(223,38,56,.07)!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-balance-request-preview{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:12px 13px!important;
    border:1px solid #f3dadd!important;
    border-radius:13px!important;
    background:#fff7f8!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-balance-request-preview span{
    color:#7f8997!important;
    font-size:10.5px!important;
    font-weight:700!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-balance-request-preview strong{
    min-width:0!important;
    color:#c9273b!important;
    font-size:14px!important;
    font-weight:850!important;
    text-align:right!important;
    white-space:nowrap!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-add-payment .ots-btn{
    width:100%!important;
    min-height:48px!important;
    margin-top:13px!important;
    border-radius:13px!important;
    font-size:12.5px!important;
  }

  /* Keep payment history on the same visual grid too. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines>div{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines span,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-payment-history .ots-detail-lines strong{
    min-width:0!important;
    max-width:none!important;
  }
}

/* v1.4.75 — Booking Details mobile passenger card layout (mobile only) */
.ots-mobile-passenger-no{display:none}
.ots-mobile-passenger-name{display:contents}

@media(max-width:760px){
  /* Passenger list is a native mobile card stack. Desktop table remains untouched. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table-wrap{
    overflow:visible!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tbody{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table thead{
    display:none!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tr{
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 10px!important;
    padding:12px!important;
    border:1px solid #edf0f3!important;
    border-radius:13px!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tr:last-child{
    margin-bottom:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table tr:before{
    content:none!important;
    display:none!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td{
    border:0!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(1){
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-mobile-passenger-name{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-mobile-passenger-no{
    display:grid!important;
    place-items:center!important;
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    margin:0!important;
    border-radius:50%!important;
    background:#fff1f3!important;
    color:#cf2a3c!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:850!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-mobile-passenger-name strong{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    color:#263348!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:780!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  /* Document and category align under the passenger name, not under the number badge. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(2),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(5){
    display:block!important;
    width:calc(100% - 40px)!important;
    max-width:calc(100% - 40px)!important;
    margin-left:40px!important;
    padding:0!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(2){
    margin-top:5px!important;
    color:#7c8797!important;
    font-size:10.5px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(5){
    margin-top:7px!important;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(5) .ots-status{
    display:inline-flex!important;
    width:auto!important;
    max-width:100%!important;
    padding:4px 8px!important;
    white-space:normal!important;
    line-height:1.2!important;
  }
  /* Desktop-detail columns intentionally hidden on the app-style mobile card. */
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(3),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(4),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-passengers-card .ots-table td:nth-child(6){
    display:none!important;
  }
}

/* v1.4.76 — unified booking-status colours */
.ots-admin-status-row span i.blue{background:#5578cf}
.ots-admin-status-row:nth-child(1) .ots-admin-status-track i{background:#f59e0b}
.ots-admin-status-row:nth-child(2) .ots-admin-status-track i{background:#5578cf}
.ots-admin-status-row:nth-child(3) .ots-admin-status-track i{background:#20a874}
.ots-admin-status-row:nth-child(4) .ots-admin-status-track i{background:#df2638}
.ots-report-status-row span i.blue{background:#5578cf}
.ots-report-status-row:nth-child(1) .ots-report-status-track>i{background:#e49a21}
.ots-report-status-row:nth-child(2) .ots-report-status-track>i{background:#5578cf}
.ots-report-status-row:nth-child(3) .ots-report-status-track>i{background:#12a36d}
.ots-report-status-row:nth-child(4) .ots-report-status-track>i{background:#d92d45}


/* v1.4.78 — Desktop account dropdown for Admin + Staff (click-only) */
.ots-account-menu{position:relative;flex:0 0 auto}
.ots-account-trigger{appearance:none;border:1px solid transparent;background:transparent;border-radius:12px;padding:6px 8px 6px 6px;cursor:pointer;color:var(--ots-text);font:inherit;min-width:0;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.ots-account-menu.open .ots-account-trigger{background:#fafbfc;border-color:#e8ebef}
.ots-account-trigger .ots-avatar{flex:0 0 38px;width:38px;height:38px}
.ots-account-copy{min-width:0;text-align:left;line-height:1.25}
.ots-account-copy strong{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-account-copy small{margin-top:2px}
.ots-account-chevron{width:18px;height:18px;display:grid;place-items:center;color:#8a94a3;transition:transform .16s ease}
.ots-account-chevron .ots-svg-icon{width:15px;height:15px}
.ots-account-menu.open .ots-account-chevron{transform:rotate(180deg)}
.ots-account-dropdown{position:absolute;right:0;top:calc(100% + 9px);width:246px;padding:7px;background:#fff;border:1px solid #e7eaf0;border-radius:14px;box-shadow:0 18px 45px rgba(20,31,48,.13);opacity:0;visibility:hidden;transform:translateY(-5px) scale(.985);transform-origin:top right;pointer-events:none;transition:opacity .15s ease,transform .15s ease,visibility .15s ease;z-index:100}
.ots-account-menu.open .ots-account-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.ots-account-dropdown:before{content:"";position:absolute;right:22px;top:-6px;width:10px;height:10px;background:#fff;border-left:1px solid #e7eaf0;border-top:1px solid #e7eaf0;transform:rotate(45deg)}
.ots-account-dropdown-head{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:10px 10px 12px;border-bottom:1px solid #eef0f3}
.ots-account-dropdown-head .ots-avatar{width:40px;height:40px;font-size:12px}
.ots-account-dropdown-head strong{display:block;font-size:13px;color:var(--ots-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-account-dropdown-head small{display:block;margin-top:2px;font-size:11px;color:#8a94a3}
.ots-account-dropdown-links{padding-top:6px}
.ots-account-dropdown-links a{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 10px;border-radius:9px;color:#536071!important;font-size:12.5px;font-weight:650;text-decoration:none;transition:background .14s ease,color .14s ease}
.ots-account-dropdown-links a:hover,.ots-account-dropdown-links a:focus{background:#f7f8fa;color:var(--ots-navy)!important;outline:none}
.ots-account-dropdown-links a>span:first-child{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px}
.ots-account-dropdown-links .ots-svg-icon{width:17px;height:17px}
.ots-account-dropdown-links .ots-account-logout{color:#c92a3a!important;margin-top:2px}
.ots-account-dropdown-links .ots-account-logout:hover,.ots-account-dropdown-links .ots-account-logout:focus{background:#fff2f4;color:#b91f31!important}
@media(max-width:760px){.ots-account-menu{display:none!important}}


/* v1.4.79 — Chrome responsive/device-mode scroll resilience.
   Keep the document as the vertical scroll container on mobile; only the open drawer may lock it. */
@media(max-width:760px){
  html{height:auto!important;min-height:100%!important;overflow-y:auto!important;overscroll-behavior-y:auto!important}
  body.ohhsem-system-page{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;touch-action:pan-y pinch-zoom!important;overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch}
  body.ohhsem-system-page.ots-nav-lock{overflow-y:hidden!important;touch-action:pan-y pinch-zoom!important}
  .ots-admin-layout,.ots-admin-content,.ots-main{height:auto!important;overflow-y:visible!important}
}

/* v1.4.80 — Booking numbering settings + permanent booking invoice */
.ots-settings-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.ots-booking-number-preview{margin-top:16px;padding:15px 16px;border:1px solid #e6eaf0;border-radius:12px;background:#f8fafc;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ots-booking-number-preview>span{font-size:11px;font-weight:800;color:#7a8798;text-transform:uppercase;letter-spacing:.045em}
.ots-booking-number-preview>strong{font-size:20px;color:var(--ots-navy);letter-spacing:.025em}
.ots-booking-number-preview>small{width:100%;font-size:10.5px;color:var(--ots-muted)}
.ots-booking-invoice-card{margin:14px 0;padding:15px 16px;background:#fff;border:1px solid #e8ecf1;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 6px 20px rgba(18,34,58,.035)}
.ots-booking-invoice-card>div:first-child{min-width:0;display:grid;gap:2px}
.ots-booking-invoice-card>div:first-child>span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;color:#8a96a5}
.ots-booking-invoice-card>div:first-child>strong{font-size:17px;color:var(--ots-navy);line-height:1.25}
.ots-booking-invoice-card>div:first-child>small{font-size:10.5px;color:var(--ots-muted)}
.ots-booking-invoice-card>div:last-child{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ots-invoice-status.deposit{background:#eef5ff;border-color:#cdddf7;color:#285f9b}.ots-invoice-status.deposit i{background:#3f7fc5}
.ots-invoice-payment-box.deposit{background:#f2f7ff;border-color:#d5e2f5}.ots-invoice-payment-box.deposit>div:first-child strong{color:#2d6da8}
@media(max-width:760px){
  .ots-settings-grid.three{grid-template-columns:1fr}
  .ots-booking-number-preview{align-items:flex-start;gap:5px;padding:13px 14px}.ots-booking-number-preview>strong{font-size:18px;width:100%}
  .ots-booking-invoice-card{margin:10px 0;padding:14px;border-radius:13px;align-items:stretch;flex-direction:column;gap:12px}
  .ots-booking-invoice-card>div:first-child>strong{font-size:18px}.ots-booking-invoice-card>div:first-child>small{font-size:11px;line-height:1.45}
  .ots-booking-invoice-card>div:last-child{display:grid;grid-template-columns:1fr 1fr;width:100%}.ots-booking-invoice-card .ots-btn{width:100%;justify-content:center}
}

/* v1.4.81 — Subtle booking invoice access + invoice payment timeline */
.ots-summary-invoice-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.12);
}
.ots-summary-invoice-action>span{display:grid;gap:1px;min-width:0}
.ots-summary-invoice-action>span small{font-size:9px;line-height:1.2;color:#aeb8c8;text-transform:uppercase;letter-spacing:.055em;font-weight:800}
.ots-summary-invoice-action>span strong{font-size:11.5px;line-height:1.3;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-summary-invoice-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:8px;
  background:rgba(255,255,255,.07);
  color:#fff!important;
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.ots-summary-invoice-link:hover{background:rgba(255,255,255,.13)}

.ots-admin-booking-mobile-invoice{display:none}

.ots-invoice-payments-panel{margin:0 30px 16px}
.ots-invoice-payment-history{border:1px solid #e8ebf0;border-radius:12px;overflow:hidden}
.ots-invoice-payment-history>div{
  display:grid;
  grid-template-columns:minmax(105px,.75fr) minmax(145px,1fr) minmax(150px,1.15fr) 110px;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid #edf0f3;
}
.ots-invoice-payment-history>div:last-child{border-bottom:0}
.ots-invoice-payment-history .head{background:#f7f9fb;color:#818c9b;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.ots-invoice-payment-row{font-size:11px;color:#536075}
.ots-invoice-payment-row>strong:first-child{font-size:11px;color:#27364b}
.ots-invoice-payment-row>span:nth-child(2){white-space:nowrap}
.ots-invoice-payment-row>span:nth-child(3){min-width:0;overflow-wrap:anywhere}
.ots-invoice-payment-row>span:nth-child(3) small{display:block;margin-top:2px;color:#97a1af;font-size:9.5px}
.ots-invoice-payment-row>strong:last-child{text-align:right;color:#27364b;font-size:11.5px;white-space:nowrap}

@media(max-width:760px){
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-mobile-invoice{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:11px;
    padding-top:11px;
    border-top:1px solid #edf0f4;
    color:#7b8797;
    font-size:10.5px;
    font-weight:700;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-mobile-invoice a{
    color:var(--ots-red)!important;
    font-size:10.5px;
    font-weight:850;
    white-space:nowrap;
  }
  .ots-summary-invoice-action{margin-top:11px;padding-top:11px}
  .ots-summary-invoice-link{min-height:34px;padding:0 10px}
  .ots-invoice-payments-panel{margin:0 16px 12px}
  .ots-invoice-payment-history>div{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:10px}
  .ots-invoice-payment-history .head{display:none}
  .ots-invoice-payment-row>strong:first-child{grid-column:1;grid-row:1;font-size:11px}
  .ots-invoice-payment-row>strong:last-child{grid-column:2;grid-row:1;font-size:11.5px}
  .ots-invoice-payment-row>span:nth-child(2){grid-column:1/-1;grid-row:2;font-size:10px;color:#687589;white-space:normal}
  .ots-invoice-payment-row>span:nth-child(3){grid-column:1/-1;grid-row:3;font-size:9.8px;color:#8792a2}
  .ots-invoice-payment-row>span:nth-child(3) small{display:inline;margin:0 0 0 5px;font-size:9.2px}
}


/* v1.4.82 — Cleaner invoice itinerary + aligned payment history */
.ots-invoice-trip-panel .ots-invoice-flight-grid{margin-top:0}
.ots-invoice-flight-time{
  display:block;
  margin-top:7px;
  color:#405069;
  font-size:12.5px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:-.01em;
}

@media (min-width:761px){
  .ots-invoice-payments-panel{margin:0 24px 10px}
  .ots-invoice-payment-history{border-radius:10px}
  .ots-invoice-payment-history>div{
    grid-template-columns:minmax(100px,.75fr) minmax(140px,1fr) minmax(0,1.15fr) 108px;
    gap:7px;
    padding:7px 9px;
  }
  .ots-invoice-flight-leg{padding:11px 12px}
  .ots-invoice-flight-time{font-size:12.5px}
}

@media (max-width:760px){
  .ots-invoice-payments-panel{margin:0 16px 12px}
  .ots-invoice-flight-time{font-size:13px;margin-top:7px}
}

/* v1.4.83 — Print/PDF fidelity: keep invoice layout aligned with the on-screen invoice */
@page{
  size:A4 portrait;
  margin:6mm;
}
@media print{
  html,
  body{
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .ots-public-invoice-page{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#223047!important;
  }

  .ots-payment-invoice-shell{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0 auto!important;
    overflow:visible!important;
    background:#fff!important;
    border:1px solid #e6e9ee!important;
    border-radius:12px!important;
    box-shadow:none!important;
  }

  /* Match the desktop View Invoice hierarchy instead of shrinking to legacy A4 typography. */
  .ots-invoice-header{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    padding:12px 24px!important;
    background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)!important;
    border-bottom:1px solid #e9edf2!important;
  }
  .ots-invoice-brand{
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
  }
  .ots-invoice-brand img{
    width:320px!important;
    max-width:320px!important;
    height:auto!important;
    max-height:70px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .ots-invoice-brand div{
    display:flex!important;
    flex-direction:column!important;
    gap:1px!important;
    min-width:0!important;
  }
  .ots-invoice-brand strong{font-size:12px!important;line-height:1.2!important;color:#243247!important}
  .ots-invoice-brand span{font-size:9.5px!important;line-height:1.25!important;color:#8a95a4!important;white-space:nowrap!important}
  .ots-invoice-status{padding:8px 12px!important;font-size:11.5px!important}

  .ots-invoice-title-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 285px!important;
    gap:20px!important;
    padding:18px 24px 14px!important;
  }
  .ots-invoice-title-row h1{font-size:27px!important;line-height:1!important;margin:3px 0!important}
  .ots-invoice-title-row p{display:block!important;font-size:11.5px!important;margin:0!important}
  .ots-invoice-meta{width:auto!important;border-radius:11px!important}
  .ots-invoice-meta>div{grid-template-columns:86px 1fr!important;gap:12px!important;padding:7px 10px!important}
  .ots-invoice-meta span,
  .ots-invoice-meta strong{font-size:10.5px!important}

  .ots-invoice-alert{margin:0 24px 10px!important;padding:9px 11px!important}
  .ots-invoice-alert strong{font-size:12.5px!important}
  .ots-invoice-alert span{font-size:11.5px!important}

  .ots-invoice-party-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding:0 24px 10px!important;
  }
  .ots-invoice-panel{padding:12px 14px!important;border-radius:12px!important}
  .ots-invoice-party-grid .ots-invoice-panel{min-height:0!important}
  .ots-invoice-panel-label{font-size:8.8px!important;margin-bottom:4px!important}
  .ots-invoice-panel h2{font-size:15px!important}
  .ots-invoice-panel h3{font-size:14px!important}
  .ots-invoice-panel p{font-size:10.5px!important;line-height:1.35!important;margin-top:3px!important}

  .ots-sales-avatar{width:31px!important;height:31px!important;font-size:10px!important}
  .ots-sales-contact{margin-top:6px!important;gap:8px!important}
  .ots-sales-contact span{font-size:9.8px!important}
  .ots-sales-person-simple h3{font-size:14px!important}
  .ots-sales-person-simple p{font-size:10.5px!important;margin-top:3px!important}
  .ots-sales-person-simple span{font-size:10px!important;margin-top:7px!important;padding:4px 7px!important}

  .ots-invoice-trip-panel,
  .ots-invoice-party-grid+.ots-invoice-trip-panel,
  .ots-invoice-trip-panel + .ots-invoice-panel,
  .ots-invoice-panel.ots-invoice-charges-panel,
  .ots-invoice-payments-panel{margin:0 24px 10px!important}
  .ots-invoice-section-head{margin-bottom:9px!important}
  .ots-invoice-market{font-size:9.5px!important;padding:4px 7px!important;white-space:nowrap!important}

  .ots-invoice-flight-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin-top:0!important;
  }
  .ots-invoice-flight-leg{padding:11px 12px!important;border-radius:9px!important}
  .ots-invoice-flight-leg>span{font-size:8.5px!important}
  .ots-invoice-flight-leg strong{font-size:11px!important;margin-top:2px!important}
  .ots-invoice-flight-leg p{font-size:14px!important;margin:4px 0 1px!important}
  .ots-invoice-flight-leg small{font-size:9px!important}
  .ots-invoice-flight-time{
    display:block!important;
    margin-top:7px!important;
    color:#405069!important;
    font-size:12.5px!important;
    line-height:1.3!important;
    font-weight:800!important;
  }

  .ots-invoice-passenger-table{border-radius:10px!important}
  .ots-invoice-passenger-table>div{
    display:grid!important;
    grid-template-columns:minmax(0,1.6fr) minmax(150px,.9fr) 86px!important;
    gap:10px!important;
    padding:8px 10px!important;
  }
  .ots-invoice-passenger-table .head{display:grid!important;font-size:8.8px!important}
  .ots-invoice-passenger-row>strong{font-size:10.8px!important}
  .ots-invoice-passenger-id{font-size:10.4px!important}
  .ots-invoice-passenger-category{min-height:22px!important;padding:0 8px!important;font-size:9.5px!important}

  .ots-invoice-line-table{border-radius:10px!important}
  .ots-invoice-line-table>div{
    grid-template-columns:minmax(0,1.8fr) 48px 96px 108px!important;
    gap:7px!important;
    padding:7px 9px!important;
  }
  .ots-invoice-line-table .head{font-size:8.8px!important}
  .ots-invoice-line-table>div:not(.head),
  .ots-invoice-line-table strong{font-size:10.2px!important}
  .ots-invoice-totals{width:min(340px,100%)!important;margin:7px 0 0 auto!important}
  .ots-invoice-totals>div{padding:4px 1px!important}
  .ots-invoice-totals span,
  .ots-invoice-totals strong{font-size:10.2px!important}

  .ots-invoice-payment-history{border-radius:10px!important}
  .ots-invoice-payment-history>div{
    display:grid!important;
    grid-template-columns:minmax(100px,.75fr) minmax(140px,1fr) minmax(0,1.15fr) 108px!important;
    gap:7px!important;
    padding:7px 9px!important;
  }
  .ots-invoice-payment-history .head{display:grid!important;font-size:9.5px!important}
  .ots-invoice-payment-row{font-size:11px!important}
  .ots-invoice-payment-row>strong:first-child{grid-column:auto!important;grid-row:auto!important;font-size:11px!important}
  .ots-invoice-payment-row>span:nth-child(2){grid-column:auto!important;grid-row:auto!important;font-size:11px!important;white-space:nowrap!important;color:#536075!important}
  .ots-invoice-payment-row>span:nth-child(3){grid-column:auto!important;grid-row:auto!important;font-size:11px!important;color:#536075!important}
  .ots-invoice-payment-row>span:nth-child(3) small{display:block!important;margin:2px 0 0!important;font-size:9.5px!important}
  .ots-invoice-payment-row>strong:last-child{grid-column:auto!important;grid-row:auto!important;font-size:11.5px!important}

  .ots-invoice-payment-box{
    margin:0 24px 9px!important;
    padding:11px 14px!important;
    border-radius:12px!important;
    flex-direction:row!important;
    align-items:center!important;
  }
  .ots-invoice-payment-box>div:first-child span{font-size:9px!important}
  .ots-invoice-payment-box>div:first-child strong{font-size:23px!important;margin:2px 0!important}
  .ots-invoice-payment-box small{font-size:9.5px!important}

  .ots-invoice-footer{
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:20px!important;
    padding:11px 24px 13px!important;
  }
  .ots-invoice-footer strong{font-size:10.5px!important}
  .ots-invoice-footer span{font-size:9.2px!important}
  .ots-invoice-footer>div:last-child{text-align:right!important}

  /* Print-only behavior: remove controls, preserve document styling, and paginate safely. */
  .ots-invoice-payment-actions,
  .ots-invoice-test-note{display:none!important}
  .ots-invoice-header,
  .ots-invoice-title-row,
  .ots-invoice-meta,
  .ots-invoice-party-grid,
  .ots-invoice-flight-leg,
  .ots-invoice-payment-box,
  .ots-invoice-footer,
  .ots-invoice-passenger-row,
  .ots-invoice-payment-row,
  .ots-invoice-line-table>div{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .ots-invoice-passenger-panel,
  .ots-invoice-charges-panel,
  .ots-invoice-payments-panel{
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
}

/* v1.4.85 — Logo sizing + grid alignment polish.
   Keep branding visually stronger on the dashboard while pinning mobile and
   invoice/payment-document logos to the same left content rails as the UI. */
.ots-sidebar-logo{
  padding-left:8px!important;
  padding-right:8px!important;
}
.ots-sidebar-logo img{
  width:128px!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ots-public-brand img{
  width:118px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.ots-login-card>img{
  width:132px!important;
  max-width:58%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ots-mobile-appbar{
  padding-left:12px!important;
  padding-right:12px!important;
}
.ots-mobile-brand{
  justify-content:flex-start!important;
  margin:0!important;
  padding:0!important;
}
.ots-mobile-brand img,
.ots-staff-app .ots-mobile-brand img{
  display:block!important;
  width:114px!important;
  max-width:44vw!important;
  height:auto!important;
  max-height:34px!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.ots-invoice-header{
  padding-left:24px!important;
  padding-right:24px!important;
}
.ots-invoice-brand{
  justify-content:flex-start!important;
  margin:0!important;
  padding:0!important;
}
.ots-invoice-brand img{
  display:block!important;
  width:230px!important;
  max-width:230px!important;
  height:auto!important;
  max-height:64px!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}
@media(max-width:760px){
  .ots-sidebar-logo img{width:116px!important}
  .ots-mobile-appbar{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .ots-mobile-brand img,
  .ots-staff-app .ots-mobile-brand img{
    width:112px!important;
    max-width:46vw!important;
    max-height:33px!important;
  }
  .ots-public-header{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .ots-public-brand{margin:0!important;padding:0!important}
  .ots-public-brand img{
    width:auto!important;
    height:29px!important;
    max-width:44vw!important;
    margin:0!important;
    object-position:left center!important;
  }
  .ots-login-card>img{width:126px!important;max-width:62%!important}
  .ots-invoice-header{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .ots-invoice-brand img{
    width:132px!important;
    max-width:132px!important;
    max-height:38px!important;
  }
}


/* v1.4.86 — View Invoice branding edge alignment.
   The invoice opens in its own tab, so keep only the print action and let the
   logo start flush at the left edge while preserving breathing room on the right. */
.ots-booking-invoice-page .ots-invoice-header{
  padding-left:0!important;
  padding-right:24px!important;
}
.ots-booking-invoice-page .ots-invoice-brand{
  margin-left:0!important;
  padding-left:0!important;
}
.ots-booking-invoice-page .ots-invoice-brand img{
  margin-left:0!important;
}
@media(max-width:760px){
  .ots-booking-invoice-page .ots-invoice-header{
    padding-left:0!important;
    padding-right:16px!important;
  }
}
@media print{
  .ots-booking-invoice-page .ots-invoice-header{
    padding-left:0!important;
    padding-right:24px!important;
  }
}

/* v1.4.87 — Mobile Admin/Staff header branding polish.
   Make the shared dashboard/app header logo more visible and move it closer to
   the left edge without affecting desktop, invoice, payment-link or print UI. */
@media(max-width:760px){
  .ots-admin-layout .ots-mobile-appbar,
  .ots-staff-app .ots-mobile-appbar{
    padding-left:4px!important;
    padding-right:12px!important;
  }
  .ots-admin-layout .ots-mobile-brand,
  .ots-staff-app .ots-mobile-brand{
    margin:0!important;
    padding:0!important;
    justify-content:flex-start!important;
    height:62px!important;
  }
  .ots-admin-layout .ots-mobile-brand img,
  .ots-staff-app .ots-mobile-brand img{
    width:138px!important;
    max-width:54vw!important;
    max-height:38px!important;
    height:auto!important;
    margin:0!important;
    display:block!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
}

/* v1.4.97 — Desktop Admin/Staff sidebar branding + submenu alignment.
   Keep mobile branding untouched while centering the desktop logo and reducing
   nested-navigation indentation for a cleaner sidebar hierarchy. */
@media(min-width:761px){
  .ots-admin-layout .ots-sidebar-logo{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:4px 0 18px!important;
    margin:0 0 8px!important;
  }
  .ots-admin-layout .ots-sidebar-logo img{
    width:128px!important;
    max-width:100%!important;
    height:auto!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .ots-admin-layout .ots-nav-submenu{
    margin-left:18px!important;
    padding-left:8px!important;
  }
}


/* v1.4.99 — Admin Bookings desktop row navigation */
@media (min-width: 761px){
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-clickable-row{
    cursor:pointer;
    transition:background-color .16s ease,box-shadow .16s ease;
    outline:none;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-clickable-row:hover td,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-clickable-row:focus td{
    background:#fafbff;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-clickable-row:hover td:first-child,
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-clickable-row:focus td:first-child{
    box-shadow:inset 3px 0 0 var(--ots-red);
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-clickable-row:focus-visible td{
    background:#fff8f9;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-clickable-row .ots-list-actions a{
    cursor:pointer;
  }
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table th:nth-child(1),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(1){white-space:nowrap}
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table th:nth-child(7),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(7),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table th:nth-child(9),
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-list-table td:nth-child(9){white-space:nowrap}
}

/* v1.4.100 — Unified Admin + Staff Bookings list, Passenger Details filter, and mobile card parity. */
@media (min-width:1101px){
  .ots-page-bookings:not(.ots-staff-app) .ots-booking-filters{
    grid-template-columns:minmax(260px,1.45fr) repeat(4,minmax(145px,.72fr)) auto;
  }
  .ots-staff-app.ots-page-bookings .ots-booking-filters{
    grid-template-columns:minmax(280px,1.5fr) repeat(3,minmax(155px,.72fr)) auto;
  }
}

@media (min-width:761px){
  .ots-page-bookings .ots-booking-clickable-row{
    cursor:pointer;
    transition:background-color .16s ease,box-shadow .16s ease;
    outline:none;
  }
  .ots-page-bookings .ots-booking-clickable-row:hover td,
  .ots-page-bookings .ots-booking-clickable-row:focus td{background:#fafbff}
  .ots-page-bookings .ots-booking-clickable-row:hover td:first-child,
  .ots-page-bookings .ots-booking-clickable-row:focus td:first-child{box-shadow:inset 3px 0 0 var(--ots-red)}
  .ots-page-bookings .ots-booking-clickable-row:focus-visible td{background:#fff8f9}
  .ots-page-bookings .ots-booking-clickable-row .ots-list-actions a{cursor:pointer}
  .ots-page-bookings .ots-booking-list-table th:nth-child(1),
  .ots-page-bookings .ots-booking-list-table td:nth-child(1),
  .ots-page-bookings .ots-booking-list-table th:nth-child(7),
  .ots-page-bookings .ots-booking-list-table td:nth-child(7),
  .ots-page-bookings .ots-booking-list-table th:nth-child(9),
  .ots-page-bookings .ots-booking-list-table td:nth-child(9){white-space:nowrap}
}

.ots-shared-booking-card-main{display:block;color:inherit;text-decoration:none}
.ots-shared-booking-card-main:hover,.ots-shared-booking-card-main:focus{color:inherit;text-decoration:none}

@media(max-width:760px){
  .ots-staff-app.ots-page-bookings .ots-staff-booking-mobile-list{display:grid!important;gap:9px!important}
  .ots-staff-app.ots-page-bookings .ots-admin-booking-card{
    background:#fff;
    border:1px solid #e8ebef;
    border-radius:15px;
    padding:13px 14px 12px;
    box-shadow:0 1px 2px rgba(23,36,58,.025);
    overflow:visible;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-card-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-identity{
    display:flex;align-items:center;gap:10px;min-width:0;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-identity .ots-customer-avatar{
    width:40px!important;height:40px!important;min-width:40px!important;flex-basis:40px!important;font-size:11px!important;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-identity>div{min-width:0}
  .ots-staff-app.ots-page-bookings .ots-admin-booking-identity strong{
    display:block;color:#17243a;font-size:13.5px;line-height:1.25;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-identity small{
    display:block;margin-top:2px;color:#929baa;font-size:10.5px;line-height:1.25;font-weight:650;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-card-head>.ots-status{flex:0 0 auto;margin-top:1px}
  .ots-staff-app.ots-page-bookings .ots-admin-booking-package{
    padding:10px 0 9px;margin-top:10px;border-top:1px solid #eef1f4;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-package strong{
    display:block;color:#344155;font-size:12.5px;line-height:1.3;font-weight:750;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-package small{
    display:block;margin-top:2px;color:#929baa;font-size:10.5px;line-height:1.3;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-metrics{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:1px 0 10px;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-metrics>span:last-child{text-align:right}
  .ots-staff-app.ots-page-bookings .ots-admin-booking-metrics small{
    display:block;color:#98a1ae;font-size:9px;line-height:1.15;font-weight:800;text-transform:uppercase;letter-spacing:.045em;margin-bottom:3px;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-metrics strong{
    display:block;color:#17243a;font-size:13px;line-height:1.25;font-weight:800;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-actions{
    display:grid;grid-template-columns:1fr;gap:8px;padding-top:9px;border-top:1px solid #eef1f4;
  }
  .ots-staff-app.ots-page-bookings .ots-admin-booking-actions a{
    min-height:40px;display:flex;align-items:center;justify-content:center;border:1px solid #e3e7ec;border-radius:11px;background:#fff;color:#445166;font-size:12px;line-height:1;font-weight:800;text-decoration:none;
  }
  .ots-booking-mobile-metrics .ots-mobile-passenger-state.green{color:#237a4a}
  .ots-booking-mobile-metrics .ots-mobile-passenger-state.orange{color:#b36a09}
  .ots-shared-booking-card-main{border-radius:12px;outline:none}
  .ots-shared-booking-card-main:focus-visible{box-shadow:0 0 0 3px rgba(223,38,56,.10)}
}



/* v1.4.101 — Admin dashboard desktop clarity revamp.
   Desktop only: consolidate KPI cards into one overview strip, reduce nested-card
   noise and strengthen the management hierarchy without changing mobile. */
@media(min-width:921px){
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean{
    gap:18px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-date{
    margin-top:-49px;
    margin-bottom:18px;
    min-height:32px;
    gap:7px;
    color:#8a95a5;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-date>span{
    display:none;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-date strong{
    font-size:13px;
    line-height:1.2;
    color:#455468;
    font-weight:800;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-date small{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-size:11px;
    line-height:1.2;
    font-weight:650;
    color:#98a2b3;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-date small:before{
    content:"•";
    color:#c4cad2;
    font-size:10px;
  }

  /* One calm monthly overview strip instead of four competing KPI cards. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-kpis{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    overflow:visible;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi{
    min-height:106px;
    padding:20px 22px;
    gap:13px;
    align-items:center;
    border:1px solid #e5e9ee;
    border-radius:14px;
    box-shadow:0 5px 18px rgba(24,35,52,.03);
    background:#fff;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi:last-child{
    border-right:1px solid #e5e9ee;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi-icon{
    width:36px;
    height:36px;
    flex-basis:36px;
    border-radius:10px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi-icon .ots-svg-icon{
    width:16px;
    height:16px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi small{
    font-size:11px;
    line-height:1.25;
    color:#7d8897;
    font-weight:750;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi strong{
    margin-top:5px;
    font-size:28px;
    line-height:1.05;
    letter-spacing:-.035em;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi>div>span{
    margin-top:6px;
    font-size:10.5px;
    color:#99a2af;
  }

  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row{
    gap:18px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-primary{
    grid-template-columns:minmax(0,1.48fr) minmax(310px,.72fr);
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-tertiary{
    grid-template-columns:minmax(285px,.72fr) minmax(0,1.55fr);
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-card{
    padding:20px 21px;
    border-color:#e5e9ee;
    border-radius:16px;
    box-shadow:0 5px 18px rgba(24,35,52,.03);
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-card-head{
    align-items:center;
    margin-bottom:15px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-card-head h2{
    font-size:15.5px;
    line-height:1.25;
    letter-spacing:-.015em;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-card-head p{
    display:none;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-card-head>a{
    font-size:11.5px;
    font-weight:800;
  }

  /* Action Required becomes a simple operational list, not cards inside a card. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-action-list{
    gap:0;
    border-top:1px solid #eef1f4;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-action-list>a{
    grid-template-columns:34px minmax(0,1fr) 18px;
    gap:11px;
    min-height:58px;
    padding:10px 3px;
    border:0;
    border-bottom:1px solid #eef1f4;
    border-radius:0;
    background:transparent;
    transform:none;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-action-list>a:hover{
    padding-left:7px;
    padding-right:7px;
    background:#fafbfc;
    border-color:#eef1f4;
    border-radius:9px;
    transform:none;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-action-list>a strong{
    font-size:12.5px;
    color:#344054;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-action-list>a small{
    font-size:10.75px;
    color:#8d97a5;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-action-icon{
    width:32px;
    height:32px;
    border-radius:9px;
  }

  /* Collection: fewer boxes, one strong progress story. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-value{
    margin-top:3px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-value strong{
    font-size:34px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-progress{
    height:7px;
    margin:16px 0 15px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-meta{
    gap:0;
    border-top:1px solid #eef1f4;
    border-bottom:1px solid #eef1f4;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-meta>span{
    padding:12px 2px;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-meta>span+span{
    padding-left:14px;
    border-left:1px solid #eef1f4;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-meta small{
    font-size:10.5px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-meta b{
    font-size:13px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-collection-outstanding{
    padding-top:13px;
    font-size:11px;
  }

  /* Lists use a restrained table rhythm for quicker scanning. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-row{
    min-height:58px;
    padding:11px 3px;
    gap:13px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-row:hover,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-row:hover{
    background:#fafbfc;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-logo{
    width:34px;
    height:34px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-main strong,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-route strong,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-seat strong{
    font-size:12.5px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-main small,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-route small,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-flight-seat small{
    font-size:10.5px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-row{
    min-height:57px;
    padding:10px 6px;
    border-radius:9px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-id strong,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-customer strong,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-amount strong{
    font-size:12px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-id small,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-customer small,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-recent-amount small{
    font-size:10.25px;
  }

  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-status-list{
    gap:13px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-status-row span{
    font-size:11.5px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-status-row strong{
    font-size:12px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-status-track{
    height:4px!important;
    margin-top:7px;
  }
}

/* Medium desktop/laptop: retain the calmer treatment without squeezing the strip. */
@media(min-width:921px) and (max-width:1180px){
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi:nth-child(2),
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi:nth-child(-n+2){
    border:1px solid #e5e9ee;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-primary{
    grid-template-columns:minmax(0,1.25fr) minmax(285px,.75fr);
  }
}

/* v1.4.102 — Admin dashboard desktop flow + Upcoming Flights redesign.
   Desktop only: pair Action Required with Upcoming Flights, keep Collection and
   Booking Status together, and give Recent Bookings a full-width final row. */
@media(min-width:921px){
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-operations,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-insights{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-single{
    grid-template-columns:minmax(0,1fr);
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-operations>.ots-admin-dashboard-card,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-insights>.ots-admin-dashboard-card{
    height:100%;
  }

  /* A compact flight-board treatment that works cleanly in a 50% card. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-card-head{
    margin-bottom:12px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-list{
    display:grid;
    gap:8px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row{
    position:relative;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) auto 15px;
    grid-template-rows:auto auto;
    gap:3px 10px;
    min-height:64px;
    padding:10px 10px;
    border:1px solid #edf0f4;
    border-radius:12px;
    background:#fbfcfd;
    transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row:nth-child(n+5){
    display:none;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row:hover{
    background:#fff;
    border-color:#e2e6eb;
    box-shadow:0 7px 18px rgba(24,35,52,.045);
    transform:translateY(-1px);
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-logo{
    grid-column:1;
    grid-row:1/3;
    align-self:center;
    width:40px;
    height:40px;
    border-radius:11px;
    background:#fff;
    border:1px solid #e8ecf1;
    box-shadow:0 3px 10px rgba(28,39,56,.035);
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-logo img{
    width:25px;
    height:25px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-main{
    grid-column:2;
    grid-row:1;
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-main strong{
    flex:0 0 auto;
    font-size:12.5px;
    line-height:1.2;
    color:#344054;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-main small{
    min-width:0;
    margin:0;
    font-size:10.25px;
    color:#98a2b3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-main small:before{
    content:"•";
    margin-right:7px;
    color:#d0d5dd;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-route{
    grid-column:2;
    grid-row:2;
    min-width:0;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-route strong{
    display:block;
    font-size:13.5px;
    line-height:1.2;
    color:#172b4d;
    letter-spacing:-.015em;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-route small{
    display:block;
    margin-top:3px;
    font-size:10.75px;
    line-height:1.25;
    color:#7f8a99;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-seat{
    grid-column:3;
    grid-row:1/3;
    align-self:center;
    min-width:92px;
    padding:7px 8px;
    border-radius:9px;
    background:#f2f8f5;
    text-align:right;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-seat strong{
    display:block;
    color:#147a58;
    font-size:10.75px;
    line-height:1.2;
    font-weight:850;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-seat small{
    display:block;
    margin-top:2px;
    color:#7c8a83;
    font-size:9.5px;
    line-height:1.2;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-seat i{
    display:block;
    width:100%;
    height:3px;
    margin-top:5px;
    border-radius:999px;
    background:#dfece6;
    overflow:hidden;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-seat i b{
    display:block;
    height:100%;
    border-radius:inherit;
    background:#35a67c;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row.is-low .ots-admin-flight-seat{
    background:#fff6e8;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row.is-low .ots-admin-flight-seat strong{
    color:#b26b09;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row.is-low .ots-admin-flight-seat i{
    background:#f4e5c9;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row.is-low .ots-admin-flight-seat i b{
    background:#e7a93d;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-arrow{
    grid-column:4;
    grid-row:1/3;
    align-self:center;
    color:#a6afbb;
  }

  /* Collection and booking status are equal-weight monthly insight cards. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-insights .ots-admin-collection-card,
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-insights .ots-admin-status-card{
    min-height:245px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-row-tertiary .ots-admin-recent-card{
    width:100%;
  }
}

@media(min-width:921px) and (max-width:1100px){
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-row{
    grid-template-columns:36px minmax(0,1fr) 15px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-logo{
    width:36px;
    height:36px;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-seat{
    grid-column:2;
    grid-row:3;
    justify-self:start;
    min-width:0;
    width:min(180px,100%);
    margin-top:4px;
    text-align:left;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-arrow{
    grid-column:3;
    grid-row:1/4;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-upcoming-card-v102 .ots-admin-flight-logo{
    grid-row:1/4;
    align-self:start;
  }
}

/* v1.4.103 — Desktop visual hierarchy theme experiment.
   Desktop Admin + Staff only. Add a dark navigation anchor and a slightly
   cooler application canvas while keeping cards neutral and semantic colors intact.
   v1.4.102 remains the clean rollback baseline. */
@media (min-width:761px){
  body:has(.ots-admin-layout){
    background:#f2f4f7!important;
  }
  .ots-admin-layout{
    background:#f2f4f7;
  }
  .ots-admin-layout .ots-admin-content{
    background:#f2f4f7;
  }

  /* Dark navigation anchor — charcoal rather than pure black. */
  .ots-admin-layout .ots-sidebar{
    background:#171b24!important;
    border-right:1px solid #252b36!important;
    box-shadow:6px 0 24px rgba(19,24,33,.045);
  }
  .ots-admin-layout .ots-sidebar-logo{
    border-bottom:1px solid rgba(255,255,255,.055);
    padding-bottom:20px!important;
    margin-bottom:12px!important;
  }
  .ots-admin-layout .ots-sidebar-logo img{
    filter:none;
  }
  .ots-admin-layout .ots-side-nav{
    gap:5px;
  }
  .ots-admin-layout .ots-side-nav>a,
  .ots-admin-layout .ots-nav-toggle{
    color:#aeb8c6!important;
    background:transparent!important;
    border:1px solid transparent;
    transition:background .16s ease,color .16s ease,border-color .16s ease;
  }
  .ots-admin-layout .ots-side-nav>a:hover,
  .ots-admin-layout .ots-nav-toggle:hover{
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
    border-color:rgba(255,255,255,.035);
  }
  .ots-admin-layout .ots-side-nav>a.active,
  .ots-admin-layout .ots-nav-toggle.active{
    color:#fff!important;
    background:rgba(223,38,56,.16)!important;
    border-color:rgba(223,38,56,.16);
    box-shadow:inset 3px 0 0 var(--ots-red);
  }
  .ots-admin-layout .ots-side-nav>a .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle .ots-side-icon{
    color:#8996a7;
  }
  .ots-admin-layout .ots-side-nav>a:hover .ots-side-icon,
  .ots-admin-layout .ots-side-nav>a.active .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle:hover .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle.active .ots-side-icon{
    color:#fff;
  }
  .ots-admin-layout .ots-nav-toggle>i{
    color:#727f91;
  }
  .ots-admin-layout .ots-nav-submenu{
    border-left-color:rgba(255,255,255,.09)!important;
  }
  .ots-admin-layout .ots-nav-submenu a,
  .ots-admin-layout .ots-side-nav .ots-nav-submenu a[href*="destinations"]{
    color:#8f9bad!important;
    background:transparent!important;
  }
  .ots-admin-layout .ots-nav-submenu a:hover{
    color:#eef2f7!important;
    background:rgba(255,255,255,.045)!important;
  }
  .ots-admin-layout .ots-nav-submenu a.active{
    color:#fff!important;
    background:rgba(223,38,56,.13)!important;
  }

  .ots-admin-layout .ots-sidebar-bottom{
    padding-top:14px;
    border-top:1px solid rgba(255,255,255,.055);
  }
  .ots-admin-layout .ots-support{
    background:#1e2430!important;
    border-color:#2a3240!important;
  }
  .ots-admin-layout .ots-support b{
    color:#eef2f7;
  }
  .ots-admin-layout .ots-support span{
    color:#8996a7!important;
  }

  /* Keep the work surface light, but create a visible layer above the canvas. */
  .ots-admin-layout .ots-topbar{
    background:#fbfcfd!important;
    border-bottom-color:#e3e7ec!important;
    box-shadow:0 2px 10px rgba(22,33,50,.025);
  }
  .ots-admin-layout .ots-search input{
    background:#fff!important;
    border-color:#e3e7ec!important;
  }
  .ots-admin-layout .ots-main{
    background:transparent;
  }
  .ots-admin-layout .ots-card,
  .ots-admin-layout .ots-stat,
  .ots-admin-layout .ots-booking-card{
    border-color:#e3e7ec;
  }

  /* Dashboard KPI cards sit directly on the app canvas; no extra surface behind them. */
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-kpis{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-kpi{
    background:#fff!important;
  }
  .ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-card{
    border-color:#e2e6eb!important;
  }
}

/* v1.4.104 — Desktop dark-sidebar navigation polish.
   Neutralise icon treatment on the dark surface and remove the red active rail.
   Admin + Staff desktop only; mobile navigation remains unchanged. */
@media (min-width:761px){
  .ots-admin-layout .ots-side-nav>a .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle .ots-side-icon{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:8px!important;
    background:#222936!important;
    color:#c4ceda!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)!important;
    transition:background .16s ease,color .16s ease,box-shadow .16s ease!important;
  }
  .ots-admin-layout .ots-side-nav>a .ots-side-icon .ots-svg-icon,
  .ots-admin-layout .ots-nav-toggle .ots-side-icon .ots-svg-icon{
    width:17px!important;
    height:17px!important;
  }

  .ots-admin-layout .ots-side-nav>a:hover,
  .ots-admin-layout .ots-nav-toggle:hover{
    color:#f6f8fb!important;
    background:#202733!important;
    border-color:#2c3543!important;
    box-shadow:none!important;
  }
  .ots-admin-layout .ots-side-nav>a:hover .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle:hover .ots-side-icon{
    background:#2b3442!important;
    color:#fff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.055)!important;
  }

  .ots-admin-layout .ots-side-nav>a.active,
  .ots-admin-layout .ots-nav-toggle.active,
  .ots-admin-layout .ots-nav-group.open>.ots-nav-toggle{
    color:#fff!important;
    background:#252d3a!important;
    border-color:#303a49!important;
    box-shadow:none!important;
  }
  .ots-admin-layout .ots-side-nav>a.active .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle.active .ots-side-icon,
  .ots-admin-layout .ots-nav-group.open>.ots-nav-toggle .ots-side-icon{
    background:#343e4d!important;
    color:#fff!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.065)!important;
  }

  .ots-admin-layout .ots-nav-submenu{
    border-left-color:#343c49!important;
  }
  .ots-admin-layout .ots-nav-submenu a:hover{
    color:#f4f7fb!important;
    background:#202733!important;
  }
  .ots-admin-layout .ots-nav-submenu a.active{
    color:#fff!important;
    background:#252d3a!important;
    box-shadow:none!important;
  }
}


/* v1.4.105 — Desktop sidebar red-accent navigation refinement.
   Restore the OHHSEM red as a restrained hover/active accent without bringing
   back the previous left rail. Parent and submenu states share one hierarchy. */
@media (min-width:761px){
  /* Primary navigation — neutral by default, brand accent on interaction. */
  .ots-admin-layout .ots-side-nav>a:hover,
  .ots-admin-layout .ots-nav-toggle:hover{
    color:#fff!important;
    background:rgba(223,38,56,.085)!important;
    border-color:rgba(223,38,56,.13)!important;
    box-shadow:none!important;
  }
  .ots-admin-layout .ots-side-nav>a:hover .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle:hover .ots-side-icon{
    background:rgba(223,38,56,.16)!important;
    color:#ff6b79!important;
    box-shadow:inset 0 0 0 1px rgba(223,38,56,.18)!important;
  }

  .ots-admin-layout .ots-side-nav>a.active,
  .ots-admin-layout .ots-nav-toggle.active,
  .ots-admin-layout .ots-nav-group.open>.ots-nav-toggle{
    color:#fff!important;
    background:rgba(223,38,56,.13)!important;
    border-color:rgba(223,38,56,.20)!important;
    box-shadow:none!important;
  }
  .ots-admin-layout .ots-side-nav>a.active .ots-side-icon,
  .ots-admin-layout .ots-nav-toggle.active .ots-side-icon,
  .ots-admin-layout .ots-nav-group.open>.ots-nav-toggle .ots-side-icon{
    background:var(--ots-red)!important;
    color:#fff!important;
    box-shadow:0 5px 14px rgba(223,38,56,.18),inset 0 0 0 1px rgba(255,255,255,.08)!important;
  }
  .ots-admin-layout .ots-nav-toggle:hover>i,
  .ots-admin-layout .ots-nav-toggle.active>i,
  .ots-admin-layout .ots-nav-group.open>.ots-nav-toggle>i{
    color:#ff6b79!important;
  }

  /* Submenu — quieter than its parent, but uses the same red language. */
  .ots-admin-layout .ots-nav-submenu{
    border-left-color:#343c49!important;
  }
  .ots-admin-layout .ots-nav-submenu a,
  .ots-admin-layout .ots-side-nav .ots-nav-submenu a[href*="destinations"]{
    color:#9ca8b8!important;
    background:transparent!important;
    border:1px solid transparent!important;
  }
  .ots-admin-layout .ots-nav-submenu .ots-sub-icon{
    background:#222936!important;
    color:#9aa7b8!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)!important;
    transition:background .16s ease,color .16s ease,box-shadow .16s ease!important;
  }
  .ots-admin-layout .ots-nav-submenu a:hover{
    color:#fff!important;
    background:rgba(223,38,56,.075)!important;
    border-color:rgba(223,38,56,.09)!important;
  }
  .ots-admin-layout .ots-nav-submenu a:hover .ots-sub-icon{
    background:rgba(223,38,56,.15)!important;
    color:#ff6b79!important;
    box-shadow:inset 0 0 0 1px rgba(223,38,56,.14)!important;
  }
  .ots-admin-layout .ots-nav-submenu a.active{
    color:#fff!important;
    background:rgba(223,38,56,.12)!important;
    border-color:rgba(223,38,56,.16)!important;
    box-shadow:none!important;
  }
  .ots-admin-layout .ots-nav-submenu a.active .ots-sub-icon{
    background:var(--ots-red)!important;
    color:#fff!important;
    box-shadow:0 4px 10px rgba(223,38,56,.14)!important;
  }
}

/* v1.4.106 — Desktop invoice/payment-link logo sizing and alignment.
   Keep mobile branding unchanged while returning desktop document headers to
   the shared 24px content rail with a more balanced logo footprint. */
@media (min-width:761px){
  .ots-public-invoice-page .ots-invoice-header,
  .ots-booking-invoice-page .ots-invoice-header{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  .ots-public-invoice-page .ots-invoice-brand,
  .ots-booking-invoice-page .ots-invoice-brand{
    gap:10px!important;
    min-width:0!important;
    max-width:72%!important;
    align-items:center!important;
  }
  .ots-public-invoice-page .ots-invoice-brand img,
  .ots-booking-invoice-page .ots-invoice-brand img{
    width:164px!important;
    max-width:164px!important;
    height:auto!important;
    max-height:44px!important;
    margin:0!important;
    flex:0 0 auto!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .ots-public-invoice-page .ots-invoice-status{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
}
@media print{
  .ots-public-invoice-page .ots-invoice-header,
  .ots-booking-invoice-page .ots-invoice-header{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  .ots-public-invoice-page .ots-invoice-brand img,
  .ots-booking-invoice-page .ots-invoice-brand img{
    width:164px!important;
    max-width:164px!important;
    height:auto!important;
    max-height:44px!important;
    margin:0!important;
  }
}

/* v1.4.107 — Standardized Booking Details for Admin + Staff.
   Both roles share the same information hierarchy; permissions only affect actions. */
@media(max-width:760px){
  /* Staff now reuses the Admin Booking Details component. Hide the redundant shell title
     so both roles enter the same app-style booking screen. */
  .ots-page-bookings.ots-staff-app:has(.ots-standard-booking-mobile-scope) .ots-breadcrumb,
  .ots-page-bookings.ots-staff-app:has(.ots-standard-booking-mobile-scope) .ots-title-row{
    display:none!important;
  }
  .ots-standard-booking-mobile-scope{
    width:100%!important;
    min-width:0!important;
  }

  /* Shared right-column action order on the mobile card flow. */
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-payment-history{
    order:40!important;
  }
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-payment-link-card{
    order:45!important;
    margin-top:0!important;
  }
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-add-payment{
    order:50!important;
    margin-top:0!important;
  }
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-admin-control{
    order:60!important;
    margin-top:0!important;
  }
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-admin-control .ots-card-head{
    margin-bottom:11px!important;
  }
}

/* v1.4.108 — Booking payment flow polish + shared passenger editor */
.ots-booking-manual-payment{
  padding:0!important;
  overflow:hidden;
}
.ots-booking-manual-payment>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  cursor:pointer;
  user-select:none;
  background:#fff;
}
.ots-booking-manual-payment>summary::-webkit-details-marker{display:none}
.ots-booking-manual-payment>summary span{min-width:0}
.ots-booking-manual-payment>summary strong{
  display:block;
  color:var(--ots-navy);
  font-size:13px;
  line-height:1.35;
}
.ots-booking-manual-payment>summary small{
  display:block;
  margin-top:3px;
  color:var(--ots-muted);
  font-size:10.5px;
  line-height:1.4;
}
.ots-manual-payment-toggle-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  position:relative;
  display:block;
  border:1px solid var(--ots-line);
  border-radius:9px;
  background:#fafbfc;
  color:#657184;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.ots-manual-payment-toggle-icon::before,
.ots-manual-payment-toggle-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:1.5px;
  border-radius:2px;
  background:currentColor;
  transform:translate(-50%,-50%);
  transition:opacity .16s ease,transform .16s ease;
}
.ots-manual-payment-toggle-icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.ots-booking-manual-payment[open]>summary{
  border-bottom:1px solid #eef0f3;
  background:#fcfcfd;
}
.ots-booking-manual-payment[open] .ots-manual-payment-toggle-icon{
  background:#f5f6f8;
  color:#39465a;
  border-color:#dfe3e8;
}
.ots-booking-manual-payment[open] .ots-manual-payment-toggle-icon::after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(90deg) scale(.4);
}
.ots-booking-manual-payment-form{padding:16px}
.ots-booking-manual-payment-form textarea{resize:vertical}
.ots-booking-payment-history .ots-payment-note{
  white-space:normal;
  color:#596579;
  font-weight:600;
}
@media(max-width:760px){
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-payment-link-card{order:40!important}
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-payment-history{order:50!important}
  .ots-page-bookings .ots-standard-booking-detail .ots-booking-add-payment{order:60!important}
  .ots-booking-manual-payment>summary{padding:14px}
  .ots-booking-manual-payment-form{padding:14px}
  .ots-booking-manual-payment-form .ots-field-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* v1.4.112 — Dashboard recent-booking clarity + mobile header grid alignment.
   Desktop Recent Bookings uses a calm, table-like list while preserving the
   compact app-card treatment on mobile. Admin/Staff mobile branding follows
   the same horizontal content rail as each role's page content. */
@media (min-width:761px){
  .ots-admin-dashboard-v164 .ots-admin-recent-card{
    padding:18px 20px 16px!important;
  }
  .ots-admin-dashboard-v164 .ots-admin-recent-card .ots-admin-card-head{
    margin-bottom:14px!important;
  }
  .ots-admin-recent-list-v112{
    display:grid!important;
    gap:0!important;
    border:1px solid #e9edf2!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#fff!important;
  }
  .ots-admin-recent-table-head{
    display:grid;
    grid-template-columns:minmax(120px,.72fr) minmax(155px,1fr) minmax(160px,1.05fr) minmax(145px,.76fr) minmax(105px,.62fr) 18px;
    gap:14px;
    align-items:center;
    padding:9px 13px;
    background:#f8f9fb;
    border-bottom:1px solid #e9edf2;
    color:#8a95a5;
    font-size:9.5px;
    font-weight:800;
    letter-spacing:.055em;
    text-transform:uppercase;
  }
  .ots-admin-recent-row-v112{
    grid-template-columns:minmax(120px,.72fr) minmax(155px,1fr) minmax(160px,1.05fr) minmax(145px,.76fr) minmax(105px,.62fr) 18px!important;
    gap:14px!important;
    min-height:61px;
    padding:10px 13px!important;
    border-bottom:1px solid #eef1f4!important;
    background:#fff;
    transition:background-color .16s ease,box-shadow .16s ease;
  }
  .ots-admin-recent-row-v112:first-of-type{padding-top:10px!important}
  .ots-admin-recent-row-v112:last-child{border-bottom:0!important;padding-bottom:10px!important}
  .ots-admin-recent-row-v112:hover{
    background:#fbfbfc;
    box-shadow:inset 3px 0 0 rgba(223,38,56,.62);
  }
  .ots-admin-recent-row-v112:hover .ots-admin-recent-id strong{color:var(--ots-red)!important}
  .ots-admin-recent-id,
  .ots-admin-recent-customer,
  .ots-admin-recent-package,
  .ots-admin-recent-amount{min-width:0}
  .ots-admin-recent-row-v112 .ots-admin-recent-id strong,
  .ots-admin-recent-row-v112 .ots-admin-recent-customer strong,
  .ots-admin-recent-row-v112 .ots-admin-recent-package strong,
  .ots-admin-recent-row-v112 .ots-admin-recent-amount strong{
    display:block;
    color:#2f3a4a;
    font-size:12px;
    line-height:1.32;
    font-weight:760;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ots-admin-recent-row-v112 .ots-admin-recent-id small,
  .ots-admin-recent-row-v112 .ots-admin-recent-customer small,
  .ots-admin-recent-row-v112 .ots-admin-recent-package small,
  .ots-admin-recent-row-v112 .ots-admin-recent-amount small{
    display:block;
    margin-top:3px;
    color:#929cab;
    font-size:10px;
    line-height:1.32;
    font-weight:560;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ots-admin-recent-row-v112 .ots-admin-recent-amount strong{font-variant-numeric:tabular-nums}
  .ots-admin-recent-row-v112>.ots-status{justify-self:start;white-space:nowrap}
  .ots-admin-recent-row-v112>b{justify-self:end;color:#a7afba}
}
@media (min-width:761px) and (max-width:1180px){
  .ots-admin-recent-table-head,
  .ots-admin-recent-row-v112{
    grid-template-columns:minmax(105px,.7fr) minmax(135px,.95fr) minmax(140px,.95fr) minmax(125px,.72fr) minmax(100px,.6fr) 16px!important;
    gap:10px!important;
  }
}
@media (max-width:760px){
  .ots-admin-recent-table-head{display:none!important}
  .ots-admin-recent-row-v112 .ots-admin-recent-package{display:none!important}

  /* Admin content rail is 10px in the final mobile app layout. */
  .ots-admin-layout:not(.ots-staff-app) .ots-mobile-appbar{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .ots-admin-layout:not(.ots-staff-app) .ots-mobile-brand img{
    width:122px!important;
    max-width:48vw!important;
    max-height:34px!important;
  }

  /* Staff app content uses a 13px rail. Keep the brand on that exact line. */
  .ots-staff-app .ots-mobile-appbar{
    padding-left:13px!important;
    padding-right:13px!important;
  }
  .ots-staff-app .ots-mobile-brand img{
    width:122px!important;
    max-width:48vw!important;
    max-height:34px!important;
  }
}

/* v1.4.113 — Shell polish: version footer, neutral summaries and mobile navigation parity. */
.ots-sidebar-version{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 4px 2px;
  color:#7f8b9d;
  font-size:10px;
  line-height:1.2;
}
.ots-sidebar-version span{font-weight:650;white-space:nowrap}
.ots-sidebar-version strong{
  color:#a8b3c2;
  font-size:10px;
  font-weight:800;
  letter-spacing:.025em;
  white-space:nowrap;
}
@media(min-width:761px){
  .ots-admin-layout .ots-sidebar-bottom{
    padding-top:12px!important;
    border-top:1px solid rgba(255,255,255,.055)!important;
  }
}

/* KPI cards sit directly on the dashboard canvas without an extra wrapper surface. */
.ots-page-dashboard:not(.ots-staff-app) .ots-admin-dashboard-desktop-clean .ots-admin-dashboard-kpis{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

@media(max-width:760px){
  /* Booking Details summary is intentionally neutral for both Admin and Staff. */
  .ots-page-bookings .ots-standard-booking-mobile-scope .ots-admin-booking-mobile-hero,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-mobile-hero{
    background:#fff!important;
  }

  /* Mobile drawer footer uses the same understated version treatment. */
  .ots-sidebar-version{
    padding:11px 2px 3px!important;
    color:#8995a6!important;
  }
  .ots-sidebar-version strong{color:#aab4c1!important}

  /* Admin bottom navigation follows the Staff app bar: flush, square outer rail. */
  .ots-admin-layout:not(.ots-staff-app) .ots-mobile-bottom-nav{
    border-radius:0!important;
  }

  /* Staff profile tab uses the WordPress account avatar rather than a generic icon. */
  .ots-mobile-nav-profile{
    width:22px!important;
    height:22px!important;
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
    border-radius:50%!important;
    background:#eef1f4!important;
    box-shadow:0 0 0 1px #e1e6ec!important;
  }
  .ots-mobile-nav-profile img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .ots-staff-app-tabs a.active .ots-mobile-nav-profile,
  .ots-staff-mobile-nav a.active .ots-mobile-nav-profile{
    box-shadow:0 0 0 2px #fff,0 0 0 3px var(--ots-red)!important;
  }
}

/* v1.4.114 — Mobile navigation rhythm + Bookings filter/action polish. */
@media(max-width:760px){
  /* Keep every Admin/Staff bottom-tab icon and label on the same vertical rhythm. */
  .ots-mobile-bottom-nav>a,
  .ots-mobile-bottom-nav>button{
    display:grid!important;
    grid-template-rows:26px 14px!important;
    align-content:center!important;
    justify-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-height:52px!important;
    padding:4px 3px!important;
    line-height:1!important;
  }
  .ots-mobile-bottom-nav>a>span,
  .ots-mobile-bottom-nav>button>span{
    width:26px!important;
    height:26px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    line-height:1!important;
  }
  .ots-mobile-bottom-nav>a>span>.ots-svg-icon,
  .ots-mobile-bottom-nav>button>span>.ots-svg-icon{
    width:21px!important;
    height:21px!important;
    display:block!important;
  }
  .ots-mobile-bottom-nav>a>small,
  .ots-mobile-bottom-nav>button>small{
    height:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    font-size:9.5px!important;
    line-height:14px!important;
  }
  .ots-mobile-bottom-nav .ots-mobile-nav-profile{
    width:23px!important;
    height:23px!important;
    align-self:center!important;
  }

  /* Bookings: add breathing room between the search/filter controls and first card. */
  .ots-page-bookings .ots-shared-booking-mobile-list{
    margin-top:9px!important;
  }

  /* Staff uses the exact same filter glyph language as Admin. */
  .ots-staff-filter-toggle .ots-svg-icon{
    width:16px!important;
    height:16px!important;
    stroke-width:1.8!important;
  }

  /* Reset is always aligned; it becomes a clear destructive/accent action only when useful. */
  .ots-page-bookings .ots-filter-reset{
    display:inline-flex;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 14px!important;
    border-radius:11px!important;
    border:1px solid #e1e5ea!important;
    background:#fff!important;
    color:#687587!important;
    line-height:1!important;
    box-shadow:none!important;
  }
  .ots-page-bookings .ots-filter-reset.is-active{
    border-color:var(--ots-red)!important;
    background:var(--ots-red)!important;
    color:#fff!important;
  }
  .ots-page-bookings .ots-filter-reset.is-active:hover,
  .ots-page-bookings .ots-filter-reset.is-active:active{
    border-color:var(--ots-red-dark)!important;
    background:var(--ots-red-dark)!important;
    color:#fff!important;
  }
  .ots-staff-booking-filters.filters-open .ots-filter-reset,
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-mobile-filter-options>.ots-filter-reset{
    grid-column:1/-1!important;
    justify-self:stretch!important;
    align-self:stretch!important;
  }
}


/* v1.4.115 — Equal mobile tab rails + unified booking filter-count treatment. */
@media(max-width:760px){
  /* Four bottom tabs share exactly the same horizontal rail on Admin and Staff. */
  .ots-mobile-bottom-nav,
  .ots-staff-mobile-nav{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    column-gap:0!important;
    padding-left:6px!important;
    padding-right:6px!important;
    box-sizing:border-box!important;
  }
  .ots-mobile-bottom-nav>a,
  .ots-mobile-bottom-nav>button,
  .ots-staff-mobile-nav>a,
  .ots-staff-mobile-nav>button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    justify-self:stretch!important;
    margin:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }

  /* Keep a visible but calm gap between filters/search and the first booking card. */
  .ots-page-bookings .ots-shared-booking-mobile-list{
    margin-top:25px!important;
  }

  /* Admin + Staff active filter count uses the same strong semantic badge. */
  .ots-admin-mobile-filter-toggle em,
  .ots-staff-filter-toggle em{
    min-width:18px!important;
    height:18px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    background:var(--ots-red)!important;
    color:#fff!important;
    display:none;
    place-items:center;
    font-style:normal!important;
    font-size:9px!important;
    font-weight:900!important;
    line-height:18px!important;
    box-shadow:none!important;
  }
  .ots-admin-mobile-filter-toggle.has-filters em,
  .ots-staff-filter-toggle.has-filters em{
    display:grid!important;
  }
  .ots-staff-filter-toggle .ots-admin-filter-icon{
    width:16px!important;
    height:16px!important;
    display:grid!important;
    place-items:center!important;
  }
  .ots-staff-filter-toggle .ots-admin-filter-icon svg{
    width:16px!important;
    height:16px!important;
    display:block!important;
    stroke:currentColor!important;
    fill:none!important;
    stroke-width:1.8!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .ots-staff-filter-toggle.has-filters{
    background:#fff7f8!important;
    border-color:#f2cbd1!important;
    color:var(--ots-red)!important;
  }
}


/* v1.4.130 — Visually de-emphasize completed/inactive flights in Admin Flights listing. */
.ots-page-flights .ots-flight-list-table tbody tr.ots-flight-row-inactive{opacity:.62;transition:opacity .16s ease}
.ots-page-flights .ots-flight-list-table tbody tr.ots-flight-row-inactive:hover{opacity:.88}

/* v1.4.131 — Customer payment link checkout revamp */
.ots-checkout-page{
  min-height:100vh;background:#f3f5f7;padding:28px 18px 40px;display:flex;align-items:center;justify-content:center;
  color:#1f2c3d;
}
.ots-checkout-shell{
  width:min(960px,100%);background:#fff;border:1px solid #e4e8ed;border-radius:22px;overflow:hidden;
  box-shadow:0 22px 60px rgba(26,38,55,.09);
}
.ots-checkout-header{min-height:74px;padding:15px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #edf0f3}
.ots-checkout-brand{display:flex;align-items:center;min-width:0;text-decoration:none}
.ots-checkout-brand img{display:block;width:auto;max-width:230px;max-height:46px;object-fit:contain;object-position:left center}
.ots-checkout-secure{display:inline-flex;align-items:center;gap:7px;color:#667386;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.ots-checkout-secure span{width:7px;height:7px;border-radius:50%;background:#27a56f;color:transparent;box-shadow:0 0 0 4px rgba(39,165,111,.11)}
.ots-checkout-content{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(320px,.87fr);align-items:stretch}
.ots-checkout-booking{padding:32px 32px 28px;min-width:0}
.ots-checkout-eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.ots-checkout-eyebrow-row>span:first-child{font-size:10px;font-weight:850;letter-spacing:.065em;text-transform:uppercase;color:#85909f}
.ots-checkout-status{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:9.5px;font-weight:850;white-space:nowrap;background:#fff5df;color:#a46a08}
.ots-checkout-status.paid{background:#e9f8f0;color:#158050}.ots-checkout-status.expired{background:#fff0f1;color:#c42c3c}.ots-checkout-status.cancelled{background:#f0f2f5;color:#657184}
.ots-checkout-booking h1{margin:0;color:#1e2b3d;font-size:28px;line-height:1.14;letter-spacing:-.025em;max-width:560px}
.ots-checkout-intro{margin:9px 0 0;color:#768294;font-size:12.5px;line-height:1.55;max-width:560px}
.ots-checkout-customer{margin-top:17px;padding:13px 0 1px;border-top:1px solid #edf0f3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) minmax(0,1.35fr);gap:10px 18px}
.ots-checkout-customer>div{min-width:0}.ots-checkout-customer span{display:block;color:#929ba8;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}.ots-checkout-customer strong{display:block;color:#405066;font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-checkout-trip-card{margin-top:19px;border:1px solid #e6eaf0;border-radius:15px;background:#fbfcfd;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}
.ots-checkout-flight-leg{padding:16px 17px;min-width:0}.ots-checkout-flight-leg.return{border-left:1px solid #e7ebef}
.ots-checkout-flight-leg>span{display:block;color:#929ba8;font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;margin-bottom:5px}
.ots-checkout-flight-leg>strong{display:block;color:#263448;font-size:13px;line-height:1.35;white-space:normal}
.ots-checkout-flight-leg>small{display:block;color:#6f7d8f;font-size:10.5px;line-height:1.4;margin-top:5px}.ots-checkout-flight-leg>i{display:block;color:#99a2ae;font-size:9.5px;line-height:1.35;margin-top:3px;font-style:normal}
.ots-checkout-traveller-strip{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 17px;border-top:1px solid #e7ebef;background:#fff}
.ots-checkout-traveller-strip span{color:#929ba8;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.ots-checkout-traveller-strip strong{color:#405066;font-size:10.5px;text-align:right}
.ots-checkout-alert{margin-top:15px;padding:11px 12px;border:1px solid #dfe6ef;border-radius:11px;background:#f7faff;display:grid;gap:2px}
.ots-checkout-alert strong{font-size:11px;color:#34516f}.ots-checkout-alert span{font-size:10.5px;line-height:1.45;color:#6e7e91}
.ots-checkout-alert.success{background:#f1faf5;border-color:#d7eee1}.ots-checkout-alert.success strong{color:#197651}
.ots-checkout-alert.danger{background:#fff5f5;border-color:#f0d7d9}.ots-checkout-alert.danger strong{color:#b92c3d}
.ots-checkout-alert.warning{background:#f7f8fa;border-color:#e3e6ea}.ots-checkout-alert.warning strong{color:#536174}
.ots-checkout-help{margin-top:22px;padding-top:16px;border-top:1px solid #edf0f3;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.ots-checkout-help div{min-width:0}.ots-checkout-help div>span{display:block;color:#929ba7;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ots-checkout-help div>strong{display:block;margin-top:3px;color:#405066;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ots-checkout-help>a,.ots-checkout-help>span{font-size:11px;font-weight:800;text-decoration:none;color:#d5253a;white-space:nowrap}
.ots-checkout-payment-card{margin:20px 20px 20px 0;padding:27px 25px 24px;border:1px solid #e3e7ec;border-radius:18px;background:#fbfcfd;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}
.ots-checkout-payment-type{align-self:flex-start;display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:#fff0f2;color:#c9283b;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;margin-bottom:17px}
.ots-checkout-amount-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:#8994a3}
.ots-checkout-amount{display:block;margin-top:5px;color:#1f2d40;font-size:39px;line-height:1.05;letter-spacing:-.035em}
.ots-checkout-money-summary{margin-top:20px;border-top:1px solid #e5e9ee;border-bottom:1px solid #e5e9ee;padding:8px 0}
.ots-checkout-money-summary>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:7px 1px;color:#738092}
.ots-checkout-money-summary span{font-size:10.5px}.ots-checkout-money-summary strong{font-size:11px;color:#354357;text-align:right}
.ots-checkout-money-summary .emphasis span,.ots-checkout-money-summary .emphasis strong{font-weight:850;color:#253347}
.ots-checkout-primary-action{margin-top:18px}.ots-checkout-primary-action form{margin:0}
.ots-checkout-pay-button{width:100%;min-height:50px!important;border-radius:11px!important;font-size:13px!important;font-weight:850!important;box-shadow:0 9px 22px rgba(217,37,58,.18)}
.ots-checkout-expiry{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ots-checkout-expiry span{font-size:9.5px;color:#929ba7}.ots-checkout-expiry strong{font-size:9.8px;color:#5f6d80;text-align:right}
.ots-checkout-gateway-note{margin-top:13px;padding-top:12px;border-top:1px solid #e9edf1;display:flex;align-items:flex-start;gap:7px;color:#7d8998;font-size:9.8px;line-height:1.4}
.ots-checkout-lock{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#e8f7ef;color:#168153;font-size:10px;font-weight:900}
.ots-checkout-paid-result{margin-top:20px;display:flex;align-items:center;gap:11px;padding:13px;border:1px solid #d9eee3;border-radius:12px;background:#f2faf6}
.ots-checkout-paid-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#1a925e;color:#fff;font-size:16px;font-weight:900}
.ots-checkout-paid-result div{display:grid;gap:2px}.ots-checkout-paid-result strong{font-size:11.5px;color:#1e674b}.ots-checkout-paid-result small{font-size:9.8px;color:#6e8a7c}
.ots-checkout-reference{margin-top:10px;padding:10px 1px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ots-checkout-reference span{font-size:9.5px;color:#919aa7}.ots-checkout-reference strong{font-size:9.8px;color:#4f5d70;text-align:right;word-break:break-all}
.ots-checkout-receipt-button{margin-top:8px;width:100%;min-height:42px;border:1px solid #dce1e7;border-radius:10px;background:#fff;color:#48566a;font-size:10.5px;font-weight:800;cursor:pointer}
.ots-checkout-receipt-button:hover{border-color:#c9d0d8;background:#f8fafc}
.ots-checkout-unavailable{margin-top:20px;padding:14px;border-radius:12px;background:#f3f5f7;border:1px solid #e3e7ec;display:grid;gap:3px}.ots-checkout-unavailable strong{font-size:11.5px;color:#4b596c}.ots-checkout-unavailable span{font-size:10.5px;line-height:1.45;color:#7d8795}
.ots-checkout-footer{min-height:47px;padding:11px 28px;border-top:1px solid #edf0f3;background:#fcfcfd;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#9aa3ae;font-size:9.5px}
.ots-checkout-state-card{width:min(460px,100%);background:#fff;border:1px solid #e4e8ed;border-radius:18px;padding:28px;box-shadow:0 18px 48px rgba(26,38,55,.08)}
.ots-checkout-state-card h1{margin:0 0 7px;color:#233146;font-size:23px}.ots-checkout-state-card p{margin:0;color:#748092;font-size:12px;line-height:1.55}
.ots-checkout-mobile-paybar{display:none}

@media(max-width:760px){
  .ots-checkout-page{display:block;padding:0 0 92px;background:#fff}
  .ots-checkout-shell{width:100%;border:0;border-radius:0;box-shadow:none;overflow:visible}
  .ots-checkout-header{min-height:64px;padding:11px 18px;border-bottom:1px solid #eef1f4}
  .ots-checkout-brand img{max-width:168px;max-height:38px}
  .ots-checkout-secure{font-size:9.5px;gap:6px}.ots-checkout-secure span{width:6px;height:6px;box-shadow:0 0 0 3px rgba(39,165,111,.10)}
  .ots-checkout-content{display:flex;flex-direction:column}
  .ots-checkout-booking{padding:22px 18px 16px}
  .ots-checkout-eyebrow-row{margin-bottom:8px}.ots-checkout-eyebrow-row>span:first-child{font-size:9px}.ots-checkout-status{font-size:8.5px;min-height:23px;padding:0 8px}
  .ots-checkout-booking h1{font-size:23px;line-height:1.16}
  .ots-checkout-intro{font-size:11.5px;margin-top:7px}
  .ots-checkout-customer{margin-top:14px;padding-top:11px;grid-template-columns:1fr 1fr;gap:8px 14px}.ots-checkout-customer>div.wide{grid-column:1/-1}.ots-checkout-customer span{font-size:8.4px}.ots-checkout-customer strong{font-size:10.2px}
  .ots-checkout-trip-card{margin-top:16px;grid-template-columns:1fr 1fr;border-radius:13px}
  .ots-checkout-flight-leg{padding:13px 12px}.ots-checkout-flight-leg.return{border-left:1px solid #e7ebef}
  .ots-checkout-flight-leg>span{font-size:8.4px}.ots-checkout-flight-leg>strong{font-size:11px}.ots-checkout-flight-leg>small{font-size:9px}.ots-checkout-flight-leg>i{font-size:8.5px}
  .ots-checkout-traveller-strip{padding:9px 12px;gap:10px}.ots-checkout-traveller-strip span{font-size:8.4px}.ots-checkout-traveller-strip strong{font-size:9.6px}
  .ots-checkout-alert{margin-top:12px;padding:10px 11px}.ots-checkout-alert strong{font-size:10.5px}.ots-checkout-alert span{font-size:9.8px}
  .ots-checkout-help{margin-top:16px;padding-top:13px;align-items:center}.ots-checkout-help div>strong{font-size:10.8px}.ots-checkout-help>a,.ots-checkout-help>span{font-size:10.5px}
  .ots-checkout-payment-card{margin:0 18px 18px;padding:21px 18px 19px;border-radius:15px;display:block}
  .ots-checkout-payment-type{margin-bottom:14px;font-size:8.5px;min-height:23px}
  .ots-checkout-amount-label{font-size:9px}.ots-checkout-amount{font-size:35px;margin-top:4px}
  .ots-checkout-money-summary{margin-top:17px}.ots-checkout-money-summary>div{padding:6px 0}.ots-checkout-money-summary span{font-size:10px}.ots-checkout-money-summary strong{font-size:10.5px}
  .ots-checkout-primary-action{margin-top:16px}.ots-checkout-pay-button{min-height:48px!important}
  .ots-checkout-expiry{margin-top:10px}.ots-checkout-expiry span,.ots-checkout-expiry strong{font-size:9px}
  .ots-checkout-gateway-note{font-size:9.2px;margin-top:11px;padding-top:10px}
  .ots-checkout-footer{padding:10px 18px 17px;min-height:42px;font-size:8.8px}
  .ots-checkout-state-card{margin:28px 16px;width:auto;padding:22px;border-radius:15px}
  .ots-checkout-mobile-paybar{position:fixed;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #e1e6eb;box-shadow:0 -8px 25px rgba(24,36,52,.10);backdrop-filter:blur(12px)}
  .ots-checkout-mobile-paybar>div{display:grid;gap:1px;min-width:0}.ots-checkout-mobile-paybar>div span{font-size:8.5px;color:#8a94a2;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.ots-checkout-mobile-paybar>div strong{font-size:16px;color:#253347;white-space:nowrap}
  .ots-checkout-mobile-paybar>a,.ots-checkout-mobile-paybar form{flex:0 0 auto;margin:0}.ots-checkout-mobile-paybar .ots-btn{min-height:42px;padding:0 18px;border-radius:10px;font-size:11px;white-space:nowrap}
}

@media(max-width:380px){
  .ots-checkout-header{padding-left:14px;padding-right:14px}.ots-checkout-brand img{max-width:145px}.ots-checkout-secure{font-size:8.8px}
  .ots-checkout-booking{padding-left:14px;padding-right:14px}.ots-checkout-payment-card{margin-left:14px;margin-right:14px}.ots-checkout-footer{padding-left:14px;padding-right:14px}
}

@media print{
  .ots-checkout-page{background:#fff!important;padding:0!important;display:block!important;min-height:0!important}
  .ots-checkout-shell{width:100%!important;max-width:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .ots-checkout-mobile-paybar,.ots-checkout-primary-action,.ots-checkout-receipt-button{display:none!important}
  .ots-checkout-content{grid-template-columns:1fr 360px!important}
}
@media(max-width:760px){.ots-checkout-mobile-paybar>a,.ots-checkout-mobile-paybar>button,.ots-checkout-mobile-paybar form{flex:0 0 auto;margin:0}}

/* v1.4.140 — Staff Details performance workspace */
.ots-staff-detail-v140{display:flex;flex-direction:column;gap:16px}
.ots-staff-detail-actions-v140{margin-bottom:0!important}
.ots-staff-profile-v140{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:24px;align-items:center;padding:23px 24px!important;background:linear-gradient(135deg,#fff 0%,#fff 62%,#fff7f8 100%);border-color:#e7eaf0!important}
.ots-staff-profile-v140:after{content:"";position:absolute;right:-72px;top:-104px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,rgba(223,38,56,.085),rgba(223,38,56,0) 68%);pointer-events:none}
.ots-staff-profile-identity-v140{position:relative;z-index:1;display:flex;align-items:center;gap:16px;min-width:0}
.ots-staff-profile-avatar-v140{width:62px!important;height:62px!important;flex:0 0 62px!important;border-radius:18px!important;background:linear-gradient(145deg,#28354b,#152036)!important;color:#fff!important;font-size:17px!important;box-shadow:0 8px 20px rgba(24,34,52,.15)}
.ots-staff-profile-name-row-v140{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ots-staff-profile-name-row-v140 h2{margin:0;color:var(--ots-navy);font-size:21px;line-height:1.2;letter-spacing:-.02em}.ots-staff-role-pill-v140{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;background:#fff0f2;color:#c62638;font-size:9.5px;font-weight:850;letter-spacing:.025em;text-transform:uppercase}
.ots-staff-profile-identity-v140 p{margin:6px 0 0;color:#7d8795;font-size:11.5px;line-height:1.45}
.ots-staff-profile-contact-v140{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:10px}.ots-staff-profile-contact-v140>span{display:flex;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid #edf0f3;border-radius:12px;background:rgba(255,255,255,.84)}.ots-staff-profile-contact-v140 .ots-svg-icon{width:18px;height:18px;flex:0 0 18px;color:#a0a9b6}.ots-staff-profile-contact-v140 div{min-width:0}.ots-staff-profile-contact-v140 small{display:block;margin-bottom:2px;color:#99a2af;font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}.ots-staff-profile-contact-v140 strong{display:block;overflow:hidden;color:#3a4658;font-size:11.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.ots-staff-performance-v140{display:flex;flex-direction:column;gap:12px}.ots-staff-performance-head-v140{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.ots-staff-performance-head-v140 h2{margin:3px 0 3px;color:var(--ots-navy);font-size:18px;letter-spacing:-.01em}.ots-staff-performance-head-v140 p{margin:0;color:#8791a0;font-size:10.5px}
.ots-staff-period-tabs-v140{display:flex;gap:4px;padding:4px;border:1px solid #e7eaf0;border-radius:12px;background:#f6f7f9}.ots-staff-period-tabs-v140 a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 11px;border-radius:8px;color:#737e8d!important;font-size:10.5px;font-weight:750;text-decoration:none!important;white-space:nowrap;transition:.18s ease}.ots-staff-period-tabs-v140 a:hover{color:#2e394b!important;background:#fff}.ots-staff-period-tabs-v140 a.active{background:#fff;color:var(--ots-red)!important;box-shadow:0 2px 8px rgba(24,36,52,.08)}
.ots-staff-kpis-v140{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.ots-staff-kpis-v140 article{position:relative;display:flex;align-items:flex-start;gap:12px;min-width:0;padding:17px 16px;border:1px solid #e8ebef;border-radius:15px;background:#fff;box-shadow:0 3px 12px rgba(27,39,57,.025)}.ots-kpi-icon-v140{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#f7f8fa;color:#697587}.ots-kpi-icon-v140 .ots-svg-icon{width:17px;height:17px}.ots-staff-kpis-v140 article:first-child .ots-kpi-icon-v140{background:#fff0f2;color:var(--ots-red)}.ots-staff-kpis-v140 article>div{min-width:0}.ots-staff-kpis-v140 span{display:block;color:#8993a1;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.ots-staff-kpis-v140 strong{display:block;margin-top:5px;color:#243146;font-size:22px;line-height:1.1;letter-spacing:-.035em;white-space:nowrap}.ots-staff-kpis-v140 small{display:block;margin-top:5px;color:#8d96a3;font-size:9.5px;line-height:1.25}
.ots-staff-active-bookings-v140{padding:0!important;overflow:hidden}.ots-staff-active-head-v140{padding:18px 20px 15px!important;margin:0!important;border-bottom:1px solid #eef1f4}.ots-staff-active-head-v140 h2{margin:3px 0 2px!important}.ots-staff-active-head-v140 p{margin:0!important}.ots-staff-active-count-v140{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;background:#f4f6f8;color:#6d7888;font-size:10px;font-weight:800;white-space:nowrap}.ots-staff-active-bookings-v140 [data-staff-booking-results]{padding:0 20px 18px}
.ots-staff-booking-mobile{display:none}
.ots-staff-report-bookings-v140{margin-top:0}.ots-staff-report-bookings-v140 th{padding-top:12px!important;padding-bottom:10px!important;font-size:9.5px!important}.ots-staff-report-bookings-v140 td{padding-top:13px!important;padding-bottom:13px!important}.ots-staff-report-bookings-v140 td>strong{font-size:12px}.ots-staff-report-bookings-v140 td>small{margin-top:3px;font-size:9.5px}.ots-staff-report-bookings-v140 th:nth-child(4),.ots-staff-report-bookings-v140 td:nth-child(4){width:68px;text-align:center}.ots-staff-report-bookings-v140 th:last-child,.ots-staff-report-bookings-v140 td:last-child{width:40px;text-align:right}
.ots-staff-payment-cell{min-width:160px}.ots-staff-payment-cell>strong{display:block;color:#344054;font-size:11px}.ots-staff-payment-cell>strong span{color:#9aa3af;font-size:9.5px;font-weight:650}.ots-staff-payment-cell>small{display:block;margin-top:4px;color:#8c96a4;font-size:9px}.ots-staff-payment-progress{height:4px;margin-top:6px;overflow:hidden;border-radius:999px;background:#edf0f3}.ots-staff-payment-progress>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ed5d6d,#df2638)}
.ots-staff-booking-open{display:grid;width:30px;height:30px;margin-left:auto;place-items:center;border:1px solid #e6e9ee;border-radius:9px;background:#fff;color:#7f8998!important;text-decoration:none!important;transition:.18s ease}.ots-staff-booking-open:hover{border-color:#e8a2aa;background:#fff7f8;color:var(--ots-red)!important}.ots-staff-booking-open .ots-svg-icon{width:15px;height:15px}
.ots-staff-active-empty{margin:18px 0!important}
.ots-staff-detail-v140 .ots-staff-booking-pagination{padding-top:13px;border-top:1px solid #eef1f4}

@media(max-width:1120px){
  .ots-staff-profile-v140{grid-template-columns:1fr;gap:15px}.ots-staff-profile-contact-v140{grid-template-columns:1fr 1.3fr}.ots-staff-kpis-v140{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .ots-staff-detail-v140{gap:12px;margin:0 -2px}
  .ots-staff-detail-actions-v140{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}.ots-staff-detail-actions-v140 .ots-btn{width:100%;min-width:0!important;min-height:42px!important;border-radius:12px!important;font-size:11px!important}
  .ots-staff-profile-v140{display:block;padding:17px 15px!important;border-radius:18px!important;background:linear-gradient(155deg,#fff 0%,#fff 70%,#fff4f5 100%)}.ots-staff-profile-v140:after{right:-92px;top:-108px}
  .ots-staff-profile-identity-v140{align-items:flex-start;gap:12px}.ots-staff-profile-avatar-v140{width:54px!important;height:54px!important;flex-basis:54px!important;border-radius:16px!important;font-size:14px!important}.ots-staff-profile-name-row-v140{display:block}.ots-staff-profile-name-row-v140 h2{font-size:18px}.ots-staff-role-pill-v140{margin-top:5px;min-height:22px;font-size:8px}.ots-staff-profile-identity-v140 p{font-size:9.7px;line-height:1.5}
  .ots-staff-profile-contact-v140{grid-template-columns:1fr;margin-top:14px;gap:7px}.ots-staff-profile-contact-v140>span{padding:9px 10px;border-radius:11px;background:rgba(250,251,252,.9)}.ots-staff-profile-contact-v140 .ots-svg-icon{width:16px;height:16px;flex-basis:16px}.ots-staff-profile-contact-v140 small{font-size:7.5px}.ots-staff-profile-contact-v140 strong{font-size:10.5px}
  .ots-staff-performance-head-v140{display:block}.ots-staff-performance-head-v140>div{padding:0 2px}.ots-staff-performance-head-v140 h2{font-size:16px}.ots-staff-performance-head-v140 p{font-size:9.5px}
  .ots-staff-period-tabs-v140{margin-top:10px;overflow-x:auto;justify-content:flex-start;padding:3px;border-radius:11px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ots-staff-period-tabs-v140::-webkit-scrollbar{display:none}.ots-staff-period-tabs-v140 a{min-height:31px;padding:0 12px;font-size:9.5px;flex:0 0 auto}
  .ots-staff-kpis-v140{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ots-staff-kpis-v140 article{display:block;min-height:118px;padding:13px;border-radius:14px}.ots-kpi-icon-v140{width:30px;height:30px;border-radius:9px}.ots-kpi-icon-v140 .ots-svg-icon{width:15px;height:15px}.ots-staff-kpis-v140 article>div{margin-top:12px}.ots-staff-kpis-v140 span{font-size:7.8px}.ots-staff-kpis-v140 strong{margin-top:4px;font-size:18px;white-space:normal}.ots-staff-kpis-v140 small{margin-top:4px;font-size:8.3px}
  .ots-staff-active-bookings-v140{border-radius:18px!important}.ots-staff-active-head-v140{padding:15px 14px 12px!important;align-items:flex-start!important}.ots-staff-active-head-v140 h2{font-size:16px!important}.ots-staff-active-head-v140 p{font-size:9.3px!important;line-height:1.45!important}.ots-staff-active-count-v140{min-height:24px;padding:0 8px;font-size:8.5px}
  .ots-staff-active-bookings-v140 [data-staff-booking-results]{padding:10px 10px 13px!important}
  .ots-staff-detail-v140 .ots-staff-booking-desktop{display:none!important}.ots-staff-detail-v140 .ots-staff-booking-mobile{display:grid!important;gap:9px}
  .ots-staff-booking-card-v140{overflow:hidden;border:1px solid #e8ebef;border-radius:15px;background:#fff;box-shadow:0 2px 10px rgba(27,39,57,.025)}
  .ots-staff-booking-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 12px 0}.ots-staff-booking-card-top>div>strong{display:block;color:#4b5667;font-size:10.5px;letter-spacing:.015em}.ots-staff-booking-card-top>div>small{display:block;margin-top:2px;color:#a0a8b4;font-size:8px}.ots-staff-booking-card-top .ots-status{min-height:22px!important;padding:0 7px!important;font-size:7.5px!important}
  .ots-staff-booking-card-customer{padding:11px 12px 10px}.ots-staff-booking-card-customer h3{margin:0;color:#253247;font-size:14px;line-height:1.25}.ots-staff-booking-card-customer p{margin:4px 0 0;color:#87919f;font-size:9.3px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ots-staff-booking-card-trip{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 12px 11px}.ots-staff-booking-card-trip>span{position:relative;display:grid;grid-template-columns:17px 1fr;grid-template-rows:auto auto;column-gap:6px;padding:9px;border-radius:11px;background:#f8f9fb}.ots-staff-booking-card-trip .ots-svg-icon{grid-row:1/3;width:15px;height:15px;align-self:center;color:#8c96a5}.ots-staff-booking-card-trip em{font-style:normal;color:#9aa3af;font-size:7.3px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ots-staff-booking-card-trip strong{margin-top:2px;color:#4b5668;font-size:9.5px;line-height:1.2}
  .ots-staff-booking-card-payment{padding:10px 12px;border-top:1px solid #eef1f4}.ots-staff-booking-card-payment>div:first-child{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ots-staff-booking-card-payment span small{display:block;color:#9aa3af;font-size:7.5px;text-transform:uppercase;font-weight:800}.ots-staff-booking-card-payment span strong{display:block;margin-top:2px;color:#364255;font-size:10.5px}.ots-staff-booking-card-payment>.ots-staff-payment-progress{margin-top:9px;height:4px}.ots-staff-booking-card-payment>small{display:block;margin-top:5px;color:#8e98a5;font-size:8px}
  .ots-staff-booking-card-action{display:flex;align-items:center;justify-content:space-between;min-height:39px;padding:0 12px;border-top:1px solid #eef1f4;background:#fbfcfd;color:#536071!important;font-size:9.5px;font-weight:800;text-decoration:none!important}.ots-staff-booking-card-action .ots-svg-icon{width:14px;height:14px;color:#9ba4b0}
  .ots-staff-detail-v140 .ots-staff-booking-pagination{display:block!important;margin-top:10px!important;padding:10px 2px 0!important}.ots-staff-detail-v140 .ots-staff-booking-pagination>span{display:block;margin-bottom:8px;text-align:center;font-size:8.5px!important}.ots-staff-detail-v140 .ots-staff-booking-pagination .ots-pagination-pages{justify-content:center!important;gap:4px!important;overflow-x:auto;padding-bottom:2px}.ots-staff-detail-v140 .ots-staff-booking-pagination button{min-width:31px!important;height:31px!important;padding:0 8px!important;border-radius:9px!important;font-size:9px!important}
}

@media(max-width:390px){
  .ots-staff-kpis-v140 strong{font-size:16.5px}.ots-staff-kpis-v140 article{min-height:114px;padding:12px}.ots-staff-booking-card-trip{grid-template-columns:1fr 1fr}.ots-staff-detail-actions-v140 .ots-btn{font-size:10px!important}
}


/* v1.4.141 — Users directory surface (legacy staff internals retained for compatibility) */
.ots-user-overview-v141{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.ots-user-overview-v141 article{background:#fff;border:1px solid var(--ots-border,#e5e7eb);border-radius:16px;padding:18px 19px;min-width:0;box-shadow:0 8px 24px rgba(15,23,42,.035)}
.ots-user-overview-v141 article span{display:block;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;margin-bottom:7px}
.ots-user-overview-v141 article strong{display:block;color:#0f172a;font-size:28px;line-height:1;font-weight:800;letter-spacing:-.035em}
.ots-user-overview-v141 article small{display:block;color:#94a3b8;font-size:12px;line-height:1.4;margin-top:8px}
.ots-user-directory-v141 .ots-staff-filters{margin-bottom:18px}
@media(max-width:900px){.ots-user-overview-v141{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ots-user-overview-v141 article{padding:15px 16px;border-radius:14px}.ots-user-overview-v141 article strong{font-size:24px}}
@media(max-width:520px){.ots-user-overview-v141{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-left:-2px;margin-right:-2px;padding:2px 2px 5px;scrollbar-width:none}.ots-user-overview-v141::-webkit-scrollbar{display:none}.ots-user-overview-v141 article{flex:0 0 72%;scroll-snap-align:start;box-shadow:none}.ots-user-directory-v141{border-radius:18px}.ots-user-directory-v141 .ots-staff-filters{margin-bottom:14px}}

/* v1.4.156 — Consolidated Edit Booking / Passenger Details component layer
   Keeps the v1.4.155 consolidation, with tighter app-first mobile spacing and typography. */

/* Passenger state shared by booking/passenger forms */
.ots-passenger-card.is-scanned{border-color:#dbe4f0}
.ots-passenger-card.is-scanned .ots-passenger-head{background:#fbfcfe;border-bottom-color:#e4eaf2}

/* Passenger editor shell */
.ots-passenger-editor-card{padding:0;overflow:hidden}
.ots-passenger-editor-head{margin:0;padding:18px 20px 15px;border-bottom:1px solid #edf0f3;background:#fff}
.ots-passenger-editor-head h2{font-size:16px}
.ots-passenger-editor-head p{max-width:760px}
.ots-passenger-editor-card>.ots-staff-doc-edit-list{display:grid;gap:12px;padding:14px}

.ots-staff-doc-edit-card{overflow:hidden;margin:0!important;padding:0!important;border:1px solid #e4e8ed!important;border-radius:14px!important;background:#fff;box-shadow:0 2px 10px rgba(24,36,52,.025)}
.ots-staff-doc-edit-card.is-scanned{border-color:#dbe4f0!important}
.ots-staff-doc-edit-card.has-booking-mismatch{border-color:#efcc88!important}
.ots-staff-doc-edit-card .ots-passenger-head{margin:0;padding:12px 14px;background:#fbfcfd;border-bottom:1px solid #edf0f3}
.ots-staff-doc-edit-card.has-booking-mismatch .ots-passenger-head{background:#fffdf8}
.ots-passenger-head-left{min-width:0}
.ots-staff-doc-edit-card .ots-passenger-head-left>div{min-width:0}
.ots-staff-doc-edit-card .ots-passenger-head h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
.ots-passenger-rule-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}
.ots-passenger-category-badge,.ots-passenger-market-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;font-size:8.5px;font-weight:850;letter-spacing:.025em;text-transform:uppercase}
.ots-passenger-category-badge{background:#eaf0ff;color:#355fc4}.ots-passenger-market-badge{background:#eef8f4;color:#1d7a5d}

/* Document upload + preview */
.ots-doc-upload-wrap{display:grid;gap:8px;min-width:0;align-content:start}
.ots-upload-box{position:relative;cursor:pointer}
.ots-upload-box input[type=file]{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;margin:0!important;border:0!important}
.ots-staff-doc-edit-card .ots-upload-box.ots-upload-box-simple{min-height:112px!important;padding:13px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed #cbd3dd;border-radius:11px;background:#fafbfc;text-align:center;transition:border-color .16s ease,background .16s ease}
.ots-staff-doc-edit-card .ots-upload-box.ots-upload-box-simple:hover{border-color:#efa2ab;background:#fffafb}
.ots-staff-doc-edit-card .ots-upload-box strong{margin:0;color:#344054!important;font-size:12px!important;font-weight:800}
.ots-upload-choose{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 11px;border:1px solid #d9dfe7;border-radius:8px;background:#fff;color:#334155;font-size:10.5px;font-weight:800;line-height:1;box-shadow:0 1px 2px rgba(16,24,40,.03);pointer-events:none}
.ots-upload-box:hover .ots-upload-choose{border-color:#ef9aa5;color:var(--ots-red)}

.ots-doc-preview{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-width:0;margin:0;padding:7px;border:1px solid #e4e8ee;border-radius:10px;background:#fafbfc}
.ots-doc-preview[hidden]{display:none!important}
.ots-doc-preview-thumb{position:relative;width:48px;height:34px;overflow:hidden;border:1px solid #e2e7ed;border-radius:7px;background:#f0f3f7}
.ots-doc-preview-thumb img{display:block;width:100%;height:100%;object-fit:cover;background:#f3f5f8}
.ots-doc-preview-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#758194;font-size:8px;font-weight:900;letter-spacing:.08em}
.ots-doc-preview-meta{display:block!important;min-width:0;padding:0}
.ots-doc-preview-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#465267;font-size:9.8px;font-weight:750;line-height:1.25}
.ots-doc-preview-view{appearance:none;border:0;background:transparent;color:var(--ots-red);padding:5px 4px;font-size:9px;font-weight:850;cursor:pointer;white-space:nowrap}
.ots-doc-preview-view:hover{text-decoration:underline}.ots-doc-preview-view:disabled{display:none}

/* Passenger fields — one source of truth */
.ots-staff-doc-edit-body{position:relative;display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:14px;align-items:start}
.ots-staff-doc-edit-card .ots-passenger-fields-admin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;padding:0;align-items:start;align-content:start}
.ots-staff-doc-edit-card .ots-staff-edit-fields>label{display:block;min-width:0;margin:0;color:#536174;font-size:10.5px;font-weight:750;line-height:1.25}
.ots-staff-doc-edit-card .ots-field-label{display:flex;align-items:center;gap:5px;min-height:18px;margin:0 0 5px;white-space:nowrap}
.ots-staff-doc-edit-card .ots-auto-tag,.ots-manual-tag{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:800;line-height:1.3}
.ots-staff-doc-edit-card .ots-auto-tag{margin:0;color:#27865a;background:#edf9f2}
.ots-manual-tag{margin-left:4px;background:#fff3d6;color:#8a5a00}
.ots-staff-doc-edit-card .ots-staff-edit-fields input:not([type=hidden]),
.ots-staff-doc-edit-card .ots-staff-edit-fields select,
.ots-staff-doc-edit-card .ots-date-picker .ots-date-trigger{display:block;width:100%;height:40px;min-height:40px;margin:0!important;padding:0 10px!important;border:1px solid #dfe3e8;border-radius:8px;background:#fff;color:var(--ots-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:13px!important;font-weight:600!important;line-height:1.2!important;box-shadow:none}
.ots-staff-doc-edit-card .ots-staff-edit-fields select{appearance:none!important;-webkit-appearance:none!important;padding-right:32px!important;background-color:#fff!important;background-image:linear-gradient(45deg,transparent 50%,#7d8898 50%),linear-gradient(135deg,#7d8898 50%,transparent 50%)!important;background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important}
.ots-staff-doc-edit-card .ots-date-picker .ots-date-trigger{display:flex;align-items:center;justify-content:space-between}
.ots-staff-doc-edit-card .ots-date-picker .ots-date-trigger-value{font:600 13px/1.2 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.ots-staff-doc-edit-card .ots-staff-edit-fields input:focus,
.ots-staff-doc-edit-card .ots-staff-edit-fields select:focus,
.ots-staff-doc-edit-card .ots-date-picker .ots-date-trigger:focus{outline:none;border-color:#ef9aa5;box-shadow:0 0 0 3px rgba(223,38,56,.07)}
.ots-passenger-fields label.ots-manual-entry{color:#8a5a00}
.ots-passenger-fields label.ots-manual-entry input,.ots-passenger-fields label.ots-manual-entry select{border-color:#e4b14b!important;background:#fffaf0!important;box-shadow:0 0 0 2px rgba(228,177,75,.08)}

/* Scanner result and booking-rule notice always occupy their own row */
.ots-staff-doc-edit-body>.ots-doc-status-row,.ots-passenger-body>.ots-doc-status-row{grid-column:1/-1;width:100%;min-width:0;margin:0;display:block}
.ots-doc-status-row .ots-doc-scan-status{display:block;width:100%;margin:0;padding:11px 13px;border:1px solid #e7eaf0;border-radius:11px;background:#fbfcfe;box-shadow:none;transition:.2s ease}
.ots-doc-status-row .ots-doc-scan-status[hidden]{display:none!important}
.ots-doc-scan-main{display:flex;align-items:center;gap:10px;min-width:0}.ots-doc-scan-copy{min-width:0;flex:1}
.ots-doc-status-row .ots-doc-scan-copy strong{display:block;color:#243247;font-size:12px;line-height:1.25}.ots-doc-status-row .ots-doc-scan-copy small{display:block;margin-top:2px;color:#7d8796;font-size:10.5px;line-height:1.4;white-space:normal}
.ots-scan-dot{width:9px;height:9px;border-radius:999px;background:#8fa0b5;box-shadow:0 0 0 4px rgba(143,160,181,.12);flex:0 0 auto}.ots-scan-badge{padding:4px 7px;border-radius:999px;background:#eef1f5;color:#667085;font-size:9px;font-weight:800;white-space:nowrap}.ots-scan-progress{height:3px;margin-top:8px;border-radius:999px;background:#edf0f4;overflow:hidden}.ots-scan-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:#df2638;transition:width .22s ease}
.ots-doc-scan-status.is-checking{border-color:#dfe6f2;background:#fbfdff}.ots-doc-scan-status.is-checking .ots-scan-dot{background:#5676bb}.ots-doc-scan-status.is-checking .ots-scan-badge{background:#eef3ff;color:#4565a9}
.ots-doc-scan-status.is-pass{border-color:#d6ecdf;background:#fbfffc}.ots-doc-scan-status.is-pass .ots-scan-dot{background:#1e9a5b}.ots-doc-scan-status.is-pass .ots-scan-badge{background:#e8f8ef;color:#16834c}.ots-doc-scan-status.is-pass .ots-scan-progress>span{background:#1e9a5b}
.ots-doc-scan-status.is-warn{border-color:#f0dfb5;background:#fffdf8}.ots-doc-scan-status.is-warn .ots-scan-dot{background:#d3961e}.ots-doc-scan-status.is-warn .ots-scan-badge{background:#fff4dc;color:#986400}.ots-doc-scan-status.is-warn .ots-scan-progress>span{background:#d3961e}
.ots-doc-scan-status.is-fail{border-color:#f0ccd1;background:#fffafb}.ots-doc-scan-status.is-fail .ots-scan-dot{background:#d83b4d}.ots-doc-scan-status.is-fail .ots-scan-badge{background:#ffe9eb;color:#c42d3a}.ots-doc-scan-status.is-fail .ots-scan-progress>span{background:#d83b4d}

.ots-passenger-rule-alert{grid-column:1/-1;width:100%;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:flex-start;margin-top:0;padding:11px 13px;border:1px solid #f2c878;background:#fff9ed;border-radius:11px;color:#6d4c0c}
.ots-passenger-rule-alert[hidden]{display:none!important}.ots-passenger-rule-alert-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#f6b94c;color:#fff;font-size:14px;font-weight:900}
.ots-passenger-rule-alert strong{display:block;font-size:12px;color:#6c4700}.ots-passenger-rule-alert p{margin:3px 0;font-size:11px;line-height:1.45;color:#7b5a16;font-weight:650}.ots-passenger-rule-alert small{display:block;font-size:10px;line-height:1.45;color:#94752e}

/* Full-size document preview */
.ots-doc-preview-modal{position:fixed!important;inset:0!important;z-index:1000000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;background:rgba(13,20,31,.76)!important;backdrop-filter:blur(5px)}
.ots-doc-preview-modal[hidden]{display:none!important}.ots-doc-preview-dialog{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:min(760px,92vw)!important;max-height:82vh!important;padding:14px!important;border-radius:14px!important;background:#111923!important;box-shadow:0 28px 80px rgba(0,0,0,.34)!important;overflow:hidden!important}.ots-doc-preview-dialog img{display:block!important;max-width:100%!important;max-height:calc(82vh - 28px)!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:8px}.ots-doc-preview-close{position:absolute!important;z-index:2!important;right:10px!important;top:10px!important;width:34px!important;height:34px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:9px!important;background:rgba(16,24,36,.86)!important;color:#fff!important;font-size:22px!important;line-height:1!important;cursor:pointer!important;display:grid!important;place-items:center!important}body.ots-doc-preview-open{overflow:hidden!important}

/* Edit Booking desktop layout */
.ots-admin-edit-form .ots-booking-detail-grid,.ots-staff-edit-form .ots-booking-detail-grid{align-items:start;grid-template-columns:minmax(0,1fr) minmax(270px,320px);gap:16px}
.ots-edit-booking-main-card{margin-bottom:14px}
.ots-edit-booking-main-card .ots-field-grid input,.ots-edit-booking-main-card .ots-field-grid select{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.ots-edit-booking-aside{position:sticky;top:88px;align-self:start}
.ots-edit-booking-summary{margin:0}.ots-edit-booking-save{width:100%;min-height:42px;margin-top:12px}

@media(max-width:1180px){
  .ots-staff-doc-edit-body{grid-template-columns:180px minmax(0,1fr)}
  .ots-staff-doc-edit-card .ots-passenger-fields-admin{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ots-admin-edit-form .ots-booking-detail-grid,.ots-staff-edit-form .ots-booking-detail-grid{grid-template-columns:minmax(0,1fr) 270px}
}

/* App-first Edit Booking / Edit Passenger Details */
@media(max-width:760px){
  .ots-page-bookings .ots-admin-edit-form,.ots-page-bookings .ots-staff-edit-form{padding-bottom:8px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .ots-page-bookings .ots-admin-edit-form>.ots-booking-detail-grid,.ots-page-bookings .ots-staff-edit-form>.ots-booking-detail-grid{display:grid!important;grid-template-columns:1fr!important;gap:11px!important}
  .ots-page-bookings .ots-admin-edit-form>.ots-booking-detail-grid>div:first-child,.ots-page-bookings .ots-staff-edit-form>.ots-booking-detail-grid>div:first-child{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:13px!important;min-width:0!important}
  .ots-page-bookings .ots-edit-booking-main-card,.ots-page-bookings .ots-passenger-editor-card{margin:0!important;border:1px solid #e7eaee!important;border-radius:17px!important;box-shadow:0 3px 14px rgba(24,36,52,.035)!important;background:#fff!important}
  .ots-page-bookings .ots-passenger-editor-card{padding:0!important}
  .ots-page-bookings .ots-edit-booking-main-card{padding:14px!important}
  .ots-page-bookings .ots-edit-booking-main-card .ots-card-head{margin-bottom:12px!important}.ots-page-bookings .ots-edit-booking-main-card .ots-card-head h2{font-size:15px!important}.ots-page-bookings .ots-edit-booking-main-card .ots-card-head p{font-size:10px!important;line-height:1.45}
  .ots-page-bookings .ots-edit-booking-main-card .ots-field-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .ots-page-bookings .ots-edit-booking-main-card .ots-field-grid label{font-size:10.5px!important;color:#5d6878!important;font-weight:750!important}
  .ots-page-bookings .ots-edit-booking-main-card .ots-field-grid input,.ots-page-bookings .ots-edit-booking-main-card .ots-field-grid select{height:42px!important;min-height:42px!important;margin-top:5px!important;border-radius:10px!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:13px!important;font-weight:600!important;line-height:1.25!important}
  .ots-page-bookings .ots-edit-booking-main-card .ots-field-grid input::placeholder{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:13px!important}
  .ots-page-bookings .ots-edit-booking-main-card .ots-field-grid select option{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:13px!important}
  .ots-page-bookings .ots-edit-booking-main-card .ots-field-grid small{font-size:9.5px!important;line-height:1.35!important}

  .ots-passenger-editor-head{margin:0!important;padding:14px 13px 12px!important;align-items:flex-start!important}.ots-passenger-editor-head h2{font-size:15px!important}.ots-passenger-editor-head p{font-size:9.8px!important;line-height:1.45}.ots-passenger-editor-head .ots-badge{font-size:8.5px;white-space:nowrap}
  .ots-passenger-editor-card>.ots-staff-doc-edit-list{gap:10px;padding:10px;background:#f8f9fb}
  .ots-page-bookings .ots-admin-passenger-edit>section,.ots-page-bookings .ots-staff-passenger-edit>section{margin:0!important;padding:0!important;border-radius:15px!important}
  .ots-staff-doc-edit-card{border-radius:15px!important;box-shadow:none}
  .ots-staff-doc-edit-card .ots-passenger-head{padding:11px 11px 10px}.ots-staff-doc-edit-card .ots-passenger-no{width:30px;height:30px;border-radius:9px;font-size:10px}.ots-staff-doc-edit-card .ots-passenger-head h3{font-size:13px}.ots-staff-doc-edit-card .ots-passenger-head>.ots-status{font-size:8px!important;padding:4px 7px!important;white-space:nowrap}
  .ots-passenger-category-badge,.ots-passenger-market-badge{height:20px;padding:0 7px;font-size:7.8px}

  .ots-staff-doc-edit-body{grid-template-columns:1fr!important;gap:10px!important;padding:10px!important}
  .ots-staff-doc-edit-card .ots-upload-box.ots-upload-box-simple{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:start;gap:10px;min-height:64px!important;padding:10px 11px!important;text-align:left}
  .ots-staff-doc-edit-card .ots-upload-box strong{font-size:11.5px!important}.ots-upload-choose{min-height:30px;padding:0 10px;font-size:10px}
  .ots-doc-preview{grid-template-columns:46px minmax(0,1fr) auto;gap:7px;padding:6px}.ots-doc-preview-thumb{width:46px;height:33px}.ots-doc-preview-meta strong{font-size:9.5px}.ots-doc-preview-view{font-size:9px}

  .ots-staff-doc-edit-card .ots-passenger-fields-admin{grid-template-columns:1fr!important;gap:9px!important}
  .ots-staff-doc-edit-card .ots-staff-edit-fields>label{font-size:10px!important}.ots-staff-doc-edit-card .ots-field-label{min-height:17px;margin-bottom:4px}
  .ots-staff-doc-edit-card .ots-staff-edit-fields input:not([type=hidden]),.ots-staff-doc-edit-card .ots-staff-edit-fields select,.ots-staff-doc-edit-card .ots-date-picker .ots-date-trigger,.ots-admin-layout:not(.ots-staff-app) .ots-admin-booking-detail-view.is-editing .ots-staff-doc-edit-card .ots-staff-edit-fields input:not([type=hidden]),.ots-admin-layout:not(.ots-staff-app) .ots-admin-booking-detail-view.is-editing .ots-staff-doc-edit-card .ots-staff-edit-fields select{height:40px!important;min-height:40px!important;border-radius:9px!important;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:13px!important;font-weight:600!important;line-height:1.25!important}
  .ots-staff-doc-edit-card .ots-staff-edit-fields input::placeholder,.ots-staff-doc-edit-card .ots-date-picker .ots-date-trigger-value,.ots-staff-doc-edit-card .ots-staff-edit-fields select option{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:13px!important}
  .ots-staff-doc-edit-card .ots-auto-tag,.ots-manual-tag{font-size:7.7px;padding:2px 5px}

  .ots-doc-status-row .ots-doc-scan-status{padding:10px 11px}.ots-doc-status-row .ots-doc-scan-copy strong{font-size:11.5px}.ots-doc-status-row .ots-doc-scan-copy small{font-size:10px}.ots-scan-badge{font-size:8px}
  .ots-passenger-rule-alert:not([hidden]){display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;width:100%!important;grid-column:1/-1!important;padding:10px 11px}.ots-passenger-rule-alert-icon{width:26px;height:26px}.ots-passenger-rule-alert strong{font-size:11.5px}.ots-passenger-rule-alert p{font-size:10.5px}.ots-passenger-rule-alert small{font-size:9.5px}

  .ots-edit-booking-aside{position:static;display:block}.ots-edit-booking-summary{display:none!important}
  .ots-edit-booking-save{position:sticky;bottom:calc(70px + env(safe-area-inset-bottom));z-index:42;width:100%;min-height:46px;margin:0;border-radius:12px;font-size:12px;box-shadow:0 8px 24px rgba(223,38,56,.22)}

  /* Staff edit never had the Admin metadata strip; hide it on Admin mobile too so
     both edit workspaces start with the editable content rather than redundant cards. */
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-editing>.ots-edit-booking-meta{display:none!important}

  .ots-page-bookings .ots-admin-detail-actions{gap:7px!important;margin-bottom:10px!important}.ots-page-bookings .ots-admin-detail-actions .ots-btn{min-height:40px!important;border-radius:11px!important;font-size:10.5px!important}.ots-page-bookings .ots-admin-detail-actions .ots-inline-delete-form{flex:0 0 auto}.ots-page-bookings .ots-admin-detail-actions .ots-inline-delete-form .ots-btn{padding-left:11px!important;padding-right:11px!important}
  .ots-page-bookings .ots-booking-page-actions{margin-bottom:10px}.ots-page-bookings .ots-booking-page-actions .ots-btn{width:100%;min-height:40px;border-radius:11px;font-size:10.5px}

  .ots-doc-preview-modal{padding:12px!important}.ots-doc-preview-dialog{width:100%!important;max-height:78vh!important;padding:10px!important}.ots-doc-preview-dialog img{max-height:calc(78vh - 20px)!important}.ots-doc-preview-close{right:7px!important;top:7px!important}
}

/* v1.4.161 — shared Admin/Staff Edit Booking mobile shell */
.ots-mobile-title-delete{display:none}
.ots-edit-return-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px}
.ots-edit-return-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.ots-edit-return-icon{display:grid;place-items:center;width:15px;height:15px;flex:0 0 15px}
.ots-edit-return-icon .ots-svg-icon{width:15px;height:15px}
.ots-admin-edit-top-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.ots-admin-edit-top-actions .ots-booking-page-actions{margin:0}
.ots-admin-booking-controls-card .ots-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:760px){
  /* The Admin edit title now deliberately mirrors Staff: Edit Booking. Admin only adds trash. */
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-editing) .ots-title-row{
    display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:10px!important;
  }
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-editing) .ots-title-row>div:first-child{min-width:0;flex:1 1 auto}
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-editing) .ots-title-row h1{margin:0!important}
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-editing) .ots-title-row p{display:none!important}
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-editing) .ots-mobile-title-delete{display:inline-flex!important;flex:0 0 auto;margin:0!important}
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-editing) .ots-mobile-title-delete .ots-mobile-trash-btn{
    width:36px!important;min-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:#fff5f6!important;border:1px solid #f4d7db!important;color:#c62539!important;box-shadow:none!important;
  }
  .ots-page-bookings:not(.ots-staff-app):has(.ots-admin-booking-detail-view.is-editing) .ots-mobile-title-delete .ots-mobile-trash-btn .ots-svg-icon{width:17px!important;height:17px!important;display:block!important}

  /* One shared return control for Admin + Staff. */
  .ots-page-bookings .ots-edit-return-actions{margin:0 0 10px!important}
  .ots-page-bookings .ots-edit-return-actions .ots-edit-return-btn{
    width:auto!important;min-height:40px!important;padding:0 14px!important;background:#fff!important;border:1.5px solid #c3ccd8!important;border-radius:11px!important;color:#465468!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;font-size:11.5px!important;font-weight:750!important;line-height:1!important;
  }
  .ots-page-bookings .ots-edit-return-actions .ots-edit-return-btn:hover,.ots-page-bookings .ots-edit-return-actions .ots-edit-return-btn:focus-visible{background:#f8fafc!important;border-color:#aeb9c7!important;color:#243247!important;box-shadow:0 0 0 3px rgba(92,112,138,.10)!important}
  .ots-page-bookings .ots-edit-return-actions .ots-edit-return-btn:active{background:#f2f5f8!important;border-color:#9faaba!important;transform:translateY(1px)}
  .ots-page-bookings .ots-edit-return-actions .ots-edit-return-icon,.ots-page-bookings .ots-edit-return-actions .ots-edit-return-icon .ots-svg-icon{width:15px!important;height:15px!important}

  .ots-admin-edit-top-actions{display:block!important;margin:0!important}
  .ots-admin-edit-top-actions>.ots-desktop-delete{display:none!important}
  .ots-page-bookings:not(.ots-staff-app) .ots-admin-booking-detail-view.is-editing>.ots-edit-booking-meta{display:none!important}

  /* Admin now uses the same Customer Contact card markup/styles as Staff. */
  .ots-page-bookings .ots-customer-contact-edit-card,.ots-page-bookings .ots-admin-booking-controls-card{margin:0!important}
  .ots-page-bookings .ots-admin-booking-controls-card .ots-field-grid{grid-template-columns:1fr!important}
  .ots-page-bookings .ots-admin-booking-controls-card .ots-card-head p{max-width:36rem}

  /* Keep passenger dropdown chevrons deterministic on both roles/devices. */
  .ots-staff-doc-edit-card .ots-staff-edit-fields select{background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%!important;padding-right:30px!important}
}

/* v1.4.168 — Departure card typography/airline simplification and centered mobile Overview sub-tabs. */
.ots-package-booking-hub{max-width:1180px;margin:0 auto}
.ots-package-hub-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.045)}
.ots-package-hub-panel[hidden],.ots-package-overview-panel[hidden]{display:none!important}

/* Shared package hero: one source of package context, no duplicated duration/destination copy. */
.ots-package-profile-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);min-height:350px;background:#fff}
.ots-package-profile-image{min-height:350px;background-size:cover;background-position:center}
.ots-package-profile-copy{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:30px;background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%)}
.ots-package-profile-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ots-package-profile-topline h2{margin:5px 0 0;color:#101828;font-size:29px;line-height:1.14;letter-spacing:-.03em}
.ots-package-profile-topline .ots-change-link{flex:0 0 auto;margin-top:2px;font-size:11px;white-space:nowrap}
.ots-package-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ots-package-profile-fact{position:relative;display:flex;align-items:center;gap:11px;min-width:0;min-height:72px;padding:13px 14px;border:1px solid #e7eaf0;border-radius:13px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.ots-package-profile-fact-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#fff1f2;color:#d92d3b}
.ots-package-profile-fact-icon .ots-svg-icon{width:19px;height:19px}
.ots-package-profile-fact-copy{min-width:0;display:block}
.ots-package-profile-fact-copy small{display:block;color:#98a2b3;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.ots-package-profile-fact-copy strong{display:block;margin-top:4px;color:#101828;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.ots-package-itinerary-fact.is-available{cursor:pointer}
.ots-package-itinerary-fact.is-available:hover{border-color:#f0a0aa;box-shadow:0 7px 18px rgba(217,45,59,.08);transform:translateY(-1px)}
.ots-package-itinerary-fact.is-disabled{opacity:.34;cursor:default;background:#fafafa}
.ots-package-itinerary-arrow{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;color:#d92d3b}
.ots-package-itinerary-arrow .ots-svg-icon{width:16px;height:16px}

/* Main navigation: spacious two-button switcher with red active state. */
.ots-package-hub-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:18px 28px 0;padding:5px;border:1px solid #e6e9ee;border-radius:13px;background:#f8f9fb}
.ots-package-hub-tab{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:0 16px;border:1px solid transparent;border-radius:9px;background:transparent;color:#667085;font:780 12px/1 var(--ots-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}
.ots-package-hub-tab:hover{background:#fff;color:#344054}.ots-package-hub-tab.is-active{background:#df2638;border-color:#df2638;color:#fff;box-shadow:0 4px 10px rgba(223,38,56,.18)}
.ots-package-hub-tab b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 7px;border:1px solid #d0d5dd;border-radius:999px;background:#fff;color:#344054;font-size:10px;font-weight:900;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.ots-package-hub-tab.is-active b{border-color:#fff;background:#fff;color:#df2638;box-shadow:0 2px 5px rgba(103,17,30,.18)}

/* Overview secondary navigation. */
.ots-package-overview-tabs{display:flex;align-items:center;gap:24px;margin-top:10px;padding:0 28px;background:#fff;border-bottom:1px solid #eaecf0;overflow-x:auto;scrollbar-width:none}
.ots-package-overview-tabs::-webkit-scrollbar{display:none}
.ots-package-overview-tabs button{appearance:none;-webkit-appearance:none;position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0;border:0;background:transparent;color:#667085;font:750 11px/1 var(--ots-font,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);white-space:nowrap;cursor:pointer}
.ots-package-overview-tabs button:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:999px;background:transparent}
.ots-package-overview-tabs button:hover{color:#344054}.ots-package-overview-tabs button.is-active{color:#a31320}.ots-package-overview-tabs button.is-active:after{background:#df2638}
.ots-package-overview-content{padding:20px 28px 26px;background:#fbfcfd;min-height:280px}
.ots-package-overview-panel{width:100%;padding:21px;border:1px solid #e7ebf0;border-radius:15px;background:#fff}
.ots-package-panel-head h3{margin:4px 0 3px;color:#101828;font-size:17px;letter-spacing:-.015em}.ots-package-panel-head p{margin:0;color:#7a8492;font-size:11px;line-height:1.5}.ots-package-panel-head-inline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ots-package-about-copy{margin-top:12px;color:#475467;font-size:13px;line-height:1.78;white-space:normal}.ots-package-empty-copy{margin:11px 0 0;color:#98a2b3;font-size:12px;font-style:italic}
.ots-package-preview-chip{display:inline-flex;align-items:center;justify-content:center;height:22px;padding:0 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ots-package-about-inclusions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid #edf0f3}.ots-package-about-inclusions .ots-package-inclusion-panel{min-width:0;padding:15px;border:1px solid #e7ebf0;border-radius:13px;background:#fcfcfd}
.ots-package-rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.ots-package-rate-card{border:1px solid #e6eaf0;border-radius:13px;padding:14px;background:#fff}.ots-package-rate-card-head{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid #edf0f3}.ots-package-rate-card-head .ots-country-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#eff8ff;color:#175cd3;font-size:10px;font-weight:900}.ots-package-rate-card-head .ots-country-mark.intl{background:#fff4ed;color:#c4320a}.ots-package-rate-card-head strong,.ots-package-rate-card-head small{display:block}.ots-package-rate-card-head strong{color:#101828;font-size:12px}.ots-package-rate-card-head small{margin-top:2px;color:#98a2b3;font-size:9px}.ots-package-rate-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 1px 0}.ots-package-rate-line+.ots-package-rate-line{margin-top:9px;border-top:1px solid #f0f2f5}.ots-package-rate-line span b,.ots-package-rate-line span small{display:block}.ots-package-rate-line span b{color:#344054;font-size:11px}.ots-package-rate-line span small{margin-top:2px;color:#98a2b3;font-size:9px}.ots-package-rate-line>strong{color:#101828;font-size:13px;white-space:nowrap}
.ots-package-check-list{display:grid;gap:10px;margin:15px 0 0;padding:0;list-style:none}.ots-package-check-list li{position:relative;padding-left:24px;color:#475467;font-size:11px;line-height:1.55}.ots-package-check-list li:before{position:absolute;left:0;top:1px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:900}.ots-package-inclusion-panel.is-included .ots-package-check-list li:before{content:'✓';background:#ecfdf3;color:#027a48}.ots-package-inclusion-panel.is-excluded .ots-package-check-list li:before{content:'×';background:#fff1f3;color:#c01048}.ots-package-terms-list{margin:16px 0 0;padding-left:20px;color:#475467;font-size:11px;line-height:1.7}.ots-package-terms-list li+li{margin-top:7px}.ots-package-preview-note{margin:15px 0 0;padding:10px 11px;border-radius:10px;background:#f8fafc;color:#667085;font-size:10px;line-height:1.5}

/* Departure operational list: airline context + high-visibility seats. */
.ots-departure-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:25px 28px 18px}.ots-departure-list-head h3{margin:4px 0 4px;color:#101828;font-size:22px;letter-spacing:-.02em}.ots-departure-list-head p{margin:0;color:#667085;font-size:12px}.ots-departure-list-head>span{color:#475467;font-size:12px;font-weight:800}
.ots-package-departure-list{padding:0 28px 28px;display:grid;gap:11px}.ots-package-departure-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:20px;padding:17px 18px;border:1px solid #e4e7ec;border-radius:15px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.ots-package-departure-row:hover{border-color:#d0d5dd;box-shadow:0 8px 22px rgba(15,23,42,.06);transform:translateY(-1px)}.ots-package-departure-row.is-full{opacity:.62;background:#fafafa}
.ots-package-departure-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;border-radius:12px;background:#fff7f8;border:1px solid #f5d5d9}.ots-package-departure-date strong{font-size:23px;line-height:1;color:#101828}.ots-package-departure-date span{margin-top:4px;color:#d92d3b;font-size:10px;font-weight:900;letter-spacing:.07em}.ots-package-departure-date small{margin-top:2px;color:#98a2b3;font-size:9px}
.ots-package-departure-main{display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,.9fr);gap:28px;align-items:center}.ots-package-departure-title strong{display:block;color:#101828;font-size:15px}.ots-package-departure-title>span{display:block;margin-top:5px;color:#667085;font-size:12px}
.ots-package-departure-airline{display:flex;align-items:center;margin-top:9px}.ots-package-departure-airline b{display:block;color:#667085;font-size:11px;font-weight:500;line-height:1.35}
.ots-package-departure-capacity{display:grid;grid-template-columns:auto minmax(110px,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid #edf0f3;border-radius:12px;background:#fbfcfd}.ots-package-departure-capacity>div:first-child span{display:block;color:#7d8797;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.ots-package-departure-capacity>div:first-child strong{display:block;margin-top:3px;color:#101828;font-size:14px;white-space:nowrap}.ots-package-departure-progress{height:8px;border-radius:999px;background:#e9edf2;overflow:hidden}.ots-package-departure-progress i{display:block;height:100%;border-radius:inherit;background:#df2638}.ots-package-departure-capacity .ots-slot-badge{min-height:28px;padding:0 10px;font-size:12px;font-weight:700;white-space:nowrap}.ots-package-departure-action .ots-btn{min-width:132px;height:42px;justify-content:center;white-space:nowrap}
.ots-selected-departure-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;padding:20px 22px;margin-bottom:16px;border:1px solid #e4e7ec;border-radius:16px;background:linear-gradient(135deg,#fff,#fbfcfd);box-shadow:0 7px 22px rgba(15,23,42,.04)}.ots-selected-departure-package h2{margin:4px 0 4px;color:#101828;font-size:18px}.ots-selected-departure-package p{margin:0;color:#667085;font-size:12px}.ots-selected-departure-date{padding-left:24px;border-left:1px solid #eaecf0}.ots-selected-departure-date span,.ots-selected-departure-date small{display:block;color:#98a2b3;font-size:10px;font-weight:700}.ots-selected-departure-date strong{display:block;margin:4px 0;color:#101828;font-size:13px;white-space:nowrap}.ots-change-departure-btn{white-space:nowrap}.ots-departure-booking-form>.ots-booking-card:first-of-type{margin-top:0}

@media(max-width:900px){
  .ots-package-profile-hero{grid-template-columns:1fr}.ots-package-profile-image{min-height:260px}.ots-package-profile-copy{padding:23px}.ots-package-profile-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.ots-package-profile-fact{padding:10px;min-height:68px;gap:8px}.ots-package-profile-fact-icon{width:31px;height:31px;flex-basis:31px}.ots-package-profile-fact-copy strong{font-size:10.5px}.ots-package-rate-grid{grid-template-columns:1fr 1fr}.ots-package-departure-main{grid-template-columns:1fr;gap:12px}.ots-package-departure-capacity{max-width:500px}
}
@media(max-width:640px){
  .ots-package-booking-hub{margin:0 -2px}.ots-package-hub-card{border-radius:14px}
  .ots-package-profile-image{min-height:205px}.ots-package-profile-copy{padding:17px 15px;gap:16px}.ots-package-profile-topline{gap:10px}.ots-package-profile-topline h2{font-size:21px}.ots-package-profile-topline .ots-change-link{font-size:10px}.ots-package-profile-facts{grid-template-columns:1fr 1fr;gap:7px}.ots-package-profile-fact{min-height:62px;padding:9px 10px;border-radius:10px}.ots-package-profile-fact-icon{width:30px;height:30px;flex-basis:30px;border-radius:8px}.ots-package-profile-fact-icon .ots-svg-icon{width:16px;height:16px}.ots-package-profile-fact-copy small{font-size:7.5px}.ots-package-profile-fact-copy strong{font-size:10px}.ots-package-itinerary-arrow{display:none}
  .ots-package-hub-tabs{position:sticky;top:0;z-index:5;grid-template-columns:1fr 1fr;margin:13px 11px 0;padding:4px;gap:4px;border-radius:11px}.ots-package-hub-tab{min-height:40px;padding:0 10px;font-size:11px;white-space:nowrap}.ots-package-hub-tab b{height:20px;min-width:22px;padding:0 6px;font-size:9px}
  .ots-package-overview-tabs{position:sticky;top:58px;z-index:4;justify-content:center;gap:28px;margin-top:7px;padding:0 13px}.ots-package-overview-tabs button{min-height:40px;font-size:10px}
  .ots-package-overview-content{padding:12px;min-height:230px}.ots-package-overview-panel{padding:15px;border-radius:13px}.ots-package-panel-head h3{font-size:14px}.ots-package-panel-head p{font-size:10px}.ots-package-about-copy{font-size:12px;line-height:1.68}.ots-package-about-inclusions{grid-template-columns:1fr;gap:9px;margin-top:16px;padding-top:16px}.ots-package-about-inclusions .ots-package-inclusion-panel{padding:13px}.ots-package-rate-grid{grid-template-columns:1fr;gap:9px;margin-top:13px}.ots-package-rate-card{padding:12px}.ots-package-check-list{gap:8px;margin-top:12px}.ots-package-check-list li{font-size:10px;padding-left:22px}.ots-package-terms-list{font-size:10px;line-height:1.65}
  .ots-departure-list-head{align-items:flex-start;padding:20px 16px 14px}.ots-departure-list-head h3{font-size:19px}.ots-departure-list-head p{font-size:10.5px;line-height:1.45}.ots-departure-list-head>span{font-size:10px;white-space:nowrap}
  .ots-package-departure-list{padding:0 12px 17px;gap:10px}.ots-package-departure-row{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:13px;border-radius:13px}.ots-package-departure-row:hover{transform:none;box-shadow:none}.ots-package-departure-date{min-height:64px}.ots-package-departure-date strong{font-size:20px}.ots-package-departure-main{gap:11px}.ots-package-departure-title strong{font-size:13px}.ots-package-departure-title>span{font-size:10.5px}.ots-package-departure-airline{margin-top:7px}.ots-package-departure-airline b{font-size:10.5px;font-weight:500;color:#667085}
  .ots-package-departure-capacity{grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px}.ots-package-departure-capacity>div:first-child span{font-size:9px}.ots-package-departure-capacity>div:first-child strong{font-size:13px}.ots-package-departure-progress{display:none}.ots-package-departure-capacity .ots-slot-badge{grid-column:auto;justify-self:end;align-self:center;min-height:28px;font-size:12px;font-weight:700;padding:0 10px}.ots-package-departure-action{grid-column:1/-1}.ots-package-departure-action .ots-btn{width:100%;min-width:0;height:41px;justify-content:center}
  .ots-selected-departure-summary{grid-template-columns:1fr auto;gap:12px;padding:14px;margin-bottom:12px}.ots-selected-departure-package{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid #eaecf0}.ots-selected-departure-package h2{font-size:15px}.ots-selected-departure-date{padding-left:0;border-left:0}.ots-selected-departure-date strong{font-size:11px;white-space:normal}.ots-selected-departure-date small{margin-top:3px;color:#067647}.ots-change-departure-btn{height:36px;padding:0 11px;font-size:10px}
}


/* v1.5.0-alpha.4 — Daytrip admin setup. Purpose-built, not a generic form builder. */
.ots-daytrip-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 22px 22px}.ots-daytrip-setup-card,.ots-daytrip-setup-field,.ots-daytrip-language-block,.ots-daytrip-guest-fields{min-width:0;border:1px solid #e7eaf0;border-radius:13px;background:#fff;padding:15px}.ots-daytrip-setup-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center}.ots-daytrip-setup-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fff3f4;color:#d92d3b;font-size:9px;font-weight:900;letter-spacing:.04em}.ots-daytrip-setup-card strong,.ots-daytrip-setup-card small{display:block}.ots-daytrip-setup-card strong{color:#1d2939;font-size:12px}.ots-daytrip-setup-card small{margin-top:3px;color:#7d8796;font-size:10px}.ots-daytrip-setup-field>span,.ots-daytrip-language-block>.ots-form-label,.ots-daytrip-guest-fields>.ots-form-label{display:block;margin-bottom:7px;color:#475467;font-size:10px;font-weight:800}.ots-daytrip-setup-field input{width:100%;height:42px;border:1px solid #dfe3e8;border-radius:9px;padding:0 11px;font-size:13px;font-weight:600}.ots-daytrip-setup-field small,.ots-daytrip-language-block small,.ots-daytrip-guest-fields small{display:block;margin-top:6px;color:#98a2b3;font-size:9px;line-height:1.45}.ots-daytrip-check-grid{display:flex;flex-wrap:wrap;gap:8px}.ots-daytrip-check-grid label{display:flex;align-items:center;gap:7px;min-height:36px;padding:0 11px;border:1px solid #e4e7ec;border-radius:9px;background:#fbfcfd;color:#344054;font-size:11px;font-weight:700;cursor:pointer}.ots-daytrip-check-grid input{width:15px;height:15px;margin:0}.ots-daytrip-guest-fields>div{display:flex;flex-wrap:wrap;gap:7px}.ots-daytrip-guest-fields>div span{padding:7px 10px;border-radius:8px;background:#f5f7fa;color:#475467;font-size:10px;font-weight:750}
.ots-daytrip-addon-list{display:grid;gap:12px;padding:0 22px 18px}.ots-daytrip-addon-row{border:1px solid #e4e7ec;border-radius:14px;background:#fff;overflow:hidden}.ots-daytrip-addon-head{display:grid;grid-template-columns:30px minmax(0,1fr) 34px;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid #f0f2f5;background:#fbfcfd}.ots-daytrip-addon-head .ots-hotel-option-number{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#fff1f3;color:#c01048;font-size:10px;font-weight:900}.ots-daytrip-addon-head strong,.ots-daytrip-addon-head small{display:block}.ots-daytrip-addon-head strong{color:#1d2939;font-size:12px}.ots-daytrip-addon-head small{margin-top:2px;color:#7d8796;font-size:9px}.ots-daytrip-addon-fields{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(150px,.7fr) minmax(240px,1fr);gap:12px;padding:14px}.ots-daytrip-addon-fields label,.ots-daytrip-followup-fields label{display:block;min-width:0;color:#536174;font-size:10px;font-weight:800}.ots-daytrip-addon-fields label>span,.ots-daytrip-followup-fields label>span{display:block;margin-bottom:6px}.ots-daytrip-addon-fields input,.ots-daytrip-addon-fields select,.ots-daytrip-followup-fields input,.ots-daytrip-followup-fields textarea{width:100%;min-height:42px;border:1px solid #dfe3e8;border-radius:9px;background:#fff;padding:0 11px;color:#1d2939;font-size:13px;font-weight:600}.ots-daytrip-followup-fields textarea{min-height:82px;padding:9px 11px;resize:vertical}.ots-daytrip-addon-fields .ots-money-input{height:42px;border-radius:9px}.ots-daytrip-addon-fields .ots-money-input input{height:40px;min-height:40px;border:0;border-radius:0 9px 9px 0}.ots-daytrip-behaviour-note{margin:0 14px 13px;padding:9px 11px;border-radius:9px;background:#f8fafc;color:#667085;font-size:10px;font-weight:650}.ots-daytrip-followup-toggle{display:flex;align-items:flex-start;gap:9px;margin:0 14px 14px;padding:11px 12px;border:1px solid #e6eaf0;border-radius:10px;background:#fff;cursor:pointer}.ots-daytrip-followup-toggle input{width:16px;height:16px;margin:1px 0 0}.ots-daytrip-followup-toggle b,.ots-daytrip-followup-toggle small{display:block}.ots-daytrip-followup-toggle b{color:#344054;font-size:10.5px}.ots-daytrip-followup-toggle small{margin-top:2px;color:#98a2b3;font-size:9px}.ots-daytrip-followup-fields{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:12px;margin:0 14px 14px;padding:13px;border-radius:11px;background:#fafbfc;border:1px solid #edf0f3}.ots-daytrip-followup-fields[hidden]{display:none}.ots-daytrip-followup-fields small{display:block;margin-top:5px;color:#98a2b3;font-size:9px;font-weight:500}.ots-daytrip-addon-rule{margin:0 22px 22px;padding:10px 12px;border-radius:10px;background:#fff9ed;border:1px solid #f2dfb3;color:#77590f;font-size:10px;line-height:1.5}
@media(max-width:760px){.ots-daytrip-setup-grid{grid-template-columns:1fr;padding:0 14px 16px}.ots-daytrip-addon-list{padding:0 14px 14px}.ots-daytrip-addon-fields,.ots-daytrip-followup-fields{grid-template-columns:1fr}.ots-daytrip-addon-rule{margin:0 14px 16px}.ots-daytrip-setup-card{grid-template-columns:36px minmax(0,1fr)}.ots-daytrip-setup-card .ots-status{grid-column:2;justify-self:start}.ots-daytrip-addon-head{grid-template-columns:28px minmax(0,1fr) 32px}.ots-daytrip-addon-fields{padding:12px}.ots-daytrip-followup-toggle,.ots-daytrip-behaviour-note,.ots-daytrip-followup-fields{margin-left:12px;margin-right:12px}}

/* v1.5.0-alpha.5 — Daytrip booking UI reuses the established booking visual language. */
.ots-daytrip-booking-flow .ots-daytrip-pax-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ots-daytrip-pax-field{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid #e3e7ed;border-radius:12px;background:#fff}
.ots-daytrip-pax-field span{display:flex;flex-direction:column;gap:3px}.ots-daytrip-pax-field small{font-size:12px;color:#7a8492}.ots-daytrip-pax-field input{width:88px;min-height:42px;text-align:center;font-weight:700;font-size:14px}
.ots-daytrip-language-options{display:flex;flex-wrap:wrap;gap:10px}.ots-daytrip-language-options label{cursor:pointer}.ots-daytrip-language-options input{position:absolute;opacity:0;pointer-events:none}.ots-daytrip-language-options span{display:block;padding:10px 15px;border:1px solid #dfe4ea;border-radius:10px;background:#fff;font-weight:700}.ots-daytrip-language-options input:checked+span{border-color:#111827;box-shadow:0 0 0 1px #111827}
.ots-daytrip-addon-booking-list{display:grid;gap:10px}.ots-daytrip-addon-booking-row{border:1px solid #e2e6ec;border-radius:12px;background:#fff;overflow:hidden}.ots-daytrip-addon-booking-row.is-selected{border-color:#cfd6df;box-shadow:0 2px 10px rgba(17,24,39,.04)}
.ots-daytrip-addon-check{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;cursor:pointer}.ots-daytrip-addon-check>span{display:flex;flex-direction:column;gap:2px}.ots-daytrip-addon-check small{font-size:12px;color:#7d8795}.ots-daytrip-addon-check>b{font-size:13px;white-space:nowrap}.ots-daytrip-addon-dependent{padding:0 16px 14px 44px}.ots-daytrip-addon-dependent label{display:grid;gap:6px;font-size:12px;font-weight:700}.ots-daytrip-addon-dependent input,.ots-daytrip-addon-dependent select{min-height:40px}
@media(max-width:760px){.ots-daytrip-booking-flow .ots-daytrip-pax-grid{grid-template-columns:1fr}.ots-daytrip-pax-field{padding:13px 14px}.ots-daytrip-addon-check{grid-template-columns:auto 1fr}.ots-daytrip-addon-check>b{grid-column:2}.ots-daytrip-addon-dependent{padding-left:42px}}
