/* Omvärldsbevakning – gemensam stil för index.html och admin.html
   Tanke: en morgonbrief man läser i telefonen. Lugn yta, färg bara där den betyder något. */

:root{
  color-scheme:light dark;
  --papper:#F7F7F4;      /* sidbakgrund */
  --yta:#FFFFFF;         /* kort, fält */
  --black:#1B1F23;       /* text */
  --dov:#5C6670;         /* sekundär text */
  --linje:#D9DCD6;       /* kanter */
  --tunn:#ECEEE9;        /* avdelare */
  --blått:#1F4E8C;       /* handlingar */
  --blåttyta:#E8EFF8;
  --larm:#C23A1D;
  --larmyta:#FBECE7;
  --ok:#2B7A4B;
  --delvis:#B5791A;
  --radie:10px;
  --text:16px;           /* ändras med A− / A+ på sidan, sparas i webbläsaren */
  --serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sans:-apple-system,"Inter",system-ui,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{
    --papper:#14171A; --yta:#1D2126; --black:#ECEEF0; --dov:#9AA3AC; --linje:#343A41; --tunn:#272C32;
    --blått:#8AB4F0; --blåttyta:#1D2A3D; --larm:#F08A70; --larmyta:#3A221C; --ok:#6CC08C; --delvis:#E0A94A;
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:var(--text)}
body{margin:0 auto;max-width:720px;padding:1rem 1rem calc(7.5rem + env(safe-area-inset-bottom));
  background:var(--papper);color:var(--black);font-family:var(--sans);font-size:1rem;line-height:1.45}
a{color:inherit}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--blått);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Sidhuvud ---------- */
header{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:.2rem 0 1.1rem}
header .hoger{display:flex;align-items:center;gap:.6rem}
.textstorlek{display:inline-flex;border:1px solid var(--linje);border-radius:999px;overflow:hidden}
.textstorlek button{border:0;background:var(--yta);color:var(--dov);font-size:.8rem;padding:.3rem .55rem;min-width:2.1rem}
.textstorlek button+button{border-left:1px solid var(--linje)}
.textstorlek button:hover{color:var(--black);background:var(--tunn)}
h1{font-family:var(--serif);font-weight:600;font-size:1.55rem;letter-spacing:-.01em;line-height:1.15;margin:0}
h2{font-family:var(--serif);font-weight:600;font-size:1.15rem;margin:1rem 0 .4rem}
h3{font-size:1rem;margin:0}
.meta,.liten,.uppdaterad{color:var(--dov);font-size:.8rem}
.adminlank{font-size:.85rem;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--linje);padding-bottom:1px}
.adminlank:hover{border-color:var(--black)}

/* ---------- Knappar ---------- */
.knapp{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2.5rem;padding:.5rem .95rem;
  border:1px solid var(--linje);border-radius:999px;background:var(--yta);color:var(--black);font-size:.9rem;font-weight:500}
.knapp:hover{border-color:var(--black)}
.knapp:disabled{opacity:.5;cursor:default}
.knapp.prim{background:var(--blått);border-color:var(--blått);color:#fff}
.knapp.bla{background:var(--blåttyta);border-color:var(--blåttyta);color:var(--blått)}
.knapp.farl{color:var(--larm);border-color:var(--linje)}
.knapp.farl:hover{border-color:var(--larm)}
.liten-knapp{min-height:2.1rem;padding:.3rem .75rem;font-size:.82rem}

/* ---------- Fält ---------- */
label{display:block;font-size:.8rem;color:var(--dov);margin:.7rem 0 .25rem}
input[type=text],input[type=password],input[type=email],input[type=number],input:not([type]),textarea,select{
  width:100%;padding:.6rem .7rem;border:1px solid var(--linje);border-radius:var(--radie);background:var(--yta);color:var(--black);font:inherit;font-size:1rem}
textarea{min-height:5rem;resize:vertical;line-height:1.5}
input:focus,textarea:focus,select:focus{border-color:var(--blått);outline:none;box-shadow:0 0 0 3px var(--blåttyta)}
select{appearance:none;-webkit-appearance:none;padding-right:2rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235C6670' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center}
input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--blått);margin:0}
.rad{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}
.rad input{flex:1;min-width:8rem}

/* ---------- Meddelanden ---------- */
.msg{padding:.6rem .85rem;border-radius:var(--radie);margin:.6rem 0;background:var(--yta);border:1px solid var(--linje);font-size:.9rem}
.msg.fel{border-color:var(--larm);background:var(--larmyta)}
.msg.ok{border-color:var(--ok)}
#msg{position:fixed;top:.7rem;left:50%;transform:translateX(-50%);background:var(--black);color:var(--papper);padding:.5rem .95rem;
  border-radius:999px;font-size:.85rem;display:none;z-index:9;max-width:92%;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.varning{border-left:3px solid var(--delvis);background:var(--yta);border-radius:0 var(--radie) var(--radie) 0;padding:.6rem .9rem;margin-bottom:1rem;font-size:.88rem}
.varning summary{cursor:pointer;font-weight:600;list-style:none}
.varning summary::-webkit-details-marker{display:none}
.varning ul{margin:.4rem 0 .2rem;padding-left:1.1rem}
.varning li{padding:.1rem 0;border:0}

/* =========================================================
   DASHBOARD
   ========================================================= */
details.kund{background:var(--yta);border:1px solid var(--linje);border-left:3px solid var(--linje);border-radius:var(--radie);margin-bottom:.75rem;overflow:hidden}
details.kund.larm-kort{border-left-color:var(--larm)}
details.kund>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.7rem;padding:.8rem .95rem}
details.kund>summary::-webkit-details-marker{display:none}
details.kund>summary .namn{font-family:var(--serif);font-weight:600;font-size:1.12rem;letter-spacing:-.005em}
details.kund>summary .antal{font-size:.8rem;color:var(--dov);white-space:nowrap}
details.kund>summary .antal b.larm{font-weight:600}
details.kund[open]>summary{border-bottom:1px solid var(--tunn)}
.larm{color:var(--larm)}
.nytag{display:inline-block;background:var(--blåttyta);color:var(--blått);border-radius:999px;padding:0 .5rem;font-size:.72rem;font-weight:600;line-height:1.5}
li.traff.ny-traff{box-shadow:inset 3px 0 0 var(--blått)}
.periodval{width:auto;padding:.3rem 1.8rem .3rem .6rem;font-size:.82rem;min-height:2.1rem}
.briefknappar{flex-wrap:wrap}
.fordjupad{margin:.2rem .95rem .7rem;padding:.6rem .9rem;border-left:2px solid var(--blått);background:var(--blåttyta);border-radius:0 var(--radie) var(--radie) 0;font-size:.92rem;line-height:1.5}
.fordjupad-rubrik{font-weight:600;margin-bottom:.3rem}

.brief{margin:.75rem .95rem .5rem;padding:.1rem 0 .1rem .9rem;border-left:2px solid var(--linje);font-size:.93rem;line-height:1.5}
.brief .meta{margin-top:.4rem}
.briefknappar{display:flex;gap:.4rem;margin-top:.55rem}

ul.lista,.bortlista ul{list-style:none;margin:0;padding:0}
li.traff{display:flex;gap:.6rem;align-items:flex-start;padding:.65rem .95rem;border-top:1px solid var(--tunn)}
li.traff.bort{opacity:.62}
.valj{padding-top:.1rem}
.kryss{width:1.3rem;height:1.3rem}
.inneh{flex:1;min-width:0}
.inneh a{display:block;text-decoration:none;font-weight:500;line-height:1.35}
.inneh a:hover{text-decoration:underline}
.inneh .meta{margin-top:.15rem}
.betyg{display:inline-flex;margin-top:.4rem;border:1px solid var(--linje);border-radius:999px;overflow:hidden}
.b{border:0;background:transparent;color:var(--dov);min-width:2.3rem;height:1.85rem;font-size:.85rem;opacity:1;margin:0;padding:0 .5rem}
.b+.b{border-left:1px solid var(--linje)}
.b:hover{color:var(--black);background:var(--tunn)}
.b.vald.relevant{background:var(--ok);color:#fff}
.b.vald.viktig{background:#C9952B;color:#fff}
.b.viktig{font-size:.95rem}
.priotag{display:inline-block;font-size:.72rem;font-weight:600;color:#fff;background:#C9952B;border-radius:999px;padding:0 .45rem;line-height:1.35}
li.traff.prio-traff{box-shadow:inset 3px 0 0 #C9952B}
.b.vald.delvis{background:var(--delvis);color:#fff}
.b.vald.irrelevant{background:var(--larm);color:#fff}
.b.kommentera{border:1px solid var(--linje);border-radius:999px;margin-left:.4rem;min-width:2rem}
.komm{display:flex;gap:.4rem;margin-top:.4rem;align-items:center} .komm input{flex:1;font-size:.9rem;padding:.4rem .6rem}
.kommentar{margin-top:.3rem;font-style:italic}
.bortlista{margin:.3rem .95rem .7rem;font-size:.85rem}
.bortlista summary{cursor:pointer;color:var(--dov);list-style:none}
.bortlista summary::-webkit-details-marker{display:none}
.bortlista summary::before{content:"▸ ";opacity:.6}
.bortlista[open] summary::before{content:"▾ "}
.bortlista li.traff{padding-left:0;padding-right:0}

/* knapprad vid val */
#bar{position:fixed;left:0;right:0;bottom:0;display:none;gap:.5rem;align-items:center;max-width:720px;margin:0 auto;
  padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));background:var(--yta);border-top:1px solid var(--linje);box-shadow:0 -8px 24px rgba(0,0,0,.08)}
#bar.synlig{display:flex}
#bar .info{flex:1;font-size:.85rem;color:var(--dov)}

/* utkast */
#utkast{margin-bottom:.9rem}
.ut{background:var(--yta);border:1px solid var(--blått);border-radius:var(--radie);padding:.9rem .95rem;margin-bottom:.75rem}
.ut h3{display:flex;justify-content:space-between;gap:.5rem;font-family:var(--serif);font-size:1.05rem;font-weight:600;margin-bottom:.2rem}
.ut label{margin-top:.6rem}
.ut textarea{min-height:9rem;overflow:hidden}
.mott label{display:flex;align-items:center;gap:.55rem;font-size:.92rem;color:var(--black);margin:.35rem 0}
.ut .rad{margin-top:.7rem}
.tecken{font-size:.75rem;color:var(--dov);text-align:right;margin-top:.2rem}
.kanalval{display:inline-flex;gap:.3rem;align-items:center} .kanalval select{width:auto;max-width:14rem;padding:.5rem 2rem .5rem .7rem;font-size:.9rem}
.skrivom{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-top:.6rem;padding-top:.6rem;border-top:1px dashed var(--linje)}
.skrivom input[type=text]{flex:1;min-width:10rem}
.skrivom select{width:auto;font-size:.9rem;padding:.5rem 2rem .5rem .7rem}

/* inloggningsrad */
#login{display:none;position:fixed;top:0;left:0;right:0;z-index:8;background:var(--yta);border-bottom:1px solid var(--linje);
  padding:.6rem 1rem calc(.6rem + env(safe-area-inset-top));box-shadow:0 6px 20px rgba(0,0,0,.08)}
#login form{display:flex;gap:.5rem;max-width:720px;margin:0 auto;align-items:center}
#login input{flex:1}

footer{margin-top:1.4rem}

/* =========================================================
   ADMIN
   ========================================================= */
nav{display:flex;gap:.3rem;margin:.6rem 0 1rem;padding:.25rem;background:var(--yta);border:1px solid var(--linje);border-radius:999px}
nav button{flex:1;padding:.5rem .6rem;border:0;border-radius:999px;background:transparent;color:var(--dov);font-size:.9rem;font-weight:500;white-space:nowrap}
nav button.aktiv{background:var(--black);color:var(--papper)}
nav .chip{margin-left:.2rem}

.kort{background:var(--yta);border:1px solid var(--linje);border-radius:var(--radie);padding:.9rem .95rem;margin-bottom:.75rem}
.kort h2{margin-top:0}
.kort.larm{border-left:3px solid var(--larm)}
details.kundkort{padding:0}
details.kundkort>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;padding:.8rem .95rem}
details.kundkort>summary::-webkit-details-marker{display:none}
details.kundkort>summary b{font-family:var(--serif);font-weight:600;font-size:1.08rem}
details.kundkort>summary b::before{content:"▸ ";font-family:var(--sans);color:var(--dov);font-size:.85rem}
details.kundkort[open]>summary b::before{content:"▾ "}
details.kundkort[open]>summary{border-bottom:1px solid var(--tunn)}
details.kundkort>*:not(summary){margin-left:.95rem;margin-right:.95rem}
details.kundkort>.rad,details.kundkort>label,details.kundkort>button{margin-left:.95rem;margin-right:.95rem}
details.kundkort>button:last-child,details.kundkort>.liten:last-child{margin-bottom:.9rem}
details.kundkort>div.rad.kort{margin:.4rem .95rem}
.rad.kort{padding:.55rem .7rem}
.chip{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--tunn);font-size:.75rem;color:var(--dov)}
.dold{display:none}
.sparfält{position:sticky;bottom:0;background:var(--papper);padding:.7rem 0;border-top:1px solid var(--linje);margin-top:1rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
pre.text{white-space:pre-wrap;font:inherit;background:var(--tunn);padding:.6rem;border-radius:var(--radie)}
code{font-size:.85em;background:var(--tunn);padding:.05rem .3rem;border-radius:4px}

/* mobil: menyn i botten, spara ovanför */
@media (max-width:640px){
  body{padding-bottom:calc(8.5rem + env(safe-area-inset-bottom))}
  nav{position:fixed;left:0;right:0;bottom:0;margin:0;border-radius:0;border:0;border-top:1px solid var(--linje);
    height:calc(3.6rem + env(safe-area-inset-bottom));padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));z-index:5;overflow-x:auto}
  nav button{padding:.55rem .4rem;font-size:.84rem}
  .sparfält{position:fixed;left:0;right:0;bottom:calc(3.6rem + env(safe-area-inset-bottom));padding:.55rem 1rem;z-index:6;margin:0}
  .sparfält .liten{display:none}
  header{flex-direction:column;align-items:flex-start;gap:.5rem}
}

/* dra och släpp, verktygsrad */
.grepp{cursor:grab;color:var(--dov);padding:0 .45rem 0 .1rem;font-weight:400;letter-spacing:-.15em;user-select:none;-webkit-user-select:none;touch-action:none}
.grepp:active{cursor:grabbing}
.sortable-ghost{opacity:.35}
.sortable-chosen{box-shadow:0 8px 24px rgba(0,0,0,.12)}
.verktyg{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:-.4rem 0 .8rem}
.verktyg .meta{margin-left:.3rem}

/* läst */
.b.lastknapp{border:1px solid var(--linje);border-radius:999px;margin-left:.4rem;padding:0 .6rem;width:auto;font-size:.78rem}
.briefpunkt .b.lastknapp{height:1.5rem;margin-left:.3rem;opacity:.7}
.briefpunkt .b.lastknapp:hover{opacity:1}

/* briefpunkt -> källor */
.punkttext{cursor:pointer;text-decoration:underline dotted var(--linje);text-underline-offset:3px}
.punkttext:hover,.punkttext.oppen{text-decoration-color:var(--blått)}
.punktkallor{display:block;margin:.35rem 0 .5rem;padding:.4rem .6rem;background:var(--yta);border:1px solid var(--linje);border-radius:var(--radie);font-size:.88rem}
.punktkallor[hidden]{display:none}
.punktkalla{display:block;padding:.3rem 0}
.punktkalla+.punktkalla{border-top:1px solid var(--tunn)}
.punktkalla a{display:block;font-weight:500;text-decoration:none}
.punktkalla .knapp{margin-top:.25rem}
@keyframes blink{0%{background:var(--blåttyta)}100%{background:transparent}}
li.traff.markerad{animation:blink 2.5s ease-out}

details.fordjupad>summary{cursor:pointer;list-style:none}
details.fordjupad>summary::-webkit-details-marker{display:none}
details.fordjupad>summary::before{content:"▾ ";color:var(--dov);font-weight:400}
details.fordjupad:not([open])>summary::before{content:"▸ "}

/* säljprofiler */
.saljtag,.chip.salj{display:inline-block;background:#f4e8d8;color:#8a4b12;border-radius:999px;padding:0 .5rem;font-family:var(--sans);font-size:.72rem;font-weight:600;vertical-align:middle}
.briefetikett{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;margin-bottom:.2rem}
.lagerad{font-size:.85rem;margin:.15rem 0}
.lagetag{display:inline-block;border-radius:999px;padding:0 .45rem;font-size:.72rem;font-weight:600;background:var(--tunn);color:var(--dov)}
.lagetag.lage4,.lagetag.lage5{background:#f4e8d8;color:#8a4b12}
.lagetag.lage5{background:#8a4b12;color:#fff}

/* sök i alla bevakningar */
#sok{margin:0 0 1rem}
.sokrad{display:flex;gap:.4rem}
.sokrad input{flex:1;min-width:0}
.sokhuvud{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin:.7rem 0 .4rem;font-size:.92rem}
.sokgrupp{border:1px solid var(--linje,#ddd);border-radius:12px;padding:.5rem .8rem;margin:.5rem 0;background:var(--yta)}
.sokgrupp h3{margin:.2rem 0 .3rem;font-size:1rem}
.sokinfo{margin:.15rem 0 .25rem}
.sokutdrag{font-style:italic;margin-top:.15rem;color:inherit;opacity:.85}
.sokursprung{display:inline-block;font-size:.7rem;border:1px solid currentColor;border-radius:999px;padding:0 .4rem;margin-right:.2rem}
