/* Kablo approved symbol system. Source of truth for launch UI icons. */
.feature-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 15px;
  color: var(--primary, #6842f4);
  background: #f0edff;
  flex: 0 0 42px;
}
.feature-icon::before {
  content: "";
  width: 24px;
  height: 24px;
  background: currentColor;
  mask: var(--icon) center / contain no-repeat;
  -webkit-mask: var(--icon) center / contain no-repeat;
}
.icon-calendar { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='3'/%3E%3Cpath d='M8 3v4M16 3v4M4 10h16M8 14h3M14 14h2'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-checklist { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='16' rx='3'/%3E%3Cpath d='m8 9 1.4 1.4L12 7.8M14 9h2M8 15l1.4 1.4L12 13.8M14 15h2'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-people { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3.5 20c.7-4 3-6 5.5-6s4.8 2 5.5 6M14 15c2.8.2 4.8 1.8 5.5 5'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-home { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 10.5V20h13v-9.5'/%3E%3Cpath d='M9.5 20v-6h5v6'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-briefcase { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='7' width='16' height='12' rx='2.5'/%3E%3Cpath d='M9 7V5h6v2M4 12h16M10 12v2h4v-2'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-bag { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l1 12H5L6 8Z'/%3E%3Cpath d='M9 8a3 3 0 0 1 6 0'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-bell { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 10a5.5 5.5 0 0 1 11 0c0 5 2 6 2 6h-15s2-1 2-6Z'/%3E%3Cpath d='M9.5 19a2.5 2.5 0 0 0 5 0'/%3E%3Cpath d='M12 3v1.5'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-search { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='5.8'/%3E%3Cpath d='m15 15 5 5'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-chat { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 6.5h14v9.2H9.5L5 19.5z'/%3E%3Cpath d='M8.5 10h7M8.5 13h4'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-profile { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5.5 20c.8-4 3.2-6 6.5-6s5.7 2 6.5 6'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-ticket { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2a2 2 0 0 0 0-4V8Z'/%3E%3Cpath d='M9 9h6M9 15h6'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-location { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.1 7-12a7 7 0 0 0-14 0c0 5.9 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.4'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-filter { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3Ccircle cx='9' cy='6' r='2'/%3E%3Ccircle cx='15' cy='12' r='2'/%3E%3Ccircle cx='11' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-share { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11'/%3E%3Cpath d='m7.5 8.5 4.5-4.5 4.5 4.5'/%3E%3Cpath d='M6 13v5.5A1.5 1.5 0 0 0 7.5 20h9a1.5 1.5 0 0 0 1.5-1.5V13'/%3E%3C/g%3E%3C/svg%3E"); }
.icon-heart { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 20s-7.5-4.6-8.8-9.5C2.4 7.2 4.6 4.7 7.4 4.7c1.7 0 3.1.9 4 2.2.9-1.3 2.3-2.2 4-2.2 2.8 0 5 2.5 4.2 5.8C18.3 15.4 12 20 12 20Z' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

:root{--primary:#6842f4;--primary-dark:#4d2fd6;--ink:#111732;--muted:#66708f;--soft:#f4f1ff;--soft-2:#f8f6ff;--line:#e7e3f5;--card:#fff;--good:#e9fbf4;--danger:#ff5c72;--shadow:0 18px 42px rgba(35,28,85,.10)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f0ecff,#f7fbff);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.phone-shell{position:relative;width:min(430px,100vw);height:min(860px,100vh);background:#fff;border:10px solid #171923;border-radius:42px;overflow:hidden;box-shadow:0 28px 80px rgba(20,20,50,.18)}.status-bar{height:44px;display:flex;justify-content:space-between;align-items:center;padding:0 28px;font-weight:900;font-size:13px}.screen{display:none;height:calc(100% - 44px);overflow:auto;padding:24px 26px 104px}.screen.active{display:block}.screen.centered{padding-top:172px}.brand-lockup{display:flex;align-items:center;justify-content:center;gap:16px}.kablo-logo-mark{width:92px;height:auto;flex:0 0 96px;filter:drop-shadow(0 15px 20px rgba(101,71,245,.18))}.wordmark{display:grid;gap:3px}.wordmark strong{font-size:42px;line-height:1;letter-spacing:0}.wordmark span{color:var(--primary);font-size:13px;font-weight:900}.mini-logo{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 12px 24px rgba(101,71,245,.22)}.mini-logo img{width:100%;height:100%;object-fit:cover}.intro-copy{text-align:center;color:var(--muted);font-size:17px;line-height:1.5;margin:28px auto;max-width:320px}.primary,.ghost,.secondary{border:0;border-radius:18px;padding:16px 18px;font-weight:900}.primary{width:100%;background:var(--primary);color:#fff;box-shadow:0 16px 32px rgba(104,66,244,.24)}.primary.small{width:auto;padding:12px 18px;border-radius:16px}.ghost{display:block;width:100%;margin-top:12px;background:transparent;color:var(--primary)}.secondary{background:#f0edff;color:var(--primary)}.topbar,.appbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.topbar h1{font-size:20px;margin:0}.back-button,.topbar>button,.appbar button{border:0;background:transparent;font-size:28px;font-weight:900;color:var(--ink)}.topbar>button:not(.back-button){color:var(--primary)}.brand-city{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--ink)}.brand-city strong{font-size:18px}.appbar-actions{display:flex;gap:8px;align-items:center}.appbar-actions .feature-icon{width:32px;height:32px;background:transparent}.appbar-actions .feature-icon::before{width:22px;height:22px}.soft-card,.form-card,.welcome-card,.content-section,.row,.empty-card,.profile-card,.chat-panel{border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}.soft-card{padding:20px;margin-bottom:14px;background:linear-gradient(135deg,#f4f0ff,#fff5ed)}.soft-card.compact{padding:18px}.soft-card h2,.welcome-card h1{margin:0 0 10px;font-size:25px;line-height:1.08}.soft-card p,.welcome-card p,.hint,.empty,.interest-block p{color:var(--muted);line-height:1.45;margin:0}.auth-copy{margin-top:42px}.form-card{display:grid;gap:14px;padding:18px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px;border-radius:18px;background:var(--soft)}.segmented button{border:0;border-radius:14px;padding:12px 8px;background:transparent;color:var(--muted);font-weight:900}.segmented button.active{background:var(--primary);color:white}.form-card label{display:grid;gap:8px;color:var(--muted);font-size:13px;font-weight:900}.form-card input,.form-card select,.search-field input,.chat-input input{width:100%;border:0;border-radius:16px;background:#f4f3f9;padding:15px;color:var(--ink);font-weight:800}.clearable{position:relative;display:block}.clearable input{padding-right:46px}.clearable button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:50%;background:#ded9f3;color:var(--muted);font-weight:900}.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.chips button{border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);padding:10px 13px;font-size:13px;font-weight:900}.chips button.selected{background:var(--primary);border-color:var(--primary);color:#fff}.chips button.selected::before{content:'✓ ';}.welcome-card{padding:20px;background:linear-gradient(135deg,#f4f0ff,#fff5ed)}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.shortcut-grid button{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:18px;background:white;padding:14px;min-height:82px}.shortcut-grid strong{display:block;font-size:16px}.shortcut-grid small{color:var(--muted);font-weight:800}.content-section{padding:16px;margin-top:14px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title h2{margin:0;font-size:18px}.section-title button{border:0;background:transparent;color:var(--primary);font-weight:900}.list{display:grid;gap:10px}.row{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px}.row .thumb{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#8bcfa7,#7275df)}.row h3{margin:0 0 4px;font-size:15px}.row p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.row .action{color:var(--primary);font-weight:900}.deal-row{display:flex;gap:12px;overflow:auto;padding-bottom:4px}.deal-card{min-width:238px;border:1px solid var(--line);border-radius:18px;background:white;padding:12px;text-align:left}.deal-image{height:92px;border-radius:15px;background:linear-gradient(135deg,#88b9f4,#f0da8d 65%,#ad8aec);margin-bottom:10px}.deal-card h3{margin:4px 0;font-size:16px}.deal-card p{margin:0;color:var(--muted);font-size:13px}.sponsored{display:inline-block;border-radius:999px;background:var(--soft);color:var(--primary);padding:6px 9px;font-size:12px;font-weight:900}.dots{display:flex;justify-content:center;gap:6px;margin-top:8px}.dots span{width:6px;height:6px;border-radius:999px;background:#dcd7ef}.dots .active{background:var(--primary)}.search-field{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;margin-bottom:12px;border-radius:18px;background:#f4f3f9;padding:8px 12px}.search-field .feature-icon{width:28px;height:28px;background:transparent}.search-field .feature-icon::before{width:20px;height:20px}.search-field input{padding:8px;background:transparent}.tabs{display:flex;gap:8px;overflow:auto;margin:0 0 14px}.tabs button{border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);padding:10px 13px;font-size:13px;font-weight:900;white-space:nowrap}.tabs button.active{background:var(--primary);border-color:var(--primary);color:white}.empty-card{padding:18px;text-align:left}.empty-card .feature-icon{margin-bottom:12px}.empty-card h2,.profile-card h2,.content-section h2{margin:0 0 8px;font-size:18px}.empty-card p,.profile-card p{margin:0 0 14px;color:var(--muted);line-height:1.45}.market-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compact-card{min-height:190px}.chat-panel{height:520px;display:grid;grid-template-rows:1fr auto;padding:12px}.chat-messages{display:flex;flex-direction:column;gap:10px;justify-content:flex-end}.bubble{max-width:82%;border-radius:18px;padding:12px 14px;margin:0;line-height:1.35}.bubble.other{background:#f4f3f9}.bubble.me{align-self:flex-end;background:var(--primary);color:white}.chat-input{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid var(--line);padding-top:10px}.profile-card{padding:22px;text-align:center}.avatar-button{width:76px;height:76px;border:0;border-radius:50%;background:linear-gradient(135deg,#91c6ff,#ebe2ff);color:#fff;font-size:32px;font-weight:900}.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:78px;border-top:1px solid var(--line);background:rgba(255,255,255,.96);display:grid;grid-template-columns:1fr 1fr 86px 1fr 1fr;align-items:center;padding:7px 12px 11px;z-index:20}.bottom-nav button{border:0;background:transparent;color:var(--muted);font-weight:900;display:grid;gap:3px;place-items:center;font-size:10.5px}.bottom-nav button.active{color:var(--primary)}.bottom-nav .feature-icon{width:26px;height:26px;margin:0;border-radius:9px;background:transparent}.bottom-nav .feature-icon::before{width:21px;height:21px}.bottom-nav button.active .feature-icon{background:#f0edff}.bottom-nav .create-tab span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--primary);color:#fff;font-size:34px;line-height:1;box-shadow:0 16px 32px rgba(104,66,244,.32)}.sheet,.modal{position:absolute;inset:0;z-index:40}.scrim{position:absolute;inset:0;border:0;background:rgba(17,23,50,.35)}.sheet-card{position:absolute;left:0;right:0;bottom:0;border-radius:28px 28px 0 0;background:white;padding:12px 22px 26px;display:grid;gap:10px}.grabber{width:48px;height:5px;border-radius:999px;background:#ded9f3;margin:0 auto 6px}.sheet-card header{display:flex;justify-content:space-between;align-items:center}.sheet-card h2{margin:0}.sheet-card header button{width:38px;height:38px;border:0;border-radius:50%;background:var(--soft);font-size:24px;font-weight:900;color:var(--ink)}.sheet-card>button{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:18px;background:white;padding:12px}.sheet-card small{color:var(--muted);font-weight:800}.modal{display:grid;place-items:center;background:rgba(17,23,50,.35);padding:24px}.modal-card{background:#fff;border-radius:24px;padding:22px;box-shadow:var(--shadow);max-width:340px}.modal-card h2{margin:0 0 8px}.modal-card p{color:var(--muted);line-height:1.45}.modal-card div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.toast{position:absolute;left:50%;right:auto;bottom:86px;width:min(300px,calc(100% - 48px));background:rgba(255,255,255,.96);color:var(--ink);border:1px solid #ddd4ff;border-radius:999px;padding:10px 14px;text-align:center;font-size:13px;line-height:1.25;font-weight:900;box-shadow:0 14px 34px rgba(52,45,106,.14);opacity:0;transform:translate(-50%,10px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:80;backdrop-filter:blur(12px)}.toast::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:999px;background:var(--primary);vertical-align:middle;box-shadow:0 0 0 4px rgba(104,66,244,.12)}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(max-width:380px){.phone-shell{border-width:6px;border-radius:32px}.screen{padding-left:18px;padding-right:18px}.shortcut-grid{gap:10px}.wordmark strong{font-size:36px}}


/* Prototype alignment pass - 2026-08-05
   These overrides keep the launch app visually close to the approved Kablo prototype. */
.screen {
  padding: 22px 24px 98px;
}
.screen.centered {
  padding-top: 164px;
}
.welcome-card {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-radius: 22px;
}
.welcome-card h1 {
  font-size: 22px;
  line-height: 1.15;
  margin: 0;
}
.welcome-card p,
.row p,
.deal-card p,
.empty-card p,
.profile-card p,
.chat-row small {
  font-size: 13px;
  line-height: 1.35;
}
.shortcut-grid {
  gap: 10px;
  margin: 14px 0 12px;
}
.shortcut-grid button {
  min-height: 70px;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(52, 45, 106, 0.06);
}
.shortcut-grid .feature-icon {
  width: 38px;
  height: 38px;
  border-radius: 14px;
}
.shortcut-grid .feature-icon::before {
  width: 22px;
  height: 22px;
}
.shortcut-grid strong {
  font-size: 13px;
  line-height: 1.2;
}
.shortcut-grid small {
  margin-top: 3px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
}
.content-section {
  padding: 14px;
  margin-top: 12px;
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(52, 45, 106, 0.07);
}
.section-title {
  margin-bottom: 10px;
}
.section-title h2 {
  font-size: 17px;
}
.row {
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 10px;
  padding: 10px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(52, 45, 106, 0.05);
}
.row .thumb {
  width: 52px;
  height: 52px;
  border-radius: 14px;
}
.row h3 {
  font-size: 14px;
  line-height: 1.2;
}
.row .action {
  font-size: 12px;
}
.empty-card,
.profile-card {
  padding: 16px;
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(52, 45, 106, 0.07);
}
.empty-card h2,
.profile-card h2,
.content-section h2 {
  font-size: 17px;
}
.form-card,
.soft-card {
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(52, 45, 106, 0.07);
}
.form-card {
  padding: 16px;
  gap: 13px;
}
.form-card input,
.form-card select,
.search-field input,
.chat-input input {
  padding: 13px 14px;
  font-weight: 700;
}
.tabs {
  gap: 7px;
  margin-bottom: 12px;
}
.tabs button {
  padding: 9px 12px;
  font-size: 12px;
}
.deal-card {
  min-width: 218px;
  min-height: 255px;
  padding: 11px;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(52, 45, 106, 0.05);
  display: grid;
  grid-template-rows: 82px auto minmax(38px, auto) auto auto;
  align-content: start;
  row-gap: 8px;
}
.deal-image {
  height: 82px;
  border-radius: 14px;
  margin: 0;
}
.deal-card .sponsored,
.deal-card h3,
.deal-card p { margin: 0; }
.deal-card h3 { min-height: 38px; }
.market-grid {
  gap: 10px;
}
.compact-card {
  min-height: 160px;
}
.chat-panel {
  height: auto;
  min-height: 430px;
  display: grid;
  grid-template-rows: 1fr auto;
  padding: 10px;
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(52, 45, 106, 0.07);
}
.chat-messages {
  display: grid;
  align-content: end;
  gap: 10px;
  min-height: 320px;
}
.bubble {
  max-width: 82%;
  padding: 11px 12px;
  border-radius: 18px;
  font-size: 13px;
  line-height: 1.35;
}
.bubble.other {
  justify-self: start;
  background: #f5f5fa;
}
.bubble.me {
  justify-self: end;
  align-self: auto;
}
.chat-input {
  position: sticky;
  bottom: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-top: 18px;
  padding: 10px;
  border-top: 0;
  background: #fff;
}
.chat-input input {
  min-width: 0;
  border-radius: 999px;
  padding: 0 14px;
  min-height: 42px;
  background: #f5f5fa;
}
.chat-input .primary.small {
  border-radius: 999px;
  padding: 10px 14px;
  min-height: 42px;
  box-shadow: none;
}
.sheet-card > button {
  padding: 10px;
  border-radius: 18px;
}
.bottom-nav .create-tab span {
  width: 50px;
  height: 50px;
}
@media(max-width:380px){
  .screen{padding-left:18px;padding-right:18px;}
  .shortcut-grid button{min-height:68px;}
}

/* Guideline compliance pass - approved symbols and command buttons */
.appbar-actions button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
}
#home-screen .appbar-actions{
  margin-right:18px!important;
}
.add-button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  color: var(--primary) !important;
  background: #f0edff !important;
  font-size: 24px !important;
  line-height: 1;
}


/* Card text layout fix - match prototype grid behavior */
.button-copy {
  display: block;
  min-width: 0;
}
.button-copy strong,
.button-copy small {
  display: block;
  min-width: 0;
}
.shortcut-grid button,
.sheet-card > button {
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center;
}
.shortcut-grid button > .button-copy,
.sheet-card > button > .button-copy {
  grid-column: 2;
  min-width: 0;
}
.shortcut-grid button > .feature-icon,
.sheet-card > button > .feature-icon {
  grid-column: 1;
  grid-row: 1;
}
.sheet-card {
  max-height: calc(100% - 76px);
  overflow: auto;
}
.sheet-card > button {
  min-height: 72px;
}
.sheet-card .button-copy small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
}
.shortcut-grid .button-copy small {
  margin-top: 3px;
}


/* Prototype create forms and chat path alignment */
.create-options {
  display: grid;
  gap: 10px;
}
.create-options button {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--ink);
  background: #fff;
  text-align: left;
  box-shadow: 0 10px 24px rgba(52,45,106,.05);
}
.create-form[hidden] { display: none !important; }
.create-form {
  display: grid;
  gap: 12px;
  padding-top: 4px;
}
.create-form h3 {
  margin: 2px 0 0;
  font-size: 21px;
  line-height: 1.15;
}
.create-form label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}
.create-form input,
.create-form textarea,
.create-form select {
  width: 100%;
  min-width: 0;
  border: 0;
  border-radius: 16px;
  padding: 13px 14px;
  color: var(--ink);
  background: #f5f5fa;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  appearance: none;
}
.create-form select {
  min-height: 46px;
  padding-right: 38px;
  background:
    linear-gradient(45deg, transparent 50%, var(--muted) 50%) right 17px center / 7px 7px no-repeat,
    linear-gradient(135deg, var(--muted) 50%, transparent 50%) right 12px center / 7px 7px no-repeat,
    #f5f5fa;
}
.create-form textarea {
  min-height: 96px;
  resize: vertical;
}
.create-form .primary {
  margin-top: 4px;
}
.text-action {
  justify-self: start;
  border: 0;
  padding: 0;
  color: var(--primary);
  background: transparent;
  font-weight: 900;
}
.chat-list {
  gap: 10px;
}
.chat-row {
  width: 100%;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--ink);
  background: #fff;
  text-align: left;
  box-shadow: 0 10px 26px rgba(52,45,106,.07);
}
.chat-initial {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: #fff;
  background: var(--primary);
  font-weight: 900;
}
.chat-row strong,
.chat-row small {
  display: block;
  min-width: 0;
}
.chat-row small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.25;
}
.chat-row em {
  color: var(--primary);
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}
.chat-detail-screen {
  padding-bottom: 92px;
}
.chat-thread-page {
  min-height: calc(100% - 52px);
  display: grid;
  grid-template-rows: 1fr auto;
}
.chat-detail-screen .message-thread {
  display: grid;
  align-content: end;
  gap: 10px;
  min-height: 560px;
  padding-bottom: 10px;
}
.chat-detail-screen .message-compose {
  position: sticky;
  bottom: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(52,45,106,.07);
}
.chat-detail-screen .message-compose input {
  min-height: 42px;
  border-radius: 999px;
  padding: 0 14px;
  background: #f5f5fa;
}
.chat-detail-screen .message-compose button {
  min-height: 42px;
  border-radius: 999px;
}


/* Button-map completion pass */
.detail-screen { padding-bottom: 104px; }
.detail-card,
.group-hero,
.composer-card,
.comment-card,
.mini-panel,
.settings-list button,
.market-card,
.upload-box {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(52,45,106,.07);
}
.detail-card { display: grid; gap: 14px; padding: 16px; }
.detail-card h2 { margin: 0; font-size: 22px; line-height: 1.15; }
.detail-card p { margin: 0; color: var(--muted); line-height: 1.45; }
.detail-photo { height: 124px; border-radius: 16px; background: linear-gradient(135deg,#b98e6d,#e4c6aa 60%,#9f9696); }
.detail-photo[type="button"]{width:100%;border:0;padding:0;text-align:left;cursor:zoom-in;}
.detail-photo.warm { background: linear-gradient(135deg,#d5a56e,#eee0c2 60%,#9f9890); }
.detail-photo.market { background: linear-gradient(135deg,#9bbcf7,#e9d47d 60%,#b98ce6); }
.price { color: var(--primary) !important; font-weight: 900; }
.meta { font-size: 14px; }
.pill,
.comment-card .pill,
.mini-actions button,
.footer-actions button {
  width: fit-content;
  border: 0;
  border-radius: 999px;
  background: var(--soft);
  color: var(--primary);
  padding: 8px 11px;
  font-size: 12px;
  font-weight: 900;
}
.compact-chips { gap: 7px; }
.compact-chips span { border-radius: 999px; background: var(--soft); color: var(--primary); padding: 7px 9px; font-size: 12px; font-weight: 900; }
.mini-panel { padding: 12px; display: grid; gap: 10px; }
.mini-panel h3 { margin: 0; font-size: 15px; }
.member-line,
.composer-card { display: grid; grid-template-columns: 44px 1fr auto; gap: 10px; align-items: center; border: 0; background: #fff; text-align: left; }
.member-line small { display: block; color: var(--muted); font-weight: 700; margin-top: 2px; }
.chat-initial,
.avatar-row button { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 0; background: var(--primary); color: white; font-weight: 900; }
.avatar-row { display: flex; justify-content: space-between; gap: 10px; }
.action-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center; }
.action-row .primary,
.action-row .secondary { width: 100%; box-shadow: none; }
.full { width: 100%; }
.danger-soft { background: #fff0f3 !important; color: var(--danger) !important; }
.danger-text { border: 0; background: transparent; color: var(--danger); font-weight: 900; }
.account-email-row{
  display:grid;
  gap:4px;
  padding:12px;
  margin:10px 0;
  border:1px solid var(--line);
  border-radius:16px;
  background:#faf8ff;
}
.account-email-row span,
.account-email-row small{
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.3;
}
.account-email-row strong{
  color:var(--ink);
  font-size:14px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

/* Owner actions: destructive controls use the same contained Kablo button treatment everywhere. */
.seller-controls .action-row .danger-soft,
[data-activity-owner-controls] .action-row .danger-soft,
[data-room-owner-controls] .action-row .danger-soft,
[data-job-owner-controls] .action-row .danger-soft{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:40px!important;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:15px!important;
  background:#fff0f3!important;
  color:var(--danger)!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.safety-box { border-radius: 16px; padding: 12px; background: var(--good); color: #08725e; }
.safety-box.yellow { background: #fff4d8; color: #8a5200; }
.safety-box p { color: inherit; font-size: 13px; }
.comments { display: grid; gap: 10px; }
.comment-card { position: relative; display: grid; gap: 8px; padding: 13px; }
.comment-card time { position: absolute; right: 14px; top: 14px; color: var(--muted); font-size: 12px; font-weight: 900; }
.comment-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.35; padding-right: 82px; }
.mini-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.footer-actions { display: flex; justify-content: center; gap: 34px; padding: 8px 0 18px; }
.compact-hero { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: center; padding: 12px; margin-bottom: 12px; }
.compact-hero .thumb { width: 64px; height: 64px; border-radius: 16px; background: linear-gradient(135deg,#8459f4,#fff0e4); }
.compact-hero h2 { margin: 0 0 4px; font-size: 20px; line-height: 1.1; }
.compact-hero p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.35; }
.compact-hero .primary { grid-column: 1 / -1; padding: 13px; box-shadow: none; }
.detail-tabs { justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 0; }
.detail-tabs button { border: 0; border-radius: 0; background: transparent; padding: 12px 10px; }
.detail-tabs button.active { background: transparent; color: var(--primary); border-bottom: 2px solid var(--primary); }
.composer-card { padding: 12px; margin-bottom: 10px; }
.action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.action-grid button,
.settings-list button,
.compact-list button { border: 0; border-radius: 16px; background: var(--soft); color: var(--primary); padding: 12px; font-weight: 900; text-align: center; }
[data-group-admin-list] .member-line{
  text-align:left;
  justify-items:start;
  color:var(--ink);
}
[data-group-admin-list] .member-line strong{
  color:var(--ink);
}
[data-group-admin-list] .member-line small{
  color:var(--muted);
}
.notification-toggle-list{display:grid;gap:10px}
.notification-settings-card{margin-bottom:12px}
.notification-toggle-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;background:#fff;padding:13px 14px;box-shadow:0 12px 28px rgba(52,45,106,.07)}
.notification-toggle-row strong{display:block;font-size:15px;line-height:1.2}
.notification-toggle-row small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:3px}
.notification-toggle-row input{position:absolute;opacity:0;pointer-events:none}
.notification-toggle-row i{position:relative;width:50px;height:30px;border-radius:999px;background:#e4e0ef;transition:.18s ease}
.notification-toggle-row i::after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 4px 10px rgba(30,25,70,.22);transition:.18s ease}
.notification-toggle-row input:checked+i{background:var(--primary)}
.notification-toggle-row input:checked+i::after{transform:translateX(20px)}
.notification-toggle-row input:disabled+i{opacity:.55}
.full-chat { min-height: 430px; display: grid; grid-template-rows: 1fr auto; border: 1px solid var(--line); border-radius: 20px; padding: 12px; }
.market-card { display: grid; gap: 9px; padding: 12px; min-height: 190px; text-align: left; }
.market-card h3 { margin: 0; font-size: 15px; line-height: 1.2; }
.market-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.3; }
.market-status-pill{
  width:max-content;
  border-radius:999px;
  background:#fff0d6;
  color:#986210;
  padding:6px 9px;
  font-size:11px;
  font-weight:950;
}
.market-status-pill.sold{background:#eef0f6;color:#66708b;}
.market-photo { display: block; height: 96px; border-radius: 15px; background: linear-gradient(135deg,#91b8f5,#ead47b); }
.market-photo.warm { background: linear-gradient(135deg,#b89374,#efd0b7); }
.market-photo.green { background: linear-gradient(135deg,#53cca1,#f2efa3); }
.market-photo.deal { background: linear-gradient(135deg,#8fb9f4,#f1d879 60%,#a98aec); }
.sponsored-market small { width: fit-content; border-radius: 999px; background: var(--soft); color: var(--primary); padding: 6px 8px; font-size: 11px; font-weight: 900; }
.is-sold { opacity: .56; filter: grayscale(.35); }
.upload-box { display: grid; grid-template-columns: 42px 1fr auto; gap: 10px; align-items: center; padding: 12px; }
.upload-box small { display: block; color: var(--muted); font-weight: 700; }
.form-modal { display: grid; gap: 12px; }
.form-modal textarea,
.form-modal input { width: 100%; border: 0; border-radius: 16px; background: #f4f3f9; padding: 13px 14px; font-weight: 700; color: var(--ink); }
.form-modal textarea { min-height: 108px; resize: vertical; }
.form-modal label { display: grid; gap: 7px; color: var(--muted); font-weight: 900; font-size: 13px; }
.required-note{margin:-4px 0 2px;color:var(--muted);font-size:12px;font-weight:700;}
.required-note b,.required-marker{color:var(--primary);font-style:normal;}
.check-row { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 8px; }
.check-row input { width: auto; }
.compact-list { display: grid !important; grid-template-columns: 1fr !important; }
.create-options { display: grid; gap: 10px; }
.create-options button { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 12px; text-align: left; }
.create-options small { display: block; color: var(--muted); line-height: 1.25; font-size: 12px; }
.create-form { display: grid; gap: 12px; }
.create-form label { display: grid; grid-template-columns: 1fr; gap: 7px; color: var(--muted); font-weight: 900; font-size: 13px; }
.create-form input,
.create-form select,
.create-form textarea { width: 100%; border: 0; border-radius: 16px; background: #f4f3f9; padding: 13px 14px; color: var(--ink); font-weight: 700; }
.create-form textarea { min-height: 92px; resize: vertical; }
.text-action { width: fit-content; border: 0; background: transparent; color: var(--primary); font-weight: 900; padding: 0; }
.inline-compose { margin-top: 4px; }
@media(max-width:380px){.action-row{grid-template-columns:1fr}.comment-card p{padding-right:0}.comment-card time{position:static}.compact-hero{grid-template-columns:54px 1fr}.compact-hero .thumb{width:54px;height:54px}}


/* Profile page - matches approved Kablo profile mockup */
.settings-gear {
  font-size: 24px !important;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
}
.profile-summary-card,
.profile-info-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(52,45,106,.07);
}
.profile-summary-card {
  padding: 28px 20px 22px;
  text-align: center;
  display: grid;
  gap: 12px;
}
.profile-photo {
  position: relative;
  justify-self: center;
  width: 98px;
  height: 98px;
  border: 0;
  border-radius: 50%;
  background: radial-gradient(circle at 57% 28%, #ffd1aa 0 23%, transparent 24%), linear-gradient(135deg,#9fcbff,#e7e0ff);
  color: transparent;
  box-shadow: 0 14px 28px rgba(104,66,244,.12);
}
.profile-photo b {
  position: absolute;
  right: -2px;
  bottom: 4px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 5px solid #fff;
  border-radius: 50%;
  background: var(--primary);
  color: #fff;
  font-size: 24px;
  line-height: 1;
}
.profile-photo img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
}
.profile-photo img[hidden]{
  display:none!important;
}
.profile-photo img:not(.is-loaded){
  display:none!important;
}
.profile-summary-card h2 {
  margin: 2px 0 0;
  font-size: 28px;
  line-height: 1.1;
  color: var(--primary);
}
.verified-diamond { font-size: .72em; vertical-align: 8%; }
.profile-summary-card p {
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.3;
}
.profile-actions {
  display: grid;
  grid-template-columns: 1fr .82fr;
  gap: 12px;
  max-width: 290px;
  width: 100%;
  justify-self: center;
  margin-top: 6px;
}
.profile-actions .primary,
.profile-actions .secondary {
  padding: 14px 16px;
  border-radius: 999px;
  box-shadow: none;
}
.profile-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.profile-stats div {
  display: grid;
  gap: 5px;
}
.profile-stats small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}
.profile-stats strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.1;
}
.profile-info-card {
  margin-top: 14px;
  padding: 18px;
}
.profile-info-card h2 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.15;
}
.profile-info-card p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.42;
}
.profile-chip-list {
  gap: 10px;
}
.profile-chip-list span {
  border-radius: 999px;
  background: var(--soft);
  color: var(--primary);
  padding: 10px 14px;
  font-weight: 900;
  font-size: 15px;
}
.badge-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  text-align: center;
  margin-top: 16px;
}
.badge-row div {
  display: grid;
  justify-items: center;
  gap: 10px;
  color: var(--muted);
}
.badge-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: var(--soft);
  color: var(--primary);
  font-size: 30px;
  font-weight: 900;
}
.badge-icon.diamond { color: var(--primary); }
.badge-row strong {
  font-size: 14px;
  color: var(--muted);
}
.feedback-card button {
  margin-top: 14px;
  width: 100%;
}
@media(max-width:380px){
  .profile-summary-card{padding:22px 16px 18px;}
  .profile-photo{width:84px;height:84px;}
  .profile-summary-card h2{font-size:24px;}
  .profile-summary-card p,.profile-info-card p{font-size:15px;}
  .profile-actions{grid-template-columns:1fr 1fr;}
  .badge-icon{width:58px;height:58px;}
}


/* Compact guideline correction - profile and detail screens */
.profile-summary-card {
  padding: 20px 16px 18px;
  gap: 9px;
  border-radius: 20px;
}
.profile-photo {
  width: 78px;
  height: 78px;
}
.profile-photo b {
  width: 30px;
  height: 30px;
  border-width: 4px;
  font-size: 19px;
  right: -1px;
  bottom: 2px;
}
.profile-summary-card h2 {
  font-size: 22px;
  line-height: 1.1;
}
.profile-summary-card p {
  font-size: 14px;
  line-height: 1.25;
}
.profile-actions {
  max-width: 252px;
  gap: 9px;
  margin-top: 4px;
}
.profile-actions .primary,
.profile-actions .secondary {
  padding: 12px 12px;
  font-size: 14px;
}
.profile-stats {
  margin-top: 12px;
  padding-top: 13px;
}
.profile-stats small {
  font-size: 11px;
}
.profile-stats strong {
  font-size: 14px;
}
.profile-info-card {
  margin-top: 12px;
  padding: 14px;
  border-radius: 20px;
}
.profile-info-card h2 {
  font-size: 18px;
  margin-bottom: 7px;
}
.profile-info-card p {
  font-size: 14px;
  line-height: 1.35;
}
.profile-chip-list {
  gap: 8px;
}
.profile-chip-list span {
  padding: 8px 11px;
  font-size: 13px;
}
.badge-row {
  margin-top: 12px;
  gap: 6px;
}
.badge-icon {
  width: 54px;
  height: 54px;
  font-size: 23px;
}
.badge-row strong {
  font-size: 12px;
}
.feedback-card {
  display: none;
}
.detail-card,
.group-hero,
.comment-card,
.mini-panel,
.composer-card,
.profile-summary-card,
.profile-info-card {
  box-shadow: 0 10px 24px rgba(52,45,106,.055);
}
.detail-card {
  gap: 11px;
  padding: 14px;
  border-radius: 20px;
}
.detail-card h2 {
  font-size: 20px;
}
.detail-card p {
  font-size: 14px;
  line-height: 1.35;
}
.detail-photo {
  height: 104px;
  border-radius: 15px;
}
.mini-panel,
.comment-card {
  padding: 11px;
}
.content-section.comments {
  padding: 13px;
}
.action-row {
  gap: 8px;
}
.action-row .primary,
.action-row .secondary,
.full {
  padding: 12px 12px;
  border-radius: 16px;
  font-size: 14px;
}
.group-hero.compact-hero {
  padding: 11px;
  gap: 10px;
  border-radius: 20px;
}
.compact-hero .thumb {
  width: 52px;
  height: 52px;
  border-radius: 14px;
}
.compact-hero h2 {
  font-size: 18px;
}
.compact-hero p {
  font-size: 12px;
  line-height: 1.28;
}
.compact-hero .primary {
  padding: 12px;
}
.create-form h3,
.sheet-card h2 {
  font-size: 20px;
  margin: 0;
}
.sheet-card {
  max-height: 82%;
  overflow: auto;
}
@media(max-width:380px){
  .profile-photo{width:70px;height:70px;}
  .profile-summary-card h2{font-size:20px;}
  .profile-actions{grid-template-columns:1fr 1fr;}
  .badge-icon{width:48px;height:48px;}
}


/* Chat and marketplace ownership polish */
.chat-row {
  grid-template-columns: 44px minmax(0, 1fr) auto auto;
}
.chat-row time {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.bubble small {
  color: inherit;
  opacity: .72;
  font-size: 11px;
  font-weight: 850;
}
.translate-inline {
  display: block;
  width: fit-content;
  margin-top: 8px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--primary);
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 900;
}
.seller-controls {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fbfaff;
}
.seller-controls h3 {
  margin: 0;
  font-size: 15px;
}
.form-note {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}


/* Final Bible compliance pass - compact prototype alignment */
.screen{padding:20px 24px 96px;}
.screen.centered{padding-top:150px;}
.topbar,.appbar{margin-bottom:14px;}
.topbar h1{font-size:19px;}
.back-button,.topbar>button,.appbar button{font-size:24px;}
.welcome-card,.soft-card{padding:17px;border-radius:20px;}
.welcome-card h1,.soft-card h2{font-size:21px;line-height:1.14;}
.welcome-card p,.soft-card p,.intro-copy{font-size:14px;line-height:1.42;}
.shortcut-grid{grid-template-columns:1fr 1fr;gap:10px;margin:13px 0;}
.shortcut-grid button{min-height:70px;padding:10px;border-radius:18px;grid-template-columns:38px minmax(0,1fr)!important;}
.shortcut-grid strong{font-size:13px;line-height:1.16;}
.shortcut-grid small{font-size:11px;line-height:1.18;}
.content-section{padding:13px;margin-top:12px;border-radius:20px;}
.group-start-inline{display:flex;align-items:center;gap:10px;padding:11px 2px 0;}.group-start-inline .feature-icon{flex:0 0 auto;width:38px;height:38px;}.group-start-inline span:nth-child(2){min-width:0;display:grid;gap:2px;flex:1;}.group-start-inline strong{font-size:14px;}.group-start-inline small{color:var(--muted);font-weight:700;font-size:12px;}.group-start-inline .secondary{width:auto;padding:9px 12px;border-radius:14px;font-size:12px;}
.create-form .primary.is-submitting{opacity:.72;cursor:wait;box-shadow:none;}
.section-title h2{font-size:16px;}
.row{grid-template-columns:52px minmax(0,1fr) auto;padding:10px;gap:10px;border-radius:18px;}
.row h3{font-size:14px;}
.row p{font-size:12.5px;}
.tabs button{font-size:12px;padding:8px 11px;}
.form-card{padding:15px;gap:12px;border-radius:20px;}
.form-card input,.form-card select,.search-field input,.create-form input,.create-form select,.create-form textarea,.form-modal input,.form-modal textarea{font-size:14px;padding:12px 13px;border-radius:15px;}
.clearable button{right:9px;width:26px;height:26px;}
.sheet-card{padding:12px 20px 24px;gap:10px;max-height:84%;}
.create-options button{min-height:68px;padding:11px;grid-template-columns:38px minmax(0,1fr)!important;}
.create-options .feature-icon,.sheet-card .feature-icon{width:38px;height:38px;border-radius:14px;}
.create-options strong{font-size:15px;line-height:1.12;}
.create-options small{font-size:12px;line-height:1.22;}
.create-form{gap:11px;}
.create-form h3{font-size:19px;}
.detail-card{padding:13px;gap:10px;border-radius:20px;}
.detail-card h2{font-size:19px;}
.detail-card p{font-size:13.5px;}
.detail-photo{height:100px;}
.mini-panel,.comment-card{padding:11px;border-radius:18px;}
.comment-card p{padding-right:76px;}
.action-row .primary,.action-row .secondary,.full{padding:11px 12px;border-radius:16px;}
.market-card{min-height:168px;padding:10px;border-radius:18px;}
.market-photo{height:84px;}
.market-card h3{font-size:14px;}
.market-card p{font-size:12.5px;}
.chat-detail-screen{padding:18px 24px 88px;}
.chat-thread-page{min-height:calc(100% - 48px);display:grid;grid-template-rows:minmax(0,1fr) auto;}
.chat-detail-screen .message-thread{min-height:0;align-content:end;gap:9px;padding:8px 0 10px;}
.bubble{font-size:13px;padding:10px 12px;border-radius:18px;}
.chat-detail-screen .message-compose,.full-chat .message-compose{position:sticky;bottom:0;margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(52,45,106,.06);}
.chat-input input{min-height:42px;border-radius:999px;}
.settings-gear{width:34px!important;height:34px!important;border-radius:12px!important;background:#f0edff!important;}
.settings-gear .feature-icon{width:24px;height:24px;background:transparent;}
.settings-gear .feature-icon::before{width:20px;height:20px;}
.profile-summary-card{padding:18px 15px 16px;border-radius:20px;gap:8px;}
.profile-photo{width:72px;height:72px;}
.profile-photo b{width:28px;height:28px;font-size:18px;}
.profile-summary-card h2{font-size:21px;}
.profile-summary-card p{font-size:13.5px;}
.profile-actions .primary,.profile-actions .secondary{padding:11px 12px;font-size:13px;}
.profile-info-card{padding:13px;margin-top:11px;}
.profile-info-card h2{font-size:17px;}
.profile-info-card p{font-size:13.5px;}
.badge-icon{width:48px;height:48px;}
.badge-icon .feature-icon{width:30px;height:30px;background:transparent;}
.badge-icon .feature-icon::before{width:22px;height:22px;}
.translation-note{margin-top:8px!important;padding:8px 10px;border-radius:14px;background:var(--soft);color:var(--primary)!important;font-size:12px!important;font-weight:850;}
@media(max-width:380px){.screen{padding-left:18px;padding-right:18px}.chat-detail-screen{padding-left:18px;padding-right:18px}.comment-card p{padding-right:0}}


/* Launch readiness repair pass - prototype-faithful compact UI */
.screen{display:none;height:calc(100% - 44px);overflow:auto;padding:20px 24px 96px;}
.screen.active{display:block;}
.topbar{min-height:36px;margin-bottom:14px;}
.topbar h1{font-size:19px;line-height:1.2;}
.topbar .back-button,.topbar>button{width:34px;height:34px;display:grid;place-items:center;font-size:24px;}
.welcome-card,.soft-card{padding:18px;border-radius:20px;}
.welcome-card h1,.soft-card h2{font-size:22px;line-height:1.14;}
.shortcut-grid{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0;}
.shortcut-grid button{min-height:66px;padding:10px 11px;grid-template-columns:36px minmax(0,1fr);gap:10px;border-radius:17px;}
.shortcut-grid strong{font-size:13px;line-height:1.15;white-space:normal;}
.shortcut-grid small{font-size:11px;line-height:1.18;white-space:normal;}
.feature-icon{width:38px;height:38px;border-radius:14px;}
.feature-icon::before{width:22px;height:22px;}
.content-section,.profile-info-card,.profile-summary-card,.detail-card,.empty-card{border-radius:20px;padding:14px;}
.list{gap:10px;}
.row{min-height:74px;grid-template-columns:52px minmax(0,1fr) auto;padding:10px;border-radius:17px;}
.row h3{font-size:14px;line-height:1.18;}
.row p{font-size:12.5px;line-height:1.25;}
.tabs{gap:8px;margin-bottom:12px;}
.tabs button{font-size:12px;padding:8px 12px;}
.sheet-card{left:0;right:0;bottom:0;max-height:86%;overflow:auto;padding:12px 20px 24px;border-radius:28px 28px 0 0;gap:10px;}
.sheet-card header{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.sheet-card h2{font-size:22px;line-height:1.12;margin:0;}
.create-options{display:grid;gap:10px;}
.create-options button{width:100%;min-height:66px;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:17px;background:#fff;text-align:left;}
.create-options .button-copy{display:block;min-width:0;}
.create-options .button-copy strong{display:block;font-size:15px;line-height:1.14;margin-bottom:2px;}
.create-options .button-copy small{display:block;font-size:12px;line-height:1.25;color:var(--muted);white-space:normal;}
.create-form{display:grid;gap:11px;}
.create-form[hidden]{display:none!important;}
.create-form h3{font-size:20px;line-height:1.15;margin:2px 0 0;}
.create-form .text-action{width:max-content;border:0;background:transparent;color:var(--primary);font-weight:900;padding:0;}
.create-form label,.form-card label,.form-modal label{display:grid!important;grid-template-columns:1fr!important;gap:7px;color:var(--muted);font-size:12.5px;font-weight:900;}
.create-form input,.create-form select,.create-form textarea,.form-card input,.form-card select,.form-modal input,.form-modal textarea{width:100%;min-width:0;border:0;border-radius:15px;background:#f4f3f9;padding:12px 13px;color:var(--ink);font-size:14px;font-weight:750;}
.create-form textarea,.form-modal textarea{min-height:88px;resize:vertical;}
.action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;}
.action-row .primary,.action-row .secondary{width:100%;padding:12px 14px;border-radius:16px;}
.detail-card{display:grid;gap:10px;}
.detail-card h2{font-size:22px;line-height:1.15;margin:0;}
.detail-card p{font-size:14px;line-height:1.38;margin:0;color:var(--muted);}
.detail-card [data-activity-meta]{
  color:#52607f;
  font-size:15px;
  font-weight:850;
  line-height:1.35;
}
.detail-card .price{color:var(--primary);font-weight:900;}
.seller-controls[hidden]{display:none!important;}
.seller-controls{border:1px solid var(--line);border-radius:18px;padding:12px;background:#fbfaff;display:grid;gap:9px;}
.seller-controls h3{font-size:15px;margin:0;}
.chat-list{gap:10px;}
.chat-row{min-height:76px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left;}
.chat-row-copy{min-width:0;display:grid;gap:3px;align-content:center;}
.chat-row-head{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;}
.chat-row h3{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;font-weight:900;color:var(--ink);}
.chat-row time{white-space:nowrap;text-align:right;font-size:11px;line-height:1.2;color:var(--muted);font-weight:900;}
.chat-row p{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.chat-row-context{color:var(--primary);font-size:12px;line-height:1.2;font-weight:900;}
.chat-row-preview{color:var(--muted);font-size:12px;line-height:1.25;font-weight:750;}
.chat-row small,.chat-row em{font-size:11.5px;line-height:1.2;color:var(--muted);font-style:normal;}
.chat-row .action{justify-self:end;color:var(--primary);font-size:22px;font-weight:900;line-height:1;}
.chat-detail-screen{padding-bottom:92px;}
.chat-thread-page{min-height:calc(100% - 50px);display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:20px;background:#fff;padding:12px;box-shadow:0 12px 28px rgba(52,45,106,.07);}
.chat-messages{display:flex;flex-direction:column;gap:9px;justify-content:flex-end;min-height:360px;}
.bubble{max-width:82%;font-size:13px;line-height:1.32;padding:10px 12px;border-radius:17px;}
.bubble small{font-size:10.5px;opacity:.75;}
.message-compose,.chat-input{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px;padding:8px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(52,45,106,.06);}
.message-compose input,.chat-input input{min-width:0;border:0;background:#f4f3f9;border-radius:999px;padding:11px 13px;font-size:14px;}
.message-compose .primary.small,.chat-input .primary.small{width:auto;min-width:64px;border-radius:999px;padding:11px 14px;}
.comment-card{position:relative;display:grid;gap:7px;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff;}
.comment-card time{position:absolute;right:12px;top:12px;font-size:11px;color:var(--muted);font-weight:900;}
.comment-card p{font-size:13px;line-height:1.32;margin:0;color:var(--muted);padding-right:70px;}
.translate-inline,.pill[data-translate]{width:max-content;border:0;border-radius:999px;background:var(--soft);color:var(--primary);padding:7px 10px;font-size:12px;font-weight:900;}
.profile-summary-card{text-align:center;display:grid;gap:10px;}
.profile-photo{width:78px;height:78px;margin:0 auto;border:0;border-radius:50%;background:linear-gradient(135deg,#9bc9ff,#e6ddff);position:relative;color:#fff;font-weight:900;font-size:28px;}
.profile-photo b{position:absolute;right:-2px;bottom:2px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);border:4px solid #fff;font-size:20px;}
.profile-summary-card h2{font-size:24px;line-height:1.1;margin:0;color:var(--primary);}
.profile-summary-card p{font-size:14px;line-height:1.25;margin:0;color:var(--muted);}
.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px auto 8px;width:min(270px,100%);}
.profile-actions .primary,.profile-actions .secondary{padding:12px;border-radius:999px;}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-top:1px solid var(--line);padding-top:12px;}
.profile-stats small{display:block;color:var(--muted);font-size:11px;font-weight:900;margin-bottom:3px;}
.profile-stats strong{font-size:15px;}
.profile-info-card h2{font-size:19px;margin:0 0 8px;}
.profile-chip-list{gap:8px;}
.profile-chip-list span{display:inline-flex;border-radius:999px;background:var(--soft);color:var(--primary);padding:8px 11px;font-size:12px;font-weight:900;}
.badge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;}
.badge-row .feature-icon{margin:0 auto 7px;width:54px;height:54px;border-radius:50%;}
.badge-row strong{font-size:12px;color:var(--muted);}
.bottom-nav{height:76px;grid-template-columns:1fr 1fr 82px 1fr 1fr;}
.bottom-nav .feature-icon{width:25px;height:25px;}
.bottom-nav .create-tab span{width:50px;height:50px;font-size:34px;}
@media(max-width:380px){.screen{padding-left:18px;padding-right:18px}.shortcut-grid button{grid-template-columns:34px minmax(0,1fr)}.create-options button{grid-template-columns:36px minmax(0,1fr)!important}.chat-messages{min-height:320px}}


/* Profile and report polish - Kablo Bible alignment */
.report-text-button{border:0!important;background:transparent!important;color:var(--danger)!important;font-size:12px!important;font-weight:900!important;padding:0!important;width:auto!important;height:auto!important;}
.settings-text-button{border:0!important;background:var(--soft)!important;color:var(--primary)!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;padding:8px 11px!important;width:auto!important;height:auto!important;}
.profile-summary-card{padding:15px 14px 14px!important;gap:8px!important;}
.profile-photo{width:70px!important;height:70px!important;font-size:26px!important;}
.profile-photo b{width:25px!important;height:25px!important;font-size:18px!important;right:-1px!important;bottom:1px!important;}
.profile-summary-card h2{font-size:21px!important;line-height:1.12!important;margin:0!important;}
.profile-summary-card p{font-size:13px!important;line-height:1.22!important;}
.profile-actions{width:min(260px,100%)!important;gap:9px!important;margin:3px auto 7px!important;}
.profile-actions .primary,.profile-actions .secondary{padding:11px 12px!important;font-size:13px!important;}
.profile-info-card{padding:13px 14px!important;}
.profile-info-card h2{font-size:18px!important;margin-bottom:7px!important;}
.profile-info-card p{font-size:13px!important;line-height:1.34!important;}
.profile-chip-list{gap:8px!important;}
.profile-chip-list span{font-size:12px!important;padding:7px 10px!important;line-height:1!important;}
.badge-card{padding-bottom:14px!important;}
.badge-row{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;align-items:start!important;}
.badge-row .feature-icon{width:46px!important;height:46px!important;border-radius:50%!important;margin:0 auto 6px!important;}
.badge-row .feature-icon::before{width:22px!important;height:22px!important;}
.badge-row strong{display:block!important;font-size:11.5px!important;line-height:1.15!important;color:var(--muted)!important;}
.profile-edit-modal{display:grid!important;gap:12px!important;max-height:82vh!important;overflow:auto!important;}
.profile-edit-modal h2{font-size:22px!important;line-height:1.12!important;}
.profile-edit-modal p{font-size:13px!important;line-height:1.35!important;margin:0!important;color:var(--muted)!important;}
.edit-interest-block{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.edit-interest-block>strong{font-size:15px!important;}
.edit-interest-chips{display:flex!important;gap:8px!important;margin-top:0!important;}
.edit-interest-chips button{font-size:12px!important;padding:8px 10px!important;}
.add-interest-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;}
.add-interest-row input{min-width:0;border:0;border-radius:15px;background:#f4f3f9;padding:12px 13px;font-size:14px;font-weight:750;color:var(--ink);}
.add-interest-row .secondary{border-radius:15px!important;padding:10px 14px!important;}


/* Designer QA pass - profile/actions must follow Kablo Bible */
.topbar .report-text-button{
  border:0!important;
  background:transparent!important;
  color:var(--danger)!important;
  font-size:13px!important;
  font-weight:900!important;
  padding:6px 0!important;
  min-width:48px!important;
  text-align:right!important;
  border-radius:0!important;
}
.topbar .settings-text-button{
  border:0!important;
  background:transparent!important;
  color:var(--primary)!important;
  font-size:13px!important;
  font-weight:900!important;
  padding:6px 0!important;
  min-width:58px!important;
  text-align:right!important;
  border-radius:0!important;
}
.profile-summary-card{
  width:100%!important;
  padding:14px!important;
  border-radius:18px!important;
  box-shadow:0 12px 26px rgba(31,23,69,.05)!important;
}
.profile-photo{
  width:66px!important;
  height:66px!important;
  aspect-ratio:1 / 1!important;
  padding:0!important;
  line-height:0!important;
  margin:0 auto 2px!important;
  font-size:24px!important;
}
.profile-summary-card h2{
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  color:var(--primary)!important;
}
.profile-summary-card > p{
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  margin:0!important;
  color:var(--muted)!important;
}
.profile-actions{
  width:min(238px,100%)!important;
  gap:8px!important;
}
.profile-actions .primary,
.profile-actions .secondary{
  min-height:38px!important;
  padding:9px 12px!important;
  font-size:13px!important;
}
.profile-stats{
  gap:6px!important;
  padding-top:11px!important;
}
.profile-stats small{
  font-size:10.5px!important;
  line-height:1.1!important;
}
.profile-stats strong{
  font-size:14px!important;
  line-height:1.1!important;
}
.profile-info-card{
  border-radius:16px!important;
  padding:12px 14px!important;
  margin-top:10px!important;
}
.profile-info-card h2{
  font-size:17px!important;
  line-height:1.15!important;
  margin:0 0 7px!important;
}
.profile-info-card p,
.profile-info-card [data-profile-about]{
  font-size:13.5px!important;
  line-height:1.38!important;
  color:var(--muted)!important;
  margin:0!important;
}
.profile-chip-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
}
.profile-chip-list span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
}
.badge-row .badge-icon{
  width:48px!important;
  height:48px!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:var(--soft)!important;
  margin:0 auto 6px!important;
}
.badge-row .badge-icon .feature-icon{
  width:24px!important;
  height:24px!important;
  margin:0!important;
}
.badge-row strong{
  font-size:11.5px!important;
  line-height:1.15!important;
}
.profile-edit-modal label{
  display:grid!important;
  gap:6px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:var(--muted)!important;
}
.profile-edit-modal input,
.profile-edit-modal select,
.profile-edit-modal textarea{
  width:100%!important;
  border:0!important;
  border-radius:15px!important;
  background:#f4f3f9!important;
  padding:12px 14px!important;
  font-size:14px!important;
  font-weight:750!important;
  color:var(--ink)!important;
  box-sizing:border-box!important;
}
.profile-edit-modal textarea{min-height:92px!important;resize:vertical!important;}
.profile-edit-modal .clearable{position:relative!important;display:block!important;}
.profile-edit-modal .clearable button{
  position:absolute!important;
  right:8px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  border:0!important;
  background:#e8e4fb!important;
  color:var(--muted)!important;
  font-size:18px!important;
  font-weight:900!important;
  display:grid!important;
  place-items:center!important;
}
.profile-edit-modal .modal-actions,
.profile-edit-modal > div:last-child{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:2px!important;
}


/* Germany launch bilingual setting */
.settings-language-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:grid;gap:8px;box-shadow:0 10px 24px rgba(31,23,69,.04);}
.settings-language-card{margin-bottom:12px;}
.settings-language-card h2{font-size:17px;line-height:1.15;margin:0;color:var(--ink);}
.settings-language-card p{font-size:13px;line-height:1.35;margin:0;color:var(--muted);}
.settings-choice-row{width:100%;border:1px solid var(--line);border-radius:18px;background:#fff;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;text-align:left;padding:11px 12px;margin-top:4px;}
.settings-choice-row .feature-icon{width:34px;height:34px;border-radius:12px;}
.settings-choice-row .feature-icon::before{width:20px;height:20px;}
.settings-choice-row strong{display:block;color:var(--ink);font-size:14px;line-height:1.15;}
.settings-choice-row small{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-top:2px;}
.settings-choice-row b{color:var(--primary);font-size:20px;line-height:1;}
.settings-choice-row.selected{background:#f3efff;border-color:#d8ccff;}
.language-picker-list{display:grid;gap:9px;}
.settings-account-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:grid;gap:8px;box-shadow:0 10px 24px rgba(31,23,69,.04);margin-top:12px;}
.settings-account-card h2{font-size:17px;line-height:1.15;margin:0;color:var(--ink);}
.settings-account-card p{font-size:13px;line-height:1.35;margin:0;color:var(--muted);}
.settings-account-card .danger-soft{width:max-content;padding:12px 18px;}
.account-security-modal{gap:12px;}
.account-security-panel{border:1px solid var(--line);border-radius:18px;background:#fff;padding:14px;display:grid;gap:9px;}
.account-security-panel h3{font-size:16px;line-height:1.15;margin:0;color:var(--ink);}
.account-security-panel p{font-size:13px;line-height:1.35;margin:0;color:var(--muted);}
.account-security-panel .full{width:100%;}

/* Launch QA fixes */
#group-detail-screen [data-group-panel="chat"] .full-chat{
  height:340px;
  min-height:340px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  overflow:hidden;
  padding:10px;
  margin-bottom:14px;
}
#group-detail-screen [data-group-panel="chat"] .chat-messages{
  min-height:0;
  justify-content:flex-start;
  overflow-y:auto;
  padding:8px 0 12px;
  gap:10px;
}
#group-detail-screen [data-group-panel="chat"] .message-compose{
  position:static!important;
  margin:0!important;
  flex-shrink:0;
}
#group-detail-screen [data-group-panel="chat"] .message-compose input{
  min-width:0;
}
.share-card{display:grid;gap:12px;}
.share-card .share-link-field{display:grid;gap:7px;color:var(--muted);font-weight:900;font-size:12px;}
.share-card input{width:100%;border:0;border-radius:16px;background:#f4f3f9;padding:12px;color:var(--ink);font-weight:800;}
.share-card .full{width:100%;}


/* Launch QA: page-owned create actions */
.bottom-nav.no-create-tab{grid-template-columns:repeat(4,1fr);height:74px;padding:8px 36px 10px 18px;}
.bottom-nav.no-create-tab button{min-width:0;}
.bottom-nav.no-create-tab .feature-icon{width:25px;height:25px;}
.bottom-nav.no-create-tab .create-tab{display:none!important;}
.bottom-nav button{position:relative!important;}
.bottom-nav .nav-dot{position:absolute!important;top:6px!important;right:calc(50% - 18px)!important;width:9px!important;height:9px!important;border-radius:999px!important;background:#ff3b30!important;box-shadow:0 0 0 2px #fff!important;pointer-events:none!important;z-index:3!important}
.bottom-nav .nav-dot[hidden]{display:none!important}
#activity-detail-screen .comments .list{gap:10px;margin-bottom:10px;}
#activity-detail-screen .comments .inline-compose{position:static;margin-top:10px;}
#activity-detail-screen .comment-card{margin:0;}

/* QA launch tightening: keep chat/forms compact and prevent old prototype styles from winning. */
.bottom-nav.no-create-tab{
  grid-template-columns:repeat(4,1fr)!important;
}
.bottom-nav.no-create-tab .create-tab{
  display:none!important;
}
.create-form{
  display:grid;
  gap:11px;
}
.create-form[hidden]{
  display:none!important;
}
.create-form label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.create-form input,
.create-form select,
.create-form textarea{
  width:100%;
  border:0;
  border-radius:15px;
  background:#f4f3f9;
  padding:12px 13px;
  color:var(--ink);
  font-size:14px;
  font-weight:750;
}
.create-form textarea{
  min-height:84px;
  resize:vertical;
}
.chat-detail-screen .chat-thread-page{
  min-height:560px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  overflow:hidden;
}
.chat-detail-screen .message-thread{
  overflow-y:auto;
  min-height:0!important;
  padding:10px 0 12px;
}
#group-detail-screen [data-group-panel="chat"] .full-chat{
  height:430px;
  min-height:430px;
}
.composer-card .primary.small,
.section-title .primary.small{
  width:auto!important;
  min-width:64px;
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:var(--primary);
  color:#fff;
  box-shadow:none;
}

/* Strict Kablo UI guardrails - activity/community QA */
.avatar-row{
  justify-content:flex-start!important;
  align-items:center;
  gap:8px!important;
  flex-wrap:wrap;
}
.avatar-row button,
.chat-initial{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  white-space:nowrap!important;
  color:#fff!important;
  background:var(--primary)!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:900!important;
  padding:0!important;
}
.avatar-row button small{
  display:none!important;
}
.member-line{
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:10px!important;
  width:100%;
  min-width:0;
  padding:6px 0;
}
.member-line span:last-child{
  min-width:0;
}
.member-line strong,
.member-line small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.location-panel{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.location-panel .feature-icon{
  width:38px;
  height:38px;
  border-radius:14px;
}
.location-panel strong{
  display:block;
  font-size:14px;
  line-height:1.15;
}
.location-panel p{
  margin:2px 0 0!important;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12.5px!important;
}
.location-panel button{
  border:0;
  border-radius:999px;
  background:var(--soft);
  color:var(--primary);
  padding:9px 11px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.compact-hero{
  grid-template-columns:54px minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:10px!important;
  padding:12px!important;
}
.compact-hero .thumb{
  width:54px!important;
  height:54px!important;
  border-radius:15px!important;
}
.compact-hero h2,
.compact-hero p{
  overflow-wrap:anywhere;
}
.compact-hero .chips{
  margin-top:7px!important;
}
.compact-hero [data-toggle-group]{
  grid-column:auto!important;
  width:auto!important;
  max-width:92px;
  min-height:38px;
  align-self:center;
  padding:9px 10px!important;
  border-radius:16px!important;
  font-size:12px!important;
  line-height:1.1!important;
  white-space:normal!important;
  box-shadow:none!important;
}
.action-grid{
  grid-template-columns:1fr!important;
  gap:8px!important;
}
.action-grid button{
  min-height:42px!important;
  width:100%;
  border:1px solid var(--line)!important;
  border-radius:15px!important;
  background:#f7f5ff!important;
  padding:10px 12px!important;
  font-size:12.5px!important;
  line-height:1.15!important;
  color:var(--primary)!important;
  text-align:left!important;
}
.action-grid .danger-soft{
  background:#fff0f3!important;
  color:var(--danger)!important;
  text-align:center!important;
}
.map-card{
  display:grid!important;
  gap:10px!important;
}
.map-card h2,
.map-card p{
  margin:0;
}
.map-card .full{
  width:100%!important;
}
.map-card .text-action{
  justify-self:center;
  margin-top:2px;
}
.attendees-card{
  width:min(340px,92vw);
  display:grid!important;
  gap:12px!important;
}
.attendees-card .section-title{
  margin-bottom:0;
}
.attendees-card .section-title button{
  border:0;
  background:var(--soft);
  color:var(--primary);
  border-radius:999px;
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
}
.attendees-list{
  max-height:360px;
  overflow:auto;
}
.attendees-list .member-line{
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  padding:10px;
}
.attendee-modal-section{
  display:grid;
  gap:8px;
}
.attendee-modal-section + .attendee-modal-section{
  border-top:1px solid var(--line);
  padding-top:12px;
}
.attendee-modal-section h3{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0;
  color:var(--ink);
  font-size:14px;
  line-height:1.15;
}
.attendee-modal-section h3 span{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
}
.waitlist-privacy-note{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}
.admin-tool-card{
  width:min(350px,92vw);
  display:grid!important;
  gap:12px!important;
}
.admin-tool-card .section-title{
  margin-bottom:0;
}
.admin-tool-card .section-title button{
  border:0;
  border-radius:999px;
  background:var(--soft);
  color:var(--primary);
  padding:8px 12px;
  font-size:12px;
  font-weight:900;
}
.admin-tool-card textarea{
  min-height:112px!important;
}
.admin-member-list{
  max-height:360px;
  overflow:auto;
}
.admin-member-row{
  grid-template-columns:40px minmax(0,1fr) auto!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  padding:10px!important;
}
.admin-member-row button{
  width:auto!important;
  min-width:76px!important;
  min-height:38px!important;
  padding:9px 11px!important;
  border-radius:14px!important;
  font-size:12px!important;
}
.admin-member-row button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:380px){
  .compact-hero{
    grid-template-columns:50px minmax(0,1fr)!important;
  }
  .compact-hero [data-toggle-group]{
    grid-column:1 / -1!important;
    max-width:none;
    width:100%!important;
  }
  .location-panel{
    grid-template-columns:38px minmax(0,1fr);
  }
  .location-panel button{
    grid-column:1 / -1;
    width:100%;
  }
}
.action-grid button{
  min-height:42px;
  border:0;
  border-radius:15px;
  background:var(--soft);
  color:var(--primary);
  font-size:13px;
  font-weight:900;
  padding:10px 12px;
}
.action-grid .danger-soft{
  background:#fff0f4;
  color:var(--danger);
}

/* Whole-app Kablo fit guardrails */
.phone-shell,
.screen,
.content-section,
.section-title,
.detail-card,
.mini-panel,
.group-hero,
.composer-card,
.comment-card,
.empty-card,
.profile-summary-card,
.profile-info-card,
.form-card,
.modal-card,
.sheet-card,
.row,
.market-card,
.deal-card,
.chat-row,
.upload-box,
.settings-list button,
.action-grid button,
.shortcut-grid button,
.create-options button,
.tabs button,
.chips button,
.compact-chips span,
.primary,
.secondary,
.ghost,
.pill,
.danger-soft,
.danger-text{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.row > *,
.chat-row > *,
.market-card > *,
.deal-card > *,
.detail-card > *,
.content-section > *,
.mini-panel > *,
.group-hero > *,
.composer-card > *,
.comment-card > *,
.profile-summary-card > *,
.profile-info-card > *,
.form-card > *,
.modal-card > *,
.sheet-card > *,
.upload-box > *,
.section-title > *{
  min-width:0;
}
.button-copy,
.button-copy strong,
.button-copy small,
.row h3,
.row p,
.market-card h3,
.market-card p,
.deal-card h3,
.deal-card p,
.section-title h2,
.topbar h1,
.profile-summary-card h2,
.profile-info-card h2,
.detail-card h2,
.detail-card p,
.comment-card p,
.chat-row h3,
.chat-row p,
.upload-box strong,
.upload-box small,
label,
input,
textarea,
select{
  max-width:100%;
  overflow-wrap:anywhere;
}
.tabs button,
.chips button,
.compact-chips span,
.primary,
.secondary,
.ghost,
.pill,
.mini-actions button,
.footer-actions button,
.action-grid button,
.settings-list button,
.create-options button,
.shortcut-grid button{
  white-space:normal;
  text-align:center;
}
.section-title{
  gap:10px;
  align-items:center;
}
.section-title h2{
  flex:1 1 auto;
}
.section-title button,
.section-title a{
  flex:0 0 auto;
  max-width:48%;
  overflow-wrap:anywhere;
}
.action-row{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.action-row button{
  min-width:0;
  overflow-wrap:anywhere;
}
.activity-join-actions{
  grid-template-columns:1fr!important;
}
.activity-join-actions button[hidden]{
  display:none!important;
}
.modal-card div,
.modal-card button{
  min-width:0;
}
@media(max-width:380px){
  .action-row{
    grid-template-columns:1fr;
  }
  .section-title{
    align-items:flex-start;
  }
  .section-title button,
  .section-title a{
    max-width:56%;
    text-align:right;
  }
  .topbar h1{
    font-size:18px;
    overflow-wrap:anywhere;
  }
}

/* Final launch layout corrections */
#chat-detail-screen{
  padding-bottom:86px!important;
}
#chat-detail-screen .chat-thread-page{
  height:calc(100% - 52px)!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:minmax(0,1fr) auto!important;
}
#chat-detail-screen .message-thread{
  min-height:0!important;
  overflow:auto!important;
  justify-content:flex-end!important;
  padding:10px 0 12px!important;
}
#chat-detail-screen .message-compose{
  align-self:end!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
.activity-join-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:2px!important;
}
.activity-join-actions button{
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
}
.activity-join-actions button[hidden]{
  display:none!important;
}
#activity-detail-screen [data-route="plans-screen"]{
  margin-top:2px!important;
  min-height:42px!important;
  padding:12px 14px!important;
  border-radius:16px!important;
}
#activity-detail-screen [data-show-attendees]{
  position:relative;
  z-index:2;
  padding:7px 9px!important;
  border-radius:999px!important;
  background:transparent!important;
}

/* Final strict no-overflow pass */
.modal-card{
  width:min(340px,92vw)!important;
  max-width:92vw!important;
  overflow:hidden!important;
}
.modal-card > div:not(.section-title),
.modal-card .list,
.modal-card label,
.modal-card form{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  min-width:0!important;
  max-width:100%!important;
}
.modal-card .section-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
}
.modal-card .section-title h2,
.modal-card .section-title button{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}
.attendees-card .attendees-list,
.admin-tool-card [data-admin-modal-body],
.admin-member-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.attendees-card .member-line{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr)!important;
  gap:10px!important;
}
.admin-member-row{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.member-line span,
.member-line strong,
.member-line small,
.admin-member-row span,
.admin-member-row strong,
.admin-member-row small{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.member-line strong,
.member-line small,
.admin-member-row strong,
.admin-member-row small{
  display:block!important;
  white-space:nowrap!important;
}
button,
.primary,
.secondary,
.danger-soft,
.danger-text,
.pill,
.tabs button,
.chips button,
.compact-chips span{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

.location-filter{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:12px!important;
  margin:10px 0 12px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(104,66,244,.06)!important;
}
.location-filter[hidden]{
  display:none!important;
}
.search-field.with-location{
  grid-template-columns:28px minmax(0,1fr) 30px 38px!important;
  gap:8px!important;
}
.search-field.with-location:has(.search-clear[hidden]){
  grid-template-columns:28px minmax(0,1fr) 38px!important;
}
.search-clear{
  width:28px!important;
  height:28px!important;
  min-height:28px!important;
  border:0!important;
  border-radius:999px!important;
  background:#ebe7fb!important;
  color:var(--muted)!important;
  font-size:18px!important;
  font-weight:900!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  line-height:1!important;
}
.search-clear[hidden]{
  display:none!important;
}
.location-trigger{
  width:36px!important;
  height:36px!important;
  min-height:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  background:#fff!important;
  display:grid!important;
  place-items:center!important;
}
.location-trigger .feature-icon{
  width:24px!important;
  height:24px!important;
  background:transparent!important;
}
.location-trigger .feature-icon::before{
  width:20px!important;
  height:20px!important;
}
.location-filter label{
  display:grid!important;
  gap:6px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  min-width:0!important;
}
.location-filter select{
  width:100%!important;
  min-width:0!important;
  border:0!important;
  border-radius:14px!important;
  background:#f4f1ff!important;
  color:var(--ink)!important;
  font-size:13px!important;
  font-weight:800!important;
  padding:11px 12px!important;
}
.comment-card h3{
  font-size:14px!important;
  line-height:1.25!important;
  margin:6px 0 4px!important;
  overflow-wrap:anywhere!important;
}
.row h3,
.market-card h3{
  overflow-wrap:anywhere!important;
}

#market-detail-screen .topbar{
  grid-template-columns:44px minmax(0,1fr) auto!important;
}
.top-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  min-width:0!important;
}
.top-actions button{
  min-height:34px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f4f1ff!important;
  color:var(--primary)!important;
  font-weight:900!important;
  padding:8px 11px!important;
  line-height:1!important;
}
.top-actions .icon-action{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}
.top-actions .icon-action .feature-icon{
  width:24px!important;
  height:24px!important;
  background:transparent!important;
}
.top-actions .icon-action .feature-icon::before{
  width:21px!important;
  height:21px!important;
}
.top-actions [data-save-kind]{
  width:36px!important;
  padding:8px!important;
  font-size:19px!important;
}
.top-actions [data-save-kind].is-saved{
  background:var(--primary)!important;
  color:#fff!important;
}
.top-actions [data-save-kind].is-saved .feature-icon{
  color:#fff!important;
}
.market-detail-card{
  gap:12px!important;
}
.room-detail-card{
  gap:13px!important;
}
.room-photo-carousel{
  display:grid!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.room-photo-slide{
  position:relative!important;
  width:100%!important;
  min-height:188px!important;
  border:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#e7b373,#ead681 58%,#b7ad98)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)!important;
  padding:0!important;
  text-align:left!important;
}
.room-photo-slide span{
  position:absolute!important;
  left:12px!important;
  bottom:12px!important;
  max-width:calc(100% - 24px)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.88)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  padding:7px 10px!important;
}
.market-photo-carousel{
  display:grid!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
}
.market-photo-slide{
  position:relative!important;
  min-height:190px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#9bbcf7,#e9d47d 58%,#b98ce6)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)!important;
}
.market-photo-slide span{
  position:absolute!important;
  left:12px!important;
  bottom:12px!important;
  max-width:calc(100% - 24px)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.86)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  padding:7px 10px!important;
}
.carousel-dots{
  display:flex!important;
  justify-content:center!important;
  gap:6px!important;
}
.carousel-dots button{
  width:7px!important;
  height:7px!important;
  min-height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#ded8f8!important;
}
.carousel-dots button.active{
  width:18px!important;
  background:var(--primary)!important;
}
.description-block{
  display:grid!important;
  gap:6px!important;
  min-width:0!important;
}
.description-block h3{
  margin:0!important;
  color:var(--ink)!important;
  font-size:15px!important;
  line-height:1.2!important;
}
.description-block p{
  overflow-wrap:anywhere!important;
}
.poster-card{
  display:grid!important;
  gap:9px!important;
  padding:12px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:#fff!important;
}
.poster-card h3{
  margin:0!important;
  font-size:15px!important;
  line-height:1.2!important;
  color:var(--ink)!important;
}
.poster-card .member-line{
  width:100%!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  background:transparent!important;
}
.room-poster-inline{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  min-height:36px!important;
  padding:2px 0 0!important;
}
.posted-label{
  flex:0 0 auto!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
}
.listing-posted-at{
  margin:3px 0 8px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.poster-profile-tap{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  color:var(--ink)!important;
  font-weight:900!important;
  text-align:left!important;
}
.poster-profile-tap .chat-initial.compact{
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  flex:0 0 32px!important;
  font-size:14px!important;
}
.poster-profile-tap strong{
  min-width:0!important;
  max-width:190px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1.2!important;
}
.room-photo-viewer-card{
  width:min(340px,calc(100vw - 48px))!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  padding:14px!important;
}
.room-photo-viewer-card header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.room-photo-viewer-card header h2{
  margin:0!important;
  color:var(--ink)!important;
  font-size:18px!important;
  line-height:1.2!important;
}
.room-photo-viewer-card header button{
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f1edff!important;
  color:var(--ink)!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  font-size:24px!important;
  font-weight:900!important;
}
.room-photo-viewer-image{
  position:relative!important;
  height:360px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#e7b373,#ead681 58%,#b7ad98)!important;
  overflow:hidden!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)!important;
}
.room-photo-viewer-image span{
  position:absolute!important;
  left:12px!important;
  bottom:12px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.88)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  padding:7px 10px!important;
}
.room-photo-viewer-card .carousel-dots{
  display:flex!important;
  justify-content:center!important;
  gap:6px!important;
}
.danger-inline{
  color:var(--danger)!important;
}
.public-profile-hero{
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  background:#fff!important;
  padding:28px 20px 22px!important;
  display:grid!important;
  justify-items:center!important;
  gap:12px!important;
  text-align:center!important;
  box-shadow:var(--shadow)!important;
}
.profile-preview-avatar{
  position:relative!important;
  width:96px!important;
  height:96px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#6842f4,#8f6bff)!important;
  color:#fff!important;
  font-size:38px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 16px 32px rgba(104,66,244,.22)!important;
  overflow:hidden!important;
}
.profile-preview-avatar::before{
  content:none!important;
}
.profile-preview-avatar span{
  position:static!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
}
.profile-preview-avatar.has-photo::before,
.profile-preview-avatar.has-photo span{display:none!important;}
.public-profile-hero h2{
  margin:6px 0 0!important;
  font-size:22px!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
}
.public-profile-hero p{
  margin:0!important;
  color:var(--muted)!important;
  font-size:17px!important;
  line-height:1.35!important;
  max-width:290px!important;
}
.public-profile-details{
  width:100%!important;
  display:grid!important;
  gap:0!important;
  text-align:center!important;
}
.public-profile-details p{
  max-width:none!important;
  display:block!important;
  padding:0!important;
}
.public-profile-details p span{
  display:none!important;
}
.public-profile-details p strong{
  color:var(--muted)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:400!important;
  overflow-wrap:anywhere!important;
}
.public-profile-hero .primary{
  margin-top:6px!important;
  border-radius:18px!important;
  min-height:54px!important;
  font-size:16px!important;
}
.public-profile-note{
  margin-top:14px!important;
  border-radius:20px!important;
  background:#e8fbf4!important;
  padding:18px!important;
  color:#14795e!important;
}
.public-profile-note h2{
  margin:0 0 8px!important;
  font-size:18px!important;
}
.public-profile-note p{
  margin:0!important;
  color:#14795e!important;
  line-height:1.4!important;
}
.profile-preview-modal{
  position:relative!important;
  text-align:center!important;
  display:grid!important;
  justify-items:center!important;
  gap:10px!important;
}
.modal-x{
  position:absolute!important;
  right:12px!important;
  top:12px!important;
  width:32px!important;
  height:32px!important;
  min-height:32px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f4f1ff!important;
  color:var(--primary)!important;
  font-size:20px!important;
  font-weight:900!important;
}
.chat-initial.large{
  width:58px!important;
  height:58px!important;
  border-radius:50%!important;
  font-size:22px!important;
}
.profile-preview-modal h2{
  margin:2px 0 0!important;
  font-size:20px!important;
}
.profile-preview-modal p{
  margin:0!important;
}

.row .action{
  color:var(--primary)!important;
  font-size:22px!important;
  line-height:1!important;
  opacity:.72!important;
}

.post-city-control{
  width:100%;
  min-height:48px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border-radius:16px;
  background:#f4f3f9;
  padding:8px 10px;
}
.post-city-control .feature-icon{
  width:30px;
  height:30px;
  border-radius:11px;
}
.post-city-control .feature-icon::before{
  width:19px;
  height:19px;
}
.post-city-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.post-city-control strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ink);
  font-size:14px;
  line-height:1.2;
}
.post-city-control small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.2;
  font-weight:800;
}
.post-city-control button{
  border:0;
  border-radius:999px;
  background:#ebe7ff;
  color:var(--primary);
  padding:9px 12px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.post-city-modal{
  display:grid!important;
  place-items:center!important;
  padding:22px!important;
}
.post-city-modal .scrim{
  background:rgba(17,23,50,.38)!important;
  z-index:0;
}
.post-city-modal .compact-city-picker{
  position:relative;
  z-index:1;
  width:100%;
  max-width:330px;
  max-height:min(560px,78vh);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr!important;
  gap:12px;
  padding:16px;
  border-radius:24px;
}
.post-city-modal .compact-city-picker header{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  gap:10px;
  align-items:center;
}
.post-city-modal .compact-city-picker header h2{
  margin:0;
  font-size:19px;
  line-height:1.2;
}
.post-city-modal .compact-city-picker header button{
  width:38px!important;
  height:38px!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--soft)!important;
  color:var(--ink)!important;
  font-size:22px!important;
  font-weight:900!important;
}
.post-city-search{
  margin:0!important;
  padding:7px 11px!important;
  border-radius:17px!important;
}
.post-city-search input{
  padding:8px 0!important;
}
.city-choice-list{
  display:grid;
  gap:8px;
  overflow:auto;
  max-height:310px;
  padding-right:2px;
}
.post-city-modal .city-choice{
  display:grid;
  grid-template-columns:36px 1fr;
  gap:10px;
  align-items:center;
  text-align:left;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  padding:11px;
  color:var(--ink);
}
.post-city-modal .city-choice.current,
.post-city-modal .city-choice.selected{
  background:#f3efff;
  border-color:#d8ccff;
}
.city-choice strong{
  display:block;
  color:var(--ink);
  font-size:14px;
}
.city-choice small{
  display:block;
  margin-top:2px;
}

.chat-contact-card{
  width:100%;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:center;
  text-align:left;
  padding:10px 12px;
  margin-bottom:10px;
}
.chat-contact-card strong{
  display:block;
  color:var(--ink);
  font-size:14px;
  line-height:1.15;
}
.chat-contact-card small{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  margin-top:2px;
}
[data-profile-edit-modal]{
  align-items:center!important;
  overflow:hidden!important;
}
[data-profile-edit-modal] .profile-edit-modal{
  max-height:min(680px,82vh)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding-bottom:18px!important;
}

/* Strict header rule: page titles must be visually centered in the phone, not offset by side actions. */
.topbar{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr)!important;
  align-items:center!important;
  column-gap:8px!important;
}
.topbar > :first-child{
  grid-column:1!important;
  justify-self:start!important;
}
.topbar h1{
  grid-column:2!important;
  justify-self:center!important;
  text-align:center!important;
  max-width:210px!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.topbar > :last-child{
  grid-column:3!important;
  justify-self:end!important;
}
[data-profile-edit-modal] .profile-edit-modal > div:last-child{
  position:sticky!important;
  bottom:0!important;
  background:#fff!important;
  padding-top:10px!important;
}
@media (max-width:380px){
  .market-photo-slide{min-height:170px!important;}
  .top-actions button{font-size:12px!important;padding:8px 9px!important;}
}


/* Profile modal + report reason polish */
[data-profile-edit-modal] .profile-edit-modal{
  padding-bottom:16px!important;
}
[data-profile-edit-modal] .profile-edit-modal > div:last-child{
  position:static!important;
  bottom:auto!important;
  background:transparent!important;
  padding-top:0!important;
  margin-top:12px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.profile-edit-modal .add-interest-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin-top:10px!important;
}
.profile-edit-modal .add-interest-row input,
.profile-edit-modal .add-interest-row button{
  min-height:44px!important;
}
.profile-edit-modal .add-interest-row input{
  min-width:0!important;
}
.profile-edit-modal .edit-interest-block{
  display:grid!important;
  gap:8px!important;
}
.profile-photo-actions{
  display:flex!important;
  justify-content:flex-start!important;
  margin-top:-2px!important;
}
.profile-photo-actions .danger-soft{
  width:auto!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
.profile-edit-modal{
  gap:10px!important;
}
.profile-edit-modal label{
  gap:7px!important;
}
.profile-edit-modal textarea{
  min-height:92px!important;
  resize:vertical!important;
}
.profile-edit-modal .edit-interest-chips{
  gap:8px!important;
  row-gap:8px!important;
}
.profile-edit-modal .add-interest-row{
  margin-top:8px!important;
}
.profile-edit-modal .profile-photo-actions{
  margin-top:2px!important;
}
.profile-edit-modal .profile-photo-actions .danger-soft{
  width:100%!important;
  min-height:44px!important;
}
[data-profile-edit-modal] .profile-edit-modal > div:last-child{
  margin-top:6px!important;
  gap:8px!important;
}
[data-profile-edit-modal] .profile-edit-modal > div:last-child button{
  min-height:44px!important;
}
.report-reason-chips{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.report-reason-chips button{
  min-width:0!important;
  white-space:normal!important;
  line-height:1.15!important;
}


/* Group detail header polish */
#group-detail-screen .group-hero.compact-hero{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px!important;
  min-height:86px!important;
}
#group-detail-screen .group-hero .thumb{
  width:52px!important;
  height:52px!important;
  border-radius:15px!important;
  align-self:start!important;
}
#group-detail-screen .group-hero h2{
  margin:0!important;
  font-size:17px!important;
  line-height:1.15!important;
  max-width:100%!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#group-detail-screen .group-hero p{
  margin:3px 0 6px!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:var(--muted)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
#group-detail-screen .group-hero .compact-chips{
  margin:0!important;
  gap:6px!important;
}
#group-detail-screen .group-hero .compact-chips span{
  padding:6px 9px!important;
  border-radius:999px!important;
  font-size:11.5px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
#group-detail-screen [data-toggle-group]{
  width:auto!important;
  min-width:86px!important;
  max-width:98px!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  font-size:12.5px!important;
  line-height:1.1!important;
  align-self:center!important;
  box-shadow:none!important;
  white-space:normal!important;
}
@media(max-width:380px){
  #group-detail-screen .group-hero.compact-hero{
    grid-template-columns:48px minmax(0,1fr) 82px!important;
    gap:8px!important;
    padding:10px!important;
  }
  #group-detail-screen .group-hero .thumb{width:48px!important;height:48px!important;}
  #group-detail-screen [data-toggle-group]{min-width:82px!important;max-width:82px!important;font-size:12px!important;padding:9px 8px!important;}
}


/* Mixed Discover + launch form polish */
.discover-section{padding:13px!important;margin-top:12px!important;}
.discover-tabs{gap:7px!important;margin-bottom:12px!important;}
.discover-tabs button{padding:9px 11px!important;font-size:12.5px!important;}
.labeled-add{font-size:13px!important;min-width:78px!important;width:auto!important;border-radius:999px!important;background:#f0edff!important;color:var(--primary)!important;padding:9px 12px!important;}
.topbar .labeled-add{font-size:12.5px!important;}
.field-hint{display:block!important;margin-top:5px!important;color:var(--muted)!important;font-size:11.5px!important;line-height:1.3!important;font-weight:750!important;}
.field-error{display:block!important;margin-top:6px!important;color:#ff5570!important;font-size:11.5px!important;line-height:1.3!important;font-weight:900!important;}
.field-invalid input,.field-invalid select,.field-invalid textarea{outline:2px solid rgba(255,85,112,.34)!important;background:#fff6f8!important;}
.market-card{appearance:none;-webkit-appearance:none;border:1px solid var(--line);background:#fff;color:inherit;font:inherit;cursor:pointer;}
.market-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.create-form input[type="file"]{padding:12px!important;background:#f7f5ff!important;border:1px dashed var(--line)!important;}


/* Discover featured slide */
#discover-screen .topbar{margin-bottom:14px!important;}
.discover-slide-card{
  position:relative!important;
  min-height:136px!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  padding:16px!important;
  margin:0 0 14px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
  gap:14px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#f4f0ff 0%,#fff8ef 58%,#eef7ff 100%)!important;
  box-shadow:0 12px 28px rgba(52,45,106,.07)!important;
}
.discover-slide-card::after{
  content:"";
  position:absolute;
  inset:auto -30px -46px auto;
  width:140px;
  height:140px;
  border-radius:50%;
  background:rgba(104,64,246,.1);
}
.discover-slide-copy{display:grid!important;gap:6px!important;align-content:start!important;min-width:0!important;}
.discover-slide-copy h2{margin:0!important;font-size:21px!important;line-height:1.08!important;color:var(--ink)!important;}
.discover-slide-copy p{margin:0!important;font-size:13px!important;line-height:1.35!important;color:var(--muted)!important;font-weight:800!important;}
.discover-slide-copy button{
  justify-self:start!important;
  margin-top:4px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--primary)!important;
  color:white!important;
  padding:9px 13px!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
.discover-slide-art{
  position:relative!important;
  z-index:1!important;
  width:86px!important;
  height:86px!important;
  border-radius:20px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#8bb8ff,#b28cff 58%,#f0d67d)!important;
  align-self:center!important;
}
.discover-slide-art .feature-icon{background:rgba(255,255,255,.78)!important;}
.discover-dots{position:absolute!important;left:16px!important;bottom:12px!important;margin:0!important;justify-content:flex-start!important;}
.discover-section{padding:13px!important;margin-top:12px!important;}


/* Discover slide dots polish */
.discover-slide-card{padding-bottom:28px!important;}
.discover-dots{
  left:16px!important;
  bottom:11px!important;
  width:auto!important;
  height:8px!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:0!important;
  background:transparent!important;
  z-index:3!important;
  pointer-events:none!important;
}
.discover-dots span{
  width:6px!important;
  height:6px!important;
  border-radius:999px!important;
  background:#d9d2ef!important;
  display:block!important;
}
.discover-dots span.active{
  width:16px!important;
  background:var(--primary)!important;
}


.profile-list-card .section-title{margin-bottom:10px;}
.profile-list-card .section-title small{color:var(--muted);font-weight:900;}
.profile-mini-list{display:grid;gap:9px;}
.profile-mini-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;padding:10px;color:var(--ink);}
.profile-mini-row .thumb{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#8bcfa7,#7275df);}
.profile-mini-row .thumb.deal{background:linear-gradient(135deg,#88b9f4,#f0da8d 65%,#ad8aec);}
.profile-mini-row .thumb.activity{background:linear-gradient(135deg,#ffb37a,#6f42f4);}
.profile-mini-row .feature-icon{width:42px;height:42px;margin:0;}
.profile-mini-row strong{display:block;font-size:14px;line-height:1.15;white-space:normal;overflow-wrap:anywhere;}
.profile-mini-row small{display:block;color:var(--muted);font-weight:800;font-size:12px;line-height:1.25;margin-top:2px;}
.profile-mini-row b{color:var(--primary);font-size:20px;}
.profile-list-card .section-title h2 small{color:var(--muted);font-size:13px;margin-left:4px;font-weight:800;}

/* Group post layout polish */
.group-post-card{
  gap:9px!important;
}
.group-post-card time{
  position:static!important;
}
.group-post-card p{
  padding-right:0!important;
  color:var(--muted)!important;
}
.group-post-author,
.group-reply-author{
  width:100%;
  border:0;
  background:transparent;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:0;
  text-align:left;
  color:var(--ink);
}
.group-post-author .chat-initial,
.group-reply-author .chat-initial{
  width:38px;
  height:38px;
  font-size:15px;
}
.group-post-author strong,
.group-reply-author strong{
  display:block;
  font-size:14px;
  line-height:1.15;
  color:var(--ink);
}
.group-post-author small,
.group-reply-author small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
}
.group-post-actions,
.group-reply-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  align-items:center!important;
}
.group-post-actions button,
.group-reply-actions button{
  border:0!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  padding:7px 11px!important;
  font-size:12px!important;
  font-weight:900!important;
  width:auto!important;
  white-space:nowrap!important;
}
.group-reply-card{
  margin:4px 0 0 48px;
  border-radius:16px;
  background:#f4f1ff;
  padding:10px 11px;
  display:grid;
  gap:7px;
}
.group-reply-card .chat-initial{
  width:28px;
  height:28px;
  font-size:12px;
}
.group-reply-card .group-reply-author{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
}
.group-reply-card .group-reply-author > span:last-child{
  display:grid!important;
  gap:1px!important;
  min-width:0!important;
}
.group-reply-text{
  display:block;
  color:var(--ink);
  font-size:13px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.group-replies{
  display:grid;
  gap:8px;
}
.inline-reply-form{
  margin-top:8px;
}

label[hidden],
[data-name-row][hidden]{
  display:none!important;
}


/* 2026-08-08: strict alignment for group replies and activity comment actions. */
.group-reply-card{
  margin:6px 0 0 0!important;
  padding:10px 12px!important;
  border-radius:16px!important;
  background:#f4f1ff!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  column-gap:10px!important;
  row-gap:6px!important;
  align-items:start!important;
}
.group-reply-card .group-reply-author{
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}
.group-reply-card .chat-initial{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  font-size:13px!important;
  position:static!important;
  flex:0 0 34px!important;
}
.group-reply-card .group-reply-author > span:last-child{
  min-width:0!important;
  display:grid!important;
  gap:1px!important;
}
.group-reply-card .group-reply-author strong,
.group-reply-card .group-reply-author small{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.group-reply-card .group-reply-text{
  grid-column:1 / -1!important;
  margin:0!important;
  padding:0!important;
  color:var(--ink)!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.group-reply-card .group-reply-actions{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:2px!important;
}
#activity-detail-screen .comment-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:10px!important;
  row-gap:7px!important;
  align-items:start!important;
}
#activity-detail-screen .comment-card strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#activity-detail-screen .comment-card time{
  position:static!important;
  justify-self:end!important;
  white-space:nowrap!important;
}
#activity-detail-screen .comment-card p{
  grid-column:1 / -1!important;
  padding-right:0!important;
}
#activity-detail-screen .comment-card > .pill,
#activity-detail-screen .comment-card > .mini-actions{
  grid-column:auto!important;
  align-self:center!important;
}
#activity-detail-screen .comment-card > .mini-actions{
  justify-self:start!important;
  display:flex!important;
  gap:8px!important;
}
#activity-detail-screen .comment-card > .pill,
#activity-detail-screen .comment-card > .mini-actions button{
  margin:0!important;
  width:auto!important;
  white-space:nowrap!important;
}


/* 2026-08-08: activity comment actions must stay compact in one row. */
#activity-detail-screen .comment-card .activity-comment-actions{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
#activity-detail-screen .comment-card .activity-comment-actions .pill,
#activity-detail-screen .comment-card .activity-comment-actions button{
  width:auto!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  margin:0!important;
  white-space:nowrap!important;
}

/* 2026-08-08: one strict header pattern for all student content cards. */
.student-content-header{
  width:100%!important;
  border:0!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  padding:0!important;
  text-align:left!important;
  color:var(--ink)!important;
}
.student-content-header .chat-initial{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  font-size:13px!important;
  position:static!important;
  flex:0 0 34px!important;
}
.student-content-line{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:baseline!important;
}
.student-content-line strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--ink)!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:900!important;
}
.student-content-line time{
  position:static!important;
  justify-self:end!important;
  color:var(--muted)!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.activity-comment-card,
.group-post-card,
.group-reply-card{
  display:grid!important;
  gap:8px!important;
}
#activity-detail-screen .activity-comment-card{
  grid-template-columns:1fr!important;
}
.activity-comment-card p,
.group-post-card p,
.group-reply-card .group-reply-text{
  grid-column:1 / -1!important;
  padding-right:0!important;
  margin:0!important;
}
.activity-comment-actions,
.group-post-actions,
.group-reply-actions{
  grid-column:1 / -1!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.activity-comment-actions button,
.activity-comment-actions .pill,
.group-post-actions button,
.group-reply-actions button{
  width:auto!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  margin:0!important;
  white-space:nowrap!important;
}

.profile-summary-card .profile-city-line{
  margin-top:-8px!important;
  margin-bottom:10px!important;
  color:var(--muted)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.25!important;
}

/* Launch form polish - photo upload and city picker search */
.photo-upload-label{gap:8px!important;}
.photo-upload-card{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
  width:100%!important;
  min-height:62px!important;
  padding:11px!important;
  border:1px dashed #d8ccff!important;
  border-radius:18px!important;
  background:#f8f6ff!important;
  color:var(--ink)!important;
}
.photo-upload-card .feature-icon{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  margin:0!important;
}
.photo-upload-card strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.15!important;
}
.photo-upload-card small{
  display:block!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.25!important;
  margin-top:2px!important;
  font-weight:800!important;
}
.photo-upload-card b{
  color:var(--primary)!important;
  font-size:20px!important;
  line-height:1!important;
}
.create-form .kablo-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  padding:0!important;
  border:0!important;
}
.place-autocomplete{position:relative;display:block;}
.place-suggestions{position:absolute;z-index:12;left:0;right:0;top:calc(100% + 6px);display:grid;gap:2px;max-height:220px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 14px 28px rgba(35,28,85,.16);}
.place-suggestions button{display:grid;gap:2px;border:0;border-radius:10px;background:transparent;padding:10px 11px;text-align:left;color:var(--ink);}
.place-suggestions button:hover,.place-suggestions button:focus-visible{background:var(--soft-2);outline:0;}
.place-suggestions strong{font-size:13px;line-height:1.2;}
.place-suggestions small{color:var(--muted);font-size:12px;line-height:1.25;font-weight:700;}
.place-search-status{display:block;padding:11px;color:var(--muted);font-size:13px;font-weight:700;line-height:1.35;}
.group-hero .thumb.has-uploaded-image{background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;background-color:var(--soft-2)!important;}
.photo-upload-preview{
  display:flex!important;
  gap:8px!important;
  min-width:0!important;
  overflow:auto!important;
  padding-top:2px!important;
}
.photo-upload-preview img{
  width:68px!important;
  height:52px!important;
  flex:0 0 68px!important;
  object-fit:contain!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--soft-2)!important;
}
.room-photo-slide.has-uploaded-image,
.market-photo-slide.has-uploaded-image,
.detail-photo.has-uploaded-image,
.room-photo-viewer-image.has-uploaded-image{
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-color:var(--soft-2)!important;
}
.detail-photo{
  min-height:220px!important;
  height:220px!important;
  background-position:center!important;
}
.detail-photo.has-uploaded-image{
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-color:var(--soft-2)!important;
}
.market-photo-slide{
  width:100%!important;
  border:0!important;
  padding:0!important;
  text-align:left!important;
  cursor:zoom-in!important;
}
.post-city-modal .compact-city-picker > .post-city-search{
  min-height:54px!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
  padding:8px 12px!important;
  border-radius:17px!important;
  background:#f4f3f9!important;
}
.post-city-modal .compact-city-picker > .post-city-search .feature-icon{
  width:30px!important;
  height:30px!important;
  border-radius:11px!important;
  background:transparent!important;
  margin:0!important;
}
.post-city-modal .compact-city-picker > .post-city-search .feature-icon::before{
  width:20px!important;
  height:20px!important;
}
.post-city-modal .compact-city-picker > .post-city-search input{
  height:38px!important;
  min-height:38px!important;
  padding:0 8px!important;
  background:transparent!important;
  border-radius:0!important;
}

/* 2026-08-08: approved group detail polish. */
#group-detail-screen .topbar h1{
  text-align:center!important;
}
#group-detail-screen .group-hero.compact-hero{
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
  padding:12px!important;
}
#group-detail-screen .group-hero-main{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
}
#group-detail-screen .group-hero-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  margin-top:2px!important;
}
#group-detail-screen .group-hero .compact-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  min-width:0!important;
}
#group-detail-screen [data-toggle-group]{
  min-width:100px!important;
  max-width:112px!important;
  min-height:42px!important;
  padding:9px 12px!important;
  justify-self:end!important;
  align-self:center!important;
}
#group-detail-screen .group-post-card{
  padding:12px!important;
  gap:8px!important;
}
#group-detail-screen .group-post-card > h3,
#group-detail-screen .group-post-card > p,
#group-detail-screen .group-post-card > .group-post-actions,
#group-detail-screen .group-post-card > .group-replies,
#group-detail-screen .group-post-card > .inline-reply-form{
  margin-left:43px!important;
}
#group-detail-screen .group-post-card > h3{
  margin-top:0!important;
  margin-bottom:0!important;
  font-size:15px!important;
  line-height:1.25!important;
}
#group-detail-screen .group-post-card > p{
  color:var(--muted)!important;
  font-size:13px!important;
  line-height:1.35!important;
}
#group-detail-screen .group-reply-card{
  margin:6px 0 0 0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  padding:8px 10px!important;
}
#group-detail-screen .group-reply-card .student-content-header{
  grid-template-columns:28px minmax(0,1fr)!important;
  gap:8px!important;
}
#group-detail-screen .group-reply-card .chat-initial{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  font-size:12px!important;
}
#group-detail-screen .group-reply-card .group-reply-text-row{
  margin-left:36px!important;
  grid-column:1 / -1!important;
  display:block!important;
  align-items:center!important;
}
#group-detail-screen .group-reply-card .group-reply-text{
  color:var(--ink)!important;
  font-size:13px!important;
  line-height:1.35!important;
}
#group-detail-screen .group-reply-more{
  width:0!important;
  height:0!important;
  min-height:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#eee8ff!important;
  color:var(--primary)!important;
  font-size:18px!important;
  font-weight:900!important;
  line-height:1!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}
#group-detail-screen .group-reply-more{
  display:none!important;
}
#group-detail-screen .group-reply-menu{
  justify-self:start!important;
  margin-left:36px!important;
  width:168px!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 14px 28px rgba(20,20,50,.12)!important;
  padding:6px!important;
  display:grid!important;
  gap:2px!important;
  z-index:5!important;
}
#group-detail-screen .group-reply-menu[hidden]{
  display:none!important;
}
#group-detail-screen .group-reply-menu button{
  width:100%!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:var(--ink)!important;
  padding:7px 8px!important;
  text-align:left!important;
  font-size:12px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
#group-detail-screen .group-reply-menu button:first-child{
  color:var(--primary)!important;
  background:#f6f2ff!important;
}
#group-detail-screen .group-reply-menu .danger-text{
  color:var(--danger)!important;
}
#group-detail-screen .group-replies.collapsed .group-reply-card:nth-of-type(n+3){
  display:none!important;
}
#group-detail-screen .view-more-replies{
  justify-self:start!important;
  margin:8px 0 0 0!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  padding:8px 11px!important;
  font-size:12px!important;
  font-weight:900!important;
}
#group-detail-screen .group-post-actions,
#group-detail-screen .group-reply-actions{
  gap:8px!important;
}
@media(max-width:380px){
  #group-detail-screen .group-hero.compact-hero{
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  #group-detail-screen .group-hero-actions{
    grid-template-columns:1fr!important;
  }
  #group-detail-screen [data-toggle-group]{
    justify-self:start!important;
    max-width:140px!important;
  }
}

/* 2026-08-08: approved compact chat detail rule. */
#chat-detail-screen .chat-contact-card{
  display:none!important;
}
#chat-detail-screen .chat-thread-page{
  grid-template-rows:minmax(0,1fr) auto!important;
}
#chat-detail-screen .message-thread{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-height:0!important;
  overflow:auto!important;
  justify-content:flex-start!important;
  align-content:start!important;
  padding:10px 0 12px!important;
}
#chat-detail-screen .chat-message-row{
  width:100%!important;
  display:flex!important;
  gap:8px!important;
  align-items:flex-end!important;
}
#chat-detail-screen .chat-message-row.me{
  justify-content:flex-end!important;
}
#chat-detail-screen .chat-message-row.other{
  justify-content:flex-start!important;
}
#chat-detail-screen .message-thread > .bubble.me,
#chat-detail-screen .chat-message-row.me .bubble{
  align-self:flex-end!important;
  margin-left:auto!important;
  margin-right:0!important;
}
#chat-detail-screen .message-thread > .bubble.other,
#chat-detail-screen .chat-message-row.other .bubble{
  align-self:flex-start!important;
  margin-left:0!important;
  margin-right:auto!important;
}
#chat-detail-screen .chat-message-avatar{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--primary)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
}
#chat-detail-screen .bubble{
  display:grid!important;
  gap:4px!important;
  margin:0!important;
  max-width:78%!important;
  position:relative!important;
  overflow:visible!important;
}
#chat-detail-screen .bubble small{
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
}
#chat-detail-screen .chat-message-name{
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  padding:0!important;
}
#chat-detail-screen .bubble span{
  font-size:13px!important;
  line-height:1.35!important;
}
#chat-detail-screen .bubble a,
#group-detail-screen .bubble a{
  color:inherit!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
  overflow-wrap:anywhere!important;
}
#group-detail-screen [data-group-panel="chat"] .chat-messages{
  justify-content:flex-start!important;
}
#group-detail-screen .group-chat-message{
  width:100%!important;
  display:grid!important;
  gap:2px!important;
}
#group-detail-screen .group-chat-message .bubble{
  max-width:82%!important;
  margin:0 0 0 43px!important;
  display:grid!important;
  gap:4px!important;
  justify-self:start!important;
}
#group-detail-screen .group-chat-message.me .bubble{
  justify-self:start!important;
  background:var(--primary)!important;
  color:#fff!important;
}
#group-detail-screen .group-chat-message .student-content-header{
  max-width:100%!important;
}
#group-detail-screen .group-chat-message .student-content-line{
  grid-template-columns:auto auto!important;
  align-items:center!important;
  justify-content:start!important;
  gap:8px!important;
}
#group-detail-screen .group-chat-message .student-content-line strong,
#group-detail-screen .group-chat-message .student-content-line time{
  line-height:1!important;
}
#chat-detail-screen .translate-inline{
  justify-self:start!important;
  width:auto!important;
  min-width:0!important;
  border:0!important;
  border-radius:999px!important;
  padding:5px 9px!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
}
#chat-detail-screen .chat-message-row.me .translate-inline,
#chat-detail-screen .message-thread > .bubble.me .translate-inline{
  display:none!important;
}
#chat-detail-screen .chat-translate-icon{
  position:absolute!important;
  right:-30px!important;
  bottom:7px!important;
  width:24px!important;
  height:24px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  box-shadow:0 4px 12px rgba(48,38,120,.10)!important;
}
#chat-detail-screen .chat-translate-icon svg{
  width:14px!important;
  height:14px!important;
  stroke:currentColor!important;
  stroke-width:2.4!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#chat-detail-screen .chat-message-row.me .chat-translate-icon,
#chat-detail-screen .bubble.me .chat-translate-icon{
  display:none!important;
}
#chat-detail-screen .chat-translation-block{
  display:grid!important;
  gap:5px!important;
  margin-top:3px!important;
}
#chat-detail-screen .chat-translation-divider{
  display:block!important;
  height:1px!important;
  background:rgba(255,255,255,.35)!important;
}
#chat-detail-screen .bubble.other .chat-translation-divider{
  background:var(--line)!important;
}
#chat-detail-screen .chat-translation-label{
  font-size:10.5px!important;
  line-height:1.2!important;
  font-weight:900!important;
  opacity:.82!important;
}
#chat-detail-screen .chat-translation-label button{
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  padding:0!important;
}
#chat-detail-screen .chat-translation-text{
  font-size:13px!important;
  line-height:1.35!important;
}
#chat-detail-screen .message-compose input,
#chat-detail-screen .message-compose .primary.small{
  min-height:46px!important;
}

/* 2026-08-08: activity detail mini cards must stay compact. */
#activity-detail-screen .mini-panel{
  gap:6px!important;
  padding:10px 12px!important;
}
#activity-detail-screen .mini-panel .section-title{
  margin-bottom:0!important;
  min-height:0!important;
}
#activity-detail-screen .mini-panel .member-line{
  padding:2px 0!important;
}
#activity-detail-screen .mini-panel .avatar-row{
  min-height:42px!important;
  align-items:center!important;
}
.activity-capacity-summary{
  margin:0!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.25!important;
}


/* Translation action menus: approved 2026-08-08 */
.content-action-menu,.nest-action-menu{
  justify-self:start;
  margin-top:8px;
  width:160px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 28px rgba(20,20,50,.12);
  padding:6px;
  display:grid;
  gap:2px;
  z-index:8;
}
.content-action-menu[hidden]{display:none!important;}
.content-action-menu button,.nest-action-menu button{
  width:100%;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--ink);
  padding:7px 8px;
  text-align:left;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.content-action-menu button:first-child,.nest-action-menu button:first-child{color:var(--primary);background:#f6f2ff;}
.content-action-menu .danger-text,.nest-action-menu .danger-text{color:var(--danger);}
#group-detail-screen .group-post-menu,
#group-detail-screen .group-reply-menu,
#activity-detail-screen .activity-comment-menu{margin-left:43px!important;}
#activity-detail-screen .activity-comment-card{
  position:relative!important;
  overflow:visible!important;
}
#activity-detail-screen .activity-comment-menu{
  position:absolute!important;
  left:54px!important;
  top:calc(100% - 24px)!important;
  margin-left:0!important;
  width:156px!important;
  z-index:30!important;
}
.discover-empty{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:center!important;
  padding:12px!important;
}
.discover-empty .feature-icon{
  width:38px!important;
  height:38px!important;
  margin:0!important;
}
.discover-empty h2{
  margin:0!important;
  font-size:14px!important;
  line-height:1.15!important;
}
.discover-empty p{
  grid-column:2!important;
  margin:2px 0 0!important;
  font-size:12px!important;
  line-height:1.3!important;
}
#group-detail-screen .group-post-card{
  position:relative!important;
  overflow:visible!important;
}
#group-detail-screen .group-reply-card{
  position:relative!important;
  overflow:visible!important;
}
#group-detail-screen .group-post-menu{
  position:absolute!important;
  right:18px!important;
  top:126px!important;
  margin-left:0!important;
  width:142px!important;
  z-index:20!important;
}
#group-detail-screen .group-reply-menu{
  position:absolute!important;
  right:12px!important;
  top:42px!important;
  margin-left:0!important;
  width:142px!important;
  z-index:22!important;
}
#group-detail-screen .group-post-actions [data-group-post-menu-toggle],
#activity-detail-screen [data-comment-menu-toggle]{
  border:0;
  border-radius:999px;
  background:var(--soft);
  color:var(--primary);
  padding:7px 12px;
  font-size:12px;
  font-weight:900;
}
#group-detail-screen .group-post-actions .post-more-dot{
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0 0 4px!important;
  border-radius:50%!important;
  font-size:14px!important;
  line-height:1!important;
  display:inline-grid!important;
  place-items:center!important;
}
#group-detail-screen .group-post-actions .group-post-translate{
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  display:inline-grid!important;
  place-items:center!important;
  box-shadow:0 4px 12px rgba(48,38,120,.10)!important;
}
#group-detail-screen .group-post-actions .group-post-translate svg{
  width:14px!important;
  height:14px!important;
  stroke:currentColor!important;
  stroke-width:2.4!important;
  fill:none!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#group-detail-screen .reply-more-dot{
  position:absolute!important;
  right:9px!important;
  top:9px!important;
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  min-height:26px!important;
  padding:0 0 4px!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
#group-detail-screen .group-post-actions [data-translate]{display:none!important;}
.chat-context-chip{
  align-self:center!important;
  max-width:92%!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:#faf8ff!important;
  color:var(--muted)!important;
  padding:7px 11px!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-align:center!important;
}


/* Campus Know-How: compact Home learning card */
.campus-know-how-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(135deg,#f4f0ff,#fff5ed);
  box-shadow:var(--shadow);
  padding:16px;
  margin-bottom:13px;
}
.campus-know-how-card h2{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.15;
  color:var(--ink);
}
.campus-topic{
  margin:0 0 10px;
  color:var(--ink);
  font-size:15px;
  line-height:1.3;
  font-weight:900;
}
.campus-topic strong{
  color:var(--primary);
}
.campus-tip-block{
  display:grid;
  gap:2px;
  margin-top:8px;
}
.campus-tip-block strong{
  color:var(--primary);
  font-size:12px;
  font-weight:900;
  line-height:1.2;
}
.campus-tip-block p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  line-height:1.36;
}


/* Campus Know-How compact inline label rule */
.campus-know-how-card{
  padding:14px 15px;
}
.campus-tip-block{
  display:block;
  margin-top:6px;
}
.campus-tip-block strong{
  display:inline;
  margin-right:4px;
}
.campus-tip-block strong::after{
  content:':';
}
.campus-tip-block p{
  display:inline;
  line-height:1.32;
}


/* Campus Know-How visual polish: soft background plus accent line */
.campus-know-how-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#f6f2ff 0%,#fff8f0 100%);
  border-color:#e6ddff;
}
.campus-know-how-card::before{
  content:'';
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:0 999px 999px 0;
  background:var(--primary);
}
.campus-know-how-card > *{
  position:relative;
}


/* Job detail launch polish: single primary contact action */
.job-detail-card{
  gap:11px;
}
.job-detail-card > .feature-icon{
  width:36px;
  height:36px;
  margin-bottom:2px;
}
.job-detail-card .poster-card{
  margin-top:2px;
}
.action-row.single-action{
  grid-template-columns:1fr;
  margin-top:2px;
}
.action-row.single-action .primary{
  width:100%;
  min-height:48px;
}
.job-detail-card .danger-text{
  justify-self:center;
  margin-top:0;
}


/* Report action should stay available but visually quieter */
.danger-text,
.report-text-button{
  font-size:13px;
  line-height:1.2;
  font-weight:900;
}
.job-detail-card .danger-text{
  font-size:12.5px;
}
.chat-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.chat-delete-icon-button{
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#fff0f3;
  color:#ff4f75;
  display:grid;
  place-items:center;
  padding:0;
  box-shadow:none;
}
.chat-delete-icon-button svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.chat-row-trash-button{
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#fff0f3;
  color:#ff4f75;
  display:grid;
  place-items:center;
  padding:0;
  box-shadow:none;
}
.chat-row-trash-button svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* Detail translation sits with the description it belongs to */
.detail-translation-note{
  margin-top:-4px!important;
  margin-bottom:2px!important;
}

/* Larger description boxes for launch post forms */
.create-form[data-create-form="room"] textarea[name="description"],
.create-form[data-create-form="job"] textarea[name="description"],
.create-form[data-create-form="market"] textarea[name="description"]{
  min-height:200px!important;
  height:200px!important;
}


/* Kablo Camp welcome lockup: Kablo remains dominant, Camp is a smaller product label */
#welcome-screen .brand-lockup.full-logo{
  gap:14px!important;
  align-items:center!important;
}
#welcome-screen .wordmark{
  gap:5px!important;
}
#welcome-screen .product-logo-text{
  display:flex!important;
  align-items:flex-end!important;
  gap:7px!important;
  line-height:1!important;
}
#welcome-screen .product-logo-text strong{
  font-size:42px!important;
  line-height:.92!important;
  font-weight:950!important;
  letter-spacing:0!important;
  color:var(--primary)!important;
}
#welcome-screen .product-logo-text b{
  font-size:17px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:0!important;
  color:var(--primary)!important;
  padding-bottom:3px!important;
}
#welcome-screen .wordmark .tagline{
  display:block!important;
  color:var(--primary)!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:900!important;
}
@media(max-width:380px){
  #welcome-screen .product-logo-text strong{font-size:36px!important;}
  #welcome-screen .product-logo-text b{font-size:15px!important;padding-bottom:2px!important;}
}


/* Student deal card polish: sponsored label belongs inside image, promo line copies code */
.deal-card .deal-image{
  position:relative!important;
  overflow:hidden!important;
}
.deal-card .deal-image .sponsored{
  position:absolute!important;
  left:8px!important;
  top:8px!important;
  margin:0!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--primary)!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 6px 14px rgba(52,45,106,.08)!important;
}
.deal-card .deal-copy-code{
  color:var(--primary)!important;
  font-weight:900!important;
}
.deal-card .deal-code-copy-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  width:100%!important;
  margin-top:2px!important;
  padding:7px 9px!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}
.deal-card .deal-code-copy-row span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.deal-card .deal-code-copy-row b{
  flex:0 0 auto!important;
  font-size:12px!important;
  color:var(--primary)!important;
}

/* Strict containment: deal actions must never escape their card. */
.deal-card,
.deal-card .deal-meta,
.deal-card .deal-code-copy-row{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.deal-card .deal-code-copy-row span{
  flex:1 1 auto!important;
  min-width:0!important;
}
.deal-card .deal-code-copy-row b{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:52%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Student deal card balance: slightly larger image and compact copy-code pill */
.deal-card .deal-image{
  height:96px!important;
}
.deal-card .deal-copy-code{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:2px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}


/* Student Deals final layout: Home uses equal compact cards, See all uses compact full-width list cards */
.deal-row{
  gap:12px!important;
  scroll-snap-type:x proximity!important;
}
.deal-row .deal-card-home{
  flex:0 0 calc((100% - 12px)/2)!important;
  min-width:0!important;
  height:238px!important;
  min-height:238px!important;
  grid-template-rows:96px 40px auto!important;
  row-gap:8px!important;
  scroll-snap-align:start!important;
}
.deal-card .deal-image{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.deal-card h3{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.12!important;
}
.deal-card p:not(.deal-copy-code){
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.28!important;
}
#deals-screen [data-all-deals]{
  gap:12px!important;
}
#deals-screen .deal-card-list{
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:12px!important;
  display:grid!important;
  grid-template-rows:112px auto auto!important;
  row-gap:9px!important;
  text-align:left!important;
}
#deals-screen .deal-card-list .deal-image{
  height:112px!important;
  margin:0!important;
  border-radius:14px!important;
}
#deals-screen .deal-card-list h3{
  min-height:0!important;
  margin:0!important;
  font-size:17px!important;
}
#deals-screen .deal-card-list p:not(.deal-copy-code){
  margin:0!important;
}
#deals-screen .deal-card-list .deal-copy-code{
  margin-top:0!important;
}


/* Student Deals text rhythm: business and code are stacked, rows are tighter */
.deal-row{
  gap:10px!important;
}
.deal-row .deal-card-home{
  display:block!important;
  flex-basis:calc((100% - 10px)/2)!important;
  height:auto!important;
  min-height:224px!important;
  padding:10px!important;
}
.deal-row .deal-card-home h3{
  margin:9px 0 5px!important;
}
.deal-card .deal-meta{
  display:grid!important;
  gap:1px!important;
  align-content:start!important;
  min-width:0!important;
}
.deal-card .deal-business,
.deal-card .deal-code{
  margin:0!important;
  color:var(--muted)!important;
  font-size:13px!important;
  line-height:1.22!important;
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.deal-card .deal-code{
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-line-clamp:1!important;
  -webkit-box-orient:vertical!important;
}
.deal-row .deal-card-home .deal-image{
  width:100%!important;
  display:block!important;
  aspect-ratio:1 / 1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
}
.deal-row .deal-card-home{
  height:auto!important;
  min-height:0!important;
}
.market-grid .market-photo{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.deal-row .deal-card-home .deal-copy-code{
  padding:7px 10px!important;
}
#deals-screen .deal-card-list{
  grid-template-rows:104px auto auto!important;
  row-gap:8px!important;
  padding:11px!important;
}
#deals-screen .deal-card-list .deal-image{
  height:104px!important;
}
#deals-screen .deal-card-list .deal-meta{
  gap:2px!important;
}

/* Deal details keep the approved compact-card language, with a larger readable image. */
.deal-detail-card{
  display:block!important;
  padding:12px!important;
}
.deal-detail-photo{
  position:relative;
  height:180px;
  border-radius:14px;
  background:linear-gradient(135deg,#9cc6e9 0%,#f1db7f 58%,#b98be5 100%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}
.deal-detail-photo .sponsored{
  position:absolute;
  top:10px;
  left:10px;
  display:inline-flex;
  max-width:calc(100% - 20px);
  box-sizing:border-box;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:6px 9px;
  border-radius:999px;
  background:#fff;
  color:var(--primary);
  font-size:12px;
  line-height:1;
  font-weight:900;
}
.deal-detail-card h2{margin:14px 0 5px;line-height:1.15}
.deal-detail-business{margin:0;color:var(--muted);font-weight:800}
.deal-detail-expiry{margin:5px 0 0;color:var(--muted);font-size:13px;font-weight:700}
.deal-detail-description{margin:14px 0;color:var(--muted);line-height:1.45}
.deal-code-detail-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  margin:14px 0;
  padding:10px 12px;
  border-radius:14px;
  background:var(--soft);
}
.deal-code-detail-row > div{min-width:0;display:grid;gap:3px}
.deal-code-detail-row small{color:var(--muted);font-weight:800}
.deal-code-detail-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary);font-size:16px}
.deal-code-detail-row .small{flex:0 0 auto;white-space:nowrap}
.deal-detail-card [data-deal-detail-website]{margin-top:4px}
.deal-save-button{margin-top:8px}
.deal-save-button.is-saved{color:var(--primary);border-color:var(--primary);background:var(--soft)}
.icon-action.is-saved{
  background:var(--primary)!important;
  color:#fff!important;
}
.icon-action.is-saved .feature-icon{
  color:#fff!important;
}
.deal-share-action{width:34px!important;height:34px!important;padding:0!important;border-radius:50%!important;background:var(--soft)!important;display:grid!important;place-items:center!important;}
.deal-share-action .feature-icon{width:22px!important;height:22px!important;background:transparent!important;}
.deal-share-action .feature-icon::before{width:19px!important;height:19px!important;}

/* Signed-out navigation gate: app navigation appears only after sign-in and student setup. */
.phone-shell:has(#welcome-screen.active) .bottom-nav,
.phone-shell:has(#launch-screen.active) .bottom-nav,
.phone-shell:has(#auth-screen.active) .bottom-nav,
.phone-shell:has(#setup-screen.active) .bottom-nav{display:none!important;}
.phone-shell:has(#welcome-screen.active) .screen,
.phone-shell:has(#auth-screen.active) .screen,
.phone-shell:has(#setup-screen.active) .screen{padding-bottom:28px;}

/* Section-header system: section title and action always share one visual row. */
.section-title{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:10px!important;
  align-items:center!important;
  min-height:24px!important;
  margin-bottom:10px!important;
}
.section-title h2,
.section-title h3{
  min-width:0!important;
  margin:0!important;
  line-height:1.2!important;
  align-self:center!important;
}
.section-title button,
.section-title a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  align-self:center!important;
  min-width:0!important;
  min-height:24px!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  text-align:right!important;
}
@media(max-width:380px){
  .section-title{align-items:center!important;}
}

/* Avatar system: human identity must always render as a true circle. */
.profile-photo,
.profile-preview-avatar,
.avatar-button,
.chat-initial,
.avatar-row button,
#chat-detail-screen .chat-message-avatar{
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  width:var(--avatar-size,40px)!important;
  height:var(--avatar-size,40px)!important;
  min-width:var(--avatar-size,40px)!important;
  min-height:var(--avatar-size,40px)!important;
  max-width:var(--avatar-size,40px)!important;
  max-height:var(--avatar-size,40px)!important;
  aspect-ratio:1 / 1!important;
  border-radius:50%!important;
  overflow:hidden!important;
  padding:0!important;
  line-height:1!important;
}
.profile-photo{--avatar-size:66px!important;}
.profile-preview-avatar{--avatar-size:96px!important;}
.avatar-button{--avatar-size:76px!important;}
.avatar-row button,
.chat-initial{--avatar-size:40px!important;}
.poster-profile-tap .chat-initial.compact{--avatar-size:32px!important;}
.group-post-author .chat-initial,
.group-reply-author .chat-initial,
.student-content-header .chat-initial{--avatar-size:34px!important;}
.group-reply-card .chat-initial,
#group-detail-screen .group-reply-card .chat-initial{--avatar-size:28px!important;}
.chat-initial.large{--avatar-size:58px!important;}
#chat-detail-screen .chat-message-avatar{--avatar-size:30px!important;}
.profile-photo img,
.profile-preview-avatar img,
.avatar-button img,
.chat-initial img,
.avatar-row button img,
#chat-detail-screen .chat-message-avatar img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  aspect-ratio:1 / 1!important;
  border-radius:inherit!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Native iPhone shell: use the real system chrome, not the browser mockup. */
html.kablo-native,
html.kablo-native body{
  width:100%;
  height:100%;
  min-height:100%;
  background:#fff;
  overflow:hidden;
}
html.kablo-native body{display:block;}
html.kablo-native .phone-shell{
  position:fixed;
  inset:0;
  width:100vw;
  height:100dvh;
  min-height:100svh;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
}
html.kablo-native .status-bar{display:none;}
html.kablo-native .screen{
  height:100dvh;
  box-sizing:border-box;
  padding-top:calc(6px + env(safe-area-inset-top));
  padding-bottom:calc(62px + env(safe-area-inset-bottom));
}
html.kablo-native .screen.centered{
  min-height:100dvh;
  padding-top:calc(24px + env(safe-area-inset-top));
  padding-bottom:calc(24px + env(safe-area-inset-bottom));
  align-content:center;
}
html.kablo-native .screen.centered.active{
  display:grid;
}
html.kablo-native #welcome-screen{
  grid-template-rows:auto auto auto auto;
  align-content:center;
}

/* Nest welcome screen: keep the full introduction visually centred on web and native. */
#welcome-screen.centered.active{
  display:grid;
  grid-template-rows:auto auto auto auto;
  align-content:center;
  align-items:center;
  min-height:100%;
  padding:24px 26px 44px;
}
#welcome-screen.centered .brand-lockup{justify-self:center;}
#welcome-screen.centered .intro-copy{margin:34px auto 26px;}
#welcome-screen.centered .primary,
#welcome-screen.centered .ghost{width:100%;}
#welcome-screen.centered .ghost{margin-top:12px;}

#launch-screen.centered.active{display:grid;place-items:center;min-height:100%;padding:24px 26px 44px;background:var(--canvas)}
#launch-screen .launch-logo{justify-self:center;transform:scale(1.08);animation:nestLaunchLogo 1.1s ease-in-out infinite alternate}
@keyframes nestLaunchLogo{from{transform:scale(1)}to{transform:scale(1.08)}}

/* Stories & Tips */
.story-tabs{margin-bottom:16px!important;}
.story-filter-controls{display:grid;grid-template-columns:minmax(0,1.25fr) 1fr 1.15fr;gap:8px;margin:0 0 16px;}.story-filter-controls>button,.story-type-trigger{width:100%;height:42px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:850;font-size:13px;padding:0 10px;}.story-filter-controls>button.active{background:var(--primary);border-color:var(--primary);color:#fff;}.story-type-menu{position:relative;min-width:0;}.story-type-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;}.story-menu-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:100%;color:var(--primary);font-size:14px;line-height:1;font-weight:900;transform:translateY(1px);}.story-type-menu-options{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;padding:5px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 22px rgba(27,41,70,.12);}.story-type-menu-options button{display:block;width:100%;min-height:36px;border:0;border-radius:10px;background:transparent;padding:8px 9px;text-align:left;color:var(--ink);font:inherit;font-size:13px;font-weight:800;}.story-type-menu-options button:hover,.story-type-menu-options button:focus{background:var(--peach);color:var(--primary);outline:none;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.story-list{gap:14px!important;}
.story-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:15px;cursor:pointer;box-shadow:none;}
.story-author{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.story-author>span:last-child{display:grid;gap:2px;min-width:0;}.story-author strong{font-size:14px;}.story-author small{color:var(--muted);font-size:12px;font-weight:700;}
.story-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--peach);color:var(--primary);font-weight:900;flex:0 0 auto;}
.story-avatar{overflow:hidden;}
.story-avatar img{width:100%;height:100%;object-fit:cover;}
.story-avatar .feature-icon{width:24px;height:24px;margin:0;background:transparent;}
.story-topic-chip{display:inline-block;margin:0 0 6px;border-radius:999px;padding:5px 9px;background:var(--peach);color:var(--primary);font-size:14px;font-weight:800;}
.story-area-text{margin:0 0 5px!important;color:var(--muted)!important;font-size:13px!important;font-weight:700!important;}
.story-detail-preview{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden;margin:0!important;color:var(--muted)!important;font-size:15px!important;font-weight:500!important;line-height:1.45!important;letter-spacing:0!important;}
.story-card--text .story-actions{margin-top:11px;}
.story-comment-control{display:inline-flex!important;align-items:center!important;gap:4px!important;min-width:0!important;height:20px!important;}.story-comment-control .feature-icon{width:16px!important;height:16px!important;margin:0!important;background:transparent!important;color:var(--primary)!important;}.story-comment-control .feature-icon::before{width:14px!important;height:14px!important;}.story-actions [data-story-like]>span:last-child,.story-actions .story-comment-control>span:last-child{display:inline-block;min-width:8px;text-align:left;}
.story-area{display:inline-block;margin:0 0 10px;border-radius:999px;padding:5px 9px;background:var(--peach);color:var(--primary);font-size:12px;font-weight:800;}
.story-detail .story-area{display:block;margin:0 0 8px;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:14px;font-weight:700;}
.story-cover{display:block;width:100%;height:180px;object-fit:cover;border-radius:14px;margin:0 0 12px;}
.story-card-cover{position:relative!important;display:block!important;width:280px!important;height:158px!important;min-height:158px!important;max-height:158px!important;aspect-ratio:16 / 9!important;max-width:100%!important;margin:0 auto 12px!important;overflow:visible!important;border:0!important;border-radius:0!important;background:#fff!important;}.story-card-cover img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;}
.story-card h2,.story-detail h2{margin:0 0 7px;font-size:20px;line-height:1.18;font-weight:900;letter-spacing:-.02em;}.story-card p,.story-full-body{margin:0;color:var(--muted);font-size:15px;font-weight:500;line-height:1.45;letter-spacing:0;}
.story-actions{display:flex;gap:14px;align-items:center;min-height:20px;margin-top:13px;padding-bottom:1px;color:var(--muted);font-size:12px;font-weight:800;}.story-detail-actions{flex-wrap:wrap;}.story-detail-actions button{border:0;background:transparent;padding:0;color:var(--primary);font-weight:900;}
.story-detail-actions [data-story-delete]{color:var(--danger);}
.story-detail{padding:18px!important;}.story-detail-cover{display:grid;width:100%;aspect-ratio:16 / 9;margin:0 0 14px;overflow:visible!important;border:0;border-radius:14px;background:#fff;place-items:center;padding:0;}.story-detail-cover img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;}.story-detail-photos{margin-top:20px;}.story-detail-photos h3{margin:0 0 10px;font-size:15px;}.story-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}.story-photo-grid button{display:grid;aspect-ratio:1 / 1;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0;place-items:center;}.story-photo-grid img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;}.story-photo-viewer{position:absolute;z-index:100;inset:0;display:grid;place-items:center;background:#fff;padding:54px 18px 26px;touch-action:pan-y;}.story-photo-viewer img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;}.story-photo-viewer-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:26px;line-height:1;}.story-photo-viewer-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:var(--ink);font-size:13px;font-weight:800;}.story-comments{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;}.story-comments h3{margin:0 0 10px;}.story-comment{padding:10px 0;border-bottom:1px solid var(--line);}.story-comment-header{display:flex;justify-content:space-between;gap:10px;align-items:center;}.story-comment-header button{border:0;background:transparent;padding:0;color:var(--primary);font-size:12px;font-weight:850;}.story-comment p{margin:4px 0 0;color:var(--muted);}.story-comments form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px;}.story-comments input{border:1px solid var(--line);border-radius:14px;padding:11px;min-width:0;}.story-comments form button{border:0;border-radius:14px;padding:0 13px;background:var(--primary);color:#fff;font-weight:900;}
.modal[data-story-create-modal]{align-items:center;padding:24px;}.story-create-modal{display:block;width:min(340px,100%);height:calc(100% - 48px);max-height:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:22px 22px 30px;}.story-create-modal form{display:grid;gap:12px;padding-bottom:18px;}.story-create-modal label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800;}.story-create-modal input,.story-create-modal select,.story-create-modal textarea{width:100%;border:0;border-radius:14px;background:#f7f5fb;padding:12px;color:var(--ink);font:inherit;font-weight:700;}.story-create-modal textarea{min-height:130px;resize:vertical;}.story-create-modal small{color:var(--muted);font-weight:600;}.story-upload-label{cursor:pointer;}.story-upload-card{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;border-radius:14px;background:#f7f5fb;padding:10px 12px;}.story-upload-card .feature-icon{width:30px;height:30px;margin:0;}.story-upload-card strong{display:block;color:var(--ink);font-size:13px;}.story-upload-card b{color:var(--primary);font-size:19px;}.story-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;}.story-form-actions .secondary{border:1px solid var(--primary);background:#fff;color:var(--primary);}.story-form-actions .primary{padding:13px 10px;}.story-privacy-reminder{margin:4px 0 16px!important;padding:0 2px!important;color:var(--muted)!important;font-size:11px!important;line-height:1.4;background:transparent;border-radius:0;}.story-preview-pane{margin-bottom:4px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fffaf8;}.story-preview-pane>strong{display:block;margin-bottom:10px;color:var(--ink);font-size:13px;}.story-preview-pane .story-card{cursor:default;}.story-place-autocomplete{position:relative;display:block;}.story-place-autocomplete .place-suggestions{z-index:35;}.story-place-autocomplete .place-suggestions button{background:#fff;}.story-place-autocomplete .place-suggestions small{display:block;margin-top:2px;white-space:normal;}
.story-create-modal{overflow-x:hidden!important;overflow-y:auto!important;}.story-photo-previews{display:flex!important;grid-template-columns:none!important;gap:8px!important;align-items:flex-start!important;overflow-x:auto;padding:2px 1px 4px;}.story-photo-previews figure{position:relative;display:block!important;flex:0 0 64px;width:64px;height:64px;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;}.story-photo-previews img{display:block;width:100%;height:100%;object-fit:cover;}.story-photo-previews figcaption{position:absolute;right:0;bottom:0;left:0;padding:3px;color:#fff;background:rgba(23,33,59,.72);font-size:9px;font-weight:800;line-height:1.1;text-align:center;}.story-photo-previews .story-photo-remove{position:absolute!important;top:3px;right:3px;display:grid!important;place-items:center;width:20px!important;height:20px!important;min-height:20px!important;margin:0!important;border:0!important;border-radius:50%!important;padding:0!important;background:rgba(23,33,59,.82)!important;color:#fff!important;font-size:16px!important;font-weight:700!important;line-height:1!important;}
.story-create-modal .story-topic-helper{margin:0!important;padding:0 2px!important;color:var(--muted)!important;font-size:11px!important;line-height:1.4!important;font-weight:600!important;}
.story-create-modal>.section-title{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;min-height:0!important;margin-bottom:6px!important;padding:0!important;}.story-create-modal>.section-title h2{grid-row:2;max-width:none!important;padding:0!important;}.story-create-modal>.section-title [data-close-story-create]{position:static!important;grid-row:1;justify-self:end;width:auto!important;padding:0!important;}
#stories-tips-screen .topbar{margin-bottom:8px!important;}
.story-creator-info{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 10px;border:0;background:transparent;padding:0;text-align:left;color:var(--ink);}.story-creator-info>span:last-child{display:grid;gap:2px;min-width:0;}.story-creator-info strong{font-size:13px;}.story-creator-info small{color:var(--muted);font-size:12px;font-weight:700;}.story-actions button{border:0;background:transparent;padding:0;color:var(--primary);font:inherit;font-size:12px;font-weight:850;}.creator-profile-hero{display:grid;justify-items:center;gap:8px;margin:0 0 16px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:20px;text-align:center;}.creator-profile-hero h2,.creator-profile-hero p{margin:0;}.creator-profile-hero p{color:var(--muted);}.creator-profile-hero>strong{font-size:13px;}.creator-profile-hero .primary{width:auto;padding:10px 18px;border-radius:14px;}.creator-avatar{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--peach);color:var(--primary);font-size:27px;font-weight:900;}.creator-posts-section{display:grid;gap:12px;}.creator-posts-section .section-title{margin:0;}.creator-topic-menu{width:138px;}.creator-topic-menu .story-type-trigger{height:36px;font-size:12px;}
#stories-tips-screen .story-filter-controls{grid-template-columns:96px minmax(0,1fr) 44px;}.story-filter-controls .story-type-menu-options{width:300px;left:50%;transform:translateX(-50%);}.story-filter-controls .story-type-menu-options button{white-space:nowrap;}.story-menu-chevron{display:block;flex:0 0 16px;width:16px;height:16px;color:var(--primary);stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;transform:none!important;}.story-filter-saved{display:grid!important;place-items:center;padding:0!important;border:1.5px solid var(--primary)!important;border-radius:14px!important;background:#fff!important;color:var(--primary)!important;overflow:visible!important;}.story-filter-save-icon{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}.story-save-control{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:20px!important;padding:0!important;color:var(--primary)!important;font-size:12px!important;line-height:1!important;}.story-save-control::before{content:'☆';}.story-save-control.is-saved::before{content:'★';}
html.kablo-native #home-screen{
  padding-top:calc(2px + env(safe-area-inset-top));
}
html.kablo-native .appbar{
  margin-bottom:10px;
}
html.kablo-native .bottom-nav{
  position:fixed;
  bottom:0;
  height:calc(48px + env(safe-area-inset-bottom));
  padding-top:3px;
  padding-bottom:env(safe-area-inset-bottom);
}
html.kablo-native .bottom-nav.no-create-tab{
  height:calc(48px + env(safe-area-inset-bottom));
  padding-top:3px;
  padding-bottom:env(safe-area-inset-bottom);
}
html.kablo-native .bottom-nav .feature-icon{
  width:33px;
  height:33px;
}
html.kablo-native .bottom-nav .feature-icon::before{
  width:29px;
  height:29px;
}
html.kablo-native .bottom-nav button{
  gap:1px;
}

/* Standard mobile density: keep browsing cards spacious without wasting page width. */
.screen:not(.centered){
  padding-left:12px!important;
  padding-right:12px!important;
}
#home-screen .content-section{
  margin-top:12px!important;
  padding:14px!important;
}

/* University selection uses the same Kablo picker language as city selection. */
.university-picker-source{display:none!important;}
.university-picker-trigger{
  width:100%;
  min-height:44px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:0 15px;
  border:0;
  border-radius:16px;
  background:var(--soft);
  color:var(--ink);
  font:inherit;
  font-weight:700;
  text-align:left;
}
.university-picker-trigger span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.university-picker-trigger span:last-child{font-size:18px;line-height:1;}
.university-picker-trigger:focus-visible{outline:2px solid #6a40ff;outline-offset:2px;}
.university-picker-trigger:disabled{opacity:.55;}
.university-picker-modal{
  display:grid!important;
  place-items:center!important;
  padding:22px!important;
}
.university-picker-modal[hidden]{display:none!important;}
.university-picker-modal .scrim{background:rgba(17,23,50,.38)!important;z-index:0;}
.university-picker-modal .compact-city-picker{
  position:relative;
  z-index:1;
  width:100%;
  max-width:330px;
  max-height:min(560px,78vh);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr!important;
  gap:12px;
  padding:16px;
  border-radius:24px;
}
.university-picker-modal .compact-city-picker header{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:10px;align-items:center;}
.university-picker-modal .compact-city-picker header h2{margin:0;font-size:19px;line-height:1.2;}
.university-picker-modal .compact-city-picker header button{width:38px!important;height:38px!important;border:0!important;border-radius:50%!important;background:var(--soft)!important;color:var(--ink)!important;font-size:22px!important;font-weight:900!important;}
.university-picker-modal .post-city-search{margin:0!important;padding:7px 12px!important;border-radius:17px!important;gap:10px!important;}
.university-picker-modal .post-city-search input{padding:8px 10px!important;}
.university-picker-modal .city-choice-list{display:grid;gap:8px;overflow:auto;max-height:310px;padding-right:2px;}
.university-picker-modal .city-choice{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:18px;background:#fff;padding:11px;color:var(--ink);}
.university-picker-modal .city-choice.selected{background:#f3efff;border-color:#d8ccff;}
.university-picker-empty{margin:0;padding:18px 8px;color:var(--muted);text-align:center;}

/* Group detail composer: smaller text and correct profile-avatar sizing. */
#group-detail-screen .composer-card{
  grid-template-columns:32px minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:9px 10px!important;
  border-radius:18px!important;
}
#group-detail-screen .composer-card .chat-initial{
  --avatar-size:30px!important;
  font-size:13px!important;
}
#group-detail-screen .composer-card strong{
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
#group-detail-screen .composer-card .primary.small{
  padding:10px 12px!important;
  border-radius:16px!important;
  font-size:13px!important;
}

/* Auth privacy polish: password visibility toggle. */
.clearable.password-field input{
  padding-right:48px!important;
}
.clearable.password-field [data-toggle-password]{
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  border:0;
  border-radius:50%;
  background:#ded9f3;
  color:var(--muted);
  font-size:14px;
  font-weight:900;
  display:grid;
  place-items:center;
}

/* Kablo profile names should not show decorative verification symbols. */
.verified-diamond{display:none!important;}
[data-profile-name]::after,
[data-preview-name]::after{content:none!important;display:none!important;}

/* Group event visibility and attendee member labels. */
.group-event-visibility{
  display:grid;
  gap:8px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f7f4ff;
}
.group-event-visibility strong{
  color:var(--ink);
  font-size:14px;
}
.group-event-visibility small{
  color:var(--muted);
  line-height:1.35;
}
.group-event-check{
  display:grid!important;
  grid-template-columns:20px 1fr!important;
  align-items:center!important;
  column-gap:9px!important;
  color:var(--ink)!important;
  cursor:pointer!important;
  background:transparent!important;
  padding:6px 0!important;
}
.group-event-check input{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  flex:0 0 20px!important;
  margin:0!important;
  padding:0!important;
  accent-color:var(--primary)!important;
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
}
.group-event-check span{
  min-width:0!important;
  line-height:1.2!important;
  display:inline!important;
  font-size:13px!important;
  font-weight:900!important;
}
.attendees-list .member-line span:last-child{
  display:flex;
  align-items:baseline;
  gap:8px;
  min-width:0;
  flex-wrap:wrap;
}
.attendees-list .member-line strong{
  font-size:16px;
  line-height:1.1;
}
.attendee-role{
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
}
.attendee-role.member{color:var(--primary)!important;}
.attendee-role.non-member{color:var(--muted)!important;}

.admin-member-search{
  display:grid!important;
  gap:7px!important;
}
.admin-member-search span{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.admin-member-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  justify-content:flex-end!important;
}
.admin-member-actions button{
  padding:9px 10px!important;
  font-size:11px!important;
  border-radius:13px!important;
}
.admin-member-row{
  position:relative!important;
  grid-template-columns:36px minmax(0,1fr) 28px!important;
  align-items:center!important;
  gap:9px!important;
  min-height:56px!important;
  padding:8px 10px!important;
}
.admin-member-row .admin-member-meta{
  min-width:0!important;
}
.admin-member-row .admin-member-meta strong,
.admin-member-row .admin-member-meta small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.admin-member-more{
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0!important;
  border-radius:50%!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  justify-self:end!important;
}
.admin-member-actions{
  position:absolute!important;
  right:8px!important;
  top:46px!important;
  z-index:8!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  min-width:136px!important;
  padding:9px!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(24,18,56,.18)!important;
}
.admin-member-row .chat-initial{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  font-size:14px!important;
}
.admin-member-row .admin-member-meta strong{
  font-size:12px!important;
}
.admin-member-row .admin-member-meta small{
  font-size:10px!important;
}
.admin-member-actions[hidden]{
  display:none!important;
}
.admin-member-actions button{
  width:100%!important;
  min-width:0!important;
  min-height:34px!important;
  padding:8px 10px!important;
}
.admin-member-transfer{
  width:auto!important;
  min-width:92px!important;
  justify-self:end!important;
}

/* Kablo profile names should not show decorative verification symbols. */
.verified-diamond{display:none!important;}
[data-profile-name]::after,[data-preview-name]::after{content:none!important;display:none!important;}

/* Keep the edit-photo plus badge outside the avatar instead of covering the face. */
.profile-photo{
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}
.profile-photo img,
.profile-photo [data-profile-initial]{
  border-radius:50%!important;
  overflow:hidden!important;
}
.profile-photo b{
  right:-7px!important;
  bottom:-3px!important;
  width:32px!important;
  height:32px!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  line-height:1!important;
  text-align:center!important;
  font-size:0!important;
  border-width:5px!important;
  box-shadow:0 8px 18px rgba(104,66,244,.18)!important;
}
.profile-photo b::before{
  content:"+"!important;
  display:block!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1!important;
  transform:translateY(-.5px)!important;
}

/* Final mobile action-menu polish: member rows and group reply menus. */
.admin-tool-card .admin-member-row{
  grid-template-columns:36px minmax(0,1fr) 28px!important;
  padding:8px 10px!important;
  min-height:56px!important;
  overflow:visible!important;
}
.admin-tool-card .admin-member-row .chat-initial{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  font-size:14px!important;
}
.admin-tool-card .admin-member-row .admin-member-meta strong{
  font-size:12px!important;
  line-height:1.12!important;
}
.admin-tool-card .admin-member-row .admin-member-meta small{
  font-size:10px!important;
  line-height:1.15!important;
}
.admin-tool-card .admin-member-row .admin-member-more{
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  padding:0 0 4px!important;
  border-radius:50%!important;
  font-size:14px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
.admin-tool-card .admin-member-row .admin-member-actions{
  right:8px!important;
  top:44px!important;
  z-index:999!important;
}
#group-detail-screen .group-reply-card .student-content-line{
  padding-right:32px!important;
}
#group-detail-screen .reply-more-dot{
  right:8px!important;
  top:34px!important;
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  padding:0 0 4px!important;
  font-size:14px!important;
  z-index:24!important;
}
#group-detail-screen .group-reply-menu{
  right:8px!important;
  top:62px!important;
  z-index:25!important;
}

/* Manage members modal: larger card and cleaner action bubble. */
.admin-tool-card{
  width:min(390px,94vw)!important;
  max-height:min(76vh,620px)!important;
}
.admin-tool-card [data-admin-modal-body]{
  max-height:calc(min(76vh,620px) - 86px)!important;
  overflow:visible!important;
}
.admin-tool-card .admin-member-list{
  max-height:430px!important;
  overflow:auto!important;
  padding-right:2px!important;
}
.admin-tool-card .admin-member-actions button,
.admin-tool-card .admin-member-actions .danger-soft{
  box-shadow:none!important;
}
.admin-tool-card .admin-ban-action{color:var(--danger)!important;background:#fff2f4!important;}
.admin-tool-card .admin-banned-members{margin-top:18px;display:grid;gap:9px;}
.admin-tool-card .admin-banned-members h3{margin:0;color:var(--ink);font-size:14px;line-height:20px;}
.admin-tool-card .admin-banned-members h3 span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--lavender);color:var(--muted);font-size:11px;vertical-align:1px;}
.admin-tool-card .admin-banned-members .admin-member-row{grid-template-columns:36px minmax(0,1fr) auto!important;gap:8px!important;}
.admin-tool-card .admin-unban-action{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:62px;padding:7px 10px;border:0;border-radius:12px;background:var(--peach);color:var(--coral);font-size:12px;font-weight:800;line-height:18px;white-space:nowrap;}

/* Invite members: a separate admin-tool panel with a compact search and a
   clearly separated pending-invitation list. */
.admin-tool-card.invite-members-modal{width:min(390px,94vw)!important;max-height:min(76vh,620px)!important;}
.admin-tool-card.invite-members-modal [data-admin-modal-body]{max-height:calc(min(76vh,620px) - 86px)!important;overflow:auto!important;padding-right:2px!important;}
.admin-tool-card .invite-member-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:12px 0 8px;}
.admin-tool-card .invite-member-search input{min-width:0;height:42px;border:0;border-radius:14px;background:var(--soft);padding:0 12px;color:var(--ink);font:inherit;font-size:13px;font-weight:750;}
.admin-tool-card .invite-member-search button{height:42px;padding:0 13px;border:0;border-radius:14px;background:var(--primary);color:#fff;font:inherit;font-size:12px;font-weight:850;}
.admin-tool-card .invite-help{margin:0 0 14px;color:var(--muted);font-size:11px;line-height:1.35;}
.admin-tool-card .invite-results-section,.admin-tool-card .pending-invites-section{display:grid;gap:8px;}
.admin-tool-card .invite-results-section{margin-bottom:16px;}
.admin-tool-card .invite-results-section h3,.admin-tool-card .pending-invites-section h3{margin:0;color:var(--ink);font-size:14px;line-height:20px;}
.admin-tool-card .invite-results-section .empty{margin:0;color:var(--muted);font-size:13px;line-height:1.4;font-weight:650;}
.admin-tool-card .pending-invites-section h3 span{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--lavender);color:var(--muted);font-size:11px;vertical-align:1px;}
.admin-tool-card .invite-candidate-row,.admin-tool-card .pending-invite-row{grid-template-columns:36px minmax(0,1fr) auto!important;gap:8px!important;}
.admin-tool-card .admin-invite-action,.admin-tool-card .admin-cancel-invite-action{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:7px 10px;border-radius:12px;font:inherit;font-size:12px;font-weight:850;line-height:18px;white-space:nowrap;}
.admin-tool-card .admin-invite-action{border:0;background:var(--primary);color:#fff;}
.admin-tool-card .admin-cancel-invite-action{border:0;background:var(--peach);color:var(--coral);}
.admin-tool-card .pending-invite-row .invite-expiry{color:var(--muted);font-size:10px!important;}

/* Recipient-facing invitation cards in Updates. */
.group-invitation-updates{display:grid;gap:10px;margin:0 0 14px;}
.group-invitation-card{display:grid;gap:7px;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff;}
.group-invitation-main{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:start;}
.group-invitation-card .feature-icon{width:40px;height:40px;border-radius:14px;}
.group-invitation-card strong{display:block;color:var(--ink);font-size:15px;line-height:1.2;}
.group-invitation-card p{margin:4px 0 3px;color:var(--muted);font-size:12px;line-height:1.35;}
.group-invitation-card small{display:block;color:var(--muted);font-size:11px;font-weight:750;}
.group-invitation-card .group-invitation-label{margin:0 0 4px;color:var(--primary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;}
.group-invitation-preview-link{display:inline-flex;margin-top:8px;padding:0;border:0;background:transparent;color:var(--primary);font:inherit;font-size:12px;font-weight:850;}
.group-invitation-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px;}
.group-invitation-actions button{width:auto;min-height:34px;padding:7px 11px;border-radius:12px;font-size:12px;font-weight:850;}

/* Invitation-only preview: basic details and rules, never group content. */
.modal .admin-tool-card.invited-group-preview-modal{width:min(390px,94%)!important;padding:20px!important;}
.invited-group-preview{display:grid;gap:12px;}
.invited-group-preview>.thumb{height:132px;border-radius:16px;background:var(--soft);}
.invited-group-preview-title{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px;}
.invited-group-preview-title h2,.invited-group-preview-title p{align-self:flex-start!important;margin:0!important;}
.invited-group-preview-title h2{color:var(--ink);font-size:20px;line-height:24px;overflow-wrap:anywhere;}
.invited-group-preview-title p{color:var(--muted);font-size:12px;line-height:16px;}
.invited-group-preview-title .invited-group-preview-meta{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:2px;}
.invited-group-preview-meta>span{display:block;border-radius:999px;background:var(--peach);padding:3px 7px;color:var(--primary);font-size:10px;font-weight:850;line-height:14px;}
.invited-group-preview section{display:grid;gap:6px;}
.invited-group-preview section h3{margin:0;color:var(--ink);font-size:14px;}
.invited-group-preview section p{margin:0;color:var(--muted);font-size:13px;line-height:1.38;}
.invited-group-owner{grid-template-columns:36px minmax(0,1fr)!important;align-items:center;gap:9px!important;padding:10px 0;border-top:1px solid var(--line);}
.invited-group-owner .chat-initial{width:36px;height:36px;min-width:36px;}
.invited-group-owner strong,.invited-group-owner small{display:block;}
.invited-group-owner small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:750;}
.invited-group-preview-actions{display:flex;justify-content:flex-end;gap:8px;}
.invited-group-preview-actions button{width:auto;min-height:38px;padding:8px 13px;border-radius:13px;font-size:12px;font-weight:850;}

/* The invite panel keeps the standard modal title and close control, so its
   body must not repeat the Manage-members header. Pending rows need room for
   a name, an invite status, and the Cancel action. */
.modal .admin-tool-card.invite-members-modal{width:min(390px,94%)!important;min-height:auto!important;padding:20px!important;}
.modal .admin-tool-card.invite-members-modal .manage-members-head{display:none!important;}
.modal .admin-tool-card.invite-members-modal [data-admin-modal-body]{display:block!important;min-height:0!important;max-height:calc(min(78vh,650px) - 86px)!important;overflow:auto!important;padding:0!important;margin:0!important;}
.modal .admin-tool-card.invite-members-modal .pending-invite-row{grid-template-columns:36px minmax(0,1fr) auto!important;min-height:72px!important;height:auto!important;align-items:center!important;}
.modal .admin-tool-card.invite-members-modal .pending-invite-row .admin-member-meta{min-width:0!important;}
.modal .admin-tool-card.invite-members-modal .pending-invite-row .admin-member-meta small:not(.invite-expiry){font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.modal .admin-tool-card.invite-members-modal .pending-invite-row .invite-expiry{font-size:10px!important;white-space:nowrap!important;}
.modal .admin-tool-card.invite-members-modal .admin-cancel-invite-action{min-width:56px!important;padding:7px 8px!important;}

/* Final manage-member modal centering and dot cleanup. */
.admin-tool-card{
  width:min(340px,88vw)!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
}
.admin-tool-card .admin-member-more,
.admin-tool-card .admin-member-more:hover,
.admin-tool-card .admin-member-more:focus,
.admin-tool-card .admin-member-more:active{
  box-shadow:none!important;
  filter:none!important;
  outline:none!important;
}
.admin-tool-card .admin-member-row{
  box-shadow:none!important;
}

/* Undo forced offset: admin modal is centered by .modal grid. */
.modal .admin-tool-card{
  position:static!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  margin:auto!important;
  width:min(340px,100%)!important;
  max-width:100%!important;
}

/* Larger admin edit text areas for About and Rules. */
.modal .admin-tool-card textarea{
  min-height:224px!important;
  max-height:360px!important;
  resize:vertical!important;
  line-height:1.35!important;
}
.modal .admin-tool-card{
  max-height:min(82vh,680px)!important;
}
.modal .admin-tool-card [data-admin-modal-body]{
  max-height:calc(min(82vh,680px) - 86px)!important;
  overflow:auto!important;
}

/* Manage members gets a taller modal than other admin tools. */
.modal .admin-tool-card.manage-members-modal{
  min-height:min(68vh,560px)!important;
  max-height:min(82vh,680px)!important;
}
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body]{
  max-height:calc(min(82vh,680px) - 86px)!important;
  overflow:visible!important;
}
.modal .admin-tool-card.manage-members-modal .admin-member-list{
  max-height:500px!important;
  overflow:auto!important;
}

/* Clean manage members modal: no label/instruction, compact close, no dot shadow. */
.admin-tool-card .admin-member-search span{
  display:none!important;
}
.admin-tool-card .section-title button[data-close-admin-modal]{
  min-height:20px!important;
  height:20px!important;
  padding:0 8px!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}
.admin-tool-card .admin-member-more,
.admin-tool-card .admin-member-more:hover,
.admin-tool-card .admin-member-more:focus,
.admin-tool-card .admin-member-more:active{
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
}

/* Manage members final compact content fit. */
.modal .admin-tool-card.manage-members-modal{
  min-height:auto!important;
  height:auto!important;
  padding:20px!important;
}
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body]{
  overflow:visible!important;
  max-height:none!important;
}
.admin-tool-card .admin-member-search{
  margin:12px 0!important;
  gap:0!important;
}
.admin-tool-card .admin-member-search input{
  height:44px!important;
  min-height:44px!important;
  max-height:44px!important;
  padding:0 13px!important;
  border-radius:14px!important;
  line-height:44px!important;
}
.admin-tool-card .admin-member-list{
  gap:10px!important;
  max-height:430px!important;
  overflow:visible!important;
}
.admin-tool-card .admin-member-row{
  height:auto!important;
  min-height:56px!important;
  max-height:none!important;
  padding:8px 10px!important;
  align-items:center!important;
  overflow:visible!important;
}
.admin-tool-card .admin-member-row .chat-initial{
  width:36px!important;
  min-width:36px!important;
  max-width:36px!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  aspect-ratio:1/1!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
.admin-tool-card .admin-member-row .admin-member-meta{
  display:grid!important;
  gap:2px!important;
  align-content:center!important;
}
.admin-tool-card .admin-member-row .admin-member-more{
  align-self:center!important;
}

/* Manage members requested typography and button cleanup. */
.admin-tool-card .admin-member-row .admin-member-meta strong{
  font-size:14px!important;
  line-height:1.15!important;
}
.admin-tool-card .admin-member-row .admin-member-meta small{
  font-size:12px!important;
  line-height:1.15!important;
}
.admin-tool-card .section-title button[data-close-admin-modal]{
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
}
.admin-tool-card button,
.admin-tool-card button:hover,
.admin-tool-card button:focus,
.admin-tool-card button:active{
  box-shadow:none!important;
  filter:none!important;
  text-shadow:none!important;
}

/* Balanced manage members modal sizing. */
.modal .admin-tool-card.manage-members-modal{
  width:min(360px,94%)!important;
  min-height:320px!important;
  padding:20px!important;
}
.modal .admin-tool-card.manage-members-modal .section-title{
  margin-bottom:14px!important;
}
.modal .admin-tool-card.manage-members-modal .admin-member-search{
  margin:0 0 12px!important;
}
.modal .admin-tool-card.manage-members-modal .admin-member-list{
  max-height:470px!important;
  overflow:auto!important;
}

/* Fix manage members duplicate-looking header and tidy body spacing. */
.modal .admin-tool-card.manage-members-modal .section-title{
  display:none!important;
}
.modal .admin-tool-card.manage-members-modal .manage-members-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 14px!important;
}
.modal .admin-tool-card.manage-members-modal .manage-members-head h2{
  margin:0!important;
  font-size:17px!important;
  line-height:1.2!important;
}
.modal .admin-tool-card.manage-members-modal .manage-members-head button{
  min-height:28px!important;
  height:28px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body]{
  display:block!important;
  padding:0!important;
  margin:0!important;
}
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body] > .section-title,
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body] h2[data-admin-modal-title],
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body] button[data-close-admin-modal]{
  display:none!important;
}
.modal .admin-tool-card.manage-members-modal .admin-member-search{
  display:block!important;
  margin:0 0 12px!important;
}

/* Restore the custom Manage members close button. */
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body] .manage-members-head button[data-close-admin-modal]{
  display:grid!important;
  place-items:center!important;
  min-height:28px!important;
  height:28px!important;
  padding:0 8px!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--soft)!important;
  color:var(--primary)!important;
  font-size:12px!important;
  font-weight:900!important;
  box-shadow:none!important;
}

/* Manage members: enlarge the actual inner content window, not only the modal shell. */
.modal .admin-tool-card.manage-members-modal{
  width:min(360px,94%)!important;
  min-height:420px!important;
  height:auto!important;
  overflow:visible!important;
}
.modal .admin-tool-card.manage-members-modal [data-admin-modal-body]{
  min-height:310px!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.modal .admin-tool-card.manage-members-modal .admin-member-list{
  min-height:210px!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.modal .admin-tool-card.manage-members-modal .admin-member-row{
  flex-shrink:0!important;
}

/* Keep manage-member rows compact inside the larger modal. */
.modal .admin-tool-card.manage-members-modal .admin-member-row{
  height:56px!important;
  min-height:56px!important;
  max-height:56px!important;
  align-content:center!important;
}
.modal .admin-tool-card.manage-members-modal .admin-member-list{
  align-content:start!important;
  justify-content:stretch!important;
}

.chat-row{grid-template-columns:42px minmax(0,1fr) auto 18px;}
.chat-delete-button{border:0;border-radius:999px;background:#fff0f3;color:var(--danger);font-size:11px;font-weight:900;padding:8px 10px;white-space:nowrap;box-shadow:none;}
.chat-delete-button:active{transform:translateY(1px);}
@media(max-width:380px){.chat-row{grid-template-columns:38px minmax(0,1fr) auto;}.chat-row .action{display:none}.chat-delete-button{padding:7px 9px;font-size:10.5px}}

/* Notification center - bell opens updates, settings stay separate */
.notification-center-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#f4efff,#fff9f4);padding:15px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:12px;box-shadow:0 12px 28px rgba(52,45,106,.06)}
.notification-center-card .feature-icon{width:42px;height:42px;border-radius:15px}
.notification-center-card h2{margin:0 0 4px;font-size:17px;line-height:1.15;color:var(--ink)}
.notification-center-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.35;font-weight:750}
.notification-preview-card{padding:14px!important}
.notification-preview-list{display:grid;gap:10px;margin-top:8px}
.notification-preview-list article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--line);border-radius:17px;background:#fff;padding:11px 12px;box-shadow:0 8px 20px rgba(31,23,69,.04)}
.notification-preview-list .feature-icon{width:38px;height:38px;border-radius:14px}
.notification-preview-list strong{display:block;font-size:14px;line-height:1.15;color:var(--ink)}
.notification-preview-list small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35;font-weight:750}
.notification-empty-state{margin-top:12px}
@media(max-width:380px){.notification-center-card{grid-template-columns:38px minmax(0,1fr);padding:13px}.notification-center-card .feature-icon{width:38px;height:38px}.notification-preview-list article{grid-template-columns:36px minmax(0,1fr)}}

/* Notification center layout correction */
.notification-center-card{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:start!important;padding:14px!important;margin-bottom:12px!important;min-height:0!important}
.notification-center-heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center}
.notification-center-heading h2{margin:0!important;font-size:17px!important;line-height:1.15!important;color:var(--ink)!important}
.notification-center-card>p{grid-column:1!important;margin:0!important;padding-left:54px;color:var(--muted)!important;font-size:13px!important;line-height:1.35!important;font-weight:750!important;max-width:none!important;word-break:normal!important;overflow-wrap:normal!important}
#notifications-screen{padding-bottom:96px!important}
#notifications-screen .notification-preview-card{margin-bottom:12px!important}
@media(max-width:380px){.notification-center-heading{grid-template-columns:38px minmax(0,1fr);gap:10px}.notification-center-card>p{padding-left:48px}}

/* Notification intro card without icon */
.notification-center-card h2{margin:0!important;font-size:17px!important;line-height:1.15!important;color:var(--ink)!important;text-align:left!important}
.notification-center-card>p{padding-left:0!important;text-align:left!important}
.notification-inbox-list{display:grid;gap:10px;margin-top:12px!important}
.notification-inbox-item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--line);border-radius:18px;background:#fff;padding:12px;box-shadow:0 8px 20px rgba(31,23,69,.04);text-align:left}
.notification-inbox-item.unread{
  border-color:#c8b8ff;
  border-left:5px solid var(--primary);
  background:#f3efff;
  box-shadow:0 14px 30px rgba(104,66,244,.12);
}
.notification-inbox-item .feature-icon{width:38px;height:38px;border-radius:14px}
.notification-inbox-item.unread .feature-icon{background:var(--primary);color:#fff}
.notification-inbox-item strong{display:block;font-size:14px;line-height:1.2;color:var(--ink)}
.notification-inbox-item p{margin:3px 0 0;color:var(--muted);font-size:12.5px;line-height:1.35;font-weight:750}
.notification-inbox-item time{display:block;margin-top:5px;color:#8991ad;font-size:11px;font-weight:900}


/* Deal redemption: in-store slide flow */
.deal-redeem-panel{display:grid;gap:10px;margin-top:10px;border:1px solid var(--line);border-radius:18px;background:#fbf9ff;padding:13px}
.deal-redeem-instructions,.deal-terms,.deal-redeemed-note{margin:0;color:var(--muted);font-size:13px;line-height:1.35;font-weight:800}
.deal-redeemed-note{color:#14a37f!important;font-weight:900!important}
.deal-slide-control{position:relative;height:52px;border-radius:999px;background:var(--primary);color:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 12px 24px rgba(104,66,244,.22)}
.deal-slide-control span{font-weight:900;font-size:15px;pointer-events:none;z-index:1}
.deal-slide-control input{position:absolute;inset:0;width:100%;height:100%;opacity:.001;cursor:pointer;z-index:2}
.deal-slide-control::before{content:'›';position:absolute;left:6px;top:6px;width:40px;height:40px;border-radius:999px;background:#fff;color:var(--primary);display:grid;place-items:center;font-size:26px;font-weight:900;z-index:1}
.deal-slide-control:has(input:disabled){background:#e9fbf4;color:#14a37f;box-shadow:none}
.deal-slide-control:has(input:disabled)::before{content:'✓';color:#14a37f}


/* Deal redeem copy hierarchy and real draggable slide control */
.deal-info-block{display:grid;gap:4px}
.deal-info-block strong{color:var(--ink);font-size:13px;line-height:1.15;font-weight:900}
.deal-info-block p{margin:0;color:var(--muted);font-size:13px;line-height:1.35;font-weight:800}
.deal-detail-description{font-weight:750!important}
.deal-slide-control{--slide-progress:0%;touch-action:none;user-select:none;cursor:grab;position:relative;isolation:isolate}
.deal-slide-control::after{content:'';position:absolute;inset:0 auto 0 0;width:var(--slide-progress);background:rgba(255,255,255,.18);border-radius:inherit;z-index:0}
.deal-slide-control i{position:absolute;left:calc(6px + (var(--slide-progress) * .58));top:6px;width:40px;height:40px;border-radius:999px;background:#fff;color:var(--primary);display:grid;place-items:center;font-style:normal;font-size:26px;font-weight:900;z-index:2;transition:left .12s ease}
.deal-slide-control span{position:relative;z-index:1}
.deal-slide-control.is-redeemed{cursor:default;background:#e9fbf4!important;color:#14a37f!important;box-shadow:none!important}
.deal-slide-control.is-redeemed i{color:#14a37f!important;left:6px!important}
.deal-slide-control.is-saving{opacity:.72;cursor:wait}
.deal-slide-control.is-saving i{transition:none}
.deal-slide-control.is-redeemed i::before{content:'✓'}
.deal-slide-control.is-redeemed i{font-size:0!important}
.deal-slide-control.is-redeemed i::before{font-size:24px}


/* Deal instructions and terms sit below description, outside redeem card */
.deal-instructions-section{display:grid;gap:9px;margin:8px 0 12px}
.deal-instructions-section .deal-info-block{display:grid;gap:3px}
.deal-instructions-section .deal-info-block strong{font-size:12px!important;line-height:1.15!important;color:var(--ink)!important;font-weight:900!important}
.deal-instructions-section .deal-info-block p{font-size:12px!important;line-height:1.3!important;color:var(--ink)!important;font-weight:750!important;margin:0!important}
.deal-redeem-panel{margin-top:8px!important}


/* Sponsored deal image slots: true 16:9 list images and Discover uploaded artwork */
#deals-screen .deal-card-list .deal-image{
  aspect-ratio:16 / 9!important;
  height:auto!important;
  min-height:0!important;
  background-size:cover!important;
  background-position:center!important;
}
.discover-slide-art.has-deal-image{
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.discover-slide-art.has-deal-image .feature-icon{display:none!important;}
.discover-dots span{cursor:pointer!important;}
.deal-slide-control{cursor:grab!important;}
.deal-slide-control:active{cursor:grabbing!important;}


/* Fix sponsored deal list rhythm and Discover image override */
#deals-screen .deal-card-list{
  grid-template-rows:auto auto auto!important;
  align-content:start!important;
}
#deals-screen .deal-card-list .deal-image{
  width:100%!important;
  aspect-ratio:16 / 9!important;
  height:auto!important;
  max-height:118px!important;
  background-size:cover!important;
  background-position:center!important;
}
#deals-screen .deal-card-list h3,
#deals-screen .deal-card-list .deal-meta{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.discover-slide-art.has-deal-image{
  background:var(--discover-deal-image)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.discover-slide-card{touch-action:pan-y!important;}


/* Discover deal image fills the full hero card */
.discover-slide-card.has-deal-image{
  background-image:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.28) 100%),var(--discover-slide-image)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.discover-slide-card.has-deal-image::after{
  background:rgba(104,64,246,.12)!important;
}
.discover-slide-card.has-deal-image .discover-slide-art{
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.44)!important;
  backdrop-filter:blur(7px)!important;
}
.discover-slide-card.has-deal-image .discover-slide-art.has-deal-image{
  background:rgba(255,255,255,.18)!important;
}


/* Discover sponsored hero cleanup: full image, no side frame or student-pick pill */
.discover-slide-card.has-deal-image{
  grid-template-columns:1fr!important;
}
.discover-slide-card.has-deal-image .discover-slide-art{
  display:none!important;
}
.discover-slide-card.has-deal-image .sponsored{
  display:none!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy{
  max-width:72%!important;
}


/* Discover sponsored banner: true 16:9 and no promo code line */
.discover-slide-card.has-deal-image{
  aspect-ratio:16 / 9!important;
  min-height:0!important;
  height:auto!important;
  padding:16px!important;
  align-content:end!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy{
  align-self:end!important;
  max-width:70%!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy p{
  display:none!important;
}
.discover-slide-card.has-deal-image .discover-dots{
  bottom:8px!important;
}


/* Rewind Discover sponsored card to previous compact hero size */
.discover-slide-card.has-deal-image{
  aspect-ratio:auto!important;
  min-height:136px!important;
  height:auto!important;
  padding:16px 16px 28px!important;
  align-content:start!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy{
  align-self:start!important;
  max-width:70%!important;
}


/* Fixed Discover sponsored ad size: stable 385 x 168 layout */
.discover-slide-card{
  width:min(385px,100%)!important;
  height:168px!important;
  min-height:168px!important;
  max-height:168px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.discover-slide-card.has-deal-image{
  width:min(385px,100%)!important;
  height:168px!important;
  min-height:168px!important;
  max-height:168px!important;
}


/* Discover text cleanup and Student Deals compact rhythm */
.discover-slide-card.has-deal-image{
  background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 42%,rgba(255,255,255,.42) 72%,rgba(255,255,255,.12) 100%),var(--discover-slide-image)!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy{
  gap:4px!important;
  padding-left:0!important;
  border-left:0!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy h2{
  margin:0!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy p{
  display:block!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.discover-slide-card.has-deal-image .discover-slide-copy button{
  margin-top:6px!important;
}
#deals-screen .deal-card-list{
  row-gap:5px!important;
  padding:10px!important;
}
#deals-screen .deal-card-list .deal-image{
  max-height:106px!important;
  margin-bottom:3px!important;
}
#deals-screen .deal-card-list h3{
  margin:0!important;
  line-height:1.16!important;
}
#deals-screen .deal-card-list .deal-business{
  margin:0!important;
  line-height:1.2!important;
}
#deals-screen .deal-card-list .deal-code-copy-row{
  margin-top:2px!important;
}


/* Approved deal text inset polish */
.discover-slide-card.has-deal-image .discover-slide-copy{
  padding-left:12px!important;
}
.discover-slide-card.has-deal-image .discover-dots{
  left:28px!important;
}
#deals-screen .deal-card-list h3,
#deals-screen .deal-card-list .deal-meta{
  padding-left:10px!important;
  padding-right:10px!important;
}

/* Activity attendee count */
.attendee-count-muted{color:#7b8199;font-weight:800}

/* Larger activity/group list photos */
.activity-row,
.group-row,
.room-row{
  grid-template-columns:78px minmax(0,1fr) auto!important;
  min-height:94px!important;
  align-items:center!important;
}
.group-row > div{
  min-width:0!important;
}
.group-row h3{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.group-row-description{
  margin:0!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.group-row-city{
  display:block!important;
  margin-top:3px!important;
  color:#8b91a8!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:600!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.activity-row .thumb,
.group-row .thumb,
.room-row .thumb{
  width:78px!important;
  height:78px!important;
  border-radius:18px!important;
  background-size:cover!important;
  background-position:center!important;
}
@media(max-width:380px){
  .activity-row,
  .group-row,
  .room-row{grid-template-columns:72px minmax(0,1fr) auto!important;min-height:88px!important;}
  .activity-row .thumb,
  .group-row .thumb,
  .room-row .thumb{width:72px!important;height:72px!important;}
}

/* Group post spacing polish */
#group-detail-screen .group-post-card > .group-post-author{
  margin-bottom:2px!important;
}
#group-detail-screen .group-post-card > h3{
  margin-top:2px!important;
  margin-bottom:2px!important;
  color:var(--text-muted)!important;
}
#group-detail-screen .group-post-card > p{
  margin-top:2px!important;
}
#group-detail-screen .group-reply-card{
  row-gap:2px!important;
}
#group-detail-screen .group-reply-card .student-content-header{
  margin-bottom:2px!important;
}
#group-detail-screen .group-reply-card .group-reply-text-row{
  margin-top:2px!important;
}

/* Final compact layout for group posts and replies. */
#group-detail-screen .group-post-card{
  gap:2px!important;
}
#group-detail-screen .group-post-card > .group-post-author{
  margin-bottom:2px!important;
}
#group-detail-screen .group-post-card > h3{
  margin:2px 0 2px 43px!important;
  color:var(--muted)!important;
}
#group-detail-screen .group-post-card > p{
  margin:2px 0 0 43px!important;
}
#group-detail-screen .group-reply-card{
  display:grid!important;
  grid-template-columns:28px minmax(0,1fr) auto!important;
  grid-template-areas:
    "avatar meta menu"
    "avatar text menu"!important;
  column-gap:8px!important;
  row-gap:2px!important;
  align-items:start!important;
  padding:9px 10px!important;
}
#group-detail-screen .group-reply-card .group-reply-author{
  display:contents!important;
}
#group-detail-screen .group-reply-card .group-reply-author .chat-initial{
  grid-area:avatar!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
}
#group-detail-screen .group-reply-card .group-reply-author .student-content-line{
  grid-area:meta!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding-right:0!important;
}
#group-detail-screen .group-reply-card .group-reply-text-row{
  grid-area:text!important;
  margin:0!important;
  display:block!important;
}
#group-detail-screen .group-reply-card .group-reply-text{
  margin:0!important;
  line-height:1.25!important;
}
#group-detail-screen .group-reply-card .reply-more-dot{
  grid-area:menu!important;
  position:static!important;
  align-self:center!important;
  justify-self:end!important;
}

/* Exact compact spacing for group post title and body. */
#group-detail-screen .group-post-card > h3{
  margin:2px 0 2px 43px!important;
  color:var(--muted)!important;
  line-height:1.18!important;
}
#group-detail-screen .group-post-card > .group-post-body{
  margin:0 0 0 43px!important;
  padding:0!important;
  line-height:1.22!important;
  color:var(--muted)!important;
}

/* Saved page cleanup: compact filter row and consistent list cards */
#saved-screen .tabs{
  display:flex!important;
  gap:7px!important;
  overflow-x:auto!important;
  padding:0 18px 2px 0!important;
  scrollbar-width:none;
}
#saved-screen .tabs::-webkit-scrollbar{display:none;}
#saved-screen .tabs button{
  flex:0 0 auto!important;
  min-width:0!important;
  padding:9px 13px!important;
  white-space:nowrap!important;
  word-break:normal!important;
  line-height:1!important;
}
#saved-screen [data-saved-tab="marketplace"]{min-width:104px!important;}
#saved-screen .row{
  grid-template-columns:72px minmax(0,1fr) 18px!important;
  gap:12px!important;
  align-items:center!important;
  min-height:88px!important;
  padding:10px 12px!important;
}
#saved-screen .row .thumb{
  width:72px!important;
  height:72px!important;
  border-radius:16px!important;
}
#saved-screen .row h3{
  margin:0 0 4px!important;
  text-align:left!important;
}
#saved-screen .row p{
  margin:0!important;
  text-align:left!important;
}
#activity-detail-screen [data-save-kind].is-saved,
#room-detail-screen [data-save-kind].is-saved,
#job-detail-screen [data-save-kind].is-saved{
  color:#fff!important;
  background:var(--primary)!important;
  border-radius:999px!important;
}

/* Launch polish: softer toast and consistent detail action icons */
.toast::before {
  content: none !important;
  display: none !important;
}

.detail-screen .topbar {
  padding-right: 18px;
  box-sizing: border-box;
}

.detail-screen .topbar .appbar-actions {
  gap: 8px;
}

.detail-screen .topbar > button:not(.back-button),
.detail-screen .topbar .appbar-actions button {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f4f1ff !important;
  color: var(--primary) !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.detail-screen .topbar button[data-save-kind],
.detail-screen .topbar button[aria-label*="Save"],
.detail-screen .topbar button[title*="Save"] {
  font-size: 0 !important;
}

.detail-screen .topbar button[data-save-kind]::before,
.detail-screen .topbar button[aria-label*="Save"]::before,
.detail-screen .topbar button[title*="Save"]::before {
  content: "♡" !important;
  display: block;
  font-size: 27px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  color: var(--primary) !important;
  transform: translateY(-1px);
}

.detail-screen .topbar button[data-save-kind].is-saved::before,
.detail-screen .topbar button[data-save-kind][aria-pressed="true"]::before,
.detail-screen .topbar button[aria-label*="Save"].is-saved::before,
.detail-screen .topbar button[title*="Save"].is-saved::before {
  content: "♡" !important;
}

.detail-screen .topbar .feature-icon {
  width: 22px !important;
  height: 22px !important;
  background: transparent !important;
}

.detail-screen .topbar .feature-icon::before {
  width: 22px !important;
  height: 22px !important;
}

/* Launch polish: keep saved detail hearts visible and centered */
.detail-screen .topbar button[data-save-kind],
.detail-screen .topbar button[aria-label*="save" i],
.detail-screen .topbar button[title*="save" i],
.detail-screen .topbar button[aria-label*="saved" i],
.detail-screen .topbar button[title*="saved" i],
.detail-screen .topbar .save-button,
.detail-screen .topbar .favorite-button,
.detail-screen .topbar .bookmark-button {
  position: relative !important;
  overflow: visible !important;
  background: #f4f1ff !important;
  color: transparent !important;
  font-size: 0 !important;
  box-shadow: none !important;
}

.detail-screen .topbar button[data-save-kind]::before,
.detail-screen .topbar button[aria-label*="save" i]::before,
.detail-screen .topbar button[title*="save" i]::before,
.detail-screen .topbar button[aria-label*="saved" i]::before,
.detail-screen .topbar button[title*="saved" i]::before,
.detail-screen .topbar .save-button::before,
.detail-screen .topbar .favorite-button::before,
.detail-screen .topbar .bookmark-button::before {
  content: "♡" !important;
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: var(--primary) !important;
  font-size: 27px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}

/* Launch polish: keep detail save buttons as thin centered hearts in both states. */
#activity-detail-screen .topbar > button[data-save-kind],
#room-detail-screen .topbar > button[data-save-kind],
#job-detail-screen .topbar > button[data-save-kind] {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f4f1ff !important;
  color: var(--primary) !important;
  display: inline-grid !important;
  place-items: center !important;
  font-size: 27px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-indent: 0 !important;
  overflow: visible !important;
}

#activity-detail-screen .topbar > button[data-save-kind]::before,
#room-detail-screen .topbar > button[data-save-kind]::before,
#job-detail-screen .topbar > button[data-save-kind]::before {
  content: none !important;
  display: none !important;
}

#activity-detail-screen .topbar > button[data-save-kind].is-saved,
#room-detail-screen .topbar > button[data-save-kind].is-saved,
#job-detail-screen .topbar > button[data-save-kind].is-saved,
#activity-detail-screen .topbar > button[data-save-kind][aria-pressed="true"],
#room-detail-screen .topbar > button[data-save-kind][aria-pressed="true"],
#job-detail-screen .topbar > button[data-save-kind][aria-pressed="true"] {
  background: #f4f1ff !important;
  color: var(--primary) !important;
  font-size: 27px !important;
}

/* Detail save heart visual state: UI-only, keep save logic untouched */
#activity-detail-screen .topbar > button[data-save-kind],
#room-detail-screen .topbar > button[data-save-kind],
#job-detail-screen .topbar > button[data-save-kind],
#market-detail-screen .top-actions > button[data-save-kind] {
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  flex: 0 0 38px !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #f4f0ff !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transform: none !important;
}

#activity-detail-screen .topbar > button[data-save-kind] *,
#room-detail-screen .topbar > button[data-save-kind] *,
#job-detail-screen .topbar > button[data-save-kind] *,
#market-detail-screen .top-actions > button[data-save-kind] * {
  display: none !important;
}

#activity-detail-screen .topbar > button[data-save-kind]::before,
#room-detail-screen .topbar > button[data-save-kind]::before,
#job-detail-screen .topbar > button[data-save-kind]::before,
#market-detail-screen .top-actions > button[data-save-kind]::before {
  content: none !important;
  display: none !important;
}

#activity-detail-screen .topbar > button[data-save-kind]::after,
#room-detail-screen .topbar > button[data-save-kind]::after,
#job-detail-screen .topbar > button[data-save-kind]::after,
#market-detail-screen .top-actions > button[data-save-kind]::after {
  content: "♡" !important;
  display: block !important;
  color: var(--primary) !important;
  font-size: 27px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  transform: translateY(-1px) !important;
}

#activity-detail-screen .topbar > button[data-save-kind].is-saved::after,
#activity-detail-screen .topbar > button[data-save-kind][aria-pressed="true"]::after,
#room-detail-screen .topbar > button[data-save-kind].is-saved::after,
#room-detail-screen .topbar > button[data-save-kind][aria-pressed="true"]::after,
#job-detail-screen .topbar > button[data-save-kind].is-saved::after,
#job-detail-screen .topbar > button[data-save-kind][aria-pressed="true"]::after,
#market-detail-screen .top-actions > button[data-save-kind].is-saved::after,
#market-detail-screen .top-actions > button[data-save-kind][aria-pressed="true"]::after {
  content: "♥" !important;
}

/* Fix duplicate detail save hearts: hide native glyph and render one centered CSS heart */
#activity-detail-screen .topbar > button[data-save-kind],
#room-detail-screen .topbar > button[data-save-kind],
#job-detail-screen .topbar > button[data-save-kind],
#market-detail-screen .top-actions > button[data-save-kind] {
  overflow: hidden !important;
  text-indent: -9999px !important;
  letter-spacing: -9999px !important;
}

#activity-detail-screen .topbar > button[data-save-kind]::after,
#room-detail-screen .topbar > button[data-save-kind]::after,
#job-detail-screen .topbar > button[data-save-kind]::after,
#market-detail-screen .top-actions > button[data-save-kind]::after {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  text-indent: 0 !important;
  letter-spacing: normal !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Activity header has share + save grouped together; keep the save heart single. */
#activity-detail-screen .top-actions > button[data-save-kind] {
  position: relative !important;
  overflow: hidden !important;
  color: transparent !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
  letter-spacing: -9999px !important;
}

#activity-detail-screen .top-actions > button[data-save-kind] * {
  display: none !important;
}

#activity-detail-screen .top-actions > button[data-save-kind]::before {
  content: none !important;
  display: none !important;
}

#activity-detail-screen .top-actions > button[data-save-kind]::after {
  content: "♡" !important;
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: var(--primary) !important;
  font-size: 27px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-indent: 0 !important;
  letter-spacing: normal !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

#activity-detail-screen .top-actions > button[data-save-kind].is-saved::after,
#activity-detail-screen .top-actions > button[data-save-kind][aria-pressed="true"]::after {
  content: "♥" !important;
}

#activity-detail-screen .top-actions > button[data-save-kind].is-saved,
#activity-detail-screen .top-actions > button[data-save-kind][aria-pressed="true"] {
  background: #f4f0ff !important;
}

/* Launch polish: make the Discover sponsored image text veil nearly transparent. */
.discover-slide-card.has-deal-image::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.discover-slide-card.has-deal-image .discover-slide-copy {
  padding-bottom: 58px !important;
}

.discover-slide-card.has-deal-image .discover-slide-copy button {
  position: absolute !important;
  left: 30px !important;
  bottom: 34px !important;
  z-index: 3 !important;
}

.discover-slide-card.has-deal-image .discover-dots {
  left: 30px !important;
  bottom: 14px !important;
  z-index: 3 !important;
}

/* Launch polish: keep text and action buttons away from the right phone edge. */
.screen {
  padding-right: 32px;
}

.topbar,
.appbar {
  padding-right: 10px;
}

.topbar > button:last-child,
.appbar-actions,
.detail-actions {
  margin-right: 4px;
}

@media (max-width: 380px) {
  .screen {
    padding-right: 24px;
  }

  .topbar,
  .appbar {
    padding-right: 8px;
  }
}

/* Discover sponsored hero readability overlay: left readable, right fully transparent */
.discover-slide-card.has-deal-image {
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.70) 0%, rgba(255, 255, 255, 0.70) 42%, rgba(255, 255, 255, 0) 100%),
    var(--discover-slide-image) !important;
}


.settings-about-bubble{
  margin-top:10px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(247,242,255,.95),rgba(255,251,248,.95));
  box-shadow:0 12px 30px rgba(82,54,180,.12);
}
.settings-about-bubble[hidden]{display:none}
.settings-about-bubble h2{
  margin:0 0 6px;
  font-size:18px;
  line-height:1.15;
}
.settings-about-bubble p{
  margin:0 0 12px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}
.settings-about-links{
  display:grid;
  gap:8px;
}
.settings-about-links button{
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  color:var(--brand);
  font-weight:900;
  padding:10px 12px;
  text-align:left;
}
.settings-language-bubble{margin-top:-2px;margin-bottom:12px}
.settings-language-bubble .settings-about-links button.active{border-color:var(--primary);background:#FDE9E1;color:var(--primary)}
.settings-list [data-toggle-language-picker]{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:left}
.settings-list [data-toggle-language-picker] strong{font-size:13px;color:var(--primary)}
.settings-list [data-toggle-language-picker] b{font-size:18px;line-height:1}
.settings-language-dropdown{margin:-2px 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:18px;background:#fff}
.settings-language-dropdown label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:850}
.settings-language-dropdown select{width:100%;border:1px solid var(--line);border-radius:13px;background:#FFF9F6;padding:11px 12px;color:var(--ink);font-weight:800}

/* Authoritative Kablo Nest foundation. This is the final visual layer for the prototype. */
:root{--primary:#E85D3F;--primary-dark:#C94932;--ink:#17213B;--muted:#6B7280;--soft:#FDE9E1;--soft-2:#FFF9F6;--line:#F2D7CD;--card:#FFFFFF;--shadow:none}
body,.phone-shell{background:#FFF9F6!important}.phone-shell{box-shadow:none!important}.screen{padding:20px 20px 104px!important}.topbar,.appbar{margin-bottom:24px!important}.topbar h1{font-size:24px!important}
#groups-screen .topbar{margin-bottom:10px!important}

/* Kablo Nest group detail: compact KabloCamp-style thumbnail header. */
#group-detail-screen .group-hero.compact-hero{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:12px!important;min-height:86px!important}
#group-detail-screen .group-hero .thumb{display:block!important;width:52px!important;height:52px!important;border-radius:15px!important;align-self:start!important;background-color:var(--soft-2)!important}
#group-detail-screen .group-hero-main{min-width:0!important;display:grid!important;gap:5px!important}
#group-detail-screen .group-hero h2{margin:0!important;font-size:17px!important;line-height:1.15!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
#group-detail-screen .group-hero [data-group-description]{margin:0!important;color:var(--muted)!important;font-size:12px!important;line-height:1.25!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
#group-detail-screen .group-privacy-label:not([hidden]){display:block!important;width:max-content;padding:3px 7px;border-radius:999px;background:#fff0e9;color:var(--primary);font-size:10.5px!important;font-weight:900;line-height:1.15!important}
#group-detail-screen .group-hero .group-hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;margin-top:2px!important}
#group-detail-screen .group-hero .compact-chips{display:flex!important;gap:6px!important;flex-wrap:wrap!important;min-width:0!important}
#group-detail-screen .group-hero .compact-chips span{padding:6px 9px!important;border-radius:999px!important;font-size:11.5px!important;line-height:1.1!important;white-space:nowrap!important}
#group-detail-screen [data-toggle-group]{width:auto!important;min-width:100px!important;max-width:112px!important;min-height:42px!important;padding:9px 12px!important;border-radius:16px!important;font-size:12.5px!important;line-height:1.1!important;justify-self:end!important;align-self:center!important}

.group-visibility-options{display:grid;gap:10px;}
.group-visibility-choice{display:grid;gap:4px;width:100%;padding:14px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--soft-2);color:var(--ink);}
.group-visibility-choice strong{font-size:15px;}
.group-visibility-choice small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35;}
.group-visibility-choice.active{border:2px solid var(--primary);background:#fff3ee;}
.group-create-visibility{display:grid;gap:8px;margin:0;padding:0;border:0;}
.group-create-visibility legend{padding:0;color:var(--muted);font-size:13px;font-weight:900;}
.group-create-visibility label{display:grid!important;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:start;padding:11px 12px!important;border:1px solid var(--line);border-radius:14px;background:var(--soft-2);}
.group-create-visibility input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--primary);}
.group-create-visibility label span{display:grid;gap:3px;}
.group-create-visibility label strong{color:var(--ink);font-size:14px;}
.group-create-visibility label small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.3;}
#group-detail-screen .detail-tabs{margin-top:16px!important}
#group-detail-screen .detail-tabs button{background:transparent!important;color:var(--muted)!important;border:0!important;border-radius:0!important;border-bottom:2px solid transparent!important}
#group-detail-screen .detail-tabs button.active{background:transparent!important;color:var(--primary)!important;border-bottom-color:var(--primary)!important}

/* Compact reply treatment aligned with the KabloCamp group discussion layout. */
#group-detail-screen .group-reply-card{display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;grid-template-areas:"avatar meta menu" "avatar text menu"!important;column-gap:8px!important;row-gap:2px!important;align-items:start!important;margin:6px 0 0 0!important;padding:9px 10px!important;border-radius:14px!important}
#group-detail-screen .group-reply-card .group-reply-author{display:contents!important}
#group-detail-screen .group-reply-card .group-reply-author .chat-initial{grid-area:avatar!important;width:28px!important;height:28px!important;min-width:28px!important}
#group-detail-screen .group-reply-card .group-reply-author .student-content-line{grid-area:meta!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;padding:0!important}
#group-detail-screen .group-reply-card .group-reply-text-row{grid-area:text!important;display:block!important;margin:0!important}
#group-detail-screen .group-reply-card .group-reply-text{margin:0!important;line-height:1.25!important}
#group-detail-screen .group-reply-card .reply-more-dot{grid-area:menu!important;position:static!important;align-self:center!important;justify-self:end!important}

/* Nest reply surface: warm neutral, never KabloCamp lavender. */
#group-detail-screen .group-reply-card{background:#FFF9F6!important;border:1px solid var(--line)!important}
.soft-card,.form-card,.welcome-card,.content-section,.row,.empty-card,.profile-card,.chat-panel,.detail-card,.mini-panel,.group-hero,.composer-card,.comment-card,.market-card,.deal-card{box-shadow:none!important;background:#fff!important;border-color:var(--line)!important;border-radius:16px!important}
.primary{background:var(--primary)!important;box-shadow:none!important}.secondary,.ghost{box-shadow:none!important}.shortcut-grid button,.tabs button,.chips button,.bottom-nav,.sheet-card,.modal-card{box-shadow:none!important}
.nest-settings-list{gap:10px!important;margin:0!important}.settings-list.nest-settings-list button{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;min-height:68px!important;padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;color:var(--ink)!important;text-align:left!important;box-shadow:none!important}.settings-list.nest-settings-list button .feature-icon{width:36px!important;height:36px!important;border-radius:12px!important;background:#FDE9E1!important;color:var(--primary)!important}.settings-list.nest-settings-list button .feature-icon::before{width:20px!important;height:20px!important}.settings-list.nest-settings-list button strong{display:block!important;color:var(--ink)!important;font-size:15px!important}.settings-list.nest-settings-list button small{display:block!important;margin-top:3px!important;color:var(--muted)!important;font-size:12px!important;font-weight:700!important}.settings-list.nest-settings-list button b{color:var(--primary)!important;font-size:22px!important}.settings-language-dropdown{margin:10px 0!important;border-radius:16px!important;box-shadow:none!important}.settings-about-bubble{margin:10px 0 18px!important;border-color:var(--line)!important;background:#fff!important;box-shadow:none!important}.settings-about-links button{border-color:var(--line)!important;color:var(--ink)!important}

.legal-screen{
  padding-bottom:104px;
}
.legal-page-card{
  display:grid;
  gap:14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  padding:16px;
  box-shadow:0 12px 28px rgba(52,45,106,.07);
}
.legal-updated{
  width:fit-content;
  margin:0;
  border-radius:999px;
  background:var(--soft);
  color:var(--primary);
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
}
.legal-body{
  display:grid;
  gap:14px;
}
.legal-body section{
  display:grid;
  gap:7px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.legal-body section:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.legal-body h2{
  margin:0;
  font-size:16px;
  line-height:1.2;
  color:var(--ink);
}
.legal-body p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.legal-body a{
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}
.legal-public-link{
  border-radius:16px;
  background:#faf8ff;
  padding:12px;
}

.legal-acceptance{
  display:grid!important;
  grid-template-columns:22px 1fr;
  gap:9px!important;
  align-items:start;
  border:1px solid var(--line);
  border-radius:16px;
  background:#faf8ff;
  padding:11px!important;
  color:var(--muted)!important;
  font-size:12px!important;
  line-height:1.35;
}
.legal-acceptance input{
  width:18px!important;
  height:18px;
  margin:1px 0 0;
  accent-color:var(--primary);
}
.legal-acceptance span{
  font-weight:800;
}
.legal-acceptance a{
  color:var(--primary);
  font-weight:900;
  text-decoration:none;
}
.auth-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:10px;
  align-items:center;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
.auth-divider::before,
.auth-divider::after{
  content:"";
  height:1px;
  background:var(--line);
}
.native-auth-note{
  margin:2px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  text-align:center;
  font-weight:800;
}
.oauth-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.oauth-buttons button{
  min-width:0;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  color:var(--ink);
  padding:12px 10px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  font-weight:900;
}
.oauth-buttons span{
  width:24px;
  height:24px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--soft);
  color:var(--primary);
  font-weight:950;
}
.safety-warning{
  display:grid;
  gap:5px;
  border:1px solid #eadfff;
  border-radius:16px;
  background:linear-gradient(135deg,#f4f0ff,#fff8f2);
  padding:12px;
}
.safety-warning strong{
  color:var(--ink);
  font-size:14px;
  line-height:1.2;
}
.safety-warning p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}
.nearby-activity-divider,.nearby-content-divider{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:10px;
  margin:4px 0 2px;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.nearby-activity-divider span,.nearby-content-divider span{
  height:1px;
  background:var(--line);
}

.detail-card [data-activity-description],
.detail-card [data-room-description],
.detail-card [data-job-description],
.detail-card [data-market-description],
.deal-detail-description,
[data-group-description],
[data-group-info],
[data-group-rules],
.comment-card p,
.group-post-body,
#chat-detail-screen .bubble span,
#group-detail-screen .group-chat-message .bubble span{
  white-space:pre-line!important;
  overflow-wrap:anywhere!important;
}

.group-post-photo{
  display:block;
  width:100%;
  margin:10px 0 2px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft-2);
}
.group-post-photo span{
  display:block;
  width:100%;
  height:170px;
  min-height:170px;
  background-color:var(--soft-2);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

#group-detail-screen [data-group-post-list]{
  display:grid;
  gap:18px;
}
#group-detail-screen .group-post-section{
  display:grid;
  gap:9px;
}
#group-detail-screen .group-post-section .section-title{
  margin:0;
}
#group-detail-screen .group-post-section .section-title h2{
  font-size:15px;
}
#group-detail-screen .group-post-section-pinned .section-title h2{
  color:var(--primary);
}
.group-post-pinned-badge{
  width:max-content;
  border-radius:999px;
  background:var(--soft);
  color:var(--primary);
  padding:5px 9px;
  font-size:11px;
  font-weight:900;
  margin-bottom:10px;
}
#group-detail-screen .group-post-card.is-pinned{
  border-color:#d8cfff;
  box-shadow:0 12px 28px rgba(104,66,244,.10);
}

.create-form .group-post-current-photo{
  display:grid;
  gap:9px;
  margin-top:2px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft-2);
}
.group-post-current-photo-preview{
  display:block;
  width:52px;
  height:52px;
  flex:0 0 52px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft-3) center/contain no-repeat;
}
.create-form .group-post-current-photo-title{
  color:var(--ink);
}
.create-form .group-post-current-photo-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.create-form .group-post-current-photo-row small{
  display:block;
  min-width:0;
  flex:1;
  color:var(--muted);
}
.create-form .group-post-current-photo-row button{
  flex:0 0 auto;
  margin:0;
  white-space:nowrap;
}
.create-form .group-post-current-photo.is-removing{
  background:#fff0f2;
  border-color:#ffc5ce;
}

/* Kablo Nest visual system — authoritative overrides for the family prototype. */
:root{--primary:#E85D3F;--primary-dark:#C94932;--ink:#17213B;--muted:#6B7280;--soft:#FDE9E1;--soft-2:#FFF9F6;--line:#F2D7CD;--card:#FFFFFF;--good:#EEF3EA;--danger:#C94932;--shadow:0 12px 28px rgba(23,33,59,.08)}
body{background:#FFF9F6;color:var(--ink)}
.phone-shell{background:#FFF9F6;border-color:var(--ink);box-shadow:0 20px 52px rgba(23,33,59,.14)}
.kablo-logo-mark{filter:none}.wordmark span{color:var(--primary)}
.soft-card,.welcome-card{background:#FDE9E1}.soft-card,.form-card,.welcome-card,.content-section,.row,.empty-card,.profile-card,.chat-panel{border-radius:16px;box-shadow:none}
.primary{background:var(--primary);box-shadow:none}.primary:hover,.primary:focus-visible{background:var(--primary-dark)}
.secondary{background:#fff;color:var(--ink);border:1px solid var(--primary)}
.ghost,.section-title button,.topbar>button:not(.back-button),.row .action{color:var(--primary)}
.bottom-nav{background:rgba(255,255,255,.98)}.bottom-nav button.active{color:var(--primary)}.bottom-nav button.active .feature-icon{background:#FDE9E1}.bottom-nav .create-tab span{background:var(--primary);box-shadow:none}
.segmented{background:#FDE9E1}.segmented button.active,.tabs button.active,.chips button.selected{background:var(--primary);border-color:var(--primary)}
.form-card input,.form-card select,.search-field,.search-field input,.chat-input input{background:#FFF9F6}
.screen{padding:20px 20px 104px}.content-section{margin-top:24px;padding:16px}.section-title h2{font-size:22px}.topbar h1{font-size:22px}
.deal-image,.row .thumb,.avatar-button{background:#FDE9E1}.sponsored{background:#FDE9E1;color:var(--primary)}
.nest-curated-note{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.45}
.password-lock-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.nest-account-privacy{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.form-card .legal-acceptance{grid-template-columns:18px minmax(0,1fr)!important;align-items:start}.form-card .legal-acceptance input{grid-column:1;grid-row:1;margin-top:2px}.form-card .legal-acceptance span{grid-column:2;grid-row:1}
.nest-home-greeting{margin:2px 0 14px;font-size:25px;font-weight:850;letter-spacing:-.03em;color:var(--ink)}
.nest-neighbourhood-card{position:relative;min-height:218px;margin-bottom:18px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#FDE9E1}.nest-neighbourhood-copy{position:relative;z-index:1;width:58%;padding:18px 0 18px 18px}.nest-neighbourhood-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:12px;border-radius:50%;background:#fff;color:var(--primary)}.nest-neighbourhood-icon .feature-icon{width:24px;height:24px;background:transparent}.nest-neighbourhood-icon .feature-icon::before{width:20px;height:20px}.nest-neighbourhood-card h2{margin:0 0 7px;font-size:18px;line-height:1.15}.nest-neighbourhood-card p{margin:0 0 16px;color:var(--muted);font-size:13px;line-height:1.38}.nest-neighbourhood-card .primary{width:auto;padding:10px 13px;border-radius:14px;font-size:12px}.nest-neighbourhood-card img{position:absolute;inset:0 0 0 auto;width:64%;height:100%;object-fit:cover;object-position:72% center;mask-image:linear-gradient(90deg,transparent 0%,#000 35%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 35%)}

/* Home header: show the complete Nest city mark, not a cropped slice of it. */
#home-screen .mini-logo{width:42px;height:42px;border-radius:0;background:transparent;overflow:visible;box-shadow:none}
#home-screen .mini-logo img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}
#home-screen .appbar{margin-bottom:22px}
#home-screen .nest-home-greeting{margin-left:4px}
#home-screen .nest-neighbourhood-card{margin-left:4px;margin-right:4px}

.settings-language-row{margin-bottom:16px!important}
.settings-language-row:has(+ .settings-language-dropdown:not([hidden])){margin-bottom:0!important}

[data-feedback-modal] .check-row{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;margin:0!important;color:var(--ink)!important;line-height:1.3!important}
[data-feedback-modal] .check-row input{grid-column:1!important;grid-row:1!important;width:16px!important;height:16px!important;margin:0!important}

#home-screen .content-section .section-title h2{font-size:18px!important;letter-spacing:-.01em!important}

/* Unified Nest member profiles. */
.creator-avatar{overflow:hidden}.creator-avatar img{width:100%;height:100%;object-fit:cover}.creator-profile-stats{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;padding-top:13px;border-top:1px solid var(--line)}.creator-profile-stats small{display:block;margin-bottom:3px;color:var(--muted);font-size:11px;font-weight:900}.creator-profile-stats strong{font-size:15px}.creator-profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(290px,100%);margin-top:4px}.creator-profile-actions .primary,.creator-profile-actions .secondary{padding:12px 10px;border-radius:999px;font-size:13px}.profile-post-preview .story-card{margin:0}.creator-interests-card{margin-top:12px}
.profile-actions:has(.profile-preview-note){grid-template-columns:1fr 1fr;width:min(320px,100%)}.profile-preview-note{grid-column:1 / -1;margin:0;color:var(--muted);font-size:12px;line-height:1.35}.profile-actions button:disabled{opacity:.62;cursor:default}
.profile-username{margin:-5px 0 0!important;color:var(--muted)!important;font-size:13px!important;font-weight:800}

/* Kablo Nest UI guideline — first compact pass: Group Info. */
#group-detail-screen [data-group-panel="info"] .content-section{padding:16px!important;gap:10px!important}
#group-detail-screen [data-group-panel="info"] .content-section h2{font-size:18px!important;line-height:1.2!important}
#group-detail-screen [data-group-panel="info"] .content-section p{font-size:15px!important;line-height:1.4!important}
#group-detail-screen [data-group-panel="info"] .section-title button{font-size:13px!important}
#group-detail-screen [data-group-panel="info"] [data-group-admin-tools] h2{font-size:17px!important}

/* Keep the group browser and Info tab compact, while preserving the cards' breathing room. */
#groups-screen .search-field{margin-bottom:8px!important}
#groups-screen [data-group-tabs]{margin:0 0 10px!important}
#group-detail-screen .topbar{margin-bottom:16px!important}
#group-detail-screen .detail-tabs{margin-top:10px!important}
#group-detail-screen [data-group-panel="info"] .content-section{margin-top:12px!important}

/* Activity comments now expose the same quick translation action as group content. */
#activity-detail-screen .activity-comment-actions [data-translate]{display:inline-flex!important;align-items:center!important;justify-content:center!important}

/* Kablo Nest UI guideline — authoritative page rhythm.
   Standard screens share these values; individual components should not add empty vertical space. */
:root{--page-header-gap:10px;--control-gap:10px;--section-gap:12px;--card-padding:16px}
.screen .topbar,.screen .appbar{margin-bottom:var(--page-header-gap)!important}
.list-screen .search-field{margin-bottom:var(--control-gap)!important}
.list-screen .tabs{margin:0 0 var(--section-gap)!important}
.detail-screen .detail-tabs{margin-top:var(--control-gap)!important;margin-bottom:var(--section-gap)!important}
.detail-screen .content-section{margin-top:var(--section-gap)!important;padding:var(--card-padding)!important}
#groups-screen .topbar{margin-bottom:var(--page-header-gap)!important}
#groups-screen .search-field{margin-bottom:var(--control-gap)!important}
#groups-screen [data-group-tabs]{margin:0 0 var(--section-gap)!important}
#group-detail-screen .topbar{margin-bottom:var(--page-header-gap)!important}
#group-detail-screen [data-group-panel="info"] .content-section{margin-top:var(--section-gap)!important}

/* The owner card contains one compact member row; it should not inherit the
   larger content-card rhythm used for text sections. */
#group-detail-screen [data-group-panel="info"] .content-section:has([data-group-owner-profile]){
  padding:14px 16px!important;
}
#group-detail-screen [data-group-panel="info"] .content-section:has([data-group-owner-profile]) .section-title{
  margin-bottom:6px!important;
}
#group-detail-screen [data-group-panel="info"] [data-group-owner-profile]{
  padding:0!important;
}

/* Permission visibility must take priority over the shared button/card layout. */
#group-detail-screen [hidden]{display:none!important}

/* Group history: a compact, scrollable manager-only timeline. */
.modal .admin-tool-card.group-history-modal{width:min(390px,94%)!important;padding:20px!important;min-height:0!important}
.group-history-modal [data-admin-modal-body]{display:block!important;min-height:0!important;max-height:min(62vh,520px)!important;overflow:auto!important;padding:0!important}
.group-history-modal .group-history-shell{display:grid;gap:12px}
.group-history-modal .group-history-privacy,.group-history-modal .group-history-status{margin:0;color:var(--muted);font-size:13px;line-height:1.4}
.group-history-modal .group-history-list{list-style:none;padding:0;margin:0}
.group-history-modal .group-history-entry{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:10px;padding:0 0 18px}
.group-history-modal .group-history-entry:last-child{padding-bottom:0}
.group-history-modal .group-history-entry:not(:last-child)::before{content:'';position:absolute;left:5px;top:12px;bottom:0;width:2px;background:var(--line)}
.group-history-modal .group-history-dot{position:relative;display:block;width:10px;height:10px;margin-top:5px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px var(--soft)}
.group-history-modal .group-history-entry>div{display:block!important;min-width:0}
.group-history-modal .group-history-entry p{margin:0;color:var(--ink);font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.group-history-modal .group-history-entry time{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.3}
.group-history-modal [data-group-history-more]{width:100%;min-height:42px;padding:10px;font-size:13px}
.group-history-modal [hidden]{display:none!important}

/* Nest location dropdowns, including the expanded choices. */
.modal .admin-tool-card.group-location-modal{width:min(390px,94%)!important;padding:20px!important;min-height:0!important}
.group-location-modal [data-admin-modal-body]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;min-height:0!important;max-height:min(68vh,540px);overflow-y:auto;padding:2px!important}
.group-location-modal .nest-location-field{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
.group-location-modal .nest-location-field>span{font-size:12px;font-weight:800;color:var(--muted)}
.group-location-modal .nest-location-picker{display:block!important;min-width:0}
.group-location-modal .nest-location-trigger{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft-2);color:var(--ink);font-size:14px;font-weight:750;text-align:left}
.group-location-modal .nest-location-trigger svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.group-location-modal .nest-location-trigger[aria-expanded="true"]{border-color:var(--primary);background:#fff}
.group-location-modal .nest-location-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.group-location-modal .nest-location-trigger:disabled{opacity:.6;cursor:default}
.group-location-modal .nest-location-panel{display:block!important;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#fff}
.group-location-modal .nest-location-search{display:block;width:100%;min-height:42px;margin:0 0 6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft-2);color:var(--ink);font-size:13px}
.group-location-modal .nest-location-options{display:block!important;max-height:min(180px,30vh);overflow-y:auto;overscroll-behavior:contain}
.group-location-modal .nest-location-option{display:flex!important;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;margin:0;padding:10px;border:0;border-radius:9px;background:#fff;color:var(--ink);text-align:left;font-size:13px;font-weight:650}
.group-location-modal .nest-location-option:hover,.group-location-modal .nest-location-option[aria-pressed="true"]{background:var(--soft);color:var(--primary)}
.group-location-modal .nest-location-check{width:16px;flex:0 0 16px;color:var(--primary);font-weight:900}
.group-location-modal .nest-location-trigger:focus-visible,.group-location-modal .nest-location-option:focus-visible,.group-location-modal .nest-location-search:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
.group-location-modal .nest-location-empty{margin:8px 4px;color:var(--muted);font-size:13px;line-height:1.4}
.group-location-modal [hidden]{display:none!important}
.following-post-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;min-width:0;}
.following-post-author{display:flex;align-items:center;gap:9px;width:100%;padding:13px 14px;border:0;background:transparent;text-align:left;color:var(--ink);}
.following-post-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--primary);color:#fff;font-weight:900;}
.following-post-avatar img{width:100%;height:100%;object-fit:cover;}
.following-post-author>span:nth-child(2){min-width:0;flex:1;}
.following-post-author strong{display:block;font-size:13px;overflow-wrap:anywhere;}
.following-post-author small,.following-post-author time{display:block;color:var(--muted);font-size:10px;font-weight:650;}
.following-post-author time{max-width:90px;text-align:right;}
.following-post-content{display:grid;gap:7px;width:100%;padding:0 14px 14px;border:0;background:transparent;color:var(--ink);text-align:left;}
.following-post-content>strong{font-size:16px;line-height:1.3;}
.following-post-content>p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;}
.following-post-content>strong,.following-post-content>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;}
.following-post-cover{width:100%;height:150px;object-fit:contain;background:#fff9f6;border-radius:12px;margin-bottom:3px;}
.following-post-card button:focus-visible{outline:2px solid var(--primary);outline-offset:-3px;}
.following-empty{padding:18px!important;}
.following-empty h2{font-size:16px!important;}
.following-empty p,.following-feed-intro,.following-feed-footer p{font-size:13px;color:var(--muted);line-height:1.45;}
.following-feed-intro{margin:0 0 16px;}
.following-feed-footer{display:grid;gap:10px;padding:16px 0 24px;}
.following-feed-footer [hidden]{display:none!important;}

/* Compact spacing with larger, light-outline post symbols. */
.story-card{padding:8px 15px 6px;}
.story-actions{gap:4px;min-height:44px;flex-wrap:wrap;margin-top:4px;padding-bottom:0;}
.story-card--text .story-actions{margin-top:4px;}
.story-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;font-size:14px;line-height:1.2;}
.story-actions [data-story-like]{font-size:24px;}
.story-actions [data-story-like]>span{font-size:14px;}
.story-actions .story-like-icon{display:block;width:24px;height:24px;flex:0 0 24px;}
.story-actions .story-save-control{width:44px!important;height:44px!important;font-size:24px!important;}
.story-actions .story-save-control::before{content:'';display:block;width:24px;height:24px;background:currentColor;--story-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-3-5.6 3 1.1-6.2L3 9.6l6.2-.9Z' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E");mask:var(--story-star) center/contain no-repeat;-webkit-mask:var(--story-star) center/contain no-repeat;}
.story-actions .story-save-control.is-saved::before{--story-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2-5.6-3-5.6 3 1.1-6.2L3 9.6l6.2-.9Z' fill='black' stroke='black' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E");}
.story-actions .story-comment-control{height:44px!important;gap:6px!important;font-size:14px;}
.story-actions button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px;}

/* Equal content padding gives text and icon actions the same visible separation. */
.story-actions{gap:0;margin-left:-10px;margin-right:-10px;}
.story-actions>button,.story-actions>.story-post-options>button{padding:0 10px;min-height:44px;}
.story-actions .story-save-control{padding:0 10px;width:44px!important;flex:0 0 44px;}
.story-post-options{position:relative;}
.story-post-menu{position:absolute;right:0;top:100%;z-index:5;min-width:140px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 6px 20px #18233c18;}
.story-post-menu button{display:flex;width:100%;justify-content:flex-start;padding:10px;}
.story-comments{margin-top:16px;padding-top:16px;scroll-margin-top:12px;}
.story-comments h3{font-size:18px;}
.story-comments h3>span{color:var(--muted);font-size:14px;}
.story-comment-thread{margin:0 0 12px;}
.story-thread-comment{padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;min-width:0;}
.story-thread-comment header{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.story-comment-person{display:flex;align-items:center;gap:8px;min-width:0;border:0;padding:0;background:transparent;color:var(--ink);text-align:left;}
.story-comment-person strong{font-size:14px;overflow-wrap:anywhere;}
.story-comment-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;overflow:hidden;border-radius:50%;background:var(--primary);color:#fff;font-size:14px;font-weight:850;}
.story-comment-avatar img{width:100%;height:100%;object-fit:cover;}
.story-thread-comment time{max-width:96px;flex-shrink:0;font-size:11px;color:var(--muted);text-align:right;}
.story-thread-comment .story-comment-body{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45;color:var(--muted);}
.story-comment-tools{display:flex;align-items:center;gap:4px;margin-top:4px;}
.story-comment-tools button,.story-comment-menu button,[data-comment-expand],[data-comments-retry]{min-height:44px;padding:8px;border:0;background:transparent;color:var(--primary);font-size:13px;font-weight:750;}
.story-comment-tools [data-comment-options]{min-width:44px;margin-left:auto;font-size:20px;}
.story-comment-menu{display:flex;flex-wrap:wrap;padding:4px;background:var(--soft);border-radius:12px;}
.story-thread-replies{display:grid;gap:8px;margin:8px 0 0 16px;padding-left:10px;border-left:2px solid var(--line);}
.story-thread-comment.is-reply{background:var(--soft-2);}
.story-thread-comment.is-removed p{margin:0;font-size:14px;font-style:italic;color:var(--muted);}
.story-thread-comment [data-comment-translation]{margin-top:8px;padding:8px;border-radius:10px;background:var(--soft);font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;}
.story-comments form[data-thread-compose],.story-comments form[data-thread-report]{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px;}
.story-compose-label{font-size:13px;font-weight:750;color:var(--muted);}
.story-compose-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;}
.story-comments textarea,.story-comments select{width:100%;min-width:0;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:inherit;font-size:14px;line-height:1.45;}
.story-comments textarea{resize:vertical;}
.story-compose-row>button{min-height:44px;align-self:end;}
.story-reply-context{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;background:var(--soft);border-radius:12px;font-size:13px;}
.story-reply-context button{min-height:44px;}
.story-comments form[data-thread-report]{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--soft-2);}
.story-comments [data-thread-report] label{display:grid;gap:6px;font-size:13px;}
.story-comments [data-thread-report] button{min-height:44px;margin-right:8px;}
.story-comments [data-comment-report-cancel],.story-comments [data-comment-cancel-reply]{background:transparent;color:var(--primary);}
.story-comments button:focus-visible,.story-comments textarea:focus-visible,.story-comments select:focus-visible{outline:2px solid var(--primary);outline-offset:2px;}
.story-comments button:disabled{opacity:.55;cursor:wait;}
.story-comments [hidden],.story-post-options [hidden]{display:none!important;}

/* Shared spacing scale. See DESIGN_RULES.md for usage and rollout. */
:root{
  --nest-space-micro:2px;
  --nest-space-xs:4px;
  --nest-space-sm:8px;
  --nest-space-md:12px;
  --nest-space-lg:16px;
  --nest-space-xl:24px;
  --nest-touch-target:44px;
  --nest-reply-avatar:28px;
}
/* One owner per gap: disable the inherited detail-card grid gap. */
.story-detail{gap:0;padding:var(--nest-space-lg)!important;}
.story-detail>.story-creator-info{margin-bottom:var(--nest-space-md);}
.story-detail-photos{margin-top:var(--nest-space-lg);}
.story-detail-photos h3{margin-bottom:var(--nest-space-sm);}
.story-detail-actions{margin-top:var(--nest-space-sm);margin-bottom:0;}
.story-comments{margin-top:var(--nest-space-sm);padding-top:var(--nest-space-sm);}
.story-comments h3{margin-bottom:var(--nest-space-sm);}
.story-comment-thread{margin:0;}
.story-comment-thread+.story-comment-thread{margin-top:var(--nest-space-sm);}
.story-thread-comment{padding:var(--nest-space-sm) var(--nest-space-md) 0;border-radius:14px;}
.story-thread-comment .story-comment-body{margin-top:var(--nest-space-xs);}
.story-comment-tools{gap:var(--nest-space-xs);margin:0 -8px;}
.story-comment-tools button{min-height:var(--nest-touch-target);}
.story-comment-menu{margin:0 0 var(--nest-space-sm);}
.story-thread-replies{gap:var(--nest-space-sm);margin:var(--nest-space-sm) 0 0 var(--nest-space-lg);padding-left:var(--nest-space-sm);}
.story-replies-toggle{display:block;margin:var(--nest-space-sm) 0 0 calc(var(--nest-space-lg) + var(--nest-space-sm) + 2px);width:calc(100% - var(--nest-space-lg) - var(--nest-space-sm) - 2px);}
.story-thread-comment.is-reply{position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--nest-touch-target);min-height:60px;padding:var(--nest-space-sm) 0 var(--nest-space-sm) var(--nest-space-md);background:#FFF9F6;}
.story-thread-comment.is-reply header{grid-column:1;grid-row:1;margin-left:36px;flex-wrap:wrap;gap:var(--nest-space-micro) var(--nest-space-sm);}
.story-thread-comment.is-reply .story-comment-person{min-height:18px;}
.story-thread-comment.is-reply .story-comment-avatar{position:absolute;left:var(--nest-space-md);top:var(--nest-space-sm);width:var(--nest-reply-avatar);height:var(--nest-reply-avatar);}
.story-thread-comment.is-reply time{font-size:10px;max-width:none;}
.story-thread-comment.is-reply .story-comment-body{grid-column:1;grid-row:2;margin:var(--nest-space-micro) 0 0 36px;line-height:1.35;}
/* The options bubble follows the first reply-text line, including wrapped headers. */
.story-thread-comment.is-reply .story-comment-tools{position:relative;grid-column:2;grid-row:2;align-self:start;align-items:flex-start;height:0;right:auto;top:auto;margin:var(--nest-space-micro) 0 0;transform:translateY(calc((14px * 1.35 - var(--nest-touch-target)) / 2));}
.story-thread-comment.is-reply .story-comment-tools button{width:var(--nest-touch-target);}
.story-thread-comment.is-reply .story-comment-menu{margin:var(--nest-space-sm) -32px 0 0;}
.story-thread-comment.is-reply [data-comment-translation]{grid-column:1 / -1;grid-row:3;margin-left:36px;margin-right:var(--nest-space-md);}
.story-thread-comment.is-removed{padding-bottom:var(--nest-space-sm);}
.story-comments form[data-thread-compose],.story-comments form[data-thread-report]{margin-top:var(--nest-space-sm);gap:var(--nest-space-sm);}
.story-compose-row{gap:var(--nest-space-sm);}
/* Keep the established compact group layout on the same spacing scale. */
#group-detail-screen .group-reply-card{margin-top:var(--nest-space-sm)!important;padding:var(--nest-space-sm) var(--nest-space-md)!important;column-gap:var(--nest-space-sm)!important;row-gap:var(--nest-space-micro)!important;}

/* Shared group action artwork; the outer buttons retain their touch area. */
.story-comment-tools .nest-more-button,.story-actions .nest-more-button,
.story-comment-tools .nest-translate-button{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--primary);}
.nest-more-bubble{display:grid;place-items:center;width:28px;height:28px;padding-bottom:4px;border-radius:50%;background:var(--soft);color:var(--primary);font-size:14px;font-weight:900;line-height:1;}
.is-reply .nest-more-bubble{width:24px;height:24px;}
.nest-translate-bubble{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--soft);color:var(--primary);box-shadow:0 4px 12px rgba(48,38,120,.10);}
.nest-translate-bubble svg{width:14px;height:14px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.story-comment-tools .nest-reply-button{padding:0 4px;}
.nest-reply-button>span{display:block;padding:7px 10px;border-radius:999px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:900;}
.story-thread-comment{position:relative;overflow:visible;}
.story-thread-comment.has-open-menu{z-index:30;}
.story-comments .story-thread-comment .story-comment-menu.nest-action-menu,
.story-actions .story-post-menu.nest-action-menu{position:absolute;right:8px;left:auto;top:100%;display:grid;gap:2px;width:142px;max-height:280px;overflow:auto;margin:0;padding:6px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 14px 28px rgba(20,20,50,.12);z-index:30;}
.story-comments .nest-action-menu button,.story-actions .nest-action-menu button{display:block;width:100%;min-width:0;min-height:32px;height:auto;margin:0;padding:7px 8px;border:0;border-radius:10px;background:transparent;color:var(--ink);text-align:left;white-space:nowrap;font-size:12px;font-weight:900;line-height:1.3;}
.story-comments .nest-action-menu button:first-child,.story-actions .nest-action-menu button:first-child{color:var(--primary);background:#f6f2ff;}
.story-comments .nest-action-menu .danger-text{color:var(--danger);}
.nest-action-menu button:hover,.nest-action-menu button:focus-visible{background:#f6f2ff;}
.story-comments .nest-action-menu[hidden],.story-actions .nest-action-menu[hidden]{display:none!important;}

/* Translation is a visible quick action on posts and replies in both surfaces. */
.story-actions .nest-translate-button,.nest-group-reply-tools .nest-translate-button,
.nest-group-reply-tools .nest-more-button{display:inline-grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--primary);}
.story-thread-comment.is-reply{grid-template-columns:minmax(0,1fr) 88px;}
.story-thread-comment.is-reply header{grid-column:1 / -1;margin-right:var(--nest-space-md);}
.story-thread-comment.is-reply .story-comment-tools{gap:0;}
.story-thread-comment.is-reply .story-comment-tools button{flex:0 0 44px;margin-left:0;}
#group-detail-screen .group-reply-card{grid-template-columns:28px minmax(0,1fr) 88px!important;grid-template-areas:"avatar meta meta" "avatar text actions"!important;}
#group-detail-screen .nest-group-reply-tools{grid-area:actions;position:relative;display:flex;gap:0;align-items:flex-start;align-self:start;height:0;transform:translateY(calc((13px * 1.25 - 44px) / 2));}
#group-detail-screen .nest-group-reply-tools .nest-more-bubble{width:24px;height:24px;}
#group-detail-screen .group-reply-card>.translation-note{grid-column:2 / -1;grid-row:3;white-space:pre-wrap;overflow-wrap:anywhere;}
.story-card .story-translation,.story-detail .story-translation{margin:8px 0 0;padding:8px;border-radius:12px;background:var(--soft);font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;}
.story-actions .nest-translate-button:disabled{opacity:.55;cursor:wait;}

/* Activity comments share the same translation and options artwork. */
#activity-detail-screen .comment-card .activity-comment-actions{gap:0!important;}
#activity-detail-screen .comment-card .activity-comment-actions .nest-translate-button,
#activity-detail-screen .comment-card .activity-comment-actions .nest-more-button{display:inline-grid!important;place-items:center!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--primary)!important;}

/* Approved action spacing: 8px between visible controls; preserve artwork. */
:root{--nest-action-gap:8px;--nest-action-translate-width:24px;--nest-action-more-width:28px;--nest-reply-actions-width:56px;}
.story-actions{gap:var(--nest-action-gap);margin-left:0;margin-right:0;}
.story-actions>button{padding-left:0;padding-right:0;min-width:0;}
.story-actions .story-save-control{width:24px!important;min-width:24px;flex:0 0 24px;padding:0;}
.story-actions .nest-translate-button,.story-comment-tools .nest-translate-button{width:var(--nest-action-translate-width);min-width:var(--nest-action-translate-width);padding:0;flex:0 0 var(--nest-action-translate-width);}
.story-actions .nest-more-button,.story-comment-tools .nest-more-button{width:var(--nest-action-more-width);min-width:var(--nest-action-more-width);padding:0;flex:0 0 var(--nest-action-more-width);}
.story-comment-tools{justify-content:flex-start;gap:var(--nest-action-gap);margin-left:0;margin-right:0;}
.story-comment-tools [data-comment-options]{margin-left:0;}
.story-comment-tools .nest-reply-button{padding:0;}
.story-thread-comment.is-reply{grid-template-columns:minmax(0,1fr) calc(var(--nest-reply-actions-width) + var(--nest-space-md));}
.story-thread-comment.is-reply .story-comment-tools{gap:var(--nest-action-gap);width:var(--nest-reply-actions-width);}
.story-thread-comment.is-reply .story-comment-tools button{width:24px;min-width:24px;flex:0 0 24px;}
#group-detail-screen .group-reply-card{grid-template-columns:28px minmax(0,1fr) var(--nest-reply-actions-width)!important;}
#group-detail-screen .nest-group-reply-tools{gap:var(--nest-action-gap);}
#group-detail-screen .nest-group-reply-tools button{width:24px;min-width:24px;flex:0 0 24px;}
#group-detail-screen .group-post-actions{gap:var(--nest-action-gap)!important;}
#activity-detail-screen .comment-card .activity-comment-actions{gap:var(--nest-action-gap)!important;}
#activity-detail-screen .comment-card .activity-comment-actions .nest-translate-button{width:24px!important;min-width:24px!important;max-width:24px!important;}
#activity-detail-screen .comment-card .activity-comment-actions .nest-more-button{width:28px!important;min-width:28px!important;max-width:28px!important;}

/* Addressed replies stay in the same compact, single-level thread. */
.story-thread-comment.is-reply .story-reply-recipient{grid-column:1 / -1;grid-row:2;margin:2px 12px 0 36px;font-size:11px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere;}
.story-reply-recipient button{display:inline;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;min-height:0;}
.story-thread-comment.is-reply.has-reply-target .story-comment-body,.story-thread-comment.is-reply.has-reply-target .story-comment-tools{grid-row:3;}
.story-thread-comment.is-reply.has-reply-target [data-comment-translation]{grid-row:4;}
.story-thread-comment.story-comment-highlight{border-color:var(--accent,#F15B3D);box-shadow:0 0 0 2px #FFE7DE;scroll-margin:16px;}

/* Group answers preserve the existing single-level reply layout. */
#group-detail-screen .group-reply-card.has-reply-recipient{grid-template-areas:"avatar meta meta" "avatar recipient recipient" "avatar text actions"!important;}
#group-detail-screen .group-reply-recipient{grid-area:recipient;font-size:11px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere;}
#group-detail-screen .group-reply-card.has-reply-recipient>.translation-note{grid-row:4;}
#group-detail-screen .group-post-card>.inline-reply-form{position:static;inset:auto;z-index:auto;display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:var(--nest-space-sm);box-shadow:none;}
#group-detail-screen .inline-reply-form>input{min-width:0;}
#group-detail-screen .group-reply-context{display:flex;align-items:center;justify-content:space-between;gap:8px;grid-column:1 / -1;min-width:0;padding:8px 10px;border-radius:12px;background:var(--soft);font-size:13px;}
#group-detail-screen .group-reply-context button{flex-shrink:0;white-space:nowrap;background:none;border:0;padding:4px;color:var(--primary);font-size:13px;font-weight:750;}
#group-detail-screen .group-reply-highlight{outline:2px solid var(--primary);outline-offset:2px;scroll-margin:16px;}

/* Activity conversations share the compact post thread and non-floating composer. */
#activity-detail-screen .activity-thread-comments.story-comments{margin-top:12px;border:1px solid var(--line);padding:12px;border-radius:16px;}

/* Nest marketplace uses the approved 4/8/12/16px spacing scale. */
.nest-market-filters,.nest-market-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:12px 0;}
.nest-market-filters label,.nest-market-fields label{display:grid;gap:4px;min-width:0;color:var(--muted);font-size:12px;font-weight:750;}
.nest-market-filters input:not([type=checkbox]),[data-create-form="market"] input:not([type=checkbox]):not([type=file]){width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;padding:12px;font:inherit;background:white;color:var(--ink);min-height:44px;}
.nest-market-check{display:flex!important;align-items:center;gap:8px!important;grid-template-columns:auto 1fr;}
.nest-market-check input{width:18px!important;height:18px;accent-color:var(--primary);}
.nest-market-select{position:relative;display:block;min-width:0;}
.nest-market-select>button{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:13px;font-weight:750;text-align:left;}
.nest-market-select>button::after{content:'⌄';color:var(--primary);font-size:18px;}
.nest-market-select-menu{position:absolute;left:0;top:calc(100% + 4px);z-index:80;min-width:100%;width:max-content;max-width:250px;max-height:220px;overflow:auto;box-sizing:border-box;background:white;border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 8px 24px #18233c20;}
.nest-market-filters>label:nth-child(even) .nest-market-select-menu,.nest-market-fields>label:nth-child(even) .nest-market-select-menu{left:auto;right:0;}
.nest-market-select-menu button{display:block;width:100%;border:0;border-radius:10px;text-align:left;background:white;color:var(--ink);font-size:13px;padding:10px;min-height:40px;}
.nest-market-select-menu [aria-selected=true],.nest-market-select-menu button:focus{background:#fff0e9;color:var(--primary);}
.nest-market-select-menu[hidden],[data-create-form="market"] [hidden]{display:none!important;}
.nest-market-card{position:relative;display:block!important;padding:0!important;overflow:visible;min-width:0;}
.nest-market-card .nest-market-open{display:block;width:100%;border:0;background:transparent;padding:8px;text-align:left;color:var(--ink);}
.nest-market-card .market-photo{display:block;width:100%;height:150px;border-radius:12px;margin:0 0 8px;}
.nest-market-card .nest-market-price{display:block;font-size:17px;color:var(--primary);margin:0 0 4px;}
.nest-market-card h3{font-size:14px;line-height:1.35;margin:0 0 4px;overflow-wrap:anywhere;}
.nest-market-card p{font-size:12px;line-height:1.35;margin:0 0 4px;}
.nest-market-card .nest-market-save{position:absolute;right:12px;top:12px;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid var(--line);background:white;color:var(--primary);font-size:25px;line-height:1;}
.nest-market-card .status-pill{font-size:11px;padding:4px 8px;margin-top:4px;}
.nest-market-photo-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.nest-market-photo-choice{border:1px solid var(--line);border-radius:14px;padding:8px;min-width:0;}
.nest-market-photo-choice img{width:100%;height:105px;object-fit:contain;border-radius:8px;}
.nest-market-photo-choice small{display:block;font-size:11px;color:var(--muted);margin:4px 0;}
.nest-market-photo-choice>div{display:flex;justify-content:space-between;gap:4px;}
.nest-market-photo-choice button{min-height:36px;padding:4px;font-size:12px;color:var(--primary);border:0;background:transparent;}
.nest-market-photo-choice button:disabled{opacity:.35;}
.nest-market-preview{position:absolute;inset:0;z-index:300;display:flex;align-items:center;background:#18233c70;padding:16px;box-sizing:border-box;}
.nest-market-preview>section{background:white;border-radius:22px;padding:16px;width:100%;max-height:85%;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;}
.nest-market-preview header{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.nest-market-preview h2{font-size:20px;margin:0;}.nest-market-preview h3{font-size:18px;margin:8px 0;}
.nest-market-preview header button{color:var(--primary);background:#ffe8df;border:0;border-radius:16px;padding:8px 12px;}
.nest-market-preview-body{overflow:auto;min-height:0;}.nest-market-preview-body p{font-size:14px;color:var(--muted);line-height:1.45;margin:8px 0;}
.nest-market-preview-cover{display:block;width:100%;height:200px;object-fit:contain;border-radius:14px;margin-bottom:12px;}
.nest-market-description{white-space:pre-wrap;overflow-wrap:anywhere;}
.nest-market-chat-items{display:grid;gap:8px;margin:0 0 12px;}
.nest-market-chat-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;background:white;padding:8px;text-align:left;color:var(--ink);}
.nest-market-chat-item img{width:56px;height:56px;object-fit:contain;border-radius:8px;}.nest-market-chat-item span{min-width:0;}.nest-market-chat-item strong,.nest-market-chat-item small{display:block;overflow-wrap:anywhere;}.nest-market-chat-item small{margin-top:4px;color:var(--muted);}
[data-market-clear-filters]{min-height:36px;border:0;border-radius:18px;background:#ffe8df;color:var(--primary);font-size:12px;font-weight:800;padding:8px 12px;justify-self:end;}
#market-screen .topbar{gap:8px;}#market-screen .topbar h1{min-width:0;}
@media(max-width:380px){#market-screen .topbar h1{font-size:20px;}#market-screen .topbar .labeled-add{padding:8px 12px;}}
[data-create-form="market"] .nest-market-check{flex-direction:row!important;align-items:center;justify-content:flex-start;}
[data-create-form="market"] .nest-market-check input{margin:0;flex:0 0 18px;padding:0;}

/* Shared Nest private conversation */
.nest-chat-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:8px 0;background:#ffe9e1;border-radius:12px;}.nest-chat-preview[hidden]{display:none}.nest-chat-preview span{flex:1;min-width:0}.nest-chat-preview small,.nest-chat-preview strong{display:block}.nest-chat-preview strong{font-size:14px}.nest-chat-preview small{font-size:12px}.nest-chat-preview button{background:transparent;border:0;color:#ef593b;font-size:24px;padding:4px 8px}.nest-chat-reference{display:flex;gap:8px;align-items:center;text-align:left;background:#fff8f5;border:1px solid #ffccbc;border-radius:12px;padding:8px;margin-bottom:8px;max-width:100%;color:#19233d}.nest-chat-reference img{width:44px;height:44px;object-fit:cover;border-radius:8px}.nest-chat-reference small,.nest-chat-reference strong{display:block}.chat-message-row:has(.nest-chat-reference){flex-wrap:wrap}.nest-chat-reference{flex-basis:100%}.nest-chat-unread{display:inline-block;min-width:20px;padding:2px 5px;border-radius:12px;background:#ed593b;color:#fff;font-size:12px;text-align:center}.nest-chat-highlight{outline:2px solid #ef593b;border-radius:12px}.nest-chat-person{flex:0 0 28px;width:28px;height:28px;padding:0;overflow:hidden}.nest-chat-person img{width:100%;height:100%;object-fit:cover}#chat-detail-screen .topbar{gap:8px;flex-wrap:wrap}#chat-detail-screen .chat-header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}#chat-detail-screen [data-chat-status]{font-size:13px;margin:8px 0}#chat-detail-screen [data-chat-form] button:disabled{opacity:.55}

.nest-chat-preview>img{width:40px;height:40px;object-fit:cover;border-radius:8px;flex:none}.nest-chat-preview strong{overflow-wrap:anywhere}#chat-detail-screen [data-chat-title]{min-width:0;overflow-wrap:anywhere}

#chat-detail-screen .topbar h1{display:flex!important;align-items:center!important;gap:8px!important;max-width:240px!important}#chat-detail-screen [data-chat-title]{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}#chat-detail-screen .nest-chat-person{width:28px!important;height:28px!important;font-size:13px!important;border:0}#chat-detail-screen .nest-chat-options{position:relative!important}#chat-detail-screen [data-chat-options-menu]{position:absolute!important;top:calc(100% + 8px)!important;right:0!important;left:auto!important;bottom:auto!important;min-width:150px;z-index:30}#chat-detail-screen [data-chat-options-menu]>button{display:block;width:100%;text-align:left;border:0;background:transparent;font-size:13px;padding:8px;color:var(--ink)}#chat-detail-screen .nest-chat-compose-area{min-width:0}#chat-detail-screen .nest-chat-compose-area .message-compose{position:static!important}#chat-detail-screen .nest-chat-preview{margin:0 0 8px}

#chat-detail-screen .topbar{grid-template-columns:44px minmax(0,1fr) 44px!important}#chat-detail-screen .topbar h1{max-width:100%!important}
