:root{--g:#20a928;--dg:#002d12;--lg:#f2fff4;--txt:#102016;--mut:#617067;--card:#fff;--bd:#dcebdd}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--txt);background:#fbfffc}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);z-index:10;border-bottom:1px solid var(--bd)}.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.logo img{height:58px}.menu{display:flex;gap:22px;align-items:center;font-weight:700}.hamb{display:none;background:var(--dg);color:#fff;border:0;border-radius:12px;padding:10px 13px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:16px;background:var(--g);color:#fff;font-weight:800;padding:14px 20px;box-shadow:0 12px 25px rgba(32,169,40,.18);cursor:pointer}.btn.dark{background:var(--dg)}.btn.ghost{background:#eaffed;color:var(--dg);box-shadow:none}.btn.small{padding:10px 14px;border-radius:12px}.hero{background:radial-gradient(circle at 20% 20%,#e3ffe7,transparent 35%),linear-gradient(135deg,#fff,#f2fff4);padding:70px 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero h1{font-size:clamp(36px,5vw,66px);line-height:1.02;margin:0 0 18px;color:var(--dg)}.hero p{font-size:20px;color:var(--mut);line-height:1.6}.searchbox,.card{background:var(--card);border:1px solid var(--bd);border-radius:28px;padding:24px;box-shadow:0 20px 45px rgba(0,45,18,.08)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.section{padding:54px 0}.section h2{font-size:34px;color:var(--dg)}input,select,textarea{width:100%;border:1px solid var(--bd);border-radius:14px;padding:14px;background:#fff;font-size:15px}label{display:block;font-weight:800;margin-bottom:8px}.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tour-card{overflow:hidden;padding:0}.tour-card img{width:100%;height:210px;object-fit:cover;background:#e9f7eb}.tour-body{padding:18px}.badges{display:flex;flex-wrap:wrap;gap:8px}.badge{background:#eaffed;color:var(--dg);border-radius:999px;padding:7px 10px;font-weight:800;font-size:12px}.price{font-size:24px;font-weight:900;color:var(--g)}.detail{display:grid;grid-template-columns:1.35fr .65fr;gap:25px}.gallery{border-radius:28px;overflow:hidden}.gallery img{width:100%;height:430px;object-fit:cover;background:#eaffed}.seat-map{display:grid;gap:8px;justify-content:center;background:#f7fff8;padding:18px;border-radius:22px;border:1px dashed var(--bd)}.seat{width:44px;height:42px;border-radius:12px;border:1px solid var(--bd);display:flex;align-items:center;justify-content:center;font-weight:900;cursor:pointer;background:#fff}.seat.free{background:#eaffed}.seat.selected{background:#ffeaa2}.seat.sold{background:#ddd;cursor:not-allowed}.seat.blocked{background:#ffdddd;cursor:not-allowed}.seat.female{border-color:#d14faa}.seat.male{border-color:#4092ff}.steps{display:grid;gap:12px}.step{display:flex;gap:14px;align-items:flex-start}.num{background:var(--dg);color:white;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 34px}.footer{background:var(--dg);color:#fff;margin-top:60px;padding:42px 0 15px}.footer img{height:65px;background:#fff;border-radius:16px;padding:6px}.footgrid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:35px}.footgrid a{display:block;margin:8px 0;color:#dafadd}.copy{text-align:center;border-top:1px solid rgba(255,255,255,.15);margin-top:25px;padding-top:15px;color:#bbe8c2}.admin-wrap{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-side{background:var(--dg);color:#fff;padding:22px}.admin-side a{display:block;padding:12px;border-radius:12px;margin:5px 0}.admin-side a:hover{background:rgba(255,255,255,.12)}.admin-main{padding:28px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}.table th,.table td{padding:14px;border-bottom:1px solid var(--bd);text-align:left}.alert{padding:14px;border-radius:14px;background:#eaffed;margin:12px 0}.mobile-book{display:none}
@media(max-width:850px){.menu{display:none;position:absolute;left:4%;right:4%;top:80px;background:#fff;border:1px solid var(--bd);border-radius:22px;padding:18px;box-shadow:0 20px 40px rgba(0,0,0,.08);flex-direction:column;align-items:flex-start}.menu.open{display:flex}.hamb{display:block}.hero-grid,.detail,.footgrid,.admin-wrap{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.gallery img{height:260px}.mobile-book{display:flex;position:fixed;bottom:12px;left:4%;right:4%;z-index:9}.logo img{height:46px}.admin-side{position:relative}.section{padding:36px 0}}

/* ==== Visual bus layout update ==== */
.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.layout-admin-grid{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}.layout-tools{position:sticky;top:18px}.layout-tools .btn{width:100%;margin:4px 0}.bus-layout-shell{overflow:auto;padding:20px;background:#eefbf0;border:1px solid var(--bd);border-radius:28px}.bus-layout-admin,.bus-layout-public{position:relative;margin:auto;background:linear-gradient(180deg,#fff,#f7fff8);border:6px solid var(--dg);border-radius:92px 92px 38px 38px;box-shadow:0 20px 45px rgba(0,45,18,.12);max-width:100%}.bus-layout-public{overflow:hidden;border-width:5px;transform-origin:top center}.bus-windshield{position:absolute;left:62px;right:62px;top:8px;height:18px;border-radius:0 0 18px 18px;background:#dff4e3;color:#50745b;text-align:center;font-size:10px;font-weight:800;line-height:18px}.layout-item{position:absolute;border:1px solid var(--bd);border-radius:12px;background:#eaffed;color:#001c0c;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;user-select:none;text-align:center}.bus-layout-admin .layout-item{cursor:move}.layout-item.selected{outline:3px solid #ffce39;z-index:4}.layout-item.type-driver{background:#002d12;color:#fff;border-radius:14px}.layout-item.type-door_front,.layout-item.type-door_back{background:#d7f8ff;color:#064150;border-style:dashed}.layout-item.type-wc{background:#eee;color:#333}.layout-item.type-label,.layout-item.type-empty{background:#fff;color:#617067;border-style:dashed}.layout-item.status-free{background:#eaffed}.layout-item.status-blocked,.layout-item.status-sold{background:#ddd;color:#777;cursor:not-allowed}.layout-item.status-service{background:#e8f4ff;color:#0d4a69}.public-item{border:1px solid #c9ebd0}.public-item.seat.status-free{cursor:pointer}.public-item.seat.selected{background:#ffeaa2!important;border-color:#e7b900;box-shadow:0 0 0 3px rgba(255,206,57,.25)}.seat-legend{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 14px;font-size:12px;font-weight:800}.seat-legend i{display:inline-block;width:14px;height:14px;border-radius:5px;vertical-align:-2px;margin-right:4px;border:1px solid var(--bd)}.leg-free{background:#eaffed}.leg-selected{background:#ffeaa2}.leg-blocked{background:#ddd}.booking-card{overflow:hidden}.booking-card .bus-layout-public{margin-top:12px}.bus-layout-public .layout-item{font-size:12px}
@media(max-width:850px){.admin-head,.layout-admin-grid{grid-template-columns:1fr;display:block}.layout-tools{position:static;margin-bottom:16px}.bus-layout-shell{padding:10px}.booking-card .bus-layout-public{transform:scale(.82);margin-left:auto;margin-right:auto;margin-bottom:-120px}}
@media(max-width:430px){.booking-card .bus-layout-public{transform:scale(.74);margin-bottom:-180px}}
/* Update 3 additions */
.thumb-row{display:flex;gap:10px;margin:10px 0;overflow:auto}.thumb-row img{width:120px;height:78px;object-fit:cover;border-radius:14px}.booking-modern{position:sticky;top:92px}.customer-card{background:#f5fff6;border:1px solid #d9f4dd;border-radius:18px;padding:14px;margin:15px 0}.muted{color:#667;margin:8px 0 12px}.info-list{background:#fff;border:1px solid #e6efe8;border-radius:18px;padding:18px;line-height:1.8;white-space:pre-line}.info-list.success{background:#f4fff5;border-color:#bfeec7}.info-list.warn{background:#fffdf3;border-color:#eee0a8}.mini-calendar{background:#fff;border:1px solid #dfeee2;border-radius:18px;padding:12px;margin:8px 0 14px;box-shadow:0 8px 24px rgba(0,45,18,.07)}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-head button{border:0;background:#eaf8ed;border-radius:10px;padding:7px 12px;font-size:20px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-days{color:#667;font-size:12px;text-align:center;margin-bottom:6px}.cal-grid button{border:1px solid #e5e5e5;background:#f3f3f3;border-radius:10px;min-height:36px;color:#aaa}.cal-grid button.enabled{background:#20A928;color:white;border-color:#20A928;font-weight:700;cursor:pointer}.cal-grid button.selected{outline:3px solid #002D12}.bus-layout-public{position:relative;max-width:100%;margin:12px auto;background:linear-gradient(180deg,#f8fff9,#ffffff);border:6px solid #1b1f23;border-radius:38px;padding:0;overflow:hidden;transform-origin:top center}.bus-windshield{position:absolute;top:7px;left:50%;transform:translateX(-50%);background:#dff4ff;border:1px solid #9ed4e8;border-radius:0 0 18px 18px;padding:4px 28px;font-size:12px;font-weight:700;color:#225}.layout-item{position:absolute;border:1px solid #cbd5d1;border-radius:10px;background:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}.public-item.seat{cursor:pointer;background:#f0fff2;border-color:#20A928;color:#0d6d16}.public-item.seat.selected{background:#ffcf4a;border-color:#b88600;color:#2a2100}.public-item.status-sold,.public-item.status-blocked{background:#d6d6d6!important;color:#777!important;border-color:#aaa!important;cursor:not-allowed}.type-driver{background:#1f2937;color:#fff}.type-door_front,.type-door_back{background:#fff1d6;color:#8a5200;border-color:#ffca76}.type-aisle{background:#edf7ff;color:#438}.seat-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;margin:8px 0}.seat-legend i{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:5px;vertical-align:middle}.leg-free{background:#20A928}.leg-selected{background:#ffcf4a}.leg-blocked{background:#aaa}.admin-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.admin-calendar-grid button{min-height:44px;border-radius:12px;border:1px solid #d8e8dc;background:#fff}.admin-calendar-grid button.active{background:#20A928;color:#fff;font-weight:800}.print-seat-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media print{header,.admin-sidebar,.btn,form,.no-print{display:none!important}.card{box-shadow:none;border:1px solid #ddd}.bus-layout-public{transform:scale(.85);transform-origin:top left}}@media(max-width:900px){.booking-modern{position:static}.bus-layout-public{transform:scale(.82);transform-origin:top left;margin-left:0}.detail{grid-template-columns:1fr!important}}
.program-row{display:grid;grid-template-columns:120px 1fr 2fr;gap:10px;margin:8px 0}.program-row textarea{min-height:44px}@media(max-width:700px){.program-row{grid-template-columns:1fr}}
/* ==== Update 4: multi-destination, better calendar, premium cards, bus alignment ==== */
.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 22px}.check-card{display:flex;align-items:center;gap:8px;border:1px solid var(--bd);border-radius:14px;padding:12px;background:#fff;margin:0}.check-card input{width:auto}.check-card:has(input:checked){background:#eaffed;border-color:var(--g);box-shadow:0 8px 20px rgba(32,169,40,.12)}
.filter-card{margin-bottom:16px}.date-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.date-card{background:#fff;border:1px solid var(--bd);border-radius:18px;padding:14px;display:grid;grid-template-columns:1.2fr .95fr 1.3fr .6fr .7fr 1fr;gap:10px;align-items:end}.date-card span{display:block;color:#65756a;font-size:13px;margin-top:4px}.date-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-calendar-grid button.exists{background:#eaffed;border-color:#20A928;color:#002D12;font-weight:900}.admin-calendar-grid button.active{background:#20A928!important;color:#fff!important}
.tour-card .tour-body{text-align:center}.tour-card .badges{justify-content:center}.tour-card .price{margin:14px auto 12px;background:linear-gradient(135deg,#20A928,#0c7b18);color:#fff;border-radius:999px;padding:9px 18px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(32,169,40,.22)}.tour-card .btn{display:inline-flex;margin:auto}.tour-card{transition:.25s ease}.tour-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(0,45,18,.13)}
.mobile-first-booking{margin:22px 0}.tour-detail-grid{grid-template-columns:1fr!important}.booking-card{max-width:760px}.bus-layout-public-wrap{overflow:hidden;display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,#f5fff6,#fff);border:1px solid #dcefe0;border-radius:24px;padding:14px}.bus-layout-admin,.bus-layout-public{border-radius:120px 120px 42px 42px!important;border:7px solid #102018!important;background:linear-gradient(180deg,#ffffff 0%,#f8fff9 60%,#fff 100%)!important;box-shadow:inset 0 0 0 4px rgba(32,169,40,.08),0 24px 55px rgba(0,45,18,.12)}.bus-layout-admin:before,.bus-layout-public:before{content:"";position:absolute;left:18px;right:18px;top:22px;bottom:18px;border:2px solid #dfe8e1;border-radius:100px 100px 30px 30px;pointer-events:none}.bus-windshield{z-index:2}.layout-item{z-index:3}.layout-item.type-driver{background:#102018!important;color:#fff!important}.layout-item.type-door_front,.layout-item.type-door_back{background:#fff4d9!important;color:#835000!important;border:2px dashed #f0ad34!important}.public-item.seat.status-free{background:#eaffed!important;border-color:#20A928!important;color:#00320f!important}.public-item.seat.selected{background:#ffcf4a!important}.public-item.status-sold,.public-item.status-blocked{background:#cfcfcf!important;color:#666!important;border-color:#aaa!important}.admin-booking{max-width:980px}
.info-accordion{background:#fff;border:1px solid var(--bd);border-radius:22px;margin:14px 0;overflow:hidden;box-shadow:0 12px 30px rgba(0,45,18,.06)}.info-accordion>button{width:100%;border:0;background:#f6fff7;padding:18px 20px;display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:900;color:var(--dg);cursor:pointer}.info-accordion>button b{background:var(--g);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.info-content{display:none;padding:18px 22px;line-height:1.85;white-space:pre-line}.info-accordion.open .info-content{display:block}.info-accordion.success>button{background:#effff1}.info-accordion.warn>button{background:#fffbed}.steps{white-space:normal}.step p{margin:4px 0 0;color:#526056}
@media(max-width:1050px){.date-card{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.check-grid,.date-cards,.date-card{grid-template-columns:1fr}.booking-card{max-width:none}.mobile-first-booking{margin:16px -2px}.bus-layout-public-wrap{padding:8px}.tour-card .price{font-size:20px}.info-accordion>button{font-size:16px;padding:15px}}
@media print{.admin-side,.admin-wrap>aside,.header,.footer,.menu,.print-actions,.no-print{display:none!important}.admin-wrap{display:block}.admin-main{padding:0}.card{box-shadow:none!important}.manifest-page .bus-layout-public{transform:none!important}}
