:root{
  --qs-purple-700:#7c4dff;
  --qs-purple-600:#8f63ff;
  --qs-purple-500:#a48bff;
  --qs-purple-100:#efe8ff;
  --qs-purple-050:#f8f5ff;
  --qs-bg:#ffffff;
  --qs-bg-soft:#fbf9ff;
  --qs-panel:#ffffff;
  --qs-border:#e7defc;
  --qs-border-strong:#d7c7ff;
  --qs-text:#2b2150;
  --qs-soft:#7c70a1;
  --qs-soft-2:#a39aba;
  --qs-shadow:0 18px 50px rgba(108,72,200,.12);
  --qs-shadow-soft:0 12px 30px rgba(108,72,200,.08);
  --qs-radius-xl:30px;
  --qs-radius-lg:24px;
  --qs-radius-md:18px;
  --qs-safe-bottom:max(18px, env(safe-area-inset-bottom));
}

html,body{
  margin:0 !important;
  min-height:100%;
  height:100%;
  background:var(--qs-bg) !important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body.quickshare-app-body{
  color:var(--qs-text) !important;
  background:var(--qs-bg) !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  -webkit-font-smoothing:antialiased;
  overflow:hidden;
  overscroll-behavior:none;
}

body.quickshare-app-body #quickshare-app{
  min-height:100vh;
  height:100dvh;
  background:var(--qs-bg);
  overflow:hidden;
}

#quickshare-app,
#quickshare-app *{
  box-sizing:border-box;
}

#quickshare-app button,
#quickshare-app input,
#quickshare-app textarea,
#quickshare-app a{
  font:inherit;
}

#quickshare-app button{
  -webkit-tap-highlight-color:transparent;
}

#quickshare-app a{
  color:inherit;
  text-decoration:none;
}

#quickshare-app h1,
#quickshare-app h2,
#quickshare-app h3,
#quickshare-app p{
  margin:0;
}

#quickshare-app img{
  max-width:100%;
  display:block;
}

.qs-auth{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
}

.qs-auth.is-transitioning{
  filter:blur(12px);
  transform:scale(.992);
  transition:filter .22s ease, transform .22s ease;
}

.qs-auth__card{
  width:min(100%, 460px);
  background:rgba(255,255,255,.95);
  border:1px solid var(--qs-border);
  border-radius:var(--qs-radius-xl);
  box-shadow:var(--qs-shadow);
  padding:24px;
}

.qs-auth__section{
  display:grid;
  gap:18px;
}

.qs-auth__intro{
  display:grid;
  gap:10px;
}

.qs-auth__intro h1{
  font-size:clamp(2rem, 6vw, 2.8rem);
  line-height:.95;
  letter-spacing:-.04em;
}

.qs-auth__intro p,
.qs-auth__meta,
.qs-muted{
  color:var(--qs-soft);
}

.qs-field{
  display:grid;
  gap:8px;
}

.qs-field span{
  font-size:.92rem;
  font-weight:700;
}

.qs-input,
.qs-compose-input{
  width:100%;
  border:1px solid var(--qs-border);
  background:#fff;
  color:var(--qs-text);
  border-radius:18px;
  min-height:56px;
  padding:0 18px;
  outline:none;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.qs-input:focus,
.qs-compose-input:focus{
  border-color:var(--qs-purple-600);
  box-shadow:0 0 0 4px rgba(143,99,255,.14);
}

.qs-code{
  text-align:center;
  letter-spacing:.42em;
  font-size:1.28rem;
  font-weight:800;
  padding-left:calc(18px + .42em);
}

.qs-button--send-code{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.qs-button__spinner{
  width:16px;
  height:16px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.36);
  border-top-color:#fff;
  animation:qs-spin .8s linear infinite;
}

@keyframes qs-spin{
  to{transform:rotate(360deg);}
}

.qs-check{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.94rem;
  color:var(--qs-soft);
}

.qs-check input{
  margin-top:2px;
}

.qs-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  border:1px solid transparent;
  min-height:48px;
  padding:0 18px;
  cursor:pointer;
  font-weight:700;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.qs-button:hover,
.qs-send:hover,
.qs-plus:hover,
.qs-avatar:hover{
  transform:translateY(-1px);
}

.qs-button--primary{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600));
  color:#fff;
  box-shadow:0 14px 24px rgba(124,77,255,.18);
}

.qs-button--ghost{
  background:#fff;
  border-color:var(--qs-border);
  color:var(--qs-text);
}

.qs-button--full{
  width:100%;
}

.qs-resend{
  display:grid;
  gap:8px;
}

.qs-resend__button{
  justify-self:start;
  padding:0;
  border:0;
  background:transparent;
  color:var(--qs-purple-700);
  font-weight:800;
  cursor:pointer;
}

.qs-resend__button:disabled{
  color:var(--qs-soft-2);
  cursor:not-allowed;
}

.qs-brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:var(--qs-purple-050);
  color:var(--qs-purple-700);
  font-weight:800;
  letter-spacing:-.03em;
  border:1px solid var(--qs-border);
}

.qs-brand--top{
  background:#fff;
}

.qs-chat-app{
  min-height:100vh;
  height:100dvh;
  display:flex;
  flex-direction:column;
  max-width:1120px;
  margin:0 auto;
  padding:0 16px;
  overflow:hidden;
}

.qs-chat-app.is-transitioning{
  filter:blur(10px);
  transform:scale(.992);
  transition:filter .22s ease, transform .22s ease;
}

.qs-topbar{
  position:fixed;
  top:max(0px, env(safe-area-inset-top));
  left:50%;
  transform:translateX(-50%);
  z-index:18;
  width:min(1120px, calc(100vw - 32px));
  padding:12px 0 0;
  isolation:isolate;
}

.qs-topbar::after{
  content:"";
  position:absolute;
  left:-14px;
  right:-14px;
  top:calc(100% - 12px);
  height:78px;
  background:linear-gradient(180deg, rgba(255,255,255,.88) 0%, rgba(255,255,255,.68) 34%, rgba(255,255,255,.28) 72%, rgba(255,255,255,0) 100%);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  pointer-events:none;
  z-index:0;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.7) 42%, rgba(0,0,0,.2) 78%, rgba(0,0,0,0) 100%);
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.7) 42%, rgba(0,0,0,.2) 78%, rgba(0,0,0,0) 100%);
}

.qs-topbar__panel{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:78px;
  padding:16px 18px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(215,199,255,.72);
  border-radius:26px;
  box-shadow:var(--qs-shadow-soft);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.qs-topbar__left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.qs-version-link{
  padding:0;
  border:0;
  background:transparent;
  color:var(--qs-purple-700);
  font-size:.82rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
  white-space:nowrap;
}

.qs-version-link:hover{
  opacity:.86;
}

.qs-avatar{
  width:48px;
  height:48px;
  border:1px solid var(--qs-border);
  border-radius:999px;
  background:linear-gradient(135deg, #ffffff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(124,77,255,.12);
}

.qs-avatar--large{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
}

.qs-thread-wrap{
  flex:1;
  min-height:0;
  overflow:hidden;
  padding-top:104px;
  padding-bottom:138px;
}

.qs-thread{
  height:100%;
  min-height:0;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:12px 4px 24px;
  scroll-behavior:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.qs-empty-state{
  margin:auto;
  max-width:420px;
  text-align:center;
  padding:28px;
  border:1px dashed var(--qs-border-strong);
  border-radius:28px;
  background:rgba(248,245,255,.7);
}

.qs-empty-state__icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin:0 auto 14px;
  border-radius:999px;
  background:#fff;
  color:var(--qs-purple-700);
  border:1px solid var(--qs-border);
  font-size:1.6rem;
  font-weight:700;
}

.qs-empty-state h2{
  font-size:1.22rem;
  margin-bottom:8px;
}

.qs-empty-state p{
  color:var(--qs-soft);
  line-height:1.5;
}

.qs-message{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-width:100%;
}

.qs-message.is-own{
  align-items:flex-end;
}

.qs-message.is-other{
  align-items:flex-start;
}

.qs-message__meta{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 8px;
  font-size:.76rem;
  color:var(--qs-soft-2);
}
.qs-message__body{
  display:flex;
  align-items:flex-end;
  gap:8px;
  max-width:min(82vw, 620px);
}

.qs-message.is-own .qs-message__body{
  flex-direction:row-reverse;
}

.qs-copy-pill{
  width:32px;
  min-width:32px;
  height:32px;
  border:1px solid rgba(215,199,255,.88);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:var(--qs-purple-700);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 18px rgba(124,77,255,.1);
  cursor:pointer;
  opacity:.92;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.qs-copy-pill:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(124,77,255,.14);
  opacity:1;
}

.qs-copy-pill__icon,
.qs-copy-pill__icon svg{
  width:16px;
  height:16px;
  display:block;
}

.qs-bubble{
  max-width:min(calc(76vw - 40px), 560px);
  border:1px solid var(--qs-border);
  border-radius:24px;
  padding:14px 14px 10px;
  text-align:left;
  background:#fff;
  color:var(--qs-text);
  cursor:pointer;
  box-shadow:var(--qs-shadow-soft);
  -webkit-touch-callout:none;
  touch-action:manipulation;
  user-select:none;
  -webkit-user-select:none;
}

.qs-message.is-own .qs-bubble{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600));
  border-color:transparent;
  color:#fff;
}

.qs-message.is-other .qs-bubble{
  background:#fff;
}

.qs-bubble.is-sensitive{
  background:linear-gradient(180deg, #fefcff, #f5efff);
}

.qs-bubble.is-copy-armed{
  box-shadow:0 0 0 4px rgba(143,99,255,.16), var(--qs-shadow-soft);
}

.qs-message.is-own .qs-bubble.is-sensitive{
  background:linear-gradient(135deg, #8f63ff, #7c4dff);
}

.qs-bubble__text{
  font-size:.98rem;
  line-height:1.48;
  word-break:break-word;
  white-space:pre-wrap;
}

.qs-bubble__text.is-protected{
  filter:blur(6px);
  user-select:none;
}

.qs-bubble__foot{
  margin-top:10px;
  font-size:.72rem;
  opacity:.72;
}

.qs-bubble__media-wrap{
  overflow:hidden;
  border-radius:18px;
}

.qs-bubble__media{
  width:100%;
  max-height:320px;
  object-fit:cover;
}

.qs-compose-dock{
  position:fixed;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  z-index:18;
  width:min(1120px, calc(100vw - 32px));
  padding:0 0 calc(var(--qs-safe-bottom) + 12px);
}

.qs-compose-shell{
  position:relative;
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid rgba(215,199,255,.72);
  border-radius:30px;
  background:#fff;
  box-shadow:var(--qs-shadow);
  overflow:visible;
}

.qs-detect{
  position:absolute;
  left:18px;
  bottom:calc(100% + 12px);
  z-index:5;
  color:var(--qs-purple-700);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:-.01em;
  pointer-events:none;
  animation:qs-detect-fade .22s ease;
}

.qs-detect.is-sensitive{
  color:#b14678;
}

.qs-compose-bar{
  position:relative;
}

.qs-plus,
.qs-send{
  position:absolute;
  top:50%;
  width:44px;
  min-width:44px;
  height:44px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--qs-border);
  cursor:pointer;
  box-shadow:0 10px 20px rgba(124,77,255,.12);
  transform:translateY(-50%);
}

.qs-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  line-height:1;
}

.qs-icon svg{
  width:20px;
  height:20px;
  display:block;
}

.qs-plus{
  left:8px;
  background:linear-gradient(135deg, #ffffff, #f8f4ff);
  color:var(--qs-purple-700);
}

.qs-send{
  right:8px;
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600));
  border-color:transparent;
  color:#fff;
}

.qs-send:disabled{
  opacity:.56;
  cursor:not-allowed;
  box-shadow:none;
}

.qs-compose-bar .qs-plus:hover,
.qs-compose-bar .qs-send:hover{
  transform:translateY(-50%);
}

.qs-compose-input{
  width:100%;
  min-height:60px;
  max-height:120px;
  resize:none;
  padding:17px 62px;
  border-radius:28px;
  line-height:1.38;
}

.qs-compose-file{
  padding:0 6px 2px;
  color:var(--qs-soft);
  font-size:.84rem;
}

@keyframes qs-detect-fade{
  from{
    opacity:0;
    transform:translateY(8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.qs-toast{
  position:fixed;
  left:50%;
  top:calc(env(safe-area-inset-top) + 18px);
  bottom:auto;
  transform:translate(-50%, -14px);
  display:flex;
  align-items:center;
  gap:10px;
  min-width:min(92vw, 340px);
  max-width:92vw;
  padding:14px 16px;
  border-radius:20px;
  background:rgba(36,26,70,.96);
  color:#fff;
  box-shadow:0 14px 30px rgba(24,18,45,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  z-index:60;
}


.qs-toast.is-visible{
  opacity:1;
  transform:translate(-50%, 0);
  pointer-events:auto;
}

.qs-toast__text{
  flex:1;
}

.qs-toast__action{
  border:0;
  background:transparent;
  color:#d9c7ff;
  font-weight:800;
  cursor:pointer;
}

.qs-sheet-backdrop,
.qs-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(26,20,48,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:39;
}

.qs-sheet-backdrop.is-open,
.qs-modal-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.qs-sheet{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:40;
  padding:18px 16px calc(var(--qs-safe-bottom) + 12px);
  transform:translateY(104%);
  transition:transform .22s ease;
}

.qs-sheet.is-open{
  transform:translateY(0);
}

.qs-sheet > *{
  pointer-events:auto;
}

.qs-sheet::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
}

.qs-sheet__head,
.qs-profile-card,
.qs-stack,
.qs-sheet__footer{
  position:relative;
}

.qs-sheet .qs-brand--sheet{
  margin-bottom:10px;
}

.qs-sheet__head h2{
  padding-top:6px;
}

.qs-sheet{
  display:grid;
}

.qs-sheet__grab{
  width:58px;
  height:6px;
  border-radius:999px;
  background:#d9cff6;
  margin:0 auto 12px;
}

.qs-sheet{
  background:#fff;
  border-top-left-radius:32px;
  border-top-right-radius:32px;
  box-shadow:0 -22px 50px rgba(24,18,45,.18);
}

.qs-sheet__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}

.qs-profile-card{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid var(--qs-border);
  border-radius:24px;
  background:var(--qs-bg-soft);
  margin-bottom:14px;
}

.qs-stack{
  display:grid;
  gap:10px;
}

.qs-mini-stat{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:14px;
  border:1px solid var(--qs-border);
  border-radius:20px;
  background:#fff;
}

.qs-mini-stat span{
  color:var(--qs-soft);
}

.qs-sheet__footer{
  margin-top:16px;
}


.qs-mini-stat--stacked{
  align-items:flex-start;
  flex-direction:column;
}

.qs-inline-link{
  padding:0;
  border:0;
  background:transparent;
  color:var(--qs-purple-700);
  font-size:.84rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.qs-sheet--changelog,
.qs-sheet--devices{
  max-height:min(82vh, 760px);
}

.qs-release-list,
.qs-device-list{
  display:grid;
  gap:12px;
  max-height:min(56vh, 520px);
  overflow:auto;
  padding-right:4px;
}

.qs-release-card,
.qs-device-card{
  border:1px solid var(--qs-border);
  border-radius:24px;
  background:var(--qs-bg-soft);
  padding:16px;
}

.qs-release-card__head,
.qs-device-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.qs-release-card__head{
  margin-bottom:12px;
}

.qs-release-card__head strong{
  font-size:1rem;
}

.qs-release-card__head span{
  color:var(--qs-soft);
  font-size:.84rem;
}

.qs-release-card__list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:var(--qs-text);
}

.qs-release-card__list li{
  line-height:1.45;
}

.qs-device-card__copy{
  min-width:0;
}

.qs-device-card__title-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}

.qs-device-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--qs-border);
  color:var(--qs-purple-700);
  font-size:.74rem;
  font-weight:700;
}

.qs-device-card__action{
  min-height:40px;
  padding-inline:14px;
  white-space:nowrap;
}

.qs-preview-modal{
  position:fixed;
  inset:auto 16px calc(var(--qs-safe-bottom) + 12px) 16px;
  z-index:41;
  max-width:960px;
  margin:0 auto;
  padding:16px;
  background:#fff;
  border:1px solid var(--qs-border);
  border-radius:28px;
  box-shadow:0 30px 70px rgba(24,18,45,.25);
  transform:translateY(30px);
  opacity:0;
  pointer-events:none;
  transition:transform .18s ease, opacity .18s ease;
}

.qs-preview-modal.is-open{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

.qs-preview-modal__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.qs-preview-modal__body{
  max-height:min(72vh, 820px);
  overflow:auto;
  border-radius:22px;
  background:#f7f4ff;
}

.qs-preview-modal__image{
  width:100%;
  height:auto;
}

@media (min-width: 768px){
  .qs-chat-app{
    padding:0 20px;
  }

  .qs-topbar{
    width:min(1120px, calc(100vw - 40px));
    padding-top:18px;
  }

  .qs-topbar__panel{
    padding:18px 22px;
  }

  .qs-thread-wrap{
    padding-top:118px;
    padding-bottom:150px;
  }

  .qs-thread{
    padding-inline:10px;
  }

  .qs-bubble{
    max-width:min(62vw, 640px);
  }

  .qs-compose-dock{
    width:min(1120px, calc(100vw - 40px));
    padding-bottom:20px;
  }

  .qs-compose-shell{
    padding:16px;
  }

  
.qs-mini-stat--stacked{
  align-items:flex-start;
  flex-direction:column;
}

.qs-inline-link{
  padding:0;
  border:0;
  background:transparent;
  color:var(--qs-purple-700);
  font-size:.84rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}

.qs-sheet--changelog,
.qs-sheet--devices{
  max-height:min(82vh, 760px);
}

.qs-release-list,
.qs-device-list{
  display:grid;
  gap:12px;
  max-height:min(56vh, 520px);
  overflow:auto;
  padding-right:4px;
}

.qs-release-card,
.qs-device-card{
  border:1px solid var(--qs-border);
  border-radius:24px;
  background:var(--qs-bg-soft);
  padding:16px;
}

.qs-release-card__head,
.qs-device-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.qs-release-card__head{
  margin-bottom:12px;
}

.qs-release-card__head strong{
  font-size:1rem;
}

.qs-release-card__head span{
  color:var(--qs-soft);
  font-size:.84rem;
}

.qs-release-card__list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:8px;
  color:var(--qs-text);
}

.qs-release-card__list li{
  line-height:1.45;
}

.qs-device-card__copy{
  min-width:0;
}

.qs-device-card__title-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}

.qs-device-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--qs-border);
  color:var(--qs-purple-700);
  font-size:.74rem;
  font-weight:700;
}

.qs-device-card__action{
  min-height:40px;
  padding-inline:14px;
  white-space:nowrap;
}

.qs-preview-modal{
    left:50%;
    right:auto;
    width:min(92vw, 980px);
    transform:translate(-50%, 30px);
  }

  .qs-preview-modal.is-open{
    transform:translate(-50%, 0);
  }

  .qs-sheet{
    left:auto;
    right:20px;
    width:min(420px, calc(100vw - 40px));
    padding:18px 18px 18px;
    border-radius:32px;
    bottom:20px;
    transform:translateY(110%);
  }

  .qs-sheet.is-open{
    transform:translateY(0);
  }

  .qs-sheet__grab{
    display:none;
  }

  .qs-sheet--changelog{
    right:50%;
    left:auto;
    width:min(620px, calc(100vw - 40px));
    transform:translate(50%, 110%);
  }

  .qs-sheet--changelog.is-open{
    transform:translate(50%, 0);
  }
}


.qs-usage-card{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--qs-border);
  border-radius:22px;
  background:var(--qs-bg-soft);
  margin-bottom:14px;
}

.qs-usage-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:.92rem;
}

.qs-usage-card__head span{
  color:var(--qs-soft);
}
.qs-usage-card__copy{
  display:grid;
  gap:4px;
}

.qs-usage-card__copy .qs-inline-link[disabled]{
  opacity:.56;
  cursor:default;
  text-decoration:none;
}

.qs-usage-bar{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#ebe3ff;
  overflow:hidden;
}

.qs-usage-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-500));
}

.qs-thread.is-preview{
  display:grid;
  place-items:center;
  padding:132px 0 36px;
}

.qs-preview-gate{
  width:100%;
  display:grid;
  place-items:center;
  min-height:100%;
}

.qs-preview-card{
  width:min(100%, 520px);
  padding:28px;
  border:1px solid var(--qs-border);
  border-radius:30px;
  background:linear-gradient(180deg, #fff, #faf7ff);
  box-shadow:var(--qs-shadow-soft);
  text-align:left;
  display:grid;
  gap:14px;
}

.qs-preview-card__eyebrow{
  color:var(--qs-purple-700);
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.qs-preview-card h2{
  font-size:clamp(1.45rem, 3.8vw, 2rem);
  line-height:1.05;
  letter-spacing:-.03em;
}

.qs-preview-card p{
  color:var(--qs-soft);
  line-height:1.55;
}

.qs-bubble[data-item-type="url"] .qs-bubble__text,
.qs-bubble[data-item-type="email"] .qs-bubble__text,
.qs-bubble[data-item-type="phone"] .qs-bubble__text{
  text-decoration:underline;
  text-decoration-color:rgba(124,77,255,.28);
  text-underline-offset:3px;
}

.qs-message.is-own .qs-bubble[data-item-type="url"] .qs-bubble__text,
.qs-message.is-own .qs-bubble[data-item-type="email"] .qs-bubble__text,
.qs-message.is-own .qs-bubble[data-item-type="phone"] .qs-bubble__text{
  text-decoration-color:rgba(255,255,255,.34);
}

@media (max-width: 640px){
  .qs-message__body{
    max-width:100%;
  }

  .qs-copy-pill{
    width:30px;
    min-width:30px;
    height:30px;
  }

  .qs-preview-card{
    padding:24px;
    border-radius:28px;
  }

  .qs-usage-card__head{
    flex-direction:column;
    align-items:flex-start;
  }
}


.qs-message.is-entering{
  animation:qs-message-in .22s ease;
}

.qs-bubble__foot:empty{
  display:none;
}

.qs-message.is-pending .qs-bubble{
  opacity:.82;
}

.qs-message.is-pending .qs-bubble__foot{
  opacity:.9;
}

.qs-action-popover-backdrop{
  position:fixed;
  inset:0;
  z-index:38;
  background:transparent;
}

.qs-action-popover{
  position:fixed;
  z-index:41;
  min-width:160px;
  max-width:min(92vw, 220px);
  padding:6px;
  border:1px solid rgba(215,199,255,.9);
  border-radius:22px;
  background:rgba(255,255,255,.98);
  box-shadow:0 18px 44px rgba(35,24,74,.16);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.qs-action-popover__row{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
}

.qs-action-popover__button{
  width:42px;
  min-width:42px;
  height:42px;
  padding:0;
  border-radius:14px;
  border:1px solid var(--qs-border);
  background:#fff;
  color:var(--qs-text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.qs-action-popover__button:hover{
  transform:translateY(-1px);
  box-shadow:var(--qs-shadow-soft);
  border-color:var(--qs-border-strong);
}

.qs-action-popover__button.is-danger{
  color:#c44263;
  border-color:#f0cad5;
  background:#fff7fa;
}

.qs-action-popover__icon{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.qs-action-popover__icon svg{
  width:18px;
  height:18px;
}

@keyframes qs-message-in{
  from{
    opacity:0;
    transform:translateY(14px) scale(.986);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}


.qs-install-backdrop{
  position:fixed;
  inset:0;
  background:rgba(18,12,38,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:58;
}

.qs-install-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.qs-install-card{
  position:fixed;
  left:50%;
  top:50%;
  width:min(92vw, 520px);
  max-height:min(82vh, 720px);
  overflow:auto;
  transform:translate(-50%, -46%);
  padding:22px;
  border-radius:28px;
  border:1px solid rgba(215,199,255,.86);
  background:rgba(255,255,255,.98);
  box-shadow:0 26px 60px rgba(27,18,59,.2);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  z-index:59;
}

.qs-install-card.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%, -50%);
}

.qs-install-card__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:var(--qs-purple-050);
  color:var(--qs-purple-700);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:-.01em;
  margin-bottom:14px;
}

.qs-install-card__head{
  display:grid;
  gap:16px;
}

.qs-install-card__head h2{
  font-size:1.42rem;
  line-height:1.05;
  letter-spacing:-.03em;
  margin-bottom:8px;
}

.qs-install-card__head p{
  color:var(--qs-soft);
  line-height:1.5;
}

.qs-install-card__steps{
  display:grid;
  gap:10px;
  margin:18px 0 0;
  padding:0 0 0 20px;
  color:var(--qs-text);
}

.qs-install-card__steps li{
  padding-left:4px;
  line-height:1.45;
}

.qs-install-card__footer{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  margin-top:20px;
}

.qs-bubble__attachment{
  display:flex;
  align-items:center;
  gap:12px;
}

.qs-bubble__attachment-icon{
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(124,77,255,.12);
  color:inherit;
  font-weight:800;
  font-size:1rem;
}

.qs-bubble__attachment-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.qs-bubble__attachment-copy strong{
  font-size:.96rem;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-bubble__attachment-copy span{
  font-size:.78rem;
  opacity:.74;
}

@media (max-width: 640px){
  .qs-install-card{
    width:min(92vw, 420px);
    padding:20px;
    border-radius:24px;
  }

  .qs-install-card__head{
    gap:14px;
  }

  .qs-install-card__footer{
    justify-content:stretch;
  }

  .qs-install-card__footer .qs-button{
    width:100%;
  }
}


.qs-install-card__guide{
  margin-top:18px;
  padding:16px;
  border:1px solid var(--qs-border);
  border-radius:24px;
  background:linear-gradient(180deg, #fbf9ff, #ffffff);
}

.qs-install-card__guide-title{
  font-size:.82rem;
  font-weight:800;
  color:var(--qs-purple-700);
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:12px;
}

.qs-install-card__steps{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.qs-install-step{
  display:grid;
  grid-template-columns:32px 42px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(215,199,255,.76);
  border-radius:18px;
  background:#fff;
}

.qs-install-step__count{
  width:32px;
  height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--qs-purple-700);
  color:#fff;
  font-size:.84rem;
  font-weight:800;
}

.qs-install-step__icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--qs-purple-050);
  color:var(--qs-purple-700);
}

.qs-install-step__icon svg{
  width:20px;
  height:20px;
}

.qs-install-step__copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.qs-install-step__copy strong{
  font-size:.96rem;
  line-height:1.2;
}

.qs-install-step__copy span{
  color:var(--qs-soft);
  font-size:.88rem;
  line-height:1.42;
}

.qs-auto-delete-card{
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--qs-border);
  border-radius:22px;
  background:var(--qs-bg-soft);
  margin-bottom:14px;
}

.qs-auto-delete-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.qs-auto-delete-card__copy{
  display:grid;
  gap:4px;
}

.qs-auto-delete-card__copy span{
  color:var(--qs-text);
  font-size:.92rem;
  font-weight:700;
}

.qs-auto-delete-card__copy small{
  color:var(--qs-soft);
  font-size:.84rem;
}

.qs-auto-delete-card__controls{
  display:flex;
  align-items:center;
  gap:10px;
}

.qs-switch{
  display:inline-flex;
  align-items:center;
  cursor:pointer;
}

.qs-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.qs-switch__track{
  position:relative;
  width:48px;
  height:28px;
  border-radius:999px;
  background:#ddd1ff;
  transition:background .18s ease;
  display:inline-flex;
  align-items:center;
}

.qs-switch__thumb{
  position:absolute;
  left:4px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 4px 12px rgba(32,22,66,.16);
  transition:transform .18s ease;
}

.qs-switch input:checked + .qs-switch__track{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-500));
}

.qs-switch input:checked + .qs-switch__track .qs-switch__thumb{
  transform:translateX(20px);
}

.qs-switch--small .qs-switch__track{
  width:42px;
  height:24px;
}

.qs-switch--small .qs-switch__thumb{
  width:16px;
  height:16px;
}

.qs-switch--small input:checked + .qs-switch__track .qs-switch__thumb{
  transform:translateX(18px);
}

.qs-gear-button{
  width:38px;
  min-width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid var(--qs-border);
  background:#fff;
  color:var(--qs-purple-700);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(124,77,255,.1);
  cursor:pointer;
}

.qs-gear-button[disabled]{
  opacity:.45;
  cursor:not-allowed;
  box-shadow:none;
}

.qs-gear-button svg{
  width:18px;
  height:18px;
}

.qs-sheet--auto-delete{
  max-height:min(86vh, 820px);
}

.qs-auto-delete-list{
  display:grid;
  gap:12px;
  max-height:min(56vh, 520px);
  overflow:auto;
  padding-right:4px;
}

.qs-auto-delete-rule{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid var(--qs-border);
  border-radius:24px;
  background:var(--qs-bg-soft);
}

.qs-auto-delete-rule__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.qs-auto-delete-rule__slider{
  display:grid;
  gap:8px;
}

.qs-auto-delete-rule__slider.is-disabled{
  opacity:.44;
}

.qs-auto-delete-rule__slider input[type="range"]{
  width:100%;
  accent-color:var(--qs-purple-700);
}

.qs-auto-delete-rule__range-labels{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--qs-soft);
  font-size:.78rem;
}

@media (max-width: 640px){
  .qs-install-card{
    width:min(94vw, 520px);
    padding:18px;
  }

  .qs-install-step{
    grid-template-columns:28px 38px minmax(0,1fr);
    gap:10px;
  }

  .qs-install-step__icon{
    width:38px;
    height:38px;
  }

  .qs-auto-delete-card__head{
    align-items:flex-start;
  }
}


.qs-sheet__head-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.qs-auto-delete-status{
  min-width:72px;
  text-align:right;
  font-size:.78rem;
  font-weight:700;
  color:var(--qs-soft);
  opacity:0;
  transition:opacity .18s ease;
}

.qs-auto-delete-status.is-visible{
  opacity:1;
}

.qs-auto-delete-status.is-error{
  color:#b84b67;
}

.qs-auto-delete-list{
  display:grid;
  gap:12px;
  max-height:min(56vh, 560px);
  overflow:auto;
  padding-right:4px;
}

.qs-auto-delete-rule{
  border:1px solid var(--qs-border);
  border-radius:22px;
  background:#fff;
  padding:14px 14px 12px;
  box-shadow:0 10px 24px rgba(124,77,255,.06);
}

.qs-auto-delete-rule__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.qs-auto-delete-rule__slider{
  margin-top:12px;
  transition:opacity .18s ease;
}

.qs-auto-delete-rule__slider input[type="range"]{
  width:100%;
  accent-color:var(--qs-purple-700);
}

.qs-auto-delete-rule__slider.is-disabled{
  opacity:.45;
}

.qs-auto-delete-rule__range-labels{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
  color:var(--qs-soft);
  font-size:.75rem;
}

.qs-upload-progress{
  position:relative;
  margin-top:10px;
  height:5px;
  border-radius:999px;
  background:rgba(124,77,255,.12);
  overflow:hidden;
}

.qs-upload-progress__bar{
  position:absolute;
  inset:0;
  width:38%;
  border-radius:inherit;
  background:linear-gradient(90deg, rgba(164,139,255,.18), rgba(124,77,255,.9), rgba(164,139,255,.18));
  animation:qs-upload-slide 1.1s ease-in-out infinite;
}


.qs-upload-progress__bar.is-determinate{
  animation:none;
  transform:none;
  background:linear-gradient(90deg, rgba(124,77,255,.82), rgba(164,139,255,.96));
}
.qs-upload-progress__label{
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.72rem;
  opacity:.78;
}

.qs-upload-progress__label.is-complete{
  color:inherit;
}

.qs-upload-progress__dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:currentColor;
  opacity:.9;
}

@keyframes qs-upload-slide{
  0%{transform:translateX(-80%);}
  100%{transform:translateX(260%);}
}

@media (max-width: 640px){
  .qs-topbar__panel{
    min-height:auto;
    padding:14px 16px;
  }

  .qs-topbar__left{
    flex-wrap:wrap;
    row-gap:6px;
  }

  .qs-version-link{
    white-space:normal;
  }

  .qs-message__body{
    max-width:100%;
    align-items:flex-end;
  }

  .qs-bubble{
    max-width:min(100%, calc(100vw - 92px));
    min-width:0;
  }

  .qs-copy-pill{
    flex-shrink:0;
  }

  .qs-sheet__head{
    flex-wrap:wrap;
    align-items:flex-start;
  }
}

@media (max-width: 430px){
  .qs-chat-app{
    padding:0 12px;
  }

  .qs-topbar{
    width:calc(100vw - 24px);
  }

  .qs-compose-dock{
    width:calc(100vw - 24px);
  }

  .qs-thread{
    padding-inline:2px;
  }

  .qs-message__meta{
    flex-wrap:wrap;
  }

  .qs-bubble{
    max-width:min(100%, calc(100vw - 84px));
  }
}


.qs-sheet--auto-delete .qs-sheet__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:14px;
}

.qs-sheet--auto-delete .qs-sheet__head > :first-child{
  min-width:0;
}

.qs-sheet--auto-delete .qs-sheet__head-actions{
  grid-column:2;
  align-self:start;
  justify-self:end;
  flex-wrap:nowrap;
  white-space:nowrap;
  margin-left:auto;
}

.qs-preview-modal__video,
.qs-preview-modal__frame{
  width:100%;
  min-height:min(68vh, 640px);
  border:0;
  display:block;
  background:#fff;
}

.qs-preview-modal__audio{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:18px;
}

.qs-preview-modal__audio-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  background:linear-gradient(135deg, var(--qs-purple-100), #fff);
  color:var(--qs-purple-700);
  border:1px solid var(--qs-border);
}

.qs-preview-modal__audio audio{
  width:100%;
  margin-top:10px;
}

@media (max-width: 640px){
  .qs-sheet--auto-delete .qs-sheet__head{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .qs-sheet--auto-delete .qs-sheet__head-actions{
    gap:8px;
  }

  .qs-sheet--auto-delete .qs-button{
    min-height:42px;
    padding:0 14px;
  }

  .qs-preview-modal__video,
  .qs-preview-modal__frame{
    min-height:52vh;
  }
}


/* Phase 2 navigation + home */
.qs-menu-button{
  width:48px;
  min-width:48px;
  height:48px;
  border:1px solid var(--qs-border);
  border-radius:16px;
  background:#fff;
  color:var(--qs-purple-700);
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  box-shadow:0 10px 22px rgba(124,77,255,.1);
  cursor:pointer;
}
.qs-menu-button span{
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  display:block;
}
.qs-section-title{
  font-size:1.1rem;
  font-weight:800;
  letter-spacing:-.02em;
}
.qs-version-link--sheet{
  margin-left:8px;
  vertical-align:middle;
}
.qs-profile-card__copy{
  display:grid;
  gap:4px;
}
.qs-inline-link--id{
  justify-self:start;
}

.qs-drawer-backdrop{
  position:fixed;
  inset:0;
  background:rgba(24,18,46,.2);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:42;
}
.qs-drawer-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}
.qs-drawer{
  position:fixed;
  top:0;
  left:0;
  bottom:0;
  width:min(92vw, 360px);
  background:#fff;
  border-right:1px solid var(--qs-border);
  box-shadow:0 24px 60px rgba(24,18,46,.18);
  padding:calc(env(safe-area-inset-top) + 18px) 16px calc(var(--qs-safe-bottom) + 18px);
  transform:translateX(-104%);
  transition:transform .22s ease;
  z-index:43;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:16px;
  overflow:auto;
}
.qs-drawer.is-open{
  transform:translateX(0);
}
.qs-drawer__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.qs-drawer__section{
  display:grid;
  gap:10px;
}
.qs-drawer__section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.qs-drawer__section-title{
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--qs-soft);
}
.qs-drawer-item{
  width:100%;
  text-align:left;
  border:1px solid var(--qs-border);
  border-radius:18px;
  background:#fff;
  padding:12px 14px;
  display:grid;
  gap:4px;
  cursor:pointer;
}
.qs-drawer-item.is-active{
  background:linear-gradient(180deg, #fbf8ff, #f2ebff);
  border-color:var(--qs-border-strong);
}
.qs-drawer-item__title{
  font-weight:800;
  color:var(--qs-text);
}
.qs-drawer-item__meta{
  font-size:.82rem;
  color:var(--qs-soft);
}
.qs-drawer-empty{
  padding:12px 14px;
  border:1px dashed var(--qs-border-strong);
  border-radius:18px;
  color:var(--qs-soft);
  background:var(--qs-bg-soft);
}
.qs-person-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.qs-person-row__main{
  width:100%;
  border:1px solid var(--qs-border);
  border-radius:18px;
  background:#fff;
  padding:10px 12px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  text-align:left;
  cursor:pointer;
}
.qs-person-row__avatar,
.qs-select-person__avatar,
.qs-member-chip__avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  border:1px solid var(--qs-border);
  color:var(--qs-purple-700);
  font-weight:800;
}
.qs-person-row__copy,
.qs-select-person__copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.qs-person-row__copy strong,
.qs-select-person__copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.qs-person-row__copy small,
.qs-select-person__copy small{
  color:var(--qs-soft);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.qs-person-row__favorite{
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid var(--qs-border);
  background:#fff;
  color:#c7bce7;
  cursor:pointer;
}
.qs-person-row__favorite.is-favorite{
  color:var(--qs-purple-700);
  border-color:var(--qs-border-strong);
  background:var(--qs-purple-050);
}

.qs-home-view{
  padding:112px 0 120px;
  height:100%;
  overflow:auto;
}
.qs-home-view--group{
  padding-bottom:32px;
}
.qs-home-section{
  display:grid;
  gap:14px;
  margin-bottom:22px;
}
.qs-home-section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 4px;
}
.qs-home-section__head h2{
  font-size:1.05rem;
  letter-spacing:-.02em;
}
.qs-home-grid{
  display:grid;
  gap:12px;
}
.qs-home-card{
  width:100%;
  text-align:left;
  border:1px solid var(--qs-border);
  border-radius:22px;
  background:#fff;
  padding:14px;
  box-shadow:var(--qs-shadow-soft);
  cursor:pointer;
  display:grid;
  gap:8px;
}
.qs-home-card__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.qs-home-card__top span{
  font-size:.8rem;
  color:var(--qs-soft);
  white-space:nowrap;
}
.qs-home-card__body{
  color:var(--qs-soft);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.qs-empty-state--home{
  margin:0;
  text-align:left;
}
.qs-group-card{
  display:grid;
  gap:16px;
}
.qs-group-card__head h2{
  font-size:1.35rem;
  letter-spacing:-.03em;
  margin-bottom:6px;
}
.qs-group-card__head p{
  color:var(--qs-soft);
}
.qs-group-card__members{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.qs-member-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--qs-border);
  background:#fff;
}

.qs-sheet--add-person,
.qs-sheet--group-create{
  z-index:44;
}
.qs-group-create-list{
  display:grid;
  gap:10px;
  max-height:min(44vh, 360px);
  overflow:auto;
  margin-top:14px;
}
.qs-select-person{
  display:grid;
  grid-template-columns:auto 34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--qs-border);
  border-radius:18px;
  background:#fff;
}
.qs-select-person input{
  margin:0;
}

.qs-thread-wrap--inbox{
  padding-top:104px;
  padding-bottom:138px;
}
.qs-chat-app{
  min-height:100vh;
  height:100dvh;
  display:flex;
  flex-direction:column;
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto;
}
.qs-topbar{
  width:min(1120px, calc(100vw - 32px));
}
.qs-thread-wrap,
.qs-home-view{
  width:100%;
}
.qs-home-view{
  flex:1;
  min-height:0;
}
.qs-home-view,
.qs-thread{
  padding-left:4px;
  padding-right:4px;
}

.qs-auto-delete-rule__hint{
  margin-top:4px;
  font-size:.8rem;
  color:var(--qs-soft);
}
.qs-auto-delete-rule__slider input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:28px;
  background:transparent;
}
.qs-auto-delete-rule__slider input[type="range"]::-webkit-slider-runnable-track{
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--qs-purple-700), var(--qs-purple-500));
}
.qs-auto-delete-rule__slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--qs-border-strong);
  box-shadow:0 6px 14px rgba(24,18,46,.16);
  margin-top:-7px;
}
.qs-auto-delete-rule__slider input[type="range"]::-moz-range-track{
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--qs-purple-700), var(--qs-purple-500));
}
.qs-auto-delete-rule__slider input[type="range"]::-moz-range-thumb{
  width:22px;
  height:22px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--qs-border-strong);
  box-shadow:0 6px 14px rgba(24,18,46,.16);
}
.qs-auto-delete-rule__slider.is-disabled input[type="range"]::-webkit-slider-runnable-track,
.qs-auto-delete-rule__slider.is-disabled input[type="range"]::-moz-range-track{
  background:#ded8ee;
}

@media (min-width: 900px){
  .qs-home-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .qs-chat-app{
    width:calc(100vw - 20px);
  }
  .qs-topbar{
    width:calc(100vw - 20px);
  }
  .qs-drawer{
    width:min(94vw, 360px);
  }
  .qs-home-view{
    padding-top:98px;
    padding-bottom:118px;
  }
}


.qs-drawer__head{
  display:grid;
  gap:14px;
  align-items:start;
}

.qs-drawer__primary{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.qs-drawer-tab{
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--qs-border);
  background:#fff;
  color:var(--qs-text);
  font-weight:800;
  box-shadow:0 8px 18px rgba(124,77,255,.08);
  cursor:pointer;
}

.qs-drawer-tab.is-active{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600));
  border-color:transparent;
  color:#fff;
  box-shadow:0 14px 28px rgba(124,77,255,.18);
}

.qs-drawer-item{
  padding:10px 12px;
  gap:3px;
  border-radius:16px;
  box-shadow:none;
}

.qs-drawer-item__title.is-active{
  color:var(--qs-purple-700);
}

.qs-drawer-item__meta{
  font-size:.78rem;
}

.qs-upload-progress{
  position:relative;
  margin-top:10px;
  height:6px;
  border-radius:999px;
  background:rgba(43,33,80,.12);
  overflow:hidden;
  border:1px solid rgba(124,77,255,.08);
}

.qs-upload-progress__bar{
  position:absolute;
  inset:0;
  width:42%;
  border-radius:inherit;
  background:linear-gradient(90deg, #4ed6ff 0%, #8f63ff 45%, #ffffff 100%);
  box-shadow:0 0 18px rgba(78,214,255,.32);
  animation:qs-upload-slide 1.05s ease-in-out infinite;
}

.qs-message.is-own .qs-upload-progress{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.22);
}

.qs-message.is-own .qs-upload-progress__bar{
  background:linear-gradient(90deg, rgba(255,255,255,.72) 0%, #ffffff 48%, #b8f5ff 100%);
  box-shadow:0 0 18px rgba(255,255,255,.24);
}

.qs-auto-delete-rule__slider input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:28px;
  background:transparent;
  cursor:pointer;
}

.qs-auto-delete-rule__slider input[type="range"]:disabled{
  cursor:not-allowed;
}

.qs-auto-delete-rule__slider input[type="range"]::-webkit-slider-runnable-track{
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--qs-purple-700), var(--qs-purple-500));
}

.qs-auto-delete-rule__slider.is-disabled input[type="range"]::-webkit-slider-runnable-track{
  background:#dfd8eb;
}

.qs-auto-delete-rule__slider input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  margin-top:-8px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#fff;
  border:2px solid var(--qs-purple-700);
  box-shadow:0 8px 18px rgba(124,77,255,.18);
}

.qs-auto-delete-rule__slider input[type="range"]::-moz-range-track{
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--qs-purple-700), var(--qs-purple-500));
}

.qs-auto-delete-rule__slider.is-disabled input[type="range"]::-moz-range-track{
  background:#dfd8eb;
}

.qs-auto-delete-rule__slider input[type="range"]::-moz-range-thumb{
  width:24px;
  height:24px;
  border:none;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 0 2px var(--qs-purple-700), 0 8px 18px rgba(124,77,255,.18);
}

@media (min-width: 980px){
  .qs-chat-app,
  .qs-topbar,
  .qs-compose-dock{
    width:min(1380px, calc(100vw - 56px));
  }

  .qs-thread-wrap--inbox{
    padding-top:118px;
    padding-bottom:150px;
  }

  .qs-thread{
    padding-inline:24px;
    gap:18px;
  }

  .qs-message__body{
    max-width:min(78vw, 860px);
  }

  .qs-bubble{
    max-width:min(calc(70vw - 40px), 760px);
  }

  .qs-compose-shell{
    width:min(1040px, calc(100% - 12px));
    margin:0 auto;
  }

  .qs-home-view{
    display:grid;
    grid-template-columns:minmax(0, 1.12fr) minmax(360px, .88fr);
    gap:22px;
    align-content:start;
    padding-top:118px;
    padding-bottom:132px;
  }

  .qs-home-section{
    margin-bottom:0;
  }

  .qs-home-grid{
    gap:14px;
  }

  .qs-home-card{
    min-height:112px;
    padding:16px 18px;
  }
}

@media (min-width: 1240px){
  .qs-home-view{
    grid-template-columns:minmax(0, 1.2fr) minmax(420px, .8fr);
  }
}


/* QuickShare 0.2.2 overrides */
.qs-home-section:first-child .qs-home-section__head{padding-top:12px;}
.qs-home-card__kind{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--qs-purple-700);}
.qs-home-card__kind .qs-file-icon,.qs-home-card__kind svg{width:18px;height:18px;display:block;}
.qs-home-card__sub{color:var(--qs-soft);font-size:.84rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.qs-file-icon, .qs-bubble__attachment-icon svg{width:20px;height:20px;display:block;}
.qs-bubble__attachment-icon{font-size:0;line-height:0;}
.qs-bubble__attachment-icon svg{width:20px;height:20px;}
.qs-drawer{width:min(92vw, 330px);padding:calc(env(safe-area-inset-top) + 18px) 14px calc(var(--qs-safe-bottom) + 18px);}
.qs-drawer__head{display:grid;gap:8px;}
.qs-drawer-link{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--qs-text);padding:10px 8px;border-radius:14px;font-weight:700;cursor:pointer;text-align:left;}
.qs-drawer-link:hover,.qs-drawer-link.is-active{background:var(--qs-purple-050);color:var(--qs-purple-700);}
.qs-drawer-link__icon,.qs-drawer-link__icon svg{width:18px;height:18px;display:block;}
.qs-list-link{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 8px;border:0;border-radius:14px;background:transparent;cursor:pointer;color:var(--qs-text);text-align:left;}
.qs-list-link:hover,.qs-list-link.is-active{background:var(--qs-purple-050);}
.qs-list-link__label{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.qs-list-link__meta{font-size:.78rem;color:var(--qs-soft);}
.qs-person-row__main{padding:10px 8px;border:0;border-radius:14px;background:transparent;}
.qs-person-row__main:hover,.qs-person-row__main.is-active{background:var(--qs-purple-050);}
.qs-person-row__copy small{display:none;}
.qs-upload-progress{background:rgba(43,33,80,.12);border:1px solid rgba(124,77,255,.08);}
.qs-upload-progress__bar{background:linear-gradient(90deg, #74d7ff 0%, #ffffff 45%, #7c4dff 100%);}
@media (min-width: 1024px){
  .qs-chat-app{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(360px, 1fr) minmax(420px, 740px);grid-template-areas:"header header" "content content";padding:20px 24px 18px;}
  .qs-topbar{position:sticky;top:0;z-index:25;grid-area:header;}
  .qs-home-view,.qs-thread-wrap{max-width:1120px;margin:0 auto;width:100%;}
  .qs-thread{padding-left:calc(50% - 360px);padding-right:calc(50% - 360px);}
}



/* Phase 2.3 overrides */
.qs-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:var(--qs-purple-700);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 8px 18px rgba(124,77,255,.22);
}

.qs-home-view{
  padding:118px 0 126px;
}

.qs-home-wrap{
  width:min(1180px, calc(100vw - 28px));
  margin:0 auto;
  display:grid;
  gap:22px;
}

.qs-home-section--recent{
  padding-top:10px;
}

.qs-home-grid--recent,
.qs-home-grid--groups{
  grid-template-columns:repeat(1, minmax(0,1fr));
}

.qs-home-card{
  min-height:0;
}

.qs-home-card--recent,
.qs-home-card--group{
  padding:16px;
}

.qs-home-card__body strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-home-card__sub{
  min-height:1.2em;
}

.qs-drawer{
  width:min(92vw, 360px);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,245,255,.98));
  border-right:1px solid rgba(215,199,255,.92);
  box-shadow:0 30px 70px rgba(58,39,120,.14);
  padding:calc(env(safe-area-inset-top) + 18px) 14px calc(var(--qs-safe-bottom) + 16px);
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:16px;
}

.qs-drawer-nav{
  display:grid;
  gap:4px;
  padding:6px;
  border:1px solid var(--qs-border);
  border-radius:20px;
  background:rgba(255,255,255,.82);
  box-shadow:var(--qs-shadow-soft);
}

.qs-drawer-nav__link{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:44px;
  border:0;
  padding:10px 12px;
  border-radius:14px;
  background:transparent;
  color:var(--qs-text);
  cursor:pointer;
  text-align:left;
}

.qs-drawer-nav__link.is-active,
.qs-drawer-nav__link:hover{
  background:var(--qs-purple-050);
  color:var(--qs-purple-700);
}

.qs-drawer-nav__icon,
.qs-drawer-nav__icon svg{
  width:18px;
  height:18px;
  display:block;
}

.qs-drawer-nav__text{
  flex:1;
  min-width:0;
  font-weight:800;
}

.qs-drawer-block{
  display:grid;
  gap:8px;
  align-content:start;
}

.qs-drawer-block__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 4px;
}

.qs-drawer-block__title{
  font-size:.86rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#7a70a2;
  font-weight:900;
}

.qs-inline-link--tight{
  font-size:.9rem;
  font-weight:700;
}

.qs-drawer-row,
.qs-drawer-person{
  display:block;
}

.qs-drawer-row__main,
.qs-drawer-person__main{
  width:100%;
  min-height:48px;
  border:0;
  padding:10px 12px;
  border-radius:14px;
  background:transparent;
  color:var(--qs-text);
  cursor:pointer;
  text-align:left;
  display:flex;
  align-items:center;
  gap:10px;
}

.qs-drawer-row__main:hover,
.qs-drawer-row__main.is-active,
.qs-drawer-person__main:hover,
.qs-drawer-person__main.is-active{
  background:var(--qs-purple-050);
}

.qs-drawer-row__label,
.qs-drawer-person__name{
  flex:1;
  min-width:0;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-drawer-row__tail,
.qs-drawer-person__tail{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}

.qs-drawer-row__meta{
  color:var(--qs-soft);
  font-size:.78rem;
  white-space:nowrap;
}

.qs-drawer-person__avatar{
  width:32px;
  height:32px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--qs-border);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
  flex:0 0 32px;
}

.qs-drawer-person__star{
  color:var(--qs-purple-700);
  font-size:.92rem;
}

.qs-drawer-empty--compact{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(248,245,255,.8);
}

.qs-typing{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:6px 0 0 6px;
  padding:10px 14px;
  border-radius:18px;
  border:1px solid rgba(215,199,255,.82);
  background:#fff;
  color:var(--qs-soft);
  box-shadow:var(--qs-shadow-soft);
}

.qs-typing__dots{
  display:inline-flex;
  align-items:center;
  gap:4px;
}

.qs-typing__dots i{
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--qs-purple-500);
  display:block;
  animation:qs-typing-bounce 1s ease-in-out infinite;
}

.qs-typing__dots i:nth-child(2){ animation-delay:.15s; }
.qs-typing__dots i:nth-child(3){ animation-delay:.3s; }

@keyframes qs-typing-bounce{
  0%,80%,100%{ transform:translateY(0); opacity:.45; }
  40%{ transform:translateY(-3px); opacity:1; }
}

.qs-mini-menu{
  position:fixed;
  z-index:70;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(215,199,255,.9);
  box-shadow:0 18px 40px rgba(56,36,112,.18);
}

.qs-mini-menu__btn{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--qs-border);
  background:#fff;
  color:var(--qs-purple-700);
  display:grid;
  place-items:center;
  cursor:pointer;
}

.qs-mini-menu__btn.is-danger{
  color:#c0406f;
}

.qs-mini-menu__btn svg{
  width:18px;
  height:18px;
  display:block;
}

.qs-sheet--group-settings{
  max-height:min(82vh, 760px);
  overflow:auto;
}

.qs-group-settings-block{
  display:grid;
  gap:12px;
  padding:4px 0 10px;
}

.qs-group-settings-block__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.qs-group-member-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--qs-border);
  border-radius:16px;
  background:#fff;
}

.qs-group-member-row__main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.qs-group-member-row__main strong{
  display:block;
}

.qs-group-member-role,
.qs-group-member-role-label{
  min-height:38px;
  border-radius:12px;
  border:1px solid var(--qs-border);
  padding:0 12px;
  background:#fff;
  color:var(--qs-text);
}

.qs-group-slider{
  width:100%;
  accent-color:var(--qs-purple-700);
}

.qs-upload-progress{
  background:rgba(42,32,80,.16);
  border:1px solid rgba(124,77,255,.16);
}

.qs-upload-progress__bar{
  background:linear-gradient(90deg, #74d7ff 0%, #ffffff 35%, #b89cff 70%, #7c4dff 100%);
}

.qs-settings-card h2,
.qs-sheet__head h2{
  padding-top:6px;
}

.qs-topbar__panel{
  width:min(1180px, calc(100vw - 28px));
  margin:0 auto;
}

.qs-thread-wrap{
  width:min(1180px, calc(100vw - 28px));
  margin:0 auto;
}

.qs-thread{
  padding:14px 0 28px;
}

.qs-message__body{
  max-width:min(86vw, 760px);
}

.qs-bubble{
  max-width:min(calc(86vw - 40px), 720px);
}

@media (min-width: 1024px){
  .qs-chat-app{
    width:100%;
    max-width:none;
    padding:22px 28px 22px;
  }

  .qs-topbar{
    position:sticky;
    top:0;
    z-index:25;
  }

  .qs-home-wrap{
    grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
    align-items:start;
  }

  .qs-home-section{
    margin-bottom:0;
  }

  .qs-home-grid--recent{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .qs-home-grid--groups{
    grid-template-columns:repeat(1, minmax(0,1fr));
  }

  .qs-thread-wrap{
    padding-top:112px;
    padding-bottom:148px;
  }

  .qs-thread{
    padding-left:0;
    padding-right:0;
  }

  .qs-message__body{
    max-width:min(70vw, 860px);
  }

  .qs-bubble{
    max-width:min(66vw, 780px);
  }

  .qs-drawer{
    width:380px;
  }
}

@media (max-width: 640px){
  .qs-home-wrap,
  .qs-topbar__panel,
  .qs-thread-wrap{
    width:calc(100vw - 18px);
  }

  .qs-drawer{
    width:min(92vw, 336px);
  }
}


/* QuickShare 0.2.4 overflow and drawer fix pass */
body.quickshare-app-body,
body.quickshare-app-body #quickshare-app,
.qs-chat-app,
.qs-home-view,
.qs-thread-wrap,
.qs-thread{
  overflow-x:hidden;
}

.qs-chat-app{
  width:min(1180px, calc(100vw - 24px));
  max-width:calc(100vw - 24px);
  padding:0 0;
}

.qs-topbar,
.qs-compose-dock{
  width:min(1180px, calc(100vw - 24px));
  max-width:calc(100vw - 24px);
}

.qs-topbar__panel,
.qs-compose-shell{
  width:100%;
  max-width:100%;
}

.qs-home-view{
  padding:118px 0 126px;
}

.qs-home-wrap{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  display:grid;
  gap:24px;
  min-width:0;
}

.qs-home-section,
.qs-home-grid,
.qs-home-card{
  min-width:0;
}

.qs-home-section--recent{
  padding-top:12px;
}

.qs-home-section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 4px;
  min-width:0;
  flex-wrap:wrap;
}

.qs-home-section__head h2{
  margin:0;
  flex:1 1 auto;
  min-width:0;
}

.qs-home-section__head .qs-inline-link{
  white-space:nowrap;
  flex:0 0 auto;
}

.qs-home-grid--recent,
.qs-home-grid--groups{
  grid-template-columns:repeat(1, minmax(0, 1fr));
}

.qs-home-card{
  padding:16px;
}

.qs-home-card__body,
.qs-home-card__sub{
  min-width:0;
}

.qs-home-card__body strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-home-card__sub{
  color:var(--qs-soft);
  font-size:.84rem;
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-home-card__kind,
.qs-home-card__kind svg{
  width:18px;
  height:18px;
  display:block;
}

.qs-message{
  width:100%;
  min-width:0;
}

.qs-message__meta,
.qs-message__body{
  width:100%;
  max-width:min(100%, 860px);
}

.qs-message.is-own .qs-message__meta,
.qs-message.is-own .qs-message__body{
  margin-left:auto;
}

.qs-message.is-other .qs-message__meta,
.qs-message.is-other .qs-message__body{
  margin-right:auto;
}

.qs-message__body{
  display:flex;
  align-items:flex-end;
  gap:8px;
}

.qs-bubble{
  width:auto;
  max-width:min(calc(100vw - 112px), 720px);
  min-width:0;
}

.qs-bubble__media-wrap{
  width:100%;
  max-width:100%;
}

.qs-bubble__media{
  width:100%;
  max-width:100%;
  height:auto;
  display:block;
}

.qs-drawer{
  width:min(88vw, 336px);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,245,255,.98));
  border-right:1px solid rgba(215,199,255,.92);
  box-shadow:0 30px 70px rgba(58,39,120,.14);
  padding:calc(env(safe-area-inset-top) + 18px) 14px calc(var(--qs-safe-bottom) + 16px);
  display:grid;
  align-content:start;
  gap:16px;
}

.qs-drawer-nav{
  display:grid;
  gap:4px;
  padding:6px;
  border:1px solid var(--qs-border);
  border-radius:20px;
  background:rgba(255,255,255,.84);
  box-shadow:var(--qs-shadow-soft);
}

.qs-drawer-block{
  display:grid;
  gap:8px;
  align-content:start;
}

.qs-drawer-block__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 4px;
}

.qs-drawer-row__main,
.qs-drawer-person__main{
  width:100%;
  min-height:48px;
  border:0;
  padding:10px 12px;
  border-radius:14px;
  background:transparent;
  color:var(--qs-text);
  cursor:pointer;
  text-align:left;
  display:flex;
  align-items:center;
  gap:10px;
}

.qs-drawer-row__main:hover,
.qs-drawer-row__main.is-active,
.qs-drawer-person__main:hover,
.qs-drawer-person__main.is-active{
  background:var(--qs-purple-050);
}

.qs-drawer-row__label,
.qs-drawer-person__name{
  flex:1;
  min-width:0;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-drawer-row__tail,
.qs-drawer-person__tail{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}

.qs-drawer-row__meta{
  color:var(--qs-soft);
  font-size:.78rem;
  white-space:nowrap;
}

.qs-drawer-person__avatar{
  width:32px;
  height:32px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  border:1px solid var(--qs-border);
  color:var(--qs-purple-700);
  font-weight:800;
}

.qs-drawer-person__star{
  color:var(--qs-purple-700);
  font-size:.95rem;
  line-height:1;
}

#qs-group-settings-backdrop{
  z-index:54;
}
.qs-sheet--group-settings{
  z-index:55;
}

.qs-empty-state--group-settings{
  margin:0;
}

@media (min-width: 1024px){
  .qs-chat-app{
    width:min(1340px, calc(100vw - 40px));
    max-width:calc(100vw - 40px);
  }

  .qs-topbar,
  .qs-compose-dock{
    width:min(1340px, calc(100vw - 40px));
    max-width:calc(100vw - 40px);
  }

  .qs-home-wrap{
    grid-template-columns:minmax(0, 1.45fr) minmax(340px, .9fr);
    align-items:start;
  }

  .qs-home-grid--recent{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .qs-home-grid--groups{
    grid-template-columns:repeat(1, minmax(0, 1fr));
  }

  .qs-thread{
    padding-left:8px;
    padding-right:8px;
  }

  .qs-bubble{
    max-width:min(calc(100vw - 280px), 820px);
  }

  .qs-drawer{
    width:360px;
  }
}

@media (max-width: 640px){
  .qs-chat-app,
  .qs-topbar,
  .qs-compose-dock{
    width:calc(100vw - 18px);
    max-width:calc(100vw - 18px);
  }

  .qs-home-view{
    padding-top:110px;
  }

  .qs-bubble{
    max-width:min(calc(100vw - 92px), 520px);
  }

  .qs-home-card{
    padding:14px;
  }
}


/* QuickShare 0.2.5 group settings polish and layout guardrails */
.qs-button--small{
  min-height:38px;
  padding:0 14px;
  font-size:.84rem;
}

.qs-sheet--group-settings{
  max-height:min(calc(100dvh - 18px), 780px);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(var(--qs-safe-bottom) + 16px);
}

.qs-group-settings-stack{
  display:grid;
  gap:14px;
  padding-bottom:4px;
}

.qs-field--group-settings{
  gap:10px;
}

.qs-group-settings-readonly{
  min-height:56px;
  display:flex;
  align-items:center;
  padding:0 18px;
  border:1px solid var(--qs-border);
  border-radius:18px;
  background:var(--qs-bg-soft);
  color:var(--qs-text);
  font-weight:700;
}

.qs-group-settings-people,
.qs-group-settings-members{
  display:grid;
  gap:10px;
  min-width:0;
}

.qs-group-person-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid var(--qs-border);
  border-radius:16px;
  background:#fff;
  min-width:0;
}

.qs-group-person-toggle input{
  margin:0;
}

.qs-group-person-toggle__avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--qs-border);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
  flex:0 0 34px;
}

.qs-group-person-toggle__copy,
.qs-group-member-row__copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.qs-group-person-toggle__copy strong,
.qs-group-member-row__copy strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-group-person-toggle__copy small{
  color:var(--qs-soft);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-group-settings-inline-actions{
  display:flex;
  justify-content:flex-end;
}

.qs-group-member-row{
  align-items:flex-start;
  flex-wrap:wrap;
}

.qs-group-member-row__tail{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-left:auto;
}

.qs-group-member-role{
  min-width:104px;
}

.qs-group-member-role,
.qs-group-member-role-label{
  min-height:38px;
  line-height:36px;
}

.qs-group-settings-note{
  padding:2px 4px 0;
}

.qs-group-settings-foot{
  position:sticky;
  bottom:calc(var(--qs-safe-bottom) * -1);
  padding-top:6px;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.94) 26%, #fff 54%);
}

#qs-group-settings-backdrop{
  z-index:54;
}

.qs-sheet--group-settings{
  z-index:55;
}

@media (min-width: 1024px){
  .qs-sheet--group-settings{
    left:auto;
    right:max(20px, calc((100vw - 1340px) / 2 + 20px));
    width:min(640px, calc(100vw - 56px));
    border-radius:32px;
    padding:18px 18px calc(var(--qs-safe-bottom) + 16px);
  }

  .qs-sheet--group-settings .qs-sheet__grab{
    display:none;
  }
}

@media (max-width: 640px){
  .qs-sheet--group-settings{
    padding-left:14px;
    padding-right:14px;
  }

  .qs-group-person-toggle{
    align-items:flex-start;
  }

  .qs-group-person-toggle__copy strong,
  .qs-group-member-row__copy strong{
    white-space:normal;
    line-height:1.22;
  }

  .qs-group-person-toggle__copy small{
    white-space:normal;
    line-height:1.25;
  }

  .qs-group-member-row__tail{
    width:100%;
    justify-content:flex-start;
    margin-left:44px;
  }

  .qs-thread-wrap{
    padding-bottom:calc(138px + var(--qs-safe-bottom));
  }

  .qs-compose-dock{
    padding-bottom:max(0px, env(safe-area-inset-bottom));
  }
}


/* QuickShare 0.2.6 conversations list and tighter status bubble pass */
.qs-topbar__copy{
  display:grid;
  gap:4px;
}

.qs-topbar__right{
  display:flex;
  align-items:center;
  gap:10px;
}

.qs-back-button,
.qs-icon-button{
  border:1px solid var(--qs-border);
  background:#fff;
  color:var(--qs-purple-700);
  border-radius:999px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(124,77,255,.1);
}

.qs-back-button__icon,
.qs-back-button__icon svg,
.qs-icon-button svg{
  width:18px;
  height:18px;
  display:block;
}

.qs-conversations-view{
  flex:1;
  min-height:0;
  overflow:auto;
  padding:112px 0 120px;
}

.qs-conversations-shell{
  display:grid;
  gap:18px;
  width:100%;
  max-width:1180px;
  margin:0 auto;
}

.qs-conversations-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:0 4px;
}

.qs-conversations-head h2{
  font-size:1.4rem;
  letter-spacing:-.03em;
  margin-bottom:4px;
}

.qs-conversations-head p{
  color:var(--qs-soft);
}

.qs-conversation-section{
  display:grid;
  gap:10px;
}

.qs-conversation-section__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 4px;
  font-size:.84rem;
  font-weight:800;
  color:var(--qs-soft);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.qs-conversation-row{
  width:100%;
  border:1px solid rgba(215,199,255,.88);
  border-radius:24px;
  background:#fff;
  box-shadow:var(--qs-shadow-soft);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  text-align:left;
  cursor:pointer;
}

.qs-conversation-row.is-active{
  border-color:var(--qs-purple-600);
  background:var(--qs-purple-050);
}

.qs-conversation-row.is-pinned{
  background:linear-gradient(135deg, rgba(248,245,255,.96), #fff);
}

.qs-conversation-row__leading{
  display:flex;
  align-items:center;
}

.qs-conversation-row__avatar{
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--qs-border);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
  flex:0 0 44px;
}

.qs-conversation-row__avatar--group svg{
  width:20px;
  height:20px;
}

.qs-conversation-row__avatar--personal{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-500));
  color:#fff;
  border-color:transparent;
}

.qs-conversation-row__copy{
  min-width:0;
  display:grid;
  gap:6px;
}

.qs-conversation-row__top,
.qs-conversation-row__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}

.qs-conversation-row__title-wrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}

.qs-conversation-row__title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1rem;
}

.qs-conversation-row__pin{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:var(--qs-purple-100);
  color:var(--qs-purple-700);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.qs-conversation-row__time,
.qs-conversation-row__meta{
  color:var(--qs-soft);
  font-size:.78rem;
  white-space:nowrap;
}

.qs-conversation-row__preview{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--qs-text);
}

.qs-conversation-row__tail{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:34px;
}

.qs-conversation-empty{
  padding:16px;
  border-radius:18px;
  border:1px dashed var(--qs-border-strong);
  background:rgba(248,245,255,.7);
  color:var(--qs-soft);
}

.qs-message__meta{
  justify-content:space-between;
}

.qs-message__meta-right{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.qs-message__status{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(239,232,255,.9);
  color:var(--qs-purple-700);
  font-size:.7rem;
  font-weight:800;
  white-space:nowrap;
}

.qs-bubble{
  padding:12px 14px 8px;
}

.qs-bubble--tight{
  padding-bottom:12px;
}

.qs-bubble__foot{
  margin-top:8px;
}

.qs-bubble__text{
  line-height:1.42;
}

.qs-input--textarea{
  min-height:116px;
  padding:14px 18px;
  resize:vertical;
}

.qs-sheet--new-conversation{
  z-index:48;
  max-height:min(86vh, 760px);
  overflow:auto;
}

.qs-new-conversation-people{
  display:grid;
  gap:10px;
  max-height:min(34vh, 340px);
  overflow:auto;
}

.qs-new-conversation-person{
  display:grid;
  grid-template-columns:auto 36px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border:1px solid var(--qs-border);
  border-radius:18px;
  background:#fff;
}

.qs-new-conversation-person input{
  margin:0;
}

.qs-new-conversation-person__avatar{
  width:36px;
  height:36px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--qs-border);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
}

.qs-new-conversation-person__copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.qs-new-conversation-person__copy strong,
.qs-new-conversation-person__copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-new-conversation-preview-wrap{
  display:grid;
  gap:10px;
}

.qs-new-conversation-preview{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(140, 80, 244, .16);
  border-radius:18px;
  background:rgba(140, 80, 244, .05);
}

.qs-new-conversation-preview.is-loading{
  grid-template-columns:40px minmax(0,1fr);
}

.qs-new-conversation-preview__avatar{
  width:40px;
  height:40px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--qs-border);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
}

.qs-new-conversation-preview__copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.qs-new-conversation-preview__copy strong,
.qs-new-conversation-preview__copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-new-conversation-preview__badge{
  padding:6px 9px;
  border-radius:999px;
  background:rgba(140, 80, 244, .12);
  color:var(--qs-purple-700);
  font-size:.68rem;
  font-weight:700;
  white-space:nowrap;
}

.qs-new-conversation-preview-error{
  margin-top:-2px;
}

@media (max-width: 640px){
  .qs-new-conversation-preview{
    grid-template-columns:40px minmax(0,1fr) auto;
  }

  .qs-new-conversation-preview__badge{
    grid-column:2 / 3;
    justify-self:start;
  }

  .qs-new-conversation-preview [data-new-conversation-preview-action]{
    grid-column:3 / 4;
    grid-row:1 / span 2;
    align-self:center;
  }
}

@media (min-width: 1024px){
  .qs-conversations-shell{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    align-items:start;
  }

  .qs-conversations-head{
    grid-column:1 / -1;
  }

  .qs-conversation-section:first-of-type{
    grid-column:1 / -1;
  }

  .qs-sheet--new-conversation{
    width:min(620px, calc(100vw - 32px));
  }
}

@media (max-width: 640px){
  .qs-conversations-view{
    padding:108px 0 116px;
  }

  .qs-conversations-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .qs-back-button__label{
    display:none;
  }

  .qs-conversation-row{
    grid-template-columns:auto minmax(0,1fr);
  }

  .qs-conversation-row__tail{
    grid-column:2;
    justify-content:flex-start;
  }

  .qs-conversation-row__top,
  .qs-conversation-row__bottom{
    flex-wrap:wrap;
  }

  .qs-conversation-row__meta{
    white-space:normal;
  }

  .qs-message__meta{
    flex-wrap:wrap;
  }
}


/* Phase 2.8 conversation list + message meta refinement */
.qs-conversations-shell--stacked{
  grid-template-columns:minmax(0, 1fr);
}

.qs-new-conversation-note{
  display:block;
  margin-top:8px;
}

.qs-message__meta--top{
  justify-content:flex-start;
  padding:0 10px 4px;
  font-size:.7rem;
  color:rgba(88,84,110,.72);
}

.qs-message__meta--bottom{
  justify-content:flex-start;
  padding:4px 12px 0;
  font-size:.68rem;
  color:rgba(88,84,110,.62);
}

.qs-message.is-own .qs-message__meta--bottom{
  justify-content:flex-end;
}

.qs-message__meta--bottom .qs-message__meta-right{
  gap:6px;
}

.qs-message__time{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.qs-message__status{
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  font-size:inherit;
  font-weight:600;
  opacity:.82;
}

.qs-bubble{
  padding:11px 13px 8px;
}

.qs-bubble--tight{
  padding-bottom:10px;
}

.qs-bubble__foot{
  margin-top:6px;
  font-size:.68rem;
  opacity:.64;
}

@media (min-width: 1024px){
  .qs-conversations-shell--stacked{
    grid-template-columns:minmax(0, 1fr);
  }
}

@media (max-width: 640px){
  .qs-message__meta--bottom{
    padding-inline:10px;
  }
}


.qs-message__stack{
  min-width:0;
  display:grid;
  justify-items:start;
}

.qs-message.is-own .qs-message__stack{
  justify-items:end;
}

.qs-conversation-row{
  position:relative;
  padding-right:22px;
}

.qs-conversation-row__leading{
  position:relative;
}

.qs-conversation-row__badge{
  position:absolute;
  top:-6px;
  right:-6px;
  display:inline-flex;
}

.qs-conversation-row__badge .qs-badge{
  min-width:18px;
  height:18px;
  padding:0 5px;
  font-size:.68rem;
  box-shadow:0 8px 18px rgba(124,77,255,.2);
}

.qs-conversation-row__tail{
  display:none;
}

.qs-conversation-section--pinned{
  margin-bottom:4px;
}

.qs-group-settings-stack--new-conversation{
  padding-top:4px;
}

.qs-sheet--new-conversation .qs-sheet__grab{
  margin-bottom:6px;
}

.qs-message__meta--bottom{
  padding:4px 4px 0;
  font-size:.66rem;
  color:rgba(88,84,110,.58);
}

.qs-message__meta--bottom .qs-message__meta-right{
  gap:7px;
}

.qs-message__time,
.qs-message__status{
  opacity:.88;
}

.qs-message__status{
  font-weight:500;
}

.qs-topbar[data-view="conversations"] .qs-section-title{
  display:none;
}

@media (max-width: 640px){
  .qs-conversation-row{
    padding-right:18px;
  }

  .qs-conversation-row__badge{
    top:-4px;
    right:-4px;
  }
}


.qs-sync-bar {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -1px;
  height: 2px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
  z-index: 3;
}

.qs-sync-bar.is-visible {
  opacity: 1;
}

.qs-sync-bar__track {
  display: block;
  width: 100%;
  height: 2px;
  overflow: hidden;
  background: rgba(140, 80, 244, 0.08);
}

.qs-sync-bar__fill {
  display: block;
  width: 38%;
  height: 100%;
  border-radius: 999px;
  background: rgba(140, 80, 244, 0.5);
  animation: qsSyncBarSlide 1.05s ease-in-out infinite;
  will-change: transform;
}

@keyframes qsSyncBarSlide {
  0% {
    transform: translateX(-135%);
  }

  100% {
    transform: translateX(360%);
  }
}


/* Phase 2.18: floating thread chrome */
.qs-thread-wrap{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.qs-thread{
  padding:12px 4px 18px !important;
  scroll-padding-top:calc(env(safe-area-inset-top) + 112px);
  scroll-padding-bottom:calc(var(--qs-safe-bottom) + 112px);
}

.qs-topbar{
  pointer-events:none;
}

.qs-topbar__panel,
.qs-topbar button,
.qs-topbar a,
.qs-sync-bar{
  pointer-events:auto;
}

.qs-compose-dock{
  padding:0 0 calc(var(--qs-safe-bottom) + 10px) !important;
  pointer-events:none;
}

.qs-compose-shell{
  gap:6px;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.qs-compose-bar,
.qs-compose-file,
.qs-detect{
  pointer-events:auto;
}

.qs-compose-bar,
.qs-compose-file{
  max-width:min(760px, 100%);
  margin:0 auto;
}

.qs-compose-input{
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 38px rgba(26,20,48,.14);
}

.qs-compose-file{
  padding:0 10px 2px;
  text-shadow:0 1px 0 rgba(255,255,255,.82);
}

@media (max-width: 640px){
  .qs-thread{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .qs-compose-bar,
  .qs-compose-file{
    max-width:100%;
  }
}



/* Phase 2.19 chat layout and scroll stabilization */
.qs-topbar::after{
  display:none !important;
}

.qs-compose-dock{
  left:0 !important;
  right:0 !important;
  bottom:0;
  transform:none !important;
  width:100% !important;
  padding:0 16px calc(var(--qs-safe-bottom) + 12px) !important;
}

.qs-compose-shell{
  width:100%;
}

.qs-compose-bar,
.qs-compose-file{
  width:100%;
  max-width:none !important;
  margin:0 !important;
}

.qs-compose-input{
  width:100%;
  min-height:58px;
}

.qs-thread-wrap{
  padding-top:0 !important;
  padding-bottom:0 !important;
  overflow:hidden;
}

.qs-thread{
  position:relative;
  z-index:1;
  padding:12px 0 calc(var(--qs-safe-bottom) + 104px) !important;
  scroll-padding-top:calc(env(safe-area-inset-top) + 92px) !important;
  scroll-padding-bottom:calc(var(--qs-safe-bottom) + 104px) !important;
  pointer-events:auto;
  touch-action:pan-y;
}

.qs-thread-wrap,
.qs-thread{
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
}

@media (min-width: 641px){
  .qs-thread{
    padding-left:max(0px, calc(50% - 360px)) !important;
    padding-right:max(0px, calc(50% - 360px)) !important;
  }
}

@media (max-width: 640px){
  .qs-compose-dock{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .qs-thread{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}


/* Phase 2.21: chat polish, compose preview, soft-delete placeholders, zoom, motion */
.qs-topbar::after{
  display:none !important;
}

.qs-thread{
  padding-top:calc(env(safe-area-inset-top) + 108px) !important;
  padding-bottom:calc(var(--qs-safe-bottom) + 120px) !important;
  scroll-padding-top:calc(env(safe-area-inset-top) + 108px) !important;
  scroll-padding-bottom:calc(var(--qs-safe-bottom) + 120px) !important;
}

.qs-thread-wrap,
.qs-conversations-view{
  animation:none;
}

.qs-chat-app.is-transitioning .qs-thread-wrap,
.qs-chat-app.is-transitioning .qs-conversations-view{
  animation:qsViewEnter .18s ease both;
}

@keyframes qsViewEnter{
  0%{
    opacity:.72;
    transform:translateY(8px);
  }
  100%{
    opacity:1;
    transform:translateY(0);
  }
}

.qs-sheet{
  opacity:0;
  transition:transform .22s ease, opacity .18s ease;
}

.qs-sheet.is-open{
  opacity:1;
}

.qs-sheet--new-conversation{
  pointer-events:none;
}

.qs-sheet--new-conversation.is-open{
  pointer-events:auto;
}

.qs-compose-shell{
  gap:10px;
  padding:12px 14px;
}

.qs-compose-preview{
  display:block;
}

.qs-compose-preview__frame{
  display:grid;
  gap:10px;
  grid-template-columns:72px minmax(0,1fr);
  align-items:center;
  padding:10px;
  border:1px solid rgba(215,199,255,.88);
  border-radius:22px;
  background:rgba(255,255,255,.98);
  box-shadow:0 8px 18px rgba(124,77,255,.08);
}

.qs-compose-preview__image,
.qs-compose-preview__video{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:16px;
  background:#f7f4ff;
}

.qs-compose-preview__meta{
  min-width:0;
  display:grid;
  gap:4px;
}

.qs-compose-preview__meta strong{
  font-size:.92rem;
  letter-spacing:-.01em;
}

.qs-compose-preview__meta span{
  font-size:.8rem;
  color:var(--qs-soft);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.qs-bubble.is-deleted{
  border-style:dashed;
  border-color:rgba(163,154,186,.54);
  background:rgba(255,255,255,.7);
  box-shadow:none;
}

.qs-bubble__deleted{
  font-size:.88rem;
  line-height:1.45;
  color:var(--qs-soft);
}

.qs-message.is-deleted .qs-message__time,
.qs-message.is-deleted .qs-message__status{
  opacity:.72;
}

.qs-preview-modal__zoom-shell{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:min(72vh, 820px);
  overflow:auto;
  touch-action:none;
  background:#f7f4ff;
}

.qs-preview-modal__zoom-image{
  width:100%;
  height:auto;
  max-width:none;
  transform-origin:center center;
  transition:transform .12s ease;
  will-change:transform;
}

.qs-preview-modal__zoom-shell.is-zoomed{
  cursor:zoom-out;
}

@media (min-width: 768px){
  .qs-thread{
    padding-top:132px !important;
    padding-bottom:168px !important;
  }
}


/* QuickShare 0.2.24 compact profile edit controls */
.qs-preview-banner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(215,199,255,.88);
  background:linear-gradient(135deg, rgba(248,245,255,.98), #fff);
  box-shadow:var(--qs-shadow-soft);
}

.qs-preview-banner__copy{
  display:grid;
  gap:6px;
  min-width:0;
}

.qs-preview-banner__copy p{
  color:var(--qs-soft);
  line-height:1.5;
}

.qs-avatar.has-image,
.qs-conversation-row__avatar.has-image,
.qs-avatar__chip.has-image{
  overflow:hidden;
  background:#fff;
  color:transparent;
}

.qs-avatar__image,
.qs-conversation-row__avatar-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:inherit;
}

.qs-avatar-button{
  padding:0;
  min-width:44px;
  width:44px;
  height:44px;
  border-radius:999px;
  overflow:hidden;
}

.qs-avatar__chip{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  border-radius:inherit;
  font-weight:800;
}

.qs-topbar__right-placeholder{
  display:inline-flex;
  width:44px;
  height:44px;
  flex:0 0 44px;
}

.qs-profile-editor{
  display:grid;
  gap:12px;
  padding:14px;
  margin-bottom:14px;
  border:1px solid var(--qs-border);
  border-radius:24px;
  background:#fff;
}

.qs-profile-editor__row{
  display:grid;
  gap:12px;
}

.qs-profile-editor__field{
  gap:10px;
}

.qs-field--compact span{
  font-size:.84rem;
}

.qs-profile-editor__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.qs-icon-button--menu{
  min-width:44px;
  width:44px;
  padding:0;
}

.qs-mini-menu{
  z-index:74;
}

@media (max-width: 640px){
  .qs-preview-banner{
    display:grid;
  }

  .qs-profile-editor__actions{
    align-items:stretch;
  }
}


.qs-profile-card--compact{
  align-items:flex-start;
}

.qs-profile-avatar-wrap{
  position:relative;
  flex:0 0 auto;
}

.qs-profile-avatar-edit,
.qs-profile-inline__edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(66,47,120,.16);
  background:rgba(255,255,255,.94);
  color:var(--qs-text);
  box-shadow:0 10px 20px rgba(24,18,45,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.qs-profile-avatar-edit:hover,
.qs-profile-inline__edit:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(24,18,45,.12);
  border-color:rgba(66,47,120,.24);
}

.qs-profile-avatar-edit{
  position:absolute;
  right:-4px;
  bottom:-4px;
  width:34px;
  height:34px;
  border-radius:999px;
  padding:0;
}

.qs-profile-card__copy--compact{
  flex:1;
  min-width:0;
  display:grid;
  gap:6px;
}

.qs-profile-inline__name-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.qs-profile-inline__name-edit{
  flex:1;
}

.qs-profile-inline__name-edit .qs-input{
  height:42px;
}

.qs-profile-inline__name-text{
  display:block;
  min-width:0;
  font-size:1rem;
  line-height:1.3;
  word-break:break-word;
}

.qs-profile-inline__edit{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:999px;
  padding:0;
}

.qs-profile-inline__icon{
  display:inline-flex;
  width:16px;
  height:16px;
}

.qs-profile-inline__icon svg{
  width:100%;
  height:100%;
}

.qs-profile-inline__actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:4px;
}

@media (max-width: 640px){
  .qs-profile-card--compact{
    gap:12px;
  }

  .qs-profile-inline__actions{
    justify-content:stretch;
  }
}


/* phase 2.26 compact settings, QR login, and quick-login scanner */
.qs-profile-inline__top-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.qs-profile-access-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(66,47,120,.12);
  background:rgba(255,255,255,.92);
  color:var(--qs-soft);
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}
.qs-usage-card__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  text-align:right;
}
.qs-mini-stat--device{
  align-items:center;
}
.qs-mini-stat__copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.qs-icon-button--compact{
  width:44px;
  min-width:44px;
  height:44px;
  padding:0;
}
.qs-auth-qr{
  margin-top:14px;
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid var(--qs-border);
  border-radius:24px;
  background:var(--qs-bg-soft);
}
.qs-auth-qr--compact{
  margin-top:12px;
}
.qs-auth-qr__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.qs-auth-qr__head p,
.qs-auth-qr__footer small{
  color:var(--qs-soft);
}
.qs-auth-qr__body{
  display:grid;
  place-items:center;
  gap:12px;
}
.qs-auth-qr__image{
  width:min(100%, 240px);
  height:auto;
  aspect-ratio:1 / 1;
  border-radius:24px;
  background:#fff;
  padding:10px;
  border:1px solid var(--qs-border);
  box-shadow:var(--qs-shadow-soft);
}
.qs-auth-qr__loading,
.qs-auth-qr__error{
  width:100%;
  text-align:center;
  color:var(--qs-soft);
}
.qs-auth-qr__error{
  color:#8d2e46;
}
.qs-auth-qr__footer{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.qs-sheet--qr-scanner{
  max-height:min(84vh, 760px);
}
.qs-qr-scanner__body{
  display:grid;
  gap:14px;
}
.qs-qr-scanner__video-wrap{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:28px;
  overflow:hidden;
  background:#0f0d17;
  border:1px solid rgba(255,255,255,.06);
}
.qs-qr-scanner__video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.qs-qr-scanner__frame{
  position:absolute;
  inset:18% 18%;
  border:2px solid rgba(255,255,255,.88);
  border-radius:24px;
  box-shadow:0 0 0 999px rgba(8,8,14,.22);
  pointer-events:none;
}
.qs-qr-scanner__notice{
  padding:12px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--qs-border);
  color:var(--qs-soft);
}
@media (max-width: 640px){
  .qs-profile-inline__top-row,
  .qs-auth-qr__head,
  .qs-auth-qr__footer{
    grid-auto-flow:row;
    display:grid;
  }
  .qs-usage-card__actions{
    gap:8px;
  }
}


/* phase 2.27 sheet/search/menu stabilization */
.qs-topbar{
  overflow:visible;
}

.qs-topbar__panel{
  z-index:2;
}

.qs-profile-card--compact{
  position:relative;
  padding-right:102px;
}

.qs-profile-inline__top-row{
  display:block;
}

.qs-profile-access-pill{
  position:absolute;
  top:14px;
  right:14px;
  margin:0;
}

.qs-new-conversation-preview-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(140,80,244,.16);
  border-radius:18px;
  background:rgba(140,80,244,.05);
}

.qs-new-conversation-preview-card__main{
  min-width:0;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.qs-mini-menu--list{
  min-width:176px;
  display:grid;
  gap:4px;
  padding:6px;
}

.qs-mini-menu__list-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--qs-border);
  border-radius:14px;
  background:#fff;
  color:var(--qs-purple-700);
  cursor:pointer;
  text-align:left;
  font-weight:700;
}

.qs-mini-menu__list-btn.is-danger{
  color:#c0406f;
}

.qs-mini-menu__list-icon{
  width:18px;
  height:18px;
  display:inline-flex;
  flex:0 0 auto;
}

.qs-mini-menu__list-icon svg{
  width:100%;
  height:100%;
  display:block;
}

.qs-qr-scanner__manual{
  width:100%;
}

@media (max-width: 640px){
  .qs-profile-card--compact{
    padding-right:86px;
  }

  .qs-profile-access-pill{
    top:12px;
    right:12px;
  }
}


/* Phase 2.28: auth QR entry + scanner sheet overflow fixes */
.qs-auth__meta--quick{
  margin-top:14px;
  display:grid;
  gap:12px;
}

.qs-sheet--qr-scanner{
  max-height:min(88dvh, 760px);
  overflow:hidden;
  grid-template-rows:auto minmax(0,1fr);
}

.qs-qr-scanner__scroll{
  min-height:0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:calc(var(--qs-safe-bottom) + 8px);
}

.qs-qr-scanner__body{
  min-height:0;
  display:grid;
  gap:14px;
  align-content:start;
}

.qs-qr-scanner__video-wrap{
  max-width:100%;
  max-height:min(52vh, 360px);
}

.qs-qr-scanner__manual{
  margin-bottom:8px;
}

@media (max-width: 640px){
  .qs-sheet--qr-scanner{
    max-height:min(92dvh, 760px);
  }

  .qs-qr-scanner__video-wrap{
    aspect-ratio:1 / 1;
    max-height:min(42vh, 320px);
  }
}


/* phase 2.30 quick login prompt flow */
#qs-open-qr-scanner,
.qs-sheet--qr-scanner,
#qs-qr-scanner-backdrop {
  display: none !important;
}

.qs-auth-qr--prompt .qs-auth-qr__status {
  display: grid;
  gap: 8px;
}

.qs-auth-qr--prompt .qs-auth-qr__loading {
  min-height: 0;
}

.qs-quick-login-banner{
  position:fixed;
  top:calc(env(safe-area-inset-top) + 104px);
  left:50%;
  transform:translateX(-50%);
  z-index:24;
  width:min(1120px, calc(100vw - 32px));
  padding:0 4px;
  pointer-events:none;
}

.qs-quick-login-banner__stack{
  display:flex;
  justify-content:center;
}

.qs-quick-login-card{
  width:min(100%, 620px);
  display:grid;
  gap:12px;
  padding:14px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(215,199,255,.86);
  box-shadow:0 18px 40px rgba(108,72,200,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  pointer-events:auto;
}

.qs-quick-login-card__copy{
  display:grid;
  gap:5px;
  min-width:0;
}

.qs-quick-login-card__title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.qs-quick-login-card__copy strong{
  font-size:1rem;
  letter-spacing:-.02em;
}

.qs-quick-login-card__copy p{
  margin:0;
  color:var(--qs-soft);
  line-height:1.42;
}

.qs-quick-login-card__eyebrow{
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--qs-purple-700);
}

.qs-quick-login-card__extra{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  background:var(--qs-purple-100);
  color:var(--qs-purple-700);
  font-size:.76rem;
  font-weight:700;
}

.qs-quick-login-card__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

@media (min-width: 640px) {
  .qs-quick-login-card{
    grid-template-columns:minmax(0, 1fr) auto;
    align-items:center;
  }

  .qs-quick-login-card__actions{
    justify-content:flex-end;
  }
}

@media (max-width: 639px) {
  .qs-quick-login-banner{
    top:calc(env(safe-area-inset-top) + 96px);
  }

  .qs-quick-login-card{
    width:100%;
  }
}


html[data-qs-theme="dark"],
body[data-qs-theme="dark"]{
  --qs-bg:#0f1117;
  --qs-bg-soft:#141824;
  --qs-panel:#161b26;
  --qs-border:#2a3244;
  --qs-border-strong:#3a4460;
  --qs-text:#f4f6fb;
  --qs-soft:#b3bfd4;
  --qs-soft-2:#7f8aa3;
  --qs-shadow:0 18px 48px rgba(0,0,0,.36);
  --qs-shadow-soft:0 12px 28px rgba(0,0,0,.24);
  background:#0f1117 !important;
}

body.quickshare-app-body[data-qs-theme="dark"]{
  background:var(--qs-bg) !important;
  color:var(--qs-text) !important;
}

body.quickshare-app-body[data-qs-theme="dark"] #quickshare-app,
body.quickshare-app-body[data-qs-theme="dark"] .qs-auth,
body.quickshare-app-body[data-qs-theme="dark"] .qs-chat-app,
body.quickshare-app-body[data-qs-theme="dark"] .qs-sheet,
body.quickshare-app-body[data-qs-theme="dark"] .qs-drawer,
body.quickshare-app-body[data-qs-theme="dark"] .qs-topbar__panel,
body.quickshare-app-body[data-qs-theme="dark"] .qs-thread,
body.quickshare-app-body[data-qs-theme="dark"] .qs-compose-shell,
body.quickshare-app-body[data-qs-theme="dark"] .qs-conversations-shell,
body.quickshare-app-body[data-qs-theme="dark"] .qs-conversation-row,
body.quickshare-app-body[data-qs-theme="dark"] .qs-group-settings-stack,
body.quickshare-app-body[data-qs-theme="dark"] .qs-usage-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-auto-delete-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-mini-stat,
body.quickshare-app-body[data-qs-theme="dark"] .qs-device-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-release-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-group-settings-block,
body.quickshare-app-body[data-qs-theme="dark"] .qs-field,
body.quickshare-app-body[data-qs-theme="dark"] .qs-contact-chip,
body.quickshare-app-body[data-qs-theme="dark"] .qs-toast,
body.quickshare-app-body[data-qs-theme="dark"] .qs-action-popover,
body.quickshare-app-body[data-qs-theme="dark"] .qs-quick-login-toast,
body.quickshare-app-body[data-qs-theme="dark"] .qs-link-preview{
  background:var(--qs-panel) !important;
  color:var(--qs-text) !important;
  border-color:var(--qs-border) !important;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-muted,
body.quickshare-app-body[data-qs-theme="dark"] .qs-conversation-row__meta,
body.quickshare-app-body[data-qs-theme="dark"] .qs-conversation-row__preview,
body.quickshare-app-body[data-qs-theme="dark"] .qs-release-card__head span,
body.quickshare-app-body[data-qs-theme="dark"] .qs-auth-card__sub,
body.quickshare-app-body[data-qs-theme="dark"] .qs-profile-card__copy .qs-muted{
  color:var(--qs-soft) !important;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-input,
body.quickshare-app-body[data-qs-theme="dark"] .qs-compose-input,
body.quickshare-app-body[data-qs-theme="dark"] textarea,
body.quickshare-app-body[data-qs-theme="dark"] input{
  background:#101521 !important;
  color:var(--qs-text) !important;
  border-color:var(--qs-border) !important;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-button--ghost,
body.quickshare-app-body[data-qs-theme="dark"] .qs-profile-avatar-edit,
body.quickshare-app-body[data-qs-theme="dark"] .qs-gear-button{
  background:#101521 !important;
  color:var(--qs-text) !important;
  border-color:var(--qs-border) !important;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-sheet-backdrop,
body.quickshare-app-body[data-qs-theme="dark"] .qs-drawer-backdrop,
body.quickshare-app-body[data-qs-theme="dark"] .qs-action-popover-backdrop{
  background:rgba(3,6,14,.54) !important;
}

.qs-settings-card{
  padding:18px 20px;
  border-radius:var(--qs-radius-md);
  background:var(--qs-panel);
  border:1px solid var(--qs-border);
  box-shadow:var(--qs-shadow-soft);
  margin-top:14px;
}

.qs-settings-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.qs-settings-card__copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.qs-settings-card__copy span{
  font-weight:700;
}

.qs-settings-card__copy small{
  color:var(--qs-soft);
}

.qs-theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px;
  border-radius:999px;
  background:var(--qs-bg-soft);
  border:1px solid var(--qs-border);
  flex:0 0 auto;
}

.qs-theme-toggle__option{
  border:0;
  background:transparent;
  color:var(--qs-soft);
  height:36px;
  min-width:72px;
  padding:0 14px;
  border-radius:999px;
  font-weight:700;
}

.qs-theme-toggle__option.is-active{
  background:var(--qs-purple-700);
  color:#fff;
  box-shadow:var(--qs-shadow-soft);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-theme-toggle{
  background:#101521;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-theme-toggle__option.is-active{
  background:var(--qs-purple-600);
}

@media (max-width: 640px){
  .qs-settings-card__head{
    flex-direction:column;
    align-items:stretch;
  }
  .qs-theme-toggle{
    width:100%;
  }
  .qs-theme-toggle__option{
    flex:1 1 50%;
  }
}


/* phase 2.42 bottom navigation, contacts access, and admin-gated clients foundation */
.qs-topbar__meta{
  color:var(--qs-soft);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.01em;
}

.qs-shell-stage{
  flex:1;
  min-height:0;
}

.qs-shell-stage--conversations .qs-conversations-view{
  padding-bottom:196px;
}

.qs-shell-stage--contacts,
.qs-shell-stage--clients{
  overflow:auto;
  padding:112px 0 190px;
}

.qs-shell-header-card{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto 14px;
  padding:0 4px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.qs-shell-header-card > div{
  display:grid;
  gap:4px;
}

.qs-shell-header-card strong{
  font-size:1.2rem;
  letter-spacing:-.03em;
}

.qs-shell-header-card span{
  color:var(--qs-soft);
  font-size:.92rem;
}

.qs-shell-search{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto 14px;
  position:relative;
}

.qs-shell-search__icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:var(--qs-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}

.qs-shell-search__icon svg{
  width:18px;
  height:18px;
  display:block;
}

.qs-shell-search__input{
  width:100%;
  height:52px;
  padding:0 16px 0 46px;
  border-radius:20px;
  border:1px solid var(--qs-border);
  background:var(--qs-panel);
  color:var(--qs-text);
  outline:none;
  box-shadow:var(--qs-shadow-soft);
}

.qs-shell-search__input:focus{
  border-color:var(--qs-purple-600);
  box-shadow:0 0 0 4px rgba(124,77,255,.12);
}

.qs-contacts-list{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto;
  display:grid;
  gap:10px;
}

.qs-contact-row{
  width:100%;
  border:1px solid rgba(215,199,255,.88);
  border-radius:22px;
  background:var(--qs-panel);
  box-shadow:var(--qs-shadow-soft);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  text-align:left;
  cursor:pointer;
}

.qs-contact-row__avatar,
.qs-contact-profile__avatar{
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--qs-border);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
  flex:0 0 46px;
}

.qs-contact-row__copy{
  min-width:0;
  display:grid;
  gap:4px;
}

.qs-contact-row__copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1rem;
}

.qs-contact-row__copy small{
  color:var(--qs-soft);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-contact-row__tail{
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid var(--qs-border);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--qs-soft);
  background:var(--qs-bg-soft);
}

.qs-contact-row__tail svg{
  width:16px;
  height:16px;
  display:block;
}

.qs-clients-foundation{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto;
}

.qs-clients-foundation__body{
  border:1px solid var(--qs-border);
  border-radius:26px;
  background:var(--qs-panel);
  box-shadow:var(--qs-shadow-soft);
  padding:26px 22px;
  display:grid;
  gap:10px;
}

.qs-clients-foundation__body h2{
  font-size:1.18rem;
  letter-spacing:-.03em;
}

.qs-clients-foundation__body p{
  color:var(--qs-soft);
  line-height:1.55;
}

.qs-self-actions{
  position:fixed;
  left:16px;
  bottom:calc(var(--qs-safe-bottom) + 94px);
  z-index:17;
  display:grid;
  gap:10px;
}

.qs-self-action{
  min-width:74px;
  height:38px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(215,199,255,.88);
  background:rgba(255,255,255,.92);
  color:var(--qs-text);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:var(--qs-shadow-soft);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.qs-self-action__icon{
  width:15px;
  height:15px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.qs-self-action__icon svg{
  width:15px;
  height:15px;
  display:block;
}

.qs-self-action__label{
  font-size:.84rem;
  font-weight:800;
  letter-spacing:-.01em;
}

.qs-self-action.is-confirmed{
  background:var(--qs-purple-700);
  border-color:transparent;
  color:#fff;
  transform:translateX(2px);
}

.qs-shell-nav{
  position:fixed;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  z-index:18;
  width:min(1120px, calc(100vw - 32px));
  padding:0 0 calc(var(--qs-safe-bottom) + 12px);
  display:flex;
  justify-content:center;
  pointer-events:none;
}

.qs-shell-nav__tray{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid rgba(215,199,255,.82);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--qs-shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.qs-shell-tab{
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid transparent;
  background:transparent;
  color:var(--qs-soft);
  display:flex;
  align-items:center;
  justify-content:center;
}

.qs-shell-tab svg{
  width:22px;
  height:22px;
  display:block;
}

.qs-shell-tab.is-active{
  background:var(--qs-text);
  color:#fff;
  box-shadow:0 12px 24px rgba(12,16,30,.12);
}

.qs-shell-tab:focus-visible,
.qs-self-action:focus-visible,
.qs-contact-row:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(124,77,255,.14);
}

.qs-sheet--contact-profile{
  padding-bottom:calc(var(--qs-safe-bottom) + 18px);
}

.qs-contact-profile{
  display:grid;
  gap:18px;
}

.qs-contact-profile__hero{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
}

.qs-contact-profile__copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.qs-contact-profile__copy h2{
  font-size:1.2rem;
  letter-spacing:-.03em;
}

.qs-contact-profile__copy p{
  color:var(--qs-soft);
}

.qs-contact-profile__meta{
  padding:14px 16px;
  border-radius:18px;
  background:var(--qs-bg-soft);
  display:grid;
  gap:4px;
}

.qs-contact-profile__meta span{
  font-size:.8rem;
  font-weight:800;
  color:var(--qs-soft);
  text-transform:uppercase;
  letter-spacing:.08em;
}

.qs-contact-profile__actions{
  display:grid;
  gap:10px;
}

@media (min-width: 960px){
  .qs-shell-stage--conversations .qs-conversations-view{
    padding-top:112px;
    padding-bottom:52px;
  }

  .qs-shell-stage--contacts,
  .qs-shell-stage--clients{
    padding-top:112px;
    padding-bottom:52px;
  }

  .qs-self-actions{
    left:max(20px, calc(50vw - 540px));
    bottom:24px;
  }

  .qs-shell-nav{
    left:max(20px, calc(50vw - 540px));
    bottom:96px;
    transform:none;
    width:auto;
    justify-content:flex-start;
    padding:0;
  }

  .qs-shell-nav__tray{
    flex-direction:column;
    border-radius:28px;
    padding:12px 10px;
  }
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-search__input,
body.quickshare-app-body[data-qs-theme="dark"] .qs-self-action,
body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-nav__tray,
body.quickshare-app-body[data-qs-theme="dark"] .qs-contact-row,
body.quickshare-app-body[data-qs-theme="dark"] .qs-clients-foundation__body,
body.quickshare-app-body[data-qs-theme="dark"] .qs-contact-profile__meta{
  background:var(--qs-panel);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-self-action.is-confirmed,
body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-tab.is-active{
  background:#f4f6fb;
  color:#101521;
}



/* Phase 2.43: conversation overview refinement */
.qs-chat-app--overview .qs-sync-bar-host{
  position:fixed;
  top:10px;
  left:16px;
  right:16px;
  z-index:19;
  pointer-events:none;
}

.qs-chat-app--overview .qs-sync-bar-host .qs-sync-bar{
  position:relative;
  left:0;
  right:0;
  bottom:0;
  max-width:min(1120px, calc(100vw - 32px));
  margin:0 auto;
}

.qs-shell-floating-actions{
  position:fixed;
  top:16px;
  right:16px;
  z-index:20;
  display:flex;
  align-items:center;
  gap:10px;
}

.qs-avatar--floating,
.qs-shell-floating-actions .qs-icon-button{
  width:48px;
  height:48px;
  min-height:48px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.qs-chat-app--overview .qs-shell-stage--conversations .qs-conversations-view{
  padding-top:86px;
  padding-bottom:188px;
}

.qs-chat-app--overview .qs-shell-stage--contacts,
.qs-chat-app--overview .qs-shell-stage--clients{
  padding-top:88px;
  padding-bottom:180px;
}

.qs-conversations-shell--list{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto;
  display:grid;
  gap:16px;
}

.qs-conversation-list{
  display:grid;
  gap:0;
}

.qs-conversation-list .qs-conversation-row{
  border:0;
  border-bottom:1px solid rgba(214, 207, 234, .72);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:14px 4px;
}

.qs-conversation-list .qs-conversation-row:first-child{
  padding-top:6px;
}

.qs-conversation-list .qs-conversation-row:last-child{
  border-bottom:0;
}

.qs-conversation-list .qs-conversation-row.is-active{
  border-radius:18px;
  background:rgba(124,77,255,.08);
  border-bottom-color:transparent;
  padding-left:12px;
  padding-right:12px;
}

.qs-conversation-list .qs-conversation-row.is-pinned{
  margin-bottom:2px;
}

.qs-conversation-list .qs-conversation-row__leading{
  gap:10px;
}

.qs-conversation-list .qs-conversation-row__preview{
  color:var(--qs-soft);
}

.qs-conversation-list .qs-conversation-row__meta{
  display:none;
}

.qs-conversation-list .qs-conversation-row__tail{
  min-width:28px;
}

.qs-self-actions{
  left:auto;
  right:16px;
  bottom:calc(var(--qs-safe-bottom) + 88px);
  z-index:18;
}

.qs-self-actions__tray{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(215,199,255,.82);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--qs-shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.qs-self-action{
  min-width:0;
  width:48px;
  height:48px;
  padding:0;
  border-radius:999px;
  border:1px solid transparent;
  background:transparent;
  box-shadow:none;
}

.qs-self-action__label{
  display:none;
}

.qs-self-action.is-confirmed{
  background:var(--qs-text);
  color:#fff;
  transform:none;
}

.qs-shell-nav{
  width:auto;
  max-width:none;
}

.qs-shell-nav__rail{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:10px;
}

.qs-shell-search-trigger{
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(215,199,255,.82);
  background:rgba(255,255,255,.94);
  color:var(--qs-soft);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--qs-shadow);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.qs-shell-search-trigger svg{
  width:20px;
  height:20px;
  display:block;
}

.qs-shell-search-trigger.is-active{
  background:var(--qs-text);
  border-color:transparent;
  color:#fff;
}

.qs-shell-search-trigger:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(124,77,255,.14);
}

.qs-sheet--conversation-search{
  padding-bottom:calc(var(--qs-safe-bottom) + 18px);
}

.qs-conversation-search{
  display:grid;
  gap:14px;
}

.qs-conversation-search__field{
  position:relative;
  display:block;
}

.qs-conversation-search__icon{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  color:var(--qs-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}

.qs-conversation-search__icon svg{
  width:18px;
  height:18px;
  display:block;
}

.qs-input--search{
  padding-left:42px;
}

.qs-conversation-search__results{
  max-height:min(52vh, 460px);
  overflow:auto;
  display:grid;
  gap:0;
  margin:0 -4px;
  padding:0 4px;
}

.qs-search-result{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(214, 207, 234, .72);
  background:transparent;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:14px 6px;
  text-align:left;
}

.qs-search-result:last-child{
  border-bottom:0;
}

.qs-search-result__avatar{
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid var(--qs-border);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  font-weight:800;
  flex:0 0 42px;
}

.qs-search-result__avatar--personal{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-500));
  color:#fff;
  border-color:transparent;
}

.qs-search-result__avatar--group svg{
  width:18px;
  height:18px;
  display:block;
}

.qs-search-result__copy{
  min-width:0;
  display:grid;
  gap:6px;
}

.qs-search-result__top,
.qs-search-result__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.qs-search-result__top strong,
.qs-search-result__bottom em,
.qs-search-result__bottom small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-search-result__top span,
.qs-search-result__bottom small{
  color:var(--qs-soft);
  font-size:.8rem;
}

.qs-search-result__bottom em{
  font-style:normal;
  color:var(--qs-text);
}

.qs-thread--timeline{
  gap:18px;
  padding:16px 0 calc(var(--qs-safe-bottom) + 18px);
}

.qs-timeline-divider{
  display:flex;
  justify-content:center;
  margin:4px 0 -2px;
}

.qs-timeline-divider span{
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--qs-border);
  background:rgba(255,255,255,.92);
  color:var(--qs-soft);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.76rem;
  font-weight:700;
  box-shadow:var(--qs-shadow-soft);
}

.qs-thread--timeline .qs-message{
  align-items:stretch !important;
}

.qs-thread--timeline .qs-message__meta{
  padding:0 10px;
}

.qs-thread--timeline .qs-message__body,
.qs-thread--timeline .qs-message__stack{
  max-width:none;
  width:100%;
}

.qs-thread--timeline .qs-message.is-own .qs-message__body{
  flex-direction:row;
}

.qs-thread--timeline .qs-message.is-own .qs-bubble{
  background:var(--qs-panel);
  color:var(--qs-text);
  border-color:var(--qs-border);
}

.qs-thread--timeline .qs-bubble{
  width:100%;
  max-width:none;
  border-radius:22px;
}

.qs-thread--timeline .qs-copy-pill{
  margin-bottom:8px;
}

@media (min-width: 960px){
  .qs-shell-floating-actions{
    top:20px;
    right:max(24px, calc(50vw - 540px));
  }

  .qs-self-actions{
    right:auto;
    left:max(20px, calc(50vw - 540px));
    bottom:24px;
  }

  .qs-shell-nav{
    left:max(20px, calc(50vw - 540px));
    bottom:96px;
    transform:none;
    justify-content:flex-start;
    padding:0;
  }

  .qs-shell-nav__rail{
    flex-direction:column;
  }

  .qs-chat-app--overview .qs-shell-stage--conversations .qs-conversations-view,
  .qs-chat-app--overview .qs-shell-stage--contacts,
  .qs-chat-app--overview .qs-shell-stage--clients{
    padding-top:108px;
    padding-bottom:48px;
  }
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-search-trigger,
body.quickshare-app-body[data-qs-theme="dark"] .qs-self-actions__tray,
body.quickshare-app-body[data-qs-theme="dark"] .qs-thread--timeline .qs-message.is-own .qs-bubble,
body.quickshare-app-body[data-qs-theme="dark"] .qs-timeline-divider span{
  background:var(--qs-panel);
}



/* phase 2.44 rich thread UI, link previews, grouped photos, and dark-mode coverage */
.qs-chat-app--threading{
  padding-top:0;
}

.qs-chat-app--threading .qs-thread-wrap{
  padding-top:92px;
  padding-bottom:158px;
}

.qs-thread-pill-wrap{
  position:fixed;
  top:calc(env(safe-area-inset-top) + 14px);
  left:50%;
  transform:translateX(-50%);
  z-index:19;
  width:min(calc(100vw - 120px), 420px);
  display:flex;
  justify-content:center;
  pointer-events:none;
}

.qs-thread-pill{
  max-width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border:1px solid rgba(215,199,255,.88);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--qs-shadow-soft);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  pointer-events:auto;
}

.qs-thread-pill__avatar{
  width:40px;
  height:40px;
  border-radius:999px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(215,199,255,.78);
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  color:var(--qs-purple-700);
  flex:0 0 40px;
}

.qs-thread-pill__avatar--group svg{
  width:18px;
  height:18px;
}

.qs-thread-pill__avatar-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-thread-pill__copy{
  min-width:0;
  display:grid;
  gap:2px;
}

.qs-thread-pill__copy strong,
.qs-thread-pill__copy span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-thread-pill__copy strong{
  font-size:.95rem;
  letter-spacing:-.02em;
}

.qs-thread-pill__copy span{
  font-size:.76rem;
  color:var(--qs-soft);
}

.qs-thread-floating-menu{
  position:fixed;
  top:calc(env(safe-area-inset-top) + 16px);
  right:16px;
  z-index:19;
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(215,199,255,.88);
  background:rgba(255,255,255,.94);
  color:var(--qs-text);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--qs-shadow-soft);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.qs-thread-floating-menu svg{
  width:20px;
  height:20px;
  display:block;
}

.qs-compose-dock--thread{
  width:min(1120px, calc(100vw - 22px));
}

.qs-compose-bar--thread{
  min-height:64px;
}

.qs-thread-back,
.qs-compose-bar--thread .qs-plus,
.qs-compose-bar--thread .qs-send{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  min-width:48px;
  height:48px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 20px rgba(124,77,255,.12);
}

.qs-thread-back{
  left:8px;
  border:1px solid rgba(215,199,255,.9);
  background:rgba(255,255,255,.96);
  color:var(--qs-text);
}

.qs-compose-bar--thread .qs-plus{
  left:62px;
}

.qs-compose-input--thread{
  min-height:62px;
  padding:18px 66px 18px 118px;
  border-radius:999px;
}

.qs-message.is-other .qs-message__body{
  justify-content:flex-start;
}

.qs-message.is-own .qs-message__body{
  justify-content:flex-end;
}

.qs-message.is-other .qs-bubble{
  border-radius:999px 24px 24px 999px;
}

.qs-message.is-own .qs-bubble{
  border-radius:24px 999px 999px 24px;
}

.qs-bubble{
  border:0;
  box-shadow:none;
  min-width:72px;
}

.qs-bubble--link{
  min-width:min(82vw, 360px);
}

.qs-bubble--media{
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.qs-bubble--media .qs-bubble__foot{
  padding:0 10px 10px;
}

.qs-bubble__media-wrap{
  overflow:hidden;
  border-radius:28px;
}

.qs-link-card{
  display:grid;
  gap:0;
  overflow:hidden;
  min-width:min(78vw, 340px);
  border-radius:30px;
  background:rgba(255,255,255,.96);
}

.qs-link-card__image-wrap{
  width:100%;
  aspect-ratio:1.65 / 1;
  overflow:hidden;
  background:var(--qs-bg-soft);
}

.qs-link-card__image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-link-card__copy{
  display:grid;
  gap:6px;
  padding:16px 18px 18px;
}

.qs-link-card__host,
.qs-link-card__loading{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--qs-purple-700);
}

.qs-link-card__title{
  font-size:1rem;
  line-height:1.25;
  letter-spacing:-.02em;
}

.qs-link-card__description{
  color:var(--qs-soft);
  line-height:1.35;
  font-size:.88rem;
}

.qs-link-card__url{
  color:var(--qs-soft-2);
  font-size:.78rem;
  line-height:1.3;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-gallery{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(72%, 78%);
  gap:10px;
  overflow-x:auto;
  padding:0;
  scrollbar-width:none;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}

.qs-gallery::-webkit-scrollbar{
  display:none;
}

.qs-gallery__item{
  position:relative;
  overflow:hidden;
  border:0;
  padding:0;
  border-radius:28px;
  background:transparent;
  scroll-snap-align:start;
  aspect-ratio:1 / 1;
  min-height:196px;
  box-shadow:none;
}

.qs-gallery__image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-gallery__count{
  position:absolute;
  right:12px;
  top:12px;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(23,18,40,.62);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.qs-message--gallery .qs-message__stack{
  width:min(82vw, 360px);
}

.qs-media-library-backdrop{
  position:fixed;
  inset:0;
  z-index:49;
  background:rgba(8,10,18,.72);
}

.qs-media-library{
  position:fixed;
  inset:0;
  z-index:50;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:12px;
  padding:calc(env(safe-area-inset-top) + 12px) 16px calc(env(safe-area-inset-bottom) + 16px);
}

.qs-media-library__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.qs-media-library__count{
  color:#fff;
  font-weight:800;
  letter-spacing:.02em;
}

.qs-media-library__stage{
  position:relative;
  display:grid;
  place-items:center;
  min-height:0;
}

.qs-media-library__image{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:28px;
  box-shadow:0 22px 50px rgba(0,0,0,.32);
}

.qs-media-library__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.qs-media-library__nav svg{
  width:22px;
  height:22px;
  display:block;
}

.qs-media-library__nav--prev{
  left:6px;
}

.qs-media-library__nav--next{
  right:6px;
  transform:translateY(-50%) scaleX(-1);
}

.qs-copy-pill{
  width:46px;
  min-width:46px;
  height:46px;
  border-radius:999px;
}

.qs-copy-pill__icon{
  width:18px;
  height:18px;
}

.qs-self-actions{
  right:16px;
  bottom:calc(var(--qs-safe-bottom) + 90px);
}

.qs-self-actions__tray{
  gap:10px;
  padding:12px;
  border-radius:28px;
}

.qs-self-action{
  width:56px;
  height:56px;
}

.qs-self-action__icon{
  width:18px;
  height:18px;
}

.qs-self-action__icon svg{
  width:18px;
  height:18px;
}

.qs-self-action--paste{
  background:linear-gradient(135deg, var(--qs-purple-700), #4c2bff);
  color:#fff;
  border-color:transparent;
  box-shadow:0 14px 26px rgba(76,43,255,.26);
}

.qs-self-action--copy{
  background:rgba(255,255,255,.98);
}

.qs-self-action.is-confirmed{
  transform:none;
}

.qs-self-action--paste.is-confirmed{
  box-shadow:0 16px 28px rgba(76,43,255,.3);
}

.qs-self-action--copy.is-confirmed{
  background:var(--qs-text);
  color:#fff;
}

.qs-search-result__avatar-image,
.qs-contact-row__avatar-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-chat-app--overview .qs-shell-stage--contacts{
  padding-bottom:180px;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-pill,
body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-floating-menu{
  background:rgba(16,21,33,.92);
  border-color:rgba(77,88,112,.7);
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-pill__copy span{
  color:#9aa7c5;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card{
  background:#131929;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card__description{
  color:#aab3ca;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card__url{
  color:#8d97b1;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-back{
  background:#131929;
  border-color:rgba(77,88,112,.72);
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-self-actions__tray{
  background:rgba(16,21,33,.94);
  border-color:rgba(77,88,112,.7);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-self-action--copy{
  background:#161d2f;
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-gallery__count{
  background:rgba(6,8,14,.72);
}

@media (min-width: 960px){
  .qs-chat-app--threading .qs-thread-wrap{
    padding-top:104px;
  }

  .qs-thread-pill-wrap{
    width:min(420px, calc(100vw - 320px));
  }

  .qs-compose-dock--thread{
    width:min(1120px, calc(100vw - 40px));
  }

  .qs-gallery{
    grid-auto-columns:minmax(260px, 320px);
  }
}

@media (max-width: 640px){
  .qs-thread-pill-wrap{
    width:min(calc(100vw - 110px), 340px);
  }

  .qs-link-card{
    min-width:min(80vw, 320px);
  }

  .qs-gallery{
    grid-auto-columns:82%;
  }

  .qs-compose-input--thread{
    padding-left:114px;
  }
}



/* Phase 2.45: message readability rollback, compact quick actions, and stable bottom search */
.qs-message__meta--stable{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 8px;
  font-size:.76rem;
  color:var(--qs-soft-2);
}

.qs-message__body{
  display:flex;
  align-items:flex-end;
  gap:8px;
  max-width:min(82vw, 620px);
  justify-content:flex-start;
}

.qs-message.is-own{
  align-items:flex-end;
}

.qs-message.is-other{
  align-items:flex-start;
}

.qs-message.is-own .qs-message__body{
  flex-direction:row-reverse;
  justify-content:flex-start;
}

.qs-message.is-other .qs-message__body{
  flex-direction:row;
  justify-content:flex-start;
}

.qs-message__stack{
  display:grid;
  gap:6px;
}

.qs-bubble{
  min-width:0;
  max-width:min(calc(76vw - 40px), 560px);
  border:1px solid var(--qs-border);
  border-radius:24px;
  padding:14px 14px 10px;
  text-align:left;
  background:#fff;
  color:var(--qs-text);
  box-shadow:var(--qs-shadow-soft);
}

.qs-message.is-own .qs-bubble{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600));
  border-color:transparent;
  color:#fff;
  border-radius:24px;
}

.qs-message.is-other .qs-bubble{
  background:#fff;
  color:var(--qs-text);
  border-color:var(--qs-border);
  border-radius:24px;
}

.qs-bubble--link{
  min-width:min(82vw, 360px);
  overflow:hidden;
}

.qs-message.is-own .qs-bubble--link{
  background:#fff;
  color:var(--qs-text);
  border-color:var(--qs-border);
}

.qs-bubble--media{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.qs-bubble--media .qs-bubble__foot{
  padding:0 8px 10px;
}

.qs-bubble__media-wrap{
  overflow:hidden;
  border-radius:20px;
  background:var(--qs-bg-soft);
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

.qs-bubble__media,
.qs-gallery__image,
.qs-link-card__image,
.qs-media-library__image{
  display:block;
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

.qs-link-card{
  border-radius:22px;
  background:rgba(255,255,255,.98);
  box-shadow:none;
}

.qs-message--gallery .qs-message__body{
  max-width:min(82vw, 420px);
}

.qs-message--gallery .qs-gallery{
  width:min(82vw, 360px);
  grid-auto-columns:minmax(78%, 84%);
  gap:8px;
}

.qs-gallery{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  padding:0;
}

.qs-gallery__item{
  border-radius:20px;
  background:var(--qs-bg-soft);
  box-shadow:none;
}

.qs-gallery__count{
  right:10px;
  top:10px;
}

.qs-copy-pill{
  width:34px;
  min-width:34px;
  height:34px;
  border-radius:999px;
}

.qs-copy-pill__icon,
.qs-copy-pill__icon svg{
  width:16px;
  height:16px;
}

.qs-self-actions{
  right:16px;
  bottom:calc(var(--qs-safe-bottom) + 88px);
  z-index:18;
}

.qs-self-actions__tray{
  gap:6px;
  padding:8px;
  border-radius:20px;
}

.qs-self-action{
  width:42px;
  height:42px;
  border-radius:14px;
}

.qs-self-action__label{
  display:none;
}

.qs-self-action__icon,
.qs-self-action__icon svg{
  width:16px;
  height:16px;
}

.qs-shell-nav{
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  justify-content:center;
  width:min(1120px, calc(100vw - 32px));
  padding:0 0 calc(var(--qs-safe-bottom) + 12px);
}

.qs-shell-nav__rail{
  display:flex;
  align-items:center;
  gap:10px;
  flex-direction:row;
}

.qs-shell-nav__tray{
  justify-content:center;
}

.qs-shell-search-trigger{
  order:-1;
  width:52px;
  height:52px;
}

.qs-compose-dock--thread-outside-back{
  display:flex;
  align-items:flex-end;
  gap:10px;
}

.qs-compose-dock--thread-outside-back .qs-compose-shell{
  flex:1 1 auto;
}

.qs-thread-back--outside{
  position:relative;
  top:auto;
  left:auto;
  transform:none;
  flex:0 0 46px;
  width:46px;
  min-width:46px;
  height:46px;
  margin-bottom:8px;
  box-shadow:0 10px 20px rgba(124,77,255,.12);
}

.qs-compose-bar--thread-back-outside .qs-plus{
  left:8px;
}

.qs-compose-input--thread-compact{
  padding-left:62px;
}

.qs-compose-dock--thread-outside-back .qs-send{
  right:8px;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-message.is-other .qs-bubble{
  background:#161d2f;
  color:#eef1fb;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-message.is-own .qs-bubble--link,
body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card{
  background:#131929;
  color:#eef1fb;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card__description{
  color:#aab3ca;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card__url,
body.quickshare-app-body[data-qs-theme="dark"] .qs-message__meta--stable{
  color:#9aa7c5;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-back--outside,
body.quickshare-app-body[data-qs-theme="dark"] .qs-self-actions__tray{
  background:rgba(16,21,33,.94);
  border-color:rgba(77,88,112,.7);
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-self-action--copy{
  background:#161d2f;
  color:#eef1fb;
}

@media (min-width: 960px){
  .qs-shell-nav{
    left:50% !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
    justify-content:center !important;
    padding:0 0 calc(var(--qs-safe-bottom) + 12px) !important;
  }

  .qs-shell-nav__rail{
    flex-direction:row !important;
  }

  .qs-self-actions{
    right:max(20px, calc(50vw - 540px));
    left:auto;
    bottom:24px;
  }
}

@media (max-width: 640px){
  .qs-compose-dock--thread-outside-back{
    width:min(1120px, calc(100vw - 20px));
    gap:8px;
  }

  .qs-thread-back--outside{
    flex-basis:42px;
    width:42px;
    min-width:42px;
    height:42px;
  }

  .qs-compose-input--thread-compact{
    padding-left:58px;
  }

  .qs-message--gallery .qs-gallery{
    width:min(80vw, 320px);
    grid-auto-columns:84%;
  }
}


/* Phase 2.46 thread cleanup, stacked media, clipboard quick-send, and dark mode polish */
.qs-message{
  display:grid;
  gap:6px;
}

.qs-message__meta{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.75rem;
  line-height:1.2;
  color:var(--qs-soft-2);
}

.qs-message__meta--top{
  margin:0 10px;
}

.qs-message.is-own .qs-message__meta--top{
  justify-content:flex-end;
}

.qs-message__meta--bottom{
  margin:0 10px;
}

.qs-message.is-own .qs-message__meta--bottom{
  justify-content:flex-end;
}

.qs-message__device{
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--qs-purple-700);
}

.qs-message__time{
  opacity:.9;
}

.qs-message__body{
  align-items:flex-end;
  gap:10px;
}

.qs-bubble{
  max-width:min(calc(78vw - 36px), 560px);
  padding:14px 16px 12px;
  border-radius:22px;
  box-shadow:0 10px 22px rgba(37, 24, 71, .08);
}

.qs-message.is-own .qs-bubble{
  background:linear-gradient(135deg, var(--qs-purple-700), #5b34ff);
  color:#fff;
  border-color:transparent;
}

.qs-message.is-other .qs-bubble{
  background:#ffffff;
  color:#1f2340;
  border-color:rgba(215,199,255,.9);
}

.qs-bubble--tight{
  padding-bottom:14px;
}

.qs-bubble__text{
  font-size:1rem;
  line-height:1.5;
  letter-spacing:-.01em;
}

.qs-bubble__text.is-linklike{
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}

.qs-bubble__foot{
  margin-top:9px;
  font-size:.72rem;
  opacity:.72;
}

.qs-message.is-own .qs-bubble__foot{
  opacity:.84;
}

.qs-bubble--media{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.qs-bubble__media-wrap{
  overflow:hidden;
  border-radius:24px;
}

.qs-bubble__media{
  width:100%;
  max-height:340px;
  object-fit:cover;
  display:block;
}

.qs-copy-pill{
  width:38px;
  min-width:38px;
  height:38px;
  align-self:flex-end;
}

.qs-thread-back--phase246,
.qs-plus--thread,
.qs-send{
  display:flex;
  align-items:center;
  justify-content:center;
}

.qs-thread-back--phase246,
.qs-plus--thread,
.qs-send .qs-icon,
.qs-thread-back--phase246 .qs-icon,
.qs-plus--thread .qs-icon{
  transform:translateY(-.5px);
}

.qs-compose-dock--thread-outside-back{
  align-items:center;
  gap:8px;
}

.qs-thread-back--outside{
  margin-bottom:0;
  z-index:4;
  pointer-events:auto;
}

.qs-compose-shell--thread{
  min-height:0;
}

.qs-compose-bar--thread-back-outside{
  min-height:62px;
}

.qs-compose-bar--thread-back-outside .qs-plus,
.qs-compose-bar--thread-back-outside .qs-send{
  top:50%;
  transform:translateY(-50%);
}

.qs-plus--thread,
.qs-send,
.qs-thread-back--outside{
  width:44px;
  min-width:44px;
  height:44px;
}

.qs-send.is-clipboard-ready{
  background:linear-gradient(135deg, #2b1c72, var(--qs-purple-700));
  box-shadow:0 14px 24px rgba(66, 34, 196, .24);
}

.qs-gallery{
  display:block;
  overflow:visible;
}

.qs-gallery-stack{
  position:relative;
  width:min(74vw, 328px);
  aspect-ratio:1 / 1;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}

.qs-gallery-stack__layer{
  position:absolute;
  inset:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 16px 28px rgba(26, 18, 52, .14);
  background:#efeafd;
  display:block;
}

.qs-gallery-stack__layer img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-gallery-stack__layer--1{
  z-index:3;
  transform:translate(0, 0);
}

.qs-gallery-stack__layer--2{
  z-index:2;
  transform:translate(-10px, 10px) scale(.985);
  opacity:.98;
}

.qs-gallery-stack__layer--3{
  z-index:1;
  transform:translate(-20px, 20px) scale(.97);
  opacity:.94;
}

.qs-message.is-own .qs-gallery-stack__layer--2{
  transform:translate(10px, 10px) scale(.985);
}

.qs-message.is-own .qs-gallery-stack__layer--3{
  transform:translate(20px, 20px) scale(.97);
}

.qs-gallery-stack__count{
  position:absolute;
  right:12px;
  top:12px;
  z-index:4;
  min-width:34px;
  height:34px;
  padding:0 10px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(24,18,45,.68);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.qs-media-library{
  grid-template-rows:auto minmax(0,1fr);
  gap:16px;
  align-items:stretch;
}

.qs-media-library__stage{
  min-height:0;
  display:grid;
  place-items:center;
  padding:12px 0;
  overflow:hidden;
}

.qs-media-library__frame{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:0 44px;
}

.qs-media-library__image{
  max-width:min(100%, 980px);
  max-height:min(82vh, calc(100dvh - 170px));
  width:auto;
  height:auto;
  object-fit:contain;
  object-position:center center;
  border-radius:28px;
  box-shadow:0 22px 50px rgba(0,0,0,.32);
}

.qs-media-library__nav{
  z-index:2;
}

.qs-self-actions{
  right:14px;
}

.qs-self-actions__tray{
  gap:8px;
  padding:10px;
  border-radius:24px;
}

.qs-self-action{
  width:48px;
  height:48px;
}

.qs-self-action__icon,
.qs-self-action__icon svg{
  width:16px;
  height:16px;
}

body.quickshare-app-body[data-qs-theme="dark"]{
  background:#0d1220;
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-chat-app,
body.quickshare-app-body[data-qs-theme="dark"] .qs-sheet,
body.quickshare-app-body[data-qs-theme="dark"] .qs-compose-shell,
body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-nav__tray,
body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-search-trigger,
body.quickshare-app-body[data-qs-theme="dark"] .qs-topbar__panel,
body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-pill,
body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-floating-menu,
body.quickshare-app-body[data-qs-theme="dark"] .qs-contact-profile,
body.quickshare-app-body[data-qs-theme="dark"] .qs-profile-card{
  background:#12192a;
  color:#eef1fb;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-header-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-contact-row,
body.quickshare-app-body[data-qs-theme="dark"] .qs-conversation-row,
body.quickshare-app-body[data-qs-theme="dark"] .qs-search-result,
body.quickshare-app-body[data-qs-theme="dark"] .qs-input,
body.quickshare-app-body[data-qs-theme="dark"] .qs-textarea,
body.quickshare-app-body[data-qs-theme="dark"] .qs-compose-input{
  background:#131b2d;
  color:#eef1fb;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-compose-input::placeholder,
body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card__description,
body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card__url,
body.quickshare-app-body[data-qs-theme="dark"] .qs-message__meta{
  color:#9aa7c5;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-message.is-other .qs-bubble{
  background:#182134;
  color:#eef1fb;
  border-color:rgba(92,106,136,.8);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-message__device{
  color:#b9c6ff;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-bubble__media-wrap,
body.quickshare-app-body[data-qs-theme="dark"] .qs-gallery-stack__layer{
  background:#0f1524;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-copy-pill,
body.quickshare-app-body[data-qs-theme="dark"] .qs-thread-back--outside,
body.quickshare-app-body[data-qs-theme="dark"] .qs-plus--thread{
  background:#161d2f;
  color:#eef1fb;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-media-library{
  background:rgba(8,12,22,.88);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-self-actions__tray{
  background:#12192a;
  border-color:rgba(77,88,112,.72);
}

@media (max-width: 640px){
  .qs-gallery-stack{
    width:min(78vw, 308px);
  }

  .qs-gallery-stack__layer--2{
    transform:translate(-8px, 8px) scale(.986);
  }

  .qs-gallery-stack__layer--3{
    transform:translate(-16px, 16px) scale(.972);
  }

  .qs-message.is-own .qs-gallery-stack__layer--2{
    transform:translate(8px, 8px) scale(.986);
  }

  .qs-message.is-own .qs-gallery-stack__layer--3{
    transform:translate(16px, 16px) scale(.972);
  }

  .qs-self-actions{
    right:12px;
    bottom:calc(var(--qs-safe-bottom) + 88px);
  }
}



/* phase 2.47 clients workspace, profile scroll, inline gallery flip, and composer alignment */
.qs-sheet{
  max-height:min(92vh, calc(100dvh - 12px));
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.qs-shell-stage--contacts,
.qs-shell-stage--clients{
  padding-top:28px;
}

.qs-shell-stage--clients-workspace{
  padding-bottom:190px;
}

.qs-client-toolbar{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto 14px;
  display:grid;
  gap:10px;
}

.qs-client-toolbar__row{
  display:grid;
  gap:10px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  align-items:center;
}

.qs-shell-header-card--tight{
  margin-bottom:12px;
}

.qs-inline-note{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto 12px;
  color:var(--qs-soft);
  font-size:.9rem;
}

.qs-clients-list{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto;
  display:grid;
  gap:12px;
}

.qs-client-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border-radius:24px;
  border:1px solid var(--qs-border);
  background:var(--qs-panel);
  color:var(--qs-text);
  text-align:left;
  box-shadow:var(--qs-shadow-soft);
}

.qs-client-row__copy{
  min-width:0;
  display:grid;
  gap:4px;
}

.qs-client-row__copy strong,
.qs-client-row__copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-client-row__copy small,
.qs-client-card__head span,
.qs-team-member-option small,
.qs-client-file-row__meta,
.qs-hardware-card__notes{
  color:var(--qs-soft);
}

.qs-client-row__tail{
  white-space:nowrap;
  color:var(--qs-soft);
  font-size:.92rem;
}

.qs-client-card,
.qs-team-card{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto 14px;
  padding:16px;
  border-radius:24px;
  border:1px solid var(--qs-border);
  background:var(--qs-panel);
  box-shadow:var(--qs-shadow-soft);
}

.qs-client-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.qs-client-card__head > div{
  display:grid;
  gap:4px;
}

.qs-client-files{
  display:grid;
  gap:10px;
}

.qs-client-file-row{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:space-between;
  padding:12px 0;
  border-top:1px solid rgba(162,146,209,.18);
}

.qs-client-file-row:first-child{
  border-top:0;
  padding-top:0;
}

.qs-client-file-row--picture{
  align-items:flex-start;
}

.qs-client-picture-thumb{
  width:86px;
  height:86px;
  padding:0;
  overflow:hidden;
  border-radius:18px;
  border:0;
  background:#ece8fb;
  flex:0 0 86px;
}

.qs-client-picture-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-client-file-link{
  color:var(--qs-text);
  text-decoration:underline;
  text-underline-offset:3px;
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.qs-hardware-card{
  padding:14px 0;
  border-top:1px solid rgba(162,146,209,.18);
}

.qs-hardware-card:first-of-type{
  border-top:0;
  padding-top:0;
}

.qs-hardware-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.qs-hardware-card__lines{
  display:grid;
  gap:8px;
}

.qs-hardware-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(124,77,255,.06);
}

.qs-hardware-editor{
  margin-top:14px;
  display:grid;
  gap:10px;
}

.qs-hardware-editor__line{
  display:grid;
  gap:10px;
  grid-template-columns:minmax(0,1fr) 96px;
}

.qs-hardware-editor__top label{
  display:grid;
  gap:6px;
}

.qs-input--textarea{
  min-height:92px;
  resize:vertical;
  padding:14px 16px;
  border-radius:18px;
}

.qs-team-members{
  display:grid;
  gap:10px;
}

.qs-team-member-option{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 10px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid rgba(162,146,209,.18);
}

.qs-team-member-option:first-child{
  border-top:0;
  padding-top:0;
}

.qs-team-member-option input{
  grid-row:1 / span 2;
}

.qs-compose-dock--thread-outside-back{
  align-items:center;
}

.qs-thread-back--outside,
.qs-plus--thread,
.qs-send{
  align-self:center;
}

.qs-thread-back--outside{
  margin-bottom:0;
}

.qs-compose-bar--thread-back-outside .qs-plus,
.qs-compose-dock--thread-outside-back .qs-send{
  top:50%;
  transform:translateY(-50%);
}

.qs-gallery-flip{
  width:min(76vw, 334px);
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;
  gap:6px;
}

.qs-gallery-flip__stack{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}

.qs-gallery-flip__layer{
  position:absolute;
  inset:0;
  border-radius:28px;
  overflow:hidden;
  background:#efeafd;
  box-shadow:0 16px 28px rgba(26,18,52,.14);
}

.qs-gallery-flip__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.qs-gallery-flip__layer--1{
  z-index:3;
  transform:translate(0,0);
}

.qs-gallery-flip__layer--2{
  z-index:2;
  transform:translate(10px,10px) scale(.985);
  opacity:.98;
}

.qs-gallery-flip__layer--3{
  z-index:1;
  transform:translate(20px,20px) scale(.97);
  opacity:.94;
}

.qs-message.is-other .qs-gallery-flip__layer--2{
  transform:translate(-10px,10px) scale(.985);
}

.qs-message.is-other .qs-gallery-flip__layer--3{
  transform:translate(-20px,20px) scale(.97);
}

.qs-gallery-flip__nav{
  width:40px;
  height:40px;
  min-width:40px;
  border-radius:999px;
  border:1px solid rgba(215,199,255,.9);
  background:rgba(255,255,255,.96);
  color:var(--qs-text);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 20px rgba(124,77,255,.12);
}

.qs-gallery-flip__nav--next{
  transform:scaleX(-1);
}

.qs-gallery-flip__count{
  position:absolute;
  right:12px;
  top:12px;
  z-index:4;
  min-width:44px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(24,18,45,.68);
  color:#fff;
  font-size:.82rem;
  font-weight:800;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.qs-gallery-flip__dots{
  display:flex;
  justify-content:center;
  gap:6px;
  margin-top:10px;
}

.qs-gallery-flip__dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(150,138,196,.42);
}

.qs-gallery-flip__dot.is-active{
  background:var(--qs-primary);
}

.qs-media-library__frame{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 48px;
}

.qs-media-library__image{
  max-height:min(86vh, calc(100dvh - 146px));
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-client-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-team-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-client-row{
  background:#12192a;
  color:#eef1fb;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-hardware-line{
  background:rgba(124,77,255,.16);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-gallery-flip__nav{
  background:rgba(18,25,42,.94);
  border-color:rgba(77,88,112,.72);
  color:#eef1fb;
}

@media (max-width: 720px){
  .qs-client-toolbar__row{
    grid-template-columns:1fr;
  }

  .qs-hardware-editor__line{
    grid-template-columns:1fr;
  }

  .qs-gallery-flip{
    width:min(82vw, 320px);
    grid-template-columns:34px minmax(0,1fr) 34px;
  }

  .qs-gallery-flip__nav{
    width:34px;
    height:34px;
    min-width:34px;
  }
}


/* phase 2.48 interface polish overrides */
.qs-chat-app--overview .qs-shell-stage--contacts,
.qs-chat-app--overview .qs-shell-stage--clients,
.qs-shell-stage--contacts,
.qs-shell-stage--clients{
  padding-top:8px !important;
}

.qs-sheet{
  display:flex;
  flex-direction:column;
}

.qs-sheet--profile{
  max-height:min(92vh, calc(100dvh - 12px));
}

.qs-sheet__body--profile{
  flex:1 1 auto;
  overflow:auto;
  display:grid;
  gap:14px;
  padding-right:2px;
}

.qs-sheet__footer--sticky{
  position:sticky;
  bottom:0;
  padding-top:14px;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.94) 26%, rgba(255,255,255,1) 100%);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-sheet__footer--sticky{
  background:linear-gradient(180deg, rgba(14,18,30,0), rgba(14,18,30,.94) 26%, rgba(14,18,30,1) 100%);
}

.qs-client-create-card,
.qs-segmented-toggle--clients,
.qs-inline-note,
.qs-clients-list{
  width:min(1120px, calc(100vw - 32px));
  margin-left:auto;
  margin-right:auto;
}

.qs-client-create-card{
  margin-bottom:14px;
  padding:14px;
  border:1px solid var(--qs-border);
  border-radius:22px;
  background:var(--qs-bg-soft);
  display:grid;
  gap:12px;
}

.qs-client-create-card__head,
.qs-client-create-card__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.qs-client-create-card__grid{
  display:grid;
  gap:10px;
}

.qs-segmented-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:4px auto 14px;
  padding:5px;
  border:1px solid rgba(215,199,255,.84);
  border-radius:999px;
  background:rgba(255,255,255,.92);
}

.qs-segmented-toggle__option{
  min-width:72px;
  height:34px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--qs-soft);
  font-weight:800;
}

.qs-segmented-toggle__option.is-active{
  background:var(--qs-text);
  color:#fff;
}

.qs-message__body{
  position:relative;
  align-items:flex-end;
}

.qs-bubble{
  min-width:0;
  max-width:min(76vw, 420px);
  padding:10px 14px;
  border-radius:22px;
}

.qs-bubble__text{
  line-height:1.36;
}

.qs-bubble__text--compact{
  padding:2px 2px 4px;
}

.qs-message.is-other .qs-bubble{
  border-radius:20px 20px 20px 10px;
}

.qs-message.is-own .qs-bubble{
  border-radius:20px 20px 10px 20px;
}

.qs-bubble--link,
.qs-bubble--emoji,
.qs-message--gallery .qs-message__body{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

.qs-link-stack{
  display:grid;
  gap:8px;
}

.qs-inline-url{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  word-break:break-word;
}

.qs-link-card{
  min-width:min(76vw, 340px);
  border:1px solid rgba(214, 207, 234, .76);
  border-radius:24px;
  overflow:hidden;
  background:rgba(255,255,255,.98);
  box-shadow:0 10px 20px rgba(22,22,34,.06);
}

.qs-link-card__copy{
  padding:14px 16px 15px;
}

.qs-bubble--emoji{
  min-width:0;
}

.qs-bubble__emoji{
  font-size:2rem;
  line-height:1.08;
  padding:2px 0;
}

.qs-copy-pill{
  position:absolute;
  bottom:-8px;
  right:-8px;
  z-index:2;
  width:34px;
  min-width:34px;
  height:34px;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(22,22,34,.12);
}

.qs-message.is-other .qs-copy-pill{
  right:auto;
  left:-8px;
}

.qs-bubble--media + .qs-copy-pill,
.qs-bubble--link + .qs-copy-pill{
  bottom:6px;
}

.qs-gallery-flip{
  --qs-gallery-drag-x:0px;
  transform:translateX(calc(var(--qs-gallery-drag-x) * .35));
  transition:transform .22s ease;
}

.qs-gallery-flip__stack{
  width:min(82vw, 320px);
  min-height:220px;
  padding:0;
  border:0;
  background:transparent;
  position:relative;
  touch-action:pan-y;
}

.qs-gallery-flip__layer{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:28px;
  background:var(--qs-bg-soft);
  box-shadow:0 16px 34px rgba(16,18,28,.12);
  transform-origin:center center;
  transition:transform .24s ease, opacity .24s ease;
}

.qs-gallery-flip__layer--1{ transform:translate3d(0,0,0) scale(1); z-index:3; }
.qs-gallery-flip__layer--2{ transform:translate3d(0,12px,0) scale(.96); opacity:.92; z-index:2; }
.qs-gallery-flip__layer--3{ transform:translate3d(0,22px,0) scale(.92); opacity:.78; z-index:1; }

.qs-gallery-flip__image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-gallery-flip__count{
  position:absolute;
  right:12px;
  top:12px;
  z-index:4;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(18,22,34,.62);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.qs-media-library__stage{
  --qs-media-drag-x:0px;
  touch-action:pan-y;
}

.qs-media-library__frame{
  transform:translateX(calc(var(--qs-media-drag-x) * .38));
  transition:transform .24s ease;
}

.qs-media-library__image{
  object-fit:contain;
}

.qs-compose-input.is-tap-guarded{
  pointer-events:none;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-client-create-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-segmented-toggle,
body.quickshare-app-body[data-qs-theme="dark"] .qs-link-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-copy-pill{
  background:var(--qs-panel);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-segmented-toggle{
  border-color:rgba(77,88,112,.7);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-segmented-toggle__option.is-active{
  background:#f4f6fb;
  color:#101521;
}

@media (min-width: 960px){
  .qs-chat-app--overview .qs-shell-stage--contacts,
  .qs-chat-app--overview .qs-shell-stage--clients,
  .qs-shell-stage--contacts,
  .qs-shell-stage--clients{
    padding-top:12px !important;
  }

  .qs-client-create-card__grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
}


/* phase 2.49 thread timestamps, client-add stability, and darker own bubbles */
.qs-header-action-button{
  min-width:64px;
  min-height:36px;
  padding:0 14px;
  border:1px solid rgba(215,199,255,.88);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:var(--qs-purple-700);
  font-size:.88rem;
  font-weight:800;
  line-height:1;
  box-shadow:var(--qs-shadow-soft);
}

.qs-header-action-button:disabled{
  opacity:.5;
  box-shadow:none;
}

.qs-message.is-own .qs-bubble{
  background:#15171c !important;
  border-color:transparent !important;
  color:#fff;
}

.qs-message.is-own .qs-bubble.is-sensitive{
  background:#1d2026 !important;
}

.qs-message__body{
  padding-bottom:10px;
}

.qs-copy-pill{
  bottom:0;
  left:auto;
  right:8px;
  width:30px;
  min-width:30px;
  height:30px;
  opacity:.96;
  box-shadow:0 8px 16px rgba(17,20,28,.12);
}

.qs-message.is-own .qs-copy-pill{
  left:8px;
  right:auto;
}

.qs-message.is-other .qs-copy-pill{
  right:8px;
  left:auto;
}

.qs-thread[data-qs-timestamp-swipe="1"]{
  --qs-time-reveal:0;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message{
  position:relative;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__meta--top,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__body{
  transform:translateX(calc(var(--qs-time-reveal) * -72px));
  transition:transform .18s ease;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__meta--bottom{
  position:absolute;
  top:50%;
  right:0;
  width:66px;
  padding:0 4px 0 0;
  transform:translateY(-50%);
  justify-content:flex-end !important;
  opacity:var(--qs-time-reveal);
  pointer-events:none;
  transition:opacity .18s ease;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__meta--bottom .qs-message__meta-right{
  width:100%;
  justify-content:flex-end;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__time{
  display:block;
  width:100%;
  text-align:right;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__status{
  display:none;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-header-action-button{
  background:#171c28;
  border-color:rgba(77,88,112,.72);
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-message.is-own .qs-bubble{
  background:#0f1218 !important;
}


/* phase 2.50 conversation strip, integrated search nav, subtle copy icon, and outgoing purple reset */
.qs-message.is-own .qs-bubble{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600)) !important;
  border-color:transparent !important;
  color:#fff;
}

.qs-message.is-own .qs-bubble.is-sensitive{
  background:linear-gradient(135deg, #5e38d9, var(--qs-purple-700)) !important;
}

.qs-message__body{
  padding-bottom:8px;
}

.qs-copy-pill{
  width:20px;
  min-width:20px;
  height:20px;
}

.qs-copy-pill--bare{
  padding:0;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  opacity:.8;
}

.qs-copy-pill--bare:hover,
.qs-copy-pill--bare:focus-visible{
  opacity:1;
  transform:none;
}

.qs-copy-pill--outside{
  bottom:-2px;
}

.qs-message.is-own .qs-copy-pill--outside,
.qs-copy-pill--own{
  left:auto;
  right:-12px;
}

.qs-message.is-other .qs-copy-pill--outside,
.qs-copy-pill--other{
  right:auto;
  left:-12px;
}

.qs-copy-pill__icon,
.qs-copy-pill__icon svg{
  width:17px;
  height:17px;
}

.qs-bubble--link + .qs-copy-pill--outside,
.qs-bubble--media + .qs-copy-pill--outside{
  bottom:4px;
}

.qs-message__delivery{
  display:flex;
  margin-top:-1px;
  padding:0 2px;
}

.qs-message.is-own .qs-message__delivery{
  justify-content:flex-end;
}

.qs-message.is-other .qs-message__delivery{
  justify-content:flex-start;
}

.qs-message__delivery .qs-message__status{
  display:inline-flex;
  align-items:center;
  min-height:16px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--qs-soft);
}

.qs-message__delivery .qs-message__status.is-read{
  color:#d92f5d;
}

.qs-message__delivery .qs-message__status.is-failed{
  color:#c53d3d;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__delivery{
  transform:translateX(calc(var(--qs-time-reveal) * -72px));
  transition:transform .18s ease;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__meta--bottom .qs-message__status,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__meta--bottom .qs-message__status{ display:none; }

.qs-shell-nav__rail{
  width:100%;
  justify-content:center;
}

.qs-shell-nav__tray--integrated{
  width:min(420px, calc(100vw - 34px));
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:6px;
  justify-content:stretch;
}

.qs-shell-tab--search{
  order:0;
}

.qs-shell-search-trigger{
  width:auto;
  height:auto;
}

.qs-chat-app--overview .qs-shell-stage--conversations .qs-conversations-view{
  padding-bottom:154px;
}

.qs-conversations-shell--with-stash{
  gap:14px;
}

.qs-stash-strip{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto 6px;
  padding:14px 16px;
  border:1px solid rgba(215,199,255,.78);
  border-radius:24px;
  background:linear-gradient(135deg, #fff, var(--qs-purple-050));
  box-shadow:0 16px 28px rgba(124,77,255,.08);
}

.qs-stash-strip__preview{
  display:grid;
  gap:4px;
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  text-align:left;
}

.qs-stash-strip__eyebrow{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--qs-purple-700);
}

.qs-stash-strip__title{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.97rem;
  line-height:1.25;
  color:var(--qs-text);
}

.qs-stash-strip__actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.qs-stash-strip__action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(215,199,255,.84);
  border-radius:14px;
  background:rgba(255,255,255,.94);
  color:var(--qs-purple-700);
  box-shadow:var(--qs-shadow-soft);
}

.qs-stash-strip__action.is-confirmed{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600));
  color:#fff;
}

.qs-stash-strip__icon,
.qs-stash-strip__icon svg{
  width:16px;
  height:16px;
}

.qs-conversation-list--after-stash{
  padding-top:4px;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-message.is-own .qs-bubble{
  background:linear-gradient(135deg, #6041e6, var(--qs-purple-700)) !important;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-stash-strip,
body.quickshare-app-body[data-qs-theme="dark"] .qs-shell-nav__tray--integrated{
  background:#12192a;
  border-color:rgba(77,88,112,.72);
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-stash-strip{
  background:linear-gradient(135deg, #12192a, #182138);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-stash-strip__title{
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-stash-strip__action{
  background:#161d2f;
  border-color:rgba(77,88,112,.72);
  color:#eef1fb;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-copy-pill--bare{
  color:#cfd8f2;
}

@media (max-width: 640px){
  .qs-shell-nav__tray--integrated{
    width:min(360px, calc(100vw - 28px));
    gap:4px;
  }

  .qs-stash-strip{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .qs-stash-strip__actions{
    justify-content:flex-start;
  }
}


/* phase 2.51 gallery gesture isolation, client-job tabs, schedule invites, and hardware qty-first layout */
.qs-gallery-flip{
  transform:none !important;
}

.qs-gallery-flip__layer--1{
  transform:translate3d(var(--qs-gallery-drag-x, 0px), 0, 0) rotate(var(--qs-gallery-drag-rotate, 0deg)) scale(1);
  transition:transform .22s ease, opacity .22s ease;
}

.qs-gallery-flip__layer--2{
  transform:translate3d(0,12px,0) scale(.96);
}

.qs-gallery-flip__layer--3{
  transform:translate3d(0,22px,0) scale(.92);
}

.qs-job-tabs{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto 14px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
}

.qs-job-tabs__tab{
  min-height:40px;
  padding:0 12px;
  border:1px solid rgba(215,199,255,.86);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--qs-soft);
  font-weight:800;
}

.qs-job-tabs__tab.is-active{
  background:linear-gradient(135deg, var(--qs-purple-700), var(--qs-purple-600));
  color:#fff;
  border-color:transparent;
}

.qs-client-card--job-summary,
.qs-client-card--schedule,
.qs-client-card--schedule-confirm,
.qs-client-card--panel{
  margin-bottom:14px;
}

.qs-job-summary__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.qs-job-summary__copy{
  display:grid;
  gap:4px;
}

.qs-job-summary__copy span{
  color:var(--qs-soft);
}

.qs-job-schedule-editor{
  display:grid;
  gap:12px;
}

.qs-job-schedule-editor__field{
  display:grid;
  gap:6px;
}

.qs-job-schedule-editor__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}

.qs-team-members--invite{
  margin-top:6px;
}

.qs-job-panel-shell{
  width:min(1120px, calc(100vw - 32px));
  margin:0 auto;
}

.qs-hardware-line{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  align-items:center;
}

.qs-hardware-line strong{
  order:0;
}

.qs-hardware-line span{
  order:1;
}

.qs-hardware-editor__line--qty-first{
  grid-template-columns:96px minmax(0,1fr);
}

.qs-hardware-editor__qty{
  text-align:center;
}

@media (max-width: 640px){
  .qs-job-tabs{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .qs-hardware-line{
    grid-template-columns:72px minmax(0,1fr);
  }

  .qs-hardware-editor__line--qty-first{
    grid-template-columns:88px minmax(0,1fr);
  }
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-job-tabs__tab{
  background:#171e2d;
  color:#c8d2ea;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-job-tabs__tab.is-active{
  background:linear-gradient(135deg, #5d40df, var(--qs-purple-700));
  color:#fff;
}


/* phase 2.53 minimal search sheets and compact client-job workspace */
.qs-search-sheet--minimal{
  padding-top:10px;
}

.qs-search-sheet--minimal .qs-sheet__grab{
  margin-bottom:10px;
}

.qs-conversation-search--minimal{
  display:grid;
  gap:12px;
}

.qs-conversation-search--minimal .qs-conversation-search__field{
  margin:0;
}

.qs-conversation-search--minimal .qs-conversation-search__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
}

.qs-conversation-search--minimal .qs-input--search{
  min-height:48px;
  padding-block:12px;
}

.qs-conversation-search--minimal .qs-conversation-search__results,
.qs-conversation-search__results--clients{
  max-height:min(68vh, calc(100dvh - 180px));
  overflow:auto;
  padding-right:2px;
}

.qs-shell-stage--clients-workspace{
  gap:10px;
}

.qs-shell-stage--clients-workspace .qs-shell-header-card--tight{
  margin-bottom:8px;
}

.qs-client-card,
.qs-client-card--panel,
.qs-client-card--job-summary,
.qs-client-card--schedule,
.qs-client-card--schedule-confirm{
  border-radius:18px;
  padding:12px 14px;
}

.qs-client-card__head{
  margin-bottom:10px;
}

.qs-client-card__head > div{
  display:grid;
  gap:2px;
}

.qs-client-card__head strong{
  font-size:.95rem;
}

.qs-client-card__head span{
  font-size:.76rem;
}

.qs-job-summary__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.qs-job-summary__copy{
  display:grid;
  gap:2px;
}

.qs-job-summary__copy strong{
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--qs-soft);
}

.qs-job-summary__copy span{
  font-size:.98rem;
  font-weight:700;
  color:var(--qs-text);
}

.qs-job-tabs{
  position:sticky;
  top:calc(env(safe-area-inset-top) + 8px);
  z-index:3;
  display:flex;
  gap:8px;
  overflow:auto;
  padding:2px 0 4px;
  margin-bottom:2px;
  scrollbar-width:none;
}

.qs-job-tabs::-webkit-scrollbar{
  display:none;
}

.qs-job-tabs__tab{
  flex:0 0 auto;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(215,199,255,.82);
  background:rgba(255,255,255,.94);
  color:var(--qs-soft);
  font-size:.84rem;
  font-weight:800;
  white-space:nowrap;
}

.qs-job-tabs__tab.is-active{
  background:var(--qs-text);
  color:#fff;
  border-color:transparent;
}

.qs-job-panel-shell{
  display:grid;
  gap:10px;
}

.qs-job-schedule-editor{
  display:grid;
  gap:10px;
}

.qs-job-schedule-editor__field{
  display:grid;
  gap:6px;
}

.qs-job-schedule-editor__field span{
  font-size:.76rem;
  font-weight:800;
  color:var(--qs-soft);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.qs-job-schedule-editor__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.qs-team-members--invite{
  max-height:220px;
  overflow:auto;
}

.qs-team-member-option--invite{
  padding:10px 12px;
  border-radius:14px;
}

.qs-client-files{
  display:grid;
  gap:8px;
}

.qs-client-file-row{
  padding:10px 12px;
  border-radius:14px;
}

.qs-client-file-row__meta{
  font-size:.74rem;
}

.qs-client-picture-thumb img{
  border-radius:14px;
}

.qs-hardware-card{
  border-radius:16px;
  padding:12px;
}

.qs-hardware-card__head{
  margin-bottom:8px;
}

.qs-hardware-card__lines{
  gap:6px;
}

.qs-hardware-line{
  grid-template-columns:64px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:12px;
}

.qs-hardware-line strong{
  justify-self:start;
  min-width:0;
}

.qs-hardware-line span{
  min-width:0;
}

.qs-hardware-editor{
  display:grid;
  gap:10px;
  margin-top:10px;
}

.qs-hardware-editor__lines{
  display:grid;
  gap:8px;
}

.qs-hardware-editor__line--qty-first{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:8px;
  align-items:center;
}

.qs-hardware-editor__qty{
  text-align:center;
}

.qs-client-toolbar--stack{
  gap:8px;
}

.qs-client-toolbar--stack .qs-inline-link--tight{
  justify-self:flex-start;
}

.qs-client-card .qs-inline-note{
  width:100%;
  margin:0;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-job-tabs__tab{
  background:#161d2f;
  border-color:rgba(77,88,112,.72);
  color:#cfd8f2;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-job-tabs__tab.is-active{
  background:#eef1fb;
  color:#101521;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-team-member-option--invite,
body.quickshare-app-body[data-qs-theme="dark"] .qs-client-file-row,
body.quickshare-app-body[data-qs-theme="dark"] .qs-hardware-card,
body.quickshare-app-body[data-qs-theme="dark"] .qs-hardware-line{
  background:#161d2f;
  border-color:rgba(77,88,112,.72);
}

@media (max-width: 640px){
  .qs-hardware-editor__line--qty-first{
    grid-template-columns:72px minmax(0,1fr);
  }

  .qs-client-card,
  .qs-client-card--panel,
  .qs-client-card--job-summary,
  .qs-client-card--schedule,
  .qs-client-card--schedule-confirm{
    padding:11px 12px;
    border-radius:16px;
  }

  .qs-job-summary__head{
    align-items:flex-start;
  }
}


.qs-push-card{
  display:grid;
  gap:10px;
  padding:14px 15px;
  border-radius:18px;
  border:1px solid rgba(117,130,160,.18);
  background:rgba(245,247,252,.92);
}

.qs-push-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.qs-push-card__copy{
  display:grid;
  gap:4px;
}

.qs-push-card__copy span{
  font-size:.8rem;
  color:#667085;
}

.qs-push-card__meta{
  font-size:.78rem;
  color:#667085;
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-push-card{
  background:#161d2f;
  border-color:rgba(77,88,112,.72);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-push-card__copy span,
body.quickshare-app-body[data-qs-theme="dark"] .qs-push-card__meta{
  color:#9eabc9;
}



/* QuickShare 0.2.54.5 media send polish */
.qs-compose-file{
  display:none !important;
}

.qs-compose-preview--floating{
  position:absolute;
  left:12px;
  right:12px;
  bottom:calc(100% + 10px);
  z-index:7;
  pointer-events:auto;
}

.qs-compose-preview--floating .qs-compose-preview__frame{
  grid-template-columns:72px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}

.qs-compose-preview__cancel{
  width:32px;
  height:32px;
  border:0;
  border-radius:999px;
  background:rgba(36,26,70,.08);
  color:var(--qs-text);
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}

.qs-compose-preview__stack{
  position:relative;
  width:72px;
  height:72px;
}

.qs-compose-preview__stack-card{
  position:absolute;
  inset:0;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 16px rgba(36,26,70,.12);
  background:#f7f4ff;
}

.qs-compose-preview__stack-card--back{
  transform:translate(-10px, 10px) scale(.94);
  opacity:.68;
}

.qs-compose-preview__stack-card--mid{
  transform:translate(-5px, 5px) scale(.97);
  opacity:.82;
}

.qs-compose-preview__stack-card--front{
  transform:translate(0, 0) scale(1);
}

.qs-compose-preview__count{
  position:absolute;
  right:-6px;
  top:-6px;
  min-width:26px;
  height:26px;
  padding:0 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(23,18,40,.72);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  box-shadow:0 8px 18px rgba(36,26,70,.18);
}

.qs-message__meta--bottom-inline{
  width:100%;
  padding-inline:0;
  justify-content:space-between;
}

.qs-message__meta--bottom-inline .qs-message__meta-left,
.qs-message__meta--bottom-inline .qs-message__meta-right{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.qs-message__meta--bottom-inline .qs-message__meta-right{
  justify-content:flex-end;
}

.qs-message__size{
  color:var(--qs-soft);
  white-space:nowrap;
  font-size:.72rem;
}

.qs-message--media-single .qs-message__stack,
.qs-message--gallery .qs-message__stack{
  width:min(80vw, 340px);
  gap:8px;
}

.qs-bubble--media-plain{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:28px !important;
}

.qs-bubble--media-plain .qs-bubble__media-wrap{
  display:block;
  overflow:hidden;
  border-radius:28px;
  background:transparent;
}

.qs-bubble--media-plain .qs-bubble__media{
  display:block;
  width:100%;
  height:auto;
  max-height:min(62vh, 460px);
  object-fit:cover;
}

.qs-gallery--deck{
  position:relative;
  display:block;
  width:min(80vw, 340px);
  aspect-ratio:1 / 1;
  overflow:visible;
  padding:0;
}

.qs-gallery__item--deck{
  position:absolute;
  inset:0;
  min-height:0;
  transform:translate(var(--qs-stack-x, 0), var(--qs-stack-y, 0));
  border-radius:28px;
  overflow:hidden;
  background:transparent;
  box-shadow:0 14px 28px rgba(36,26,70,.12);
}

.qs-gallery--deck .qs-gallery__image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.qs-message.is-own .qs-message__meta--bottom-inline{
  text-align:right;
}

.qs-message.is-own .qs-message__meta--bottom-inline .qs-message__meta-left{
  justify-content:flex-end;
}

.qs-message.is-other .qs-message__meta--bottom-inline .qs-message__meta-left{
  justify-content:flex-start;
}



/* QuickShare 0.2.54.7 troubleshooting follow-up */
.qs-upload-spinner{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
  min-height:16px;
  margin-top:6px;
  padding-right:2px;
}

.qs-upload-spinner__dot{
  width:6px;
  height:6px;
  border-radius:999px;
  background:currentColor;
  opacity:.28;
  animation:qs-upload-dot 1.05s ease-in-out infinite;
}

.qs-upload-spinner__dot:nth-child(2){
  animation-delay:.16s;
}

.qs-upload-spinner__dot:nth-child(3){
  animation-delay:.32s;
}

@keyframes qs-upload-dot{
  0%, 80%, 100%{
    opacity:.24;
    transform:scale(.72);
  }
  40%{
    opacity:.88;
    transform:scale(1);
  }
}

.qs-gallery-flip--thread{
  width:min(80vw, 340px);
  grid-template-columns:minmax(0,1fr);
  gap:0;
}

.qs-gallery-flip--thread .qs-gallery-flip__stack{
  width:100%;
}

.qs-gallery-flip--thread .qs-gallery-flip__layer{
  border-radius:28px;
}

.qs-gallery-flip__count--soft{
  background:rgba(23,18,40,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  min-width:auto;
  height:28px;
  padding:0 10px;
  font-size:.74rem;
  font-weight:700;
}

.qs-message--media-single .qs-message__meta--bottom-inline,
.qs-message--gallery .qs-message__meta--bottom-inline{
  margin-top:2px;
}

.qs-message--media-single .qs-message__meta--bottom-inline .qs-message__meta-left,
.qs-message--gallery .qs-message__meta--bottom-inline .qs-message__meta-left{
  display:none;
}

.qs-message--media-single .qs-message__meta--bottom-inline .qs-message__meta-right,
.qs-message--gallery .qs-message__meta--bottom-inline .qs-message__meta-right{
  width:100%;
}

.qs-message--media-single .qs-message__status,
.qs-message--gallery .qs-message__status{
  background:transparent;
  padding:0;
  min-height:0;
  border-radius:0;
  color:var(--qs-soft);
  font-size:.74rem;
  font-weight:700;
}

.qs-message--gallery .qs-message__stack{
  width:min(80vw, 340px);
}


/* QuickShare 0.2.54.10 make inline sent/read labels visible during timestamp swipe */
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__meta--bottom-inline .qs-message__status{
  display:inline-flex;
}


/* QuickShare 0.2.54.10 cleanup-first delivery row + singleton picker safety */
.qs-message__delivery{
  min-height:16px;
}

.qs-message__delivery .qs-message__status.is-pending{
  color:var(--qs-soft);
  opacity:.78;
}

.qs-message__delivery .qs-message__status.is-delivered,
.qs-message__delivery .qs-message__status.is-sent{
  color:var(--qs-soft);
}

.qs-message__meta--bottom-inline{
  min-height:16px;
}

.qs-message__meta--bottom-inline .qs-message__meta-left:empty{
  display:none;
}

.qs-message--media-single .qs-message__delivery,
.qs-message--gallery .qs-message__delivery{
  padding-inline:2px;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__delivery{
  will-change:transform;
}


/* Phase 2.54.11: drawer metadata + direct chat cleanup */
.qs-message__body{
  width:100%;
  justify-content:flex-end;
}
.qs-message.is-other .qs-message__body{
  justify-content:flex-start;
}
.qs-message__stack{
  flex:0 1 auto;
}
.qs-message__drawer{
  flex:0 0 84px;
  min-width:84px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  gap:2px;
  padding:0 2px 2px;
  color:rgba(88,84,110,.62);
  font-size:.68rem;
  line-height:1.2;
  white-space:nowrap;
  opacity:0;
  transform:translateX(12px);
  pointer-events:none;
}
.qs-message__drawer-time,
.qs-message__drawer-size{
  display:block;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.qs-message__drawer-size{
  color:rgba(88,84,110,.52);
}
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer{
  opacity:calc(var(--qs-time-reveal, 0));
  transform:translateX(calc((1 - var(--qs-time-reveal, 0)) * 12px));
  transition:opacity .16s ease, transform .16s ease;
}
.qs-thread .qs-message__meta--bottom-inline,
.qs-thread .qs-message__meta--bottom{
  display:none !important;
}
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__delivery{
  transform:none !important;
}
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__delivery .qs-message__status{
  display:inline-flex !important;
}
.qs-copy-pill{
  display:none !important;
}
.qs-message--media-single .qs-message__body,
.qs-message--gallery .qs-message__body{
  align-items:flex-end;
}
.qs-message--media-single .qs-message__stack,
.qs-message--gallery .qs-message__stack{
  width:min(80vw, 340px);
}
.qs-bubble--media-plain{
  display:block;
}
.qs-bubble--media-plain .qs-bubble__foot{
  display:none !important;
}
.qs-message--gallery .qs-gallery-flip__stack{
  border:0;
  background:transparent;
  padding:0;
}
.qs-message__delivery{
  min-height:16px;
}
.qs-message__delivery:empty{
  display:none;
}


/* Phase 2.54.11b: drawer positioning without content shift */
.qs-message__body{
  position:relative;
}
.qs-message__drawer{
  position:absolute;
  right:0;
  bottom:0;
  width:84px;
}
.qs-message__stack{
  max-width:min(calc(100vw - 104px), 560px);
}
.qs-message--media-single .qs-message__stack,
.qs-message--gallery .qs-message__stack{
  max-width:min(80vw, 340px);
}


/* Phase 2.54.16: drawer-only gutter alignment from 2.54.15 baseline */
.qs-thread{
  padding-right:12px;
}

.qs-message__body{
  position:relative;
  display:flex;
  align-items:flex-end;
  gap:8px;
  width:100%;
  max-width:100%;
  min-width:0;
}

.qs-message.is-own .qs-message__body{
  flex-direction:row;
}

.qs-message__stack{
  min-width:0;
  max-width:min(calc(100vw - 120px), 560px);
}

.qs-message.is-own .qs-message__stack{
  margin-left:auto;
}

.qs-message.is-other .qs-message__stack{
  margin-right:auto;
}

.qs-message__drawer{
  position:relative;
  right:auto;
  bottom:auto;
  flex:0 0 84px;
  width:84px;
  min-width:84px;
  margin-left:auto;
  padding:0 2px 2px;
}

.qs-message--media-single .qs-message__stack,
.qs-message--gallery .qs-message__stack{
  width:min(calc(100vw - 120px), 340px);
  max-width:min(calc(100vw - 120px), 340px);
}


/* Phase 2.54.17: keep drawer static on right gutter while only message content slides */
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__body{
  transform:none !important;
  position:relative;
  display:block;
  padding-right:84px;
  min-width:0;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__stack{
  position:relative;
  min-width:0;
  max-width:min(calc(100vw - 124px), 560px);
  transform:translateX(calc(var(--qs-time-reveal, 0) * -72px));
  transition:transform .18s ease;
  will-change:transform;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message.is-own .qs-message__stack{
  margin-left:auto;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message.is-other .qs-message__stack{
  margin-right:auto;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer{
  position:absolute;
  right:0;
  bottom:0;
  width:72px;
  min-width:72px;
  margin:0;
  padding:0 2px 2px 0;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--media-single .qs-message__stack,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--gallery .qs-message__stack{
  width:min(calc(100vw - 124px), 340px);
  max-width:min(calc(100vw - 124px), 340px);
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer-time,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer-size{
  width:100%;
  text-align:right;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__delivery{
  transform:none !important;
}


/* Phase 2.54.18: outgoing lane alignment against static right gutter */
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__body{
  transform:none !important;
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 72px;
  column-gap:8px;
  align-items:end;
  width:100%;
  max-width:100%;
  min-width:0;
  padding-right:0;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__stack{
  grid-column:1;
  justify-self:start;
  min-width:0;
  width:auto;
  max-width:min(calc(100vw - 112px), 560px);
  margin:0;
  transform:translateX(calc(var(--qs-time-reveal, 0) * -72px));
  transition:transform .18s ease;
  will-change:transform;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message.is-own .qs-message__stack{
  justify-self:end;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message.is-other .qs-message__stack{
  justify-self:start;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer{
  position:static;
  grid-column:2;
  justify-self:end;
  align-self:end;
  width:72px;
  min-width:72px;
  margin:0;
  padding:0 0 2px;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--media-single .qs-message__stack,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--gallery .qs-message__stack{
  width:min(calc(100vw - 112px), 340px);
  max-width:min(calc(100vw - 112px), 340px);
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--gallery .qs-gallery-flip--thread{
  width:100%;
}


/* Phase 2.54.19: outgoing lane flush-right at rest, static gutter on reveal */
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__body{
  position:relative;
  display:block !important;
  width:100%;
  max-width:100%;
  min-width:0;
  padding-right:0 !important;
  overflow:visible;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__stack{
  position:relative;
  display:block;
  min-width:0;
  width:fit-content;
  max-width:min(calc(100vw - 24px), 560px);
  margin:0;
  transform:translateX(calc(var(--qs-time-reveal, 0) * -72px));
  transition:transform .18s ease;
  will-change:transform;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message.is-own .qs-message__stack{
  margin-left:auto;
  margin-right:0;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message.is-other .qs-message__stack{
  margin-left:0;
  margin-right:auto;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer{
  position:absolute;
  right:0;
  bottom:0;
  width:72px;
  min-width:72px;
  margin:0;
  padding:0 0 2px;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:flex-end;
  pointer-events:none;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--media-single .qs-message__stack,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--gallery .qs-message__stack{
  width:min(calc(100vw - 24px), 340px);
  max-width:min(calc(100vw - 24px), 340px);
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--gallery .qs-gallery-flip--thread,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--gallery .qs-gallery-flip__stack{
  width:100%;
}


/* Phase 2.54.20: edge breathing room + vertical drawer centering */
.qs-thread[data-qs-timestamp-swipe="1"]{
  --qs-drawer-edge-pad: 10px;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__body{
  padding-right:var(--qs-drawer-edge-pad) !important;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__stack{
  max-width:min(calc(100vw - 34px), 560px);
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer{
  right:var(--qs-drawer-edge-pad);
  top:50%;
  bottom:auto;
  width:72px;
  min-width:72px;
  padding:0;
  gap:2px;
  justify-content:center;
  transform:translateY(-50%) translateX(calc((1 - var(--qs-time-reveal, 0)) * 12px));
  opacity:calc(var(--qs-time-reveal, 0));
  transition:opacity .16s ease, transform .16s ease;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--media-single .qs-message__stack,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--gallery .qs-message__stack{
  width:min(calc(100vw - 34px), 340px);
  max-width:min(calc(100vw - 34px), 340px);
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer-time,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message__drawer-size{
  width:100%;
  text-align:right;
  line-height:1.2;
}


/* Phase 2.54.21: single-media width fills outgoing lane */
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--media-single .qs-bubble--media-plain{
  display:block;
  width:100%;
}

.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--media-single .qs-bubble__media-wrap,
.qs-thread[data-qs-timestamp-swipe="1"] .qs-message--media-single .qs-bubble__media{
  display:block;
  width:100%;
}


/* Phase 2.54.26: show read timestamp beside read receipt */
.qs-message__delivery{
  display:flex;
  align-items:center;
  gap:4px;
}

.qs-message.is-own .qs-message__delivery{
  justify-content:flex-end;
}

.qs-message.is-other .qs-message__delivery{
  justify-content:flex-start;
}

.qs-message__status-time{
  display:inline-flex;
  align-items:center;
  min-height:16px;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--qs-soft);
}

body.quickshare-app-body[data-qs-theme="dark"] .qs-message__status-time{
  color:#9aa7c5;
}


/* Phase 2.54.27: inline read time and no-wrap delivery row */
.qs-message__delivery{
  display:inline-flex;
  align-items:center;
  gap:4px;
  width:max-content;
  max-width:none;
  min-height:16px;
  white-space:nowrap;
}

.qs-message.is-own .qs-message__delivery{
  margin-left:auto;
}

.qs-message.is-other .qs-message__delivery{
  margin-right:auto;
}

.qs-message__status,
.qs-message__status-time{
  white-space:nowrap;
}

.qs-message__status-time{
  display:inline-flex;
  align-items:center;
  min-height:16px;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--qs-soft);
}


/* Phase 2.54.28: delivery row below bubble without width push */
.qs-message__stack{
  position:relative;
}

.qs-message__stack:has(> .qs-message__delivery){
  padding-bottom:18px;
}

.qs-message__delivery{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:flex;
  align-items:center;
  gap:4px;
  min-height:16px;
  width:auto;
  max-width:none;
  margin:0 !important;
  white-space:nowrap;
  pointer-events:none;
}

.qs-message.is-own .qs-message__delivery{
  justify-content:flex-end;
}

.qs-message.is-other .qs-message__delivery{
  justify-content:flex-start;
}

.qs-message__status,
.qs-message__status-time{
  white-space:nowrap;
}


/* Phase 2.54.30: minimal floating thread identity + receipt jump guard */
.qs-thread-pill-wrap{
  top:calc(env(safe-area-inset-top) + 12px);
  width:auto;
  max-width:calc(100vw - 124px);
  pointer-events:auto;
}

.qs-thread-identity-link{
  display:inline-grid;
  grid-auto-flow:column;
  align-items:center;
  gap:8px;
  min-width:0;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  box-shadow:none;
  color:var(--qs-text);
  text-decoration:none;
  pointer-events:auto;
  appearance:none;
  -webkit-appearance:none;
}

.qs-thread-identity-link:focus-visible{
  outline:2px solid rgba(124,77,255,.32);
  outline-offset:6px;
  border-radius:999px;
}

.qs-thread-identity-link .qs-thread-pill__avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
}

.qs-thread-identity-link .qs-thread-pill__copy{
  min-width:0;
  display:block;
}

.qs-thread-identity-link .qs-thread-pill__copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.96rem;
  letter-spacing:-.02em;
}

.qs-thread-identity-link .qs-thread-pill__copy span{
  display:none !important;
}

.qs-message__stack:has(> .qs-message__delivery){
  padding-bottom:20px;
}

.qs-message__delivery{
  left:0;
  right:0;
  bottom:0;
  width:100%;
  box-sizing:border-box;
}

.qs-message__status,
.qs-message__status-time{
  display:inline-flex;
  align-items:center;
  max-width:100%;
}


/* Phase 2.54.31: header readability, emoji-only display, and overlay scroll lock polish */
.qs-thread-identity-link .qs-thread-pill__copy{
  min-width:0;
  display:block;
  padding:5px 10px 6px;
  border-radius:999px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(255,255,255,.44);
  box-shadow:0 6px 16px rgba(18,18,30,.05);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.qs-thread-identity-link .qs-thread-pill__copy strong{
  line-height:1.1;
}

.qs-message--emoji .qs-message__stack{
  padding-bottom:24px;
}

.qs-message--emoji .qs-bubble--emoji{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-width:0 !important;
  max-width:none !important;
}

.qs-message--emoji .qs-bubble__emoji{
  font-size:2.35rem;
  line-height:1.02;
  padding:2px 0 4px;
}

.qs-message--emoji .qs-message__delivery{
  bottom:0;
}

.qs-message--emoji .qs-message__status,
.qs-message--emoji .qs-message__status-time{
  line-height:1.1;
}



/* Phase 2.54.34: emoji-only message polish */
.qs-message--emoji .qs-message__body,
.qs-message--emoji .qs-message__stack{
  background:transparent !important;
}

.qs-message.is-own .qs-bubble.qs-bubble--emoji,
.qs-message.is-other .qs-bubble.qs-bubble--emoji,
.qs-message--emoji .qs-bubble--emoji{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:0 !important;
  min-height:auto !important;
  max-width:none !important;
  background:transparent !important;
  border:0 !important;
  border-color:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  padding:0 !important;
  margin:0 !important;
}

.qs-message--emoji .qs-bubble__emoji{
  display:block;
  font-size:clamp(2.7rem, 8vw, 3.35rem);
  line-height:1;
  padding:0;
  margin:0;
}

.qs-message--emoji .qs-bubble__foot,
.qs-message--emoji .qs-upload-progress,
.qs-message--emoji .qs-upload-progress__label{
  margin-top:0 !important;
}

.qs-message--emoji .qs-message__stack{
  padding-bottom:20px;
}

.qs-message--emoji .qs-message__delivery{
  bottom:0;
}



/* Phase 2.54.37: safe local reactions scaffold */
.qs-action-popover__reactions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 10px 8px;
  border-bottom:1px solid rgba(107, 76, 255, 0.10);
}

.qs-action-popover__reaction{
  appearance:none;
  border:1px solid rgba(107, 76, 255, 0.16);
  background:rgba(255,255,255,0.96);
  border-radius:999px;
  min-width:38px;
  height:38px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  line-height:1;
  box-shadow:0 10px 24px rgba(27, 21, 61, 0.08);
}

.qs-action-popover__reaction.is-active{
  border-color:rgba(107, 76, 255, 0.42);
  background:rgba(107, 76, 255, 0.10);
}

.qs-reaction-row{
  display:flex;
  width:100%;
  margin-top:6px;
}

.qs-reaction-row.is-own{
  justify-content:flex-end;
}

.qs-reaction-row.is-other{
  justify-content:flex-start;
}

.qs-reaction-chip{
  appearance:none;
  border:1px solid rgba(107, 76, 255, 0.14);
  background:rgba(255,255,255,0.98);
  color:inherit;
  border-radius:999px;
  min-width:34px;
  height:28px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
  box-shadow:0 8px 20px rgba(27, 21, 61, 0.08);
}


/* Phase 2.54.38: synced flagged reactions polish */
.qs-reaction-row{
  gap:6px;
}

.qs-reaction-chip{
  gap:4px;
  padding:0 9px;
}

.qs-reaction-chip.is-active{
  border-color:rgba(107, 76, 255, 0.34);
  background:rgba(107, 76, 255, 0.10);
}

.qs-reaction-chip__emoji,
.qs-reaction-chip__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.qs-reaction-chip__count{
  font-size:12px;
  font-weight:600;
  color:rgba(39, 31, 89, 0.72);
  min-width:10px;
}


/* Phase 2.54.42: reactions float diagonally outside the message corner */
.qs-reaction-overlay{
  position:absolute;
  top:-18px;
  z-index:3;
  display:flex;
  align-items:center;
  pointer-events:none;
}

.qs-reaction-overlay.is-own{
  left:-6px;
  flex-direction:row;
}

.qs-reaction-overlay.is-other{
  right:-6px;
  flex-direction:row-reverse;
}

.qs-reaction-emoji,
.qs-reaction-more{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  line-height:1;
  border:none;
  background:transparent;
  padding:0;
  margin:0;
  pointer-events:auto;
  text-shadow:0 1px 4px rgba(255,255,255,.94), 0 0 10px rgba(255,255,255,.88), 0 2px 10px rgba(27,21,61,.16);
  transform:translateX(calc(var(--qs-reaction-index, 0) * -7px));
}

.qs-reaction-overlay.is-other .qs-reaction-emoji,
.qs-reaction-overlay.is-other .qs-reaction-more{
  transform:translateX(calc(var(--qs-reaction-index, 0) * 7px));
}

.qs-reaction-emoji:focus-visible{
  outline:2px solid rgba(107,76,255,.35);
  border-radius:999px;
}

.qs-reaction-emoji.is-active{
  filter:drop-shadow(0 1px 2px rgba(107,76,255,.28));
}

.qs-reaction-more{
  display:none;
}

.qs-reaction-row,
.qs-reaction-chip,
.qs-reaction-chip__emoji,
.qs-reaction-chip__count{
  display:none !important;
}
