*,:after,:before{--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:rgba(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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:rgba(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{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,pre,samp{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;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{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}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:.75rem;padding:.875rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration-line:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-primary{background:var(--sky-dark);color:#fff;box-shadow:0 4px 20px rgba(10,61,98,.35)}.btn-primary:hover{background:#07293f;transform:translateY(-1px);box-shadow:0 6px 24px rgba(10,61,98,.45)}.btn-outline{background:transparent;color:var(--sky-dark);border:2px solid var(--sky)}.btn-outline:hover{background:var(--sky-light);transform:translateY(-1px)}.download-btn{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border-radius:10px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration-line:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:var(--sky-dark);color:#fff;box-shadow:0 2px 12px rgba(10,61,98,.3)}.download-btn:hover{background:#07293f;transform:translateY(-1px)}.btn-outline-sm{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border-radius:10px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration-line:none;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background:transparent;color:var(--sky-dark);border:2px solid var(--sky)}.btn-outline-sm:hover{background:var(--sky-light);transform:translateY(-1px)}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-14{margin-bottom:3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-16{height:4rem}.h-full{height:100%}.w-16{width:4rem}.max-w-\[480px\]{max-width:480px}.max-w-\[520px\]{max-width:520px}.max-w-\[700px\]{max-width:700px}.max-w-\[900px\]{max-width:900px}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0\.5{gap:.125rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.rounded-\[16px\]{border-radius:16px}.rounded-full{border-radius:9999px}.border{border-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,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-24{padding-top:6rem;padding-bottom:6rem}.pb-16{padding-bottom:4rem}.text-center{text-align:center}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.2rem\]{font-size:1.2rem}.text-\[1\.75rem\]{font-size:1.75rem}.text-\[1rem\]{font-size:1rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.not-italic{font-style:normal}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.55\]{line-height:1.55}.tracking-\[-0\.75px\]{letter-spacing:-.75px}.tracking-\[-1\.5px\]{letter-spacing:-1.5px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.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)}.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}:root{--sky:#1b2a4a;--sky-dark:#0a3d62;--sky-light:#dde4ed;--sky-xlight:#eef1f5;--dark:#0c1a2e;--mid:#334155;--muted:#64748b;--white:#fff}html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;background:var(--white);color:var(--dark);line-height:1.6}.nav-link{font-size:.875rem;font-weight:500;color:var(--muted);text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--sky-dark)}.hero-section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 1.5rem 5rem;background:linear-gradient(160deg,var(--sky-xlight) 0,var(--white) 60%);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(27,42,74,.12) 0,transparent 70%);top:-100px;right:-150px;pointer-events:none}.badge{display:inline-block;padding:.35rem 1rem;background:var(--sky-light);color:var(--sky-dark);border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.app-card{border:1.5px solid var(--sky-light);border-radius:20px;padding:2rem 1.75rem;background:var(--sky-xlight);text-align:center;transition:box-shadow .2s,transform .2s}.app-card:hover{box-shadow:0 8px 32px rgba(27,42,74,.18);transform:translateY(-3px)}.legal-main{max-width:720px;margin:0 auto;padding:8rem 1.5rem 5rem}.legal-main h1{font-size:clamp(2rem,5vw,2.75rem);font-weight:700;letter-spacing:-1px;color:var(--dark);margin-bottom:.5rem}.legal-main .meta{font-size:.95rem;color:var(--muted);margin-bottom:2.5rem}.legal-main .meta strong,.legal-main h2{color:var(--dark)}.legal-main h2{font-size:1.35rem;font-weight:700;letter-spacing:-.5px;margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--sky-light)}.legal-main p{font-size:1rem;color:var(--mid);margin-bottom:1rem}.legal-main ul{margin:0 0 1rem 1.25rem;color:var(--mid)}.legal-main li{margin-bottom:.4rem}.legal-main strong{color:var(--dark)}.legal-main a{color:var(--sky-dark);text-decoration:none;font-weight:600}.legal-main a:hover{text-decoration:underline}.legal-main table{width:100%;border-collapse:collapse;margin-bottom:1rem;font-size:.95rem}.legal-main table td,.legal-main table th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--sky-light);color:var(--mid)}.legal-main table th{color:var(--dark);font-weight:700;background:var(--sky-xlight)}.site-footer{padding:2rem 1.5rem;text-align:center;border-top:1px solid var(--sky-light)}.site-footer p{font-size:.85rem;color:var(--muted);margin-bottom:.5rem}.site-footer p:last-child{margin-bottom:0}.site-footer a{color:var(--sky-dark);text-decoration:none}.site-footer a:hover{text-decoration:underline}.auth-card{background:#fff;border-radius:20px;padding:2.25rem 2rem;border:1.5px solid var(--sky-light);box-shadow:0 8px 32px rgba(27,42,74,.1)}.auth-label{display:block;font-size:.85rem;font-weight:600;color:var(--dark);margin-bottom:.35rem}.auth-input{width:100%;padding:.6rem .85rem;border:1.5px solid var(--sky-light);border-radius:10px;font-size:.95rem;font-family:inherit;color:var(--dark);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.auth-input:focus{border-color:var(--sky-dark);box-shadow:0 0 0 3px rgba(10,61,98,.12)}.auth-input::-moz-placeholder{color:var(--muted)}.auth-input::placeholder{color:var(--muted)}.google-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.65rem 1rem;border:1.5px solid var(--sky-light);border-radius:10px;background:#fff;font-size:.9rem;font-weight:600;color:var(--dark);cursor:pointer;transition:background .15s,box-shadow .15s;font-family:inherit}.google-btn:hover{background:var(--sky-xlight);box-shadow:0 2px 8px rgba(27,42,74,.12)}.google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1rem 0;color:var(--muted);font-size:.8rem}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--sky-light)}.placeholder-page{align-items:center;justify-content:center;padding:2rem 1.5rem}.app-layout,.placeholder-page{min-height:100vh;display:flex;flex-direction:column;background:var(--sky-xlight)}.app-main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:2rem 1.5rem 4rem}.app-topbar{position:sticky;top:0;z-index:100;background:var(--dark);box-shadow:0 2px 16px rgba(12,26,46,.22)}.app-topbar-inner{display:flex;align-items:center;gap:1rem;max-width:1400px;margin:0 auto;padding:.75rem 1.5rem}.app-topbar-left{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.app-brand{text-decoration:none}.app-brand-logo{display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;letter-spacing:.5px;color:#fff;background:var(--sky-dark);padding:.35rem .6rem;border-radius:8px;white-space:nowrap}.app-topbar-nav{display:flex;align-items:center;gap:.25rem}.app-nav-link{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:8px;font-size:.82rem;font-weight:500;color:hsla(0,0%,100%,.65);text-decoration:none;transition:color .15s,background .15s;white-space:nowrap}.app-nav-link:hover{color:#fff;background:hsla(0,0%,100%,.08)}.app-nav-link.active{color:#fff;background:hsla(0,0%,100%,.12)}.app-search-form{flex:1;min-width:0}.app-search-field{display:flex;align-items:center;gap:.6rem;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15);border-radius:24px;padding:.45rem 1rem;transition:background .15s,border-color .15s}.app-search-field:focus-within{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.app-search-icon{color:hsla(0,0%,100%,.5);flex-shrink:0}.app-search-input{flex:1;background:none;border:none;outline:none;font-size:.88rem;color:#fff;font-family:inherit;min-width:0}.app-search-input::-moz-placeholder{color:hsla(0,0%,100%,.45)}.app-search-input::placeholder{color:hsla(0,0%,100%,.45)}.app-topbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.app-icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:hsla(0,0%,100%,.08);border:none;color:hsla(0,0%,100%,.75);cursor:pointer;transition:background .15s,color .15s}.app-icon-btn:hover{background:hsla(0,0%,100%,.16);color:#fff}.app-profile-wrap{position:relative}.app-avatar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sky-dark);border:2px solid hsla(0,0%,100%,.25);color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;transition:border-color .15s,transform .15s;font-family:inherit}.app-avatar-btn:hover{border-color:hsla(0,0%,100%,.6);transform:scale(1.05)}.app-profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:#fff;border:1px solid var(--sky-light);border-radius:14px;box-shadow:0 8px 32px rgba(12,26,46,.18);overflow:hidden;z-index:200;animation:dropdown-in .15s ease}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.app-profile-info{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.15rem}.app-profile-name{font-size:.9rem;font-weight:700;color:var(--dark)}.app-profile-email,.app-profile-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-profile-email{font-size:.78rem;color:var(--muted)}.app-profile-divider{height:1px;background:var(--sky-light)}.app-profile-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem 1rem;background:none;border:none;font-size:.875rem;font-weight:500;color:var(--mid);text-decoration:none;cursor:pointer;transition:background .12s,color .12s;font-family:inherit;text-align:left}.app-profile-item:hover{background:var(--sky-xlight);color:var(--dark)}.app-profile-signout{color:#dc2626}.app-profile-signout:hover{background:#fef2f2;color:#b91c1c}.app-tagline-strip{background:linear-gradient(90deg,var(--sky),var(--sky-dark),var(--sky));padding:.2rem 1rem;text-align:center}.app-tagline-text{font-size:.72rem;font-style:italic;font-weight:300;letter-spacing:.4px;color:hsla(0,0%,100%,.75)}.home-content{display:flex;flex-direction:column;gap:2.5rem}.home-brand{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.home-brand-text{flex:1}.home-brand-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;letter-spacing:-1px;color:var(--dark);line-height:1.15;margin-bottom:.25rem}.home-brand-subtitle{font-size:1.05rem;color:var(--muted);font-weight:400}.duration-toggle{display:inline-flex;border:2px solid var(--sky-light);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(27,42,74,.08)}.duration-btn{padding:.5rem 1.1rem;background:none;border:none;font-size:.875rem;font-weight:500;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;font-family:inherit;white-space:nowrap}.duration-btn:hover{background:var(--sky-xlight);color:var(--sky-dark)}.duration-btn--active{background:var(--sky-dark);color:#fff;font-weight:700}.duration-btn--active:hover{background:#07293f}.home-search-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.home-search-form{flex:1;min-width:240px}.home-search-field{display:flex;align-items:center;gap:.6rem;background:#fff;border:1.5px solid var(--sky-light);border-radius:28px;padding:.65rem 1rem;box-shadow:0 2px 8px rgba(27,42,74,.07);transition:border-color .15s,box-shadow .15s}.home-search-field:focus-within{border-color:var(--sky-dark);box-shadow:0 2px 12px rgba(10,61,98,.15)}.home-search-icon{color:var(--muted);flex-shrink:0}.home-search-input{flex:1;background:none;border:none;outline:none;font-size:.95rem;color:var(--dark);font-family:inherit;min-width:0}.home-search-input::-moz-placeholder{color:var(--muted)}.home-search-input::placeholder{color:var(--muted)}.home-search-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--sky-dark);color:#fff;border:none;border-radius:28px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 3px 12px rgba(10,61,98,.3);white-space:nowrap;font-family:inherit}.home-search-btn:hover{background:#07293f;transform:translateY(-1px)}.sort-wrap{position:relative;flex-shrink:0}.sort-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:#fff;color:var(--mid);border:1.5px solid var(--sky-light);border-radius:28px;font-size:.875rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s;box-shadow:0 2px 8px rgba(27,42,74,.07);font-family:inherit;white-space:nowrap}.sort-btn:hover{border-color:var(--sky-dark);background:var(--sky-xlight)}.sort-btn-label{max-width:160px;overflow:hidden;text-overflow:ellipsis}.sort-caret{transition:transform .15s}.sort-caret--open{transform:rotate(180deg)}.sort-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:#fff;border:1px solid var(--sky-light);border-radius:12px;box-shadow:0 8px 32px rgba(12,26,46,.15);overflow:hidden;z-index:150;animation:dropdown-in .15s ease}.sort-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;background:none;border:none;font-size:.875rem;font-weight:400;color:var(--mid);cursor:pointer;text-align:left;transition:background .1s,color .1s;font-family:inherit}.sort-option:hover{background:var(--sky-xlight);color:var(--dark)}.sort-option--active{font-weight:600;color:var(--sky-dark)}.home-section{display:flex;flex-direction:column;gap:1.25rem}.home-section-header{display:flex;align-items:baseline;gap:.75rem}.home-section-title{font-size:1.4rem;font-weight:700;letter-spacing:-.5px;color:var(--dark)}.home-section-hint{font-size:.82rem;color:var(--muted)}.listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.listing-card{background:#fff;border-radius:16px;border:1px solid var(--sky-light);overflow:hidden;box-shadow:0 2px 12px rgba(27,42,74,.07);transition:box-shadow .2s,transform .2s;display:flex;flex-direction:column}.listing-card:hover{box-shadow:0 8px 28px rgba(27,42,74,.16);transform:translateY(-2px)}.listing-card-link{display:block}.listing-card-img-wrap{position:relative;width:100%;aspect-ratio:16/10;background:var(--sky-xlight);overflow:hidden}.listing-card-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .3s}.listing-card:hover .listing-card-img{transform:scale(1.03)}.listing-card-img-placeholder{width:100%;height:100%;flex-direction:column;gap:.5rem;color:var(--muted);font-size:.8rem}.listing-card-fav,.listing-card-img-placeholder{display:flex;align-items:center;justify-content:center}.listing-card-fav{position:absolute;top:10px;right:10px;width:34px;height:34px;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .15s,transform .15s;z-index:2}.listing-card-fav:hover{background:rgba(0,0,0,.6);transform:scale(1.1)}.listing-card-fav--active{background:rgba(220,38,38,.85);color:#fff}.listing-card-body{padding:1rem;display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:inherit;flex:1}.listing-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.listing-card-name{font-size:.975rem;font-weight:700;color:var(--dark);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1}.listing-card-rating{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem;font-weight:600;color:var(--dark);white-space:nowrap;flex-shrink:0}.listing-card-rating-count{font-weight:400;color:var(--muted)}.listing-card-loc{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.listing-card-price{font-size:.95rem;font-weight:700;color:var(--sky-dark);margin-top:auto;padding-top:.2rem}.section-empty,.section-error{display:flex;align-items:center;gap:.75rem;padding:2rem;background:#fff;border-radius:12px;border:1px solid var(--sky-light);color:var(--muted);font-size:.9rem}.section-error{color:#dc2626;background:#fef2f2;border-color:#fecaca}.listing-card--skeleton{pointer-events:none}.skeleton-img{width:100%;aspect-ratio:16/10}.skeleton-img,.skeleton-line{background:linear-gradient(90deg,var(--sky-xlight) 25%,#e8edf5 50%,var(--sky-xlight) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-line{border-radius:6px}.skeleton-line--title{height:16px;width:80%}.skeleton-line--sub{height:12px;width:55%}.skeleton-line--price{height:14px;width:45%;margin-top:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:600px){nav{padding:.75rem 1rem!important}.hero-cta{flex-direction:column;align-items:center}.hero-cta .btn{width:100%;max-width:280px;justify-content:center}.app-topbar-nav{display:none}.app-topbar-inner{gap:.5rem;padding:.6rem 1rem}.app-search-form{min-width:0}.home-brand{flex-direction:column;align-items:flex-start}.home-search-row{flex-direction:column;align-items:stretch}.home-search-form{min-width:0}.sort-btn-label{display:none}.listing-grid{grid-template-columns:1fr}}@media (min-width:601px) and (max-width:1023px){.app-topbar-nav{gap:0}.app-nav-link{padding:.4rem .55rem;font-size:.78rem}.listing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.listing-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1400px){.listing-grid{grid-template-columns:repeat(4,1fr)}}.detail-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--white);border-bottom:1px solid var(--sky-light)}.detail-back-btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--sky-dark);text-decoration:none;padding:.35rem .75rem;border-radius:8px;transition:background .15s}.detail-back-btn:hover{background:var(--sky-xlight)}.detail-fav-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--sky-light);background:var(--white);color:var(--muted);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.detail-fav-btn--active,.detail-fav-btn:hover{border-color:#e11d48;color:#e11d48}.detail-fav-btn--active{background:#fff0f3}.detail-main{padding-bottom:100px}.detail-body{max-width:860px;margin:0 auto;padding:0 1.25rem 2rem;display:flex;flex-direction:column;gap:2rem}.detail-gallery{position:relative;width:100%;aspect-ratio:16/9;background:var(--sky-xlight);overflow:hidden}.detail-gallery--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--muted);font-size:.9rem;aspect-ratio:16/9}.detail-gallery-img-wrap{width:100%;height:100%;position:relative}.detail-gallery-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:opacity .2s}.detail-gallery-placeholder{width:100%;height:100%;background:var(--sky-xlight);color:var(--muted)}.detail-gallery-arrow,.detail-gallery-placeholder{display:flex;align-items:center;justify-content:center}.detail-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.88);border:none;cursor:pointer;color:var(--dark);z-index:2;transition:background .15s}.detail-gallery-arrow:hover{background:var(--white)}.detail-gallery-arrow--left{left:12px}.detail-gallery-arrow--right{right:12px}.detail-gallery-counter{position:absolute;bottom:12px;right:14px;background:rgba(0,0,0,.55);color:#fff;font-size:.78rem;font-weight:600;padding:.2rem .55rem;border-radius:20px;z-index:2}.detail-gallery-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}.detail-gallery-dot{width:8px;height:8px;border-radius:50%;background:hsla(0,0%,100%,.5);border:none;cursor:pointer;padding:0;transition:background .15s,transform .15s}.detail-gallery-dot--active{background:var(--white);transform:scale(1.25)}.detail-video-section{padding:0}.detail-video{width:100%;max-height:420px;background:#000;display:block}.detail-header{display:flex;flex-direction:column;gap:.5rem;padding-top:1.5rem}.detail-name{font-size:1.5rem;font-weight:700;color:var(--dark);line-height:1.3;margin:0}.detail-location{display:flex;align-items:center;gap:.35rem;font-size:.9rem;color:var(--mid)}.detail-rating-row{display:flex;align-items:center;gap:.5rem}.detail-stars{display:inline-flex;align-items:center;gap:3px}.detail-stars-avg{font-weight:700;font-size:.95rem;color:var(--dark);margin-left:4px}.detail-no-rating,.detail-stars-count{font-size:.85rem;color:var(--muted)}.detail-no-rating{font-style:italic}.detail-host-row{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--mid)}.detail-pricing-card{background:var(--sky-xlight);border:1.5px solid var(--sky-light);border-radius:14px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}.detail-pricing-top{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.detail-price-main{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}.detail-price-amount{font-size:1.7rem;font-weight:800;color:var(--sky-dark)}.detail-price-currency{font-size:1rem;font-weight:600;color:var(--sky-dark)}.detail-price-suffix{font-size:.95rem;color:var(--mid)}.detail-billing-label{font-size:.82rem;color:var(--muted);font-weight:500;white-space:nowrap}.detail-price-approx{font-size:.85rem;color:var(--muted);margin:0}.detail-pricing-meta{display:flex;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--sky-light);padding-top:.6rem;margin-top:.2rem}.detail-pricing-meta-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--mid)}.detail-negotiable-banner{display:flex;gap:.75rem;align-items:flex-start;background:#fffbeb;border:1.5px solid #fcd34d;border-radius:12px;padding:1rem 1.25rem;color:#92400e}.detail-negotiable-banner svg{flex-shrink:0;margin-top:1px}.detail-negotiable-title{font-weight:700;font-size:.9rem;margin:0 0 .2rem}.detail-negotiable-sub{font-size:.85rem;margin:0;line-height:1.5}.detail-section{display:flex;flex-direction:column;gap:.75rem}.detail-section-title{font-size:1.1rem;font-weight:700;color:var(--dark);margin:0;padding-bottom:.5rem;border-bottom:2px solid var(--sky-xlight)}.detail-reviews-count{font-size:.95rem;font-weight:500;color:var(--muted)}.detail-description{font-size:.95rem;color:var(--mid);line-height:1.7;margin:0;white-space:pre-wrap}.detail-cat-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--sky-light);border-radius:10px;overflow:hidden}.detail-cat-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;gap:1rem;border-bottom:1px solid var(--sky-light)}.detail-cat-row:last-child{border-bottom:none}.detail-cat-row:nth-child(2n){background:var(--sky-xlight)}.detail-cat-label{font-size:.88rem;color:var(--muted);font-weight:500}.detail-cat-value{font-size:.88rem;color:var(--dark);font-weight:600;text-align:right}.detail-equip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.detail-equip-chip{background:var(--sky-xlight);border:1px solid var(--sky-light);color:var(--mid);font-size:.83rem;font-weight:500;padding:.3rem .75rem;border-radius:20px}.detail-review-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.1rem;border:1.5px solid var(--sky-dark);border-radius:8px;background:transparent;color:var(--sky-dark);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s;align-self:flex-start}.detail-review-btn:hover:not(:disabled){background:var(--sky-xlight)}.detail-review-btn:disabled{opacity:.5;cursor:not-allowed}.detail-reviews-empty{font-size:.9rem;color:var(--muted);font-style:italic;margin:0}.detail-reviews-list{gap:1.25rem}.detail-reviews-list,.review-item{display:flex;flex-direction:column}.review-item{background:var(--sky-xlight);border:1px solid var(--sky-light);border-radius:12px;padding:1rem 1.25rem;gap:.6rem}.review-header{gap:.75rem}.review-avatar,.review-header{display:flex;align-items:center}.review-avatar{width:38px;height:38px;min-width:38px;border-radius:50%;background:var(--sky-dark);color:var(--white);font-size:.85rem;font-weight:700;justify-content:center}.review-meta{display:flex;flex-direction:column;gap:2px;flex:1}.review-name{font-size:.88rem;font-weight:600;color:var(--dark)}.review-date{font-size:.78rem;color:var(--muted)}.review-stars{display:flex;gap:2px;margin-left:auto}.review-comment{font-size:.88rem;color:var(--mid);line-height:1.6;margin:0}.detail-report-wrap{display:flex;justify-content:center;padding-top:.5rem}.detail-report-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border:1.5px solid #ef4444;border-radius:8px;background:transparent;color:#ef4444;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.detail-report-btn:hover:not(:disabled){background:#fff0f0}.detail-report-btn:disabled{opacity:.5;cursor:not-allowed}.detail-bottombar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;background:var(--white);border-top:1.5px solid var(--sky-light);box-shadow:0 -4px 16px rgba(0,0,0,.07)}.detail-bottombar-msg{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.25rem;border:1.5px solid var(--sky-dark);border-radius:10px;background:transparent;color:var(--sky-dark);font-size:.92rem;font-weight:600;text-decoration:none;transition:background .15s;white-space:nowrap}.detail-bottombar-msg:hover{background:var(--sky-xlight)}.detail-bottombar-cta{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--sky-dark);color:var(--white);border-radius:10px;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .15s,opacity .15s;white-space:nowrap}.detail-bottombar-cta:hover{background:var(--sky)}.detail-not-found{min-height:70vh;display:flex;align-items:center;justify-content:center;padding:2rem}.detail-not-found-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--muted)}.detail-not-found-inner h1{font-size:1.5rem;font-weight:700;color:var(--dark);margin:0}.detail-not-found-inner p{font-size:.95rem;margin:0}.detail-not-found-btn{display:inline-flex;align-items:center;padding:.65rem 1.5rem;background:var(--sky-dark);color:var(--white);border-radius:8px;font-weight:600;text-decoration:none;font-size:.9rem;margin-top:.5rem;transition:background .15s}.detail-not-found-btn:hover{background:var(--sky)}@media (max-width:600px){.detail-gallery{aspect-ratio:4/3}.detail-body{padding:0 .9rem 2rem;gap:1.5rem}.detail-name{font-size:1.25rem}.detail-price-amount{font-size:1.4rem}.detail-topbar{padding:.6rem .9rem}.detail-bottombar{padding:.75rem .9rem;gap:.5rem}.detail-bottombar-msg{padding:.65rem .9rem;font-size:.85rem}.detail-bottombar-cta{font-size:.88rem;padding:.65rem 1rem}.detail-gallery-arrow{width:34px;height:34px}.detail-pricing-card{padding:1rem}}@media (min-width:860px){.detail-gallery{max-height:520px;aspect-ratio:unset}}.search-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--white);border-bottom:1px solid var(--sky-light)}.search-topbar-title{font-size:1rem;font-weight:700;color:var(--dark);margin:0}.search-layout{max-width:1280px;margin:0 auto;padding:1.5rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.25rem}.search-bar-row{display:flex;align-items:center;gap:.75rem}.search-field-wrap{flex:1;position:relative;display:flex;align-items:center}.search-field-icon{position:absolute;left:14px;color:var(--muted);pointer-events:none}.search-field-input{width:100%;padding:.75rem 2.5rem;border:1.5px solid var(--sky-light);border-radius:12px;font-size:.95rem;font-family:inherit;color:var(--dark);background:var(--white);outline:none;transition:border-color .15s,box-shadow .15s}.search-field-input:focus{border-color:var(--sky-dark);box-shadow:0 0 0 3px rgba(10,61,98,.1)}.search-field-input::-moz-placeholder{color:var(--muted)}.search-field-input::placeholder{color:var(--muted)}.search-field-clear{position:absolute;right:10px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--sky-xlight);border-radius:50%;cursor:pointer;color:var(--muted);transition:background .15s,color .15s}.search-field-clear:hover{background:var(--sky-light);color:var(--dark)}.search-filter-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1rem;border:1.5px solid var(--sky-light);border-radius:12px;background:var(--white);font-size:.88rem;font-weight:600;color:var(--mid);cursor:pointer;white-space:nowrap;font-family:inherit;position:relative;transition:border-color .15s,background .15s}.search-filter-btn--active,.search-filter-btn:hover{border-color:var(--sky-dark)}.search-filter-btn--active{background:var(--sky-xlight);color:var(--sky-dark)}.search-filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:99px;background:var(--sky-dark);color:#fff;font-size:.7rem;font-weight:700;line-height:1;margin-left:2px}.search-chips-strip{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.search-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:99px;background:var(--sky-xlight);border:1px solid var(--sky-light);font-size:.8rem;font-weight:500;color:var(--sky-dark)}.search-chip--more{background:var(--sky-light);color:var(--mid);font-weight:600}.search-chip-x{display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:0;color:var(--muted);margin-left:2px;transition:color .1s}.search-chip-x:hover{color:#e11d48}.search-chips-reset{margin-left:auto;background:none;border:none;font-size:.8rem;font-weight:600;color:var(--sky-dark);cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .1s;font-family:inherit}.search-chips-reset:hover{background:var(--sky-xlight)}.search-location-tags{display:flex;flex-direction:column;gap:.5rem;padding:.25rem 0 .5rem}.search-location-group{display:flex;flex-direction:column;gap:.35rem}.search-location-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.search-location-chips{display:flex;flex-wrap:wrap;gap:.4rem}.search-location-chip{padding:.25rem .75rem;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;font-size:.8rem;color:var(--dark);cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.search-location-chip:hover{border-color:#1b3a5c;background:#eef2f7}.search-location-chip--active{background:#1b3a5c;border-color:#1b3a5c;color:#fff;font-weight:600}.filter-location-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.filter-chip--sm{padding:.2rem .6rem;font-size:.75rem}.search-results{display:flex;flex-direction:column;gap:1.25rem}.search-results-count{font-size:.88rem;color:var(--muted);margin:0}.search-results-count strong{color:var(--dark)}.search-results-count--loading{font-style:italic}.search-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 1rem;text-align:center;color:var(--muted)}.search-empty-title{font-size:1.2rem;font-weight:700;color:var(--dark);margin:0}.search-empty-sub{font-size:.9rem;margin:0;max-width:340px;line-height:1.6}.search-error{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;text-align:center;color:var(--muted)}.res-page{min-height:100vh;background:var(--sky-xlight);padding-bottom:3rem}.res-page-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--white);border-bottom:1px solid var(--sky-light);position:sticky;top:0;z-index:30}.res-page-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--sky-light);color:var(--dark);text-decoration:none;transition:background .15s}.res-page-back:hover{background:var(--sky-xlight)}.res-page-title{font-size:1.1rem;font-weight:700;color:var(--dark);margin:0}.res-form-wrap{max-width:560px;margin:1.5rem auto 0;padding:0 1rem;display:flex;flex-direction:column;gap:1rem}.res-form-apt-card{background:var(--white);border:1px solid var(--sky-light);border-radius:16px;padding:1.25rem 1.25rem 1rem;text-align:center}.res-form-apt-name{font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:.2rem}.res-form-apt-loc{font-size:.875rem;color:var(--muted);margin-bottom:.6rem}.res-form-apt-price{font-size:1.25rem;font-weight:700;color:var(--sky-dark)}.res-form-apt-suffix{font-size:.875rem;font-weight:500;color:var(--muted);margin-left:2px}.res-visit-fee-badge{display:inline-block;background:var(--sky-xlight);color:var(--sky-dark);font-weight:600;font-size:.9rem;border-radius:20px;padding:.3rem .9rem;margin-top:.4rem}.res-visit-info{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:.875rem 1rem;display:flex;gap:.6rem;align-items:flex-start;font-size:.875rem;color:#92400e}.res-visit-info svg{flex-shrink:0;margin-top:2px}.res-visit-info p{margin:0;line-height:1.5}.res-form{display:flex;flex-direction:column;gap:1rem}.res-form-section{background:var(--white);border:1px solid var(--sky-light);border-radius:14px;padding:1rem 1.125rem}.res-form-label{font-size:.85rem;font-weight:600;color:var(--mid);margin-bottom:.5rem;display:block}.res-form-input{width:100%;padding:.6rem .875rem;border:1px solid var(--sky-light);border-radius:10px;font-size:.95rem;color:var(--dark);background:var(--white);transition:border-color .15s;box-sizing:border-box}.res-form-input:focus{outline:none;border-color:var(--sky-dark)}.res-form-textarea{width:100%;padding:.6rem .875rem;border:1px solid var(--sky-light);border-radius:10px;font-size:.95rem;color:var(--dark);background:var(--white);resize:vertical;font-family:inherit;transition:border-color .15s;box-sizing:border-box}.res-form-textarea:focus{outline:none;border-color:var(--sky-dark)}.res-form-hint{font-size:.78rem;color:var(--muted);margin-top:.35rem;line-height:1.4}.res-form-dates-summary{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.9rem;color:var(--dark);margin-bottom:.75rem}.res-form-dates-reset{background:none;border:none;color:var(--sky-dark);font-size:.8rem;font-weight:600;cursor:pointer;padding:0 .25rem;text-decoration:underline}.res-form-dates-hint{font-size:.82rem;color:var(--muted);margin-bottom:.5rem;font-style:italic}.res-form-guests-row{display:flex;align-items:center;justify-content:space-between}.res-form-guests-ctrl{display:flex;align-items:center;gap:.75rem}.res-form-guests-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--sky-light);background:var(--white);color:var(--dark);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.res-form-guests-btn:hover:not(:disabled){background:var(--sky-xlight);border-color:var(--sky-dark)}.res-form-guests-btn:disabled{opacity:.35;cursor:not-allowed}.res-form-guests-count{font-size:1.1rem;font-weight:600;color:var(--dark);min-width:1.5rem;text-align:center}.res-visit-slots{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.res-visit-slot{padding:.4rem .75rem;border:1.5px solid var(--sky-light);border-radius:20px;background:var(--white);color:var(--dark);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.res-visit-slot:hover{border-color:var(--sky-dark);background:var(--sky-xlight)}.res-visit-slot--active{background:var(--sky-dark);color:#fff;border-color:var(--sky-dark)}.res-form-price-recap{background:var(--white);border:1px solid var(--sky-light);border-radius:14px;padding:1rem 1.125rem;display:flex;flex-direction:column;gap:.5rem}.res-form-price-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--dark)}.res-form-price-discount{color:#16a34a}.res-form-price-divider{border-top:1px solid var(--sky-light);margin:.25rem 0}.res-form-price-total{font-weight:700;font-size:1rem;color:var(--sky-dark)}.res-form-cashback-hint{font-size:.78rem;color:var(--muted);line-height:1.4}.res-form-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:10px;padding:.75rem 1rem;font-size:.875rem;color:#b91c1c}.res-form-submit{width:100%;justify-content:center;font-size:1rem}.res-form-submit:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.res-form-spinner{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;margin-right:.5rem}@keyframes spin{to{transform:rotate(1turn)}}.res-form-legal{font-size:.78rem;color:var(--muted);text-align:center;line-height:1.5}.res-form-link{color:var(--sky-dark);text-decoration:underline}.booking-cal{background:var(--white);border-radius:12px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-top:.5rem}.booking-cal__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .5rem .5rem}.booking-cal__title{font-size:.95rem;font-weight:700;color:var(--dark)}.booking-cal__nav{background:none;border:none;font-size:1.4rem;color:var(--sky-dark);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.booking-cal__nav:hover{background:var(--sky-xlight)}.booking-cal__weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:0 .25rem}.booking-cal__weekday{text-align:center;font-size:.72rem;font-weight:600;color:var(--muted);padding:.3rem 0}.booking-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);padding:0 .25rem .5rem;gap:2px}.booking-cal__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.82rem;border-radius:50%;transition:background .12s,color .12s;cursor:default}.booking-cal__day--empty{opacity:0;pointer-events:none}.booking-cal__day--available{cursor:pointer;color:var(--dark)}.booking-cal__day--available:hover{background:var(--sky-xlight)}.booking-cal__day--available:focus-visible{outline:2px solid var(--sky-dark);outline-offset:1px}.booking-cal__day--disabled{color:#cbd5e1;cursor:not-allowed;text-decoration:line-through;opacity:.6;pointer-events:none}.booking-cal__day--today{font-weight:700;border:1.5px solid var(--sky-dark)}.booking-cal__day--end,.booking-cal__day--start{background:var(--sky-dark);color:#fff;font-weight:700}.booking-cal__day--range{background:var(--sky-xlight);border-radius:0;color:var(--sky-dark)}.booking-cal__day--hover-end{background:var(--sky-light)}.booking-cal__legend{display:flex;gap:1rem;padding:.5rem .75rem .75rem;flex-wrap:wrap}.booking-cal__legend-item{display:flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--muted)}.booking-cal__legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.booking-cal__legend-dot--selected{background:var(--sky-dark)}.booking-cal__legend-dot--booked{background:#cbd5e1}.booking-cal__legend-dot--past{background:#e2e8f0;border:1px solid #cbd5e1}.res-confirm-wrap{max-width:500px;margin:2rem auto 0;padding:0 1rem 3rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.res-confirm-icon{width:72px;height:72px;background:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:1rem}.res-confirm-title{font-size:1.4rem;font-weight:800;color:var(--dark);text-align:center;margin:0}.res-confirm-subtitle{font-size:.9rem;color:var(--muted);text-align:center;margin:0;line-height:1.6;max-width:380px}.res-confirm-card{width:100%;background:var(--white);border:1px solid var(--sky-light);border-radius:16px;padding:1.25rem;display:flex;flex-direction:column;gap:.625rem}.res-confirm-apt-name{font-size:1rem;font-weight:700;color:var(--dark);text-align:center}.res-confirm-apt-ville{font-size:.85rem;color:var(--muted);text-align:center}.res-confirm-divider{border-top:1px solid var(--sky-light);margin:.25rem 0}.res-confirm-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;font-size:.875rem;color:var(--dark)}.res-confirm-row-label{color:var(--muted);flex-shrink:0}.res-confirm-row-value{font-weight:500;text-align:right}.res-confirm-row--total{font-weight:800;font-size:1.05rem;color:var(--sky-dark)}.res-confirm-code{background:var(--sky-xlight);border-radius:10px;padding:.6rem .875rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem}.res-confirm-code-label{font-size:.78rem;color:var(--muted)}.res-confirm-code-value{font-size:1rem;font-weight:800;color:var(--sky-dark);letter-spacing:.08em}.res-confirm-message{display:flex;flex-direction:column;gap:.25rem}.res-confirm-message-text{font-size:.875rem;color:var(--dark);margin:0;line-height:1.5;white-space:pre-wrap}.res-confirm-status{font-size:.8rem;color:var(--muted);text-align:center;padding-top:.25rem}.res-confirm-status--confirmed{color:#16a34a;font-weight:600}.res-confirm-status--cancelled{color:#dc2626;font-weight:600}.res-confirm-actions{width:100%;display:flex;flex-direction:column;gap:.75rem;align-items:center}.res-confirm-pay-btn{width:100%;justify-content:center;font-size:1rem}.res-confirm-pay-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.res-confirm-pay-note{font-size:.78rem;color:var(--muted);text-align:center;line-height:1.5;padding:0 .5rem}.res-confirm-profile-btn{width:100%;justify-content:center}.res-confirm-home-link{font-size:.85rem;color:var(--muted);text-decoration:none}.res-confirm-home-link:hover{color:var(--sky-dark);text-decoration:underline}.search-error-title{font-size:1rem;font-weight:700;color:#e11d48;margin:0}.pay-panel{width:100%;flex-direction:column;gap:1rem;padding:1.5rem 1.25rem;border-radius:14px;border:1px solid var(--sky-light);background:var(--white);text-align:center}.pay-panel,.pay-panel-icon{display:flex;align-items:center}.pay-panel-icon{width:64px;height:64px;border-radius:50%;justify-content:center;flex-shrink:0}.pay-panel-icon--success{background:#16a34a}.pay-panel-icon--error{background:#dc2626}.pay-panel-title{font-size:1.1rem;font-weight:700;color:var(--dark);margin:0}.pay-panel-subtitle{font-size:.9rem;color:var(--mid);margin:0;line-height:1.6}.pay-panel-hint{font-size:.78rem;color:var(--muted);margin:0}@keyframes pay-spin{to{transform:rotate(1turn)}}.pay-panel-spinner{width:48px;height:48px;border:4px solid var(--sky-light);border-top-color:var(--sky-dark);border-radius:50%;animation:pay-spin .9s linear infinite;flex-shrink:0}.pay-panel-btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:pay-spin .9s linear infinite;vertical-align:middle;margin-right:6px}.pay-panel-actions{width:100%;display:flex;flex-direction:column;gap:.75rem}.pay-panel-profile-btn,.pay-panel-retry-btn{width:100%;justify-content:center}.pay-panel--input{text-align:left}.pay-panel--input .pay-panel-title{align-self:flex-start}.pay-panel-field{width:100%;display:flex;flex-direction:column;gap:.4rem}.pay-panel-label{font-size:.85rem;font-weight:600;color:var(--dark)}.pay-panel-field-error{font-size:.78rem;color:#dc2626;margin:0}.pay-panel-field-hint{font-size:.75rem;color:var(--muted);margin:0}.pay-panel-cashback{width:100%;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.pay-panel-cashback-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--dark)}.pay-panel-cashback-check{width:16px;height:16px;accent-color:var(--sky-dark);flex-shrink:0;cursor:pointer}.pay-panel-cashback-text{line-height:1.4}.pay-panel-cashback-amount{color:#16a34a}.pay-panel-cashback-detail{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--mid);flex-wrap:wrap}.pay-panel-cashback-arrow{color:var(--muted)}.pay-panel-submit-error{width:100%;display:flex;align-items:flex-start;gap:.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.7rem .875rem;font-size:.82rem;color:#b91c1c;line-height:1.5}.pay-panel-submit-error svg{flex-shrink:0;margin-top:1px}.pay-panel-submit-btn{width:100%;justify-content:center;font-size:1rem;gap:.5rem}.pay-panel-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.pay-panel-secure-note{font-size:.72rem;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:.3rem;margin:0;line-height:1.4}.pay-panel--error,.pay-panel--processing,.pay-panel--success{padding:2rem 1.25rem;gap:1.25rem}@media (max-width:480px){.pay-panel{border-radius:10px;padding:1.25rem 1rem}}.search-error-detail{font-size:.82rem;margin:0;max-width:380px;word-break:break-word}.search-retry-btn{margin-top:.5rem;padding:.6rem 1.25rem;border-radius:8px;background:var(--sky-dark);color:var(--white);border:none;font-size:.88rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.search-retry-btn:hover{background:var(--sky)}.search-filters-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end}.search-filters-backdrop{position:absolute;inset:0;background:rgba(12,26,46,.4);animation:backdrop-in .2s ease}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.search-filters-panel{position:relative;z-index:1;width:100%;max-width:560px;max-height:90vh;background:var(--white);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:sheet-up .25s ease;margin:0 auto}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.search-filters-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--sky-light)}.search-filters-title{font-size:1.05rem;font-weight:700;color:var(--dark);margin:0}.search-filters-close{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--sky-xlight);border:none;cursor:pointer;color:var(--mid);transition:background .15s}.search-filters-close:hover{background:var(--sky-light)}.search-filters-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.search-filters-footer{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--sky-light)}.search-filters-reset{flex:1;padding:.75rem;border-radius:10px;border:1.5px solid var(--sky-light);background:var(--white);font-size:.9rem;font-weight:600;color:var(--mid);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s}.search-filters-reset:hover{border-color:var(--sky);background:var(--sky-xlight)}.search-filters-apply{flex:2;padding:.75rem;border-radius:10px;border:none;background:var(--sky-dark);color:var(--white);font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s}.search-filters-apply:hover{background:var(--sky)}.filter-section{display:flex;flex-direction:column;gap:.6rem}.filter-label{font-size:.88rem;font-weight:700;color:var(--dark);display:block}.filter-label-hint{font-weight:400;color:var(--muted);font-size:.8rem}.filter-input-wrap{display:flex;flex-direction:column;gap:.25rem}.filter-date-label{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.filter-input{width:100%;padding:.65rem .9rem;border:1.5px solid var(--sky-light);border-radius:10px;font-size:.9rem;font-family:inherit;color:var(--dark);background:var(--white);outline:none;transition:border-color .15s}.filter-input:focus{border-color:var(--sky-dark)}.filter-date-input{cursor:pointer}.filter-dates-row,.filter-price-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.filter-note{font-size:.78rem;color:var(--muted);margin:0;line-height:1.5}.filter-stepper{display:inline-flex;align-items:center;gap:1rem;border:1.5px solid var(--sky-light);border-radius:10px;padding:.4rem .75rem;width:-moz-fit-content;width:fit-content}.filter-stepper-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--sky-light);background:var(--white);color:var(--sky-dark);cursor:pointer;transition:background .15s,border-color .15s}.filter-stepper-btn:hover:not(:disabled){background:var(--sky-xlight);border-color:var(--sky-dark)}.filter-stepper-btn:disabled{opacity:.35;cursor:default}.filter-stepper-val{font-size:1.1rem;font-weight:700;color:var(--dark);min-width:1.5rem;text-align:center}.filter-chip-group{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip{padding:.45rem 1rem;border-radius:99px;border:1.5px solid var(--sky-light);background:var(--white);font-size:.85rem;font-weight:500;color:var(--mid);cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,color .15s}.filter-chip:hover{border-color:var(--sky-dark);color:var(--sky-dark)}.filter-chip--active{border-color:var(--sky-dark);background:var(--sky-dark);color:var(--white)}.filter-chip--active:hover{background:var(--sky);border-color:var(--sky)}@media (max-width:600px){.search-layout{padding:1rem .9rem 3rem}.search-topbar{padding:.6rem .9rem}.search-bar-row{flex-wrap:wrap}.search-filter-btn{width:100%;justify-content:center}.search-filters-panel{max-height:95vh;border-radius:16px 16px 0 0}.filter-dates-row,.filter-price-row{grid-template-columns:1fr}.search-results-count{font-size:.82rem}}@media (min-width:601px){.search-filters-panel{max-height:80vh}.search-filters-overlay{align-items:center}.search-filters-panel{border-radius:20px;animation:modal-in .2s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}}.res-list-container{max-width:800px;margin:0 auto;padding:0 1rem 3rem}.res-list-title{font-size:1.6rem;font-weight:800;color:var(--dark);margin-bottom:1.25rem;letter-spacing:-.5px}.res-list-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.res-list-filter-chip{padding:.35rem 1rem;border-radius:999px;border:1.5px solid var(--sky-light);background:var(--white);color:var(--mid);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s}.res-list-filter-chip:hover{border-color:var(--sky-dark);color:var(--sky-dark)}.res-list-filter-chip--active{background:var(--sky-dark);color:var(--white);border-color:var(--sky-dark)}.res-list-grid{display:flex;flex-direction:column;gap:.75rem}.res-list-card{display:flex;gap:1rem;background:var(--white);border:1.5px solid var(--sky-light);border-radius:14px;padding:1rem;transition:box-shadow .15s}.res-list-card:hover{box-shadow:0 4px 16px rgba(10,61,98,.08)}.res-list-card-img{flex-shrink:0;width:80px;height:80px;border-radius:10px;background:var(--sky-xlight);overflow:hidden;display:flex;align-items:center;justify-content:center}.res-list-card-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.res-list-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.res-list-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.res-list-card-name{font-weight:700;font-size:.95rem;color:var(--dark);margin:0;line-height:1.3}.res-list-card-ville{font-size:.8rem;color:var(--muted);margin:0}.res-list-card-dates{font-size:.82rem;color:var(--mid);margin:0}.res-list-card-footer{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.res-list-card-price{font-weight:700;font-size:.95rem;color:var(--dark)}.res-list-card-code{font-size:.75rem;font-weight:600;color:var(--sky-dark);background:var(--sky-xlight);padding:2px 8px;border-radius:6px}.res-list-card-actions{display:flex;align-items:center;gap:.6rem;margin-top:.25rem}.res-list-cancel-btn{padding:.4rem .9rem;border-radius:8px;border:1.5px solid #fca5a5;background:transparent;color:#dc2626;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.res-list-cancel-btn:hover{background:#fee2e2}.res-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.res-list-error-banner{background:#fee2e2;color:#dc2626;border-radius:10px;padding:.75rem 1rem;font-size:.88rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.res-list-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.res-list-modal{background:var(--white);border-radius:18px;padding:2rem 1.75rem;max-width:420px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.res-list-modal-icon{width:52px;height:52px;background:#fee2e2;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.res-list-modal-title{font-size:1.15rem;font-weight:800;color:var(--dark);margin:0}.res-list-modal-body{font-size:.9rem;color:var(--mid);line-height:1.6;margin:0}.res-list-modal-actions{display:flex;gap:.75rem;width:100%;margin-top:.5rem}@media (max-width:500px){.res-list-card{flex-direction:column}.res-list-card-img{width:100%;height:140px}.res-list-card-header,.res-list-modal-actions{flex-direction:column}}.profile-page-title{font-size:1.5rem;font-weight:800;color:var(--dark);letter-spacing:-.5px;margin:0 0 1.25rem}.profile-layout{display:flex;gap:1.5rem;align-items:flex-start}.profile-main{flex:1;min-width:0}.profile-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;gap:1.25rem}.profile-card{background:var(--white);border:1.5px solid var(--sky-light);border-radius:16px;padding:1.5rem}.profile-card-title{font-size:1.05rem;font-weight:700;color:var(--dark);margin:0 0 1rem}.profile-form-hint{font-size:.82rem;color:var(--muted);margin:-.5rem 0 1rem}.profile-form-row{display:flex;gap:1rem}.profile-form-row .profile-form-field{flex:1}.profile-form-field{margin-bottom:1.1rem}.profile-form-label{display:block;font-size:.82rem;font-weight:600;color:var(--mid);margin-bottom:.4rem}.profile-form-input{width:100%;padding:.65rem .9rem;border:1.5px solid var(--sky-light);border-radius:10px;font-size:.92rem;color:var(--dark);font-family:inherit;outline:none;transition:border-color .15s}.profile-form-input:focus{border-color:var(--sky-dark)}.profile-form-input:disabled{background:var(--sky-xlight);color:var(--muted);cursor:not-allowed}.profile-form-note{display:block;margin-top:.35rem;font-size:.78rem;color:var(--sky-dark)}.profile-gender-row{display:flex;gap:.6rem}.profile-gender-chip{flex:1;padding:.55rem .5rem;border:1.5px solid var(--sky-light);border-radius:10px;background:var(--white);color:var(--mid);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.profile-gender-chip:hover{background:var(--sky-xlight)}.profile-gender-chip--active{background:var(--sky-dark);border-color:var(--sky-dark);color:var(--white)}.profile-form-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:8px}.profile-form-error,.profile-form-success{padding:.6rem .85rem;font-size:.85rem;margin:0 0 1rem}.profile-form-success{background:var(--sky-xlight);color:var(--sky-dark);border:1px solid var(--sky-light);border-radius:8px}.profile-save-btn{width:100%;justify-content:center}.profile-quicklink{display:flex;align-items:center;gap:.6rem;padding:.6rem 0;color:var(--mid);font-size:.9rem;font-weight:500;text-decoration:none;border-bottom:1px solid var(--sky-light);transition:color .15s}.profile-quicklink:last-child{border-bottom:none}.profile-quicklink:hover{color:var(--sky-dark)}.profile-signout-btn{width:100%;padding:.7rem;border:1.5px solid #fecaca;border-radius:10px;background:transparent;color:#dc2626;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.profile-signout-btn:hover{background:#fef2f2}.profile-wallet-preview{display:block;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}.profile-wallet-preview:hover{box-shadow:0 8px 24px rgba(27,42,74,.12);transform:translateY(-2px)}.profile-wallet-preview-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.profile-wallet-tier-badge{display:inline-block;padding:.25rem .7rem;background:var(--sky-light);color:var(--sky-dark);border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.profile-wallet-balance{font-size:1.6rem;font-weight:800;color:var(--dark);margin:.75rem 0 .25rem}.profile-wallet-sub{font-size:.8rem;color:var(--muted);margin:0 0 .85rem}.profile-wallet-link{font-size:.85rem;font-weight:700;color:var(--sky-dark)}.favorites-page,.wallet-layout{display:flex;flex-direction:column;gap:1.25rem}.wallet-columns{display:flex;gap:1.5rem;align-items:flex-start}.wallet-col-left{width:360px;flex-shrink:0;display:flex;flex-direction:column;gap:1.25rem}.wallet-col-right{flex:1;min-width:0}.wallet-hero{border-radius:20px;padding:1.75rem;color:var(--white)}.wallet-hero--level-1{background:linear-gradient(135deg,var(--sky) 0,var(--sky-dark) 100%)}.wallet-hero--level-2{background:linear-gradient(135deg,var(--sky-dark) 0,#082c45 100%)}.wallet-hero--level-3{background:linear-gradient(135deg,#082c45 0,var(--dark) 100%)}.wallet-hero--level-4{background:linear-gradient(135deg,var(--dark) 0,#050d18 100%)}.wallet-hero-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.wallet-hero-tier{font-size:1.3rem;font-weight:800}.wallet-hero-count{font-size:.85rem;font-weight:600;opacity:.9}.wallet-hero-tagline{font-size:.9rem;opacity:.85;margin:.5rem 0 1rem}.wallet-hero-progress-track{height:8px;border-radius:999px;background:hsla(0,0%,100%,.25);overflow:hidden}.wallet-hero-progress-fill{height:100%;background:var(--white);border-radius:999px;transition:width .3s}.wallet-hero-progress-label{display:block;margin-top:.5rem;font-size:.82rem;opacity:.95}.wallet-hero-progress-label--max{font-weight:700}.wallet-balance-card{background:var(--sky-xlight)}.wallet-balance-amount{font-size:2rem;font-weight:800;color:var(--sky-dark);margin:0 0 .5rem}.wallet-balance-hint{font-size:.82rem;color:var(--mid);margin:0 0 1rem}.wallet-balance-status{font-size:.82rem;font-weight:600;color:var(--muted);padding:.6rem .85rem;background:var(--white);border-radius:8px;margin-bottom:1rem}.wallet-balance-status--ok{color:var(--sky-dark)}.wallet-balance-howto{font-size:.8rem;color:var(--muted);margin:0}.wallet-benefits-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.wallet-benefits-list li{display:flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--dark)}.wallet-benefits-list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sky-dark);flex-shrink:0}.wallet-benefits-hint{font-size:.8rem;color:var(--muted);margin:.85rem 0 0}.wallet-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.wallet-history-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--sky-light)}.wallet-history-row:last-child{border-bottom:none}.wallet-history-row-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.wallet-history-desc{font-size:.9rem;font-weight:600;color:var(--dark)}.wallet-history-date{font-size:.78rem;color:var(--muted)}.wallet-history-amount{flex-shrink:0;font-size:.95rem;font-weight:700;color:var(--sky-dark)}.wallet-history-amount--spend{color:#dc2626}.wallet-history-empty{text-align:center;padding:2rem 1rem;color:var(--muted)}.wallet-history-empty p{font-weight:600;color:var(--mid);margin:0 0 .35rem}.wallet-history-empty span{font-size:.85rem}@media (max-width:859px){.profile-layout{flex-direction:column}.profile-sidebar{width:100%;min-width:0}.profile-form-row{gap:0}.profile-form-row,.wallet-columns{flex-direction:column}.wallet-col-left{width:100%}.profile-wallet-preview-top{flex-wrap:wrap;gap:.4rem}.profile-wallet-balance{font-size:1.3rem;word-break:break-word}.profile-wallet-sub{word-break:break-word}.profile-gender-row{flex-wrap:wrap}.profile-gender-chip{min-width:5rem}.profile-form-input{box-sizing:border-box;max-width:100%}.profile-form-error,.profile-form-hint,.profile-form-note,.profile-form-success{word-break:break-word}}.app-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--sky-light);color:var(--sky-dark);font-size:.68rem;font-weight:700;line-height:18px}.msg-app-main{flex-direction:column;padding:0}.msg-app-main,.msg-shell{display:flex;min-height:0}.msg-shell{flex:1;background:var(--white);border-top:1px solid var(--sky-light)}.msg-list-pane{width:360px;flex-shrink:0;border-right:1px solid var(--sky-light);display:flex;flex-direction:column;min-height:0;overflow-y:auto}.msg-thread-pane{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--sky-xlight)}.msg-list{list-style:none;margin:0;padding:.5rem}.msg-list-item{display:flex;align-items:flex-start;gap:.7rem;padding:.7rem;border-radius:12px;text-decoration:none;color:inherit;transition:background .15s}.msg-list-item:hover{background:var(--sky-xlight)}.msg-list-item--active{background:var(--sky-light)}.msg-list-avatar{flex-shrink:0;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sky-dark);color:var(--white);font-size:.78rem;font-weight:700}.msg-list-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.msg-list-row-bottom,.msg-list-row-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.msg-list-name{font-size:.92rem;font-weight:600;color:var(--dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-list-time{font-size:.72rem;color:var(--muted);flex-shrink:0}.msg-list-preview{font-size:.82rem;color:var(--mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-list-unread{flex-shrink:0;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--sky-dark);color:var(--white);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.msg-list-empty{padding:2.5rem 1.5rem;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.6rem}.msg-list-empty p{margin:0;font-weight:600;color:var(--mid)}.msg-list-empty span{font-size:.85rem}.msg-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted);text-align:center;padding:2rem}.msg-empty-state h1{font-size:1.1rem;color:var(--dark);margin:.5rem 0 0}.msg-empty-state p{margin:0;font-size:.9rem}.msg-thread{flex:1;display:flex;flex-direction:column;min-height:0}.msg-thread-header{display:flex;align-items:center;gap:.65rem;padding:.85rem 1.25rem;background:var(--white);border-bottom:1px solid var(--sky-light);flex-shrink:0}.msg-thread-back{display:none;color:var(--mid)}.msg-thread-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--sky-dark);color:var(--white);font-size:.72rem;font-weight:700;flex-shrink:0}.msg-thread-name{font-size:.95rem;font-weight:600;color:var(--dark)}.msg-thread-body{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.35rem}.msg-thread-empty{margin:auto;color:var(--muted);font-size:.88rem;text-align:center}.msg-day-divider{display:flex;justify-content:center;margin:.75rem 0}.msg-day-divider span{background:var(--sky-light);color:var(--sky-dark);font-size:.72rem;font-weight:600;padding:.25rem .75rem;border-radius:999px}.msg-bubble-row{display:flex}.msg-bubble-row--mine{justify-content:flex-end}.msg-bubble{max-width:68%;padding:.55rem .85rem;border-radius:16px 16px 16px 4px;background:var(--white);border:1px solid var(--sky-light);display:flex;flex-direction:column;gap:.2rem}.msg-bubble-row--mine .msg-bubble{background:var(--sky-dark);border-color:var(--sky-dark);border-radius:16px 16px 4px 16px}.msg-bubble-text{margin:0;font-size:.9rem;line-height:1.4;color:var(--dark);white-space:pre-wrap;word-break:break-word}.msg-bubble-row--mine .msg-bubble-text{color:var(--white)}.msg-bubble-time{font-size:.68rem;color:var(--muted);align-self:flex-end}.msg-bubble-row--mine .msg-bubble-time{color:hsla(0,0%,100%,.7)}.msg-composer{flex-shrink:0;padding:.85rem 1.25rem;background:var(--white);border-top:1px solid var(--sky-light)}.msg-composer-error{margin:0 0 .5rem;font-size:.8rem;color:#b91c1c}.msg-composer-row{display:flex;align-items:flex-end;gap:.6rem}.msg-composer-input{flex:1;resize:none;max-height:120px;padding:.6rem .9rem;border:1.5px solid var(--sky-light);border-radius:18px;font-size:.9rem;font-family:inherit;color:var(--dark);outline:none;transition:border-color .15s}.msg-composer-input:focus{border-color:var(--sky-dark)}.msg-composer-send{width:38px;height:38px;flex-shrink:0;border:none;border-radius:50%;background:var(--sky-dark);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,opacity .15s}.msg-composer-send:hover:not(:disabled){background:var(--sky)}.msg-composer-send:disabled{opacity:.4;cursor:not-allowed}.msg-composer-counter{display:block;margin-top:.35rem;font-size:.7rem;color:var(--muted);text-align:right}.msg-composer-counter--over{color:#b91c1c;font-weight:600}.detail-contact-error{position:fixed;left:50%;bottom:80px;transform:translateX(-50%);z-index:60;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px;padding:.5rem 1rem;font-size:.82rem;white-space:nowrap}@media (max-width:859px){.msg-list-pane{width:100%;border-right:none}.msg-list-pane--hidden-mobile,.msg-thread-pane--hidden-mobile{display:none}.msg-thread-back{display:flex}.msg-bubble{max-width:82%}}.app-notif-btn,.app-notif-wrap{position:relative}.app-notif-badge{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#e53e3e;color:#fff;font-size:.62rem;font-weight:700;line-height:1;pointer-events:none}.app-notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:480px;overflow-y:auto;background:#fff;border:1px solid rgba(10,61,98,.12);border-radius:12px;box-shadow:0 8px 32px rgba(10,61,98,.16);z-index:200;display:flex;flex-direction:column}.app-notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid rgba(10,61,98,.1);position:sticky;top:0;background:#fff;z-index:1}@media (max-width:767px){.detail-bottombar{bottom:60px}.detail-main{padding-bottom:160px}}.app-notif-panel-title{font-size:.92rem;font-weight:700;color:#0a3d62;letter-spacing:.01em}.app-notif-panel-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;color:#6b7280;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.app-notif-panel-close:hover{background:rgba(10,61,98,.08);color:#0a3d62}.app-notif-empty,.app-notif-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:36px 20px;color:#9ca3af;font-size:.88rem}.app-notif-list{list-style:none;margin:0;padding:6px 0}.app-notif-item{display:flex;align-items:flex-start;gap:10px;padding:11px 16px;border-bottom:1px solid rgba(10,61,98,.06);transition:background .12s}.app-notif-item:last-child{border-bottom:none}.app-notif-item--clickable{cursor:pointer}.app-notif-item--clickable:hover,.app-notif-item--unread{background:rgba(10,61,98,.04)}.app-notif-unread-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#0a3d62;margin-top:5px}.app-notif-item-content{display:flex;flex-direction:column;gap:3px;min-width:0}.app-notif-item-title{font-size:.84rem;font-weight:600;color:#1b2a4a;line-height:1.35}.app-notif-item-body{font-size:.8rem;color:#4b5563;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-notif-item-time{font-size:.73rem;color:#9ca3af;margin-top:2px}@media (max-width:480px){.app-notif-panel{width:calc(100vw - 32px);right:-8px}}@media (min-width:860px){.msg-thread-back{display:none}}@media (min-width:768px){.md\:hidden{display:none}.md\:pb-0{padding-bottom:0}}