[hidden]{display:none!important}body{min-width:0}.app-shell{display:block}.sidebar{position:static;width:auto;padding:10px 18px;background:#fff;border-bottom:1px solid #dfe6ef;box-shadow:0 2px 8px rgba(30,55,90,.035);display:flex;align-items:center;gap:20px;min-height:0;height:auto}.sidebar-brand{width:145px;padding:0}.sidebar-brand img{max-height:50px;object-fit:contain}.sidebar-section-label,.sidebar-spacer,.sidebar-version,.sidebar-help{display:none}.side-nav{display:flex;gap:6px;flex:1}.nav-btn{width:auto!important;min-height:44px;margin:0!important;padding:8px 12px!important}.nav-btn svg{width:22px;height:22px}.app-shell main{margin:0!important;min-width:0}.topbar{position:static}.view{padding:16px}.hospital-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))!important}.modal{max-width:min(900px,96vw);max-height:94dvh}.modal-body{overflow:auto}.is-toolbar button,.is-toolbar select,.top-actions button{min-height:44px}.is-scroll{overscroll-behavior-x:contain}.is-table .is-label{position:sticky;left:0;background:#fff;z-index:1;width:160px}.is-scroll[data-days="1"] .is-table{min-width:460px}.is-scroll[data-days="1"] .is-table .is-label{width:135px}.is-patient>div{min-width:200px}.is-status{font-weight:600}#login{min-height:100dvh;display:grid;place-items:center;padding:20px;background:#eef4fc}#login form{background:#fff;padding:32px;border:1px solid #d5e0f0;border-radius:16px;width:min(430px,100%);box-shadow:0 12px 50px #17385b12}#login img{width:230px;max-width:100%}#login label{display:block;margin:18px 0 8px;font-weight:600}#login input{display:block;width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid #c5d2e5;border-radius:8px;margin-top:6px}#login button{width:100%;padding:12px;margin-top:12px}#login-error{color:#ac1933;white-space:pre-wrap}#login small{color:#516780}
@media(max-width:700px){.sidebar{padding:8px;display:block}.sidebar-brand{display:none}.side-nav{justify-content:space-between}.nav-btn{flex:1;justify-content:center;gap:4px;font-size:12px}.nav-btn svg{display:none}.view{padding:10px}.topbar{padding:8px 10px;gap:6px}.topbar-title{display:none}.top-actions{justify-content:space-between!important}.hospital-card{padding:14px}.is-patient{gap:8px}.is-photo{height:56px;width:56px}.is-patient h2{font-size:17px}.is-toolbar{gap:5px}.is-toolbar button{padding:7px;font-size:12px}.is-table .is-label{font-size:12px}.is-dialog .schedule-row{overflow:auto}.modal-body{padding:12px!important}.is-patient h2 .treatment-alert{margin-left:5px}.is-table td button{touch-action:manipulation}.current-patient-banner{padding:6px 10px}}

.mobile-connection{font-size:12px;padding:5px 12px;background:#e2f2ea;color:#23523d}.mobile-connection.pending{background:#fff0ca;color:#7e4817}

/* navigation mobile lisible et horizontale */
#nav.side-nav{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;width:100%!important;overflow-x:auto!important;gap:5px!important}
#nav.side-nav .nav-btn{flex:1 1 0!important;min-width:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:6px!important;background:#fff!important;color:#1645b8!important;border:1px solid #b6c9e8!important;border-radius:8px!important;opacity:1!important;white-space:nowrap!important;overflow:visible!important}
#nav.side-nav .nav-btn.active{background:#dbe8ff!important;color:#123b62!important;border-color:#7da4df!important}
#nav.side-nav .nav-btn span{display:inline!important;visibility:visible!important;opacity:1!important;color:inherit!important}
#nav.side-nav .nav-btn svg{display:block!important;flex:0 0 auto!important;stroke:currentColor!important}
@media(max-width:700px){#nav.side-nav{gap:4px!important;padding:0!important}#nav.side-nav .nav-btn{font-size:11px!important;padding:7px 4px!important;min-height:42px!important}#nav.side-nav .nav-btn svg{display:none!important}}
#nav.side-nav .nav-btn>span:first-child{display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;margin:0!important;color:inherit!important}
#nav.side-nav .nav-btn.active{background:#0b5ea8!important;color:#fff!important;border-color:#7fc4f0!important;box-shadow:0 1px 3px rgba(0,0,0,.18)!important}

/* bandeau Web compact, logo et modules sur une seule ligne. */
.sidebar{
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  padding:6px 10px!important;
  min-height:58px!important;
  height:58px!important;
  overflow:hidden!important;
}
.sidebar-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 68px!important;
  width:68px!important;
  height:46px!important;
  padding:0!important;
  border:0!important;
}
.sidebar-brand img{
  display:block!important;
  width:68px!important;
  height:44px!important;
  max-height:44px!important;
  object-fit:contain!important;
}
#nav.side-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  height:46px!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
#nav.side-nav .nav-btn{
  min-height:38px!important;
  height:46px!important;
  padding:5px 8px!important;
  font-size:clamp(10px,1.25vw,13px)!important;
  line-height:1.1!important;
  border-radius:8px!important;
}
#nav.side-nav .nav-btn>span:first-child{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
}
#nav.side-nav .nav-btn svg{width:18px!important;height:18px!important}
#nav.side-nav .nav-btn>span:nth-child(2){
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Les éléments d’identité restent lisibles sur fond clair. */
.current-patient-banner .patient-banner-details,
.current-patient-banner .patient-banner-owner,
.patient-hero .mini,
.hospital-card .hospital-fact,
.hospital-card .mini{font-weight:800}
.hospital-card .hospital-reason b{font-weight:900}

@media(max-width:700px){
  .sidebar{
    display:flex!important;
    flex-direction:row!important;
    gap:5px!important;
    padding:5px 6px!important;
    min-height:50px!important;
    height:50px!important;
  }
  .sidebar-brand{
    flex-basis:48px!important;
    width:48px!important;
    height:38px!important;
  }
  .sidebar-brand img{width:48px!important;height:36px!important;max-height:36px!important}
  #nav.side-nav{height:40px!important;gap:3px!important;overflow:hidden!important}
  #nav.side-nav .nav-btn{
    height:40px!important;
    min-height:36px!important;
    padding:4px 4px!important;
    font-size:10px!important;
  }
  #nav.side-nav .nav-btn>span:first-child{display:none!important}
}


/*  commandes de session discrètes en bas sur tablette/mobile. */
.mobile-session-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 12px 10px;padding-top:10px;border-top:1px solid #dbe4ef;color:#607086}
@media(max-width:1100px){.mobile-session-footer::after{content:"VETOSPITAL · v1.0.46";flex:0 0 100%;width:100%;order:99;text-align:center;align-self:center;margin:4px 0 0;color:#8190a3;font-size:10px;font-weight:700;white-space:nowrap}}

/* v1.0.26 : commandes Web sur une seule ligne, même avec un patient actif. */
.topbar>.top-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:max-content}
.topbar>.top-actions .mobile-session-control{white-space:nowrap;padding-inline:12px}
@media(min-width:1101px){.topbar{grid-template-columns:auto minmax(160px,1fr) auto!important}.current-patient-banner{min-width:0}.patient-banner-copy{overflow:hidden}.patient-banner-identity,.patient-banner-details{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:1100px){.mobile-session-footer button{min-height:32px!important;padding:5px 9px!important;font-size:11px!important;font-weight:650!important;border-radius:7px!important}}

/* Sélecteur de structure après authentification. */
.structure-choice-list{display:grid;gap:10px;margin:20px 0}
.structure-choice-list .structure-choice{display:flex!important;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;margin:0!important}
.structure-choice-list .structure-choice small{font-weight:500}

/* v1.0.43 — ajustements ciblés de navigation, sans modifier le responsive historique.
   Le bandeau secondaire est masqué. La barre principale garde les breakpoints v1.0.41. */
.topbar{display:none!important}

/* Les trois modules restent extensibles sur toute la largeur utile ; Paramètres reste compact. */
#nav.side-nav .nav-settings{flex:0 0 46px!important;width:46px!important;min-width:46px!important;padding-left:0!important;padding-right:0!important}
#nav.side-nav .nav-settings>span:nth-child(2){display:none!important}
#nav.side-nav .nav-settings>span:first-child{display:inline-flex!important;width:24px!important;height:24px!important;flex:0 0 24px!important;align-items:center!important;justify-content:center!important}
#nav.side-nav .nav-settings svg{display:block!important;width:19px!important;height:19px!important}

/* Le footer de session est désormais commun à Web, tablette et mobile. */
.mobile-session-footer button{min-height:34px!important;padding:6px 11px!important;font-size:11px!important;font-weight:650!important;border-radius:7px!important}

@media(max-width:700px){
  #nav.side-nav .nav-settings{flex:0 0 38px!important;width:38px!important;min-width:38px!important}
  #nav.side-nav .nav-settings>span:first-child{display:inline-flex!important;width:20px!important;height:20px!important;flex-basis:20px!important}
  #nav.side-nav .nav-settings svg{display:block!important;width:18px!important;height:18px!important}
  .mobile-session-footer{margin:14px 8px 8px;padding-top:8px;gap:6px}
  .mobile-session-footer button{min-height:32px!important;padding:5px 8px!important;font-size:10px!important}
}

/* v1.0.46 - Mobile : colonne fixe de la fiche interactive compacte et redimensionnable. */
@media(max-width:600px){
  #is-root .is-scroll{--is-mobile-label-width:148px}
  #is-root .is-table .is-label{
    width:var(--is-mobile-label-width)!important;
    min-width:var(--is-mobile-label-width)!important;
    max-width:var(--is-mobile-label-width)!important;
    padding-left:7px!important;
    padding-right:7px!important;
    position:sticky;
    overflow:visible;
  }
  #is-root .is-table .is-label-content{
    display:block;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  #is-root .is-table .is-label-content::-webkit-scrollbar{display:none}
  #is-root .is-table .is-label-content>small,
  #is-root .is-table .is-label-content>button{white-space:nowrap}
  #is-root .is-table .is-exam-label .is-label-content{
    white-space:normal;
    line-height:1.05;
    overflow-x:hidden;
  }
  #is-root .is-table .is-label-resize-grip{
    display:block;
    position:absolute;
    top:0;
    right:-7px;
    bottom:0;
    width:14px;
    z-index:9;
    cursor:col-resize;
    touch-action:none;
    user-select:none;
    -webkit-user-select:none;
  }
  #is-root .is-table .is-label-resize-grip::after{
    content:'';
    position:absolute;
    top:0;
    bottom:0;
    left:6px;
    width:3px;
    background:#8aa3ba;
    opacity:.7;
  }
  #is-root .is-table .is-label-resize-grip.active::after{
    width:5px;
    left:5px;
    background:#286d9a;
    opacity:1;
  }
}

