/* Shared procurement conversation, workspace and persistent corner access. */
.asst{right:22px;bottom:22px;max-width:calc(100vw - 32px);z-index:45}
.asst__open{border-radius:8px;min-height:48px;padding:12px 18px;background:var(--accent);border:1px solid var(--accent);color:var(--accent-ink);box-shadow:0 4px 12px rgb(0 0 0 / .1);gap:10px;font:550 13px/1.4 var(--f-text)}
.asst__panel{width:min(620px,calc(100vw - 32px));max-height:min(780px,calc(100svh - 110px));display:flex;flex-direction:column;background:var(--surface-raised);border:1px solid var(--rule-strong);border-radius:10px;box-shadow:0 16px 48px rgb(0 0 0 / .14);overflow:hidden}
.asst__panel[hidden],.asst [hidden]{display:none}
.asst__head{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:20px 24px 14px;border:0}
.asst__head .asst__close{margin-left:auto}.asst__title{font:590 16px/1.4 var(--f-text);letter-spacing:.04em}
.asst__narvaro{width:32px;height:32px;border:1px solid var(--accent);border-radius:6px;display:grid;place-items:center;flex:none;background:var(--accent-soft)}
.asst__narvaro::before{content:'R';color:var(--accent);font:600 19px var(--f-display)}
.asst__titelrad{display:grid;gap:3px}.asst__lage{font-size:11px;min-height:1em;color:var(--ink-muted)}
.asst__toolbar{display:flex;align-items:center;gap:12px;padding:0 24px 14px;border-bottom:1px solid var(--rule);flex-wrap:wrap;font:11px/1.5 var(--f-text)}
.asst__toolbar label{color:var(--ink-muted)}.asst__toolbar select{color:var(--ink);background:var(--surface-sunk);border:1px solid var(--rule);border-radius:4px;font:inherit;padding:7px;max-width:170px}
.asst__toolbar button{color:var(--accent);border:0;background:transparent;padding:7px 0;font:inherit;cursor:pointer;margin-left:auto}.asst__toolbar a{color:var(--accent)}
.asst__notice{margin:0;padding:12px 24px;border-bottom:1px solid var(--rule);background:var(--surface-sunk);font:11px/1.6 var(--f-text);color:var(--ink-muted);max-height:100px;overflow:auto;flex:none}
.asst__datanotis{display:block;margin-top:3px}.asst__welcome{padding:36px 32px 12px;text-align:left}
.asst__welcome-kicker{font:520 10px/1.6 var(--f-text);letter-spacing:.09em;color:var(--accent);margin-bottom:14px}
.asst__welcome h3{font:480 clamp(23px,3vw,32px)/1.25 var(--f-display);color:var(--ink);letter-spacing:-.02em;margin:0 0 12px}
.asst__welcome>p:last-child{font:13px/1.7 var(--f-text);max-width:49ch;color:var(--ink-secondary)}
.asst__log{flex:1 1 auto;min-height:0;max-height:none;padding:24px 28px;display:flex;flex-direction:column;gap:26px;overscroll-behavior:contain;overflow-y:auto}.asst__log:empty{display:none}
.asst__turn{border:0;padding:0;display:grid;gap:8px}.asst__who{font:550 10px/1.4 var(--f-text);letter-spacing:.06em;text-transform:uppercase}
.asst__turn--you{justify-items:end}.asst__turn--you .asst__text{width:fit-content;max-width:88%;padding:13px 16px;border-radius:7px 7px 2px 7px;background:var(--surface-sunk);color:var(--ink)}
.asst__text{font:14px/1.8 var(--f-text);color:var(--ink-secondary);overflow-wrap:anywhere}.asst__text p{margin:0 0 12px}.asst__text h3{font:550 16px/1.5 var(--f-text);margin:20px 0 8px}
.asst__tanke{padding:10px 0;margin:0;border-block:1px solid var(--rule);background:transparent;display:grid;gap:6px}
.asst__tanke-rubrik,.asst__sources-title{font:540 10px/1.5 var(--f-text);color:var(--ink-muted);letter-spacing:.05em;text-transform:uppercase}
.asst__steg,.asst__tool{color:var(--ink-muted);font:12px/1.6 var(--f-text);border:0;padding:0}.asst__steg::before{content:'↳';margin-right:8px;color:var(--accent)}
.asst__sources{margin-top:10px;padding:12px 0 0;border-top:1px solid var(--rule);display:grid;gap:8px}.asst__sources-list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.asst__source{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font:12px/1.6 var(--f-text)}.asst__source-mark{grid-row:span 2;font-size:10px;color:var(--accent);background:var(--accent-soft);padding:2px 5px;align-self:start;border-radius:3px}.asst__source-meta{font-size:10px;color:var(--ink-muted)}
.asst__rating{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.asst__rate{min-width:34px;min-height:32px;font:14px var(--f-text);border:1px solid var(--rule);background:transparent;border-radius:4px;color:var(--ink-muted);cursor:pointer}
.asst__rating[data-valt='upp'] [data-val='upp'],.asst__rating[data-valt='ned'] [data-val='ned']{color:var(--accent);border-color:var(--accent)}
.asst__rating-text{font:12px var(--f-text);border:1px solid var(--rule);background:var(--surface);padding:8px;color:var(--ink);flex:1 1 180px;min-width:0}
.asst__rating-send{font:12px var(--f-text);padding:8px;color:var(--accent);border:1px solid var(--rule);background:transparent;cursor:pointer}.asst__rating-tack{font-size:11px;color:var(--ink-muted)}
.asst__start{padding:16px 32px 24px;display:grid;gap:12px}.asst__start-title{font:520 11px/1.5 var(--f-text);color:var(--ink-muted)}
.asst__start-list{padding:0;margin:0;list-style:none;display:grid;gap:8px}.asst__start-btn{width:100%;text-align:left;padding:12px 14px;color:var(--ink-secondary);border:1px solid var(--rule);background:var(--surface-raised);border-radius:5px;font:12px/1.6 var(--f-text);cursor:pointer}.asst__start-btn:hover{border-color:var(--accent);color:var(--accent)}
.asst__underlag{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:12px 24px 0;border-top:1px solid var(--rule);margin-top:auto;flex:none}
.asst__underlagknapp{font:11px/1.5 var(--f-text);padding:6px 10px;border:1px solid var(--rule);color:var(--ink-secondary);background:transparent;border-radius:4px;cursor:pointer}.asst__underlagkvitto{font-size:11px;color:var(--accent)}
.asst__underlagfalt{width:calc(100% - 48px);margin:10px 24px 0;min-height:90px;max-height:180px;resize:vertical;border:1px solid var(--rule);border-radius:4px;padding:12px;background:var(--surface);color:var(--ink);font:13px/1.6 var(--f-text)}
.asst__form{display:flex;align-items:end;gap:10px;padding:12px 24px 16px;border:0;flex:none}.asst__input{flex:1;min-width:0;padding:12px 14px;min-height:72px;max-height:180px;resize:vertical;border:1px solid var(--rule-strong);border-radius:6px;background:var(--surface);color:var(--ink);font:14px/1.6 var(--f-text)}
.asst__input:focus{outline:2px solid var(--focus);outline-offset:2px}.asst__send{min-height:42px;border-radius:5px;font:550 12px var(--f-text)}
.asst__stop{border:1px solid var(--rule);border-radius:5px;background:transparent;color:var(--ink);padding:12px;font:12px var(--f-text);cursor:pointer}.asst__foot{margin:0;padding:0 24px 14px;font-size:10px;color:var(--ink-muted)}
.asst__wait{font:12px/1.6 var(--f-text);color:var(--ink-muted)}.asst__skriver{display:flex;gap:5px;padding:8px 0}.asst__skriver span{width:4px;height:4px;border-radius:50%;background:var(--ink-muted)}
.asst--sida,.asst--sida[data-ready='true']{position:static;display:block;max-width:none;width:100%;margin-top:0}
.asst--sida .asst__panel{width:100%;height:max(600px,calc(100svh - 260px));min-height:600px;max-height:900px;border-color:var(--rule);box-shadow:none;border-radius:8px}
.asst--sida .asst__open{position:fixed;right:22px;bottom:22px;display:flex}.asst--sida .asst__close{display:none}.asst--sida .asst__welcome{padding:42px 48px 12px}.asst--sida .asst__start{max-width:760px;padding-inline:48px}.asst--sida .asst__log{padding-inline:48px}
@media(max-width:720px){
.asst{right:12px;left:auto;bottom:78px;max-width:calc(100vw - 24px)}.asst__open{width:44px;height:44px;min-height:44px;padding:0;justify-content:center;border-radius:50%}.asst__open [data-t='oppna']{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.asst__open .asst__icon{width:20px;height:20px}html[data-content-language='sv'] .konto__flode .orderform .btn[type='submit']{width:calc(100% - 58px)}
.asst[data-open='true']:not(.asst--sida){inset:0;max-width:none;width:100%;display:block}.asst[data-open='true']:not(.asst--sida) .asst__panel{width:100%;max-height:none;height:100dvh;border-radius:0}.asst[data-open='true']:not(.asst--sida) .asst__open{display:none}
.asst__head{padding:18px 18px 12px}.asst__toolbar{padding-inline:18px;gap:8px}.asst__toolbar label{display:none}.asst__notice{padding-inline:18px}
.asst__welcome,.asst--sida .asst__welcome{padding:26px 20px 12px}.asst__start,.asst--sida .asst__start{padding:12px 20px 18px}.asst__log,.asst--sida .asst__log{padding:20px}
.asst__underlag,.asst__form{padding-inline:16px}.asst__form{flex-wrap:wrap}.asst__input{flex-basis:100%;font-size:16px;min-height:72px}.asst__send{margin-left:auto}.asst__foot{padding-inline:16px;padding-bottom:max(14px,env(safe-area-inset-bottom))}
.asst--sida .asst__panel{min-height:640px;height:75svh;max-height:none}.asst--sida .asst__open{bottom:78px;right:12px}
}
@media(prefers-reduced-motion:no-preference){.asst__start-btn{transition:border-color 160ms,color 160ms}.asst[data-arbetar='true'] .asst__narvaro{animation:asst-active 1.8s ease-in-out infinite}.asst__skriver span{animation:asst-active 1.5s ease-in-out infinite}.asst__skriver span:nth-child(2){animation-delay:150ms}.asst__skriver span:nth-child(3){animation-delay:300ms}@keyframes asst-active{50%{opacity:.55}}}
/* The assistant remains reachable above the mobile navigation. */
.asst[data-open='false'] .asst__open { display: flex !important; }
.asst__notice { width: 100%; max-width: none; }
.asst__contact { margin: 18px 0; padding: 20px 0; border-block: 1px solid var(--rule); display: grid; gap: 12px; }
.asst__contact h3 { font: 550 17px var(--f-text); margin: 0; }
.asst__contact p { margin: 0; font: 12px/1.65 var(--f-text); }
.asst__contact label { display: grid; gap: 6px; font: 500 12px/1.6 var(--f-text); }
.asst__contact input:not([type=checkbox]), .asst__contact textarea { width: 100%; min-width: 0; box-sizing: border-box; background: var(--surface); color: var(--ink); border: 1px solid var(--rule-strong); border-radius: 4px; padding: 10px; font: 14px/1.65 var(--f-text); }
.asst__contact label.asst__contact-review { display: flex; align-items: start; font-weight: 400; }
.asst__contact-review input { margin: 3px 3px 0 0; }
.asst__contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.asst__contact-actions button, .asst__contact-actions a { border: 1px solid var(--rule); padding: 9px 12px; background: transparent; color: var(--accent); border-radius: 4px; font: 500 12px/1.6 var(--f-text); }
.asst__contact-actions [aria-disabled=true] { opacity: .6; cursor: default; text-decoration: none; }

/* --- source drawer -------------------------------------------------------- */
/* Desktop: right side panel. Mobile: bottom sheet. */
.asst__kallor {
  display: none;
}
.asst__kallor[data-open='true'] {
  display: block;
}
.asst__kallor-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 18rem;
  background: var(--surface-raised);
  border-left: var(--rule-w) solid var(--rule);
  overflow-y: auto;
  z-index: 2;
}
@media (max-width: 40rem) {
  .asst__kallor-panel {
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: 50vh;
    border-left: none;
    border-top: var(--rule-w) solid var(--rule);
    border-radius: 12px 12px 0 0;
  }
}
.asst__kallor-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s-3) var(--s-4);
  border-bottom: var(--rule-w) solid var(--rule);
}
.asst__kallor-title {
  font-size: 0.78rem;
  font-weight: var(--w-strong);
  letter-spacing: 0.02em;
}
.asst__kallor-stang {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  background: none;
  border: 0;
  color: var(--ink-muted);
  cursor: pointer;
}
.asst__kallor-stang:hover { color: var(--ink); }
.asst__kallor-list {
  margin: 0;
  padding: var(--s-3) var(--s-4);
  list-style: none;
  display: grid;
  gap: var(--s-2);
}
.asst__kallor-item {
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--ink-muted);
}
.asst__kallor-item a { color: var(--accent); text-underline-offset: 2px; }

/* --- copy/export buttons -------------------------------------------------- */
.asst__header-actions {
  display: flex;
  gap: var(--s-2);
  margin-left: auto;
}
.asst__header-btn {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  background: none;
  border: var(--rule-w) solid var(--rule);
  border-radius: var(--r-sm);
  color: var(--ink-muted);
  cursor: pointer;
  transition: color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.asst__header-btn:hover { color: var(--ink); border-color: var(--rule-strong); }
.asst__header-btn svg { width: 0.9rem; height: 0.9rem; }

/* --- history panel -------------------------------------------------------- */
.asst__historik {
  display: none;
}
.asst__historik[data-open='true'] {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 16rem;
  background: var(--surface-raised);
  border-right: var(--rule-w) solid var(--rule);
  overflow-y: auto;
  z-index: 2;
}
@media (max-width: 40rem) {
  .asst__historik[data-open='true'] {
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-height: 40vh;
    border-right: none;
    border-top: var(--rule-w) solid var(--rule);
    border-radius: 12px 12px 0 0;
  }
}
.asst__historik-list {
  margin: 0;
  padding: var(--s-3);
  list-style: none;
  display: grid;
  gap: var(--s-1);
}
.asst__historik-item {
  padding: var(--s-2) var(--s-3);
  font-size: 0.84rem;
  color: var(--ink-secondary);
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: background var(--t-fast) var(--ease);
}
.asst__historik-item:hover { background: var(--surface-sunk); }
.asst__historik-item--aktiv { background: var(--surface-sunk); color: var(--ink); }

/* --- agent selector ------------------------------------------------------- */
.asst__agent-selector {
  display: flex;
  align-items: center;
  gap: var(--s-2);
}
.asst__agent-select {
  font: inherit;
  font-size: 0.82rem;
  color: var(--ink);
  background: var(--surface-sunk);
  border: var(--rule-w) solid var(--rule);
  border-radius: var(--r-sm);
  padding: var(--s-1) var(--s-2);
  cursor: pointer;
}
.asst__agent-select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
