/* Shared controls across standalone tools and planning workspaces. */
.service-page-path{box-sizing:border-box;max-width:1180px;margin:12px auto 0!important;padding:0 22px!important;font:14px/1.5 system-ui,sans-serif}
.service-page-path a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
.service-login-dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:480px;max-height:90dvh;overflow:auto;border:1px solid #dedfd5;border-radius:16px;padding:24px;background:#fbfaf7;color:#343d34;font:16px/1.55 system-ui,sans-serif}
.service-login-dialog::backdrop{background:#18201580}
.service-login-dialog h2{font:normal 28px/1.2 Georgia,serif;margin:0 0 12px}
.service-login-dialog label{display:grid;gap:6px;margin:14px 0}
.service-login-dialog input{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #87947e;border-radius:10px;font:inherit}
.service-login-dialog button,[data-service-login]{box-sizing:border-box;min-height:44px;padding:10px 14px;border:1px solid #53664b;border-radius:10px;background:#53664b;color:white;font:600 15px/1.4 system-ui,sans-serif;cursor:pointer;white-space:normal}
.service-login-dialog .secondary{margin:6px 6px 0 0;background:white;color:#344031}
.service-login-dialog :is(button,input):focus-visible{outline:3px solid #b8798b;outline-offset:3px}
.service-login-dialog [role=status]:empty{display:none}
.service-login-dialog button:disabled{opacity:.6;cursor:wait}
body #pq>nav[aria-label="Välj verktyg"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body #pq>nav button{min-height:44px;border:1px solid #87947e;border-radius:10px;background:#fffaf8;color:#344031;white-space:normal;font:600 14px/1.4 system-ui,sans-serif}
body #pq>nav button[aria-pressed=true]{background:#53664b;color:white;border-color:#53664b}
body #bar-result{scroll-margin-top:16px}
body #bar-result:focus{outline:2px solid #87947e;outline-offset:3px}
.service-info-fold{margin:16px 0;border:1px solid #dedfd5;border-radius:12px;padding:12px 16px;background:white}
.service-info-fold>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600;color:#344031}
[hidden]{display:none!important}
@media(max-width:600px){body #pq>nav[aria-label="Välj verktyg"]{grid-template-columns:repeat(2,minmax(0,1fr))}.service-login-dialog{padding:20px}.service-page-path{padding-inline:18px!important}}
@media print{.service-page-path,.service-login-dialog{display:none!important}}
.service-info-fold>summary h2{display:inline;font:600 18px/1.4 system-ui,sans-serif!important;letter-spacing:0!important;margin:0!important}
.service-info-fold[id]{scroll-margin-top:16px}

/* Consistent spacing and touch targets for action groups throughout the portal. */
body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions){display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions)>:is(button,a){box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;margin:0;padding:10px 14px;border-radius:10px;font:600 14px/1.4 system-ui,sans-serif;white-space:normal;text-align:center;overflow-wrap:anywhere}
body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions)>:is(button,a):focus-visible{outline:3px solid #ad654b;outline-offset:3px}
@media(max-width:650px){body main :is(.actions,.mn-toolbar,.mb-actions,.mb-card-actions,.mf-actions,.bip-actions)>:is(button,a){flex:1 1 140px;max-width:100%}}

/* UX94: shared geometry leaves existing danger, active and disabled colours intact. */
body main :is(button,.button,.primary-link,.secondary-link),
body main :is(.local-service-nav,.local-service-menu,.tabs,.subtools) a{
 box-sizing:border-box;min-width:44px;min-height:44px;max-width:100%;border-radius:10px;
 font-size:15px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;
}
body main :is(.primary,.primary-link):not(.danger):not(.destructive):not(:disabled):not([aria-disabled=true]){
 border-color:#53664b;background:#53664b;color:#fff;
}
body main :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible,
.service-login-dialog :is(button,a,input,select,textarea):focus-visible{
 outline:3px solid #9a4d69;outline-offset:3px;
}
body main :is(button,a)[aria-current=page],body main button[aria-pressed=true]{font-weight:700}
body main :is(button,input,select,textarea):disabled,
body main :is(button,a)[aria-disabled=true]{cursor:not-allowed}
body main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select){box-sizing:border-box;min-height:44px;font-size:16px}
body main summary{box-sizing:border-box;min-height:44px;padding-block:10px;cursor:pointer;line-height:1.45}
body main :is(.card,.mb-card,.mn-card,.bip-card){box-sizing:border-box;border-radius:12px;padding:16px}
body main :is(.cards,.card-grid,.mb-grid,.mn-grid,.bip-grid){gap:16px}
@media(max-width:650px){
 body main :is(small,.muted,.mb-muted,.mb-help,.mb-recipe-note,.help,.help-text){font-size:14px;line-height:1.5}
 body main :is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){min-height:44px;align-content:center}
 body main :is(.card,.mb-card,.mn-card,.bip-card){padding:14px}
}
@media(forced-colors:active){body main :is(button,a,input,select,textarea,summary):focus-visible{outline-color:Highlight}}
