.app-shell[data-v-2be5f949]{background:var(--bg);min-height:100dvh;padding-bottom:80px}.install-banner[data-v-2be5f949]{background:var(--ink);box-shadow:0 4px 20px #00000040;justify-content:space-between;left:0;padding:12px 16px;position:fixed;right:0;top:0;z-index:60}.install-banner[data-v-2be5f949],.install-banner-left[data-v-2be5f949]{align-items:center;display:flex;gap:12px}.install-banner-left[data-v-2be5f949]{flex:1;min-width:0}.install-icon[data-v-2be5f949]{align-items:center;background:var(--brand);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:900;height:36px;justify-content:center;width:36px}.install-title[data-v-2be5f949]{color:#fff;font-size:13px;font-weight:700}.install-sub[data-v-2be5f949]{color:#ffffff80;font-size:11px;margin-top:1px}.install-banner-actions[data-v-2be5f949]{align-items:center;display:flex;flex-shrink:0;gap:8px}.install-dismiss[data-v-2be5f949]{background:none;color:#ffffff80;font-weight:600;padding:6px 8px}.install-cta[data-v-2be5f949],.install-dismiss[data-v-2be5f949]{border:none;cursor:pointer;font-family:inherit;font-size:12px}.install-cta[data-v-2be5f949]{background:var(--brand-mid);border-radius:var(--r-full);color:var(--ink);font-weight:800;padding:7px 16px}.slide-down-enter-active[data-v-2be5f949],.slide-down-leave-active[data-v-2be5f949]{transition:transform .3s cubic-bezier(.16,1,.3,1)}.slide-down-enter-from[data-v-2be5f949],.slide-down-leave-to[data-v-2be5f949]{transform:translateY(-100%)}.fab[data-v-2be5f949]{align-items:center;background:var(--brand);border:none;border-radius:var(--r-full);bottom:20px;box-shadow:var(--shadow-fab);cursor:pointer;display:flex;height:56px;justify-content:center;left:50%;position:fixed;transform:translate(-50%);transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s;width:56px;z-index:40}.fab[data-v-2be5f949]:active{transform:translate(-50%) scale(.9)}.fab--open[data-v-2be5f949]{background:var(--ink);transform:translate(-50%) rotate(0)}.fab-icon[data-v-2be5f949]{position:absolute;transition:opacity .2s,transform .2s}.fab-icon--plus[data-v-2be5f949]{opacity:1;transform:rotate(0)}.fab-icon--x[data-v-2be5f949]{opacity:0;transform:rotate(-90deg)}.fab--open .fab-icon--plus[data-v-2be5f949]{opacity:0;transform:rotate(90deg)}.fab--open .fab-icon--x[data-v-2be5f949]{opacity:1;transform:rotate(0)}.bottom-nav[data-v-2be5f949]{background:var(--surface);border-top:1px solid var(--border);bottom:0;height:72px;left:0;padding:0 4px env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:30}.bottom-nav[data-v-2be5f949],.nav-item[data-v-2be5f949]{align-items:center;display:flex}.nav-item[data-v-2be5f949]{color:var(--ink-dim);flex:1;flex-direction:column;font-size:10px;font-weight:600;gap:3px;padding:8px 0;position:relative;text-decoration:none;transition:color .15s}.nav-item--active[data-v-2be5f949]{color:var(--brand)}.nav-item--active[data-v-2be5f949]:before{background:var(--brand);border-radius:0 0 var(--r-full) var(--r-full);content:"";height:2px;left:50%;position:absolute;top:0;transform:translate(-50%);width:24px}.nav-spacer[data-v-2be5f949]{flex-shrink:0;width:64px}.sheet-overlay[data-v-2be5f949]{align-items:flex-end;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0d1f1e8c;display:flex;inset:0;position:fixed;z-index:50}.overlay-enter-active[data-v-2be5f949],.overlay-leave-active[data-v-2be5f949]{transition:opacity .25s}.overlay-enter-from[data-v-2be5f949],.overlay-leave-to[data-v-2be5f949]{opacity:0}.quick-sheet[data-v-2be5f949]{background:var(--surface);border-radius:24px 24px 0 0;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 32px);width:100%}.sheet-handle[data-v-2be5f949]{background:var(--border);border-radius:var(--r-full);height:4px;margin:0 auto 20px;width:36px}.sheet-title[data-v-2be5f949]{color:var(--ink-dim);font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:8px;padding:0 4px;text-transform:uppercase}.sheet-actions[data-v-2be5f949]{display:flex;flex-direction:column;gap:2px}.sheet-action[data-v-2be5f949]{align-items:center;background:transparent;border:none;border-radius:var(--r-md);cursor:pointer;display:flex;font-family:inherit;gap:14px;padding:12px;text-align:left;transition:background .12s;width:100%}.sheet-action[data-v-2be5f949]:active,.sheet-action[data-v-2be5f949]:hover{background:var(--surface-2)}.action-icon[data-v-2be5f949]{align-items:center;border-radius:var(--r-sm);display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.action-icon--brand[data-v-2be5f949]{background:var(--brand-soft);color:var(--brand)}.action-icon--purple[data-v-2be5f949]{background:#f3f0ff;color:#7c3aed}.action-icon--ok[data-v-2be5f949]{background:var(--ok-soft);color:var(--ok)}.action-icon--warn[data-v-2be5f949]{background:var(--warn-soft);color:var(--warn)}.action-label[data-v-2be5f949]{color:var(--ink);font-size:14px;font-weight:700;margin-bottom:1px}.action-sub[data-v-2be5f949]{color:var(--ink-light);font-size:12px}.action-arrow[data-v-2be5f949]{color:var(--ink-dim);flex-shrink:0;margin-left:auto}.slide-up-enter-active[data-v-2be5f949],.slide-up-leave-active[data-v-2be5f949]{transition:all .3s cubic-bezier(.16,1,.3,1)}.slide-up-enter-from[data-v-2be5f949],.slide-up-leave-to[data-v-2be5f949]{opacity:0;transform:translateY(100%)}.onboarding-sheet[data-v-2be5f949]{background:var(--surface);border-radius:28px 28px 0 0;padding:32px 24px calc(env(safe-area-inset-bottom,0px) + 40px);text-align:center;width:100%}.ob-logo-wrap[data-v-2be5f949]{margin-bottom:24px}.ob-logo[data-v-2be5f949]{align-items:center;background:var(--brand);border-radius:22px;box-shadow:0 8px 32px #0d948859;display:inline-flex;height:72px;justify-content:center;width:72px}.ob-title[data-v-2be5f949]{color:var(--ink);font-size:26px;font-weight:900;letter-spacing:-.5px;margin-bottom:10px}.ob-sub[data-v-2be5f949]{color:var(--ink-light);font-size:14px;line-height:1.65;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:300px}.ob-input-wrap[data-v-2be5f949]{margin-bottom:16px;text-align:left}.ob-label[data-v-2be5f949]{color:var(--ink-mid);display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.ob-input[data-v-2be5f949]{font-size:16px}
