@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif;--c-primary:#09422f;--c-primary-light:#0f5c43;--c-secondary:#f59e0b;--c-secondary-hover:#d97706;--c-accent:#14b8a6;--c-mint:#a7f3d0;--c-bg:#faf9f6;--c-card-bg:#fff;--c-text-dark:#1e293b;--c-text-light:#64748b;--c-border:#e2e8f0;--s-bg:#0f172a;--s-card-bg:#1e293b;--s-border:#334155;--s-text-primary:#f8fafc;--s-text-secondary:#94a3b8;--s-accent:#2dd4bf;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#f59e0b;--color-info:#3b82f6;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 10px 15px -3px #0000000d, 0 4px 6px -2px #0000000d;--shadow-lg:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--c-bg);color:var(--c-text-dark);-webkit-font-smoothing:antialiased;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}body.staff-theme{background-color:var(--s-bg);color:var(--s-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-grow:1;width:100%;max-width:1280px;margin:0 auto;padding:2rem 1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.anim-fade{animation:.4s forwards fadeIn}.anim-slide-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards slideUp}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border);transition:var(--transition);background-color:#faf9f6d9;position:sticky;top:0}body.staff-theme .navbar{border-bottom:1px solid var(--s-border);background-color:#0f172ad9}.nav-container{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex}.nav-brand{align-items:center;gap:.75rem;display:flex}.brand-logo{color:var(--c-primary);font-size:1.8rem;font-weight:800;font-family:var(--font-heading);letter-spacing:-.5px;align-items:center;gap:.5rem;display:flex}.brand-logo span{color:var(--c-secondary)}body.staff-theme .brand-logo{color:var(--s-text-primary)}body.staff-theme .brand-logo span{color:var(--s-accent)}.brand-subtitle{text-transform:uppercase;letter-spacing:2px;color:var(--c-text-light);font-size:.75rem;display:block}body.staff-theme .brand-subtitle{color:var(--s-text-secondary)}.nav-controls{align-items:center;gap:1.5rem;display:flex}.nav-menu{gap:1.5rem;list-style:none;display:flex}.nav-link{color:var(--c-text-dark);border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer;padding:.5rem .75rem;font-size:.95rem;font-weight:500}body.staff-theme .nav-link{color:var(--s-text-secondary)}.nav-link:hover,.nav-link.active{color:var(--c-primary);background-color:#09422f0d}body.staff-theme .nav-link:hover,body.staff-theme .nav-link.active{color:var(--s-accent);background-color:#2dd4bf1a}.role-switcher{background-color:var(--c-border);border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.25rem;display:flex}body.staff-theme .role-switcher{background-color:var(--s-border)}.role-btn{border-radius:var(--radius-full);cursor:pointer;color:var(--c-text-light);transition:var(--transition);background:0 0;border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:600}body.staff-theme .role-btn{color:var(--s-text-secondary)}.role-btn.active{background-color:var(--c-primary);color:#fff;box-shadow:var(--shadow-sm)}body.staff-theme .role-btn.active{background-color:var(--s-accent);color:var(--s-bg)}.hero-banner{color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background-color:#0000;background-image:linear-gradient(135deg,#09422ff2 0%,#0f5c43d9 100%),url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\" viewBox=\"0 0 100 100\"><polygon points=\"50,15 100,100 0,100\" fill=\"rgba(255,255,255,0.02)\"/><polygon points=\"75,40 100,100 50,100\" fill=\"rgba(255,255,255,0.01)\"/></svg>");background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;margin-bottom:2.5rem;padding:3.5rem 2.5rem;position:relative;overflow:hidden}.hero-banner:after{content:"";z-index:1;background:radial-gradient(circle,#f59e0b26 0%,#f59e0b00 70%);width:300px;height:300px;position:absolute;bottom:0;right:0}.hero-content{z-index:2;max-width:700px;position:relative}.hero-title{letter-spacing:-.5px;margin-bottom:1rem;font-size:2.8rem;font-weight:800}.hero-title span{color:var(--c-secondary)}.hero-subtitle{opacity:.9;margin-bottom:1.5rem;font-size:1.15rem;font-weight:300}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-pending{color:var(--color-warning);background-color:#f59e0b26}.badge-approved{color:var(--color-success);background-color:#10b98126}.badge-rejected{color:var(--color-danger);background-color:#ef444426}.badge-difficulty-easy{color:var(--color-success);text-transform:capitalize;background-color:#10b9811a}.badge-difficulty-moderate{color:var(--color-info);text-transform:capitalize;background-color:#3b82f61a}.badge-difficulty-challenging{color:var(--color-danger);text-transform:capitalize;background-color:#ef44441a}.catalog-section{margin-bottom:3rem}.catalog-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.catalog-title{color:var(--c-primary);font-size:1.75rem}body.staff-theme .catalog-title{color:var(--s-text-primary)}.filters-wrapper{flex-wrap:wrap;gap:1rem;width:100%;max-width:600px;display:flex}.search-input,.filter-select{border-radius:var(--radius-md);border:1px solid var(--c-border);background-color:var(--c-card-bg);color:var(--c-text-dark);transition:var(--transition);outline:none;padding:.75rem 1rem;font-size:.9rem}.search-input{flex-grow:1}.search-input:focus,.filter-select:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #09422f1a}body.staff-theme .search-input,body.staff-theme .filter-select{background-color:var(--s-card-bg);border-color:var(--s-border);color:var(--s-text-primary)}body.staff-theme .search-input:focus,body.staff-theme .filter-select:focus{border-color:var(--s-accent);box-shadow:0 0 0 3px #2dd4bf26}.tours-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.tour-card{background-color:var(--c-card-bg);border-radius:var(--radius-lg);border:1px solid var(--c-border);box-shadow:var(--shadow-sm);height:100%;transition:var(--transition);flex-direction:column;display:flex;overflow:hidden}.tour-card:hover{box-shadow:var(--shadow-lg);border-color:var(--c-mint);transform:translateY(-8px)}.tour-media{height:200px;color:var(--c-primary);background-color:#e2e8f0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tour-media img{object-fit:cover;width:100%;height:100%}.tour-media-overlay{flex-direction:column;gap:.5rem;display:flex;position:absolute;top:1rem;left:1rem}.tour-duration-badge{color:#fff;border-radius:var(--radius-full);background-color:#000000bf;padding:.25rem .75rem;font-size:.8rem;font-weight:500;position:absolute;bottom:1rem;right:1rem}.tour-body{flex-direction:column;flex-grow:1;padding:1.5rem;display:flex}.tour-location{text-transform:uppercase;color:var(--c-accent);letter-spacing:1px;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.tour-name{color:var(--c-primary);font-size:1.35rem;font-family:var(--font-heading);margin-bottom:.75rem}.tour-desc{color:var(--c-text-light);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:1.25rem;font-size:.85rem;display:-webkit-box;overflow:hidden}.tour-footer{border-top:1px solid var(--c-border);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.tour-pricing{flex-direction:column;display:flex}.price-main{color:var(--c-primary);font-size:1.4rem;font-weight:800;font-family:var(--font-heading)}.price-sub{color:var(--c-text-light);font-size:.8rem}.btn-book{background-color:var(--c-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-weight:600;display:flex}.btn-book:hover{background-color:var(--c-primary-light);box-shadow:0 4px 6px -1px #09422f33}.wizard-card{background-color:var(--c-card-bg);border-radius:var(--radius-lg);border:1px solid var(--c-border);box-shadow:var(--shadow-md);max-width:800px;margin:0 auto;overflow:hidden}.wizard-header{background-color:var(--c-primary);color:#fff;text-align:center;padding:2rem}.wizard-title{margin-bottom:.5rem;font-size:1.8rem}.wizard-tour-name{color:var(--c-mint);font-weight:600}.steps-indicator{border-bottom:1px solid var(--c-border);background-color:#f1f5f9;justify-content:space-between;padding:1rem 2rem;display:flex;position:relative}.step-indicator-item{z-index:2;align-items:center;gap:.5rem;display:flex}.step-number{border-radius:var(--radius-full);background-color:var(--c-border);width:28px;height:28px;color:var(--c-text-light);transition:var(--transition);border:2px solid #0000;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.step-label{color:var(--c-text-light);transition:var(--transition);font-size:.85rem;font-weight:500}.step-indicator-item.active .step-number{background-color:var(--c-primary);color:#fff;border-color:var(--c-mint)}.step-indicator-item.active .step-label{color:var(--c-primary);font-weight:700}.step-indicator-item.completed .step-number{background-color:var(--c-accent);color:#fff}.step-indicator-item.completed .step-label{color:var(--c-accent)}.wizard-body{padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}label{color:var(--c-text-dark);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}body.staff-theme label{color:var(--s-text-primary)}input,select,textarea{border-radius:var(--radius-md);border:1px solid var(--c-border);width:100%;color:var(--c-text-dark);transition:var(--transition);background-color:#fff;outline:none;padding:.75rem 1rem}input:focus,select:focus,textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #09422f1a}input.error,select.error{border-color:var(--color-danger);background-color:#ef444405}.field-error{color:var(--color-danger);margin-top:.25rem;font-size:.75rem}.guest-card{border:1px solid var(--c-border);border-radius:var(--radius-md);background-color:#f8fafc;margin-bottom:1.5rem;padding:1.5rem;position:relative}.guest-card-title{color:var(--c-primary-light);border-bottom:1px dashed var(--c-border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1rem}.payment-info-box{border:1px solid var(--c-mint);border-radius:var(--radius-md);background-color:#f0fdf4;margin-bottom:2rem;padding:1.5rem}.payment-info-title{color:var(--c-primary);margin-bottom:.75rem;font-size:1.1rem}.bank-details{font-family:var(--font-body);list-style:none}.bank-details li{border-bottom:1px solid #0000000d;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.25rem;display:flex}.bank-details strong{color:var(--c-primary-light)}.upload-zone{border:2px dashed var(--c-accent);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:var(--transition);background-color:#14b8a605;margin-bottom:1.5rem;padding:2.5rem}.upload-zone:hover{border-color:var(--c-primary-light);background-color:#14b8a60f}.upload-icon{color:var(--c-accent);margin-bottom:1rem;font-size:2.5rem}.upload-text{color:var(--c-text-dark);margin-bottom:.5rem;font-size:.95rem}.upload-subtext{color:var(--c-text-light);font-size:.8rem}.preview-container{border-radius:var(--radius-md);max-width:250px;box-shadow:var(--shadow-md);border:1px solid var(--c-border);margin:1.5rem auto 0;position:relative;overflow:hidden}.preview-image{width:100%;display:block}.btn-remove-preview{color:#fff;border-radius:var(--radius-full);cursor:pointer;width:24px;height:24px;transition:var(--transition);background-color:#ef4444e6;border:none;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;top:.5rem;right:.5rem}.btn-remove-preview:hover{background-color:var(--color-danger)}.wizard-footer{border-top:1px solid var(--c-border);justify-content:space-between;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-nav{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);border:none;padding:.75rem 1.5rem;font-weight:600}.btn-nav-prev{color:var(--c-text-dark);background-color:#e2e8f0}.btn-nav-prev:hover{background-color:#cbd5e1}.btn-nav-next{background-color:var(--c-primary);color:#fff}.btn-nav-next:hover{background-color:var(--c-primary-light)}.confirm-box{text-align:center;padding:2rem}.confirm-success-icon{color:var(--color-success);margin-bottom:1.5rem;font-size:4rem}.confirm-title{color:var(--c-primary);margin-bottom:.5rem;font-size:2rem}.confirm-booking-id{font-family:var(--font-heading);background-color:var(--c-mint);color:var(--c-primary);border-radius:var(--radius-md);letter-spacing:.5px;margin:1rem 0;padding:.5rem 1.5rem;font-size:1.5rem;font-weight:800;display:inline-block}.confirm-msg{color:var(--c-text-light);max-width:500px;margin:0 auto 2rem}.lookup-card{background-color:var(--c-card-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);max-width:500px;box-shadow:var(--shadow-md);margin:2rem auto;padding:2.5rem}.lookup-card-title{color:var(--c-primary);text-align:center;margin-bottom:1.5rem;font-size:1.5rem}.lookup-form{flex-direction:column;gap:1.25rem;display:flex}.result-voucher{background-color:var(--c-card-bg);border:2px solid var(--c-primary);border-radius:var(--radius-lg);max-width:650px;box-shadow:var(--shadow-lg);margin:2rem auto;position:relative;overflow:hidden}.voucher-header{background-color:var(--c-primary);color:#fff;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.voucher-title{font-size:1.5rem}.voucher-status{font-weight:700}.voucher-body{padding:2rem}.voucher-meta-grid{border-bottom:1px solid var(--c-border);grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:grid}.voucher-meta-label{color:var(--c-text-light);text-transform:uppercase;font-size:.8rem}.voucher-meta-val{color:var(--c-primary);font-size:1.05rem;font-weight:700}.voucher-passengers-title{color:var(--c-primary);margin-bottom:.75rem;font-size:1.1rem}.voucher-passengers-list{border-radius:var(--radius-md);background-color:#f8fafc;padding:1rem 1.5rem}.voucher-passenger-row{border-bottom:1px solid var(--c-border);justify-content:space-between;padding:.5rem 0;font-size:.9rem;display:flex}.voucher-passenger-row:last-child{border-bottom:none}.voucher-qr-section{border-top:1px dashed var(--c-border);justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1.5rem;display:flex}.voucher-qr-code{border-radius:var(--radius-sm);width:90px;height:90px;color:var(--c-text-light);background-color:#e2e8f0;justify-content:center;align-items:center;font-size:.6rem;font-weight:700;display:flex}.staff-layout{grid-template-columns:240px 1fr;gap:2rem;min-height:calc(100vh - 120px);display:grid}@media (width<=992px){.staff-layout{grid-template-columns:1fr}}.staff-sidebar{background-color:var(--s-card-bg);border:1px solid var(--s-border);border-radius:var(--radius-lg);height:fit-content;padding:1.5rem}.staff-side-nav{flex-direction:column;gap:.5rem;list-style:none;display:flex}.staff-nav-item{border-radius:var(--radius-md);color:var(--s-text-secondary);cursor:pointer;transition:var(--transition);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;display:flex}.staff-nav-item:hover,.staff-nav-item.active{color:var(--s-accent);background-color:#2dd4bf14}.staff-workspace{background-color:var(--s-card-bg);border:1px solid var(--s-border);border-radius:var(--radius-lg);min-height:500px;padding:2rem}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.metric-card{background-color:var(--s-card-bg);border:1px solid var(--s-border);border-radius:var(--radius-md);padding:1.5rem;position:relative;overflow:hidden}body:not(.staff-theme) .metric-card{background-color:var(--c-card-bg);border-color:var(--c-border)}.metric-title{text-transform:uppercase;color:var(--s-text-secondary);letter-spacing:.5px;font-size:.8rem}body:not(.staff-theme) .metric-title{color:var(--c-text-light)}.metric-val{color:var(--s-text-primary);font-size:2rem;font-weight:800;font-family:var(--font-heading);margin-top:.5rem}body:not(.staff-theme) .metric-val{color:var(--c-primary)}.metric-trend{align-items:center;gap:.25rem;margin-top:.5rem;font-size:.75rem;display:flex}.trend-up{color:var(--color-success)}.trend-down{color:var(--color-danger)}.table-responsive{width:100%;overflow-x:auto}.staff-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.staff-table th{color:var(--s-text-secondary);border-bottom:2px solid var(--s-border);font-weight:600;font-family:var(--font-heading);background-color:#ffffff05;padding:1rem}body:not(.staff-theme) .staff-table th{color:var(--c-text-light);border-bottom:2px solid var(--c-border);background-color:#f8fafc}.staff-table td{border-bottom:1px solid var(--s-border);color:var(--s-text-primary);padding:1rem}body:not(.staff-theme) .staff-table td{border-bottom:1px solid var(--c-border);color:var(--c-text-dark)}.staff-table tr:hover td{background-color:#ffffff03}body:not(.staff-theme) .staff-table tr:hover td{background-color:#f8fafc}.btn-action{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);border:none;margin-right:.5rem;padding:.35rem .75rem;font-size:.8rem;font-weight:600}.btn-action-primary{background-color:var(--s-accent);color:var(--s-bg)}.btn-action-primary:hover{filter:brightness(1.1)}.btn-action-danger{color:var(--color-danger);border:1px solid var(--color-danger);background-color:#ef444433}.btn-action-danger:hover{background-color:var(--color-danger);color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;padding:2rem;display:flex;position:fixed;top:0;left:0}.modal-card{background-color:var(--s-card-bg);border:1px solid var(--s-border);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}body:not(.staff-theme) .modal-card{background-color:var(--c-card-bg);border-color:var(--c-border)}.modal-header{border-bottom:1px solid var(--s-border);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}body:not(.staff-theme) .modal-header{border-bottom:1px solid var(--c-border)}.modal-title{color:var(--s-text-primary);font-size:1.25rem}body:not(.staff-theme) .modal-title{color:var(--c-primary)}.btn-close-modal{color:var(--s-text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.modal-body{flex-grow:1;padding:2rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--s-border);justify-content:flex-end;gap:1rem;padding:1.25rem 2rem;display:flex}body:not(.staff-theme) .modal-footer{border-top:1px solid var(--c-border)}.modal-split{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=768px){.modal-split{grid-template-columns:1fr}}.receipt-image-preview{border-radius:var(--radius-md);border:1px solid var(--s-border);object-fit:contain;background-color:#0f172a;width:100%;max-height:450px}.booking-details-panel{flex-direction:column;gap:1.25rem;display:flex}.seat-monitor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.calendar-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.calendar-day-card{border:1px solid var(--s-border);border-radius:var(--radius-md);text-align:center;min-height:120px;transition:var(--transition);cursor:pointer;background-color:#ffffff05;flex-direction:column;justify-content:space-between;padding:1rem;display:flex}body:not(.staff-theme) .calendar-day-card{background-color:var(--c-card-bg);border-color:var(--c-border)}.calendar-day-card:hover{border-color:var(--s-accent);transform:translateY(-3px)}.cal-date{color:var(--s-text-primary);font-size:.95rem;font-weight:700}body:not(.staff-theme) .cal-date{color:var(--c-text-dark)}.cal-day-name{color:var(--s-text-secondary);text-transform:uppercase;font-size:.75rem}body:not(.staff-theme) .cal-day-name{color:var(--c-text-light)}.cal-seats-count{font-size:1.2rem;font-weight:800;font-family:var(--font-heading);margin:.5rem 0}.seats-status-high{color:var(--color-success)}.seats-status-medium{color:var(--color-warning)}.seats-status-low{color:var(--color-danger)}.seats-status-closed{color:var(--c-text-light);text-decoration:line-through}.cal-label{text-transform:uppercase;color:var(--s-text-secondary);font-size:.7rem}body:not(.staff-theme) .cal-label{color:var(--c-text-light)}.override-form{flex-direction:column;gap:1.25rem;display:flex}@media (width<=768px){.nav-container{text-align:center;flex-direction:column;gap:1rem}.nav-controls{flex-direction:column;gap:.75rem;width:100%}.nav-menu{justify-content:center;width:100%}.form-row{grid-template-columns:1fr;gap:0}.hero-title{font-size:2.2rem}.hero-banner{padding:2.5rem 1.5rem}.wizard-body{padding:1.5rem}}
