*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.mt-10{margin-top:2.5rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-4{height:1rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-16{width:4rem}.w-28{width:7rem}.w-4{width:1rem}.w-\[2px\]{width:2px}.w-\[85\%\]{width:85%}.w-full{width:100%}.w-px{width:1px}.max-w-4xl{max-width:56rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\[2\]{flex:2}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.bg-\[\#289aff\]{--tw-bg-opacity: 1;background-color:rgb(40 154 255 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/30{background-color:#ffffff4d}.bg-white\/80{background-color:#fffc}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from: rgb(0 0 0 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/20{--tw-gradient-from: rgb(59 130 246 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black\/60{--tw-gradient-to: rgb(0 0 0 / .6) var(--tw-gradient-to-position)}.to-purple-500\/20{--tw-gradient-to: rgb(168 85 247 / .2) var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:center}.object-cover{-o-object-fit:cover;object-fit:cover}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-5{padding:1.25rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-\[\#1b80f5\]{--tw-text-opacity: 1;color:rgb(27 128 245 / var(--tw-text-opacity))}.text-\[\#289aff\]{--tw-text-opacity: 1;color:rgb(40 154 255 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.opacity-10{opacity:.1}.outline-none{outline:2px solid transparent;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}html,body,#root{height:100%;margin:0}html{scroll-behavior:smooth}*{padding:0;margin:0;box-sizing:border-box}body{font-family:Inter,Poppins,sans-serif}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.hover\:bg-\[\#0a7cff\]:hover{--tw-bg-opacity: 1;background-color:rgb(10 124 255 / var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-\[\#289aff\]:focus{--tw-border-opacity: 1;border-color:rgb(40 154 255 / var(--tw-border-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-blue-300:disabled{--tw-bg-opacity: 1;background-color:rgb(147 197 253 / var(--tw-bg-opacity))}@media(min-width:1024px){.lg\:flex{display:flex}}.booking-page{min-height:100vh;background:#fcfbfb}.main-booking{max-width:1280px;margin:0 auto;padding:12px 36px 48px;overflow-y:auto}.booking-top{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;margin-bottom:28px;align-items:stretch}.booking-header{background:linear-gradient(135deg,#fff,#eef3ff);border:1px solid rgba(59,130,246,.15);border-radius:24px;padding:30px 36px;display:flex;flex-direction:column;justify-content:center}.booking-header .eyebrow{text-transform:uppercase;letter-spacing:.2em;color:#2563eb;font-size:13px;margin-bottom:14px;font-weight:700}.booking-header h1{color:#102a55;font-size:36px;margin:0 0 12px;line-height:1.1;text-align:center}.booking-header p{color:#4b5563;line-height:1.75;max-width:560px;margin:0;text-align:center}.booking-summary-cards{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:10px}.summary-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:10px}.card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#eff6ff;color:#2563eb}.card-icon.accent{background:#e0f2fe;color:#0c4a6e}.summary-card span{display:block;color:#6b7280;font-size:13px;margin-bottom:6px}.summary-card strong{color:#111827;font-size:15px}.booking-form{width:100%;background:#fff;border-radius:24px;border:1px solid rgba(15,23,42,.08);padding:28px}.booking-sidebar{padding:24px;display:flex;flex-direction:column;gap:18px;position:sticky;top:28px;height:-moz-fit-content;height:fit-content}.form-section{margin-bottom:22px;background:#fff;padding:24px;border-radius:20px;border:1px solid rgba(146,147,148,.12)}.section-header{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px}.section-header h3{color:#102a55;margin:0;font-size:25px}.section-header p{color:#475569;margin:0;font-size:14px;line-height:1.7;max-width:420px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{font-weight:700;margin-bottom:10px;display:block;color:#111827;font-size:14px}input,select,textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid #e9eaec;font-size:15px;background:#fff}input:focus,select:focus,textarea:focus{outline:none;border:1px solid #289aff}.booking-info{display:inline-flex;align-items:center;gap:8px;color:#1469e1;font-size:13px;margin-top:10px}.field-note{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:11px;margin-top:10px}.field-note svg,.booking-info svg{color:#2563eb}.actions-bookings{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px;background:#eef4ff;border-radius:20px;border:1px solid rgba(59,130,246,.14)}.submit{background:#1b80f5;font-size:15px;font-weight:700;color:#fff;border:none;padding:14px 28px;border-radius:16px;cursor:pointer;min-height:48px}.submit:hover{background:#1469e1}.submit:disabled{cursor:not-allowed;filter:grayscale(.15) brightness(.9);box-shadow:none;transform:none}.footer{text-align:center;font-size:13px;color:#64748b;margin-top:40px}.info-card{background:#f8fbff;border-radius:20px;padding:22px;border:1px solid rgba(37,99,235,.12);box-shadow:0 12px 30px #0f172a14}.info-card.soft{background:#fff}.info-title{margin:0 0 12px;color:#0f172a;font-size:16px;font-weight:700}.info-card p,.info-card ul{color:#475569;font-size:14px;line-height:1.75;margin:0}.info-card ul{margin-top:12px;padding-left:18px}.info-card li{margin-bottom:10px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a59;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;padding:28px 32px;border-radius:22px;max-width:420px;width:92%;box-shadow:0 22px 48px #0f172a2e;text-align:center}.modal p{margin-bottom:18px;font-weight:600}.modal button{padding:12px 24px;background:#2563eb;color:#fff;border:none;border-radius:14px;cursor:pointer}.modal.error{border-top:4px solid #dc2626}.modal.success{border-top:4px solid #16a34a}@media(max-width:1100px){.booking-top,.booking-grid{grid-template-columns:1fr}.booking-sidebar{position:static;top:auto}}@media(max-width:768px){.main{padding:24px 20px 32px}.form-section,.actions-bookings,.summary-card,.booking-header{padding:20px;border-radius:20px}.booking-header h1{font-size:28px}.grid-3,.grid-2{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s}.modal-container{background:#fff;border-radius:12px;max-width:420px;width:90%;box-shadow:0 15px 40px #0000004d;overflow:hidden;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;padding:16px 24px;border-bottom:1px solid #eee;background-color:#f9f9f9}.modal-icon{font-size:24px;margin-right:12px}.modal-title{flex-grow:1;font-size:18px;margin:0;font-weight:600}.modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:#999;transition:color .2s}.modal-close:hover{color:#333}.modal-body{padding:20px 24px;font-size:16px;color:#333;line-height:1.5;text-align:center}.modal-container.error{border-left:5px solid #dc2626}.modal-container.success{border-left:5px solid #16a34a}.schedule-page{display:flex;height:100vh;background:#fcfbfb;overflow:hidden}.main-content{display:flex;flex-direction:column;flex:1;height:100%;min-width:0;overflow:hidden}.header{background:linear-gradient(135deg,#fff,#eef3ff);border:1px solid rgba(59,130,246,.15);padding:10px 24px;z-index:10;border-radius:20px}.header-wrapper{display:flex;flex-direction:column;gap:16px;margin-bottom:12px}.header-title h2{color:#0b2a4a;font-size:30px;margin-bottom:4px;letter-spacing:-.015em;text-align:center}.header-subtitle{font-size:14px;color:#6b6284}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.color-legend{display:flex;align-items:center;gap:16px;padding:8px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#4b5563;font-weight:500}.legend-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-dot.approved{background:#10b981}.legend-dot.pending{background:#f59e0b}.filter-select{padding:8px 12px;border:1px solid #d9d6e1;border-radius:6px;font-size:14px;background:#fff;cursor:pointer}.view-tabs{display:flex;gap:0;border:1px solid #d9d6e1;border-radius:6px;background:#fff}.tab-btn{padding:8px 16px;border:none;background:transparent;color:#6b6284;cursor:pointer;font-weight:500;transition:all .2s;border-right:1px solid #d9d6e1}.tab-btn:last-child{border-right:none}.tab-btn:hover{background:#00000005}.tab-btn.active{background:#0b77be;color:#fff;border-radius:5px}.date-controls{display:flex;justify-content:center;align-items:center;gap:12px}.nav-btn{padding:8px;background:#fff;border:1px solid #d9d6e1;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.nav-btn:hover{background:#00000005}.date-display{padding:8px 16px;font-weight:600;font-size:14px;color:#131117;min-width:140px;text-align:center;border:1px solid #d9d6e1;border-radius:6px;background:#fff}.btn-today{padding:8px 16px;border:1px solid #d9d6e1;background:#fff;border-radius:6px;font-size:14px;font-weight:600;color:#131117;cursor:pointer;transition:all .2s}.btn-today:hover{background:#00000005}.calendar-wrapper{flex:1;overflow:hidden;position:relative;background:#f7f7f7;display:flex;flex-direction:column;padding:24px;background:#fcfbfb}.calendar-container{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:12px;border:1px solid #eceaf0;overflow:hidden}.calendar-header{display:grid;grid-template-columns:60px 1fr;border-bottom:1px solid #eceaf0;background:#fff;z-index:1;flex-shrink:0}.time-zone{border-right:1px solid #eceaf0;padding:16px 16px 8px;display:flex;align-items:flex-end;justify-content:center}.time-zone span{font-size:12px;font-weight:700;color:#999;text-transform:uppercase}.days-header{display:grid;grid-template-columns:repeat(7,1fr)}.day-column{padding:12px;text-align:center;cursor:pointer;transition:all .2s;border-right:1px solid #eceaf0}.day-column:last-child{border-right:none}.day-column:hover{background:#00000005}.day-column.current-day{background:#3f2f6a0d}.day-name{font-size:12px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px}.day-column.current-day .day-name{font-weight:700;color:#0b77be}.day-number{width:32px;height:32px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px;font-weight:700;color:#131117;transition:all .2s}.day-number.active{background:#0b77be;color:#fff;box-shadow:0 4px 12px #3f2f6a4d}.calendar-body{flex:1;overflow-y:auto;position:relative}.calendar-body::-webkit-scrollbar{width:6px}.calendar-body::-webkit-scrollbar-track{background:transparent}.calendar-body::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:20px}.calendar-grid{display:grid;grid-template-columns:60px 1fr;min-height:100%}.time-column{border-right:1px solid #eceaf0;background:#fff;display:flex;flex-direction:column;font-size:12px;color:#999;font-weight:500;-webkit-user-select:none;-moz-user-select:none;user-select:none}.time-slot{height:40px;display:flex;align-items:flex-start;justify-content:center;padding-top:8px;position:relative}.time-slot span{transform:translateY(-50%);display:block}.events-grid{display:grid;grid-template-columns:repeat(7,1fr)}.day-grid{position:relative;height:100%;border-right:1px solid #eceaf0}.day-grid:last-child{border-right:none}.day-grid.current-day-grid{background:#3f2f6a05}.time-slot-container{border-bottom:1px solid #f3f4f6;position:relative}.current-time-indicator{position:absolute;left:0;right:0;z-index:20;pointer-events:none}.time-indicator-line{position:absolute;width:100%;left:0;right:0;height:2px;background:#ef4444;box-shadow:0 0 4px #ef444480}.time-indicator-dot{position:absolute;left:-4px;top:-4px;width:10px;height:10px;background:#ef4444;border-radius:50%;border:2px solid white;box-shadow:0 0 4px #ef444480}.booking-card{position:absolute;border-radius:6px;padding:8px;cursor:pointer;transition:all .2s;z-index:10;font-size:12px;overflow:hidden}.booking-card.approved{background:#d1fae5;border-left:4px solid #10b981;color:#065f46}.booking-card.pending{background:#fef3c7;border-left:4px solid #f59e0b;color:#92400e}.booking-card:hover{filter:brightness(.95);box-shadow:0 2px 8px #00000026;transform:translateY(-1px)}.booking-title{font-size:12px;font-weight:700;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-time{font-size:10px;font-weight:500;opacity:.8}.booking-desc{font-size:10px;margin-top:4px;opacity:.7;line-height:1.3}.day-view{flex:1;overflow-y:auto;position:relative}.day-slot{display:flex;border-bottom:1px solid #f3f4f6;min-height:50px;height:40px}.slot-time{width:60px;padding:12px;text-align:right;font-size:12px;color:#999;font-weight:500;border-right:1px solid #eceaf0;flex-shrink:0}.slot-content{flex:1;padding:0;position:relative}.month-view{flex:1;overflow:auto;display:flex;flex-direction:column}.month-header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #eceaf0;gap:0}.month-day-header{padding:12px;text-align:center;font-weight:600;color:#6b6284;border-right:1px solid #eceaf0}.month-day-header:last-child{border-right:none}.month-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:0}.dialog{background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;max-width:400px;width:90%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.dialog-header{padding:20px;border-bottom:1px solid #eceaf0;display:flex;align-items:center;justify-content:space-between}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#131117}.dialog-close{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#999}.dialog-close:hover{color:#131117}.dialog-content{padding:20px;flex:1}.dialog-title{font-size:18px;font-weight:600;color:#131117;margin-bottom:12px}.dialog-status{margin-bottom:16px}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase}.dialog-info{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;align-items:center;gap:12px;font-size:14px;color:#555}.info-row .material-symbols-outlined{font-size:20px;color:#999;flex-shrink:0}.dialog-footer{padding:16px 20px;border-top:1px solid #eceaf0;display:flex;gap:8px;justify-content:flex-end}.btn-primary,.btn-secondary,.btn-danger{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:#0b77be;color:#fff}.btn-primary:hover{background:#554486}.btn-secondary{background:#fff;color:#131117;border:1px solid #d9d6e1}.btn-secondary:hover{background:#00000005}.btn-danger{background:#ef4444;color:#fff}.btn-danger:hover{background:#dc2626}.notification-bell{position:relative;display:inline-block}.bell-button{background:transparent;border:none;cursor:pointer;font-size:1.4rem;position:relative;color:#6b7280;transition:all .2s ease;padding:8px;border-radius:8px}.bell-button:hover{color:#374151;background:#0000000d}.bell-button .badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.notification-dropdown{position:absolute;right:0;top:120%;width:380px;max-height:480px;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #e5e7eb;overflow:hidden;z-index:1000;animation:slideDown .2s ease-out}.dropdown-header{padding:16px 20px;font-weight:600;font-size:.95rem;background:#f9fafb;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;color:#111827}.mark-all{background:none;border:none;color:#3b82f6;font-size:.8rem;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease}.mark-all:hover{background:#3b82f61a;color:#2563eb}.dropdown-body{max-height:380px;overflow-y:auto}.notification-item{border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background-color:#f9fafb}.notification-item.unread{background-color:#fefefe;border-left:3px solid #3b82f6}.notification-card{padding:16px 20px;display:flex;flex-direction:column;gap:8px}.notification-card-header{display:flex;align-items:flex-start;gap:12px}.type-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.type-indicator.approved{background:#10b981}.type-indicator.declined{background:#ef4444}.type-indicator.submitted{background:#3b82f6}.type-indicator.cancelled{background:#f59e0b}.type-indicator.info{background:#6b7280}.notification-title-group{flex:1;display:flex;flex-direction:column;gap:2px}.title{font-weight:600;font-size:.9rem;color:#111827;line-height:1.4}.notification-item.unread .title{font-weight:700}.message{font-size:.85rem;color:#6b7280;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.time{font-size:.75rem;color:#9ca3af;font-weight:500}.empty{padding:40px 20px;text-align:center;color:#9ca3af}.empty i{font-size:2rem;margin-bottom:12px;display:block;color:#d1d5db}.empty p{margin:0;font-size:.9rem;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.view-bookings{background:#fcfbfb;min-height:100vh}.vb-container{max-width:1280px;margin:0 auto}.vb-header{background:linear-gradient(135deg,#fff,#eef3ff);border:1px solid rgba(59,130,246,.15);border-radius:24px;padding:30px 36px;margin-bottom:28px}.vb-header h1{color:#102a55;font-size:36px;margin:0 0 12px;line-height:1.1;text-align:center}.vb-header p{color:#4b5563;line-height:1.75;margin:0;font-size:15px;text-align:center}.vb-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:28px}.stat-card{border-radius:18px;padding:28px 24px;border:1px solid;text-align:center;position:relative;overflow:hidden;transition:all .2s ease}.stat-card.approved{background:#f0fdf4;border-color:#86efac}.stat-card.approved .stat-number{color:#166534}.stat-card.approved .stat-label{color:#15803d}.stat-card.pending{background:#fefce8;border-color:#fcd34d}.stat-card.pending .stat-number{color:#713f12}.stat-card.pending .stat-label{color:#854d0e}.stat-card.declined{background:#fef2f2;border-color:#fca5a5}.stat-card.declined .stat-number{color:#7f1d1d}.stat-card.declined .stat-label{color:#991b1b}.stat-card.all{background:#eff6ff;border-color:#93c5fd}.stat-card.all .stat-number{color:#1e40af}.stat-card.all .stat-label{color:#1e3a8a}.stat-number{font-size:42px;font-weight:800;margin-bottom:12px;line-height:1;letter-spacing:-1px}.stat-label{font-size:14px;text-transform:capitalize;font-weight:600;letter-spacing:.02em;display:flex;align-items:center;justify-content:center;gap:6px}.vb-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px;align-items:center}.vb-search-input{flex:1;min-width:240px;padding:14px 16px;border-radius:16px;border:1px solid #e5e6e7;font-size:15px;background:#fff}.vb-search-input:focus{outline:none;border:1px solid #aacefd}.status-filter{display:flex;gap:10px;flex-wrap:wrap}.bookings-filter-btn{padding:10px 16px;border:1px solid #dbeafe;border-radius:14px;background:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .18s ease;color:#475569}.bookings-filter-btn:hover{border-color:#3b82f64d;background:#f0f7ff;color:#0f4aa1}.bookings-filter-btn.active{background:#289aff;color:#fff;border-color:#289aff}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.booking-item{background:#fff;border-radius:20px;padding:24px;border:1px solid rgba(15,23,42,.08);display:flex;flex-direction:column;gap:16px;transition:all .2s ease}.booking-item.approved:hover{border:1px solid #10b981}.booking-item.pending:hover{border:1px solid #f59e0b}.booking-item.completed:hover{border:1px solid #06b6d4}.booking-item.declined:hover{border:1px solid #dc2626}.vb-booking-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.vb-booking-header h3{font-size:18px;font-weight:700;margin:0;color:#102a55;flex:1}.vb-booking-header p{font-size:14px;color:#475569;margin:4px 0 0}.status-badge{font-size:12px;font-weight:700;padding:6px 12px;border-radius:12px;text-transform:uppercase;white-space:nowrap;letter-spacing:.05em}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.completed{background:#cffafe;color:#164e63}.status-badge.declined{background:#fee2e2;color:#7f1d1d}.booking-details{display:grid;gap:12px;padding:16px;background:#f8fbff;border-radius:16px;border:1px solid rgba(59,130,246,.12)}.booking-details div{display:flex;align-items:center;gap:8px;font-size:14px;color:#111827}.booking-details p{color:#6b7280;font-weight:600;margin:0;min-width:60px}.view-card-label{font-weight:600;color:#475569;margin:0}.vb-content{margin-bottom:20px}.vb-results-summary{margin-top:18px;font-size:14px;color:#475569;text-align:center}.load-more-container{display:flex;justify-content:center;margin-top:22px}.load-more-btn{padding:12px 26px;border-radius:14px;border:none;background:#2563eb;color:#fff;font-weight:700;cursor:pointer}.load-more-btn:hover{transform:translateY(-1px);background:#1d4ed8}.empty-state{text-align:center;padding:80px 40px;background:#fff;border-radius:24px;border:1px solid rgba(15,23,42,.08)}.empty-state svg{color:#cbd5e1;margin-bottom:16px;display:relative}.empty-state h3{font-size:24px;font-weight:700;color:#102a55;margin:16px 0 8px}.empty-state p{color:#475569;font-size:15px;line-height:1.6}@media(max-width:1100px){.bookings-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.vb-container{padding:24px 20px 32px}.vb-header{padding:24px;margin-bottom:24px}.vb-header h1{font-size:28px}.vb-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.stat-card{padding:20px}.stat-number{font-size:24px}.vb-filters{flex-direction:column;gap:12px}.vb-search-input{min-width:auto}.status-filter{width:100%;justify-content:flex-start}.bookings-grid{grid-template-columns:1fr}.booking-item{padding:20px}.empty-state{padding:60px 24px}}.app-shell{display:flex;min-height:100vh;background:#eef2f6}.sidebar{position:fixed;top:0;left:0;height:100vh;width:250px;padding:24px 10px;background:#fff;border-right:1px solid rgba(15,23,42,.08);box-shadow:0 8px 24px #0f172a14;transition:width .28s ease,padding .28s ease;display:flex;flex-direction:column;z-index:100}.sidebar.collapsed{width:90px;padding:20px 12px}.sidebar-brand{display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:20px;border:1px solid #e5e7e7}.sidebar-brand img{width:44px;height:44px;border-radius:14px;background:#fff;padding:6px;-o-object-fit:contain;object-fit:contain}.brand-text h2{margin:0;font-size:18px;font-weight:600;color:#134895;text-align:center}.brand-text p{margin:4px 0 0;color:#475569;font-size:13px;letter-spacing:.01em}.sidebar.collapsed .brand-text{display:none}.nav-login{display:flex;flex-direction:column;gap:10px;margin-top:30px}.nav-login a{display:flex;align-items:center;gap:14px;height:48px;padding:0 16px;color:#1f2937;text-decoration:none;border-radius:16px;background:#ffffffd9;border:1px solid transparent;transition:all .18s ease;font-weight:500}.nav-login a:hover{background:#3b82f61f;border-color:#3b82f633;color:#0f4987}.nav-login a.active{background:#3b82f629;border-color:#3b82f659;color:#0f4987}.nav-login a svg{color:#2563eb}.nav-login a span{transition:opacity .2s ease,width .2s ease;white-space:nowrap}.sidebar.collapsed .nav-login a{justify-content:center}.sidebar.collapsed .nav-login a span{opacity:0;width:0;overflow:hidden}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 12px;border-top:1px solid rgba(15,23,42,.08);margin-top:auto}.footer-user{display:flex;align-items:center;gap:12px;flex:1}.sidebar-footer .avatar{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-info .user-name{font-weight:600;color:#111827;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-info .user-role{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar.collapsed .sidebar-footer,.sidebar.collapsed .footer-user{justify-content:center}.main-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;margin-left:250px;transition:margin-left .28s ease}.app-shell.collapsed .main-panel{margin-left:90px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 28px;min-height:76px;background:#fff;border-bottom:1px solid rgba(15,23,42,.08);position:sticky;top:0;z-index:10}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:18px}.toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fff;color:#0f4aa1;cursor:pointer;transition:transform .2s ease,background .2s ease}.toggle-btn:hover{transform:translateY(-1px);background:#f8fafc}.topbar-title{display:flex;flex-direction:column;gap:4px}.topbar-title-header{margin:0;font-size:25px;font-weight:600;color:#142d57}.topbar-title span{color:#475569;font-size:14px}.topbar-actions{gap:12px}.logout-btn{display:inline-flex;font-size:13px;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid #dcdddd;background:#fff;color:red;cursor:pointer;font-weight:500;transition:background .2s ease}.logout-btn:hover{border:1px solid red}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fff;color:#0f4aa1;cursor:pointer;transition:transform .2s ease,background .2s ease}.icon-btn:hover{transform:translateY(-1px);background:#f8fafc}.page-content{flex:1;padding:28px;min-height:calc(100vh - 76px);background:#fcfbfb;position:relative;z-index:1}@media(max-width:900px){.sidebar,.sidebar.collapsed{position:static;width:100%;height:auto;padding:18px 16px}.main-panel,.app-shell.collapsed .main-panel{margin-left:0}.nav-login a{justify-content:flex-start}.sidebar.collapsed .nav-login a span{opacity:1;width:auto}}.admin-dashboard{--dashboard-bg: linear-gradient(180deg, #f7f9fc 0%, #eef4fb 100%);--panel-border: rgba(15, 23, 42, .08);--text-strong: #11233f;--text-body: #53657f;--text-soft: #7b8ba5;--accent: #114a9d;--accent-soft: rgba(17, 74, 157, .1);--success: #1f8f63;--success-soft: rgba(31, 143, 99, .12);--warning: #c88810;--warning-soft: rgba(200, 136, 16, .12);--danger: #cc4a43;--danger-soft: rgba(204, 74, 67, .12);padding:0;color:var(--text-strong)}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.95fr);gap:20px;padding:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(80,133,214,.22),transparent 28%),radial-gradient(circle at left center,rgba(17,74,157,.18),transparent 32%),#fff;border:1px solid var(--panel-border)}.dashboard-kicker,.panel-eyebrow,.hero-highlight-label,.metric-label,.insight-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.dashboard-kicker,.panel-eyebrow,.hero-highlight-label,.metric-label{color:#6b7f9e}.dashboard-title{margin:12px 0 10px;font-size:30px;line-height:1.05;color:var(--text-strong);max-width:300px}.dashboard-subtitle{margin:0;max-width:65ch;color:var(--text-body);line-height:1.7;font-size:15px}.dashboard-hero-highlight{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:180px;padding:22px;border-radius:24px;background:linear-gradient(160deg,#113f82,#1d62bf);color:#fff;box-shadow:inset 0 1px #ffffff1a}.dashboard-hero-highlight strong{font-size:1.45rem;font-weight:700}.dashboard-hero-highlight p,.dashboard-hero-highlight span{margin:0;color:#ffffffd9}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:22px}.dashboard-metric-card,.dashboard-panel{background:#fff;border:1px solid var(--panel-border)}.dashboard-metric-card{display:flex;gap:16px;padding:22px;border-radius:24px;position:relative;overflow:hidden}.dashboard-metric-card:after{content:"";position:absolute;inset:auto -10% -45% auto;width:140px;height:140px;border-radius:50%;background:#ffffff59}.dashboard-metric-card h3{margin:8px 0 6px;font-size:2rem;line-height:1}.dashboard-metric-card span{color:var(--text-body);line-height:1.5;font-size:13px}.dashboard-metric-card-staff{background:linear-gradient(180deg,#fff,#f5f9ff)}.dashboard-metric-card-staff .metric-icon{background:#1677ff1f;color:#1768db}.dashboard-metric-card-pending{background:linear-gradient(180deg,#fff,#fff9ef)}.dashboard-metric-card-pending .metric-icon{background:var(--warning-soft);color:var(--warning)}.dashboard-metric-card-approved{background:linear-gradient(180deg,#fff,#f3fcf7)}.dashboard-metric-card-approved .metric-icon{background:var(--success-soft);color:var(--success)}.dashboard-metric-card-security{background:linear-gradient(180deg,#fff,#f7f7fb)}.dashboard-metric-card-security .metric-icon{background:#5b63d81f;color:#4c56d7}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:22px;margin-top:22px}.dashboard-panel{border-radius:28px;padding:24px}.panel-pill-muted{background:#f3f6fb;color:#5b6b84}.panel-state{display:flex;align-items:center;justify-content:center;min-height:220px;border-radius:22px;background:var(--dashboard-bg);color:var(--text-body);text-align:center;padding:20px}.panel-state-error{color:var(--danger);background:#fff4f2}.request-list{display:grid;gap:16px}.request-card{padding:18px;border-radius:22px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff,#fbfcfe)}.request-card-top,.request-person,.request-meta,.request-actions,.staff-cell{display:flex;align-items:center}.request-card-top{justify-content:space-between;gap:16px}.request-person{gap:14px}.request-avatar,.staff-avatar{width:46px;height:46px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#1d62bf,#113f82);flex-shrink:0}.request-person h3,.staff-cell strong{margin:0;font-size:1rem}.request-person p,.staff-cell span{margin:4px 0 0;color:var(--text-soft);font-size:13px}.request-meta{justify-content:space-between;gap:12px;margin-top:16px;color:var(--text-body);font-size:14px;flex-wrap:wrap}.request-flag{padding:6px 10px;border-radius:999px;background:#fff0ef;color:var(--danger);font-size:12px;font-weight:600}.request-actions{gap:10px;margin-top:18px;flex-wrap:wrap}.request-loadmore{display:flex;justify-content:center;margin-top:18px}.load-more-btn{border:none;border-radius:14px;padding:12px 20px;cursor:pointer;font-weight:700;color:#fff;background:#1469e1;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.load-more-btn:hover{transform:translateY(-1px)}.request-complete{color:var(--text-soft);font-weight:600;font-size:14px}.dashboard-approve-btn,.decline-btn{border:none;border-radius:14px;padding:11px 16px;cursor:pointer;font-weight:600;font-size:14px;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}.dashboard-approve-btn:hover,.decline-btn:hover{transform:translateY(-1px)}.dashboard-approve-btn:disabled,.decline-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.dashboard-approve-btn{background:linear-gradient(135deg,#1c8b60,#167a54);color:#fff}.decline-btn{background:#fff1ef;color:var(--danger)}.insight-stack{display:grid;gap:14px}.insight-card{padding:18px;border-radius:22px;background:linear-gradient(180deg,#f9fbff,#f2f6fb);border:1px solid rgba(17,74,157,.08)}.insight-label{color:#6d7d96}.insight-card strong{display:block;margin-top:8px;font-size:1.05rem}.insight-card p{margin:8px 0 0;color:var(--text-body);line-height:1.6;font-size:14px}.staff-panel{margin-top:22px}.table-shell{overflow-x:auto;border-radius:22px;border:1px solid rgba(15,23,42,.08)}.staff-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}.staff-table thead{background:#f6f9fd}.staff-table th,.staff-table td{padding:18px 16px;text-align:left;border-bottom:1px solid rgba(15,23,42,.07)}.staff-table th{color:#62748f;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.staff-table td{color:var(--text-body);font-size:14px;vertical-align:middle}.staff-cell{gap:14px}.staff-avatar{width:42px;height:42px;border-radius:14px}.role-badge,.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:capitalize}.role-badge{background:#eef4ff;color:#1f5db8}.status-pending{background:#fff6e7;color:#b67808}.status-approved,.status-active{background:#eaf8f1;color:#1c8b60}.status-declined{background:#fff0ef;color:var(--danger)}@media(max-width:1200px){.dashboard-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}}@media(max-width:860px){.dashboard-hero{grid-template-columns:1fr;padding:22px}.dashboard-stats-grid{grid-template-columns:1fr}.dashboard-panel,.dashboard-metric-card{border-radius:22px}.panel-header,.request-card-top,.request-meta{flex-direction:column;align-items:flex-start}.dashboard-title{max-width:none}}.action-alert{margin-bottom:16px;padding:12px 14px;border-radius:10px;border:1px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:12px}.action-alert.success{background:#ecfdf3;color:#065f46;border-color:#a7f3d0}.action-alert.error{background:#fef2f2;color:#991b1b;border-color:#fecaca}.action-alert-text{font-size:14px;font-weight:600}.action-alert-close{border:none;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.dialog-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.dialog-close:hover{color:#374151}.dialog-content{padding:24px}.detail-section{margin-top:16px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.detail-item-col{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.detail-value{font-size:14px;color:#111827;font-weight:500}.confirm-box{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;margin-bottom:16px}.confirm-box.success{background:#f0fdf4;border:1px solid #bbf7d0}.confirm-box.success .material-symbols-outlined{color:#16a34a}.confirm-box.danger{background:#fef2f2;border:1px solid #fecaca}.confirm-box.danger .material-symbols-outlined{color:#dc2626}.confirm-box .material-symbols-outlined{font-size:24px;flex-shrink:0}.confirm-box strong{display:block;font-size:16px;font-weight:600;color:#111827;margin-bottom:4px}.confirm-box p{margin:0;font-size:14px;color:#6b7280}.form-group{margin-top:16px}.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}.form-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff}.form-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;min-height:80px;resize:vertical;margin-top:8px}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb}.btn-secondary,.btn-approve-full,.btn-reject-full{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:#fff;border:1px solid #d1d5db;color:#6b7280}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-approve-full{background:#16a34a;border:1px solid #16a34a;color:#fff}.btn-approve-full:hover{background:#15803d}.btn-reject-full{background:#dc2626;border:1px solid #dc2626;color:#fff}.btn-reject-full:hover{background:#b91c1c}.btn-secondary:disabled,.btn-approve-full:disabled,.btn-reject-full:disabled{opacity:.5;cursor:not-allowed}.admin-approvals{--dashboard-bg: linear-gradient(180deg, #f7f9fc 0%, #eef4fb 100%);--panel-border: rgba(15, 23, 42, .08);--text-strong: #11233f;--text-body: #53657f;--text-soft: #7b8ba5;--accent: #114a9d;--accent-soft: rgba(17, 74, 157, .1);--success: #1f8f63;--success-soft: rgba(31, 143, 99, .12);--warning: #c88810;--warning-soft: rgba(200, 136, 16, .12);--danger: #cc4a43;--danger-soft: rgba(204, 74, 67, .12);padding:0;color:var(--text-strong)}.approvals-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.95fr);gap:20px;padding:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(80,133,214,.22),transparent 28%),radial-gradient(circle at left center,rgba(17,74,157,.18),transparent 32%),#fff;border:1px solid var(--panel-border)}.approvals-kicker,.panel-eyebrow,.modal-eyebrow,.hero-highlight-label,.metric-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6b7f9e}.approvals-title{margin:12px 0 10px;font-size:clamp(2rem,3vw,3rem);line-height:1.05;color:var(--text-strong);max-width:12ch}.approvals-subtitle{margin:0;max-width:65ch;color:var(--text-body);line-height:1.7;font-size:15px}.approvals-hero-highlight{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:180px;padding:22px;border-radius:24px;background:linear-gradient(160deg,#113f82,#1d62bf);color:#fff}.approvals-hero-highlight strong{font-size:1.45rem;font-weight:700}.approvals-hero-highlight p,.approvals-hero-highlight span{margin:0;color:#ffffffd9}.alert-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;margin:0 28px 22px;border-radius:16px;background:#fff;border:1px solid var(--panel-border)}.error-message-card{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(180deg,#fff,#fff4f2);border:1px solid var(--danger-soft);border-radius:8px;color:var(--danger);font-size:14px;font-weight:500}.error-message-card svg{flex-shrink:0;color:var(--danger)}.approvals-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 28px 22px}.approvals-metric-card{background:#fff;border:1px solid var(--panel-border);display:flex;gap:16px;padding:22px;border-radius:24px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;margin-top:20px}.approvals-metric-card:hover{transform:translateY(-1px)}.approvals-metric-card:after{content:"";position:absolute;inset:auto -10% -45% auto;width:140px;height:140px;border-radius:50%;background:#ffffff59}.approvals-metric-card h3{margin:8px 0 6px;font-size:2rem;line-height:1}.approvals-metric-card span{color:var(--text-body);line-height:1.5;font-size:13px}.approvals-metric-card-total{background:linear-gradient(180deg,#fff,#f5f9ff)}.approvals-metric-card-total .metric-icon{background:#1677ff1f;color:#1768db}.approvals-metric-card-pending{background:linear-gradient(180deg,#fff,#fff9ef)}.approvals-metric-card-pending .metric-icon{background:var(--warning-soft);color:var(--warning)}.approvals-metric-card-approved{background:linear-gradient(180deg,#fff,#f3fcf7)}.approvals-metric-card-approved .metric-icon{background:var(--success-soft);color:var(--success)}.approvals-metric-card-declined{background:linear-gradient(180deg,#fff,#fff4f2)}.approvals-metric-card-declined .metric-icon{background:var(--danger-soft);color:var(--danger)}.approvals-main-content{display:flex;flex-direction:column;gap:22px;margin:0 28px 28px}.approvals-panel{background:#fff;border:1px solid var(--panel-border);border-radius:28px;padding:24px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;background:#edf4ff;color:var(--accent);font-size:13px;font-weight:600;white-space:nowrap}.search-group{display:flex;flex-direction:column;gap:12px}.search-input-wrapper{position:relative}.search-input{width:100%;padding:14px 48px 14px 44px;border:2px solid rgba(255,255,255,.5);border-radius:16px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;color:var(--text-strong);transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--accent);background:#fff}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-soft)}.search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;color:var(--text-soft);transition:all .2s ease}.search-clear:hover{background:#0000001a;color:var(--text-strong)}.filter-tabs{display:flex;flex-direction:column;gap:8px}.filter-tab{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border:2px solid rgba(255,255,255,.5);background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;cursor:pointer;transition:all .3s ease;font-weight:500;color:var(--text-body)}.filter-tab:hover{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent)}.filter-tab.active{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),#1d62bf);color:#fff}.tab-text{font-size:14px}.tab-count{background:#fff3;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;min-width:20px;text-align:center}.filter-tab.active .tab-count{background:#ffffff4d}.table-container{overflow-x:auto;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:#fff}.bookings-table{width:100%;border-collapse:collapse;font-size:14px}.bookings-table th{background:#ebecec;padding:16px 12px;text-align:left;font-weight:600;color:var(--text-strong);border-bottom:2px solid rgba(15,23,42,.08);font-size:13px;text-transform:uppercase;letter-spacing:.05em}.bookings-table td{padding:16px 12px;border-bottom:1px solid rgba(15,23,42,.06);vertical-align:top}.bookings-table tbody tr:hover{background:#114a9d05}.load-more-row{display:flex;justify-content:center;margin:18px 0 0}.load-more-btn{padding:10px 20px;border-radius:12px;border:1px solid rgba(17,74,157,.16);background:#fff;color:var(--accent);cursor:pointer;transition:all .2s ease;font-weight:600}.load-more-btn:hover{background:#114a9d0f}.requester-cell strong{color:var(--text-strong);font-weight:600}.date-time-cell{line-height:1.4}.time-range{color:var(--text-soft);font-size:13px}.table-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.action-btn{padding:6px 12px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.action-btn:disabled{opacity:.5;cursor:not-allowed}.view-btn{background:#114a9d1a;color:var(--accent)}.view-btn:hover:not(:disabled){background:var(--accent);color:#fff}.approve-btn{background:var(--success-soft);color:var(--success)}.approve-btn:hover:not(:disabled){background:var(--success);color:#fff}.decline-btn{background:var(--danger-soft);color:var(--danger)}.decline-btn:hover:not(:disabled){background:var(--danger);color:#fff}.booking-status{display:flex;align-items:center;gap:6px;color:var(--text-soft);font-size:13px;font-weight:600}.booking-status svg{flex-shrink:0}.approvals-filters-row{display:flex;align-items:center;gap:20px;padding-bottom:20px}.approvals-filters-row .search-input-wrapper{flex:1;max-width:400px}.approvals-filters-row .search-input{width:100%;padding:10px 16px 10px 40px;border:1px solid rgba(15,23,42,.12);border-radius:8px;font-size:14px;background:#fff}.approvals-filters-row .search-input:focus{outline:none;border-color:#289aff}.approvals-filters-row .search-icon{position:absolute;left:12px;top:50%;color:var(--text-soft)}.approvals-filters-row .search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--text-soft);transition:color .2s ease}.approvals-filters-row .search-clear:hover{color:var(--text-strong)}.approvals-filters-row .filter-tabs{display:flex;gap:4px;flex-wrap:wrap}.filter-tabs{flex-direction:row}.approvals-filters-row .filter-tab{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid rgba(15,23,42,.12);border-radius:20px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-body)}.approvals-filters-row .filter-tab:hover{border-color:#289aff;background:#114a9d05;color:#289aff}.approvals-filters-row .filter-tab.active{border-color:#289aff;background:#289aff;color:#fff}.approvals-filters-row .tab-text{font-weight:600}.approvals-filters-row .tab-count{background:#0f172a14;padding:1px 6px;border-radius:8px;font-size:11px;font-weight:600;min-width:16px;text-align:center}.approvals-filters-row .filter-tab.active .tab-count{background:#fcfdfd26}.panel-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;border-radius:22px;background:var(--dashboard-bg);color:var(--text-body);text-align:center;padding:20px}.panel-state h3{margin:16px 0 8px;font-size:1.2rem;color:var(--text-strong)}.panel-state p{margin:0 0 20px;max-width:300px;line-height:1.6}.reset-btn{padding:10px 20px;background:linear-gradient(135deg,var(--accent),#1d62bf);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.reset-btn:hover{transform:translateY(-2px)}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease-out}.modal-content{position:relative;background:#fff;border-radius:28px;border:1px solid var(--panel-border);max-width:600px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-processing-overlay{position:absolute;inset:0;background:#ffffffeb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:10}.modal-processing-spinner{width:36px;height:36px;border:4px solid rgba(17,74,157,.15);border-top-color:#114a9d;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner{width:18px;height:18px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner.small{width:16px;height:16px;border-width:2px}.modal-header{padding:24px 32px;border-bottom:1px solid rgba(255,255,255,.3);display:flex;justify-content:space-between;align-items:flex-start}.modal-header h2{margin:6px 0 0;font-size:1.4rem;color:var(--text-strong)}.modal-close{background:#f1f5f9cc;border:none;border-radius:12px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-soft);transition:all .2s ease}.modal-close:hover{background:#cbd5e180;color:var(--text-strong)}.modal-body{padding:32px;flex:1;overflow-y:auto}.booking-summary{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(180deg,#f9fbff,#f2f6fb);border-radius:16px;border:1px solid rgba(17,74,157,.08);margin-bottom:24px}.summary-avatar{width:56px;height:56px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#1d62bf,#113f82);flex-shrink:0}.summary-info h3{margin:0 0 4px;font-size:1.1rem;color:var(--text-strong)}.summary-info p{margin:2px 0;color:var(--text-soft);font-size:13px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.detail-section{background:#f1f5f980;border-radius:16px;padding:20px}.detail-section.full-width{grid-column:1 / -1}.detail-section h4{margin:0 0 16px;font-size:1rem;color:var(--text-strong);font-weight:600}.detail-items{display:flex;flex-direction:column;gap:12px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{font-size:14px;color:var(--text-body);font-weight:500}.notes-content{background:#fffc;border:1px solid rgba(203,213,225,.5);border-radius:12px;padding:16px}.notes-content p{margin:0;font-size:14px;color:var(--text-body);line-height:1.6}.confirmation-card{display:flex;align-items:center;gap:16px;padding:24px;border-radius:16px;margin-bottom:24px}.confirmation-card.success{background:#1f8f631a;border:1px solid rgba(31,143,99,.2)}.confirmation-card.danger{background:#cc4a431a;border:1px solid rgba(204,74,67,.2)}.confirmation-text h3{margin:0 0 8px;font-size:1.2rem;color:var(--text-strong)}.confirmation-text p{margin:0;color:var(--text-body);line-height:1.6}.booking-preview{display:flex;align-items:center;gap:16px;padding:20px;background:#f1f5f9cc;border-radius:16px;border:1px solid rgba(203,213,225,.5);margin-bottom:24px}.preview-avatar{width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff;background:linear-gradient(135deg,#1d62bf,#113f82);flex-shrink:0}.preview-details h4{margin:0 0 4px;font-size:1rem;color:var(--text-strong)}.preview-details p{margin:2px 0;color:var(--text-soft);font-size:13px}.form-section{margin-top:24px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:14px;color:var(--text-strong);font-weight:600;margin-bottom:8px}.form-select,.form-textarea{width:100%;padding:12px 16px;border:2px solid rgba(255,255,255,.5);border-radius:12px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;color:var(--text-strong);transition:all .3s ease}.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);background:#fff}.form-textarea{resize:vertical;min-height:80px}.modal-footer{padding:24px 32px;border-top:1px solid rgba(255,255,255,.3);background:#f1f5f980;display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.modal-actions{display:flex;gap:12px}.modal-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;min-height:44px}.modal-btn.secondary{background:#fffc;color:var(--text-body);border:1px solid rgba(203,213,225,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-btn.secondary:hover{background:#fffffff2;border-color:#cbd5e1;color:var(--text-strong)}.modal-btn.approve,.modal-btn.decline{color:#fff}.modal-btn.approve{background:linear-gradient(135deg,#1c8b60,#167a54)}.modal-btn.approve:hover{transform:translateY(-2px)}.modal-btn.decline{background:linear-gradient(135deg,#cc4a43,#b8413c)}.modal-btn.decline:hover{transform:translateY(-2px)}.modal-btn.primary{min-width:140px;justify-content:center}.modal-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.modal-success{max-width:500px;text-align:center}.success-icon-container{padding:40px 32px 32px;display:flex;justify-content:center}.success-icon-circle{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1f8f631a;border:2px solid rgba(31,143,99,.2);animation:scaleIn .5s ease-out}.success-icon-circle.decline{background:#ef44441a;border-color:#ef444433}.success-title{margin:16px 0 12px;font-size:1.8rem;color:var(--text-strong);font-weight:700}.success-title.decline{color:#ef4444}.success-message{color:var(--text-body);font-size:15px;line-height:1.6;max-width:420px;margin:0 auto 32px}.success-details{background:#f1f5f980;border:1px solid rgba(203,213,225,.5);border-radius:16px;padding:20px;margin-bottom:32px;text-align:left}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(203,213,225,.3)}.detail-row:last-child{border-bottom:none;padding-bottom:0}.detail-label{font-size:13px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{font-size:14px;color:var(--text-strong);font-weight:600;text-align:right;max-width:50%;overflow:hidden;text-overflow:ellipsis}.detail-value.decline-reason{color:#ef4444;font-weight:700}.success-action-btn{background:linear-gradient(135deg,var(--success),#167a54);color:#fff;border:none;padding:14px 48px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;min-height:48px;min-width:200px}.success-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #1f8f634d}.success-action-btn.decline{background:linear-gradient(135deg,#ef4444,#dc2626)}.success-action-btn.decline:hover{box-shadow:0 8px 16px #ef44444d}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1200px){.approvals-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approvals-main-content{margin-left:16px;margin-right:16px}.details-grid{grid-template-columns:1fr}}@media(max-width:860px){.approvals-hero{grid-template-columns:1fr;padding:22px}.modal-content{margin:16px;max-width:none}.modal-header,.modal-body,.modal-footer{padding-left:24px;padding-right:24px}}@media(max-width:640px){.admin-approvals{padding:0}.approvals-hero,.approvals-stats-grid,.approvals-main-content{margin-left:16px;margin-right:16px}.approvals-panel{padding:20px}.booking-card-top{flex-direction:column;align-items:flex-start;gap:12px}.booking-actions{width:100%;justify-content:stretch}.action-btn{flex:1;justify-content:center}.modal-footer{flex-direction:column}.modal-btn{width:100%;justify-content:center}}.reports-page{--dashboard-bg: linear-gradient(180deg, #f7f9fc 0%, #eef4fb 100%);--panel-border: rgba(15, 23, 42, .08);--panel-shadow: 0 20px 50px rgba(15, 23, 42, .08);--text-strong: #11233f;--text-body: #53657f;--text-soft: #7b8ba5;--accent: #114a9d;--accent-soft: rgba(17, 74, 157, .1);--success: #1f8f63;--success-soft: rgba(31, 143, 99, .12);--warning: #c88810;--warning-soft: rgba(200, 136, 16, .12);--danger: #cc4a43;--danger-soft: rgba(204, 74, 67, .12);padding:0;color:var(--text-strong);background:var(--dashboard-bg);min-height:100vh;position:relative}.reports-coming-soon-overlay{position:absolute;inset:0;background:#1118279e;display:grid;place-items:center;text-align:center;z-index:10;padding:32px}.reports-coming-soon-overlay div{max-width:520px;border-radius:24px;padding:36px 32px;background:#ffffffeb;box-shadow:0 40px 120px #0f172a2e;border:1px solid rgba(15,23,42,.08)}.reports-coming-soon-overlay p{margin:0 0 10px;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:#3b82f6;font-weight:700}.reports-coming-soon-overlay h2{margin:0 0 12px;font-size:clamp(2rem,3vw,2.6rem);color:var(--text-strong)}.reports-coming-soon-overlay span{display:block;color:var(--text-body);font-size:1rem;line-height:1.6}.reports-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.95fr);gap:20px;padding:28px;margin:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(80,133,214,.22),transparent 28%),radial-gradient(circle at left center,rgba(17,74,157,.18),transparent 32%),#fff;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow)}.reports-kicker,.panel-eyebrow,.hero-highlight-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6b7f9e}.reports-title{margin:12px 0 10px;font-size:clamp(2rem,3vw,3rem);line-height:1.05;color:var(--text-strong);max-width:15ch}.reports-subtitle{margin:0;max-width:65ch;color:var(--text-body);line-height:1.7;font-size:15px}.reports-hero-highlight{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:180px;padding:22px;border-radius:24px;background:linear-gradient(160deg,#113f82,#1d62bf);color:#fff;box-shadow:inset 0 1px #ffffff1a}.reports-hero-highlight strong{font-size:1.45rem;font-weight:700}.reports-hero-highlight p,.reports-hero-highlight span{margin:0;color:#ffffffd9}.reports-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:0 28px 28px}.reports-metric-card{background:#fff;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);display:flex;gap:16px;padding:22px;border-radius:24px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.reports-metric-card:hover{transform:translateY(-2px);box-shadow:0 24px 60px #0f172a1f}.reports-metric-card:after{content:"";position:absolute;inset:auto -10% -45% auto;width:140px;height:140px;border-radius:50%;background:#ffffff59}.reports-metric-card h3{margin:8px 0 6px;font-size:2rem;line-height:1}.reports-metric-card span{color:var(--text-body);line-height:1.5;font-size:13px}.metric-icon{width:50px;height:50px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.reports-metric-card-total{background:linear-gradient(180deg,#fff,#f5f9ff)}.reports-metric-card-total .metric-icon{background:#1677ff1f;color:#1768db}.reports-metric-card-pending{background:linear-gradient(180deg,#fff,#fff9ef)}.reports-metric-card-pending .metric-icon{background:var(--warning-soft);color:var(--warning)}.reports-metric-card-approved{background:linear-gradient(180deg,#fff,#f3fcf7)}.reports-metric-card-approved .metric-icon{background:var(--success-soft);color:var(--success)}.reports-metric-card-declined{background:linear-gradient(180deg,#fff,#fff4f2)}.reports-metric-card-declined .metric-icon{background:var(--danger-soft);color:var(--danger)}.metric-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6b7f9e}.filters-panel{background:#fff;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);border-radius:28px;padding:28px;margin:0 28px 28px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.panel-header h2{margin:6px 0 0;font-size:1.4rem;color:var(--text-strong)}.filters-content{display:flex;flex-direction:column;gap:20px}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-label{font-size:13px;font-weight:600;color:var(--text-strong)}.filter-input,.filter-select{padding:12px 14px;border:2px solid rgba(255,255,255,.5);border-radius:12px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;color:var(--text-strong);transition:all .3s ease}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--accent);background:#fff}.filter-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid rgba(203,213,225,.3)}.btn-secondary,.btn-primary,.btn-export{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-secondary{background:#fffc;border:1px solid rgba(203,213,225,.5);color:var(--text-body);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-primary{background:linear-gradient(135deg,var(--accent),#1d62bf);color:#fff;box-shadow:0 4px 12px #114a9d4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #114a9d66}.btn-export{background:linear-gradient(135deg,var(--success),#2da88e);color:#fff;box-shadow:0 4px 12px #1f8f634d}.btn-export:hover{transform:translateY(-2px);box-shadow:0 8px 20px #1f8f6366}.data-section{margin:0 28px 28px}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.section-header h2{font-size:1.4rem;color:var(--text-strong);margin:0}.text-muted{color:var(--text-soft);font-size:14px;margin:0}.table-container{background:#fff;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);border-radius:16px;overflow:hidden;overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:linear-gradient(135deg,var(--accent),#1d62bf);color:#fff;position:sticky;top:0}th{padding:16px;text-align:left;font-weight:600;font-size:13px;letter-spacing:.5px;text-transform:uppercase}td{padding:14px 16px;border-bottom:1px solid rgba(15,23,42,.08);color:var(--text-body);font-size:14px}tbody tr{transition:background .2s ease}tbody tr:hover{background:#114a9d0d}tbody tr:last-child td{border-bottom:none}.charts-section{margin:0 28px 28px}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:28px;margin-top:28px}.chart{background:#fff;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);border-radius:16px;padding:24px}.chart h3{margin:0 0 20px;font-size:1.2rem;color:var(--text-strong);font-weight:600}@media(max-width:1200px){.reports-hero{grid-template-columns:1fr;padding:24px;margin:24px}.reports-stats-grid,.filters-panel,.data-section,.charts-section{margin-left:24px;margin-right:24px}.charts{grid-template-columns:1fr}}@media(max-width:860px){.reports-page{padding:0}.reports-hero,.filters-panel,.table-container,.chart{border-radius:16px}.filter-row{grid-template-columns:1fr}.filter-actions{flex-direction:column}.btn-secondary,.btn-primary,.btn-export{width:100%;justify-content:center}th,td{padding:12px;font-size:12px}}@media(max-width:640px){.reports-hero{padding:20px;margin:16px}.reports-title{font-size:2rem}.reports-stats-grid,.filters-panel,.data-section,.charts-section{margin-left:16px;margin-right:16px}.panel-header{flex-direction:column;align-items:flex-start}.reports-stats-grid{grid-template-columns:1fr}.charts{grid-template-columns:1fr;gap:20px}.chart{padding:20px}th,td{padding:10px;font-size:11px}}.register-staff{--panel-border: rgba(15, 23, 42, .08);--panel-shadow: 0 20px 50px rgba(15, 23, 42, .08);--text-strong: #11233f;--text-body: #53657f;--text-soft: #7b8ba5;--accent: #114a9d;--accent-soft: rgba(17, 74, 157, .1);--success: #1f8f63;--success-soft: rgba(31, 143, 99, .12);--warning: #c88810;--warning-soft: rgba(200, 136, 16, .12);--danger: #cc4a43;--danger-soft: rgba(204, 74, 67, .12);padding:0;color:var(--text-strong);background:var(--dashboard-bg);min-height:100vh}.register-hero{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.95fr);gap:20px;padding:28px;border-radius:28px;background:radial-gradient(circle at top right,rgba(80,133,214,.22),transparent 28%),radial-gradient(circle at left center,rgba(17,74,157,.18),transparent 32%),#fff;border:1px solid #bce4ff;margin:28px}.register-kicker,.panel-eyebrow,.hero-highlight-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6b7f9e}.register-title{margin:12px 0 10px;font-size:clamp(2rem,3vw,3rem);line-height:1.05;color:var(--text-strong);max-width:300px}.register-subtitle{margin:0;max-width:65ch;color:var(--text-body);line-height:1.7;font-size:15px}.register-hero-highlight{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:180px;padding:22px;border-radius:24px;background:linear-gradient(160deg,#113f82,#1d62bf);color:#fff;box-shadow:inset 0 1px #ffffff1a}.hero-highlight-header{display:flex;align-items:center;justify-content:space-between}.register-hero-highlight strong{font-size:1.45rem;font-weight:700}.register-hero-highlight p,.register-hero-highlight span{margin:0;color:#ffffffd9}.alert-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;margin:0 28px 22px;border-radius:16px;background:#fff;border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);animation:slideIn .3s ease-out}.alert-banner.success{border-color:var(--success-soft);background:linear-gradient(180deg,#fff,#f3fcf7)}.alert-banner.error{border-color:var(--danger-soft);background:linear-gradient(180deg,#fff,#fff4f2)}.alert-banner span{flex:1;font-weight:500;color:var(--text-strong)}.alert-close{background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;color:var(--text-soft);transition:all .2s ease}.alert-close:hover{background:#0000001a;color:var(--text-strong)}.status-modal-overlay{position:fixed;inset:0;background:#111827a6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.status-modal{width:min(96vw,420px);background:#fff;border-radius:24px;padding:32px 28px;box-shadow:0 30px 90px #1118272e;text-align:center;border:1px solid rgba(15,23,42,.08)}.status-modal.success{border-color:#1f8f6333}.status-modal.error{border-color:#cc4a4333}.status-modal-icon{margin:0 auto 18px;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#114a9d14}.status-modal.success .status-modal-icon{background:#1f8f631f}.status-modal.error .status-modal-icon{background:#ef44441f}.status-modal h2{margin:0 0 12px;font-size:1.5rem;color:var(--text-strong)}.status-modal p{margin:0 0 24px;color:var(--text-body);line-height:1.7;font-size:.95rem}.status-modal-button{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),#1d62bf);color:#fff;border:none;border-radius:14px;padding:12px 24px;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.status-modal-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #114a9d2e}.register-main{padding:0 28px 28px}.register-panel{background:#fff;border:1px solid var(--panel-border);border-radius:28px;padding:32px;max-width:1000px;margin:0 auto}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:32px}.panel-header h2{margin:6px 0 0;font-size:1.8rem;color:var(--text-strong)}.panel-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#edf4ff;color:var(--accent);font-size:13px;font-weight:600;white-space:nowrap}.register-form{display:flex;flex-direction:column;gap:32px}.form-section{padding:24px;background:#f1f5f980;border-radius:16px;border:1px solid rgba(203,213,225,.3)}.section-title{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:1.2rem;color:var(--text-strong);font-weight:600}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width{grid-column:1 / -1}.form-label{font-size:14px;font-weight:600;color:var(--text-strong);margin-bottom:4px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;color:var(--text-soft);z-index:1;pointer-events:none}.form-input,.form-select{width:100%;padding:14px 16px;border:1px solid #ebebeb;border-radius:12px;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:14px;color:var(--text-strong)}.form-input:focus,.form-select:focus{outline:none;border-color:#8ed4ff;background:#fff}.form-input{padding:14px 48px 14px 44px}.form-select{padding-left:44px;cursor:pointer}.password-toggle{position:absolute;right:14px;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--text-soft);cursor:pointer;transition:color .2s ease,transform .2s ease}.password-toggle:hover{color:var(--text-strong);transform:translateY(-1px)}.input-hint{margin:6px 0 0;font-size:12px;color:var(--text-soft);line-height:1.4}.form-actions{display:flex;gap:16px;justify-content:flex-end;padding-top:24px;border-top:1px solid rgba(203,213,225,.3);margin-top:32px}.btn-secondary{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#fffc;border:1px solid rgba(203,213,225,.5);border-radius:12px;color:var(--text-body);font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-secondary:hover{background:#fffffff2;border-color:#cbd5e1;color:var(--text-strong)}.rs-btn-primary{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#289aff;border:none;border-radius:12px;color:#fff;font-weight:600;font-size:14px;cursor:pointer}.rs-btn-primary:hover:not(:disabled){background:#1b80f5}.rs-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #ffffff;border-radius:50%;animation:spin 1s linear infinite}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1200px){.register-hero{grid-template-columns:1fr;padding:24px;margin:24px}.register-main{padding:0 24px 24px}}@media(max-width:860px){.register-staff{padding:0}.register-hero,.register-main{margin-left:16px;margin-right:16px}.register-panel{padding:24px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-secondary,.rs-btn-primary{width:100%;justify-content:center}}@media(max-width:640px){.register-hero{padding:20px}.register-title{font-size:2rem}.register-subtitle{font-size:14px}.register-panel,.form-section{padding:20px}.section-title{font-size:1.1rem}}
