/* Main navigation and account */
:root{--sidebar:220px}
.sidebar{overflow:visible;z-index:20}
.sidebar .brand{margin-bottom:30px;flex-shrink:0}
.primary-nav{display:flex;flex:1;min-height:0;flex-direction:column;gap:4px;overflow-y:auto}
.primary-nav .side-nav{padding:13px 12px;flex-shrink:0}
.primary-nav .side-nav.active{background:#c8f27c16;color:var(--accent)}
.sidebar .side-bottom{margin-top:auto;padding-top:12px;flex-shrink:0}
.account-menu{position:relative}
.account-menu>summary{list-style:none;cursor:pointer;margin:0;padding:10px 8px;border:0;border-radius:8px}
.account-menu>summary::-webkit-details-marker{display:none}
.account-menu>summary:hover,.account-menu[open]>summary{background:#ffffff08}
.account-menu>summary>.icon{width:15px;height:15px;color:#829181;flex-shrink:0;transition:transform .15s}
.account-menu[open]>summary>.icon{transform:rotate(180deg)}
.account-dropdown{position:absolute;bottom:0;left:calc(100% + 28px);width:224px;padding:6px;background:#202a24;border:1px solid #ffffff15;border-radius:10px;box-shadow:0 10px 30px #0003;z-index:25}
.account-dropdown .side-nav{font-size:11px;padding:11px 9px}
.account-dropdown .logout-option{border-top:1px solid #ffffff10;border-radius:0 0 6px 6px;margin-top:5px;padding-top:13px}
.account-menu summary:focus-visible,.composer-context-info summary:focus-visible{outline:2px solid #95b76c;outline-offset:3px}

/* The chat and its history scroll independently. */
.main-content{display:flex;flex:1;min-height:0;min-width:0;position:relative}
.content-column{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}
.topbar-title{flex:1;min-width:0;max-width:none}
.topbar .badge{flex-shrink:0}
#chat-actions{flex-shrink:0}
.conversation-panel{display:none;flex:0 0 280px;width:280px;min-height:0;flex-direction:column;padding:24px 16px 12px;border-left:1px solid var(--line);background:#f1f4ed}
.chat-mode .conversation-panel{display:flex}
.conversation-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}
.conversation-panel-heading h2{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin:0}
#chat-count{font-size:10px;font-weight:500;color:#77856d;background:#e4ebdc;padding:3px 6px;border-radius:5px}
.conversation-panel .new-chat{justify-content:flex-start;width:100%;padding:10px 12px;font-size:11px;background:var(--accent);border-color:#bddf95;color:#314722;margin-bottom:16px}
.conversation-panel .shortcut{margin-left:auto;font-size:10px;color:#6e8555}
.conversation-panel .side-search{margin:0 0 14px}
.conversation-panel .side-search input{height:37px;background:#fff;border-color:#dfe6d8;color:var(--ink);font-size:11px}
.conversation-panel .side-search input::placeholder{color:#96a08d}
.conversation-panel .chat-filter-label{display:block;font-size:10px;color:#7c8972;margin:0 0 6px}
.conversation-panel .project-picker{background:#fff;border-color:#dfe6d8;color:#637457;padding:9px;font-size:11px;margin:0 0 18px}
.conversation-panel .conversation-list{margin:0 -5px;padding:0 5px;scrollbar-color:#cbd5c1 transparent;overscroll-behavior:contain}
.conversation-panel .conversation-item{color:#596450;align-items:flex-start;padding:12px 10px;margin-bottom:5px;gap:9px;border:1px solid transparent}
.conversation-panel .conversation-item>.icon{color:#99a68c;margin-top:2px}
.conversation-panel .conversation-item:hover{background:#e8eee0}
.conversation-panel .conversation-item.active{background:#e4edda;border-color:#d7e4c8;color:#314722}
.conversation-panel .conversation-item.active>.icon{color:#739852}
.conversation-list .conversation-item .conversation-label{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;gap:7px}
.conversation-label>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;overflow:hidden;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.5}
.conversation-project-tag{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#eaf0e3;border:1px solid #dfe8d5;color:#7b8f69;border-radius:5px;padding:3px 6px;font-size:9px;line-height:1.2}
.conversation-project-tag .icon{width:10px;height:10px;color:inherit;flex-shrink:0}
.conversation-item.active .conversation-project-tag{background:#f4f8ee;border-color:#d2dfc2;color:#68874d}
.conversation-panel .side-empty{color:#87957a;font-size:11px;padding:12px 10px}
.history-toggle,.history-close,.history-backdrop{display:none}

/* The project selector lives in the footer of the message field. */
.composer-footer{gap:8px;position:relative}
.composer-project-picker{display:flex;align-items:center;gap:5px;min-width:0;max-width:230px;position:relative;border-radius:6px;background:#f2f6ec;padding:0 7px;color:#6c8557}
.composer-project-picker>.icon{width:13px;height:13px;flex-shrink:0;pointer-events:none}
.composer-project-picker>.icon:last-child{width:11px;height:11px;transform:rotate(90deg);position:absolute;right:7px}
.composer-project-picker select{appearance:none;field-sizing:content;width:auto;min-width:0;max-width:200px;text-overflow:ellipsis;background:transparent;border:0;border-radius:5px;padding:7px 19px 7px 0;color:#587241;font:inherit;font-size:10px;cursor:pointer}
.composer-project-picker select:focus-visible{outline:2px solid #95b76c;outline-offset:2px}
.composer-project-picker select:disabled{cursor:wait;opacity:.6}
.composer-footer .model{margin-left:auto;white-space:nowrap;font-size:9px}
.composer-footer .send{margin-left:4px;flex-shrink:0}
.composer-context-info{flex-shrink:0}
.composer-context-info>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;color:#93a184;cursor:pointer}
.composer-context-info>summary::-webkit-details-marker{display:none}
.composer-context-info>summary:hover,.composer-context-info[open]>summary{background:#f0f4e9;color:#587241}
.composer-context-info>summary .icon{width:15px;height:15px}
.conversation-context{position:absolute;bottom:calc(100% + 12px);left:0;z-index:10;width:280px;max-width:100%;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 30px #25331c15}
.active-context-detail{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:10px;color:#7a896d;line-height:1.6}
.active-context-detail button{border:0;background:transparent;padding:0;color:#567d37;font-size:10px}
.chat-context-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;background:#e2ebd7;color:#526f3c;border-radius:5px;max-width:100%;overflow-wrap:anywhere}
.chat-context-tag .icon{width:12px;height:12px;flex-shrink:0}
.conversation-context p{font-size:10px;line-height:1.6;color:#8a967e;margin:10px 0}
.context-new-project{display:inline-flex;gap:5px;align-items:center;border:0;background:#f0f5e9;color:#66814d;border-radius:6px;font-size:10px;padding:7px 9px}
.context-new-project .icon{width:13px;height:13px}
.all-chat .conversation-project-tag{margin-top:8px;max-width:240px}
.all-chat>div{min-width:0}
.all-context-filter{max-width:260px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}

@media(max-width:1300px){.chat-mode .topbar>small,.chat-mode .topbar-divider{display:none}.chat-mode .topbar{padding-left:24px;padding-right:24px}}
@media(max-width:1100px){
  :root{--sidebar:204px}
  .chat-mode .history-toggle{display:flex;flex-shrink:0}
  .chat-mode .conversation-panel{display:none;position:fixed;right:0;top:76px;bottom:0;width:300px;max-width:calc(100vw - 32px);z-index:18;box-shadow:-10px 0 30px #20292315}
  .chat-mode.history-open .conversation-panel{display:flex}
  .chat-mode.history-open .history-backdrop{display:block;position:fixed;inset:76px 0 0;background:#11171955;z-index:17}
  .history-close{display:flex}
}
@media(max-width:740px){
  .account-dropdown{left:min(calc(100% + 24px),calc(100vw - 248px))}
  .sidebar:not(.open) .account-dropdown{visibility:hidden}
  .chat-mode .topbar{padding-left:20px;padding-right:16px}
  .chat-mode .topbar .badge{display:none}
  .chat-mode .topbar-title{max-width:none}
  .chat-mode .conversation-panel{top:61px}
  .chat-mode.history-open .history-backdrop{top:61px}
  .composer-project-picker{max-width:calc(100% - 76px)}
  .composer-project-picker select{max-width:100%;font-size:11px;padding-top:8px;padding-bottom:8px}
  .composer-footer .model{display:none}
  .composer-footer .send{margin-left:auto}
  .conversation-context{width:260px}
  .chat-filter{flex-wrap:wrap}
  .all-context-filter{width:100%;max-width:none}
}
