

html.mozart-standalone, body.mozart-standalone {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  height: 100% !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body.mozart-standalone {
  font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}
#mozart-root {
  font: normal 400 13.5px/1.5 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: #111;
  height: 100%;
  min-height: 100vh;
}
#mozart-root, #mozart-root * {
  box-sizing: border-box;
}
#mozart-root button, #mozart-root input, #mozart-root select, #mozart-root textarea {
  font-family: inherit;
}
#mozart-root small {
  font-size: inherit;
}


    
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; overflow-x:hidden; max-width:100vw; }
    body {
      font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      color:#1a1a1a; background:#fff; overflow-x:hidden;
    }

    
    #page-experience { display:flex; position:fixed; inset:0; z-index:500; flex-direction:column; background:#f5f6f8; overflow:hidden; }
    
    #page-experience .layout { display:flex; flex:1; overflow:hidden; }
    

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; overflow-x:hidden; max-width:100vw; }
    body {
      font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      color:#1a1a1a; background:#fff; overflow-x:hidden;
    }

    

    
    .header {
      background: #fff;
      position: sticky; top:0; z-index:200;
      border-bottom: 3px solid #008755;
    }
    .header-inner {
      display:flex; align-items:center;
      padding: 12px 40px;
      max-width:1440px; margin:0 auto;
      gap:40px;
    }
    .header-top {
      display:none; 
    }
    .header-logo {
      display:flex; flex-direction:column; gap:2px; text-decoration:none;
    }
    .header-logo img {
      height:42px; width:auto; display:block;
    }
    .header-logo svg { display:none;  }
    .header-logo-sub { display:none;  }
    .header-icons { display:flex; align-items:center; gap:18px; }
    .header-icon-btn {
      background:none; border:none; cursor:pointer; padding:4px;
      opacity:.85; transition:opacity .2s;
    }
    .header-icon-btn:hover { opacity:1; }
    .header-icon-btn img { width:20px; height:20px; display:block; }

    
    .header-nav {
      display:none; 
      flex-wrap:nowrap; gap:16px;
    }
    .header-nav ul { display:flex; gap:28px; list-style:none; flex-shrink:1; flex-wrap:nowrap; }
    .header-nav ul li a {
      text-decoration:none; color:#003D4C;
      font-family:'IBM Plex Sans',sans-serif; font-size:13.5px; font-weight:500;
      letter-spacing:1.4px; text-transform:uppercase;
      opacity:.85; transition:opacity .2s; white-space:nowrap;
    }
    .header-nav ul li a:hover { opacity:1; }
    .btn-contact-sales {
      display:inline-flex; align-items:center;
      background:transparent; color:#003D4C;
      border: 1.5px solid rgb(0,135,85);
      border-radius:360px; padding:10px 22px;
      font-family:'IBM Plex Sans',sans-serif; font-size:14px; font-weight:500;
      letter-spacing:1.68px; text-transform:uppercase;
      cursor:pointer; text-decoration:none;
      transition: background .25s, border-color .25s;
      white-space:nowrap;
    }
    .btn-contact-sales:hover {
      background: rgba(0,135,85,.15); border-color:#fff;
    }

    
    .nav-amadeus-link {
      color: rgb(236,232,26) !important;
      font-weight:700 !important;
      opacity:1 !important;
      position:relative;
      transition: color .2s, text-shadow .2s !important;
      text-shadow: 0 0 12px rgba(236,232,26,.3);
    }
    .nav-amadeus-link:hover {
      text-shadow: 0 0 20px rgba(236,232,26,.6) !important;
    }
    .nav-right-btns { display:flex; align-items:center; }

    
    .hero {
      position:relative; overflow:hidden;
      background: url('https://www-community-dev.tracelink.com/themes/custom/tracelink_rd/images/ai-banner.png') center/cover no-repeat;
      min-height:auto;
    }
    
    .hero-bg-img { display:none; }
    .hero-network-img { display:none; }
    .hero-content {
      position:relative; z-index:2;
      max-width:1440px; margin:0 auto;
      padding: 38px 40px 25px;
    }
    .hero-text { max-width:870px; }
    .hero-h1 {
      font-family:'IBM Plex Sans', sans-serif;
      font-size:46px; font-weight:700; line-height:1.12;
      color: rgb(236,232,26); margin-bottom:0;
      font-style: normal;
    }
    .hero-h1-accent {
      font-family:'IBM Plex Sans', sans-serif;
      font-size:52px; font-weight:800; line-height:1.08;
      color: rgb(236,232,26); display:inline;
    }
    .hero-sub {
      font-size:19px; font-weight:400; color:rgba(255,255,255,.88);
      line-height:1.55; margin-top:24px; max-width:500px;
    }
    
    .hero-search-wrap {
      display:flex; align-items:center; gap:0;
      margin-top:28px; max-width:832px;
      background:transparent; border:0.67px solid rgba(236,232,26,.35);
      border-radius:52px; padding:4px 4px 4px 25px;
    }
    .hero-search-input {
      flex:1; border:none; background:transparent; outline:none;
      font-size:16px; color:#fff; font-family:'IBM Plex Sans',sans-serif;
      padding:6px 0;
    }
    .hero-search-input::placeholder { color:rgba(236,232,26,.45); }
    .hero-search-btn {
      display:flex; align-items:center; gap:8px;
      background:rgb(236,232,26); color:#003D4C;
      border:none; border-radius:50px; padding:10px 24px;
      font-size:13px; font-weight:700; font-family:'IBM Plex Sans',sans-serif;
      cursor:pointer; white-space:nowrap; letter-spacing:1.5px; text-transform:uppercase;
      transition:background .2s, transform .1s;
    }
    .hero-search-btn:hover { background:#f0ed3a; transform:scale(1.02); }
    .hero-search-btn svg { width:14px; height:14px; }
    
    .hero-pills {
      display:flex; flex-wrap:wrap; gap:12px;
      margin-top:24px; max-width:680px;
    }
    .hero-pill {
      background:rgba(255,255,255,.08); border:none;
      color:#fff; padding:10px 26px; border-radius:29px;
      font-size:16px; font-weight:500; font-family:'IBM Plex Sans',sans-serif;
      cursor:pointer; transition:background .2s;
    }
    .hero-pill:hover { background:rgba(255,255,255,.18); }

    
    .hero-card-wrap {
      display:none; 
    }
    .hero-card {
      background:#fff; border-radius:12px 0 0 0;
      padding:26px 30px; position:relative;
      box-shadow:-4px -4px 32px rgba(0,0,0,.18);
      min-height:170px;
    }
    .hero-card-type {
      font-size:10.5px; letter-spacing:2px; text-transform:uppercase;
      color:#006341; font-weight:700; margin-bottom:10px;
    }
    .hero-card-img {
      position:absolute; top:0; right:0; width:100px; height:100%;
      object-fit:cover; border-radius:0 12px 0 0;
    }
    .hero-card-text {
      font-size:14px; color:#1a1a1a; line-height:1.55;
      padding-right:110px; font-weight:400;
    }
    .hero-card-cta {
      margin-top:14px; font-size:12px; font-weight:700;
      letter-spacing:1.5px; text-transform:uppercase;
      color:#006341; text-decoration:none;
      display:inline-flex; align-items:center; gap:6px;
    }
    .hero-card-cta:hover { text-decoration:underline; }
    .carousel-nav {
      display:flex; justify-content:flex-end; gap:8px;
      padding:10px 28px 14px; background:#fff;
      border-top:1px solid #f0f0f0;
    }
    .carousel-btn {
      width:32px; height:32px; border-radius:50%;
      background:#006341; border:none; cursor:pointer;
      display:flex; align-items:center; justify-content:center;
      color:#fff; font-size:14px; transition:background .2s;
    }
    .carousel-btn:hover { background:#004d30; }
    .carousel-dots {
      display:flex; align-items:center; gap:6px; flex:1;
      padding-left:28px;
    }
    .carousel-dot {
      width:28px; height:3px; border-radius:2px;
      background:rgba(0,99,65,.2); cursor:pointer; transition:background .2s;
      border:none;
    }
    .carousel-dot.active { background:#006341; }

    
    .drawer-overlay {
      position:fixed; inset:0; background:rgba(0,0,0,.35); z-index:300;
      opacity:0; pointer-events:none; transition:opacity .3s;
    }
    .drawer-overlay.open { opacity:1; pointer-events:all; }

    
    .ai-drawer {
      position:fixed; top:0; right:-500px; width:480px; height:100vh;
      background:#fff; z-index:400;
      transition:right .35s cubic-bezier(.4,0,.2,1);
      display:flex; flex-direction:column;
      box-shadow:-4px 0 40px rgba(0,0,0,.18);
    }
    .ai-drawer.open { right:0; }

    .drawer-head {
      background: linear-gradient(84deg, rgb(0,61,76) -18.9%, rgb(0,99,65) 107.92%);
      padding:22px 24px;
      display:flex; align-items:flex-start; justify-content:space-between;
    }
    .drawer-head-left h2 {
      font-family:'IBM Plex Sans',sans-serif; font-size:18px; font-weight:700;
      color:#fff; margin-bottom:4px;
    }
    .drawer-head-left p { font-size:13px; color:rgba(255,255,255,.65); }
    .drawer-ai-badge {
      background:rgb(236,232,26); color:rgb(0,61,76);
      padding:3px 10px; border-radius:20px;
      font-size:10.5px; font-weight:800; letter-spacing:.5px;
      margin-bottom:8px; display:inline-block;
    }
    .drawer-close {
      background:none; border:none; color:rgba(255,255,255,.6);
      font-size:24px; cursor:pointer; line-height:1; padding:0;
      transition:color .2s;
    }
    .drawer-close:hover { color:#fff; }

    .drawer-body {
      flex:1; overflow-y:auto; padding:20px 20px 0;
    }
    .drawer-body::-webkit-scrollbar { width:4px; }
    .drawer-body::-webkit-scrollbar-thumb { background:#ddd; border-radius:4px; }

    .drawer-greeting {
      font-size:14px; color:#444; line-height:1.6; margin-bottom:18px;
    }
    .drawer-greeting strong { color:rgb(0,61,76); }

    .drawer-label {
      font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase;
      color:#999; font-weight:700; margin-bottom:10px;
    }
    .persona-pills { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
    .persona-pill {
      padding:7px 16px; border:1.5px solid #e0e0e0; border-radius:360px;
      font-size:12.5px; font-weight:500; cursor:pointer;
      color:#444; background:#fff; transition:all .2s;
      font-family:'IBM Plex Sans',sans-serif;
    }
    .persona-pill:hover, .persona-pill.active {
      background:rgb(0,61,76); color:#fff; border-color:rgb(0,61,76);
    }

    .prompt-section { display:none; }
    .prompt-btn {
      width:100%; text-align:left; padding:12px 16px;
      border:1px solid #e8e8e8; border-radius:8px;
      background:#fafafa; font-size:13px; color:#1a1a1a;
      cursor:pointer; margin-bottom:8px; display:flex;
      align-items:center; gap:10px; line-height:1.45;
      transition:all .2s; font-family:'IBM Plex Sans',sans-serif;
    }
    .prompt-btn:hover { background:#f0fff8; border-color:rgb(0,135,85); }
    .prompt-btn .picon { font-size:15px; flex-shrink:0; }

    .chat-msgs { padding-bottom:10px; }
    .msg-user { display:flex; justify-content:flex-end; margin-bottom:12px; }
    .msg-user .bubble {
      background:rgb(0,61,76); color:#fff;
      padding:11px 15px; border-radius:16px 16px 4px 16px;
      font-size:13.5px; max-width:82%; line-height:1.5;
    }
    .msg-ai { display:flex; gap:9px; align-items:flex-start; margin-bottom:12px; }
    .ai-av {
      width:30px; height:30px; border-radius:8px;
      background:rgb(236,232,26); flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
      font-size:14px; font-weight:800; color:rgb(0,61,76); margin-top:2px;
    }
    .msg-ai .bubble {
      background:#f5f5f5; color:#1a1a1a;
      padding:12px 15px; border-radius:4px 16px 16px 16px;
      font-size:13px; max-width:86%; line-height:1.6;
    }
    .msg-ai .bubble strong { color:rgb(0,61,76); }
    .mini-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
    .mini-link {
      background:#f0fff8; color:#006341; padding:4px 10px;
      border-radius:4px; font-size:11.5px; font-weight:600;
      text-decoration:none; border:1px solid rgba(0,135,85,.3);
    }
    .mini-link:hover { background:#e0fff0; }

    .typing-dots { display:flex; gap:5px; padding:4px 0; }
    .typing-dots span {
      width:7px; height:7px; background:#bbb; border-radius:50%;
      animation:tdot .9s ease-in-out infinite;
    }
    .typing-dots span:nth-child(2){ animation-delay:.2s; }
    .typing-dots span:nth-child(3){ animation-delay:.4s; }
    @keyframes tdot { 0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)} }

    .drawer-input-row {
      padding:14px 16px; border-top:1px solid #eee;
      display:flex; gap:10px; align-items:flex-end;
    }
    .drawer-input {
      flex:1; border:1.5px solid #e0e0e0; border-radius:8px;
      padding:10px 14px; font-size:13px; font-family:'IBM Plex Sans',sans-serif;
      resize:none; outline:none; color:#1a1a1a;
      transition:border-color .2s;
    }
    .drawer-input:focus { border-color:rgb(0,135,85); }
    .drawer-send-btn {
      background:rgb(0,61,76); color:rgb(236,232,26);
      border:none; width:38px; height:38px; border-radius:8px;
      cursor:pointer; font-size:16px; transition:background .2s;
      flex-shrink:0;
    }
    .drawer-send-btn:hover { background:rgb(0,99,65); }
    .drawer-footer {
      text-align:center; padding:10px; font-size:11.5px; color:#aaa;
      border-top:1px solid #f5f5f5;
    }
    .drawer-footer a { color:#006341; font-weight:600; text-decoration:none; }
  
    

    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    body {
      font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      color:#1a1a1a; background:#f5f6f8; font-size:15px;
    }

    
    .topbar {
      height:auto; min-height:80px;
      background: #fff;
      border-bottom: 3px solid #008755;
      padding-top:8px; padding-bottom:8px;
      display:flex; align-items:center; justify-content:space-between;
      padding:0 40px; position:sticky; top:0; z-index:100;
    }
    .topbar-logo { display:flex; align-items:center; gap:16px; text-decoration:none; }
    .topbar-logo img { height:140px; width:auto; display:block; }
    .topbar-logo img:not([src*="tracelink_logo_new"]) { display:none !important; }
    .topbar-logo svg { display:none !important; }
    .ai-badge {
      background:rgb(236,232,26); color:rgb(0,61,76);
      padding:4px 13px; border-radius:360px;
      font-size:11px; font-weight:700; letter-spacing:.5px; white-space:nowrap;
    }
    .topbar-right { display:flex; align-items:center; gap:12px; }
    .topbar-right a {
      color:rgba(255,255,255,.75); text-decoration:none;
      font-size:13.5px; font-weight:500; letter-spacing:.2px;
      transition:color .2s; display:flex; align-items:center; gap:6px;
    }
    .topbar-right a:hover { color:#fff; }
    .topbar-divider { width:1px; height:16px; background:rgba(255,255,255,.18); }
    .btn-demo {
      border:2px solid #006341; border-radius:360px;
      padding:9px 22px; color:#006341 !important;
      font-size:14px; font-weight:600; font-family:'IBM Plex Sans',sans-serif;
      text-decoration:none; background:#fff;
      transition:border-color .2s, background .2s, color .2s !important;
    }
    .btn-demo:hover { background:#006341 !important; color:#fff !important; }

    
    .topbar-left { display:flex; align-items:center; gap:4px; }
    .topbar-logo { margin-right:12px; }
    .topbar-nav-inline { display:flex; align-items:center; gap:0; }
    .topbar-nav-inline a {
      color:#006341; text-decoration:none;
      font-family:'IBM Plex Sans',sans-serif; font-size:18px; font-weight:700;
      padding:8px 16px; border-radius:6px; white-space:nowrap;
      transition:background .2s, color .2s;
    }
    .topbar-nav-inline a:hover { background:rgba(0,99,65,.06); color:#006341; }
    .topbar-nav-dropdown { position:relative; }
    .topbar-more-btn {
      display:flex; align-items:center; gap:5px;
      background:none; border:none; cursor:pointer;
      color:#003D4C;
      font-family:'IBM Plex Sans',sans-serif; font-size:13px; font-weight:500;
      padding:6px 11px; border-radius:6px; white-space:nowrap;
      transition:background .2s, color .2s;
    }
    .topbar-more-btn:hover { background:rgba(0,61,76,.06); color:#003D4C; }
    .topbar-more-btn.active { background:rgba(0,61,76,.08); color:#003D4C; }
    .topbar-menu-items {
      display:none; position:absolute; top:calc(100% + 6px); left:0;
      background:rgb(0,51,66); border:1px solid rgba(255,255,255,.15);
      border-radius:8px; padding:6px 0; min-width:240px; z-index:1000;
      box-shadow:0 8px 24px rgba(0,0,0,.3);
    }
    .topbar-menu-items.open { display:block; }
    .topbar-menu-items a {
      display:block; padding:10px 18px;
      color:rgba(255,255,255,.8); text-decoration:none;
      font-family:'IBM Plex Sans',sans-serif; font-size:13px; font-weight:500;
      letter-spacing:.5px; text-transform:uppercase;
      transition:background .15s, color .15s;
    }
    .topbar-menu-items a:hover { background:rgba(255,255,255,.1); color:#fff; }
    .topbar-nav-sep { width:1px; height:16px; background:rgba(0,61,76,.12); margin:0 8px; flex-shrink:0; }
    .topbar-ai-exit {
      color:#005587 !important; font-weight:700 !important;
      font-size:18px;
      text-decoration:none; font-family:'IBM Plex Sans',sans-serif;
      white-space:nowrap;
      padding:6px 11px; border-radius:6px;
      transition:background .2s !important;
    }
    .topbar-ai-exit:hover { background:rgba(0,99,65,.08) !important; }

    
    .layout { display:flex; height:calc(100vh - 64px); }

    
    .sidebar {
      width:296px; min-width:296px; background:#006341;
      border-right:none;
      display:flex; flex-direction:column; overflow:hidden;
      padding:14px 13px 0 13px;
      transition:width .28s ease, min-width .28s ease, padding .28s ease, border-color .28s ease;
    }
    .sidebar.collapsed { width:0; min-width:0; padding:0; border-color:transparent; }
    .sidebar::-webkit-scrollbar { width:3px; }
    .sidebar::-webkit-scrollbar-thumb { background:#e0e0e0; border-radius:3px; }

    
    .sidebar-header {
      display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;
    }
    .sidebar-label { margin-bottom:0; }

    
    .sidebar-toggle {
      display:flex; align-items:center; justify-content:center;
      width:30px; height:30px; border-radius:7px; border:none;
      background:transparent; cursor:pointer; color:#fff;
      padding:0; flex-shrink:0; transition:background .18s, color .18s;
    }
    .sidebar-toggle:hover { background:rgba(255,255,255,.15); color:#fff; }

    
    .sidebar-role-header {
      display:flex; align-items:center; gap:6px; cursor:pointer; flex:1;
      border:none; background:none; padding:0; font-family:inherit;
    }
    .sidebar-role-header:hover .sidebar-label { color:#ECE81A; }
    .sidebar-role-header:hover .role-chevron { color:#ECE81A; }
    .role-chevron { color:#fff; transition:transform .22s; flex-shrink:0; }
    .role-chevron-collapsed { transform:rotate(-90deg); }

    
    .sidebar-reopen {
      display:none; align-items:center; justify-content:center;
      position:absolute; top:14px; left:16px; z-index:10;
      width:32px; height:32px; border-radius:8px; border:1px solid rgba(0,61,76,.1);
      background:#fff; cursor:pointer; color:rgba(0,61,76,.5);
      padding:0; box-shadow:0 1px 6px rgba(0,61,76,.08);
      transition:background .18s, color .18s;
    }
    .sidebar-reopen:hover { background:rgba(0,61,76,.04); color:rgb(0,61,76); }

    .sidebar-label {
      font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase;
      color:#fff; font-weight:700;
    }
    .persona-card {
      display:flex; align-items:center; gap:10px; padding:6px 12px; width:calc(100% + 6px);
      border:1.5px solid rgba(255,255,255,.25); border-radius:8px;
      cursor:pointer; margin-bottom:4px; transition:all .2s; background:#fff;
    }
    
    .persona-card:hover { background:#007E9E; border-color:#007E9E; box-shadow:0 2px 12px rgba(0,126,158,.4); }
    .persona-card:hover .persona-name { color:#fff; }
    .persona-card:hover .persona-desc { color:rgba(255,255,255,.85); }
    .persona-card:hover .persona-icon-wrap { background:#ECE81A; color:#003D4C; }
    .persona-card.active { background:#007E9E; border-color:#007E9E; box-shadow:0 2px 12px rgba(0,126,158,.4); }
    .persona-card.active .persona-name { color:#fff; }
    .persona-card.active .persona-desc { color:rgba(255,255,255,.85); }
    .persona-card.active .persona-icon-wrap { background:rgb(236,232,26); color:rgb(0,61,76); }

    .persona-icon-wrap {
      width:30px; height:30px; border-radius:7px;
      background:rgba(0,61,76,.06); display:flex; align-items:center; justify-content:center;
      flex-shrink:0; color:rgb(0,61,76); transition:background .2s, color .2s; overflow:visible;
    }
    .persona-name { font-size:13px; font-weight:600; color:#1a1a1a; margin-bottom:1px; line-height:1.2; }
    .persona-desc { font-size:11.5px; color:#aaa; line-height:1.2; }

    
    .edit-profile-overlay { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:9999; display:flex; align-items:center; justify-content:center; }
    .edit-profile-modal { background:#fff; border-radius:14px; width:480px; max-width:92vw; max-height:90vh; overflow-y:auto; padding:24px 30px; box-shadow:0 20px 60px rgba(0,0,0,.25); }
    .edit-profile-modal h2 { font-size:18px; font-weight:700; color:#003d4c; margin:0 0 2px; }
    .edit-profile-modal .edit-profile-subtitle { font-size:12px; color:#5b6770; margin:0 0 14px; }
    .edit-profile-field { margin-bottom:10px; }
    .edit-profile-field label { display:block; font-size:11px; font-weight:600; color:#5b6770; text-transform:uppercase; letter-spacing:.8px; margin-bottom:3px; }
    .edit-profile-field input, .edit-profile-field select { width:100%; padding:8px 11px; font-size:13.5px; font-family:inherit; border:1.5px solid rgba(0,61,76,.15); border-radius:8px; background:#fff; color:#323f4b; }
    .edit-profile-field input:focus, .edit-profile-field select:focus { outline:none; border-color:#006341; box-shadow:0 0 0 3px rgba(0,99,65,.1); }
    .edit-profile-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .edit-profile-btns { display:flex; gap:10px; margin-top:14px; }
    .edit-profile-btns button { flex:1; padding:9px; border-radius:8px; font-size:13.5px; font-weight:600; font-family:inherit; cursor:pointer; transition:all .2s; }
    .edit-profile-save { background:#003d4c; color:#ece81a; border:none; }
    .edit-profile-save:hover { background:#006341; }
    .edit-profile-cancel { background:#fff; color:#5b6770; border:1.5px solid rgba(0,61,76,.15); }
    .edit-profile-cancel:hover { border-color:#003d4c; color:#003d4c; }
    
    .sidebar-user-header { cursor:pointer; }
    .sidebar-user-header:hover .sidebar-user-name { color:#ECE81A; }

    
    .sidebar-section-hd { display:flex; align-items:center; gap:5px; cursor:pointer; border:none; background:none; padding:6px 0; font-family:inherit; }
    .sidebar-section-hd:hover .sidebar-section-label { color:#ECE81A; }
    .sidebar-section-hd:hover .sidebar-section-chevron { color:#ECE81A; }
    .sidebar-section-label { font-size:9.5px; letter-spacing:1.8px; text-transform:uppercase; color:#fff; font-weight:700; text-align:left; white-space:nowrap; }
    .sidebar-section-chevron { width:11px; height:11px; color:#fff; transition:transform .22s; flex-shrink:0; }
    .sidebar-section-chevron.collapsed { transform:rotate(-90deg); }
    
    .selector-cards.locked .persona-card:not(.active),
    .selector-cards.locked .sc-card:not(.active) { display:none; }
    .selector-cards.locked .persona-card.active,
    .selector-cards.locked .sc-card.active { cursor:pointer; }
    
    .selector-cards.locked .persona-card.active::after,
    .selector-cards.locked .sc-card.active::after { content:'✕'; position:absolute; top:7px; right:10px; font-size:10.5px; color:rgba(255,255,255,.6); font-weight:400; }
    .persona-card, .sc-card { position:relative; }
    
    .other-input-row { display:none; margin-bottom:6px; }
    .other-input-row.visible { display:flex; }
    .other-input-row input { flex:1; padding:8px 12px; font-size:12px; font-family:inherit; border:1.5px solid rgba(0,61,76,.15); border-radius:8px; background:#fff; color:#323f4b; }
    .other-input-row input:focus { outline:none; border-color:#006341; box-shadow:0 0 0 3px rgba(0,99,65,.1); }
    
    .other-input-row button { margin-left:6px; padding:8px 12px; border:none; border-radius:8px; background:#007E9E; color:#ECE81A; font-size:11px; font-weight:600; font-family:inherit; cursor:pointer; transition:background .18s; }
    .other-input-row button:hover { background:#006A85; }
    
    .sc-card {
      display:flex; align-items:center; gap:10px; padding:6px 12px; width:calc(100% + 6px);
      border:1.5px solid rgba(255,255,255,.25); border-radius:8px;
      cursor:pointer; margin-bottom:4px; transition:all .2s; background:#fff; position:relative;
    }
    
    .sc-card:hover { background:#007E9E; border-color:#007E9E; box-shadow:0 2px 12px rgba(0,126,158,.4); }
    .sc-card:hover .persona-name { color:#fff; }
    .sc-card:hover .persona-desc { color:rgba(255,255,255,.85); }
    .sc-card:hover .persona-icon-wrap { background:#ECE81A; color:#003D4C; }
    .sc-card.active { background:#007E9E; border-color:#007E9E; box-shadow:0 2px 12px rgba(0,126,158,.4); }
    .sc-card.active .persona-name { color:#fff; }
    .sc-card.active .persona-desc { color:rgba(255,255,255,.85); }
    .sc-card.active .persona-icon-wrap { background:rgb(236,232,26); color:rgb(0,61,76); }
    
    .auth-profile-card { position:relative; background:#fff; border:1.5px solid rgba(255,255,255,.25); border-radius:10px; padding:14px; margin-bottom:4px; cursor:pointer; transition:all .2s; }
    .auth-profile-card:hover { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.8); box-shadow:0 2px 8px rgba(0,0,0,.08); }
    .auth-profile-card::after { content:'Edit'; position:absolute; top:10px; right:12px; font-size:9.5px; letter-spacing:.5px; text-transform:uppercase; color:rgba(0,99,65,.7); font-weight:600; opacity:0; transition:opacity .2s; }
    .auth-profile-card:hover::after { opacity:1; }
    .auth-profile-name { font-size:14px; font-weight:600; color:#003d4c; margin-bottom:2px; }
    .auth-profile-meta { font-size:11px; color:#5b6770; line-height:1.4; }
    .auth-profile-meta strong { color:#003d4c; font-weight:600; }
    
    .auth-profile-header { display:flex; align-items:center; gap:6px; cursor:pointer; border:none; background:none; padding:0; font-family:inherit; flex:1; color:#fff; }
    .auth-profile-header:hover .auth-profile-label { color:#ECE81A; }
    .auth-profile-header:hover .auth-profile-chevron { color:#ECE81A; }
    .auth-profile-label { font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase; color:#fff; font-weight:700; white-space:nowrap; }
    .auth-profile-chevron { width:11px; height:11px; color:#fff; transition:transform .25s; flex-shrink:0; }
    .auth-profile-chevron.collapsed { transform:rotate(-90deg); }
    
    .sidebar.auth-mode #personaCardsArea { display:none; }
    .sidebar.auth-mode #scPositionArea { display:none; }
    .sidebar.auth-mode #scHeaderBtn { display:none !important; }
    .sidebar.auth-mode .sidebar-header #authProfileHeaderBtn { display:flex !important; }

    .sidebar-divider { border:none; border-top:1px solid rgba(0,61,76,.07); margin:14px 0 12px; }
    .sidebar-prompts-section { display:none; }
    .sidebar-prompts-label {
      font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase;
      color:rgba(0,61,76,.38); font-weight:700; margin-bottom:12px;
    }
    .sidebar-prompt {
      padding:11px 13px; border-radius:8px; cursor:pointer; margin-bottom:6px;
      font-size:13px; color:#555; transition:all .2s; line-height:1.45;
      background:rgba(0,61,76,.025); border:1px solid transparent;
    }
    .sidebar-prompt:hover { background:rgba(0,99,65,.06); border-color:rgba(0,99,65,.2); color:rgb(0,61,76); }
    .sidebar-prompt.active { background:rgb(0,61,76); color:#fff; border-color:rgb(0,61,76); }

    
    .sidebar-scroll { flex:1; overflow-y:auto; min-height:0; padding-right:8px; display:flex; flex-direction:column; }
    .sidebar-scroll::-webkit-scrollbar { width:3px; }
    .sidebar-scroll::-webkit-scrollbar-thumb { background:rgba(255,255,255,.3); border-radius:3px; }
    
    .chat-history-list { flex:1; overflow-y:auto; min-height:0; display:flex; flex-direction:column; gap:4px; }
    .chat-history-list::-webkit-scrollbar { width:3px; }
    .chat-history-list::-webkit-scrollbar-thumb { background:rgba(255,255,255,.3); border-radius:3px; }

    
    .sidebar-auth { background:transparent; padding:0; border-top:none; flex-shrink:0; }
    #sidebarLoginSection { padding-bottom:14px; }
    .btn-save-chats {
      width:100%; padding:13px 16px; border:1.5px dashed rgba(255,255,255,.4);
      border-radius:10px; background:#fff; cursor:pointer;
      display:flex; align-items:center; gap:10px; color:#003D4C;
      font-size:13px; font-weight:500; font-family:inherit;
      transition:all .2s; text-align:left;
    }
    .btn-save-chats:hover { border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.8); color:#003D4C; }
    .sidebar-user-header { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
    .sidebar-user-avatar {
      width:32px; height:32px; border-radius:50%; background:rgb(0,61,76);
      color:rgb(236,232,26); font-size:12px; font-weight:700;
      display:flex; align-items:center; justify-content:center; flex-shrink:0;
    }
    .sidebar-user-name { font-size:13px; font-weight:600; color:#fff; }
    .sidebar-user-company { font-size:11.5px; color:rgba(255,255,255,.6); }
    .btn-logout {
      margin-left:auto; font-size:11px; color:rgba(255,255,255,.7); border:none; background:none;
      cursor:pointer; padding:4px 8px; border-radius:5px; transition:all .2s; font-family:inherit;
    }
    .btn-logout:hover { background:rgba(255,255,255,.15); color:#fff; }
    .chat-history-label {
      font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase;
      color:#fff; font-weight:700; margin-bottom:10px;
    }
    .chat-history-list { display:flex; flex-direction:column; gap:2px; }
    .chat-history-item {
      padding:7px 12px; border-radius:8px; cursor:pointer;
      border:1px solid transparent; transition:all .2s; background:rgba(255,255,255,.08);
    }
    .chat-history-item:hover { background:rgba(255,255,255,.2); border-color:rgba(255,255,255,.3); }
    .chat-history-item.active-chat { background:rgba(255,255,255,.25); border-color:rgba(255,255,255,.4); }
    .chi-name { font-size:12.5px; color:#fff; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .chi-time { font-size:11px; color:rgba(255,255,255,.5); margin-top:2px; }
    .chat-history-item { position:relative; }
    .chat-history-item .chi-row { display:flex; align-items:center; gap:6px; }
    .chat-history-item .chi-info { flex:1; min-width:0; }
    .chat-history-item .chi-pin-icon { flex-shrink:0; color:rgba(255,255,255,.5); font-size:11px; margin-right:2px; display:none; }
    .chat-history-item.pinned .chi-pin-icon { display:block; }
    .chat-history-item .chi-dots-btn {
      flex-shrink:0; width:22px; height:22px; border:none; background:transparent;
      color:rgba(255,255,255,.4); cursor:pointer; border-radius:4px; padding:0;
      display:flex; align-items:center; justify-content:center;
      opacity:0; transition:opacity .15s;
    }
    .chat-history-item:hover .chi-dots-btn { opacity:1; }
    .chat-history-item .chi-dots-btn:hover { background:rgba(255,255,255,.15); color:#fff; }
    .chi-dropdown {
      position:fixed; z-index:99999;
      background:#1a2e35; border:1px solid rgba(255,255,255,.18);
      border-radius:8px; min-width:140px; padding:4px 0;
      box-shadow:0 8px 24px rgba(0,0,0,.4); display:none;
      animation:chiDropIn .12s ease-out;
    }
    @keyframes chiDropIn { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
    .chi-dropdown.show { display:block; }
    .chi-dropdown-item {
      display:flex; align-items:center; gap:8px; padding:8px 14px;
      font-size:12.5px; color:#fff; cursor:pointer; transition:background .12s;
      border:none; background:none; width:100%; font-family:inherit; text-align:left;
    }
    .chi-dropdown-item:hover { background:rgba(255,255,255,.1); }
    .chi-dropdown-item svg { flex-shrink:0; }
    .chi-dropdown-item.delete-item { color:rgba(255,255,255,.55); }
    .chi-dropdown-item.delete-item:hover { color:#e57373; background:rgba(229,115,115,.1); }
    .chi-rename-input {
      background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3);
      border-radius:4px; color:#fff; font-size:12.5px; font-weight:500;
      padding:2px 6px; width:100%; font-family:inherit; outline:none;
    }
    .chi-rename-input:focus { border-color:rgba(255,255,255,.5); }
    .chat-history-empty { font-size:12.5px; color:rgba(255,255,255,.6); padding:10px 0; text-align:center; }
    .btn-new-chat {
      width:100%; padding:10px; border:1.5px solid rgba(255,255,255,.25);
      border-radius:8px; background:#fff; cursor:pointer;
      font-size:13px; font-weight:600; color:#003D4C; font-family:inherit;
      transition:all .2s; margin:10px 0 8px;
      display:flex; align-items:center; justify-content:center; gap:7px;
    }
    .btn-new-chat:hover { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.8); box-shadow:0 2px 8px rgba(0,0,0,.08); }

    
    .btn-login-nav {
      background:#fff; border:2px solid #003D4C;
      border-radius:360px; padding:9px 22px; color:#003D4C !important;
      font-size:14px; font-weight:600; cursor:pointer;
      transition:border-color .2s, background .2s !important; font-family:inherit;
      display:flex; align-items:center; gap:8px; letter-spacing:.2px;
    }
    .btn-login-nav:hover { background:#003D4C !important; color:#fff !important; }
    .user-badge-nav {
      display:flex; align-items:center; gap:8px; cursor:pointer;
      color:#003D4C !important; font-size:13px; font-weight:500;
      padding:6px 14px; border-radius:360px; text-decoration:none;
      background:rgba(0,61,76,.06); border:1px solid rgba(0,61,76,.15);
      transition:background .2s;
    }
    .user-badge-nav:hover { background:rgba(255,255,255,.18) !important; }
    .user-badge-avatar {
      width:26px; height:26px; border-radius:50%; background:rgb(236,232,26);
      color:rgb(0,61,76); font-size:11px; font-weight:700;
      display:flex; align-items:center; justify-content:center; flex-shrink:0;
    }

    
    .modal-overlay {
      position:fixed; inset:0; z-index:1000;
      background:rgba(0,0,0,.5); backdrop-filter:blur(4px);
      display:flex; align-items:center; justify-content:center; padding:24px;
    }
    .modal-box {
      background:#fff; border-radius:16px; width:500px; max-width:100%;
      max-height:90vh; overflow-y:auto;
      padding:28px 32px; box-shadow:0 24px 64px rgba(0,0,0,.2); position:relative;
    }
    .modal-close {
      position:absolute; top:16px; right:16px; border:none; background:none;
      cursor:pointer; color:#aaa; font-size:22px; line-height:1; padding:4px 8px;
      border-radius:6px; transition:background .2s, color .2s;
    }
    .modal-close:hover { background:#f0f0f0; color:#333; }
    .modal-title { font-size:20px; font-weight:700; color:rgb(0,61,76); margin-bottom:4px; }
    .modal-subtitle { font-size:13px; color:#888; margin-bottom:18px; }
    .form-row { margin-bottom:12px; }
    .form-row label { display:block; font-size:12px; font-weight:600; color:#555; margin-bottom:4px; letter-spacing:.3px; }
    .form-row input, .form-row select {
      width:100%; padding:9px 13px; border:1.5px solid #e0e0e0; border-radius:8px;
      font-size:14px; color:#1a1a1a; background:#fff; outline:none;
      transition:border-color .2s; font-family:inherit;
    }
    .form-row input:focus, .form-row select:focus { border-color:rgb(0,99,65); }
    .form-row .optional { color:#aaa; font-weight:400; font-size:11px; margin-left:4px; }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .btn-modal-submit {
      width:100%; padding:11px; background:rgb(0,61,76); color:#fff;
      border:none; border-radius:10px; font-size:14px; font-weight:600;
      cursor:pointer; margin-top:6px; transition:background .2s; font-family:inherit;
    }
    .btn-modal-submit:hover { background:rgb(0,80,100); }
    .modal-welcome { text-align:center; padding:20px 0; }
    .modal-welcome-avatar {
      width:52px; height:52px; border-radius:50%; background:rgb(0,61,76);
      color:rgb(236,232,26); font-size:18px; font-weight:700;
      display:flex; align-items:center; justify-content:center; margin:0 auto 14px;
    }
    .modal-welcome-name { font-size:18px; font-weight:700; color:rgb(0,61,76); margin-bottom:4px; }
    .modal-welcome-sub { font-size:13px; color:#888; margin-bottom:20px; }

    
    .chat-area { flex:1; display:flex; flex-direction:column; min-width:0; background:#f5f6f8; position:relative; overflow:hidden; }

    
    .chat-area.welcome-mode .chat-messages { flex:1; display:flex; align-items:center; justify-content:center; overflow:visible; padding-bottom:0; min-height:0; }
    .chat-area.welcome-mode .welcome-state { min-height:auto; padding-bottom:12px; }
    
    .chat-area.welcome-mode #skillsBar { display:none; }
    
    .welcome-skills { display:flex; align-items:center; gap:10px; padding:12px 0 4px; }
    .welcome-skills-label { font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase; color:rgba(0,61,76,.38); font-weight:700; flex-shrink:0; }

    
    .welcome-state .input-bar {
      border-top:none; background:transparent;
      padding:20px 0 4px; width:620px; max-width:100%;
    }
    .welcome-state .input-inner { max-width:none; margin:0; }

    .chat-messages {
      flex:1; overflow-y:auto; padding:32px 40px 36px;
      display:flex; flex-direction:column; gap:28px; align-items:center;
      min-width:0; max-width:100%;
    }
    .chat-messages::-webkit-scrollbar { width:4px; }
    .chat-messages::-webkit-scrollbar-thumb { background:#d0d0d0; border-radius:4px; }

    
    .welcome-state {
      display:flex; flex-direction:column; align-items:center;
      min-height:100%; text-align:center; padding:0 24px 0;
      justify-content:center; margin-top:-60px;
    }
    .welcome-sparkle { color:rgb(0,61,76); margin-bottom:14px; opacity:.85; }
    .welcome-state h2 {
      font-family:'IBM Plex Sans',sans-serif;
      font-size:34px; font-weight:700; color:rgb(0,61,76); line-height:1.1;
      margin-bottom:8px; letter-spacing:-.3px;
    }
    .welcome-state p {
      font-size:15px; color:#777; max-width:500px; line-height:1.6; margin-bottom:28px;
    }
    .welcome-prompts { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:620px; width:100%; margin-top:48px; }
    .welcome-prompt-card {
      padding:18px 22px; background:#fff;
      border:1.5px solid rgba(0,61,76,.1); border-radius:12px;
      cursor:pointer; text-align:left; transition:all .22s;
    }
    .welcome-prompt-card:hover {
      border-color:rgb(0,99,65);
      box-shadow:0 6px 24px rgba(0,61,76,.09); transform:translateY(-2px);
    }
    .wpc-tag {
      font-size:10px; letter-spacing:1.6px; text-transform:uppercase;
      color:rgb(0,99,65); font-weight:700; margin-bottom:10px;
    }
    .wpc-text { font-size:13.5px; color:#333; line-height:1.5; font-weight:500; }

    
    .msg-row { display:flex; gap:14px; max-width:820px; width:100%; min-width:0; }
    .msg-row.user { justify-content:flex-end; }
    .msg-row.ai { justify-content:flex-start; }

    .ai-avatar {
      width:34px; height:34px; border-radius:9px;
      display:flex; align-items:center; justify-content:center;
      flex-shrink:0; margin-top:3px; overflow:hidden;
    }
    .user-bubble {
      background:rgb(0,61,76); color:#fff; padding:14px 20px;
      border-radius:20px 20px 4px 20px; font-size:14px; line-height:1.6; max-width:560px;
    }
    .ai-bubble {
      background:#fff; padding:24px 28px;
      border-radius:4px 20px 20px 20px; font-size:14px; line-height:1.75; max-width:100%;
      box-shadow:0 2px 18px rgba(0,61,76,.07);
      overflow-wrap:break-word; word-break:break-word;
    }
    .ai-bubble p { margin-bottom:12px; }
    .ai-bubble p:last-child { margin-bottom:0; }
    .ai-bubble strong { color:rgb(0,61,76); }
    
    .inline-stats-row {
      display:flex; gap:0; margin:20px 0;
      border:1px solid rgba(0,61,76,.1); border-radius:10px; overflow:hidden;
    }
    .inline-stat {
      flex:1; padding:16px 20px; border-right:1px solid rgba(0,61,76,.08);
      display:flex; flex-direction:column; gap:3px; background:#fff;
    }
    .inline-stat:last-child { border-right:none; }
    .inline-stat-val {
      font-family:'IBM Plex Sans',system-ui,sans-serif;
      font-size:28px; font-weight:700; color:rgb(0,61,76); line-height:1;
    }
    .inline-stat-label { font-size:11.5px; color:#999; line-height:1.35; }
    
    .resp-section {
      font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase;
      color:rgba(0,61,76,.38); font-weight:700; margin:24px 0 12px;
      padding-bottom:8px; border-bottom:1px solid rgba(0,61,76,.07);
    }
    .followup-chips { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:4px; }
    .followup-chip {
      display:inline-block; padding:10px 20px; border:1.5px solid rgba(0,61,76,.15); border-radius:360px;
      font-size:13px; font-weight:500; cursor:pointer; color:rgb(0,61,76);
      background:rgba(0,61,76,.03); transition:all .2s; font-family:inherit;
      text-align:left; max-width:100%; white-space:normal; line-height:1.4;
    }
    .followup-chip:hover { background:rgb(0,61,76); color:#fff; border-color:rgb(0,61,76); }
    .ai-bubble ul { padding-left:20px; margin:10px 0; }
    .ai-bubble ul li { margin-bottom:5px; }

    
    .stats-bar {
      display:flex; gap:0; margin:20px 0;
      border:1px solid rgba(0,61,76,.1); border-radius:10px; overflow:hidden;
    }
    .stat-item { flex:1; padding:16px 20px; border-right:1px solid rgba(0,61,76,.08); }
    .stat-item:last-child { border-right:none; }
    .stat-val {
      font-family:'IBM Plex Sans',sans-serif;
      font-size:28px; font-weight:700; color:rgb(0,61,76); margin-bottom:3px; line-height:1;
    }
    .stat-label { font-size:11.5px; color:#999; line-height:1.35; }

    
    .resp-section {
      font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase;
      color:rgba(0,61,76,.38); font-weight:700; margin:24px 0 12px;
      padding-bottom:8px; border-bottom:1px solid rgba(0,61,76,.07);
    }

    
    .mm-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:4px 0 8px; }
    .mm-grid.single { grid-template-columns:1fr; }

    .mm-image-card { border-radius:10px; overflow:hidden; border:1px solid rgba(0,61,76,.1); }
    .mm-image-inner { background:rgb(0,61,76); }
    .mm-image-inner svg { display:block; width:100%; height:auto; }
    .mm-image-caption {
      padding:12px 16px; font-size:12px; color:#888; font-weight:500;
      background:#fff; border-top:1px solid rgba(0,61,76,.07);
    }

    
    .mm-link-card {
      display:flex; align-items:flex-start; gap:14px; padding:16px 18px;
      border:1.5px solid rgba(0,61,76,.1); border-radius:10px; background:#fff;
      text-decoration:none; color:inherit; transition:all .2s; cursor:pointer;
    }
    .mm-link-card:hover { border-color:rgb(0,99,65); box-shadow:0 4px 18px rgba(0,61,76,.08); }
    .mm-link-icon {
      width:36px; height:36px; border-radius:8px; background:rgba(0,61,76,.06);
      display:flex; align-items:center; justify-content:center;
      flex-shrink:0; color:rgb(0,61,76);
    }
    .mm-link-title { font-size:13px; font-weight:600; color:rgb(0,61,76); margin-bottom:4px; }
    .mm-link-desc { font-size:12px; color:#999; line-height:1.4; }
    .mm-link-tag {
      font-size:10.5px; color:rgb(0,135,85); font-weight:700;
      letter-spacing:.5px; text-transform:uppercase; margin-top:6px;
    }

    
    .mm-video-card {
      border-radius:10px; overflow:hidden; border:1.5px solid rgba(0,61,76,.1);
      background:#fff; cursor:pointer; text-decoration:none; color:inherit;
      display:block; transition:all .22s;
    }
    .mm-video-card:hover { box-shadow:0 8px 28px rgba(0,61,76,.1); transform:translateY(-2px); }
    .mm-video-thumb {
      background:rgb(0,61,76); height:136px;
      display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
    }
    .mm-video-thumb-bg { position:absolute; inset:0; width:100%; height:100%; opacity:.4; }
    .mm-video-play {
      width:52px; height:52px; background:rgb(236,232,26); border-radius:50%;
      display:flex; align-items:center; justify-content:center; z-index:1; color:rgb(0,61,76);
      box-shadow:0 4px 20px rgba(0,0,0,.3);
    }
    .mm-video-info { padding:14px 16px; }
    .mm-video-title { font-size:13px; font-weight:600; color:#1a1a1a; margin-bottom:5px; line-height:1.4; }
    .mm-video-meta { font-size:11px; color:#aaa; display:flex; align-items:center; gap:8px; }
    .mm-video-duration { background:#f0f0f0; padding:2px 8px; border-radius:4px; font-weight:600; color:#555; }

    
    .followup-chips { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:10px; }
    .followup-chip {
      display:inline-block; padding:10px 20px; border:1.5px solid rgba(0,61,76,.15); border-radius:360px;
      font-size:13px; font-weight:500; cursor:pointer; color:rgb(0,61,76);
      background:rgba(0,61,76,.03); transition:all .2s; text-align:left;
      white-space:nowrap; line-height:1.3;
    }
    .followup-chip:hover { background:rgb(0,61,76); color:#fff; border-color:rgb(0,61,76); }

    
    .typing-row { display:flex; gap:14px; align-items:flex-start; width:100%; max-width:820px; }
    .typing-bubble {
      background:#fff; padding:20px 24px; border-radius:4px 20px 20px 20px;
      box-shadow:0 2px 18px rgba(0,61,76,.07);
    }
    .typing-dots { display:flex; gap:5px; align-items:center; }
    .typing-dots span { width:7px; height:7px; background:#ccc; border-radius:50%; animation:bounce .9s ease-in-out infinite; }
    .typing-dots span:nth-child(2){ animation-delay:.2s; }
    .typing-dots span:nth-child(3){ animation-delay:.4s; }
    @keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }

    
    .chat-suggestion-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; max-width:660px; }
    .chat-chip {
      background:#fff; border:1.5px solid rgba(0,61,76,.15); border-radius:20px;
      padding:7px 15px; font-size:13px; color:rgb(0,61,76); cursor:pointer;
      font-family:'IBM Plex Sans',sans-serif; text-align:left; line-height:1.4;
      transition:all .18s; display:inline-block; width:auto;
    }
    .chat-chip:hover { border-color:rgb(0,99,65); background:rgba(0,99,65,.05); }
    .chat-chip.used { opacity:.4; pointer-events:none; }

    
    .input-bar { padding:18px 40px 10px; background:#f5f6f8; border-top:1px solid rgba(0,61,76,.07); }
    .ai-disclaimer { text-align:center; font-size:11px; color:rgba(0,61,76,.45); padding:4px 16px 8px; background:#f5f6f8; line-height:1.4; flex-shrink:0; }
    .ai-disclaimer a { color:rgba(0,61,76,.55); text-decoration:underline; }
    .input-inner {
      max-width:860px; margin:0 auto; display:flex; gap:10px; align-items:center;
      background:#fff; border:1.5px solid rgba(0,61,76,.14); border-radius:16px;
      padding:10px 14px 10px 18px; box-shadow:0 2px 20px rgba(0,61,76,.06); transition:border-color .2s, box-shadow .2s;
    }
    .input-inner:focus-within { border-color:rgb(0,99,65); box-shadow:0 4px 28px rgba(0,99,65,.1); }
    .input-textarea {
      flex:1; border:none; outline:none; font-size:16px; font-family:'IBM Plex Sans',sans-serif;
      resize:none; background:transparent; color:#1a1a1a; max-height:120px; line-height:1.5;
    }
    
    .input-textarea::placeholder { color:#c0c0c0; }
    .send-btn {
      background:rgb(0,61,76); color:rgb(236,232,26); border:none;
      width:40px; height:40px; border-radius:10px; cursor:pointer;
      display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .2s;
    }
    .send-btn:hover { background:rgb(0,99,65); }

    
    .attach-btn {
      background:none; border:none; cursor:pointer; padding:6px; color:rgba(0,61,76,.4);
      border-radius:7px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
      transition:color .2s, background .2s;
    }
    .attach-btn:hover { color:rgb(0,61,76); background:rgba(0,61,76,.06); }

    
    .attachment-strip {
      max-width:860px; margin:0 auto 8px; display:flex; flex-wrap:wrap; gap:6px;
    }
    .attachment-chip {
      display:inline-flex; align-items:center; gap:5px; background:#fff;
      border:1.5px solid rgba(0,99,65,.3); border-radius:20px;
      padding:4px 8px 4px 10px; font-size:12px; color:rgb(0,61,76);
    }
    .attachment-chip button {
      background:none; border:none; cursor:pointer; color:#bbb; font-size:15px;
      line-height:1; padding:0 1px; transition:color .15s;
    }
    .attachment-chip button:hover { color:#c0392b; }

    
    .drop-overlay {
      display:none; position:fixed; top:0; left:0; right:0; bottom:0;
      background:rgba(0,99,65,.15); z-index:9999;
      justify-content:center; align-items:center;
      pointer-events:none;
    }
    .drop-overlay.active { display:flex; }
    .drop-overlay-box {
      background:#fff; border:3px dashed #006948; border-radius:16px;
      padding:40px 60px; text-align:center; box-shadow:0 8px 32px rgba(0,0,0,.15);
    }
    .drop-overlay-box svg { margin-bottom:12px; }
    .drop-overlay-box h3 { margin:0 0 6px; color:#003d4c; font-size:18px; }
    .drop-overlay-box p { margin:0; color:#667; font-size:13px; }
    .input-footer { text-align:center; font-size:11px; color:#c4c4c4; margin-top:10px; letter-spacing:.2px; }

    
    .right-panel {
      width:300px; min-width:300px; background:#006341;
      border-left:none;
      display:flex; flex-direction:column; overflow:hidden;
      transition:width .28s ease, min-width .28s ease, border-color .28s ease;
    }
    .right-panel.collapsed { width:0; min-width:0; border-color:transparent; }
    .rp-drag-handle { display:none; }
    .right-panel-header {
      display:flex; align-items:center; gap:10px;
      padding:14px 24px 12px; min-width:300px; flex-shrink:0;
      border-bottom:1px solid rgba(255,255,255,.2);
    }
    .right-panel-label {
      font-size:10.5px; letter-spacing:1.8px; text-transform:uppercase;
      color:#fff; font-weight:700; flex:1;
    }
    .right-panel-toggle {
      display:flex; align-items:center; justify-content:center;
      width:30px; height:30px; border-radius:7px; border:none;
      background:transparent; cursor:pointer; color:#fff;
      padding:0; flex-shrink:0; transition:background .18s, color .18s;
    }
    .right-panel-toggle:hover { background:rgba(255,255,255,.15); color:#fff; }
    .right-panel-reopen {
      display:none; align-items:center; justify-content:center;
      position:absolute; top:14px; right:16px; z-index:10;
      width:32px; height:32px; border-radius:8px; border:1px solid rgba(0,61,76,.1);
      background:#fff; cursor:pointer; color:rgba(0,61,76,.5);
      padding:0; box-shadow:0 1px 6px rgba(0,61,76,.08);
      transition:background .18s, color .18s;
    }
    .right-panel-reopen:hover { background:rgba(0,61,76,.04); color:rgb(0,61,76); }
    
    @keyframes rp-pulse-attention {
      0%   { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 0 rgba(0,135,85,.9);   transform:scale(1);    background:#fff; }
      15%  { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 5px rgba(0,135,85,.7); transform:scale(1.06); background:#EEF8F2; }
      40%  { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 16px rgba(0,135,85,0); transform:scale(1.11); background:#fff;    }
      70%  { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 0 rgba(0,135,85,0);    transform:scale(1);    background:#fff; }
      100% { box-shadow:0 2px 6px rgba(0,0,0,.12), 0 0 0 0 rgba(0,135,85,0);    transform:scale(1);    background:#fff; }
    }
    .right-panel-reopen.pulse-attention,
    .sidebar-reopen.pulse-attention {
      animation: rp-pulse-attention 1.2s ease-out 3 both;
      background:#fff !important;
      border:2px solid #008755 !important;
      color:#008755 !important;
    }
    
    .chat-area:has(.right-panel-reopen.pulse-attention) { overflow:visible; }
    .chat-area:has(.sidebar-reopen.pulse-attention)     { overflow:visible; }
    .right-panel-inner {
      flex:1; overflow-y:auto; min-width:300px; padding:0 20px 24px;
    }
    .right-panel-inner::-webkit-scrollbar { width:3px; }
    .right-panel-inner::-webkit-scrollbar-thumb { background:#e0e0e0; border-radius:3px; }
    .right-panel-empty {
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      padding:40px 12px; text-align:center; gap:14px; margin-top:16px;
    }
    .right-panel-empty-icon { color:rgba(255,255,255,.4); }
    .right-panel-empty p { font-size:12px; line-height:1.6; color:rgba(255,255,255,.7); }
    .rp-section {
      font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase;
      color:#fff; font-weight:700; margin:8px 0 8px;
      padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.2);
    }
    
    .rp-image-card { border-radius:10px; overflow:hidden; border:1px solid rgba(255,255,255,.2); margin-bottom:4px; }
    .rp-image-inner { background:rgb(0,61,76); }
    .rp-image-inner svg { display:block; width:100%; height:auto; }
    .rp-image-caption { padding:10px 14px; font-size:11.5px; color:#888; font-weight:500; background:#fff; border-top:1px solid rgba(0,61,76,.07); }
    .rp-link-card {
      display:flex; align-items:flex-start; gap:12px; padding:13px 14px;
      border:1.5px solid rgba(255,255,255,.2); border-radius:10px; background:#fff;
      text-decoration:none; color:inherit; transition:all .2s; cursor:pointer; margin-bottom:8px;
    }
    .rp-link-card:hover { border-color:rgba(0,99,65,.3); background:#fff; box-shadow:0 3px 12px rgba(0,0,0,.1); }
    .rp-link-icon {
      width:32px; height:32px; border-radius:7px; background:rgba(0,61,76,.06);
      display:flex; align-items:center; justify-content:center; flex-shrink:0; color:rgb(0,61,76);
    }
    .rp-link-title { font-size:12px; font-weight:600; color:rgb(0,61,76); margin-bottom:3px; }
    .rp-link-desc { font-size:11px; color:#999; line-height:1.4; }
    .rp-link-tag { font-size:10px; color:rgb(0,135,85); font-weight:700; letter-spacing:.5px; text-transform:uppercase; margin-top:5px; }
    .rp-video-card {
      border-radius:10px; overflow:hidden; border:1.5px solid rgba(255,255,255,.2);
      background:#fff; cursor:pointer; text-decoration:none; color:inherit;
      display:block; transition:all .22s;
    }
    .rp-video-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.15); transform:translateY(-1px); border-color:rgba(255,255,255,.5); }
    .rp-video-thumb {
      background:rgb(0,61,76); height:130px;
      display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
    }
    .rp-video-play {
      width:40px; height:40px; background:rgb(236,232,26); border-radius:50%;
      display:flex; align-items:center; justify-content:center; z-index:1; color:rgb(0,61,76);
      box-shadow:0 4px 16px rgba(0,0,0,.3);
    }
    .rp-video-info { padding:10px 12px; }
    .rp-video-title { font-size:13px; font-weight:600; color:#1a1a1a; margin-bottom:3px; line-height:1.35; }
    .rp-video-meta { font-size:11px; color:#888; display:flex; align-items:center; gap:7px; }
    .rp-video-duration { background:#f0f0f0; padding:2px 8px; border-radius:4px; font-weight:600; color:#555; font-size:11px; }

    
    .visual-lightbox-overlay {
      position:fixed; inset:0; z-index:2000;
      background:rgba(0,0,0,.72); display:flex; align-items:center; justify-content:center;
      padding:32px; cursor:pointer;
    }
    .visual-lightbox-box {
      background:#fff; border-radius:16px; max-width:900px; width:100%;
      padding:28px 28px 22px; cursor:default; position:relative;
      box-shadow:0 24px 80px rgba(0,0,0,.35);
    }
    .visual-lightbox-close {
      position:absolute; top:14px; right:14px; width:32px; height:32px; z-index:10;
      border:none; background:rgba(255,255,255,.92); border-radius:8px; cursor:pointer;
      display:flex; align-items:center; justify-content:center; color:rgb(0,61,76);
      font-size:18px; line-height:1; transition:background .15s;
      box-shadow:0 1px 6px rgba(0,0,0,.15);
    }
    .visual-lightbox-close:hover { background:rgba(0,61,76,.15); }
    .visual-lightbox-inner { width:100%; display:flex; justify-content:center; }
    .visual-lightbox-inner svg { width:100%; height:auto; max-height:480px; }
    .visual-lightbox-inner img { max-width:100%; height:auto; max-height:80vh; object-fit:contain; border-radius:8px; }
    .visual-lightbox-caption {
      margin-top:14px; font-size:13px; color:#666; text-align:center; line-height:1.5;
    }

    
    .rp-image-card { cursor:pointer; transition:box-shadow .18s; }
    .rp-image-card:hover { box-shadow:0 4px 18px rgba(0,61,76,.14); }
    .rp-image-expand-hint {
      font-size:11px; color:rgba(255,255,255,.7); text-align:center;
      padding:6px 0 4px; display:flex; align-items:center; justify-content:center; gap:4px;
    }

    
    .video-lightbox-overlay {
      position:fixed; inset:0; z-index:2000;
      background:rgba(255,255,255,.55); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
      display:flex; align-items:center; justify-content:center;
      padding:40px; cursor:pointer;
    }
    .video-lightbox-box {
      background:#fff; border-radius:16px; max-width:800px; width:100%;
      cursor:default; position:relative; overflow:hidden;
      box-shadow:0 20px 60px rgba(0,61,76,.2), 0 0 0 1px rgba(0,61,76,.08);
    }
    .video-lightbox-close {
      position:absolute; top:10px; right:10px; width:36px; height:36px; z-index:10;
      border:none; background:rgba(0,0,0,.6); border-radius:50%; cursor:pointer;
      display:flex; align-items:center; justify-content:center; color:#fff;
      font-size:18px; line-height:1; transition:all .15s;
      box-shadow:0 2px 10px rgba(0,0,0,.3);
    }
    .video-lightbox-close:hover { background:rgba(0,0,0,.85); }
    .video-lightbox-iframe { width:100%; aspect-ratio:16/9; border:none; display:block; }
    .video-lightbox-footer {
      background:#f8f9fa; padding:12px 16px; display:flex; align-items:center; justify-content:space-between;
      border-top:1px solid rgba(0,61,76,.08);
    }
    .video-lightbox-title { color:rgb(0,61,76); font-size:14px; font-weight:600; line-height:1.3; }
    .video-lightbox-meta { color:#888; font-size:12px; display:flex; align-items:center; gap:8px; }
    .video-lightbox-duration { background:rgba(0,61,76,.08); color:rgb(0,61,76); padding:2px 8px; border-radius:4px; font-weight:600; font-size:11px; }

    
    .source-ref {
      display:inline-flex; align-items:center; justify-content:center;
      background:rgba(0,61,76,.08); color:rgb(0,61,76); font-size:10.5px; font-weight:700;
      min-width:18px; height:18px; border-radius:50%; cursor:pointer;
      vertical-align:super; margin:0 2px; transition:all .15s;
      text-decoration:none; line-height:1; position:relative; top:-2px;
      padding:0 1px;
    }
    .source-ref:hover { background:rgb(0,61,76); color:#fff; }

    
    .source-preview-float {
      position:fixed; z-index:9999; background:#fff; border-radius:10px;
      box-shadow:0 8px 30px rgba(0,61,76,.18), 0 0 0 1px rgba(0,61,76,.06);
      min-width:200px; max-width:260px; overflow:hidden;
      pointer-events:none; opacity:0; transition:opacity .15s;
    }
    .source-preview-float.visible { opacity:1; pointer-events:auto; }
    .source-preview-float .sp-thumb {
      width:100%; height:100px; background:rgb(0,61,76); position:relative; overflow:hidden;
    }
    .source-preview-float .sp-thumb img { width:100%; height:100%; object-fit:cover; }
    .source-preview-float .sp-play {
      position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    }
    .source-preview-float .sp-play svg { color:rgb(236,232,26); filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)); }
    .source-preview-float .sp-info { padding:8px 10px; }
    .source-preview-float .sp-title {
      font-size:12px; font-weight:700; color:#0d3d56; margin-bottom:3px;
      line-height:1.3; max-height:2.6em; overflow:hidden;
      display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
    }
    .source-preview-float .sp-type {
      font-size:9.5px; text-transform:uppercase; letter-spacing:1px; font-weight:700;
      color:rgb(0,61,76); margin-bottom:2px;
    }
    .source-preview-float .sp-url {
      font-size:10.5px; color:#999; word-break:break-all; line-height:1.3;
      max-height:28px; overflow:hidden;
    }

    
    .inline-video-card {
      display:inline-flex; align-items:center; gap:10px; cursor:pointer;
      background:#fff; border:1.5px solid rgba(0,61,76,.12); border-radius:12px;
      padding:6px 14px 6px 6px; margin:6px 0; transition:all .2s;
      max-width:320px;
    }
    .inline-video-card:hover { border-color:rgba(0,61,76,.3); box-shadow:0 4px 14px rgba(0,61,76,.1); }
    .inline-video-thumb {
      width:80px; height:50px; border-radius:8px; overflow:hidden;
      position:relative; flex-shrink:0; background:rgb(0,61,76);
    }
    .inline-video-thumb img { width:100%; height:100%; object-fit:cover; }
    .inline-video-play {
      position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
      background:rgba(0,0,0,.25);
    }
    .inline-video-play svg { color:rgb(236,232,26); }
    .inline-video-card:hover .inline-video-play { background:rgba(0,0,0,.4); }
    .inline-video-label {
      font-size:12px; font-weight:600; color:rgb(0,61,76); white-space:nowrap;
    }

    
    .btn-new-chat-guest {
      width:100%; padding:10px; border:1.5px solid rgba(255,255,255,.25);
      border-radius:8px; background:#fff; cursor:pointer;
      font-size:13px; font-weight:600; color:#003D4C; font-family:inherit;
      transition:all .2s; margin:10px 0 0;
      display:flex; align-items:center; justify-content:center; gap:7px;
    }
    .btn-new-chat-guest:hover { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.8); box-shadow:0 2px 8px rgba(0,0,0,.08); }

    
    .save-prompt-box {
      background:#fff; border-radius:16px; width:420px; max-width:100%;
      padding:32px 36px; box-shadow:0 24px 64px rgba(0,0,0,.22); position:relative; text-align:center;
    }
    .save-prompt-icon {
      width:52px; height:52px; border-radius:50%; background:rgba(0,61,76,.07);
      display:flex; align-items:center; justify-content:center; margin:0 auto 18px;
      color:rgb(0,61,76);
    }
    .save-prompt-title { font-size:18px; font-weight:700; color:rgb(0,61,76); margin-bottom:8px; }
    .save-prompt-sub { font-size:13.5px; color:#888; line-height:1.55; margin-bottom:24px; }
    .save-prompt-btns { display:flex; flex-direction:column; gap:10px; }
    .btn-save-login {
      width:100%; padding:13px; background:rgb(0,61,76); color:#fff;
      border:none; border-radius:10px; font-size:14px; font-weight:600;
      cursor:pointer; transition:background .2s; font-family:inherit;
    }
    .btn-save-login:hover { background:rgb(0,80,100); }
    .btn-continue-nosave {
      width:100%; padding:11px; background:transparent; color:#aaa;
      border:1.5px solid #e8e8e8; border-radius:10px; font-size:13px; font-weight:500;
      cursor:pointer; transition:all .2s; font-family:inherit;
    }
    .btn-continue-nosave:hover { border-color:#ccc; color:#666; }

    
    .user-bubble-attachments {
      display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; padding-top:8px;
      border-top:1px solid rgba(255,255,255,.18);
    }
    .user-attach-tag {
      display:inline-flex; align-items:center; gap:4px;
      background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25);
      border-radius:20px; padding:3px 9px; font-size:11px; color:rgba(255,255,255,.9);
    }

     }
    .log-entry {
      margin:4px 0; padding:6px 8px; border-left:3px solid #4ec9b0;
      background:rgba(78,201,176,.08); border-radius:2px;
    }
    .log-entry.request { border-left-color:#569cd6; background:rgba(86,156,214,.08); }
    .log-entry.response { border-left-color:#ce9178; background:rgba(206,145,120,.08); }
    .log-entry.chunk { border-left-color:#b5cea8; background:rgba(181,206,168,.06); font-size:11px; }
    .log-entry.error { border-left-color:#f48771; background:rgba(244,135,113,.08); }
    .log-entry.warning { border-left-color:#dcdcaa; background:rgba(220,220,170,.08); }
    .log-time { color:#858585; font-size:10.5px; }
    .log-label { color:#4ec9b0; font-weight:600; }
    .log-data { color:#ce9178; word-break:break-all; margin-top:2px; font-size:11px; }
    .log-clear-btn {
      background:#006948; color:#fff; border:none; padding:4px 10px;
      border-radius:3px; cursor:pointer; font-size:11px; font-family:inherit;
    }
    .log-clear-btn:hover { background:#008755; }

    
    .log-settings-btn {
      background:#444; color:#d4d4d4; border:none;
      padding:4px 7px; border-radius:3px; cursor:pointer; font-size:15px;
      line-height:1; transition:all .2s;
    }
    .log-settings-btn:hover { background:#555; transform:scale(1.1); }
    .log-settings-panel {
      background:#252525; border:1px solid #444; border-radius:6px;
      padding:12px; margin-bottom:10px;
    }
    .log-settings-row { margin-bottom:8px; }
    .log-settings-label {
      display:block; font-size:11px; color:#4ec9b0; font-weight:600; margin-bottom:3px;
    }
    .log-settings-select {
      width:100%; background:#1e1e1e; border:1px solid #555; border-radius:4px;
      color:#d4d4d4; padding:6px 8px; font-size:12px; font-family:inherit; outline:none;
      cursor:pointer;
    }
    .log-settings-select:focus { border-color:#dcdcaa; }
    .log-settings-select option { background:#1e1e1e; color:#d4d4d4; }
    .log-settings-save {
      background:#4ec9b0; color:#1e1e1e; border:none; padding:6px 14px;
      border-radius:4px; cursor:pointer; font-size:12px; font-weight:700;
      font-family:inherit; transition:all .2s;
    }
    .log-settings-save:hover { filter:brightness(1.15); }
    .log-settings-save:disabled { opacity:.4; cursor:default; }
    .log-settings-refresh {
      background:#333; color:#d4d4d4; border:1px solid #555; padding:6px 10px;
      border-radius:4px; cursor:pointer; font-size:11px; font-family:inherit;
    }
    .log-settings-refresh:hover { background:#444; }

    
    .log-query-btn {
      background:linear-gradient(135deg,#dcdcaa,#ce9178); color:#1e1e1e; border:none;
      padding:4px 10px; border-radius:3px; cursor:pointer; font-size:11px;
      font-family:inherit; font-weight:700; transition:all .2s;
    }
    .log-query-btn:hover { filter:brightness(1.15); transform:scale(1.03); }
    .log-query-panel {
      background:#252525; border:1px solid #444; border-radius:6px;
      padding:12px; margin-bottom:10px;
    }
    .log-query-header {
      display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;
    }
    .log-query-close {
      background:none; border:none; color:#858585; font-size:18px; cursor:pointer; padding:0 4px;
    }
    .log-query-close:hover { color:#fff; }
    .log-query-stats {
      display:flex; gap:12px; flex-wrap:wrap; margin-bottom:10px; font-size:11px;
    }
    .log-query-stat {
      background:#333; border-radius:4px; padding:4px 10px; color:#d4d4d4;
    }
    .log-query-stat strong { color:#4ec9b0; }
    .log-query-input-row { display:flex; gap:6px; margin-bottom:10px; }
    .log-query-input {
      flex:1; background:#1e1e1e; border:1px solid #555; border-radius:4px;
      color:#d4d4d4; padding:6px 10px; font-size:12px; font-family:inherit;
      outline:none;
    }
    .log-query-input:focus { border-color:#4ec9b0; }
    .log-query-run {
      background:#4ec9b0; color:#1e1e1e; border:none; padding:6px 14px;
      border-radius:4px; cursor:pointer; font-size:12px; font-weight:700;
      font-family:inherit; transition:all .2s;
    }
    .log-query-run:hover { filter:brightness(1.15); }
    .log-query-run:disabled { opacity:.5; cursor:wait; }
    .log-query-results {
      max-height:200px; overflow-y:auto; font-size:12px; line-height:1.6;
    }
    .log-query-results .query-answer {
      background:#1e1e1e; border-left:3px solid #4ec9b0; padding:8px 12px;
      border-radius:3px; color:#d4d4d4; white-space:pre-wrap;
    }
    .log-query-results .query-error {
      background:#1e1e1e; border-left:3px solid #f48771; padding:8px 12px;
      border-radius:3px; color:#f48771;
    }
    .log-query-results .query-loading {
      color:#858585; font-style:italic; padding:8px;
    }
    .log-query-recent {
      margin-top:8px; font-size:11px;
    }
    .log-query-recent-title { color:#858585; margin-bottom:4px; }
    .log-query-recent-item {
      color:#569cd6; cursor:pointer; padding:2px 0;
    }
    .log-query-recent-item:hover { text-decoration:underline; }

    
    .log-build-btn {
      background:linear-gradient(135deg,#569cd6,#4ec9b0); color:#1e1e1e; border:none;
      padding:4px 10px; border-radius:3px; cursor:pointer; font-size:11px;
      font-family:inherit; font-weight:700; transition:all .2s;
    }
    .log-build-btn:hover { filter:brightness(1.15); transform:scale(1.03); }
    .log-build-btn:disabled { opacity:.5; cursor:wait; }
    .log-build-btn .build-icon { display:inline-block; margin-right:4px; }

    
    .log-build-output {
      margin-top:8px; padding:8px; background:#252525; border-radius:4px;
      border:1px solid #333; display:none;
    }
    .log-build-output.visible { display:block; }
    .log-build-output pre {
      margin:0; color:#d4d4d4; font-size:11px; line-height:1.5;
      white-space:pre-wrap; word-break:break-all;
    }
    .log-build-output .build-success { color:#4ec9b0; font-weight:700; }
    .log-build-output .build-error { color:#f48771; font-weight:700; }
    .log-build-output .build-file { color:#569cd6; }
    .log-build-output .build-path { color:#ce9178; }

    

    
    @media (max-width: 1100px) {
      .topbar-logo img { height:80px !important; }
      
      .topbar-nav-inline a:nth-child(n+2) { display:none !important; }
      .topbar-nav-sep { display:none !important; }
      
      .topbar-right { gap:8px !important; }
      .btn-demo { padding:7px 14px !important; font-size:13px !important; white-space:nowrap; }
    }

    
    @media (max-width: 1200px) {
      .sidebar { width:0; min-width:0; padding:0; border-color:transparent; overflow:hidden;
        position:fixed !important; top:150px; left:0; bottom:0;
        z-index:200; box-shadow:4px 0 24px rgba(0,0,0,.15);
        transition:width .28s ease, min-width .28s ease, padding .28s ease;
      }
      .sidebar.mobile-open {
        width:280px !important; min-width:280px !important;
        padding:10px 18px 8px !important; overflow-y:auto;
      }
      
      .sidebar-reopen {
        display:flex !important; position:fixed !important;
        top:188px; left:8px; z-index:250 !important;
        width:36px; height:36px;
        background:rgba(255,255,255,.95) !important;
        
        box-shadow:0 2px 8px rgba(0,0,0,.12);
        border-radius:8px !important;
      }
      
      .right-panel { width:280px; min-width:280px; overflow:hidden; }
      .right-panel-reopen {
        position:fixed !important; top:188px; right:8px; z-index:250 !important;
        width:36px; height:36px;
        background:rgba(255,255,255,.95) !important;
        box-shadow:0 2px 8px rgba(0,0,0,.12);
        border-radius:8px !important;
      }
      .right-panel-inner { min-width:0 !important; }
      .right-panel-header { min-width:0 !important; }
      .topbar { padding:0 16px; }
      .topbar-nav-inline a:nth-child(n+4) { display:none; }
      .topbar-nav-sep:nth-child(n+4) { display:none; }
      .topbar-right { gap:12px; }
    }

    
    @media (max-width: 768px) {
      .right-panel {
        position:fixed !important; top:auto !important; right:auto !important;
        bottom:0 !important; left:0 !important;
        width:100% !important; min-width:100% !important;
        height:0 !important; max-height:85vh;
        border-color:transparent; overflow:hidden;
        z-index:200; border-radius:16px 16px 0 0;
        border-top:1px solid rgba(0,61,76,.1);
        box-shadow:0 -4px 24px rgba(0,0,0,.12);
        transition:height .28s ease !important;
        background:#fff;
      }
      .right-panel.mobile-open { height:45vh !important; overflow-y:auto; }
      
      .right-panel .rp-drag-handle {
        display:block; width:100%; padding:10px 0 8px; cursor:grab; text-align:center; flex-shrink:0;
        -webkit-tap-highlight-color:transparent; touch-action:none;
      }
      .right-panel .rp-drag-handle::after {
        content:''; display:block; width:60px; height:5px;
        background:rgba(0,61,76,.35); border-radius:3px; margin:0 auto;
      }
      .right-panel .rp-drag-handle:active::after { background:rgba(0,61,76,.55); }
      .right-panel-inner { min-width:0 !important; padding-top:4px !important; }
      .right-panel-header { min-width:0 !important; border:none !important; padding:8px 16px 6px !important; }
      
      .right-panel.mobile-open .right-panel-header {
        position:absolute !important; top:4px; right:8px; z-index:5;
        padding:0 !important; border:none !important; background:transparent !important;
        height:auto !important; min-width:0 !important; width:auto !important;
      }
      .right-panel.mobile-open .right-panel-label { display:none !important; }
      .right-panel.mobile-open .right-panel-toggle {
        position:relative;
        width:34px !important; height:34px !important; border-radius:50% !important;
        background:rgba(0,61,76,.08) !important; color:rgba(0,61,76,.75) !important;
        border:none !important;
      }
      .right-panel.mobile-open .right-panel-toggle:hover {
        background:rgba(0,61,76,.14) !important; color:rgba(0,61,76,1) !important;
      }
      
      .right-panel.mobile-open .right-panel-toggle svg { display:none !important; }
      .right-panel.mobile-open .right-panel-toggle::before,
      .right-panel.mobile-open .right-panel-toggle::after {
        content:''; position:absolute; left:50%; top:50%;
        width:16px; height:2px; background:currentColor; border-radius:1px;
      }
      .right-panel.mobile-open .right-panel-toggle::before {
        transform:translate(-50%,-50%) rotate(45deg);
      }
      .right-panel.mobile-open .right-panel-toggle::after {
        transform:translate(-50%,-50%) rotate(-45deg);
      }
      
      .right-panel-reopen {
        display:flex !important; position:fixed !important;
        top:88px; right:8px; z-index:250 !important;
        width:36px; height:36px;
        background:rgba(255,255,255,.95) !important;
        
        box-shadow:0 2px 8px rgba(0,0,0,.12);
        border-radius:8px !important;
      }
      
      .sidebar-reopen {
        top:88px !important;
      }

    
    @media (max-width: 768px) {
      
      .topbar { padding:0 16px; height:56px; }
      .topbar-logo img { height:26px !important; }
      .topbar-nav-inline a { display:none !important; }
      .topbar-nav-inline .topbar-nav-sep { display:none !important; }
      .topbar-nav-inline .topbar-ai-exit { display:inline-flex !important; }
      .topbar-right { gap:12px; }
      .topbar-right a { font-size:12px; }
      .topbar-divider { display:none; }
      .topbar-more-btn { display:none !important; }
      .topbar-ai-exit { font-size:12px !important; padding:5px 12px !important; }

      
      .layout { height:calc(100vh - 56px); }

      
      .sidebar.mobile-open { width:70% !important; min-width:0 !important; max-width:260px !important; }

      

      

      
      .chat-messages { padding:20px 16px 24px !important; gap:20px !important; }
      .msg-row { gap:10px !important; }
      .ai-bubble { padding:16px 18px !important; font-size:13.5px !important; border-radius:4px 16px 16px 16px !important; }
      .user-bubble { padding:12px 16px !important; font-size:13.5px !important; border-radius:16px 16px 4px 16px !important; }
      .ai-avatar { width:28px !important; height:28px !important; min-width:28px; border-radius:7px !important; }
      .ai-avatar svg { width:15px !important; height:15px !important; }

      
      .input-bar { padding:10px 12px 16px !important; }
      .input-inner { border-radius:14px !important; padding:8px 10px 8px 14px !important; }
      
      .input-textarea { font-size:16px !important; }
      .send-btn { width:36px !important; height:36px !important; border-radius:9px !important; }

      
      .skills-bar { padding:0 16px 12px !important; }
      .skills-bar-label { font-size:9.5px !important; }
      .skill-chip { font-size:11px !important; padding:6px 10px !important; }

      
      .welcome-state h2 { font-size:24px !important; }
      .welcome-state p { font-size:13px !important; }
      .welcome-sparkle { width:56px !important; height:56px !important; }
      .welcome-sparkle svg { width:28px !important; height:28px !important; }
      .welcome-prompts { grid-template-columns:1fr !important; max-width:100% !important; gap:10px !important; }
      .welcome-prompt-card { padding:14px 16px !important; }
      .welcome-prompt-card .wp-title { font-size:12px !important; }
      .welcome-prompt-card .wp-desc { font-size:11px !important; }
      .welcome-state .input-bar { width:100% !important; padding:16px 0 4px !important; }

      
      .inline-stats-row { flex-wrap:wrap !important; gap:8px !important; }
      .inline-stat { min-width:calc(50% - 4px) !important; flex:1 1 calc(50% - 4px) !important; }

      
      .followup-chips { flex-wrap:wrap !important; }
      .followup-chip { font-size:12px !important; }

      
      .chat-suggestion-chips { flex-wrap:wrap !important; }
      .chat-chip { font-size:12px !important; padding:8px 14px !important; }

      
      .source-ref { width:18px !important; height:18px !important; font-size:9.5px !important; }

      
      .modal-overlay { padding:0 !important; align-items:flex-end !important; }
      .modal-box {
        width:100% !important; max-width:100% !important;
        border-radius:16px 16px 0 0 !important;
        padding:28px 24px !important;
        max-height:92vh !important;
      }
      .form-grid { grid-template-columns:1fr !important; gap:8px !important; }

      
      .video-lightbox-overlay { padding:12px !important; }
      .video-lightbox-box { border-radius:12px !important; }

      
      .visual-lightbox-overlay { padding:12px !important; }
      .visual-lightbox-box { padding:16px 16px 12px !important; border-radius:12px !important; }

      
      .rp-video-thumb { height:100px !important; }
      .rp-link-card { padding:10px 12px !important; }

      
      .typing-bubble { padding:10px 16px !important; }
    }

    
    @media (max-width: 480px) {
      .topbar { padding:0 12px; }
      .sidebar.mobile-open { width:85% !important; min-width:0 !important; max-width:300px !important; }
      .chat-messages { padding:16px 12px 20px !important; }
      .ai-bubble { padding:14px 16px !important; max-width:100% !important; }
      .input-bar { padding:8px 8px 12px !important; }
      .welcome-state { padding:12px 12px 20px !important; }
      .welcome-state h2 { font-size:20px !important; }
      .modal-box { padding:24px 18px !important; }
    }

    
    @media (min-width: 1800px) {
      .topbar { padding:0 48px; }
      .sidebar { width:340px; min-width:340px; padding:18px 28px 0; }
      .right-panel { width:380px; min-width:380px; }
      .right-panel-inner { padding:0 24px 28px; }
      .msg-row { max-width:1000px; }
      .typing-row { max-width:1000px; }
      .ai-bubble { font-size:15.5px; padding:28px 32px; }
      .user-bubble { font-size:15.5px; padding:16px 22px; max-width:660px; }
      .chat-messages { padding:36px 48px 40px; gap:32px; }
      .chi-name { font-size:13.5px; }
      .chi-time { font-size:12px; }
      .chat-history-label { font-size:11px; letter-spacing:2px; }
      .btn-new-chat { font-size:13.5px; padding:12px; }
      .sidebar-section-label { font-size:11px; }
      .input-bar textarea { font-size:16px; } 
      .welcome-state h2 { font-size:30px; }
      .welcome-state p { font-size:15px; }
      .followup-chip { font-size:14px; padding:10px 18px; }
      .chat-chip { font-size:14px; padding:9px 18px; }
      .rp-section-title { font-size:11.5px; }
    }

    
    @media (min-width: 2400px) {
      .topbar { padding:0 60px; }
      .sidebar { width:400px; min-width:400px; padding:22px 32px 0; }
      .right-panel { width:460px; min-width:460px; }
      .right-panel-inner { padding:0 28px 32px; }
      .msg-row { max-width:1200px; }
      .typing-row { max-width:1200px; }
      .ai-bubble { font-size:16.5px; padding:32px 36px; }
      .user-bubble { font-size:16.5px; padding:18px 24px; max-width:760px; }
      .chat-messages { padding:44px 56px 48px; gap:36px; }
      .chi-name { font-size:14.5px; }
      .chi-time { font-size:12.5px; }
      .btn-new-chat { font-size:14.5px; padding:14px; }
      .input-bar textarea { font-size:16px; }
      .welcome-state h2 { font-size:34px; }
      .followup-chip { font-size:15px; padding:12px 20px; }
      .chat-chip { font-size:15px; padding:10px 20px; }
    }

  

body{font-family:Calibri,Arial,sans-serif;font-size:11pt;line-height:1.6;margin:2.5cm;color:#1a1a1a}
h1{font-size:22pt;color:#003D4C;margin-bottom:4pt;padding-bottom:8pt;border-bottom:3pt solid #003D4C}
h2{font-size:13pt;color:#006341;margin-top:20pt;margin-bottom:6pt;padding-left:10pt;border-left:4pt solid #ECE81A}
p{margin:5pt 0}strong{color:#003D4C}
.meta{font-size:10pt;color:#888;margin-bottom:24pt}
.footer{font-size:9pt;color:#aaa;margin-top:36pt;padding-top:8pt;border-top:1pt solid #ddd}