/* Lenzuoli dashboard shell. Original implementation. */
html.lz-admin {
  --sidebar-w:220px;
  --lz-frame-bg:var(--lz-rail-bg);
  --lz-admin-chat-w:356px;
  --lz-admin-nav-active:linear-gradient(180deg, color-mix(in srgb, var(--lz-rail-hover) 90%, var(--lz-rail-fg-strong)), var(--lz-rail-hover));
}
html.lz-admin[data-lz-theme="mono"] {
  --bbr-ink-0:#202020; --bbr-ink-1:#202020; --bbr-ink-2:#454545; --bbr-ink-3:#616161;
  --bbr-ink-4:#8a8a8a; --bbr-ink-5:#d4d4d4; --bbr-ink-6:#ebebeb; --bbr-ink-7:#f3f3f3;
  --bbr-ink-8:#fafafa; --bbr-ink-9:#fff;
  --bbr-accent:#303030; --bbr-accent-hover:#202020; --bbr-accent-active:#101010;
  --bbr-accent-soft:color-mix(in srgb, #303030 8%, transparent); --bbr-accent-soft-fg:#202020;
  --bbr-bd-focus:#005bd3; --bbr-ring:color-mix(in srgb, #005bd3 30%, transparent);
  --bbr-blue:#005bd3; --bbr-blue-fg:#00527c; --bbr-blue-soft:#eaf4ff;
  --lz-rail-bg:#0a0a0a; --lz-rail-bd:#0a0a0a; --lz-rail-hover:#292929;
  --lz-rail-fg:#c7c7c7; --lz-rail-fg-strong:#fff; --lz-rail-muted:#999;
  --lz-rail-active:#fff; --lz-rail-scroll:#454545; --lz-rail-scroll-hover:#616161;
  --lz-rail-pop:#202020; --lz-rail-pop-bd:#454545;
  --lz-bar-bg:#0a0a0a; --lz-bar-fg:#fff; --lz-bar-muted:#c7c7c7;
  --lz-bar-field:#292929; --lz-bar-field-hover:#454545; --lz-bar-focus:#999;
  --lz-frame-bg:var(--lz-rail-bg);
  --lz-mark-bg:var(--lz-rail-hover); --lz-mark-fg:var(--lz-rail-fg-strong);
  --lz-admin-nav-active:linear-gradient(180deg, #343434, #252525);
}
.lz-ui-preference { padding:var(--space-500); margin-bottom:var(--space-500); }
.lz-ui-preference h3 { margin:0 0 var(--space-300); font-size:var(--text-lg); }
.lz-ui-preference p { margin:var(--space-200) 0 var(--space-400); color:var(--bbr-fg-muted); font-size:var(--text-sm); }
.lz-ui-choice-row { display:flex; align-items:center; gap:var(--space-300); flex-wrap:wrap; }
#lz-ui-choice { flex:1; min-width:160px; padding:var(--space-200) var(--space-300); border:1px solid var(--bbr-bd-default); border-radius:var(--radius-md); background:var(--bbr-bg-surface); color:var(--bbr-fg-primary); font:inherit; }
.lz-admin-color-controls { margin-top:var(--space-400); }
.lz-admin-color-controls[hidden] { display:none; }
#lz-admin-color-choice { display:block; width:100%; margin-top:var(--space-200); padding:var(--space-200) var(--space-300); border:1px solid var(--bbr-bd-default); border-radius:var(--radius-md); background:var(--bbr-bg-surface); color:var(--bbr-fg-primary); font:inherit; }
html.lz-admin .app-header::before, html.lz-admin .app-header::after { display:none; }
html.lz-admin .app-tabs { border-radius:0; }
html.lz-admin .tab-item, html.lz-admin .lz-group-hd, html.lz-admin .lz-foot-item {
  transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
html.lz-admin .lz-group-hd .lz-ic { width:20px; height:20px; display:grid; place-items:center; flex:none; }
html.lz-admin .lz-group-hd .lz-ic svg { width:20px; height:20px; }
html.lz-admin .tab-item.active {
  background:var(--lz-admin-nav-active) !important; box-shadow:var(--bbr-shadow-btn-primary);
  border-radius:var(--radius-lg) !important;
}
html.lz-admin .dashboard-card { border-radius:var(--radius-xl) !important; box-shadow:var(--shadow-sm) !important; }
html.lz-admin .btn:not(.btn-icon):not(.btn-plain) { border-radius:var(--radius-full) !important; }
html.lz-admin .lz-group-body { animation:lz-admin-group var(--dur-base) var(--ease-out); }
@keyframes lz-admin-group { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
/* Sidekick-style sheet: recents above, conversation in the middle, composer below. */
html.lz-admin #lz-sidekick {
  position:relative; inset:auto; width:auto; height:auto;
  margin:var(--space-100) 0 0 var(--space-100);
  z-index:130; border:0; border-radius:var(--radius-xl);
  background:var(--bbr-bg-surface);
}
html.lz-admin .lz-sidekick-surface { position:relative; animation:lz-admin-chat var(--dur-base) var(--ease-out); }
html.lz-admin #lz-sidekick .lz-sidekick-header { border:0; padding:var(--space-200); }
html.lz-admin #lz-sidekick .lz-sidekick-orb { display:none; }
html.lz-admin #lz-sidekick-title { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
html.lz-admin #lz-sidekick .lz-chat-recents { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-150); order:-1; margin-right:auto; }
html.lz-admin #lz-sidekick .lz-chat-recents > svg { display:block; flex:none; }
html.lz-admin #lz-sidekick .lz-sidekick-footer { display:none; }
html.lz-admin #lz-sidekick .agent-toolbar {
  display:none; position:absolute; top:var(--space-1600); left:var(--space-300); right:var(--space-300);
  padding:var(--space-300); border:1px solid var(--bbr-bd-default); border-radius:var(--radius-xl);
  background:var(--bbr-bg-surface); box-shadow:var(--shadow-lg); z-index:8;
}
html.lz-admin #lz-sidekick.lz-chat-settings-open .agent-toolbar { display:flex; }
html.lz-admin #lz-sidekick .lz-chat-conversation-heading { padding:var(--space-200) var(--space-400) !important; border:0 !important; background:var(--bbr-bg-surface) !important; gap:var(--space-200); }
html.lz-admin #lz-sidekick #agent-messages { background:var(--bbr-bg-surface) !important; padding:var(--space-400) !important; }
html.lz-admin #lz-sidekick .agent-msg-ai .agent-bubble { background:transparent !important; border:0 !important; padding:0 !important; color:var(--bbr-fg-primary) !important; }
html.lz-admin #lz-sidekick .agent-msg-user .agent-bubble { background:var(--bbr-bg-sunken) !important; color:var(--bbr-fg-primary) !important; border-radius:var(--radius-xl) !important; }
html.lz-admin #lz-sidekick #agent-input-area { background:var(--bbr-bg-surface) !important; border:0 !important; padding:var(--space-300) !important; }
html.lz-admin #lz-sidekick .agent-compose-row { border:1px solid var(--bbr-bd-default); border-radius:var(--radius-xl); background:var(--bbr-bg-surface); padding:var(--space-200); gap:var(--space-200) !important; box-shadow:var(--shadow-sm); }
html.lz-admin #lz-sidekick .agent-compose-row:focus-within { border-color:var(--bbr-bd-focus); box-shadow:var(--shadow-focus); }
html.lz-admin #lz-sidekick #agent-input { min-height:40px; padding:var(--space-150) !important; border:0 !important; background:transparent !important; color:var(--bbr-fg-primary) !important; box-shadow:none !important; }
html.lz-admin #lz-sidekick #agent-send-btn { border-radius:var(--radius-full) !important; }
html.lz-admin #lz-sidekick .lz-chat-input-hint { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
html.lz-admin #lz-sidekick .lz-chat-welcome { margin:0; padding:var(--space-500); color:var(--bbr-fg-primary); text-align:center; }
html.lz-admin #lz-sidekick .lz-chat-is-empty { align-items:center; justify-content:center; }
.lz-chat-welcome-mark { display:grid; place-items:center; width:40px; height:40px; margin:0 auto var(--space-400); background:var(--bbr-btn-primary-bg); color:var(--lz-mark-fg); border-radius:var(--radius-lg); font:700 var(--text-xl) var(--bbr-font-display); }
.lz-chat-welcome h2 { font:600 var(--text-xl) var(--bbr-font-sans); margin:0 0 var(--space-300); }
.lz-chat-welcome p { font-size:var(--text-sm); line-height:var(--lh-base); color:var(--bbr-fg-muted); }
html.lz-admin #lz-sidekick .agent-ai-disclosure { display:block; }
html.lz-admin #lz-sidekick .agent-ai-disclosure .btn:not(.agent-disclosure-dismiss) { display:inline; min-height:0; padding:0 !important; margin-left:var(--space-150); white-space:normal; }
html.lz-admin #lz-sidekick #agent-conv-name { font-size:var(--text-sm) !important; }
@keyframes lz-admin-chat { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
html.lz-admin #lz-sidekick-toggle {
  left:calc((100% + var(--sidebar-w)) / 2); right:auto; transform:translateX(-50%);
  bottom:calc(var(--space-400) + env(safe-area-inset-bottom, 0px));
  width:min(360px, calc(100vw - var(--space-800))); min-height:48px;
  justify-content:flex-start; padding:var(--space-300) var(--space-400) !important;
  border-radius:var(--radius-xl) !important; color:var(--bbr-fg-muted) !important;
  background:var(--bbr-bg-surface) !important; border-color:var(--bbr-bd-default) !important;
  box-shadow:var(--shadow-md);
}
html.lz-admin #lz-sidekick-toggle span { font-size:var(--text-sm); }
html.lz-admin #lz-sidekick-toggle[aria-expanded="true"] { display:none !important; }
@media (min-width:981px) {
  html.lz-admin.lz-sidekick-open { --lz-sidekick-width:calc(var(--lz-admin-chat-w) + var(--space-100)); }
  html.lz-admin.lz-sidekick-expanded { --lz-sidekick-width:calc(min(680px, 55vw) + var(--space-100)); }
  html.lz-admin #app-screen[style] {
    grid-template-columns:var(--sidebar-w) minmax(0,1fr);
    grid-template-rows:0 minmax(0,1fr); grid-template-areas:"banner banner" "sidebar main";
    height:100dvh; padding:0 var(--space-100) var(--space-100) 0 !important;
    background:var(--lz-frame-bg) !important;
  }
  html.lz-admin.lz-sidekick-open #app-screen[style], html.lz-admin.lz-sidekick-expanded #app-screen[style] {
    grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--lz-sidekick-width);
    grid-template-areas:"banner banner banner" "sidebar main sidekick";
  }
  html.lz-admin #app-screen > [id^="content-"] {
    margin-top:var(--space-100); border-radius:var(--radius-xl);
  }
  html.lz-admin .app-tabs { padding:0 var(--space-300) var(--space-200) !important; gap:var(--space-050) !important; }
  html.lz-admin .app-tabs .app-header {
    position:sticky; top:0; z-index:125; grid-area:auto; flex:none; display:flex; flex-direction:column;
    align-items:stretch; gap:var(--space-100); min-height:0; margin:0 0 var(--space-300);
    padding:var(--space-200) 0 !important; background:var(--lz-rail-bg) !important;
    border:0 !important; box-shadow:none !important; backdrop-filter:none;
  }
  html.lz-admin .app-header .lz-railtop { width:auto; height:40px; padding:0 var(--space-100); margin:0; }
  html.lz-admin .app-header .lz-railtop .lz-brand { color:var(--lz-rail-fg-strong); font-size:var(--text-base); }
  html.lz-admin .app-header .header-center { padding:0; width:100%; min-width:0; flex:auto; }
  html.lz-admin #bbr-palette-input-wrap { width:100%; max-width:none; min-height:32px; padding:var(--space-150) var(--space-200) !important; border-radius:var(--radius-lg); background:var(--lz-rail-hover) !important; border-color:var(--lz-rail-hover) !important; color:var(--lz-rail-fg) !important; }
  html.lz-admin #bbr-palette-input { width:100%; min-width:0; font-size:var(--text-sm); color:var(--lz-rail-fg-strong) !important; }
  html.lz-admin #bbr-palette-input::placeholder { color:var(--lz-rail-muted) !important; }
  html.lz-admin #bbr-palette-input-wrap .pal-kbd { font-size:10px; flex:none; }
  html.lz-admin .lz-railfoot { position:sticky; bottom:0; flex:none; background:var(--lz-rail-bg); padding-top:var(--space-200); border:0; }
  html.lz-admin .lz-railfoot .header-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-100); padding:0; }
  html.lz-admin .lz-railfoot .header-actions .btn,
  html.lz-admin .lz-railfoot #workspace-indicator {
    color:var(--lz-rail-fg) !important; background:var(--lz-rail-hover) !important;
    border-color:var(--lz-rail-hover) !important; box-shadow:none;
  }
  html.lz-admin .lz-railfoot #workspace-indicator { max-width:100%; width:100%; }
  html.lz-admin .lz-admin-settings { display:flex; align-items:center; gap:var(--space-200); color:var(--lz-rail-fg) !important; justify-content:flex-start; }
  html.lz-admin .lz-admin-settings:hover { background:var(--lz-rail-hover) !important; color:var(--lz-rail-fg-strong) !important; }
  html.lz-admin .lz-railfoot #lz-theme-menu { bottom:calc(100% + var(--space-200)); top:auto; left:0; right:auto; }
  html.lz-admin .lz-railfoot #bbr-notif-dropdown { position:fixed; left:var(--sidebar-w); right:auto; top:auto; bottom:var(--space-500); max-height:80dvh; }
}
@media (max-width:980px) {
  html.lz-admin .app-settings-layout.has-selection,
  #app-settings-layout.has-selection:has(#app-settings-pane-profile:not(.hidden)) { flex-direction:column; align-items:stretch; gap:var(--space-400); max-width:100%; }
  html.lz-admin .app-settings-layout.has-selection .app-settings-nav,
  #app-settings-layout.has-selection:has(#app-settings-pane-profile:not(.hidden)) .app-settings-nav { width:100%; max-width:none; }
  html.lz-admin .app-settings-pane-wrap,
  #app-settings-layout.has-selection:has(#app-settings-pane-profile:not(.hidden)) .app-settings-pane-wrap { width:100%; max-width:none; }
  html.lz-admin #lz-sidekick-toggle { left:50%; }
  html.lz-admin #lz-sidekick { position:fixed; inset:calc(var(--header-h) + var(--space-100)) var(--space-100) calc(var(--space-100) + env(safe-area-inset-bottom, 0px)); width:auto; height:auto; margin:0; z-index:1000; box-shadow:var(--shadow-lg); }
  html.lz-admin #app-screen > [id^="content-"] { border-radius:var(--radius-xl) var(--radius-xl) 0 0; }
  html.lz-admin .app-header { background:var(--lz-bar-bg) !important; }
}
html.lz-admin.no-motion .lz-sidekick-surface, html.lz-admin.no-motion .lz-group-body { animation:none; }
@media (prefers-reduced-motion:reduce) {
  html.lz-admin .lz-sidekick-surface, html.lz-admin .lz-group-body { animation:none; }
  html.lz-admin .tab-item, html.lz-admin .lz-group-hd, html.lz-admin .lz-foot-item { transition:none; }
}
