/* RC16.1 Inbox & Settings vNext — shared vNext design, responsive and scroll foundation. */
:root{
  --tt-bg:#f6f7fb;
  --tt-surface:#fff;
  --tt-surface-soft:#f8f9fc;
  --tt-surface-raised:#fff;
  --tt-ink:#14182b;
  --tt-muted:#6f7689;
  --tt-line:#e5e7ef;
  --tt-line-strong:#d8dce8;
  --tt-purple:#6b36ee;
  --tt-purple-strong:#5724d7;
  --tt-purple-soft:#efe9ff;
  --tt-blue:#3e7cff;
  --tt-orange:#f38a32;
  --tt-teal:#0ca49c;
  --tt-green:#17a86e;
  --tt-red:#df4e61;
  --tt-radius-xs:10px;
  --tt-radius-sm:12px;
  --tt-radius-md:16px;
  --tt-radius-lg:22px;
  --tt-shadow-sm:0 8px 24px rgba(28,31,55,.05);
  --tt-shadow:0 18px 52px rgba(31,34,62,.08);
  --tt-vh:100dvh;
  --tt-keyboard-height:0px;
  --tt-mobile-nav-height:76px;
  --tt-page-gutter:clamp(12px,2vw,24px);
}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%;background:var(--tt-bg)}
html,body{max-width:100%}
body.tt-vnext-document{margin:0;background:var(--tt-bg);color:var(--tt-ink);accent-color:var(--tt-purple);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body.tt-vnext-document *{box-sizing:border-box}
body.tt-vnext-document img,body.tt-vnext-document video{max-width:100%}
body.tt-vnext-document button,body.tt-vnext-document input,body.tt-vnext-document textarea,body.tt-vnext-document select{font:inherit}
body.tt-vnext-document :is(input,textarea,select){font-size:16px}
body.tt-vnext-document :focus-visible{outline:3px solid rgba(107,54,238,.22);outline-offset:2px}
body.tt-vnext-document [hidden]{display:none!important}
body.tt-vnext-document :is(a,button,input,textarea,select){-webkit-tap-highlight-color:transparent}
body.tt-vnext-document :is(.tt-shell,.tt-page-shell,.tt-workspace,.tt-content,.my-page,.profile-page,.request-page,.tp-main,.tt-vnext-nearby-main){min-width:0}
body.tt-vnext-document :is(pre,code,.long-copy){overflow-wrap:anywhere}
body.tt-vnext-document .leaflet-container{font-family:inherit}

/* Shared surfaces and controls. */
body.tt-vnext-document :is(.tt-card,.my-card,.request-card,.notification-card,.profile-card,.smart-start-card,.tt-panel){border:1px solid var(--tt-line);border-radius:var(--tt-radius-lg);background:var(--tt-surface);box-shadow:var(--tt-shadow-sm)}
body.tt-vnext-document :is(.primary-btn,.tt-primary,.request-primary,.my-primary){border:0;border-radius:13px;background:linear-gradient(145deg,#7b49ff,var(--tt-purple-strong));color:#fff;box-shadow:0 10px 24px rgba(107,54,238,.2);font-weight:850;text-decoration:none}
body.tt-vnext-document :is(.secondary-btn,.tt-secondary,.request-secondary){border:1px solid var(--tt-line);border-radius:13px;background:var(--tt-surface-soft);color:#343a50;font-weight:800;text-decoration:none}
body.tt-vnext-document :is(.primary-btn,.tt-primary,.request-primary,.my-primary,.secondary-btn,.tt-secondary,.request-secondary){transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
@media(hover:hover){body.tt-vnext-document :is(.primary-btn,.tt-primary,.request-primary,.my-primary,.secondary-btn,.tt-secondary,.request-secondary):hover{transform:translateY(-1px)}}
body.tt-vnext-document button:disabled,body.tt-vnext-document [aria-disabled="true"]{cursor:not-allowed;opacity:.55;box-shadow:none}

/* Header and navigation. */
body.tt-vnext-document .tt-topbar{border-bottom:1px solid rgba(225,228,238,.9);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.tt-vnext-document .tt-mobile-nav{height:calc(var(--tt-mobile-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid rgba(221,224,234,.95);background:rgba(255,255,255,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .2s ease,opacity .2s ease}
body.tt-vnext-document .tt-mobile-nav a.active{color:var(--tt-purple)}
body.tt-vnext-document .tt-mobile-nav .create{box-shadow:0 12px 30px rgba(107,54,238,.3)}

/* Status language. */
body.tt-vnext-document :is(.tt-status-chip,[class*="status-pill"],[class*="state-chip"]){display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 9px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}
.tt-status-waiting{background:#fff5df;color:#9b6518}.tt-status-ready{background:#eaf8f2;color:#117d56}.tt-status-info{background:#eee9ff;color:#6032d4}.tt-status-danger{background:#ffeaed;color:#b9364c}

/* Empty and error states. */
body.tt-vnext-document :is(.tt-empty-state,.empty-card){display:grid;justify-items:center;text-align:center;gap:8px;padding:36px 20px;border:1px dashed #d9dce7;border-radius:20px;background:linear-gradient(180deg,#fff,#fafbfe)}
body.tt-vnext-document :is(.tt-empty-state,.empty-card)>span{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:var(--tt-purple-soft);color:var(--tt-purple);font-size:24px}
body.tt-vnext-document :is(.tt-empty-state,.empty-card) :is(h2,h3){margin:0;font-size:18px}
body.tt-vnext-document :is(.tt-empty-state,.empty-card) p{max-width:430px;margin:0;color:var(--tt-muted);font-size:12px;line-height:1.5}

/* Drawers and dialogs always remain usable on short screens. */
body.tt-vnext-document :is([role="dialog"],[aria-modal="true"]){max-width:100%}
body.tt-vnext-document :is([role="dialog"],[aria-modal="true"],.tn-contact-sheet,.tn-request-sheet,.tt-group-info){overscroll-behavior:contain}
body.tt-vnext-document :is(.tn-contact-sheet,.tn-request-sheet,.tt-group-info-scroll,.tt-modal-body,.tt-drawer-body){scrollbar-gutter:stable}
html.tt-launch-overlay-open,html.tt-launch-overlay-open body{overflow:hidden!important;overscroll-behavior:none}

/* Responsive document scroll foundation. Group chat owns its own viewport. */
@media(max-width:900px){
  html:not(.tt-group-root),html:not(.tt-group-root) body.tt-vnext-document{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto}
  body.tt-vnext-document:not(.tt-group-document){min-height:var(--tt-vh,100dvh);padding-bottom:calc(var(--tt-mobile-nav-height) + env(safe-area-inset-bottom));touch-action:pan-y}
  body.tt-vnext-document :is(main,.tt-page,.tt-page-main){min-height:0}
  body.tt-vnext-document :is(.tt-shell,.tt-page-shell,.my-shell,.profile-shell,.request-shell,.tp-main,.tt-vnext-nearby-main){width:100%;max-width:100%;padding-left:var(--tt-page-gutter);padding-right:var(--tt-page-gutter)}
  body.tt-vnext-document :is(.tt-hero,.my-hero,.profile-hero,.request-hero){border-radius:18px}
  body.tt-vnext-document .tt-desktop-only{display:none!important}
  body.tt-vnext-document.tt-has-open-overlay{overflow:hidden!important;touch-action:none}
  body.tt-vnext-document .tt-sticky-cta{bottom:calc(var(--tt-mobile-nav-height) + env(safe-area-inset-bottom) + 8px)}
  body.tt-vnext-document.tt-keyboard-open:not(.tt-group-document){padding-bottom:max(12px,env(safe-area-inset-bottom))}
  body.tt-vnext-document.tt-keyboard-open .tt-mobile-nav{transform:translateY(110%);opacity:0;pointer-events:none}
  body.tt-vnext-document.tt-keyboard-open .tt-sticky-cta{bottom:max(8px,env(safe-area-inset-bottom))}
}
@media(max-width:520px){
  body.tt-vnext-document :is(h1,.tt-page-title){font-size:clamp(24px,7vw,32px);line-height:1.08}
  body.tt-vnext-document :is(.tt-card,.my-card,.request-card,.notification-card,.profile-card,.smart-start-card,.tt-panel){border-radius:18px}
}

/* Dark theme. */
html[data-theme="dark"] body.tt-vnext-document{--tt-bg:#11131b;--tt-surface:#191c27;--tt-surface-soft:#202430;--tt-surface-raised:#202430;--tt-ink:#f1f3f8;--tt-muted:#a6acbb;--tt-line:#303442;--tt-line-strong:#3c4150;background:var(--tt-bg);color:var(--tt-ink)}
html[data-theme="dark"] body.tt-vnext-document .tt-topbar,html[data-theme="dark"] body.tt-vnext-document .tt-mobile-nav{background:rgba(25,28,39,.96);border-color:#303442}
html[data-theme="dark"] body.tt-vnext-document :is(.tt-empty-state,.empty-card){background:linear-gradient(180deg,#191c27,#171a23);border-color:#343845}
html[data-theme="dark"] body.tt-vnext-document :is(.secondary-btn,.tt-secondary,.request-secondary){background:#202430;border-color:#343947;color:#e5e8f1}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.tt-vnext-document *,body.tt-vnext-document *::before,body.tt-vnext-document *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
