:root{--ai-v354-border:rgba(100,116,139,.22);--ai-v354-soft:rgba(148,163,184,.09);--ai-v354-panel:#fff;--ai-v354-text:#0f172a;--ai-v354-muted:#64748b;--ai-v354-accent:#111827}
html[data-theme="dark"]{--ai-v354-border:rgba(148,163,184,.22);--ai-v354-soft:rgba(255,255,255,.055);--ai-v354-panel:#080808;--ai-v354-text:#f5f5f5;--ai-v354-muted:#a3a3a3;--ai-v354-accent:#f5f5f5}
.ai-route-page-v354{overflow:hidden!important}.ai-page-content-v354{padding:0!important;overflow:hidden!important;max-width:none!important}.ai-shell-v354{display:grid;grid-template-columns:250px minmax(0,1fr);height:calc(100dvh - 82px);min-height:520px;background:var(--ai-v354-panel);border:1px solid var(--ai-v354-border);border-radius:18px;overflow:hidden}.ai-history-pane-v354{display:flex;flex-direction:column;min-width:0;background:var(--ai-v354-soft);border-right:1px solid var(--ai-v354-border);padding:12px}.ai-history-head-v354{display:flex;align-items:center;justify-content:space-between;height:40px}.ai-history-head-v354>div{display:flex;align-items:center;gap:8px;color:var(--ai-v354-text)}.ai-history-head-v354 .material-symbols-rounded{font-size:20px}.ai-icon-v354{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--ai-v354-text);display:grid;place-items:center;cursor:pointer}.ai-icon-v354:hover{background:var(--ai-v354-soft)}.ai-new-chat-v354{margin-top:8px;height:40px;border:1px solid var(--ai-v354-border);border-radius:11px;background:var(--ai-v354-panel);color:var(--ai-v354-text);display:flex;align-items:center;justify-content:center;gap:7px;font-weight:700;cursor:pointer}.ai-history-label-v354{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ai-v354-muted);font-weight:800;margin:17px 5px 7px}.ai-history-list-v354{display:flex;flex-direction:column;gap:4px;overflow:auto;min-height:0}.ai-history-empty-v354{padding:12px 7px;color:var(--ai-v354-muted);font-size:13px}.ai-history-row-v354{position:relative;width:100%;border:0;background:transparent;color:var(--ai-v354-text);border-radius:10px;padding:9px 34px 9px 9px;text-align:left;cursor:pointer}.ai-history-row-v354:hover,.ai-history-row-v354.active{background:var(--ai-v354-panel);box-shadow:inset 0 0 0 1px var(--ai-v354-border)}.ai-history-copy-v354{display:grid;gap:2px;min-width:0}.ai-history-copy-v354 strong,.ai-history-copy-v354 small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-history-copy-v354 strong{font-size:13px}.ai-history-copy-v354 small{font-size:11px;color:var(--ai-v354-muted)}.ai-history-copy-v354 em{font-style:normal;font-size:10px;color:var(--ai-v354-muted)}.ai-history-delete-v354{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:18px;opacity:.55}.ai-history-delete-v354:hover{opacity:1}.ai-chat-pane-v354{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;background:var(--ai-v354-panel)}.ai-chat-toolbar-v354{min-height:58px;border-bottom:1px solid var(--ai-v354-border);display:flex;align-items:center;gap:10px;padding:8px 14px}.ai-model-controls-v354{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.ai-model-controls-v354 label{display:grid;gap:2px;min-width:120px}.ai-model-controls-v354 label span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--ai-v354-muted);font-weight:800}.ai-model-controls-v354 select{height:32px;max-width:260px;border:1px solid var(--ai-v354-border);border-radius:9px;background:var(--ai-v354-soft);color:var(--ai-v354-text);padding:0 28px 0 9px;font-size:12px;font-weight:650}.ai-model-select-v354{flex:1}.ai-fullscreen-button-v354{height:34px;border:1px solid var(--ai-v354-border);border-radius:9px;background:var(--ai-v354-soft);color:var(--ai-v354-text);display:flex;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;cursor:pointer}.ai-fullscreen-button-v354 .material-symbols-rounded{font-size:17px}.ai-mobile-history-v354{display:none}.ai-chat-messages-v354{overflow:auto;padding:22px clamp(14px,4vw,58px);scroll-behavior:smooth}.ai-empty-v354{height:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ai-v354-text);gap:8px}.ai-empty-v354>.material-symbols-rounded{width:46px;height:46px;border-radius:15px;background:var(--ai-v354-soft);display:grid;place-items:center;font-size:25px}.ai-empty-v354 small{max-width:440px;color:var(--ai-v354-muted)}.ai-message-v354{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;max-width:880px;margin:0 auto 18px}.ai-message-v354.user{max-width:760px;margin-left:auto;margin-right:max(0px,calc((100% - 880px)/2))}.ai-message-avatar-v354{width:30px;height:30px;border-radius:9px;background:var(--ai-v354-soft);display:grid;place-items:center;color:var(--ai-v354-text)}.ai-message-avatar-v354 .material-symbols-rounded{font-size:18px}.ai-message-body-v354{min-width:0}.ai-message-v354.user .ai-message-body-v354{background:var(--ai-v354-soft);border:1px solid var(--ai-v354-border);border-radius:14px;padding:10px 12px}.ai-message-meta-v354{display:flex;align-items:center;gap:8px;margin-bottom:5px}.ai-message-meta-v354 strong{font-size:12px;color:var(--ai-v354-text)}.ai-message-meta-v354 span{font-size:10px;color:var(--ai-v354-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-message-text-v354{font-size:14px;line-height:1.55;color:var(--ai-v354-text);overflow-wrap:anywhere}.ai-message-files-v354{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}.ai-message-files-v354 span{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--ai-v354-muted);border:1px solid var(--ai-v354-border);border-radius:7px;padding:3px 6px}.ai-message-files-v354 .material-symbols-rounded{font-size:13px}.ai-composer-wrap-v354{padding:8px clamp(12px,4vw,58px) 12px;background:linear-gradient(to bottom,transparent,var(--ai-v354-panel) 18%)}.ai-composer-v354{max-width:880px;margin:0 auto;display:flex;align-items:flex-end;gap:7px;border:1px solid var(--ai-v354-border);border-radius:16px;padding:7px;background:var(--ai-v354-panel);box-shadow:0 8px 24px rgba(15,23,42,.08)}.ai-composer-v354 textarea{flex:1;resize:none;min-height:38px;max-height:150px;border:0!important;outline:0!important;background:transparent!important;color:var(--ai-v354-text)!important;padding:9px 6px!important;font:inherit;font-size:14px;line-height:20px;box-shadow:none!important}.ai-attach-v354,.ai-send-v354{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:11px;display:grid;place-items:center;cursor:pointer}.ai-attach-v354{background:var(--ai-v354-soft);color:var(--ai-v354-text)}.ai-send-v354{background:var(--ai-v354-accent);color:var(--ai-v354-panel)}html[data-theme="dark"] .ai-send-v354{background:#f5f5f5;color:#050505}.ai-send-v354:disabled{opacity:.45}.ai-attachment-chips-v354{max-width:880px;margin:0 auto 6px;display:flex;gap:5px;flex-wrap:wrap}.ai-attachment-chip-v354{display:flex;align-items:center;gap:4px;border:1px solid var(--ai-v354-border);border-radius:9px;background:var(--ai-v354-soft);color:var(--ai-v354-text);font-size:11px;padding:5px 6px 5px 8px;max-width:220px}.ai-attachment-chip-v354>.material-symbols-rounded{font-size:14px}.ai-attachment-chip-v354 button{border:0;background:transparent;color:inherit;padding:0;display:grid;place-items:center}.ai-attachment-chip-v354 button .material-symbols-rounded{font-size:14px}.ai-composer-note-v354{text-align:center;font-size:9px;color:var(--ai-v354-muted);margin-top:5px}.ai-fullscreen-browser-v354 #app-main>header,.ai-fullscreen-browser-v354 #app-sidebar,.ai-fullscreen-browser-v354 #sidebar-overlay{display:none!important}.ai-fullscreen-browser-v354 #app-main{padding:0!important;margin:0!important;max-width:none!important;width:100vw!important;height:100dvh!important}.ai-fullscreen-browser-v354 #expensePage{display:flex!important;position:fixed!important;inset:0!important;margin:0!important;padding:0!important;background:var(--ai-v354-panel)!important;z-index:9999!important}.ai-fullscreen-browser-v354 #expensePage .main-layout{display:block!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;max-width:none!important}.ai-fullscreen-browser-v354 #expensePage .layout-left{display:none!important}.ai-fullscreen-browser-v354 #expensePage .layout-right{display:block!important;position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.ai-fullscreen-browser-v354 #aiPage{display:flex!important;position:absolute!important;inset:0!important;margin:0!important;padding:0!important}.ai-fullscreen-browser-v354 #aiPage .ai-page-content-v354{width:100%!important;height:100%!important;margin:0!important;padding:0!important;border-radius:0!important}.ai-fullscreen-browser-v354 .ai-shell-v354{height:100dvh!important;border:0!important;border-radius:0!important}
@media(max-width:760px){.ai-shell-v354{grid-template-columns:1fr;height:calc(100dvh - 72px);border-radius:14px}.ai-history-pane-v354{position:absolute;z-index:8;inset:0 auto 0 0;width:min(84vw,300px);transform:translateX(-105%);transition:transform .18s ease;box-shadow:12px 0 30px rgba(0,0,0,.18)}.ai-history-pane-v354.mobile-open{transform:translateX(0)}.ai-mobile-history-v354{display:block}.ai-chat-toolbar-v354{padding:7px 9px;gap:6px}.ai-model-controls-v354{gap:5px}.ai-model-controls-v354 label{min-width:88px}.ai-model-controls-v354 select{max-width:160px;height:31px;padding-left:7px;font-size:11px}.ai-fullscreen-button-v354{display:none}.ai-chat-messages-v354{padding:16px 11px}.ai-message-v354{grid-template-columns:27px minmax(0,1fr);gap:7px;margin-bottom:14px}.ai-message-avatar-v354{width:27px;height:27px}.ai-composer-wrap-v354{padding:7px 8px 9px}.ai-composer-note-v354{display:none}.ai-fullscreen-browser-v354 .ai-shell-v354{height:100dvh!important;border-radius:0}}

/* V355 Android/mobile authority — compact app-grade AI layout. */
@media (max-width: 899px) {
  html.capacitor-android #aiPage.ai-route-page-v354 {
    width: 100% !important;
    min-height: 0 !important;
    height: calc(100dvh - var(--app-header-height, 106px) - 16px) !important;
    overflow: hidden !important;
    background: var(--ai-v354-panel) !important;
  }
  html.capacitor-android #aiPage > .ai-page-content-v354 {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--ai-v354-border) !important;
    border-radius: 16px !important;
    background: var(--ai-v354-panel) !important;
    box-shadow: 0 8px 26px rgba(15,23,42,.06) !important;
  }
  html.capacitor-android #aiPage .ai-shell-v354 {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: var(--ai-v354-panel) !important;
  }
  html.capacitor-android #aiPage .ai-history-pane-v354 {
    position: absolute !important;
    z-index: 30 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(82vw, 310px) !important;
    padding: 12px !important;
    transform: translateX(-105%) !important;
    transition: transform .18s ease !important;
    border-right: 1px solid var(--ai-v354-border) !important;
    background: var(--ai-v354-panel) !important;
    box-shadow: 18px 0 36px rgba(15,23,42,.16) !important;
  }
  html.capacitor-android #aiPage .ai-history-pane-v354.mobile-open { transform: translateX(0) !important; }
  html.capacitor-android #aiPage .ai-chat-pane-v354 {
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  html.capacitor-android #aiPage .ai-chat-toolbar-v354 {
    display: grid !important;
    grid-template-columns: 36px minmax(0,1fr) !important;
    align-items: end !important;
    gap: 8px !important;
    min-height: 62px !important;
    padding: 8px 10px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--ai-v354-border) !important;
    background: var(--ai-v354-panel) !important;
  }
  html.capacitor-android #aiPage .ai-mobile-history-v354 { display: block !important; align-self: center !important; }
  html.capacitor-android #aiPage .ai-icon-v354 {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border: 1px solid var(--ai-v354-border) !important;
    border-radius: 10px !important;
    background: var(--ai-v354-soft) !important;
  }
  html.capacitor-android #aiPage .ai-model-controls-v354 {
    display: grid !important;
    grid-template-columns: minmax(104px,.72fr) minmax(0,1.28fr) !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  html.capacitor-android #aiPage .ai-model-controls-v354 label {
    display: grid !important;
    grid-template-rows: 12px 34px !important;
    gap: 3px !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  html.capacitor-android #aiPage .ai-model-controls-v354 label > span {
    display: block !important;
    margin: 0 0 0 2px !important;
    font-size: 9px !important;
    line-height: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color: var(--ai-v354-muted) !important;
  }
  html.capacitor-android #aiPage .ai-model-controls-v354 select {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 28px 0 9px !important;
    border: 1px solid var(--ai-v354-border) !important;
    border-radius: 9px !important;
    background-color: var(--ai-v354-soft) !important;
    color: var(--ai-v354-text) !important;
    font-size: 12px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }
  html.capacitor-android #aiPage .ai-fullscreen-button-v354 { display: none !important; }
  html.capacitor-android #aiPage .ai-chat-messages-v354 {
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 16px 12px 10px !important;
    background: var(--ai-v354-panel) !important;
  }
  html.capacitor-android #aiPage .ai-empty-v354 {
    min-height: 100% !important;
    height: 100% !important;
    gap: 7px !important;
    padding: 26px 18px !important;
  }
  html.capacitor-android #aiPage .ai-empty-v354 > .material-symbols-rounded {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    font-size: 24px !important;
  }
  html.capacitor-android #aiPage .ai-empty-v354 strong { font-size: 19px !important; line-height: 1.25 !important; }
  html.capacitor-android #aiPage .ai-empty-v354 small { max-width: 330px !important; font-size: 12px !important; line-height: 1.45 !important; }
  html.capacitor-android #aiPage .ai-message-v354 {
    grid-template-columns: 28px minmax(0,1fr) !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    max-width: none !important;
  }
  html.capacitor-android #aiPage .ai-message-v354.user { margin-left: 30px !important; }
  html.capacitor-android #aiPage .ai-message-avatar-v354 { width: 28px !important; height: 28px !important; border-radius: 9px !important; }
  html.capacitor-android #aiPage .ai-message-text-v354 { font-size: 13px !important; line-height: 1.5 !important; }
  html.capacitor-android #aiPage .ai-composer-wrap-v354 {
    position: relative !important;
    z-index: 4 !important;
    padding: 7px 8px calc(8px + var(--android-inset-bottom, 0px)) !important;
    background: var(--ai-v354-panel) !important;
    border-top: 1px solid var(--ai-v354-border) !important;
  }
  html.capacitor-android #aiPage .ai-composer-v354 {
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 5px !important;
    gap: 5px !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(15,23,42,.08) !important;
  }
  html.capacitor-android #aiPage .ai-composer-v354 textarea {
    min-height: 38px !important;
    max-height: 118px !important;
    margin: 0 !important;
    padding: 9px 5px !important;
    font-size: 14px !important;
    line-height: 20px !important;
  }
  html.capacitor-android #aiPage .ai-attach-v354,
  html.capacitor-android #aiPage .ai-send-v354 {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 10px !important;
  }
  html.capacitor-android #aiPage .ai-composer-note-v354 { display: none !important; }
}
