@font-face {
  font-family: 'Canela';
  src: url('/oaisis/static/Canela-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Canela';
  src: url('/oaisis/static/Canela-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --stenberg-bg: #F0EEE6;  /* eggshell gray-50 */
  --stenberg-surface: #ffffff;
  --stenberg-text: #1b1e28;
  --stenberg-muted: #6b7280;
  --stenberg-primary: #0b4aa2;
  --stenberg-primary-600: #083c83;
  --radius: 14px;
  --shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* Page */
body{
  background: var(--stenberg-bg) !important;
  color: var(--stenberg-text);
}

/* Header → white bar, subtle shadow */
header{
  background: #fff !important;
  border: 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

/* Footer/composer → light surface */
footer{
  background: #fff !important;
  border: 0 !important;
  box-shadow: 0 -2px 12px rgba(0,0,0,.06);
}

/* Sidebar → light “card” look */
aside{
  background: var(--stenberg-surface) !important;
  border-right: 1px solid #e5e7eb !important;
}

/* Buttons */
#send-btn{
  background: var(--stenberg-primary);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
#send-btn:hover{ background: var(--stenberg-primary-600); }
#ingest-btn{
  background: #dc2626; /* keep red for admin ingest */
  border-radius: var(--radius);
}

/* Links */
a{ color: var(--stenberg-primary); }
a:hover{ text-decoration: underline; }

/* Message bubbles → soft cards on light background */
.bubble-user{
  max-width: 78%;
  margin-left: auto;
  background: var(--stenberg-primary);
  color: #fff;
  border-radius: 16px;
  padding: .6rem .8rem;
  box-shadow: var(--shadow);
}
.bubble-ai{
  max-width: 78%;
  margin-right: auto;
  background: #fff;
  border: 1px solid #e9eef7;
  color: var(--stenberg-text);
  border-radius: 16px;
  padding: .6rem .8rem;
  box-shadow: var(--shadow);
}
.bubble-think{
  max-width: 60%;
  margin-right: auto;
  background: var(--stenberg-surface);
  border: 1px dashed #dbe4f3;
  color: var(--stenberg-muted);
  border-radius: 16px;
  padding: .6rem .8rem;
}

/* Mini “live” banner */
#live-banner{ color: var(--stenberg-primary) !important; }

/* Inputs */
#chat-input{
  background: var(--stenberg-surface) !important;
  border-color: #e5e7eb !important;
  color: var(--stenberg-text) !important;
}

/* Small polish */
.glass{ background: #fff; border: 1px solid #eef2f9; box-shadow: var(--shadow); }
select, button{ transition: all .15s ease; }

/* Sidebar headings & labels */
aside .uppercase,
aside .font-semibold {
  color: #6b7280 !important; /* Tailwind gray-500 (neutral, matches site) */
}

/* Sidebar buttons & folder label */
aside button,
aside .text-sm,
aside .text-xs {
  color: #6b7280 !important;
}

/* Current folder label */
aside .current-folder {
  color: #374151 !important; /* Tailwind gray-700, a bit darker */
  font-weight: 600;
}

header a {
  color: #6b7280; /* gray-500 */
  font-weight: 500;
}
header a:hover {
  color: var(--stenberg-primary); /* brand blue on hover */
}
header span { /* username text */
  color: #374151; /* gray-700 */
  font-weight: 600;
}

/* Sticky composer like site nav */
#composer-bar{
  background:#fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

/* Make sure messages don’t tuck under the bar on small screens */
#chat-thread{ scroll-margin-top: 72px; }

/* Composer input look (matches site greys) */
#chat-input{
  background:#f7f9fc;          /* light grey fill */
  border:1px solid #e5e7eb;     /* gray-200 */
  color:#1b1e28;
}
#chat-input::placeholder{ color:#9ca3af; }  /* gray-400 */

/* Buttons already skinned; ensure heights match the bar nicely */
#send-btn, #ingest-btn{ min-height: 42px; }

/* Optional: round the scroll “gutter” on the right edge (purely visual) */
#chat-thread::-webkit-scrollbar{ width:10px; }
#chat-thread::-webkit-scrollbar-thumb{ background:#e5e7eb; border-radius:8px; }

/* Glassy, sticky top bar (like Stenberg site) */
#composer-bar.glass{
  /* Fallback first */
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(15, 23, 42, .06); /* subtle line */
  box-shadow: 0 8px 24px rgba(15, 23, 42, .08);
}

/* Real glass when supported */
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  #composer-bar.glass{
    background: rgba(255,255,255,.72);            /* a bit more see-through */
    -webkit-backdrop-filter: saturate(160%) blur(12px);
    backdrop-filter: saturate(160%) blur(12px);
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .10);
  }
}

/* Keep the chat content from hiding under the bar */
#chat-thread{ scroll-margin-top: 84px; }

/* Composer internals tuned for the glass background */
#chat-input{
  background: rgba(247, 249, 252, .85);
  border: 1px solid #e5e7eb;
}
#chat-input:focus{
  background: #fff;
  border-color: #c7d2fe; /* soft blue focus */
  outline: none;
}

/* Buttons sit nicely on glass */
#send-btn, #ingest-btn{ min-height: 42px; border-radius: 9999px; }

/* Sidebar collapse functionality */
aside {
  transition: width 0.3s ease, transform 0.3s ease;
  position: relative;
}

aside.collapsed {
  width: 48px !important;
  overflow: hidden;
}

/* Toggle button */
#sidebar-toggle {
  position: absolute;
  top: 16px;
  right: 8px;
  z-index: 100;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  color: #6b7280;
  font-size: 20px;
  transition: transform 0.3s ease, color 0.2s ease;
}

#sidebar-toggle:hover {
  color: var(--stenberg-primary);
}

aside.collapsed #sidebar-toggle {
  transform: rotate(180deg);
}

/* Hide content when collapsed */
aside.collapsed > *:not(#sidebar-toggle) {
  opacity: 0;
  pointer-events: none;
}

aside > *:not(#sidebar-toggle) {
  transition: opacity 0.2s ease;
}
