:root{
  --brand:#176b5d;--brand-dark:#0c4c42;--brand-soft:#e8f4f0;--accent:#39d98a;
  --bg:#f3f6f5;--surface:rgba(255,255,255,.94);--surface2:#f7f9f8;--text:#17201e;--muted:#697570;
  --line:#dce5e2;--danger:#b3261e;--shadow:0 18px 45px rgba(12,45,38,.16);
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.shell{max-width:760px;margin:auto;min-height:100dvh;background:linear-gradient(180deg,#f9fbfa 0,#f1f5f3 45%,#eef3f1 100%);position:relative;overflow-x:hidden}
.top{height:70px;background:rgba(249,251,250,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--text);display:flex;align-items:center;justify-content:space-between;padding:9px 16px;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(220,229,226,.75)}
.brand-button{border:0;background:transparent;color:inherit;padding:0;display:flex;align-items:center;gap:11px;flex:1;min-width:0;text-align:left}.avatar{width:43px;height:43px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff;font-weight:850;box-shadow:0 5px 14px rgba(23,107,93,.2);flex:0 0 auto}.avatar.person{border-radius:50%;box-shadow:none}.brandtext{display:grid;min-width:0}.brandtext b,.brandtext small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brandtext b{font-size:17px}.brandtext small{color:var(--muted);margin-top:2px}.head-actions{display:flex;flex:0 0 auto;gap:2px}.icon{border:0;background:transparent;color:var(--brand-dark);width:42px;height:42px;border-radius:14px;font-size:23px}.icon:hover{background:var(--brand-soft)}
.main{padding:20px 16px 132px;min-height:calc(100dvh - 70px)}h1{font-size:27px;line-height:1.1;margin:0 0 5px;letter-spacing:-.025em}h2{letter-spacing:-.015em}.subtitle{color:var(--muted);margin:0 0 18px}.grid{display:grid;gap:14px}.card{background:var(--surface);border:1px solid rgba(220,229,226,.95);border-radius:22px;padding:16px;box-shadow:0 6px 24px rgba(17,43,37,.05)}.card h2{margin:0 0 12px;font-size:18px}.cardhead,.pagehead{display:flex;align-items:center;justify-content:space-between;gap:12px}.pagehead{margin-bottom:4px}.pagehead .subtitle{margin-bottom:14px}.spaced{margin-top:14px}.badge{background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.badge.subtle{background:#f0f2f1;color:var(--muted)}.textbutton{border:0;background:transparent;color:var(--brand);font-weight:800;padding:5px}
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row.completed .title{text-decoration:line-through;color:var(--muted)}.grow{flex:1;min-width:0}.title{font-weight:800}.meta{font-size:13px;color:var(--muted);margin-top:3px}.dot{width:9px;height:43px;border-radius:8px;flex:0 0 auto}.check{width:29px;height:29px;border-radius:50%;border:2px solid #8fa09a;background:transparent;flex:0 0 auto}.check:hover{border-color:var(--accent);background:#effbf5}.task-check{border-radius:9px}.small{border:0;background:var(--surface2);width:37px;height:37px;border-radius:12px;color:var(--brand-dark);font-weight:850}.small:hover{background:var(--brand-soft)}
.primary,.secondary,.danger{border:0;border-radius:14px;padding:11px 14px;font-weight:800;min-height:45px}.primary{background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff;box-shadow:0 6px 14px rgba(23,107,93,.18)}.secondary{background:var(--brand-soft);color:var(--brand-dark)}.danger{background:#fdecea;color:var(--danger)}.compact{min-height:34px;padding:7px 10px;border-radius:11px;font-size:12px}.wide{width:100%}.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.empty{text-align:center;color:var(--muted);padding:28px 10px}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:17px;padding:4px;margin-bottom:14px}.tabs.two{grid-template-columns:1fr 1fr}.tab{border:0;background:transparent;padding:10px 5px;border-radius:13px;color:var(--muted);font-weight:800}.tab.active{background:var(--brand-soft);color:var(--brand-dark);box-shadow:inset 0 0 0 1px rgba(23,107,93,.05)}
.calhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calhead h2{margin:0;text-transform:capitalize;font-size:20px}.calbtn{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:20px;color:var(--brand-dark)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday{text-align:center;color:var(--muted);font-size:12px;font-weight:800;padding-bottom:7px}.day{aspect-ratio:1;border:1px solid transparent;border-radius:13px;background:#fff;position:relative;color:var(--text)}.day.out{opacity:.34}.day.today{border-color:var(--brand)}.day.sel{background:linear-gradient(145deg,var(--brand),var(--brand-dark));color:#fff}.day.has:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--accent);bottom:5px;left:50%;transform:translateX(-50%)}
/* Barra inferior flotante */
.bottom{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(724px,calc(100% - 24px));background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(217,226,223,.95);display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border-radius:25px;z-index:30;box-shadow:0 16px 38px rgba(17,43,37,.18)}.nav{border:0;background:transparent;color:var(--muted);padding:8px 2px;border-radius:18px;display:grid;gap:3px;justify-items:center;font-size:10.5px;min-width:0}.nav span:first-child{font-size:20px;line-height:1}.nav span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nav.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:850}.fab{position:fixed;right:max(20px,calc((100vw - 720px)/2));bottom:calc(96px + env(safe-area-inset-bottom));width:57px;height:57px;border:0;border-radius:19px;background:linear-gradient(145deg,var(--accent),#25bd75);font-size:32px;color:#06402a;box-shadow:var(--shadow);z-index:29}
.overlay{position:fixed;inset:0;background:rgba(5,22,18,.46);z-index:100;display:flex;align-items:flex-end;justify-content:center;padding-top:20px}.modal{width:min(760px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:27px 27px 0 0;padding:18px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--shadow)}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modalhead h2{margin:0;font-size:21px}.close{border:0;width:39px;height:39px;border-radius:50%;background:var(--surface2);font-size:20px}.form{display:grid;gap:13px}.nested{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}label{display:grid;gap:6px;font-size:14px;font-weight:800}input,textarea,select{width:100%;padding:12px;border:1px solid #bdc9c5;border-radius:13px;background:#fff;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(23,107,93,.09)}textarea{min-height:90px;resize:vertical}.cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions{display:flex;gap:10px}.actions>*{flex:1}.qr{display:grid;place-items:center;background:#fff;padding:14px;border:1px solid var(--line);border-radius:18px}.qr canvas{max-width:100%;height:auto}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:center;word-break:break-all;background:var(--surface2);padding:12px;border-radius:12px;font-weight:800}.toast{position:fixed;left:50%;bottom:calc(104px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#17201e;color:#fff;padding:12px 16px;border-radius:13px;z-index:200;box-shadow:var(--shadow)}
.onboard{min-height:100dvh;max-width:560px;margin:auto;display:grid;place-items:center;padding:22px}.onboard-wrap{width:100%}.hero{text-align:center;margin-bottom:22px}.app-logo{width:92px;height:92px;border-radius:26px;display:block;margin:0 auto 14px;box-shadow:0 14px 30px rgba(20,58,49,.2)}.status{padding:10px 12px;border-radius:12px;background:#fff7df;color:#6b5200;margin-bottom:14px}.status.neutral{background:#f1f5f3;color:var(--muted)}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.setting:last-child{border:0}.profileline{display:flex;align-items:center;gap:11px}.form-status{padding:11px 12px;border-radius:12px;font-size:14px;font-weight:700}.form-status.success{background:#e7f6ee;color:#155f3b}.form-status.error{background:#fdecea;color:#9f211a}.primary:disabled{opacity:.65;cursor:wait}
.list-card{border:1px solid var(--line);border-radius:16px;padding:8px;background:#fff;display:grid;gap:7px}.list-card.selected-list{border-color:rgba(23,107,93,.5);box-shadow:inset 0 0 0 1px rgba(23,107,93,.12)}.list-select{border:0;background:transparent;width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:7px;color:var(--text)}.list-select span:first-child{display:grid;gap:3px}.list-select small{color:var(--muted)}
@media(min-width:700px){.overlay{align-items:center;padding:24px}.modal{border-radius:27px;max-width:620px}.bottom{bottom:18px}.fab{bottom:108px}}
@media(max-width:390px){.nav{font-size:9.5px}.nav span:first-child{font-size:18px}.main{padding-left:12px;padding-right:12px}.bottom{width:calc(100% - 16px)}.quick{grid-template-columns:1fr}}


/* v8: recuperación y exportación */
.recovery-code { font-size: 1.05rem; letter-spacing: .06em; overflow-wrap: anywhere; }
.export-link { font-size: .78rem; letter-spacing: 0; overflow-wrap: anywhere; }
.status.warning { background: #fff4d6; color: #684c00; border: 1px solid #ecd58c; }
.center { text-align: center; }

/* Kith v10: chat, espacios y grupos */
.thread-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 12px;scrollbar-width:none}.thread-strip::-webkit-scrollbar{display:none}.thread-chip{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--muted);padding:9px 12px;border-radius:999px;font-weight:800}.thread-chip.active{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}
.chat-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 6px 24px rgba(17,43,37,.05)}.messages{min-height:46vh;max-height:calc(100dvh - 300px);overflow-y:auto;padding:14px;background:linear-gradient(180deg,#f4f8f6,#eef4f1)}.bubble-row{display:flex;margin:7px 0;justify-content:flex-start}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:82%;background:#fff;border-radius:18px 18px 18px 5px;padding:9px 11px;box-shadow:0 2px 7px rgba(17,43,37,.08);overflow-wrap:anywhere}.bubble.mine{background:#dff5e9;border-radius:18px 18px 5px 18px}.bubble-name{font-size:12px;font-weight:900;color:var(--brand);margin-bottom:3px}.bubble-meta{display:flex;align-items:center;justify-content:flex-end;gap:3px;font-size:10px;color:var(--muted);margin-top:5px}.bubble-action{border:0;background:transparent;color:var(--muted);padding:0 3px;font-size:15px}.chat-compose{display:flex;gap:8px;padding:10px;background:#fff;border-top:1px solid var(--line)}.chat-compose textarea{min-height:44px;max-height:110px;resize:none}.send{width:46px;min-width:46px;border:0;border-radius:15px;background:var(--accent);font-size:20px;color:#06402a}.message-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.space-choice{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:10px 12px;text-align:left}.space-choice.active{border-color:var(--brand);background:var(--brand-soft)}.space-choice span{flex:1;font-weight:800}.wide{width:100%;margin-top:12px}.message-preview .avatar{width:34px;height:34px}.main:has(.chat-card){padding-bottom:110px}


/* Kith v13 — avatares */
.avatar-photo{
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  color:transparent !important;
}
.chat-avatar{
  width:34px;
  height:34px;
  min-width:34px;
  align-self:flex-end;
  margin-bottom:4px;
}
.preview-avatar{width:38px;height:38px;min-width:38px}
.profile-avatar-editor{
  display:flex;
  align-items:center;
  gap:16px;
  padding:8px 0 4px;
}
.profile-avatar{
  width:82px;
  height:82px;
  min-width:82px;
  font-size:1.45rem;
}
.upload-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:10px 14px;
  border-radius:12px;
  margin-bottom:6px;
}
.danger-text{color:#b63b36}
.message-preview .preview-text{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:48vw;
}

/* Kith v14 */
.danger-member{color:#b3261e;background:#fdecea}

/* Kith v14.1 */
.participants-note{margin-bottom:12px;padding:10px 12px;background:#eef6f3;border-radius:12px}
.participant-manage-row{align-items:center}
.danger-member{width:auto!important;padding:8px 10px!important;color:#a12620!important;background:#fdecea!important;font-size:.82rem}

.build-tag{font-size:.72rem;opacity:.55;margin-left:4px}

/* Kith v15 — pulido */
.header-avatar{width:42px;height:42px;min-width:42px;font-size:.9rem}
.quick-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 18px}
.quick-panel button{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:13px 8px;font-weight:750;color:var(--text)}
.quick-panel button span{color:var(--brand);font-size:1.15rem}
.clickable-card{cursor:pointer;display:flex;align-items:center;gap:12px;transition:transform .12s ease,box-shadow .12s ease}
.clickable-card:active{transform:scale(.99)}
.card-arrow{font-size:1.8rem;color:var(--muted)}
.attention-card{border-color:#acdccc;background:#f2faf7}
.attention-card .attention-icon{color:#21a37c;font-size:1.2rem}
.attention-card h2,.clickable-card h2{margin:0 0 4px}
.attention-card p,.clickable-card p,.all-clear p{margin:0;color:var(--muted)}
.all-clear{text-align:center;padding:24px}
.nav>span:first-child{position:relative}
.nav-badge{position:absolute;top:-8px;right:-13px;background:#d73636;color:white;border-radius:999px;font-style:normal;font-size:.62rem;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:2px solid white}
.member-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.search-results{display:grid;gap:6px;max-height:55vh;overflow:auto}
.search-result{width:100%;border:0;background:#f5f8f7;border-radius:12px;padding:11px 12px;text-align:left;display:flex;justify-content:space-between;align-items:center;color:var(--text)}
.search-result span:first-child{display:grid;gap:2px}.search-result small{color:var(--muted)}
@media(max-width:560px){.member-actions{max-width:130px}.member-actions .small{font-size:.72rem;padding:7px}.quick-panel{gap:7px}.quick-panel button{font-size:.84rem}}


/* Kith v16 — reorganización por espacios + vistas globales */
.identity-top{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important}
.identity-button{border:0;background:transparent;display:flex;align-items:center;gap:8px;padding:0;text-align:left;color:var(--text);min-width:0}
.identity-button>span{display:grid;line-height:1.15}.identity-button small{color:var(--muted);font-size:.68rem;margin-top:3px}
.space-context{border:1px solid var(--line);background:var(--surface2);border-radius:14px;padding:7px 10px;display:grid;gap:1px;text-align:left;min-width:0;color:var(--text)}
.space-context small,.space-context span{color:var(--muted);font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.space-context b{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.install-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#eaf7f2,#f7fbf9);border:1px solid #bcded1;border-radius:17px;padding:12px 14px;margin:0 0 14px;cursor:pointer}
.install-banner>div{display:grid;gap:2px}.install-banner small{color:var(--muted)}
.install-banner.compact{padding:9px 11px}.install-banner.compact b{font-size:.86rem}.install-banner.compact small{font-size:.7rem}
.install-help{line-height:1.55}
.chat-inbox{display:grid;gap:9px}.chat-thread-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:17px;padding:13px 14px;text-align:left;display:flex;align-items:center;gap:12px;color:var(--text)}
.chat-thread-card.unread{border-color:#9fd8c5;background:#f1faf6;box-shadow:inset 4px 0 0 #25a77d}
.thread-main{min-width:0;flex:1}.thread-main .title{display:flex;align-items:center;gap:7px}.thread-preview{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}
.back-link{border:0;background:transparent;color:var(--brand);padding:0 0 5px;font-weight:800}
.global-event-row .space-tag,.space-tag{display:inline-flex;margin-top:5px;background:var(--brand-soft);color:var(--brand-dark);padding:3px 7px;border-radius:999px;font-size:.68rem;font-weight:800}

@media(max-width:520px){
  .identity-top{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "identity actions"
      "space space"!important;
    gap:8px 10px!important;
    align-items:center!important;
  }
  .identity-button{
    grid-area:identity;
    width:100%;
    min-width:0;
  }
  .identity-button>span{
    display:grid!important;
    min-width:0;
  }
  .identity-button b{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:.95rem;
  }
  .identity-button small{
    display:none;
  }
  .space-context{
    grid-area:space;
    width:100%;
    box-sizing:border-box;
    padding:8px 11px;
  }
  .space-context b{
    font-size:.86rem;
  }
  .head-actions{
    grid-area:actions;
    gap:3px;
  }
  .identity-top .icon{
    width:35px;
    height:35px;
  }
}


/* Kith v16.4 — instalación Firefox */
.install-firefox ol{padding-left:1.25rem;line-height:1.65}
.install-firefox p{line-height:1.5}

/* Kith v16.5 — estabilidad de chat y duplicados */
.main:has(.chat-card){min-height:0;overflow:hidden;padding-bottom:88px}
.chat-card{display:flex;flex-direction:column;height:calc(100dvh - 330px);min-height:320px;max-height:calc(100dvh - 250px);overflow:hidden}
.messages{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.chat-compose{position:sticky;bottom:0;z-index:10;flex:0 0 auto;padding-bottom:max(10px,env(safe-area-inset-bottom))}
.duplicate-warning{display:grid;gap:3px;margin:10px 0;padding:11px 13px;border-radius:13px;background:#fff4d8;border:1px solid #ead08a;color:#73510c}
.duplicate-warning span{font-size:.78rem}.participant-duplicate{background:#fffdf7;border-radius:12px;padding-inline:6px}.badge.warning{background:#fff0bf;color:#765200}.merge-member{background:#e7f4ff!important;color:#155a85!important}
@media(max-width:520px){.chat-card{height:calc(100dvh - 390px);min-height:280px;max-height:none}}

.identity-avatar-wrap{position:relative;display:inline-flex}.profile-unread-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;background:#d93025;color:#fff;font-size:.62rem;font-style:normal;font-weight:900;border:2px solid var(--surface)}
.unread-space-line{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border:0;background:transparent;padding:10px 0;text-align:left;color:var(--text);border-top:1px solid var(--line)}.unread-space-line:first-of-type{border-top:0}.unread-space-line b{background:var(--brand);color:#fff;border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:.72rem}
.quick-panel{grid-template-columns:repeat(4,1fr)!important}.note-card{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px;margin-top:8px;color:var(--text)}.note-card.pinned{background:#fffbea;border-color:#ead88f}.note-title{font-weight:900;margin-bottom:5px}.note-preview{font-size:.84rem;color:var(--muted);white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.inline-check{display:flex!important;align-items:center;gap:8px}.inline-check input{width:auto!important}
.day{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px}.day-colors{display:flex;gap:2px;align-items:center;height:7px}.day-colors i{display:block;width:6px;height:6px;border-radius:50%}.day-colors em{font-size:.48rem;font-style:normal;color:var(--muted);margin-left:1px}
@media(max-width:520px){.quick-panel{grid-template-columns:repeat(2,1fr)!important}}

/* Kith v17.1 — Notas en navegación inferior */
.bottom{grid-template-columns:repeat(5,1fr)!important}
.bottom .nav{min-width:0;padding-left:3px;padding-right:3px}
.bottom .nav>span:last-child{font-size:.68rem}
.notes-page{display:grid;gap:10px}
@media(max-width:390px){
  .bottom .nav>span:last-child{font-size:.62rem}
  .bottom .nav>span:first-child{font-size:1.05rem}
}

/* Kith v17.2 — avatar = Inicio */
.avatar-home-button{
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.avatar-home-button:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:3px;
  border-radius:999px;
}
/* Kith v16.8 — hotfix de cabecera móvil
   Añadir al FINAL de assets/app.css */

.top.identity-top{
  height:auto !important;
  min-height:70px;
  display:grid !important;
  align-content:start;
  overflow:visible;
}

@media (max-width:520px){
  .top.identity-top{
    min-height:118px;
    padding-top:10px;
    padding-bottom:12px;
    row-gap:8px;
  }

  .top.identity-top .identity-button{
    align-self:center;
  }

  .top.identity-top .space-context{
    margin-top:0;
  }
}

/* ==========================================================
   Kith v17.3 — cabecera simple + chat móvil estable
   ========================================================== */

/* CABECERA: fila identidad y acciones; espacio debajo. */
.top.identity-top{
  height:auto !important;
  min-height:0 !important;
  display:block !important;
  padding:10px 16px 12px !important;
  overflow:visible !important;
  position:sticky;
  top:0;
}
.identity-row{
  display:flex;
  align-items:center;
  width:100%;
  gap:10px;
  min-height:44px;
}
.avatar-home-button{
  flex:0 0 auto;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.identity-name{
  min-width:0;
  flex:1 1 auto;
  line-height:1.15;
}
.identity-name b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:1.05rem;
}
.identity-row .head-actions{
  flex:0 0 auto;
  display:flex;
  gap:2px;
}
.space-context{
  width:100% !important;
  min-width:0 !important;
  margin:9px 0 0 !important;
  padding:9px 11px !important;
  display:grid !important;
  gap:1px !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  background:var(--surface2) !important;
  text-align:left !important;
  color:var(--text) !important;
}
.space-context small,.space-context span{
  color:var(--muted) !important;
  font-size:.72rem !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.space-context b{
  font-size:.95rem !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

@media(max-width:520px){
  .top.identity-top{
    padding:9px 12px 11px !important;
    row-gap:0 !important;
  }
  .top.identity-top .icon{
    width:36px !important;
    height:36px !important;
    font-size:21px;
  }
  .header-avatar{
    width:42px;
    height:42px;
    min-width:42px;
  }
}

/* CHAT: estructura flex real, sin cálculos de altura heredados. */
.shell[data-current-view="chat"][data-chat-mode="thread"]{
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] > .top{
  flex:0 0 auto;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] > .main{
  flex:1 1 auto;
  min-height:0 !important;
  height:auto !important;
  overflow:hidden !important;
  display:flex;
  flex-direction:column;
  padding:10px 12px calc(92px + env(safe-area-inset-bottom)) !important;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .install-banner{
  flex:0 0 auto;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .pagehead,
.shell[data-current-view="chat"][data-chat-mode="thread"] .thread-strip{
  flex:0 0 auto;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .pagehead{
  margin-bottom:2px;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .pagehead h1{
  font-size:1.45rem;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .pagehead .subtitle{
  margin-bottom:8px;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .thread-strip{
  padding-bottom:8px;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .chat-card{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:18px;
  background:#eef4f1;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .messages{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  padding:12px 10px 14px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:auto;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .bubble-row{
  margin:6px 0;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .bubble{
  max-width:80%;
  padding:9px 11px;
  box-shadow:0 1px 5px rgba(17,43,37,.09);
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .chat-compose{
  position:relative !important;
  inset:auto !important;
  flex:0 0 auto !important;
  display:flex;
  align-items:flex-end;
  gap:8px;
  padding:8px 9px max(8px,env(safe-area-inset-bottom)) !important;
  background:rgba(255,255,255,.98);
  border-top:1px solid var(--line);
  z-index:5;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .chat-compose textarea{
  min-height:43px;
  max-height:104px;
  resize:none;
  border-radius:16px;
  padding:10px 12px;
  background:#f7f9f8;
}
.shell[data-current-view="chat"][data-chat-mode="thread"] .send{
  height:43px;
  width:43px;
  min-width:43px;
  border-radius:14px;
}

/* El menú permanece abajo normalmente. Al escribir, se oculta en vez de subir sobre el teclado. */
body.chat-composing .shell[data-current-view="chat"] .bottom{
  display:none !important;
}
body.chat-composing .shell[data-current-view="chat"][data-chat-mode="thread"] > .main{
  padding-bottom:8px !important;
}

/* Bandeja de chats: vista normal, con menú inferior y scroll de página. */
.shell[data-current-view="chat"][data-chat-mode="inbox"] .main{
  padding-bottom:132px !important;
  overflow:visible !important;
}

@media(max-width:390px){
  .shell[data-current-view="chat"][data-chat-mode="thread"] > .main{
    padding-left:8px !important;
    padding-right:8px !important;
  }
  .shell[data-current-view="chat"][data-chat-mode="thread"] .bubble{
    max-width:86%;
  }
}


/* Kith v17.4 — recuperación por correo */
.recovery-privacy-note{
  font-size:.78rem;
  line-height:1.45;
  color:var(--muted);
}
.onboard .status.success{
  background:#e7f6ee;
  color:#155f3b;
  border:1px solid #b9e2cd;
}
