/*
  Rett i Lomma Vet - mobilapp fullscreen v3
  Dashboard og Journal er ekte 100dvh appskjermer.
  Ingen body-scroll. Små faste navigasjonsknapper. Journal deles i faner.
*/
@media screen {
  :root {
    --vet-mob-bg:#06151d;
    --vet-mob-card:#092330;
    --vet-mob-card2:#0b2a39;
    --vet-mob-line:#1d4a60;
    --vet-mob-blue:#1774e8;
    --vet-mob-text:#f5f8fb;
    --vet-mob-muted:#9eb4c2;
    --vet-mob-gap:6px;
  }

  html, body { width:100%; height:100%; min-height:100%; margin:0!important; }
  body.vet-mobile-fullscreen {
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    padding:0!important;
    background:var(--vet-mob-bg)!important;
  }

  body.vet-mobile-fullscreen #vetToppkortDashboard,
  body.vet-mobile-fullscreen #vetBiometriKnapp,
  body.vet-mobile-fullscreen #vetDashboardFlytendeKnapp {
    display:none!important;
  }

  /* ======================== PASIENTER ========================= */
  body.vet-mobile-patients-full #eierSide {
    position:fixed!important; inset:0!important; z-index:8400!important;
    box-sizing:border-box!important; width:100vw!important; height:100dvh!important;
    max-height:100dvh!important; min-height:0!important; margin:0!important;
    padding:max(8px,env(safe-area-inset-top)) 10px max(8px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important; border:0!important; border-radius:0!important;
    background:linear-gradient(180deg,#071b25 0%,#05131a 100%)!important;
  }
  body.vet-mobile-patients-full #eierSide > h2 { margin:0 0 6px!important; font-size:18px!important; line-height:1.1!important; }
  body.vet-mobile-patients-full #eierSide .vet-sp-toolbar {
    margin:0 0 6px!important; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:5px!important;
  }
  body.vet-mobile-patients-full #eierSide .vet-sp-toolbar button { min-height:32px!important; height:32px!important; padding:3px 5px!important; font-size:10px!important; border-radius:8px!important; }
  body.vet-mobile-patients-full #vetSpContent { height:calc(100dvh - 92px)!important; min-height:0!important; overflow:auto!important; overscroll-behavior:contain!important; }
  body.vet-mobile-patients-full .vet-sp-owner { margin:5px 0!important; }
  body.vet-mobile-patients-full .vet-sp-owner-head { padding:8px 9px!important; min-height:42px!important; }
  body.vet-mobile-patients-full .vet-sp-animal { cursor:pointer!important; padding:7px 4px!important; min-height:54px!important; }
  body.vet-mobile-patients-full .vet-sp-open { min-height:30px!important; height:30px!important; padding:3px 7px!important; font-size:10px!important; }

  /* ========================= DASHBOARD ========================= */
  body.vet-mobile-dashboard-full #dashboardSide {
    position:fixed!important;
    inset:0!important;
    z-index:8500!important;
    box-sizing:border-box!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:max(7px,env(safe-area-inset-top)) 7px max(7px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#071b25 0%,#05131a 100%)!important;
    display:grid!important;
    grid-template-rows:42px 72px minmax(0,1fr) 40px!important;
    gap:6px!important;
  }
  #dashboardSide.skjult { display:none!important; }

  #dashboardSide .vet-dashboard-head {
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0 2px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
  }
  #dashboardSide .vet-dashboard-head > div { min-width:0!important; }
  #dashboardSide .vet-dashboard-kicker { display:none!important; }
  #dashboardSide .vet-dashboard-head h2 {
    margin:0!important;
    font-size:16px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #dashboardSide .vet-dashboard-head p.lite { display:none!important; }
  #vetDashboardOppdater {
    flex:0 0 auto!important;
    width:auto!important;
    min-width:68px!important;
    min-height:28px!important;
    height:28px!important;
    margin:0!important;
    padding:3px 8px!important;
    font-size:10px!important;
    line-height:1!important;
    border-radius:8px!important;
  }

  #dashboardSide .vet-dashboard-cards {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:4px!important;
    min-height:0!important;
    margin:0!important;
  }
  #dashboardSide .vet-dashboard-cards article {
    min-width:0!important;
    min-height:0!important;
    height:72px!important;
    margin:0!important;
    padding:6px 4px!important;
    border-radius:10px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    overflow:hidden!important;
  }
  #dashboardSide .vet-dashboard-cards span {
    width:100%!important;
    font-size:8px!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow:hidden!important;
    max-height:17px!important;
  }
  #dashboardSide .vet-dashboard-cards strong {
    margin:3px 0 0!important;
    font-size:23px!important;
    line-height:1!important;
  }
  #dashboardSide .vet-dashboard-cards small { display:none!important; }

  #dashboardSide .vet-dashboard-grid {
    min-height:0!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:1.15fr .85fr!important;
    gap:5px!important;
    overflow:hidden!important;
  }
  #dashboardSide .vet-dashboard-panel {
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    margin:0!important;
    padding:7px!important;
    border-radius:11px!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  #dashboardSide .vet-dashboard-panel h3 {
    flex:0 0 auto!important;
    margin:0 0 4px!important;
    font-size:11px!important;
    line-height:1.05!important;
  }
  #dashboardSide .vet-dashboard-list {
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
    overflow:hidden!important;
  }
  #dashboardSide .vet-dashboard-item {
    min-height:0!important;
    margin:0!important;
    padding:4px 5px!important;
    border-radius:7px!important;
    gap:3px!important;
    overflow:hidden!important;
  }
  #dashboardSide .vet-dashboard-item b,
  #dashboardSide .vet-dashboard-item em,
  #dashboardSide .vet-dashboard-item span,
  #dashboardSide .vet-dashboard-item small {
    font-size:8px!important;
    line-height:1.05!important;
  }
  #dashboardSide .vet-dashboard-item:nth-child(n+7) { display:none!important; }

  #dashboardSide .vet-dashboard-actions {
    min-height:0!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 64px!important;
    gap:5px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #dashboardSide .vet-dashboard-actions button,
  #dashboardSide .vet-mobile-dashboard-menu {
    min-width:0!important;
    width:100%!important;
    min-height:36px!important;
    height:36px!important;
    margin:0!important;
    padding:4px 6px!important;
    font-size:9px!important;
    line-height:1!important;
    border-radius:9px!important;
    white-space:nowrap!important;
  }

  /* ========================== JOURNAL ========================== */
  body.vet-mobile-journal-full #journalSide {
    position:fixed!important;
    inset:0!important;
    z-index:9000!important;
    box-sizing:border-box!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#071b25 0%,#05131a 100%)!important;
    display:grid!important;
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
  }
  #journalSide.skjult { display:none!important; }
  #journalSide > h2,
  #journalSide > h3,
  #journalSide > hr,
  #journalSide > .vet-journal-tilbake-wrap { display:none!important; }

  .vet-mobile-journal-head {
    min-height:42px!important;
    padding:max(5px,env(safe-area-inset-top)) 6px 4px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:5px!important;
    border-bottom:1px solid var(--vet-mob-line)!important;
    background:#071923!important;
  }
  .vet-mobile-journal-titlewrap { min-width:0!important; }
  .vet-mobile-journal-head strong {
    display:block!important;
    color:var(--vet-mob-text)!important;
    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vet-mobile-journal-subtitle {
    margin-top:2px!important;
    color:var(--vet-mob-muted)!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vet-mobile-journal-head-actions { display:flex!important; gap:4px!important; }
  .vet-mobile-journal-head button {
    width:auto!important;
    min-width:0!important;
    min-height:27px!important;
    height:27px!important;
    margin:0!important;
    padding:3px 7px!important;
    border-radius:8px!important;
    font-size:8px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .vet-mobile-journal-tabs {
    min-height:38px!important;
    padding:4px 5px!important;
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:3px!important;
    border-bottom:1px solid var(--vet-mob-line)!important;
    background:#06151d!important;
  }
  .vet-mobile-journal-tabs button {
    min-width:0!important;
    width:100%!important;
    min-height:30px!important;
    height:30px!important;
    margin:0!important;
    padding:2px 1px!important;
    border-radius:7px!important;
    background:#153141!important;
    font-size:7.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .vet-mobile-journal-tabs button.is-active {
    background:var(--vet-mob-blue)!important;
    border-color:#51a0ff!important;
  }

  .vet-mobile-journal-stage {
    min-height:0!important;
    height:100%!important;
    overflow:hidden!important;
    padding:5px!important;
  }
  .vet-mobile-journal-panel {
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:6px!important;
    overflow:hidden!important;
    border:1px solid var(--vet-mob-line)!important;
    border-radius:10px!important;
    background:var(--vet-mob-card)!important;
    display:none!important;
  }
  .vet-mobile-journal-panel.is-active {
    display:flex!important;
    flex-direction:column!important;
    gap:3px!important;
  }
  .vet-mobile-journal-panel h3,
  .vet-mobile-journal-panel h4 {
    flex:0 0 auto!important;
    margin:1px 0 2px!important;
    font-size:10px!important;
    line-height:1!important;
  }
  .vet-mobile-journal-panel p { margin:1px 0!important; }
  .vet-mobile-journal-panel p.lite { display:none!important; }
  .vet-mobile-journal-panel label {
    margin:0!important;
    font-size:7.5px!important;
    line-height:1!important;
  }
  .vet-mobile-journal-panel .rad {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:3px!important;
    margin:0!important;
    min-height:0!important;
  }
  .vet-mobile-journal-panel .rad > div { min-width:0!important; min-height:0!important; }
  #vetMobJournalPanel-behandling .rad { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #vetMobJournalPanel-varer .rad { grid-template-columns:repeat(3,minmax(0,1fr))!important; }

  .vet-mobile-journal-panel input:not([type="file"]),
  .vet-mobile-journal-panel select,
  .vet-mobile-journal-panel textarea {
    box-sizing:border-box!important;
    width:100%!important;
    min-height:25px!important;
    height:25px!important;
    margin:1px 0!important;
    padding:3px 5px!important;
    border-radius:6px!important;
    font-size:9px!important;
    line-height:1!important;
  }
  .vet-mobile-journal-panel input[type="file"] {
    box-sizing:border-box!important;
    width:100%!important;
    min-height:27px!important;
    height:27px!important;
    margin:1px 0!important;
    padding:2px!important;
    font-size:7px!important;
  }
  .vet-mobile-journal-panel textarea { resize:none!important; }

  /* Notatfanen bruker nesten hele arbeidsflaten til tekst. */
  #vetMobJournalPanel-notater textarea {
    flex:1 1 0!important;
    min-height:0!important;
    height:auto!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
  #vetMobJournalPanel-notater [data-vet-style*="display:flex"] {
    flex:0 0 auto!important;
    display:flex!important;
    gap:3px!important;
    flex-wrap:nowrap!important;
    margin:0!important;
  }
  #vetMobJournalPanel-notater label { font-size:8px!important; }

  .vet-mobile-journal-panel button {
    width:auto!important;
    min-width:0!important;
    min-height:25px!important;
    height:25px!important;
    margin:1px 0!important;
    padding:3px 6px!important;
    border-radius:7px!important;
    font-size:8px!important;
    line-height:1!important;
  }

  #journalAnsvarligVeterinaerHjelp { display:none!important; }
  #journalBehandlingListe,
  #journalKjoringListe,
  #journalVareListe,
  #journalBilVareListe,
  #journalListe {
    min-height:0!important;
    max-height:78px!important;
    overflow:hidden!important;
    font-size:8px!important;
    line-height:1.05!important;
  }
  #journalListe { flex:1 1 auto!important; max-height:none!important; }
  #journalBildePreview {
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  #journalBildeInfo { display:none!important; }

  .vet-mobile-journal-savebar {
    min-height:39px!important;
    padding:4px 6px max(5px,env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:5px!important;
    border-top:1px solid var(--vet-mob-line)!important;
    background:#071923!important;
  }
  .vet-mobile-journal-savebar #lagreJournalKnapp {
    width:100%!important;
    min-height:30px!important;
    height:30px!important;
    margin:0!important;
    padding:4px 8px!important;
    border-radius:8px!important;
    font-size:9px!important;
    line-height:1!important;
  }
  .vet-mobile-journal-savebar #journalMelding {
    max-width:34vw!important;
    margin:0!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
    font-size:7px!important;
  }

  /* Appen kan testes i vanlig nettleser også: behold fullskjerm, men bruk plassen bedre. */
  @media (min-width: 701px) {
    body.vet-mobile-dashboard-full #dashboardSide { padding:12px 16px!important; grid-template-rows:48px 92px minmax(0,1fr) 44px!important; }
    #dashboardSide .vet-dashboard-head h2 { font-size:21px!important; }
    #dashboardSide .vet-dashboard-cards article { height:92px!important; padding:10px!important; }
    #dashboardSide .vet-dashboard-cards span { font-size:11px!important; max-height:none!important; }
    #dashboardSide .vet-dashboard-cards strong { font-size:30px!important; }
    #dashboardSide .vet-dashboard-panel { padding:10px!important; }
    #dashboardSide .vet-dashboard-panel h3 { font-size:14px!important; }
    #dashboardSide .vet-dashboard-item b,#dashboardSide .vet-dashboard-item em,#dashboardSide .vet-dashboard-item span,#dashboardSide .vet-dashboard-item small { font-size:10px!important; }
    .vet-mobile-journal-head { min-height:52px!important; padding:7px 12px!important; }
    .vet-mobile-journal-head strong { font-size:18px!important; }
    .vet-mobile-journal-subtitle { font-size:10px!important; }
    .vet-mobile-journal-head button { min-height:34px!important; height:34px!important; font-size:10px!important; padding:4px 10px!important; }
    .vet-mobile-journal-tabs { min-height:44px!important; padding:5px 10px!important; gap:5px!important; }
    .vet-mobile-journal-tabs button { min-height:34px!important; height:34px!important; font-size:10px!important; }
    .vet-mobile-journal-stage { padding:8px 10px!important; }
    .vet-mobile-journal-panel { max-width:1000px!important; margin:0 auto!important; padding:10px!important; }
    .vet-mobile-journal-panel label { font-size:10px!important; }
    .vet-mobile-journal-panel input:not([type="file"]),.vet-mobile-journal-panel select,.vet-mobile-journal-panel textarea { min-height:32px!important; height:32px!important; font-size:11px!important; }
    #vetMobJournalPanel-notater textarea { font-size:13px!important; }
    .vet-mobile-journal-savebar { min-height:48px!important; padding:6px 12px!important; }
    .vet-mobile-journal-savebar #lagreJournalKnapp { min-height:36px!important; height:36px!important; font-size:11px!important; }
    body.vet-mobile-patients-full #eierSide { padding:14px 18px!important; }
    body.vet-mobile-patients-full #vetSpContent { height:calc(100dvh - 108px)!important; }
  }

  /* Lavere mobiler: komprimer enda litt mer, fortsatt uten scroll. */
  @media (max-height: 700px) {
    body.vet-mobile-dashboard-full #dashboardSide { grid-template-rows:36px 60px minmax(0,1fr) 34px!important; gap:4px!important; }
    #dashboardSide .vet-dashboard-cards article { height:60px!important; padding:4px!important; }
    #dashboardSide .vet-dashboard-cards strong { font-size:19px!important; }
    #dashboardSide .vet-dashboard-actions { height:34px!important; }
    #dashboardSide .vet-dashboard-actions button,
    #dashboardSide .vet-mobile-dashboard-menu { min-height:31px!important; height:31px!important; }
    .vet-mobile-journal-tabs { min-height:34px!important; padding:3px 4px!important; }
    .vet-mobile-journal-tabs button { min-height:27px!important; height:27px!important; font-size:7px!important; }
    .vet-mobile-journal-stage { padding:4px!important; }
    .vet-mobile-journal-panel { padding:4px!important; gap:2px!important; }
    .vet-mobile-journal-panel input:not([type="file"]),
    .vet-mobile-journal-panel select,
    .vet-mobile-journal-panel button { min-height:22px!important; height:22px!important; font-size:7.5px!important; }
  }
}

/* v19: betaling/faktura direkte fra journal */
.vet-journal-betalingsknapper{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:6px;width:100%;min-width:0}
.vet-journal-betalingsknapper button{margin:0!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.vet-mobile-journal-savebar{grid-template-columns:minmax(0,1fr) auto!important}
.vet-mobile-journal-savebar .vet-journal-betalingsknapper button{height:32px!important;min-height:32px!important;padding:4px 7px!important;font-size:9px!important;border-radius:8px!important}
@media(max-width:480px){
  .vet-mobile-journal-savebar{grid-template-columns:1fr!important;padding:4px 5px max(5px,env(safe-area-inset-bottom))!important}
  .vet-mobile-journal-savebar #journalMelding{max-width:100%!important;font-size:8px!important;line-height:1.1!important}
  .vet-journal-betalingsknapper{grid-template-columns:.65fr 1fr 1.15fr;gap:4px}
  .vet-mobile-journal-savebar .vet-journal-betalingsknapper button{font-size:8px!important;padding:3px 4px!important}
}

/* v21: sikre at journalhandlingene alltid er synlige i fullskjermjournal */
.vet-journal-betalingsknapper{display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:.75fr 1fr 1.15fr!important;gap:6px!important;width:100%!important}
.vet-journal-betalingsknapper #journalTaBetaltKnapp,
.vet-journal-betalingsknapper #journalSendFakturaKnapp,
.vet-journal-betalingsknapper #lagreJournalKnapp{display:block!important;visibility:visible!important;opacity:1!important}
.vet-mobile-journal-savebar .vet-journal-betalingsknapper{align-items:stretch!important}
@media(max-width:640px){
  .vet-journal-betalingsknapper{grid-template-columns:.7fr 1fr 1.2fr!important;gap:4px!important}
}


/* v28: Logg ut skal alltid ligge over fullskjerm-dashboard/journal. */
#vetLoggUtKnapp.vet-logg-ut-fast{
  position:fixed!important;
  right:18px!important;
  top:330px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:2147483646!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:92px!important;
  min-height:44px!important;
  padding:10px 14px!important;
  margin:0!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:800!important;
  transform:none!important;
  clip:auto!important;
}
@media(max-width:640px){
  #vetLoggUtKnapp.vet-logg-ut-fast{
    right:8px!important;
    top:118px!important;
    min-width:72px!important;
    min-height:40px!important;
    padding:8px 10px!important;
    font-size:11px!important;
  }
}
body.vet-ab-fullscreen #vetLoggUtKnapp.vet-logg-ut-fast{display:none!important;}
