/* Skolinsikt · Mitt analysunderlag */
:root{
  --siu-bg:#0e1116;
  --siu-panel:#151b23;
  --siu-panel-2:#1b222c;
  --siu-text:#f3f5f7;
  --siu-muted:#a8b0ba;
  --siu-soft:#d8dde3;
  --siu-accent:#f28c28;
  --siu-accent-2:#ffb866;
  --siu-border:#2a3440;
  --siu-shadow:0 24px 70px rgba(0,0,0,.38);
}
.siu-root *{box-sizing:border-box}
.siu-fab{
  position:fixed;
  right:max(1rem, env(safe-area-inset-right));
  bottom:max(1rem, env(safe-area-inset-bottom));
  z-index:2147482600;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  border:1px solid rgba(255,184,102,.30);
  border-radius:999px;
  padding:.86rem 1.08rem;
  min-height:48px;
  max-width:calc(100vw - 2rem);
  color:#0d0f13;
  font:800 .94rem/1.1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:linear-gradient(145deg,#f5a040 0%,#f28c28 46%,#e8761a 100%);
  box-shadow:0 15px 38px rgba(242,140,40,.30),0 1px 0 rgba(255,220,160,.34) inset;
  cursor:pointer;
  user-select:none;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.siu-fab:hover{transform:translateY(-2px);box-shadow:0 19px 46px rgba(242,140,40,.36),0 1px 0 rgba(255,220,160,.34) inset}
.siu-fab:active{transform:translateY(1px)}
.siu-fab-count{
  display:inline-flex;
  min-width:1.35rem;
  height:1.35rem;
  align-items:center;
  justify-content:center;
  padding:0 .36rem;
  border-radius:999px;
  color:#fff9f2;
  background:rgba(14,17,22,.72);
  font-size:.78rem;
  box-shadow:0 1px 0 rgba(255,255,255,.10) inset;
}
.siu-selection-pop{
  position:fixed;
  z-index:2147482601;
  display:none;
  align-items:center;
  gap:.5rem;
  max-width:min(92vw, 370px);
  padding:.55rem;
  border:1px solid rgba(255,184,102,.24);
  border-radius:999px;
  color:var(--siu-text);
  background:rgba(21,27,35,.96);
  box-shadow:var(--siu-shadow);
  backdrop-filter:blur(14px);
}
.siu-selection-pop.is-visible{display:flex}
.siu-selection-pop button{
  border:0;
  border-radius:999px;
  padding:.72rem .95rem;
  min-height:42px;
  color:#0d0f13;
  font-weight:850;
  font-family:inherit;
  cursor:pointer;
  background:linear-gradient(145deg,#f5a040,#f28c28);
}
.siu-selection-pop small{color:var(--siu-muted);font-weight:650;padding-right:.35rem;white-space:nowrap}
.siu-backdrop{
  position:fixed;
  inset:0;
  z-index:2147482602;
  display:none;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(2px);
}
.siu-backdrop.is-open{display:block}
.siu-drawer{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:2147482603;
  width:min(500px, calc(100vw - 1.25rem));
  transform:translateX(104%);
  transition:transform .26s ease;
  display:flex;
  flex-direction:column;
  color:var(--siu-text);
  background:linear-gradient(180deg, rgba(27,34,44,.99), rgba(14,17,22,.99));
  border-left:1px solid rgba(255,255,255,.08);
  box-shadow:var(--siu-shadow);
  font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.siu-drawer.is-open{transform:translateX(0)}
.siu-handle{display:none}
.siu-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.1rem 1.1rem .95rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.siu-title{margin:0;color:var(--siu-text);font-size:1.12rem;letter-spacing:-.025em;line-height:1.12;font-weight:850}
.siu-subtitle{margin:.35rem 0 0;color:var(--siu-muted);font-size:.88rem;line-height:1.35;max-width:34ch}
.siu-close{
  width:42px;height:42px;flex:0 0 42px;
  border-radius:14px;
  border:1px solid var(--siu-border);
  color:var(--siu-text);
  background:rgba(255,255,255,.03);
  cursor:pointer;
  font-size:1.15rem;
}
.siu-body{
  flex:1;
  overflow:auto;
  padding:1rem;
  -webkit-overflow-scrolling:touch;
}
.siu-setup{
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  padding:.85rem;
  margin-bottom:.9rem;
  background:rgba(255,255,255,.028);
}
.siu-title-label,
.siu-filter-label{
  display:block;
  color:var(--siu-muted);
  font-size:.78rem;
  font-weight:800;
  margin:0 0 .35rem;
}
.siu-doc-title,
.siu-filter-label select{
  width:100%;
  min-height:42px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  color:var(--siu-text);
  background:rgba(14,17,22,.56);
  padding:.64rem .72rem;
  font:750 .92rem/1.25 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.siu-doc-title:focus,
.siu-filter-label select:focus{outline:2px solid rgba(242,140,40,.38);border-color:rgba(242,140,40,.45)}
.siu-tools{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.8rem;
  margin:.45rem 0 .9rem;
}
.siu-countline{color:#ffe0bd;font-size:.84rem;font-weight:850;padding:.5rem 0}
.siu-filter-label{min-width:210px;margin:0}
.siu-empty{
  border:1px dashed rgba(255,255,255,.14);
  border-radius:22px;
  padding:1rem;
  color:var(--siu-muted);
  background:rgba(255,255,255,.025);
}
.siu-empty strong{display:block;color:var(--siu-text);font-size:1rem;margin-bottom:.35rem}
.siu-empty p{margin:.25rem 0 .75rem;line-height:1.48}
.siu-empty ol{margin:.7rem 0 0;padding-left:1.25rem;color:var(--siu-soft);line-height:1.55}
.siu-list{display:grid;gap:.85rem}
.siu-item{
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(255,255,255,.035);
  padding:.92rem;
}
.siu-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.55rem}
.siu-item-title{font-size:.92rem;font-weight:850;color:#fff2e4;line-height:1.25}
.siu-item-source{display:block;color:var(--siu-muted);font-size:.78rem;margin-top:.22rem;overflow-wrap:anywhere}
.siu-category{
  flex:0 0 auto;
  max-width:46%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid rgba(255,184,102,.20);
  border-radius:999px;
  padding:.25rem .48rem;
  color:#ffd9ae;
  background:rgba(242,140,40,.07);
  font-size:.68rem;
  font-weight:850;
}
.siu-item-text{margin:.65rem 0;color:var(--siu-soft);font-size:.92rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.siu-note-label{display:block;color:var(--siu-muted);font-size:.78rem;font-weight:750;margin:.7rem 0 .32rem}
.siu-note{
  width:100%;min-height:70px;resize:vertical;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:.65rem .72rem;
  color:var(--siu-text);
  background:rgba(14,17,22,.55);
  font:500 .9rem/1.45 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.siu-note:focus{outline:2px solid rgba(242,140,40,.38);border-color:rgba(242,140,40,.45)}
.siu-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.72rem}
.siu-mini{
  border:1px solid rgba(255,255,255,.10);
  color:var(--siu-text);
  background:rgba(255,255,255,.035);
  border-radius:999px;
  padding:.48rem .7rem;
  min-height:36px;
  cursor:pointer;
  font-weight:750;
  font-size:.82rem;
}
.siu-mini:hover{border-color:rgba(242,140,40,.38);color:#ffe1c0}
.siu-mini:disabled{opacity:.45;cursor:not-allowed}
.siu-mini.danger:hover{border-color:rgba(255,120,120,.45);color:#ffd7d7}
.siu-footer{
  padding:1rem;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(14,17,22,.82);
}
.siu-footer-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.65rem}
.siu-primary,.siu-secondary{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;
  border-radius:999px;
  padding:.75rem .82rem;
  font:850 .86rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  text-align:center;
}
.siu-primary{border:0;color:#0d0f13;background:linear-gradient(145deg,#f5a040,#f28c28);box-shadow:0 10px 28px rgba(242,140,40,.22)}
.siu-secondary{border:1px solid rgba(255,255,255,.12);color:var(--siu-text);background:rgba(255,255,255,.035)}
.siu-clear{margin-top:.65rem;width:100%}
.siu-save-block{
  display:inline-flex;align-items:center;justify-content:center;
  gap:.35rem;
  border:1px solid rgba(255,184,102,.22);
  border-radius:999px;
  padding:.42rem .68rem;
  min-height:34px;
  color:#ffcf9b;
  background:rgba(242,140,40,.08);
  font:800 .78rem/1 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  margin:.25rem 0 .75rem;
}
.siu-save-block:hover{background:rgba(242,140,40,.13);border-color:rgba(255,184,102,.34);color:#fff2e4}
.siu-toast{
  position:fixed;
  left:50%;
  bottom:max(5.1rem, calc(5.1rem + env(safe-area-inset-bottom)));
  transform:translate(-50%, 12px);
  z-index:2147482604;
  opacity:0;
  pointer-events:none;
  max-width:min(92vw, 430px);
  padding:.78rem .95rem;
  border-radius:999px;
  color:var(--siu-text);
  background:rgba(21,27,35,.96);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:var(--siu-shadow);
  font:800 .88rem/1.2 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  transition:opacity .18s ease, transform .18s ease;
}
.siu-toast.is-visible{opacity:1;transform:translate(-50%, 0)}
body.siu-open{overflow:hidden}
@media(max-width:860px){
  .siu-footer-actions{grid-template-columns:1fr}
}
@media(max-width:720px){
  .siu-fab{
    right:max(.7rem, env(safe-area-inset-right));
    bottom:max(.7rem, env(safe-area-inset-bottom));
    padding:.78rem .88rem;
    font-size:.86rem;
    min-height:46px;
  }
  .siu-fab-label{max-width:9.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .siu-selection-pop{
    left:.65rem!important;
    right:.65rem!important;
    top:auto!important;
    bottom:calc(4.6rem + env(safe-area-inset-bottom))!important;
    max-width:none;
    border-radius:20px;
    justify-content:space-between;
  }
  .siu-selection-pop button{width:100%;min-height:46px}
  .siu-selection-pop small{display:none}
  .siu-drawer{
    top:auto;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:min(88vh, 760px);
    transform:translateY(104%);
    border-left:0;
    border-top:1px solid rgba(255,255,255,.10);
    border-radius:24px 24px 0 0;
  }
  .siu-drawer.is-open{transform:translateY(0)}
  .siu-handle{display:block;width:44px;height:5px;border-radius:999px;background:rgba(255,255,255,.22);margin:.55rem auto .15rem}
  .siu-head{padding:.72rem .95rem .82rem}
  .siu-title{font-size:1.04rem}
  .siu-subtitle{font-size:.82rem;max-width:26ch}
  .siu-close{width:40px;height:40px;flex-basis:40px;border-radius:13px}
  .siu-body{padding:.85rem .8rem 1rem}
  .siu-setup{border-radius:18px;padding:.78rem;margin-bottom:.75rem}
  .siu-tools{display:grid;gap:.65rem;margin:.3rem 0 .75rem}
  .siu-filter-label{min-width:0;width:100%}
  .siu-doc-title,.siu-filter-label select{font-size:16px;min-height:44px}
  .siu-footer{padding:.85rem .8rem calc(.85rem + env(safe-area-inset-bottom));position:sticky;bottom:0}
  .siu-footer-actions{grid-template-columns:1fr;gap:.55rem}
  .siu-primary,.siu-secondary{min-height:48px;width:100%}
  .siu-item{border-radius:18px;padding:.82rem}
  .siu-item-head{display:grid;gap:.45rem}
  .siu-category{max-width:100%;justify-self:start}
  .siu-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
  .siu-mini{width:100%;min-height:40px}
  .siu-save-block{width:100%;margin:.35rem 0 .85rem;min-height:42px}
  .siu-empty{border-radius:18px;padding:.9rem}
}
@media(print){.siu-fab,.siu-selection-pop,.siu-backdrop,.siu-drawer,.siu-toast,.siu-save-block{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .siu-fab,.siu-drawer,.siu-toast{transition:none!important}
}

/* Mitt analysunderlag v3 · professionell export */
.siu-purpose-label{margin-top:.8rem!important;display:flex!important;align-items:center;justify-content:space-between;gap:.5rem}
.siu-purpose-label span{font-weight:650;color:rgba(168,176,186,.85);font-size:.72rem}
.siu-doc-purpose{
  width:100%;
  min-height:78px;
  resize:vertical;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  color:var(--siu-text);
  background:rgba(14,17,22,.56);
  padding:.64rem .72rem;
  font:500 .9rem/1.45 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.siu-doc-purpose:focus{outline:2px solid rgba(242,140,40,.38);border-color:rgba(242,140,40,.45)}
.siu-export-options{
  border:1px solid rgba(255,184,102,.16);
  border-radius:20px;
  padding:.85rem;
  margin:0 0 .9rem;
  background:linear-gradient(145deg, rgba(242,140,40,.075), rgba(255,255,255,.025));
}
.siu-export-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}
.siu-export-head strong{color:#fff2e4;font-size:.92rem;letter-spacing:-.01em}
.siu-export-head span{color:var(--siu-muted);font-size:.75rem;font-weight:700;text-align:right}
.siu-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.siu-option-grid label{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-height:42px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:14px;
  padding:.58rem .65rem;
  color:var(--siu-soft);
  background:rgba(14,17,22,.36);
  font-size:.83rem;
  font-weight:750;
}
.siu-option-grid input[type="checkbox"]{accent-color:var(--siu-accent);width:17px;height:17px;flex:0 0 auto}
.siu-sort-label{grid-column:1 / -1;justify-content:space-between!important;align-items:center!important}
.siu-sort-label select{
  min-width:150px;
  min-height:36px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  color:var(--siu-text);
  background:rgba(14,17,22,.56);
  padding:.42rem .5rem;
  font:750 .82rem/1.2 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
@media(max-width:720px){
  .siu-doc-purpose{font-size:16px;min-height:82px}
  .siu-export-options{border-radius:18px;padding:.78rem;margin-bottom:.75rem}
  .siu-export-head{display:grid;gap:.2rem;margin-bottom:.6rem}
  .siu-export-head span{text-align:left}
  .siu-option-grid{grid-template-columns:1fr;gap:.45rem}
  .siu-option-grid label{min-height:46px;font-size:.86rem;padding:.62rem .68rem}
  .siu-sort-label{display:grid!important;gap:.45rem;justify-content:stretch!important}
  .siu-sort-label select{width:100%;min-height:44px;font-size:16px}
}


/* Publiceringsstabilisering v4 */
.siu-drawer{overscroll-behavior:contain;max-width:100vw}
.siu-body{overscroll-behavior:contain}
.siu-save-block{position:relative;z-index:1}
details > .siu-save-block{margin:.55rem 0 .7rem}
.siu-root button,.siu-root input,.siu-root textarea,.siu-root select{touch-action:manipulation}
@supports (height:100dvh){
  @media(max-width:720px){.siu-drawer{height:min(88dvh,760px)}}
}
@media(max-width:720px){
  body.siu-open{position:relative;overflow:hidden!important}
  .siu-drawer{max-height:calc(100dvh - .5rem)}
  .siu-body{padding-bottom:1.1rem}
  .siu-toast{bottom:calc(4.9rem + env(safe-area-inset-bottom));border-radius:18px;text-align:center}
}


/* v13: kompakt ikonknapp för "Spara svaret/modellen/block" så underlagsfunktionen tar mindre plats i innehållet. */
.siu-save-block.siu-save-icon-btn{
  position:relative;
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  margin:.15rem 0 .55rem;
  gap:0;
  border-radius:999px;
  line-height:1;
  flex:0 0 auto;
  box-shadow:0 8px 18px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06);
}
.siu-save-block-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:1.16rem;
  line-height:1;
  font-weight:900;
  transform:translateY(-.5px);
}
.siu-save-block-label{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.siu-save-block.siu-save-icon-btn:hover,
.siu-save-block.siu-save-icon-btn:focus-visible{
  transform:translateY(-1px);
  background:rgba(242,140,40,.16);
  border-color:rgba(255,184,102,.42);
  color:#fff4e6;
}
@media(max-width:720px){
  .siu-save-block.siu-save-icon-btn{
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    margin:.08rem 0 .48rem;
  }
}


/* v15: sparknappen läggs diskret högst upp till höger i kortet. */
.siu-save-host{
  position:relative!important;
}
.siu-save-host > .siu-save-block.siu-save-icon-btn{
  position:absolute;
  top:.62rem;
  right:.62rem;
  z-index:6;
  width:28px;
  min-width:28px;
  height:28px;
  min-height:28px;
  margin:0;
  padding:0;
  opacity:.72;
  border-color:rgba(255,184,102,.18);
  background:rgba(21,27,35,.64);
  box-shadow:0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter:blur(8px);
}
.siu-save-host > .siu-save-block.siu-save-icon-btn .siu-save-block-icon{
  font-size:.98rem;
  transform:translateY(-.5px);
}
.siu-save-host > .siu-save-block.siu-save-icon-btn:hover,
.siu-save-host > .siu-save-block.siu-save-icon-btn:focus-visible{
  opacity:1;
  transform:translateY(-1px);
  border-color:rgba(255,184,102,.36);
  background:rgba(242,140,40,.16);
}
@media(max-width:720px){
  .siu-save-host > .siu-save-block.siu-save-icon-btn{
    top:.55rem;
    right:.55rem;
    width:26px;
    min-width:26px;
    height:26px;
    min-height:26px;
  }
  .siu-save-host > .siu-save-block.siu-save-icon-btn .siu-save-block-icon{
    font-size:.92rem;
  }
}
