/* ITPlugg v19.32 – dashboardpaneler, korttdata, tillgänglighet och övergångar.
   Additivt lager: inga befintliga färger/typsnitt/layoutregler ändras, bara
   nya block läggs till och konsekventa fokus-/hover-/touch-förbättringar. */

/* ===== 1. Konsekventa övergångar (150–220ms) på interaktiva element ===== */
.btn,.tab,.mini,.home-course,.lab-card,.v1925-lab-card,.v1931-step,
.journey-step,.audit-row,.tq-item,.opt,.status-pill,.review-item,
.v1932-stat,.v1932-activity-item,.v1932-recommended{
  transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease,transform .15s ease;
}
@media(prefers-reduced-motion:reduce),(prefers-reduced-motion){
  .btn,.tab,.mini,.home-course,.lab-card,.v1925-lab-card,.v1931-step,
  .journey-step,.audit-row,.tq-item,.opt,.status-pill,.review-item,
  .v1932-stat,.v1932-activity-item,.v1932-recommended{transition-duration:.01ms!important}
}

/* ===== 2. Tydliga fokusringar (WCAG AA, syns i både mörkt och ljust läge) ===== */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible,.tab:focus-visible,.opt:focus-visible,
.home-course:focus-visible,summary:focus-visible{
  outline:2.5px solid var(--teal);
  outline-offset:2px;
  border-radius:8px;
}
/* Ta bort webbläsarens grå standardram där vi ändå sätter en tydlig egen. */
a:focus:not(:focus-visible),button:focus:not(:focus-visible),
input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}

/* ===== 3. Touch-mål minst 44px på mobil, utan att ändra desktop-densiteten ===== */
@media(max-width:640px){
  .btn,.mini{min-height:44px;padding-top:11px;padding-bottom:11px}
  .tab{min-height:40px;display:inline-flex;align-items:center}
  .home-course{min-height:auto}
  input[type="checkbox"],input[type="radio"]{width:19px;height:19px}
}

/* ===== 4. Snabbstatistik ===== */
.v1932-panel-title{margin:0 0 10px;font-size:13px;font-weight:800;color:var(--mut);text-transform:uppercase;letter-spacing:.06em}
.v1932-quick-stats{margin:18px 0}
.v1932-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:9px}
.v1932-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:var(--bg2)}
.v1932-stat:hover{border-color:var(--teal)}
.v1932-stat-icon{font-size:16px;margin-bottom:2px}
.v1932-stat b{font-size:19px;line-height:1.15}
.v1932-stat small{color:var(--mut);font-size:11px}

/* ===== 5. Nyligen (aktivitetsflöde) ===== */
.v1932-recent-activity{margin:18px 0}
.v1932-activity-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.v1932-activity-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);color:var(--txt);font:inherit;cursor:pointer}
.v1932-activity-item:hover{border-color:var(--teal);transform:translateX(2px)}
.v1932-activity-item>span:first-child{font-size:16px;flex:0 0 auto}
.v1932-activity-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.v1932-activity-text b{font-size:12.5px}
.v1932-activity-text small{color:var(--mut);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1932-activity-item time{flex:0 0 auto;color:var(--mut);font-size:10.5px;font-family:var(--m)}

/* ===== 6. Rekommenderat nästa steg ===== */
.v1932-recommended{margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;border:1px solid color-mix(in srgb,var(--teal) 38%,var(--line));border-radius:16px;background:linear-gradient(135deg,var(--bg2),color-mix(in srgb,var(--teal) 7%,var(--bg2)))}
.v1932-recommended-kick{display:block;font:800 9.5px var(--m);color:var(--teal);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.v1932-recommended-body h3{margin:0 0 4px;font-size:16px}
.v1932-recommended-body p{margin:0;color:var(--mut);font-size:12.5px}
.v1932-recommended .btn{flex:0 0 auto}

/* ===== 7. Kurskort: antal, tid, nivå, behärskad-badge ===== */
.v1932-card-facts{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}
.v1932-card-facts span{font-size:10.5px;color:var(--mut);border:1px solid var(--line);border-radius:99px;padding:3px 8px}
.v1932-mastered-badge{display:inline-block;margin-left:8px;font:800 9.5px var(--m);color:var(--teal);background:color-mix(in srgb,var(--teal) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--teal) 45%,var(--line));border-radius:99px;padding:2px 8px;vertical-align:middle}

/* ===== 8. Mindre hierarki-/kontrastslipning (additiv, ändrar inga färgvärden) ===== */
.home-course:hover{box-shadow:0 6px 18px rgba(0,0,0,.14)}
.lab-card:hover,.v1925-lab-card:hover{border-color:var(--teal)}
[data-theme="light"] .v1932-stat,html:not([data-v1919-theme]) .v1932-stat{box-shadow:0 1px 2px rgba(0,0,0,.04)}

@media(max-width:640px){
  .v1932-stats-grid{grid-template-columns:repeat(2,1fr)}
  .v1932-recommended{flex-direction:column;align-items:stretch}
  .v1932-recommended .btn{width:100%}
  .v1932-activity-text small{max-width:60vw}
}
