/* Onhora composer — fits existing Adazha chrome (accent / card / elevated). Compact. */

.oh-file-input{
  position:absolute!important;width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important;overflow:hidden!important;
}

/* Legacy camera / clip stay in DOM for hooks, but out of layout */
.input-bar.oh-composer > .camera-btn,
.input-bar.oh-composer > .onhora-upload-btn{
  position:absolute!important;width:1px!important;height:1px!important;
  margin:0!important;padding:0!important;opacity:0!important;
  pointer-events:none!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  border:0!important;
}

/* Keep original bar rhythm: tight, blurred card strip */
.input-bar.oh-composer{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  padding:10px 12px calc(72px + env(safe-area-inset-bottom,0px))!important;
  padding-right:calc(12px + 52px + 12px + env(safe-area-inset-right,0px))!important;
  background:var(--bg-card)!important;
  border-top:1px solid var(--accent)!important;
  backdrop-filter:blur(20px) saturate(160%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(160%)!important;
}

/* Writing shell = same language as original .chat-input */
.oh-shell{
  position:relative;
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:2px;
  box-sizing:border-box;
  min-height:40px;
  padding:2px 6px 2px 2px;
  border-radius:20px;
  background:var(--bg-card);
  border:1px solid var(--accent);
  box-shadow:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.oh-shell:focus-within{
  background:var(--bg-elevated);
  border-color:var(--accent-light, var(--accent));
  box-shadow:0 0 0 3px var(--accent-glow, color-mix(in srgb, var(--accent) 25%, transparent));
}

.input-bar.oh-composer .chat-input,
.input-bar.oh-composer .chat-input[data-v-69e0c924]{
  flex:1 1 auto!important;
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  background:transparent!important;
  border:none!important;
  outline:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  min-height:36px!important;
  height:auto!important;
  padding:8px 10px 8px 4px!important;
  margin:0!important;
  font-family:var(--font-ui)!important;
  font-size:.875rem!important;
  font-weight:400!important;
  letter-spacing:-.01em!important;
  line-height:1.35!important;
  color:var(--text-primary)!important;
  caret-color:var(--accent)!important;
}
.input-bar.oh-composer .chat-input:focus,
.input-bar.oh-composer .chat-input[data-v-69e0c924]:focus{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
.input-bar.oh-composer .chat-input::placeholder{
  color:var(--text-muted)!important;
}

/* + matches original circular action buttons (camera/mic size) */
.oh-plus{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border:1px solid var(--accent);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  color:var(--accent);
  background:var(--bg-elevated);
  transition:all .15s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.oh-plus:hover,
.oh-plus--open{
  border-color:var(--accent-light, var(--accent));
  color:var(--accent-light, var(--accent));
}
.oh-plus--open .oh-ico{transform:rotate(45deg)}
.oh-plus--ready{
  background:color-mix(in srgb, var(--accent) 18%, transparent);
}
.oh-plus:active{transform:scale(.9)}
.oh-plus .oh-ico{display:block;transition:transform .18s ease}

/* Compact menu — same surfaces as the app */
.oh-plus-menu{
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  z-index:90;
  min-width:200px;
  padding:6px;
  border-radius:14px;
  background:var(--bg-elevated, var(--bg-card));
  border:1px solid var(--accent);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  transform:translateY(6px);
  transform-origin:bottom left;
  transition:opacity .15s ease, transform .15s ease;
}
.oh-plus-menu--open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.oh-plus-menu__item{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  color:var(--text-primary);
  font-family:var(--font-ui);
  font-size:.8125rem;
  font-weight:600;
  letter-spacing:-.01em;
  padding:10px 12px;
  border-radius:10px;
  cursor:pointer;
  text-align:left;
}
.oh-plus-menu__item:hover,
.oh-plus-menu__item:focus-visible{
  background:color-mix(in srgb, var(--accent) 14%, transparent);
  outline:none;
}
.oh-plus-menu__item .oh-ico{
  flex:0 0 auto;
  color:var(--accent);
}

/* Mic / send: keep original sizes */
.input-bar.oh-composer > .mic-btn,
.input-bar.oh-composer > .chat-send,
.input-bar.oh-composer > .mic-btn[data-v-69e0c924],
.input-bar.oh-composer > .chat-send[data-v-69e0c924]{
  flex:0 0 auto!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
}

.oh-toast{
  position:fixed;
  left:50%;
  bottom:calc(96px + env(safe-area-inset-bottom,0px));
  transform:translateX(-50%) translateY(10px);
  z-index:99999;
  max-width:min(92vw,400px);
  padding:10px 14px;
  border-radius:12px;
  background:var(--bg-elevated, rgba(20,20,22,.94));
  border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  color:var(--text-primary, #f5f5f7);
  font-size:12.5px;
  font-weight:600;
  line-height:1.4;
  box-shadow:0 12px 28px rgba(0,0,0,.3);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s, transform .2s;
}
.oh-toast--on{opacity:1;transform:translateX(-50%) translateY(0)}
.oh-toast--err{border-color:rgba(239,68,68,.45);background:rgba(80,20,20,.94)}

/* Kill coach overlay if any residual CSS loads */
.onhora-agent-coach,
.onhora-agent-coach--on{display:none!important;opacity:0!important;pointer-events:none!important}
