/* Two-level navigation: quiet module rail, conversation-first sidebar. */
body{--rail-width:60px;--conversation-width:252px;--sidebar-width:calc(var(--rail-width) + var(--conversation-width))}
body.module-menu-expanded{--rail-width:166px}
body>aside{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);padding:0;display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);background:#f5f6f3;color:#30443d;border-right:1px solid #e4e8e1;overflow:visible;transform:none;pointer-events:auto}
.module-rail{display:flex;flex-direction:column;align-items:stretch;padding:14px 8px 12px;border-right:1px solid #e4e8e1;background:#eef1ec;min-width:0;gap:18px}
.module-rail nav{display:flex;flex-direction:column;margin:0;gap:9px;flex:1}
.module-rail button,.module-rail nav button{height:42px;width:100%;padding:0;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;background:transparent;color:#66756b;font-size:13px;text-align:left;white-space:nowrap}
.module-rail button:hover,.module-rail nav button:hover{background:#e3e9e0;color:#193d33}
.module-rail nav button.active{background:#dce7dc;color:#173f34;box-shadow:inset 0 0 0 1px #d2dfd2}
.module-icon{width:22px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:21px;font-weight:400}
.module-name{display:none}
.module-menu-expanded .module-rail button{justify-content:flex-start;padding:0 10px}
.module-menu-expanded .module-name{display:inline;font-size:12px}
.conversation-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;padding:18px 12px 12px;overflow:visible}
.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:31px;margin:0 8px 18px}
.sidebar-heading .brand{font-size:17px;letter-spacing:-.7px;color:#183c32;font-weight:750;white-space:nowrap}
.sidebar-heading .brand .ai{color:#5a7f69}
#sidebarClose{display:inline-grid;border:0;background:transparent;width:25px;height:28px;color:#819084;font-size:19px}
.sidebar-new-chat{display:flex;align-items:center;gap:10px;border:1px solid #dfe5db;background:#fff;color:#2e4a3d;min-height:40px;padding:9px 12px;text-align:left;font-size:12px;font-weight:600;border-radius:9px;flex:none}
.sidebar-new-chat:hover{background:#e9efe5;border-color:#c8d6c6}
.sidebar-new-chat>span{font-size:18px;font-weight:400}
aside .chat-list-label{display:block;margin:12px 4px 5px;flex:none}
aside .chat-list-label select{background:transparent;border:0;font-size:11px;padding:5px 6px;color:#7b897e;max-width:100%;width:100%;border-radius:6px}
aside #chatList{display:block;flex:1;min-height:0;max-height:none;margin:0 -3px 8px;padding:0 3px 20px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d5ddd2 transparent}
.sidebar-group{margin:14px 0 22px}
.sidebar-group-heading{display:flex;align-items:center;justify-content:space-between;min-height:24px;padding:0 9px;margin-bottom:5px;color:#879287}
.sidebar-group-heading h2{display:block;font-size:11px;font-weight:600;letter-spacing:.03em;margin:0;color:#879287}
.sidebar-group-heading>button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:#7b8b7f;font-size:18px;border-radius:5px}
.sidebar-group-heading>button:hover{background:#e3e9df;color:#193d33}
.sidebar-group-heading>span{font-size:13px}
.sidebar-empty{font-size:11px;color:#a0a99f;margin:3px 9px 12px;line-height:1.6}
#chatList .chat-entry{align-items:center;border-radius:8px;margin:2px 0;min-width:0}
#chatList .chat-entry:hover{background:#eaf0e6}
#chatList .chat-entry.current{background:#e0e9de}
#chatList .chat-entry .chat-open{padding:10px 9px;overflow:hidden;min-width:0;font-weight:450;color:#415749;line-height:1.55;font-size:12px;white-space:normal}
.chat-entry-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-entry-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8b968a;font-size:10px;margin-top:3px;font-weight:400}
#chatList .chat-entry.current .chat-entry-title{color:#244b3b;font-weight:650}
#chatList .chat-menu{position:static;flex:none;align-self:flex-start;margin-top:5px}
#chatList .chat-menu>summary{padding:4px 5px;font-size:19px;color:#899687;opacity:0;line-height:1}
#chatList .chat-entry:hover .chat-menu>summary,#chatList .chat-entry:focus-within .chat-menu>summary,#chatList .chat-menu[open]>summary{opacity:1}
#chatList .chat-menu>div{top:29px;right:4px;z-index:50;min-width:140px}
#chatList .chat-menu-popup{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #d8e1d4;border-radius:8px;padding:4px;box-shadow:0 8px 24px #17382e28;min-width:180px}
#chatList .chat-menu-popup button{display:block;width:100%;padding:7px 10px;border:0;background:#fff;color:#304f3f;text-align:left;font-size:11px;border-radius:5px}
#chatList .chat-menu-popup button:hover{background:#eaf1e6}
#chatList .chat-menu-divider{height:1px;background:#e0e7dc;margin:4px 6px}
.project-folder{border:0;padding:0;margin:3px 0;background:transparent;border-radius:7px}
.project-folder>summary{list-style:none;display:flex;align-items:center;gap:8px;padding:9px;color:#415749;font-size:12px;cursor:pointer;border-radius:7px;min-width:0}
.project-folder>summary::-webkit-details-marker{display:none}
.project-folder>summary:hover{background:#e8eee3}
.project-folder>summary>span:not(.folder-icon){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.folder-icon{font-size:21px;color:#718674;line-height:1}
.project-folder>summary small{font-size:10px;color:#97a092}
.project-folder>div{margin:2px 0 6px 13px;padding-left:6px;border-left:1px solid #dce4d6}
.project-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 25px;align-items:start}
.project-row>.project-folder{min-width:0}
.project-menu{position:static;border:0;padding:0;margin:6px 0 0}
.project-menu>summary{list-style:none;cursor:pointer;color:#8a978b;padding:4px;font-size:16px;line-height:1}
.project-menu>summary::-webkit-details-marker{display:none}
.project-menu>div{position:absolute;right:0;top:29px;z-index:65;min-width:128px;padding:5px;background:#fff;border:1px solid #d8e1d4;border-radius:9px;box-shadow:0 12px 28px #183b3020}
.project-menu button{display:block;width:100%;padding:8px 9px;border:0;background:#fff;color:#365244;text-align:left;font-size:11px}
.project-menu button:hover{background:#edf3e9}
.project-state{padding:5px 8px;margin-top:5px;font-size:10px;color:#7e8d80}
.project-state>summary{font-size:10px;padding:3px 0}
.project-state-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;align-items:center;padding:4px 0}
.project-state-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-state-row button{width:auto!important;padding:3px 5px!important;font-size:9px!important}
.sidebar-group-heading small{font-size:9px;color:#a0aaa0;font-weight:400}
.conversation-context-menu{position:fixed;z-index:120;width:220px;padding:6px;background:#fff;border:1px solid #d4ded0;border-radius:10px;box-shadow:0 16px 38px #17382e30}
.conversation-context-menu button{display:block;width:100%;padding:9px 10px;border:0;background:#fff;color:#304f3f;text-align:left;font-size:11px;border-radius:6px}
.conversation-context-menu button:hover{background:#eaf1e6}
.conversation-context-menu .context-menu-divider{height:1px;background:#e0e7dc;margin:4px 6px}
#chatList .chat-entry[draggable="true"]{cursor:grab}
#chatList .chat-entry[draggable="true"]:active{cursor:grabbing}
#chatList .chat-entry.dragging{opacity:.45}
.project-folder.drag-target>summary{background:#dfead3;outline:2px dashed #6ea66a;outline-offset:-2px;border-radius:7px}
.account-picker>#currentUser{font-size:11px;border:0;background:transparent;padding:7px 6px}
.account-menu{z-index:70}
body>main{margin-left:var(--sidebar-width);padding-left:26px;padding-right:26px}
body.sidebar-collapsed>aside{width:var(--rail-width);transform:none;pointer-events:auto;grid-template-columns:var(--rail-width)}
body.sidebar-collapsed .conversation-sidebar{display:none}
body.sidebar-collapsed>main{margin-left:var(--rail-width)}
@media(max-width:700px){
  body.module-menu-expanded{--rail-width:60px}
  body>aside,body.sidebar-collapsed>aside{position:fixed!important;width:min(340px,calc(100vw - 28px))!important;max-width:340px;inset:0 auto 0 0!important;height:100dvh;padding:0!important;overflow:visible;grid-template-columns:60px minmax(0,1fr);transform:translateX(-105%);z-index:60}
  body.sidebar-open>aside{transform:translateX(0);pointer-events:auto}
  body:not(.sidebar-open)>aside{pointer-events:none}
  body.sidebar-collapsed .conversation-sidebar{display:flex}
  .conversation-sidebar{padding:16px 10px 12px}
  .module-menu-expanded .module-name{display:none}
  .module-menu-expanded .module-rail button{justify-content:center;padding:0}
  .module-rail nav{margin:0;display:flex;gap:9px}
  .module-rail nav button{padding:0;font-size:13px}
  .module-rail{padding:14px 8px}
  .sidebar-heading .brand{font-size:16px}
  #sidebarClose{position:static;display:grid}
  aside .aside-bottom{position:relative;margin:0;padding-top:10px}
  aside #chatList{overflow-y:auto;max-height:none}
  #chatList .chat-menu>summary{opacity:1}
  body>main,body.sidebar-collapsed>main{margin-left:0!important}
}
@media(prefers-reduced-motion:reduce){body>aside,body>main{transition:none}}
/* Override the legacy chat-list rule that makes every button full-width. */
#chatList .sidebar-group-heading>button{display:grid;place-items:center;width:24px;min-width:24px;height:24px;flex:none;padding:0;font-size:18px;text-align:center;background:transparent;color:#7b8b7f}
.sidebar-group-heading h2{white-space:nowrap;flex:none}
.sidebar-group{margin:12px 0 16px}
.sidebar-empty{margin-bottom:8px}
.project-dialog{width:min(420px,calc(100vw - 32px));border:1px solid #d5dfd1;border-radius:16px;padding:26px;color:#244235;background:#fff;box-shadow:0 24px 90px #142d2940}
.project-dialog::backdrop{background:#17382e55}
.project-dialog h2{font-size:18px;margin:0 0 12px}
.project-dialog p{font-size:12px;line-height:1.7;color:#7a887c;margin-bottom:20px}
.project-dialog small{display:block;margin-top:10px;font-size:11px;color:#929c8e}
.project-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}
.project-dialog-actions button{font-size:12px;padding:9px 20px}

/* The rail owns the account menu; the conversation column has no footer. */
body>aside{height:100dvh;grid-template-rows:minmax(0,1fr)}
.module-rail{height:100%;min-height:0}
.module-rail nav{min-height:0;overflow-y:auto;flex:1 1 0}
.conversation-sidebar{height:100%;overflow:hidden}
aside #chatList{flex:1 1 0;margin-bottom:0;padding-bottom:8px}
.module-rail .rail-account-picker{position:relative;flex:none;margin:0;margin-top:auto;padding-top:9px;border-top:1px solid #dde4d9}
.module-rail .account-picker>#currentUser{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;margin:0;padding:0;border:0;border-radius:10px;background:transparent;color:#5f7568;font-size:0;overflow:hidden;white-space:nowrap}
.module-rail .account-picker>#currentUser::before{content:'♙';font-size:21px;line-height:1;flex:none}
.module-rail .account-picker>#currentUser:hover,.module-rail .account-picker>#currentUser[aria-expanded=true]{background:#dfe8dc;color:#244c39}
body.module-menu-expanded .module-rail .account-picker>#currentUser{justify-content:flex-start;padding:0 10px;font-size:10px}
.module-rail .account-menu{left:calc(100% + 12px);right:auto;bottom:0;top:auto;width:270px;max-width:calc(100vw - 80px);z-index:90;color:#254536;text-align:left}
.module-rail .account-menu button{height:auto;min-height:32px;white-space:normal;font-size:12px}
.module-rail .account-menu .account-select{justify-content:space-between}
.module-rail .account-menu .account-forget{width:auto;min-height:24px;padding:2px 5px}
@media(max-width:700px){
  body.module-menu-expanded .module-rail .account-picker>#currentUser{justify-content:center;font-size:0;padding:0}
  .module-rail .account-menu{left:calc(100% + 10px)}
}
