/* Verkstadskartan v174 — locked C3 map-first mockup */
:root{
  --c3-bg:var(--vg-bg);--c3-panel:var(--vg-surface);--c3-panel-2:var(--vg-surface-2);--c3-line:var(--vg-line);
  --c3-gold:var(--vg-accent);--c3-gold-2:var(--vg-accent);--c3-text:var(--vg-ink);--c3-muted:var(--vg-muted);
}
html,body{background:var(--c3-bg)!important;color:var(--c3-text)}
.hdr{height:62px!important;min-height:62px!important;padding:0 22px!important;background:var(--vg-bg)!important;border-bottom:1px solid var(--vg-line)!important;box-shadow:0 2px 14px rgba(0,0,0,.28)!important;z-index:1250!important}
.brand{gap:8px!important}.brand-logo{width:42px!important;height:32px!important}.brand-name{font-size:1.06rem!important;font-weight:900!important}.brand-sub{display:none!important}
.c3-primary-nav{display:flex;align-items:stretch;gap:26px;height:100%;margin-left:54px}
.c3-primary-nav-link{position:relative;display:flex;align-items:center;border:0;background:transparent;color:var(--vg-ink);font:800 .86rem/1 inherit;cursor:pointer;text-decoration:none;padding:0 2px}
.c3-primary-nav-link.is-active,.c3-primary-nav-link:hover{color:var(--c3-gold)}
.c3-primary-nav-link.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--c3-gold)}
.hdr .nav{height:100%;align-items:center!important;gap:6px!important}
.hdr .nav>[data-nav="home"],.hdr .nav>#suggest-dd,.hdr .nav>[data-nav="leaderboard"],.hdr .nav>[data-nav="tools"],.hdr .nav>[data-nav="admin"]{display:none!important}
.hdr .nav>[data-nav="saved"]{display:flex!important;border:0!important;background:transparent!important}.hdr .nav>[data-nav="saved"] .label:before{content:""}.hdr .nav>[data-nav="saved"] .label{font-size:.82rem}
#theme-toggle{display:none!important}
#acct-btn{display:flex!important;background:var(--vg-surface)!important;border:1px solid var(--vg-line)!important;border-radius:999px!important;min-height:38px!important}
.main-menu-btn{display:flex!important}

/* HOME — map is the canvas */
#view-home{position:relative!important;height:calc(100dvh - 62px)!important;min-height:620px!important;overflow:hidden!important;background:var(--vg-bg)!important;padding:0!important}
#view-home>.home-shell{position:relative!important;display:block!important;width:100%!important;height:100%!important;overflow:hidden!important}
#view-home .map-pane{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:100%!important;border:0!important;background:var(--vg-bg)!important;overflow:hidden!important}
#view-home #map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important}
#view-home .home-sidebar{position:absolute!important;z-index:70!important;top:18px!important;left:22px!important;width:min(700px,calc(100vw - 440px))!important;min-width:600px!important;height:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;pointer-events:none!important;overflow:visible!important}
#view-home .filterbar{position:relative!important;pointer-events:auto!important;display:block!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
#view-home .search-intro,#view-home .search-choice-label,#view-home .popular-brand-row,#view-home .brand-radius-hint,#view-home .active-filter-strip,#view-home .brand-choice-group,#view-home .compact-radius,#view-home #search-btn{display:none!important}
#view-home .search-stack{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;align-items:center!important;padding:0!important}
#view-home .search-pill{grid-column:1/-1!important;grid-row:1!important;height:46px!important;min-height:46px!important;margin:0!important;border:1px solid var(--vg-line)!important;border-radius:10px!important;background:color-mix(in srgb,var(--vg-surface) 95%,transparent)!important;box-shadow:0 10px 28px rgba(0,0,0,.28)!important;backdrop-filter:blur(12px)!important}
#view-home .search-pill .field{height:44px!important;min-height:44px!important;color:var(--vg-ink)!important;font-size:.86rem!important}
#view-home .search-pill-icon{color:var(--vg-ink)!important}
#view-home .vehicle-choice-group,#view-home .vehicle-control-row,#view-home .workshop-type-choice,#view-home .category-buttons,#view-home .search-actions{display:contents!important}
#view-home .btn-jour{display:flex!important;height:42px!important;min-width:0!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:0 11px!important;border:1px solid var(--vg-line)!important;border-radius:999px!important;background:color-mix(in srgb,var(--vg-surface) 94%,transparent)!important;color:var(--vg-ink)!important;font-size:.76rem!important;font-weight:850!important;box-shadow:0 8px 20px rgba(0,0,0,.18)!important}
#view-home .jour-bolt,#view-home .vk-vehicle-icon{width:16px!important;height:16px!important;color:currentColor!important}
#view-home .jour-bolt svg,#view-home .vk-vehicle-icon svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}





#view-home .btn-jour{grid-column:1!important;grid-row:3!important;margin:0!important}


#view-home .btn-jour.is-active,#view-home .btn-jour[aria-pressed="true"]{background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent))!important;color:var(--vg-accent-ink)!important;border-color:var(--vg-accent)!important;box-shadow:0 0 0 1px rgba(255,214,108,.15),0 8px 24px color-mix(in srgb,var(--vg-accent) calc(.25*100%),transparent)!important}
#view-home .jour-switch{display:none!important}
#view-home .route-planner{position:absolute!important;left:calc(60% + 8px)!important;right:0!important;top:104px!important;margin:0!important;z-index:2!important;border:0!important;background:transparent!important;pointer-events:auto!important}
#view-home .route-planner>summary{display:flex!important;height:42px!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0 14px!important;border:1px solid var(--c3-gold)!important;border-radius:999px!important;background:color-mix(in srgb,var(--vg-surface) 96%,transparent)!important;color:var(--c3-gold)!important;font-size:.75rem!important;font-weight:900!important;list-style:none!important;cursor:pointer!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important}
#view-home .route-planner>summary::-webkit-details-marker{display:none}
#view-home .route-planner[open]{width:360px!important;right:auto!important}
#view-home .route-planner-body{margin-top:8px!important;padding:12px!important;border:1px solid var(--vg-line)!important;border-radius:12px!important;background:var(--vg-surface)!important;box-shadow:0 18px 46px rgba(0,0,0,.45)!important}
#view-home .list-pane{display:none!important}
#view-home .mobile-home-switch{display:none!important}
#view-home .map-search-area{display:none!important}
#view-home .map-area-label{display:none!important}

/* Floating selected workshop card — intentionally no workshop image */
#view-home .map-workshop-card{position:absolute!important;z-index:72!important;top:18px!important;right:22px!important;width:340px!important;max-width:calc(100vw - 44px)!important;padding:18px!important;border:1px solid var(--vg-line)!important;border-radius:16px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--vg-surface) 98%,transparent),color-mix(in srgb,var(--vg-surface) 99%,transparent))!important;box-shadow:0 24px 65px rgba(0,0,0,.52)!important;color:var(--vg-ink)!important;backdrop-filter:blur(16px)!important}
#view-home .map-workshop-card[hidden]{display:none!important}
#view-home .map-card-close{top:10px!important;right:10px!important;width:30px!important;height:30px!important;background:var(--vg-surface-2)!important;border:1px solid var(--vg-line)!important;color:var(--vg-ink)!important;border-radius:50%!important}
#view-home .map-card-head{display:block!important;padding-right:36px!important}.workshop-logo-map{display:none!important}
#view-home .map-card-head h3{margin:0 0 6px!important;font-size:1.22rem!important;line-height:1.15!important}.map-card-address{margin:0!important;color:var(--vg-ink)!important;font-size:.82rem!important}
#view-home .map-card-status{display:flex;align-items:center;gap:7px;margin-top:9px;color:var(--vg-ink);font-size:.82rem}.map-card-status .status-dot{width:10px;height:10px;border-radius:50%;background:#2ee58b;box-shadow:0 0 14px rgba(46,229,139,.32)}
#view-home .map-card-badges{display:flex!important;gap:6px!important;flex-wrap:wrap!important;margin:12px 0 14px!important}.map-card-badge{height:29px!important;padding:0 9px!important;border:1px solid var(--vg-line)!important;border-radius:8px!important;background:var(--vg-surface-2)!important;color:var(--vg-ink)!important;font-size:.69rem!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;gap:5px!important}.map-card-badge.is-jour{color:var(--vg-accent)!important;border-color:#735b27!important;background:var(--vg-accent-soft)!important}
#view-home .map-card-route,#view-home .map-card-origin{display:none!important}
#view-home .map-card-more{display:none!important}
#view-home .map-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0!important}.map-card-actions a,.map-card-actions button{min-height:42px!important;border:1px solid var(--vg-line)!important;border-radius:10px!important;background:var(--vg-surface-2)!important;color:var(--vg-ink)!important;text-decoration:none!important;font-weight:850!important;font-size:.78rem!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important}.map-card-actions .is-primary{grid-column:1/-1!important;background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent))!important;color:var(--vg-accent-ink)!important;border-color:var(--vg-accent)!important}.map-card-actions svg{width:17px!important;height:17px!important}

/* Map controls */
#view-home .map-toolbar{position:absolute!important;z-index:73!important;right:18px!important;top:auto!important;bottom:84px!important;display:flex!important;flex-direction:column!important;gap:7px!important}.map-toolbar button{width:42px!important;height:42px!important;border-radius:11px!important;border:1px solid var(--vg-line)!important;background:var(--vg-surface)!important;color:var(--vg-ink)!important;box-shadow:0 8px 24px rgba(0,0,0,.28)!important}.map-toolbar #map-fit-results{display:none!important}
.c3-map-bottom{position:absolute;z-index:74;left:22px;right:78px;bottom:18px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.c3-map-type,.c3-map-bottom-actions{display:flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--vg-line);border-radius:12px;background:color-mix(in srgb,var(--vg-surface) 94%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.32);pointer-events:auto;backdrop-filter:blur(12px)}
.c3-map-type button,.c3-map-bottom-actions button{height:38px;border:0;border-radius:9px;background:transparent;color:var(--vg-ink);font:850 .76rem/1 inherit;padding:0 15px;display:flex;align-items:center;gap:7px;cursor:pointer}.c3-map-type button.is-active{background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent));color:var(--vg-surface)}.c3-map-bottom-actions button:hover{color:var(--c3-gold)}.c3-map-bottom-actions svg{width:17px;height:17px}.c3-map-bottom-actions b{font-weight:900}

/* Filter/list sheets */
.c3-sheet-backdrop{position:fixed;inset:62px 0 0;z-index:1300;background:rgba(0,8,12,.38);backdrop-filter:blur(2px)}
.c3-bottom-sheet{position:fixed;z-index:1310;right:22px;bottom:22px;width:min(440px,calc(100vw - 44px));max-height:calc(100dvh - 106px);overflow:hidden;border:1px solid var(--vg-line);border-radius:18px;background:var(--vg-surface);color:var(--vg-ink);box-shadow:0 28px 80px rgba(0,0,0,.62)}
.c3-list-sheet{width:min(480px,calc(100vw - 44px))}.c3-sheet-handle{display:none}.c3-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;border-bottom:1px solid var(--vg-line)}.c3-sheet-head h2{margin:0;font-size:1.25rem}.c3-sheet-head h2 span{color:var(--c3-muted);font-size:.82rem}.c3-sheet-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--vg-line);background:var(--vg-surface-2);color:var(--vg-ink);font-size:1.35rem;cursor:pointer}.c3-sheet-body{padding:15px 18px 18px;overflow:auto;max-height:calc(100dvh - 180px)}.c3-filter-section{display:grid;gap:9px;padding:12px 0;border-bottom:1px solid var(--vg-line)}.c3-filter-section:last-of-type{border-bottom:0}.c3-filter-section h3,.c3-filter-section>label{margin:0;color:var(--vg-ink);font-size:.82rem;font-weight:850}.c3-radius-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.c3-radius-options button{height:38px;border:1px solid var(--vg-line);border-radius:9px;background:var(--vg-surface-2);color:var(--vg-ink);font-weight:800}.c3-radius-options button.is-active{background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent));color:var(--vg-accent-ink);border-color:var(--vg-accent)}.c3-filter-toggles label{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:7px 0;cursor:pointer}.c3-filter-toggles label span{display:grid;gap:2px}.c3-filter-toggles small{color:var(--vg-muted);font-size:.67rem}.c3-filter-toggles input{position:absolute;opacity:0;pointer-events:none}.c3-filter-toggles i{position:relative;width:42px;height:24px;border-radius:999px;background:var(--vg-line);border:1px solid var(--vg-line);flex:0 0 auto}.c3-filter-toggles i:after{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;border-radius:50%;background:var(--vg-ink);transition:.18s}.c3-filter-toggles input:checked+i{background:var(--vg-accent);border-color:var(--vg-accent)}.c3-filter-toggles input:checked+i:after{transform:translateX(18px);background:#fff}.c3-filter-apply{width:100%;min-height:46px;margin-top:14px;background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent))!important;color:var(--vg-accent-ink)!important;border-color:var(--vg-accent)!important;font-weight:900!important}
.c3-list-results{overflow:auto;max-height:calc(100dvh - 148px);padding:10px 14px 16px}.c3-list-item{padding:13px 2px;border-bottom:1px solid var(--vg-line)}.c3-list-item:last-child{border-bottom:0}.c3-list-item-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.c3-list-item h3{margin:0;font-size:.93rem}.c3-list-distance{color:var(--vg-muted);font-size:.7rem;white-space:nowrap}.c3-list-address{margin:4px 0 5px;color:var(--vg-muted);font-size:.72rem}.c3-list-status{display:flex;align-items:center;gap:6px;color:var(--vg-ink);font-size:.72rem}.c3-list-status.is-open{color:#31e58d}.c3-list-tags{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0}.c3-list-tags span{padding:4px 7px;border-radius:6px;background:var(--vg-surface-2);color:var(--vg-ink);font-size:.62rem;font-weight:800}.c3-list-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.c3-list-actions a,.c3-list-actions button{height:34px;border:1px solid var(--vg-line);border-radius:8px;background:var(--vg-surface-2);color:var(--vg-ink);font-weight:800;font-size:.69rem;text-decoration:none;display:flex;align-items:center;justify-content:center}.c3-list-actions .is-primary{background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent));color:var(--vg-accent-ink);border-color:var(--vg-accent)}
.c3-about-panel{position:fixed;z-index:1310;top:84px;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 40px));padding:28px;border:1px solid var(--vg-line);border-radius:18px;background:var(--vg-surface);box-shadow:0 28px 80px rgba(0,0,0,.62)}.c3-about-panel .c3-sheet-close{position:absolute;right:12px;top:12px}.c3-about-kicker{color:var(--c3-gold);font-size:.68rem;font-weight:900;letter-spacing:.12em}.c3-about-panel h2{margin:7px 0 8px;font-size:1.45rem}.c3-about-panel p{margin:0;color:var(--vg-muted);line-height:1.6}

/* DETAIL — workshop page follows the right-side mockup */
#view-detail{background:var(--vg-bg)!important;min-height:calc(100dvh - 62px)!important}
#view-detail .detail-wrap{width:min(1320px,100%)!important;max-width:1320px!important;margin:0 auto!important;padding:24px 28px 70px!important}
#view-detail .back-link{margin-bottom:18px!important;color:var(--vg-ink)!important;background:transparent!important;border:0!important;padding:0!important}.workshop-logo-detail{display:none!important}
#view-detail .detail-head{display:grid!important;grid-template-columns:minmax(0,1fr) 430px!important;gap:34px!important;align-items:end!important;margin:0!important;padding:0 0 18px!important;border-bottom:0!important}
#view-detail .detail-identity-copy h1{font-size:2rem!important;line-height:1.08!important;margin:0 0 7px!important;letter-spacing:-.025em!important}.detail-sub{font-size:.9rem!important;color:var(--vg-ink)!important;margin:0 0 8px!important}.detail-trust-row{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:10px!important}.detail-trust-row .tag,.detail-trust-row .pill{height:30px!important;padding:0 10px!important;border-radius:8px!important;background:var(--vg-surface-2)!important;border:1px solid var(--vg-line)!important;color:var(--vg-ink)!important;font-size:.68rem!important;font-weight:850!important;display:inline-flex!important;align-items:center!important}.detail-trust-row .jour-tag,.detail-trust-row .jour-verified-badge{color:var(--vg-accent)!important;background:var(--vg-accent-soft)!important;border-color:#725a26!important}
#view-detail .detail-identity-copy>.card-meta{margin-top:9px!important}.detail-identity-copy>.card-meta .dist-tag{display:none!important}.detail-identity-copy>.card-meta .pill{border:0!important;background:transparent!important;padding:0!important;height:auto!important;color:#31e58d!important;font-size:.82rem!important}.detail-identity-copy>.card-meta .pill.closed{color:#ff8a8a!important}
#view-detail .detail-actions{display:grid!important;grid-template-columns:1fr 1.45fr 1fr 1fr!important;gap:8px!important;align-self:end!important}.detail-actions .btn{min-height:44px!important;border-radius:10px!important;padding:0 12px!important;font-size:.78rem!important;font-weight:850!important}.detail-actions [data-conversion="phone"]{background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent))!important;color:var(--vg-surface)!important;border-color:var(--vg-accent)!important}.detail-actions [data-conversion="directions"]:after{content:"Vägbeskrivning"}.detail-actions [data-conversion="directions"]{font-size:0!important}.detail-actions [data-conversion="directions"]:after{font-size:.78rem}.detail-actions #detail-favorite,.detail-actions #share-workshop,.detail-actions [data-conversion="directions"]{background:var(--vg-surface-2)!important;border:1px solid var(--vg-line)!important;color:var(--vg-ink)!important}
#view-detail .detail-c3-tabs{display:flex!important;gap:22px!important;align-items:center!important;height:48px!important;margin:0!important;border-top:1px solid var(--vg-surface)!important;border-bottom:1px solid var(--vg-line)!important;overflow-x:auto!important}.detail-c3-tabs a{height:48px!important;display:flex!important;align-items:center!important;position:relative!important;text-decoration:none!important;color:var(--vg-ink)!important;font-size:.75rem!important;font-weight:800!important;white-space:nowrap!important}.detail-c3-tabs a.is-active{color:var(--c3-gold)!important}.detail-c3-tabs a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--c3-gold);border-radius:3px 3px 0 0}
#view-detail .detail-area-panel{margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.detail-area-panel>.panel-head,.detail-map-viewbar{display:none!important}
#view-detail .aerial{height:620px!important;min-height:620px!important;border:1px solid var(--vg-line)!important;border-radius:13px!important;overflow:hidden!important;background:var(--vg-bg)!important;margin-top:10px!important}.detail-map-type-switch{left:16px!important;top:auto!important;bottom:16px!important;background:color-mix(in srgb,var(--vg-surface) 92%,transparent)!important;border:1px solid var(--vg-line)!important;border-radius:10px!important;padding:4px!important;box-shadow:0 8px 20px rgba(0,0,0,.3)!important}.detail-map-type-switch>span{display:none!important}.detail-map-type-switch>div{display:flex!important}.detail-map-type-switch button{height:36px!important;padding:0 13px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--vg-ink)!important;font-weight:850!important}.detail-map-type-switch button.is-active{background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent))!important;color:var(--vg-surface)!important}.legend{display:none!important}
#view-detail .detail-overview-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin-top:18px!important}.detail-service-panel,.detail-hours-panel{background:var(--vg-surface)!important;border:1px solid var(--vg-line)!important;border-radius:13px!important;box-shadow:none!important}.detail-service-panel .panel-head,.detail-hours-panel .panel-head{padding:16px!important}.detail-service-panel .panel-body,.detail-hours-panel .panel-body{padding:0 16px 16px!important}.detail-service-panel h2,.detail-hours-panel h2{font-size:1rem!important}.detail-source-strip,.detail-secondary-actions,.contributor-panel{margin-top:12px!important}.verification-strip{background:var(--vg-surface)!important;border-color:var(--vg-line)!important}

@media(max-width:900px){
  .hdr{height:58px!important;min-height:58px!important;padding:0 14px!important}.brand-logo{width:34px!important;height:27px!important}.brand-name{font-size:.9rem!important}.c3-primary-nav,.hdr .nav>[data-nav="saved"],#acct-btn{display:none!important}.hdr-spacer{flex:1!important}
  #view-home{height:calc(100dvh - 58px)!important;min-height:0!important;padding:0!important}
  #view-home .home-sidebar{display:block!important;position:absolute!important;z-index:70!important;top:10px!important;left:10px!important;right:10px!important;width:auto!important;min-width:0!important;height:auto!important;pointer-events:none!important;overflow:visible!important}
  #view-home .filterbar{pointer-events:auto!important}
  #view-home .search-stack{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
  #view-home .search-pill{grid-column:1/-1!important;height:42px!important;min-height:42px!important}.search-pill .field{height:40px!important;min-height:40px!important;font-size:.76rem!important}
  #view-home .btn-jour{height:36px!important;font-size:.67rem!important;padding:0 7px!important;gap:5px!important}
  
  #view-home .btn-jour{grid-column:1!important;grid-row:4!important}
  #view-home .route-planner{position:static!important;width:100%!important;margin-top:6px!important}.route-planner>summary{height:36px!important;font-size:.67rem!important}.route-planner[open]{width:100%!important}.route-planner-body{margin-top:6px!important}
  #view-home .map-workshop-card{top:auto!important;left:10px!important;right:10px!important;bottom:72px!important;width:auto!important;max-height:min(48dvh,430px)!important;padding:14px!important;border-radius:16px!important;overflow:auto!important}.map-card-head h3{font-size:1.12rem!important}.map-card-badges{margin:9px 0 11px!important}.map-card-actions a,.map-card-actions button{min-height:38px!important;font-size:.72rem!important}
  #view-home .map-toolbar{right:10px!important;bottom:74px!important}.map-toolbar button{width:40px!important;height:40px!important}.map-toolbar #map-layer-toggle{display:none!important}
  .c3-map-bottom{left:10px;right:10px;bottom:10px;gap:6px}.c3-map-type,.c3-map-bottom-actions{padding:3px;gap:3px}.c3-map-type button,.c3-map-bottom-actions button{height:36px;padding:0 9px;font-size:.66rem}.c3-map-bottom-actions{margin-left:auto}.c3-map-bottom-actions svg{width:15px;height:15px}
  .c3-sheet-backdrop{inset:58px 0 0}.c3-bottom-sheet{left:0;right:0;bottom:0;width:100%!important;max-width:none!important;max-height:82dvh;border-radius:20px 20px 0 0;border-left:0;border-right:0;border-bottom:0}.c3-sheet-handle{display:block;width:44px;height:4px;border-radius:999px;background:var(--vg-line);margin:8px auto 0}.c3-sheet-head{padding:10px 16px 12px}.c3-sheet-body{max-height:calc(82dvh - 62px);padding:10px 16px 18px}.c3-list-results{max-height:calc(82dvh - 64px);padding:6px 14px 20px}.c3-about-panel{top:auto;bottom:0;width:100%;border-radius:20px 20px 0 0}
  #view-home .mobile-home-switch{display:none!important}
  #view-detail{min-height:calc(100dvh - 58px)!important}.hdr+ #view-detail{}
  #view-detail .detail-wrap{padding:14px 12px 40px!important}.back-link{margin-bottom:12px!important}.detail-head{display:block!important;padding-bottom:10px!important}.detail-identity-copy h1{font-size:1.45rem!important}.detail-sub{font-size:.75rem!important}.detail-actions{grid-template-columns:1fr 1.4fr!important;margin-top:12px!important}.detail-actions #detail-favorite,.detail-actions #share-workshop{grid-row:2!important}.detail-actions .btn{min-height:40px!important;font-size:.7rem!important}.detail-c3-tabs{gap:18px!important;height:42px!important}.detail-c3-tabs a{height:42px!important;font-size:.66rem!important}.detail-area-panel{margin-top:0!important}.aerial,#view-detail #detail-map{height:430px!important;min-height:430px!important}.detail-overview-grid{grid-template-columns:1fr!important}.detail-secondary-actions,.detail-source-strip{display:none!important}
}
#view-detail .detail-trust-row .map-card-badge{height:30px!important;padding:0 10px!important;border-radius:8px!important;background:var(--vg-surface-2)!important;border:1px solid var(--vg-line)!important;color:var(--vg-ink)!important;font-size:.68rem!important;font-weight:850!important;display:inline-flex!important;align-items:center!important}.detail-trust-row .map-card-badge.is-jour{color:var(--vg-accent)!important;background:var(--vg-accent-soft)!important;border-color:#725a26!important}
.map-card-drag{display:none}
@media(max-width:900px){#view-home .map-workshop-card .map-card-drag{display:block;width:42px;height:4px;border-radius:999px;background:var(--vg-line);margin:-5px auto 8px;touch-action:none;cursor:grab}}
.c3-layer-help{margin:0 0 12px;color:var(--vg-muted);font-size:.72rem;line-height:1.45}.c3-layer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.c3-layer-grid button{height:40px;border:1px solid var(--vg-line);border-radius:9px;background:var(--vg-surface-2);color:var(--vg-ink);font-weight:850;font-size:.72rem}.c3-layer-grid button.is-active{background:color-mix(in srgb,var(--vg-accent) calc(.14*100%),transparent);border-color:var(--vg-accent);color:var(--vg-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vg-accent) calc(.12*100%),transparent)}.c3-layer-reset{width:100%;margin-top:12px}
body.detail-route-active>.hdr{display:none!important}body.detail-route-active #view-detail{min-height:100dvh!important}body.detail-route-active #view-detail .detail-wrap{padding-top:22px!important}
@media(max-width:900px){body.detail-route-active #view-detail{min-height:100dvh!important}body.detail-route-active #view-detail .detail-wrap{padding-top:14px!important}}

/* v174 final specificity lock — overrides legacy v89/v173 hard rules */
html:not(.vk-phone):not(.vk-mobile-hard) #view-home{height:calc(100dvh - 62px)!important;min-height:620px!important;padding:0!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home>.home-shell{display:block!important;height:100%!important;overflow:hidden!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .map-pane{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar{position:absolute!important;z-index:70!important;top:18px!important;left:22px!important;width:min(700px,calc(100vw - 440px))!important;min-width:600px!important;max-width:700px!important;height:auto!important;overflow:visible!important;background:transparent!important;pointer-events:none!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .filterbar{display:block!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;pointer-events:auto!important;overflow:visible!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .search-stack{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;align-items:center!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .search-intro,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .search-choice-label,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .popular-brand-row,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .brand-radius-hint,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .active-filter-strip,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .brand-choice-group,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .compact-radius,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home #search-btn{display:none!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .vehicle-choice-group,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .vehicle-control-row,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .workshop-type-choice,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .category-buttons,
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .search-actions{display:contents!important}

html:not(.vk-phone):not(.vk-mobile-hard) #view-home .btn-jour{display:flex!important;height:42px!important;min-width:0!important;border-radius:999px!important}





html:not(.vk-phone):not(.vk-mobile-hard) #view-home .btn-jour{grid-column:1!important;grid-row:3!important}


html:not(.vk-phone):not(.vk-mobile-hard) #view-home .route-planner{display:block!important;position:absolute!important;left:calc(60% + 8px)!important;right:0!important;top:104px!important;width:auto!important;margin:0!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .list-pane{display:none!important;visibility:hidden!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .map-search-area{display:none!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .map-toolbar{top:auto!important;right:18px!important;bottom:84px!important;z-index:73!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .map-workshop-card{top:18px!important;right:22px!important;bottom:auto!important;width:340px!important;max-height:calc(100% - 108px)!important;padding:18px!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-detail .detail-wrap{max-width:1320px!important;padding:24px 28px 70px!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-detail .detail-head{grid-template-columns:minmax(0,1fr) 430px!important;gap:34px!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-detail .aerial,
html:not(.vk-phone):not(.vk-mobile-hard) #view-detail #detail-map{height:620px!important;min-height:620px!important}

html.vk-phone #view-home.active,html.vk-mobile-hard #view-home.active{display:block!important;height:calc(100dvh - 58px)!important;max-height:calc(100dvh - 58px)!important;padding:0!important;overflow:hidden!important}
html.vk-phone #view-home>.home-shell,html.vk-mobile-hard #view-home>.home-shell{display:block!important;position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important}
html.vk-phone #view-home .map-pane,html.vk-mobile-hard #view-home .map-pane{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important}
html.vk-phone #view-home .home-sidebar,html.vk-mobile-hard #view-home .home-sidebar{display:block!important;position:absolute!important;z-index:70!important;top:10px!important;left:10px!important;right:10px!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;overflow:visible!important;pointer-events:none!important}
html.vk-phone #view-home .home-sidebar>.filterbar.search-layout,html.vk-mobile-hard #view-home .home-sidebar>.filterbar.search-layout{display:block!important;position:relative!important;width:100%!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;background:transparent!important;border:0!important;pointer-events:auto!important}
html.vk-phone #view-home .search-intro,html.vk-mobile-hard #view-home .search-intro,
html.vk-phone #view-home .search-choice-label,html.vk-mobile-hard #view-home .search-choice-label,
html.vk-phone #view-home .brand-choice-group,html.vk-mobile-hard #view-home .brand-choice-group,
html.vk-phone #view-home .compact-radius,html.vk-mobile-hard #view-home .compact-radius,
html.vk-phone #view-home #search-btn,html.vk-mobile-hard #view-home #search-btn,
html.vk-phone #view-home .active-filter-strip,html.vk-mobile-hard #view-home .active-filter-strip{display:none!important}
html.vk-phone #view-home .search-stack,html.vk-mobile-hard #view-home .search-stack{display:grid!important;position:static!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;height:auto!important;gap:6px!important;overflow:visible!important}
html.vk-phone #view-home .search-stack>*,html.vk-mobile-hard #view-home .search-stack>*{width:auto!important;max-width:none!important}
html.vk-phone #view-home .vehicle-choice-group,html.vk-mobile-hard #view-home .vehicle-choice-group,
html.vk-phone #view-home .vehicle-control-row,html.vk-mobile-hard #view-home .vehicle-control-row,
html.vk-phone #view-home .workshop-type-choice,html.vk-mobile-hard #view-home .workshop-type-choice,
html.vk-phone #view-home .category-buttons,html.vk-mobile-hard #view-home .category-buttons,
html.vk-phone #view-home .search-actions,html.vk-mobile-hard #view-home .search-actions{display:contents!important}
html.vk-phone #view-home .search-pill,html.vk-mobile-hard #view-home .search-pill{display:flex!important;grid-column:1/-1!important;grid-row:1!important;width:100%!important;height:42px!important;min-height:42px!important}

html.vk-phone #view-home .btn-jour,html.vk-mobile-hard #view-home .btn-jour{display:flex!important;width:auto!important;min-width:0!important;min-height:36px!important;height:36px!important;padding:0 7px!important}





html.vk-phone #view-home .btn-jour,html.vk-mobile-hard #view-home .btn-jour{grid-column:1!important;grid-row:4!important}


html.vk-phone #view-home .route-planner,html.vk-mobile-hard #view-home .route-planner{display:block!important;position:static!important;width:100%!important;margin-top:6px!important}
html.vk-phone #view-home .list-pane,html.vk-mobile-hard #view-home .list-pane{display:none!important}
html.vk-phone #view-home .mobile-home-switch,html.vk-mobile-hard #view-home .mobile-home-switch{display:none!important}
html.vk-phone #view-home .map-workshop-card,html.vk-mobile-hard #view-home .map-workshop-card{display:block;position:absolute!important;top:auto!important;left:10px!important;right:10px!important;bottom:72px!important;width:auto!important;max-height:min(48dvh,430px)!important}
html.vk-phone #view-home .map-workshop-card[hidden],html.vk-mobile-hard #view-home .map-workshop-card[hidden]{display:none!important}
html.vk-phone #view-home .map-toolbar,html.vk-mobile-hard #view-home .map-toolbar{top:auto!important;right:10px!important;bottom:74px!important}
/* Verkstadskartan v175 — approved C3 navigation, admin and UX pass */
:root{--v175-gold:var(--vg-accent);--v175-gold2:var(--vg-accent);--v175-bg:var(--vg-bg);--v175-panel:var(--vg-surface);--v175-panel2:var(--vg-surface);--v175-line:var(--vg-line);--v175-text:var(--vg-ink);--v175-muted:var(--vg-muted)}

/* Exact hamburger structure */
.vk-main-menu[hidden]{display:none!important}
.vk-main-menu{position:fixed;z-index:20050;top:66px;right:18px;width:min(330px,calc(100vw - 24px));padding:8px;border:1px solid var(--vg-line);border-radius:16px;background:linear-gradient(180deg,var(--vg-surface),var(--vg-surface));box-shadow:0 24px 70px rgba(0,0,0,.55);backdrop-filter:blur(18px)}
.vk-main-menu a,.vk-main-menu button{width:100%;min-height:48px;display:flex;align-items:center;gap:12px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:var(--vg-ink);text-decoration:none;font:800 .88rem/1.1 inherit;text-align:left;cursor:pointer}
.vk-main-menu a:hover,.vk-main-menu button:hover{background:var(--vg-surface);color:var(--vg-accent)}
.vk-menu-ico{width:28px;height:28px;border:1px solid var(--vg-line);border-radius:8px;display:grid;place-items:center;color:var(--vg-accent);font-weight:900;flex:0 0 28px}
.vk-main-menu [role="menuitem"]+ [role="menuitem"]{margin-top:2px}
@media(max-width:700px){.vk-main-menu{top:58px;left:8px;right:8px;width:auto;border-radius:14px}.vk-main-menu a,.vk-main-menu button{min-height:52px;font-size:.92rem}}

/* The legacy nav destinations remain in the DOM for routing/auth logic but no longer leak into the UI. */
.hdr .nav>#suggest-dd,.hdr .nav>[data-nav="leaderboard"],.hdr .nav>[data-nav="tools"],.hdr .nav>[data-nav="admin"]{display:none!important}

/* About / release notes */
.about-wrap{max-width:1100px;margin:0 auto;padding:42px 24px 80px}
.vk-about-hero{padding:28px 0 30px}.vk-about-hero h1{font-size:clamp(2.1rem,6vw,4rem);margin:8px 0 12px;letter-spacing:-.04em}.vk-about-hero p{max-width:720px;color:var(--v175-muted);font-size:1.05rem;line-height:1.6}.vk-about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.vk-release-list{margin:14px 0 0;padding-left:20px;display:grid;gap:10px;line-height:1.45}
.vk-update-card{position:fixed;z-index:18000;left:18px;bottom:18px;width:min(390px,calc(100vw - 36px));padding:18px;border:1px solid color-mix(in srgb,var(--vg-accent) calc(.45*100%),transparent);border-radius:16px;background:linear-gradient(180deg,var(--vg-surface),var(--vg-surface));box-shadow:0 22px 65px rgba(0,0,0,.52);color:var(--vg-ink)}.vk-update-card>strong{display:block;font-size:1.05rem;color:var(--vg-accent);padding-right:30px}.vk-update-card ul{padding-left:19px;margin:10px 0 14px;display:grid;gap:6px;color:var(--vg-ink);font-size:.86rem;line-height:1.35}.vk-update-card>div{display:flex;gap:8px}.vk-update-close{position:absolute;right:9px;top:8px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--vg-ink);font-size:1.4rem;cursor:pointer}

/* First visit guide */
.vk-onboarding[hidden]{display:none!important}.vk-onboarding{position:fixed;inset:0;z-index:21000;display:grid;place-items:center;padding:18px;background:var(--vg-scrim);backdrop-filter:blur(7px)}.vk-onboarding-card{position:relative;width:min(460px,100%);padding:28px;border:1px solid var(--vg-line);border-radius:18px;background:linear-gradient(180deg,var(--vg-surface),var(--vg-surface));box-shadow:0 35px 90px rgba(0,0,0,.65)}.vk-onboarding-card>button:first-child{position:absolute;right:16px;top:14px;border:0;background:none;color:var(--vg-muted);cursor:pointer}.vk-onboarding-card>span{display:inline-grid;place-items:center;min-width:52px;height:28px;padding:0 8px;border-radius:999px;background:#34280e;color:var(--vg-accent);font-weight:900;font-size:.74rem}.vk-onboarding-card h2{font-size:1.55rem;margin:16px 0 8px}.vk-onboarding-card p{color:var(--vg-muted);line-height:1.55;margin:0 0 24px}.vk-onboarding-card>div{display:flex;justify-content:flex-end;gap:8px}

/* Detail feedback and temporary messages */
.detail-feedback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 14px;padding:9px 12px;border:1px solid var(--vg-line);border-radius:12px;background:var(--vg-surface);color:var(--vg-muted);font-size:.82rem}.detail-feedback span{margin-right:4px}.temporary-workshop-notice{border-color:#9a6e1c!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--vg-accent) calc(.08*100%),transparent) inset}.temporary-notice-editor{border-color:#735a25!important}

/* Admin v175 — seven clear work areas */
#view-admin{background:var(--vg-bg)!important;min-height:calc(100dvh - 62px)!important}.admin-wrap{max-width:none!important;padding:0!important}.admin-shell-v175{display:grid!important;grid-template-columns:270px minmax(0,1fr)!important;min-height:calc(100dvh - 62px)!important;background:var(--vg-bg)!important}.admin-shell-v175 .admin-sidebar{position:sticky!important;top:62px!important;height:calc(100dvh - 62px)!important;padding:22px 14px 16px!important;background:linear-gradient(180deg,var(--vg-surface),var(--vg-bg))!important;border-right:1px solid var(--vg-line)!important;overflow:auto!important}.admin-shell-v175 .admin-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px!important;border-bottom:1px solid var(--vg-line)!important}.admin-shell-v175 .admin-brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,var(--vg-accent),var(--vg-accent));color:var(--vg-accent-ink);font-size:.8rem;font-weight:1000}.admin-shell-v175 .admin-brand strong{display:block;color:var(--vg-ink)}.admin-shell-v175 .admin-brand small{display:block;color:var(--vg-muted);margin-top:2px}.admin-shell-v175 .admin-side-nav{display:grid;gap:5px;padding:16px 0}.admin-shell-v175 .admin-side-nav button{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:46px;padding:0 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--vg-ink);text-align:left;font:800 .83rem/1.1 inherit;cursor:pointer}.admin-shell-v175 .admin-side-nav button:hover{background:var(--vg-surface-2);color:var(--vg-ink)}.admin-shell-v175 .admin-side-nav button.active{background:linear-gradient(90deg,color-mix(in srgb,var(--vg-accent) calc(.16*100%),transparent),color-mix(in srgb,var(--vg-accent) calc(.05*100%),transparent));border-color:color-mix(in srgb,var(--vg-accent) calc(.32*100%),transparent);color:var(--vg-accent)}.admin-shell-v175 .admin-side-nav button b{min-width:24px;height:22px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#3b2d0c;color:var(--vg-accent);font-size:.68rem}.admin-nav-icon{width:26px;height:26px;display:grid;place-items:center;color:var(--vg-accent)}.admin-side-account{margin-top:auto;padding:14px 8px 0;border-top:1px solid var(--vg-line);display:grid;gap:5px}.admin-side-account small{color:var(--vg-muted);overflow-wrap:anywhere}.admin-side-account button,.admin-to-app{width:max-content;border:0;background:none;color:var(--vg-ink);text-decoration:none;padding:4px 0;cursor:pointer;font:700 .78rem/1 inherit}.admin-to-app{color:var(--vg-accent)}.admin-shell-v175 .admin-main{min-width:0;padding:26px 30px 70px!important}.admin-shell-v175 .admin-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 16px}.admin-shell-v175 .admin-section-head h1{font-size:1.65rem;margin:5px 0 4px}.admin-shell-v175 .admin-section-head p{margin:0;color:var(--vg-muted)}.admin-back-overview{border:0;background:none;color:var(--vg-accent);padding:0;cursor:pointer;font-weight:800}.admin-shell-v175 .admin-subtabs{display:flex;gap:6px;flex-wrap:wrap;padding:6px;margin:0 0 16px;border:1px solid var(--vg-line);border-radius:12px;background:var(--vg-surface)}.admin-shell-v175 .admin-subtabs button{min-height:38px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--vg-muted);font-weight:800;cursor:pointer}.admin-shell-v175 .admin-subtabs button.active{background:var(--vg-surface-2);color:var(--vg-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vg-accent) calc(.24*100%),transparent)}.admin-shell-v175 .admin-subtabs span{margin-left:5px;padding:2px 6px;border-radius:999px;background:var(--vg-line);font-size:.68rem}.admin-shell-v175 .admin-tools{display:grid;grid-template-columns:minmax(260px,1fr) 190px 150px auto;gap:8px;align-items:center;margin-bottom:16px}.admin-shell-v175 .admin-dashboard-head .admin-version{background:var(--vg-surface)!important;color:var(--vg-accent)!important;border:1px solid var(--vg-line)!important}.admin-shell-v175 .admin-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.admin-shell-v175 .admin-dashboard-card,.admin-shell-v175 .panel,.admin-shell-v175 .jour-review-card{border-color:var(--vg-line)!important;background:linear-gradient(180deg,var(--vg-surface),var(--vg-surface))!important}.jour-rental-rule{padding:10px 12px;border:1px solid var(--vg-line);border-radius:10px;background:var(--vg-surface);display:grid;gap:3px}.jour-rental-rule span{color:var(--vg-muted);font-size:.75rem}.jour-review-actions{display:flex!important;gap:7px!important;flex-wrap:wrap!important}.jour-review-actions .btn{min-height:38px!important}

/* Status / errors stay legible */
.notice.search-error,.notice.warn{border-radius:12px!important}.search-error .btn{margin-top:8px}

@media(max-width:1000px){.admin-shell-v175{grid-template-columns:220px minmax(0,1fr)!important}.admin-shell-v175 .admin-main{padding:22px 18px 60px!important}.admin-shell-v175 .admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-shell-v175 .admin-tools{grid-template-columns:1fr 1fr!important}.vk-about-grid{grid-template-columns:1fr}}
@media(max-width:720px){.admin-shell-v175{display:block!important}.admin-shell-v175 .admin-sidebar{position:relative!important;top:0!important;width:auto!important;height:auto!important;padding:12px!important}.admin-shell-v175 .admin-brand{padding-bottom:12px!important}.admin-shell-v175 .admin-side-nav{display:flex!important;overflow:auto!important;gap:7px!important;padding:12px 0 6px!important;scrollbar-width:none}.admin-shell-v175 .admin-side-nav::-webkit-scrollbar{display:none}.admin-shell-v175 .admin-side-nav button{display:flex!important;flex:0 0 auto!important;min-height:40px!important;width:auto!important;padding:0 12px!important}.admin-shell-v175 .admin-side-nav .admin-nav-icon{display:none!important}.admin-shell-v175 .admin-side-account{display:none!important}.admin-shell-v175 .admin-main{padding:16px 12px 54px!important}.admin-shell-v175 .admin-section-head{align-items:flex-start!important;flex-direction:column!important}.admin-shell-v175 .admin-section-head>.btn{width:100%!important}.admin-shell-v175 .admin-tools{grid-template-columns:1fr!important}.admin-shell-v175 .admin-kpi-grid{grid-template-columns:1fr 1fr!important}.about-wrap{padding:24px 14px 70px}.vk-about-grid{grid-template-columns:1fr}.vk-update-card{left:10px;right:10px;bottom:10px;width:auto}}
.admin-system-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.admin-system-grid>div{padding:14px;border:1px solid var(--vg-line);border-radius:12px;background:var(--vg-surface);display:grid;gap:4px}.admin-system-grid span,.admin-system-grid small{color:var(--vg-muted);font-size:.74rem}.admin-system-grid strong{color:var(--vg-ink);font-size:1rem}.admin-system-grid .status-online{color:var(--vg-ok)}@media(max-width:900px){.admin-system-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.admin-system-grid{grid-template-columns:1fr}}
/* v175 accessibility pass */
:where(button,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--vg-accent) calc(.72*100%),transparent)!important;outline-offset:2px!important}
@media(pointer:coarse){.vk-main-menu a,.vk-main-menu button,.admin-shell-v175 .admin-side-nav button,.detail-feedback .btn{min-height:48px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
/* ========================================================================== 
   Verkstadskartan v180 — isolated C3 search/filter panel
   This file deliberately does NOT reuse the legacy .filterbar/.search-stack
   layout. Desktop is selected by device class, not viewport width, so a PC
   remains the desktop composition even in a narrow browser window.
   ========================================================================== */



html:not(.vk-phone):not(.vk-mobile-hard) #view-home>.home-shell{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .map-pane{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar{
  position:absolute!important;
  z-index:90!important;
  top:24px!important;
  left:32px!important;
  right:32px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .list-pane{
  display:none!important;
  visibility:hidden!important;
}
































html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:66px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route>summary{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  height:66px!important;
  min-height:66px!important;
  margin:0!important;
  padding:0 20px!important;
  box-sizing:border-box!important;
  list-style:none!important;
  border:2px solid var(--vg-accent)!important;
  border-radius:22px!important;
  background:var(--vg-surface)!important;
  color:var(--vg-accent)!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:clamp(.78rem,1.35vw,1.16rem)!important;
  font-weight:950!important;
}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route>summary::-webkit-details-marker{display:none!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route[open]>summary{background:color-mix(in srgb,var(--vg-accent) calc(.13*100%),transparent)!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route .c3-route-icon{width:30px!important;height:30px!important;min-width:30px!important;color:var(--vg-accent)!important}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route-body{
  position:absolute!important;
  z-index:160!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  width:min(760px,calc(100vw - 64px))!important;
  display:grid!important;
  grid-template-columns:1fr 1fr minmax(180px,.7fr) auto!important;
  gap:10px!important;
  padding:14px!important;
  box-sizing:border-box!important;
  border:1px solid var(--vg-line)!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--vg-surface) 99%,transparent)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.42)!important;
}
html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route-body .route-planner-status{grid-column:1/-1!important;margin:0!important}



/* Tight desktop windows: keep the SAME three-row composition. Only scale the
   dimensions, never rearrange into the legacy mobile/chip layout. */
@media (max-width:900px){
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar{top:10px!important;left:10px!important;right:10px!important}
  
  
  
  
  
  
  
  
  
  
  
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route,
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route>summary{height:54px!important;min-height:54px!important;border-radius:16px!important}
  
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route>summary{font-size:.76rem!important;padding:0 9px!important;gap:6px!important}
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route .c3-route-icon{width:20px!important;height:20px!important;min-width:20px!important}
}

/* Real phones/tablets: responsive version of the same component. */
html.vk-phone #view-home .home-sidebar,
html.vk-mobile-hard #view-home .home-sidebar{
  display:block!important;position:absolute!important;z-index:90!important;top:8px!important;left:8px!important;right:8px!important;width:auto!important;height:auto!important;min-width:0!important;max-width:none!important;overflow:visible!important;background:transparent!important;border:0!important;pointer-events:none!important
}


















html.vk-phone #view-home .c3-v180-route,
html.vk-mobile-hard #view-home .c3-v180-route{position:relative!important;height:44px!important}
html.vk-phone #view-home .c3-v180-route>summary,
html.vk-mobile-hard #view-home .c3-v180-route>summary{height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;list-style:none!important;border:1px solid var(--vg-accent)!important;border-radius:12px!important;background:var(--vg-surface)!important;color:var(--vg-accent)!important;font-size:.72rem!important;font-weight:950!important}
html.vk-phone #view-home .c3-v180-route-body,
html.vk-mobile-hard #view-home .c3-v180-route-body{position:absolute!important;z-index:160!important;top:calc(100% + 7px)!important;left:0!important;right:0!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:10px!important;border:1px solid var(--vg-line)!important;border-radius:12px!important;background:var(--vg-bg)!important;box-shadow:0 16px 40px rgba(0,0,0,.45)!important}
/* ========================================================================== 
   Verkstadskartan v182 — compact desktop filter panel
   Keeps v180's structural layout, but scales it to the agreed PC footprint.
   ========================================================================== */

@media (min-width: 901px) {
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar {
    top: 18px !important;
    left: 50% !important;
    right: auto !important;
    width: min(1220px, calc(100vw - 40px)) !important;
    max-width: 1220px !important;
    transform: translateX(-50%) !important;
  }

  

  /* Row 1: search + prominent JOUR + filter, without consuming full-screen height. */
  

  

  

  

  

  

  

  

  /* Row 2: five equal, normal-sized category controls. */
  

  

  

  /* Row 3: Lätt/Tung stay normal-size, route remains the larger special action. */
  

  

  

  

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route {
    width: 420px !important;
    min-width: 420px !important;
    max-width: 420px !important;
    height: 52px !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route > summary {
    width: 420px !important;
    height: 52px !important;
    min-height: 52px !important;
    border-radius: 16px !important;
    padding: 0 16px !important;
    gap: 9px !important;
    font-size: .92rem !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route .c3-route-icon {
    width: 23px !important;
    height: 23px !important;
    min-width: 23px !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route-body {
    width: min(720px, calc(100vw - 48px)) !important;
  }
}

/* Mid-size PC windows: retain the same structure, scale the fixed controls a little. */
@media (min-width: 901px) and (max-width: 1199px) {
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar {
    width: min(1080px, calc(100vw - 28px)) !important;
  }
  
  
  
  
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route,
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route > summary {
    width: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
  }
}
/* ========================================================================== 
   Verkstadskartan v184 — vertical C3 filter rail (desktop)
   Approved layout: compact panel in the upper-left corner, top-to-bottom.
   Mobile keeps the existing compact mobile controls.
   ========================================================================== */

@media (min-width: 700px) {
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home > .home-shell {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .map-pane {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar {
    position: fixed !important;
    z-index: 95 !important;
    top: calc(var(--header-h, 64px) + 18px) !important;
    left: 22px !important;
    right: auto !important;
    width: 386px !important;
    max-width: calc(100vw - 44px) !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .list-pane {
    display: none !important;
    visibility: hidden !important;
  }

  

  /* Search is the first full-width row. */
  

  

  

  

  

  

  

  /* Keep advanced filters available, but as a discreet icon inside the search row. */
  

  

  

  

  /* JOUR is deliberately prominent and occupies its own row. */
  

  

  

  /* Workshop categories are a true vertical list. */
  

  

  

  

  

  

  

  

  

  /* Hyrbil: Lätt/Tung remain visible but clearly unavailable. */
  

  

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route > summary {
    appearance: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 58px !important;
    min-height: 58px !important;
    box-sizing: border-box !important;
    padding: 0 14px !important;
    border: 1.5px solid var(--vg-accent) !important;
    border-radius: 15px !important;
    background: var(--vg-surface) !important;
    color: var(--vg-accent) !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    list-style: none !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route > summary::-webkit-details-marker { display: none !important; }
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route > summary:hover,
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route[open] > summary {
    background: color-mix(in srgb,var(--vg-accent) calc(.10*100%),transparent) !important;
    border-color: var(--vg-accent) !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-route-icon {
    width: 25px !important;
    height: 25px !important;
    min-width: 25px !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route-body {
    margin-top: 9px !important;
    padding: 12px !important;
    border: 1px solid var(--vg-line) !important;
    border-radius: 14px !important;
    background: var(--vg-surface) !important;
  }

  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .active-filter-strip {
    order: 6 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  /* Never let old horizontal sizing rules leak back into this rail. */
  
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route,
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route > summary {
    max-width: none !important;
  }
}

/* Slightly tighter desktop rail for short laptop displays. */
@media (min-width: 700px) and (max-height: 760px) {
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar {
    top: calc(var(--header-h, 64px) + 12px) !important;
    width: 358px !important;
  }
  
  
  
  
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .c3-v180-route > summary {
    height: 51px !important;
    min-height: 51px !important;
  }
  
}
/* ========================================================================== 
   v187 — workshop identity cleanup
   No VK placeholder as workshop media. Real verified logos are optional and
   compact; when absent the name/address consume the full available width.
   ========================================================================== */

/* The former large workshop-photo/logo area is removed completely. This also
   protects mixed-cache clients where old JS may briefly emit the element. */
#view-home .map-card-media{display:none!important}

/* A real official/chain logo may appear beside the identity, never as a hero. */
.workshop-logo-inline{
  width:34px!important;height:34px!important;min-width:34px!important;
  border-radius:9px!important;margin:0!important;padding:0!important;
  border-color:color-mix(in srgb,var(--vg-accent) calc(.28*100%),transparent)!important;background:var(--vg-ink)!important;
  box-shadow:none!important;align-self:flex-start!important;
}
.workshop-logo-inline img{padding:5%!important;transform:none!important;object-fit:contain!important}

#view-home .map-workshop-card .map-card-head{
  display:flex!important;grid-template-columns:none!important;align-items:flex-start!important;gap:10px!important;
  padding-right:34px!important;min-width:0!important;
}
#view-home .map-workshop-card .map-card-head>div{min-width:0!important;flex:1 1 auto!important}
#view-home .map-workshop-card .map-card-head h3{
  margin:0 0 4px!important;line-height:1.12!important;overflow-wrap:anywhere!important;
}
#view-home .map-workshop-card .map-card-address{margin:0!important;line-height:1.35!important}

#view-detail .detail-identity{display:flex!important;align-items:flex-start!important;gap:10px!important;min-width:0!important}
#view-detail .detail-identity-copy{min-width:0!important;flex:1 1 auto!important}
#view-detail .detail-identity-copy h1{overflow-wrap:anywhere!important}
#view-detail .workshop-logo-detail{display:none!important}

/* Result cards: collapse the old dedicated logo column when there is no real
   logo. This avoids the empty gutter left by the former VK placeholder. */
@media (max-width:860px), (hover:none) and (pointer:coarse){
  #view-home .card-top.no-logo{
    grid-template-columns:42px minmax(0,1fr)!important;
  }
  #view-home .card-top.no-logo>span[style*="flex:1"]{
    grid-column:2!important;grid-row:1/3!important;
  }
  #view-home .card-top.no-logo .card-right{grid-column:2!important}
  #view-home .card:has(.card-top.no-logo) .card-route-info,
  #view-home .card:has(.card-top.no-logo) .card-open-status,
  #view-home .card:has(.card-top.no-logo) .card-meta,
  #view-home .card:has(.card-top.no-logo) .jour-confirm{
    margin-left:52px!important;width:calc(100% - 52px)!important;
  }
}
@media (max-width:390px){
  #view-home .card-top.no-logo{grid-template-columns:38px minmax(0,1fr)!important}
  #view-home .card:has(.card-top.no-logo) .card-route-info,
  #view-home .card:has(.card-top.no-logo) .card-open-status,
  #view-home .card:has(.card-top.no-logo) .card-meta,
  #view-home .card:has(.card-top.no-logo) .jour-confirm{
    margin-left:46px!important;width:calc(100% - 46px)!important;
  }
}

/* Desktop list cards also stop reserving width for a missing logo. */
@media (min-width:861px){
  #view-home .card-top.no-logo .workshop-logo-card{display:none!important}
}

.logo-admin-none{
  display:inline-flex;align-items:center;min-height:38px;padding:0 10px;
  border:1px dashed var(--border);border-radius:9px;color:var(--text-muted);font-size:.78rem;
}
/* ========================================================================== 
   Verkstadskartan v188 — desktop filter rail viewport containment
   Fixes a cascade collision where v182's translateX(-50%) remained active
   after v184 moved the vertical rail to the upper-left corner.
   ========================================================================== */

@media (min-width: 700px) {
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar {
    /* v182 centred this element with left:50% + translateX(-50%).
       v184 changed left but did not reset the transform, pushing half the
       rail outside the viewport. Keep the vertical rail fully on-screen. */
    left: 22px !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    width: min(386px, calc(100vw - 44px)) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 44px) !important;
    box-sizing: border-box !important;

    max-height: calc(100dvh - var(--header-h, 64px) - 36px) !important;
  }

  
}

/* Short laptop windows keep the compact width from v184, but never leave the
   viewport. */
@media (min-width: 700px) and (max-height: 760px) {
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar {
    left: 16px !important;
    width: min(358px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    transform: none !important;
  }
}

/* Extra defensive containment for narrow desktop/tablet widths. */
@media (min-width: 700px) and (max-width: 820px) {
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .home-sidebar {
    left: 12px !important;
    width: min(360px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    transform: none !important;
  }
}
/* ==========================================================================
   Verkstadskartan v189 — dense-map UX, filter placement and role visibility
   ========================================================================== */

/* Hidden must win over older header layout rules that forced Admin to flex. */
/* Match/exceed the older header selectors: several legacy rules use
   display:flex!important on #admin-nav. The hidden state must win. */
.hdr .nav > #admin-nav[hidden],
.hdr .nav.menu-open > #admin-nav[hidden],
#main-menu-admin[hidden],
#acct-admin[hidden] { display: none !important; }

/* The search field no longer reserves room for the old filter icon. */
@media (min-width:700px) {
  

  
  
  
  

  /* Desktop filter panel opens directly beside the main selection rail. */
  #c3-filter-sheet {
    left:416px !important; right:auto !important; top:calc(var(--header-h,64px) + 14px) !important; bottom:auto !important;
    width:min(360px, calc(100vw - 438px)) !important; max-height:calc(100dvh - var(--header-h,64px) - 28px) !important;
  }
  #c3-filter-sheet .c3-sheet-body { max-height:calc(100dvh - var(--header-h,64px) - 96px) !important; }
  #c3-sheet-backdrop { background:rgba(0,8,12,.18) !important; backdrop-filter:blur(1px) !important; }
}

@media (min-width:700px) and (max-height:760px) {
  #c3-filter-sheet { left:382px !important; top:calc(var(--header-h,64px) + 12px) !important; width:min(350px, calc(100vw - 398px)) !important; }
}
@media (min-width:700px) and (max-width:820px) {
  #c3-filter-sheet { left:380px !important; width:calc(100vw - 392px) !important; }
}





/* Compact category legend: color says service; badges say heavy/jour. */
.vk-map-legend { position:absolute; left:14px; bottom:62px; z-index:82; pointer-events:auto; }
.vk-map-legend-toggle {
  height:34px; min-width:34px; padding:0 10px; border:1px solid var(--vg-line); border-radius:11px; background:color-mix(in srgb,var(--vg-surface) 94%,transparent); color:var(--vg-ink); box-shadow:0 8px 24px rgba(0,0,0,.34); font-weight:900; cursor:pointer;
}
.vk-map-legend-toggle span { margin-left:4px; font-size:.74rem; }
.vk-map-legend-panel {
  position:absolute; left:0; bottom:42px; width:190px; padding:11px; display:grid; gap:8px; border:1px solid var(--vg-line); border-radius:13px; background:color-mix(in srgb,var(--vg-surface) 97%,transparent); color:var(--vg-ink); box-shadow:0 18px 46px rgba(0,0,0,.48);
}
.vk-map-legend-panel[hidden] { display:none !important; }
.vk-map-legend-panel strong { color:var(--vg-accent); font-size:.8rem; }
.vk-map-legend-panel > span { display:flex; align-items:center; gap:8px; font-size:.75rem; font-weight:800; }
.vk-map-legend-panel i { width:13px; height:13px; border-radius:50%; box-shadow:0 0 0 2px rgba(255,255,255,.12); }
.vk-map-legend-panel i[data-kind="mekanisk"] { background:var(--vg-accent); }
.vk-map-legend-panel i[data-kind="dack"] { background:#2dd4bf; }
.vk-map-legend-panel i[data-kind="plat"] { background:#a855f7; }
.vk-map-legend-panel i[data-kind="rental"] { background:#2f8cff; }
.vk-map-legend-panel small { color:var(--vg-muted); line-height:1.45; font-size:.68rem; }
@media(max-width:699px){
  .vk-map-legend { left:10px; bottom:72px; }
  .vk-map-legend-toggle span { display:none; }
}
/* v204: desktop – docked under the search panel by placeMapLegend() in 12-shell.js. */
@media(min-width:861px){
  .vk-map-legend.is-docked { top:var(--vk-legend-top)!important; bottom:auto!important; left:var(--vk-legend-left)!important; }
  .vk-map-legend.is-docked .vk-map-legend-panel { top:42px; bottom:auto; }
}

/* Once Filter moved to the bottom row, mobile search gets the full row. */



/* Map/list selection stays visible in the C3 result drawer. */
.c3-list-item.is-map-selected {
  margin-left:-8px; margin-right:-8px; padding-left:10px; padding-right:10px;
  border-radius:11px; background:color-mix(in srgb,var(--vg-accent) calc(.08*100%),transparent);
  box-shadow:inset 3px 0 0 var(--vg-accent), inset 0 0 0 1px color-mix(in srgb,var(--vg-accent) calc(.18*100%),transparent);
}
/* ========================================================================== 
   Verkstadskartan v190 — layout polish + admin performance UI
   ========================================================================== */

/* Jour now has its own row below Lätt / Tung / Filter. */









/* Keep the marker legend away from Google's Karta/Satellit control. */
.vk-map-legend{bottom:112px!important;}
@media(max-width:699px){.vk-map-legend{bottom:122px!important;}}

/* Fast paged admin lists. */
.admin-paged-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,220px) auto;gap:9px;align-items:center;margin:0 0 14px;}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.admin-pagination span{color:var(--text-muted);font-size:.82rem;font-weight:750;}
.jour-linked-place{display:inline-flex;align-items:center;padding:7px 9px;border:1px solid rgba(70,213,139,.35);border-radius:9px;color:var(--vg-ink);font-size:.76rem;font-weight:800;}
.jour-link-place{border-color:var(--vg-accent)!important;color:var(--vg-accent)!important;}
.jour-link-candidates{display:grid;gap:7px;margin:12px 0;}
.jour-link-candidates>strong{font-size:.82rem;color:var(--text-muted);}
.jour-link-candidate{display:grid;gap:2px;width:100%;text-align:left;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);color:var(--text);cursor:pointer;}
.jour-link-candidate:hover{border-color:var(--vg-accent);}
.jour-link-candidate small,.jour-link-summary span{color:var(--text-muted);}
.jour-link-summary{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);}

/* Satellite views are created only after admin asks for one. */
.admin-marker-review-map.is-lazy{display:grid;place-items:center;min-height:160px!important;background:linear-gradient(145deg,var(--vg-surface),var(--vg-surface))!important;}
.admin-marker-map-load{min-height:44px;padding:0 16px;border:1px solid var(--vg-accent);border-radius:11px;background:color-mix(in srgb,var(--vg-accent) calc(.08*100%),transparent);color:var(--vg-accent);font:inherit;font-weight:850;cursor:pointer;}
.admin-map-loading{display:grid;place-items:center;height:100%;min-height:160px;color:var(--text-muted);font-size:.82rem;}

@media(max-width:720px){
  .admin-paged-tools{grid-template-columns:1fr!important;}
  .admin-pagination{justify-content:space-between;gap:7px;}
  .admin-pagination .btn{min-width:0;}
}


/* ========================================================================== 
   Verkstadskartan v191 — filter/JOUR alignment hotfix
   ========================================================================== */

/* The JOUR wrapper is itself a flex item. Older C3 rules give the other
   panel sections explicit order values, so without an order on the wrapper
   it sorts to the top of the panel. Keep it after Lätt/Tung/Filter. */


@media (min-width: 700px) {
  /* One exact baseline for Lätt, Tung and Filter. */
  

  

  

  

  

  
}

/* Mobile follows the same structure: Lätt/Tung/Filter first, JOUR below. */










/* ========================================================================== 
   Verkstadskartan v193 — one real grid for Lätt / Tung / Filter + JOUR below
   ========================================================================== */

/*
   Important: the traffic wrapper remains in the DOM for JS/accessibility, but
   it must not create a second visual layout. display:contents promotes Lätt and
   Tung into the SAME grid as Filter, so all three share one baseline/height.
*/




@media (min-width:700px){
  
  
  
  
  
  
  
  
}

/* Phone/tablet: same geometry, just a slightly tighter 44 px control height. */










/* ========================================================================== 
   Verkstadskartan v194 — Personbil / Lastbil-buss + coming-soon + install bar
   ========================================================================== */




#view-home .c3-coming-icon{font-size:1rem;opacity:.8}


.c3-coming-services h3{margin:0 0 9px!important}
.c3-coming-service{width:100%;min-height:48px;padding:0 13px;border:1px dashed var(--vg-line);border-radius:12px;background:color-mix(in srgb,var(--vg-surface) 70%,transparent);color:var(--vg-muted);display:flex;align-items:center;justify-content:space-between;gap:10px;font:inherit;font-weight:850;cursor:not-allowed;opacity:.75}
.c3-coming-service small{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}

/* The temporary install suggestion sits at the top of the map on desktop. */
#view-home .main-install-card[hidden]{display:none!important}
#view-home .main-install-card{position:absolute;z-index:86;top:14px;left:22px;right:22px;min-height:74px;padding:10px 12px 10px 16px;box-sizing:border-box;border:1px solid var(--vg-line);border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--vg-surface) 98%,transparent),color-mix(in srgb,var(--vg-surface) 98%,transparent));box-shadow:0 16px 42px rgba(0,0,0,.34);display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,420px) 36px;gap:12px;align-items:center;backdrop-filter:blur(14px)}
#view-home .main-install-copy{display:flex;align-items:center;gap:12px;min-width:0}
#view-home .main-install-copy strong{display:block;color:var(--vg-ink);font-size:.92rem;line-height:1.2}
#view-home .main-install-copy small{display:block;margin-top:4px;color:var(--vg-muted);font-size:.75rem;line-height:1.3}
#view-home .main-install-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--vg-accent) calc(.12*100%),transparent);color:var(--vg-accent);font-size:1.2rem}
#view-home .main-install-action{width:100%;min-height:48px;border:1px solid var(--vg-accent);border-radius:12px;background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent));color:var(--vg-surface);font:inherit;font-weight:950;cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb,var(--vg-accent) calc(.18*100%),transparent)}
#view-home .main-install-dismiss{width:36px;height:36px;border:0;background:transparent;color:var(--vg-muted);font-size:1.7rem;line-height:1;cursor:pointer;border-radius:50%}
#view-home .main-install-dismiss:hover{background:var(--vg-surface-2);color:var(--vg-ink)}
@media(min-width:700px){
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home.has-install-offer .home-sidebar{top:104px!important;max-height:calc(100dvh - var(--header-h,64px) - 122px)!important}
  
}
@media(max-width:699px){
  #view-home .main-install-card{position:fixed;top:auto;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:2000;min-height:0;padding:12px;grid-template-columns:1fr 34px;gap:9px;border-radius:16px}
  #view-home .main-install-copy{grid-column:1/-1;padding-right:32px}
  #view-home .main-install-action{grid-column:1;min-height:48px}
  #view-home .main-install-dismiss{grid-column:2;grid-row:2}
  #view-home .main-install-copy small{font-size:.72rem}
  
}

.c3-search-warning{margin:10px 12px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--vg-accent) calc(.42*100%),transparent);border-radius:11px;background:color-mix(in srgb,var(--vg-accent) calc(.08*100%),transparent);display:grid;gap:3px;color:var(--vg-ink)}
.c3-search-warning strong{font-size:.78rem;color:var(--vg-accent)}.c3-search-warning span{font-size:.72rem;line-height:1.4;color:var(--vg-muted)}

/* ======================================================================
   v196 — authoritative mobile map gestures + protected tool isolation
   ====================================================================== */
html.vk-phone body.standalone-report-view #view-home,
html.vk-mobile-hard body.standalone-report-view #view-home,
body.standalone-report-view #view-home,
body.standalone-report-view .c3-sheet-backdrop,
body.standalone-report-view .c3-bottom-sheet,
body.standalone-report-view .c3-about-panel,
body.standalone-report-view .mobile-home-switch {
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
body.standalone-report-view > main.view:not(.active){display:none !important;}
body.standalone-report-view #view-tma.active,
body.standalone-report-view #view-time-report.active{
  display:block !important;
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:calc(100dvh - var(--header-h,64px)) !important;
  max-height:none !important;
  margin:0 !important;
  overflow:visible !important;
  touch-action:pan-y !important;
}
html.vk-phone body.mobile-map-active,
html.vk-mobile-hard body.mobile-map-active{
  overflow:hidden !important;
  touch-action:none !important;
  overscroll-behavior:none !important;
}
html.vk-phone #view-home.mobile-map-mode,
html.vk-mobile-hard #view-home.mobile-map-mode,
html.vk-phone #view-home.mobile-map-mode .map-pane,
html.vk-mobile-hard #view-home.mobile-map-mode .map-pane,
html.vk-phone #view-home.mobile-map-mode #map,
html.vk-mobile-hard #view-home.mobile-map-mode #map{
  touch-action:none !important;
  overscroll-behavior:none !important;
}

/* ======================================================================
   v197 — mobile list switch + admin classification editor
   ====================================================================== */
@media (max-width: 860px) {
  html.vk-phone #view-home .mobile-home-switch,
  html.vk-mobile-hard #view-home .mobile-home-switch {
    display:block!important;
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:max(10px, env(safe-area-inset-bottom))!important;
    width:auto!important;
    z-index:10020!important;
    padding:5px!important;
    border:1px solid color-mix(in srgb,var(--vg-accent) calc(.42*100%),transparent)!important;
    border-radius:14px!important;
    background:color-mix(in srgb,var(--vg-surface) 96%,transparent)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.42)!important;
    backdrop-filter:blur(14px)!important;
    pointer-events:auto!important;
  }
  html.vk-phone #view-home:not(.mobile-map-mode) .list-pane,
  html.vk-mobile-hard #view-home:not(.mobile-map-mode) .list-pane {
    display:block!important;
    visibility:visible!important;
  }
  html.vk-phone #view-home.mobile-map-mode .list-pane,
  html.vk-mobile-hard #view-home.mobile-map-mode .list-pane {
    display:none!important;
  }
  html.vk-phone #view-home:not(.mobile-map-mode) .map-pane,
  html.vk-mobile-hard #view-home:not(.mobile-map-mode) .map-pane {
    display:none!important;
  }
  html.vk-phone #view-home.mobile-map-mode .map-pane,
  html.vk-mobile-hard #view-home.mobile-map-mode .map-pane {
    display:block!important;
  }
  html.vk-phone #view-home:not(.mobile-map-mode) .mobile-home-switch #mobile-list-btn,
  html.vk-mobile-hard #view-home:not(.mobile-map-mode) .mobile-home-switch #mobile-list-btn {
    display:none!important;
  }
  html.vk-phone #view-home:not(.mobile-map-mode) .mobile-home-switch #mobile-map-btn,
  html.vk-mobile-hard #view-home:not(.mobile-map-mode) .mobile-home-switch #mobile-map-btn {
    display:block!important;
    width:100%!important;
    min-height:48px!important;
  }
  html.vk-phone #view-home.mobile-map-mode .mobile-home-switch #mobile-list-btn,
  html.vk-mobile-hard #view-home.mobile-map-mode .mobile-home-switch #mobile-list-btn {
    display:block!important;
    width:100%!important;
    min-height:48px!important;
  }
  html.vk-phone #view-home.mobile-map-mode .mobile-home-switch #mobile-map-btn,
  html.vk-mobile-hard #view-home.mobile-map-mode .mobile-home-switch #mobile-map-btn {
    display:none!important;
  }
}

.admin-classification-editor{
  margin-top:16px;padding:14px;border:1px solid color-mix(in srgb,var(--vg-accent) calc(.34*100%),transparent);border-radius:14px;background:color-mix(in srgb,var(--vg-surface) 70%,transparent);display:grid;gap:10px
}
.admin-classification-editor>strong{font-size:.9rem;color:var(--vg-accent)}
.admin-classification-editor>p,.admin-classification-editor>small{margin:0;color:var(--text-muted);font-size:.74rem;line-height:1.45}
.admin-classification-label{margin-top:3px;color:var(--vg-muted);font-size:.68rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.admin-service-grid,.admin-primary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-service-toggle,.admin-primary-toggle{justify-content:flex-start!important;min-height:42px!important;text-align:left!important}
.admin-service-toggle.is-active,.admin-primary-toggle.is-active{border-color:var(--vg-accent)!important;background:color-mix(in srgb,var(--vg-accent) calc(.12*100%),transparent)!important;color:var(--vg-accent)!important}
.admin-primary-toggle:disabled{opacity:.38!important;cursor:not-allowed!important}
.admin-tag-edit-list{display:flex;flex-wrap:wrap;gap:7px;min-height:32px;align-items:center}
.admin-tag-edit-chip{border:1px solid var(--vg-line);border-radius:999px;background:var(--vg-surface);color:var(--vg-ink);padding:7px 10px;font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}
.admin-tag-edit-chip span{color:#ff9f9f;margin-left:4px}
.admin-tag-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.admin-save-classification{justify-self:start}
@media(max-width:620px){.admin-service-grid,.admin-primary-grid{grid-template-columns:1fr}.admin-tag-add-row{grid-template-columns:1fr}.admin-save-classification{width:100%}}

/* ========================================================================== 
   Verkstadskartan v200 — compact search/filter panel
   Clean replacement: one panel model for desktop and one mobile bottom-sheet
   breakpoint. Legacy v180/v19x panel selectors are no longer used by markup.
   ========================================================================== */

#view-home .vk-search-shell{
  position:absolute;
  z-index:1200;
  top:18px;
  left:18px;
  width:min(340px,calc(100vw - 36px));
  pointer-events:none;
}
#view-home .vk-search-shell>.list-pane{display:none}
#view-home .vk-search-panel{
  display:grid;
  gap:8px;
  width:100%;
  padding:10px;
  border:1px solid color-mix(in oklab,var(--vk-gold) 42%,var(--border));
  border-radius:16px;
  background:color-mix(in oklab,var(--surface) 94%,transparent);
  color:var(--text);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  pointer-events:auto;
}
#view-home .vk-panel-handle{display:none}
#view-home .vk-search-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:8px;
  min-width:0;
}
#view-home .vk-search-box{
  display:flex;
  align-items:center;
  min-width:0;
  min-height:44px;
  padding:0 11px;
  border:1px solid var(--border-strong);
  border-radius:11px;
  background:var(--surface-2);
}
#view-home .vk-search-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  margin-right:8px;
  color:var(--text-muted);
}
#view-home .vk-search-combo{
  position:relative;
  flex:1 1 auto;
  min-width:0;
}
#view-home #city-input{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  font-size:.86rem;
  font-weight:700;
}
#view-home #city-input::placeholder{color:var(--text-muted);opacity:1}
#view-home .vk-search-combo .combo-list{
  top:calc(100% + 7px);
  left:-37px;
  right:0;
  width:auto;
  z-index:150;
}
#view-home .vk-geo-control{position:relative;min-width:0}
#view-home #geo-btn.vk-geo-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  border:1px solid var(--border-strong);
  border-radius:11px;
  background:var(--surface-2);
  color:var(--text);
  cursor:pointer;
}
#view-home #geo-btn.vk-geo-button:hover{border-color:var(--vk-gold);color:var(--vk-gold)}
#view-home #geo-btn.vk-geo-button.is-on{
  border-color:var(--vk-gold);
  background:color-mix(in oklab,var(--vk-gold) 14%,var(--surface-2));
  color:var(--vk-gold);
}
#view-home #geo-btn.vk-geo-button:disabled{cursor:wait;opacity:.7}
#view-home #geo-btn.vk-geo-button svg{width:21px;height:21px;flex:0 0 auto}
#view-home #geo-btn.vk-geo-button.is-busy svg{animation:vkGeoSpin 1s linear infinite}
@keyframes vkGeoSpin{to{transform:rotate(360deg)}}

#view-home .vk-panel-section{min-width:0}
#view-home .vk-workshop-chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  min-width:0;
}
#view-home .vk-workshop-chip,
#view-home .vk-vehicle-segment,
#view-home .vk-jour-switch,
#view-home .vk-more-filters{
  appearance:none;
  min-width:0;
  min-height:44px;
  border:1px solid var(--border-strong);
  border-radius:10px;
  background:var(--surface-2);
  color:var(--text);
  font:inherit;
  font-size:.78rem;
  font-weight:850;
  cursor:pointer;
}
#view-home .vk-workshop-chip,
#view-home .vk-vehicle-segment{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  padding:0 9px;
  overflow:hidden;
}
#view-home .vk-workshop-chip:last-child{grid-column:1/-1}
#view-home .vk-workshop-chip:hover,
#view-home .vk-vehicle-segment:hover,
#view-home .vk-more-filters:hover{border-color:var(--text-muted)}
#view-home .vk-workshop-chip.is-active,
#view-home .vk-workshop-chip[aria-pressed="true"],
#view-home .vk-vehicle-segment.is-active,
#view-home .vk-vehicle-segment[aria-pressed="true"]{
  border-color:var(--vk-gold);
  background:var(--vk-gold);
  color:var(--vk-ink);
}
#view-home .vk-workshop-chip-icon,
#view-home .vk-segment-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 auto;
}
#view-home .vk-workshop-chip-icon svg,
#view-home .vk-segment-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#view-home .vk-vehicle-segments{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  min-width:0;
}
#view-home .vk-vehicle-segment{justify-content:center}
#view-home .vk-vehicle-segment:disabled{cursor:not-allowed;opacity:.42}
#view-home .vk-control-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#view-home .vk-quick-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:6px;
  min-width:0;
}
#view-home .vk-jour-switch,
#view-home .vk-more-filters{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 10px;
}
#view-home .vk-jour-icon,
#view-home .vk-more-filters svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}
#view-home .vk-jour-icon{display:inline-flex;color:var(--vk-gold)}
#view-home .vk-jour-icon svg{width:100%;height:100%;fill:currentColor}
#view-home .vk-more-filters svg{display:block}
#view-home .vk-more-filters[aria-expanded="true"]{border-color:var(--vk-gold);color:var(--vk-gold)}
#view-home .vk-switch-track{
  position:relative;
  width:34px;
  height:20px;
  margin-left:auto;
  flex:0 0 34px;
  border:1px solid var(--border-strong);
  border-radius:999px;
  background:var(--surface-3);
}
#view-home .vk-switch-knob{
  position:absolute;
  top:2px;
  left:2px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--text-muted);
  transition:transform .16s ease,background .16s ease;
}
#view-home .vk-jour-switch[aria-checked="true"]{
  border-color:var(--vk-gold);
  background:color-mix(in oklab,var(--vk-gold) 12%,var(--surface-2));
}
#view-home .vk-jour-switch[aria-checked="true"] .vk-switch-track{
  border-color:var(--vk-gold);
  background:var(--vk-gold);
}
#view-home .vk-jour-switch[aria-checked="true"] .vk-switch-knob{
  transform:translateX(14px);
  background:var(--vk-ink);
}
#view-home .vk-panel-state-controls{display:none}

@media (max-width:860px){
  #view-home .vk-search-shell{
    position:fixed;
    z-index:1200;
    top:auto;
    left:10px;
    right:10px;
    bottom:calc(68px + env(safe-area-inset-bottom,0px));
    width:auto;
    max-width:none;
  }
  #view-home .vk-search-panel{
    gap:7px;
    padding:7px 8px 8px;
    border-radius:17px;
  }
  #view-home .vk-panel-handle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:44px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--text-muted);
    cursor:ns-resize;
    touch-action:none;
  }
  #view-home .vk-panel-handle-bar{
    display:block;
    width:42px;
    height:4px;
    border-radius:999px;
    background:var(--border-strong);
  }
  #view-home .vk-search-row{grid-template-columns:minmax(0,1fr) 44px}
  #view-home .vk-workshop-chips{
    display:flex;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:1px;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  #view-home .vk-workshop-chips::-webkit-scrollbar{display:none}
  #view-home .vk-workshop-chip{
    flex:0 0 auto;
    max-width:190px;
    padding:0 11px;
    white-space:nowrap;
  }
  #view-home .vk-workshop-chip:last-child{grid-column:auto}
  #view-home .vk-panel-mobile-extra{display:none}
  #view-home .vk-search-panel.is-expanded .vk-panel-mobile-extra{display:block}
  #view-home .vk-vehicle-segments{grid-template-columns:repeat(2,minmax(0,1fr))}
  #view-home .vk-vehicle-segment{min-width:0;padding:0 8px}
  #view-home .vk-control-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #view-home .vk-quick-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  #view-home .vk-search-combo .combo-list{left:-37px;right:-52px}
}

/* Large admin editor on workshop page. */
#modal.admin-workshop-modal .modal{
  width:min(1180px,calc(100vw - 28px))!important;
  max-width:1180px!important;
  max-height:min(92vh,980px)!important;
}
#modal.admin-workshop-modal .modal-body{
  max-height:calc(92vh - 155px)!important;
  overflow:auto!important;
}
.admin-workshop-center{display:grid;gap:16px;min-width:0}
.admin-workshop-tabs{display:flex;gap:7px;flex-wrap:wrap;position:sticky;top:-1px;z-index:4;padding:2px 0 10px;background:linear-gradient(180deg,var(--surface) 82%,transparent)}
.admin-workshop-tabs button{min-height:40px;padding:0 13px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);color:var(--text);font:inherit;font-weight:800;cursor:pointer}
.admin-workshop-tabs button.is-active{border-color:var(--vg-accent);background:color-mix(in srgb,var(--vg-accent) calc(.13*100%),transparent);color:var(--vg-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vg-accent) calc(.2*100%),transparent)}
.admin-workshop-tab{display:grid;gap:15px;padding:4px 1px 8px;min-width:0}
.admin-workshop-tab[hidden]{display:none!important}
.admin-workshop-tab h3{margin:4px 0 0}
.admin-workshop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.admin-workshop-grid>label,.admin-workshop-tab>label{display:grid;gap:6px;color:var(--text-muted);font-size:.84rem;font-weight:750;min-width:0}
.admin-span-2{grid-column:1/-1}
.admin-workshop-map{height:360px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2)}
.admin-control-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.admin-control-checks label{display:flex;gap:8px;align-items:center;min-height:44px;padding:9px 11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);font-size:.83rem;font-weight:800}
.admin-hours-editor{display:grid;gap:8px}
.admin-hours-row{display:grid;grid-template-columns:minmax(105px,1fr) 120px auto 120px minmax(90px,.7fr);gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.admin-hours-row input[type="time"]{min-width:0;width:100%;min-height:40px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface);color:var(--text);padding:6px 8px}
.admin-marker-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.admin-marker-center-head h3,.admin-marker-center-head p{margin:0}.admin-marker-center-head p{margin-top:4px;color:var(--text-muted)}
.admin-marker-center-list{display:grid;gap:8px}
.admin-danger-zone{padding:14px;border:1px solid rgba(255,99,99,.35);border-radius:12px;background:rgba(130,20,35,.08)}
.admin-danger-zone p{color:var(--text-muted)}
@media(max-width:760px){
  #modal.admin-workshop-modal .modal{width:calc(100vw - 14px)!important;max-height:96vh!important}
  #modal.admin-workshop-modal .modal-body{max-height:calc(96vh - 145px)!important}
  .admin-workshop-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));position:static;background:none}
  .admin-workshop-tabs button{border-radius:11px;font-size:.76rem;padding:0 8px}
  .admin-workshop-grid,.admin-control-checks{grid-template-columns:1fr}
  .admin-span-2{grid-column:auto}
  .admin-workshop-map{height:300px}
  .admin-hours-row{grid-template-columns:1fr 1fr;gap:7px}.admin-hours-row>span:nth-child(1){grid-column:1/-1;font-weight:800}.admin-hours-row>span:nth-child(3){display:none}.admin-hours-row>label{grid-column:1/-1}
  .admin-marker-center-head{display:grid}
}

/* v206: desktop – selected workshop as a wide read-only panel (mapWorkshopCard in 05-results.js). */
@media(min-width:861px){
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .map-workshop-card.is-wide{top:18px!important;right:22px!important;bottom:18px!important;width:400px!important;max-height:none!important;overflow-y:auto!important;scrollbar-width:thin}
  #view-home .map-workshop-card.is-wide .map-card-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  /* v207: open the wide card right next to the left column (search panel + list). */
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .has-side-column .map-workshop-card.is-wide{left:calc(var(--vk-side-right) + 12px)!important;right:auto!important}
  #view-home .map-card-wide{display:grid;gap:12px;margin-top:12px}
  #view-home .map-card-distance{margin:-6px 0 0;color:var(--vg-muted);font-size:.78rem}
  #view-home .map-card-website{justify-self:start;color:var(--vg-accent);font-size:.8rem;font-weight:800;text-decoration:none}
  #view-home .map-card-aerial{position:relative;height:190px;border-radius:12px;overflow:hidden;border:1px solid var(--vg-line);background:var(--vg-bg)}
  #view-home .map-card-aerial-map{position:absolute;inset:0}
  #view-home .map-card-chips{position:absolute;z-index:2;left:8px;right:8px;top:8px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  #view-home .map-card-chips .detail-map-viewchip{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;height:28px;padding:2px 8px;border-radius:7px;background:color-mix(in srgb,var(--vg-surface) 94%,transparent);border:1px solid var(--vg-line);color:var(--vg-ink);font-size:.7rem;font-weight:800;cursor:pointer}
  #view-home .map-card-chips .detail-map-viewchip.is-active{border-color:var(--vg-accent)}
  #view-home .map-card-chips .epk-dot{width:18px;height:18px;flex-basis:18px;font-size:.62rem}
  #view-home .map-card-aerial-more{position:absolute;z-index:2;left:8px;bottom:8px;padding:5px 9px;border-radius:7px;background:color-mix(in srgb,var(--vg-surface) 94%,transparent);border:1px solid var(--vg-line);color:var(--vg-ink);font-size:.72rem;font-weight:800;text-decoration:none}
  #view-home .map-card-section{border-top:1px solid #23394299;padding-top:10px}
  #view-home .map-card-section h4{margin:0 0 6px;font-size:.8rem;color:var(--vg-ink)}
  #view-home .map-card-hours{width:100%;border-collapse:collapse;font-size:.76rem;color:var(--vg-muted)}
  #view-home .map-card-hours td{padding:2px 0}
  #view-home .map-card-hours td:last-child{text-align:right}
  #view-home .map-card-hours tr.today td{color:var(--vg-accent);font-weight:800}
  #view-home .map-card-muted{margin:0;color:var(--vg-muted);font-size:.74rem}
  #view-home .map-card-footer{display:grid;gap:6px;border-top:1px solid #23394299;padding-top:10px;text-align:center}
  #view-home .map-card-open-page{display:block;padding:10px;border:1px solid #9b7929;border-radius:10px;color:var(--vg-ink);font-weight:850;text-decoration:none}
  #view-home .map-card-open-page:hover{border-color:var(--vg-accent);color:var(--vg-accent)}
}

/* v207: desktop workshop list under the search panel (renderDesktopList/placeSideColumn in 12-shell.js). */
#vk-desktop-list{display:none}
@media(min-width:861px){
  html:not(.vk-phone):not(.vk-mobile-hard) #vk-desktop-list:not([hidden]){display:flex}
  #vk-desktop-list{position:absolute;z-index:70;top:var(--vk-list-top,420px);left:var(--vk-list-left,18px);width:var(--vk-list-width,340px);bottom:16px;flex-direction:column;border:1px solid var(--vg-line);border-radius:14px;background:color-mix(in srgb,var(--vg-surface) 97%,transparent);box-shadow:0 18px 48px rgba(0,0,0,.42);overflow:hidden}
  #vk-desktop-list.is-collapsed{bottom:auto}
  #vk-desktop-list.is-collapsed .vk-desktop-list-results{display:none}
  #vk-desktop-list .vk-desktop-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #23394299;color:var(--vg-ink);font-size:.82rem}
  #vk-desktop-list.is-collapsed .vk-desktop-list-head{border-bottom:0}
  #vk-desktop-list-toggle{border:1px solid var(--vg-line);border-radius:8px;background:var(--vg-surface-2);color:var(--vg-ink);font:inherit;font-size:.72rem;font-weight:800;padding:4px 10px;cursor:pointer}
  #vk-desktop-list-toggle:hover{border-color:var(--vg-accent);color:var(--vg-accent)}
  #vk-desktop-list .vk-desktop-list-results{flex:1 1 auto;min-height:0;max-height:none!important;overflow-y:auto;padding:6px 8px 8px;scrollbar-width:thin}
  #vk-desktop-list .c3-list-item{cursor:pointer}
  /* The list now fills the bottom-left corner: Karta/Satellit moves to the bottom-right, under the map tools. */
  html:not(.vk-phone):not(.vk-mobile-hard) #view-home .has-side-column .c3-map-bottom{left:auto;right:18px;justify-content:flex-end}
}

/* v207: mobile – compact search at the top, one scrollable chip row, filters in the filter
   sheet, a small "Lista (n)" button instead of the bottom bar, and map controls left free. */
.vk-mobile-filter-btn,.c3-mobile-only{display:none}
@media(max-width:860px){
  html #view-home .vk-search-shell{top:calc(58px + 8px)!important;bottom:auto!important;left:8px!important;right:8px!important}
  html #view-home .vk-search-panel{gap:6px!important;padding:6px!important;border-radius:14px!important}
  html #view-home .vk-panel-handle,
  html #view-home .vk-search-panel .vk-panel-mobile-extra,
  html #view-home .vk-search-panel.is-expanded .vk-panel-mobile-extra{display:none!important}
  html #view-home .vk-search-row{grid-template-columns:minmax(0,1fr) 40px 40px!important;gap:6px!important}
  html #view-home .vk-geo-button{width:40px!important;height:40px!important}
  .vk-mobile-filter-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--vg-line);border-radius:11px;background:var(--vg-surface-2);color:var(--vg-ink);cursor:pointer}
  .vk-mobile-filter-btn svg{width:18px;height:18px}
  html #view-home .vk-workshop-chip{height:32px!important;min-height:32px!important;font-size:.72rem!important;padding:0 10px!important}
  .c3-mobile-only{display:grid}
  #c3-traffic-options button.is-active{border-color:var(--vg-accent);color:var(--vg-accent)}

  /* "Lista (n)" – small pill bottom-right instead of the full-width yellow bar. */
  /* Same specificity as the v197 rules above (html.vk-phone … .mobile-map-mode …) so these win. */
  html #view-home .mobile-home-switch,
  html.vk-phone #view-home .mobile-home-switch,
  html.vk-mobile-hard #view-home .mobile-home-switch{left:auto!important;right:10px!important;width:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
  html #view-home .mobile-home-switch #mobile-list-btn,
  html.vk-phone #view-home.mobile-map-mode .mobile-home-switch #mobile-list-btn,
  html.vk-mobile-hard #view-home.mobile-map-mode .mobile-home-switch #mobile-list-btn{display:flex!important;align-items:center;justify-content:center;gap:6px;width:auto!important;min-height:44px!important;padding:0 16px!important;border-radius:999px!important;font-weight:850;box-shadow:0 10px 26px rgba(0,0,0,.4)}
  html #view-home .mobile-home-switch #mobile-list-btn svg{width:18px;height:18px;flex:0 0 auto}
  /* Narrow desktop windows and tablets without the phone class get the same button
     (older rules hide the switch unless html.vk-phone, which left no way to the list). */
  html:not(.vk-phone):not(.vk-mobile-hard) body #view-home .mobile-home-switch{display:block!important;position:fixed!important;bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:1100!important}
  html:not(.vk-phone):not(.vk-mobile-hard) body #view-home .mobile-home-switch #mobile-map-btn{display:none!important}
  html:not(.vk-phone):not(.vk-mobile-hard) body #view-home .mobile-home-switch #mobile-list-btn{display:flex!important}
  html body:has(#c3-list-sheet:not([hidden])) #view-home .mobile-home-switch,
  html body:has(#c3-filter-sheet:not([hidden])) #view-home .mobile-home-switch{display:none!important}

  /* The list opens full screen under the header. */
  html #view-home .c3-list-sheet{top:58px!important;max-height:none!important;border-radius:0!important}
  html #view-home .c3-list-sheet .c3-list-results{max-height:calc(100dvh - 58px - 64px)!important}

  /* Map controls: nothing at the bottom covers them any more. */
  html #view-home .vk-map-legend{bottom:64px!important}
  /* A selected workshop's card sits above the map controls, just over the list button. */
  html #view-home .map-workshop-card,
  html.vk-phone #view-home .map-workshop-card,
  html.vk-mobile-hard #view-home .map-workshop-card{z-index:90!important;bottom:64px!important}
}

/* v214: readable history, verification form and the workshop page's verification panel. */
.admin-verify-form{display:grid;gap:5px;font-size:.85rem}
.admin-verify-form label{color:var(--adm-muted,var(--vg-muted))}
.admin-case-verify{padding:10px 12px;border:1px solid var(--adm-ok-line);border-radius:10px;background:var(--adm-ok-bg);display:grid;gap:8px}
.admin-case-verify summary{cursor:pointer;color:var(--adm-ok);font-weight:800}
.admin-case-verify[open]{gap:10px}
.admin-case-verify .btn{justify-self:start}
.admin-case-history{display:grid;gap:4px;font-size:.84rem}
.admin-case-history ul{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.admin-case-history time{color:var(--adm-muted);font-variant-numeric:tabular-nums;margin-right:6px}
.admin-case-history a{color:var(--vg-accent);font-weight:700;text-decoration:none}
.admin-verify-panel{margin:12px 0;padding:12px 14px;border:1px dashed #5a4a20;border-radius:12px;background:var(--vg-surface);display:grid;gap:8px}
.admin-verify-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.85rem}
.admin-verify-head a{color:var(--vg-accent);font-weight:700;text-decoration:none}
.admin-verify-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.admin-verify-panel li{display:grid;grid-template-columns:110px minmax(0,1fr) auto;grid-template-areas:"label value button" "label status button";gap:0 10px;align-items:center;padding:6px 0;border-top:1px solid var(--vg-line);font-size:.85rem}
.admin-verify-panel li:first-child{border-top:0}
.admin-verify-panel li>span{grid-area:label;color:var(--vg-muted)}
.admin-verify-panel li>b{grid-area:value;overflow-wrap:anywhere}
.admin-verify-panel li>small{grid-area:status;color:var(--vg-muted)}
.admin-verify-panel li.is-ok>small{color:#4cc38a}
.admin-verify-panel li.is-changed>small,.admin-verify-panel li.is-stale>small{color:var(--vg-accent)}
.admin-verify-panel li>button{grid-area:button}
@media(max-width:560px){
  .admin-verify-panel li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label button" "value button" "status button"}
}

/* v213: on phones an old rule (app.css, v88) always shows #view-home, so its fixed
   search panel and "Visa karta" button lay on top of every other page (Om, admin …). */
@media(max-width:860px){html body #view-home:not(.active){display:none!important}}

/* ======================================================================
   v215: admin panel – the approved admin mockup, 1:1 (verkstadskartan-admin.html).
   Everything is scoped to .adm so the rest of the site is untouched.
   ====================================================================== */
.adm{--adm-ink:var(--vg-ink);--adm-muted:var(--vg-muted);--adm-line:var(--vg-line);--adm-gold:var(--vg-accent);
  --adm-crit:var(--vg-bad);--adm-crit-bg:var(--vg-bad-soft);--adm-crit-line:#84404077;--adm-review:var(--vg-accent);--adm-review-bg:var(--vg-accent-soft);--adm-review-line:#735b2777;
  --adm-ok:var(--vg-ok);--adm-ok-bg:var(--vg-ok-soft);--adm-ok-line:#2b6b4c77;--adm-info:var(--vg-info);--adm-info-bg:var(--vg-surface);
  display:grid;grid-template-columns:252px minmax(0,1fr);min-height:calc(100dvh - 62px);background:var(--vg-bg);color:var(--adm-ink);
  font-family:'Segoe UI',Arial,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;text-align:left}
.adm *{box-sizing:border-box}
.adm h1,.adm h2,.adm h3{color:var(--adm-ink);margin:0}
.adm h1{font-size:29px;line-height:1.2;letter-spacing:-.8px;font-weight:650;margin:0 0 10px}
.adm h2{font-size:14px;font-weight:650;letter-spacing:.1px}
.adm h3{font-size:13px;font-weight:600;margin:0 0 8px}
.adm p{font-size:12px;color:var(--adm-muted);line-height:1.7;margin:0}
.adm a{color:var(--vg-accent)}

/* Buttons and form fields (also restyles the older views inside the panel) */
.adm button,.adm .btn{font:inherit;cursor:pointer;background:var(--vg-surface-2);border:1px solid var(--vg-line);color:var(--vg-ink);border-radius:8px;padding:10px 13px;font-size:11px;font-weight:600;line-height:1.2;min-height:0;transition:background .15s,border-color .15s,transform .15s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.adm button:hover,.adm .btn:hover{background:var(--vg-surface-2);border-color:var(--vg-line)}
.adm button:active{transform:translateY(1px)}
.adm button.primary,.adm .btn:not(.btn-ghost):not(.btn-danger):not(.btn-ok):not(.btn-sm){background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent));color:var(--vg-accent-ink);border-color:var(--vg-accent);box-shadow:0 4px 12px #0002;font-weight:750;padding:11px 16px}
.adm button.primary:hover{background:linear-gradient(180deg,var(--vg-accent),var(--vg-accent))}
.adm button.ghost{background:transparent;border-color:transparent;color:var(--vg-accent);font-size:11px}
.adm button.ghost:hover{background:var(--vg-surface-2)}
.adm .btn-sm{padding:8px 11px;font-size:10px}
.adm .btn-ok,.adm button.btn-ok{background:var(--adm-ok-bg);color:var(--adm-ok);border-color:var(--adm-ok-line)}
.adm .btn-danger{background:var(--adm-crit-bg);color:var(--adm-crit);border-color:var(--adm-crit-line)}
.adm button:disabled{opacity:.55;cursor:default}
.adm input:not([type=checkbox]):not([type=radio]),.adm select,.adm textarea{font:inherit;background:var(--vg-surface);border:1px solid var(--vg-line);color:var(--vg-ink);font-size:12px;padding:11px 12px;line-height:1.5;border-radius:7px;min-height:0;height:auto}
.adm input::placeholder,.adm textarea::placeholder{color:var(--vg-muted)}
.adm input:focus,.adm textarea:focus,.adm select:focus{outline:1px solid var(--vg-accent);border-color:var(--vg-accent)}
.adm textarea{min-height:86px;resize:vertical}

/* Sidebar */
.adm-aside{position:sticky;top:62px;height:calc(100dvh - 62px);overflow:auto;display:flex;flex-direction:column;padding:29px 17px 23px;background:linear-gradient(180deg,var(--vg-surface),var(--vg-bg));border-right:1px solid var(--vg-line);color:var(--vg-ink)}
.adm-brand{display:flex;align-items:center;gap:12px;margin-bottom:23px;padding:0 10px 26px;border-bottom:1px solid var(--vg-line)}
.adm-brand strong{color:var(--vg-ink);font-size:15px;letter-spacing:-.3px}
.adm-brand small{display:block;color:var(--vg-muted);font-size:9px;letter-spacing:1.8px;margin-top:7px}
.adm-logo{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,var(--vg-accent),var(--vg-accent));color:var(--vg-accent-ink);font-weight:900;font-size:15px;box-shadow:0 4px 14px #0003;flex-shrink:0}
.adm .adm-nav button{display:flex;gap:10px;width:100%;justify-content:flex-start;text-align:left;background:none;border:1px solid transparent;color:var(--vg-muted);margin-bottom:6px;padding:12px 10px;min-height:47px;border-radius:9px;font-size:12px;font-weight:600;box-shadow:none}
.adm .adm-nav button:hover{background:var(--vg-surface-2);color:var(--vg-ink)}
.adm .adm-nav button.active{background:linear-gradient(90deg,color-mix(in srgb,var(--vg-accent) calc(.16*100%),transparent),color-mix(in srgb,var(--vg-accent) calc(.05*100%),transparent));border-color:color-mix(in srgb,var(--vg-accent) calc(.32*100%),transparent);color:var(--vg-accent)}
.adm-nav .symbol{display:grid;place-items:center;width:24px;font-size:18px;color:var(--vg-accent)}
.adm-nav b{margin-left:auto;background:#3b2d0c;color:var(--vg-accent);border:1px solid #68532655;border-radius:20px;min-width:23px;text-align:center;padding:3px 5px;font-size:10px}
.adm-account{margin-top:auto;border-top:1px solid var(--vg-line);padding:20px 10px 0;font-size:12px}
.adm-account small{display:block;color:var(--vg-muted);margin:-7px 0 0 45px;overflow-wrap:anywhere}
.adm-version{display:block;margin-top:22px;font-size:10px;color:var(--vg-muted)}
.adm-account-links{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:10px}
.adm-account-links a{font-size:11px;font-weight:600;text-decoration:none}
.adm-account-links button.ghost{padding:4px 0}
.adm-avatar{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--vg-surface);color:var(--vg-accent);border:1px solid var(--vg-line);font-size:11px;font-weight:600}

/* Header, content, heading, footer */
.adm-main{min-width:0}
.adm-header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:var(--vg-bg);border-bottom:1px solid var(--vg-line);font-size:11px;letter-spacing:.2px}
.adm-header>span:first-child{color:var(--vg-muted)}
.adm-header strong{font-weight:600;color:var(--vg-ink)}
.adm-content{max-width:1510px;margin:auto;padding:34px 38px 25px}
.adm-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:29px}
.adm-eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--vg-muted);margin-bottom:12px;font-weight:600}
.adm-footer{display:flex;justify-content:space-between;color:var(--vg-muted);font-size:10px;border-top:1px solid var(--vg-line);padding-top:16px;margin-top:8px}
.adm-side-note{padding:0 5px}
.adm-pad{padding:22px}
.adm-loading{margin:0 0 12px}

/* Stat cards */
.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:27px}
.adm .adm-stat{display:block;text-align:left;position:relative;overflow:hidden;min-height:150px;padding:21px 22px 19px;border-radius:12px;background:linear-gradient(160deg,var(--vg-surface),var(--vg-surface));border:1px solid var(--vg-line);box-shadow:0 7px 18px #00000015;color:inherit}
.adm .adm-stat:hover{background:linear-gradient(160deg,var(--vg-surface),var(--vg-surface-2));border-color:var(--vg-line)}
.adm-stat:before{content:'';position:absolute;top:0;left:22px;height:2px;width:32px;background:var(--vg-accent)}
.adm-stat:nth-child(2):before{background:var(--vg-info)}.adm-stat:nth-child(3):before{background:var(--vg-bad)}.adm-stat:nth-child(4):before{background:var(--vg-accent)}
.adm-stat span{display:block;color:var(--vg-muted);font-size:11px;font-weight:600}
.adm-stat strong{display:block;font-size:36px;font-weight:650;letter-spacing:-1.3px;color:var(--vg-ink);margin:15px 0 11px;line-height:1}
.adm-stat small{font-size:10px;color:var(--vg-muted)}
.adm-stat em{position:absolute;right:20px;top:19px;font-style:normal;color:var(--vg-accent);font-size:17px;opacity:.9}
.adm-stat:nth-child(2) em{color:var(--vg-info)}.adm-stat:nth-child(3) em{color:var(--vg-bad)}.adm-stat:nth-child(4) em{color:var(--vg-accent)}

/* Grid, panels, rows */
.adm-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:23px}
.adm-panel{background:linear-gradient(180deg,var(--vg-surface),var(--vg-surface));border:1px solid var(--vg-line);border-radius:12px;box-shadow:0 8px 22px #00000012;overflow:hidden;margin-bottom:23px}
.adm-panelhead{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 22px;border-bottom:1px solid var(--vg-line);background:#0b202a55}
.adm-panelhead p{font-size:11px;margin-top:7px}
.adm-row{display:flex;align-items:center;gap:13px;padding:19px 22px;border-bottom:1px solid var(--vg-line)}
.adm-row:last-child{border-bottom:0}
.adm-row:hover{background:#10263055}
.adm-row .grow{flex:1;min-width:0}
.adm-row strong{display:block;font-size:12px;color:var(--vg-ink);font-weight:600;margin-bottom:6px}
.adm-row small{display:block;font-size:10px;color:var(--vg-muted);line-height:1.5}
.adm-row button.ghost{white-space:nowrap}
.adm-selected{background:linear-gradient(90deg,#f5bd3e12,#f5bd3e03);box-shadow:inset 3px 0 var(--vg-accent)}
.adm-tile{display:grid;place-items:center;width:37px;height:37px;border-radius:9px;border:1px solid #80672a55;background:#33260c70;color:var(--vg-accent);font-size:17px;flex-shrink:0}
.adm-row:nth-child(3) .adm-tile{color:var(--vg-info);background:#142d4555;border-color:#315d9660}
.adm-row:nth-child(4) .adm-tile{color:var(--vg-ok);background:#10301f88;border-color:#2e684455}
.adm-pill{display:inline-block;background:var(--vg-ok-soft);color:var(--vg-ok);border:1px solid #2b6b4c77;border-radius:5px;padding:4px 7px;font-size:9px;letter-spacing:.2px;font-weight:600;white-space:nowrap}
.adm-pill.amber{background:var(--vg-accent-soft);color:var(--vg-accent);border-color:#735b2777}
.adm-pill.red{background:var(--vg-bad-soft);color:var(--vg-bad);border-color:#84404077}
.adm-notice{display:flex;gap:15px;align-items:center;margin-bottom:24px;padding:18px 21px;border-radius:10px;background:linear-gradient(110deg,var(--vg-surface),var(--vg-surface-2));border:1px solid var(--vg-line)}
.adm-notice h3{font-size:12px;color:var(--vg-ink)}
.adm-notice p{font-size:10px;color:var(--vg-muted)}
.adm-notice .adm-tile{background:var(--vg-surface);color:var(--vg-accent);border-color:var(--vg-line)}
.adm-status{padding:24px 22px}
.adm-statusline{display:flex;justify-content:space-between;margin-bottom:23px;font-size:11px;color:var(--vg-muted)}
.adm-statusline strong{font-weight:600;color:var(--vg-ink)}
.adm-statusline .dot{color:var(--vg-ok)}.adm-statusline .bad{color:var(--vg-bad)}
.adm-track{height:5px;background:var(--vg-surface-2);border-radius:10px;margin:15px 0 11px;overflow:hidden}
.adm-track i{display:block;height:100%;background:linear-gradient(90deg,var(--vg-accent),var(--vg-accent));border-radius:10px}
.adm-status>p{font-size:10px;color:var(--vg-muted)}
.adm-activity{padding:23px 22px}
.adm-event{position:relative;border-left:1px solid var(--vg-line);padding:0 0 25px 20px;color:var(--vg-ink);font-size:11px}
.adm-event:last-child{padding-bottom:0}
.adm-event:before{content:'';position:absolute;left:-4px;top:3px;width:7px;height:7px;background:var(--vg-accent);border-radius:50%;box-shadow:0 0 0 4px var(--vg-surface)}
.adm-event:nth-child(2):before{background:var(--vg-ok)}.adm-event:nth-child(3):before{background:var(--vg-info)}
.adm-event small{display:block;font-size:10px;color:var(--vg-muted);margin-top:8px}

/* Tabs, toolbar, tables */
.adm-tabs{display:flex;gap:5px;overflow:auto;margin-bottom:22px;padding:5px;border:1px solid var(--vg-line);border-radius:10px;background:var(--vg-surface)}
.adm .adm-tabs button{white-space:nowrap;background:none;border:1px solid transparent;border-radius:7px;padding:11px 14px;color:var(--vg-muted);font-size:11px;box-shadow:none}
.adm .adm-tabs button:hover{background:var(--vg-surface-2);color:var(--vg-ink)}
.adm .adm-tabs button.active{background:var(--vg-surface-2);border-color:#f5bd3e3d;color:var(--vg-accent);font-weight:650}
.adm-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}
.adm .adm-toolbar input{flex:1;min-width:0;background:var(--vg-surface);padding:12px 16px;font-size:11px}
.adm .adm-toolbar select{font-size:11px;min-width:165px}
.adm-count{color:var(--vg-muted);font-size:11px}
.adm-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 2px 2px 12px;border:1px solid #f5bd3e55;border-radius:999px;color:var(--vg-accent);font-size:11px}
.adm-table{width:100%;border-collapse:collapse;text-align:left}
.adm-table th{background:var(--vg-surface);color:var(--vg-muted);font-size:9px;letter-spacing:1px;font-weight:600;text-transform:uppercase;padding:16px 22px;border-bottom:1px solid var(--vg-line)}
.adm-table td{padding:19px 22px;border-bottom:1px solid var(--vg-line);font-size:11px;color:var(--vg-ink);vertical-align:top}
.adm-table tr:last-child td{border-bottom:0}
.adm-table td strong{display:block;color:var(--vg-ink);font-weight:600}
.adm-table td small{display:block;color:var(--vg-muted);margin-top:5px;overflow-wrap:anywhere}
.adm-table td a{color:var(--vg-ink);text-decoration:none}
.adm-table tbody tr:hover{background:#142e3955}
.adm-table-actions{white-space:nowrap;text-align:right}
.adm-table-wrap{overflow-x:auto}
.adm .adm-link-inline{margin-top:10px;padding-left:0}
.adm-table-actions button{margin-left:4px;font-size:10px;padding:8px 11px}

/* Queue + detail (Granskning, Datakvalitet) */
.adm-detail{padding:26px 24px}
.adm-detail label{display:block;font-size:10px;letter-spacing:.2px;color:var(--vg-muted);margin:21px 0 9px}
.adm-detail p{color:var(--vg-ink);font-size:12px;overflow-wrap:anywhere}
.adm-detail .adm-eyebrow{color:var(--vg-accent)}
.adm-detail h2{font-size:17px}
.adm-detail hr{border:0;border-top:1px solid var(--vg-line);margin:22px 0}
.adm-detail h3{margin-top:2px}
.adm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px;padding-top:20px;border-top:1px solid var(--vg-line)}
.adm-back{margin:0 0 14px;padding-left:0}
.adm .adm-back-mobile{display:none}
.adm-hidden{padding:14px 22px;border-top:1px solid var(--vg-line);color:var(--vg-muted);font-size:11px}
.adm-hidden summary{cursor:pointer}
.adm-hidden .adm-row{padding:12px 0}
.adm-queue-detail .cr{margin:0;border:0;border-radius:0;background:none;box-shadow:none}
.adm-queue-detail .cr-body{display:block}
.adm-queue-detail .cr-body>*{width:100%;max-width:none}
.adm .admin-case-decide{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--vg-line)}
.adm .admin-case-ignore{display:flex;gap:7px;width:100%}
.adm .admin-case-ignore[hidden]{display:none}
.adm .admin-case-ignore input{flex:1;min-width:0}
.adm .admin-case-note{margin-top:16px;font-size:11px}
.adm .admin-case-verify,.adm .admin-case-history{margin-top:16px}
.adm .admin-history-confirm{font-size:11px;color:var(--vg-accent);margin-right:6px}

/* Datakvalitet cards */
.adm-quality{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.adm-quality .adm-panel{position:relative;padding:23px;margin:0}
.adm-quality .adm-panel:before{content:'';position:absolute;top:23px;right:24px;width:7px;height:7px;border-radius:50%;background:var(--vg-accent);box-shadow:0 0 0 4px #e0a83c12}
.adm-quality .adm-panel.is-info:before{background:var(--vg-info);box-shadow:0 0 0 4px #5f8fd012}
.adm-quality .adm-panel.is-critical:before{background:var(--vg-bad);box-shadow:0 0 0 4px #e9707020}
.adm-quality h3{color:var(--vg-ink);font-size:12px;padding-right:25px}
.adm-quality strong{display:block;font-size:32px;font-weight:600;margin:24px 0 14px;color:var(--vg-ink)}
.adm-quality p{font-size:11px}
.adm-quality button.ghost{margin-top:20px;padding-left:0;font-size:10px}
.adm-quality .adm-panel:hover{border-color:var(--vg-line)}

/* Older views inside the panel get the same surface */
.adm .panel{background:linear-gradient(180deg,var(--vg-surface),var(--vg-surface))!important;border:1px solid var(--vg-line)!important;border-radius:12px!important;box-shadow:0 8px 22px #00000012;margin-bottom:23px;color:var(--vg-ink)}
.adm .panel-head{padding:21px 22px;border-bottom:1px solid var(--vg-line);background:#0b202a55}
.adm .panel-head h2{font-size:14px}
.adm .panel-head p{font-size:11px;margin-top:7px}
.adm .panel-body{padding:22px}
.adm .cr,.adm .jour-review-card{background:var(--vg-surface);border:1px solid var(--vg-line);border-radius:12px}
.adm .notice{background:linear-gradient(110deg,var(--vg-surface),var(--vg-surface-2));border:1px solid var(--vg-line);border-radius:10px;color:var(--vg-ink)}
.adm .empty{color:var(--vg-muted)}
.adm .admin-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}
.adm .admin-tools .admin-search{flex:1 1 260px}

@media(min-width:1550px){.adm-content{padding-top:42px}.adm-grid{grid-template-columns:minmax(0,1fr) 340px}.adm .adm-stat{padding:25px;min-height:160px}.adm-row{padding-top:23px;padding-bottom:23px}}
@media(max-width:1100px){.adm{grid-template-columns:220px minmax(0,1fr)}.adm-content{padding:28px 25px}.adm-grid{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.adm .adm-stat{padding:18px 15px}.adm-stat:before{left:15px}.adm-stat small{font-size:9px}.adm-row{padding:17px}.adm-row .adm-pill{display:none}.adm-heading p{max-width:430px}}
@media(max-width:900px){
  .adm-grid{grid-template-columns:1fr}
  .adm-stats{grid-template-columns:repeat(2,1fr)}
  .adm-grid>div:last-child:not(.adm-panel){display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
  .adm-grid>div:last-child:not(.adm-panel)>p{grid-column:1/-1}
  .adm-quality{grid-template-columns:repeat(2,1fr)}
  .adm-grid-queue.has-selection .adm-case-list{display:none}
  .adm-grid-queue:not(.has-selection) .adm-case-pane:not(.adm-queue-detail){display:none}
  .adm .adm-back-mobile{display:inline-flex;padding-left:0;margin-bottom:10px}
}
@media(max-width:700px){
  .adm{display:block}
  .adm-aside{position:static;height:auto;width:auto;padding:18px 14px}
  .adm-brand{padding:0 0 17px;margin-bottom:12px}
  .adm-nav{display:flex;gap:5px;overflow:auto}
  .adm .adm-nav button{width:auto;white-space:nowrap;padding:9px 11px;min-height:39px;font-size:10px;margin:0}
  .adm-nav .symbol{display:none}
  .adm-account{display:none}
  .adm-header{height:59px;padding:0 17px}
  .adm-content{padding:25px 16px}
  .adm h1{font-size:24px}
  .adm-heading{align-items:flex-start;gap:14px}
  .adm-heading>button{max-width:150px;font-size:10px;padding:10px}
  .adm-heading p{font-size:11px}
  .adm-eyebrow{font-size:8px}
  .adm-stats{gap:12px}
  .adm .adm-stat{min-height:140px}
  .adm-grid>div:last-child:not(.adm-panel){display:block}
  .adm-row{padding:17px 15px}
  .adm-row strong{font-size:11px}
  .adm-row small{font-size:9px}
  .adm-panelhead{padding:19px 17px}
  .adm-quality{grid-template-columns:1fr}
  .adm-footer{gap:20px;line-height:1.5}
  .adm .adm-toolbar select{min-width:0}
  .adm-tabs{gap:3px}
  .adm .adm-tabs button{font-size:10px;padding:10px}
  .adm-notice{padding:16px}
  .adm-notice button.ghost{white-space:nowrap}
  .adm-panel{overflow:auto}
  .adm-table th,.adm-table td{padding:15px 13px}
}
@media(prefers-reduced-motion:reduce){.adm button{transition:none}}

/* v217: "Företagets rapporter" (managers) – the admin look without its sidebar. */
#view-chef{background:var(--vg-bg);min-height:calc(100dvh - 62px)}
.adm.adm-solo{display:block;min-height:0}
.adm-solo .adm-heading select{min-width:200px}
.adm .adm-date{display:flex;align-items:center;gap:6px;color:var(--vg-muted);font-size:11px}
.adm .adm-date input{padding:9px 10px}
.chef-report-text{white-space:pre-wrap;font:12px/1.7 ui-monospace,Consolas,monospace;color:var(--vg-ink);margin:0}
.chef-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.chef-photos a{display:grid;gap:4px;color:var(--vg-ink);text-decoration:none;font-size:11px}
.chef-signature{margin:0;display:grid;gap:4px;max-width:320px}.chef-signature img{width:100%;border:1px solid var(--vg-line);border-radius:8px;background:#fff}.chef-signature figcaption{font-size:12px;color:var(--vg-muted)}
.chef-photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;border:1px solid var(--vg-line)}
.chef-tma .tma-assessment{pointer-events:none}

/* v218: company members (admin + manager), delete company/report. */
.adm button.danger{background:#3a1717;border-color:#7a3030;color:var(--vg-accent)}
.adm button.danger:hover{background:#4c1d1d;border-color:#9a3c3c}
.adm .company-member-add{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid var(--vg-line)}
.adm .company-member-add input[type=email]{flex:1 1 240px;min-width:0}
.adm .company-member-add label{display:flex;align-items:center;gap:6px;color:var(--vg-ink);font-size:12px}
.adm .adm-table td small{display:block;color:var(--vg-muted);font-size:11px}
.adm .adm-panelhead .adm-table-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:flex-end}
/* v219: new-report badges, correction comment, status in the tools. */
.main-menu-btn{position:relative}
.vk-menu-btn-badge{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--vg-accent);box-shadow:0 0 0 2px var(--vg-surface)}
.vk-menu-badge{margin-left:auto;min-width:22px;padding:3px 7px;border-radius:999px;background:var(--vg-accent);color:var(--vg-accent-ink);font-size:.75rem;text-align:center}
.adm .member-clear-personal{display:flex;align-items:center;gap:6px;color:var(--vg-ink);font-size:11px}
.company-access-pill{display:inline-block;margin:1px 2px;padding:2px 8px;border-radius:999px;border:1px solid var(--vg-line);background:var(--vg-surface-2);color:var(--vg-ink);font-size:11px}
.chef-status-fix{display:grid;gap:10px}
.chef-status-fix textarea{width:100%;box-sizing:border-box}
.tma-manager-status.tma-needs-fix{color:var(--vg-bad);font-weight:700}
.chef-delete-confirm{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--vg-accent);font-size:12px}

/* v217: "Skicka till chef" in Kör & Tidsrapport and TMA. */
.time-manager-send{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}
.time-manager-send span{color:var(--vg-muted);font-size:.85rem}
.time-company-choice{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:16px;background:var(--vg-scrim)}
.time-company-choice-card{display:grid;gap:8px;width:min(360px,100%);padding:18px;border:1px solid var(--vg-line);border-radius:14px;background:var(--vg-surface);color:var(--vg-ink)}
.tma-manager-status{margin:8px 0 0;color:var(--vg-muted);font-size:.85rem}

