/* prem_bhsv — komponerat mot Aleris canonical tokens (ui/aleris-tokens.css laddas FÖRE denna).
   Inga hårdkodade brand-värden: färg/typ/spacing/radie läses från tokens. Museo Sans via den
   lokala bryggan (localhost får CORS-avslag på brand-hosten). aleris-design v2. */

@font-face{font-family:'Museo Sans';src:url('/fonts/MuseoSans_300.otf') format('opentype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Museo Sans';src:url('/fonts/MuseoSans_500.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Museo Sans';src:url('/fonts/MuseoSans_700.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Museo Sans';src:url('/fonts/MuseoSans_900.otf') format('opentype');font-weight:900;font-style:normal;font-display:swap}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--font-family-primary);
  font-weight:var(--font-weight-regular);          /* 500 — Museo Sans har ingen 400 */
  font-size:var(--font-size-base);
  line-height:var(--line-height-body);
  color:var(--text-primary);
  background:var(--surface-page-instrumental);      /* personal = instrumentell (sand-50) */
}
body.comm{background:var(--surface-page)}            /* patient = kommunikativ (sand-100) */
a{color:var(--text-link)}
:focus-visible{outline:var(--stroke-m) solid var(--state-focus-ring);outline-offset:2px}

/* ── header + nav ─────────────────────────────────────────────────────────── */
header.top{background:var(--brand-primary);color:var(--text-inverse);
  padding:var(--spacing-sm) var(--spacing-md);display:flex;align-items:center;justify-content:space-between;
  gap:var(--spacing-sm);flex-wrap:wrap}
header.top .brandwrap{display:flex;align-items:center;gap:var(--spacing-sm)}
header.top img.logo{height:26px;display:block}
header.top .tag{font-size:var(--font-size-xs);opacity:.9}
header.top nav{display:flex;gap:var(--spacing-2xs);flex-wrap:wrap}
header.top nav a{border:var(--stroke-xs) solid rgba(255,255,255,.55);color:var(--text-inverse);
  text-decoration:none;padding:var(--spacing-2xs) var(--spacing-xs);border-radius:var(--radius-m);
  font-size:var(--font-size-sm);font-weight:var(--font-weight-regular)}
header.top nav a.active{background:var(--color-white);color:var(--brand-primary)}

main{max-width:var(--grid-max-width-instrumental);margin:0 auto;padding:var(--spacing-md) var(--spacing-sm) var(--spacing-2xl)}

/* ── kort + typografi ─────────────────────────────────────────────────────── */
.card{background:var(--surface-card);border-radius:var(--card-radius);padding:var(--card-padding);
  box-shadow:var(--card-shadow);border:var(--card-border-rule);margin-bottom:var(--spacing-md)}
h1{font-size:var(--type-h3-size);line-height:var(--line-height-subheading);font-weight:var(--font-weight-bold);
  letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);margin:var(--spacing-3xs) 0 var(--spacing-sm)}
h2{font-size:var(--type-h4-size);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-sm)}
p{font-size:var(--font-size-base);line-height:var(--line-height-body);margin:0 0 var(--spacing-xs)}
.eyebrow{color:var(--text-accent);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-bottom:var(--spacing-2xs)}
.lede{font-size:var(--type-lead-size);color:var(--text-secondary);line-height:var(--line-height-subheading)}
.small{font-size:var(--font-size-xs);color:var(--text-secondary)}
.muted{color:var(--text-secondary)}

/* ── knappar ──────────────────────────────────────────────────────────────── */
.btn{display:inline-block;border:0;border-radius:var(--radius-m);
  padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-base);
  font-weight:var(--font-weight-regular);font-family:var(--font-family-primary);
  cursor:pointer;text-decoration:none;text-align:center;min-height:var(--button-min-height-touch)}
.btn-primary{background:var(--button-primary-bg);color:var(--button-primary-text)}
.btn-primary:active{background:var(--button-primary-active-bg)}
.btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text)}
.btn-secondary:active{background:var(--button-secondary-active-bg)}
.btn-outline{background:var(--button-outline-bg);color:var(--button-outline-text);border:var(--button-outline-border-rule)}
.btn-ghost{background:var(--button-ghost-bg);color:var(--button-ghost-text);min-height:var(--button-min-height-pointer);
  padding:var(--spacing-2xs) var(--spacing-sm);font-size:var(--font-size-sm)}

/* ── patientvy (kommunikativ, stora mål för äldre) ────────────────────────── */
.patient{max-width:var(--grid-column-communicative);margin:var(--spacing-md) auto;padding:0 var(--spacing-sm)}
.prog{height:var(--spacing-2xs);background:var(--color-petrol-100);border-radius:var(--radius-full);overflow:hidden;margin:var(--spacing-sm) 0 var(--spacing-md)}
.prog i{display:block;height:100%;background:var(--brand-accent);width:0}
.q{margin:0}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}
.opt{position:relative;background:var(--surface-card);border:var(--stroke-m) solid var(--brand-primary);
  border-radius:var(--radius-l);min-height:120px;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);
  color:var(--text-primary);cursor:pointer;padding:var(--spacing-sm);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center}
.opt input{position:absolute;opacity:0}
.opt .emoji{font-size:var(--icon-xl);margin-bottom:var(--spacing-2xs)}
.opt.sel,.opt:hover{border-color:var(--brand-accent)}
.opt.sel{box-shadow:inset 0 0 0 var(--stroke-m) var(--brand-accent)}
textarea{width:100%;min-height:150px;border:var(--input-border-rule);border-radius:var(--input-radius);
  padding:var(--input-padding-y) var(--input-padding-x);font-size:var(--input-font-size);
  font-family:var(--font-family-primary);color:var(--input-text);resize:vertical}
input[type=text],input:not([type]){font-family:var(--font-family-primary);font-size:var(--input-font-size);
  padding:var(--input-padding-y) var(--input-padding-x);border:var(--input-border-rule);border-radius:var(--input-radius)}
label{font-size:var(--input-label-size);font-weight:var(--input-label-weight);color:var(--input-label-color)}

/* ── dashboard ────────────────────────────────────────────────────────────── */
.filters{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;align-items:center;margin-bottom:var(--spacing-sm)}
select{padding:var(--spacing-2xs) var(--spacing-xs);border:var(--input-border-rule);border-radius:var(--radius-m);
  background:var(--input-bg);font-size:var(--font-size-sm);font-family:var(--font-family-primary)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}
.kpi{background:var(--surface-card);border-radius:var(--radius-l);padding:var(--spacing-sm);
  border-left:var(--stroke-xl) solid var(--brand-accent)}
.kpi strong{font-size:var(--type-h4-size);display:block;margin-top:var(--spacing-3xs);font-weight:var(--font-weight-bold)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:var(--table-cell-padding-y) var(--table-cell-padding-x);border-bottom:var(--table-row-border-rule)}
th{background:var(--table-header-bg);color:var(--table-header-text);font-weight:var(--table-header-weight);font-size:var(--font-size-xs)}
td{font-size:var(--table-body-size)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums} /* Museo saknar tabular-figures → höger-just. */
tbody tr:hover{background:var(--table-row-hover-bg)}
.notice{padding:var(--spacing-xs);border-radius:var(--radius-m);background:var(--surface-subtle-warm);
  border-left:var(--stroke-xl) solid var(--brand-accent);font-size:var(--font-size-sm)}
.comment{padding:var(--spacing-xs) 0;border-bottom:var(--stroke-xs) solid var(--border-default)}
.comment:last-child{border-bottom:0}

/* ── brickor / pills (status bär ALLTID ett ord, aldrig bara färg) ─────────── */
.pill{display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);
  padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--radius-full);
  background:var(--surface-subtle-cold);color:var(--text-primary)}
.pill.local{background:var(--surface-subtle-warm);color:var(--color-orange-700)}
.pill.amber{background:var(--surface-subtle-neutral);color:var(--color-gray-500)}            /* Pågår */
.pill.done{background:var(--surface-subtle-cold);color:var(--color-confirm-500)}             /* Stängt (indikator) */

.qr{display:flex;align-items:center;gap:var(--spacing-sm)}
.qr img{width:120px;height:120px;border:var(--stroke-xs) solid var(--border-default);border-radius:var(--radius-m);background:var(--color-white)}

/* ── ÅTERKOPPLING = dev-process-chrome, medvetet utanför brand-språket ─────── */
/* Grafit + streckad ram + egen etikett så det ALDRIG förväxlas med produkten.  */
.reviewable{display:grid;gap:var(--spacing-md);align-items:start}
@media(min-width:1080px){.reviewable{grid-template-columns:minmax(0,1fr) 300px}}
.review{border:var(--stroke-m) dashed var(--border-strong);border-radius:var(--radius-s);
  background:var(--surface-page-instrumental);padding:var(--spacing-sm)}
.review .rhead{display:flex;align-items:center;gap:var(--spacing-2xs);font-size:var(--font-size-xs);
  font-weight:var(--font-weight-bold);color:var(--text-secondary);letter-spacing:.04em}
.review .rhead .dot{width:var(--icon-xs);height:var(--icon-xs);border-radius:var(--radius-s);
  border:var(--stroke-m) dashed var(--border-strong)}
.review .rnote{font-size:var(--font-size-xs);color:var(--text-secondary);margin:var(--spacing-2xs) 0 0}
.review details{margin-top:var(--spacing-2xs)}
.review summary{cursor:pointer;color:var(--text-link);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}
.review .fb-form{margin-top:var(--spacing-xs);display:flex;flex-direction:column;gap:var(--spacing-2xs)}
.review textarea{min-height:96px;font-size:var(--font-size-sm)}
.review .fb-form button{align-self:flex-start}

/* generellt återkopplingsfält på loggsidan — samma dev-chrome */
.review-panel{border:var(--stroke-m) dashed var(--border-strong);border-radius:var(--radius-s);
  background:var(--surface-page-instrumental);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}
.review-panel .fb-form{display:flex;flex-direction:column;gap:var(--spacing-2xs);margin-top:var(--spacing-2xs)}

/* logg-poster */
.log-item{border:var(--stroke-xs) solid var(--border-default);border-radius:var(--radius-m);
  padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background:var(--surface-card)}
.log-item .meta{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--spacing-3xs);
  display:flex;gap:var(--spacing-2xs);flex-wrap:wrap;align-items:center}
.log-item .body{font-size:var(--font-size-sm);margin:var(--spacing-3xs) 0}
.log-item .team{background:var(--surface-subtle-cold);border-left:var(--stroke-xl) solid var(--brand-primary);
  padding:var(--spacing-2xs) var(--spacing-xs);border-radius:var(--radius-s);margin-top:var(--spacing-2xs);font-size:var(--font-size-sm)}
.log-manage{margin-top:var(--spacing-xs);display:flex;gap:var(--spacing-2xs);flex-wrap:wrap;align-items:flex-end}
.log-manage textarea{min-height:60px;font-size:var(--font-size-sm);flex:1;min-width:240px}

@media(max-width:760px){
  .opts,.kpis{grid-template-columns:1fr}
  .patient{margin:var(--spacing-sm) auto}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
