/* WEXRI TOURS — back-office additions on top of classic.css (same design system: Tahoma 11px, bevels, navy title bars). */
#suitebar .sb-product { font-size: 10px; font-weight: bold; color: #fff; letter-spacing: 1.5px; margin-left: 2px; }
.suite-main > .retro-window { flex: 0 0 auto; }
.small { font-size: 10px; }
.warn { color: var(--warn); }
.err { color: var(--err); }
.ok { color: var(--ok); }
.num-input { width: 70px !important; text-align: right; }
input.tiny, select.tiny { width: 60px !important; }
.nowrap { white-space: nowrap; }
.stack { display: flex; flex-direction: column; gap: 6px; }
.cols-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 6px; align-items: start; }

/* destination tree */
.tree td.lvl1 { padding-left: 22px; }
.tree td.lvl2 { padding-left: 40px; }
.tree tr.k-COUNTRY td { font-weight: bold; background: #F4F6FC; }

/* hotel photos */
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.gallery figure { background: #fff; border: 2px solid; border-color: #808080 #fff #fff #808080; padding: 3px; }
.gallery img { width: 100%; height: 100px; object-fit: cover; display: block; }
.gallery figcaption { display: flex; justify-content: space-between; align-items: center; gap: 4px; padding-top: 3px; }
.thumb { width: 64px; height: 42px; object-fit: cover; border: 1px solid #808080; vertical-align: middle; }
.fac-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 2px 10px; }

/* rate sheet */
.rate-sheet th, .rate-sheet td { text-align: center; }
.rate-sheet td.rl { text-align: left; white-space: nowrap; }
.rate-sheet input { width: 64px !important; text-align: right; padding: 1px 3px; }
.rate-sheet tr.room-head td { background: #E8ECFA; font-weight: bold; text-align: left; }

/* plan matrix: outbound flight × nights */
.plan td.trip { text-align: center; min-width: 64px; }
.plan td.trip.none { color: #aaa; }
.plan td.trip.full { background: #fbe3e3; }
.plan td.trip.low { background: #fff3d6; }
.plan td.trip.ok { background: #e3f5e6; }
.plan td.trip small { display: block; color: #555; }

/* allotment calendar */
.allot td.n { text-align: center; min-width: 26px; padding: 2px 1px; font-family: 'Courier New', monospace; }
.allot td.n.stop { background: #f2c4c4; }
.allot td.n.zero { color: #bbb; }
.allot td.n.low { background: #fff0c2; }
.allot td.n.we { border-left: 1px solid #c0c0c0; }
.allot th.n { font-size: 9px; padding: 2px 1px; text-align: center; }

/* booking screen */
.bk-head { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.bk-ref { font-family: 'Courier New', monospace; font-size: 18px; font-weight: bold; color: var(--navy); }
.bk-flight { display: grid; grid-template-columns: 70px 1fr; gap: 2px 8px; }
.money-tbl td.num { font-family: 'Courier New', monospace; }
.money-tbl tr.total td { font-weight: bold; border-top: 2px solid #000; }
.pax-form input, .pax-form select { width: 100%; }
.pax-form td { padding: 2px; }

/* office search */
.offer-list .hotel-row td { background: #F4F6FC; }
.o-price { font-weight: bold; color: var(--navy); font-size: 12px; white-space: nowrap; }
.kv { display: grid; grid-template-columns: max-content 1fr; gap: 3px 12px; }
.kv > :nth-child(odd) { color: #555; }
pre.json { background: #fff; border: 1px solid #808080; padding: 6px; max-height: 360px; overflow: auto; font-size: 11px; white-space: pre-wrap; word-break: break-all; }
.secret { font-family: 'Courier New', monospace; background: #ffffe0; padding: 4px 8px; border: 1px dashed #a06000; word-break: break-all; }
@media print { .no-print, #suitebar, .top-toolbar, .view-bar { display: none !important; } body.suite { background: #fff; } .retro-window { box-shadow: none; border: 0; } .window-header { background: #fff; color: #000; border-bottom: 2px solid #000; } }
