/* The Tour Platform — White Theme */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#f5f7fa;--white:#fff;--card:#fff;
  --bd:#e2e8f0;--bd2:#cbd5e1;
  --tx:#1e293b;--tx2:#64748b;--tx3:#94a3b8;
  --ac:#e07030;--ac-hover:#c45e20;
  --gr:#22c55e;--bl:#3b82f6;--pk:#ec4899;--rd:#ef4444;
  --ac2:#f59e0b;
  --sh:0 1px 3px rgba(0,0,0,0.08);
  --sh2:0 4px 12px rgba(0,0,0,0.08);
  --r:8px;
}
html{height:100%;}
body{background:var(--bg);color:var(--tx);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:14px;min-height:100%;}
a{color:var(--ac);text-decoration:none;}
a:hover{text-decoration:underline;}

/* ── TOPBAR ── */
.topbar{background:var(--white);border-bottom:1px solid var(--bd);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.topbar-brand{font-size:18px;font-weight:800;color:var(--tx);}
.topbar-brand span{color:var(--ac);}
.topbar-right{display:flex;align-items:center;gap:16px;font-size:13px;}
.topbar-right .user-name{font-weight:600;color:var(--tx);}
.topbar-right .user-role{color:var(--tx3);font-size:11px;margin-left:4px;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--bd);background:var(--white);color:var(--tx2);transition:all .15s;text-decoration:none;white-space:nowrap;}
.btn:hover{border-color:var(--bd2);color:var(--tx);background:#f8fafc;text-decoration:none;}
.btn-primary{background:var(--ac);border-color:var(--ac);color:#fff;}
.btn-primary:hover{background:var(--ac-hover);border-color:var(--ac-hover);color:#fff;}
.btn-danger{color:var(--rd);border-color:rgba(239,68,68,.3);}
.btn-danger:hover{background:rgba(239,68,68,.06);border-color:var(--rd);}
.btn-success{background:var(--gr);border-color:var(--gr);color:#fff;}
.btn-success:hover{background:#16a34a;}
.btn-sm{padding:5px 10px;font-size:12px;}
.btn-link{background:none;border:none;color:var(--ac);cursor:pointer;font:inherit;font-weight:600;padding:0;}
.btn-link:hover{text-decoration:underline;}

/* ── FORMS ── */
.form-group{margin-bottom:14px;}
.form-label{display:block;font-size:12px;font-weight:600;color:var(--tx2);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;}
.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;border:1px solid var(--bd);border-radius:var(--r);font:inherit;font-size:14px;color:var(--tx);background:var(--white);outline:none;transition:border-color .15s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--ac);}
.form-input::placeholder{color:var(--tx3);}
.form-hint{font-size:11px;color:var(--tx3);margin-top:3px;}
.form-textarea{resize:vertical;}
.form-row{display:flex;gap:12px;}
.form-row > *{flex:1;}

/* ── CARDS ── */
.card{background:var(--card);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);}
.card-body{padding:20px;}

/* ── FLASH MESSAGES ── */
.flash{padding:12px 16px;border-radius:var(--r);margin-bottom:16px;font-size:13px;font-weight:500;}
.flash-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;}
.flash-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;}

/* ── AUTH PAGE (login/register) ── */
.auth-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;}
.auth-card{width:100%;max-width:420px;}
.auth-logo{font-size:28px;font-weight:800;text-align:center;margin-bottom:4px;}
.auth-logo span{color:var(--ac);}
.auth-sub{text-align:center;color:var(--tx3);font-size:13px;margin-bottom:24px;}
.auth-tabs{display:flex;border-bottom:2px solid var(--bd);margin-bottom:20px;}
.auth-tab{flex:1;text-align:center;padding:10px;font-size:13px;font-weight:700;color:var(--tx3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;}
.auth-tab.active{color:var(--ac);border-bottom-color:var(--ac);}
.auth-panel{display:none;}
.auth-panel.active{display:block;}
.auth-actions{display:flex;gap:8px;margin-top:18px;}
.auth-actions .btn{flex:1;}
.auth-divider{text-align:center;color:var(--tx3);font-size:12px;margin:24px 0 16px;position:relative;}
.auth-divider::before,.auth-divider::after{content:'';position:absolute;top:50%;width:38%;height:1px;background:var(--bd);}
.auth-divider::before{left:0;}
.auth-divider::after{right:0;}
.access-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;}
.access-card{background:var(--white);border:1px solid var(--bd);border-radius:var(--r);padding:16px;text-align:center;cursor:pointer;transition:all .15s;text-decoration:none;color:var(--tx);}
.access-card:hover{border-color:var(--ac);box-shadow:var(--sh2);text-decoration:none;}
.access-card .ac-icon{font-size:24px;margin-bottom:6px;}
.access-card .ac-title{font-size:12px;font-weight:700;margin-bottom:2px;}
.access-card .ac-desc{font-size:11px;color:var(--tx3);}

/* ── CONTAINER ── */
.container{max-width:1100px;margin:0 auto;padding:24px;}
.page-title{font-size:24px;font-weight:800;margin-bottom:4px;}
.page-sub{color:var(--tx3);font-size:13px;margin-bottom:20px;}

/* ── TOUR GRID (dashboard) ── */
.tour-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.tour-card{background:var(--white);border:1px solid var(--bd);border-radius:var(--r);padding:18px;transition:all .15s;cursor:pointer;text-decoration:none;color:var(--tx);display:block;}
.tour-card:hover{border-color:var(--ac);box-shadow:var(--sh2);text-decoration:none;}
.tour-card .tc-code{font-size:10px;font-weight:700;color:var(--ac);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px;}
.tour-card .tc-name{font-size:15px;font-weight:700;margin-bottom:4px;}
.tour-card .tc-meta{font-size:12px;color:var(--tx3);}
.tour-card .tc-actions{display:flex;gap:6px;margin-top:10px;}
.add-card{border:2px dashed var(--bd);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:120px;color:var(--tx3);font-size:13px;cursor:pointer;border-radius:var(--r);transition:all .15s;}
.add-card:hover{border-color:var(--ac);color:var(--ac);}
.add-card .plus{font-size:28px;font-weight:300;}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse;}
.tbl th{text-align:left;font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;border-bottom:2px solid var(--bd);}
.tbl td{padding:10px 14px;border-bottom:1px solid var(--bd);font-size:13px;}
.tbl tr:hover td{background:#f8fafc;}
.tbl .badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;}
.badge-leader{background:#eff6ff;color:var(--bl);}
.badge-hotel{background:#fef3c7;color:#92400e;}

/* ── SPA: TOUR VIEW ── */
#app{display:flex;flex-direction:column;height:calc(100vh - 56px);overflow:hidden;}
.app-header{background:var(--white);border-bottom:1px solid var(--bd);display:flex;align-items:center;padding:0 16px;gap:12px;height:48px;flex-shrink:0;}
.app-header .h-back{font-size:12px;font-weight:600;color:var(--tx2);cursor:pointer;background:none;border:1px solid var(--bd);border-radius:6px;padding:5px 10px;transition:all .12s;}
.app-header .h-back:hover{color:var(--tx);border-color:var(--bd2);}
.app-header .h-div{width:1px;height:20px;background:var(--bd);}
.app-header .h-info{flex:1;min-width:0;}
.app-header .h-code{font-size:9px;color:var(--ac);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;}
.app-header .h-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.app-header .save-dot{width:7px;height:7px;border-radius:50%;background:var(--gr);transition:background .3s;}
.app-header .save-dot.saving{background:var(--ac2);}
.app-nav{display:flex;padding:0 16px;background:var(--white);border-bottom:1px solid var(--bd);flex-shrink:0;overflow-x:auto;}
.ni{padding:10px 14px;font-size:12px;font-weight:700;color:var(--tx3);cursor:pointer;border-bottom:2px solid transparent;transition:all .12s;white-space:nowrap;}
.ni:hover{color:var(--tx2);}
.ni.on{color:var(--ac);border-bottom-color:var(--ac);}
.ni .cnt{display:inline-flex;align-items:center;justify-content:center;background:var(--rd);color:#fff;font-size:8px;width:15px;height:15px;border-radius:50%;margin-left:4px;}
.body-wrap{display:flex;flex:1;overflow:hidden;}

/* ── SIDEBAR ── */
.sidebar{width:220px;flex-shrink:0;background:var(--white);border-right:1px solid var(--bd);display:flex;flex-direction:column;overflow:hidden;}
.sb-head{padding:12px;border-bottom:1px solid var(--bd);}
.sb-lbl{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--tx3);text-transform:uppercase;margin-bottom:6px;}
.search{width:100%;background:var(--bg);border:1px solid var(--bd);border-radius:6px;padding:7px 10px;font:inherit;font-size:12px;color:var(--tx);outline:none;transition:border-color .15s;}
.search:focus{border-color:var(--ac);}
.search::placeholder{color:var(--tx3);}
.sb-body{flex:1;overflow-y:auto;padding:6px;}
.grp{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--tx3);text-transform:uppercase;padding:8px 6px 4px;}
.chip{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;border:1.5px solid transparent;margin-bottom:2px;transition:all .12s;}
.chip:hover{background:var(--bg);border-color:var(--bd);}
.chip.dim{opacity:.3;}
.chip.sel{background:#fff7ed;border-color:var(--ac);}
.av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0;color:#fff;}
.av.adult{background:linear-gradient(135deg,#6366f1,#4338ca);}
.av.driver{background:var(--bg);border:1px solid var(--bd);color:var(--tx3);}
.av.girl{background:linear-gradient(135deg,var(--pk),#be185d);}
.av.boy{background:linear-gradient(135deg,var(--bl),#1d4ed8);}
.pn{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pr{font-size:10px;color:var(--tx3);}

/* ── MAIN PANEL ── */
.main{display:flex;flex-direction:column;overflow:hidden;flex:1;min-width:0;}
.m-top{padding:16px 20px 0;border-bottom:1px solid var(--bd);flex-shrink:0;}
.city-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;}
.city-row h1{font-size:22px;font-weight:800;}
.h-tag{font-size:11px;color:var(--tx2);background:var(--bg);border:1px solid var(--bd);border-radius:4px;padding:2px 8px;}
.dates{font-size:12px;color:var(--tx3);margin-bottom:10px;}
.stats{display:flex;gap:20px;padding-bottom:12px;}
.stat{flex-shrink:0;}
.snum{font-size:22px;font-weight:800;line-height:1;}
.snum.ok{color:var(--gr);}
.snum.warn{color:var(--rd);}
.snum.tbc{color:var(--ac2);}
.slbl{font-size:9px;color:var(--tx3);text-transform:uppercase;letter-spacing:1px;margin-top:2px;}
.tabs{display:flex;}
.tab{padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;color:var(--tx3);transition:all .12s;white-space:nowrap;}
.tab:hover{color:var(--tx2);}
.tab.on{color:var(--ac);border-bottom-color:var(--ac);}
.m-body{flex:1;overflow-y:auto;padding:20px;}

/* ── TOOLBAR ── */
.tbar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center;}

/* ── ROOM CARDS ── */
.alert-b{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--r);padding:10px 14px;font-size:12px;color:#991b1b;margin-bottom:14px;}
.tbc-b{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--r);padding:10px 14px;font-size:12px;color:#92400e;margin-bottom:14px;}
.sh{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--tx3);text-transform:uppercase;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--bd);}
.rg{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:24px;}
.rc{background:var(--white);border:1.5px solid var(--bd);border-radius:var(--r);overflow:hidden;transition:all .15s;cursor:pointer;}
.rc:hover{border-color:var(--bd2);box-shadow:var(--sh);}
.rc.hot:hover{border-color:var(--ac);box-shadow:0 4px 12px rgba(224,112,48,.12);}
.rc.tbc-room{border-color:#fde68a;}
.rc-h{padding:10px 12px 7px;display:flex;align-items:center;justify-content:space-between;}
.rn{font-size:20px;font-weight:800;}
.rn.tbc{font-size:14px;color:var(--ac2);}
.tb{font-size:9px;padding:2px 7px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;}
.tb.twin{background:#eff6ff;color:var(--bl);}
.tb.single{background:#f5f3ff;color:#7c3aed;}
.tb.double{background:#fffbeb;color:#b45309;}
.tb.triple{background:#f0fdf4;color:#16a34a;}
.tb.quad{background:#fdf2f8;color:var(--pk);}
.tb.quint,.tb.sext{background:#fff7ed;color:var(--ac);}
.cbar{height:3px;background:var(--bd);margin:0 12px;}
.cfill{height:100%;border-radius:2px;transition:width .3s;background:var(--gr);}
.cfill.w{background:var(--ac2);}
.cfill.f{background:var(--rd);}
.rc-b{padding:8px 12px;min-height:34px;}
.or{display:flex;align-items:center;gap:6px;padding:3px;border-radius:4px;transition:background .1s;}
.or:hover{background:var(--bg);}
.on2{flex:1;font-size:12px;}
.ox{opacity:0;background:none;border:none;cursor:pointer;color:var(--rd);font-size:16px;padding:0 2px;min-width:20px;min-height:20px;display:flex;align-items:center;justify-content:center;}
.or:hover .ox{opacity:1;}
.re{font-size:12px;color:var(--tx3);padding:4px 0;font-style:italic;}
.rc-f{padding:6px 12px;background:var(--bg);font-size:10px;color:var(--tx3);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--bd);}
.eb{color:var(--tx3);cursor:pointer;font-size:10px;background:none;border:none;font-family:inherit;padding:3px 2px;}
.eb:hover{color:var(--tx);}
.add-rt{border:1.5px dashed var(--bd);border-radius:var(--r);display:flex;align-items:center;justify-content:center;min-height:80px;cursor:pointer;color:var(--tx3);font-size:12px;gap:6px;transition:all .15s;background:transparent;}
.add-rt:hover{border-color:var(--ac);color:var(--ac);}

/* ── MANAGE SECTION ── */
.ms{background:var(--white);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;margin-bottom:14px;box-shadow:var(--sh);}
.ms-h{padding:12px 16px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.ms-t{font-size:13px;font-weight:700;}
.ms-a{display:flex;gap:6px;flex-wrap:wrap;}
.ar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--bd);transition:background .1s;}
.ar:last-child{border-bottom:none;}
.ar:hover{background:var(--bg);}
.ar-m{flex:1;min-width:0;}
.ar-n{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ar-s{font-size:11px;color:var(--tx3);margin-top:1px;}
.ar-a{display:flex;gap:4px;flex-shrink:0;}
.ib{background:var(--bg);border:1px solid var(--bd);border-radius:5px;padding:4px 9px;cursor:pointer;font-size:10px;color:var(--tx2);transition:all .12s;font-family:inherit;font-weight:600;}
.ib:hover{color:var(--tx);border-color:var(--bd2);}
.ib.del:hover{background:#fef2f2;border-color:var(--rd);color:var(--rd);}

/* ── RENUMBER TABLE ── */
.rn-table{width:100%;border-collapse:collapse;margin-top:10px;}
.rn-table th{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--tx3);padding:8px 12px;border-bottom:1px solid var(--bd);text-align:left;}
.rn-table td{padding:6px 8px;border-bottom:1px solid var(--bd);}
.rn-table tr:last-child td{border-bottom:none;}
.rn-table .occ-cell{font-size:12px;color:var(--tx2);}
.rn-input{background:var(--bg);border:1px solid var(--bd);border-radius:6px;padding:6px 10px;font:inherit;font-size:13px;color:var(--tx);outline:none;width:100%;}
.rn-input:focus{border-color:var(--ac);}
.cur-lbl{font-size:12px;font-weight:700;color:var(--tx2);}
.rn-type{font-size:10px;padding:2px 6px;border-radius:8px;}

/* ── BREAKFAST ── */
.bfc{background:var(--white);border:1px solid var(--bd);border-radius:var(--r);padding:12px 16px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.bfd{font-size:14px;font-weight:700;}
.bft{color:var(--tx2);font-size:12px;margin-top:2px;}

/* ── PRIVATE ── */
.rc.private-room{opacity:.6;border-style:dashed;}

/* ── EMPTY STATE ── */
.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 20px;color:var(--tx3);text-align:center;gap:12px;}
.empty i{font-size:36px;font-style:normal;}
.empty h3{font-size:16px;font-weight:700;color:var(--tx2);}
.empty p{font-size:13px;line-height:1.6;max-width:280px;}

/* ── INFOBOX ── */
.infobox{background:#f8fafc;border:1px solid var(--bd);border-radius:var(--r);padding:12px 14px;font-size:12px;color:var(--tx3);line-height:1.6;margin-bottom:14px;}
.infobox b{color:var(--tx2);}

/* ── ACCESS CODE CARD ── */
.code-card{background:var(--bg);border:1px solid var(--bd);border-radius:6px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.code-val{font-family:monospace;font-size:15px;font-weight:700;letter-spacing:1px;color:var(--tx);}
.code-meta{font-size:11px;color:var(--tx3);}

/* ── MODAL ── */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:500;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{background:var(--white);border:1px solid var(--bd);border-radius:12px;padding:24px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:var(--sh2);animation:scaleIn .2s ease-out;}
@keyframes scaleIn{from{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
.modal-drag{width:36px;height:4px;background:var(--bd);border-radius:2px;margin:0 auto 16px;}
.modal h2{font-size:18px;font-weight:800;margin-bottom:18px;}
.modal .fr{margin-bottom:13px;}
.modal .fl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--tx3);margin-bottom:4px;font-weight:700;}
.modal .fi,.modal .fs{width:100%;background:var(--white);border:1px solid var(--bd);border-radius:var(--r);padding:9px 12px;font:inherit;font-size:13px;color:var(--tx);outline:none;}
.modal .fi:focus,.modal .fs:focus{border-color:var(--ac);}
.modal .fi::placeholder{color:var(--tx3);}
.modal .fhint{font-size:11px;color:var(--tx3);margin-top:3px;}
.modal .ma{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:1px solid var(--bd);}

/* ── MOBILE DRAWER ── */
.drover{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:80;}
.drawer{position:fixed;left:0;top:0;bottom:0;width:260px;background:var(--white);border-right:1px solid var(--bd);z-index:81;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .25s ease;}
.drawer.open{transform:translateX(0);}
.dr-head{padding:14px;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;}
.dr-title{font-size:14px;font-weight:700;}
.dr-close{background:none;border:none;color:var(--tx2);cursor:pointer;font-size:18px;padding:4px;}

/* ── HINT BAR ── */
.hint{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--white);border:1.5px solid var(--ac);padding:10px 18px;border-radius:40px;font-size:12px;box-shadow:var(--sh2);z-index:300;display:flex;align-items:center;gap:10px;white-space:nowrap;}
.hn{color:var(--ac);font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;}
.hx{background:none;border:none;color:var(--tx3);cursor:pointer;font-size:16px;}

/* ── MOB PAX BUTTON ── */
.mob-pax{display:none;align-items:center;gap:6px;padding:7px 12px;border-radius:6px;border:1px solid var(--bd);background:var(--white);color:var(--tx2);cursor:pointer;font:inherit;font-size:12px;font-weight:600;transition:all .12s;}
.mob-pax:active{border-color:var(--ac);color:var(--ac);}

/* ── HOTEL PAGE ── */
.hotel-city{margin-bottom:28px;}
.hotel-city h2{font-size:18px;font-weight:700;margin-bottom:4px;}
.hotel-city .hotel-meta{font-size:12px;color:var(--tx3);margin-bottom:12px;}
.room-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--bd);border-radius:var(--r);overflow:hidden;}
.room-table th{background:var(--bg);font-size:11px;font-weight:700;color:var(--tx3);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;text-align:left;}
.room-table td{padding:10px 14px;border-top:1px solid var(--bd);font-size:13px;}
.room-table tr:hover td{background:#f8fafc;}
.room-table .room-num-input{border:1px solid var(--bd);border-radius:4px;padding:5px 8px;font:inherit;font-size:13px;width:100px;outline:none;}
.room-table .room-num-input:focus{border-color:var(--ac);}

/* ── RESPONSIVE ── */
@media(max-width:640px){
  .sidebar{display:none;}
  .mob-pax{display:flex !important;}
  .rg{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
  .access-cards{grid-template-columns:1fr;}
  .form-row{flex-direction:column;}
  .container{padding:16px;}
}
@media(min-width:641px){.mob-pax{display:none !important;}}

@media print{
  .topbar,.tbar,.hint,.drover,.drawer,.no-print{display:none!important;}
  body{background:#fff;}
  .m-body{overflow:visible;padding:0;}
}
