/* ========================================================================
   Lumo Apple UI 2026
   Final user-facing skin: iPhone + macOS. Loaded after all legacy styles.
   Functional glass only; message/data content remains flat and readable.
   ======================================================================== */

:root {
  color-scheme: dark;
  --background-primary:#1c1c1e;
  --background-secondary:#242426;
  --background-grouped:#000000;
  --surface-primary:#2c2c2e;
  --surface-secondary:#3a3a3c;
  --glass-regular:rgba(44,44,46,.74);
  --glass-clear:rgba(28,28,30,.58);
  --label-primary:#f5f5f7;
  --label-secondary:#a1a1a6;
  --label-tertiary:#6f6f74;
  --separator:rgba(84,84,88,.48);
  --accent:#3390ec;
  --accent-muted:rgba(51,144,236,.16);
  --success:#30d158;
  --warning:#ffd60a;
  --destructive:#ff453a;
  --incoming-bubble:#2c2c2e;
  --outgoing-bubble:#2b5278;
  --unread-badge:#3390ec;
  --selection:rgba(51,144,236,.18);
  --hover:rgba(255,255,255,.07);
  --focus:rgba(51,144,236,.28);
  --apple-shadow:0 12px 42px rgba(0,0,0,.24);
  --apple-hairline:.5px;
  --apple-control:44px;
  --apple-radius-small:10px;
  --apple-radius-medium:14px;
  --apple-radius-large:20px;
  --apple-ease:cubic-bezier(.2,.8,.2,1);
  --sat:env(safe-area-inset-top,0px);
  --sar:env(safe-area-inset-right,0px);
  --sab:env(safe-area-inset-bottom,0px);
  --sal:env(safe-area-inset-left,0px);

  /* Compatibility bridge for existing components. */
  --bg:var(--background-primary);
  --panel:var(--surface-primary);
  --panel-2:var(--background-secondary);
  --text:var(--label-primary);
  --muted:var(--label-secondary);
  --line:var(--separator);
  --line-strong:rgba(118,118,128,.54);
  --link:var(--accent);
  --danger:var(--destructive);
  --accent-2:var(--accent);
}

html[data-theme="light"] {
  color-scheme: light;
  --background-primary:#ffffff;
  --background-secondary:#f2f2f7;
  --background-grouped:#f2f2f7;
  --surface-primary:#ffffff;
  --surface-secondary:#e9e9ee;
  --glass-regular:rgba(248,248,250,.76);
  --glass-clear:rgba(255,255,255,.62);
  --label-primary:#1c1c1e;
  --label-secondary:#6c6c70;
  --label-tertiary:#8e8e93;
  --separator:rgba(60,60,67,.22);
  --accent:#3390ec;
  --accent-muted:rgba(51,144,236,.12);
  --success:#34c759;
  --warning:#ff9f0a;
  --destructive:#ff3b30;
  --incoming-bubble:#ffffff;
  --outgoing-bubble:#3390ec;
  --unread-badge:#3390ec;
  --selection:rgba(51,144,236,.14);
  --hover:rgba(0,0,0,.05);
  --focus:rgba(51,144,236,.24);
  --apple-shadow:0 12px 38px rgba(30,30,40,.13);
  --bg:var(--background-primary);
  --panel:var(--surface-primary);
  --panel-2:var(--background-secondary);
  --text:var(--label-primary);
  --muted:var(--label-secondary);
  --line:var(--separator);
  --line-strong:rgba(60,60,67,.32);
  --link:var(--accent);
  --danger:var(--destructive);
}

* { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html,body { margin:0; width:100%; min-height:100%; background:var(--background-grouped)!important; color:var(--label-primary)!important; }
html { font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",sans-serif!important; text-rendering:optimizeLegibility; }
body,button,input,textarea,select { font:inherit; }
button,input,textarea,select { color:var(--label-primary); }
button { touch-action:manipulation; }
button:not(:disabled) { cursor:pointer; }
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--focus)!important; outline-offset:2px; }
[hidden] { display:none!important; }
::selection { background:var(--selection); }

/* Native-feeling control response. */
button:not(:disabled),.row-item,.tools-row{ transition:background-color .16s var(--apple-ease),opacity .12s var(--apple-ease),transform .12s var(--apple-ease); }
button:not(:disabled):active { opacity:.72; }
.icon-btn,.backBtn,.neo-head-badge,.cancel-x,#viewerClose{ min-width:44px!important; min-height:44px!important; }

/* Functional glass material. */
.list-head,.chat-head,.ios-tabbar,#composer,#searchBar,.action-bar,#chatMenuWrap .sheet,#fwdWrap .sheet,#confirmWrap .sheet,.poll-sheet,.schedule-card,.group-create-sheet,.lumo-tools-card,.control-gate-card,.channel-pinned,#scrollDown{
  -webkit-backdrop-filter:saturate(180%) blur(24px)!important;
  backdrop-filter:saturate(180%) blur(24px)!important;
}
.list-head,.chat-head,.ios-tabbar,#composer,#searchBar,.action-bar{
  background:var(--glass-regular)!important;
  box-shadow:inset 0 .5px rgba(255,255,255,.12)!important;
}
html[data-theme="light"] .list-head,html[data-theme="light"] .chat-head,html[data-theme="light"] .ios-tabbar,html[data-theme="light"] #composer,html[data-theme="light"] #searchBar,html[data-theme="light"] .action-bar{ box-shadow:inset 0 .5px rgba(255,255,255,.82)!important; }

/* ------------------------------------------------------------------------
   Authentication / Registration
   ------------------------------------------------------------------------ */
#login {
  position:fixed!important; inset:0!important; min-height:100dvh!important; overflow:auto!important;
  display:grid!important; place-items:center!important; padding:calc(var(--sat) + 32px) max(20px,var(--sar)) calc(var(--sab) + 32px) max(20px,var(--sal))!important;
  background:var(--background-grouped)!important;
}
#login[hidden] { display:none!important; }
#login .card {
  width:min(430px,100%)!important; margin:0!important; padding:28px 24px 24px!important;
  border:var(--apple-hairline) solid var(--separator)!important; border-radius:22px!important;
  background:var(--surface-primary)!important; box-shadow:var(--apple-shadow)!important;
}
#login .logo { margin:0 auto 14px!important; width:72px!important; height:72px!important; display:grid!important; place-items:center!important; }
#login .logo img { width:64px!important; height:64px!important; border-radius:15px!important; box-shadow:none!important; }
#login h1 { margin:0!important; font-size:30px!important; line-height:36px!important; letter-spacing:-.025em!important; font-weight:700!important; text-align:center!important; }
#login .sub-line,#login .sub,#login .sec-note { color:var(--label-secondary)!important; text-align:center!important; }
#login .sub-line { margin-top:5px!important; font-size:13px!important; }
#login .sub { margin:5px 0 20px!important; font-size:15px!important; }
#login .sec-note { margin-top:14px!important; font-size:11px!important; line-height:16px!important; }
.auth-tabs { display:grid!important; grid-template-columns:1fr 1fr!important; gap:2px!important; padding:2px!important; margin:0 0 16px!important; border:0!important; border-radius:9px!important; background:var(--background-secondary)!important; }
.auth-tabs button { min-height:32px!important; border:0!important; border-radius:7px!important; background:transparent!important; color:var(--label-secondary)!important; font-size:13px!important; font-weight:600!important; box-shadow:none!important; }
.auth-tabs button.on { background:var(--surface-primary)!important; color:var(--label-primary)!important; box-shadow:0 1px 3px rgba(0,0,0,.16)!important; }
#loginFields,#registerFields { display:grid!important; gap:0!important; overflow:hidden!important; border:var(--apple-hairline) solid var(--separator)!important; border-radius:12px!important; background:var(--background-secondary)!important; }
#loginFields[hidden],#registerFields[hidden] { display:none!important; }
#loginFields input,#registerFields input,#controlLogin,#controlPass {
  width:100%!important; min-height:48px!important; margin:0!important; padding:11px 14px!important;
  border:0!important; border-bottom:var(--apple-hairline) solid var(--separator)!important; border-radius:0!important;
  background:transparent!important; color:var(--label-primary)!important; box-shadow:none!important; font-size:16px!important;
}
#loginFields input:last-child,#registerFields input:last-of-type { border-bottom:0!important; }
#loginFields input:focus,#registerFields input:focus,#controlLogin:focus,#controlPass:focus { outline:none!important; background:var(--accent-muted)!important; box-shadow:none!important; }
#registerFields .hint-line { padding:7px 14px!important; color:var(--label-secondary)!important; font-size:11px!important; border-bottom:var(--apple-hairline) solid var(--separator)!important; }
#joinBtn,#controlEnterBtn,.primary-btn {
  width:100%!important; min-height:48px!important; margin:16px 0 0!important; border:0!important; border-radius:12px!important;
  background:var(--accent)!important; color:#fff!important; font-weight:650!important; box-shadow:none!important;
}
.reg-closed-note { border:0!important; border-radius:12px!important; background:var(--background-secondary)!important; color:var(--label-secondary)!important; }
.control-gate { position:fixed!important; inset:0!important; z-index:5000!important; display:grid!important; place-items:center!important; padding:20px!important; }
.control-gate[hidden]{display:none!important}.control-gate-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.34)!important}
.control-gate-card { position:relative!important; width:min(380px,100%)!important; padding:22px!important; border:var(--apple-hairline) solid var(--separator)!important; border-radius:20px!important; background:var(--glass-regular)!important; box-shadow:var(--apple-shadow)!important; }
.control-gate-icon{color:var(--accent)!important}.control-gate-actions{gap:8px!important}.control-gate-cancel{background:var(--surface-secondary)!important;color:var(--label-primary)!important;border:0!important;border-radius:12px!important}

/* ------------------------------------------------------------------------
   Shared list language
   ------------------------------------------------------------------------ */
.mobile-brand{display:none}.compose-btn{display:inline-grid!important;place-items:center!important}.compose-btn svg{fill:none!important}.new-group-btn{box-shadow:none!important}
.search{
  min-height:36px!important; border:0!important; border-radius:10px!important; background:var(--background-secondary)!important; box-shadow:none!important;
}
.search input,.tools-search{ color:var(--label-primary)!important; font-size:15px!important; }
.search input::placeholder,.tools-search::placeholder{color:var(--label-tertiary)!important}
.folder-tabs { border:0!important; background:var(--background-primary)!important; box-shadow:inset 0 calc(-1 * var(--apple-hairline)) var(--separator)!important; }
.folder-tab,.folder-add { min-height:40px!important; padding:0 12px!important; border:0!important; border-radius:0!important; background:transparent!important; color:var(--label-secondary)!important; font-size:14px!important; font-weight:500!important; box-shadow:none!important; position:relative!important; }
.folder-tab.on { background:transparent!important; color:var(--accent)!important; }
.folder-tab.on::after { content:""; position:absolute; left:10px; right:10px; bottom:0; height:2px; border-radius:2px; background:var(--accent); }
.folder-add{color:var(--accent)!important;font-size:20px!important}

/* Chat list is a continuous list, never cards. */
#chatList { background:var(--background-primary)!important; }
#chatList .row-item {
  position:relative!important; display:grid!important; grid-template-columns:auto minmax(0,1fr) auto!important; align-items:center!important;
  min-height:72px!important; gap:11px!important; margin:0!important; padding:8px 12px!important; border:0!important; border-radius:0!important;
  background:transparent!important; box-shadow:none!important;
}
#chatList .row-item::after { content:""; position:absolute; left:76px; right:0; bottom:0; height:var(--apple-hairline); background:var(--separator); }
#chatList .row-item:hover{background:var(--hover)!important}#chatList .row-item:active{background:var(--selection)!important}
#chatList .row-item.selected{background:var(--selection)!important;border:0!important}
#chatList .row-item>.av { width:54px!important; height:54px!important; min-width:54px!important; border-radius:50%!important; box-shadow:none!important; }
.ri-mid{min-width:0!important}.ri-name{font-size:16px!important;line-height:20px!important;font-weight:600!important;color:var(--label-primary)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ri-prev{margin-top:3px!important;font-size:14px!important;line-height:18px!important;color:var(--label-secondary)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ri-prev.typing{color:var(--accent)!important}.ri-prev.draft{color:var(--destructive)!important}
.ri-right{align-self:stretch!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;justify-content:center!important;gap:7px!important;min-width:42px!important}.ri-time{font-size:12px!important;color:var(--label-tertiary)!important;font-variant-numeric:tabular-nums!important}.badge{min-width:20px!important;height:20px!important;padding:0 6px!important;border-radius:10px!important;background:var(--unread-badge)!important;color:#fff!important;font-size:11px!important;font-weight:700!important;display:grid!important;place-items:center!important}
.on-dot{border:2px solid var(--background-primary)!important;background:var(--success)!important}

/* ------------------------------------------------------------------------
   Chat / conversation
   ------------------------------------------------------------------------ */

.chat-head { min-height:calc(var(--sat) + 52px)!important; padding:var(--sat) max(8px,var(--sar)) 0 max(8px,var(--sal))!important; border:0!important; border-bottom:var(--apple-hairline) solid var(--separator)!important; }
.chat-head .backBtn,.chat-head .icon-btn,.neo-head-badge { border:0!important; border-radius:50%!important; background:transparent!important; color:var(--accent)!important; box-shadow:none!important; }
.chat-head #chatAv{width:36px!important;height:36px!important;min-width:36px!important;border-radius:50%!important}.ch-info{min-width:0!important}.ch-title{font-size:16px!important;line-height:19px!important;font-weight:650!important;letter-spacing:-.01em!important}.ch-sub{font-size:11.5px!important;line-height:15px!important;color:var(--label-secondary)!important}.head-tools{gap:0!important}
#msgs { overscroll-behavior-y:contain!important; background-color:var(--background-secondary)!important; padding-top:12px!important; padding-bottom:12px!important; }
#msgs::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.62; background-image:radial-gradient(circle at 12px 12px,rgba(127,127,127,.08) 1px,transparent 1.2px); background-size:28px 28px; }
.mrow { width:100%!important; margin:2px 0!important; padding:0 8px!important; gap:5px!important; align-items:flex-end!important; }
.mrow.grouped{margin-top:1px!important}.mrow .av,.mrow .aspace{width:30px!important;height:30px!important;min-width:30px!important}.mrow.own{justify-content:flex-end!important}.mrow.their{justify-content:flex-start!important}
.bwrap{max-width:min(76%,620px)!important}



.fwd{color:var(--accent)!important;font-size:12px!important;font-weight:600!important}.day,.unread-line,.sysmsg{text-align:center!important}.day span,.sysmsg span{display:inline-block!important;padding:4px 8px!important;border-radius:999px!important;background:var(--glass-clear)!important;color:var(--label-secondary)!important;font-size:11px!important;-webkit-backdrop-filter:saturate(150%) blur(12px)!important;backdrop-filter:saturate(150%) blur(12px)!important}.unread-line{display:flex!important;align-items:center!important;gap:8px!important;color:var(--accent)!important;font-size:11px!important;font-weight:650!important}.unread-line::before,.unread-line::after{content:"";height:var(--apple-hairline);background:var(--accent);flex:1;opacity:.45}.unread-line span{background:transparent!important}
.channel-pinned{top:calc(var(--sat) + 52px)!important;border:0!important;border-bottom:var(--apple-hairline) solid var(--separator)!important;background:var(--glass-regular)!important;color:var(--label-primary)!important;border-radius:0!important}.channel-pinned-mark{color:var(--accent)!important}.channel-pinned-copy span{color:var(--label-secondary)!important}
#searchBar{top:calc(var(--sat) + 52px)!important;min-height:44px!important;border:0!important;border-bottom:var(--apple-hairline) solid var(--separator)!important}#searchBar input{border:0!important;border-radius:10px!important;background:var(--background-secondary)!important;color:var(--label-primary)!important}#searchBar button{border:0!important;background:transparent!important;color:var(--accent)!important;min-width:36px!important;min-height:36px!important}
.action-bar{border:0!important;border-top:var(--apple-hairline) solid var(--separator)!important}.action-bar .q{border-left:2px solid var(--accent)!important;padding-left:9px!important}.action-bar .q b{color:var(--accent)!important}.action-bar .q span{color:var(--label-secondary)!important}

/* Composer: preserve all existing event wiring; only presentation changes. */
.recbar{border-radius:18px!important;background:var(--background-primary)!important;border:var(--apple-hairline) solid var(--separator)!important}.rec-dot{background:var(--destructive)!important}.channel-bar{background:var(--glass-regular)!important;border-top:var(--apple-hairline) solid var(--separator)!important}.channel-bar-text span{color:var(--label-secondary)!important}
#scrollDown{width:42px!important;height:42px!important;border:var(--apple-hairline) solid var(--separator)!important;border-radius:50%!important;background:var(--glass-regular)!important;color:var(--accent)!important;box-shadow:var(--apple-shadow)!important}

/* Poll message content is content, not glass. */
.poll-card{width:min(350px,72vw)!important;padding:10px 2px 3px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.mrow.own .poll-card{background:transparent!important}.poll-card-icon{background:var(--accent-muted)!important;color:var(--accent)!important;border-radius:8px!important}.poll-choice{color:inherit!important}.poll-bar{height:4px!important;background:color-mix(in srgb,var(--label-secondary) 18%,transparent)!important}.poll-bar i{background:var(--accent)!important}.poll-foot{color:var(--label-secondary)!important}

/* ------------------------------------------------------------------------
   Settings
   ------------------------------------------------------------------------ */



.tg-chevron{color:var(--label-tertiary)!important}.tg-chevron{font-size:24px!important;font-weight:300!important}.seg button{border:0!important;border-radius:7px!important;background:transparent!important;color:var(--label-secondary)!important}.seg button.on{background:var(--surface-primary)!important;color:var(--label-primary)!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important}.ver{color:var(--label-tertiary)!important;font-size:11px!important}.wps,.colors{gap:8px!important}.wp-opt,.c-opt{border:var(--apple-hairline) solid var(--separator)!important;box-shadow:none!important}.sw input{accent-color:var(--accent)!important}

/* Native controls rather than generic browser selects. */
select { appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--label-tertiary) 50%),linear-gradient(135deg,var(--label-tertiary) 50%,transparent 50%)!important; background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%!important; background-size:5px 5px,5px 5px!important; background-repeat:no-repeat!important; padding-right:30px!important; }

/* ------------------------------------------------------------------------
   Profiles
   ------------------------------------------------------------------------ */

/* ------------------------------------------------------------------------
   Sheets, menus, dynamic tools, poll/schedule/group create
   ------------------------------------------------------------------------ */
.overlay,.poll-modal,.schedule-modal,.lumo-tools,.group-create-overlay { background:transparent!important; }
.overlay::before,.poll-backdrop,.schedule-back,.lumo-tools-backdrop,.group-create-overlay::before,.control-gate-backdrop { background:rgba(0,0,0,.30)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
.sheet,.poll-sheet,.schedule-card,.group-create-sheet,.lumo-tools-card {
  border:var(--apple-hairline) solid var(--separator)!important; background:var(--glass-regular)!important; color:var(--label-primary)!important; box-shadow:var(--apple-shadow)!important;
}
.sheet{padding:8px 8px calc(10px + var(--sab))!important}.mhead{padding:6px 10px 10px!important;color:var(--label-secondary)!important;font-size:12px!important}.mi{min-height:44px!important;padding:9px 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--label-primary)!important}.mi:hover{background:var(--hover)!important}.mi.danger{color:var(--destructive)!important}.mi .ic{filter:grayscale(1);opacity:.86}.rrow{justify-content:flex-start!important;gap:6px!important;padding:5px 6px 10px!important;border-bottom:var(--apple-hairline) solid var(--separator)!important}.rrow button{width:42px!important;height:42px!important;border:0!important;border-radius:21px!important;background:var(--surface-secondary)!important;box-shadow:none!important}.rrow button:active{transform:scale(.94)!important}.crow{gap:8px!important}.cbtn{min-height:44px!important;border:0!important;border-radius:10px!important;background:var(--surface-secondary)!important;color:var(--label-primary)!important;box-shadow:none!important}.cbtn.danger{background:var(--destructive)!important;color:#fff!important}.cbtn.primary{background:var(--accent)!important;color:#fff!important}.cm-section{border:0!important;border-radius:11px!important;background:var(--surface-secondary)!important}.cm-qbtn{border:0!important;border-radius:12px!important;background:var(--surface-secondary)!important;box-shadow:none!important}.cm-qic{filter:grayscale(1)}

.poll-sheet,.group-create-sheet{width:min(520px,100%)!important;padding:14px 16px calc(16px + var(--sab))!important;border-radius:22px 22px 0 0!important}.poll-kicker,.schedule-kicker,.lumo-tools-kicker{display:none!important}.poll-sheet h3,.schedule-card h3,.lumo-tools-head h3{font-size:17px!important;font-weight:650!important;color:var(--label-primary)!important}.poll-field input,.poll-option-input input,.group-create-sheet input,.schedule-card input{min-height:44px!important;border:var(--apple-hairline) solid var(--separator)!important;border-radius:10px!important;background:var(--background-secondary)!important;color:var(--label-primary)!important;box-shadow:none!important}.poll-options-head button{color:var(--accent)!important}.poll-option-input>span{background:var(--surface-secondary)!important;color:var(--label-secondary)!important}.poll-option-input button{color:var(--label-secondary)!important}.poll-multi input{accent-color:var(--accent)!important}.schedule-card{border-radius:22px 22px 0 0!important}.schedule-preview{background:var(--background-secondary)!important;border:0!important;border-radius:10px!important;color:var(--label-secondary)!important}.schedule-actions button{border:0!important;border-radius:10px!important;background:var(--surface-secondary)!important;color:var(--label-primary)!important}.schedule-actions #scheduleSend{background:var(--accent)!important;color:#fff!important}.group-create-section{border:0!important;border-radius:10px!important;background:var(--background-secondary)!important}.group-members .row-line{border:0!important;border-radius:8px!important;background:transparent!important}.group-members .row-line:hover{background:var(--hover)!important}.group-members input{accent-color:var(--accent)!important}

.lumo-tools-card{width:min(520px,100%)!important;border-radius:22px 22px 0 0!important}.lumo-tools-head{min-height:54px!important;padding:6px 14px!important;border-bottom:var(--apple-hairline) solid var(--separator)!important}.lumo-tools-body{padding:10px 12px calc(16px + var(--sab))!important}.tools-search{width:100%!important;min-height:36px!important;padding:7px 10px!important;border:0!important;border-radius:10px!important;background:var(--background-secondary)!important;box-shadow:none!important}.tools-row{position:relative!important;min-height:56px!important;padding:8px 8px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--label-primary)!important;box-shadow:none!important}.tools-row::after{content:"";position:absolute;left:62px;right:0;bottom:0;height:var(--apple-hairline);background:var(--separator)}.tools-row:last-child::after{display:none}.tools-row:hover{background:var(--hover)!important}.tools-row-icon{filter:grayscale(1);opacity:.8}.tools-row-text small{color:var(--label-secondary)!important}.tools-section-title{color:var(--label-secondary)!important;font-size:12px!important}.media-grid{gap:1px!important}.tools-call-hero{border:0!important;border-radius:12px!important;background:var(--background-secondary)!important;box-shadow:none!important}.tools-call-orb{color:var(--accent)!important;background:var(--accent-muted)!important;box-shadow:none!important}

/* Group roles and other generated panels. */
.group-roles-overlay,.group-roles-sheet,.roles-overlay,.roles-sheet{color:var(--label-primary)!important}.group-roles-sheet,.roles-sheet{background:var(--glass-regular)!important;border:var(--apple-hairline) solid var(--separator)!important;box-shadow:var(--apple-shadow)!important}.role-row,.group-role-row{border-color:var(--separator)!important;background:transparent!important}.role-row:hover,.group-role-row:hover{background:var(--hover)!important}

/* ------------------------------------------------------------------------
   Media viewer / calls / system states
   ------------------------------------------------------------------------ */
#viewer{background:#000!important;padding:max(12px,var(--sat)) max(12px,var(--sar)) max(12px,var(--sab)) max(12px,var(--sal))!important}#viewer img,#viewer video{border-radius:0!important;box-shadow:none!important}#viewerClose{top:calc(var(--sat) + 10px)!important;right:calc(var(--sar) + 10px)!important;border:var(--apple-hairline) solid rgba(255,255,255,.20)!important;border-radius:50%!important;background:rgba(30,30,30,.58)!important;color:#fff!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important}#viewerCaption{bottom:calc(var(--sab) + 14px)!important;max-width:min(640px,calc(100% - 32px))!important;border-radius:11px!important;background:rgba(30,30,30,.58)!important;color:#fff!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important}
.call-overlay{background:rgba(0,0,0,.74)!important}.call-card{width:min(680px,100%)!important;min-height:min(720px,100dvh)!important;border:0!important;border-radius:24px!important;background:linear-gradient(180deg,#303238,#111113)!important;color:#fff!important;box-shadow:var(--apple-shadow)!important}.call-top{padding-top:24px!important}.call-avatar{border-radius:50%!important;box-shadow:none!important}.call-state,.call-sub,.call-stats{color:rgba(255,255,255,.67)!important}.call-actions{gap:14px!important}.call-action{min-width:58px!important;min-height:58px!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:none!important}.call-action.danger{background:#ff3b30!important}.call-action.success{background:#34c759!important}.call-videos video{border-radius:16px!important}
#toast{left:50%!important;bottom:calc(var(--sab) + 92px)!important;transform:translateX(-50%)!important;max-width:min(420px,calc(100vw - 32px))!important;padding:9px 13px!important;border:var(--apple-hairline) solid var(--separator)!important;border-radius:999px!important;background:var(--glass-regular)!important;color:var(--label-primary)!important;box-shadow:var(--apple-shadow)!important;-webkit-backdrop-filter:saturate(180%) blur(20px)!important;backdrop-filter:saturate(180%) blur(20px)!important}#reconnect{top:calc(var(--sat) + 6px)!important;border:0!important;border-radius:999px!important;background:var(--warning)!important;color:#1c1c1e!important;box-shadow:none!important;font-size:12px!important;font-weight:650!important}
.empty,.empty-state,.hint.profile-empty{color:var(--label-secondary)!important}.empty-state{background:transparent!important;border:0!important;box-shadow:none!important}

/* ------------------------------------------------------------------------
   iPhone shell
   ------------------------------------------------------------------------ */
.ios-tabbar{display:none}
@media (max-width:899px){
  body.has-app{overflow:hidden!important;background:var(--background-primary)!important}
  
  .list-head{position:relative!important;z-index:5!important;flex:none!important;padding:var(--sat) 12px 8px!important;border:0!important;background:var(--glass-regular)!important}.lh-row{min-height:48px!important}.brand-mark{display:none!important}.desktop-brand{display:none!important}.mobile-brand{display:inline!important}.brand-text h1{font-size:30px!important;line-height:38px!important;font-weight:700!important;letter-spacing:-.03em!important;color:var(--label-primary)!important}.brand-lockup{margin-left:2px!important}.lh-right{gap:0!important}.new-group-btn{display:none!important}.mobile-only-settings{display:none!important}.me-av{display:none!important}.compose-btn{width:44px!important;height:44px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--accent)!important;box-shadow:none!important}.list-head .search{margin:2px 0 0!important;width:100%!important;min-height:36px!important;padding:0 9px!important}.folder-tabs{flex:none!important;overflow-x:auto!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}.folder-tabs::-webkit-scrollbar{display:none!important}#chatList{flex:1!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding:0!important}
  .ios-tabbar{position:absolute!important;z-index:20!important;left:0!important;right:0!important;bottom:0!important;height:calc(58px + var(--sab))!important;padding:3px max(8px,var(--sar)) var(--sab) max(8px,var(--sal))!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;align-items:start!important;border:0!important;border-top:var(--apple-hairline) solid var(--separator)!important;background:var(--glass-regular)!important}.ios-tab{height:54px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--label-tertiary)!important;font-size:10px!important;font-weight:500!important}.ios-tab svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}.ios-tab.active{color:var(--accent)!important}.ios-tab:active{background:transparent!important;transform:scale(.94)!important}

  .chat-head{flex:none!important}.head-tools .call-btn{display:none!important}.head-tools #chatSearchBtn{display:none!important}.head-tools{margin-left:auto!important}.ch-info{flex:1!important;text-align:left!important}.chat-head #chatAv{order:0!important}#msgs{flex:1!important;min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}.bwrap{max-width:80%!important}.mrow{padding-left:6px!important;padding-right:6px!important}.mrow .av,.mrow .aspace{width:26px!important;height:26px!important;min-width:26px!important}.mrow .av{font-size:10px!important}.poll-card{width:min(330px,74vw)!important}
  .capsule-actions #scheduleBtn{display:none!important}.channel-bar{flex:none!important}

  

  .overlay,.poll-modal,.schedule-modal,.lumo-tools,.group-create-overlay{align-items:flex-end!important;justify-content:center!important}.overlay .sheet,.poll-sheet,.schedule-card,.lumo-tools-card,.group-create-sheet{width:100%!important;max-width:none!important;max-height:min(88dvh,780px)!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:22px 22px 0 0!important;animation:appleSheetIn .24s var(--apple-ease)!important}.overlay .sheet::before,.poll-sheet::before,.schedule-card::before,.lumo-tools-card::before,.group-create-sheet::before{content:"";display:block;width:36px;height:5px;margin:0 auto 9px;border-radius:3px;background:var(--label-tertiary);opacity:.5}
  .call-card{width:100%!important;height:100dvh!important;min-height:100dvh!important;border-radius:0!important}.call-overlay{padding:0!important}.call-actions{padding-bottom:calc(20px + var(--sab))!important}
}

@keyframes appleSheetIn{from{transform:translateY(26px);opacity:.75}to{transform:translateY(0);opacity:1}}

/* ------------------------------------------------------------------------
   macOS shell: native split view instead of stretched mobile UI.
   ------------------------------------------------------------------------ */
@media (min-width:900px){
  body.has-app{overflow:hidden!important;padding:0!important;background:var(--background-primary)!important}
  
  .rail-brand{height:46px!important;display:grid!important;place-items:center!important}.rail-lumo{color:var(--accent)!important}.rail-btn{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--label-secondary)!important;box-shadow:none!important}.rail-btn svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}.rail-btn:hover{background:var(--hover)!important;color:var(--label-primary)!important}.rail-btn.active{background:var(--selection)!important;color:var(--accent)!important}.rail-spacer{flex:1!important}
  .list-head{flex:none!important;padding:12px 12px 10px!important;border:0!important;border-bottom:var(--apple-hairline) solid var(--separator)!important}.lh-row{height:38px!important;min-height:38px!important}.brand-mark{display:none!important}.brand-text h1{font-size:20px!important;line-height:26px!important;font-weight:650!important;letter-spacing:-.02em!important}.new-group-btn{height:34px!important;min-height:34px!important;padding:0 9px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--accent)!important}.new-group-btn span{display:none!important}.compose-btn{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--accent)!important}.me-av,.mobile-only-settings{display:none!important}.list-head .search{margin-top:7px!important}#chatList{flex:1!important;min-height:0!important;overflow-y:auto!important;scrollbar-gutter:stable!important}.folder-tabs{flex:none!important;overflow-x:auto!important;scrollbar-width:none!important}.folder-tabs::-webkit-scrollbar{display:none!important}#chatList .row-item{min-height:62px!important;padding:6px 10px!important;gap:9px!important}#chatList .row-item::after{left:60px!important}#chatList .row-item>.av{width:44px!important;height:44px!important;min-width:44px!important}.ri-name{font-size:14px!important;line-height:18px!important}.ri-prev{font-size:12.5px!important;line-height:16px!important}.ri-time{font-size:10.5px!important}

  .chat-head{flex:none!important;min-height:58px!important;padding:0 12px!important;border-bottom:var(--apple-hairline) solid var(--separator)!important}.backBtn{display:none!important}.chat-head #chatAv{width:38px!important;height:38px!important;min-width:38px!important}.ch-info{flex:1!important}.head-tools{gap:2px!important}.head-tools .icon-btn,.neo-head-badge{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:8px!important}.head-tools .icon-btn:hover,.neo-head-badge:hover{background:var(--hover)!important}#msgs{flex:1!important;min-height:0!important;overflow-y:auto!important;padding:18px clamp(18px,4vw,64px)!important}.bwrap{max-width:min(68%,620px)!important}.mrow{padding:0!important}.mrow .av,.mrow .aspace{width:28px!important;height:28px!important;min-width:28px!important}.mrow:hover .msg-actions{opacity:1!important}#scrollDown{right:24px!important;bottom:74px!important}

  /* Selected conversation remains visually stable while profile inspector opens. */

  /* macOS settings: sidebar-like category list + detail in a desktop window. */
  

  /* Desktop contextual UI must not look like a mobile bottom sheet. */
  .overlay,.poll-modal,.schedule-modal,.lumo-tools,.group-create-overlay{align-items:center!important;justify-content:center!important;padding:18px!important}.overlay .sheet{width:min(360px,calc(100vw - 40px))!important;max-height:min(76vh,620px)!important;padding:8px!important;border-radius:14px!important}.overlay .sheet::before{display:none!important}.poll-sheet,.schedule-card,.group-create-sheet,.lumo-tools-card{width:min(520px,calc(100vw - 48px))!important;max-height:min(80vh,720px)!important;border-radius:16px!important;padding:16px!important}.lumo-tools-card{height:min(680px,calc(100vh - 64px))!important;display:flex!important;flex-direction:column!important}.lumo-tools-body{flex:1!important;min-height:0!important;overflow-y:auto!important;padding-bottom:16px!important}
  .call-overlay{padding:24px!important}.call-card{height:min(720px,calc(100vh - 48px))!important;min-height:0!important}
}

/* Narrow macOS: collapse the utility rail first, keep conversation usable. */

@media (min-width:900px) and (max-width:980px){
  .head-tools .call-btn{display:none!important}.bwrap{max-width:76%!important}
}

/* Landscape phone: compact vertical chrome. */


/* Accessibility. */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
@media (prefers-reduced-transparency:reduce){.list-head,.chat-head,.ios-tabbar,#composer,#searchBar,.action-bar,.sheet,.poll-sheet,.schedule-card,.group-create-sheet,.lumo-tools-card,.control-gate-card,#scrollDown{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--surface-primary)!important}}
html.reduce-transparency .list-head,html.reduce-transparency .chat-head,html.reduce-transparency .ios-tabbar,html.reduce-transparency #composer,html.reduce-transparency .sheet{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--surface-primary)!important}
@media (prefers-contrast:more){:root{--separator:rgba(174,174,178,.68)}html[data-theme="light"]{--separator:rgba(60,60,67,.48)}.ri-prev,.ch-sub{color:var(--label-secondary)!important}}
html.increase-contrast{--apple-hairline:1px}

/* Larger user text must grow rows, not clip them. */
html[style*="font-size"] #chatList .row-item,html[data-text-size="large"] #chatList .row-item{min-height:78px!important}.ri-prev{min-width:0!important}

/* High-specificity corrections for legacy isolated sheets loaded before this file. */
#scheduleModal.lumo-schedule .schedule-back{background:rgba(0,0,0,.30)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#scheduleModal.lumo-schedule .schedule-card{border:var(--apple-hairline) solid var(--separator)!important;background:var(--glass-regular)!important;color:var(--label-primary)!important;box-shadow:var(--apple-shadow)!important;border-radius:22px 22px 0 0!important;padding:16px 16px calc(16px + var(--sab))!important}
#scheduleModal.lumo-schedule .schedule-card h3{font-size:17px!important;font-weight:650!important}
#scheduleModal.lumo-schedule .schedule-kicker{display:none!important}
#scheduleModal.lumo-schedule .schedule-card input{min-height:44px!important;border:var(--apple-hairline) solid var(--separator)!important;border-radius:10px!important;background:var(--background-secondary)!important;color:var(--label-primary)!important;box-shadow:none!important}
#scheduleModal.lumo-schedule .schedule-preview{border:0!important;border-radius:10px!important;background:var(--background-secondary)!important;color:var(--label-secondary)!important}
#scheduleModal.lumo-schedule #scheduleClose{width:44px!important;height:44px!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--label-secondary)!important}
#scheduleModal.lumo-schedule .schedule-actions button{min-height:44px!important;border:0!important;border-radius:10px!important;background:var(--surface-secondary)!important;color:var(--label-primary)!important;font-weight:600!important}
#scheduleModal.lumo-schedule .schedule-actions button:last-child{background:var(--accent)!important;color:#fff!important;border:0!important}
.group-roles-overlay{background:rgba(0,0,0,.30)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.group-roles-sheet{border:var(--apple-hairline) solid var(--separator)!important;border-radius:18px!important;background:var(--glass-regular)!important;box-shadow:var(--apple-shadow)!important}
.group-role-row{border:0!important;border-radius:10px!important;background:var(--background-secondary)!important}.group-role-select{border:var(--apple-hairline) solid var(--separator)!important;border-radius:9px!important;background:var(--surface-primary)!important;color:var(--label-primary)!important}.group-role-perms{border-color:var(--separator)!important}
@media (min-width:900px){#scheduleModal.lumo-schedule{align-items:center!important;padding:18px!important}#scheduleModal.lumo-schedule .schedule-card{width:min(520px,calc(100vw - 48px))!important;border-radius:16px!important;padding:16px!important}.group-roles-overlay{align-items:center!important;padding:18px!important}.group-roles-sheet{width:min(680px,calc(100vw - 48px))!important;border-radius:16px!important}}

/* Win over legacy desktop rules that used body.has-app + !important. */
#sendBtn[hidden],#micBtn[hidden],#vnoteBtn[hidden],#pollBtn[hidden],#aiBtn[hidden],#scheduleBtn[hidden],#emojiBtn[hidden]{display:none!important}







/* Final macOS settings layout: beat the legacy FORCE SET OPEN flex rule. */


