    :root{
      --bg:#F4EFEA;
      --surface:#EDE6DE;
      --rule:#CBB8A6;
      --muted:#9C8F85;
      --text:#2F2A26;
      --accent:#8FA68E;
      --danger:#B45A5A;
    }
    *{box-sizing:border-box}
    html,body{margin:0;padding:0;width:100%;max-width:100%;overflow-x:hidden;}
    body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--text);}
    .appshell{display:flex;min-height:100dvh;width:100%;overflow-x:hidden;}
    .sidebar{width:280px;background:rgba(237,230,222,.96);border-right:1px solid var(--rule);padding:16px 14px 90px;overflow-y:auto;overflow-x:hidden;position:fixed;left:0;top:0;bottom:0;z-index:20;transform:translateX(-100%);transition:transform .2s ease;box-sizing:border-box;}
    .sidebar.open{transform:translateX(0);}
    .sidebarHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
    .sidebarTitle{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
    .newChatBtn{width:100%;margin-bottom:10px;text-align:left;}
    .searchWrap{margin-bottom:10px;}
    .searchInput{width:100%;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;background:#fff;}
    .convlist{display:grid;gap:2px;}
    .convitem{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:13px;line-height:1.15;background:transparent;border:1px solid transparent;min-width:0;overflow:visible;position:relative;}
    .convitem:hover{background:#f1ebe3;border-color:#e0d2c4;}
    .convitem.active{background:#e8dfd5;border-color:#d3c1af;}
    .convtitle{flex:1;min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .convmenu{position:relative;display:flex;align-items:center;flex:0 0 auto;}
    .convdots{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:2px 6px;font-size:16px;line-height:1;cursor:pointer;}
    .convdots:hover{background:#e9dfd3;color:var(--text);}
    .convdropdown{position:absolute;right:0;top:30px;min-width:120px;background:#fff;border:1px solid var(--rule);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:6px;z-index:999;}
    .convdropdown button{width:100%;text-align:left;background:#fff;color:var(--danger);border:0;padding:8px 10px;border-radius:8px;}
    .convdropdown button:hover{background:#fff5f5;}
    .mainpanel{flex:1;min-width:0;width:100%;max-width:100%;margin:0;box-sizing:border-box;}
    .wrap{max-width:960px;width:100%;margin:0 auto;padding:10px 16px 92px;box-sizing:border-box;}
    .sidebarToggle{padding:8px 12px;border-radius:10px;border:1px solid var(--rule);background:var(--surface);color:var(--text);font-weight:600;cursor:pointer;}
    .topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;}
    .brandWrap{display:flex;align-items:center;gap:10px;min-width:0;}
    .brandLogo{width:320px !important;height:auto !important;max-height:90px !important;object-fit:contain;display:block;flex:0 0 auto;}
    .brand{font-size:14px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .lang{display:flex;align-items:center;gap:8px;}
    select{padding:8px 10px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);}
    .card{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.04);}
    .grid{display:grid;gap:12px}
    label{font-size:12px;opacity:.75}
    input{width:100%;padding:11px 12px;border:1px solid var(--rule);border-radius:12px;background:#fff;}
    .pwrow{position:relative;}
    .pwtoggle{
      position:absolute;
      right:10px;
      top:50%;
      transform:translateY(-50%);
      border:1px solid var(--rule);
      background:#fff;
      color:var(--text);
      border-radius:8px;
      padding:4px 8px;
      font-size:12px;
      cursor:pointer;
    }
    .pwrow{position:relative;}
    .pwtoggle{
      position:absolute;
      right:10px;
      top:50%;
      transform:translateY(-50%);
      border:1px solid var(--rule);
      background:#fff;
      color:var(--text);
      border-radius:8px;
      padding:4px 8px;
      font-size:12px;
      cursor:pointer;
    }
    button{padding:11px 14px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;}
    button.secondary{background:#c9b9ab;color:#2F2A26}
    .row{display:flex;gap:10px;flex-wrap:wrap}
    .row > *{flex:1}
    .muted{font-size:12px;opacity:.7}
    .err{color:var(--danger);font-size:12px;}
    .chatbox{margin-top:12px;}
    .msg{padding:10px 12px;border-radius:14px;margin:8px 0;line-height:1.35;white-space:pre-line}
    .me{background:#fff;border:1px solid var(--rule)}
    .ai{background:rgba(143,166,142,.18);border:1px solid rgba(143,166,142,.35)}
    .dock{position:fixed;left:0;right:0;bottom:12px;background:transparent;padding:0;pointer-events:none;z-index:40;}
    .dockinner{max-width:960px;width:calc(100% - 32px);margin:0 auto;padding:0 12px;display:flex;gap:10px;align-items:center;background:rgba(244,239,234,.96);border:1px solid var(--rule);border-radius:16px;box-shadow:0 10px 28px rgba(0,0,0,.10);backdrop-filter:blur(8px);pointer-events:auto;box-sizing:border-box;}
    .dockinner input{flex:1;border:0 !important;outline:none !important;box-shadow:none !important;background:transparent;padding:14px 10px;min-width:0;-webkit-appearance:none;appearance:none;}
    .hidden{display:none !important;visibility:hidden !important;pointer-events:none !important;}
    a{color:#2F2A26}
    @media (min-width: 901px){
  .mainpanel.withSidebar{margin-left:280px;max-width:calc(100vw - 280px);}
}

    @media (max-width: 900px){
  .wrap{padding:8px 12px 88px;}
  .dockinner{width:calc(100% - 20px);padding:0 10px;}
  .topbar{align-items:center;gap:8px;}
  .brandWrap{gap:8px;}
  .brandLogo{width:180px;height:auto;max-height:64px;}
  .sidebarToggle{padding:10px 12px;font-size:13px;}
  .lang{gap:6px;}
  select{padding:8px 9px;}
}
  .dockinner{width:calc(100% - 20px);padding:0 10px;}
  .topbar{align-items:center;gap:8px;}
  .brandWrap{gap:8px;}
  .brandLogo{width:96px;height:96px;}
  .sidebarToggle{padding:10px 12px;font-size:13px;}
  .lang{gap:6px;}
  select{padding:8px 9px;}
}
  .dockinner{width:calc(100% - 20px);padding:0 10px;}
  .brandLogo{width:44px;height:44px;}
}
      .dockinner{width:calc(100% - 20px);padding:0 10px;}
      .brandLogo{width:52px;height:52px;}
    }

.dockinner input:focus{outline:none !important;box-shadow:none !important;border:0 !important;}

.chatbox.hidden{display:none !important;margin:0 !important;padding:0 !important;border:0 !important;box-shadow:none !important;min-height:0 !important;height:0 !important;overflow:hidden !important;}
