/* Interaction surfaces use the established Vevelstadsaga palette. Printed art is untouched. */
@media screen {
  .vs-shell-page { --vs-border:#cbd8d1; --vs-ink:#1E2B1A; --vs-muted:#335B56; --vs-green:#155f55; }
  .vs-shell { min-height:64px; padding:8px 24px; display:flex; gap:20px; align-items:center; background:#FAF3E8; color:var(--vs-ink); border-bottom:1px solid var(--vs-border); font:14px/1.4 Inter,sans-serif; position:relative; z-index:90; box-sizing:border-box; }
  .vs-shell a { text-decoration:none; color:inherit; }
  .vs-home { display:flex; gap:9px; align-items:center; flex-shrink:0; font-weight:750; }
  .vs-home img { width:32px; height:38px; object-fit:contain; }
  .vs-location { display:flex; gap:14px; align-items:center; min-width:0; }
  .vs-location strong { font-family:Nunito,sans-serif; font-size:18px; font-weight:900; }
  .vs-location a { color:var(--vs-green); white-space:nowrap; }
  .vs-navigation { display:flex; gap:4px; margin-left:auto; }
  .vs-navigation a { display:flex; align-items:center; gap:6px; padding:10px; min-height:44px; box-sizing:border-box; border-radius:8px; font-weight:600; }
  .vs-navigation svg { width:18px; height:18px; }
  .vs-navigation a[aria-current] { background:#e1ece6; color:var(--vs-green); }
  .vs-navigation a:hover { background:#F0E6D4; }
  .vs-help { margin-left:auto; }
  .vs-navigation + .vs-help { margin-left:0; }
  .vs-shell-page .vs-actionbar { position:relative; top:auto; min-height:64px; padding:10px 24px!important; gap:10px!important; background:#fffdf8!important; color:var(--vs-ink)!important; border-bottom:1px solid var(--vs-border); box-shadow:none; display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; z-index:80; }
  .vs-shell-page .vs-actionbar:has(.vs-old-location):not(:has(button,select,details,.meny)) { display:none!important; }
  .vs-shell-page .vs-old-location { display:none!important; }
  .vs-actionbar .save-status,.vs-actionbar [role=status] { margin-right:auto!important; color:var(--vs-muted)!important; font:500 13px/1.45 Inter,sans-serif!important; max-width:none!important; text-align:left!important; }
  .vs-actionbar button,.vs-actionbar select,.vs-actionbar .tb-btn,.vs-shell-page .vs-menu > summary { min-height:44px; box-sizing:border-box; padding:10px 14px!important; border:1px solid var(--vs-border)!important; border-radius:8px!important; background:#fff!important; color:var(--vs-green)!important; font:650 14px/1.4 Inter,sans-serif!important; margin:0; cursor:pointer; text-decoration:none; }
  .vs-shell-page .vs-actionbar .vs-primary,.vs-shell-page .form-finish > summary { background:var(--vs-green)!important; color:#fff!important; border-color:var(--vs-green)!important; }
  .vs-shell-page .vs-menu { position:relative; padding:0!important; background:transparent!important; max-width:none!important; flex-shrink:0; }
  .vs-menu > summary { list-style:none; display:flex; align-items:center; gap:10px; white-space:nowrap; }
  .vs-menu > summary::-webkit-details-marker { display:none; }
  .vs-menu > summary::after { content:''; width:6px; height:6px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); margin-top:-4px; }
  .vs-menu-panel { position:fixed; z-index:10000; overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; padding:8px; border:1px solid var(--vs-border); border-radius:12px; background:#fffdf8; color:var(--vs-ink); }
  .vs-menu:not([open]) > .vs-menu-panel { display:none!important; }
  .vs-shell-page .vs-menu-panel button,.vs-shell-page .vs-menu-panel a { position:static!important; width:100%!important; display:flex!important; gap:8px; align-items:center; min-height:44px; height:auto; padding:12px!important; margin:0!important; border:0!important; border-radius:7px!important; text-align:left; text-decoration:none; background:transparent!important; color:var(--vs-ink)!important; font:600 14px/1.4 Inter,sans-serif!important; box-shadow:none!important; white-space:normal; cursor:pointer; }
  .vs-shell-page .vs-menu-panel button:hover,.vs-shell-page .vs-menu-panel a:hover { background:#e7eee9!important; }
  .vs-menu-panel button:disabled { opacity:.5; cursor:wait; }
  .vs-shell-page .vs-menu-panel .tip,.vs-menu-panel p { display:block!important; color:var(--vs-muted)!important; font:400 13px/1.5 Inter,sans-serif!important; padding:8px 12px!important; margin:0!important; max-width:none!important; white-space:normal; }
  .vs-shell-page .vs-menu-panel [data-danger] { color:#a43623!important; }
  .vs-shell-page :is(button,a,summary,input,textarea,select,[contenteditable]):focus-visible { outline:3px solid #1A7A6E; outline-offset:3px; }
  .vs-shell-page ::selection { background:#F5C93E; color:#1E2B1A; }
  .vs-shell-page input,.vs-shell-page textarea { caret-color:#155f55; }
  .vs-help-action .tb-nyt { margin-left:auto; }
  .vs-shell-page .hj-panel { bottom:84px; max-height:calc(100dvh - 110px); }
  .vs-shell-page .tb-knapp,.vs-shell-page .hj-knapp { position:static!important; }
  .vs-shell-page .tb-bak { z-index:10002; }
  .vs-shell-page .hj-panel { z-index:10002; }
  @media(max-width:1050px) {
    .vs-home span { display:none; }
    .vs-shell { gap:12px; }
  }
  @media(max-width:760px) {
    .vs-shell-page { padding-bottom:84px!important; }
    .vs-shell { padding:8px 14px; min-height:60px; gap:10px; }
    .vs-home img { width:25px; height:34px; }
    .vs-location { gap:8px; flex:1; flex-wrap:wrap; line-height:1.2; }
    .vs-location strong { font-size:17px; }
    .vs-location a { font-size:12px; }
    .vs-navigation { position:fixed; bottom:0; inset-inline:0; background:#fffdf8; border-top:1px solid var(--vs-border); padding:5px 8px max(5px,env(safe-area-inset-bottom)); justify-content:space-around; z-index:95; }
    .vs-navigation a { flex-direction:column; gap:3px; flex:1; font-size:11px; padding:7px 3px; min-height:54px; }
    .vs-navigation svg { width:21px; height:21px; }
    .vs-shell-page .vs-actionbar { padding:8px 14px!important; gap:8px!important; min-height:60px; justify-content:flex-start; }
    .vs-actionbar .save-status,.vs-actionbar [role=status] { flex-basis:100%; font-size:12px!important; }
    .vs-actionbar > div:has(> .tb-btn) { width:100%; }
    .vs-shell-page .vs-actionbar button,.vs-shell-page .vs-menu > summary { padding:10px 12px!important; font-size:13px!important; }
    .vs-shell-page .vs-menu-panel button { font-size:14px!important; }
    .vs-shell-page .draft-note { font-size:12px; line-height:1.5; margin:0; padding:12px 16px; }
  }
  /* Capacitor already owns the bottom navigation and safe areas. */
  html.vs-native .vs-navigation,body.vs-native .vs-navigation { display:none!important; }
}
@media print { .vs-shell,.vs-menu-panel { display:none!important; } }
@media screen {
 .tool-search{margin:0 0 18px;scroll-margin-top:20px}.tool-search h2{font:900 26px Nunito,sans-serif;margin:0 0 14px}.tool-search label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.tool-search input{width:100%;box-sizing:border-box;min-height:46px;border:1px solid #b6c9bf;border-radius:8px;background:#fff;padding:10px 14px;font:16px Inter,sans-serif}.tool-results{font-size:13px;color:#335B56;margin-top:10px}.tool-jump{display:inline-flex;min-height:44px;align-items:center;gap:8px;margin:0 0 22px;padding:0 16px;border:1px solid #b6c9bf;border-radius:8px;font:650 14px Inter,sans-serif;color:#155f55;background:#fff;text-decoration:none}.tool-group{grid-column:1/-1;font:800 18px Nunito,sans-serif;margin:14px 0 0}.tool-group:first-child{margin-top:0}
 .vs-shell-page .tiles{gap:12px}.vs-shell-page .tile{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:14px;row-gap:3px;padding:18px;border:1px solid #d8dfd7;border-radius:12px;box-shadow:none;transition:background .15s}.vs-shell-page .tile:hover{transform:none;background:#fffdf8;box-shadow:none;border-color:#1A7A6E}.vs-shell-page .tile .ico{grid-row:1/3;width:48px;height:56px;margin:0;background:transparent}.vs-shell-page .tile .ico img{width:48px;height:56px}.vs-shell-page .tile h3{font-size:17px;padding-right:30px}.vs-shell-page .tile p{font-size:13px;line-height:1.45}.vs-shell-page .tile .badge{top:12px;right:10px;font-size:9px;padding:3px 5px}.vs-shell-page .tile[hidden],.tool-group[hidden]{display:none!important}
}

@media screen{
 .vs-shell-page .vs-empty-toolbar,.vs-actionbar>.brand,.vs-actionbar>.topbar-logo{display:none!important}
 .vs-account .epost{display:none!important}.vs-account .meny-knapp{min-height:44px;border:1px solid #cbd8d1;border-radius:8px;background:#fff;color:#155f55;padding:10px 12px;font:650 14px Inter,sans-serif}.vs-account .meny-panel{right:0;max-width:calc(100vw - 24px)}.vs-has-update::before{content:'';width:8px;height:8px;border-radius:50%;background:#C85D3A}
 .vs-shell-page.vs-tools-page .sidelister{display:none}.vs-shell-page.vs-tools-page .dash.med-liste .dash-kolonner{display:block}.vs-tools-page .tool-jump,.vs-tools-page .tool-search h2{display:none}
 .vs-shell-page .vs-menu-panel .tb-ny,.vs-shell-page .vs-menu-panel .tb-teller{position:static;margin-left:auto}
}
@media screen and (max-width:760px){
 .vs-actionbar .save-status{order:-1!important}.vs-account .meny-knapp{font-size:12px;padding:10px}.vs-shell:has(.vs-account){gap:8px}.vs-shell:has(.vs-account) .vs-home{display:none}
}
@media screen {
 html.vs-native .vs-shell-page{padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))!important}
 .vs-native.vs-tools .tile{display:flex}
 .vs-native.vs-tools .tool-group{padding:16px 18px 8px;margin:0;background:#FAF3E8}
}
@media (prefers-reduced-motion:reduce){.vs-shell-page *{scroll-behavior:auto!important}}
.vs-download-receipt{position:relative;z-index:85;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 20px;background:#e6f0e9;border-bottom:1px solid #b6c9bf;color:#1E2B1A;font:13px/1.5 Inter,sans-serif}.vs-download-receipt span{flex:1 1 220px;overflow-wrap:anywhere}.vs-download-receipt a,.vs-download-receipt button{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #b6c9bf;border-radius:8px;background:white;color:#155f55;font:650 14px Inter,sans-serif;text-decoration:none;cursor:pointer}.vs-download-receipt button{margin-left:auto}@media print{.vs-download-receipt{display:none!important}}

@media screen {
  .vs-account .meny-panel { background:#fffdf8; border:1px solid var(--vs-border); padding:8px; border-radius:12px; box-sizing:border-box; }
  .vs-account .meny-panel a { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; box-sizing:border-box; padding:12px; border-radius:7px; font:600 14px/1.4 Inter,sans-serif; color:var(--vs-ink); text-decoration:none; cursor:pointer; }
  .vs-account .meny-panel a:hover { background:#e7eee9; }
  .vs-account .meny-panel a.ut { color:#a43623; }
  .vs-account .skille,.vs-account hr { display:block; height:1px; border:0; background:var(--vs-border); margin:6px 8px; }
  .vs-account .meny-knapp .pil { font-size:0; width:6px; height:6px; border-right:1.5px solid; border-bottom:1.5px solid; transform:rotate(45deg); margin:-4px 2px 0 4px; opacity:1; }
  .vs-account .meny-knapp[aria-expanded=true] .pil { transform:rotate(225deg); margin-top:3px; }
  .vs-menu-panel button[aria-pressed]::before { content:''; display:block; box-sizing:border-box; width:18px; height:18px; flex:0 0 18px; border:1.5px solid currentColor; border-radius:4px; }
  .vs-menu-panel button[aria-pressed=true]::before { background:var(--vs-green); box-shadow:inset 0 0 0 3px #fffdf8; }
  .vs-menu-panel [role=status][hidden] { display:none!important; }
}

/* Meldinger og Kalender i hovedmenyen (2026-10-21): seks valg. Ulest-tallet sitter på ikonet. */
@media screen {
  .vs-navigation a { position:relative; }
  .vs-badge { min-width:18px; height:18px; padding:0 5px; box-sizing:border-box; border-radius:9px; background:#A43623; color:#fff; font:700 11px/18px Inter,sans-serif; text-align:center; }
  @media(max-width:1180px) and (min-width:761px) {
    .vs-navigation a { padding:10px 8px; font-size:13px; }
  }
  @media(max-width:960px) and (min-width:761px) {
    .vs-navigation a { flex-direction:column; gap:2px; font-size:11px; padding:5px 6px; }
  }
  @media(max-width:760px) {
    .vs-navigation { padding-inline:2px; }
    .vs-navigation a { flex:1 1 auto; min-width:0; padding:7px 1px; font-size:10.5px; }
    .vs-navigation a span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .vs-badge { position:absolute; top:3px; left:calc(50% + 4px); }
  }
}
