@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');.app-shell{background:#fffdf8}.reference-header{height:55px}.reference-header .app-brand{display:grid;gap:0;font-size:25px;letter-spacing:3px}.reference-header .app-brand small{font:700 9px DM Sans;letter-spacing:.5px;color:#233052}.reference-greeting{font-family:Georgia,serif!important;font-size:30px!important;line-height:1.03!important;letter-spacing:-1.6px!important;margin:17px 0 18px!important}.round-cats{display:flex;overflow:auto;gap:16px;margin:19px 0 20px;scrollbar-width:none}.round-cats button{border:0;background:transparent;flex:0 0 54px;color:#0f1d45;font-size:10px}.round-cats i{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;margin-bottom:6px;background:#e6effc;font-size:23px;font-style:normal}.round-cats button:nth-child(2) i{background:#e6f1dc}.round-cats button:nth-child(3) i{background:#f7ead9}.round-cats button:nth-child(4) i{background:#e9e5fb}.round-cats button:nth-child(5) i{background:#f8e1e7}.round-cats button:nth-child(6) i{background:#ddf0eb}.round-cats button:last-child i{background:#fff;box-shadow:0 3px 12px #0f172a12}.reference-promo{height:256px;border-radius:18px;margin-bottom:25px;background:linear-gradient(90deg,#f2c69b00 10%,#f2c69b11 30%,#07153b10),url('https://images.unsplash.com/photo-1555400081-6d56af2e7a9c?auto=format&fit=crop&w=1100&q=85') center/cover}.reference-promo>div{padding:29px}.reference-promo h2{font-family:Georgia,serif;font-size:39px;line-height:.95;letter-spacing:-2.3px}.reference-promo p{color:#12204a;font-size:12px;margin-top:9px}.reference-promo button{background:#0c1b45;color:#fff;padding:12px 17px}.photo-cats{gap:11px}.photo-cats button{flex-basis:92px;text-align:left}.photo-cats img{width:92px;height:124px;border-radius:10px}.photo-cats b{font-size:11px}.photo-cats small{display:block;color:#718096;font-size:9px;margin-top:4px}.reference-products{margin:29px 0}.reference-products h2{font:800 26px Georgia,serif;letter-spacing:-1.2px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.reference-product{min-width:0;cursor:pointer}.reference-product>div{height:144px;position:relative}.reference-product img{width:100%;height:100%;object-fit:cover;border-radius:12px}.reference-product em{position:absolute;bottom:8px;left:8px;background:#d8f6ab;color:#183118;border-radius:99px;padding:5px 8px;font:700 9px DM Sans;font-style:normal}.reference-product button{position:absolute;right:8px;top:8px;width:31px;height:31px;border:0;border-radius:50%;background:#fff;color:#0f1d45;font-size:18px}.reference-product>b{display:block;margin-top:8px;font:800 12px Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reference-product p{margin:3px 0;font:800 13px Manrope;color:#0f1d45}.reference-product small{display:flex;justify-content:space-between;color:#718096;font-size:9px}.reference-product small span{color:#e5a421}@media(min-width:700px){.app-main{max-width:440px}.app-nav{max-width:440px}.reference-promo{height:250px}}
.app-location{margin-left:auto!important;border:0!important;background:#f0edff!important;color:#5b4bff!important;border-radius:999px!important;padding:7px 9px!important;font:700 10px DM Sans!important}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.store-grid article{background:#0f172a;color:#fff;border-radius:15px;padding:14px;min-height:75px}.store-grid b,.store-grid span,.store-grid small{display:block}.store-grid b{font:800 12px Manrope}.store-grid span{font-size:10px;color:#d8d5ff;margin:7px 0}.store-grid small{font-size:9px;color:#bfe8c8}.security-strip{display:grid;gap:4px;background:#eaf8ed;border:1px solid #ccefd4;border-radius:14px;padding:14px}.security-strip b{font:800 13px Manrope;color:#146c2e}.security-strip span{font-size:10px;color:#39724a}.filters p{font:700 12px Manrope;margin:18px 0 8px}.filter-chips{display:flex;gap:7px;flex-wrap:wrap}.filter-chips button{border:1px solid #ded8ff;background:#f6f4ff;color:#5b4bff;border-radius:999px;padding:8px 10px;font:700 11px DM Sans}.filters select,.listing-form input,.listing-form select,.listing-form textarea{box-sizing:border-box;width:100%;border:1px solid #e2e8f0;border-radius:11px;padding:12px;font:12px DM Sans;background:#fff}.filters .app-primary{margin-top:20px}.listing-form{max-height:85svh;overflow:auto}.listing-form label{display:grid;gap:6px;font:700 11px Manrope;color:#334155;margin:12px 0}.listing-form textarea{height:80px;resize:vertical}.listing-form .app-primary{margin:12px 0 0}.listing-form h1{margin-bottom:12px}
.app-shell{background:#fffdf9}.app-promo{height:178px;border-radius:19px;overflow:hidden;margin:2px 0 28px;color:#fff;background:linear-gradient(90deg,#0d1a42 10%,#0d1a4260 68%),url('https://images.unsplash.com/photo-1516435605780-3cb402c39c98?auto=format&fit=crop&w=1000&q=85') center/cover}.app-promo>div{padding:22px}.app-promo span{font-size:9px;font-weight:800;letter-spacing:1.4px;color:#cfc8ff}.app-promo h2{font:800 28px/1 Manrope;letter-spacing:-1.5px;margin:7px 0}.app-promo p{font-size:12px;margin:0 0 13px;color:#f3f4ff}.app-promo button{border:0;border-radius:999px;background:#fff;color:#0f172a;padding:9px 13px;font:800 11px Manrope}.photo-cats button{flex-basis:82px;color:#0f172a}.photo-cats img{width:65px;height:65px;object-fit:cover;border-radius:15px;display:block;margin:auto auto 7px;box-shadow:0 7px 16px #0f172a18}.photo-cats b{font-size:10px}.auth{text-align:center}.auth>img{width:58px;height:48px;object-fit:contain;margin:-9px auto -5px}.auth h1{font-size:25px}.auth>p{font-size:13px;color:#64748b}.google{height:48px;width:100%;margin:17px 0 13px;border:1px solid #e2e8f0;background:#fff;border-radius:13px;font:bold 16px Arial;color:#4285f4}.google span{color:#0f172a;font:700 13px DM Sans;margin-left:10px}.or{font-size:11px;color:#94a3b8;margin:6px 0 11px}.auth input{width:100%;box-sizing:border-box;height:48px;border:1px solid #e2e8f0;border-radius:12px;padding:0 13px;font:13px DM Sans}.auth .app-primary{text-align:center;margin:10px 0}.auth small{color:#94a3b8;font-size:10px}.avatar{border:0}.app-nav{background:#fffdf9f2}.product-img{height:125px}.product-img:after{content:'';position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,#0f172a22);pointer-events:none}@media(min-width:700px){.app-promo{height:230px}}
.app-main>*{animation:app-rise .42s ease both}.app-main button,.product,.categories button,.app-nav button{transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.app-main button:active,.product:active,.app-nav button:active{transform:scale(.96)}.product:hover{transform:translateY(-3px);box-shadow:0 12px 24px #0f172a12}.quick button:hover{background:#f5f3ff;border-color:#dcd5ff}.app-primary:hover{background:#4938df;box-shadow:0 12px 22px #5b4bff33}.app-toast{position:fixed;z-index:60;left:50%;bottom:92px;transform:translateX(-50%);background:#0f172a;color:#fff;padding:11px 15px;border-radius:999px;font-size:12px;font-weight:700;box-shadow:0 10px 30px #0f172a33;animation:toast-in .25s ease}.legal{max-height:76svh;overflow:auto}.legal h2{font:800 16px Manrope;margin:20px 0 6px}.legal p{font-size:13px;line-height:1.6;color:#475569}.legal-note{background:#fff5db;padding:10px;border-radius:10px;color:#9a6700!important;font-size:11px!important}@keyframes app-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}@media(prefers-reduced-motion:reduce){.app-main>*,.app-toast{animation:none}.app-main button,.product,.categories button,.app-nav button{transition:none}}
.app-preview-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.app-preview{display:block;text-align:center;color:#5b4bff;font:700 12px Manrope;padding:12px 8px 1px}.app-preview-links .app-preview{padding:11px 7px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;transition:transform .2s ease,border-color .2s ease}.app-preview-links .app-preview:hover{border-color:#a99eff;transform:translateY(-1px)}
.app-download.refined-download{height:44px!important;min-height:44px!important;padding:4px 17px 4px 5px!important;border-radius:999px!important;gap:10px!important}.refined-download .download-arrow{width:34px!important;height:34px!important;border-radius:50%!important}.install-primary{border-radius:999px!important;padding:15px 20px!important}.install-modal{border-radius:26px!important}
.install-guide{display:grid;gap:7px;background:#f4f2ff;border:1px solid #e4dfff;border-radius:13px;padding:13px;margin:0 0 16px;color:#475569;font-size:12px;line-height:1.45}.install-guide b{color:#0f172a;font:800 13px Manrope}.install-guide strong{color:#5b4bff}.install-status{margin:0 0 13px;padding:10px;border-radius:9px;background:#e8f8ee;color:#15803d;font-size:12px;font-weight:700}
.install-backdrop{position:fixed;inset:0;z-index:50;background:#07153b80;display:grid;place-items:end center;padding:22px;backdrop-filter:blur(5px)}.install-modal{width:min(460px,100%);background:#fff;border-radius:22px;padding:30px;box-shadow:0 25px 70px #07153b55;position:relative;animation:sheet-in .3s ease}.install-modal h2{font:800 30px/1.05 Manrope;letter-spacing:-1.7px;margin:12px 0 20px}.install-close,.install-later{border:0;background:none}.install-close{position:absolute;right:18px;top:15px;font-size:25px}.install-modal ul{list-style:'✓  ';padding-left:20px;display:grid;gap:9px;color:#334155;margin:0 0 24px}.install-primary{width:100%;border:0;background:#5B4BFF;color:#fff;border-radius:10px;padding:15px;font-weight:800}.install-later{width:100%;padding:13px;color:#64748b;font-weight:700}.ios-steps{display:grid;gap:9px;color:#475569;margin:0 0 22px}.ios-steps b{color:#0f172a}.app-shell{min-height:100svh;background:#f8fafc;color:#0f172a;font-family:DM Sans,sans-serif;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.app-main{max-width:680px;margin:auto;padding:18px 18px 104px}.app-header{height:43px;padding:0;display:flex;gap:12px;align-items:center;background:transparent}.app-header button{margin-left:auto;border:0;background:transparent;color:#0f172a;font-size:24px}.app-brand{display:flex;align-items:center;gap:3px;font:800 20px Manrope;letter-spacing:1px}.app-brand img{width:42px;height:36px;object-fit:contain;margin:-4px -10px -4px -10px}.avatar{height:30px;width:30px;border-radius:50%;display:grid;place-items:center;background:#e9e5ff;color:#5b4bff;font-size:10px;font-weight:800}.app-greeting{margin:22px 0 1px;color:#64748b;font-size:14px}.app-main h1{font:800 29px/1.08 Manrope;letter-spacing:-1.5px;margin:0 0 17px}.app-search{height:52px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;display:flex;align-items:center;gap:9px;padding:0 13px;font-size:22px;color:#64748b}.app-search input{border:0;outline:0;width:100%;font:500 13px DM Sans;background:transparent}.app-search button{border:0;background:none;font-size:19px;color:#5b4bff}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:20px 0 28px}.quick button{min-height:76px;border:1px solid #eeeafe;background:#fff;border-radius:14px;color:#5b4bff;font-size:21px}.quick span{display:block;color:#334155;font-size:10px;font-weight:700;line-height:1.15;margin-top:7px}.app-section{margin:0 0 28px}.app-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.app-section h2{font:800 18px Manrope;letter-spacing:-.7px;margin:0}.app-section-title button{border:0;background:transparent;color:#5b4bff;font-size:12px;font-weight:700}.categories,.product-shelf{display:flex;gap:11px;overflow:auto;padding-bottom:3px;scrollbar-width:none}.categories button{flex:0 0 72px;border:0;background:transparent;color:#475569;font-size:10px}.categories i{height:49px;width:49px;display:grid;place-items:center;margin:0 auto 7px;background:#eeeaff;border-radius:50%;color:#5b4bff;font-style:normal;font-size:20px}.product{flex:0 0 168px;background:#fff;border:1px solid #e8edf4;border-radius:15px;overflow:hidden;cursor:pointer}.product-img{height:116px;position:relative}.product-img img,.rental img,.listing img{width:100%;height:100%;object-fit:cover}.product-img button{position:absolute;right:7px;top:7px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#5b4bff;font-size:17px}.product>b{display:block;padding:10px 10px 0;font:800 13px Manrope}.product p{margin:3px 10px;color:#64748b;font-size:11px}.product p strong{color:#5b4bff;font-size:13px}.product small{display:block;padding:0 10px 11px;color:#64748b;font-size:9px}.points{display:grid;gap:9px}.points article{padding:14px;border:1px solid #e2e8f0;background:#fff;border-radius:13px}.points b,.points span{display:block}.points b{font-size:13px}.points span{font-size:11px;color:#64748b;margin-top:4px}.app-nav{position:fixed;z-index:20;left:0;right:0;bottom:0;height:76px;padding:8px 9px max(8px,env(safe-area-inset-bottom));background:#fffefefa;border-top:1px solid #e6eaf1;display:flex;justify-content:space-around;backdrop-filter:blur(12px)}.app-nav button{width:20%;border:0;background:none;color:#64748b;font-size:10px;font-weight:700}.app-nav i{display:block;font-size:22px;font-style:normal;margin-bottom:3px}.app-nav .active{color:#5b4bff}.search-tags{display:flex;gap:8px;overflow:auto;margin:16px 0 25px}.search-tags span,.search-tags button{white-space:nowrap;border:0;border-radius:20px;padding:7px 10px;background:#eeeaff;color:#5b4bff;font-size:11px}.seg{display:flex;gap:22px;border-bottom:1px solid #e2e8f0;padding:2px 2px 13px;margin-bottom:18px;color:#64748b;font-size:13px}.seg b{color:#5b4bff}.rental{display:flex;gap:13px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:10px}.rental img{width:72px;height:72px;border-radius:10px}.rental b{font:800 15px Manrope}.rental p{font-size:12px;margin:7px 0}.rental small,.empty-note{color:#64748b;font-size:11px}.empty-note{margin-top:15px;padding:14px;background:#eeeaff;border-radius:12px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#5b4bff;margin:10px 0}.app-primary{width:100%;border:0;border-radius:12px;background:#5b4bff;color:#fff;padding:15px;margin:5px 0 22px;font-weight:800;text-align:left}.app-primary span{float:right}.earn-stat{padding:20px;background:#0f172a;color:#fff;border-radius:16px;display:grid;gap:4px}.earn-stat span,.earn-stat small{color:#cbd5e1;font-size:11px}.earn-stat strong{font:800 28px Manrope}.listing{display:flex;gap:12px}.listing img{height:54px;width:54px;border-radius:10px}.listing b,.listing span{display:block}.listing b{font-size:13px}.listing span{font-size:10px;color:#64748b;margin-top:5px}.profile-head{display:flex;align-items:center;gap:13px;margin:18px 0 27px}.profile-head h1{font-size:21px;margin:0}.profile-head p{font-size:12px;color:#64748b;margin:3px 0}.large{height:55px;width:55px}.profile-list{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}.profile-list button{width:100%;padding:16px;border:0;border-bottom:1px solid #edf0f5;background:#fff;text-align:left;color:#334155;font-size:13px}.profile-list button span{float:right;color:#64748b}.installed{text-align:center;color:#16a34a;font-size:12px;margin-top:20px}.sheet{position:fixed;z-index:40;left:0;right:0;bottom:0;max-width:680px;margin:auto;background:#fff;border-radius:22px 22px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px #07153b22;animation:sheet-in .28s ease}.sheet>img{width:100%;height:190px;object-fit:cover;border-radius:13px}.sheet .close{float:right;border:0;background:#eef1f5;border-radius:50%;width:30px;height:30px;font-size:20px}.sheet h1{margin:5px 0;font-size:25px}.sheet .price{font-size:14px}.sheet .price strong{font-size:23px;color:#5b4bff}.point-info{padding:12px;background:#f4f2ff;border-radius:10px;font-size:12px}.notices article{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #e2e8f0}.notices article i{color:#5b4bff;font-style:normal}.notices b,.notices span{display:block;font-size:12px}.notices span{color:#64748b;margin-top:5px;font-size:10px}@keyframes sheet-in{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}@media(min-width:700px){.app-shell{background:#edf0f6}.app-main{min-height:100svh;background:#f8fafc;box-shadow:0 0 40px #0f172a18}.app-nav{max-width:680px;margin:auto}}
.brand .logo-art{width:58px;height:48px;object-fit:contain;display:block;margin:-6px -10px -6px -12px}.brand-light .logo-art{filter:brightness(0) invert(1)}@media(max-width:850px){.brand .logo-art{width:50px;height:41px;margin:-5px -9px -5px -11px}}
.mark.ribbon-mark{width:43px!important;height:37px!important;overflow:visible}.ribbon-mark .ribbon-navy{fill:var(--ink)!important;stroke:none!important}.ribbon-mark .ribbon-purple{fill:var(--violet)!important;stroke:none!important}.ribbon-mark .ribbon-cut{fill:#fff!important;stroke:none!important}.brand-light .ribbon-mark .ribbon-navy{fill:#fff!important}.brand-light .ribbon-mark .ribbon-purple{fill:#dcd7ff!important}.brand-light .ribbon-mark .ribbon-cut{fill:var(--violet)!important}.app-download.refined-download{margin-left:auto!important;display:inline-flex!important;align-items:center!important;height:42px!important;min-height:42px!important;padding:4px 14px 4px 4px!important;gap:9px!important;border-radius:10px!important;background:#0d1a42!important;color:#fff!important;font:700 12px Manrope!important;letter-spacing:.1px!important;box-shadow:0 8px 18px #07153b20!important;transition:transform .24s ease,box-shadow .24s ease,background .24s ease!important}.app-download.refined-download:hover{background:#101f4e!important;transform:translateY(-2px)!important;box-shadow:0 13px 25px #07153b33!important}.refined-download .download-arrow{order:-1!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border:0!important;border-radius:7px!important;background:var(--violet)!important;transition:transform .24s ease,background .24s ease!important}.refined-download:hover .download-arrow{transform:translateX(2px)!important;background:#6b5cff!important}.refined-download .download-arrow svg{width:16px!important}.refined-download>span:last-child{display:inline!important;font:inherit!important;line-height:1!important;white-space:nowrap!important}.button,.fairtime a,.side,.trust>div,.media-label,nav a{transition:transform .25s ease,box-shadow .25s ease,color .2s ease,background .2s ease!important}.side:hover{transform:translateY(-5px);box-shadow:0 16px 32px #0f172a0b}.trust>div:hover{transform:translateY(-3px)}.fairtime a:hover{transform:translateX(4px)}.media-label{transition:transform .3s ease,box-shadow .3s ease!important}.hero-media:hover .media-label{transform:translateY(-4px);box-shadow:0 20px 42px #07153b32}.hero-media>img,.point-story-photo img{will-change:transform}.reveal{will-change:transform,opacity}@media(max-width:850px){.mark.ribbon-mark{width:38px!important;height:33px!important}.app-download.refined-download{display:none!important}}
.mark{width:40px!important;height:34px!important;overflow:visible}.mark .ribbon-dark,.mark .ribbon-violet{fill:none!important;stroke-width:9!important;stroke-linecap:round!important;stroke-linejoin:round!important}.mark .ribbon-dark{stroke:var(--ink)!important}.mark .ribbon-violet{stroke:var(--violet)!important}.brand-light .mark .ribbon-dark,.brand-light .mark .ribbon-violet{stroke:#fff!important}.app-download{height:43px!important;min-height:43px!important;padding:4px 5px 4px 16px!important;border-radius:9px!important;background:var(--violet)!important;color:#fff!important;gap:10px!important;font:700 12px Manrope!important;letter-spacing:.05px!important;box-shadow:0 7px 15px #5b35f633!important}.app-download:hover{background:#4930d8!important;box-shadow:0 10px 21px #5b35f644!important}.download-arrow{display:grid!important;place-items:center!important;width:33px!important;height:33px!important;background:#ffffff22!important;border:1px solid #ffffff33!important;border-radius:6px!important}.download-arrow svg{width:15px!important}.app-download>span:last-child{display:grid!important;font:inherit!important;line-height:normal!important}.app-download small{display:none!important}@media(max-width:850px){.mark{width:35px!important;height:30px!important}.app-download{display:none!important}}
.mark{width:42px!important;height:36px!important}.mark .mark-out{fill:var(--ink)!important}.mark .mark-violet{fill:var(--violet)!important}.mark .mark-highlight{fill:#b6a8ff!important}.brand-light .mark .mark-out,.brand-light .mark .mark-violet{fill:#fff!important}.brand-light .mark .mark-highlight{fill:#d9d2ff!important}.app-download{min-height:40px!important;padding:3px 12px 3px 3px!important;border-radius:9px!important;gap:8px!important;font:700 12px Manrope!important;box-shadow:none!important}.app-download:hover{box-shadow:0 7px 16px #07153b22!important}.download-arrow{height:34px!important;width:34px!important;border-radius:7px!important}.download-arrow svg{width:16px!important}.app-download>span:last-child{display:inline!important;font:inherit!important;line-height:normal!important}.app-download small{display:none!important}@media(max-width:850px){.mark{width:37px!important;height:32px!important}}
.mark{width:43px!important;height:35px!important}.mark .mark-out{fill:var(--ink)!important;stroke:none!important}.mark .mark-violet{fill:var(--violet)!important;stroke:none!important}.mark .mark-highlight{fill:#9d8cff!important;stroke:none!important}.brand-light .mark .mark-out,.brand-light .mark .mark-violet{fill:#fff!important}.brand-light .mark .mark-highlight{fill:#d9d2ff!important}.app-download{margin-left:auto;min-height:52px;padding:5px 15px 5px 5px;border-radius:12px;background:var(--ink);color:white;display:flex;align-items:center;gap:10px;box-shadow:0 8px 20px #07153b22;transition:transform .2s,box-shadow .2s}.app-download:hover{transform:translateY(-2px);box-shadow:0 12px 28px #07153b33}.download-arrow{height:41px;width:41px;background:var(--violet);border-radius:9px;display:grid;place-items:center}.download-arrow svg{width:19px}.app-download>span:last-child{display:grid;gap:2px;font:700 13px Manrope;line-height:1.05}.app-download small{font:800 8px DM Sans;letter-spacing:1.2px;color:#c9c2ff}@media(max-width:850px){.app-download{display:none}.mark{width:37px!important;height:30px!important}}
.mark{width:39px!important;height:33px!important}.mark .mark-out{fill:var(--ink)!important;stroke:none!important}.mark .mark-back{fill:var(--violet)!important;stroke:none!important}.brand-light .mark .mark-out,.brand-light .mark .mark-back{fill:#fff!important;stroke:none!important}.impact-strip{background:var(--ink);color:#fff;min-height:140px;padding:25px max(5.4vw,36px);display:flex;align-items:center;justify-content:center;gap:clamp(22px,5vw,76px);font:800 clamp(28px,4.5vw,65px) Manrope;letter-spacing:-3px}.impact-strip span:nth-of-type(2){color:#a89bff}.impact-strip i{display:block;width:46px;height:1px;background:#78829a}.side{transition:background .25s,transform .25s}.side:hover{background:#fff;transform:translateY(-6px)}.trust>div{transition:background .2s}.trust>div:hover{background:#f5f3ff}@media(max-width:850px){.impact-strip{min-height:90px;padding:18px;gap:12px;font-size:27px;letter-spacing:-1.5px}.impact-strip i{width:17px}.mark{width:34px!important;height:28px!important}}
:root{--ink:#07153b;--violet:#5b35f6;--mist:#f4f5f8;--muted:#677089;--line:#dde1ea;--green:#188850}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:DM Sans,Arial,sans-serif;background:#fff}a{text-decoration:none;color:inherit}button{font:inherit}header{height:88px;max-width:1440px;margin:auto;padding:0 5.4vw;display:flex;align-items:center;gap:50px;background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:9px;font:800 24px Manrope,sans-serif;letter-spacing:1.4px;white-space:nowrap}.mark{width:34px;height:34px;overflow:visible}.mark path{fill:none;stroke:var(--violet);stroke-width:5.3;stroke-linecap:round}nav{display:flex;align-items:center;gap:37px;margin:auto}nav a,.nav-link{font-weight:600;font-size:14px;color:#253156;transition:color .2s}nav a:hover,.nav-link:hover{color:var(--violet)}.nav-link{padding:11px 16px;border:1px solid #cfd4e0;border-radius:8px}.menu{display:none;border:0;background:none;color:var(--ink)}.hero{min-height:630px;display:grid;grid-template-columns:42% 58%;max-width:1440px;margin:auto;background:linear-gradient(90deg,#fcfcfd 0%,#f7f7fa 42%,transparent 42%)}.hero-copy{padding:105px 30px 70px max(5.4vw,36px);position:relative;z-index:2}.kicker{margin:0 0 20px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:2.2px;color:#6d7490}.hero h1,.intro h2,.section-head h2,.point-story h2,.fairtime h2,.join h2{font-family:Manrope,sans-serif;letter-spacing:-3.5px}.hero h1{font-size:clamp(46px,5.1vw,74px);line-height:1.02;margin:0 0 22px}.hero h1 em{font-style:normal;color:var(--violet)}.lead{max-width:470px;font-size:17px;line-height:1.6;color:var(--muted);margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:52px;padding:0 20px;font-size:14px;font-weight:700;border-radius:8px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button svg{width:18px}.button-violet{background:var(--violet);color:#fff;box-shadow:0 9px 20px #5b35f633}.button-line{border:1px solid #adb4c5;color:var(--ink);background:#fff}.button-white{color:var(--violet);background:#fff}.hero-note{display:flex;align-items:center;gap:9px;color:#747d95;font-size:12px}.hero-note span{width:31px;height:1px;background:#8d95a8}.hero-media{min-height:630px;position:relative;overflow:hidden}.hero-media>img{width:100%;height:100%;object-fit:cover;object-position:67% center}.media-label{position:absolute;bottom:46px;left:42px;background:#fff;padding:12px 15px;box-shadow:0 15px 35px #07153b29;display:flex;align-items:center;gap:9px;border-radius:7px;font-size:11px;color:var(--muted)}.media-label svg{color:var(--violet);width:22px}.media-label b{display:block;color:var(--ink);font-size:12px;margin-bottom:2px}.intro{max-width:810px;margin:0 auto;padding:140px 32px 125px;text-align:center}.intro h2,.section-head h2{font-size:clamp(38px,4vw,59px);line-height:1.05;margin:0 0 23px}.intro>p:not(.kicker):not(.intro-quote){font-size:18px;line-height:1.7;color:var(--muted);max-width:625px;margin:auto}.intro-rule{height:1px;width:100%;background:var(--line);margin:47px 0 23px}.intro-quote{font:600 17px Manrope;color:var(--ink)}.sides{background:var(--mist);padding:112px max(5.4vw,36px) 120px}.section-head{max-width:1280px;margin:0 auto 48px}.side-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe3eb}.side{padding:34px 34px 38px;background:var(--mist);min-height:322px}.side-top{display:flex;justify-content:space-between;align-items:start}.side-top>span{font:700 13px Manrope;color:#8a92a6}.side-top>div{height:45px;width:45px;display:grid;place-items:center;background:#e5e1ff;color:var(--violet);border-radius:50%}.side:nth-child(2) .side-top>div{color:var(--green);background:#ddf5e8}.side:nth-child(3) .side-top>div{color:#d17009;background:#ffedda}.side h3{font:700 24px Manrope;letter-spacing:-1px;margin:38px 0 11px}.side p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.side ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:8px}.side li{font-size:12px;display:flex;gap:7px;align-items:center}.side li svg{width:16px;color:var(--green)}.point-story{display:grid;grid-template-columns:1fr 1fr;min-height:645px}.point-story-photo{min-height:500px}.point-story-photo img{width:100%;height:100%;object-fit:cover}.point-story-copy{padding:105px max(5.4vw,38px)}.point-story h2,.fairtime h2{font-size:clamp(34px,3.6vw,53px);line-height:1.07;margin:0 0 19px}.point-story-copy>p:not(.kicker),.fairtime p{font-size:16px;line-height:1.65;color:var(--muted);max-width:510px}.point-story ol{padding:0;list-style:none;margin:30px 0 0}.point-story li{display:flex;gap:17px;padding:14px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45}.point-story li b{color:var(--violet);font:800 11px Manrope}.flow{padding:105px 36px;text-align:center;background:#07153b;color:#fff}.flow .kicker{color:#c7c1ff}.flow-line{max-width:980px;margin:46px auto 37px;display:flex;align-items:center;justify-content:space-between}.flow-line>div{width:190px;display:flex;align-items:center;flex-direction:column;gap:8px}.flow-line svg{height:45px;width:45px;padding:10px;border-radius:50%;background:#ffffff18;color:#fff}.flow-line .flow-point svg{background:var(--violet)}.flow-line b{font:700 14px Manrope}.flow-line span{color:#aab5d0;font-size:12px}.flow-line i{height:1px;flex:1;max-width:150px;background:#596682}.flow>p:last-child{max-width:610px;margin:auto;color:#b6c0d7;line-height:1.65;font-size:15px}.fairtime{max-width:1180px;margin:0 auto;padding:130px 38px;display:grid;grid-template-columns:1fr 380px;gap:100px;align-items:center}.fairtime a{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--violet);margin-top:13px}.fairtime a svg{width:18px}.fair-visual{background:#f2efff;min-height:310px;padding:45px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:2px}.fair-visual>span{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--violet)}.fair-visual strong{font:800 62px Manrope;letter-spacing:-4px;margin:8px 0 0}.fair-visual>p{font-size:13px;margin:0;color:#667}.fair-visual>div{margin-top:30px;background:white;padding:10px 12px;color:var(--green);font-size:12px;display:flex;gap:7px;align-items:center}.fair-visual>div svg{width:16px}.trust{display:grid;grid-template-columns:repeat(3,1fr);max-width:1280px;margin:auto;border-top:1px solid var(--line)}.trust>div{padding:54px 40px 65px;border-right:1px solid var(--line)}.trust>div:last-child{border:0}.trust svg{width:31px;height:31px;color:var(--violet);margin-bottom:21px}.trust h3{font:700 18px Manrope;margin:0 0 9px}.trust p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.join{padding:106px max(5.4vw,36px);background:var(--violet);color:#fff}.join .brand{margin-bottom:50px}.brand-light .mark path{stroke:white}.join .kicker{color:#dcd8ff}.join h2{font-size:clamp(45px,5vw,72px);line-height:1.01;margin:0}.join>p:not(.kicker){font-size:17px;line-height:1.6;max-width:440px;color:#e3e0ff;margin:22px 0 30px}footer{min-height:86px;max-width:1440px;margin:auto;padding:0 5.4vw;display:flex;align-items:center;gap:35px;color:#798198;font-size:12px}footer span:last-child{margin-left:auto}@media(max-width:850px){header{height:70px;padding:0 22px;gap:12px}.brand{font-size:20px}.mark{width:29px;height:29px}nav{display:none}.nav-open{display:flex;position:absolute;left:0;right:0;top:70px;background:#fff;padding:24px;flex-direction:column;gap:20px;border-top:1px solid var(--line);align-items:flex-start}.nav-link{margin-left:auto;font-size:12px;padding:9px 11px}.menu{display:block}.hero{display:block;background:#fafafd}.hero-copy{padding:65px 23px 52px}.hero h1{font-size:46px;letter-spacing:-2.8px}.lead{font-size:16px}.hero-media{min-height:410px}.hero-media>img{object-position:63% center}.media-label{left:20px;bottom:22px}.intro{padding:92px 23px}.intro h2{font-size:39px;letter-spacing:-2.5px}.intro>p:not(.kicker):not(.intro-quote){font-size:16px}.sides{padding:78px 22px}.section-head h2{font-size:39px;letter-spacing:-2.5px}.side-grid{grid-template-columns:1fr}.side{min-height:0;padding:27px}.side h3{margin-top:24px}.point-story{display:flex;flex-direction:column}.point-story-photo{min-height:360px}.point-story-copy{padding:75px 23px}.point-story h2,.fairtime h2{font-size:38px;letter-spacing:-2.5px}.flow{padding:72px 23px}.flow-line{gap:17px;align-items:flex-start}.flow-line>div{width:90px}.flow-line i{margin-top:22px}.flow-line span{font-size:10px}.flow-line b{font-size:12px}.fairtime{display:block;padding:85px 23px}.fair-visual{margin-top:50px;min-height:270px;padding:30px}.trust{grid-template-columns:1fr;margin:0 23px}.trust>div{padding:34px 0;border-right:0;border-bottom:1px solid var(--line)}.join{padding:75px 23px}.join .brand{margin-bottom:40px}footer{padding:26px 23px;display:grid;grid-template-columns:1fr 1fr;gap:9px}footer .brand{grid-column:1/-1}footer span:last-child{margin:0;text-align:right}}
.prototype-reviews{max-width:1280px;margin:0 auto;padding:105px max(5.4vw,36px);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;align-items:start;background:#f6f7fb}.prototype-reviews h2{margin:0;font:800 clamp(34px,3.8vw,56px)/1.06 Manrope;letter-spacing:-3px;color:#07153b}.prototype-reviews article{min-height:218px;padding:25px;background:#fff;border:1px solid #e3e7f0;border-radius:16px;box-shadow:0 15px 35px #07153b0b}.prototype-reviews article span{color:#bd7a11;letter-spacing:2px;font-size:12px}.prototype-reviews article p{margin:18px 0 22px;color:#3d4965;font-size:15px;line-height:1.55}.prototype-reviews article b{font:800 11px Manrope;color:#172146}.prototype-reviews>small{grid-column:2/-1;color:#77829a;font-size:10px}@media(max-width:850px){.prototype-reviews{display:grid;grid-template-columns:1fr;padding:76px 23px;gap:13px}.prototype-reviews h2{font-size:37px;letter-spacing:-2.4px}.prototype-reviews article{min-height:0}.prototype-reviews>small{grid-column:auto}}
/* Public pricing section (FairTime removed from the current product). */
.fee-section{max-width:1180px;margin:0 auto;padding:130px 38px;display:grid;grid-template-columns:1fr 380px;gap:100px;align-items:center}.fee-section h2{font-family:Manrope,sans-serif;font-size:clamp(34px,3.6vw,53px);line-height:1.07;margin:0 0 19px}.fee-section p{font-size:16px;line-height:1.65;color:var(--muted);max-width:510px}.fee-section a{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--violet);margin-top:13px}.fee-visual{background:#f2efff;min-height:310px;padding:45px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:18px}.fee-visual>span{font-size:10px;font-weight:800;letter-spacing:1.5px;color:var(--violet)}.fee-visual strong{font:800 62px Manrope;letter-spacing:-4px;margin:8px 0 0}.fee-visual>p{font-size:13px;margin:0;color:#667}.fee-visual>div{margin-top:30px;background:#fff;padding:10px 12px;color:var(--green);font-size:12px;display:flex;gap:7px;align-items:center}.fee-visual>div svg{width:16px}@media(max-width:850px){.fee-section{display:block;padding:85px 23px}.fee-section h2{font-size:38px;letter-spacing:-2.5px}.fee-visual{margin-top:50px;min-height:270px;padding:30px}}
/* The app preview follows the supplied Home screen reference. */
.app-shell,.app-main{background:#fffdf8}.app-main{max-width:430px;padding:17px 16px 102px}.reference-header{height:49px}.reference-header .app-brand{font:800 27px/1 Manrope;letter-spacing:3px;color:#111e49}.reference-header .app-brand small{font:700 9px/1 DM Sans;letter-spacing:.45px;color:#17254d}.reference-header .app-location{margin-left:auto!important;background:transparent!important;color:#12204a!important;padding:8px 3px!important;font-size:12px!important}.reference-header .bell{margin-left:4px!important;font-size:27px!important;color:#101e4a!important}.reference-greeting{color:#111e49;font:800 31px/.99 Georgia,serif!important;letter-spacing:-1.75px!important;margin:19px 0 18px!important}.app-search{height:67px;border:0;border-radius:20px;box-shadow:0 8px 25px #0f172a0a;padding:0 17px;font-size:28px;color:#07163e}.app-search input{font-size:13px;color:#0f172a}.app-search input::placeholder{color:#7b879d}.app-search button{width:58px;height:58px;display:grid;place-items:center;flex:0 0 58px;background:#fff;border-radius:18px;box-shadow:7px 0 0 10px #fffdf8;color:#111e49;font-size:27px}.round-cats{gap:13px;margin:19px 0 23px}.round-cats button{flex-basis:50px;padding:0;color:#0f1d45;font-size:9px}.round-cats i{width:50px;height:50px;margin-bottom:6px;font-size:22px}.reference-promo{position:relative;height:255px!important;margin:0 0 25px!important;border-radius:17px!important;overflow:hidden;color:#101e4a!important;background:linear-gradient(90deg,#f9d1a780 0%,#f9d1a715 49%,#07153b05),url('/assets/shareo-kuwait-hero.png') center/cover!important}.reference-promo>div{position:relative;z-index:2;padding:31px!important}.reference-promo h2{font:800 39px/.93 Georgia,serif!important;letter-spacing:-2.4px!important;margin:0!important}.reference-promo p{margin:9px 0 16px!important;color:#11204a!important;font:500 12px DM Sans!important}.reference-promo button{border:0;border-radius:999px!important;background:#0d1d4b!important;color:#fff!important;padding:13px 18px!important;font:700 11px DM Sans!important}.reference-promo button span{color:#fff!important;font-size:15px!important;letter-spacing:0!important}.reference-promo aside{position:absolute;z-index:2;right:18px;top:29px;color:#28201f;font:italic 19px/1.06 cursive;transform:rotate(-8deg);text-align:center}.app-section{margin-bottom:28px}.app-section-title{margin-bottom:13px}.app-section h2,.reference-products h2{color:#111e49;font:800 27px/1 Georgia,serif;letter-spacing:-1.35px}.app-section-title button,.reference-products .app-section-title button{color:#101e4a;font:700 12px DM Sans}.photo-cats{gap:10px!important}.photo-cats button{flex:0 0 91px!important;text-align:left!important;color:#0f1d45!important}.photo-cats img{width:91px!important;height:124px!important;margin:0 0 7px!important;border-radius:10px!important;box-shadow:none!important;object-fit:cover}.photo-cats b{font:800 11px Manrope!important}.photo-cats small{font:10px DM Sans!important;color:#758096!important}.reference-products{margin:30px 0!important}.product-grid{gap:12px!important}.reference-product>div{height:143px!important}.reference-product img{border-radius:12px!important}.reference-product>b{font:800 12px Manrope!important;color:#101e4a}.reference-product p{font:800 16px Manrope!important;letter-spacing:-.5px}.reference-product small{font:10px DM Sans!important}.app-nav{height:83px!important;background:#fffefdf5!important;border-top:1px solid #f0ece7!important;padding:8px 8px max(8px,env(safe-area-inset-bottom))!important}.app-nav button{color:#738096!important;font-size:10px!important}.app-nav i{font-size:26px!important;margin-bottom:4px!important}.app-nav .active{color:#101e4a!important}.app-nav button:nth-child(3) i{display:grid;place-items:center;width:48px;height:48px;margin:-21px auto 1px!important;border-radius:50%;background:#6544dc;color:#fff;font-size:33px!important;box-shadow:0 8px 18px #5b4bff55}.app-nav button:nth-child(3){color:#101e4a!important}@media(min-width:700px){.app-main{max-width:430px}.app-nav{max-width:430px}.reference-promo{height:255px!important}}
.app-shell svg{display:block;flex:none}.icon-button{display:grid;place-items:center}.app-main button:focus-visible,.app-nav button:focus-visible{outline:3px solid #5b4bff66;outline-offset:3px}.icon-text{display:flex!important;align-items:center;gap:3px}.reference-header .bell{display:grid!important;place-items:center}.round-cats i{display:grid;place-items:center}.round-cats i svg{stroke-width:1.75}.app-search>.icon-button{margin:0;padding:0;border:0}.app-section-title button,.reference-products .app-section-title button,.installed,.detail-meta,.point-info,.sheet-note,.product small,.reference-product small,.rental p,.rental small{display:flex;align-items:center;gap:4px}.app-primary,.secondary-action{display:flex;align-items:center;justify-content:space-between;gap:10px}.app-primary svg{margin-left:auto}.secondary-action{width:100%;border:1px solid #dde3ed;background:#fff;color:#142249;border-radius:12px;padding:13px 15px;font:700 12px DM Sans}.secondary-action:hover{background:#f7f7ff}.product-img .icon-button,.reference-product .icon-button{color:#13224a}.product-img .icon-button svg,.reference-product .icon-button svg{color:currentColor}.reference-product small>span{display:flex;align-items:center;gap:3px}.reference-product small>span:last-child{color:#e7a91a}.reference-promo button{display:inline-flex;align-items:center;gap:6px}.reference-promo button span{display:contents}.seg{gap:4px;padding:0;border:0;background:#f1f3f7;border-radius:12px}.seg button{flex:1;border:0;border-radius:10px;background:transparent;color:#718096;padding:10px;font:700 12px DM Sans}.seg button.active{background:#fff;color:#142249;box-shadow:0 2px 8px #0f172a12}.rental-stack{display:grid;gap:10px}.rental{align-items:flex-start}.rental>div{min-width:0;flex:1}.rental p,.rental small{margin:6px 0;color:#64748b}.rental button{display:flex;align-items:center;gap:5px;border:0;background:#f0edff;color:#5141d8;border-radius:9px;padding:8px 10px;font:700 11px DM Sans;margin-top:9px}.my-listings{display:grid;gap:9px}.listing{cursor:pointer;align-items:center;border:1px solid #e2e8f0;padding:9px;border-radius:13px;background:#fff}.listing>svg{margin-left:auto;color:#64748b}.empty-state{text-align:center;padding:28px 18px;border:1px dashed #ced5e2;border-radius:15px;color:#64748b}.empty-state i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#f0edff;color:#5b4bff;margin:0 auto 11px}.empty-state b{display:block;color:#18254b;font:800 14px Manrope}.empty-state p{font-size:11px;line-height:1.55;margin:7px auto 14px;max-width:230px}.empty-state button{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:9px;background:#0d1d4b;color:#fff;padding:9px 11px;font:700 11px DM Sans}.message-list{display:grid;gap:9px}.message-list article{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:start;background:#fff;border:1px solid #e7ebf2;border-radius:14px;padding:12px}.message-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ece9ff;color:#5b4bff}.message-list b{font:800 12px Manrope;color:#142249}.message-list p{font-size:10px;line-height:1.45;color:#64748b;margin:3px 0}.message-list small{font:10px DM Sans;color:#94a3b8}.detail-sheet .close,.booking-sheet .close,.filters .close,.listing-form .close,.area-sheet .close,.notices .close,.legal .close{float:none;position:absolute;right:17px;top:15px;z-index:2;display:grid;place-items:center}.detail-sheet .close svg,.booking-sheet .close svg,.filters .close svg,.listing-form .close svg,.area-sheet .close svg,.notices .close svg,.legal .close svg{margin:auto}.detail-sheet{padding-top:20px}.detail-meta{font-size:12px;color:#64748b}.detail-meta svg{color:#e7a91a}.point-info{margin-top:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.booking-sheet label,.listing-form label,.form-label{display:grid;gap:6px;font:700 11px Manrope;color:#334155;margin:13px 0}.booking-sheet input,.booking-sheet select,.listing-form input,.listing-form select,.listing-form textarea,.filters select{width:100%;box-sizing:border-box;border:1px solid #dce3ec;border-radius:10px;background:#fff;padding:11px;font:12px DM Sans;color:#172554}.booking-summary{display:flex;gap:10px;padding:10px;background:#f8f9fc;border-radius:12px}.booking-summary img{width:62px;height:55px;object-fit:cover;border-radius:9px}.booking-summary div{display:grid;align-content:center;gap:4px}.booking-summary b{font:800 12px Manrope}.booking-summary span{font-size:10px;color:#16803a}.quote{display:grid;grid-template-columns:1fr auto;gap:3px;margin:14px 0;padding:13px;background:#f0edff;border-radius:12px}.quote span,.quote small{font-size:10px;color:#5b4bff}.quote strong{font:800 19px Manrope;color:#34279b}.quote small{grid-column:1/-1;color:#667085}.sheet-note{font-size:10px;color:#64748b;margin:0}.sheet-note svg{color:#188850}.form-error{color:#c42d35;font-size:11px;margin:5px 0}.filter-chips button.selected,.area-options button.selected{background:#5b4bff!important;color:#fff!important;border-color:#5b4bff!important}.area-options{display:grid;gap:7px;margin-top:19px}.area-options button{display:flex;align-items:center;gap:9px;width:100%;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#172554;padding:12px;font:700 12px DM Sans;text-align:left}.area-options button svg:last-child{margin-left:auto}.app-toast{display:flex;align-items:center;gap:7px}.app-toast svg{color:#8df0a4}@media(prefers-reduced-motion:reduce){.app-shell *{transition:none!important;animation:none!important}}
.point-shell{min-height:100dvh;max-width:880px;margin:auto;background:#fffdf8;color:#142249;font-family:DM Sans,Arial,sans-serif;padding-bottom:84px}.point-shell svg{display:block;flex:none}.point-header{height:72px;padding:13px 18px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #ebe8e3;background:#fffdf8;position:sticky;top:0;z-index:5}.point-header>button,.portal-exit,.text-back{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:#142249}.point-header>div{display:grid;gap:2px;min-width:0;flex:1}.point-header p,.point-header span{margin:0;font:700 9px DM Sans;letter-spacing:.5px;color:#7b8294}.point-header b{font:800 14px Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.point-header span{display:flex;align-items:center;gap:3px;letter-spacing:0}.point-main{padding:18px}.point-hero{border-radius:18px;background:#10214e;color:#fff;padding:20px;display:flex;justify-content:space-between;gap:14px;overflow:hidden}.point-hero p{margin:0 0 7px;color:#c9c5ff;font:800 9px DM Sans;letter-spacing:1px}.point-hero h1{font:800 24px/1.05 Georgia,serif;letter-spacing:-1px;margin:0 0 11px}.point-hero span{display:flex;align-items:center;gap:4px;font-size:10px;color:#e2e6f4}.capacity{align-self:end;text-align:right}.capacity b{display:block;font:800 22px Manrope}.capacity small{display:block;max-width:90px;font-size:9px;color:#bfc9e0}.point-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 24px}.point-metrics article{padding:11px 9px;border:1px solid #e8e8ef;border-radius:13px;background:#fff}.point-metrics i{display:grid;place-items:center;width:25px;height:25px;background:#efedff;border-radius:8px;color:#5748d5;font-style:normal}.point-metrics svg{width:15px}.point-metrics strong,.point-metrics span{display:block}.point-metrics strong{margin-top:9px;font:800 15px Manrope}.point-metrics span{font-size:9px;color:#727b90}.point-section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 11px}.point-section-head h2{font:800 22px Georgia,serif;letter-spacing:-1px;margin:0}.point-section-head button{display:flex;align-items:center;gap:3px;border:0;background:transparent;color:#4033ae;font:700 10px DM Sans}.queue-section{margin:0 0 19px}.queue-section>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.queue-section h3{margin:0;font:800 11px DM Sans;text-transform:uppercase;letter-spacing:.7px;color:#59647a}.queue-section>div:first-child span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#ece9ff;color:#5144c7;font:800 10px DM Sans}.queue-empty{margin:0;padding:12px;border:1px dashed #d9dfe8;border-radius:10px;color:#8a94a8;font-size:10px}.point-booking-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #e3e6ed;border-radius:13px;background:#fff;padding:9px;color:#142249;cursor:pointer}.point-booking-card img{width:54px;height:54px;object-fit:cover;border-radius:9px}.point-booking-card>div{display:grid;gap:3px;min-width:0;flex:1}.point-booking-card span{font:800 9px DM Sans;color:#5b4bff}.point-booking-card b{font:800 12px Manrope;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.point-booking-card small{display:flex;align-items:center;gap:3px;font-size:9px;color:#6f7890}.point-booking-card em{font:700 9px DM Sans;color:#167543;font-style:normal}.point-nav{position:fixed;z-index:8;bottom:0;left:0;right:0;max-width:880px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);height:71px;padding:8px;background:#fffffff4;border-top:1px solid #ebe8e3;backdrop-filter:blur(10px)}.point-nav button{display:grid;place-items:center;gap:2px;border:0;background:transparent;color:#7a8498;font:700 10px DM Sans}.point-nav button.active{color:#4236ba}.point-welcome{max-width:520px;padding:28px 25px;margin:auto;display:flex;min-height:100dvh;justify-content:center;flex-direction:column}.portal-exit{position:absolute;top:22px;left:22px;font:700 11px DM Sans}.point-mark{display:grid;place-items:center;width:59px;height:59px;border-radius:18px;background:#ece9ff;color:#594ae3;margin-bottom:20px}.point-welcome h1,.point-registration h1{font:800 35px/.99 Georgia,serif;letter-spacing:-1.7px;margin:8px 0 15px}.point-welcome>p:not(.eyebrow){font-size:14px;line-height:1.6;color:#647084;margin:0 0 23px}.point-welcome small{font-size:10px;line-height:1.4;color:#8992a4;margin-top:14px}.point-primary,.point-secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:12px;padding:14px;font:800 12px DM Sans}.point-primary{border:0;background:#5b4bff;color:#fff}.point-primary:disabled{opacity:.45}.point-secondary{border:1px solid #dce1e9;background:#fff;color:#142249;margin-top:9px}.point-registration{padding:82px 20px 28px}.point-registration .point-primary{margin-top:8px}.point-label{display:grid;gap:6px;margin:12px 0;font:700 11px DM Sans;color:#425069}.point-label input,.point-label select,.point-label textarea{width:100%;box-sizing:border-box;border:1px solid #dce2ea;border-radius:10px;background:#fff;padding:11px;font:12px DM Sans;color:#172554}.point-label textarea{min-height:72px;resize:vertical}.point-sheet{position:fixed;z-index:20;bottom:0;left:0;right:0;max-width:880px;margin:auto;max-height:88dvh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;padding:23px 20px calc(25px + env(safe-area-inset-bottom));box-shadow:0 -16px 50px #07153b2b}.point-close{position:absolute;right:17px;top:15px;display:grid;place-items:center;width:31px;height:31px;border:0;border-radius:50%;background:#eef1f6;color:#142249}.point-sheet h1{font:800 27px/1.04 Georgia,serif;letter-spacing:-1.1px;margin:5px 35px 16px 0}.point-booking-meta{display:flex;gap:10px;padding:9px;background:#f7f8fb;border-radius:12px}.point-booking-meta img{width:59px;height:59px;object-fit:cover;border-radius:9px}.point-booking-meta div{display:grid;align-content:center;gap:4px}.point-booking-meta b{font:800 12px Manrope}.point-booking-meta span{display:flex;align-items:center;gap:4px;color:#68748a;font-size:10px}.operation-block{margin-top:18px}.operation-block h2{font:800 17px Manrope;margin:0 0 5px}.operation-block>p{font-size:11px;line-height:1.5;color:#657087;margin:0 0 13px}.condition-check{display:grid;gap:5px;background:#f4faf5;border:1px solid #d9efdf;border-radius:11px;padding:11px;margin:12px 0}.condition-check b{font:800 11px Manrope;color:#176a35}.condition-check span{display:flex;align-items:center;gap:4px;font-size:10px;color:#42604b}.condition-check svg{color:#26904d}.file-upload{display:flex;align-items:center;flex-wrap:wrap;gap:6px;border:1px dashed #bbc6d5;border-radius:10px;padding:10px;color:#4c5b76;font:700 10px DM Sans;margin:11px 0}.file-upload input{display:none}.file-upload small{width:100%;color:#718096}.file-upload img{width:55px;height:45px;object-fit:cover;border-radius:7px;margin-left:auto}.demo-action{width:100%;border:0;background:transparent;color:#5b4bff;padding:12px;font:700 10px DM Sans}.pickup-code{display:flex;gap:12px;align-items:center;background:#f3f1ff;padding:12px;border-radius:12px;margin:11px 0}.pickup-code svg{color:#594ae3}.pickup-code div{display:grid;gap:3px}.pickup-code span,.pickup-code small{font-size:10px;color:#6c7288}.pickup-code strong{font:800 24px Manrope;letter-spacing:3px;color:#292069}.verified{display:flex;align-items:center;gap:7px;margin:11px 0;padding:10px;background:#eaf8ed;border-radius:10px;color:#197039;font:800 11px DM Sans}.payment-box{display:grid;gap:5px;background:#f8f8fc;border:1px solid #e3e4ed;border-radius:12px;padding:12px;margin-top:12px}.payment-box span,.payment-box small{font-size:10px;color:#657087}.payment-box strong{font:800 23px Manrope;color:#172554}.online-options{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.online-options button{border:1px solid #d9dff0;background:#fff;color:#3d4b69;border-radius:8px;padding:7px 8px;font:700 10px DM Sans}.confirm-box{padding:11px;background:#fff4da;border-radius:11px}.confirm-box p{font:700 11px/1.45 DM Sans;color:#805b00}.complete-record{display:grid;place-items:center;text-align:center;padding:20px;background:#eaf8ed;border-radius:14px;color:#196b38}.complete-record h2{margin-top:8px}.complete-record p{color:#39704b}.history-list{display:grid;gap:8px}.history-list button{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;border:1px solid #e3e6ed;background:#fff;border-radius:12px;padding:12px;color:#172554}.history-list button>div{display:grid;gap:4px}.history-list b{font:800 11px Manrope}.history-list span,.history-list em,.history-list small{font-size:9px;color:#728096;font-style:normal}.history-list em{color:#5144c7;font-weight:800;text-align:right}.history-list small{color:#198144;text-align:right}.text-back{margin:4px 0 18px;font:700 11px DM Sans}.settings-card{padding:20px;border:1px solid #e0e4eb;border-radius:15px;background:#fff}.settings-card h1{font:800 27px Georgia,serif;letter-spacing:-1px;margin:6px 0 16px}.settings-card p{display:flex;align-items:center;gap:7px;color:#536078;font-size:12px}.settings-card small{display:block;margin-top:18px;color:#8490a4;font-size:10px;line-height:1.5}.point-toast{position:fixed;z-index:30;bottom:83px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;background:#13214a;color:#fff;border-radius:999px;padding:10px 13px;font:700 11px DM Sans;box-shadow:0 9px 24px #07153b33}.point-toast svg{color:#94f0aa}@media(min-width:700px){.point-shell{min-height:100dvh;box-shadow:0 0 40px #0f172a17}.point-nav{max-width:880px}}@media(prefers-reduced-motion:reduce){.point-shell *{transition:none!important;animation:none!important}}
.demo-reset{border:1px solid #e0caca;background:#fff7f7;color:#a23a3a;border-radius:9px;padding:9px 11px;font:700 10px DM Sans;margin-top:9px}
.point-page{display:grid;gap:16px}.point-page h2{margin:0}.point-page .point-section-head{margin:0}.storage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}.storage-slot{min-height:108px;display:grid;align-content:start;gap:5px;text-align:left;padding:12px;border:1px solid #dbe9e3;border-radius:14px;background:#f7fbf8;color:#17352b}.storage-slot.occupied{background:#e8f7f0;border-color:#89cfb0}.storage-slot b{font:800 12px Manrope;color:#0c6848}.storage-slot strong{font-size:12px;line-height:1.2}.storage-slot small{font-size:10px;color:#557266}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.more-grid button{display:grid;gap:6px;text-align:left;padding:15px;border:1px solid #dbe9e3;border-radius:14px;background:#fff;color:#17352b;font-weight:800}.more-grid button svg{color:#119b68}.more-grid small{font-weight:500;color:#6a8076;line-height:1.35}.point-status-card{display:grid;gap:5px;padding:16px;border-radius:15px;background:#17352b;color:#fff}.point-status-card span{font-size:12px;color:#cde8dc}@media(min-width:900px){.point-shell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:auto 1fr}.point-header{grid-column:1;grid-row:1/3;min-height:100vh;align-items:start;position:sticky;top:0;flex-direction:column;padding:24px 18px}.point-main{grid-column:2;max-width:1100px;padding:28px 34px}.point-nav{grid-column:2;grid-row:1;position:sticky;top:0;z-index:5;justify-content:flex-start;overflow:auto;border-bottom:1px solid #dbe9e3}.point-nav button{min-width:86px}.point-nav button:nth-last-child(-n+2){display:inline-flex}}
:root{--shareo-accent:#5549c7;--shareo-accent-dark:#39307f;--shareo-accent-soft:#eeecff;--shareo-ink:#142249}
.app-shell,.point-shell{font-family:DM Sans,Arial,sans-serif}.app-shell h1,.app-shell h2,.app-shell h3,.point-shell h1,.point-shell h2,.point-shell h3{font-family:Manrope,DM Sans,sans-serif!important;font-style:normal!important}.app-shell .reference-greeting{font-size:29px!important;line-height:1.04!important;letter-spacing:-1.45px!important;font-weight:800!important}.app-shell .reference-promo h2{font-size:35px!important;letter-spacing:-1.9px!important}.app-shell .app-section h2,.app-shell .reference-products h2{font-size:23px!important;line-height:1.14!important;letter-spacing:-1px!important;margin:0!important}.app-shell .app-main h1:not(.reference-greeting){font-size:27px;letter-spacing:-1.25px;line-height:1.08}.app-shell .eyebrow,.point-shell .eyebrow{color:var(--shareo-accent)!important}.app-shell .app-primary,.point-shell .point-primary{background:var(--shareo-accent)!important;box-shadow:none!important}.app-shell .app-primary:hover,.point-shell .point-primary:hover{background:var(--shareo-accent-dark)!important}.app-shell .filter-chips button.selected,.app-shell .area-options button.selected{background:var(--shareo-accent)!important;border-color:var(--shareo-accent)!important}.app-shell .app-nav button:nth-child(3) i{background:var(--shareo-accent)!important;box-shadow:0 7px 15px #5549c738!important}.app-shell .app-nav .active,.app-shell .app-section-title button,.app-shell .reference-products .app-section-title button{color:var(--shareo-accent-dark)!important}.app-shell .round-cats i{color:var(--shareo-accent-dark)}.app-shell .quote{background:var(--shareo-accent-soft)}.app-shell .quote span,.app-shell .quote small{color:var(--shareo-accent)}.app-shell .quote strong{color:var(--shareo-accent-dark)}.app-shell .empty-state i,.app-shell .message-icon{background:var(--shareo-accent-soft);color:var(--shareo-accent)}.app-shell .app-search input,.app-shell .reference-product>b,.app-shell .reference-product p,.app-shell .app-brand{font-family:DM Sans,Arial,sans-serif}.app-shell .app-brand{font-weight:800!important;letter-spacing:2.1px!important}.app-shell .app-brand small{letter-spacing:.25px!important}.point-shell .point-hero,.point-shell .point-toast{background:#142249}.point-shell .point-mark,.point-shell .point-metrics i{background:var(--shareo-accent-soft);color:var(--shareo-accent)}.point-shell .point-nav button.active,.point-shell .point-booking-card span,.point-shell .history-list em{color:var(--shareo-accent-dark)}.point-shell .point-header b,.point-shell .point-booking-card b,.point-shell .point-metrics strong{font-family:Manrope,DM Sans,sans-serif}.point-shell .point-hero h1,.point-shell .point-section-head h2{letter-spacing:-1.1px!important}.point-shell .point-primary,.point-shell .point-secondary,.app-shell .app-primary,.app-shell .secondary-action{font-family:DM Sans,Arial,sans-serif;font-weight:800!important}@media(prefers-reduced-motion:reduce){.app-shell *,.point-shell *{transition:none!important}}

/* Premium full-screen item detail and proper hourly booking controls. */
.app-shell{--shareo-blue:#2457f5;--shareo-violet:#7456ff;--shareo-ink:#11131a;background:#f6f7fb!important}.app-main{background:#f6f7fb!important}.app-main>*,.sheet{animation:app-rise .32s cubic-bezier(.2,.8,.2,1) both}.reference-product,.product,.listing,.earn-stat,.owner-workspace article{background:#fff}.reference-product{border-radius:16px;padding-bottom:5px}.reference-product>div{overflow:hidden;border-radius:14px}.reference-product img{transition:transform .35s cubic-bezier(.2,.8,.2,1)}.reference-product:hover img{transform:scale(1.035)}.reference-product p{color:var(--shareo-blue)!important;font-variant-numeric:tabular-nums}.detail-sheet{position:fixed;inset:0;z-index:80;overflow-y:auto;max-width:430px;margin:auto;padding:0 0 112px!important;background:#f6f7fb!important;border-radius:0!important;box-shadow:0 0 0 100vmax #11131a66!important}.detail-hero{height:290px;position:relative;background:#dfe5f7}.detail-hero>img{width:100%;height:100%;object-fit:cover}.detail-hero:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#11131a80);pointer-events:none}.detail-sheet .close,.detail-favorite{position:absolute;z-index:2;top:16px;width:40px;height:40px;border:0;border-radius:14px;background:#ffffffed;color:#172146;display:grid;place-items:center;box-shadow:0 8px 22px #17214622}.detail-sheet .close{left:16px}.detail-favorite{right:16px}.detail-badge{position:absolute;z-index:2;bottom:15px;left:16px;display:flex;align-items:center;gap:6px;border-radius:8px;padding:7px 9px;background:#ffffffef;color:#215b3d;font-size:10px;font-weight:800}.detail-content{padding:22px 17px}.detail-content h1{margin:4px 0 8px!important;color:var(--shareo-ink)!important}.detail-meta{display:flex;gap:5px;align-items:center;color:#68758e;font-size:12px}.detail-meta svg{color:#f59e0b}.detail-price{display:flex;align-items:baseline;gap:7px;margin:21px 0 13px}.detail-price strong{font:800 28px/1 Manrope;color:#11131a;font-variant-numeric:tabular-nums}.detail-price span{font-size:12px;color:#64748b}.rate-segment{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#e9ecf5;border-radius:13px}.rate-segment button{border:0;border-radius:10px;padding:10px 8px;background:transparent;color:#65718b;font:800 12px DM Sans;transition:background .22s ease,color .22s ease,box-shadow .22s ease}.rate-segment button small{display:block;font-size:9px;font-weight:700;margin-top:2px}.rate-segment button.active{background:#fff;color:var(--shareo-blue);box-shadow:0 2px 8px #17214614}.detail-point{display:grid;gap:5px;margin:22px 0;padding:15px;border:1px solid #dfe4f0;border-radius:15px;background:#fff}.detail-point>span{color:var(--shareo-violet);font-size:9px;font-weight:900;letter-spacing:.12em}.detail-point b{display:flex;align-items:center;gap:8px;color:#172146;font-size:14px}.detail-point p,.detail-point small{margin:0;color:#64748b;font-size:11px}.detail-point small{color:#4f647e}.detail-section{margin-top:24px}.detail-section h2{font:800 16px Manrope!important;color:#172146}.detail-section>p{color:#536178;font-size:13px;line-height:1.55}.detail-includes{display:flex;flex-wrap:wrap;gap:7px}.detail-includes span{padding:7px 9px;border-radius:8px;background:#eef1ff;color:#3e51b5;font-size:10px;font-weight:800}.demo-review{padding:14px;border-left:3px solid var(--shareo-violet);background:#fff;border-radius:0 12px 12px 0}.demo-review b{color:#b67212;font-size:12px}.demo-review b small{color:#758198;font-weight:600}.demo-review p{margin:7px 0;color:#24324e;font-size:12px;line-height:1.45}.demo-review span{color:#7b879d;font-size:10px}.detail-sticky{position:fixed;z-index:81;bottom:0;left:50%;width:min(100%,430px);box-sizing:border-box;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:11px 16px max(11px,env(safe-area-inset-bottom));background:#ffffffef;border-top:1px solid #e5e9f2;backdrop-filter:blur(16px)}.detail-sticky>div{display:grid;gap:3px;min-width:0}.detail-sticky span{font-size:10px;color:#68758e}.detail-sticky b{font-size:11px;color:#172146;white-space:nowrap}.detail-sticky .app-primary{margin-left:auto;white-space:nowrap;padding:12px 14px!important;background:var(--shareo-blue)!important}.booking-mode{margin:16px 0}.booking-label{margin:17px 0 8px;color:#172146;font-size:12px;font-weight:800}.duration-picks{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.duration-picks button,.duration-picks label{min-height:42px;border:1px solid #dfe4f0;border-radius:10px;background:#fff;color:#5f6d84;font-size:11px;font-weight:800;display:grid;place-items:center}.duration-picks button.active{border-color:var(--shareo-blue);background:#eef1ff;color:var(--shareo-blue)}.duration-picks label{padding:3px 5px;font-size:9px}.duration-picks input{min-width:0;width:100%;border:0;text-align:center;font:800 11px DM Sans;color:#172146;background:transparent}.quote{display:grid;gap:5px;margin-top:18px!important;background:#eef1ff!important}.quote em{font-style:normal;color:#64748b;font-size:10px}.booking-sheet .app-primary{background:var(--shareo-blue)!important}.app-shell button:focus-visible,.app-shell a:focus-visible{outline:3px solid #8c63ff;outline-offset:3px}@media(min-width:700px){.detail-sheet{inset:16px 0 16px;border-radius:24px!important}.detail-sticky{bottom:16px;border-radius:0 0 24px 24px}}@media(prefers-reduced-motion:reduce){.app-main>*,.sheet{animation:none}.reference-product img{transition:none}}
.conversation{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:start;width:100%;text-align:left;border:1px solid #e7ebf2;background:#fff;border-radius:14px;padding:12px;color:#142249}.conversation .message-icon{font:800 10px Manrope}.conversation div{min-width:0}.conversation b,.conversation small{display:block}.conversation b{font:800 12px Manrope}.conversation small{font-size:9px;color:#6c7790;margin-top:2px}.conversation p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#68748b;margin:5px 0 0}.conversation time{font-size:9px;color:#8994a7;white-space:nowrap}.system-message{margin-top:2px}.chat-screen{display:flex;min-height:calc(100dvh - 130px);flex-direction:column}.chat-back{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:#5348ba;font:700 11px DM Sans;padding:2px 0 14px}.chat-person{display:flex;align-items:center;gap:9px;border-bottom:1px solid #e6eaf0;padding-bottom:13px}.chat-person>span{display:grid;place-items:center;width:36px;height:36px;background:#efedff;color:#5549c7;border-radius:50%;font:800 10px Manrope}.chat-person b,.chat-person small{display:block}.chat-person b{font:800 13px Manrope}.chat-person small{color:#6d7890;font-size:10px;margin-top:2px}.chat-thread{display:grid;gap:10px;padding:17px 0;margin-top:auto}.chat-thread>div{max-width:82%;padding:10px 11px;border-radius:13px;background:#f2f4f7;color:#15234a}.chat-thread>div.mine{margin-left:auto;background:#5549c7;color:#fff}.chat-thread b{display:block;font:800 9px DM Sans}.chat-thread p{font-size:11px;line-height:1.4;margin:4px 0}.chat-thread small{display:block;text-align:right;color:#8793a8;font-size:8px}.chat-thread .mine small{color:#ddd9ff}.chat-compose{display:flex;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e6eaf0}.chat-compose input{flex:1;min-width:0;border:1px solid #dce3ec;border-radius:11px;padding:11px;font:11px DM Sans;outline:none}.chat-compose input:focus{border-color:#5549c7;box-shadow:0 0 0 3px #5549c71a}.chat-compose button{display:grid;place-items:center;width:42px;border:0;border-radius:11px;background:#5549c7;color:#fff}
.chat-avatar,.message-icon{overflow:hidden}.chat-avatar img,.message-icon img{width:100%;height:100%;object-fit:cover;display:block}.chat-avatar{display:grid;place-items:center;border-radius:50%;width:42px;height:42px;background:#eef1ff;color:#2457f5;font-weight:800;font-size:12px}
.rental-stack{display:grid;gap:14px}.live-rental{overflow:hidden;border:1px solid #e7e9f2;border-radius:20px;background:#fff;padding:15px;box-shadow:0 8px 24px rgba(12,24,56,.055);animation:shareo-in .35s ease both}.live-rental.return_soon,.live-rental.grace{border-color:#f6c860}.live-rental.overdue{border-color:#f3a0a0}.live-rental.returned,.live-rental.completed{border-color:#b8e6ca}.live-rental-top{display:flex;gap:12px;align-items:center}.live-rental-top img{width:58px;height:58px;border-radius:13px;object-fit:cover}.live-rental-top div{display:grid;gap:3px;min-width:0}.live-rental-top span{font-size:10px;font-weight:800;letter-spacing:.08em;color:#6252ff}.live-rental-top b{color:#13244d;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-rental-top small{display:flex;align-items:center;gap:4px;color:#71809a;font-size:12px}.live-timer{margin:14px 0 9px;padding:12px 13px;border-radius:14px;background:#f3f1ff;display:flex;align-items:baseline;justify-content:space-between}.return_soon .live-timer,.grace .live-timer{background:#fff6df}.overdue .live-timer{background:#fff0ef}.live-timer strong{font:700 24px/1 'DM Mono',monospace;color:#182a55;font-variant-numeric:tabular-nums}.live-timer span{font-size:11px;font-weight:700;color:#65728b}.live-rental>p{margin:10px 0;color:#53627c;font-size:13px}.late-note{display:block;padding:8px 10px;border-radius:10px;background:#fff4f2;color:#a74545;font-size:11px}.fairtime-inline{margin:10px 0;padding:10px 12px;border-radius:12px;background:#e9f9ec;color:#21693a;display:grid;gap:2px}.fairtime-inline b{font-size:13px}.fairtime-inline span{font-size:11px}.live-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 5px}.live-actions button,.live-actions a{border:0;border-radius:11px;padding:9px 10px;display:inline-flex;align-items:center;gap:5px;font:700 11px/1 inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease}.live-actions button:first-child{background:#eef0f7;color:#243458}.live-actions a{background:#e9f9ed;color:#20713c}.live-actions button:last-child{background:#192b58;color:#fff}.live-actions button:hover,.live-actions a:hover{transform:translateY(-2px)}.booking-timeline{margin:15px -15px -15px;padding:12px 15px 14px;border-top:1px solid #edf0f6;display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}.booking-timeline::-webkit-scrollbar{display:none}.booking-timeline span{min-width:54px;display:grid;justify-items:center;gap:5px;color:#9aa5b8;font-size:9px;line-height:1.15;text-align:center}.booking-timeline i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:1px solid #d7dde9;background:#fff;color:#8c98ac}.booking-timeline .done{color:#26395f;font-weight:700}.booking-timeline .done i{border-color:#6551ff;background:#6551ff;color:#fff}@keyframes shareo-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Phase 5 connected communication and account surfaces */
.message-search{margin:-4px 0 14px;height:44px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:-10px 0 18px}.profile-stats span{display:grid;gap:3px;text-align:center;padding:11px 6px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.profile-stats b{font:800 18px Manrope;color:#142249}.profile-stats small{font-size:10px;color:#718096}.profile-head .avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.auth-provider-badge{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef3ff;color:#2457f5;font-size:9px}.notification-group{display:grid;gap:0}.notification-group h3{margin:18px 0 5px;font:800 11px Manrope;color:#64748b;text-transform:uppercase;letter-spacing:.08em}.notices article{grid-template-columns:auto 1fr auto}.notices article.unread{background:#faf9ff}.notices article.read{opacity:.72}.notices article>small{color:#94a3b8;font-size:9px;white-space:nowrap}
.demo-console{min-height:100vh;background:#f7f7fb;color:#13244d;font-family:Inter,system-ui,sans-serif}.demo-console header{min-height:72px;padding:0 6vw;background:#fff;border-bottom:1px solid #e6e8ef;display:flex;align-items:center;gap:18px}.demo-console header button{border:0;background:#eef0f7;border-radius:11px;padding:10px 12px;display:flex;gap:7px;align-items:center;color:#25365e;font-weight:700;cursor:pointer}.demo-console header p{margin:0 0 2px;color:#6653ff;font-size:10px;font-weight:800;letter-spacing:.13em}.demo-console header b{font-size:14px}.demo-console main{width:min(780px,calc(100% - 32px));margin:0 auto;padding:40px 0 72px}.demo-hero{padding:29px;border-radius:25px;background:#13254f;color:#fff;box-shadow:0 16px 38px rgba(15,31,71,.16)}.demo-hero p{margin:0;color:#bfb7ff;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.13em}.demo-hero h1{max-width:460px;margin:9px 0 20px;font:700 clamp(27px,5vw,43px)/1.03 Georgia,serif}.demo-hero button,.demo-main{border:0;border-radius:12px;background:#6551ff;color:#fff;padding:12px 14px;display:inline-flex;align-items:center;gap:7px;font-weight:800;cursor:pointer;box-shadow:0 8px 16px rgba(86,66,255,.26)}.demo-status{display:grid;grid-template-columns:1fr auto;gap:5px;margin:16px 0;padding:17px 18px;border:1px solid #e4e8f2;border-radius:18px;background:#fff}.demo-status span{font-size:12px;color:#728098}.demo-status b{color:#6252ff;font-size:11px;letter-spacing:.08em}.demo-status small{font:700 17px 'DM Mono',monospace}.demo-status p{grid-column:1/-1;margin:6px 0 0;padding-top:11px;border-top:1px solid #edf0f6;font-size:12px;color:#596780}.demo-grid,.demo-actions{display:flex;flex-wrap:wrap;gap:8px}.demo-grid button,.demo-actions button{border:1px solid #dfe4f0;border-radius:10px;background:#fff;padding:9px 10px;color:#273961;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,border-color .18s ease}.demo-grid button:hover,.demo-actions button:hover{transform:translateY(-2px);border-color:#786cff}.demo-section{margin-top:24px;padding:20px;border:1px solid #e2e6ef;border-radius:19px;background:#fff}.demo-section h2{margin:0 0 13px;font:700 21px Georgia,serif}.demo-main{margin-bottom:13px}.demo-note{margin:18px 0 0;text-align:center;color:#79859a;font-size:11px}@media(max-width:520px){.demo-console main{padding-top:22px}.demo-hero{padding:23px}.demo-console header{padding:0 16px}.demo-console header div{display:none}.demo-grid button{flex:1}.demo-actions button{flex:1 1 44%}}
.shareo-credit{margin:14px 0;padding:14px 15px;border-radius:16px;background:#eaf8ed;display:grid;gap:3px;color:#24683a}.shareo-credit span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.shareo-credit b{font-size:21px}.shareo-credit small{font-size:11px}.owner-workspace{display:grid;gap:10px}.owner-workspace article{display:grid;gap:5px;padding:13px;border:1px solid #e4e7f0;border-radius:14px}.owner-workspace span{font-size:10px;font-weight:800;letter-spacing:.06em;color:#6551ff}.owner-workspace b{font-size:14px;color:#172853}.owner-workspace small{color:#758198;font-size:12px}.owner-workspace button{justify-self:start;border:0;border-radius:9px;padding:8px 10px;background:#172b58;color:#fff;font-size:11px;font-weight:800;display:flex;gap:5px;align-items:center}
.app-shell .app-main{padding-bottom:132px!important;min-height:calc(100dvh - 132px);box-sizing:border-box}.app-shell .app-nav{display:block!important;padding-left:0!important;padding-right:0!important}.app-shell .app-nav button{position:absolute!important;bottom:9px;width:12.5%!important;min-width:0;height:58px;display:flex!important;flex-direction:column;align-items:center!important;justify-content:flex-end;text-align:center!important;line-height:1}.app-shell .app-nav button:nth-child(1){left:0}.app-shell .app-nav button:nth-child(2){left:13%}.app-shell .app-nav button:nth-child(3){left:26%}.app-shell .app-nav button:nth-child(4){left:50%;bottom:9px;width:64px!important;transform:translateX(-50%);z-index:1}.app-shell .app-nav button:nth-child(5){left:62%}.app-shell .app-nav button:nth-child(6){left:75%}.app-shell .app-nav button:nth-child(7){left:87.5%}.app-shell .app-nav button i{width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;text-align:center!important;transform:translateY(-10px)}.app-shell .app-nav button i>svg{display:block!important;margin:0!important}.app-shell .app-nav button:nth-child(3) i{width:100%!important;height:auto;margin:0 0 4px!important;border-radius:0;background:transparent!important;color:currentColor!important;box-shadow:none!important;font-size:22px!important}.app-shell .app-nav button:nth-child(4) i{display:grid!important;place-items:center;width:48px!important;height:48px;margin:-21px auto 1px!important;border-radius:50%;background:var(--shareo-accent)!important;color:#fff!important;font-size:33px!important;box-shadow:0 7px 15px #5549c738!important;transform:none}.app-shell .app-nav button:nth-child(4){color:#101e4a!important}.app-shell .app-nav button:nth-child(4).active{color:var(--shareo-accent-dark)!important}@media(max-width:360px){.app-shell .app-nav button{font-size:7px!important}.app-shell .app-nav i{font-size:19px!important}.app-shell .app-nav button:nth-child(4) i{width:44px!important;height:44px;margin-top:-18px!important;font-size:29px!important}}
/* Six-item consumer navigation matches the reference app: Home, Search,
   Rentals, Earn, Messages, Profile. */
.app-shell .app-nav{display:grid!important;grid-template-columns:repeat(7,1fr);align-items:end;position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,430px);height:82px;z-index:40}
.app-shell .app-nav button{position:static!important;width:auto!important;height:58px;transform:none!important}
.app-shell .app-nav button:nth-child(4){width:auto!important;transform:none!important}
@media(max-width:360px){.app-shell .app-nav button{font-size:8px!important}}
.app-shell .app-nav button{transition:color .2s ease,transform .2s ease}.app-shell .app-nav button:active{transform:scale(.95)!important}.app-shell .app-nav button i{transition:transform .25s cubic-bezier(.2,.8,.2,1),color .2s ease}.app-shell .app-nav button.active i{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.app-shell .app-nav button,.app-shell .app-nav button i{transition:none!important}}
.demo-otp{display:block;margin:8px 0;color:#5b4bff;font-size:11px;font-weight:700}
.app-shell .reference-product>b{white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:2.2em;overflow:hidden;line-height:1.1!important}
.app-shell .reference-product>div{aspect-ratio:1.22; height:auto!important;min-height:128px}
.app-shell .reference-product img{display:block;min-width:0;min-height:0}
.app-shell .product>b{white-space:normal!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;min-height:2.2em;overflow:hidden;line-height:1.15!important}
.app-shell .product{min-width:0;overflow:hidden}

/* Keep the fixed bar clear of the final product row and safe-area inset. */
.app-shell .app-main{padding-bottom:170px!important;min-height:calc(100dvh - 170px)!important}
.app-shell .app-nav{height:92px!important;padding:8px 4px max(8px,env(safe-area-inset-bottom))!important;box-sizing:border-box;background:rgba(255,255,255,.97);border-top:1px solid #e6e9f1;box-shadow:0 -8px 24px rgba(17,27,58,.06);backdrop-filter:blur(14px)}

/* Desktop PWA: retain the app canvas, but give it breathing room instead of
   rendering a narrow phone column in the middle of a large viewport. */
@media (min-width:700px){
  .app-shell .app-main{max-width:760px!important;padding:32px 36px 170px!important;margin:0 auto;min-height:100dvh!important}
  .app-shell .app-nav{max-width:760px!important;width:min(100%,760px)!important}
  .app-shell .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
  .app-shell .product-shelf{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible!important}
  .app-shell .reference-products{margin-top:36px}
}

/* Reference-screen typography and rhythm: bold geometric type, compact
   controls, and the same generous gutters on desktop and mobile. */
.app-shell .reference-greeting{font-family:Manrope,DM Sans,sans-serif!important;font-weight:800!important;letter-spacing:-1.9px!important;line-height:.98!important}
.app-shell .reference-promo h2,.app-shell .reference-products h2{font-family:Manrope,DM Sans,sans-serif!important;font-weight:800!important}
.app-shell .reference-promo{box-shadow:0 12px 26px rgba(17,27,58,.08)}
.app-shell .reference-product>div{box-shadow:0 8px 18px rgba(17,27,58,.07)}
@media(max-width:430px){.app-shell .reference-greeting{font-size:clamp(30px,8.1vw,38px)!important}.app-shell .reference-promo h2{font-size:clamp(34px,9.6vw,42px)!important}}
/* Reference-inspired SHAREO app shell: one centered canvas on desktop,
   roomy iPhone proportions on mobile, and a stable six-item bottom bar. */
.app-shell {
  --ref-ink: #111f4b;
  --ref-muted: #74819a;
  --ref-blue: #2457f5;
  background: #f5f7fc !important;
}
.app-main {
  width: 100%;
  max-width: 430px !important;
  padding: 18px 16px calc(104px + env(safe-area-inset-bottom)) !important;
  background: #f5f7fc !important;
}
.reference-home { position: relative; margin: -18px -16px 0; padding: 18px 16px 0; background: #f5f7fc; overflow: hidden; }
.reference-home::before { display: none; }
.reference-home > * { position: relative; z-index: 1; }
.reference-home .reference-header { color: var(--ref-ink); }
.reference-home .reference-header .app-brand b,
.reference-home .reference-header .app-brand small,
.reference-home .reference-header .app-location,
.reference-home .reference-header .bell { color: var(--ref-ink) !important; }
.reference-home .reference-header .app-brand > img { filter: none; }
.reference-home .reference-greeting { color: var(--ref-ink) !important; }
.reference-home .app-search { background: #fff; }
.reference-home .round-cats { margin-bottom: 22px; }
.reference-home .round-cats button { color: var(--ref-ink) !important; }
.reference-home .reference-promo { margin-top: 0 !important; }
.reference-home > .app-section,
.reference-home > .reference-products { background: #fff; border-radius: 20px; padding: 18px 14px 16px; }
.reference-home > .app-section { margin-bottom: 14px; }
.reference-home > .reference-products { margin-top: 14px !important; }
.reference-header { height: 52px !important; }
.reference-header .app-brand b { color: var(--ref-ink) !important; }
.reference-greeting {
  color: var(--ref-ink) !important;
  font-size: clamp(30px, 8.3vw, 38px) !important;
  line-height: .98 !important;
  letter-spacing: -2px !important;
  margin: 22px 0 20px !important;
}
.reference-promo { box-shadow: 0 12px 30px rgba(17,31,75,.12); }
.photo-cats button { min-width: 91px; }
.photo-cats img { aspect-ratio: .74; object-fit: cover; }
.reference-product { min-width: 0; }
.reference-product > b { color: var(--ref-ink) !important; }
.reference-product p { color: var(--ref-blue) !important; }

/* The supplied reference has five compact icon-only actions with Earn in the
   exact center; search and rentals remain reachable from the marketplace. */
.app-shell .app-nav {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: end;
  width: min(100%, 430px) !important;
  height: 78px !important;
  padding: 6px 8px max(6px, env(safe-area-inset-bottom)) !important;
  background: rgba(255,255,255,.97) !important;
  border-top: 1px solid #e5e9f2 !important;
  box-shadow: 0 -10px 28px rgba(17,31,75,.08) !important;
  backdrop-filter: blur(16px);
}
.app-shell .app-nav button,
.app-shell .app-nav button:nth-child(n) {
  position: relative !important;
  inset: auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 54px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 5px;
  color: #74819a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  transform: none !important;
}
.app-shell .app-nav button i,
.app-shell .app-nav button:nth-child(n) i {
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: currentColor !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.app-shell .app-nav button.active { color: var(--ref-ink) !important; }
.app-shell .app-nav button:nth-child(3) { color: var(--ref-ink) !important; }
.app-shell .app-nav button:nth-child(3) i {
  width: 52px !important;
  height: 52px !important;
  margin-top: -28px !important;
  margin-bottom: 1px !important;
  border-radius: 50% !important;
  background: linear-gradient(145deg, #7456ff, #5140d4) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(81,64,212,.35) !important;
}
.app-shell .app-nav button:active { transform: scale(.95) !important; }

/* Message list uses the same product-led thumbnail language as the reference. */
.app-shell .conversation .message-icon {
  width: 56px !important;
  height: 48px !important;
  border-radius: 12px !important;
  background: #eef1f8 !important;
}
.app-shell .conversation { grid-template-columns: 56px minmax(0,1fr) auto !important; align-items: center !important; }
.app-shell .conversation b { font-size: 13px !important; }
.app-shell .conversation p { font-size: 11px !important; }
.app-shell .chat-person { padding: 10px 0 14px !important; }
.app-shell .chat-thread > div { border-radius: 17px !important; padding: 11px 13px !important; }

@media (min-width: 700px) {
  .app-shell { min-height: 100vh; }
  .app-main { max-width: 900px !important; padding: 30px 34px calc(112px + env(safe-area-inset-bottom)) !important; margin: 0 auto !important; }
  .app-shell .app-nav { max-width: 900px !important; width: calc(100% - 48px) !important; left: 50% !important; transform: translateX(-50%) !important; height: 74px !important; border-radius: 18px 18px 0 0 !important; }
  .app-shell .app-nav button { height: 54px !important; }
  .reference-products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .reference-promo { height: 300px !important; }
  .reference-product > div { height: 190px !important; }
}
@media (max-width: 360px) {
  .app-shell .app-nav button { font-size: 9px !important; }
  .app-shell .app-nav button:nth-child(3) i { width: 48px !important; height: 48px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .app-shell .app-nav button,
  .app-shell .app-nav button i,
  .app-shell .reference-product img { transition: none !important; }
}
.app-shell .earn-stat{margin-top:14px;margin-bottom:20px}.app-shell .earn-stat+.app-section{margin-top:4px}.app-shell .my-listings{gap:13px}.app-shell .listing{padding:11px}.app-shell .listing+.listing{margin-top:1px}
.security-sheet .security-rows{display:grid;gap:8px;margin:17px 0}.security-sheet .security-rows span{display:flex;align-items:center;gap:8px;padding:10px 11px;border:1px solid #dfe8e2;border-radius:10px;background:#f3fbf5;color:#1d6538;font-size:12px;font-weight:700}.security-sheet .security-rows span:nth-child(3),.security-sheet .security-rows span:nth-child(4){color:#364b70;background:#f5f7fb;border-color:#e0e5ef}
/* The Point workspace deliberately shares the mark geometry, not the consumer palette. */
.point-brand-mark,
.point-mark img,
.point-app-card img { filter: grayscale(1) saturate(0) brightness(.72); }
.point-brand-mark { width:34px; height:34px; object-fit:contain; margin-left:-7px; margin-right:-5px; }
.point-mark { overflow:hidden; }
.point-mark img { width:54px; height:54px; object-fit:contain; }
.point-shell { --shareo-accent:#4b5563; --shareo-accent-dark:#374151; --shareo-accent-soft:#edf0f3; background:#f7f8fa; color:#1f2937; }
.point-shell .point-header { background:#fff; border-color:#e5e7eb; color:#374151; }
.point-shell .point-hero,.point-shell .point-toast { background:#343a46!important; }
.point-shell .point-hero p { color:#d8dde3!important; }
.point-shell .point-primary { background:#4b5563!important; }
.point-shell .point-primary:hover { background:#374151!important; }
.point-shell .point-secondary { color:#374151; border-color:#d8dde3; }
.point-shell .point-mark,.point-shell .point-metrics i { background:#edf0f3!important; color:#4b5563!important; }
.point-shell .point-nav button.active,.point-shell .point-booking-card span,.point-shell .history-list em,.point-shell .point-section-head button { color:#374151!important; }
.point-shell .queue-section>div:first-child span { background:#edf0f3; color:#4b5563; }
.point-shell .demo-action { color:#4b5563; }
.point-shell .pickup-code { background:#f0f2f4; }
.point-shell .pickup-code svg,.point-shell .pickup-code strong { color:#374151; }
.reference-header .app-brand { display:flex!important; align-items:center; gap:3px!important; letter-spacing:0!important; }
.reference-header .app-brand>img { width:42px!important; height:35px!important; margin:-4px -10px -4px -11px!important; object-fit:contain; }
.reference-header .app-brand>span { display:grid; gap:1px; }
.reference-header .app-brand b { font:800 25px/1 Manrope,sans-serif!important; letter-spacing:3px!important; }
.reference-header .app-brand small { display:block; font:700 9px/1 DM Sans,sans-serif!important; letter-spacing:.45px!important; }

.flow-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:28px; }
.flow-actions a { display:inline-flex; align-items:center; gap:8px; padding:12px 15px; border:1px solid #8290ad; border-radius:9px; color:#fff; font:700 12px Manrope,sans-serif; transition:transform .2s ease,background .2s ease; }
.flow-actions a:hover { transform:translateY(-2px); background:#ffffff14; }
.flow-actions svg { width:16px; height:16px; padding:0; background:transparent; }
.app-ecosystem { background:#f4f5f8; padding:112px max(5.4vw,36px); }
.app-ecosystem .section-head { margin-bottom:34px; }
.app-ecosystem .section-head>p:last-child { max-width:590px; margin:15px 0 0; color:var(--muted); font-size:16px; line-height:1.6; }
.app-ecosystem-grid { max-width:1280px; margin:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.consumer-app-card,.point-app-card { min-height:295px; padding:34px; position:relative; overflow:hidden; border-radius:20px; display:flex; flex-direction:column; align-items:flex-start; }
.consumer-app-card { background:#fff; color:var(--ink); border:1px solid #e0e5ee; }
.point-app-card { background:#343a46; color:#fff; }
.consumer-app-card img,.point-app-card img { width:68px; height:68px; object-fit:contain; margin:0 0 31px -10px; }
.consumer-app-card p,.point-app-card p { margin:0 0 8px; font:800 10px DM Sans,sans-serif; letter-spacing:1.4px; }
.consumer-app-card p { color:var(--violet); }.point-app-card p { color:#d7dde5; }
.consumer-app-card h3,.point-app-card h3 { margin:0; font:800 30px Manrope,sans-serif; letter-spacing:-1.4px; }
.point-app-card h3 em { color:#cbd1d9; font-style:normal; }
.consumer-app-card span,.point-app-card span { margin-top:4px; color:var(--muted); font-size:13px; }.point-app-card span { color:#cbd1d9; }
.consumer-app-card a,.point-app-card a { margin-top:auto; display:inline-flex; align-items:center; gap:8px; font:700 13px Manrope,sans-serif; }
.consumer-app-card a { color:var(--violet); }.point-app-card a { color:#fff; }
.consumer-app-card a svg,.point-app-card a svg { width:17px; }
footer a { font-weight:700; color:#53607b; }
footer a:hover { color:var(--violet); }
@media(max-width:850px) { .app-ecosystem{padding:72px 23px}.app-ecosystem-grid{grid-template-columns:1fr}.consumer-app-card,.point-app-card{min-height:250px;padding:27px}.flow-actions{margin-top:23px}.point-brand-mark{width:30px;height:30px} footer{grid-template-columns:1fr 1fr} }
/* Keep the public website's primary CTA available on small screens. */
@media (max-width: 850px) {
  body, #root { width: 100%; max-width: 100%; overflow-x: hidden; }
  header { max-width: 100%; }
  header .app-download.refined-download {
    display: inline-flex !important;
    flex: 0 0 auto;
    min-height: 38px !important;
    height: 38px !important;
    padding: 3px 9px 3px 4px !important;
    gap: 6px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
  }
  header .app-download.refined-download .download-arrow {
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
  }
  header .app-download.refined-download .download-arrow svg { width: 13px !important; }
  header .app-download.refined-download > span:last-child { font-size: 10px !important; }
  header .menu { padding: 6px !important; }
  .hero, .intro, .sides, .point-story, .flow, .fee-section, .prototype-reviews, .join, footer { max-width: 100%; overflow-x: hidden; }
  .hero-media img, .point-story-photo img { max-width: 100%; }
}
/* SHAREO UI polish pass: one compact design language across marketplace screens. */
:root {
  --ui-ink: #111b3a;
  --ui-muted: #71809a;
  --ui-line: #e4e9f2;
  --ui-surface: #ffffff;
  --ui-canvas: #f6f8fc;
  --ui-blue: #2457f5;
  --ui-violet: #7456ff;
  --ui-radius: 18px;
  --ui-shadow: 0 14px 34px rgba(17, 27, 58, .08);
}

.app-shell { background: var(--ui-canvas) !important; color: var(--ui-ink); }
.app-main { color: var(--ui-ink); }
.app-main button, .app-main input, .app-main select, .app-main textarea { font-family: DM Sans, Arial, sans-serif; }
.app-main button { -webkit-tap-highlight-color: transparent; }
.app-main button:active { transform: translateY(1px) scale(.985); }
.app-main input:focus, .app-main select:focus, .app-main textarea:focus { border-color: var(--ui-blue) !important; box-shadow: 0 0 0 3px rgba(36,87,245,.12); outline: 0; }

/* Main five-action navigation: the Earn action is the visual anchor. */
.app-shell .app-nav { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
.app-shell .app-nav button:nth-child(4) { color: var(--ui-ink) !important; }
.app-shell .app-nav button:nth-child(4) i {
  width: 52px !important; height: 52px !important; margin-top: -28px !important;
  border-radius: 50% !important; background: linear-gradient(145deg, #7456ff, #5140d4) !important;
  color: #fff !important; box-shadow: 0 10px 24px rgba(81,64,212,.30) !important;
}
.app-shell .app-nav button:nth-child(3) i { width: 30px !important; height: 30px !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; color: currentColor !important; }
.app-shell .app-nav button { color: #7a879f !important; }
.app-shell .app-nav button.active { color: var(--ui-blue) !important; }
.app-shell .app-nav button:nth-child(4).active { color: var(--ui-ink) !important; }

/* Shared marketplace surfaces. */
.app-shell .app-section, .app-shell .reference-products { border-radius: var(--ui-radius); }
.app-shell .reference-product, .app-shell .product, .app-shell .rental, .app-shell .listing,
.app-shell .owner-workspace article, .app-shell .profile-list { border-color: var(--ui-line) !important; box-shadow: 0 8px 22px rgba(17,27,58,.045); }
.app-shell .reference-product:hover, .app-shell .product:hover { box-shadow: var(--ui-shadow); transform: translateY(-2px); }
.app-shell .reference-product img, .app-shell .product-img img { aspect-ratio: 1.18; object-fit: cover; }
.app-shell .reference-product > b, .app-shell .product > b { color: var(--ui-ink) !important; }
.app-shell .reference-product p, .app-shell .product p strong { color: var(--ui-blue) !important; font-variant-numeric: tabular-nums; }
.app-shell .search-tags span, .app-shell .search-tags button { border: 1px solid #dfe5f2; background: #fff; color: var(--ui-ink); }
.app-shell .search-tags button:active, .app-shell .search-tags button:focus-visible { border-color: var(--ui-blue); color: var(--ui-blue); }

/* Product detail reads as a marketplace page, with a clear owner and point hierarchy. */
.app-shell .detail-sheet { background: var(--ui-canvas) !important; }
.app-shell .detail-content { padding-top: 20px; }
.app-shell .detail-content h1 { font-size: clamp(25px, 7vw, 34px) !important; letter-spacing: -1.3px !important; }
.app-shell .detail-price strong { color: var(--ui-blue); }
.app-shell .detail-share { position: absolute; z-index: 2; top: 16px; right: 64px; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 14px; background: #ffffffed; color: var(--ui-ink); box-shadow: 0 8px 22px rgba(23,33,70,.14); }
.app-shell .detail-gallery-dots { position: absolute; z-index: 2; left: 50%; bottom: 17px; transform: translateX(-50%); display: flex; gap: 5px; }
.app-shell .detail-gallery-dots button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: #ffffff9c; }
.app-shell .detail-gallery-dots button.active { width: 18px; border-radius: 99px; background: #fff; }
.app-shell .detail-thumbnails { position: absolute; z-index: 2; left: 14px; bottom: 12px; display: flex; gap: 6px; max-width: calc(100% - 28px); overflow: auto; }
.app-shell .detail-thumbnails button { width: 34px; height: 34px; padding: 2px; border: 2px solid transparent; border-radius: 9px; background: #ffffffd9; overflow: hidden; }
.app-shell .detail-thumbnails button.active { border-color: var(--ui-blue); }
.app-shell .detail-thumbnails img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.app-shell .detail-owner { display: flex; align-items: center; gap: 10px; margin: 16px 0 2px; padding: 10px 0; border-top: 1px solid var(--ui-line); border-bottom: 1px solid var(--ui-line); }
.app-shell .detail-owner-avatar { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; border-radius: 50%; background: #e6ebff; color: var(--ui-blue); font-weight: 900; }
.app-shell .detail-owner > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; flex: 1; }
.app-shell .detail-owner b { font-size: 12px; }
.app-shell .detail-owner small { color: var(--ui-muted); font-size: 10px; }
.app-shell .detail-owner > svg { color: var(--ui-muted); }
.app-shell .detail-point { box-shadow: 0 8px 22px rgba(17,27,58,.055); }
.app-shell .detail-section h2 { letter-spacing: -.3px; }
.app-shell .detail-includes span { background: #edf2ff; color: #3150b2; border: 1px solid #dce5ff; }
.app-shell .detail-sticky { padding-top: 12px; }
.app-shell .detail-sticky .app-primary { border-radius: 13px; min-height: 46px; justify-content: center; }

/* Booking sheet: fee rows are scannable before the user confirms. */
.app-shell .booking-sheet { background: var(--ui-surface); }
.app-shell .booking-sheet h1 { letter-spacing: -.8px; }
.app-shell .booking-summary { border: 1px solid var(--ui-line); }
.app-shell .quote { background: #f1f4ff !important; border: 1px solid #e0e7ff; }
.app-shell .quote-breakdown { display: grid; gap: 7px; margin-top: 4px; padding-top: 9px; border-top: 1px solid #dbe3fa; }
.app-shell .quote-breakdown span { display: flex; justify-content: space-between; align-items: baseline; color: #5e6d86; font-size: 11px; }
.app-shell .quote-breakdown span:nth-child(4) { color: var(--ui-ink); font-weight: 800; }
.app-shell .quote-breakdown b { color: var(--ui-ink); font-variant-numeric: tabular-nums; }

/* Motion stays short, tactile, and disappears for reduced-motion users. */
.app-shell .reference-product, .app-shell .product, .app-shell .app-nav button,
.app-shell .app-primary, .app-shell .secondary-action, .app-shell .detail-favorite {
  transition: transform 180ms cubic-bezier(.2,.8,.2,1), box-shadow 180ms ease, color 180ms ease, background 180ms ease;
}
@media (min-width: 700px) {
  .app-shell .app-main { max-width: 980px !important; }
  .app-shell .app-nav { max-width: 980px !important; width: min(100%, 980px) !important; }
  .app-shell .reference-products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 430px) {
  .app-shell .app-main { padding-left: 14px !important; padding-right: 14px !important; }
  .app-shell .reference-home { margin-left: -14px; margin-right: -14px; padding-left: 14px; padding-right: 14px; }
  .app-shell .app-nav { height: 88px !important; }
  .app-shell .app-nav button { font-size: 10px !important; }
  .app-shell .detail-sticky { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .app-shell .reference-product, .app-shell .product, .app-shell .app-nav button,
  .app-shell .app-primary, .app-shell .secondary-action, .app-shell .detail-favorite { transition: none !important; }
}
/* SHAREO visual foundation — shared by consumer and Point surfaces. */
:root {
  --shareo-blue: #2457f5;
  --shareo-blue-bright: #176bff;
  --shareo-navy: #111b3a;
  --shareo-ink: #101828;
  --shareo-violet: #7456ff;
  --shareo-canvas: #f6f8fc;
  --shareo-white: #ffffff;
  --shareo-blue-soft: #eef3ff;
  --shareo-success: #0f9f68;
  --shareo-warning: #bd7411;
  --shareo-danger: #c43d4b;

  --point-deep: #0c6848;
  --point-green: #119b68;
  --point-accent: #25c184;
  --point-mint: #e8f7f0;
  --point-ink: #17352b;

  --font-display: "Manrope", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --font-body: "DM Sans", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --border-subtle: #e4e9f2;
  --shadow-sm: 0 2px 10px rgba(17, 27, 58, 0.06);
  --shadow-md: 0 12px 30px rgba(17, 27, 58, 0.09);
  --shadow-lg: 0 24px 55px rgba(17, 27, 58, 0.13);

  --motion-fast: 150ms;
  --motion-base: 200ms;
  --motion-slow: 350ms;
  --ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);

  --z-sticky: 20;
  --z-header: 30;
  --z-overlay: 60;
  --z-dialog: 70;
  --bp-xs: 320px;
  --bp-sm: 375px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --bp-2xl: 1440px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-bottom: calc(76px + var(--safe-bottom)); }
body { font-family: var(--font-body); color: var(--shareo-ink); background: var(--shareo-canvas); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:where(button, a, input, textarea, select):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--shareo-blue) 30%, transparent);
  outline-offset: 3px;
}

.ds-button, .ds-icon-button, .ds-chip, .ds-tab, .ds-card { transition: transform var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard); }
.ds-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; padding: 0 var(--space-5); border: 1px solid transparent; border-radius: var(--radius-md); font-weight: 700; cursor: pointer; }
.ds-button:active, .ds-icon-button:active, .ds-chip:active { transform: scale(.98); }
.ds-button-primary { color: var(--shareo-white); background: var(--shareo-blue); box-shadow: var(--shadow-sm); }
.ds-button-primary:hover { background: var(--shareo-blue-bright); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.ds-button-secondary { color: var(--shareo-navy); background: var(--shareo-white); border-color: var(--border-subtle); }
.ds-button-secondary:hover { border-color: var(--shareo-blue); box-shadow: var(--shadow-sm); }
.ds-button-ghost { color: var(--shareo-blue); background: transparent; }
.ds-button-sm { min-height: 36px; padding: 0 var(--space-3); border-radius: var(--radius-sm); font-size: 13px; }
.ds-button-lg { min-height: 52px; padding-inline: var(--space-6); }
.ds-button[disabled] { cursor: not-allowed; opacity: .58; transform: none; }
.ds-icon-button { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; color: var(--shareo-navy); background: var(--shareo-white); border: 1px solid var(--border-subtle); border-radius: 50%; cursor: pointer; }
.ds-icon-button:hover { color: var(--shareo-blue); border-color: var(--shareo-blue); box-shadow: var(--shadow-sm); }
.ds-field { display: grid; gap: var(--space-2); color: var(--shareo-navy); font-size: 14px; font-weight: 700; }
.ds-input { width: 100%; min-height: 46px; padding: 0 var(--space-4); color: var(--shareo-ink); background: var(--shareo-white); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); transition: border-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard); }
.ds-input::placeholder { color: #8490a8; }
.ds-input:focus { border-color: var(--shareo-blue); box-shadow: 0 0 0 4px rgba(36, 87, 245, .1); outline: 0; }
.ds-search-field { position: relative; display: flex; align-items: center; }
.ds-search-field > svg { position: absolute; left: var(--space-4); color: #71809a; pointer-events: none; }
.ds-search-field .ds-input { padding-left: 44px; }
.ds-chip, .ds-badge { display: inline-flex; align-items: center; gap: 6px; width: max-content; border-radius: var(--radius-pill); font-size: 13px; font-weight: 700; white-space: nowrap; }
.ds-chip { min-height: 36px; padding: 0 var(--space-4); color: var(--shareo-navy); background: var(--shareo-white); border: 1px solid var(--border-subtle); cursor: pointer; }
.ds-chip:hover, .ds-chip-active { color: var(--shareo-blue); background: var(--shareo-blue-soft); border-color: #bdccff; }
.ds-badge { min-height: 26px; padding: 0 10px; color: var(--shareo-blue); background: var(--shareo-blue-soft); }
.ds-badge-success { color: var(--shareo-success); background: #e7f7ef; }
.ds-badge-warning { color: var(--shareo-warning); background: #fff4df; }
.ds-badge-danger { color: var(--shareo-danger); background: #fff0f1; }
.ds-tabs { display: flex; gap: var(--space-1); padding: 4px; background: #edf1f8; border-radius: var(--radius-md); }
.ds-tab { min-height: 38px; flex: 1; padding: 0 var(--space-3); color: #71809a; background: transparent; border: 0; border-radius: 10px; font-weight: 700; cursor: pointer; }
.ds-tab-active { color: var(--shareo-navy); background: var(--shareo-white); box-shadow: var(--shadow-sm); }
.ds-avatar { display: inline-grid; place-items: center; flex: 0 0 auto; width: 40px; height: 40px; overflow: hidden; color: var(--shareo-blue); background: var(--shareo-blue-soft); border-radius: 50%; font-weight: 800; }
.ds-avatar-sm { width: 32px; height: 32px; font-size: 12px; }
.ds-avatar-lg { width: 56px; height: 56px; font-size: 18px; }
.ds-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ds-rating { display: inline-flex; align-items: center; gap: 4px; color: var(--shareo-navy); font-weight: 700; }
.ds-rating-stars { color: #e2a51a; letter-spacing: 1px; }
.ds-price { color: var(--shareo-blue); font-weight: 800; letter-spacing: -.02em; }
.ds-price-unit { color: #71809a; font-size: .82em; font-weight: 700; }
.ds-card { background: var(--shareo-white); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.ds-card:hover { border-color: #c8d4f5; box-shadow: var(--shadow-md); }
.ds-product-card { overflow: hidden; }
.ds-product-card-link { display: block; color: inherit; text-decoration: none; }
.ds-product-card-body { display: grid; gap: var(--space-2); padding: var(--space-4); }
.ds-product-card-title { margin: 0; color: var(--shareo-navy); font-size: 16px; line-height: 1.25; }
.ds-product-image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #edf1f8; }
.ds-product-image-contain { object-fit: contain; padding: var(--space-3); }
.ds-point-card { border-color: #c6e9d9; }
.ds-point-card .ds-badge { color: var(--point-deep); background: var(--point-mint); }
.ds-booking-card, .ds-rental-card { display: grid; gap: var(--space-4); padding: var(--space-5); }
.ds-booking-card-header, .ds-rental-card-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.ds-status-timeline { display: grid; gap: var(--space-3); }
.ds-status-step { display: grid; grid-template-columns: 20px 1fr; gap: var(--space-3); align-items: start; color: #71809a; font-size: 14px; }
.ds-status-dot { width: 16px; height: 16px; margin-top: 2px; border: 3px solid #d9dfeb; border-radius: 50%; }
.ds-status-step-complete { color: var(--shareo-navy); font-weight: 700; }
.ds-status-step-complete .ds-status-dot { background: var(--shareo-blue); border-color: #b9c8ff; }
.ds-overlay { position: fixed; inset: 0; z-index: var(--z-overlay); display: grid; place-items: end center; padding: var(--space-4); background: rgba(17, 27, 58, .32); }
.ds-bottom-sheet, .ds-dialog { width: min(100%, 560px); max-height: min(90dvh, 760px); overflow: auto; padding: var(--space-6); background: var(--shareo-white); border: 1px solid var(--border-subtle); border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); animation: ds-enter var(--motion-slow) var(--ease-standard) both; }
.ds-dialog { align-self: center; }
.ds-toast { position: fixed; right: max(var(--space-4), var(--safe-right)); bottom: max(var(--space-4), var(--safe-bottom)); z-index: var(--z-dialog); max-width: min(360px, calc(100vw - 32px)); padding: var(--space-4) var(--space-5); color: var(--shareo-white); background: var(--shareo-navy); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); animation: ds-enter var(--motion-base) var(--ease-standard) both; }
.ds-skeleton { display: block; min-height: 1em; overflow: hidden; background: linear-gradient(90deg, #edf1f8 25%, #f8faff 50%, #edf1f8 75%); background-size: 200% 100%; border-radius: var(--radius-sm); animation: ds-shimmer 1.5s ease-in-out infinite; }
.ds-empty, .ds-error { display: grid; justify-items: center; gap: var(--space-3); padding: var(--space-10) var(--space-6); color: #71809a; text-align: center; }
.ds-empty-title, .ds-error-title { margin: 0; color: var(--shareo-navy); font-size: 18px; }
.ds-error { color: var(--shareo-danger); }
.recent-searches, .active-filter-chips { display: flex; align-items: center; gap: 8px; overflow-x: auto; padding: 2px 0 10px; scrollbar-width: none; }
.recent-searches > span { flex: 0 0 auto; color: #71809a; font-size: 12px; font-weight: 700; }
.recent-searches button, .active-filter-chips button { flex: 0 0 auto; min-height: 30px; padding: 0 10px; color: var(--shareo-navy); background: var(--shareo-white); border: 1px solid var(--border-subtle); border-radius: var(--radius-pill); font-size: 12px; cursor: pointer; }
.active-filter-chips button { color: var(--shareo-blue); background: var(--shareo-blue-soft); border-color: #c7d3ff; }
.detail-favorite.active { color: var(--shareo-blue); background: var(--shareo-blue-soft); border-color: #b9c8ff; }
.point-choice-fieldset { margin: 18px 0 0; padding: 0; border: 0; }
.point-choice-fieldset legend { margin-bottom: 8px; color: var(--shareo-navy); font-size: 13px; font-weight: 800; }
.point-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.point-choice { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 10px 12px; color: var(--shareo-navy); text-align: left; background: var(--shareo-white); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); cursor: pointer; transition: border-color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast); }
.point-choice:hover { transform: translateY(-1px); border-color: #b9c8ff; }
.point-choice.selected { color: var(--shareo-blue); background: var(--shareo-blue-soft); border-color: var(--shareo-blue); box-shadow: 0 0 0 2px rgba(36,87,245,.12); }
.point-choice span { display: grid; gap: 2px; min-width: 0; }
.point-choice b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.point-choice small { color: #71809a; font-size: 11px; }
.quote-toggle { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 5px; justify-self: start; padding: 4px 0; color: var(--shareo-blue); background: transparent; border: 0; font-size: 11px; font-weight: 800; cursor: pointer; }
.quote-toggle svg { transition: transform var(--motion-fast); }
.quote-toggle svg.rotated { transform: rotate(180deg); }
.pickup-code-card { display: grid; gap: 5px; margin: 14px 0; padding: 14px; text-align: center; background: #eef3ff; border: 1px solid #c9d6ff; border-radius: var(--radius-md); }
.pickup-code-card span { color: var(--shareo-blue); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.pickup-code-card strong { color: var(--shareo-navy); font: 800 24px/1.1 "DM Mono", monospace; letter-spacing: .1em; }
.pickup-code-card small { color: #64748b; font-size: 11px; }
.google-login-wrap { display: grid; justify-items: center; gap: var(--space-2); margin: var(--space-5) 0 var(--space-3); }
.google-login-wrap > div { min-height: 44px; }
.google-setup-note { display: block; margin: var(--space-5) 0 var(--space-3); color: #71809a; }
.auth-provider-badge { display: inline-flex; margin-top: 4px; padding: 3px 8px; color: var(--shareo-blue); background: var(--shareo-blue-soft); border-radius: var(--radius-pill); font-weight: 700; }
.auth .or { display: flex; align-items: center; gap: var(--space-3); }
.auth .or::before, .auth .or::after { content: ""; height: 1px; flex: 1; background: var(--border-subtle); }
@keyframes ds-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ds-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (min-width: 768px) { .ds-product-image { aspect-ratio: 1 / .78; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
/* Phase 8: responsive desktop/laptop composition and public-site polish.
   This file intentionally layers on top of the established mobile-first
   system; it does not change API or lifecycle behavior. */

/* Keep the marketing surface legible on wide monitors without stretching
   copy and cards to the edges of the viewport. */
#top > header,
.hero,
.intro,
.sides,
.point-story,
.flow,
.app-ecosystem,
.fee-section,
.trust,
.prototype-reviews,
.join,
footer {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
}

.hero,
.point-story {
  overflow: hidden;
}

.hero-media > img,
.point-story-photo img {
  display: block;
}

/* Tablet and small laptop: preserve the editorial split while giving the
   content enough room for readable controls and headings. */
@media (min-width: 851px) and (max-width: 1100px) {
  #top > header { padding-inline: 32px; gap: 24px; }
  #top > header nav { gap: 18px; }
  #top > header nav a { font-size: 13px; }
  .hero { grid-template-columns: 48% 52%; min-height: 560px; }
  .hero-copy { padding: 84px 28px 58px 38px; }
  .hero h1 { font-size: clamp(44px, 5.8vw, 62px); }
  .hero-media { min-height: 560px; }
  .sides { padding-inline: 32px; }
  .section-head { margin-bottom: 34px; }
  .side { padding: 28px; }
  .point-story { min-height: 560px; }
  .point-story-copy { padding: 76px 34px; }
  .fee-section { padding-inline: 34px; gap: 48px; grid-template-columns: 1fr 330px; }
  .prototype-reviews { padding-inline: 34px; }
  #top > footer { padding-inline: 34px; }
}

/* Full desktop: align sections to one visual grid and make the marketplace
   feel like a real desktop product rather than a stretched phone canvas. */
@media (min-width: 1101px) {
  #top > header { padding-inline: clamp(44px, 6vw, 96px); }
  .hero { grid-template-columns: minmax(500px, .9fr) minmax(0, 1.1fr); min-height: 680px; }
  .hero-copy { padding: 120px 48px 78px clamp(48px, 7vw, 112px); }
  .hero h1 { font-size: clamp(58px, 5.1vw, 82px); }
  .hero-media { min-height: 680px; }
  .intro { max-width: 980px; padding-top: 156px; padding-bottom: 142px; }
  .sides { padding-inline: clamp(46px, 7vw, 112px); }
  .section-head,
  .side-grid { max-width: 1376px; }
  .side { min-height: 350px; padding: 38px 40px 44px; }
  .point-story-copy { padding: 122px clamp(48px, 7vw, 112px); }
  .flow { padding-inline: clamp(46px, 7vw, 112px); }
  .app-ecosystem { padding-inline: clamp(46px, 7vw, 112px); }
  .fee-section { max-width: 1376px; grid-template-columns: minmax(0, 1fr) 430px; gap: 120px; padding-inline: 48px; }
  .fee-visual { min-height: 340px; }
  .trust { max-width: 1376px; }
  .prototype-reviews { max-width: 1600px; padding-inline: clamp(46px, 7vw, 112px); }
  .join { padding-inline: clamp(46px, 7vw, 112px); }
  #top > footer { padding-inline: clamp(46px, 7vw, 112px); }
}

/* The application shell keeps a comfortable reading width on desktop while
   the catalog uses additional columns. Detail and booking sheets remain
   centered, avoiding oversized line lengths. */
@media (min-width: 700px) {
  .app-shell .app-main {
    max-width: 1180px !important;
    padding: 32px 40px calc(124px + env(safe-area-inset-bottom)) !important;
  }
  .app-shell .app-nav {
    max-width: 1180px !important;
    width: calc(100% - 64px) !important;
  }
  .app-shell .reference-home {
    max-width: 1100px;
    margin-inline: auto;
    padding-inline: 0;
  }
  .app-shell .reference-home > .reference-products { padding: 24px; }
  .app-shell .reference-products .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; }
  .app-shell .detail-sheet,
  .app-shell .booking-sheet,
  .app-shell .listing-form,
  .app-shell .filters,
  .app-shell .notices,
  .app-shell .legal { max-width: 760px !important; margin-inline: auto; }
  .app-shell .detail-sheet { padding-bottom: 124px !important; }
}

@media (min-width: 1200px) {
  .app-shell .app-main { max-width: 1320px !important; }
  .app-shell .app-nav { max-width: 1320px !important; }
  .app-shell .reference-home { max-width: 1240px; }
  .app-shell .reference-home > .reference-products { padding: 28px; }
  .app-shell .reference-products .product-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}

/* Avoid horizontal drift from long product names, prices, or messages. */
.app-shell .reference-product,
.app-shell .product,
.app-shell .rental,
.app-shell .listing,
.app-shell .conversation,
.app-shell .message-list article { min-width: 0; }
.app-shell .reference-product > b,
.app-shell .reference-product p,
.app-shell .product b,
.app-shell .rental b,
.app-shell .listing b { overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero *, .app-ecosystem *, .side, .reference-product, .button,
  .app-shell * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
/* Phase 9 motion and interaction polish. Motion is short, purposeful, and
   transform/opacity based so it stays smooth on installed PWAs. */
:root {
  --p9-ease: cubic-bezier(.2,.8,.2,1);
  --p9-fast: 160ms;
  --p9-base: 220ms;
  --p9-slow: 360ms;
}

@media (pointer: fine) {
  .app-shell .reference-product,
  .app-shell .product,
  .app-shell .rental,
  .app-shell .listing,
  .app-shell .conversation,
  .app-shell .message-list article,
  .app-shell .owner-workspace article,
  .app-shell .earn-stat {
    transition: transform var(--p9-base) var(--p9-ease), box-shadow var(--p9-base) var(--p9-ease), border-color var(--p9-base) var(--p9-ease);
  }
  .app-shell .reference-product:hover,
  .app-shell .product:hover,
  .app-shell .rental:hover,
  .app-shell .listing:hover,
  .app-shell .conversation:hover,
  .app-shell .message-list article:hover,
  .app-shell .owner-workspace article:hover,
  .app-shell .earn-stat:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(17,27,58,.08);
  }
}

.app-shell button,
.app-shell a,
.point-shell button,
.point-shell a,
.seller-shell button,
.seller-shell a {
  -webkit-tap-highlight-color: transparent;
}
.app-shell button:active,
.point-shell button:active,
.seller-shell button:active,
.app-shell .reference-product:active,
.app-shell .product:active { transform: scale(.985); }

/* Keep practical touch targets without changing the compact visual rhythm. */
.app-shell .icon-button,
.app-shell .detail-sheet .close,
.app-shell .detail-favorite,
.app-shell .app-nav button,
.point-shell button,
.seller-shell button { min-height: 44px; }

.app-shell .app-nav button { position: relative; transition: color var(--p9-base) var(--p9-ease), transform var(--p9-fast) var(--p9-ease); }
.app-shell .app-nav button::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--shareo-blue, #2457f5);
  opacity: 0;
  transform: translate(-50%, 4px) scale(.5);
  transition: opacity var(--p9-fast) var(--p9-ease), transform var(--p9-fast) var(--p9-ease);
}
.app-shell .app-nav button.active::after { opacity: 1; transform: translate(-50%, 0) scale(1); }

/* Sheets and dialogs enter from the edge with a restrained lift. */
.app-shell .detail-sheet,
.app-shell .booking-sheet,
.app-shell .listing-form,
.app-shell .filters,
.app-shell .area-sheet,
.app-shell .notices,
.app-shell .legal,
.point-shell .point-sheet,
.seller-modal {
  animation: p9-sheet-in var(--p9-slow) var(--p9-ease) both;
  will-change: transform, opacity;
}
@keyframes p9-sheet-in { from { opacity: 0; transform: translate3d(0, 14px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }

/* Existing skeleton components are now visibly tied to the surface below. */
.ds-skeleton,
.app-shell .skeleton,
.app-shell [aria-busy="true"] { animation: p9-shimmer 1.35s ease-in-out infinite; }
@keyframes p9-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.app-shell img,
.point-shell img,
.seller-shell img { max-width: 100%; }
.app-shell .reference-product img,
.app-shell .product img,
.app-shell .rental img,
.app-shell .listing img,
.point-shell .point-booking-card img { aspect-ratio: 4 / 3; object-fit: cover; background: #edf1f8; }

/* Strong keyboard focus is visible against white cards and dark Point UI. */
.app-shell :where(button,a,input,select,textarea):focus-visible,
.point-shell :where(button,a,input,select,textarea):focus-visible,
.seller-shell :where(button,a,input,select,textarea):focus-visible {
  outline: 3px solid rgba(36,87,245,.42);
  outline-offset: 3px;
}
.point-shell :where(button,a,input,select,textarea):focus-visible { outline-color: rgba(37,193,132,.62); }

@media (max-width: 699px) {
  .app-shell .detail-sticky { padding-bottom: max(11px, var(--safe-bottom, env(safe-area-inset-bottom))); }
  .app-shell .detail-sheet,
  .app-shell .booking-sheet,
  .app-shell .listing-form,
  .app-shell .filters,
  .app-shell .notices,
  .app-shell .legal { max-height: calc(100dvh - 8px); overscroll-behavior: contain; }
  .app-shell .chat-compose { padding-bottom: var(--safe-bottom, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  .app-shell .detail-sheet,
  .app-shell .booking-sheet,
  .app-shell .listing-form,
  .app-shell .filters,
  .app-shell .area-sheet,
  .app-shell .notices,
  .app-shell .legal,
  .point-shell .point-sheet,
  .seller-modal,
  .ds-skeleton,
  .app-shell [aria-busy="true"] { animation: none !important; }
  .app-shell .reference-product,
  .app-shell .product,
  .app-shell .rental,
  .app-shell .listing,
  .app-shell .conversation,
  .app-shell .message-list article { transition: none !important; }
}
/* Physical Point arrival surface. NFC/QR opens this route; the server still
   decides which authenticated renter bookings are eligible. */
.point-arrival-route { min-height: 100dvh; display: grid; place-items: center; padding: 28px 18px calc(28px + env(safe-area-inset-bottom)); background: #f6f8fc; color: #101828; }
.point-arrival-card { width: min(100%, 560px); padding: clamp(24px, 5vw, 48px); background: #fff; border: 1px solid #e3e9f3; border-radius: 24px; box-shadow: 0 24px 60px rgba(17,27,58,.10); }
.point-arrival-card h1 { margin: 0 0 12px; color: #111b3a; font: 800 clamp(30px, 6vw, 48px)/1.02 Manrope, sans-serif; letter-spacing: -.05em; }
.point-arrival-copy { margin: 0; color: #64748b; font-size: 14px; line-height: 1.6; }
.point-arrival-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 26px 0 18px; padding: 4px; border-radius: 14px; background: #eef2f8; }
.point-arrival-actions button { min-height: 44px; border: 0; border-radius: 10px; background: transparent; color: #71809a; font-weight: 800; cursor: pointer; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.point-arrival-actions button.active { color: #2457f5; background: #fff; box-shadow: 0 3px 10px rgba(17,27,58,.08); }
.point-arrival-actions button:active { transform: scale(.98); }
.point-arrival-booking { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 14px; align-items: center; margin-top: 12px; padding: 12px; border: 1px solid #dfe7f2; border-radius: 16px; }
.point-arrival-image { width: 92px; aspect-ratio: 1; overflow: hidden; border-radius: 12px; background: #edf1f8; }
.point-arrival-image img { width: 100%; height: 100%; object-fit: cover; }
.point-arrival-status { color: #0f9f68; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.point-arrival-booking h2 { margin: 4px 0; color: #111b3a; font: 800 17px/1.2 Manrope, sans-serif; }
.point-arrival-booking p, .point-arrival-booking small { display: block; margin: 0; color: #71809a; font-size: 11px; line-height: 1.4; }
.point-arrival-empty { display: grid; gap: 5px; padding: 28px 12px; text-align: center; color: #71809a; }
.point-arrival-empty b { color: #111b3a; }
.point-arrival-skeleton { display: grid; gap: 10px; }
.point-arrival-skeleton span { display: block; height: 66px; border-radius: 14px; background: linear-gradient(90deg,#edf1f8 25%,#f8faff 50%,#edf1f8 75%); background-size: 200% 100%; animation: phase10-shimmer 1.4s ease-in-out infinite; }
@keyframes phase10-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.point-arrival-back { display: inline-flex; min-height: 44px; align-items: center; margin-top: 24px; color: #2457f5; font-size: 13px; font-weight: 800; }
@media (max-width: 420px) { .point-arrival-route { padding-inline: 12px; } .point-arrival-card { padding: 22px 16px; border-radius: 20px; } .point-arrival-booking { grid-template-columns: 72px minmax(0,1fr); } .point-arrival-image { width: 72px; } }
@media (prefers-reduced-motion: reduce) { .point-arrival-actions button, .point-arrival-skeleton span { animation: none; transition: none; } }
/* Phase 12 — complete visual redesign layer.
   This is intentionally a presentation-only layer: D1, R2, lifecycle and
   authorization remain the source of truth below it. */

:root {
  --p12-surface: #ffffff;
  --p12-surface-muted: #f8faff;
  --p12-line: #e3e9f3;
  --p12-line-strong: #cbd7ec;
  --p12-ink-soft: #65738c;
  --p12-blue-wash: #eef3ff;
  --p12-shadow: 0 14px 38px rgba(17, 27, 58, .075);
  --p12-shadow-hover: 0 20px 45px rgba(17, 27, 58, .12);
  --p12-ease: cubic-bezier(.2, .8, .2, 1);
}

/* Shared typography and surfaces */
.app-shell,
.point-shell,
.point-arrival-route {
  font-family: var(--font-body, "DM Sans", "Avenir Next", sans-serif);
  color: var(--shareo-ink);
  -webkit-font-smoothing: antialiased;
}

.app-shell h1,
.app-shell h2,
.app-shell h3,
.point-shell h1,
.point-shell h2,
.point-shell h3 {
  font-family: var(--font-display, "Manrope", "Avenir Next", sans-serif) !important;
  letter-spacing: -.035em;
}

.app-shell .app-main {
  width: 100%;
  max-width: 1280px !important;
  margin-inline: auto;
  background: var(--shareo-canvas) !important;
}

.app-shell .reference-home,
.app-shell .app-main > section,
.app-shell .app-main > .reference-home {
  min-width: 0;
}

.app-shell .reference-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header, 30);
  padding: 14px 0 12px;
  background: color-mix(in srgb, var(--shareo-canvas) 90%, transparent);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(16px);
  transition: border-color var(--motion-base, 200ms) var(--p12-ease), background var(--motion-base, 200ms) var(--p12-ease);
}

.app-shell .reference-greeting {
  max-width: 760px;
  margin: 28px 0 22px;
  color: var(--shareo-navy);
  font-size: clamp(32px, 5vw, 58px) !important;
  line-height: .98 !important;
  letter-spacing: -.06em !important;
}

.app-shell .app-search,
.app-shell .reference-home .search-box,
.app-shell .app-search-box {
  min-height: 58px;
  border: 1px solid var(--p12-line) !important;
  border-radius: 18px !important;
  background: var(--p12-surface) !important;
  box-shadow: 0 4px 16px rgba(17, 27, 58, .04);
}

.app-shell .app-search:focus-within,
.app-shell .reference-home .search-box:focus-within {
  border-color: #9bb4ff !important;
  box-shadow: 0 0 0 4px rgba(36, 87, 245, .10);
}

.app-shell .round-cats {
  gap: 10px !important;
  padding: 18px 0 8px;
  overflow-x: auto;
  scrollbar-width: none;
}

.app-shell .round-cats::-webkit-scrollbar,
.app-shell .categories::-webkit-scrollbar,
.app-shell .search-tags::-webkit-scrollbar { display: none; }

.app-shell .round-cats button {
  flex: 0 0 74px;
  color: var(--shareo-navy);
  font-size: 11px;
  font-weight: 750;
}

.app-shell .round-cats button i {
  width: 56px !important;
  height: 56px !important;
  border: 1px solid rgba(36, 87, 245, .08);
  box-shadow: none !important;
  transition: transform var(--motion-base, 200ms) var(--p12-ease), box-shadow var(--motion-base, 200ms) var(--p12-ease);
}

.app-shell .round-cats button:hover i { transform: translateY(-2px); box-shadow: var(--p12-shadow); }

.app-shell .reference-promo {
  margin: 20px 0 30px !important;
  min-height: 240px;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.34);
  box-shadow: var(--p12-shadow);
  overflow: hidden;
}

.app-shell .reference-promo h2,
.app-shell .reference-products h2,
.app-shell .app-section-title h2 {
  letter-spacing: -.055em !important;
}

.app-shell .reference-home > section:not(.reference-products),
.app-shell .reference-products {
  min-width: 0;
}

.app-shell .reference-products {
  padding: 22px !important;
  border: 1px solid var(--p12-line);
  border-radius: 22px !important;
  background: var(--p12-surface);
  box-shadow: 0 4px 18px rgba(17, 27, 58, .035);
}

.app-shell .app-section-title { align-items: end; margin-bottom: 16px; }
.app-shell .app-section-title button { min-height: 40px; border-radius: 12px; }

.app-shell .product-grid,
.app-shell .reference-products .product-grid { gap: 16px !important; }

.app-shell .reference-product,
.app-shell .product,
.app-shell .listing,
.app-shell .rental,
.app-shell .owner-workspace article,
.app-shell .conversation,
.app-shell .message-list article,
.app-shell .earn-stat {
  min-width: 0;
  border: 1px solid var(--p12-line) !important;
  border-radius: 18px !important;
  background: var(--p12-surface) !important;
  box-shadow: 0 3px 14px rgba(17, 27, 58, .035) !important;
}

.app-shell .reference-product:hover,
.app-shell .product:hover,
.app-shell .listing:hover,
.app-shell .rental:hover,
.app-shell .owner-workspace article:hover,
.app-shell .conversation:hover,
.app-shell .message-list article:hover {
  border-color: #c3d2f5 !important;
  box-shadow: var(--p12-shadow-hover) !important;
}

.app-shell .reference-product > div,
.app-shell .product > div { border-radius: 15px !important; overflow: hidden; background: #edf1f8; }
.app-shell .reference-product img,
.app-shell .product img,
.app-shell .listing img,
.app-shell .rental img { display: block; width: 100%; object-fit: cover; }

.app-shell .reference-product > b,
.app-shell .product > b,
.app-shell .listing > b { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.22; }
.app-shell .reference-product p,
.app-shell .product p { font-variant-numeric: tabular-nums; }

/* Detail and booking are premium, readable sheets on both phone and desktop. */
.app-shell .detail-sheet,
.app-shell .booking-sheet,
.app-shell .listing-form,
.app-shell .filters,
.app-shell .notices,
.app-shell .legal {
  border: 1px solid var(--p12-line) !important;
  box-shadow: 0 28px 90px rgba(17, 27, 58, .18) !important;
}

.app-shell .detail-hero { background: #eaf0fb; }
.app-shell .detail-gallery-dots button.active { background: var(--shareo-blue) !important; }
.app-shell .detail-thumbnails button { border-radius: 10px !important; border-color: transparent; overflow: hidden; }
.app-shell .detail-thumbnails button.active { border-color: var(--shareo-blue) !important; box-shadow: 0 0 0 2px rgba(36,87,245,.12); }
.app-shell .detail-content { max-width: 760px; margin-inline: auto; }
.app-shell .detail-owner,
.app-shell .detail-point,
.app-shell .detail-section,
.app-shell .booking-summary,
.app-shell .quote { border-color: var(--p12-line) !important; }
.app-shell .detail-price strong,
.app-shell .quote strong { color: var(--shareo-blue) !important; font-variant-numeric: tabular-nums; }
.app-shell .detail-sticky { border-top: 1px solid var(--p12-line); box-shadow: 0 -10px 28px rgba(17,27,58,.08); }
.app-shell .detail-sticky .app-primary,
.app-shell .booking-sheet .app-primary { min-height: 50px; border-radius: 14px; }

.app-shell .seg,
.app-shell .rate-segment,
.app-shell .booking-mode { border: 1px solid var(--p12-line); background: #f2f5fb !important; }
.app-shell .seg button.active,
.app-shell .rate-segment button.active { background: var(--shareo-blue) !important; color: #fff !important; box-shadow: 0 5px 12px rgba(36,87,245,.2) !important; }

/* Navigation: the consumer app stays five tabs, with Messages and Alerts
   deliberately reachable through header/deep-linked screens. */
.app-shell .app-nav {
  border: 1px solid var(--p12-line) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 -12px 34px rgba(17,27,58,.10) !important;
  backdrop-filter: blur(18px);
}
.app-shell .app-nav button { color: #8290a8; min-height: 50px; }
.app-shell .app-nav button.active { color: var(--shareo-navy) !important; font-weight: 800; }
.app-shell .app-nav button:nth-child(3) i { background: var(--shareo-blue) !important; box-shadow: 0 10px 22px rgba(36,87,245,.22) !important; }
.app-shell .app-nav button::after { background: var(--shareo-blue) !important; }

/* Earn and messaging use the same product surface as the renter catalog. */
.app-shell .owner-workspace,
.app-shell .message-list,
.app-shell .chat-screen,
.app-shell .earn-overview,
.app-shell .earn-dashboard { min-width: 0; }
.app-shell .chat-person { padding: 12px 0 16px; border-bottom-color: var(--p12-line); }
.app-shell .chat-thread > div { border: 1px solid var(--p12-line); box-shadow: 0 2px 8px rgba(17,27,58,.03); }
.app-shell .chat-thread > div.mine { background: var(--shareo-blue); border-color: var(--shareo-blue); }
.app-shell .chat-compose input { min-height: 46px; border-radius: 14px; border-color: var(--p12-line); }
.app-shell .chat-compose button { min-width: 46px; border-radius: 14px; background: var(--shareo-blue); }

/* Point keeps its green operational identity while sharing spacing and
   interaction quality with the consumer app. */
.point-shell { background: #f3faf7 !important; }
.point-shell .point-header,
.point-shell .point-main,
.point-shell .point-nav { width: min(100%, 1280px); margin-inline: auto; }
.point-shell .point-header { border-bottom: 1px solid #cde9dc; background: rgba(243,250,247,.94); backdrop-filter: blur(18px); }
.point-shell .point-hero { border-radius: 22px !important; background: var(--point-deep) !important; box-shadow: 0 18px 42px rgba(12,104,72,.16); }
.point-shell .point-metrics article,
.point-shell .queue-section,
.point-shell .point-booking-card,
.point-shell .history-list article,
.point-shell .operation-block { border: 1px solid #cde9dc !important; border-radius: 18px !important; background: #fff !important; box-shadow: 0 3px 14px rgba(12,104,72,.05); }
.point-shell .point-booking-card:hover { border-color: #86d7b5 !important; box-shadow: 0 16px 32px rgba(12,104,72,.12); transform: translateY(-2px); }
.point-shell .point-nav { border: 1px solid #cde9dc !important; background: rgba(255,255,255,.96) !important; box-shadow: 0 -12px 32px rgba(12,104,72,.08) !important; backdrop-filter: blur(18px); }
.point-shell .point-nav button.active { color: var(--point-deep) !important; }
.point-shell .point-primary { min-height: 48px; border-radius: 14px; background: var(--point-green) !important; }
.point-shell .point-secondary { border-radius: 14px; border-color: #b9e3d1; }

.point-arrival-route { background: radial-gradient(circle at top right, #e8f7f0 0, #f6f8fc 42%, #f6f8fc 100%); }
.point-arrival-card { border-color: #cde9dc; box-shadow: 0 28px 70px rgba(12,104,72,.12); }
.point-arrival-booking { border-color: #cde9dc; }

/* Public site: make the first viewport decisive and the remaining sections
   feel like one editorial system rather than unrelated blocks. */
#top { background: var(--shareo-canvas); color: var(--shareo-ink); }
#top > header { position: sticky; top: 0; z-index: var(--z-header, 30); background: rgba(246,248,252,.88); border-bottom: 1px solid rgba(227,233,243,.88); backdrop-filter: blur(18px); }
#top .hero { min-height: min(760px, calc(100dvh - 72px)); }
#top .hero h1 { max-width: 760px; letter-spacing: -.065em; }
#top .hero h1 em { color: var(--shareo-blue); font-style: normal; }
#top .hero-actions a,
#top .hero-actions button,
#top .flow-actions a,
#top .join a { min-height: 48px; border-radius: 14px; }
#top .hero-media { border-radius: 28px; overflow: hidden; box-shadow: var(--p12-shadow-hover); }
#top .hero-media img { transform: scale(1.01); }
#top .side,
#top .app-ecosystem-grid article,
#top .fee-visual,
#top .prototype-reviews article { border: 1px solid var(--p12-line); border-radius: 20px; box-shadow: 0 6px 22px rgba(17,27,58,.04); }
#top .side:hover,
#top .app-ecosystem-grid article:hover,
#top .prototype-reviews article:hover { transform: translateY(-3px); box-shadow: var(--p12-shadow); }
#top .fee-visual strong { color: var(--shareo-blue); font-variant-numeric: tabular-nums; }
#top footer { border-top: 1px solid var(--p12-line); background: var(--p12-surface); }

/* All interactive elements remain reachable and tactile. */
.app-shell button,
.point-shell button,
#top button,
#top a { -webkit-tap-highlight-color: transparent; }
.app-shell :where(button,a,input,select,textarea):focus-visible,
.point-shell :where(button,a,input,select,textarea):focus-visible,
#top :where(button,a,input,select,textarea):focus-visible { outline: 3px solid rgba(36,87,245,.34); outline-offset: 3px; }

@media (min-width: 700px) {
  .app-shell .app-main { padding-inline: 48px !important; }
  .app-shell .reference-header { margin-inline: -4px; padding-inline: 4px; }
  .app-shell .reference-home { max-width: 1180px; }
  .app-shell .reference-promo { min-height: 300px; }
  .app-shell .reference-products { padding: 28px !important; }
  .app-shell .detail-sheet,
  .app-shell .booking-sheet,
  .app-shell .listing-form,
  .app-shell .filters,
  .app-shell .notices,
  .app-shell .legal { width: min(100% - 40px, 960px); }
  .app-shell .detail-sheet { max-width: 960px !important; }
  .app-shell .detail-hero { min-height: 360px; }
  .app-shell .point-choice-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .point-shell .point-main { padding-inline: 40px; }
}

@media (min-width: 1100px) {
  .app-shell .detail-sheet { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); align-content: start; overflow-y: auto; }
  .app-shell .detail-hero { position: sticky; top: 0; height: min(78dvh, 680px); border-radius: 22px; overflow: hidden; }
  .app-shell .detail-content { width: 100%; padding: 38px 42px 140px; }
  .app-shell .detail-sticky { grid-column: 2; width: auto; left: auto; right: auto; transform: none; position: sticky; bottom: 0; margin: -110px 26px 26px; border: 1px solid var(--p12-line); border-radius: 16px; }
  .app-shell .app-nav { width: min(100% - 80px, 1280px) !important; }
  .point-shell .point-nav { width: calc(100% - 80px); border-radius: 18px 18px 0 0; }
}

@media (max-width: 699px) {
  .app-shell .app-main { padding-inline: 16px !important; }
  .app-shell .reference-header { margin-inline: -2px; }
  .app-shell .reference-promo { min-height: 226px; border-radius: 20px !important; }
  .app-shell .reference-products { padding: 16px !important; border-radius: 20px !important; }
  .app-shell .detail-sheet,
  .app-shell .booking-sheet { border-radius: 24px 24px 0 0 !important; }
  .point-shell .point-main { padding-inline: 16px; }
  #top .hero { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .app-shell *, .point-shell *, #top * { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
