/* Locall production adaptation of the design-mockup visual system.
   The prototype is fixed-size; this layer keeps real content fluid and usable. */
:root {
    color-scheme: dark;
    --brand-primary: #3e63dd;
    --brand-primary-dark: #3154c7;
    --brand-primary-light: rgba(62, 99, 221, .17);
    --brand-primary-ring: rgba(110, 139, 255, .27);
    --brand-accent: #6e8bff;
    --brand-accent-light: rgba(141, 168, 255, .22);
    --gray-50: #11141c;
    --gray-100: #1c202b;
    --gray-200: #303642;
    --gray-300: #454c5c;
    --gray-400: #8791a4;
    --gray-500: #a4acbd;
    --gray-600: #bac1ce;
    --gray-700: #d5d9e2;
    --gray-800: #eceef3;
    --gray-900: #f5f5f7;
    --status-pending-bg: rgba(227,179,65,.13);
    --status-pending-fg: #e3b341;
    --status-accepted-bg: rgba(110,139,255,.14);
    --status-accepted-fg: #a7baff;
    --status-progress-bg: rgba(110,139,255,.14);
    --status-progress-fg: #a7baff;
    --status-completed-bg: rgba(63,185,80,.14);
    --status-completed-fg: #82d893;
    --status-cancelled-bg: rgba(139,148,158,.15);
    --status-cancelled-fg: #aeb6c1;
    --shadow-sm: 0 2px 10px rgba(0,0,0,.19);
    --shadow-md: 0 12px 30px rgba(0,0,0,.3);
    --shadow-lg: 0 34px 90px rgba(0,0,0,.53);
    --locall-text: #f5f5f7;
    --locall-muted: rgba(235,238,245,.62);
    --locall-subtle: rgba(235,238,245,.46);
    --locall-line: rgba(255,255,255,.12);
    --locall-field: rgba(255,255,255,.065);
    --locall-glass: rgba(22,24,32,.7);
}

html { background: #0a0b0d; }
body { font-family: 'Inter', system-ui, sans-serif; isolation: isolate; }
button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [role="button"]:focus-visible {
    outline: 2px solid #8da8ff;
    outline-offset: 3px;
}

/* The same coloured light sources sit behind every glass surface. */
body:not(.legal-page)::before,
body.legal-page::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(ellipse 42% 46% at 29% -8%, rgba(58,91,217,.54), transparent 80%),
        radial-gradient(ellipse 36% 45% at -8% 43%, rgba(98,68,176,.35), transparent 82%),
        radial-gradient(ellipse 36% 36% at 108% 9%, rgba(31,135,171,.29), transparent 78%),
        radial-gradient(ellipse 45% 42% at 59% 112%, rgba(42,76,184,.35), transparent 80%),
        linear-gradient(165deg, #0b0e1a, #070810 55%, #0a0710);
}

/* Access and recovery use the mockup's centred dialog, not the old video hero. */
body:not(.app-page):not(.legal-page) { background: #0a0b0d; overflow: auto; }
#video-background { display: none; }
.container { width: 100%; max-width: none; min-height: 100vh; padding: 72px 20px 82px; justify-content: center; }
.login-card { left: auto; flex: 0 1 416px; width: 100%; max-width: 416px; padding: 32px 34px 28px;
    background: rgba(22,24,29,.78); border: 1px solid rgba(255,255,255,.15); border-radius: 18px;
    box-shadow: 0 46px 110px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.14);
    backdrop-filter: blur(30px) saturate(190%); -webkit-backdrop-filter: blur(30px) saturate(190%); }
.brand-info { max-width: none; margin: 0 0 25px; transform: none; align-items: center; gap: 9px; }
.brand-info h1 { width: 148px; }
.brand-logo--hero { width: 148px; aspect-ratio: 1400 / 425; background: url('../locall-mark-white.png') center / contain no-repeat; filter: none; }
.brand-logo--hero::before, .brand-logo--hero::after { display: none; }
.brand-info p { width: 100%; max-width: 320px; align-self: auto; font-size: 13px; font-weight: 400;
    color: var(--locall-muted); opacity: 1; text-shadow: none; line-height: 1.5; }
.tabs { margin-bottom: 20px; padding: 3px; gap: 2px; border-radius: 10px; background: rgba(0,0,0,.23); border-color: var(--locall-line); }
.tab-button { padding: 8px 6px; border-radius: 7px; color: var(--locall-muted); font-size: 12.5px; }
.tab-button.active { border-radius: 7px; color: #fff; background: rgba(255,255,255,.16); box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }
.login-card .field-label, .login-card .field-hint { color: var(--locall-muted); }
.login-card input:not([type="checkbox"]), .login-card textarea,
.login-card--narrow input:not([type="checkbox"]) { background: var(--locall-field); border: 1px solid var(--locall-line); color: var(--locall-text); border-radius: 9px; }
.login-card input::placeholder { color: var(--locall-subtle); }
.login-card input:not([type="checkbox"]):focus { border-color: #8da8ff; background: rgba(255,255,255,.085); box-shadow: 0 0 0 3px var(--brand-primary-ring); }
.login-card .login-form input:not([type="checkbox"]) { height: 39px; padding: 0 12px; font-size: 13px; }
.login-card .input-group { margin-bottom: 13px; }
.login-card .field-label { margin-bottom: 6px; font-size: 12px; }
.login-card .join-button, .login-card--narrow .join-button { border-radius: 9px; background: #3e63dd; box-shadow: 0 8px 22px rgba(62,99,221,.25); }
.login-card .join-button:hover { background: #4a6ee8; }
.social-login { margin-top: 14px; }
.social-icons { width: 100%; }
.social-icons__btn { width: 100%; height: 40px; gap: 9px; border-radius: 9px; background: rgba(255,255,255,.07);
    border: 1px solid var(--locall-line); color: var(--locall-text); font-size: 13px; font-weight: 500; }
.social-icons__btn .social-icon { width: 15px; height: 15px; }
.lang-switch--floating { top: 22px; right: 26px; bottom: auto; left: auto; background: var(--locall-glass); border-color: var(--locall-line); border-radius: 9px; }
.lang-switch--floating .lang-switch__btn { color: var(--locall-muted); }
.lang-switch--floating .lang-switch__btn--active { color: #fff; background: rgba(255,255,255,.16); }
.site-footer { color: var(--locall-subtle); }
.site-footer__links a { color: var(--locall-muted); }
.auth-message, .auth-session-panel { border-color: var(--locall-line); background: rgba(255,255,255,.05); color: var(--locall-text); }

/* Main application window + vertical navigation. */
body.app-page { min-height: 100vh; color: var(--locall-text); background: transparent; overflow-x: clip; }
.app-page [hidden] { display: none !important; }
.app-page .app-topnav { position: fixed; z-index: 100; top: 24px; bottom: 24px; left: 24px; width: 224px; height: auto;
    display: flex; flex-direction: column; align-items: stretch; padding: 18px 13px 13px; gap: 0;
    border: 1px solid rgba(255,255,255,.17); border-right-color: rgba(255,255,255,.10); border-radius: 19px 0 0 19px;
    background: linear-gradient(160deg, rgba(255,255,255,.11), rgba(255,255,255,.045) 46%, rgba(255,255,255,.07)), rgba(12,14,20,.64);
    box-shadow: 0 35px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.18);
    backdrop-filter: blur(30px) saturate(190%); -webkit-backdrop-filter: blur(30px) saturate(190%); }
.app-page .app-topnav__left { flex-direction: column; align-items: stretch; gap: 20px; flex: none; min-width: 0; margin-bottom: 20px; }
.app-brand { width: 92px; height: 32px; margin-left: 8px; }
.brand-logo--nav { width: 92px; height: 28px; background: url('../locall-mark-white.png') center / contain no-repeat; filter: none; opacity: 1; }
.app-mode-toggle { width: 100%; height: 38px; padding: 3px; border-radius: 10px; background: rgba(0,0,0,.25); border: 1px solid var(--locall-line); }
.app-mode-toggle__btn { width: 50%; height: 30px; color: var(--locall-muted); font-size: 12px; border-radius: 7px; }
.app-mode-toggle__btn--active { color: #fff; background: rgba(255,255,255,.19); box-shadow: 0 1px 3px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.16); }
.app-nav__group { margin: 0 9px 8px; color: var(--locall-subtle); font-size: 10.5px; letter-spacing: .09em; text-transform: uppercase; font-weight: 600; }
.app-topnav__center, .app-nav__account { display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; width: 100%; flex: none; height: auto; gap: 2px; }
.app-topnav__center { margin-bottom: 14px; }
.app-nav__account { border-top: 1px solid var(--locall-line); padding-top: 15px; }
.app-nav__item { width: 100%; min-width: 0; height: 36px; padding: 0 11px; justify-content: flex-start; gap: 10px; border-radius: 8px;
    color: rgba(235,238,245,.79); text-align: left; font-size: 12.5px; font-weight: 500; }
.app-nav__item::before { content: ""; display: block; width: 15px; height: 15px; flex: 0 0 15px;
    background: currentColor; -webkit-mask: var(--nav-icon, none) center / contain no-repeat; mask: var(--nav-icon, none) center / contain no-repeat; opacity: .8; }
.app-nav__item::after { display: none; }
.app-nav__item:hover { background: rgba(255,255,255,.09); color: #fff; }
.app-nav__item--active { color: #fff; background: linear-gradient(180deg, rgba(74,110,232,.78), rgba(56,88,205,.72));
    box-shadow: 0 3px 9px rgba(30,50,150,.32), inset 0 1px 0 rgba(255,255,255,.20); }
.app-nav__item--active:hover { background: #4a6ee8; }
#nav-discover { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16 16 5 5' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
#nav-offers, #nav-purchases, #nav-sales { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16M4 12h12M4 18h8' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); }
#nav-incoming-requests { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7-6-7-11a7 7 0 0 1 14 0c0 5-7 11-7 11z' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2' fill='black'/%3E%3C/svg%3E"); }
#nav-plan { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='6' width='18' height='13' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M3 10h18' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
#nav-settings { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='2.5' fill='black'/%3E%3C/svg%3E"); }
.app-page .app-topnav__right { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin-top: auto; padding: 12px 0 0; border-top: 1px solid var(--locall-line); }
.app-topnav__sep { display: none; }
.app-credits-chip { display: inline-flex; width: 100%; justify-content: flex-start; border-radius: 9px; color: var(--locall-text);
    background: rgba(255,255,255,.06); border: 1px solid var(--locall-line); }
.app-credits-chip__badge { color: var(--locall-muted); }
.app-user-chip { height: auto; min-height: 42px; padding: 6px 3px; gap: 9px; }
.app-user-chip__avatar { display: flex; flex: 0 0 30px; width: 30px; height: 30px; align-items: center; justify-content: center;
    border-radius: 50%; background: rgba(255,255,255,.16); color: #fff; font-size: 11px; font-weight: 600; }
.app-user-chip__meta { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.app-user-chip__meta strong { max-width: 155px; color: #fff; font-size: 12px; font-weight: 600; }
.app-user-chip__meta span { display: block; max-width: 155px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: 10.5px; color: var(--locall-subtle); }
.app-signout-btn { min-width: 0; height: 32px; text-align: left; color: var(--locall-muted); padding-left: 5px; }
.app-signout-btn:hover { color: #fff; }
.app-shell { width: auto; max-width: none; margin: 24px 24px 24px 248px; min-height: calc(100vh - 48px); padding: 0 28px 24px;
    border: 1px solid rgba(255,255,255,.17); border-left: 0; border-radius: 0 19px 19px 0;
    background: linear-gradient(150deg, rgba(255,255,255,.07), transparent 38%), rgba(12,14,20,.66);
    box-shadow: 0 35px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: blur(30px) saturate(190%); -webkit-backdrop-filter: blur(30px) saturate(190%); }
.app-shell::before { display: none; }
.workspace-bar { min-height: 56px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
    margin: 0 -28px 24px; padding: 0 28px; border-bottom: 1px solid rgba(255,255,255,.10); }
.workspace-bar__heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; min-width: 0; }
.workspace-bar h1 { font-size: 15px; font-weight: 600; letter-spacing: -.01em; margin: 0; color: #fff; }
.workspace-bar__heading > span { font-size: 12px; color: var(--locall-subtle); }
.workspace-bar__heading > span::before { content: '· '; }
.workspace-bar__tools { display: flex; align-items: center; gap: 9px; }
.workspace-location { height: 30px; display: inline-flex; align-items: center; gap: 5px; padding: 0 10px; border-radius: 8px;
    border: 1px solid var(--locall-line); background: rgba(255,255,255,.08); color: var(--locall-muted); cursor: pointer; font-size: 12px; }
.workspace-location:hover { background: rgba(255,255,255,.14); color: #fff; }
.lang-switch--app { display: flex; min-width: 0; margin: 0; padding: 2px; border: 1px solid var(--locall-line); border-radius: 8px;
    background: rgba(0,0,0,.25); }
.lang-switch--app .lang-switch__btn { min-width: 31px; height: 24px; padding: 0 7px; color: var(--locall-muted); }
.lang-switch--app .lang-switch__btn--active { color: #fff; background: rgba(255,255,255,.16); border-radius: 6px; }
.app-stat-strip { display: none; }
.app-page .auth-message { color: var(--locall-text); }
.app-page .auth-message--info { color: #c3d0ff; background: rgba(62,99,221,.16); border-color: rgba(141,168,255,.25); }
.app-page .auth-message--error { color: #ffb4b4; background: rgba(180,44,44,.18); border-color: rgba(255,130,130,.22); }

/* Composer and live request/offer lists. */
.discover-hero { align-items: stretch; gap: 16px; padding: 22px 24px; margin: 0 0 24px; text-align: left;
    border-radius: 16px; background: linear-gradient(150deg, rgba(255,255,255,.095), transparent 53%), rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.14); box-shadow: 0 12px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: blur(14px) saturate(180%); -webkit-backdrop-filter: blur(14px) saturate(180%); }
.discover-hero::before { display: none; }
.discover-hero__title { max-width: none; margin: 0; font-size: 21px; font-weight: 600; line-height: 1.3;
    color: var(--locall-muted); background: none; -webkit-text-fill-color: currentColor; }
.discover-hero__blank { width: 6.5ch; margin-left: .2ch; }
.discover-hero__blank::after { height: 1px; background: #8da8ff; }
.discover-hero__ghost { color: #fff; -webkit-text-fill-color: #fff; font-style: italic; }
.discover-form { max-width: none; width: 100%; gap: 12px; margin: 0; }
.discover-search { min-height: 44px; padding: 3px 4px 3px 13px; border-radius: 11px; border: 1px solid var(--locall-line);
    background: rgba(0,0,0,.25); box-shadow: inset 0 1px 3px rgba(0,0,0,.25); }
.discover-search:hover { box-shadow: inset 0 1px 3px rgba(0,0,0,.25); border-color: rgba(255,255,255,.22); }
.discover-search:focus-within { border-color: #8da8ff; box-shadow: 0 0 0 3px var(--brand-primary-ring); }
.discover-search__icon { color: var(--locall-subtle); }
.discover-search__input { padding: 8px 3px; font-size: 13px; color: var(--locall-text); }
.discover-search__input::placeholder { color: var(--locall-subtle); }
.discover-search__submit, .app-page .join-button, .discover-card__action--primary { color: #fff; border-radius: 9px;
    background: #3e63dd; border: 1px solid rgba(141,168,255,.25); box-shadow: 0 7px 18px rgba(62,99,221,.24); }
.discover-search__submit { padding: 8px 17px; font-size: 12.5px; }
.discover-search__submit:hover, .app-page .join-button:hover, .discover-card__action--primary:hover { color: #fff; background: #4a6ee8;
    box-shadow: 0 8px 22px rgba(62,99,221,.35); filter: none; }
.discover-options { align-items: stretch; justify-content: flex-start; gap: 8px; }
.discover-options .discover-search__submit { height: 34px; margin-left: auto; padding: 0 18px; }
.discover-photo-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 34px;
    padding: 0 11px; border: 1px solid var(--locall-line); border-radius: 8px;
    background: rgba(255,255,255,.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
    color: var(--locall-muted); font-size: 11.5px; cursor: pointer; }
.discover-photo-btn:hover { background: rgba(255,255,255,.13); color: var(--locall-text); }
.discover-photo-btn svg { width: 14px; height: 14px; }
.discover-field { height: 34px; min-width: 0; border-radius: 8px; border: 1px solid var(--locall-line);
    background: rgba(255,255,255,.075); box-shadow: inset 0 1px 0 rgba(255,255,255,.09); }
.discover-field:hover { border-color: rgba(255,255,255,.22); }
.discover-field--datetime:hover, .discover-field--datetime:focus-within { background: rgba(255,255,255,.13); }
.discover-field--datetime:focus-within { border-color: #8da8ff; }
.discover-field__label, .discover-toggle__label, .discover-field__display { color: var(--locall-muted); font-size: 11.5px; }
.discover-field__input, .discover-field--wide .discover-field__input { min-width: 100px; width: 140px; color: var(--locall-text); }
.discover-field__input::placeholder { color: var(--locall-subtle); }
.discover-toggle__track { background: rgba(0,0,0,.34); }
.discover-history { margin-top: 0; }
.discover-history__header { margin-bottom: 10px; }
.discover-history__title, .featured-section__title { color: var(--locall-text); font-size: 13px; }
.discover-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 310px), 1fr)); gap: 10px; }
.discover-list--carousel { display: flex; gap: 10px; }
.req-card, .discover-card, .conversation-card, .order-card, .listing-card, .plan-card, .wallet-card,
.pro-status-card, .featured-card, .app-empty-state, .review-reminder, .pro-upsell, .incoming-quota {
    background: linear-gradient(150deg, rgba(255,255,255,.07), transparent 55%), rgba(255,255,255,.04);
    border: 1px solid var(--locall-line); border-radius: 13px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.11);
    backdrop-filter: blur(14px) saturate(180%); -webkit-backdrop-filter: blur(14px) saturate(180%); }
.req-card { flex-basis: 330px; max-width: 330px; padding: 15px; gap: 9px; }
.req-card::before, .discover-card::before { display: none; }
.req-card:hover, .discover-card:hover, .conversation-card:hover, .plan-card:hover, .listing-card:hover { transform: translateY(-1px);
    background-color: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22);
    box-shadow: 0 16px 36px rgba(0,0,0,.29), inset 0 1px 0 rgba(255,255,255,.17); }
.req-card__title, .discover-card__query, .req-buyer__meta strong { color: #f5f5f7; }
.req-card__title { font-size: 14px; min-height: 0; }
.req-card__time, .req-buyer__meta span, .req-card__details { color: var(--locall-subtle); }
.req-status { padding: 0; background: transparent; border: 0; font-size: 11px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--locall-muted); }
.req-status__dot { width: 14px; height: 14px; border: 1.5px solid currentColor; background: transparent; box-shadow: none; }
.req-status--open .req-status__dot { color: #6e8bff; animation: none; background: conic-gradient(#6e8bff 0 110deg, transparent 110deg); }
.req-status--fulfilled .req-status__dot { color: #3fb950; background: #3fb950; }
.req-status--cancelled .req-status__dot { color: #8b949e; border-style: dashed; }
.req-chip, .request-form__chip { border-radius: 7px; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.09);
    color: var(--locall-muted); font-size: 11px; }
.req-chip__icon { color: var(--locall-subtle); }
.req-chip--pro, .pro-badge { background: rgba(62,99,221,.20); color: #b8c8ff; border: 1px solid rgba(141,168,255,.2); }
.req-chip--distance { background: rgba(62,99,221,.15); color: #b8c8ff; }
.req-buyer__avatar { background: rgba(255,255,255,.17); }
.req-card__pulse { border-radius: 8px; background: rgba(255,255,255,.04); color: var(--locall-muted); }
.req-card__pulse--active { background: rgba(62,99,221,.13); color: #b8c8ff; }
.req-card__pulse--accepted { background: rgba(63,185,80,.13); color: #92dca0; }
.req-card__actions, .discover-card__actions { border-color: var(--locall-line); }
.discover-card__action, .app-page .secondary-button, .conversation-offer__withdraw { border: 1px solid var(--locall-line);
    background: rgba(255,255,255,.08); border-radius: 8px; color: var(--locall-text); font-size: 12px; }
.discover-card__action:hover, .app-page .secondary-button:hover { color: #fff; border-color: rgba(255,255,255,.23); background: rgba(255,255,255,.15); }
.discover-card__action--primary { background: #3e63dd; }
.req-carousel__arrow { color: var(--locall-text); background: rgba(255,255,255,.12); border-color: var(--locall-line); }
.app-section__header { margin-bottom: 16px; }
.app-section__eyebrow { color: var(--locall-subtle); }
.app-section__header h1, .app-section__header h2, .app-section__sub { color: var(--locall-text); }
.app-section__header h1, .app-section__header h2 { font-size: 19px; }
.app-section__sub { color: var(--locall-muted); font-size: 12.5px; }
.app-empty-state { color: var(--locall-muted); }
.app-empty-state--illustrated::before { background-color: rgba(255,255,255,.07); border-color: var(--locall-line); }
.incoming-quota { display: grid; grid-template-columns: minmax(0, 1fr) auto;
    align-items: center; gap: 11px 18px; min-height: 78px;
    margin-bottom: 16px; padding: 15px 18px 16px; }
.incoming-quota__text { grid-column: 1; grid-row: 1; min-width: 0;
    white-space: normal; line-height: 1.4; }
.incoming-quota__reset { grid-column: 2; grid-row: 1; min-width: 0;
    line-height: 1.4; text-align: right; }
.incoming-quota__reset:empty { display: none; }
.incoming-quota__bar { grid-column: 1 / -1; grid-row: 2; width: 100%;
    min-width: 0; height: 7px; background: rgba(255,255,255,.1); }
.incoming-quota__fill { background: #3e63dd; }
.incoming-quota__text { color: var(--locall-text); }
.app-page .incoming-quota--full .incoming-quota__text { color: var(--locall-text); }
.incoming-quota__reset { color: var(--locall-subtle); }
@media (max-width: 760px) {
    .incoming-quota { grid-template-columns: minmax(0, 1fr); gap: 10px;
        padding: 15px 16px 16px; }
    .incoming-quota__reset:not(:empty) { grid-column: 1; grid-row: 3;
        text-align: left; }
}
.incoming-workspace { display: grid; grid-template-columns: minmax(285px, 370px) minmax(0, 1fr);
    min-height: 450px; margin-top: 12px; overflow: hidden; border: 1px solid var(--locall-line);
    border-radius: 14px; background: rgba(9,12,21,.25); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.incoming-workspace .req-carousel { min-width: 0; border-right: 1px solid var(--locall-line); }
.incoming-workspace .req-carousel::after, .incoming-workspace .req-carousel__arrow { display: none !important; }
.incoming-workspace .discover-list--carousel { display: flex; flex-direction: column; gap: 0; overflow-x: hidden;
    overflow-y: auto; max-height: 620px; min-height: 450px; margin: 0; padding: 0; scroll-snap-type: none; scrollbar-width: thin; }
.incoming-workspace .req-card--incoming, .incoming-workspace .req-card--teaser { flex: 0 0 auto; width: 100%;
    max-width: none; padding: 14px 16px; border: 0; border-bottom: 1px solid rgba(255,255,255,.08);
    border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.incoming-workspace .req-card--incoming:hover { transform: none; background: rgba(255,255,255,.06); box-shadow: none; }
.incoming-workspace .req-card--selected { background: rgba(62,99,221,.15); box-shadow: inset 2px 0 #6e8bff; }
.incoming-workspace .req-card--selected:hover { background: rgba(62,99,221,.19); box-shadow: inset 2px 0 #6e8bff; }
.incoming-workspace .req-card--incoming:focus-visible { outline: 2px solid #8da8ff; outline-offset: -3px; }
.incoming-workspace--teasers-only { display: block; min-height: 0; border: 0; background: none;
    box-shadow: none; overflow: visible; }
.incoming-workspace--teasers-only .req-carousel { border: 0; }
.incoming-workspace--teasers-only .discover-list--carousel { flex-direction: row; gap: 10px;
    overflow-x: auto; overflow-y: hidden; max-height: none; min-height: 0; padding: 6px 4px 14px; }
.incoming-workspace--teasers-only .req-card--teaser { flex: 0 0 310px; width: 310px;
    border: 1px solid var(--locall-line); border-radius: 13px; background: rgba(255,255,255,.04); }
.incoming-detail { min-width: 0; }
.incoming-detail__top { padding: 18px 24px; border-bottom: 1px solid rgba(255,255,255,.08);
    color: var(--locall-muted); font-size: 12px; }
.incoming-detail__body { padding: 25px 28px 32px; }
.incoming-detail__body h3 { margin: 0 0 10px; color: var(--locall-text); font-size: clamp(18px, 2vw, 23px); line-height: 1.25; }
.incoming-detail__meta { margin: 0 0 22px; color: var(--locall-subtle); font-size: 12px; }
.incoming-detail__description { max-width: 680px; color: var(--locall-muted); font-size: 13.5px; line-height: 1.65; }
.incoming-detail__image { display: block; max-width: min(100%, 440px); max-height: 240px; margin: 16px 0;
    object-fit: contain; border-radius: 10px; }
.incoming-detail__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.incoming-detail__action { display: inline-flex; align-items: center; margin-top: 25px; padding: 14px;
    border: 1px solid var(--locall-line); border-radius: 12px; background: rgba(255,255,255,.04); }
.incoming-detail__action .discover-card__action { margin: 0; }
.location-banner { margin-bottom: 18px; border-radius: 10px; background: rgba(62,99,221,.16); border: 1px solid rgba(141,168,255,.25); color: #e7ecff; backdrop-filter: blur(14px); }
.location-banner__btn { background: #3e63dd; color: #fff; }

/* Real forms, account panels, offer comparison, conversation and chat. */
.app-page input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.app-page textarea, .app-page select, .admin-search, .admin-select {
    background: var(--locall-field); border-color: var(--locall-line); color: var(--locall-text); }
.app-page input::placeholder, .app-page textarea::placeholder { color: var(--locall-subtle); }
.app-page input:focus, .app-page textarea:focus, .app-page select:focus { border-color: #8da8ff; box-shadow: 0 0 0 3px var(--brand-primary-ring); }
.app-page .discover-search__input, .app-page .discover-field__input { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.app-page .field-label, .app-page .field-hint, .app-page .settings-data-text, .app-page .settings-danger-text { color: var(--locall-muted); }
.app-page .request-form__photo, .app-page .file-input__button { background: rgba(255,255,255,.05); border-color: var(--locall-line); color: var(--locall-muted); }
.app-page .request-form__photo:hover { background: rgba(62,99,221,.12); border-color: #8da8ff; }
.app-page .request-form__photo-empty, .app-page .request-form__photo-empty svg { color: var(--locall-muted); }
.detail-modal-overlay, .chat-modal-overlay, .confirm-overlay { background: rgba(3,4,8,.67); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.detail-modal, .detail-modal__scroll, .chat-modal, .settings-panel, .confirm-dialog {
    background: linear-gradient(150deg, rgba(255,255,255,.06), transparent 52%), rgba(22,24,29,.94);
    border: 1px solid rgba(255,255,255,.16); color: #f5f5f7;
    box-shadow: 0 45px 110px rgba(0,0,0,.63), inset 0 1px 0 rgba(255,255,255,.11);
    backdrop-filter: blur(30px) saturate(180%); -webkit-backdrop-filter: blur(30px) saturate(180%); }
.detail-modal { max-width: 724px; }
.detail-modal__scroll { border: 0; box-shadow: none; background: transparent; }
.detail-modal__body { background: transparent; }
.detail-modal__title, .detail-modal__section-title, .detail-modal__description, .detail-modal__seller-name,
.chat-modal__title, .settings-panel__title, .settings-subsection-title, .confirm-dialog__message { color: var(--locall-text); }
.detail-modal__meta, .detail-modal__rating-count, .detail-modal__seller-bio { color: var(--locall-muted); }
.detail-modal__sep, .chat-modal__header, .settings-panel__header { border-color: var(--locall-line); }
.detail-modal__close, .settings-panel__close { color: var(--locall-muted); background: rgba(255,255,255,.07); border: 1px solid var(--locall-line); border-radius: 8px; }
.detail-modal__close:hover, .settings-panel__close:hover { color: #fff; background: rgba(255,255,255,.14); }
.conversation-card, .conversation-offer, .conversation-offer__pending, .conversation-modal__deal,
.conversation-summary__provider, .conversation-offer__form, .chat-message__bubble {
    background: rgba(255,255,255,.055); border-color: var(--locall-line); color: var(--locall-text); }
.conversation-card__name, .conversation-card__price, .conversation-offer__price, .conversation-offer__title { color: #fff; }
.conversation-card__meta, .conversation-card__deals, .conversation-offer__sub, .conversation-offer__hint,
.conversation-offer__note, .conversation-offer__commission, .conversation-modal__safety { color: var(--locall-muted); }
.conversation-card__body { color: var(--locall-text); }
.conversation-card--boosted { border-color: rgba(141,168,255,.28); }
.app-page #request-offers-modal { width: min(724px, calc(100vw - 24px)); }
#request-offers-modal .detail-modal__body { padding: 20px 24px 18px; }
#request-offers-eyebrow { display: none; }
#request-offers-modal .detail-modal__title { margin: 0 36px 4px 0; font-size: 16px; font-weight: 600; letter-spacing: -.012em; }
#request-offers-meta { display: block; margin: 0; color: rgba(235,238,245,.55); font-size: 12.5px; line-height: 1.5; }
.request-offers-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px;
    margin: 16px -24px 8px; padding: 0 24px 16px; border-bottom: 1px solid rgba(255,255,255,.08); }
.request-offers-sort { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid rgba(255,255,255,.10);
    border-radius: 8px; background: rgba(255,255,255,.06); }
.request-offers-sort__button { height: 26px; padding: 0 11px; border: 0; border-radius: 6px;
    background: transparent; color: var(--locall-subtle); font-size: 11.5px; font-weight: 500; cursor: pointer; }
.request-offers-sort__button.is-active { color: #f5f5f7; background: rgba(255,255,255,.14); font-weight: 600; }
.request-offers-toolbar__state { color: var(--locall-subtle); font-size: 11.5px; white-space: nowrap; }
.request-offers-toolbar__state:not(:empty)::before { content: ''; display: inline-block; width: 7px; height: 7px;
    margin-right: 6px; border: 1px solid #6e8bff; border-radius: 50%; background: rgba(110,139,255,.25); }
#request-offers-list { gap: 6px; }
#request-offers-list .conversation-card { padding: 16px; border-radius: 12px; background-color: rgba(255,255,255,.025);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
#request-offers-list.is-recommended .conversation-card:first-child { background-color: rgba(255,255,255,.055); border-color: rgba(141,168,255,.22); }
#request-offers-list .conversation-card__head { align-items: flex-start; gap: 12px; }
#request-offers-list .conversation-card__provider { flex: 1 1 auto; }
#request-offers-list .provider-avatar { width: 40px; height: 40px; flex-basis: 40px; background: rgba(255,255,255,.12); color: #f5f5f7; }
#request-offers-list .conversation-card__name { gap: 5px; color: #f5f5f7; font-size: 14px; }
#request-offers-list .conversation-card__deals { color: var(--locall-muted); font-size: 11.5px; }
.conversation-card__price-block { display: flex; flex-direction: column; align-items: flex-end; flex: 0 0 auto; gap: 3px; }
.conversation-card__price-block .conversation-card__price { color: #f5f5f7; font-size: 19px; font-weight: 600; letter-spacing: -.015em; }
.conversation-card__price-block .conversation-card__status { color: var(--locall-subtle); font-size: 10.5px; }
.conversation-card__price-block .conversation-card__status--accepted { color: #3fb950; }
.conversation-card__badges { display: flex; flex-wrap: wrap; gap: 5px; margin: 7px 0 0 53px; }
.conversation-card__badges .conversation-card__badge { border-radius: 6px; background: rgba(255,255,255,.08); color: var(--locall-muted); }
.conversation-card__note { margin: 10px 0 0 53px; color: rgba(235,238,245,.82); font-size: 13px; line-height: 1.55; white-space: pre-wrap; }
.conversation-card__footer { display: flex; align-items: center; gap: 8px; margin-top: 14px; padding-top: 13px;
    border-top: 1px solid rgba(255,255,255,.08); }
.conversation-card__accept, .conversation-card__ask { display: inline-flex; align-items: center; justify-content: center;
    min-height: 32px; padding: 0 15px; border-radius: 8px; font-size: 12.5px; cursor: pointer; }
.conversation-card__accept { border: 1px solid rgba(141,168,255,.25); background: #3e63dd; color: #fff; font-weight: 600; }
.conversation-card__accept:hover { background: #4a6ee8; }
.conversation-card__ask { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.08); color: #f5f5f7; }
.conversation-card__ask:hover { background: rgba(255,255,255,.14); }
.conversation-card__messages { margin-left: auto; color: var(--locall-subtle); font-size: 11px; white-space: nowrap; }
.request-offers-footnote { margin: 10px 8px 0; color: var(--locall-subtle); font-size: 11.5px; text-align: center; line-height: 1.5; }
.conversation-modal { width: min(720px, calc(100vw - 40px)); max-width: none; height: min(700px, calc(100dvh - 60px)); max-height: none; }
.conversation-modal .chat-modal__header { min-height: 56px; padding: 0 16px; gap: 12px; }
.conversation-modal .chat-modal__title { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.conversation-modal .chat-modal__header-actions { flex: 0 0 auto; }
.conversation-modal .chat-modal__header .detail-modal__close { position: static; width: 28px; height: 28px; flex: 0 0 28px; }
.conversation-modal .chat-messages { max-height: none; }
.conversation-report-btn { color: var(--locall-muted); background: rgba(255,255,255,.07); border-color: var(--locall-line); border-radius: 8px; }
.conversation-modal__safety { background: rgba(62,99,221,.14); color: #c3d0ff; border: 1px solid rgba(141,168,255,.18); }
.conversation-modal__offer { background: rgba(255,255,255,.045); border-color: var(--locall-line); }
.conversation-modal__offer { flex: 0 1 auto; min-height: 0; overflow-y: auto; }
.conversation-modal .chat-messages { flex: 1 1 120px; min-height: 96px; }
.conversation-modal .chat-input { flex: 0 0 auto; }
.conversation-offer__label { color: var(--locall-muted); }
.conversation-offer__label input, .conversation-offer__label select, .conversation-offer__label textarea,
.conversation-offer__note, .clarification-item, .chat-input--clarification, .chat-input--clarification input,
.provider-profile { background: rgba(255,255,255,.065); border-color: var(--locall-line); color: var(--locall-text); }
.conversation-offer__note { color: var(--locall-muted); }
.conversation-offer__banner { background: rgba(62,99,221,.17); color: #c3d0ff; }
.chat-message--mine .chat-message__bubble { background: rgba(62,99,221,.3); color: #fff; }
.chat-input { border-color: var(--locall-line); }
.settings-overlay--open { background: rgba(3,4,8,.72); }
.settings-panel { max-width: 740px; }
.settings-tabs { border-color: var(--locall-line); }
.settings-tab { color: var(--locall-muted); }
.settings-tab--active { color: #fff; }
.settings-tab--active::after { background: #6e8bff; }
.lang-switch--settings { background: rgba(0,0,0,.24); border-color: var(--locall-line); border-radius: 8px; }
.lang-switch--settings .lang-switch__btn { color: var(--locall-muted); }
.lang-switch--settings .lang-switch__btn--active { color: #fff; background: rgba(255,255,255,.16); border-radius: 6px; }
.settings-section, .settings-body { color: var(--locall-text); }
.settings-body .field-label { color: var(--locall-muted); }
.settings-body .field-hint { color: var(--locall-subtle); }
.settings-photo, .settings-provider-badge, .settings-data-zone, .settings-danger-zone,
.wallet-history__item, .plan-pro-config { background: rgba(255,255,255,.05); border-color: var(--locall-line); }
.plan-card { min-width: 0; }
.plan-card--current { border-color: #8da8ff; }
.plan-card--pro { background: linear-gradient(150deg, rgba(62,99,221,.13), transparent 65%), rgba(255,255,255,.045); border-color: rgba(141,168,255,.25); }
.plan-card__price { color: #aebfff; }
.plan-card__feats li::before { background: #8da8ff; opacity: 1; }
.wallet-card__balance, .plan-card__price { font-variant-numeric: tabular-nums; }
.wallet-card__badge { background: rgba(62,99,221,.22); border: 1px solid rgba(141,168,255,.3); color: #c3d0ff; }
.confirm-dialog { max-width: 420px; }
.confirm-overlay--open { background: rgba(3,4,8,.72); }
.settings-overlay, .confirm-overlay { visibility: hidden; }
.settings-overlay--open, .confirm-overlay--open { visibility: visible; }
.app-footer { border-color: var(--locall-line); }
.app-footer__note, .app-footer__links a { color: var(--locall-subtle); }
.app-footer__links a:hover { color: #8da8ff; }

/* The hidden legacy listing flow remains usable when opened from deep links. */
.listing-card, .order-card, .admin-stat, .admin-table-wrap, .admin-report-detail { background-color: rgba(255,255,255,.05); border-color: var(--locall-line); }
.listing-card *, .order-card * { border-color: var(--locall-line); }
.listing-card__title, .order-card__title { color: var(--locall-text); }
.listing-card__description, .order-card__meta { color: var(--locall-muted); }
.explore-search__input { color: #fff; }
.category-pill { color: var(--locall-muted); background: rgba(255,255,255,.05); border-color: var(--locall-line); }
.category-pill--active { color: #fff; background: rgba(62,99,221,.25); border-color: rgba(141,168,255,.35); }

/* Related production pages carry the same material and contrast. */
body.legal-page { color: var(--locall-text); background: #0a0b0d; }
.brand-logo--legal { width: 112px; aspect-ratio: 1400 / 425; background: url('../locall-mark-white.png') center / contain no-repeat; filter: none; }
.brand-logo--legal::before, .brand-logo--legal::after { display: none; }
.legal-card { background: linear-gradient(150deg, rgba(255,255,255,.09), transparent 52%), rgba(22,24,29,.75);
    border-color: var(--locall-line); box-shadow: var(--shadow-lg), inset 0 1px 0 rgba(255,255,255,.14);
    backdrop-filter: blur(30px) saturate(180%); -webkit-backdrop-filter: blur(30px) saturate(180%); }
.legal-card a { color: #a8baff; }
.legal-back-btn { border-radius: 8px; }

body.admin-page { background: transparent; }
body.admin-page .app-topnav { position: sticky; top: 0; left: auto; bottom: auto; width: 100%; height: 58px;
    flex-direction: row; align-items: center; padding: 0 24px; border-radius: 0; border-top: 0; border-right: 0; border-left: 0; }
body.admin-page .app-topnav__left, body.admin-page .app-topnav__right { flex-direction: row; align-items: center; height: 100%; flex: none; margin: 0; border: 0; padding: 0; }
body.admin-page .app-topnav__left { gap: 10px; }
body.admin-page .app-topnav__right { margin-left: auto; }
body.admin-page .app-brand { margin: 0; }
.admin-topnav-badge { border-radius: 6px; background: rgba(62,99,221,.25); color: #b8c8ff; }
.admin-topnav-link { color: var(--locall-muted); }
.admin-topnav-link:hover { color: #fff; }
.admin-topnav-user { color: var(--locall-subtle); }
.admin-shell { width: min(1380px, calc(100% - 48px)); gap: 20px; }
.admin-sidebar { top: 78px; padding: 12px; border: 1px solid var(--locall-line); border-radius: 13px;
    background: rgba(255,255,255,.055); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.admin-nav__item { color: var(--locall-muted); border-radius: 8px; }
.admin-nav__item:hover { color: #fff; background: rgba(255,255,255,.10); }
.admin-nav__item--active { color: #fff; background: #3e63dd; }
.admin-section-head h1, .admin-h2, .admin-stat__value { color: #fff; }
.admin-stat, .admin-table-wrap, .admin-report-detail { background: rgba(255,255,255,.055); border: 1px solid var(--locall-line);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.11); }
.admin-table th, .admin-table td { border-color: var(--locall-line); }
.admin-table th, .admin-stat__label, .admin-sub { color: var(--locall-muted); }
.admin-table td { color: var(--locall-text); }
.admin-scroll-hint { display: none; color: var(--locall-muted); font-size: 12px; margin: -6px 0 10px; }
.admin-table-wrap:focus-visible { outline: 2px solid #8da8ff; outline-offset: 3px; }
.admin-msg { background: rgba(255,255,255,.055); border-color: var(--locall-line); }
.admin-msg--seller { background: rgba(62,99,221,.16); }
.admin-btn { color: var(--locall-text); background: rgba(255,255,255,.08); border-color: var(--locall-line); border-radius: 8px; }
.admin-btn:hover { color: #fff; border-color: #8da8ff; }
.admin-search, .admin-select { border-radius: 8px; }

/* Tablet: narrower rails, but preserve every navigation target. */
@media (max-width: 1050px) and (min-width: 761px) {
    .incoming-workspace { display: block; min-height: 0; border: 0; background: none; box-shadow: none; overflow: visible; }
    .incoming-workspace .req-carousel { border: 0; }
    .incoming-workspace .discover-list--carousel { flex-direction: row; gap: 10px; overflow-x: auto;
        overflow-y: hidden; max-height: none; min-height: 0; padding: 6px 4px 14px; }
    .incoming-workspace .req-card--incoming, .incoming-workspace .req-card--teaser { flex: 0 0 300px; width: 300px;
        border: 1px solid var(--locall-line); border-radius: 13px; background: rgba(255,255,255,.04); }
    .incoming-detail { display: none; }
    .app-page:not(.admin-page) .app-topnav { left: 12px; top: 12px; bottom: 12px; width: 198px; }
    .app-page:not(.admin-page) .app-shell { margin: 12px 12px 12px 210px; padding-inline: 20px; }
    .app-page:not(.admin-page) .workspace-bar { margin-inline: -20px; padding-inline: 20px; }
    .workspace-bar__heading > span { display: none; }
}

/* Mobile navigation matches the prototype's fixed four-tab dock. */
@media (max-width: 760px) {
    .incoming-workspace { display: block; min-height: 0; border: 0; background: none; box-shadow: none; overflow: visible; }
    .incoming-workspace .req-carousel { border: 0; }
    .incoming-workspace .discover-list--carousel { display: grid; gap: 10px; overflow: visible; max-height: none;
        min-height: 0; padding: 0; }
    .incoming-workspace .req-card--incoming, .incoming-workspace .req-card--teaser { width: 100%;
        border: 1px solid var(--locall-line); border-radius: 13px; background: rgba(255,255,255,.04); }
    .incoming-detail { display: none; }
    body.app-page:not(.admin-page) { padding: 0; }
    .app-page:not(.admin-page) .app-topnav { position: relative; left: auto; top: auto; bottom: auto; width: 100%; height: 146px;
        display: block; padding: 17px 18px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
    .app-page:not(.admin-page) .app-topnav__left { height: auto; flex: none; gap: 15px; margin: 0; }
    .app-page:not(.admin-page) .app-brand { width: 86px; height: 31px; margin: 0; }
    .app-page:not(.admin-page) .brand-logo--nav { width: 86px; height: 29px; }
    .app-page:not(.admin-page) .app-mode-toggle { width: 100%; height: 50px; padding: 3px; margin-top: 15px; border-radius: 12px; }
    .app-page:not(.admin-page) .app-mode-toggle__btn { width: 50%; height: 42px; font-size: 13.5px; border-radius: 9px; }
    .app-page:not(.admin-page) .app-topnav > .app-nav__group { display: none; }
    .app-page:not(.admin-page) .app-topnav__center { position: fixed; z-index: 140; left: 0; right: 25%; bottom: 0;
        width: 75%; min-width: 0; height: calc(74px + env(safe-area-inset-bottom)); margin: 0; padding: 7px 0 env(safe-area-inset-bottom);
        display: flex; flex-direction: row; align-items: flex-start; justify-content: stretch; gap: 0; overflow: visible;
        background: rgba(16,18,23,.93); border: 0; border-top: 1px solid var(--locall-line);
        backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%); }
    .app-page:not(.admin-page) .app-nav__account { position: fixed; z-index: 140; bottom: 0; right: 0; width: 25%;
        height: calc(74px + env(safe-area-inset-bottom)); padding: 7px 0 env(safe-area-inset-bottom); margin: 0;
        background: rgba(16,18,23,.93); border: 0; border-top: 1px solid var(--locall-line);
        backdrop-filter: blur(24px) saturate(180%); -webkit-backdrop-filter: blur(24px) saturate(180%); }
    .app-page:not(.admin-page) .app-nav__account .app-nav__group, .app-page:not(.admin-page) #nav-plan { display: none; }
    .app-page:not(.admin-page) .app-nav__item { width: auto; flex: 1 1 0; height: 54px; padding: 4px 2px; flex-direction: column; gap: 3px;
        align-items: center; justify-content: center; border-radius: 0; background: transparent; box-shadow: none;
        color: var(--locall-subtle); font-size: 10.5px; line-height: 1.1; text-align: center; white-space: normal; }
    .app-page:not(.admin-page) .app-nav__item::before { width: 19px; height: 19px; flex-basis: 19px; }
    .app-page:not(.admin-page) .app-nav__item--active { color: #a5b8ff; }
    .app-page:not(.admin-page) .app-nav__item:hover { background: rgba(255,255,255,.06); }
    .app-page:not(.admin-page) .app-nav__account #nav-settings { width: 100%; }
    .app-page:not(.admin-page) #nav-settings { font-size: 0; }
    .app-page:not(.admin-page) #nav-settings::after { content: attr(data-mobile-label); display: block; position: static;
        width: auto; height: auto; background: none; font-size: 10.5px; line-height: 1.1; }
    #nav-settings { --nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
    .app-page:not(.admin-page) .app-topnav__right { position: absolute; right: 18px; top: 17px; width: auto; height: 32px;
        flex-direction: row-reverse; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; }
    .app-page:not(.admin-page) .app-credits-chip { width: auto; height: 32px; padding: 0 10px; font-variant-numeric: tabular-nums; }
    .app-page:not(.admin-page) .app-credits-chip__icon, .app-page:not(.admin-page) .app-credits-chip__badge { display: none; }
    .app-page:not(.admin-page) .app-user-chip { padding: 0; height: 32px; min-height: 32px; }
    .app-page:not(.admin-page) .app-user-chip__avatar { width: 32px; height: 32px; flex-basis: 32px; }
    .app-page:not(.admin-page) .app-user-chip__meta, .app-page:not(.admin-page) .app-signout-btn { display: none; }
    .app-page:not(.admin-page) .app-shell { width: 100%; margin: 0; padding: 0 18px calc(94px + env(safe-area-inset-bottom));
        min-height: calc(100vh - 146px); border: 0; border-radius: 0; box-shadow: none; background: transparent; backdrop-filter: none; }
    .app-page:not(.admin-page) .workspace-bar { min-height: 35px; margin: 0 0 12px; padding: 0; border: 0; }
    .workspace-bar__heading > span, .workspace-location { display: none; }
    .workspace-bar h1 { font-size: 13px; color: var(--locall-muted); }
    .lang-switch--app { display: flex !important; }
    .discover-hero { margin: 0 0 22px; padding: 18px 16px; gap: 12px; border-radius: 14px; }
    .discover-hero__title { font-size: 19px; }
    .discover-search { min-height: 42px; }
    .discover-search__input { font-size: 13px; }
    .discover-search__submit { padding: 8px 13px; }
    .discover-options { flex-wrap: wrap; gap: 7px; }
    .discover-options .discover-search__submit { margin-left: auto; }
    .discover-field { flex: 1 1 auto; min-width: 0; }
    .discover-field--toggle { flex: 1 1 100%; }
    .discover-field__input, .discover-field--wide .discover-field__input { width: 100%; min-width: 0; }
    .discover-history__title { font-size: 13px; }
    .discover-list, .discover-list--carousel { display: grid; grid-template-columns: minmax(0,1fr); overflow: visible; scroll-snap-type: none; }
    .req-card { width: 100%; max-width: none; flex-basis: auto; }
    .req-carousel::after, .req-carousel__arrow { display: none !important; }
    .app-section__header { align-items: flex-start; }
    .app-section__header h2 { font-size: 18px; }
    .detail-modal-overlay, .chat-modal-overlay, .settings-overlay { padding: 10px 10px max(10px, env(safe-area-inset-bottom)); }
    .detail-modal, .chat-modal, .settings-panel { max-height: calc(100dvh - 20px - env(safe-area-inset-bottom)); border-radius: 16px; }
    .settings-signout-btn { display: inline-flex; color: var(--locall-muted); }
    .settings-tabs { overflow-x: auto; }
    .settings-tab { flex: 0 0 auto; }
    .plan-grid { grid-template-columns: minmax(0,1fr); }
    .conversation-offer__row, .app-form__grid { grid-template-columns: 1fr; }
    .conversation-offer__actions, .confirm-dialog__actions, .order-card__actions { flex-wrap: wrap; }
    .admin-shell { width: calc(100% - 24px); }
    .admin-scroll-hint { display: block; }
}

@media (max-width: 420px) {
    body.admin-page .app-brand, body.admin-page .brand-logo--nav { width: 80px; }
    body.admin-page .admin-topnav-badge { margin-left: 0; }
    body.admin-page .admin-topnav-link { padding-inline: 8px; font-size: 11px; }
    .app-page:not(.admin-page) .app-nav__item { font-size: 10px; }
    .app-page:not(.admin-page) .app-shell { padding-inline: 14px; }
    .app-page:not(.admin-page) .app-topnav { padding-inline: 14px; }
    .discover-hero { padding-inline: 13px; }
    .discover-search__icon { display: none; }
    .discover-search__input { padding-left: 7px; }
    .req-card__actions { gap: 6px; }
    .req-card__actions .discover-card__action { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
    .app-shell, .app-stat-strip, .app-section__header, .listing-grid, .featured-section { animation: none !important; }
    .req-card, .plan-card, .listing-card, .conversation-card { transition: none; }
}

/* Faithful canvas composition: one bounded, continuous glass window rather
   than two independent panels. Real data may scroll inside the right pane. */
body.app-page:not(.admin-page) { display: flex; align-items: center; justify-content: center;
    min-height: 100dvh; padding: 34px; overflow-x: hidden; overflow-y: auto; }
body.app-page:not(.admin-page)::before, body:not(.app-page):not(.legal-page)::before {
    background:
        radial-gradient(ellipse 46% 54% at 26% 2%, rgba(45,102,212,.59), transparent 78%),
        radial-gradient(ellipse 36% 47% at -5% 56%, rgba(93,74,168,.43), transparent 84%),
        radial-gradient(ellipse 38% 47% at 105% 12%, rgba(23,135,164,.44), transparent 82%),
        radial-gradient(ellipse 48% 49% at 55% 109%, rgba(42,82,184,.45), transparent 82%),
        radial-gradient(ellipse 29% 32% at 97% 104%, rgba(119,82,120,.23), transparent 84%),
        linear-gradient(165deg, #121c2e 0%, #101421 55%, #151320 100%);
}
body.app-page:not(.admin-page)::after { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(rgba(255,255,255,.017) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.017) 1px, transparent 1px), url('../glass-grain.svg');
    background-size: 32px 32px, 32px 32px, 200px 200px; }
.app-frame { position: relative; display: grid; grid-template-columns: 236px minmax(0,1fr);
    width: min(1372px, 100%); height: min(832px, calc(100dvh - 68px)); min-height: 0;
    overflow: hidden; border-radius: 20px; border: 1px solid rgba(255,255,255,.17);
    background: linear-gradient(150deg, rgba(255,255,255,.10), rgba(255,255,255,.01) 38%, transparent 60%), rgba(12,14,20,.50);
    box-shadow: 0 60px 140px rgba(0,0,0,.72), 0 4px 18px rgba(0,0,0,.4),
        inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.55),
        inset 1px 0 0 rgba(255,255,255,.07), inset -1px 0 0 rgba(255,255,255,.05);
    backdrop-filter: blur(30px) saturate(190%) brightness(1.04);
    -webkit-backdrop-filter: blur(30px) saturate(190%) brightness(1.04); }
.app-frame::after { content: ''; position: absolute; inset: 0; z-index: 5; pointer-events: none;
    background: url('../glass-grain.svg') repeat; background-size: 200px 200px; }
.app-page:not(.admin-page) .app-topnav { position: relative; top: auto; bottom: auto; left: auto; z-index: 1;
    grid-column: 1; width: 236px; height: 100%; padding: 18px 14px; border: 0;
    border-right: 1px solid rgba(255,255,255,.13); border-radius: 0; box-shadow: inset 1px 1px 0 rgba(255,255,255,.10), inset -1px 0 0 rgba(0,0,0,.30);
    background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.06) 60%, rgba(255,255,255,.075));
    backdrop-filter: none; -webkit-backdrop-filter: none; }
.app-page:not(.admin-page) .app-shell { grid-column: 2; width: auto; height: 100%; min-height: 0;
    margin: 0; padding: 0 28px 24px; overflow-x: hidden; overflow-y: auto;
    border: 0; border-radius: 0; box-shadow: none; background: transparent;
    backdrop-filter: none; -webkit-backdrop-filter: none; animation: none; scrollbar-width: thin; }
.app-page:not(.admin-page) .workspace-bar { position: sticky; top: 0; z-index: 4;
    height: 56px; min-height: 56px; margin: 0 -28px 24px; padding: 0 24px;
    background: rgba(12,14,20,.84); border-bottom: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 1px 0 rgba(0,0,0,.30); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); }
.app-page:not(.admin-page) .app-topnav__left { gap: 20px; margin-bottom: 20px; }
.app-page:not(.admin-page) .app-brand, .app-page:not(.admin-page) .brand-logo--nav { width: 88px; height: 27px; }
.app-page:not(.admin-page) .app-mode-toggle { height: 36px; }
.app-page:not(.admin-page) .app-mode-toggle__btn { height: 28px; }
.app-page:not(.admin-page) .app-nav__item { height: 34px; font-size: 13px; }
.app-page:not(.admin-page) .app-nav__group { font-weight: 500; color: rgba(235,238,245,.42); }
.app-page:not(.admin-page) .app-nav__item--active { background: linear-gradient(180deg, rgba(74,110,232,.75), rgba(56,88,205,.75)); }
.app-page #nav-offers .unread-badge { background: #3e63dd; }
.app-page:not(.admin-page) .app-topnav__right { border: 0; padding: 0; }
.app-page:not(.admin-page) .app-credits-chip { display: none; }
.app-page:not(.admin-page) .app-user-chip { padding: 9px 10px; border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px; background: rgba(255,255,255,.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.14); }
.app-page:not(.admin-page) .app-user-chip__avatar { flex-basis: 28px; width: 28px; height: 28px; }
.app-page:not(.admin-page) .app-signout-btn { height: 25px; opacity: .65; }
.workspace-location { box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.location-banner { display: flex; align-items: center; gap: 8px; padding: 8px 12px; margin-top: -8px; margin-bottom: 18px;
    font-size: 11.5px; border: 1px solid rgba(255,255,255,.10); border-radius: 9px;
    background: rgba(255,255,255,.045); color: var(--locall-muted); }
.location-banner__btn { background: rgba(255,255,255,.09); color: var(--locall-text); border: 1px solid rgba(255,255,255,.13); }
.location-banner__btn:hover { background: rgba(255,255,255,.15); }

/* Request index: mockup's single frosted list, with real status, latest offer
   and all production actions retained in the overflow control. */
#discover-carousel::after, #discover-carousel .req-carousel__arrow { display: none !important; }
#discover-list, #offers-list { display: block; width: 100%; max-width: none; margin: 0; padding: 0;
    overflow: visible; border: 1px solid rgba(255,255,255,.12); border-radius: 16px;
    background: linear-gradient(150deg, rgba(255,255,255,.07), transparent 52%), rgba(255,255,255,.05);
    box-shadow: 0 10px 26px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.14); }
#discover-list:empty, #offers-list:empty { display: none; }
.request-row { position: relative; display: grid; grid-template-columns: 16px minmax(0,1fr) minmax(120px,190px) auto;
    gap: 14px; align-items: center; min-height: 77px; padding: 14px 18px;
    border-bottom: 1px solid rgba(255,255,255,.09);
    background-color: transparent;
    transition: background-color .28s ease, box-shadow .28s ease; }
.request-row:last-child { border-bottom: 0; }
.request-row:hover { background-color: rgba(111,133,190,.10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10), inset 0 -1px 0 rgba(255,255,255,.035); }
.request-row__state { display: inline-flex; align-items: center; justify-content: center; width: 16px; padding: 0; border: 0; background: none; }
.req-status__icon { display: block; width: 15px; height: 15px; flex: 0 0 15px; }
.request-row__status-label { display: none; }
.request-row__title { display: flex; align-items: center; gap: 8px; min-width: 0; }
.request-row__info { min-width: 0; }
.request-row__info h3 { min-width: 0; margin: 0 0 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    color: #f5f5f7; font-size: 14px; font-weight: 600; line-height: 1.35; }
.request-row__pro { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto;
    padding: 2px 7px; border: 1px solid rgba(141,168,255,.32); border-radius: 6px;
    background: linear-gradient(135deg, rgba(141,168,255,.15), rgba(62,99,221,.20));
    color: #bfd0ff; font-size: 10px; font-weight: 600; line-height: 1.25;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10); }
.request-row__pro svg { width: 11px; height: 11px; }
.request-row__info p { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    color: rgba(235,238,245,.55); font-size: 12px; }
.request-row__offer { display: flex; flex-direction: column; align-items: flex-end; min-width: 0; font-variant-numeric: tabular-nums; }
.request-row__offer strong { color: #f5f5f7; font-size: 15px; font-weight: 600; }
.request-row__offer span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    color: rgba(235,238,245,.50); font-size: 11px; }
.request-row__actions { display: flex; align-items: center; gap: 6px; }
.request-row__actions > .discover-card__action { width: auto; height: 32px; padding: 0 14px; flex: 0 0 auto;
    border-radius: 9px; background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.16);
    font-size: 12.5px; font-weight: 600; box-shadow: inset 0 1px 0 rgba(255,255,255,.13); }
.request-row__more { position: relative; }
.request-row__more summary { display: flex; align-items: center; justify-content: center; width: 29px; height: 32px;
    border: 1px solid rgba(255,255,255,.10); border-radius: 8px; background: rgba(255,255,255,.04);
    color: var(--locall-muted); cursor: pointer; list-style: none; font-size: 17px; line-height: 1; }
.request-row__more summary::-webkit-details-marker { display: none; }
.request-row__more summary:hover, .request-row__more[open] summary { color: #fff; background: rgba(255,255,255,.12); }
.request-row__menu { position: absolute; top: calc(100% + 5px); right: 0; z-index: 20; display: grid; gap: 3px;
    min-width: 150px; padding: 6px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px;
    background: rgba(23,25,31,.97); box-shadow: 0 14px 35px rgba(0,0,0,.55); }
.request-row:last-child .request-row__menu { top: auto; bottom: calc(100% + 5px); }
.request-row__menu .discover-card__action { justify-content: flex-start; min-height: 30px; border: 0; background: transparent; box-shadow: none; }
.request-row__menu .discover-card__action:hover { background: rgba(255,255,255,.10); }

/* Seller list is a compact navigation column, not a stack of offer cards. */
.incoming-workspace { grid-template-columns: minmax(320px,398px) minmax(0,1fr); }
.incoming-workspace .req-card--incoming { gap: 4px; padding: 14px 18px; cursor: pointer; }
.incoming-workspace .req-card--incoming .req-buyer__avatar,
.incoming-workspace .req-card--incoming .req-buyer__meta strong,
.incoming-workspace .req-card--incoming .req-card__chips,
.incoming-workspace .req-card--incoming .req-card__actions { display: none; }
.incoming-workspace .req-card--incoming .req-buyer__meta span { font-size: 11px; }
.incoming-workspace .req-card--incoming .req-card__title { margin: 2px 0; font-size: 13.5px; font-weight: 600; }
.incoming-workspace .req-card--incoming .req-card__details { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.incoming-workspace .req-card--selected { background: rgba(255,255,255,.07); box-shadow: inset 2px 0 #3e63dd; }
.incoming-workspace .req-card--selected:hover { background: rgba(255,255,255,.09); box-shadow: inset 2px 0 #3e63dd; }
.incoming-detail__body h3 { font-size: 20px; }
.incoming-detail__action { min-width: min(100%,420px); }
.incoming-detail__action .discover-card__action { width: auto; }
.incoming-detail__offer-form { display: grid; gap: 12px; max-width: 640px; margin-top: 22px; padding: 20px;
    border: 1px solid rgba(255,255,255,.10); border-radius: 14px;
    background: linear-gradient(150deg, rgba(255,255,255,.06), transparent 55%), rgba(255,255,255,.04);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10); }
.incoming-detail__offer-form h4 { margin: 0 0 2px; color: #f5f5f7; font-size: 13px; font-weight: 600; }
.incoming-detail__offer-row { display: grid; grid-template-columns: minmax(130px,1fr) 126px; gap: 10px; }
.incoming-detail__offer-form label { display: grid; gap: 5px; min-width: 0; color: var(--locall-muted); font-size: 11.5px; }
.incoming-detail__offer-form input:not([type="checkbox"]), .incoming-detail__offer-form select, .incoming-detail__offer-form textarea {
    width: 100%; min-width: 0; min-height: 36px; padding: 8px 11px; border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px; outline: none; background: rgba(255,255,255,.06); color: #f5f5f7;
    font: inherit; font-size: 13px; }
.incoming-detail__offer-form input:focus, .incoming-detail__offer-form select:focus, .incoming-detail__offer-form textarea:focus {
    border-color: #8da8ff; box-shadow: 0 0 0 3px rgba(62,99,221,.24); }
.incoming-detail__offer-form select option { background: #22242b; }
.incoming-detail__offer-form textarea { min-height: 72px; resize: vertical; }
.incoming-detail__offer-form textarea::placeholder { color: var(--locall-subtle); }
.incoming-detail__offer-pro { display: flex !important; flex-direction: row; align-items: center; gap: 7px !important; }
.incoming-detail__offer-pro input { accent-color: #3e63dd; }
.incoming-detail__offer-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.incoming-detail__offer-footer .discover-card__action { width: auto; min-height: 36px; padding: 0 18px; }
.incoming-detail__offer-footer span { color: var(--locall-subtle); font-size: 10.5px; line-height: 1.45; }

/* The account sheet follows the mockup's 216px category rail. */
.settings-panel { width: min(980px, calc(100vw - 40px)); max-width: none;
    height: auto; max-height: min(672px, calc(100dvh - 40px));
    display: grid; grid-template-columns: 216px minmax(0,1fr); grid-template-rows: 52px minmax(0,1fr);
    overflow: hidden; border-radius: 16px; background-color: rgba(22,24,29,.86); }
.settings-panel__header { grid-column: 2; grid-row: 1; height: 52px; padding: 0 24px; }
.settings-panel__title { font-size: 14.5px; font-weight: 600; }
.settings-side { grid-column: 1; grid-row: 1 / 3; min-width: 0; min-height: 0; padding: 16px 12px;
    overflow-y: auto; background: rgba(255,255,255,.04); border-right: 1px solid rgba(255,255,255,.07); }
.settings-side__identity { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 6px 8px 16px;
    border-bottom: 1px solid rgba(255,255,255,.07); }
.settings-side__avatar { display: flex; align-items: center; justify-content: center; flex: 0 0 34px;
    width: 34px; height: 34px; border-radius: 50%; background-color: rgba(255,255,255,.14);
    background-size: cover; background-position: center; color: #f5f5f7; font-size: 12px; font-weight: 600; }
.settings-side__person { display: flex; flex-direction: column; min-width: 0; }
.settings-side__person strong, .settings-side__person small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-side__person strong { color: #f5f5f7; font-size: 12.5px; font-weight: 600; }
.settings-side__person small { color: var(--locall-subtle); font-size: 10.5px; }
.settings-side .settings-tabs { display: flex; flex-direction: column; gap: 2px; overflow: visible;
    margin: 0; padding: 0; border: 0; }
.settings-side .settings-tab { display: flex; align-items: center; width: 100%; min-height: 32px;
    padding: 0 10px; border-radius: 8px; color: rgba(235,238,245,.78);
    font-size: 12.5px; text-align: left; }
.settings-side .settings-tab::after { display: none; }
.settings-side .settings-tab--active { color: #f5f5f7; background: rgba(62,99,221,.55); }
.settings-side .settings-tab:hover:not(.settings-tab--active) { color: #fff; background: rgba(255,255,255,.07); }
.settings-body { grid-column: 2; grid-row: 2; min-height: 0; padding: 22px 24px; }
.pro-status-card, .pro-status-card--active { display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
    min-height: 76px; margin-bottom: 22px; padding: 16px 18px; border: 1px solid rgba(141,168,255,.2);
    border-radius: 12px; background: rgba(255,255,255,.05); }
.pro-status-card__line { flex: 1 1 180px; color: #f5f5f7; font-size: 14px; }
.plan-current-balance { display: flex; flex-direction: column; align-items: flex-end; min-width: 56px; }
.plan-current-balance small { color: var(--locall-subtle); font-size: 11px; }
.plan-current-balance strong { color: #f5f5f7; font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
#plan-wallet-link { white-space: nowrap; }
.plan-grid { display: flex; flex-direction: column; gap: 0; overflow: hidden;
    margin: 12px 0 17px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; }
.plan-card, .plan-card--pro { display: grid; grid-template-columns: 16px minmax(0,1fr) auto auto;
    grid-template-rows: auto auto; align-items: center; gap: 2px 13px; min-width: 0;
    padding: 13px 16px; border: 0; border-bottom: 1px solid rgba(255,255,255,.07);
    border-radius: 0; background: transparent; box-shadow: none; }
.plan-card:last-child { border-bottom: 0; }
.plan-card:hover { transform: none; background: rgba(255,255,255,.05); box-shadow: none; }
.plan-card--current, .plan-card--current:hover { background: rgba(62,99,221,.16); }
.plan-card__radio { grid-column: 1; grid-row: 1 / 3; display: block; width: 15px; height: 15px;
    border: 1.5px solid rgba(255,255,255,.28); border-radius: 50%; }
.plan-card--current .plan-card__radio { border: 4.5px solid #3e63dd; background: #f5f5f7; }
.plan-card__name { grid-column: 2; grid-row: 1; min-width: 0; color: #f5f5f7;
    font-size: 13px; font-weight: 600; }
.plan-card__current { position: static; margin-left: 5px; padding: 0; color: var(--locall-muted);
    background: transparent; font-size: 11px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.plan-card__price { grid-column: 3; grid-row: 1 / 3; color: #f5f5f7; font-size: 13px; }
.plan-card__feats { grid-column: 2; grid-row: 2; display: flex; flex-direction: row; flex-wrap: wrap;
    gap: 0 5px; color: var(--locall-muted); }
.plan-card__feats li { padding: 0; color: var(--locall-muted); font-size: 11.5px; }
.plan-card__feats li::before { display: none; }
.plan-card__feats li:not(:last-child)::after { content: ' ·'; }
.plan-card__cta { grid-column: 4; grid-row: 1 / 3; width: auto; min-width: 72px; height: 31px;
    margin: 0; padding: 0 10px; font-size: 11.5px; }
#plan-intro, #plan-hint { color: var(--locall-subtle); font-size: 11.5px; line-height: 1.55; }
.wallet-history { overflow: hidden; border: 1px solid var(--locall-line); border-radius: 12px; }
.wallet-tx { padding: 11px 16px; }

/* Access reproduces the blurred product silhouette and tighter glass dialog. */
.access-backdrop { position: fixed; top: 50%; left: 50%; z-index: 0; display: grid;
    grid-template-columns: 220px minmax(0,1fr); width: min(960px, 80vw); height: 620px;
    transform: translate(-50%,-50%); overflow: hidden; pointer-events: none; opacity: .60;
    border: 1px solid rgba(255,255,255,.09); border-radius: 18px;
    background: rgba(20,22,27,.72); filter: blur(14px); }
.access-backdrop__rail { padding: 40px 28px; background: rgba(255,255,255,.06); }
.access-backdrop__rail i, .access-backdrop__stage i { display: block; border-radius: 7px; background: rgba(255,255,255,.09); }
.access-backdrop__rail i:first-child { width: 110px; height: 16px; margin-bottom: 40px; background: rgba(255,255,255,.14); }
.access-backdrop__rail i:not(:first-child) { width: 164px; height: 30px; margin-bottom: 14px; }
.access-backdrop__rail i:nth-child(2) { background: rgba(62,99,221,.55); }
.access-backdrop__stage { padding: 34px 42px; }
.access-backdrop__stage i:first-child { width: 300px; height: 22px; margin-bottom: 36px; }
.access-backdrop__stage i:not(:first-child) { width: 100%; height: 90px; margin-bottom: 18px; }
body:not(.app-page):not(.legal-page) .container { position: relative; z-index: 1; }
body:not(.app-page):not(.legal-page) .login-card { padding: 34px 34px 28px; }
.login-password-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.login-password-heading .field-label { margin-bottom: 6px; }
.login-password-heading .form-link { font-size: 11.5px; }
#social-continue-text { display: flex; align-items: center; gap: 10px; margin: 18px 0 14px;
    color: var(--locall-subtle); font-size: 11.5px; }
#social-continue-text::before, #social-continue-text::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,.10); }
.social-login__terms { max-width: 320px; margin: 16px auto 0; color: var(--locall-subtle); font-size: 11px !important; line-height: 1.5; }

@media (min-width: 761px) and (max-width: 1100px) {
    body.app-page:not(.admin-page) { padding: 16px; }
    .app-frame { grid-template-columns: 210px minmax(0,1fr); width: 100%; height: calc(100dvh - 32px); }
    .app-page:not(.admin-page) .app-topnav { width: 210px; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; }
    .app-page:not(.admin-page) .app-topnav__left { height: auto; flex: none; flex-direction: column; align-items: stretch; }
    .app-page:not(.admin-page) .app-topnav__center { order: 0; flex: none; min-width: 0; width: 100%; height: auto;
        overflow: visible; justify-content: flex-start; border-top: 0; }
    .app-page:not(.admin-page) .app-nav__item { height: 34px; padding: 0 10px; }
    .app-page:not(.admin-page) .app-topnav__right { height: auto; flex-direction: column; align-items: stretch; }
    .app-page:not(.admin-page) .app-user-chip__meta { display: flex !important; }
    .app-page:not(.admin-page) .app-signout-btn { display: flex !important; }
    .app-page:not(.admin-page) .lang-switch--app { display: flex !important; }
    .app-page:not(.admin-page) .app-shell { padding-inline: 20px; }
    .app-page:not(.admin-page) .workspace-bar { margin-inline: -20px; padding-inline: 20px; }
    .request-row { grid-template-columns: 16px minmax(0,1fr) auto; gap: 10px; }
    .request-row__offer { display: none; }
    .incoming-workspace .req-card--incoming .req-card__actions { display: flex; }
}

@media (max-width: 760px) {
    body.admin-page .app-topnav { flex-wrap: nowrap; justify-content: space-between; height: 58px;
        padding: 0 16px; gap: 10px; }
    body.admin-page .app-topnav__left { min-width: 0; flex: 0 0 auto; }
    body.admin-page .app-topnav__right { min-width: 0; height: 100%; flex: 0 0 auto;
        margin-left: auto; white-space: nowrap; }
    body.admin-page .admin-topnav-user, body.admin-page .app-topnav__sep { display: none; }
    body.admin-page .admin-topnav-link { display: inline-flex; align-items: center; min-height: 34px;
        padding: 0 10px; border: 1px solid var(--locall-line); border-radius: 8px;
        background: rgba(255,255,255,.07); color: var(--locall-text); font-size: 12px; }
    body.admin-page .admin-shell { padding-top: 16px; gap: 18px; }
    body.admin-page .admin-sidebar { gap: 4px; padding: 6px; border-radius: 12px; }
    body.admin-page .admin-nav__item { min-height: 39px; padding: 0 12px; font-size: 12.5px; }
    body.app-page:not(.admin-page) { display: block; padding: 0; min-height: 100dvh; overflow-y: auto; }
    .app-frame { display: block; width: 100%; height: auto; min-height: 100dvh; overflow: visible;
        border: 0; border-radius: 0; background: transparent; box-shadow: none;
        backdrop-filter: none; -webkit-backdrop-filter: none; }
    .app-frame::after { display: none; }
    .app-page:not(.admin-page) .app-topnav { position: relative; width: 100%; height: 146px;
        padding: 18px 18px 0; border: 0; background: transparent; box-shadow: none; }
    .app-page:not(.admin-page) .app-topnav__left { gap: 15px; margin: 0; }
    .app-page:not(.admin-page) .app-topnav__right { position: absolute; top: 18px; right: 18px; padding: 0; }
    .app-page:not(.admin-page) .app-credits-chip { display: inline-flex; }
    .app-page:not(.admin-page) .app-user-chip { padding: 0; border: 0; background: none; box-shadow: none; }
    .app-page:not(.admin-page) .app-mode-toggle { height: 50px; }
    .app-page:not(.admin-page) .app-mode-toggle__btn { height: 42px; }
    .app-page:not(.admin-page) .app-shell { width: 100%; height: auto; min-height: calc(100dvh - 146px);
        padding: 0 18px calc(94px + env(safe-area-inset-bottom)); overflow: visible; }
    .app-page:not(.admin-page) .workspace-bar { display: none; }
    .app-page:not(.admin-page) .app-nav__item { height: 54px; font-size: 10.5px; }
    .app-page:not(.admin-page) .app-nav__item--active { background: transparent; color: #8da8ff; }
    .app-page #nav-offers { position: relative; }
    .app-page #nav-offers .unread-badge { position: absolute; top: 2px; right: calc(50% - 29px);
        min-width: 16px; height: 16px; margin: 0; padding: 0 4px; font-size: 9.5px; }
    .location-banner { margin-top: 0; }
    .discover-hero { margin-top: 18px; background-color: rgba(255,255,255,.055);
        border-color: rgba(255,255,255,.11); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
    .discover-hero__title { font-size: 19px; }
    .discover-options { display: flex; flex-wrap: wrap; gap: 7px; }
    .discover-options .discover-field--datetime { flex: 0 1 90px; min-width: 88px; }
    .discover-options .discover-field--datetime[data-has-value="true"] { flex: 1 1 100%; }
    #discover-when-display[data-empty="true"] #discover-when-display-text { display: none; }
    .discover-options .discover-field--wide { flex: 1 1 110px; min-width: 104px; }
    .discover-options .discover-field--wide .discover-field__input { width: 100%; min-width: 0; }
    .discover-options .discover-field--wide .discover-field__input::placeholder { font-size: 10px; }
    .discover-options .discover-photo-btn { flex: 0 0 auto; }
    .discover-options .discover-field--toggle { flex: 0 0 98px; }
    .discover-options .discover-search__submit { flex: 0 0 auto; margin-left: auto; }
    #discover-list, #offers-list { border-radius: 14px; }
    .request-row { grid-template-columns: 16px minmax(0,1fr) auto; gap: 8px 10px; padding: 14px 15px; }
    .request-row__state { grid-column: 1 / -1; grid-row: 1; justify-content: flex-start; gap: 8px;
        width: auto; margin: 0 0 2px; }
    .request-row__status-label { display: inline; color: rgba(235,238,245,.78); font-size: 11.5px; font-weight: 500; }
    .request-row__status-inline { display: none; }
    .request-row__info { grid-column: 1 / -1; grid-row: 2; }
    .request-row__info h3 { white-space: normal; font-size: 14px; }
    .request-row__info p { white-space: normal; font-size: 11.5px; }
    .request-row__offer { display: flex; grid-column: 1 / 3; grid-row: 3; align-items: flex-start; }
    .request-row__actions { grid-column: 3; grid-row: 3; }
    .request-row__actions > .discover-card__action { height: 36px; padding: 0 12px; }
    .request-row__more summary { height: 36px; }
    .incoming-workspace .req-card--incoming .req-buyer__avatar,
    .incoming-workspace .req-card--incoming .req-buyer__meta strong,
    .incoming-workspace .req-card--incoming .req-card__chips,
    .incoming-workspace .req-card--incoming .req-card__actions { display: initial; }
    .incoming-workspace .req-card--incoming .req-card__actions { display: flex; }
    .incoming-workspace .req-card--incoming .req-card__chips { display: flex; }
    .incoming-workspace .req-card--incoming .req-buyer__avatar { display: inline-flex; }
    .settings-panel { display: flex; flex-direction: column; width: calc(100% - 20px); height: auto;
        max-height: calc(100dvh - 20px - env(safe-area-inset-bottom)); }
    .settings-panel__header { height: 52px; padding: 0 18px; }
    .settings-side { flex: 0 0 auto; padding: 0; overflow: visible; background: none; border: 0; }
    .settings-side__identity { display: none; }
    .settings-side .settings-tabs { display: flex; flex-direction: row; gap: 0; padding: 0 12px;
        overflow-x: auto; border-bottom: 1px solid var(--locall-line); }
    .settings-side .settings-tab { width: auto; flex: 0 0 auto; height: 39px; padding: 0 10px; border-radius: 0; }
    .settings-side .settings-tab--active { background: none; box-shadow: inset 0 -2px #8da8ff; }
    .settings-body { padding: 18px; overflow-y: auto; }
    .plan-card { grid-template-columns: 16px minmax(0,1fr) auto; }
    .plan-card__price { grid-column: 3; grid-row: 1; }
    .plan-card__feats { grid-column: 2 / 4; grid-row: 2; }
    .plan-card__cta { grid-column: 2 / 4; grid-row: 3; width: 100%; margin-top: 8px; }
    .plan-current-balance { margin-left: auto; }
    #request-offers-modal .detail-modal__body { padding: 18px 16px; }
    .request-offers-toolbar { flex-wrap: wrap; margin-inline: -16px; padding-inline: 16px; }
    .request-offers-toolbar__state { flex-basis: 100%; }
    .conversation-card__price-block .conversation-card__price { font-size: 15px; }
    .conversation-card__note { margin-left: 0; }
    .conversation-card__messages { display: none; }
    .conversation-modal { width: calc(100vw - 20px); height: min(680px, calc(100dvh - 20px - env(safe-area-inset-bottom))); }
    .conversation-modal .chat-modal__title { font-size: 13px; }
    .conversation-modal .conversation-report-btn { display: inline-flex; align-items: center; justify-content: center;
        width: 28px; height: 28px; padding: 0; overflow: hidden; font-size: 0; }
    .conversation-modal .conversation-report-btn::before { content: '⚑'; font-size: 15px; }
    .access-backdrop { display: none; }
}

/* Polished glass interactions shared by desktop and touch layouts. */
.discover-hero, .req-card, .discover-card, .conversation-card, .order-card,
.listing-card, .featured-card, .plan-card {
    transition: background-color .28s ease, border-color .28s ease,
        box-shadow .32s ease, transform .32s cubic-bezier(.22, 1, .36, 1);
}
.discover-hero:hover { background-color: rgba(87,105,153,.105);
    border-color: rgba(169,188,250,.22);
    box-shadow: 0 18px 42px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.19); }
.req-card:hover, .discover-card:hover, .conversation-card:hover,
.order-card:hover, .listing-card:hover, .featured-card:hover {
    transform: translateY(-1px);
    background-color: rgba(91,111,162,.115);
    border-color: rgba(169,190,255,.27);
    box-shadow: 0 18px 40px rgba(0,0,0,.37), inset 0 1px 0 rgba(255,255,255,.19);
}
.plan-card:hover { transform: none; background-color: rgba(91,111,162,.10);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09); }
.plan-card--current:hover { background-color: rgba(62,99,221,.20); }
.incoming-workspace .req-card--incoming:hover { transform: none;
    background-color: rgba(91,111,162,.12);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.incoming-workspace .req-card--selected:hover { background-color: rgba(62,99,221,.22);
    box-shadow: inset 2px 0 #6e8bff, inset 0 1px 0 rgba(255,255,255,.09); }

/* Pro selection opens as a measured glass shelf; no white legacy chips. */
.app-page .discover-field--toggle { transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease; }
.app-page .discover-field--toggle:hover,
.app-page .discover-field--toggle:has(input:checked) { background-color: rgba(62,99,221,.16);
    border-color: rgba(141,168,255,.31); box-shadow: inset 0 1px 0 rgba(255,255,255,.13); }
.app-page .discover-toggle input:checked + .discover-toggle__track {
    background: linear-gradient(135deg, #4265d5, #5679ea);
    box-shadow: inset 0 1px 2px rgba(0,0,0,.24), 0 0 0 1px rgba(141,168,255,.27); }
.app-page .discover-toggle input:checked ~ .discover-toggle__label { color: #c5d2ff; }
.app-page .discover-toggle__track, .app-page .discover-toggle__thumb {
    transition: background-color .25s ease, transform .30s cubic-bezier(.22,1,.36,1), box-shadow .25s ease; }
.app-page .discover-category-row { max-width: none; max-height: 0; margin: 0; padding: 0;
    overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(-7px);
    text-align: left; border-top: 0 solid transparent;
    transition: max-height .42s cubic-bezier(.22,1,.36,1), margin .34s ease,
        padding .34s ease, opacity .26s ease, transform .34s ease,
        border-color .25s ease, border-top-width .34s ease, visibility 0s linear .42s; }
.app-page .discover-category-row--expanded { max-height: 420px; margin-top: 4px; padding: 14px 0 4px;
    opacity: 1; visibility: visible; transform: translateY(0);
    border-top-width: 1px; border-top-color: rgba(255,255,255,.10); transition-delay: 0s; }
.app-page .discover-category-row__hint { margin-bottom: 11px; color: var(--locall-muted);
    font-size: 11.5px; line-height: 1.45; }
.app-page .discover-category-chips { justify-content: flex-start; gap: 7px; }
.app-page .pro-chip { padding: 6px 11px; border-radius: 8px;
    background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.16); color: #c8cfde;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    transition: background-color .25s ease, border-color .25s ease, color .25s ease,
        box-shadow .28s ease, transform .28s cubic-bezier(.22,1,.36,1); }
.app-page .pro-chip:hover { transform: translateY(-1px); background-color: rgba(82,105,172,.17);
    border-color: rgba(141,168,255,.40); color: #f0f3ff;
    box-shadow: 0 7px 16px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.14); }
.app-page .pro-chip--active { background: linear-gradient(140deg, rgba(92,125,235,.25), rgba(62,99,221,.17));
    border-color: rgba(141,168,255,.62); color: #e6ecff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 0 0 1px rgba(62,99,221,.13); }
.app-page .pro-chip--active:hover { background-color: rgba(87,113,206,.30); border-color: #9bb3ff; }
.app-page .pro-badge, .app-page .req-chip--pro { border-radius: 7px;
    background: linear-gradient(135deg, rgba(141,168,255,.16), rgba(62,99,221,.22));
    border: 1px solid rgba(141,168,255,.32); color: #c4d1ff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10); }
.app-page .pro-badge--business { background: linear-gradient(135deg, rgba(173,155,255,.19), rgba(100,81,191,.23));
    border-color: rgba(173,155,255,.34); color: #d9d0ff; }

@media (hover: none) {
    .discover-hero:hover, .req-card:hover, .discover-card:hover,
    .conversation-card:hover, .order-card:hover, .listing-card:hover,
    .featured-card:hover, .plan-card:hover, .request-row:hover,
    .incoming-workspace .req-card--incoming:hover { transform: none; box-shadow: none; }
}
@media (prefers-reduced-motion: reduce) {
    .discover-hero, .req-card, .discover-card, .conversation-card, .order-card,
    .listing-card, .featured-card, .plan-card, .request-row,
    .app-page .discover-category-row, .app-page .pro-chip,
    .app-page .discover-toggle__track, .app-page .discover-toggle__thumb {
        transition-duration: .01ms !important;
    }
}

/* Waiting is signalled by a small palette-coloured icon, never orange copy. */
.app-page .review-reminder { gap: 8px; padding: 16px 18px;
    background: linear-gradient(140deg, rgba(141,168,255,.09), transparent 62%), rgba(255,255,255,.045);
    border-color: rgba(255,255,255,.15);
    box-shadow: 0 10px 26px rgba(0,0,0,.19), inset 0 1px 0 rgba(255,255,255,.13); }
.app-page .review-reminder__title { display: inline-flex; align-items: center; gap: 8px;
    color: var(--locall-text); font-size: 13px; font-weight: 600;
    letter-spacing: 0; text-transform: none; }
.app-page .review-reminder__title::before,
.app-page .order-card__availability--warning::before,
.app-page .order-card__status--pending::before,
.app-page .order-card__escrow--held::before { content: ''; display: inline-block; flex: 0 0 auto;
    width: 10px; height: 10px; border: 1.5px dashed #e3b341; border-radius: 50%; }
.app-page .review-reminder__text { color: var(--locall-muted); font-size: 13px; line-height: 1.55; }
.app-page .order-card__availability--warning { display: inline-flex; align-items: center; gap: 7px;
    color: var(--locall-muted); font-size: 11.5px; font-weight: 500; }
.app-page .order-card__availability--warning::before { width: 9px; height: 9px; }
.app-page .order-card__status--pending,
.app-page .order-card__escrow--held { gap: 6px; background: rgba(255,255,255,.055);
    color: var(--locall-muted); }

/* Brief alerts share the window's glass finish; state colour lives in the icon. */
.app-toast-stack { position: fixed; z-index: 10000;
    top: calc(20px + env(safe-area-inset-top)); right: calc(20px + env(safe-area-inset-right));
    display: flex; flex-direction: column; align-items: stretch; gap: 10px;
    width: min(360px, calc(100vw - 40px)); pointer-events: none; }
.app-toast { position: relative; top: auto; right: auto; display: flex; align-items: center;
    gap: 11px; width: 100%; min-height: 52px; max-width: none; margin: 0; padding: 12px 15px;
    --toast-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 7v4M8 4.5h.01' fill='none' stroke='%23a7baff' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
    border: 1px solid rgba(255,255,255,.2); border-radius: 12px;
    background: linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.045) 55%), rgba(20,27,40,.88);
    box-shadow: 0 18px 45px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: blur(24px) saturate(175%); -webkit-backdrop-filter: blur(24px) saturate(175%);
    color: var(--locall-text); font-size: 13px; font-weight: 500; line-height: 1.4;
    overflow-wrap: anywhere; opacity: 0; transform: translate3d(16px, -4px, 0) scale(.985);
    transition: opacity .24s ease, transform .3s cubic-bezier(.22,1,.36,1); }
.app-toast--visible { opacity: 1; transform: translate3d(0,0,0) scale(1); }
.app-toast::before { content: ''; display: inline-block; flex: 0 0 21px;
    width: 21px; height: 21px;
    border: 1px solid var(--toast-border, rgba(167,186,255,.34)); border-radius: 50%;
    background-color: var(--toast-fill, rgba(110,139,255,.17));
    background-image: var(--toast-icon); background-position: center;
    background-repeat: no-repeat; background-size: 13px 13px; }
.app-toast--success { --toast-border: rgba(130,216,147,.34);
    --toast-fill: rgba(63,185,80,.16);
    --toast-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m2.5 8 3.5 3.5 7.5-7.5' fill='none' stroke='%2382d893' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.app-toast--error { --toast-border: rgba(255,146,154,.35);
    --toast-fill: rgba(226,94,107,.17);
    --toast-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.2v6.3M8 12.5h.01' fill='none' stroke='%23ff929a' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E"); }
@media (max-width: 760px) {
    .app-toast-stack { top: calc(12px + env(safe-area-inset-top));
        right: calc(12px + env(safe-area-inset-right));
        width: min(360px, calc(100vw - 24px - env(safe-area-inset-right))); }
    .app-toast { min-height: 48px; padding: 11px 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .app-toast { transition-duration: .01ms; }
}

/* Keep access fields and settings content on consistent left edges. */
.login-card .login-form { text-align: left; }
#settings-profile, #settings-account, #settings-payments { max-width: 600px; }
.settings-photo-wrapper { display: grid; grid-template-columns: 68px minmax(0, 1fr);
    grid-template-rows: auto auto; align-items: center; justify-items: start; column-gap: 14px;
    min-height: 68px; padding: 0 0 10px; }
.settings-photo { grid-column: 1; grid-row: 1 / 3; width: 68px; height: 68px; }
.settings-photo__text { grid-column: 2; grid-row: 1; align-self: end; }
.settings-rating { grid-column: 2; grid-row: 2; justify-content: flex-start; flex-wrap: wrap;
    gap: 3px 8px; margin: 0; align-self: start; }
.settings-account-info .input-group { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; }
.settings-account-info .field-label { margin-bottom: 0; }
.app-page .settings-account-info #settings-email { display: block; width: 100%; max-width: 100%; height: auto;
    min-height: 0; padding: 0; border: 0; background: transparent; box-shadow: none;
    color: var(--locall-text); opacity: 1; text-overflow: ellipsis; }
.settings-data-zone { background: transparent; }
#settings-payments .wallet-card + .settings-subsection-title { margin-top: 22px; margin-bottom: 10px; }
#settings-pro .plan-pro-config { margin-top: 20px; padding: 20px 22px;
    border: 1px solid var(--locall-line); border-radius: 12px; }
#settings-pro .pro-areas-chips, #settings-pro .pro-actions { margin-bottom: 0; }
#pro-save-areas-btn { margin-top: 16px; }
#settings-account .settings-data-zone + .settings-danger-zone { margin-top: 20px; }

@media (max-width: 760px) {
    .login-card .tab-button { min-height: 40px; }
    .login-card .login-form input:not([type="checkbox"]) { height: 44px; }
    .settings-panel { width: 100%; }
    .settings-body { padding: 18px 16px; }
    .settings-side .settings-tab { min-height: 44px; height: 44px; }
    .settings-panel__actions { gap: 4px; }
    .settings-signout-btn, .settings-panel__close { width: 36px; height: 36px; }
    .settings-body .app-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
        min-height: 44px; }
    .settings-body .app-form textarea { min-height: 90px; }
    .settings-body .app-form > .join-button, .settings-danger-btn { min-height: 44px; }
    #settings-pro .plan-pro-config { padding: 16px; }
    .pro-status-card { display: grid; grid-template-columns: auto minmax(0, 1fr);
        gap: 10px 12px; align-items: center; }
    .pro-status-card .pro-badge { grid-column: 1; grid-row: 1; }
    .pro-status-card__line { grid-column: 2; grid-row: 1; min-width: 0; }
    .plan-current-balance { grid-column: 1; grid-row: 2; align-items: flex-start; margin: 0; }
    #plan-wallet-link { grid-column: 2; grid-row: 2; justify-self: start; min-height: 40px; }
    #plan-boost-btn { grid-column: 1 / -1; grid-row: 3; width: 100%; }
    .plan-card { grid-template-columns: 16px minmax(0, 1fr); gap: 4px 12px; padding: 14px 16px; }
    .plan-card__radio { grid-column: 1; grid-row: 1 / 4; align-self: start; margin-top: 2px; }
    .plan-card__name { grid-column: 2; grid-row: 1; flex-wrap: wrap; line-height: 1.3; }
    .plan-card__price { grid-column: 2; grid-row: 2; }
    .plan-card__feats { grid-column: 2; grid-row: 3; gap: 3px 6px; line-height: 1.45; }
    .plan-card__cta { grid-column: 2; grid-row: 4; min-height: 44px; margin-top: 8px; }
    .discover-options .discover-field, .discover-options .discover-photo-btn,
    .discover-options .discover-search__submit { height: 40px; min-height: 40px; }
    .location-banner__btn { min-height: 38px; }
    .location-banner__dismiss { min-width: 36px; min-height: 36px; }
    .request-form-modal .join-button, .request-form-modal .secondary-button { min-height: 44px; }
    .request-row__actions > .discover-card__action, .request-row__more summary {
        height: 44px; min-height: 44px; }
}

@media (max-width: 350px) {
    .login-card .tab-button { padding-inline: 2px; font-size: 11.5px; white-space: nowrap; }
    .discover-options .discover-search__submit { flex: 1 1 100%; width: 100%; }
}
