:root{--sp-purple:#6b21a8;--sp-purple-light:#7c3aed;--sp-purple-dark:#4c1d95;--sp-purple-bg:#f5f0ff;--sp-green:#16a34a;--sp-green-light:#22c55e;--sp-green-bg:#f0fdf4;--sp-amber:#d97706;--sp-amber-light:#f59e0b;--sp-amber-bg:#fffbeb;--sp-red:#dc2626;--sp-red-light:#ef4444;--sp-red-bg:#fef2f2;--sp-blue:#0891b2;--sp-blue-light:#06b6d4;--sp-blue-bg:#ecfeff;--sp-orange:#ea580c;--sp-orange-light:#f97316;--sp-text-dark:#1e1b4b;--sp-text-gray:#6b7280;--sp-text-light:#9ca3af;--sp-border:#e5e7eb;--sp-bg:#f9fafb;--sp-white:#fff;--sp-shadow-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--sp-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--sp-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--sp-radius:12px;--sp-radius-sm:8px;--sp-radius-lg:20px;--navbar-height:72px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-poppins),"Poppins",sans-serif;background-color:var(--sp-bg);color:var(--sp-text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}a,a:hover{text-decoration:none}.btn{font-family:var(--font-poppins),"Poppins",sans-serif;font-weight:600;border-radius:8px;padding:.55rem 1.5rem;transition:all .2s ease;font-size:.9rem}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--sp-purple);border-color:var(--sp-purple);color:#fff}.btn-primary:focus,.btn-primary:hover{background-color:var(--sp-purple-dark);border-color:var(--sp-purple-dark)}.btn-orange{background-color:var(--sp-orange);border-color:var(--sp-orange);color:#fff}.btn-orange:hover{background-color:var(--sp-orange-light);border-color:var(--sp-orange-light);color:#fff}.btn-outline-purple{color:var(--sp-purple);border-color:var(--sp-purple);background:transparent}.btn-outline-purple:hover{background:var(--sp-purple);color:#fff}.btn-outline-secondary{color:var(--sp-text-gray);border-color:var(--sp-border)}.form-control,.form-select{font-family:var(--font-poppins),"Poppins",sans-serif;font-size:.875rem;border-color:var(--sp-border);border-radius:var(--sp-radius-sm);padding:.6rem .9rem;color:var(--sp-text-dark);transition:border-color .2s,box-shadow .2s}.form-control:focus,.form-select:focus{border-color:var(--sp-purple-light);box-shadow:0 0 0 3px rgba(124,58,237,.15)}.form-control::placeholder{color:var(--sp-text-light)}.form-label{font-size:.82rem;font-weight:500;color:var(--sp-text-dark);margin-bottom:.35rem}.form-label .required{color:var(--sp-red);margin-left:2px}.card{border:1px solid var(--sp-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow-sm)}.badge{font-family:var(--font-poppins),"Poppins",sans-serif;font-weight:500;font-size:.72rem;border-radius:20px;padding:.3em .75em}.table{font-size:.85rem}.table thead th{font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--sp-text-gray);background:#f8f7ff;padding:.85rem 1rem}.table tbody td,.table thead th{border-bottom-color:var(--sp-border)}.table tbody td{padding:.9rem 1rem;vertical-align:middle}.table-hover tbody tr:hover{background-color:var(--sp-purple-bg)}.nav-tabs .nav-link{font-weight:500;font-size:.875rem;color:var(--sp-text-gray);border:none;border-bottom:3px solid transparent;border-radius:0;padding:.6rem 1rem}.nav-tabs .nav-link.active{color:var(--sp-purple);border-bottom-color:var(--sp-purple);background:transparent;font-weight:600}.nav-tabs{border-bottom:1px solid var(--sp-border)}.sp-navbar{height:var(--navbar-height);background:var(--sp-white);box-shadow:0 2px 8px rgba(0,0,0,.08);position:-webkit-sticky;position:sticky;top:0;z-index:1000}.sp-navbar .nav-link{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.8rem;font-weight:500;color:var(--sp-text-dark)!important;padding:.4rem .8rem!important;border-bottom:3px solid transparent;transition:all .2s}.sp-navbar .nav-link .nav-icon{font-size:1.25rem;line-height:1}.sp-navbar .nav-link:hover{color:var(--sp-purple)!important}.sp-navbar .nav-home .nav-icon{color:var(--sp-purple)}.sp-navbar .nav-bookings .nav-icon{color:var(--sp-green)}.sp-navbar .nav-finance .nav-icon{color:var(--sp-amber)}.sp-navbar .nav-team .nav-icon{color:var(--sp-red)}.sp-navbar .nav-helpdesk .nav-icon{color:var(--sp-blue)}.sp-navbar .nav-settings .nav-icon{color:var(--sp-text-gray)}.sp-navbar .nav-link.active-home{color:var(--sp-purple)!important;border-bottom-color:var(--sp-purple)}.sp-navbar .nav-link.active-bookings{color:var(--sp-green)!important;border-bottom-color:var(--sp-green)}.sp-navbar .nav-link.active-finance{color:var(--sp-amber)!important;border-bottom-color:var(--sp-amber)}.sp-navbar .nav-link.active-team{color:var(--sp-red)!important;border-bottom-color:var(--sp-red)}.sp-navbar .nav-link.active-helpdesk{color:var(--sp-blue)!important;border-bottom-color:var(--sp-blue)}.sp-navbar .nav-link.active-settings{color:var(--sp-amber)!important;border-bottom-color:var(--sp-amber)}.sp-navbar .dropdown-menu{border:1px solid var(--sp-border);border-radius:var(--sp-radius);box-shadow:var(--sp-shadow-lg);padding:.5rem;min-width:200px}.sp-navbar .dropdown-item{font-size:.85rem;font-weight:500;border-radius:var(--sp-radius-sm);padding:.5rem .8rem;display:flex;align-items:center;gap:.5rem;color:var(--sp-text-dark)}.sp-navbar .dropdown-item.active,.sp-navbar .dropdown-item:hover{background:var(--sp-purple-bg);color:var(--sp-purple)}.sp-navbar .dropdown-item.active{font-weight:600}.settings-dropdown-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem;padding:.75rem;min-width:360px}.settings-dropdown-item{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.65rem;border-radius:var(--sp-radius-sm);cursor:pointer;transition:all .2s;text-align:center;font-size:.72rem;font-weight:500;color:var(--sp-text-dark);background:transparent;border:none}.settings-dropdown-item:hover{background:var(--sp-purple-bg);color:var(--sp-purple)}.settings-dropdown-item.active{background:var(--sp-purple);color:#fff}.settings-dropdown-item img{width:28px;height:28px;object-fit:contain}.sp-balance{gap:6px;background:#f3f4f6;border-radius:20px;padding:4px 12px 4px 8px;font-size:.82rem;font-weight:600;color:var(--sp-text-dark)}.sp-avatar,.sp-balance{display:flex;align-items:center}.sp-avatar{width:38px;height:38px;border-radius:50%;background:var(--sp-purple);color:#fff;font-weight:700;font-size:.875rem;justify-content:center;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.sp-avatar:hover{border-color:var(--sp-purple-light)}.profile-dropdown{min-width:220px;right:0;left:auto}.profile-dropdown .profile-header{padding:.75rem 1rem;border-bottom:1px solid var(--sp-border);display:flex;align-items:center;gap:.6rem}.profile-dropdown .profile-header .pf-name{font-weight:600;font-size:.875rem}.profile-dropdown .profile-header .pf-email{font-size:.75rem;color:var(--sp-text-gray)}.sp-footer{background:var(--sp-purple);font-size:.8rem;padding:.9rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.sp-footer,.sp-footer a{color:hsla(0,0%,100%,.85)}.sp-footer a:hover{color:#fff}.sp-footer .footer-links{display:flex;gap:1rem;flex-wrap:wrap}.sp-hero{background:linear-gradient(135deg,#1e3a8a,#6b21a8 60%,#7c3aed);color:#fff;padding:3rem 2rem;text-align:center;position:relative;overflow:hidden}.sp-hero:before{content:"";position:absolute;inset:0;background:url(/assets/flights/flights-banner.webp) 50%/cover;opacity:.15}.sp-hero h1{position:relative;font-size:2.5rem;font-weight:700;margin:0}.sp-hero p{position:relative;opacity:.85;margin:.5rem 0 0}.stat-card{background:var(--sp-white);border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;box-shadow:var(--sp-shadow-sm)}.stat-card .stat-icon{font-size:2rem}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--sp-text-dark)}.stat-card .stat-label{font-size:.78rem;color:var(--sp-text-gray)}.stat-card-purple{background:var(--sp-purple);color:#fff}.stat-card-purple .stat-label,.stat-card-purple .stat-value{color:#fff}.stat-card-orange{background:var(--sp-orange);color:#fff}.stat-card-orange .stat-label,.stat-card-orange .stat-value{color:#fff}.stat-card-cyan{background:var(--sp-blue);color:#fff}.stat-card-cyan .stat-label,.stat-card-cyan .stat-value{color:#fff}.sp-search-card{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--sp-radius);padding:1.75rem;margin:0 auto;max-width:960px}.sp-search-card .form-control,.sp-search-card .form-select{background:hsla(0,0%,100%,.9)}.sp-search-card .form-label{color:hsla(0,0%,100%,.9);font-size:.78rem;font-weight:500}.sp-pagination .page-item .page-link{font-size:.82rem;font-weight:500;color:var(--sp-text-dark);border-color:var(--sp-border);border-radius:6px!important;margin:0 2px}.sp-pagination .page-item.active .page-link{background:var(--sp-purple);border-color:var(--sp-purple);color:#fff}.profile-sidebar{background:var(--sp-white);border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:1.5rem 1rem;text-align:center;box-shadow:var(--sp-shadow-sm)}.profile-sidebar .ps-avatar{width:72px;height:72px;border-radius:50%;background:var(--sp-purple);color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.profile-sidebar .ps-name{font-weight:700;font-size:1rem}.profile-sidebar .ps-role{display:inline-block;background:var(--sp-purple-bg);color:var(--sp-purple);font-size:.72rem;font-weight:600;border-radius:20px;padding:.2em .8em;margin:.35rem 0}.profile-sidebar .ps-email{font-size:.8rem;color:var(--sp-text-gray)}.profile-sidebar .ps-status{font-size:.78rem;color:var(--sp-green);font-weight:500}.profile-sidebar .ps-meta{font-size:.72rem;color:var(--sp-text-gray);margin-top:.75rem}.profile-sidebar .ps-meta strong{color:var(--sp-purple);font-size:.78rem}.profile-sidebar .ps-nav{margin-top:1rem}.profile-sidebar .ps-nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:var(--sp-radius-sm);font-size:.85rem;font-weight:500;color:var(--sp-text-dark);cursor:pointer;transition:all .15s;border:none;background:transparent;width:100%;text-align:left;text-decoration:none}.profile-sidebar .ps-nav-item.active,.profile-sidebar .ps-nav-item:hover{background:var(--sp-purple-bg);color:var(--sp-purple)}.profile-sidebar .ps-nav-item.active{font-weight:600}.profile-sidebar .ps-logout{color:var(--sp-red)!important;margin-top:.5rem;border-top:1px solid var(--sp-border);padding-top:.75rem}.profile-sidebar .ps-logout:hover{background:var(--sp-red-bg)!important}.sp-stepper{justify-content:center;gap:0;margin:2rem 0}.sp-stepper,.sp-stepper .step{display:flex;align-items:center}.sp-stepper .step{flex-direction:column;gap:.4rem;position:relative;z-index:1}.sp-stepper .step-circle{width:36px;height:36px;border-radius:50%;border:2px solid var(--sp-border);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;color:var(--sp-text-gray);transition:all .3s}.sp-stepper .step.active .step-circle,.sp-stepper .step.done .step-circle{background:var(--sp-purple);border-color:var(--sp-purple);color:#fff}.sp-stepper .step-label{font-size:.72rem;font-weight:500;color:var(--sp-text-gray);white-space:nowrap}.sp-stepper .step.active .step-label,.sp-stepper .step.done .step-label{color:var(--sp-purple)}.sp-stepper .step-line{flex:1 1;height:2px;background:var(--sp-border);margin:0 .5rem 22px;min-width:60px;transition:background .3s}.sp-stepper .step-line.done{background:var(--sp-purple)}.badge-active,.badge-confirmed,.badge-paid,.badge-verified{background:var(--sp-green-bg);color:var(--sp-green)}.badge-cancelled,.badge-failed,.badge-inactive,.badge-rejected{background:var(--sp-red-bg);color:var(--sp-red)}.badge-pending,.badge-under-review{background:var(--sp-amber-bg);color:var(--sp-amber)}.badge-ticketed{background:var(--sp-blue-bg);color:var(--sp-blue)}.badge-approved{background:var(--sp-green-bg);color:var(--sp-green)}.form-check-input:checked{background-color:var(--sp-purple);border-color:var(--sp-purple)}.form-check-input:focus{box-shadow:0 0 0 3px rgba(107,33,168,.15)}.sp-section-title{font-size:1.75rem;font-weight:700;color:var(--sp-purple);margin-bottom:1.5rem}.sp-section-title-sm{font-size:1.1rem;font-weight:700;color:var(--sp-purple);margin-bottom:1rem}.login-page{min-height:100vh;margin:0;padding:0;background:url(/assets/login/login-background.webp) top/contain no-repeat;display:flex;flex-direction:column;position:relative}.login-topbar{padding:1.25rem 2rem;color:var(--sp-purple);font-size:1.1rem;font-weight:600}.login-card-wrap{flex:1 1;display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{background:hsla(0,0%,100%,.96);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:2.5rem 2.25rem;width:100%;max-width:440px}.login-logo{text-align:center;margin-bottom:1rem}.login-logo .venture-tag{font-size:.72rem;color:var(--sp-text-gray)}.login-logo img{max-height:52px}.login-title{text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-text-dark);margin-bottom:1.25rem}.login-alert-info{background:#fff8dc;border:1px solid #f59e0b;border-radius:6px;padding:.6rem .9rem;font-size:.78rem;color:#92400e;margin-bottom:1.25rem}.login-footer{background:var(--sp-purple);font-size:.78rem;padding:.9rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.login-footer,.login-footer a{color:hsla(0,0%,100%,.8)}.login-footer a:hover{color:#fff}.iata-badge{position:absolute;bottom:60px;right:2rem;background:hsla(0,0%,100%,.9);border-radius:8px;padding:.5rem .75rem;font-size:.65rem;font-weight:600;text-align:center;color:var(--sp-text-dark)}.booking-hero{background:linear-gradient(135deg,#1e3a8a,#5b21b6,#7c3aed);padding:2.5rem 1.5rem;position:relative;overflow:hidden}.booking-hero:before{content:"";position:absolute;inset:0;background:url(/assets/hotels/hotel-banner.webp) 50%/cover;opacity:.12}.booking-hero h1{color:#fff;font-size:2.5rem;font-weight:700;text-align:center;position:relative;margin-bottom:1.5rem}.finance-card{background:var(--sp-white);border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:1.25rem;text-align:center;box-shadow:var(--sp-shadow-sm)}.finance-card .fc-icon{font-size:2rem;margin-bottom:.5rem}.finance-card .fc-label{font-size:.72rem;color:var(--sp-text-gray)}.finance-card .fc-value{font-size:1.2rem;font-weight:700}.credit-bar{height:8px;border-radius:4px;background:#e5e7eb;overflow:hidden}.credit-bar-fill{height:100%;background:var(--sp-green);border-radius:4px;transition:width .4s}.hd-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.hd-sidebar-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--sp-radius-sm);font-size:.875rem;font-weight:600;border:1px solid var(--sp-border);background:var(--sp-white);cursor:pointer;transition:all .2s;text-decoration:none;color:var(--sp-text-dark)}.hd-sidebar-btn.active,.hd-sidebar-btn:hover{border-color:var(--sp-purple);color:var(--sp-purple)}.hd-sidebar-btn.active{background:var(--sp-purple-bg)}.hd-sidebar-btn.new{color:var(--sp-orange);border-color:var(--sp-orange)}.hd-sidebar-btn.new:hover{background:#fff4ed}.sp-spinner{width:2.5rem;height:2.5rem;border:3px solid var(--sp-border);border-top-color:var(--sp-purple);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.sp-navbar .nav-link{font-size:.7rem;padding:.3rem .4rem!important}.sp-navbar .nav-link .nav-icon{font-size:1rem}.booking-hero h1,.sp-hero h1{font-size:1.75rem}.sp-footer{flex-direction:column;text-align:center}.hd-sidebar{width:100%;flex-direction:row}.profile-sidebar{margin-bottom:1.5rem}.settings-dropdown-grid{min-width:280px}}.signup-page{background:var(--sp-white);min-height:100vh}.signup-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--sp-border)}.signup-body{max-width:860px;margin:0 auto;padding:2rem 1.5rem 4rem}.pref-card{border:2px solid var(--sp-border);border-radius:var(--sp-radius);padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s;background:var(--sp-white);position:relative}.pref-card.selected,.pref-card:hover{border-color:var(--sp-purple)}.pref-card.selected{background:var(--sp-purple-bg)}.pref-card .pref-icon{font-size:2rem;color:var(--sp-purple)}.pref-card .pref-label{font-size:.8rem;font-weight:600;color:var(--sp-purple)}.pref-card .pref-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;border:2px solid var(--sp-border);display:flex;align-items:center;justify-content:center;background:#fff}.pref-card.selected .pref-check{background:var(--sp-purple);border-color:var(--sp-purple);color:#fff;font-size:.65rem}.doc-card{border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:1.25rem;background:var(--sp-white)}.doc-card-empty{border:2px dashed var(--sp-border);border-radius:var(--sp-radius);padding:2rem;text-align:center;background:var(--sp-bg);display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer}.doc-card-empty:hover{border-color:var(--sp-purple)}.markup-table td,.markup-table th{vertical-align:middle!important}.markup-table .service-name{display:flex;align-items:center;gap:.5rem;font-weight:600}.payment-link-box{background:var(--sp-purple-bg);border:1px solid var(--sp-purple-light);border-radius:var(--sp-radius-sm);padding:.75rem 1rem;font-size:.82rem;color:var(--sp-purple);word-break:break-all}.notif-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--sp-border)}.notif-row:last-child{border-bottom:none}.notif-section-header{border-radius:var(--sp-radius-sm);padding:.6rem 1rem;margin-bottom:.75rem;font-weight:600;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.notif-section-header.booking{background:#eef2ff;color:#4338ca}.notif-section-header.finance{background:var(--sp-amber-bg);color:var(--sp-amber)}.notif-section-header.system{background:var(--sp-blue-bg);color:var(--sp-blue)}.dev-creds-box{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.75rem}.dev-creds-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#92400e;margin-bottom:.5rem;display:flex;align-items:center}.dev-creds-row{margin-bottom:.25rem}.dev-creds-row:last-child{margin-bottom:0}.dev-cred-btn{background:#fff8c5;border:1px solid #fde68a;border-radius:6px;padding:.35rem .75rem;font-size:.75rem;color:#78350f;cursor:pointer;width:100%;text-align:left;transition:background .15s;font-family:var(--font-poppins),"Poppins",sans-serif}.dev-cred-btn:hover{background:#fef3c7;border-color:#f59e0b}.admin-shell{background:#f1f5f9;font-family:var(--font-poppins),"Poppins",sans-serif;min-height:100vh}.admin-main{margin-left:248px;min-height:100vh;display:flex;flex-direction:column;transition:margin-left .22s cubic-bezier(.4,0,.2,1)}.admin-shell.sidebar-collapsed .admin-main{margin-left:68px}.admin-content{flex:1 1;padding:1.75rem}.adm-sidebar{position:fixed;top:0;left:0;width:248px;height:100vh;background:linear-gradient(180deg,#1e1b4b,#2d2a6e 60%,#312e81);display:flex;flex-direction:column;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1);z-index:200}.adm-sidebar.collapsed{width:68px}.adm-logo{display:flex;align-items:center;gap:.75rem;padding:1.1rem 1rem 1rem;border-bottom:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.adm-sidebar.collapsed .adm-logo{justify-content:center;padding:1rem .5rem}.adm-sidebar.collapsed .adm-logo-mark{display:none}.adm-sidebar.collapsed .adm-collapse-btn{margin-left:0;width:32px;height:32px}.adm-logo-mark{width:36px;height:36px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,#7c3aed,#6b21a8);display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 4px 12px rgba(107,33,168,.4)}.adm-logo-text{overflow:hidden;white-space:nowrap}.adm-logo-title{color:#fff;font-weight:700;font-size:.95rem;line-height:1.1}.adm-logo-sub{color:hsla(0,0%,100%,.4);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.adm-collapse-btn{margin-left:auto;flex-shrink:0;width:24px;height:24px;border-radius:6px;background:hsla(0,0%,100%,.08);border:none;color:hsla(0,0%,100%,.5);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:.7rem}.adm-collapse-btn:hover{background:hsla(0,0%,100%,.15);color:#fff}.adm-sidebar.collapsed .adm-logo-text{display:none}.adm-nav{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:.75rem .6rem}.adm-nav::-webkit-scrollbar{width:4px}.adm-nav::-webkit-scrollbar-track{background:transparent}.adm-nav::-webkit-scrollbar-thumb{background:#7f1d1d;border-radius:2px}.adm-nav::-webkit-scrollbar-thumb:hover{background:#991b1b}.adm-nav-section{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:hsla(0,0%,100%,.28);padding:.9rem .6rem .3rem;white-space:nowrap;overflow:hidden}.adm-sidebar.collapsed .adm-nav-section{opacity:0;height:0;padding:0}.adm-nav-item{display:flex;align-items:center;gap:.65rem;padding:.52rem .65rem;border-radius:8px;color:hsla(0,0%,100%,.6);font-size:.82rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden;border:none;background:transparent;width:100%;text-align:left;position:relative}.adm-nav-item i{font-size:.95rem;width:18px;flex-shrink:0;text-align:center}.adm-nav-item:hover{background:hsla(0,0%,100%,.08);color:#fff}.adm-nav-item.active{background:rgba(107,33,168,.55);color:#fff;font-weight:600;box-shadow:0 2px 8px rgba(107,33,168,.3)}.adm-nav-item.active:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:#a78bfa}.adm-sidebar.collapsed .adm-nav-item{justify-content:center;padding:.55rem}.adm-sidebar.collapsed .adm-nav-item span,.adm-sidebar.collapsed .adm-nav-item:before{display:none}.adm-sidebar-bottom{padding:.6rem;border-top:1px solid hsla(0,0%,100%,.08);flex-shrink:0}.adm-user-block{gap:.65rem;padding:.65rem .6rem;border-radius:8px;background:hsla(0,0%,100%,.06);margin-bottom:.4rem;overflow:hidden}.adm-avatar,.adm-user-block{display:flex;align-items:center}.adm-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7c3aed,#a78bfa);color:#fff;font-weight:700;font-size:.72rem;justify-content:center}.adm-user-info{overflow:hidden}.adm-user-name{color:#fff;font-size:.78rem;font-weight:600;white-space:nowrap}.adm-user-role{color:hsla(0,0%,100%,.4);font-size:.62rem;white-space:nowrap}.adm-sidebar.collapsed .adm-user-info{display:none}.adm-sidebar.collapsed .adm-user-block{justify-content:center;padding:.5rem}.adm-topbar{background:#fff;border-bottom:1px solid #e9eef4;padding:0 1.75rem;height:60px;display:flex;align-items:center;gap:1rem;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.06);flex-shrink:0}.adm-topbar-title{font-size:1rem;font-weight:700;color:#1e1b4b}.adm-topbar-sub{font-size:.72rem;color:#9ca3af}.adm-topbar-search{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1.5px solid #e9eef4;border-radius:10px;padding:.42rem .85rem;transition:border-color .2s}.adm-topbar-search:focus-within{border-color:#7c3aed;background:#fff}.adm-topbar-search input{border:none;background:transparent;outline:none;font-size:.82rem;color:#374151;width:200px;font-family:var(--font-poppins),"Poppins",sans-serif}.adm-topbar-search i{color:#9ca3af;font-size:.85rem}.adm-topbar-btn{width:36px;height:36px;border-radius:9px;border:1.5px solid #e9eef4;background:#f8fafc;color:#6b7280;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:.9rem;position:relative;flex-shrink:0}.adm-topbar-btn:hover{border-color:#6b21a8;color:#6b21a8;background:#f5f0ff}.adm-notif-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;background:#dc2626;border-radius:50%;border:1.5px solid #fff}.adm-topbar-avatar{display:flex;align-items:center;gap:.55rem;cursor:pointer;padding:.35rem .65rem .35rem .35rem;border-radius:999px;border:1.5px solid #e9eef4;background:#f8fafc;transition:all .15s}.adm-topbar-avatar:hover{border-color:#6b21a8;background:#f5f0ff}.adm-topbar-avatar-circle{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6b21a8,#7c3aed);color:#fff;font-weight:700;font-size:.65rem;display:flex;align-items:center;justify-content:center}.adm-topbar-avatar-name{font-size:.78rem;font-weight:600;color:#1e1b4b}.adm-topbar-avatar-role{font-size:.62rem;color:#9ca3af}.adm-page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.adm-page-title{font-size:1.25rem;font-weight:700;color:#1e1b4b;margin:0}.adm-page-sub{font-size:.78rem;color:#9ca3af;margin:2px 0 0}.adm-page-actions{gap:.5rem;flex-wrap:wrap}.adm-page-actions,.adm-stat{display:flex;align-items:center}.adm-stat{background:#fff;border-radius:14px;padding:1.25rem 1.4rem;border:1px solid #e9eef4;box-shadow:0 1px 4px rgba(0,0,0,.05);gap:1rem;position:relative;overflow:hidden;transition:box-shadow .2s}.adm-stat:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}.adm-stat:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--adm-stat-color,#6b21a8)}.adm-stat-icon{width:48px;height:48px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.adm-stat-body{flex:1 1;min-width:0}.adm-stat-value{font-size:1.7rem;font-weight:700;color:#1e1b4b;line-height:1}.adm-stat-label{font-size:.75rem;color:#6b7280;margin-top:.2rem}.adm-stat-change{font-size:.7rem;font-weight:600;margin-top:.45rem;display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:20px}.adm-stat-change.up{background:#d1fae5;color:#065f46}.adm-stat-change.down{background:#fee2e2;color:#991b1b}.adm-stat-change.neutral{background:#f3f4f6;color:#6b7280}.admin-card{background:#fff;border-radius:14px;border:1px solid #e9eef4;box-shadow:0 1px 4px rgba(0,0,0,.05)}.admin-card-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.4rem;border-bottom:1px solid #f1f5f9}.admin-card-title{font-weight:700;font-size:.88rem;color:#1e1b4b}.admin-card-body{padding:1.25rem 1.4rem}.adm-toolbar{gap:.6rem;padding:.85rem 1.4rem;border-bottom:1px solid #f1f5f9;flex-wrap:wrap}.adm-search-wrap,.adm-toolbar{display:flex;align-items:center}.adm-search-wrap{gap:.45rem;background:#f8fafc;border:1.5px solid #e9eef4;border-radius:9px;padding:.42rem .85rem;transition:border-color .2s}.adm-search-wrap:focus-within{border-color:#7c3aed;background:#fff}.adm-search-wrap input{border:none;background:transparent;outline:none;font-size:.82rem;color:#374151;width:190px;font-family:var(--font-poppins),"Poppins",sans-serif}.adm-search-wrap i{color:#9ca3af;font-size:.82rem}.adm-filter-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .85rem;border-radius:8px;font-size:.78rem;font-weight:600;border:1.5px solid #e9eef4;background:#f8fafc;color:#6b7280;cursor:pointer;transition:all .15s;white-space:nowrap}.adm-filter-chip:hover{border-color:#6b21a8;color:#6b21a8;background:#f5f0ff}.adm-filter-chip.active{background:#6b21a8;border-color:#6b21a8;color:#fff}.adm-select{font-family:var(--font-poppins),"Poppins",sans-serif;font-size:.78rem;font-weight:500;border:1.5px solid #e9eef4;border-radius:8px;background:#f8fafc;color:#374151;padding:.38rem .7rem;cursor:pointer;outline:none;transition:border-color .2s}.adm-select:focus{border-color:#7c3aed;background:#fff}.adm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{width:100%;border-collapse:collapse}.admin-table th{background:#f8fafc;padding:.7rem 1rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#6b7280;text-align:left;border-bottom:2px solid #e9eef4;white-space:nowrap;position:-webkit-sticky;position:sticky;top:0}.admin-table td{padding:.8rem 1rem;font-size:.8rem;color:#374151;border-bottom:1px solid #f1f5f9;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:#f5f0ff;cursor:default}.a-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;border-radius:999px;font-size:.7rem;font-weight:600}.a-badge-green{background:#d1fae5;color:#065f46}.a-badge-red{background:#fee2e2;color:#991b1b}.a-badge-amber{background:#fef3c7;color:#92400e}.a-badge-purple{background:#ede9fe;color:#5b21b6}.a-badge-blue{background:#dbeafe;color:#1e40af}.a-badge-gray{background:#f3f4f6;color:#6b7280}.adm-action-btn{width:30px;height:30px;border-radius:7px;border:1.5px solid #e9eef4;background:#f8fafc;color:#6b7280;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:.82rem}.adm-action-btn:hover{border-color:#6b21a8;color:#6b21a8;background:#f5f0ff}.adm-action-btn.danger:hover{border-color:#dc2626;color:#dc2626;background:#fef2f2}.adm-action-btn.success:hover{border-color:#16a34a;color:#16a34a;background:#f0fdf4}.adm-notice{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:10px;border-width:1px;border-style:solid;font-size:.82rem;font-weight:500;margin-bottom:1.25rem}.adm-notice.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}.adm-notice.info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.adm-notice.success{background:#f0fdf4;border-color:#bbf7d0;color:#065f46}.adm-tabs{display:flex;gap:2px;border-bottom:2px solid #e9eef4;margin-bottom:1.5rem}.adm-tab{padding:.55rem 1.1rem;font-size:.82rem;font-weight:500;cursor:pointer;background:none;color:#6b7280;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.adm-tab:hover{color:#6b21a8}.adm-tab.active{color:#6b21a8;font-weight:700;border-bottom-color:#6b21a8}.adm-empty{text-align:center;padding:3rem 1rem;color:#9ca3af}.adm-empty i{font-size:2.5rem;display:block;margin-bottom:.75rem}.adm-empty p{font-size:.85rem;margin:0}.admin-search{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1.5px solid #e9eef4;border-radius:9px;padding:.42rem .75rem}.admin-search input{border:none;background:transparent;outline:none;font-size:.82rem;color:#374151;width:200px;font-family:var(--font-poppins),"Poppins",sans-serif}.admin-search i{color:#9ca3af}.admin-search:focus-within{border-color:#7c3aed;background:#fff}@media (max-width:900px){.adm-sidebar{left:-248px;transition:left .22s cubic-bezier(.4,0,.2,1),width .22s}.adm-sidebar.mobile-open{left:0}.adm-sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:199}.adm-sidebar-overlay.visible{display:block}.adm-mobile-toggle{display:flex!important}.admin-main{margin-left:0!important}.admin-content{padding:1rem}.adm-topbar{padding:0 1rem}}@media (min-width:901px){.adm-mobile-toggle,.adm-sidebar-overlay{display:none!important}}@media print{.adm-action-btn,.adm-filter-chip,.adm-page-actions .btn,.adm-search-wrap,.adm-select,.adm-sidebar,.adm-toolbar .adm-action-btn,.adm-topbar,.no-print{display:none!important}.admin-shell{background:#fff}.admin-content{padding:0;overflow:visible}.admin-card{border:none;box-shadow:none;border-radius:0}.admin-card-header{border-bottom:2px solid #e5e7eb}.admin-table th{background:#f9f9f9!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.admin-table tbody tr:hover td{background:transparent!important}.adm-stat{box-shadow:none;border:1px solid #e5e7eb}body{font-size:11pt}.adm-page-title,h1{font-size:14pt}@page{margin:1.2cm}}.sp-card{padding:1.75rem}.settings-sidebar,.sp-card{background:#fff;border-radius:var(--sp-radius);box-shadow:var(--sp-shadow-sm);border:1px solid var(--sp-border)}.settings-sidebar{padding:1.25rem;position:-webkit-sticky;position:sticky;top:calc(var(--navbar-height) + 16px)}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:8px;font-size:.875rem;color:var(--sp-text-gray);transition:all .15s;text-decoration:none}.settings-nav-item:hover{background:var(--sp-bg);color:var(--sp-text-dark)}.settings-nav-item.active{background:var(--sp-purple-bg);color:var(--sp-purple);font-weight:600}.settings-icon-box{width:52px;height:52px;border-radius:12px;background:var(--sp-purple-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.flights-results-page{background:var(--sp-bg);min-height:100vh}.modify-bar{background:var(--sp-purple);color:#fff;padding:.85rem 2rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.modify-bar-blue{background:var(--sp-blue)!important}.modify-title{font-weight:700;font-size:1.1rem;display:flex;align-items:center}.modify-summary{font-size:.85rem;opacity:.85}.modify-panel{box-shadow:var(--sp-shadow)}.airline-tabs-bar,.modify-panel{background:#fff;border-bottom:1px solid var(--sp-border)}.airline-tabs-bar{padding:.5rem 0}.day-nav-btn{border:1px solid var(--sp-purple);color:var(--sp-purple);background:#fff;padding:.4rem 1rem;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.airline-tabs-scroll{display:flex;gap:.5rem;overflow-x:auto;flex:1 1;padding:0 .5rem}.airline-tab{display:flex;flex-direction:column;align-items:center;border:1px solid var(--sp-border);border-radius:6px;padding:.4rem .75rem;cursor:pointer;min-width:72px;transition:all .15s;font-size:.8rem}.airline-tab.active{background:var(--sp-purple);color:#fff;border-color:var(--sp-purple)}.tab-code{font-weight:700}.tab-price{font-size:.7rem;opacity:.8}.filter-sidebar{background:#fff;border-radius:var(--sp-radius);border:1px solid var(--sp-border);box-shadow:var(--sp-shadow-sm);position:-webkit-sticky;position:sticky;top:calc(var(--navbar-height) + 16px);overflow:hidden}.filter-block{padding:1rem;border-bottom:1px solid var(--sp-border)}.filter-block:last-child{border-bottom:none}.filter-head{font-size:.8rem;font-weight:700;color:var(--sp-text-dark);margin-bottom:.6rem}.filter-check-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.filter-count{font-size:.7rem;color:var(--sp-text-gray);background:var(--sp-bg);padding:1px 6px;border-radius:999px}.flight-result-card{background:#fff;border:1px solid var(--sp-border);border-radius:var(--sp-radius);overflow:hidden;box-shadow:var(--sp-shadow-sm);transition:box-shadow .2s}.flight-result-card:hover{box-shadow:var(--sp-shadow)}.flight-card-main{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem}.fc-airline{display:flex;align-items:flex-start;gap:.6rem;min-width:120px}.airline-logo-box{width:42px;height:42px;border-radius:8px;background:var(--sp-purple-bg);font-size:1.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fare-type-badge{display:inline-block;padding:.1rem .4rem;border-radius:3px;font-size:.65rem;font-weight:700;margin-top:.2rem}.fc-route{flex:1 1;display:flex;align-items:center;gap:.75rem}.fc-airport{text-align:center;min-width:80px}.fc-time{font-size:1.3rem;font-weight:700;line-height:1}.fc-iata{font-size:.85rem;font-weight:700}.fc-airport-name{font-size:.65rem;color:var(--sp-text-gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.fc-line{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.2rem}.fc-duration{font-size:.7rem;color:var(--sp-text-gray);font-weight:600}.fc-track{display:flex;align-items:center;width:100%}.fc-dot{width:8px;height:8px;border-radius:50%;background:var(--sp-purple);flex-shrink:0}.fc-bar{flex:1 1;height:2px;background:#e5e7eb}.fc-stops-label{font-size:.7rem;color:var(--sp-green);font-weight:600}.fc-facilities{display:flex;flex-direction:column;gap:.2rem;min-width:120px}.facility-tag{font-size:.65rem;color:var(--sp-text-gray);background:var(--sp-bg);border:1px solid var(--sp-border);padding:.1rem .35rem;border-radius:3px;white-space:nowrap}.fc-price-col{text-align:right;min-width:140px;flex-shrink:0}.fc-price{margin-bottom:.5rem}.price-currency{font-size:.8rem;font-weight:600;color:var(--sp-purple)}.price-num{font-size:1.6rem;font-weight:700;color:var(--sp-purple);line-height:1;display:block}.non-refund-label{font-size:.65rem;color:var(--sp-red)}.btn-select-flight{display:block;background:var(--sp-purple);color:#fff;padding:.5rem 1.25rem;border-radius:6px;font-size:.8rem;font-weight:700;text-align:center;text-decoration:none;transition:background .15s}.btn-select-flight:hover{background:var(--sp-purple-dark);color:#fff}.btn-view-fare{border:1px solid var(--sp-purple);color:var(--sp-purple);background:#fff;padding:.4rem 1rem;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;width:100%}.fc-links{display:flex;gap:1rem;padding:.5rem 1.25rem;border-top:1px solid var(--sp-border);background:#fafafa}.fc-link{border:none;background:none;font-size:.75rem;color:var(--sp-purple);cursor:pointer;padding:0;font-weight:500}.fc-link:hover{text-decoration:underline}.fare-options-panel{padding:1rem 1.25rem;border-top:1px solid var(--sp-border);background:#f8f8ff}.fare-option-card{border-top-width:1px;border-radius:8px;overflow:hidden;border:1px solid var(--sp-border);border-top:3px solid var(--sp-border)}.fare-option-name{color:#fff;font-weight:700;font-size:.8rem;padding:.4rem .75rem}.fare-option-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.78rem;border-bottom:1px solid #f0f0f0}.fo-label{color:var(--sp-text-gray)}.fo-value{font-weight:600}.fare-price-row,.fo-value{display:flex;align-items:center}.fare-price-row{justify-content:space-between;padding:.6rem .75rem}.fare-price-val{font-size:1.1rem;font-weight:700;color:var(--sp-text-dark)}.btn-book-now{color:#fff;border:none;padding:.4rem .9rem;border-radius:4px;font-size:.75rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.sort-btn{border:1px solid var(--sp-border);background:#fff;padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.sort-btn.active{background:var(--sp-purple);color:#fff;border-color:var(--sp-purple)}.sort-btn-blue.active{background:var(--sp-blue);border-color:var(--sp-blue)}.view-btn{border:none;background:#fff;padding:.35rem .6rem;font-size:.8rem;cursor:pointer;color:var(--sp-text-gray)}.view-btn.active{background:var(--sp-purple);color:#fff}.hotels-results-page{background:var(--sp-bg);min-height:100vh}.hotel-result-card{background:#fff;border:1px solid var(--sp-border);border-radius:var(--sp-radius);overflow:hidden;box-shadow:var(--sp-shadow-sm);transition:box-shadow .2s}.hotel-result-card:hover{box-shadow:var(--sp-shadow)}.hotel-img-block{position:relative;height:100%;min-height:160px}.hotel-img-placeholder{height:100%;min-height:160px;background:linear-gradient(135deg,#ede9fe,#dbeafe);display:flex;align-items:center;justify-content:center}.hotel-stars{position:absolute;bottom:.5rem;left:.5rem;color:#f59e0b;font-size:.9rem;background:hsla(0,0%,100%,.9);padding:.1rem .4rem;border-radius:4px}.hotel-name{font-weight:700;font-size:.95rem;margin-bottom:.25rem}.hotel-location{font-size:.8rem;color:var(--sp-text-gray);margin-bottom:.5rem}.amenity-chip{background:var(--sp-bg);border:1px solid var(--sp-border);padding:.15rem .4rem;border-radius:4px;font-size:.7rem;color:var(--sp-text-gray)}.refund-chip{font-size:.75rem;font-weight:600;display:inline-flex;align-items:center}.refund-chip.refundable{color:var(--sp-green)}.refund-chip.non-refundable{color:var(--sp-red)}.hotel-price-block{padding:1rem;border-left:1px solid var(--sp-border);height:100%;display:flex;flex-direction:column;justify-content:center}.rating-box{background:var(--sp-blue);color:#fff;border-radius:8px;padding:.25rem .5rem;font-weight:700;font-size:.9rem;flex-shrink:0}.rating-label{font-size:.8rem;font-weight:600}.price-old{font-size:.8rem;color:var(--sp-text-gray);text-decoration:line-through}.hotel-price{font-size:1.4rem;font-weight:700;color:var(--sp-blue);line-height:1}.price-per-night{font-size:.75rem;color:var(--sp-text-gray)}.hotel-detail-page{background:var(--sp-bg);min-height:100vh}.verified-badge{background:var(--sp-green-bg);color:var(--sp-green);padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600}.stars-display{color:#f59e0b}.rating-pill{background:var(--sp-blue);color:#fff;border-radius:6px;padding:.1rem .5rem;font-size:.8rem;font-weight:700}.img-gallery{display:grid;grid-template-columns:2fr 1fr;grid-gap:.5rem;gap:.5rem;height:300px}.img-main{border-radius:var(--sp-radius);display:flex;align-items:center;justify-content:center}.img-thumbs{display:flex;flex-direction:column;gap:.5rem}.img-thumb{flex:1 1;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s;opacity:.7}.img-thumb.active{opacity:1;outline:3px solid var(--sp-blue)}.detail-card{background:#fff;border-radius:var(--sp-radius);border:1px solid var(--sp-border);padding:1.5rem;box-shadow:var(--sp-shadow-sm)}.detail-title{font-weight:700;font-size:.95rem;margin-bottom:1rem}.amenity-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;padding:.4rem;background:var(--sp-bg);border-radius:6px}.room-card{border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);overflow:hidden;transition:border-color .2s}.room-card.selected,.room-card:hover{border-color:var(--sp-blue)}.room-img{height:120px;background:linear-gradient(135deg,#ede9fe,#dbeafe);display:flex;align-items:center;justify-content:center}.room-badge{font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:3px}.room-badge.popular{background:var(--sp-amber-bg);color:var(--sp-amber)}.room-badge.new-price{background:var(--sp-green-bg);color:var(--sp-green)}.room-name{font-weight:700;font-size:.9rem}.room-feature{font-size:.7rem;background:var(--sp-bg);border:1px solid var(--sp-border);padding:.1rem .4rem;border-radius:3px;color:var(--sp-text-gray);display:inline-flex;align-items:center}.room-price-col{padding:.75rem;text-align:center;border-left:1px solid var(--sp-border);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.room-price-old{text-decoration:line-through;color:var(--sp-text-gray);font-size:.8rem}.room-price{font-size:1.3rem;font-weight:700;color:var(--sp-blue);line-height:1}.price-per-night-sm,.room-per-night{font-size:.7rem;color:var(--sp-text-gray)}.policy-item{display:flex;align-items:flex-start;gap:.25rem;font-size:.85rem}.cancellation-note{background:var(--sp-amber-bg);border:1px solid #fed7aa;border-radius:6px;padding:.75rem;font-size:.8rem;color:var(--sp-text-dark)}.quick-book-card{background:#fff;border-radius:var(--sp-radius);border:1px solid var(--sp-border);padding:1.5rem;box-shadow:var(--sp-shadow-sm);position:-webkit-sticky;position:sticky;top:calc(var(--navbar-height) + 16px)}.qb-title{font-weight:700;font-size:.95rem;margin-bottom:1rem}.qb-hotel{margin-bottom:.5rem}.qb-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.35rem 0;border-bottom:1px solid #f5f5f5}.qb-price-note{font-size:.75rem;color:var(--sp-text-gray);margin-top:.5rem}.qb-price{font-size:1.6rem;font-weight:700;color:var(--sp-blue)}.qb-per{font-size:.9rem;font-weight:400;color:var(--sp-text-gray)}.book-page,.hotel-book-page,.payment-page{background:var(--sp-bg);min-height:100vh}.flight-header-bar{background:var(--sp-purple);color:#fff;padding:1rem 0}.fh-title{font-size:.85rem;opacity:.85}.fh-route{font-size:1.4rem;font-weight:700}.fh-price{font-size:1.5rem;font-weight:700}.fh-pax{font-size:.8rem;opacity:.8}.book-card{background:#fff;border-radius:var(--sp-radius);border:1px solid var(--sp-border);padding:1.5rem;box-shadow:var(--sp-shadow-sm)}.book-section-title{font-weight:700;font-size:1rem;margin-bottom:1.25rem;color:var(--sp-text-dark);display:flex;align-items:center}.pax-block{border:1px solid var(--sp-border);border-radius:8px;padding:1rem;margin-bottom:1rem}.pax-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sp-purple);margin-bottom:1rem;display:flex;align-items:center}.field-label,.pax-field-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sp-text-gray);margin-bottom:.25rem}.booking-summary-card,.hotel-summary-card{background:#fff;border-radius:var(--sp-radius);border:1px solid var(--sp-border);padding:1.25rem;box-shadow:var(--sp-shadow-sm);position:-webkit-sticky;position:sticky;top:calc(var(--navbar-height) + 16px)}.bs-title,.qb-title{font-weight:700;font-size:.9rem;margin-bottom:1rem}.bs-route-block{background:var(--sp-purple-bg);border-radius:8px;padding:.75rem;margin-bottom:1rem}.bs-route{font-weight:700;font-size:1rem;color:var(--sp-purple)}.bs-detail{font-size:.75rem;color:var(--sp-text-gray)}.bs-pax{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--sp-border)}.bs-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--sp-text-light);margin-bottom:.25rem}.bs-value{font-size:.85rem}.bs-prices{margin-bottom:1rem}.bs-price-row{display:flex;justify-content:space-between;font-size:.82rem;padding:.25rem 0}.markup-pct{background:var(--sp-amber-bg);color:var(--sp-amber);padding:.1rem .4rem;border-radius:3px;font-size:.7rem;font-weight:700}.markup-val{color:var(--sp-amber);font-weight:600}.bs-total{justify-content:space-between;font-weight:700;font-size:.95rem;border-top:1px solid var(--sp-border);padding-top:.5rem;margin-top:.25rem}.bs-total,.fare-hold-notice{display:flex;color:var(--sp-purple)}.fare-hold-notice{background:var(--sp-purple-bg);border-radius:8px;padding:.75rem;gap:.5rem;align-items:flex-start;font-size:.8rem}.review-page{background:var(--sp-bg);min-height:100vh}.review-card{background:#fff;border-radius:var(--sp-radius);border:1px solid var(--sp-border);padding:1.5rem;box-shadow:var(--sp-shadow-sm)}.rev-section-title{font-weight:700;font-size:1rem;margin-bottom:1.25rem;display:flex;align-items:center}.flight-detail-block{border:1px solid var(--sp-border);border-radius:8px;overflow:hidden}.fdb-label{background:var(--sp-purple-bg);color:var(--sp-purple);font-size:.75rem;font-weight:700;padding:.5rem 1rem;border-bottom:1px solid var(--sp-border)}.fdb-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid #f5f5f5;font-size:.85rem}.fdb-row:last-child{border-bottom:none}.fdb-key{color:var(--sp-text-gray)}.fdb-val{font-weight:500;text-align:right}.pax-review-block{margin-bottom:1rem;border:1px solid var(--sp-border);border-radius:8px;overflow:hidden}.pax-review-block:last-child{margin-bottom:0}.prb-label{background:var(--sp-bg);color:var(--sp-text-gray);font-size:.7rem;font-weight:700;padding:.4rem 1rem;border-bottom:1px solid var(--sp-border);text-transform:uppercase;letter-spacing:.05em}.pb-rows{margin-bottom:.5rem}.pb-row{font-size:.85rem;padding:.3rem 0;border-bottom:1px solid #f5f5f5}.pb-row,.pb-total{display:flex;justify-content:space-between}.pb-total{font-weight:700;color:var(--sp-purple);font-size:1rem;border-top:2px solid var(--sp-purple);padding-top:.5rem;margin-top:.25rem}.payment-method-info{background:var(--sp-amber-bg);border-radius:6px;padding:.75rem;font-size:.8rem;margin-top:1rem;color:var(--sp-text-dark)}.amount-due-card{background:#fff;border-radius:var(--sp-radius);border:1px solid var(--sp-border);padding:1.5rem;box-shadow:var(--sp-shadow-sm);position:-webkit-sticky;position:sticky;top:calc(var(--navbar-height) + 16px)}.ad-label{font-size:.8rem;font-weight:600;color:var(--sp-text-gray);display:flex;align-items:center;margin-bottom:.5rem}.ad-amount{font-size:2rem;font-weight:700;color:var(--sp-purple);line-height:1}.ad-subtitle{font-size:.8rem;color:var(--sp-text-gray);margin-bottom:1rem}.ad-wallet-rows{background:var(--sp-bg);border-radius:8px;padding:.75rem;margin-bottom:1rem}.ad-wallet-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.25rem 0}.fare-timer{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:.75rem;font-size:.8rem;line-height:1.5}.confirmed-page{background:var(--sp-bg);min-height:100vh;padding:2rem 1rem}.success-icon-wrap{width:80px;height:80px;background:var(--sp-green);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff}.ref-badge{display:inline-block;background:var(--sp-purple-bg);color:var(--sp-purple);border:1px solid #c4b5fd;padding:.6rem 2rem;border-radius:8px;font-size:1rem;font-weight:700;letter-spacing:.03em}.success-checklist{text-align:left}.success-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9rem;border-bottom:1px solid var(--sp-border)}.success-item:last-child{border-bottom:none}.success-item-icon{color:var(--sp-green);font-size:1.1rem;flex-shrink:0}.success-banner{background:var(--sp-green-bg);border:1px solid #a7f3d0;border-radius:var(--sp-radius);padding:1.25rem 1.5rem;justify-content:space-between;flex-wrap:wrap;gap:1rem}.success-banner,.success-check{display:flex;align-items:center}.success-check{width:52px;height:52px;background:var(--sp-green);border-radius:12px;justify-content:center;color:#fff;font-size:1.5rem;flex-shrink:0}.confirm-card{background:#fff;border-radius:var(--sp-radius);padding:1.5rem;box-shadow:var(--sp-shadow-sm)}.confirm-card,.confirm-tag{border:1px solid var(--sp-border)}.confirm-tag{background:var(--sp-bg);padding:.2rem .6rem;border-radius:999px;font-size:.75rem;color:var(--sp-text-gray)}.detail-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.4rem 0;border-bottom:1px solid #f5f5f5}.detail-row:last-child{border-bottom:none}.detail-key{color:var(--sp-text-gray);display:flex;align-items:center}.detail-val{font-weight:600}.detail-total{display:flex;justify-content:space-between;font-weight:700;font-size:1rem;color:var(--sp-blue);border-top:2px solid var(--sp-blue);padding-top:.5rem;margin-top:.5rem}.pay-icon{width:48px;height:48px;border-radius:10px;background:var(--sp-purple-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pay-icon,.total-paid{color:var(--sp-purple)}.total-paid{font-size:1.3rem;font-weight:700}.hs-hotel-info,.hs-hotel-thumb-wrap{display:flex;align-items:center;gap:.75rem}.hs-hotel-thumb,.hs-thumb{width:52px;height:52px;border-radius:10px;background:linear-gradient(135deg,var(--sp-purple),var(--sp-blue));display:flex;align-items:center;justify-content:center;flex-shrink:0}.hs-section-title,.section-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sp-text-light)}.selected-room-block{display:flex;border:1px solid var(--sp-border);border-radius:8px;overflow:hidden}.selected-room-img,.sr-img{width:70px;flex-shrink:0;background:linear-gradient(135deg,#ede9fe,#dbeafe);display:flex;align-items:center;justify-content:center;font-size:1.3rem}.room-tag{font-size:.65rem;background:var(--sp-bg);border:1px solid var(--sp-border);padding:.1rem .3rem;border-radius:3px}.price-old-sm,.room-tag{color:var(--sp-text-gray)}.price-old-sm{text-decoration:line-through;font-size:.8rem}.price-now{font-size:1rem;font-weight:700;color:var(--sp-blue)}.sd-row,.sg-row{display:flex;justify-content:space-between;font-size:.82rem;padding:.3rem 0;border-bottom:1px solid #f5f5f5}.price-breakdown .pb-row{display:flex;justify-content:space-between;font-size:.82rem;padding:.3rem 0}.hotel-icon-box{width:64px;height:64px;border-radius:14px;background:linear-gradient(135deg,var(--sp-purple),var(--sp-blue));display:flex;align-items:center;justify-content:center;flex-shrink:0}.method-tabs{display:flex;gap:.75rem}.method-tab{flex:1 1;border:2px solid var(--sp-border);background:#fff;padding:.75rem .5rem;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;text-align:center;transition:all .2s;color:var(--sp-text-gray)}.method-tab.active{border-color:var(--sp-purple);color:var(--sp-purple);background:var(--sp-purple-bg)}.wallet-balance-display{text-align:center;padding:1rem;background:var(--sp-bg);border-radius:8px}.wallet-amount{font-size:2rem;font-weight:700;color:var(--sp-text-dark)}.wallet-ok-notice{display:flex;align-items:flex-start;gap:.5rem;background:var(--sp-green-bg);border:1px solid #a7f3d0;border-radius:8px;padding:.75rem}.bank-row{display:flex;justify-content:space-between;font-size:.85rem;padding:.35rem 0;border-bottom:1px solid #f5f5f5}.cancel-policy{display:flex;flex-direction:column;gap:.5rem}.cp-item{display:flex;align-items:center;font-size:.82rem;padding:.5rem .75rem;border-radius:6px}.cp-item.green{background:var(--sp-green-bg);color:#166534}.cp-item.amber{background:var(--sp-amber-bg);color:#92400e}.cp-item.red{background:var(--sp-red-bg);color:#991b1b}.profile-page{min-height:calc(100vh - var(--navbar-height) - 80px)}.conn-avatar{width:36px;height:36px;border-radius:50%;background:var(--sp-purple);color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.agency-logo-box,.conn-avatar{display:flex;align-items:center;justify-content:center}.agency-logo-box{width:64px;height:64px;border-radius:12px;background:var(--sp-purple-bg)}.agency-stat-card,.conn-stat,.partner-stat{border:1px solid var(--sp-border)}.partner-icon{width:32px;height:32px;border-radius:8px;background:var(--sp-purple-bg);display:flex;align-items:center;justify-content:center}.upload-box{border:2px dashed var(--sp-border);background:var(--sp-bg)}.upload-box:hover{border-color:var(--sp-purple)}.color-picker-row{display:flex;gap:.5rem;align-items:center}.color-swatch{width:40px;height:38px;border:2px solid var(--sp-border);border-radius:8px;cursor:pointer;padding:2px}.color-swatch::-webkit-color-swatch-wrapper{padding:0}.color-swatch::-webkit-color-swatch{border-radius:6px;border:none}.preview-card{border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);overflow:hidden}.preview-label{font-size:.75rem;font-weight:600;color:var(--sp-text-gray);padding:.5rem .75rem;background:var(--sp-bg);border-bottom:1px solid var(--sp-border)}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;color:#fff}.preview-logo{font-weight:700;font-size:.85rem}.preview-nav-item{font-size:.8rem;opacity:.85}.preview-body{display:flex;align-items:center;gap:.75rem;padding:1rem}.preview-btn{border:none;color:#fff}.preview-btn,.preview-btn-outline{padding:.4rem 1rem;border-radius:6px;font-size:.8rem;font-weight:600}.preview-btn-outline{background:transparent;border:2px solid}.preview-badge{color:#fff;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.template-card{border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);padding:1rem;cursor:pointer;transition:all .2s}.template-card:hover{border-color:var(--sp-purple);box-shadow:0 2px 8px rgba(107,33,168,.1)}.template-card.active{border-color:var(--sp-purple);background:var(--sp-purple-bg)}.template-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.banner-card{border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);padding:1.25rem;transition:border-color .2s}.banner-card.active{border-color:var(--sp-purple-light)}.banner-thumb{width:120px;height:70px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--sp-bg);border:1px solid var(--sp-border)}.thumb-empty,.thumb-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.thumb-image{background:linear-gradient(135deg,#e0e7ff,#f0f4ff)}.thumb-empty{background:var(--sp-bg);border:2px dashed var(--sp-border)}.fw-800{font-weight:700!important}.text-purple{color:var(--sp-purple)!important}.text-amber{color:var(--sp-amber)!important}.text-blue{color:var(--sp-blue)!important}.text-green{color:var(--sp-green)!important}.bg-purple-subtle{background:var(--sp-purple-bg)!important}.bg-amber-subtle{background:var(--sp-amber-bg)!important}.bg-blue-subtle{background:var(--sp-blue-bg)!important}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999}.sp-modal{background:#fff;border-radius:var(--sp-radius);padding:2rem;width:100%;max-width:480px;box-shadow:var(--sp-shadow-lg)}.section-title{font-weight:700;color:var(--sp-text-dark);font-size:.9rem}