:root { --navy:#10253f; --blue:#1769e0; --sky:#eaf3ff; --ink:#172436; --muted:#64748b; --line:#e5eaf1; --green:#168561; --amber:#e58a16; --red:#d24b4b; --white:#fff; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:#f7f9fc; font-family:'DM Sans',sans-serif; } button,input,select { font:inherit; } button { cursor:pointer; border:0; } a { color:inherit; text-decoration:none; }
.topbar { background:var(--navy); color:#dce9f9; text-align:center; padding:8px 16px; font-size:13px; }.topbar strong { color:#fff; }
.nav { height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,6vw,88px); background:#fff; border-bottom:1px solid var(--line); }.brand { display:flex; align-items:center; gap:11px; color:var(--navy); font:800 20px 'Manrope'; }.brand-mark { width:37px; height:37px; display:grid; place-items:center; border-radius:11px; background:var(--blue); color:#fff; font-size:21px; }.nav-links { display:flex; gap:28px; color:#536174; font-weight:600; }.nav-links a:hover { color:var(--blue); }.nav-action,.primary { background:var(--blue); color:white; padding:11px 18px; border-radius:9px; font-weight:700; }.nav-action:hover,.primary:hover { background:#0756c5; }.page { max-width:1180px; margin:0 auto; padding:42px 24px 72px; }
.hero { min-height:468px; color:white; padding:76px clamp(24px,7vw,96px); background:linear-gradient(108deg,rgba(10,28,51,.94) 2%,rgba(16,37,63,.77) 56%,rgba(11,44,83,.28)),url('https://images.unsplash.com/photo-1494516192674-b82b5f1c9c6f?auto=format&fit=crop&w=2000&q=80') center/cover; }.hero-content { max-width:650px; }.eyebrow { text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:700; color:#72b5ff; }.hero h1 { font:800 clamp(36px,5vw,60px)/1.1 'Manrope'; margin:13px 0 18px; }.hero p { font-size:18px; line-height:1.6; color:#e1eaf5; max-width:560px; }.hero .primary { display:inline-block; margin-top:16px; }.trust-row { background:#fff; box-shadow:0 10px 28px #213e6321; display:grid; grid-template-columns:repeat(3,1fr); max-width:860px; margin:-38px auto 0; position:relative; border-radius:14px; }.trust { padding:20px 26px; display:flex; gap:13px; align-items:center; border-right:1px solid var(--line); }.trust:last-child { border:0; }.trust-icon { color:var(--blue); font-size:23px; }.trust b { display:block; }.trust span { color:var(--muted); font-size:13px; }
.section { margin-top:72px; }.section h2,.page-title { font:800 30px 'Manrope'; margin:0 0 10px; }.lead { color:var(--muted); margin:0; line-height:1.6; }.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:28px; }.step { background:white; border:1px solid var(--line); border-radius:14px; padding:24px; }.step-no { color:var(--blue); font-weight:800; font-size:13px; }.step h3 { margin:12px 0 7px; font:700 18px 'Manrope'; }.step p { margin:0; color:var(--muted); line-height:1.5; }
.booking-shell { background:#f7f9fc; min-height:calc(100vh - 76px); }.form-wrap { display:grid; grid-template-columns:1fr 300px; gap:26px; align-items:start; }.panel { background:#fff; border:1px solid var(--line); border-radius:14px; padding:30px; }.panel h2 { font:800 22px 'Manrope'; margin:0 0 6px; }.panel-sub { color:var(--muted); margin:0 0 27px; }.form-section { padding:23px 0; border-top:1px solid var(--line); }.form-section h3 { margin:0 0 17px; font:700 16px 'Manrope'; }.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.field-grid.triple { grid-template-columns:repeat(3,1fr); }.field { display:flex; flex-direction:column; gap:7px; }.field label { color:#445266; font-size:13px; font-weight:700; }.field input,.field select { border:1px solid #d8e0ea; border-radius:8px; padding:12px; color:var(--ink); background:#fff; width:100%; }.field input:focus,.field select:focus { outline:2px solid #b8d7ff; border-color:var(--blue); }.form-actions { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-top:22px; }.secure { font-size:13px; color:var(--muted); }.summary-card { position:sticky; top:20px; }.summary-card h3 { margin-top:0; font:800 17px 'Manrope'; }.summary-line { display:flex; justify-content:space-between; margin:15px 0; color:var(--muted); font-size:14px; }.summary-line.total { border-top:1px solid var(--line); padding-top:16px; color:var(--ink); font-size:16px; font-weight:700; }.summary-note { background:var(--sky); color:#315477; border-radius:8px; padding:13px; font-size:13px; line-height:1.45; }
.field-hint { color:var(--muted); font-size:12px; line-height:1.35; }.field-error { min-height:16px; color:var(--red); font-size:12px; font-weight:600; }.field input.invalid { border-color:var(--red); background:#fffafb; }.form-alert { margin:0 0 20px; padding:11px 13px; color:#9e3030; background:#fff1f1; border:1px solid #f2c8c8; border-radius:8px; font-size:13px; font-weight:600; }.return-toggle { display:flex; align-items:center; gap:11px; margin-top:20px; cursor:pointer; color:var(--ink); }.return-toggle input { position:absolute; opacity:0; }.return-toggle .switch { width:38px; height:22px; flex:0 0 auto; border-radius:99px; background:#cad3df; position:relative; transition:.2s; }.return-toggle .switch:after { content:''; width:16px; height:16px; position:absolute; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 1px 3px #0003; transition:.2s; }.return-toggle input:checked + .switch { background:var(--blue); }.return-toggle input:checked + .switch:after { transform:translateX(16px); }.return-toggle b { display:block; font-size:14px; }.return-toggle small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }.return-fields { margin-top:18px; padding:18px; background:#f8fbff; border:1px solid #dbe9fa; border-radius:9px; }
.return-fields[hidden] { display:none; }
.confirmation { max-width:720px; margin:25px auto; text-align:center; }.success-icon { width:68px; height:68px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:#dcf8ee; color:var(--green); font-size:33px; }.confirmation h1 { font:800 34px 'Manrope'; margin:0 0 10px; }.confirmation > p { color:var(--muted); line-height:1.6; }.ticket { text-align:left; margin-top:30px; padding:0; overflow:hidden; }.ticket-head { padding:20px 26px; background:var(--navy); color:#fff; display:flex; justify-content:space-between; }.ticket-head small { color:#b8cae1; display:block; margin-bottom:4px; }.ticket-body { padding:25px; }.route { display:grid; grid-template-columns:20px 1fr; gap:13px; }.route-dot { color:var(--blue); font-size:19px; line-height:1.2; }.route-stop { padding-bottom:22px; position:relative; }.route-stop:first-child:after { content:''; position:absolute; width:2px; background:#ccd8e5; left:-24px; top:22px; bottom:5px; }.route-stop small { color:var(--muted); display:block; }.ticket-info { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; border-top:1px solid var(--line); padding-top:20px; }.ticket-info small { display:block; color:var(--muted); margin-bottom:4px; }.confirmation-actions { margin-top:24px; display:flex; gap:12px; justify-content:center; }.secondary { color:var(--blue); background:white; border:1px solid #b8d3f7; padding:10px 17px; border-radius:9px; font-weight:700; }
.app-shell { display:grid; grid-template-columns:245px 1fr; min-height:100vh; }.sidebar { background:var(--navy); color:#d3dfed; padding:24px 15px; }.sidebar .brand { color:#fff; padding:0 10px 28px; }.side-section { color:#88a3c1; font-size:11px; text-transform:uppercase; letter-spacing:.1em; padding:13px 12px 8px; }.side-link { display:flex; gap:11px; align-items:center; padding:12px; margin:3px 0; border-radius:8px; color:#d5e1ef; font-size:14px; font-weight:600; }.side-link.active,.side-link:hover { color:#fff; background:#244462; }.side-bottom { position:absolute; bottom:22px; }.dashboard { padding:34px; }.dash-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }.dash-top h1 { margin:0; font:800 28px 'Manrope'; }.dash-top p { margin:5px 0 0; color:var(--muted); }.user { display:flex; gap:10px; align-items:center; font-size:14px; font-weight:700; }.avatar { width:35px; height:35px; display:grid; place-items:center; color:#fff; border-radius:50%; background:#4c7cb3; }.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }.metric { background:#fff; border:1px solid var(--line); padding:20px; border-radius:12px; }.metric-label { color:var(--muted); font-size:13px; }.metric-value { font:800 26px 'Manrope'; margin:7px 0; }.metric-change { color:var(--green); font-size:12px; font-weight:700; }.metric-change.orange { color:var(--amber); }.content-grid { display:grid; grid-template-columns:1.4fr .8fr; gap:18px; margin-top:24px; }.table-card,.activity { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; }.card-header { padding:20px 22px; display:flex; align-items:center; justify-content:space-between; }.card-header h2 { margin:0; font:700 17px 'Manrope'; }.view-link { color:var(--blue); font-size:13px; font-weight:700; }.data-table { width:100%; border-collapse:collapse; text-align:left; }.data-table th { color:var(--muted); background:#fafbfd; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }.data-table th,.data-table td { padding:14px 20px; border-top:1px solid var(--line); font-size:13px; }.data-table td b { display:block; }.data-table td span { color:var(--muted); font-size:12px; }.badge { display:inline-block; padding:5px 8px; border-radius:20px; font-size:11px; font-weight:700; }.badge.pending { color:#a55c06; background:#fff0d9; }.badge.confirmed,.badge.assigned { color:#087153; background:#dff7ed; }.badge.progress { color:#1b60ae; background:#e2f0ff; }.activity-item { display:flex; gap:12px; padding:14px 20px; border-top:1px solid var(--line); font-size:13px; }.activity-time { min-width:36px; color:var(--muted); font-size:12px; }.activity p { margin:0; line-height:1.45; }.toolbar { margin:25px 0 16px; display:flex; justify-content:space-between; gap:12px; }.search { border:1px solid #d8e0ea; padding:10px 12px; border-radius:8px; width:265px; }.filter { background:#fff; border:1px solid #d8e0ea; padding:10px; border-radius:8px; color:#40516a; }.wide-card { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:auto; }.assign { background:#eaf3ff; color:#1769e0; padding:6px 8px; border-radius:5px; font-size:11px; font-weight:700; }.driver-list { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.driver-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:20px; }.driver-top { display:flex; align-items:center; gap:12px; }.driver-top .avatar { width:45px; height:45px; font-size:17px; }.driver-card h3 { margin:0; font:700 16px 'Manrope'; }.driver-card small { color:var(--muted); }.driver-stats { display:flex; gap:24px; padding-top:18px; margin-top:18px; border-top:1px solid var(--line); }.driver-stats b { display:block; }.driver-stats span { color:var(--muted); font-size:11px; }.driver-status { float:right; color:var(--green); font-size:12px; font-weight:700; }.trip-card { background:#fff; border:1px solid var(--line); border-left:4px solid var(--blue); padding:21px; border-radius:10px; margin-bottom:16px; }.trip-card h3 { margin:0 0 5px; font:700 18px 'Manrope'; }.trip-meta { color:var(--muted); font-size:13px; }.trip-route { display:flex; gap:18px; margin:18px 0; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.trip-route div { flex:1; }.trip-route small { display:block; color:var(--muted); margin-bottom:4px; }.trip-actions { display:flex; justify-content:flex-end; gap:10px; }.danger { color:var(--red); background:#fff; border:1px solid #f2c8c8; padding:10px 14px; border-radius:8px; font-weight:700; }.empty { color:var(--muted); text-align:center; padding:25px; }
@media(max-width:850px) { .nav-links { display:none; }.form-wrap,.content-grid { grid-template-columns:1fr; }.summary-card { position:static; }.metrics { grid-template-columns:repeat(2,1fr); }.driver-list { grid-template-columns:1fr 1fr; }.app-shell { grid-template-columns:1fr; }.sidebar { display:none; }.dashboard { padding:24px 16px; }.data-table { min-width:650px; }.field-grid.triple { grid-template-columns:1fr; } }
@media(max-width:540px) { .nav { padding:0 16px; }.nav-action { padding:9px 11px; font-size:13px; }.hero { padding:65px 24px; min-height:430px; }.trust-row,.steps { grid-template-columns:1fr; margin:0; border-radius:0; }.trust { border-right:0; border-bottom:1px solid var(--line); }.page { padding:28px 16px 56px; }.panel { padding:21px 17px; }.field-grid { grid-template-columns:1fr; }.form-actions,.dash-top,.toolbar { align-items:stretch; flex-direction:column; }.form-actions .primary,.toolbar .primary,.search { width:100%; }.ticket-info { grid-template-columns:1fr 1fr; }.metrics,.driver-list { grid-template-columns:1fr; }.confirmation-actions { flex-direction:column; }.confirmation-actions button { width:100%; } }

/* Premium visual refresh — layout and interactions stay unchanged. */
:root { --navy:#101a27; --blue:#c99b52; --sky:#f6efe3; --ink:#152131; --muted:#6f7883; --line:#e8e5df; --green:#168561; --amber:#c99037; --white:#fffdf9; }
body { background:#f6f5f2; letter-spacing:-.01em; }
.topbar { background:#101a27; color:#bdc5cd; padding:9px 16px; font-size:11px; letter-spacing:.07em; text-transform:uppercase; }.topbar strong { color:#d7ad68; }
.nav { height:80px; background:rgba(255,253,249,.96); border-bottom:1px solid #ece8e0; }.brand { gap:10px; letter-spacing:-.04em; }.brand-mark { width:36px; height:36px; border-radius:50%; background:#c99b52; color:#101a27; box-shadow:0 5px 14px #c99b5255; }.nav-links { gap:32px; font-size:13px; color:#4e5966; }.nav-links a { position:relative; }.nav-links a:hover { color:#101a27; }.nav-links a:hover:after { content:''; position:absolute; height:1px; left:0; right:0; bottom:-8px; background:#c99b52; }.nav-action,.primary { background:#c99b52; color:#101a27; border-radius:7px; padding:12px 19px; box-shadow:0 7px 16px #c99b5233; }.nav-action:hover,.primary:hover { background:#b88842; color:#101a27; transform:translateY(-1px); }
.brand-byline { display:block; margin-top:-2px; color:#a77835; font:700 10px 'DM Sans'; letter-spacing:.02em; }
.hero { min-height:530px; display:flex; align-items:center; position:relative; overflow:hidden; background:linear-gradient(95deg,rgba(12,22,34,.97) 0%,rgba(16,26,39,.89) 48%,rgba(16,26,39,.41)),url('https://images.unsplash.com/photo-1494516192674-b82b5f1c9c6f?auto=format&fit=crop&w=2000&q=80') center/cover; }.hero:after { content:''; position:absolute; width:420px; height:420px; right:-175px; bottom:-215px; border:1px solid #d9ad6850; border-radius:50%; box-shadow:0 0 0 46px #d9ad6814,0 0 0 92px #d9ad680b; }.hero-content { position:relative; z-index:1; }.eyebrow { color:#d7ad68; font-size:10px; letter-spacing:.18em; }.hero h1 { max-width:670px; font-size:clamp(39px,5vw,64px); letter-spacing:-.055em; }.hero p { font-size:17px; max-width:500px; }.hero .primary { margin-top:21px; }
.trust-row { max-width:920px; border-radius:9px; box-shadow:0 16px 38px #101a2719; }.trust { padding:22px 29px; }.trust-icon { color:#c99b52; }.trust b { font-size:14px; }.trust span { font-size:12px; }
.page { max-width:1160px; }.section { margin-top:86px; }.section h2,.page-title { font-size:31px; letter-spacing:-.045em; }.lead { font-size:15px; }.steps { gap:16px; margin-top:31px; }.step { border:0; border-radius:8px; padding:27px; box-shadow:0 8px 24px #1b29380a; }.step-no { color:#b8873f; }.step h3 { font-size:17px; }.step p { font-size:14px; }
.booking-shell { background:linear-gradient(135deg,#f8f7f4 0%,#f4f1eb 100%); }.form-wrap { gap:22px; }.panel { border:1px solid #e9e5dd; border-radius:10px; box-shadow:0 12px 32px #1521310a; }.panel h2 { letter-spacing:-.04em; }.panel-sub { font-size:14px; }.form-section { border-color:#eeeae3; }.form-section h3 { font-size:15px; }.field label { font-size:12px; color:#45505d; letter-spacing:.01em; }.field input,.field select { border-color:#dedbd5; border-radius:6px; padding:13px; background:#fffefa; transition:border .2s,box-shadow .2s; }.field input:focus,.field select:focus { outline:none; border-color:#c99b52; box-shadow:0 0 0 3px #c99b5224; }.field-hint { color:#89919a; }.summary-card { border-top:3px solid #c99b52; }.summary-card h3 { font-size:16px; }.summary-note { background:#f7f0e5; color:#5d5548; border-radius:6px; }.return-toggle { border-top:1px solid #eeeae3; padding-top:19px; }.return-toggle .switch { background:#cfd4d8; }.return-toggle input:checked + .switch { background:#c99b52; }.return-fields { background:#faf7f0; border-color:#eee3d2; border-radius:7px; }
.success-icon { background:#e8f6ef; }.ticket { border-top:3px solid #c99b52; }.ticket-head { background:#101a27; }.secondary { color:#8a6024; border-color:#d7b477; border-radius:7px; }.secondary:hover { background:#fcf6ec; }
.sidebar { background:#101a27; }.sidebar .brand { padding-bottom:34px; }.side-section { color:#84919f; }.side-link { border-radius:6px; }.side-link.active,.side-link:hover { background:#243142; }.dashboard { background:#f7f7f5; }.dash-top h1 { letter-spacing:-.045em; }.metric,.table-card,.activity,.wide-card,.driver-card,.trip-card { border-color:#e8e5df; border-radius:9px; box-shadow:0 8px 22px #15213108; }.metric { padding:21px; }.metric-value { letter-spacing:-.045em; }.data-table th { background:#faf9f6; }.data-table th,.data-table td { border-color:#eeeae3; }.assign { background:#f7eedf; color:#8c6329; }.trip-card { border-left-color:#c99b52; }.badge.pending { color:#925b0d; background:#fff1d8; }
@media(max-width:540px) { body { background:#f7f6f3; }.topbar { font-size:9px; padding:8px 12px; }.nav { height:68px; }.brand { font-size:18px; }.brand-mark { width:32px; height:32px; }.nav-action { padding:9px 12px; border-radius:6px; box-shadow:none; }.hero { min-height:455px; padding:55px 24px 60px; align-items:flex-end; background-position:60% center; }.hero:after { width:300px; height:300px; right:-155px; bottom:-138px; }.hero h1 { font-size:39px; line-height:1.09; }.hero p { font-size:15px; line-height:1.55; }.hero .primary { width:100%; text-align:center; padding:14px; }.trust-row { margin:0 16px; border-radius:8px; }.trust { padding:17px 18px; }.page { padding:34px 16px 58px; }.page-title { font-size:29px; }.lead { font-size:14px; }.form-wrap { margin-top:20px!important; }.panel { border-radius:9px; padding:23px 18px; }.panel h2 { font-size:21px; }.form-section { padding:21px 0; }.field input,.field select { min-height:48px; font-size:16px; }.return-toggle { align-items:flex-start; }.return-toggle .switch { margin-top:4px; }.summary-card { display:none; }.form-actions { padding-top:19px; }.form-actions .primary { padding:14px; }.steps { gap:12px; }.step { padding:22px; }.dashboard { padding:26px 16px; } }

/* Home and booking-form redesign */
.home-new { overflow:hidden; background:#fbfaf8; }.home-new .home-hero { min-height:530px; padding:74px max(7vw,44px) 156px; display:grid; grid-template-columns:minmax(0,1.08fr) .92fr; gap:20px; align-items:center; position:relative; color:#fdfcf9; background:#121e2b; }.home-new .home-hero:before { content:''; position:absolute; inset:0; opacity:.7; background:radial-gradient(circle at 72% 40%,#294666 0,transparent 23%),radial-gradient(circle at 52% 100%,#80633a55 0,transparent 36%); }.hero-copy,.hero-art { position:relative; z-index:1; }.home-new .eyebrow { color:#ddbd85; }.hero-copy h1 { margin:13px 0 16px; max-width:700px; font:800 clamp(46px,5vw,72px)/.99 'Manrope'; letter-spacing:-.075em; }.hero-copy h1 em { color:#d9af6c; font-style:normal; }.hero-copy p { margin:0; color:#d6dce2; font-size:18px; }.hero-proof { margin-top:30px; display:flex; align-items:center; gap:12px; color:#d7dce3; font-size:12px; font-weight:700; }.hero-proof i { width:3px; height:3px; border-radius:50%; background:#d9af6c; }.hero-art { min-height:310px; display:grid; place-items:center; }.art-orbit { position:absolute; width:300px; height:300px; border:1px solid #d9af6c66; border-radius:50%; box-shadow:0 0 0 30px #d9af6c0c,0 0 0 67px #d9af6c0a; }.art-card { width:215px; height:252px; padding:24px; display:flex; flex-direction:column; justify-content:space-between; transform:rotate(8deg); border:1px solid #efd299; border-radius:16px; color:#152131; background:linear-gradient(145deg,#efcf94,#b9833c); box-shadow:16px 22px 42px #0004; }.art-card span { font-size:10px; letter-spacing:.11em; font-weight:800; }.art-card b { font:800 34px/.96 'Manrope'; letter-spacing:-.07em; }
.home-booking-wrap { position:relative; z-index:2; max-width:1120px; margin:-105px auto 0; padding:0 22px; }.transfer-booking { display:grid; grid-template-columns:minmax(0,1fr) 305px; align-items:stretch; background:#fffefa; border-radius:16px; overflow:hidden; box-shadow:0 24px 62px #1022352b; }.booking-card { padding:32px 34px 28px; background:#fffefa; }.booking-card-head { margin-bottom:22px; }.booking-kicker { display:block; color:#a97932; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }.booking-card h2 { margin:7px 0 5px; font:800 27px 'Manrope'; letter-spacing:-.05em; }.booking-card-head p { margin:0; color:#78818b; font-size:14px; }.journey-fields { display:grid; grid-template-columns:1fr 18px 1fr; gap:12px; align-items:start; }.journey-line { width:1px; height:38px; margin:31px auto 0; background:#d9c298; }.field-place label { color:#243344; }.place-dot { margin-right:5px; font-size:11px; }.from-dot { color:#bd8b40; }.to-dot { color:#344c68; }.booking-card .field input,.booking-card .field select { min-height:50px; border-color:#dedbd3; background:#fff; }.booking-card .field input::placeholder { color:#9ba2aa; }.compact { margin:22px 0 0; padding:15px 0 0; border-top:1px solid #ece8e0; }.compact small { display:inline; margin-left:7px; color:#929aa3; }.compact .switch { background:#d3d5d7; }.compact input:checked + .switch { background:#c99b52; }.booking-group { margin-top:23px; padding-top:22px; border-top:1px solid #ece8e0; }.booking-group h3 { margin:0 0 13px; color:#1d2b3a; font:700 15px 'Manrope'; }.traveller-grid { display:grid; grid-template-columns:1fr .64fr; gap:16px; }.email-field { grid-column:1/-1; }.booking-card .form-actions { margin-top:23px; padding-top:0; }.booking-card .secure { color:#737d86; font-size:12px; }.quote-button { min-width:160px; padding:13px 19px; }.trip-summary { padding:32px 26px 26px; display:flex; flex-direction:column; background:#f5eee3; border-left:1px solid #e4d4bd; }.trip-summary h3 { margin:7px 0 25px; font:800 20px 'Manrope'; letter-spacing:-.04em; }.summary-route { display:grid; grid-template-columns:12px 1fr; column-gap:11px; position:relative; }.summary-route small,.summary-details small,.estimate small { display:block; color:#8c8275; font-size:11px; }.summary-route b { display:block; margin:3px 0 17px; color:#36414d; font-size:13px; }.summary-point { width:8px; height:8px; margin-top:4px; border:2px solid #c99b52; border-radius:50%; background:#f5eee3; position:relative; z-index:1; }.summary-point.end { border-radius:2px; border-color:#2b4867; }.summary-route-line { position:absolute; top:14px; left:3px; width:2px; height:33px; background:#d8c5a7; }.summary-details { display:grid; gap:15px; padding:19px 0; border-top:1px solid #dfcfb9; }.summary-details b { display:block; margin-top:3px; font-size:13px; }.estimate { margin-top:auto; padding-top:19px; border-top:1px solid #dfcfb9; }.estimate span { display:block; color:#736a60; font-size:12px; }.estimate strong { display:block; margin:2px 0 3px; color:#152131; font:800 35px 'Manrope'; letter-spacing:-.07em; }
.trust-section { max-width:1120px; margin:76px auto 0; padding:0 22px 82px; }.trust-intro { text-align:center; }.trust-intro h2 { margin:9px 0 0; color:#152131; font:800 32px 'Manrope'; letter-spacing:-.055em; }.trust-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:34px; background:#e9e4db; border:1px solid #e9e4db; border-radius:12px; overflow:hidden; }.trust-list div { min-height:142px; padding:25px; background:#fffefa; }.trust-list span { color:#b78339; font:700 11px 'Manrope'; }.trust-list b { display:block; margin-top:15px; color:#1f2f40; font:700 16px 'Manrope'; }.trust-list p { margin:6px 0 0; color:#75808a; font-size:13px; line-height:1.45; }
.quote-action { display:flex; flex-direction:column; align-items:flex-end; gap:8px; }.quote-action small { max-width:220px; color:#7b827e; font-size:11px; line-height:1.35; text-align:right; }.estimate small { line-height:1.35; }
.detail-grid { display:grid; grid-template-columns:1fr .72fr; gap:20px; align-items:start; }.detail-route { display:flex; gap:12px; align-items:center; padding:18px 0 22px; }.detail-route span { color:#b78339; font-size:12px; }.admin-edit { display:grid; gap:16px; }.admin-edit .field { gap:7px; }.commission-box { display:flex; justify-content:space-between; padding:14px; color:#6e5a3b; border-radius:7px; background:#f7f0e5; }.commission-box b { color:#152131; }.badge.driver_declined { color:#a33333; background:#fee6e6; }
.booking-page-new { min-height:calc(100vh - 111px); padding:62px 0 86px; background:linear-gradient(132deg,#142331 0%,#20384f 43%,#f4f0e9 43%); }.booking-page-heading { max-width:1120px; margin:0 auto 30px; padding:0 22px; color:#fff; }.booking-page-heading .booking-kicker { color:#d9af6c; }.booking-page-heading h1 { margin:8px 0; font:800 42px/.98 'Manrope'; letter-spacing:-.065em; }.booking-page-heading p { margin:0; color:#d4dce5; }.booking-page-new .page { padding:0 22px; }
.admin-login-shell { min-height:calc(100vh - 111px); display:grid; place-items:center; padding:48px 20px; background:radial-gradient(circle at 78% 15%,#344c6870,transparent 30%),linear-gradient(135deg,#101a27,#1d3449); }.admin-login-card { width:min(100%,440px); padding:36px; border:1px solid #ffffff25; border-radius:14px; color:#172434; background:#fffefa; box-shadow:0 28px 70px #0005; }.admin-login-card h1 { margin:8px 0 8px; font:800 34px 'Manrope'; letter-spacing:-.06em; }.admin-login-card > p { margin:0 0 26px; color:#6f7883; line-height:1.5; }.admin-login-card form { display:grid; gap:17px; }.admin-login-card .form-alert { margin:0; }.admin-login-card > small { display:block; margin-top:19px; color:#7b827e; font-size:12px; text-align:center; }.admin-login-button { width:100%; min-height:48px; margin-top:3px; }.logout-button { padding:7px 10px; border:1px solid #d8c29e; border-radius:6px; color:#76572c; background:#fffdf9; font-size:12px; font-weight:700; }
.admin-loading { margin:0; padding:28px 22px; color:#6f7883; font-size:14px; }
.agency-list { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.agency-card,.agency-request,.agency-management { background:#fffefa; border:1px solid #e8e5df; border-radius:10px; padding:22px; box-shadow:0 8px 22px #15213108; }.agency-card h3 { margin:16px 0 5px; font:700 18px 'Manrope'; }.agency-card p,.agency-card small { color:var(--muted); line-height:1.5; }.agency-card .assign { display:block; margin-top:18px; }.agency-status { float:right; font-size:12px; font-weight:700; }.agency-status.active { color:var(--green); }.agency-status.inactive { color:var(--muted); }.agency-form { max-width:720px; display:grid; gap:17px; }.field textarea { width:100%; padding:12px; border:1px solid #dedbd5; border-radius:6px; resize:vertical; }.agency-management { margin-top:20px; }.agency-management h2 { margin:7px 0; font:800 23px 'Manrope'; }.agency-management > p { color:var(--muted); }.agency-checkboxes { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin:18px 0; }.agency-checkboxes label { padding:13px; border:1px solid #e6e1d8; border-radius:7px; }.agency-checkboxes small { display:block; margin:5px 0 0 22px; color:var(--muted); }.agency-request-list { display:grid; gap:14px; margin-top:20px; }.agency-request > b { display:block; margin-bottom:16px; font:700 16px 'Manrope'; }.agency-request .secondary { margin-top:5px; }
.selected-agency-summary { margin:17px 0 20px; padding:18px; border:1px solid #d6b273; border-radius:8px; background:#fbf3e6; }.selected-agency-summary h3 { margin:6px 0 15px; font:800 20px 'Manrope'; }.selected-agency-summary div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.selected-agency-summary span { display:grid; gap:3px; color:#7a694f; font-size:12px; }.selected-agency-summary b { color:#152131; font-size:14px; }.agency-request-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }.agency-request-heading > b { font:700 16px 'Manrope'; }.agency-request-status { padding:5px 8px; border-radius:99px; background:#edf1f4; color:#536170; font-size:11px; font-weight:800; }.agency-request-status.available { color:#087153; background:#dff7ed; }.agency-request-status.unavailable { color:#a33333; background:#fee6e6; }.agency-request-status.selected { color:#76501a; background:#f5e4bd; }.agency-request-status.not_selected { color:#7e858d; background:#f0f1f2; }.agency-request--selected { border-color:#d0a454; box-shadow:0 12px 28px #c99b5228; }.agency-request--not_selected { opacity:.68; background:#faf9f6; box-shadow:none; }.agency-request--not_selected .agency-request-status { background:#ececea; }.admin-edit input[readonly],.agency-request input[readonly],.agency-request textarea[readonly] { background:#f7f4ee; color:#68717a; cursor:not-allowed; }.field-hint { margin-top:5px; }
@media(max-width:540px) { .selected-agency-summary div { grid-template-columns:1fr; gap:10px; } }
@media(max-width:800px) { .home-new .home-hero { grid-template-columns:1fr; padding-bottom:134px; }.hero-art { display:none; }.transfer-booking { grid-template-columns:1fr; }.trip-summary { border-left:0; border-top:1px solid #e4d4bd; }.booking-page-new { background:#142331; }.booking-page-heading { padding-top:3px; }.booking-page-new .page { padding-bottom:0; }.trust-list { grid-template-columns:1fr; }.trust-list div { min-height:auto; } }
@media(max-width:800px) { .detail-grid { grid-template-columns:1fr; } }
@media(max-width:540px) { .topbar { display:none; }.nav { height:70px; }.home-new .home-hero { min-height:430px; padding:58px 21px 126px; display:block; }.hero-copy h1 { font-size:45px; }.hero-copy p { font-size:16px; max-width:270px; }.hero-proof { margin-top:23px; }.home-booking-wrap { margin-top:-78px; padding:0 12px; }.transfer-booking { border-radius:13px; }.booking-card { padding:25px 18px 20px; }.booking-card h2 { font-size:25px; }.journey-fields { grid-template-columns:1fr; gap:13px; }.journey-line { display:none; }.booking-card .field input,.booking-card .field select { min-height:52px; font-size:16px; }.compact { margin-top:19px; }.compact small { display:block; margin:2px 0 0; }.return-fields { grid-template-columns:1fr; }.booking-group { margin-top:20px; padding-top:19px; }.traveller-grid { grid-template-columns:1fr; gap:20px; }.booking-card .form-actions { gap:14px; align-items:stretch; }.quote-action { align-items:stretch; }.quote-action small { max-width:none; text-align:center; }.quote-button { width:100%; min-height:52px; }.trip-summary { padding:24px 20px; }.summary-details { grid-template-columns:repeat(3,1fr); }.summary-details b { font-size:12px; }.estimate { display:grid; grid-template-columns:1fr auto; align-items:center; }.estimate strong { grid-column:2; grid-row:1/3; font-size:33px; }.estimate small { grid-column:1; }.trust-section { margin-top:54px; padding:0 12px 58px; }.trust-intro h2 { font-size:28px; line-height:1.05; }.trust-list { margin-top:26px; }.trust-list div { padding:22px; }.booking-page-new { padding:38px 0 52px; }.booking-page-heading { padding:0 20px; margin-bottom:25px; }.booking-page-heading h1 { font-size:36px; }.booking-page-new .page { padding:0 12px; } }

/* Quote-first public content */
.hero-cta { display:inline-block; margin-top:27px; }.hero-note { display:block; margin-top:11px; color:#ccd4dc; font-size:12px; }.why-section { padding-bottom:68px; }.trust-list-premium { border:0; gap:28px; margin-top:38px; background:transparent; overflow:visible; }.trust-list-premium div { min-height:0; padding:6px 7px 6px 20px; border-left:1px solid #d8c6a5; background:transparent; }.trust-list-premium div:first-child { border-left:0; padding-left:0; }.trust-number { display:block; color:#b78339; font:700 11px 'Manrope'; letter-spacing:.13em; }.trust-list-premium b { margin-top:11px; font-size:17px; }.trust-list-premium p { max-width:275px; font-size:14px; line-height:1.55; }.how-section { max-width:1120px; margin:0 auto; padding:76px 22px; border-top:1px solid #e7e0d5; }.section-heading { max-width:520px; }.section-heading h2,.itinerary-section h2 { margin:9px 0 10px; color:#152131; font:800 34px 'Manrope'; letter-spacing:-.06em; }.section-heading p,.itinerary-section p { margin:0; color:#6f7883; line-height:1.6; }.how-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:38px 0 0; padding:0; list-style:none; }.how-steps li { display:flex; gap:15px; padding:22px 12px 5px 0; border-top:1px solid #d9cfbf; }.how-steps span { color:#b78339; font:800 13px 'Manrope'; }.how-steps b { font:700 17px 'Manrope'; }.how-steps p { margin:7px 0 0; color:#6f7883; font-size:14px; line-height:1.5; }.itinerary-section { display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:center; max-width:1120px; margin:0 auto 98px; padding:43px 48px; color:#fffdf9; border-radius:14px; background:linear-gradient(110deg,#152737,#1f3b51); box-shadow:0 20px 48px #1022351c; }.itinerary-section .booking-kicker { color:#e4bd7c; }.itinerary-section h2 { color:#fffdf9; }.itinerary-section > div > p { color:#cad4dc; }.itinerary-cta { display:inline-block; margin-top:22px; color:#f5d7a3; border-color:#c99b52; background:transparent; }.itinerary-cta:hover { color:#101a27; background:#e9c27e; }.route-example { color:#eed09e!important; font:700 clamp(18px,2vw,27px)/1.55 'Manrope'!important; letter-spacing:-.05em; }.route-example i { color:#8098aa; font-style:normal; padding:0 3px; }.quote-request { display:block; max-width:800px; margin:0 auto; border-radius:14px; }.quote-request .booking-card { padding:38px; }.quote-request .secure { display:block; margin-top:12px; }.quote-request .quote-button { margin-top:4px; }.confirmation .ticket-head { display:block; }.confirmation .ticket-head b { display:block; font-size:20px; }
@media(max-width:800px) { .trust-list-premium { gap:0; }.trust-list-premium div,.trust-list-premium div:first-child { padding:22px 0; border-left:0; border-top:1px solid #e3dacb; }.trust-list-premium div:first-child { border-top:0; }.how-steps { grid-template-columns:1fr; gap:5px; }.itinerary-section { grid-template-columns:1fr; gap:28px; margin:0 22px 70px; padding:34px 28px; } }
@media(max-width:540px) { .home-new .home-hero { min-height:490px; }.hero-copy h1 { font-size:43px; }.hero-copy p { max-width:340px; }.hero-cta { width:100%; margin-top:25px; padding:15px; text-align:center; }.hero-note { text-align:center; }.why-section { padding-bottom:48px; }.how-section { padding:56px 20px; }.section-heading h2,.itinerary-section h2 { font-size:30px; }.how-steps { margin-top:30px; }.how-steps li { padding:19px 0; }.itinerary-section { margin:0 12px 62px; padding:31px 23px; border-radius:11px; }.route-example { font-size:20px!important; }.quote-request .booking-card { padding:27px 19px 23px; }.quote-request { margin:0; } }

/* Public visual direction: quiet Sri Lanka travel editorial. Admin styles stay unchanged. */
.topbar { background:#f1ece3; color:#675f55; border-bottom:1px solid #e4ddd1; }.topbar strong { color:#6c6256; }.nav { background:#fffdf9; border-color:#ece5da; }.brand { color:#312d28; }.brand-mark { background:#d9c8ac; color:#40382f; box-shadow:none; }.brand-byline { color:#877869; }.nav-links { color:#786f65; }.nav-links a:hover { color:#443d35; }.nav-links a:hover:after { background:#b9a386; }.nav-action,.primary { color:#3f382f; background:#d8c5a8; box-shadow:none; }.nav-action:hover,.primary:hover { color:#2f2a25; background:#cbb394; transform:none; }
.home-new { background:#fdfbf7; }.home-new .home-hero { min-height:610px; padding:94px max(7vw,44px) 168px; color:#322e29; background:linear-gradient(90deg,rgba(250,247,241,.98) 0%,rgba(250,247,241,.92) 43%,rgba(250,247,241,.25) 100%),url('https://images.unsplash.com/photo-1656436471975-7bf0db74e3e5?auto=format&fit=crop&w=2000&q=85') center/cover; }.home-new .home-hero:before { background:radial-gradient(circle at 55% 83%,#d6c0a54d 0,transparent 34%); opacity:1; }.home-new .eyebrow,.booking-kicker { color:#927b61; }.hero-copy h1 { max-width:670px; color:#302b26; font-family:'Playfair Display',serif; font-size:clamp(48px,5.6vw,78px); font-weight:600; line-height:1.01; letter-spacing:-.065em; }.hero-copy h1 em { color:#8c755d; font-style:italic; }.hero-copy p { max-width:535px; color:#62594f; font-size:17px; line-height:1.65; }.hero-note { color:#766d63; }.hero-art { min-height:350px; place-items:end center; }.art-card { width:235px; height:275px; border:1px solid #ede2d1; border-radius:2px; color:#443b31; background:rgba(255,252,246,.92); box-shadow:0 16px 38px #4f443126; transform:rotate(4deg); backdrop-filter:blur(4px); }.art-card span { color:#90775d; }.art-card b { font-family:'Playfair Display',serif; font-weight:600; font-size:36px; letter-spacing:-.06em; }
.why-section { padding-bottom:84px; }.trust-intro h2,.section-heading h2,.itinerary-section h2 { color:#342f2a; font-family:'Playfair Display',serif; font-weight:600; letter-spacing:-.05em; }.trust-list-premium { gap:35px; }.trust-list-premium div { border-color:#ddd2c2; }.trust-number { color:#9b8267!important; }.trust-list-premium b { color:#433b33; font-family:'DM Sans',sans-serif; font-size:15px; text-transform:uppercase; letter-spacing:.055em; }.trust-list-premium p,.section-heading p,.how-steps p { color:#756c62; }.how-section { border-color:#e7ded2; }.how-steps li { border-color:#dcd0c0; }.how-steps span { color:#a38a6d; }.how-steps b { color:#3d362f; font-family:'Playfair Display',serif; font-size:21px; font-weight:600; }.itinerary-section { overflow:hidden; position:relative; color:#3f382f; background:linear-gradient(90deg,rgba(241,234,224,.95),rgba(241,234,224,.7)),url('https://images.unsplash.com/photo-1568918223153-767f849acbab?auto=format&fit=crop&w=1800&q=85') center/cover; box-shadow:none; }.itinerary-section .booking-kicker { color:#826b54; }.itinerary-section h2 { color:#3b342d; }.itinerary-section > div > p { color:#665d53; }.itinerary-cta { color:#4f463b; border-color:#bca58a; background:rgba(255,253,249,.65); }.itinerary-cta:hover { background:#d7c3a5; color:#302a24; }.route-example { color:#6a5949!important; font-family:'Playfair Display',serif!important; font-weight:600!important; }.route-example i { color:#ad9478; }
.booking-shell,.booking-page-new { background:#f7f2ea; }.booking-page-new { background:linear-gradient(135deg,#f7f2ea,#eee5d8); }.quote-request,.transfer-booking { background:#fffdf9; box-shadow:0 16px 38px #594a3515; }.booking-card { background:#fffdf9; }.booking-card h2 { color:#352f29; font-family:'Playfair Display',serif; font-weight:600; font-size:32px; }.booking-card-head p,.booking-card .secure { color:#766d62; }.journey-line { background:#c6af90; }.booking-group,.compact { border-color:#eee5d8; }.booking-card .field input,.booking-card .field select { border-color:#dfd5c8; background:#fffefa; }.booking-card .field input:focus,.booking-card .field select:focus { border-color:#ae9677; box-shadow:0 0 0 3px #d8c5a84d; }.compact input:checked + .switch { background:#b99e7c; }.return-fields { background:#faf6ef; border-color:#e7dac8; }.confirmation h1 { color:#352f29; font-family:'Playfair Display',serif; font-weight:600; }.ticket { border-color:#eadfce; border-top-color:#c5ab8b; box-shadow:none; }.ticket-head { background:#6e6255; }.secondary { color:#665543; border-color:#c7b096; background:#fffdf9; }.secondary:hover { background:#f3ebdf; }
@media(max-width:800px) { .home-new .home-hero { grid-template-columns:1fr; min-height:570px; padding-top:76px; padding-bottom:140px; background-position:62% center; }.hero-art { display:none; }.itinerary-section { background-position:65% center; } }
@media(max-width:540px) { .topbar { display:block; font-size:8px; }.home-new .home-hero { min-height:550px; padding:66px 21px 128px; background:linear-gradient(90deg,rgba(250,247,241,.98) 0%,rgba(250,247,241,.88) 70%,rgba(250,247,241,.5)),url('https://images.unsplash.com/photo-1656436471975-7bf0db74e3e5?auto=format&fit=crop&w=1200&q=85') 62% center/cover; }.hero-copy h1 { font-size:48px; }.hero-copy p { max-width:310px; font-size:15px; line-height:1.6; }.trust-list-premium b { font-size:14px; }.how-steps b { font-size:20px; }.itinerary-section { background:linear-gradient(90deg,rgba(241,234,224,.96),rgba(241,234,224,.76)),url('https://images.unsplash.com/photo-1568918223153-767f849acbab?auto=format&fit=crop&w=1100&q=85') 62% center/cover; }.booking-card h2 { font-size:29px; } }

/* Trust and process: icon-led, not numbered. */
.trust-list-premium { gap:26px; align-items:start; }.trust-list-premium .trust-feature { min-height:180px; padding:8px 18px 8px 0; border:0; background:transparent; }.trust-list-premium .trust-feature + .trust-feature { padding-left:18px; }.trust-list-premium .trust-icon { width:42px; height:42px; display:grid; place-items:center; margin-bottom:18px; color:#766048!important; border:1px solid #cfc0ad; border-radius:50%; background:#f8f3eb; font:600 18px/1 'DM Sans'; }.trust-feature--trusted .trust-icon { border-radius:13px 13px 18px 18px; }.trust-feature--ease .trust-icon { color:#947653!important; font-size:21px; }.trust-feature--people .trust-icon { position:relative; color:transparent!important; }.trust-feature--people .trust-icon:before,.trust-feature--people .trust-icon:after { content:''; position:absolute; top:13px; width:9px; height:9px; border:1.5px solid #766048; border-radius:50%; }.trust-feature--people .trust-icon:before { left:12px; }.trust-feature--people .trust-icon:after { right:12px; }.trust-feature--people .trust-icon { background:linear-gradient(#f8f3eb,#f8f3eb) padding-box; }.trust-feature--people .trust-icon:after { background:#f8f3eb; }.trust-list-premium .trust-feature b { margin-top:0; }.trust-list-premium .trust-feature p { max-width:290px; }
.how-section { position:relative; }.how-steps { position:relative; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:38px; }.how-steps:before { content:''; position:absolute; z-index:0; top:27px; left:16.5%; right:16.5%; height:1px; background:#d6c8b6; }.how-steps li { position:relative; z-index:1; display:block; padding:0; border:0; text-align:center; }.journey-icon { width:55px; height:55px; display:grid; place-items:center; margin:0 auto 18px; border:1px solid #cdbda9; border-radius:50%; color:#715f4e; background:#fdfbf7; font:600 20px/1 'DM Sans'; }.journey-icon--pin { font-size:22px; color:#a08160; }.journey-icon--route { font-size:23px; color:#967956; }.journey-icon--check { color:#75624e; }.how-steps li div { max-width:260px; margin:0 auto; }.how-steps b { font-family:'DM Sans',sans-serif; font-size:15px; text-transform:uppercase; letter-spacing:.05em; }.how-steps p { margin-top:8px; }.request-disclaimer { margin:32px auto 0; color:#85796b; font-size:12px; text-align:center; }
@media(max-width:800px) { .trust-list-premium { gap:0; }.trust-list-premium .trust-feature,.trust-list-premium .trust-feature + .trust-feature { min-height:0; padding:23px 0; border-top:1px solid #e5dbcf; }.trust-list-premium .trust-feature:first-child { border-top:0; }.how-steps { grid-template-columns:1fr; gap:0; margin:30px auto 0; max-width:430px; }.how-steps:before { top:41px; bottom:41px; left:27px; right:auto; width:1px; height:auto; }.how-steps li { display:grid; grid-template-columns:55px 1fr; gap:18px; padding:12px 0; text-align:left; }.journey-icon { margin:0; }.how-steps li div { max-width:none; margin:0; padding-top:3px; }.request-disclaimer { text-align:left; max-width:430px; } }
