
/* ICARE Stable Merge V3.1
   Adds responsive drawer, bilingual control and AI Guide.
   Does NOT replace stable account/photo/logout/sidebar components. */

.icare-mobile-menu-btn{
  display:none;width:40px;height:40px;flex:0 0 40px;
  border:1px solid #d9e4de;border-radius:10px;background:#fff;
  align-items:center;justify-content:center;flex-direction:column;gap:4px;
  cursor:pointer;padding:0;z-index:1002
}
.icare-mobile-menu-btn span{width:18px;height:2px;background:#174b38;border-radius:20px}
.icare-sidebar-overlay{position:fixed;inset:0;z-index:998;background:rgba(6,22,15,.50);backdrop-filter:blur(2px)}
body.icare-mobile-menu-open{overflow:hidden!important}

.icare-lang-toggle{
  margin-left:10px;display:flex;border:1px solid #dce6e1;border-radius:9px;
  overflow:hidden;background:#fff;flex:0 0 auto
}
.icare-lang-toggle button{
  border:0;background:#fff;color:#65766d;padding:7px 8px;
  font:900 9px/1 Inter,"Segoe UI",Arial,sans-serif;cursor:pointer
}
.icare-lang-toggle button.active{background:#15513c;color:#fff}

/* AI Guide */
.icare-ai-fab{
  position:fixed;right:18px;bottom:18px;z-index:970;height:46px;
  border:0;border-radius:999px;background:#15513c;color:#fff;
  box-shadow:0 12px 34px rgba(12,70,47,.28);
  display:flex;align-items:center;gap:7px;padding:0 14px 0 8px;cursor:pointer
}
.icare-ai-fab-icon{
  width:32px;height:32px;border-radius:50%;background:#fff;color:#15513c;
  display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900
}
.icare-ai-fab-label{font-size:11px;font-weight:900}

.icare-ai-panel{
  position:fixed;right:18px;bottom:76px;z-index:1005;
  width:min(400px,calc(100vw - 28px));height:min(640px,calc(100dvh - 100px));
  display:flex;flex-direction:column;overflow:hidden;background:#fff;
  border:1px solid #dbe6e0;border-radius:17px;
  box-shadow:0 20px 65px rgba(10,35,23,.24);
  opacity:0;pointer-events:none;transform:translateY(18px) scale(.97);
  transition:.18s ease;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif
}
.icare-ai-panel.is-open{opacity:1;pointer-events:auto;transform:none}
.icare-ai-head{display:flex;align-items:center;gap:9px;padding:12px 13px;background:#103b2d;color:#fff}
.icare-ai-avatar{width:36px;height:36px;border-radius:10px;background:#fff;color:#15513c;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.icare-ai-head>div:nth-child(2){min-width:0;flex:1}
.icare-ai-head strong{display:block;font-size:12px}.icare-ai-head span{display:block;font-size:9px;opacity:.72;margin-top:2px}
.icare-ai-head button{border:0;background:transparent;color:#fff;font-size:23px;cursor:pointer}
.icare-ai-context{padding:8px 12px;border-bottom:1px solid #e7eeea;background:#f6faf8}
.icare-ai-context span{display:block;font-size:8px;text-transform:uppercase;font-weight:800;color:#849088}
.icare-ai-context b{display:block;font-size:10px;color:#29493b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icare-ai-messages{flex:1;overflow-y:auto;padding:12px;background:#fbfdfc}
.icare-ai-msg{display:flex;margin-bottom:9px}.icare-ai-msg.user{justify-content:flex-end}
.icare-ai-bubble{max-width:87%;padding:9px 10px;border-radius:12px;font-size:10.5px;line-height:1.5;background:#edf5f1;color:#29463a}
.icare-ai-msg.user .icare-ai-bubble{background:#15513c;color:#fff}
.icare-ai-quick{padding:8px 10px;border-top:1px solid #edf1ef;display:flex;gap:5px;overflow-x:auto}
.icare-ai-quick button{white-space:nowrap;border:1px solid #dce6e1;background:#fff;border-radius:999px;padding:6px 8px;font-size:8.5px;color:#315244;cursor:pointer}
.icare-ai-form{display:flex;gap:6px;padding:9px;border-top:1px solid #e5ece8}
.icare-ai-form input{min-width:0;flex:1;border:1px solid #d7e2dc;border-radius:9px;padding:9px 10px;font-size:10px;outline:none}
.icare-ai-form button{border:0;background:#15513c;color:#fff;border-radius:9px;padding:0 12px;font-size:9px;font-weight:900}

@media(max-width:900px){
  .icare-mobile-menu-btn{display:flex!important}
  .icare-app-shell{display:block!important;width:100%!important;min-height:100dvh!important}
  .icare-main{margin-left:0!important;width:100%!important;min-width:0!important;max-width:none!important}
  .icare-topbar{
    position:sticky!important;top:0!important;z-index:990!important;
    display:flex!important;align-items:center!important;gap:10px!important;
    padding:10px 12px!important;min-height:62px!important;
    background:rgba(255,255,255,.97)!important;backdrop-filter:blur(10px)
  }
  .icare-topbar>div:first-of-type{min-width:0;flex:1}
  .icare-topbar-title,.icare-topbar-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .icare-content{padding:12px!important;min-width:0!important;overflow-x:hidden!important}

  .icare-sidebar{
    position:fixed!important;top:0!important;left:0!important;bottom:0!important;
    width:min(86vw,320px)!important;height:100dvh!important;max-height:100dvh!important;
    z-index:999!important;transform:translateX(-104%)!important;transition:transform .22s ease!important;
    display:flex!important;flex-direction:column!important;overflow:hidden!important;
    box-shadow:18px 0 50px rgba(0,0,0,.22)!important
  }
  body.icare-mobile-menu-open .icare-sidebar{transform:translateX(0)!important}
  .icare-sidebar .icare-brand,.icare-account-card{flex:0 0 auto!important}
  .icare-nav{
    flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:10px!important
  }
  /* Preserve stable Profile, Logout, footer and keep reachable. */
  .icare-sidebar-bottom{
    flex:0 0 auto!important;margin-top:0!important;position:relative!important;
    background:inherit!important;box-shadow:0 -8px 20px rgba(5,24,16,.13)!important;
    padding-top:3px!important
  }
  .icare-sidebar-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
  .icare-lang-toggle{margin-left:auto}
}
@media(max-width:600px){
  .icare-ai-fab{right:12px;bottom:12px}
  .icare-ai-panel{left:8px;right:8px;bottom:8px;width:auto;height:min(78dvh,650px)}
}
