/*
 | Mobile quick actions — generated for the Tailwind-based public UI.
 | Custom selectors keep the component working immediately without rebuilding Vite.
 */
.mobile-quick-menu-root{display:block}
.mobile-quick-menu-spacer{height:92px}
.mobile-quick-menu-dock{position:fixed;right:50%;bottom:calc(10px + env(safe-area-inset-bottom));z-index:80;width:56px;height:60px;transform:translateX(50%);direction:ltr}
.mobile-quick-menu-panel{position:absolute;right:50%;bottom:0;width:56px;height:60px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 58px minmax(0,1fr) minmax(0,1fr);overflow:hidden;border:1px solid rgba(114,239,216,.17);border-radius:22px;background:linear-gradient(135deg,rgba(9,56,58,.88),rgba(3,23,25,.82));box-shadow:0 16px 45px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.08),0 0 0 1px rgba(53,224,189,.04);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);transform:translateX(50%);transition:width .38s cubic-bezier(.22,1,.36,1),border-radius .3s ease,box-shadow .3s ease}
.mobile-quick-menu-dock.is-open{width:min(calc(100vw - 20px),430px)}
.mobile-quick-menu-dock.is-open .mobile-quick-menu-panel{width:min(calc(100vw - 20px),430px);border-radius:24px;box-shadow:0 20px 55px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.1),0 0 30px rgba(53,224,189,.08)}
.mobile-quick-menu-action{position:relative;z-index:1;height:60px;margin:0;border:0;border-radius:18px;background:transparent;color:rgba(226,248,244,.78);font-size:8px;font-weight:800;line-height:1.15;opacity:0;pointer-events:none;transform:translateY(7px) scale(.92);transition:opacity .18s ease,transform .3s cubic-bezier(.22,1,.36,1),color .2s ease,background-color .2s ease}
.mobile-quick-menu-dock.is-open .mobile-quick-menu-action{opacity:1;pointer-events:auto;transform:none;transition-delay:.06s}
.mobile-quick-menu-action:hover,.mobile-quick-menu-action:focus-visible{outline:none;background:rgba(53,224,189,.075);color:#a9fff0}
.mobile-quick-menu-icon{width:27px;height:27px;border:1px solid rgba(114,239,216,.13);border-radius:10px;background:rgba(53,224,189,.055);color:#72efd8;box-shadow:inset 0 1px rgba(255,255,255,.04);transition:transform .2s ease,border-color .2s ease,background-color .2s ease}
.mobile-quick-menu-action:hover .mobile-quick-menu-icon,.mobile-quick-menu-action:focus-visible .mobile-quick-menu-icon{transform:translateY(-1px);border-color:rgba(114,239,216,.3);background:rgba(53,224,189,.11)}
.mobile-quick-menu-icon svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mobile-quick-menu-center-space{width:58px;height:60px}
.mobile-quick-menu-toggle{position:absolute;right:50%;bottom:2px;z-index:3;width:56px;height:56px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:19px;background:linear-gradient(145deg,#72efd8,#35e0bd);color:#042b2c;box-shadow:0 10px 28px rgba(53,224,189,.28),inset 0 1px rgba(255,255,255,.48);transform:translateX(50%);transition:transform .25s ease,box-shadow .25s ease,border-radius .25s ease}
.mobile-quick-menu-toggle:hover,.mobile-quick-menu-toggle:focus-visible{outline:none;box-shadow:0 12px 32px rgba(53,224,189,.38),0 0 0 4px rgba(53,224,189,.08),inset 0 1px rgba(255,255,255,.55)}
.mobile-quick-menu-dock.is-open .mobile-quick-menu-toggle{border-radius:50%}
.mobile-quick-menu-toggle svg{width:23px;height:23px;stroke:currentColor;stroke-width:2;stroke-linecap:round;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.mobile-quick-menu-toggle svg.is-rotated{transform:rotate(45deg)}
.mobile-quick-request-modal{z-index:95;display:flex;align-items:flex-end;justify-content:center;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:rgba(1,12,13,.76);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.mobile-quick-request-sheet{position:relative;width:min(100%,450px);max-height:calc(100dvh - 24px);overflow-y:auto;border:1px solid rgba(114,239,216,.18);border-radius:28px;background:radial-gradient(circle at 90% 0,rgba(53,224,189,.11),transparent 34%),linear-gradient(150deg,rgba(9,56,58,.98),rgba(3,23,25,.99));padding:25px 17px 18px;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.08);-webkit-overflow-scrolling:touch}
.mobile-quick-request-close{position:absolute;top:13px;left:13px;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.62);transition:color .2s ease,border-color .2s ease,background-color .2s ease}
.mobile-quick-request-close:hover,.mobile-quick-request-close:focus-visible{outline:none;border-color:rgba(114,239,216,.3);background:rgba(53,224,189,.08);color:#a9fff0}
.mobile-quick-request-close svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.mobile-quick-request-header{padding-left:40px}
.mobile-quick-request-header>span{display:inline-flex;align-items:center;gap:7px;color:#72efd8;font-size:9px;font-weight:900}
.mobile-quick-request-header>span:before{content:"";width:13px;height:2px;border-radius:999px;background:#35e0bd;box-shadow:0 0 10px rgba(53,224,189,.6)}
.mobile-quick-request-header h2{margin:7px 0 0;font-size:20px;line-height:1.6;font-weight:900;letter-spacing:-.025em}
.mobile-quick-request-header p{margin:7px 0 0;color:rgba(225,244,241,.54);font-size:10px;line-height:1.9}
.mobile-quick-request-form{margin-top:18px}
.mobile-quick-request-fields{display:grid;gap:11px}
.mobile-quick-request-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mobile-quick-request-form label{display:grid;gap:6px;min-width:0;color:rgba(232,248,245,.7);font-size:9px;font-weight:800}
.mobile-quick-request-form input,.mobile-quick-request-form select,.mobile-quick-request-form textarea{width:100%;min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(0,0,0,.18);padding:10px 11px;color:#fff;font-size:11px;font-weight:400;line-height:1.6;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.mobile-quick-request-form input,.mobile-quick-request-form select{height:43px}
.mobile-quick-request-form textarea{min-height:82px;resize:vertical}
.mobile-quick-request-form input::placeholder,.mobile-quick-request-form textarea::placeholder{color:rgba(255,255,255,.24)}
.mobile-quick-request-form input:focus,.mobile-quick-request-form select:focus,.mobile-quick-request-form textarea:focus{border-color:rgba(114,239,216,.42);background:rgba(53,224,189,.035);box-shadow:0 0 0 3px rgba(53,224,189,.07)}
.mobile-quick-request-form select option{background:#06282a;color:#fff}
.mobile-quick-request-form label small{color:#fda4af;font-size:8px;font-weight:600;line-height:1.7}
.mobile-quick-request-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.mobile-quick-request-submit{display:flex;width:100%;height:47px;align-items:center;justify-content:center;gap:9px;margin-top:14px;border:0;border-radius:14px;background:linear-gradient(135deg,#72efd8,#35e0bd);color:#042b2c;font-size:11px;font-weight:950;box-shadow:0 10px 28px rgba(53,224,189,.18);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}
.mobile-quick-request-submit:hover,.mobile-quick-request-submit:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 13px 32px rgba(53,224,189,.28)}
.mobile-quick-request-submit:disabled{cursor:wait;opacity:.65;transform:none}
.mobile-quick-request-submit svg{width:17px;height:17px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(180deg)}
.mobile-quick-request-privacy{margin:9px 0 0;text-align:center;color:rgba(255,255,255,.3);font-size:8px;line-height:1.7}
.mobile-quick-request-success{display:grid;place-items:center;margin-top:18px;border:1px solid rgba(114,239,216,.17);border-radius:20px;background:rgba(53,224,189,.055);padding:23px 16px;text-align:center}
.mobile-quick-request-success>span{width:48px;height:48px;border:1px solid rgba(114,239,216,.3);border-radius:17px;background:rgba(53,224,189,.12);color:#72efd8;box-shadow:0 10px 28px rgba(53,224,189,.09)}
.mobile-quick-request-success svg{width:26px;height:26px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mobile-quick-request-success strong{margin-top:12px;font-size:14px;font-weight:900}
.mobile-quick-request-success p{margin:5px 0 0;color:rgba(225,244,241,.55);font-size:10px;line-height:1.8}
.mobile-quick-request-success button{margin-top:14px;border:1px solid rgba(114,239,216,.18);border-radius:12px;background:rgba(53,224,189,.07);padding:8px 15px;color:#a9fff0;font-size:9px;font-weight:900}
@media (max-width:350px){.mobile-quick-menu-dock.is-open,.mobile-quick-menu-dock.is-open .mobile-quick-menu-panel{width:calc(100vw - 12px)}.mobile-quick-menu-action{font-size:7px}.mobile-quick-menu-icon{width:25px;height:25px}.mobile-quick-request-row{grid-template-columns:1fr}}
@media (min-width:1024px){.mobile-quick-menu-root{display:none!important}.mobile-quick-menu-spacer{display:none}}
@media (prefers-reduced-motion:reduce){.mobile-quick-menu-panel,.mobile-quick-menu-action,.mobile-quick-menu-toggle,.mobile-quick-menu-toggle svg,.mobile-quick-request-sheet{transition:none!important}}

/*
 | Host fix v1.1.0 — request modal must not depend on generated Tailwind
 | utilities. The production Tailwind bundle did not contain `.fixed`, so
 | Alpine opened the modal in normal document flow below the footer.
 */
.mobile-quick-request-modal{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    z-index:2147482000!important;
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:100svh!important;
    overflow:hidden!important;
    isolation:isolate;
    pointer-events:auto;
    overscroll-behavior:contain;
}
.mobile-quick-request-modal>.mobile-quick-request-sheet{
    position:relative;
    z-index:1;
    max-height:calc(100vh - 24px);
    max-height:calc(100dvh - 24px);
    overscroll-behavior:contain;
}
@supports (-webkit-touch-callout:none){
    .mobile-quick-request-modal{
        min-height:-webkit-fill-available!important;
    }
}
