
:root{
    --brand:#0a6257;
    --brand-dark:#063d36;
    --brand-2:#0d8776;
    --gold:#d5a444;
    --gold-soft:#fff5dd;
    --ink:#16211f;
    --muted:#6f7d79;
    --line:#e7ecea;
    --surface:#ffffff;
    --canvas:#f4f6f5;
    --sidebar:#10201d;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"DM Sans",sans-serif;color:var(--ink)}
body{background:var(--canvas)}
a{text-decoration:none}
button,input{font:inherit}
.section-kicker{font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}
.brand-symbol{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-size:1.25rem;box-shadow:0 12px 30px rgba(10,98,87,.22)}
.brand-symbol.sm{width:42px;height:42px;border-radius:13px;font-size:1rem}

/* AUTH */
.auth-page{background:#f7f9f8}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}
.auth-visual{position:relative;overflow:hidden;background:
radial-gradient(circle at 78% 20%,rgba(213,164,68,.27),transparent 24%),
linear-gradient(140deg,#082f2a 0%,#0a5c51 58%,#0f7565 100%);}
.auth-visual:before{content:"";position:absolute;inset:0;opacity:.10;background-image:
linear-gradient(30deg,rgba(255,255,255,.45) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.45) 87.5%),
linear-gradient(150deg,rgba(255,255,255,.45) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.45) 87.5%);
background-size:92px 160px}
.auth-visual:after{content:"";position:absolute;width:620px;height:620px;border:90px solid rgba(255,255,255,.045);border-radius:50%;right:-260px;bottom:-300px}
.auth-visual-overlay{position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(to top,rgba(2,25,21,.24),transparent)}
.auth-visual-inner{position:relative;z-index:2;min-height:100vh;padding:48px 6vw;display:flex;flex-direction:column}
.auth-brand{display:flex;align-items:center;gap:.8rem;color:#fff;width:max-content}
.auth-brand strong,.auth-brand small{display:block}
.auth-brand strong{font-family:"Manrope",sans-serif;font-size:1.3rem}
.auth-brand small{color:#b8d3cc;font-size:.68rem;margin-top:3px}
.auth-visual-copy{margin:auto 0;max-width:760px}
.auth-kicker{display:inline-block;color:#f1d493;font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.auth-visual-copy h1{font-family:"Manrope",sans-serif;font-size:clamp(3.1rem,5.4vw,5.7rem);line-height:1.01;letter-spacing:-.055em;color:#fff;margin:1rem 0 1.2rem}
.auth-visual-copy p{max-width:670px;color:#cfdfdb;font-size:1.05rem;line-height:1.75}
.auth-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.auth-proof>div{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:18px;backdrop-filter:blur(8px)}
.auth-proof i{font-size:1.2rem;color:#efcf87}
.auth-proof strong,.auth-proof small{display:block}.auth-proof strong{color:#fff;font-size:.8rem}.auth-proof small{color:#9db9b2;font-size:.65rem;margin-top:2px}
.auth-form-side{display:flex;align-items:center;justify-content:center;padding:48px;background:#fff}
.auth-form-wrap{width:100%;max-width:470px}
.auth-form-wrap h2{font-family:"Manrope",sans-serif;font-size:2.55rem;letter-spacing:-.04em;margin:.45rem 0 .4rem}
.auth-subtitle{color:var(--muted);margin-bottom:2rem}
.auth-form{display:grid;gap:1.15rem}
.field-wrap label{display:block;font-size:.76rem;font-weight:800;margin-bottom:.45rem;color:#4e5d59}
.field-control{height:54px;border:1px solid #dfe6e3;border-radius:15px;display:flex;align-items:center;padding:0 14px;transition:.2s;background:#fff}
.field-control:focus-within{border-color:#8abbb1;box-shadow:0 0 0 4px rgba(10,98,87,.08)}
.field-control>i{color:#84908c;margin-right:.65rem}
.field-control input{border:0;outline:0;width:100%;background:transparent;color:var(--ink)}
.password-toggle{border:0;background:transparent;color:#788681}
.auth-meta{display:flex;justify-content:space-between;align-items:center;font-size:.76rem}
.remember-wrap{display:flex!important;align-items:center;gap:.45rem!important;margin:0!important;font-weight:600!important}
.auth-meta a{color:var(--brand);font-weight:800}
.auth-submit{height:56px;border:0;border-radius:15px;background:linear-gradient(135deg,var(--brand),#0a7768);color:white;display:flex;justify-content:center;align-items:center;gap:.65rem;font-weight:800;box-shadow:0 14px 30px rgba(10,98,87,.18);transition:.2s}
.auth-submit:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(10,98,87,.24)}
.agent-cta{margin-top:1.5rem;border:1px solid var(--line);background:#fafcfb;border-radius:18px;padding:1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem}
.agent-cta-icon{width:42px;height:42px;border-radius:13px;background:var(--gold-soft);color:#98711e;display:flex;align-items:center;justify-content:center}
.agent-cta strong,.agent-cta small{display:block}.agent-cta strong{font-size:.8rem}.agent-cta small{font-size:.68rem;color:var(--muted);margin-top:2px}
.agent-cta a{font-size:.75rem;font-weight:800;color:var(--brand)}
.auth-security{margin-top:1.2rem;display:flex;justify-content:center;align-items:center;gap:.45rem;color:#8d9995;font-size:.68rem}
.auth-mobile-brand{display:flex;align-items:center;gap:.7rem}

/* SHELL */
.admin-body{background:var(--canvas)}
.app-shell{min-height:100vh}
.premium-sidebar{position:fixed;left:0;top:0;bottom:0;width:284px;background:var(--sidebar);z-index:1040;display:flex;flex-direction:column;color:#b8c8c3}
.sidebar-header{padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between}
.sidebar-logo{display:flex;align-items:center;gap:.75rem;color:#fff}.sidebar-logo strong,.sidebar-logo small{display:block}.sidebar-logo strong{font-family:"Manrope",sans-serif;font-size:1.08rem}.sidebar-logo small{font-size:.63rem;color:#759188;margin-top:2px}
.sidebar-close{border:0;background:transparent;color:#fff}
.sidebar-profile{margin:16px 14px 8px;padding:12px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.035));display:flex;align-items:center;gap:.7rem;position:relative}
.profile-avatar{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#e3f2ee,#f6e8c2);color:var(--brand-dark);display:flex;align-items:center;justify-content:center;font-weight:900}
.profile-avatar.sm{width:36px;height:36px;border-radius:11px}
.profile-copy strong,.profile-copy span{display:block}.profile-copy strong{color:#fff;font-size:.8rem}.profile-copy span{font-size:.65rem;color:#82a098;margin-top:2px}
.profile-dot{position:absolute;right:13px;width:8px;height:8px;border-radius:50%;background:#59c894;box-shadow:0 0 0 4px rgba(89,200,148,.1)}
.premium-nav{padding:6px 12px;overflow-y:auto;flex:1}
.nav-group-title{padding:15px 11px 7px;color:#58736b;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.premium-nav a{display:flex;align-items:center;gap:.7rem;color:#9eb2ac;padding:.7rem .8rem;border-radius:13px;margin:2px 0;font-size:.82rem;font-weight:700;position:relative;transition:.18s}
.premium-nav a:hover{background:rgba(255,255,255,.055);color:#fff}
.premium-nav a.active{background:linear-gradient(90deg,rgba(19,102,90,.42),rgba(255,255,255,.035));color:#fff}
.premium-nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--gold)}
.nav-icon{width:31px;height:31px;border-radius:10px;background:rgba(255,255,255,.045);display:flex;align-items:center;justify-content:center}
.premium-nav a.active .nav-icon{background:rgba(213,164,68,.14);color:#efcc7e}
.nav-copy{flex:1}
.nav-badge{font-size:.56rem;text-transform:uppercase;letter-spacing:.06em;padding:.23rem .38rem;border-radius:999px;background:#25423b;color:#9ec0b7}
.sidebar-support{margin:10px 14px;padding:12px;border-radius:16px;background:#172b27;display:grid;grid-template-columns:auto 1fr auto;gap:.7rem;align-items:center}
.support-icon{width:38px;height:38px;border-radius:12px;background:#23443d;color:#d8ece6;display:flex;align-items:center;justify-content:center}
.sidebar-support strong,.sidebar-support small{display:block}.sidebar-support strong{color:#fff;font-size:.75rem}.sidebar-support small{font-size:.62rem;color:#77968d}.sidebar-support a{color:#8eaaa2}
.sidebar-footer{padding:12px;border-top:1px solid rgba(255,255,255,.06)}
.sidebar-footer a{display:flex;align-items:center;gap:.7rem;color:#9cafaa;padding:.72rem .8rem;border-radius:12px;font-size:.8rem;font-weight:700}.sidebar-footer a:hover{background:#3a2524;color:#ffd0cd}
.sidebar-backdrop{display:none}
.app-main{margin-left:284px;min-height:100vh;display:flex;flex-direction:column}
.premium-topbar{height:78px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:1020}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:.75rem}
.menu-toggle{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px}
.page-title-wrap span{display:block;font-size:.65rem;color:#8c9894}.page-title-wrap h2{font-family:"Manrope",sans-serif;font-size:1rem;margin:2px 0 0}
.global-search{width:320px;height:42px;border:1px solid var(--line);background:#f9fbfa;border-radius:13px;display:flex;align-items:center;padding:0 .8rem;gap:.55rem}
.global-search i{color:#84918c}.global-search input{border:0;outline:0;background:transparent;width:100%;font-size:.75rem}.global-search kbd{font-size:.6rem;background:#edf1ef;color:#77837f;border:1px solid #e0e5e3;border-radius:6px;padding:.15rem .35rem}
.topbar-icon{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px;position:relative}.notification-dot{position:absolute;width:7px;height:7px;background:#e45d5d;border-radius:50%;right:8px;top:8px}
.new-booking-btn{height:42px;padding:0 .9rem;border-radius:12px;background:var(--brand);color:#fff;display:flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:800}
.user-menu{border:0;background:transparent;display:flex;align-items:center;gap:.55rem}.user-menu-copy strong,.user-menu-copy small{display:block;text-align:left}.user-menu-copy strong{font-size:.74rem}.user-menu-copy small{font-size:.61rem;color:var(--muted)}
.content-area{padding:28px;flex:1}
.app-footer{padding:14px 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#8d9894;font-size:.68rem}

/* DASHBOARD */
.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.6rem}
.dashboard-hero h1{font-family:"Manrope",sans-serif;font-size:2.35rem;letter-spacing:-.04em;margin:.32rem 0 .35rem}.dashboard-hero p{color:var(--muted);margin:0;max-width:760px}
.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap}.btn-primary-premium,.btn-secondary-premium{height:42px;padding:0 1rem;border-radius:12px;display:inline-flex;align-items:center;gap:.45rem;font-size:.76rem;font-weight:800}.btn-primary-premium{background:var(--brand);color:#fff}.btn-secondary-premium{background:#fff;border:1px solid var(--line);color:var(--ink)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}
.kpi-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1rem;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;box-shadow:0 8px 28px rgba(25,47,40,.035)}
.kpi-icon{width:47px;height:47px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.08rem}.kpi-icon.green{background:#e7f5f1;color:#0d725f}.kpi-icon.gold{background:#fff3d6;color:#9a721d}.kpi-icon.blue{background:#eaf1fb;color:#466f9e}.kpi-icon.violet{background:#f0ebfb;color:#7556a5}
.kpi-copy span,.kpi-copy strong,.kpi-copy small{display:block}.kpi-copy span{font-size:.65rem;color:var(--muted)}.kpi-copy strong{font-family:"Manrope",sans-serif;font-size:1.28rem;margin:.05rem 0}.kpi-copy small{font-size:.61rem;color:#98a39f}
.kpi-trend{align-self:flex-start;font-size:.6rem;font-weight:800;padding:.28rem .4rem;border-radius:999px}.kpi-trend.up{background:#e8f6f1;color:#14725f}.kpi-trend.neutral{background:#eff2f1;color:#71807b}
.dashboard-grid-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.7fr);gap:1rem;margin-bottom:1rem}
.dashboard-grid-secondary{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:1rem}
.premium-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1.15rem;box-shadow:0 8px 28px rgba(26,48,41,.035)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.card-eyebrow{display:block;color:var(--brand);font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.card-head h3{font-family:"Manrope",sans-serif;font-size:1.06rem;margin:.18rem 0 0}.card-head a{font-size:.68rem;font-weight:800;color:var(--brand)}
.inventory-list{display:grid}.inventory-row{display:grid;grid-template-columns:48px minmax(220px,1.3fr) minmax(130px,.8fr) minmax(130px,.7fr) auto;gap:.85rem;align-items:center;padding:.9rem 0;border-bottom:1px solid #edf1ef}.inventory-row:last-child{border-bottom:0}
.airline-logo{width:42px;height:42px;border-radius:12px;background:#eaf5f2;color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:900}.airline-logo.alt{background:#fff1d2;color:#976b13}.airline-logo.dark{background:#eaf0f7;color:#45688f}
.inventory-route strong,.inventory-route span{display:block}.inventory-route strong{font-size:.79rem}.inventory-route span{font-size:.62rem;color:var(--muted);margin-top:3px}.inventory-route i{font-size:.58rem;color:#9aa6a1}
.inventory-seats span{font-size:.65rem;color:#66736f}.seat-progress{height:5px;background:#edf2f0;border-radius:999px;overflow:hidden;margin-top:6px}.seat-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#41a491);border-radius:999px}
.inventory-price small,.inventory-price strong{display:block}.inventory-price small{font-size:.58rem;color:#8c9894}.inventory-price strong{font-size:.75rem;margin-top:2px}
.status-badge{display:inline-block;padding:.3rem .5rem;border-radius:999px;font-size:.58rem;font-weight:900;white-space:nowrap}.status-badge.success{background:#e7f6f1;color:#14705e}.status-badge.warning{background:#fff2d5;color:#8f6819}.status-badge.info{background:#eaf1fb;color:#416992}.status-badge.danger{background:#fde9e9;color:#a54141}
.quick-menu{display:grid}.quick-menu a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding:.72rem 0;border-bottom:1px solid #edf1ef;color:var(--ink)}.quick-menu a:last-child{border-bottom:0}.quick-menu-icon{width:40px;height:40px;border-radius:12px;background:#e9f5f2;color:var(--brand);display:flex;align-items:center;justify-content:center}.quick-menu-icon.gold{background:#fff3d6;color:#9b711d}.quick-menu-icon.blue{background:#eaf1fb;color:#466f9e}.quick-menu-icon.violet{background:#f0ebfb;color:#7556a5}
.quick-menu strong,.quick-menu small{display:block}.quick-menu strong{font-size:.75rem}.quick-menu small{font-size:.61rem;color:var(--muted);margin-top:2px}.quick-menu>a>i{color:#93a09b;font-size:.75rem}
.booking-table-wrap{overflow-x:auto}.booking-table{width:100%;border-collapse:collapse}.booking-table th{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:#8a9692;text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line)}.booking-table td{padding:.85rem .5rem;border-bottom:1px solid #edf1ef;font-size:.72rem}.booking-table tr:last-child td{border-bottom:0}.booking-table strong,.booking-table small{display:block}.booking-table small{font-size:.6rem;color:var(--muted);margin-top:2px}.booking-ref{font-size:.65rem;font-weight:800;color:var(--brand);background:#eef6f3;padding:.28rem .42rem;border-radius:8px}
.sales-mix-premium{display:grid;grid-template-columns:130px 1fr;gap:1.1rem;align-items:center}.mix-total{background:linear-gradient(135deg,#0b574e,#0d796a);border-radius:18px;padding:1rem;color:#fff}.mix-total span,.mix-total strong,.mix-total small{display:block}.mix-total span{font-size:.61rem;color:#b9d4cd}.mix-total strong{font-family:"Manrope",sans-serif;font-size:1.2rem;margin:.18rem 0}.mix-total small{font-size:.58rem;color:#9fc3ba}.mix-bars{display:grid;gap:.5rem}.mix-bars>div{display:flex;justify-content:space-between;font-size:.67rem}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:.4rem}.legend-dot.green{background:#0b7a67}.legend-dot.gold{background:#d5a444}.legend-dot.blue{background:#4a78ae}.mix-track{height:5px;background:#edf1ef;border-radius:999px;overflow:hidden}.mix-track i{display:block;height:100%;border-radius:999px}.mix-track i.green{background:#0b7a67}.mix-track i.gold{background:#d5a444}.mix-track i.blue{background:#4a78ae}
.credit-overview{display:grid;grid-template-columns:130px 1fr;gap:1.2rem;align-items:center}.credit-ring{width:118px;height:118px;border-radius:50%;background:conic-gradient(var(--brand) 42.5%,#e9efec 0);display:flex;align-items:center;justify-content:center}.credit-ring-inner{width:86px;height:86px;background:#fff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.credit-ring-inner strong{font-family:"Manrope",sans-serif}.credit-ring-inner span{font-size:.58rem;color:var(--muted)}.credit-lines>div{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #edf1ef;font-size:.68rem}.credit-lines>div:last-child{border-bottom:0}
.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}.empty-state i{font-size:2.4rem;color:var(--brand)}.empty-state h5{color:var(--ink);margin-top:.8rem}

@media(max-width:1199px){
    .kpi-grid{grid-template-columns:repeat(2,1fr)}
    .dashboard-grid-main,.dashboard-grid-secondary{grid-template-columns:1fr}
    .inventory-row{grid-template-columns:48px 1fr 130px auto}.inventory-price{display:none}
}
@media(max-width:991px){
    .auth-shell{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-side{min-height:100vh;padding:26px}
    .premium-sidebar{transform:translateX(-100%);transition:.25s}.premium-sidebar.open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1030}.sidebar-backdrop.show{display:block}
    .app-main{margin-left:0}.global-search{display:none!important}
}
@media(max-width:767px){
    .content-area{padding:20px 14px}.premium-topbar{padding:0 14px}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero h1{font-size:1.9rem}.kpi-grid{grid-template-columns:1fr}.new-booking-btn span{display:none}.inventory-row{grid-template-columns:42px 1fr auto}.inventory-seats{display:none}.sales-mix-premium,.credit-overview{grid-template-columns:1fr}.auth-form-wrap h2{font-size:2.15rem}
}


/* ===== Hello Ticket Group Ticket Module ===== */
.module-hero{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.4rem}
.module-hero.compact{align-items:center}
.module-hero h1{font-family:"Manrope",sans-serif;font-size:2.25rem;letter-spacing:-.04em;margin:.3rem 0}
.module-hero p{margin:0;color:var(--muted)}
.form-grid{display:grid;gap:1rem}
.form-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.2rem}
.form-section-title{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}
.form-section-title>span{width:34px;height:34px;border-radius:11px;background:#eaf5f2;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:900}
.form-section-title strong,.form-section-title small{display:block}
.form-section-title small{font-size:.61rem;color:var(--muted);margin-top:2px}
.price-table{display:grid;gap:.5rem}
.price-row{display:grid;grid-template-columns:120px repeat(3,1fr);gap:.6rem;align-items:center}
.price-row.head{font-size:.62rem;font-weight:800;color:var(--muted);text-transform:uppercase}
.price-row strong{font-size:.75rem}
.form-actions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}
.segment-card{border:1px solid var(--line);border-radius:16px;padding:1rem;margin-bottom:.8rem;background:#fbfcfb}
.segment-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}
.segment-card-head strong,.segment-card-head small{display:block}
.segment-card-head strong{font-size:.74rem}
.segment-card-head small{font-size:.55rem;color:var(--muted);margin-top:2px}
.remove-segment{border:0;background:#f7eeee;color:#a34c4c;width:31px;height:31px;border-radius:9px}
.add-segment-btn{border:1px dashed #a8cec5;background:#eef8f5;color:var(--brand);padding:.65rem .85rem;border-radius:12px;font-size:.7rem;font-weight:800}
.field-help{display:block;margin-top:.28rem;font-size:.55rem;color:#97a39f}
.segment-itinerary{display:grid;gap:.6rem}
.segment-detail-card{border:1px solid var(--line);border-radius:15px;padding:.85rem;background:#fafcfb}
.segment-detail-top{display:flex;align-items:center;gap:.65rem;margin-bottom:.7rem}
.segment-number{width:30px;height:30px;border-radius:9px;background:#eaf5f2;color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:900}
.segment-detail-top strong,.segment-detail-top small{display:block}
.segment-detail-top strong{font-size:.76rem}
.segment-detail-top small{font-size:.58rem;color:var(--muted)}
.segment-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}
.segment-detail-grid>div{padding:.55rem .65rem;background:#fff;border:1px solid var(--line);border-radius:10px}
.segment-detail-grid span,.segment-detail-grid strong{display:block}
.segment-detail-grid span{font-size:.52rem;color:var(--muted)}
.segment-detail-grid strong{font-size:.62rem;margin-top:2px}
.group-results{display:grid;gap:.85rem}
.group-sale-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.group-card-head{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #edf1ef}
.airline-identity{display:flex;align-items:center;gap:.7rem}
.airline-badge{width:42px;height:42px;border-radius:12px;background:#e9f5f2;color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:900}
.airline-identity strong,.airline-identity span{display:block}
.airline-identity strong{font-size:.75rem}
.airline-identity span{font-size:.58rem;color:var(--muted);margin-top:2px}
.tag{font-size:.55rem;font-weight:900;padding:.3rem .48rem;border-radius:999px}
.tag.direct{background:#e7f6f1;color:#14705e}
.tag.soon{background:#fff0dc;color:#9c691d}
.segment-sale-row{display:grid;grid-template-columns:32px 150px repeat(5,1fr);gap:.65rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--line);border-radius:13px;background:#f8faf9}
.segment-sale-row .segment-route strong,.segment-sale-row .segment-route small{display:block}
.segment-sale-row .segment-route strong{font-size:.7rem}
.segment-sale-row .segment-route small{font-size:.55rem;color:var(--muted)}
.segment-sale-row>div span,.segment-sale-row>div strong{display:block}
.segment-sale-row>div span{font-size:.5rem;color:var(--muted)}
.segment-sale-row>div strong{font-size:.6rem;margin-top:2px}
.group-card-price{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fafcfb;border-top:1px solid #edf1ef;padding:.8rem 1rem}
.fare-types{display:flex;gap:1.4rem}
.fare-types span,.fare-types strong{display:block}
.fare-types span{font-size:.53rem;color:#8e9995}
.fare-types strong{font-size:.73rem;margin-top:2px}
.select-group-btn{height:38px;border-radius:11px;background:var(--brand);color:#fff;padding:0 .8rem;display:flex;align-items:center;gap:.45rem;font-size:.65rem;font-weight:800}
@media(max-width:1199px){.segment-detail-grid{grid-template-columns:repeat(2,1fr)}.segment-sale-row{grid-template-columns:32px 1fr 1fr 1fr}}
@media(max-width:767px){.module-hero{align-items:flex-start;flex-direction:column}.price-row{grid-template-columns:1fr 1fr}.price-row.head{display:none}.segment-detail-grid{grid-template-columns:1fr}.segment-sale-row{grid-template-columns:1fr 1fr}.group-card-price{align-items:flex-start;flex-direction:column}.fare-types{width:100%;justify-content:space-between;flex-wrap:wrap}}


/* Sector display in Group Inventory */
.sector-line{
    display:flex;
    align-items:center;
    gap:.45rem;
    flex-wrap:wrap;
}
.sector-line strong{
    font-size:.68rem;
}
.sector-direction{
    display:inline-block;
    min-width:62px;
    padding:.22rem .38rem;
    border-radius:999px;
    background:#e8f5f1;
    color:#126d5c;
    font-size:.5rem;
    font-weight:900;
    text-align:center;
}
.sector-direction.return{
    background:#fff1dc;
    color:#95691a;
}


/* ===== Group Ticket Sales - Compact Inventory Layout ===== */
.group-ticket-sale-list{
    display:grid;
    gap:.9rem
}
.group-ticket-sale-row{
    background:#fff;
    border:1px solid #dfe5e3;
    border-radius:4px;
    overflow:hidden;
    box-shadow:0 3px 12px rgba(25,45,39,.025)
}
.group-sale-strip{
    min-height:34px;
    padding:.4rem .75rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    background:#f5f8f7;
    border-bottom:1px solid #dde5e2;
    font-size:.7rem;
    color:#2c5f58
}
.group-sale-strip>div{
    display:flex;
    gap:.3rem;
    align-items:center;
    flex-wrap:wrap
}
.group-sale-strip>div>strong{
    color:#182d29;
    font-size:.74rem
}
.group-journey-badge{
    display:inline-block;
    padding:.25rem .45rem;
    border-radius:999px;
    font-size:.52rem;
    font-weight:900
}
.group-journey-badge.direct{
    background:#e3f3ed;
    color:#14705e
}
.group-journey-badge.connecting{
    background:#fff0d9;
    color:#95691c
}
.group-sale-main-grid{
    display:grid;
    grid-template-columns:
        minmax(170px,.9fr)
        minmax(470px,2.5fr)
        minmax(160px,.8fr)
        minmax(125px,.65fr)
        minmax(125px,.65fr)
        minmax(175px,.9fr);
    align-items:stretch
}
.group-sale-main-grid>div{
    padding:.75rem .8rem;
    border-right:1px solid #dfe5e3
}
.group-sale-main-grid>div:last-child{
    border-right:0
}
.group-cell-title{
    margin-bottom:.45rem;
    font-size:.7rem;
    font-weight:900;
    color:#203b36
}
.group-airline-cell>strong{
    display:block;
    font-size:.72rem;
    color:#203b36
}
.airline-sale-logo{
    min-height:58px;
    display:flex;
    align-items:center
}
.airline-sale-logo img{
    max-width:90px;
    max-height:48px;
    object-fit:contain
}
.airline-sale-logo span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:42px;
    margin-top:.4rem;
    border-radius:8px;
    background:#eaf5f2;
    color:var(--brand);
    font-size:.8rem;
    font-weight:900
}
.route-summary-line{
    display:flex;
    align-items:center;
    gap:.45rem;
    margin-bottom:.28rem
}
.route-summary-line>span{
    min-width:58px;
    color:#379a8d;
    font-size:.57rem;
    font-weight:900
}
.route-summary-line>strong{
    font-size:.65rem;
    color:#1e3833
}
.compact-segment-list{
    display:grid;
    gap:.18rem;
    margin-top:.45rem
}
.compact-segment-row{
    display:grid;
    grid-template-columns:
        74px
        55px
        92px
        85px
        minmax(80px,1fr)
        minmax(75px,1fr);
    gap:.35rem;
    align-items:center;
    font-size:.59rem;
    line-height:1.35
}
.compact-flight-no{
    color:#29968a;
    font-weight:900
}
.compact-flight-date{
    color:#263a36;
    font-weight:800
}
.compact-sector{
    color:#319487;
    font-weight:800
}
.compact-time{
    color:#263a36;
    font-weight:800
}
.compact-baggage,
.compact-meal{
    color:#394b47;
    font-weight:700
}
.group-seats-cell span{
    display:block;
    margin:.35rem 0;
    font-size:.68rem;
    color:#243d38
}
.group-seats-cell span strong{
    color:#1e2f2b
}
.group-date-cell{
    display:flex;
    flex-direction:column;
    justify-content:flex-start
}
.green-date{
    color:#278c3a;
    font-size:.68rem
}
.group-price-cell small,
.group-price-cell strong{
    display:block
}
.group-price-cell>small{
    font-size:.54rem;
    color:#788681
}
.group-price-cell>strong{
    margin:.12rem 0 .35rem;
    font-size:.78rem;
    color:#213a35
}
.group-mini-fares{
    display:grid;
    gap:.12rem;
    margin-bottom:.5rem
}
.group-mini-fares span{
    font-size:.54rem;
    color:#7a8783
}
.group-mini-fares b{
    color:#394a46
}
.book-now-group-btn{
    display:flex;
    min-height:36px;
    align-items:center;
    justify-content:center;
    border-radius:7px;
    background:#173e59;
    color:#fff;
    padding:.45rem .7rem;
    font-size:.66rem;
    font-weight:900
}
.book-now-group-btn:hover{
    color:#fff;
    background:#0e3149
}
.group-sale-filter{
    padding:1rem
}
@media(max-width:1399px){
    .group-sale-main-grid{
        grid-template-columns:
            minmax(150px,.8fr)
            minmax(390px,2.1fr)
            140px
            115px
            115px
            155px
    }
    .compact-segment-row{
        grid-template-columns:65px 50px 80px 75px 1fr
    }
    .compact-meal{
        display:none
    }
}
@media(max-width:1199px){
    .group-sale-main-grid{
        grid-template-columns:180px 1fr 150px
    }
    .group-sale-main-grid>div{
        border-bottom:1px solid #dfe5e3
    }
    .group-date-cell,
    .group-price-cell{
        border-bottom:0
    }
}
@media(max-width:767px){
    .group-sale-strip{
        align-items:flex-start;
        flex-direction:column
    }
    .group-sale-main-grid{
        grid-template-columns:1fr
    }
    .group-sale-main-grid>div{
        border-right:0;
        border-bottom:1px solid #dfe5e3
    }
    .group-sale-main-grid>div:last-child{
        border-bottom:0
    }
    .compact-segment-row{
        grid-template-columns:1fr 1fr 1fr
    }
    .compact-baggage,
    .compact-meal{
        display:block
    }
}
/* ===== Group Ticket Sale - FINAL 9 / 3 Layout ===== */

/*
   IMPORTANT:
   We do not depend on Bootstrap column width calculation here.
   The add.php can keep:
       col-12 col-lg-9
       col-12 col-lg-3
   but this wrapper explicitly controls the two children as 3fr / 1fr.
*/
.ticket-sale-9-3-layout{
    display:grid!important;
    grid-template-columns:minmax(0,3fr) minmax(250px,1fr)!important;
    gap:1rem!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    align-items:start!important;
}

/* Neutralize Bootstrap/custom column sizing ONLY inside this page */
.ticket-sale-9-3-layout > .col-12,
.ticket-sale-9-3-layout > .col-lg-9,
.ticket-sale-9-3-layout > .col-lg-3{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
    padding-left:0!important;
    padding-right:0!important;
}

.ticket-sale-9-3-layout .sales-main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

.ticket-sale-9-3-layout .form-section,
.ticket-sale-9-3-layout .selected-group-summary{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
}

/* Selected group */
.selected-group-summary{
    margin-bottom:1rem;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:18px;
    background:linear-gradient(135deg,#f7fbfa,#fff);
    overflow:hidden;
}

.selected-group-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.8rem;
}

.selected-group-top h3{
    font-family:"Manrope",sans-serif;
    font-size:1rem;
    margin:.15rem 0 0;
}

.selected-group-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.65rem;
}

.selected-group-grid>div{
    min-width:0;
    padding:.65rem .7rem;
    border:1px solid #edf1ef;
    border-radius:12px;
    background:#fff;
}

.selected-group-grid span,
.selected-group-grid strong{
    display:block;
}

.selected-group-grid span{
    font-size:.52rem;
    color:var(--muted);
}

.selected-group-grid strong{
    margin-top:2px;
    font-size:.64rem;
    overflow-wrap:anywhere;
}

/* B2B / B2C cards */
.channel-switch{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem;
    margin-bottom:.85rem;
}

.channel-switch label{
    margin:0;
    cursor:pointer;
    min-width:0;
}

.channel-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.channel-switch label>span{
    min-height:68px;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:.65rem;
    align-items:center;
    padding:.85rem .95rem;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    transition:.18s;
}

.channel-switch label>span i{
    grid-row:1/3;
    align-self:center;
    color:var(--brand);
    font-size:1rem;
}

.channel-switch label>span strong,
.channel-switch label>span small{
    display:block;
}

.channel-switch label>span strong{
    font-size:.72rem;
}

.channel-switch label>span small{
    margin-top:2px;
    font-size:.58rem;
    color:var(--muted);
}

.channel-switch input:checked + span{
    border-color:#78b9ae;
    background:#edf8f5;
    box-shadow:0 0 0 3px rgba(10,98,87,.06);
}

/* Logged-in agent */
.logged-agent-panel{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:.75rem;
    align-items:center;
    padding:.85rem;
    margin-bottom:.7rem;
    border:1px solid #cce2dc;
    border-radius:15px;
    background:#f1f8f6;
}

.logged-agent-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#dff1ec;
    color:var(--brand);
    font-size:1rem;
}

/* Pax and fare */
.pax-grid,
.price-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
}

.pax-grid>div,
.price-grid>div{
    min-width:0;
}

.pax-grid label,
.price-grid label{
    display:block;
    margin-bottom:.4rem;
    font-size:.68rem;
    font-weight:800;
    color:#56645f;
}

/* Payment */
.payment-option-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.8rem;
}

.payment-option-block{
    min-width:0;
    padding:.75rem;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fafcfb;
}

.payment-option-block.emphasized{
    border-color:#cce2dc;
    background:#f1f8f6;
}

/* Passenger details */
.passenger-detail-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    padding-bottom:.35rem;
}

.passenger-detail-table{
    border:1px solid var(--line);
    border-radius:15px;
    overflow:hidden;
}

.passenger-detail-table-wide{
    width:100%;
    min-width:1020px;
}

.passenger-detail-head-wide,
.passenger-detail-row-wide{
    display:grid;
    grid-template-columns:
        78px
        78px
        minmax(135px,1fr)
        minmax(135px,1fr)
        minmax(125px,.9fr)
        125px
        125px;
    gap:.5rem;
    align-items:center;
}

.passenger-detail-head-wide{
    padding:.65rem .65rem;
    background:#eef4f2;
    border-bottom:1px solid var(--line);
}

.passenger-detail-head-wide span{
    font-size:.56rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.02em;
    color:#596963;
    white-space:nowrap;
}

.passenger-detail-row-wide{
    padding:.62rem .65rem;
    border-bottom:1px solid #edf1ef;
    background:#fff;
}

.passenger-detail-row-wide .form-control,
.passenger-detail-row-wide .form-select{
    min-height:38px;
    padding:.4rem .48rem;
    font-size:.67rem;
}

/* Summary */
.sales-summary-card.ticket-sale-summary-sidebar{
    position:sticky!important;
    top:94px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:1rem!important;
    border-radius:20px;
    background:#102a25;
    color:#fff;
    box-sizing:border-box;
    overflow:hidden!important;
    box-shadow:0 12px 32px rgba(7,42,35,.16);
    z-index:3;
}

.ticket-sale-summary-sidebar .card-eyebrow{
    color:#e1bb64;
}

.ticket-sale-summary-sidebar h3{
    margin:.16rem 0 .8rem;
    color:#fff;
    font-family:"Manrope",sans-serif;
    font-size:.96rem;
}

.ticket-sale-summary-sidebar hr{
    margin:.45rem 0;
    border-color:rgba(255,255,255,.14);
    opacity:1;
}

.ticket-sale-summary-sidebar .summary-line{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.5rem;
    padding:.4rem 0;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.ticket-sale-summary-sidebar .summary-line span{
    min-width:0;
    font-size:.55rem;
    color:#829790;
}

.ticket-sale-summary-sidebar .summary-line strong{
    min-width:0;
    max-width:58%;
    font-size:.65rem;
    color:#fff;
    text-align:right;
    overflow-wrap:anywhere;
}

.ticket-sale-summary-sidebar .summary-line.grand{
    margin:.4rem 0;
    padding:.6rem .6rem;
    border:0;
    border-radius:10px;
    background:#edf7f4;
}

.ticket-sale-summary-sidebar .summary-line.grand span{
    color:#71847e;
}

.ticket-sale-summary-sidebar .summary-line.grand strong{
    color:var(--brand);
    font-size:.72rem;
}

.ticket-sale-summary-sidebar .summary-line.balance strong{
    color:#d79a27;
}

.sale-payment-status{
    margin-top:.7rem;
    padding:.52rem .55rem;
    border-radius:10px;
    background:rgba(255,255,255,.08);
    color:#d8e3df;
    font-size:.56rem;
    font-weight:800;
    line-height:1.35;
    text-align:center;
}

.sale-payment-status.success{
    background:#e6f6f0;
    color:#14705e;
}

.sale-payment-status.warning{
    background:#fff2dc;
    color:#956819;
}

.sale-payment-status.danger{
    background:#fde9e7;
    color:#a44942;
}

.seat-warning{
    margin-top:.6rem;
    padding:.52rem .55rem;
    border-radius:10px;
    background:#fff2dc;
    color:#956819;
    font-size:.56rem;
    line-height:1.35;
}

.ticket-sale-summary-sidebar #saveSaleBtn{
    width:100%!important;
    min-height:40px;
    padding:.45rem .6rem;
    white-space:normal;
    justify-content:center;
}

/*
   Stack below desktop.
   At widths where the application sidebar leaves too little room,
   this is safer than squeezing the 3-column summary.
*/
@media(max-width:1199.98px){
    .ticket-sale-9-3-layout{
        grid-template-columns:minmax(0,1fr)!important;
    }

    .sales-summary-card.ticket-sale-summary-sidebar{
        position:static!important;
        top:auto!important;
    }

    .selected-group-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767.98px){
    .selected-group-grid,
    .channel-switch,
    .payment-option-grid,
    .pax-grid,
    .price-grid{
        grid-template-columns:1fr;
    }

    .passenger-detail-table-wide{
        min-width:940px;
    }
}


/* ===== Professional Group Ticket Sales Register ===== */

.sales-register-kpi-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:.8rem;
    margin-bottom:.9rem;
}

.sales-register-kpi{
    display:flex;
    align-items:center;
    gap:.7rem;
    padding:.85rem;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 4px 14px rgba(28,52,46,.03);
    min-width:0;
}

.sales-register-kpi.highlight{
    background:#112d28;
    border-color:#112d28;
    color:#fff;
}

.sales-kpi-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#edf6f3;
    color:var(--brand);
    font-size:.9rem;
}

.sales-register-kpi.highlight .sales-kpi-icon{
    background:rgba(255,255,255,.12);
    color:#f0c86f;
}

.sales-register-kpi span,
.sales-register-kpi strong,
.sales-register-kpi small{
    display:block;
}

.sales-register-kpi span{
    font-size:.55rem;
    font-weight:800;
    color:#76857f;
}

.sales-register-kpi strong{
    margin:.1rem 0;
    font-size:.95rem;
    font-family:"Manrope",sans-serif;
    color:#1d3933;
}

.sales-register-kpi small{
    font-size:.52rem;
    color:#9aa5a1;
}

.sales-register-kpi.highlight span,
.sales-register-kpi.highlight strong,
.sales-register-kpi.highlight small{
    color:#fff;
}

.sales-finance-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) minmax(250px,1.4fr);
    gap:0;
    margin-bottom:1rem;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}

.sales-finance-strip>div{
    padding:.75rem .9rem;
    border-right:1px solid var(--line);
}

.sales-finance-strip>div:last-child{
    border-right:0;
}

.sales-finance-strip span,
.sales-finance-strip strong{
    display:block;
}

.sales-finance-strip span{
    font-size:.55rem;
    color:var(--muted);
}

.sales-finance-strip strong{
    margin-top:.14rem;
    font-size:.78rem;
}

.sales-finance-progress-wrap .progress{
    height:7px;
    margin-top:.35rem;
}

.sales-register-filter{
    padding:1rem;
}

.sales-filter-chips{
    display:flex;
    gap:.45rem;
    flex-wrap:wrap;
}

.sales-filter-chips a{
    padding:.4rem .7rem;
    border-radius:999px;
    background:#f1f4f3;
    color:#586761;
    font-size:.6rem;
    font-weight:800;
    text-decoration:none;
}

.sales-filter-chips a.active,
.sales-filter-chips a:hover{
    background:#123c35;
    color:#fff;
}

.sales-booking-list{
    display:grid;
    gap:.85rem;
}

.sales-booking-card{
    border:1px solid #dee6e3;
    border-radius:17px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 5px 18px rgba(28,52,46,.035);
}

.sales-booking-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:.8rem 1rem;
    background:#f7faf9;
    border-bottom:1px solid #e7ecea;
}

.sales-channel-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
    border-radius:12px;
    background:#123c35;
    color:#fff;
    font-size:.62rem;
    font-weight:900;
}

.sales-booking-number{
    font-size:.76rem;
    font-weight:900;
    color:#183c35;
    text-decoration:none;
}

.sales-booking-actions{
    display:flex;
    gap:.4rem;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.sales-booking-body{
    display:grid;
    grid-template-columns:
        minmax(260px,1.7fr)
        minmax(190px,1.1fr)
        minmax(120px,.65fr)
        minmax(250px,1.4fr);
}

.sales-booking-body>div{
    min-width:0;
    padding:1rem;
    border-right:1px solid #edf1ef;
}

.sales-booking-body>div:last-child{
    border-right:0;
}

.sales-card-label{
    display:block;
    margin-bottom:.45rem;
    font-size:.52rem;
    font-weight:900;
    color:#8a9792;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.sales-group-code{
    display:block;
    font-size:.77rem;
    color:#1d3832;
}

.sales-booking-route>small,
.sales-booking-customer>small{
    display:block;
    font-size:.58rem;
    color:#77857f;
}

.sales-route-lines{
    display:grid;
    gap:.3rem;
    margin-top:.65rem;
}

.sales-route-lines>div{
    display:flex;
    align-items:center;
    gap:.45rem;
}

.sales-route-lines span{
    min-width:34px;
    padding:.18rem .25rem;
    border-radius:6px;
    background:#e8f5f1;
    color:#137162;
    font-size:.48rem;
    font-weight:900;
    text-align:center;
}

.sales-route-lines strong{
    font-size:.65rem;
    color:#263f39;
}

.sales-booking-customer>strong{
    display:block;
    margin-bottom:.2rem;
    font-size:.74rem;
}

.sales-pax-total{
    display:block;
    font-size:1.55rem;
    line-height:1;
    font-family:"Manrope",sans-serif;
    color:#183b35;
}

.sales-pax-breakdown{
    display:flex;
    gap:.25rem;
    margin-top:.55rem;
}

.sales-pax-breakdown span{
    padding:.25rem .38rem;
    border-radius:7px;
    background:#eef4f2;
    color:#52645e;
    font-size:.52rem;
    font-weight:900;
}

.sales-money-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.6rem;
    padding:.28rem 0;
}

.sales-money-row span{
    font-size:.57rem;
    color:#82908b;
}

.sales-money-row strong{
    font-size:.66rem;
    text-align:right;
}

.sales-payment-progress{
    margin-top:.55rem;
    padding-top:.55rem;
    border-top:1px solid #edf1ef;
}

.sales-payment-progress span,
.sales-payment-progress strong{
    font-size:.52rem;
}

.sales-payment-progress .progress{
    height:6px;
    margin-top:.32rem;
}

@media(max-width:1399.98px){
    .sales-register-kpi-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:1199.98px){
    .sales-finance-strip{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sales-booking-body{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sales-booking-body>div{
        border-bottom:1px solid #edf1ef;
    }
}

@media(max-width:767.98px){
    .sales-register-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .sales-finance-strip,
    .sales-booking-body{
        grid-template-columns:1fr;
    }

    .sales-finance-strip>div,
    .sales-booking-body>div{
        border-right:0;
        border-bottom:1px solid #edf1ef;
    }

    .sales-booking-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .sales-booking-actions{
        width:100%;
        justify-content:flex-start;
    }
}

/* ===== Umrah Package Master ===== */

.package-service-toggle{
    display:block;
    margin:0;
    cursor:pointer;
}

.package-service-toggle input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.package-service-toggle span{
    min-height:78px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.4rem;
    padding:.75rem;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    text-align:center;
    transition:.18s;
}

.package-service-toggle span i{
    font-size:1.05rem;
    color:var(--brand);
}

.package-service-toggle span strong{
    font-size:.64rem;
}

.package-service-toggle input:checked + span{
    border-color:#78b9ae;
    background:#edf8f5;
    box-shadow:0 0 0 3px rgba(10,98,87,.05);
}

.package-hotel-panel{
    height:100%;
    padding:1rem;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fafcfb;
}

.package-hotel-title{
    display:flex;
    align-items:center;
    gap:.45rem;
    margin-bottom:.8rem;
    font-size:.72rem;
    font-weight:900;
    color:#213b35;
}

.package-hotel-title i{
    color:var(--brand);
}

.package-rate-table{
    min-width:850px;
}

.package-rate-table thead th{
    font-size:.58rem;
    text-transform:uppercase;
    letter-spacing:.03em;
    color:#65746e;
}

.package-rate-table tbody td{
    vertical-align:middle;
}

.package-rate-table .form-control{
    min-width:120px;
}

.package-rate-table td strong{
    font-size:.64rem;
}

/* ===== Hotel Master / Umrah Hotel Support ===== */

.hotel-profile-meta{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.55rem;
}
.hotel-profile-meta>div{
    padding:.55rem;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fafcfb;
}
.hotel-profile-meta span,
.hotel-profile-meta strong{
    display:block;
}
.hotel-profile-meta span{
    font-size:.5rem;
    color:var(--muted);
}
.hotel-profile-meta strong{
    margin-top:2px;
    font-size:.62rem;
}

.umrah-quick-links{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:.75rem;
}
.umrah-quick-link-card{
    min-width:0;
    display:flex;
    align-items:center;
    gap:.65rem;
    padding:.8rem;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:.18s;
}
.umrah-quick-link-card:hover{
    transform:translateY(-2px);
    border-color:#b8d8d1;
    box-shadow:0 7px 18px rgba(22,57,49,.06);
}
.umrah-quick-icon{
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#edf6f3;
    color:var(--brand);
}
.umrah-quick-link-card strong,
.umrah-quick-link-card small{
    display:block;
}
.umrah-quick-link-card strong{
    font-size:.64rem;
}
.umrah-quick-link-card small{
    margin-top:2px;
    font-size:.5rem;
    color:var(--muted);
}

@media(max-width:1399.98px){
    .umrah-quick-links{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:767.98px){
    .hotel-profile-meta,
    .umrah-quick-links{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

/* ===== Umrah Setup & Operations Quick Links ===== */

.umrah-ops-panel{
    padding:1rem;
    border:1px solid var(--line);
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff,#f8fbfa);
}

.umrah-ops-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.9rem;
}

.umrah-ops-head h3{
    margin:.15rem 0 .2rem;
    font-family:"Manrope",sans-serif;
    font-size:1rem;
    color:#1d3933;
}

.umrah-ops-head p{
    margin:0;
    max-width:760px;
    font-size:.62rem;
    color:var(--muted);
}

.umrah-op-card{
    min-height:92px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:.75rem;
    align-items:center;
    padding:.9rem;
    border:1px solid #e1e8e5;
    border-radius:15px;
    background:#fff;
    color:inherit;
    text-decoration:none;
    transition:.18s ease;
}

.umrah-op-card:hover{
    transform:translateY(-2px);
    border-color:#b9d7d0;
    box-shadow:0 8px 20px rgba(26,62,53,.07);
}

.umrah-op-icon{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:13px;
    background:#edf6f3;
    color:var(--brand);
    font-size:1.05rem;
}

.umrah-op-copy{
    min-width:0;
}

.umrah-op-copy strong,
.umrah-op-copy small{
    display:block;
}

.umrah-op-copy strong{
    font-size:.72rem;
    color:#1f3934;
}

.umrah-op-copy small{
    margin-top:.2rem;
    font-size:.56rem;
    line-height:1.35;
    color:var(--muted);
}

.umrah-op-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#9aa7a2;
    font-size:.78rem;
}

.umrah-op-card:hover .umrah-op-arrow{
    color:var(--brand);
}

@media(max-width:767.98px){
    .umrah-op-card{
        min-height:82px;
        padding:.8rem;
    }

    .umrah-op-icon{
        width:42px;
        height:42px;
    }
}
