@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&family=DM+Mono:wght@400&display=swap');
:root{--dark:#1a1a18;--warm:#2c2c28;--stone:#6e675b;--stone-light:#8a8478;--sand:#c8bfaf;--cream:#f2ede6;--white:#faf8f5;--gold:#b8a882;--gold-light:#d4c9a8;--gold-text:#7a6b3a;--red:#d45555;--red-light:rgba(213,85,85,0.12);--green:#5a9e6f;--green-light:rgba(90,158,111,0.12);--bg:#ece5d8;--bg-surface:#f5f0e8;}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--dark);font-family:'DM Sans',sans-serif;font-weight:300;display:flex;height:100vh;overflow:hidden;}
.sidebar{width:220px;background:var(--dark);display:flex;flex-direction:column;flex-shrink:0;}
.sidebar-logo{padding:20px 18px 16px;border-bottom:1px solid rgba(184,168,130,0.1);}
.logo-mark{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--white);font-style:italic;}
.logo-mark span{color:var(--gold);}
.logo-sub{font-size:0.65rem;color:var(--stone);letter-spacing:0.15em;text-transform:uppercase;margin-top:3px;}
.nav{flex:1;padding:12px 8px;overflow-y:auto;}
.nav-section{font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(200,191,175,0.5);padding:10px 10px 4px;}
.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:4px;font-size:0.78rem;color:var(--sand);cursor:pointer;transition:all 0.15s;margin-bottom:1px;text-decoration:none;border:none;background:none;width:100%;text-align:left;}
.nav-item:hover{background:rgba(255,255,255,0.05);color:var(--sand);}
.nav-item.active{background:rgba(184,168,130,0.12);color:var(--gold);}
.nav-item .icon{font-size:0.9rem;width:18px;text-align:center;}
.sidebar-footer{padding:12px 8px;border-top:1px solid rgba(184,168,130,0.1);}
.user-menu-wrap{position:relative;}
.user-menu{display:none;position:absolute;bottom:52px;left:0;background:var(--warm);border:1px solid rgba(184,168,130,0.25);border-radius:6px;width:210px;padding:6px 0;box-shadow:0 -8px 24px rgba(0,0,0,0.4);z-index:100;}
.user-menu.open{display:block;}
.user-email{padding:8px 14px 10px;font-size:0.65rem;color:var(--sand);font-family:'DM Mono',monospace;border-bottom:1px solid rgba(184,168,130,0.15);margin-bottom:4px;}
.menu-item{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:0.75rem;color:var(--sand);cursor:pointer;transition:background 0.15s;}
.menu-item:hover{background:rgba(255,255,255,0.06);}
.menu-item.danger{color:var(--red);}
.menu-item .badge{background:var(--gold);color:var(--dark);font-size:0.65rem;padding:1px 5px;border-radius:3px;font-weight:500;}
.user-info{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:4px;cursor:pointer;transition:background 0.15s;}
.user-info:hover{background:rgba(255,255,255,0.05);}
.user-avatar{width:28px;height:28px;background:var(--gold);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--dark);font-weight:500;flex-shrink:0;}
.user-name{font-size:0.72rem;color:var(--sand);}
.user-role{font-size:0.65rem;color:var(--stone);}
.chevron{margin-left:auto;font-size:0.65rem;color:var(--sand);}
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.page{display:none;flex:1;flex-direction:column;overflow:hidden;}
.page.active{display:flex;}
.topbar{background:var(--dark);padding:0 24px;height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(184,168,130,0.1);flex-shrink:0;}
.topbar-title{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--sand);font-style:italic;}
.topbar-right{display:flex;align-items:center;gap:10px;}
.date-badge{font-family:'DM Mono',monospace;font-size:0.65rem;color:var(--sand);}
.topbar-btn{background:none;border:1px solid rgba(184,168,130,0.2);color:var(--sand);padding:5px 12px;border-radius:3px;font-size:0.68rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.topbar-btn:hover{border-color:var(--gold);color:var(--gold);}
.content{flex:1;overflow-y:auto;padding:18px 28px 18px 24px;display:flex;flex-direction:column;gap:4px;min-height:0;background:rgba(255,255,255,0.35);border-left:1px solid rgba(255,255,255,0.5);box-shadow:inset 0 2px 40px rgba(0,0,0,0.04);}
.content::-webkit-scrollbar{width:4px;}
.content::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:2px;}

/* ── Stats cards — single container, 4 cells ── */
.stats-row{display:flex;gap:14px;margin-bottom:10px;background:none;border:none;border-radius:0;overflow:visible;box-shadow:none;}
.stats-row:hover{box-shadow:none;}
.stat-card{flex:1;padding:16px 20px 14px;display:flex;flex-direction:column;gap:3px;position:relative;border-right:none;background:var(--white);border:1px solid rgba(184,168,130,0.12);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.10),0 12px 32px rgba(0,0,0,0.08);}
.stat-card:last-child{border-right:none;}
.stat-card{transition:background 0.15s ease,box-shadow 0.2s ease;}
.stat-card:hover{background:rgba(184,168,130,0.06);}

/* Overview-cards (profilbaserade, klickbara — ersätter stat-cards) */
.overview-meta{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--stone);letter-spacing:0.04em;padding:4px 0 8px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.overview-meta-text{color:var(--stone);}
.live-indicator{color:var(--sand);font-weight:500;display:inline-flex;align-items:center;gap:5px;letter-spacing:0.06em;font-size:0.65rem;font-family:'DM Mono',monospace;}
.live-indicator::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#4ade80;animation:live-pulse 1.8s ease-in-out infinite;box-shadow:0 0 6px rgba(74,222,128,0.6);}
@keyframes live-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:0.45;transform:scale(0.85);}}

.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 0 12px;}
.overview-card{background:var(--white);border:1px solid rgba(184,168,130,0.12);border-radius:6px;padding:14px 18px 12px;cursor:pointer;transition:all 0.15s;text-align:left;position:relative;overflow:hidden;font-family:inherit;box-shadow:0 4px 12px rgba(0,0,0,0.10),0 12px 32px rgba(0,0,0,0.08);}
.overview-card:hover{border-color:var(--gold);background:rgba(184,168,130,0.04);}
.overview-card.active{border-color:var(--dark);background:var(--cream);}
.oc-stripe{position:absolute;top:0;left:0;right:0;height:2px;}
.stripe-green{background:#4ade80;}
.stripe-amber{background:#d4a747;}
.stripe-red{background:#d97757;}
.stripe-blue{background:#7a9eb8;}
.oc-label{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--stone);letter-spacing:0.06em;margin-bottom:6px;text-transform:uppercase;}
.oc-primary{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-style:italic;color:var(--dark);line-height:1;margin-bottom:5px;font-weight:400;}
.oc-secondary{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--stone);letter-spacing:0.02em;}
.stat-label{font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--stone);white-space:nowrap;display:flex;align-items:center;gap:6px;}
.stat-value{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:300;color:var(--dark);font-style:italic;line-height:1.15;margin-top:4px;}
.stat-change{display:block;font-size:0.65rem;color:var(--stone);margin-top:3px;}
.stat-change.up{color:var(--green);}

/* ── Section headings ── */
.content-heading{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--dark);font-style:italic;margin:6px 0 4px;}

/* ── Marknadsnyheter two-column layout ── */
.market-row{display:flex;gap:18px;flex:1;min-height:0;}
.market-left{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--white);border:1px solid rgba(184,168,130,0.10);border-radius:6px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.10),0 12px 32px rgba(0,0,0,0.08);transition:background 0.15s ease,box-shadow 0.2s ease;}
.market-left:hover{box-shadow:0 6px 18px rgba(0,0,0,0.12),0 16px 40px rgba(0,0,0,0.09);}
.market-right{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:14px;overflow-y:auto;}
.market-right::-webkit-scrollbar{width:3px;}
.market-right::-webkit-scrollbar-thumb{background:var(--gold-light);}

/* ── Shortcut buttons (inline in unified bar) ── */
.top-shortcuts{display:none;}
.bar-shortcut-btn{background:none;border:1px solid rgba(184,168,130,0.2);border-radius:4px;padding:5px 10px;font-size:0.68rem;font-family:'DM Sans',sans-serif;color:var(--stone);cursor:pointer;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.bar-shortcut-btn:hover{border-color:var(--gold);color:var(--dark);background:rgba(184,168,130,0.06);}
.bar-shortcut-btn .sc-count{font-size:0.65rem;font-family:'DM Mono',monospace;background:rgba(184,168,130,0.15);padding:0 4px;border-radius:6px;}

.two-col{display:none;}
.news-section{background:var(--white);border:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;}
.section-header{padding:8px 16px;border-bottom:1px solid var(--gold-light);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:0.92rem;color:var(--dark);font-style:italic;font-weight:500;}
.search-input{background:var(--bg-surface);border:1px solid rgba(184,168,130,0.18);border-radius:4px;padding:5px 10px;font-size:0.68rem;font-family:'DM Sans',sans-serif;color:var(--dark);outline:none;width:180px;flex:1;max-width:260px;transition:all 0.2s;box-shadow:inset 0 1px 2px rgba(0,0,0,0.03);}
.search-input:focus{border-color:var(--gold);}
.search-input::placeholder{color:var(--stone);}
.calendar-bar{display:none;}
.cal-btn{background:none;border:1px solid rgba(184,168,130,0.2);border-radius:4px;color:var(--stone);padding:4px 12px;font-size:0.68rem;cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.cal-btn:hover{border-color:var(--gold);color:var(--gold-text);}
.cal-btn.tf-active{background:var(--dark);border-color:var(--dark);color:var(--gold);font-weight:500;}

/* ── Unified control bar — filter tools ── */
.unified-bar{display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--white);border-bottom:1px solid rgba(184,168,130,0.1);flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;scrollbar-width:none;position:relative;z-index:50;}
.unified-bar::-webkit-scrollbar{display:none;}
.unified-bar .bar-sep{width:1px;height:20px;background:rgba(184,168,130,0.2);flex-shrink:0;margin:0 2px;}
/* ── Radar tab bar — category filter ── */
.radar-bar{display:flex;align-items:center;gap:8px;padding:5px 16px;background:var(--bg-surface);border-bottom:1px solid rgba(184,168,130,0.12);flex-shrink:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
.radar-bar::-webkit-scrollbar{display:none;}
.radar-bar .bar-sep{width:1px;height:18px;background:rgba(184,168,130,0.2);flex-shrink:0;margin:0 2px;}
/* ── Source filter bar ── */
/* v0.4.4: wrap istallet for horizontal scroll. Tidigare gjorde overflow-x:auto
   + scrollbar-width:none att sista chip ("Se fler") kunde pushas utanfor
   viewport utan synlig scrollbar. Wrap = expand-knappen alltid synlig. */
.source-bar{display:flex;align-items:flex-start;padding:4px 16px;background:var(--white);border-bottom:1px solid rgba(184,168,130,0.08);flex-shrink:0;}
.source-bar:empty{display:none;}

/* ── News table layout ── */
.news-table-head{display:flex;align-items:center;padding:7px 16px;border-bottom:1px solid rgba(0,0,0,0.08);background:var(--white);flex-shrink:0;}
.news-table-head span{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--stone);font-weight:500;font-family:'DM Mono',monospace;}
.ntcol-source{width:90px;flex-shrink:1;min-width:70px;}
.ntcol-title{flex:1;min-width:0;padding-right:12px;}
.ntcol-details{width:140px;flex-shrink:1;min-width:90px;}
.ntcol-action{width:180px;flex-shrink:0;text-align:right;}

.news-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;}
.news-list::-webkit-scrollbar{width:3px;}
.news-list::-webkit-scrollbar-thumb{background:var(--gold-light);}
.news-item{padding:10px 16px;border-bottom:1px solid rgba(0,0,0,0.05);cursor:pointer;transition:background 0.15s ease,box-shadow 0.15s ease,border-left-color 0.15s ease;display:flex;align-items:center;gap:0;position:relative;flex-direction:row;min-height:44px;border-left:3px solid transparent;}
.news-item:nth-child(odd){background:rgba(184,168,130,0.02);}
.news-item:hover{background:rgba(184,168,130,0.06);border-left-color:var(--gold);}
.news-item:last-child{border-bottom:none;}
.news-item.unread::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);}
.news-source-dot{width:6px;height:6px;border-radius:50%;margin-top:6px;flex-shrink:0;}
.news-content{flex:1;min-width:0;display:flex;flex-direction:column;}
.news-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;}
.news-source{font-size:0.65rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--white);font-family:'DM Mono',monospace;font-weight:500;background:var(--warm);padding:4px 8px;border-radius:2px;line-height:1.2;white-space:nowrap;max-width:100%;text-align:center;display:inline-block;overflow:hidden;text-overflow:ellipsis;}
.news-date{font-size:0.65rem;color:var(--stone);font-family:'DM Mono',monospace;}
.news-title{font-size:0.74rem;color:#1a1a18;line-height:1.3;margin-bottom:0;font-weight:400;letter-spacing:-0.01em;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.news-desc{font-size:0.65rem;color:var(--stone);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.save-btn{background:none;border:none;color:var(--stone);cursor:pointer;font-size:0.75rem;padding:2px;transition:color 0.15s;}
.save-btn:hover,.save-btn.saved{color:var(--gold-text);}
.imp-btn{background:none;border:none;color:var(--stone);cursor:pointer;font-size:0.75rem;padding:2px;transition:color 0.15s;}
.imp-btn:hover,.imp-btn.active,.imp-btn.important{color:var(--red);}
.right-col{display:none;}
/* ── Se mer button ── */
.se-mer-btn{background:none;border:1px solid rgba(184,168,130,0.25);border-radius:3px;padding:4px 10px;font-size:0.65rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;}
.se-mer-btn:hover{border-color:var(--gold);color:var(--gold-text);background:rgba(184,168,130,0.06);}
.agera-btn{background:var(--dark);border:1px solid var(--gold);border-radius:3px;padding:4px 12px;font-size:0.65rem;color:var(--gold);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;font-weight:500;letter-spacing:0.03em;}
.agera-btn:hover{background:var(--gold);color:var(--dark);}
.retry-btn{display:inline-block;margin-top:8px;background:var(--dark);border:1px solid var(--gold);border-radius:3px;padding:4px 10px;font-size:0.7rem;color:var(--gold);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.retry-btn:hover:not(:disabled){background:var(--gold);color:var(--dark);}
.retry-btn:disabled{opacity:0.5;cursor:not-allowed;}
.radar-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;}
.radar-action-btn{background:var(--dark);border:1px solid var(--gold);border-radius:3px;padding:5px 12px;font-size:0.72rem;color:var(--gold);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.radar-action-btn:hover:not(:disabled){background:var(--gold);color:var(--dark);}
.radar-action-btn:disabled{opacity:0.5;cursor:not-allowed;}
.anbud-view{padding:24px 32px;max-width:900px;margin:0 auto;overflow-y:auto;}
.anbud-empty{padding:40px;text-align:center;color:var(--stone);font-style:italic;}
.anbud-header{border-bottom:1px solid var(--gold-light);padding-bottom:14px;margin-bottom:20px;}
.anbud-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.anbud-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--dark);margin-bottom:4px;}
.anbud-meta{font-size:0.78rem;color:var(--stone);display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.anbud-section{margin-bottom:28px;}
.anbud-section-title{font-size:0.72rem;letter-spacing:0.12em;color:var(--stone);text-transform:uppercase;margin-bottom:10px;}
.anbud-source{padding:12px 14px;background:var(--white);border:1px solid var(--gold-light);border-radius:4px;margin-bottom:10px;}
.anbud-source-type{font-size:0.72rem;color:var(--gold);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.1em;}
.anbud-source-body{white-space:pre-wrap;font-size:0.82rem;line-height:1.5;}
.anbud-placeholder{padding:20px;background:var(--white);border:1px dashed var(--gold-light);border-radius:4px;color:var(--stone);font-size:0.82rem;font-style:italic;text-align:center;}
.anbud-list{padding:24px 32px;max-width:900px;margin:0 auto;overflow-y:auto;}
.anbud-list-item{padding:14px 16px;background:var(--white);border:1px solid var(--gold-light);border-radius:4px;margin-bottom:10px;cursor:pointer;transition:border-color 0.15s,box-shadow 0.15s;}
.anbud-list-item:hover{border-color:var(--gold);box-shadow:0 2px 8px rgba(184,168,130,0.15);}
.anbud-list-item-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--dark);margin-bottom:6px;}
.anbud-list-item-preview{font-size:0.78rem;color:var(--stone);margin-bottom:8px;line-height:1.4;}
.anbud-list-item-meta{display:flex;align-items:center;gap:10px;font-size:0.72rem;color:var(--stone);}
.anbud-list-item-date{font-size:0.72rem;color:var(--stone);}
.anbud-status-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:0.68rem;letter-spacing:0.06em;text-transform:uppercase;border:1px solid var(--gold-light);}
.anbud-status-pill.status-ingested{background:rgba(184,168,130,0.08);color:var(--stone);}
.anbud-status-pill.status-draft{background:rgba(184,168,130,0.18);color:var(--gold-text);border-color:var(--gold);}
.anbud-back-btn{background:none;border:1px solid var(--gold-light);border-radius:3px;padding:5px 12px;font-size:0.72rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;margin-bottom:14px;transition:all 0.15s;}
.anbud-back-btn:hover{border-color:var(--gold);color:var(--gold-text);}
.anbud-delete-btn{background:none;border:1px solid rgba(184,168,130,0.3);border-radius:3px;padding:5px 12px;font-size:0.72rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.anbud-delete-btn:hover{border-color:#c96;color:#c96;}
.anbud-generate-btn{background:var(--dark);border:1px solid var(--gold);border-radius:3px;padding:8px 16px;font-size:0.82rem;color:var(--gold);cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:12px;transition:all 0.15s;}
.anbud-generate-btn:hover:not(:disabled){background:var(--gold);color:var(--dark);}
.anbud-generate-btn:disabled{opacity:0.6;cursor:not-allowed;}
.anbud-artifact{padding:16px 18px;background:var(--white);border:1px solid var(--gold-light);border-radius:4px;margin-bottom:10px;}
.anbud-artifact-meta{font-size:0.72rem;color:var(--stone);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.08em;}
.anbud-artifact-label{font-size:0.68rem;color:var(--stone);text-transform:uppercase;letter-spacing:0.14em;margin-bottom:12px;opacity:0.75;}
.anbud-artifact-body{font-size:0.88rem;line-height:1.6;color:var(--dark);}
.anbud-artifact-heading{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--dark);margin:18px 0 6px 0;font-weight:600;}
.anbud-artifact-heading:first-child{margin-top:0;}
.anbud-artifact-para{white-space:pre-wrap;margin:0 0 10px 0;}
.anbud-artifact-para:last-child{margin-bottom:0;}
.anbud-artifact-footer{display:flex;justify-content:flex-start;margin-top:14px;padding-top:12px;border-top:1px solid var(--gold-light);}
.anbud-copy-btn{background:none;border:1px solid var(--gold-light);border-radius:3px;padding:5px 12px;font-size:0.72rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.anbud-copy-btn:hover{border-color:var(--gold);color:var(--gold-text);}
.anbud-copy-btn.copied{border-color:var(--gold);color:var(--gold-text);background:rgba(184,168,130,0.1);}
.anbud-error{padding:10px 14px;background:rgba(192,96,96,0.08);border:1px solid rgba(192,96,96,0.3);border-radius:4px;color:#c66;font-size:0.82rem;margin-top:12px;}
.share-btn{background:none;border:1px solid rgba(184,168,130,0.25);border-radius:3px;padding:4px 10px;font-size:0.65rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;}
.share-btn:hover{border-color:var(--gold);color:var(--gold-text);background:rgba(184,168,130,0.06);}
/* ── Block 14 feedback (👍/👎) ── */
.feedback-btn-group{display:inline-flex;gap:2px;align-items:center;position:relative;}
.feedback-btn{background:none;border:none;color:var(--stone);cursor:pointer;font-size:0.85rem;padding:2px 4px;border-radius:3px;transition:background 0.15s ease,transform 0.1s ease,filter 0.15s ease;line-height:1;opacity:0.55;}
.feedback-btn:hover{opacity:1;background:rgba(184,168,130,0.08);}
.feedback-btn.active{opacity:1;}
.feedback-btn.feedback-up.active{filter:drop-shadow(0 0 1px rgba(80,140,80,0.4));}
.feedback-btn.feedback-down.active{filter:drop-shadow(0 0 1px rgba(192,96,96,0.4));}
.feedback-btn:active{transform:scale(0.92);}
.feedback-btn-group.feedback-small .feedback-btn{font-size:0.75rem;padding:1px 3px;}
.feedback-toast{position:fixed;bottom:24px;right:24px;background:var(--dark);color:var(--cream);padding:10px 16px;border:1px solid var(--gold);border-radius:4px;font-size:0.75rem;font-family:'DM Sans',sans-serif;letter-spacing:0.01em;box-shadow:0 6px 20px rgba(0,0,0,0.18);z-index:10000;opacity:0;transform:translateY(8px);transition:opacity 0.25s ease,transform 0.25s ease;pointer-events:none;}
.feedback-toast.visible{opacity:1;transform:translateY(0);}
.msg-feedback-row{display:flex;justify-content:flex-end;margin-top:6px;padding-top:4px;opacity:0.85;}
.msg-feedback-row:hover{opacity:1;}
.studio-image-feedback-row{display:flex;justify-content:flex-end;gap:4px;padding:4px 0 2px 0;}
/* Block 14J — orsaks-popover (absolute, ankrad till .feedback-btn-group)
   v0.16.2 PATCH: definitiv lösning för transparens + click-through:
   - Ta bort opacity-transition (fade-in från opacity:0 orsakade synlig semi-
     transparens innan animation färdig)
   - Använd display:none/block istället (binärt visible-state)
   - background med !important för att övermana eventuella cascading-overrides
   - z-index 30 → 1000 (över .unified-bar z:50, .news-item position:relative,
     m.fl. lokala stacking-contexts inom Radar/Kompassen/Lagrum/Studio)
   - Behåll under datagap-modal-backdrop (z:10001) och toast (z:10000) */
.feedback-reason-popover{position:absolute;top:calc(100% + 4px);right:0;background:#ffffff !important;border:1px solid var(--gold);border-radius:6px;box-shadow:0 6px 22px rgba(0,0,0,0.22);padding:6px;z-index:1000;display:none;max-width:260px;font-family:'DM Sans',sans-serif;pointer-events:auto;}
.feedback-reason-popover.visible{display:block;background:#ffffff !important;}
/* v0.16.3 PATCH 3 — bryt opacity-cascading i Radar.
   .news-item.tier-list har opacity:0.8 vilket (1) skapar stacking-context som
   låser popover-z-index inom item-scope och (2) ärver 80% opacity ner till
   popover-children. När popover är öppen tvingas item till opacity:1, vilket
   både eliminerar stacking-context-trigger och säkrar full opak popover. */
.news-item.has-feedback-popover{opacity:1 !important;}
.feedback-reason-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:240px;}
.feedback-reason-chip{background:rgba(184,168,130,0.1);border:1px solid rgba(184,168,130,0.3);border-radius:11px;padding:3px 9px;font-size:0.68rem;color:var(--dark);cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.12s ease,border-color 0.12s ease,color 0.12s ease;white-space:nowrap;line-height:1.3;}
.feedback-reason-chip:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:var(--dark);}
.feedback-reason-chip:disabled{cursor:default;opacity:0.55;}
.feedback-reason-chip-other{font-style:italic;color:var(--stone);}
.feedback-reason-input-row{display:flex;flex-direction:column;gap:5px;min-width:220px;}
.feedback-reason-input{width:100%;min-height:46px;max-height:90px;padding:6px 8px;font-size:0.72rem;font-family:'DM Sans',sans-serif;color:var(--dark);border:1px solid var(--gold-light);border-radius:4px;resize:vertical;box-sizing:border-box;line-height:1.3;}
.feedback-reason-input:focus{outline:none;border-color:var(--gold);}
.feedback-reason-input-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.feedback-reason-counter{font-size:0.6rem;color:var(--stone);font-family:'DM Mono',monospace;}
.feedback-reason-input-actions{display:flex;gap:4px;}
.feedback-reason-cancel{background:none;border:1px solid var(--gold-light);border-radius:3px;padding:3px 9px;font-size:0.66rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;}
.feedback-reason-cancel:hover{border-color:var(--gold);color:var(--gold-text);}
.feedback-reason-submit{background:var(--dark);border:1px solid var(--gold);border-radius:3px;padding:3px 11px;font-size:0.66rem;color:var(--gold);cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:500;}
.feedback-reason-submit:hover:not(:disabled){background:var(--gold);color:var(--dark);}
.feedback-reason-submit:disabled{opacity:0.5;cursor:not-allowed;}
@media (max-width: 600px){
  .feedback-reason-popover{max-width:calc(100vw - 24px);}
  .feedback-reason-chips{max-width:calc(100vw - 36px);}
  .feedback-reason-input-row{min-width:200px;}
}
.obs-reason-pill{display:inline-block;background:rgba(184,168,130,0.1);border:1px solid rgba(184,168,130,0.25);border-radius:10px;padding:1px 8px;font-size:0.66rem;color:var(--dark);margin:1px 2px;white-space:nowrap;}
.obs-reason-pill b{font-weight:600;color:var(--gold-text);margin-left:2px;}
/* ── Block 14 datagap modal (Saknas något?) ── */
.datagap-btn{background:none;border:1px solid rgba(184,168,130,0.3);border-radius:3px;padding:4px 10px;font-size:0.7rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;}
.datagap-btn:hover{border-color:var(--gold);color:var(--gold-text);background:rgba(184,168,130,0.06);}
.datagap-modal-backdrop{position:fixed;inset:0;background:rgba(20,18,14,0.55);z-index:10001;display:none;align-items:center;justify-content:center;}
.datagap-modal-backdrop.visible{display:flex;}
.datagap-modal{background:var(--white);border:1px solid var(--gold-light);border-radius:6px;padding:22px 24px;max-width:480px;width:calc(100% - 48px);box-shadow:0 10px 40px rgba(0,0,0,0.25);font-family:'DM Sans',sans-serif;}
.datagap-modal h3{margin:0 0 6px 0;font-size:1rem;color:var(--dark);letter-spacing:-0.01em;}
.datagap-modal p{margin:0 0 14px 0;font-size:0.75rem;color:var(--stone);line-height:1.4;}
.datagap-modal textarea{width:100%;min-height:96px;max-height:200px;padding:10px 12px;font-size:0.78rem;font-family:'DM Sans',sans-serif;color:var(--dark);border:1px solid var(--gold-light);border-radius:4px;resize:vertical;box-sizing:border-box;}
.datagap-modal textarea:focus{outline:none;border-color:var(--gold);}
.datagap-counter{font-size:0.65rem;color:var(--stone);text-align:right;margin-top:4px;font-family:'DM Mono',monospace;}
.datagap-counter.over{color:#c66;}
.datagap-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px;}
.datagap-cancel{background:none;border:1px solid var(--gold-light);border-radius:3px;padding:6px 14px;font-size:0.72rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;}
.datagap-cancel:hover{border-color:var(--gold);color:var(--gold-text);}
.datagap-submit{background:var(--dark);border:1px solid var(--gold);border-radius:3px;padding:6px 16px;font-size:0.72rem;color:var(--gold);cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;font-weight:500;}
.datagap-submit:hover:not(:disabled){background:var(--gold);color:var(--dark);}
.datagap-submit:disabled{opacity:0.4;cursor:not-allowed;}
/* ── Saved panel sidebar styles ── */
.saved-panel-sidebar{background:var(--white);border:1px solid rgba(184,168,130,0.12);border-radius:6px;overflow:visible;box-shadow:0 4px 16px rgba(0,0,0,0.10),0 12px 32px rgba(0,0,0,0.06);transition:background 0.15s ease,box-shadow 0.2s ease;}
.saved-panel-sidebar:hover{box-shadow:0 5px 18px rgba(0,0,0,0.11),0 14px 36px rgba(0,0,0,0.065);}
.saved-panel-header{padding:12px 14px;border-bottom:1px solid var(--gold-light);display:flex;align-items:center;gap:6px;}
.saved-panel-header .section-title{font-size:0.85rem;}
.saved-panel-body{padding:0;}
.saved-panel-row{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid rgba(184,168,130,0.06);font-size:0.7rem;color:var(--stone);transition:background 0.15s ease,box-shadow 0.2s ease;cursor:pointer;user-select:none;}
.saved-panel-row:hover{background:rgba(184,168,130,0.05);}
.saved-panel-row:last-child{border-bottom:none;}
.saved-panel-row .sp-arrow{margin-left:auto;font-size:0.65rem;color:var(--stone);transition:transform 0.2s ease;}
.saved-panel-row.open .sp-arrow{transform:rotate(90deg);}
.saved-expand{padding:0 12px;overflow:hidden;max-height:0;height:0;transition:max-height 0.25s ease,height 0.25s ease;}
.saved-expand.open{max-height:150px;height:auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gold-light) transparent;}
.saved-expand.open::-webkit-scrollbar{width:3px;}
.saved-expand.open::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:2px;}
.saved-expand-item{padding:5px 0;border-bottom:1px solid rgba(184,168,130,0.06);font-size:0.65rem;color:var(--dark);}
.saved-expand-item:last-child{border-bottom:none;}
.saved-expand-item .sei-title{color:var(--sand);font-weight:400;text-decoration:none;display:block;}
.saved-expand-item .sei-title:hover{text-decoration:underline;color:var(--gold-text);}
.saved-expand-item .sei-meta{color:var(--stone);font-size:0.65rem;margin-top:1px;}
.saved-panel-row .sp-icon{font-size:0.75rem;flex-shrink:0;width:16px;text-align:center;color:var(--stone);}
.saved-panel-row .sp-count{font-weight:500;color:var(--dark);margin-right:2px;}
/* ── Weekly panel sidebar ── */
.weekly-panel-sidebar{background:var(--warm);border:1px solid rgba(184,168,130,0.08);border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.10),0 8px 24px rgba(0,0,0,0.06),0 14px 36px rgba(0,0,0,0.03);transition:background 0.15s ease,box-shadow 0.2s ease;position:relative;display:flex;flex-direction:column;flex:1;min-height:0;}
.weekly-panel-sidebar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:28px;background:linear-gradient(to bottom,transparent,var(--warm));border-radius:0 0 6px 6px;pointer-events:none;transition:opacity 0.2s;}
.weekly-panel-sidebar.scrolled-end::after{opacity:0;}
.weekly-panel-sidebar:hover{box-shadow:0 3px 12px rgba(0,0,0,0.12),0 10px 28px rgba(0,0,0,0.07),0 16px 38px rgba(0,0,0,0.035);}
.weekly-panel-header{padding:9px 14px;background:var(--dark);display:flex;align-items:center;justify-content:space-between;}
.weekly-panel-header .section-title{color:var(--cream);font-size:0.95rem;}
.weekly-panel-header .share-btn{color:var(--sand);border-color:rgba(184,168,130,0.3);}.weekly-panel-header .share-btn:hover{color:var(--gold);border-color:var(--gold);background:rgba(184,168,130,0.1);}
.weekly-panel-body{padding:10px 14px;font-size:0.65rem;color:var(--sand);line-height:1.5;white-space:pre-line;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gold-light) transparent;}
.weekly-panel-body::-webkit-scrollbar{width:4px;}
.weekly-panel-body::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:2px;}
.weekly-detail-btn{background:none;border:1px solid rgba(184,168,130,0.3);border-radius:3px;padding:2px 7px;font-size:0.65rem;color:var(--stone);cursor:pointer;font-family:'DM Sans',sans-serif;}
.activity-section{background:var(--dark);border-radius:4px;overflow:hidden;flex-shrink:0;}
.activity-section .section-header{border-bottom-color:rgba(184,168,130,0.15);}
.activity-section .section-title{color:var(--sand);}
.agent-list{padding:8px 0;}
.agent-item{display:flex;align-items:center;justify-content:space-between;padding:8px 18px;border-bottom:1px solid rgba(184,168,130,0.08);}
.agent-item:last-child{border-bottom:none;}
.agent-info{display:flex;align-items:center;gap:10px;}
.agent-dot{width:8px;height:8px;border-radius:50%;}
.agent-dot.on{background:var(--green);animation:pulse 2s infinite;}
.agent-dot.off{background:var(--stone-light);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}
.agent-name{font-size:0.75rem;color:var(--sand);}
.agent-runs{font-size:0.65rem;color:var(--sand);font-family:'DM Mono',monospace;}
.saved-section{background:var(--white);border:1px solid var(--gold-light);border-radius:4px;overflow:hidden;}
.saved-item{padding:10px 18px;border-bottom:1px solid rgba(184,168,130,0.15);cursor:pointer;transition:background 0.15s;}
.saved-item:hover{background:var(--bg);}
.saved-title{font-size:0.75rem;color:var(--dark);line-height:1.4;margin-bottom:2px;}
.saved-meta{font-size:0.65rem;color:var(--stone);font-family:'DM Mono',monospace;}
.empty-msg{padding:20px 18px;text-align:center;font-size:0.75rem;color:var(--stone);}
.loading-msg{padding:30px;text-align:center;color:var(--stone);font-size:0.8rem;line-height:1.8;}
.dots{display:inline-flex;gap:4px;margin-top:8px;}
.dots span{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:dot 1.2s infinite;}
.dots span:nth-child(2){animation-delay:0.2s;}
.dots span:nth-child(3){animation-delay:0.4s;}
@keyframes dot{0%,80%,100%{transform:scale(0.6);opacity:0.4;}40%{transform:scale(1);opacity:1;}}
.k-layout{display:flex;flex:1;overflow:hidden;}
.k-sidebar{width:220px;background:var(--dark);border-right:1px solid rgba(184,168,130,0.1);display:flex;flex-direction:column;}
.k-sidebar-header{padding:12px;}
.new-chat-btn{width:100%;background:rgba(184,168,130,0.1);border:1px solid rgba(184,168,130,0.2);color:var(--sand);padding:9px 14px;border-radius:4px;font-size:0.78rem;cursor:pointer;font-family:'DM Sans',sans-serif;text-align:left;display:flex;align-items:center;gap:8px;}
.new-chat-btn:hover{background:rgba(184,168,130,0.18);}
.k-section{padding:10px 14px 4px;font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(138,132,120,0.4);}
.chat-list{flex:1;overflow-y:auto;padding:4px 8px;}
.chat-item{padding:8px 10px;border-radius:4px;cursor:pointer;font-size:0.75rem;color:var(--stone);transition:all 0.15s;margin-bottom:2px;display:flex;align-items:center;gap:4px;}
.chat-item:hover{background:rgba(255,255,255,0.05);color:var(--sand);}
.chat-item.active{background:rgba(184,168,130,0.12);color:var(--sand);}
.k-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);}
.messages{flex:1;overflow-y:auto;padding:28px 36px;display:flex;flex-direction:column;gap:20px;}
.messages::-webkit-scrollbar{width:5px;}
.messages::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:3px;}
.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:40px;animation:fadeIn 0.4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.welcome-icon{font-size:2.2rem;margin-bottom:16px;opacity:0.7;}
.welcome h2{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--dark);margin-bottom:8px;font-style:italic;}
.welcome p{color:var(--stone);font-size:0.85rem;max-width:380px;line-height:1.7;margin-bottom:28px;}
.suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:520px;}
.sug-btn{background:var(--white);border:1px solid var(--gold-light);color:var(--stone);padding:8px 14px;border-radius:4px;font-size:0.75rem;cursor:pointer;transition:all 0.2s;font-family:'DM Sans',sans-serif;}
.sug-btn:hover{border-color:var(--gold);color:var(--dark);}
/* ── Kompassen mode selector (B0e) ── */
.kompassen-modes{display:flex;gap:6px;padding:10px 16px 6px;border-bottom:1px solid rgba(184,168,130,0.08);}
.mode-btn{background:transparent;border:1px solid var(--gold-light);color:var(--stone);padding:6px 14px;border-radius:4px;font-size:0.75rem;cursor:pointer;transition:all 0.15s;font-family:'DM Sans',sans-serif;}
.mode-btn:hover{border-color:var(--gold);color:var(--dark);}
.mode-btn.active{background:rgba(184,168,130,0.12);border-color:var(--gold);color:var(--gold);}
.mode-context{display:flex;gap:6px;padding:8px 16px;flex-wrap:wrap;border-bottom:1px solid rgba(184,168,130,0.08);background:rgba(184,168,130,0.03);}
.ctx-btn{background:var(--white);border:1px solid var(--gold-light);color:var(--stone);padding:5px 11px;border-radius:4px;font-size:0.7rem;cursor:pointer;transition:all 0.15s;font-family:'DM Sans',sans-serif;}
.ctx-btn:hover:not(:disabled){border-color:var(--gold);color:var(--dark);}
.ctx-btn.active{background:rgba(184,168,130,0.15);border-color:var(--gold);color:var(--gold);font-weight:600;}
.ctx-btn:disabled{opacity:0.45;cursor:not-allowed;}
/* Block 10 Fas D: status-rad + RAG-rendering */
.lagrum-status{justify-content:flex-start;padding:6px 16px;}
.lagrum-status-text{font-size:0.7rem;color:var(--stone);font-family:'DM Sans',sans-serif;letter-spacing:0.02em;}
.lagrum-sources{margin-top:10px;padding-top:8px;border-top:1px solid rgba(184,168,130,0.18);font-size:0.75rem;}
.lagrum-sources summary{cursor:pointer;color:var(--gold);font-weight:600;list-style:none;outline:none;user-select:none;}
.lagrum-sources summary::-webkit-details-marker{display:none;}
.lagrum-sources summary::before{content:'▸ ';display:inline-block;transition:transform 0.15s;}
.lagrum-sources[open] summary::before{content:'▾ ';}
.lagrum-sources-subhead{font-weight:600;color:var(--dark);margin:8px 0 4px;font-size:0.72rem;}
.lagrum-sources-note{font-size:0.68rem;color:var(--stone);font-style:italic;margin:6px 0 8px;line-height:1.4;}
.lagrum-source-item{padding:4px 0;color:var(--stone);font-size:0.72rem;line-height:1.5;border-bottom:1px dashed rgba(184,168,130,0.14);}
.lagrum-source-item:last-child{border-bottom:none;}
.lagrum-disclaimer{margin-top:10px;padding-top:8px;border-top:1px solid rgba(184,168,130,0.12);font-size:0.68rem;color:var(--stone);font-style:italic;line-height:1.5;}
.msg.ai .msg-bubble.lagrum-refusal,.msg.lagrum-refusal .msg-bubble{border-left:3px solid #c98a3a;background:rgba(201,138,58,0.04);}
.msg{display:flex;gap:12px;max-width:760px;animation:fadeIn 0.3s ease;}
.msg.user{flex-direction:row-reverse;align-self:flex-end;}
.msg-avatar{width:30px;height:30px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;margin-top:2px;}
.msg.user .msg-avatar{background:var(--dark);}
.msg.ai .msg-avatar{background:var(--gold);}
.msg-bubble{padding:11px 15px;border-radius:8px;font-size:0.86rem;line-height:1.75;max-width:660px;overflow-wrap:anywhere;word-break:break-word;}
.msg.user .msg-bubble{background:var(--dark);color:var(--white);border-bottom-right-radius:2px;}
.msg.ai .msg-bubble{background:var(--white);border:1px solid var(--gold-light);color:var(--dark);border-bottom-left-radius:2px;}
/* Block 12 — AI Studio bild-bubble (msg-bubble-pattern med bild + actions) */
.msg-bubble.studio-image-bubble{padding:0;overflow:hidden;max-width:520px;width:100%;}
/* Block 14J fix (2026-05-27): tillåt feedback-reason-popover att rendras utanför
   bubble när den är öppen. overflow:hidden finns för att klippa bildens hörn snyggt,
   men klippte också bort popovern. :has() är supported i alla moderna browsers. */
.msg-bubble.studio-image-bubble:has(.feedback-reason-popover.visible){overflow:visible;}
.studio-image{display:block;width:100%;max-width:520px;height:auto;border-radius:8px 8px 0 0;}
.studio-image-actions{display:flex;gap:8px;padding:8px 12px;border-top:1px solid var(--gold-light);background:var(--bg);align-items:center;flex-wrap:wrap;}
.studio-image-action{background:var(--white);border:1px solid var(--gold-light);color:var(--dark);padding:5px 11px;border-radius:4px;font-size:0.72rem;font-family:'DM Sans',sans-serif;cursor:pointer;text-decoration:none;transition:all 0.2s;}
.studio-image-action:hover{border-color:var(--gold);color:var(--gold-text);}
.studio-image-action:disabled{opacity:0.5;cursor:not-allowed;}
/* Block 12E-polish — skeleton/shimmer-placeholder under generering */
.msg-bubble.studio-image-skeleton{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--gold-light);}
.studio-skeleton-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(184,168,130,0.18) 50%,var(--bg) 100%);background-size:200% 100%;animation:studio-shimmer 1.6s linear infinite;border-radius:8px;}
.studio-skeleton-label{position:relative;z-index:1;color:var(--stone);font-size:0.78rem;font-family:'DM Mono',monospace;letter-spacing:0.04em;padding:8px 14px;background:rgba(250,248,245,0.7);border-radius:4px;}
@keyframes studio-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.studio-image-fade-in{animation:studio-fade-in 0.5s ease;}
@keyframes studio-fade-in{from{opacity:0;}to{opacity:1;}}
.msg.ai .msg-bubble.studio-image-error{padding:14px 16px;color:var(--red);font-size:0.78rem;background:var(--white);min-height:auto;border-color:var(--red);}
.studio-image-error-msg{white-space:pre-wrap;line-height:1.5;}
/* Block 12 — kvot-counter (visas i .studio-bottom-row sedan v0.13.3) */
/* v0.13.8 cleanup: .studio-meta-row + .studio-controls-row wrapper-selektorer borttagna
   (DOM-elementen slopades i v0.13.3 när kontroller flyttades till .input-area).
   Inom-selektorer (.studio-quota-counter, .studio-library-btn, .studio-controls-group/label/hint,
   .studio-custom-*) kvarstår — används fortsatt i .studio-bottom-row + .studio-advanced-options. */
.studio-quota-counter{color:var(--stone);font-family:'DM Mono',monospace;letter-spacing:0.02em;}
.studio-quota-counter.warning{color:var(--gold-text);}
.studio-quota-counter.critical{color:var(--red);font-weight:600;}
.studio-library-btn{background:var(--white);border:1px solid var(--gold-light);color:var(--dark);padding:5px 11px;border-radius:4px;font-size:0.72rem;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all 0.2s;}
.studio-library-btn:hover{border-color:var(--gold);color:var(--gold-text);}
/* Block 12b — format/upplösning-kontroller (samma .ctx-btn-pattern som flikarna; lever i .studio-advanced-options) */
.studio-controls-group{display:flex;align-items:center;gap:6px;}
.studio-controls-label{color:var(--stone);font-family:'DM Mono',monospace;letter-spacing:0.04em;font-size:0.68rem;text-transform:uppercase;margin-right:4px;}
.studio-custom-format-fields{display:flex;align-items:center;gap:6px;}
.studio-custom-input{width:64px;padding:4px 6px;border:1px solid var(--gold-light);border-radius:4px;font-size:0.72rem;font-family:'DM Mono',monospace;color:var(--dark);background:var(--white);}
.studio-custom-input:focus{outline:none;border-color:var(--gold);}
.studio-custom-x{color:var(--stone);font-family:'DM Mono',monospace;}
.studio-custom-apply{background:var(--white);border:1px solid var(--gold-light);color:var(--dark);padding:4px 10px;border-radius:4px;font-size:0.72rem;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all 0.2s;}
.studio-custom-apply:hover:not(:disabled){border-color:var(--gold);color:var(--gold-text);}
.studio-custom-apply:disabled{opacity:0.45;cursor:not-allowed;}
.studio-format-error{color:var(--red);font-size:0.7rem;font-family:'DM Mono',monospace;}
.studio-controls-hint{color:var(--gold-text);font-size:0.7rem;font-family:'DM Mono',monospace;letter-spacing:0.02em;margin-left:auto;}
/* Block 12c — Prompt Intelligence: enrichment-summary + assistance-dialog. Inga nya filer; befintliga design-tokens. */
.studio-enrichment-toggle{background:transparent;border:none;color:var(--gold-text);font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.04em;padding:4px 16px 6px;cursor:pointer;text-align:left;display:none;}
.studio-enrichment-toggle:hover{color:var(--gold);}
.studio-enrichment-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 16px 8px;border-bottom:1px solid rgba(184,168,130,0.08);font-size:0.72rem;}
.studio-enrichment-label{color:var(--stone);font-family:'DM Mono',monospace;letter-spacing:0.04em;font-size:0.68rem;text-transform:uppercase;}
.studio-enrichment-rules{display:flex;flex-wrap:wrap;gap:6px;}
.studio-enrichment-rule-chip{display:inline-block;background:rgba(184,168,130,0.12);color:var(--gold-text);padding:2px 8px;border-radius:10px;font-size:0.7rem;font-family:'DM Sans',sans-serif;border:1px solid rgba(184,168,130,0.2);}
/* Block 12e v0.13.4: .studio-assistance-* selektorer borttagna — assistance-dialog
   ej längre i pilot-flödet. DOM-element + JS-funktion också borttagna. */
/* Block 12e v0.13.1 — Multimodal referensbild-uppladdning konsoliderad i .input-area.
   Tidigare separat #studio-upload-zone högst upp (borttagen). Drag-and-drop på hela
   .input-area + .messages (via JS-listeners). Befintliga design-tokens. */
.input-area.is-dragover{background:rgba(184,168,130,0.18);transition:background 0.18s ease;}
.studio-upload-inline{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--gold-light);border-radius:6px;}
.studio-upload-inline-status{color:var(--stone);font-family:'DM Mono',monospace;letter-spacing:0.02em;font-size:0.68rem;text-transform:uppercase;}
.studio-upload-thumbs{display:flex;gap:8px;flex-wrap:wrap;}
.studio-upload-thumb{position:relative;width:64px;height:64px;border-radius:4px;overflow:hidden;border:1px solid var(--gold-light);background:var(--bg);}
.studio-upload-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.studio-upload-role-badge{position:absolute;bottom:0;left:0;right:0;background:rgba(26,26,24,0.72);color:var(--white);font-size:0.55rem;padding:2px 4px;text-align:center;font-family:'DM Mono',monospace;letter-spacing:0.04em;text-transform:uppercase;}
.studio-upload-remove{position:absolute;top:2px;right:2px;background:rgba(0,0,0,0.6);border:none;color:var(--white);width:18px;height:18px;border-radius:50%;font-size:0.85rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;}
.studio-upload-remove:hover{background:rgba(0,0,0,0.85);}
.studio-upload-hint{color:var(--red);font-size:0.7rem;font-family:'DM Mono',monospace;min-height:0;}
.studio-upload-hint:empty{display:none;}
/* Block 12e v0.13.3 — bottom-row direkt ovanför promptfält (Mitt bibliotek + Avancerat + Format/Upplösning + kvot + hint). En rad vid breda skärmar, flex-wrap fallback vid smala. */
.studio-bottom-row{display:none;align-items:center;flex-wrap:wrap;gap:8px;row-gap:6px;padding:4px 0 8px;font-size:0.72rem;border-bottom:1px solid rgba(184,168,130,0.08);margin-bottom:6px;}
.studio-bottom-row .studio-quota-counter{margin-right:4px;}
.studio-bottom-row .studio-library-btn{font-size:0.7rem;padding:4px 10px;}
/* v0.13.3: Avancerat-toggle som inline-knapp i bottom-row (display:none i toppen-layout, men i bottom-row visas alltid när Studio Bild aktiv) */
.studio-advanced-toggle{background:transparent;border:1px solid var(--gold-light);color:var(--gold-text);font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.04em;padding:4px 10px;border-radius:4px;cursor:pointer;text-transform:uppercase;}
.studio-advanced-toggle:hover{color:var(--gold);border-color:var(--gold);}
.studio-advanced-options{display:none;flex-wrap:wrap;align-items:center;gap:10px;font-size:0.72rem;}
.studio-bottom-row .studio-controls-hint{margin-left:auto;color:var(--gold-text);font-size:0.68rem;font-family:'DM Mono',monospace;letter-spacing:0.02em;}
/* Block 12e v0.13.3 — kontext-chip för auto-edit-intent. Visas när senaste generering har ref-bilder OCH user inte laddat upp nya. */
.studio-context-chip{display:flex;align-items:center;gap:8px;padding:5px 10px;background:rgba(184,168,130,0.12);border:1px solid var(--gold-light);border-radius:4px;font-size:0.7rem;color:var(--gold-text);margin-bottom:8px;font-family:'DM Mono',monospace;letter-spacing:0.02em;}
.studio-context-chip-label{flex:1;}
.studio-context-chip-clear{background:transparent;border:none;color:var(--gold-text);font-size:1rem;line-height:1;cursor:pointer;padding:0 4px;font-family:inherit;}
.studio-context-chip-clear:hover{color:var(--red);}
/* Block 12e v0.13.2 Polish 4 — Info-rad under genererad bild ("4K · 3840×2160 · PNG"). */
/* v0.13.5: flex-layout med text vänster + ikon-actions höger (ersätter stora text-knappar) */
.studio-image-info{display:flex;align-items:center;gap:8px;padding:6px 12px;font-family:'DM Mono',monospace;font-size:0.66rem;color:var(--stone);letter-spacing:0.02em;background:var(--bg);border-top:1px solid var(--gold-light);}
.studio-image-info-text{flex:1;min-width:0;}
.studio-image-info-text:empty + .studio-image-info-actions{margin-left:auto;}
.studio-image-info-actions{display:flex;gap:2px;flex-shrink:0;}
.studio-image-icon{background:transparent;border:none;color:var(--stone);cursor:pointer;font-size:1rem;line-height:1;padding:4px 8px;border-radius:3px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;transition:all 0.15s;min-width:28px;min-height:28px;}
.studio-image-icon:hover{background:rgba(184,168,130,0.18);color:var(--gold-text);}
.studio-image-icon:disabled,.studio-image-icon.studio-image-icon-expired{opacity:0.35;cursor:not-allowed;}
.studio-image-icon:disabled:hover,.studio-image-icon.studio-image-icon-expired:hover{background:transparent;color:var(--stone);}
.studio-image-icon.is-loading{animation:studio-icon-spin 1s linear infinite;pointer-events:none;}
@keyframes studio-icon-spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
/* Block 12e v0.13.2 — Expired upload-skydd: regen-knapp disabled + tydlig hint. */
.studio-image-action.studio-image-action-expired{opacity:0.5;cursor:not-allowed;background:var(--bg);}
.studio-image-expired-note{padding:8px 12px;color:var(--stone);font-family:'DM Mono',monospace;font-size:0.7rem;background:rgba(184,168,130,0.08);border-top:1px solid var(--gold-light);font-style:italic;line-height:1.5;}
/* Block 12e v0.13.2 Polish 2 — Lightbox-overlay för genererade bilder. */
/* v0.13.5: nav-pilar + counter ("3 / 7") + touch-swipe-stöd. */
.studio-lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.92);display:none;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(8px);}
.studio-lightbox-overlay.open{display:flex;}
.studio-lightbox-img{max-width:95vw;max-height:90vh;object-fit:contain;transition:transform 0.18s ease;user-select:none;transform-origin:center;cursor:zoom-in;touch-action:pan-y pinch-zoom;}
.studio-lightbox-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);color:var(--white);border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0;z-index:2;}
.studio-lightbox-close:hover{background:rgba(255,255,255,0.25);}
.studio-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);color:var(--white);border-radius:50%;font-size:1.8rem;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;font-family:inherit;padding:0;z-index:2;transition:background 0.15s;}
.studio-lightbox-nav:hover{background:rgba(255,255,255,0.22);}
.studio-lightbox-prev{left:24px;}
.studio-lightbox-next{right:24px;}
.studio-lightbox-counter{position:absolute;top:24px;left:50%;transform:translateX(-50%);color:var(--white);background:rgba(0,0,0,0.5);padding:4px 12px;border-radius:12px;font-family:'DM Mono',monospace;font-size:0.72rem;letter-spacing:0.04em;display:none;}
.studio-lightbox-zoom-controls{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:4px;background:rgba(0,0,0,0.55);padding:4px 8px;border-radius:24px;z-index:2;}
.studio-lightbox-zoom-controls button{background:transparent;border:1px solid rgba(255,255,255,0.3);color:var(--white);padding:4px 14px;border-radius:16px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:0.78rem;}
.studio-lightbox-zoom-controls button:hover{background:rgba(255,255,255,0.15);}
/* Mobil: kompaktare nav-pilar + counter på smala skärmar */
@media (max-width:600px){
  .studio-lightbox-nav{width:40px;height:40px;font-size:1.5rem;}
  .studio-lightbox-prev{left:12px;}
  .studio-lightbox-next{right:12px;}
  .studio-lightbox-counter{top:16px;font-size:0.66rem;}
}
/* Block 12E — bibliotek-overlay (samma pattern som admin-overlay) */
.studio-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px;}
.studio-library-item{position:relative;aspect-ratio:1/1;border:1px solid var(--gold-light);border-radius:4px;overflow:hidden;cursor:pointer;background:var(--bg);transition:border-color 0.2s;}
.studio-library-item:hover{border-color:var(--gold);}
.studio-library-item img{width:100%;height:100%;object-fit:cover;display:block;}
.studio-library-item .lib-meta{position:absolute;bottom:0;left:0;right:0;background:rgba(26,26,24,0.7);color:var(--white);font-size:0.6rem;padding:3px 6px;font-family:'DM Mono',monospace;}
.studio-library-empty{padding:30px 10px;text-align:center;color:var(--stone);font-size:0.78rem;}
.studio-library-pagination{display:flex;justify-content:center;margin-top:14px;}
.studio-library-detail{display:flex;flex-direction:column;align-items:center;gap:12px;}
.studio-library-detail img{max-width:100%;max-height:60vh;border-radius:4px;border:1px solid var(--gold-light);}
.typing-dots{display:flex;gap:4px;padding:4px;}
.typing-dots span{width:7px;height:7px;background:var(--gold);border-radius:50%;animation:dot 1.2s infinite;}
.typing-dots span:nth-child(2){animation-delay:0.2s;}
.typing-dots span:nth-child(3){animation-delay:0.4s;}
.input-area{padding:14px 36px 18px;background:var(--bg);border-top:1px solid var(--gold-light);flex-shrink:0;}
.img-preview{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.preview-item{position:relative;width:56px;height:56px;border-radius:4px;overflow:hidden;border:1px solid var(--gold-light);}
.preview-item img{width:100%;height:100%;object-fit:cover;}
.preview-remove{position:absolute;top:2px;right:2px;background:rgba(0,0,0,0.6);border:none;color:white;width:14px;height:14px;border-radius:50%;font-size:0.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.doc-preview{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.preview-doc{position:relative;display:flex;align-items:center;padding:6px 24px 6px 10px;border:1px solid var(--gold-light);border-radius:4px;background:var(--white);}
.doc-chip{font-size:0.8rem;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;}
.input-row{display:flex;gap:8px;align-items:flex-end;background:var(--white);border:1px solid var(--gold-light);border-radius:8px;padding:9px 12px;transition:border-color 0.2s;}
.input-row:focus-within{border-color:var(--gold);}
.attach-btn{background:none;border:none;color:var(--stone);cursor:pointer;font-size:0.95rem;padding:2px;flex-shrink:0;}
.attach-btn:hover{color:var(--gold-text);}
textarea{flex:1;background:none;border:none;color:var(--dark);font-size:0.86rem;font-family:'DM Sans',sans-serif;resize:none;min-height:22px;max-height:130px;line-height:1.5;outline:none;}
textarea::placeholder{color:var(--stone);}
.send-btn{width:32px;height:32px;background:var(--dark);border:none;border-radius:4px;color:var(--gold);font-size:0.95rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.send-btn:hover{background:var(--warm);}
.send-btn:disabled{background:var(--cream);color:var(--stone);cursor:not-allowed;}
.input-bottom{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap;}
.input-hint{font-size:0.65rem;color:var(--stone);margin-left:auto;font-family:'DM Mono',monospace;}
#file-input{display:none;}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(4px);}
.overlay.open{display:flex;}
.modal{background:var(--white);border:1px solid var(--gold-light);border-radius:8px;padding:28px;width:560px;max-height:85vh;overflow-y:auto;}
.modal h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;margin-bottom:4px;color:var(--dark);}
.modal-note{font-size:0.68rem;color:var(--stone);margin-bottom:18px;font-family:'DM Mono',monospace;}
.modal input[type=text],.modal input[type=url],.modal input[type=password]{width:100%;background:var(--bg);border:1px solid var(--gold-light);border-radius:3px;padding:8px 10px;font-size:0.8rem;font-family:'DM Sans',sans-serif;color:var(--dark);outline:none;margin-bottom:10px;}
.modal input:focus{border-color:var(--gold);}
.modal input::placeholder{color:var(--stone);}
.modal-sec{margin-bottom:18px;}
.modal-sec-title{font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--stone);margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid var(--gold-light);}
.src-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(184,168,130,0.1);}
.src-row:last-child{border-bottom:none;}
.src-name{font-size:0.75rem;color:var(--dark);display:flex;align-items:center;gap:8px;}
.dot-sm{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.sw{width:36px;height:20px;background:var(--cream);border:1px solid var(--gold-light);border-radius:10px;cursor:pointer;position:relative;transition:background 0.2s;flex-shrink:0;}
.sw.on{background:var(--dark);border-color:var(--dark);}
.sw::after{content:'';position:absolute;width:14px;height:14px;background:var(--stone);border-radius:50%;top:2px;left:2px;transition:all 0.2s;}
.sw.on::after{left:18px;background:var(--gold);}
.add-form{background:var(--bg);border:1px solid var(--gold-light);border-radius:4px;padding:12px;margin-top:8px;display:none;}
.add-row{display:flex;gap:8px;}
.add-btn{background:var(--dark);border:none;border-radius:3px;color:var(--gold);padding:7px 12px;font-size:0.72rem;cursor:pointer;font-family:'DM Sans',sans-serif;}
.canc-btn{background:none;border:1px solid var(--gold-light);border-radius:3px;color:var(--stone);padding:7px 12px;font-size:0.72rem;cursor:pointer;}
.show-add{background:none;border:1px dashed var(--gold-light);border-radius:3px;color:var(--stone);padding:6px;font-size:0.72rem;cursor:pointer;width:100%;margin-top:6px;transition:all 0.15s;}
.show-add:hover{border-color:var(--gold);color:var(--gold-text);}
.modal-save{width:100%;background:var(--dark);border:none;border-radius:4px;color:var(--gold);padding:10px;font-size:0.85rem;cursor:pointer;font-family:'DM Sans',sans-serif;margin-top:14px;}
.modal-close{width:100%;background:none;border:none;color:var(--stone);padding:7px;font-size:0.78rem;cursor:pointer;margin-top:4px;}
.coming-soon{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--stone);}
.coming-icon{font-size:2rem;}
.coming-title{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-style:italic;}
.coming-sub{font-size:0.8rem;}

.news-img{display:none;}
.news-img img{width:100%;height:100%;object-fit:cover;}
.news-source-logo{display:none;}
.news-read-more{font-size:0.65rem;color:var(--gold-text);margin-top:4px;display:flex;align-items:center;gap:3px;}
.news-actions{display:flex;flex-direction:row;align-items:center;gap:5px;flex-shrink:0;justify-content:flex-end;}
.copy-btn{background:none;border:none;color:var(--stone);cursor:pointer;font-size:0.7rem;padding:2px;transition:color 0.15s;}
.copy-btn:hover{color:var(--gold-text);}
.remove-saved-btn{background:none;border:none;color:var(--stone);cursor:pointer;font-size:0.7rem;padding:2px;transition:color 0.15s;}
.remove-saved-btn:hover{color:var(--red);}

/* SOURCE FILTER */
.source-filter{display:none;}
/* ── Source chips (inside unified bar) ── */
/* v0.4.4: flex-wrap:wrap som default — chips wrappar till ny rad nar trangt
   istallet for att overflow:a horisontellt. .expanded-state behovs ej for
   wrap-beteende langre men behalls for ev. annan styling-hook. row-gap ger
   andningsrum mellan rader nar chips wrappar. */
.source-chips{display:flex;align-items:center;gap:5px;flex-wrap:wrap;row-gap:6px;min-width:0;flex:1;}
.source-chips.expanded{flex-wrap:wrap;}
.src-chip{background:var(--white);border:1px solid rgba(184,168,130,0.2);border-radius:14px;padding:3px 10px;font-size:0.65rem;font-family:'DM Mono',monospace;color:var(--stone);cursor:pointer;transition:all 0.15s;white-space:nowrap;display:flex;align-items:center;gap:4px;letter-spacing:0.02em;flex-shrink:0;}
.src-chip:hover{border-color:var(--gold);color:var(--dark);}
.src-chip.active{background:var(--dark);border-color:var(--dark);color:var(--gold);font-weight:500;}
.src-chip .src-chip-count{font-size:0.65rem;opacity:0.7;}
.src-filter-btn{background:var(--white);border:1px solid var(--gold-light);border-radius:20px;padding:3px 10px;font-size:0.65rem;cursor:pointer;font-family:'DM Mono',monospace;color:var(--stone);transition:all 0.15s;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.src-filter-btn.active{background:var(--dark);color:var(--gold);border-color:var(--dark);}
.src-filter-btn .src-count{background:rgba(184,168,130,0.2);border-radius:10px;padding:0 5px;font-size:0.65rem;}
.src-filter-btn.active .src-count{background:rgba(184,168,130,0.3);}

/* UNREAD BADGE */
.unread-badge{background:var(--gold);color:var(--dark);border-radius:10px;padding:1px 6px;font-size:0.65rem;font-weight:500;margin-left:6px;}
.ny-badge{background:var(--gold);color:var(--dark);font-size:0.65rem;padding:1px 6px;border-radius:8px;font-weight:500;margin-left:4px;}

.md-h1{display:block;margin:18px 0 8px;font-size:1.15rem;font-weight:700;color:var(--dark);letter-spacing:0.01em;}
.md-h2{display:block;margin:16px 0 6px;font-size:0.78rem;font-weight:700;color:var(--dark);letter-spacing:0.08em;text-transform:uppercase;font-family:'DM Mono',monospace;border-bottom:1px solid rgba(184,168,130,0.25);padding-bottom:4px;}
.md-h3{display:block;margin:12px 0 4px;font-size:0.95rem;font-weight:600;color:var(--dark);}
.md-li{padding-left:14px;margin:2px 0;}
.md-hr{border:none;border-top:1px solid rgba(184,168,130,0.3);margin:10px 0;}
.md-code{background:rgba(184,168,130,0.15);padding:1px 4px;border-radius:2px;font-size:0.85em;font-family:monospace;}
.md-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:0.9rem;}
.md-table th{text-align:left;padding:8px 10px;background:rgba(184,168,130,0.15);font-weight:600;font-size:0.72rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--dark);border-bottom:1px solid rgba(184,168,130,0.4);}
.md-table td{padding:8px 10px;border-bottom:1px solid rgba(184,168,130,0.15);vertical-align:top;}
.md-table tr:last-child td{border-bottom:none;}
.news-match{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.match-badge{font-size:0.65rem;padding:1px 5px;border-radius:10px;font-family:'DM Mono',monospace;font-weight:500;}
.match-badge.commune{background:rgba(184,168,130,0.2);color:var(--gold-text);border:1px solid rgba(184,168,130,0.4);}
.match-badge.type{background:var(--green-light);color:var(--green);border:1px solid rgba(90,158,111,0.2);}
.news-item.priority-high{border-left:3px solid var(--gold);}
.news-item.priority-commune{border-left:3px solid var(--green);}

/* FILTER BAR — hidden, replaced by unified bar */
.filter-bar{display:none;}
.active-profile-bar{display:none;}
.active-profile-bar .ap-label{color:#aaa;font-weight:500;margin-right:2px;white-space:nowrap;}
.active-profile-bar .ap-pill{background:rgba(184,168,130,0.12);color:var(--gold-text);padding:2px 8px;border-radius:10px;font-size:0.7rem;white-space:nowrap;}
.active-profile-bar .ap-pill.ap-type{background:var(--green-light);color:var(--green);}
.active-profile-bar .ap-dot{color:#ccc;font-size:0.65rem;line-height:1;}
.filter-pill{background:var(--white);border:1px solid var(--gold-light);border-radius:20px;padding:3px 10px;font-size:0.68rem;cursor:pointer;color:var(--stone);transition:all 0.15s;white-space:nowrap;}
.filter-pill:hover{border-color:var(--gold);color:var(--gold-text);}
.filter-pill.active{background:var(--dark);color:var(--gold);border-color:var(--dark);}
.filter-sep{width:1px;height:18px;background:var(--gold-light);margin:0 4px;}

/* KOMMUN DROPDOWN */
.kommun-dropdown{position:relative;display:inline-block;}
.kommun-toggle{background:var(--white);border:1px solid var(--gold-light);border-radius:20px;padding:5px 12px;font-size:0.68rem;cursor:pointer;color:var(--stone);transition:all 0.15s;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.kommun-toggle:hover{border-color:var(--gold);color:var(--gold-text);}
.kommun-toggle.has-selection{background:rgba(184,168,130,0.15);border-color:var(--gold);color:var(--gold-text);}
.kommun-panel{display:none;position:absolute;background:var(--white);border:1px solid var(--gold-light);border-radius:6px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:9999;width:260px;max-height:300px;overflow:hidden;flex-direction:column;}
.kommun-panel.open{display:flex;}
.kommun-search{background:var(--bg);border:1px solid var(--gold-light);border-radius:3px;padding:6px 8px;font-size:0.72rem;font-family:'DM Sans',sans-serif;color:var(--dark);outline:none;width:100%;margin-bottom:8px;}
.kommun-search:focus{border-color:var(--gold);}
.kommun-list{overflow-y:auto;max-height:220px;display:flex;flex-direction:column;gap:2px;}
.kommun-list::-webkit-scrollbar{width:3px;}
.kommun-list::-webkit-scrollbar-thumb{background:var(--gold-light);}
.kommun-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:3px;cursor:pointer;font-size:0.72rem;color:var(--dark);transition:background 0.1s;}
.kommun-item:hover{background:var(--bg);}
.kommun-item input[type=checkbox]{accent-color:var(--gold);width:14px;height:14px;cursor:pointer;}

/* TYPE FILTER DROPDOWN */
.type-dropdown{position:relative;display:inline-block;}
.type-toggle{background:var(--white);border:1px solid var(--gold-light);border-radius:20px;padding:3px 10px;font-size:0.68rem;cursor:pointer;color:var(--stone);transition:all 0.15s;white-space:nowrap;display:flex;align-items:center;gap:4px;}
.type-toggle:hover{border-color:var(--gold);color:var(--gold-text);}
.type-toggle.has-selection{background:var(--green-light);border-color:var(--green);color:var(--green);}
.type-panel{display:none;position:absolute;top:110%;left:0;background:var(--white);border:1px solid var(--gold-light);border-radius:6px;padding:10px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:60;width:220px;max-height:320px;overflow-y:auto;}
.type-panel.open{display:block;}
.type-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:3px;cursor:pointer;font-size:0.72rem;color:var(--dark);transition:background 0.1s;}
.type-item:hover{background:var(--bg);}
.type-item input[type=checkbox]{accent-color:var(--green);width:14px;height:14px;cursor:pointer;}

/* RESET FILTER */
.reset-filter-btn{background:none;border:1px dashed var(--gold-light);border-radius:20px;padding:5px 12px;font-size:0.68rem;cursor:pointer;color:var(--stone);transition:all 0.15s;}
.reset-filter-btn:hover{border-color:var(--red);color:var(--red);}

/* ADMIN TABS */
.admin-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid var(--gold-light);padding-bottom:8px;}
.admin-tab{background:none;border:1px solid var(--gold-light);border-radius:3px;padding:5px 12px;font-size:0.72rem;cursor:pointer;color:var(--stone);font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.admin-tab:hover{border-color:var(--gold);color:var(--gold-text);}
.admin-tab.active{background:var(--dark);color:var(--gold);border-color:var(--dark);}

/* Admin-panel placeholder-sektioner (separat från Inställningar-overlay) */
.adminpanel-section{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid rgba(184,168,130,0.10);}
.adminpanel-section:last-of-type{border-bottom:none;}
.adminpanel-icon{font-size:1.2rem;flex-shrink:0;width:28px;text-align:center;line-height:1.4;}
.adminpanel-content{flex:1;min-width:0;}
.adminpanel-title{font-family:'DM Mono',monospace;font-size:0.72rem;color:var(--dark);font-weight:500;letter-spacing:0.04em;margin-bottom:4px;}
.adminpanel-desc{font-size:0.68rem;color:var(--stone);line-height:1.5;}
.adminpanel-meta{font-size:0.62rem;color:var(--stone);font-style:italic;opacity:0.8;}
.admin-panel{display:none;}
.admin-panel.active{display:block;}

/* KEYWORD EDIT */
.kw-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(184,168,130,0.1);}
.kw-label{font-size:0.72rem;font-weight:500;color:var(--dark);min-width:100px;}
.kw-tags{display:flex;flex-wrap:wrap;gap:3px;flex:1;}
.kw-tag{font-size:0.65rem;background:var(--bg);border:1px solid var(--gold-light);padding:1px 6px;border-radius:10px;color:var(--stone);}
.kw-edit-input{background:var(--bg);border:1px solid var(--gold-light);border-radius:3px;padding:4px 6px;font-size:0.68rem;color:var(--dark);font-family:'DM Sans',sans-serif;outline:none;flex:1;min-width:120px;}
.kw-edit-input:focus{border-color:var(--gold);}

/* PRIORITY */
.priority-sel{background:var(--bg);border:1px solid var(--gold-light);border-radius:3px;padding:3px 6px;font-size:0.68rem;color:var(--dark);outline:none;cursor:pointer;}

/* RADAR LEVELS — now inline in unified bar */
.radar-tabs{display:none;}
.radar-tab{background:none;border:1px solid transparent;padding:5px 11px;font-size:0.68rem;font-family:'DM Sans',sans-serif;color:var(--stone);cursor:pointer;position:relative;transition:all 0.15s;display:flex;align-items:center;gap:4px;font-weight:400;white-space:nowrap;border-radius:4px;flex-shrink:0;}
.radar-tab:hover{color:var(--dark);border-color:var(--gold-light);}
.radar-tab.active{color:var(--dark);font-weight:500;background:var(--white);border-color:var(--gold-light);}
.radar-tab.active::after{display:none;}
.radar-tab .rtab-count{font-size:0.65rem;background:var(--bg);border:1px solid var(--gold-light);border-radius:8px;padding:0 4px;font-family:'DM Mono',monospace;}
.radar-tab.active .rtab-count{background:var(--dark);color:var(--gold);border-color:var(--dark);}
.radar-tab .rtab-icon{font-size:0.7rem;}

/* RADAR LEVEL INDICATORS */
.radar-level-badge{font-size:0.65rem;padding:2px 7px;border-radius:10px;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;font-family:'DM Mono',monospace;}
.radar-level-badge.signal{background:var(--green-light);color:var(--green);border:1px solid rgba(90,158,111,0.2);}
.radar-level-badge.varning{background:var(--red-light);color:var(--red);border:1px solid rgba(212,85,85,0.2);}
.radar-level-badge.mojlighet{background:rgba(184,168,130,0.2);color:var(--gold-text);border:1px solid rgba(184,168,130,0.4);}

.news-item.level-varning{border-left:3px solid var(--red);}
.news-item.level-varning .top-level-label{color:var(--red);background:var(--red-light);border-color:rgba(212,85,85,0.2);}
.news-item.level-mojlighet{border-left:3px solid var(--gold);}
.news-item.level-signal{border-left:3px solid var(--green);}
.news-item.level-signal .top-level-label{color:var(--green);background:var(--green-light);border-color:rgba(90,158,111,0.2);}

/* AI ANALYSIS */
.ai-analysis{font-size:0.68rem;color:var(--gold-text);margin-top:4px;padding:3px 8px;background:rgba(184,168,130,0.08);border-radius:3px;border-left:2px solid var(--gold);line-height:1.5;font-style:italic;}
.news-insight{margin-top:6px;display:flex;flex-direction:column;gap:4px;}
.insight-row{display:flex;align-items:baseline;gap:8px;font-size:0.68rem;line-height:1.4;}
.insight-impact{color:var(--dark);font-weight:400;}
.insight-action{color:var(--gold-text);font-weight:500;}
.insight-action.weak{color:var(--stone);font-weight:300;font-size:0.65rem;}
.insight-trigger{font-size:0.65rem;color:var(--stone);font-family:'DM Mono',monospace;background:rgba(184,168,130,0.08);padding:1px 6px;border-radius:8px;white-space:nowrap;}
.insight-priority{font-size:0.65rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:2px 6px;border-radius:8px;font-family:'DM Mono',monospace;white-space:nowrap;}
.insight-priority.hög{background:rgba(184,168,130,0.2);color:var(--gold-text);}
.insight-priority.medium{background:var(--green-light);color:var(--green);}
.insight-priority.låg{background:rgba(138,132,120,0.1);color:var(--stone);}
.insight-roles{display:flex;flex-wrap:wrap;gap:3px 10px;margin-top:1px;}
.insight-role{font-size:0.65rem;color:var(--stone);line-height:1.3;}
.insight-role strong{font-weight:500;color:#666;}
.news-item.has-alert{border-left:3px solid var(--gold);}
.news-item.has-alert.level-varning{border-left-color:var(--red);}
.source-type-badge{font-size:0.6rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;padding:1px 6px;border-radius:8px;font-family:'DM Mono',monospace;white-space:nowrap;line-height:1.4;}
.source-type-badge.stype-upphandling{background:rgba(106,90,205,0.12);color:#6a5acd;}
.source-type-badge.stype-nyhet{background:rgba(138,132,120,0.1);color:var(--stone);}
.source-type-badge.stype-plandata{background:rgba(26,82,118,0.1);color:#1a5276;}
.deadline-badge{font-size:0.65rem;font-family:'DM Mono',monospace;color:#8a7a4a;font-weight:600;white-space:nowrap;background:rgba(184,168,130,0.18);padding:2px 8px;border-radius:4px;border:1px solid rgba(184,168,130,0.25);}
.deadline-badge.soon{color:#7a6a2a;font-weight:700;background:rgba(184,168,130,0.28);border-color:rgba(184,168,130,0.4);}
.deadline-badge.ok{color:#8a7a4a;font-weight:500;}
.top-source-type{font-size:0.65rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;padding:1px 5px;border-radius:6px;font-family:'DM Mono',monospace;}
/* Block 2C: diskret "Intern testmiljö"-tagg i topbar (synlig under hela pilot, tas bort vid extern release). */
.env-badge{font-size:0.6rem;font-family:'DM Mono',monospace;color:rgba(184,168,130,0.75);font-weight:500;letter-spacing:0.06em;text-transform:uppercase;background:rgba(184,168,130,0.08);padding:2px 7px;border-radius:3px;border:1px solid rgba(184,168,130,0.18);white-space:nowrap;}

/* ── Tier 1: Alerts — single inline row ── */
.alert-row{display:flex;gap:10px;padding:9px 16px;background:var(--dark);border:1px solid rgba(184,168,130,0.15);border-radius:6px;align-items:center;flex-wrap:nowrap;overflow-x:auto;margin-bottom:6px;box-shadow:0 2px 8px rgba(0,0,0,0.12);}
.alert-row-label{font-size:0.65rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:0.1em;white-space:nowrap;flex-shrink:0;}
.alert-item{display:flex;align-items:center;gap:6px;padding:2px 0;cursor:pointer;transition:opacity 0.12s;white-space:nowrap;flex-shrink:0;}
.alert-item:hover{opacity:0.75;}
.alert-title{color:var(--sand);font-size:0.66rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px;}
.alert-line2{display:inline-flex;align-items:center;gap:4px;}
.alert-deadline{font-size:0.65rem;font-family:'DM Mono',monospace;color:var(--gold);white-space:nowrap;}
.alert-action{font-size:0.65rem;color:var(--gold);font-family:'DM Mono',monospace;white-space:nowrap;}
.alert-sep{color:rgba(184,168,130,0.3);font-size:0.65rem;flex-shrink:0;}

/* ── Tier 2: Top cards — analysis with reasoning ── */
.top-expand-btn{display:inline-block;padding:2px 10px;font-size:0.65rem;font-family:'DM Mono',monospace;color:var(--stone);background:transparent;border:1px solid rgba(184,168,130,0.12);border-radius:12px;cursor:pointer;letter-spacing:0.04em;transition:all 0.15s;}
.top-expand-btn:hover{border-color:var(--gold);color:var(--dark);}
.top-level-label{font-size:0.6rem;font-family:'DM Mono',monospace;letter-spacing:0.05em;text-transform:uppercase;color:var(--gold-text);font-weight:500;padding:1px 6px;border-radius:8px;background:rgba(184,168,130,0.18);border:1px solid rgba(184,168,130,0.3);white-space:nowrap;line-height:1.4;}
.top-item.level-varning .top-level-label{color:var(--red);background:var(--red-light);border-color:rgba(212,85,85,0.2);}
.top-item.level-signal .top-level-label{color:var(--green);background:var(--green-light);border-color:rgba(90,158,111,0.2);}
.top-reason{font-size:0.65rem;font-family:'DM Mono',monospace;color:var(--stone);margin-top:1px;line-height:1.35;}
.top-deadline{font-size:0.65rem;font-family:'DM Mono',monospace;color:var(--gold-text);margin-top:1px;}
.top-radar{padding:0 0 4px;background:transparent;border:none;border-radius:0;flex-shrink:0;overflow:hidden;}
.top-main-row{display:none;}
.top-side-col{display:none;}
.top-radar-header{display:none;}
.top-radar-title{font-family:'Cormorant Garamond',serif;font-size:0.78rem;color:var(--stone);font-style:italic;}
.top-radar-sub{font-size:0.65rem;color:var(--stone);letter-spacing:0.12em;text-transform:uppercase;font-family:'DM Mono',monospace;}
.top-items-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;padding:4px 0 6px;}
.top-item{padding:14px 16px;border-radius:6px;border:1px solid rgba(184,168,130,0.13);border-left:3px solid var(--gold-light);background:var(--white);cursor:pointer;transition:all 0.2s;display:flex;flex-direction:column;gap:6px;position:relative;box-shadow:0 4px 12px rgba(0,0,0,0.10),0 8px 24px rgba(0,0,0,0.06);}
.top-item:hover{border-color:var(--gold);border-left-color:var(--gold);box-shadow:0 8px 24px rgba(0,0,0,0.12),0 16px 40px rgba(0,0,0,0.06);transform:translateY(-2px);}
.top-item:active{transform:translateY(0);transition-duration:0.05s;}
.top-item::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;border-radius:4px 4px 0 0;}
.top-item.level-mojlighet{border-left-color:var(--gold);}.top-item.level-mojlighet::before{background:var(--gold);}
.top-item.level-varning{border-left-color:var(--red);}.top-item.level-varning::before{background:var(--red);}
.top-item.level-signal{border-left-color:var(--green);}.top-item.level-signal::before{background:var(--green);}
.top-rank{font-family:'DM Mono',monospace;font-size:0.65rem;color:var(--stone);letter-spacing:0.1em;}
.top-body{flex:1;min-width:0;}
.top-meta{display:flex;align-items:center;gap:5px;margin-bottom:2px;flex-wrap:wrap;}
.top-title{font-size:0.78rem;color:var(--dark);font-weight:500;line-height:1.3;}
.top-action{font-size:0.68rem;color:var(--white);font-weight:600;margin-top:auto;padding-top:3px;background:#8a7a4a;padding:6px 12px;border-radius:4px;text-align:center;letter-spacing:0.02em;transition:background 0.15s ease,transform 0.1s ease;cursor:pointer;}
.top-action:hover{background:#7a6a3a;transform:translateY(-1px);}
.top-action:active{transform:translateY(0);}
.top-impact{font-size:0.65rem;color:var(--stone);line-height:1.3;margin-top:1px;}
.top-trigger{font-size:0.65rem;color:var(--stone);font-family:'DM Mono',monospace;background:rgba(184,168,130,0.08);padding:1px 4px;border-radius:6px;white-space:nowrap;}
.top-important-badge{font-size:0.65rem;color:var(--dark);background:var(--gold);padding:1px 5px;border-radius:3px;font-weight:600;letter-spacing:0.06em;}

/* ── List signal line ── */
.news-signal{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap;}
.signal-type{font-size:0.65rem;font-family:'DM Mono',monospace;color:var(--stone);background:rgba(184,168,130,0.08);padding:1px 6px;border-radius:8px;white-space:nowrap;}
.signal-action{font-size:0.65rem;font-family:'DM Mono',monospace;color:var(--gold-text);white-space:nowrap;}

/* ── Tier 3: List — lightweight background feed ── */
.news-item.tier-list{opacity:0.8;}
.news-item.tier-list .news-desc{display:none;}
.news-item.tier-list .news-signal{display:none;}
.news-item.tier-list .news-match{display:none;}
.news-item.tier-list .news-title{font-size:0.72rem;}
.news-item.tier-list .news-content{padding:4px 0;}
.news-item.tier-list .news-meta{margin-bottom:2px;}
.news-item.tier-list .news-source-logo{display:none;}
.news-item.tier-list .news-img{display:none;}

/* ── MOBILE HAMBURGER BUTTON ── */
.mobile-menu-btn{display:none;background:none;border:none;color:var(--sand);font-size:1.3rem;cursor:pointer;padding:4px 8px;line-height:1;flex-shrink:0;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:299;backdrop-filter:blur(2px);}
.sidebar-overlay.open{display:block;}

/* ══════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — max-width: 768px
   Everything stacks vertically. No horizontal scroll.
   ══════════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* ── Global overflow kill ── */
  html,body{overflow-x:hidden;width:100%;max-width:100vw;}
  body{flex-direction:column;height:auto;min-height:100vh;overflow:auto;}

  /* ── Sidebar: hidden off-screen, slides in ── */
  .sidebar{position:fixed;left:-280px;top:0;bottom:0;width:260px;z-index:300;transition:left 0.25s ease;box-shadow:none;}
  .sidebar.mobile-open{left:0;box-shadow:4px 0 20px rgba(0,0,0,0.4);}
  .mobile-menu-btn{display:block;}

  /* ── Main takes full width ── */
  .main{width:100%;flex:1;min-height:0;}

  /* ── Topbar: compact ── */
  .topbar{padding:0 12px;height:46px;gap:6px;}
  .topbar-title{font-size:0.88rem;}
  .topbar-right{gap:6px;}
  .date-badge{font-size:0.65rem;display:none;}
  .topbar-btn{padding:4px 8px;font-size:0.65rem;}
  .topbar-btn-label{display:none;}

  /* ── Content area ── */
  .content{padding:12px 10px;gap:6px;}

  /* ── Stats cards: stack 2x2 ── */
  .stats-row{flex-wrap:wrap;gap:10px;margin-bottom:14px;}
  .stat-card{flex:1 1 45%;min-width:140px;padding:10px 12px;}
  .overview-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:0 0 10px;}
  .overview-card{padding:10px 12px 9px;}
  .oc-primary{font-size:1.4rem;}
  .overview-meta{flex-wrap:wrap;font-size:0.58rem;padding:4px 0 6px;}
  .stat-label{font-size:0.6rem;}
  .stat-value{font-size:1.3rem;}
  .stat-change{font-size:0.6rem;}
  .content-heading{font-size:1rem;margin:10px 0 6px;}

  /* ── Market row: stack on mobile ── */
  .market-row{flex-direction:column;}
  .market-right{width:100%;max-height:none;}
  .weekly-panel-sidebar{flex:none;max-height:340px;}
  .weekly-panel-body{flex:none;max-height:280px;}
  .news-table-head{display:none;}
  .news-item{padding:8px 10px;}
  .ntcol-source{width:auto;min-width:0;}
  .news-item .ntcol-source .news-source{width:auto;}
  .news-item .ntcol-details{width:auto;min-width:0;flex-shrink:1;}
  .news-item .ntcol-action{width:auto;}

  /* ── Alerts: full width row ── */
  .alert-row{padding:3px 10px;flex-wrap:nowrap;overflow-x:auto;}
  .alert-title{font-size:0.65rem;max-width:180px;}

  /* ── Top radar section ── */
  .top-radar{margin:0;padding:0 0 2px;}
  .top-radar-header{padding:2px 10px 0;}
  .top-radar-title{font-size:0.72rem;}

  /* ── Top cards: stack vertically ── */
  .top-items-row{grid-template-columns:1fr;gap:8px;padding:4px 10px 8px;}
  .top-item{padding:10px 12px;gap:4px;}
  .top-title{font-size:0.66rem;}
  .top-deadline{font-size:0.6rem;}
  .top-action{font-size:0.65rem;padding:5px 10px;}

  /* ── Unified bar: wrap on mobile ── */
  .unified-bar{flex-wrap:wrap;padding:8px 10px;gap:6px;overflow:visible;}
  .unified-bar .bar-sep{display:none;}
  .radar-bar{padding:6px 10px;gap:6px;}
  .radar-bar .bar-sep{display:none;}
  .search-input{width:100%;order:99;font-size:0.68rem;padding:5px 10px;border-radius:20px;}
  .bar-shortcut-btn{font-size:0.65rem;padding:4px 8px;min-height:32px;}

  /* ── News section: full width ── */
  .news-section{border-radius:0;border-left:none;border-right:none;}
  .news-item{flex-direction:row;gap:8px;}
  .news-title{font-size:0.74rem;}
  .news-source{font-size:0.6rem;padding:3px 6px;width:auto;}
  .source-chips{display:none;}
  .news-actions{width:auto;gap:2px;}
  .news-actions .share-btn{display:none;}
  .save-btn,.imp-btn{font-size:0.85rem;padding:4px;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;}
  .se-mer-btn{padding:4px 8px;min-height:36px;}

  /* ── Match badges ── */
  .news-match{gap:3px;}
  .match-badge{font-size:0.6rem;padding:1px 4px;}
  .source-type-badge{font-size:0.6rem;padding:1px 4px;}
  .deadline-badge{font-size:0.6rem;}
  .radar-level-badge{font-size:0.6rem;padding:1px 4px;}

  /* ── Signal line ── */
  .news-signal{gap:3px;}
  .signal-type{font-size:0.6rem;padding:1px 4px;}
  .signal-action{font-size:0.6rem;}

  /* ── Saved section ── */
  .saved-section{border-radius:0;}
  .saved-title{font-size:0.68rem;}
  .saved-meta{font-size:0.6rem;}
  .empty-msg{padding:10px 12px;font-size:0.68rem;}

  /* ── Modal: full screen on mobile ── */
  .modal{width:calc(100vw - 20px);max-width:none;padding:18px;border-radius:6px;max-height:90vh;}
  .modal h3{font-size:1.1rem;}
  .admin-tabs{flex-wrap:wrap;gap:4px;}
  .admin-tab{padding:6px 10px;font-size:0.68rem;min-height:36px;}

  /* ── Kompassen sidebar ── */
  .k-layout{flex-direction:column;}
  .k-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid rgba(184,168,130,0.1);}
  .messages{padding:16px 12px;gap:14px;}
  .msg-bubble{max-width:calc(100vw - 80px);font-size:0.82rem;}
  .input-area{padding:10px 12px 14px;}
  .input-bottom{flex-wrap:wrap;gap:6px;}

  /* ── Tier list items: even more compact ── */
  .news-item.tier-list{padding:8px 12px;}
  .news-item.tier-list .news-title{font-size:0.7rem;}
}

/* ── Tablet tweaks (769px - 900px) ── */
@media(min-width:769px) and (max-width:900px){
  .top-main-row{flex-direction:column;}
  .top-side-col{max-width:none;width:auto;flex-direction:row;gap:8px;padding:0 10px 6px 10px;max-height:none;}
  .top-side-col .saved-section{flex:1;min-width:0;}
  .top-items-row{gap:6px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
}


/* A1 Radar Control (2026-05-14) — admin pause/resume/refresh UI */
.radar-control-section{background:var(--bg-surface);border:1px solid rgba(184,168,130,0.3);border-radius:6px;padding:14px;margin:8px 0 18px;}
.radar-control-section .status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:0.7rem;font-weight:500;margin-right:6px;}
.radar-control-section .status-active{background:var(--green-light);color:var(--green);}
.radar-control-section .status-paused{background:var(--red-light);color:var(--red);}
.radar-control-section .status-unknown{background:rgba(184,168,130,0.15);color:var(--stone);}
.radar-control-section .status-line{display:flex;flex-direction:column;gap:4px;font-size:0.7rem;color:var(--stone);}
.radar-control-section .status-line strong{color:var(--dark);font-weight:500;}
.rc-btn{padding:8px 14px;border:1px solid rgba(184,168,130,0.3);border-radius:4px;background:var(--white);color:var(--dark);font-size:0.72rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:opacity 0.15s;}
.rc-btn:hover:not(:disabled){background:var(--cream);}
.rc-btn:disabled{opacity:0.4;cursor:not-allowed;}
.rc-btn-resume:not(:disabled){background:var(--green-light);color:var(--green);border-color:rgba(90,158,111,0.4);}
.rc-btn-pause:not(:disabled){background:var(--red-light);color:var(--red);border-color:rgba(213,85,85,0.4);}
.rc-btn-run:not(:disabled){background:rgba(184,168,130,0.15);color:var(--gold-text);border-color:rgba(184,168,130,0.5);}
.rc-message-error{color:var(--red);}
.rc-message-success{color:var(--green);}

/* ── STREAMING (Fas 1) — additivt, inga andringar av befintliga regler ── */
.stream-status{display:flex;align-items:center;gap:8px;}
.stream-status-label{font-size:0.78rem;color:var(--stone);font-style:italic;}
.stream-content.streaming::after{content:'';display:inline-block;width:0.5em;height:1.05em;margin-left:1px;background:var(--gold);vertical-align:-0.18em;border-radius:1px;animation:caret-blink 1.05s step-end infinite;}
@keyframes caret-blink{50%{opacity:0;}}
.stream-notice{margin-top:8px;font-size:0.72rem;color:var(--red);font-style:italic;}
.stream-empty-note{color:var(--stone);font-style:italic;}
.send-btn.streaming{background:var(--red);color:var(--white);}
.send-btn.streaming:hover{background:#c14545;}

/* ── BLOCK 11 — ADMIN-UTBYGGNAD ─────────────────────────────────────── */

/* 11A — Adminpanel "Öppna"-knapp (admin-only sektioner) */
.adminpanel-action{margin-top:8px;background:var(--dark);color:var(--gold);border:1px solid var(--dark);border-radius:3px;padding:5px 12px;font-size:0.68rem;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.adminpanel-action:hover{background:var(--gold);color:var(--dark);border-color:var(--gold);}

/* 11B — USERS OVERLAY */
.users-modal{max-width:920px;width:92%;}
.users-toolbar{display:flex;align-items:center;gap:12px;margin:12px 0 8px;padding-bottom:8px;border-bottom:1px solid rgba(184,168,130,0.15);}
.users-toolbar .add-btn{margin:0;}
.users-total-label{font-size:0.7rem;color:var(--stone);}
.users-selected-label{font-size:0.7rem;color:var(--gold-text);margin-left:auto;}
.users-add-form{background:var(--bg);border:1px solid var(--gold-light);border-radius:4px;padding:10px 12px;margin-bottom:12px;}
.users-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.users-add-row input[type=email],.users-add-row input[type=text]{flex:1 1 160px;background:var(--white);border:1px solid var(--gold-light);border-radius:3px;padding:5px 8px;font-size:0.72rem;color:var(--dark);font-family:'DM Sans',sans-serif;outline:none;}
.users-add-row input[type=email]:focus,.users-add-row input[type=text]:focus{border-color:var(--gold);}
.users-add-row select{background:var(--white);border:1px solid var(--gold-light);border-radius:3px;padding:5px 8px;font-size:0.72rem;color:var(--dark);outline:none;cursor:pointer;}
.users-batch-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:rgba(184,168,130,0.08);border:1px solid var(--gold-light);border-radius:4px;padding:8px 12px;margin-bottom:10px;}
.users-batch-label{font-size:0.7rem;color:var(--stone);font-weight:500;}
.users-batch-btn{background:none;border:1px solid var(--gold-light);border-radius:3px;padding:4px 10px;font-size:0.68rem;cursor:pointer;color:var(--dark);font-family:'DM Sans',sans-serif;transition:all 0.15s;}
.users-batch-btn:hover{border-color:var(--gold);background:var(--white);}
.users-batch-danger{border-color:rgba(193,69,69,0.4);color:var(--red);}
.users-batch-danger:hover{border-color:var(--red);background:rgba(193,69,69,0.08);}
.users-table-wrap{max-height:50vh;overflow-y:auto;border:1px solid var(--gold-light);border-radius:4px;}
.users-table{width:100%;border-collapse:collapse;font-size:0.72rem;}
.users-table thead{background:var(--bg);position:sticky;top:0;z-index:1;}
.users-table th{text-align:left;padding:8px 10px;font-weight:500;font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.04em;color:var(--dark);border-bottom:1px solid var(--gold-light);}
.users-table td{padding:6px 10px;border-bottom:1px solid rgba(184,168,130,0.10);color:var(--dark);}
.users-table tbody tr:hover{background:rgba(184,168,130,0.04);}
.users-select-col{width:32px;}
.users-table input[type=checkbox]{accent-color:var(--gold);cursor:pointer;}
.users-table select{background:var(--white);border:1px solid var(--gold-light);border-radius:3px;padding:3px 6px;font-size:0.68rem;color:var(--dark);outline:none;cursor:pointer;}
.users-empty{text-align:center;padding:18px 10px;color:var(--stone);font-style:italic;}
.users-error{color:var(--red);font-style:normal;}
.users-message{font-size:0.7rem;color:var(--gold-text);margin-top:8px;min-height:1em;}
.user-status{display:inline-block;font-size:0.65rem;padding:1px 6px;border-radius:10px;font-family:'DM Mono',monospace;}
.user-status-active{background:rgba(46,125,50,0.12);color:#2e7d32;}
.user-status-inactive{background:rgba(120,120,120,0.12);color:#666;}
.user-status-paused{background:rgba(255,152,0,0.14);color:#ef6c00;}
.user-role-badge{display:inline-block;font-size:0.65rem;padding:1px 6px;border-radius:10px;font-family:'DM Mono',monospace;}
.user-role-badge.role-admin{background:rgba(46,125,50,0.12);color:#2e7d32;}
.user-role-badge.role-standard{background:rgba(184,168,130,0.18);color:var(--gold-text);}
.user-role-badge.role-read-only{background:rgba(120,120,120,0.12);color:#666;}

/* 11C — SOURCES OVERLAY */
.sources-modal{max-width:1040px;width:94%;}
.sources-toolbar{display:flex;align-items:center;gap:12px;margin:12px 0 8px;padding-bottom:8px;border-bottom:1px solid rgba(184,168,130,0.15);}
.sources-toolbar .add-btn{margin:0;}
.sources-total-label{font-size:0.7rem;color:var(--stone);margin-left:auto;}
.sources-add-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;}
.sources-add-row input[type=text],.sources-add-row input[type=url]{flex:1 1 180px;background:var(--white);border:1px solid var(--gold-light);border-radius:3px;padding:5px 8px;font-size:0.72rem;color:var(--dark);font-family:'DM Sans',sans-serif;outline:none;}
.sources-add-row input[type=text]:focus,.sources-add-row input[type=url]:focus{border-color:var(--gold);}
.sources-table{width:100%;border-collapse:collapse;font-size:0.72rem;}
.sources-table thead{background:var(--bg);position:sticky;top:0;z-index:1;}
.sources-table th{text-align:left;padding:8px 10px;font-weight:500;font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.04em;color:var(--dark);border-bottom:1px solid var(--gold-light);}
.sources-table td{padding:8px 10px;border-bottom:1px solid rgba(184,168,130,0.10);color:var(--dark);vertical-align:top;}
.sources-table tbody tr:hover{background:rgba(184,168,130,0.04);}
.sources-empty{text-align:center;padding:18px 10px;color:var(--stone);font-style:italic;}
.sources-error{color:var(--red);font-style:normal;}
.src-name{font-weight:500;color:var(--dark);display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.src-id{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--stone);margin-top:2px;}
.src-url{color:var(--stone);word-break:break-all;}
.src-kind{display:inline-block;font-size:0.58rem;background:rgba(120,72,200,0.14);color:#6b48c8;padding:1px 5px;border-radius:8px;font-family:'DM Mono',monospace;}
.src-tier{display:inline-block;font-size:0.58rem;background:rgba(184,168,130,0.18);color:var(--gold-text);padding:1px 5px;border-radius:8px;font-family:'DM Mono',monospace;}
.src-lifecycle{display:inline-block;font-size:0.65rem;padding:2px 8px;border-radius:10px;font-family:'DM Mono',monospace;font-weight:500;}
.src-lifecycle-active{background:rgba(46,125,50,0.14);color:#2e7d32;}
.src-lifecycle-draft{background:rgba(120,120,120,0.14);color:#666;}
.src-lifecycle-failed{background:rgba(193,69,69,0.18);color:#c14545;}
.src-lifecycle-paused{background:rgba(255,152,0,0.16);color:#ef6c00;}
.src-live{display:inline-block;font-size:0.6rem;padding:1px 5px;border-radius:8px;font-family:'DM Mono',monospace;}
.src-live-healthy{background:rgba(46,125,50,0.1);color:#2e7d32;}
.src-live-warning{background:rgba(255,152,0,0.14);color:#ef6c00;}
.src-live-critical{background:rgba(193,69,69,0.16);color:#c14545;}
.src-meta{color:var(--stone);font-style:italic;}
.src-last-error{margin-top:4px;font-size:0.65rem;color:var(--red);background:rgba(193,69,69,0.06);padding:4px 6px;border-radius:3px;}
.src-cell-actions{white-space:nowrap;}
.src-action{background:none;border:1px solid var(--gold-light);border-radius:3px;padding:3px 8px;font-size:0.65rem;cursor:pointer;color:var(--dark);font-family:'DM Sans',sans-serif;transition:all 0.15s;margin-right:4px;margin-bottom:3px;}
.src-action:hover{border-color:var(--gold);background:var(--white);}
.src-action-primary{background:var(--dark);color:var(--gold);border-color:var(--dark);}
.src-action-primary:hover{background:var(--gold);color:var(--dark);border-color:var(--gold);}
.src-action-danger{border-color:rgba(193,69,69,0.4);color:var(--red);}
.src-action-danger:hover{border-color:var(--red);background:rgba(193,69,69,0.08);}

/* 11D — FILES OVERLAY */
.files-modal{max-width:880px;width:94%;}
.files-section{margin:14px 0;padding-bottom:10px;border-bottom:1px solid rgba(184,168,130,0.12);}
.files-section:last-of-type{border-bottom:none;}
.files-title{font-family:'DM Mono',monospace;font-size:0.72rem;color:var(--dark);font-weight:500;letter-spacing:0.04em;margin:0 0 8px;}
.files-subtitle{font-family:'DM Mono',monospace;font-size:0.66rem;color:var(--stone);font-weight:500;margin:10px 0 6px;}
.files-table{width:100%;border-collapse:collapse;font-size:0.7rem;}
.files-table th{text-align:left;padding:6px 8px;font-weight:500;font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.04em;color:var(--dark);border-bottom:1px solid var(--gold-light);background:var(--bg);}
.files-table td{padding:6px 8px;border-bottom:1px solid rgba(184,168,130,0.08);color:var(--dark);}
.files-table tbody tr:hover{background:rgba(184,168,130,0.04);}
.files-empty{font-size:0.7rem;color:var(--stone);font-style:italic;padding:6px 0;}
.files-error{font-size:0.7rem;color:var(--red);padding:6px 0;}
.files-warning{font-size:0.7rem;color:#ef6c00;font-style:italic;}
.files-summary{font-size:0.65rem;color:var(--stone);margin-top:6px;font-style:italic;}
.file-badge{display:inline-block;font-size:0.6rem;padding:1px 6px;border-radius:8px;font-family:'DM Mono',monospace;}
.file-badge-active{background:rgba(46,125,50,0.14);color:#2e7d32;}
.file-badge-archived{background:rgba(120,120,120,0.14);color:#666;}

/* 11E — STATS OVERLAY */
.stats-modal{max-width:880px;width:94%;}
.stats-headline{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:14px;}
.stats-headline-item{display:flex;flex-direction:column;gap:2px;background:var(--bg);border:1px solid var(--gold-light);border-radius:4px;padding:8px 14px;min-width:140px;}
.stats-headline-label{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--stone);letter-spacing:0.04em;}
.stats-headline-value{font-family:'DM Mono',monospace;font-size:1rem;color:var(--dark);font-weight:500;}
.stats-counters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.stats-counter-card{background:var(--bg);border:1px solid var(--gold-light);border-radius:4px;padding:10px 12px;}
.stats-counter-title{font-family:'DM Mono',monospace;font-size:0.66rem;font-weight:500;color:var(--dark);letter-spacing:0.04em;margin-bottom:6px;border-bottom:1px solid rgba(184,168,130,0.2);padding-bottom:4px;}
.stats-counter-list{list-style:none;padding:0;margin:0;}
.stats-counter-list li{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:0.7rem;}
.stats-counter-key{color:var(--stone);font-family:'DM Mono',monospace;font-size:0.65rem;}
.stats-counter-val{color:var(--dark);font-weight:500;}

/* 11F — DEPLOYS OVERLAY + ROLLBACK DIALOG + WHATSNEW DIALOG */
.deploys-modal{max-width:920px;width:94%;}
.deploys-cell-actions{white-space:nowrap;}
.rollback-modal{max-width:680px;width:94%;}
.whatsnew-modal{max-width:680px;width:94%;}
.rollback-dialog-overlay,.whatsnew-dialog-overlay{z-index:1100;}
.rollback-meta{font-size:0.7rem;color:var(--stone);margin:8px 0;}
.rollback-banner{background:rgba(255,152,0,0.12);border:1px solid rgba(255,152,0,0.4);border-radius:4px;padding:8px 10px;font-size:0.72rem;color:#a14a00;margin:10px 0;}
.rollback-diff{max-height:280px;overflow-y:auto;border:1px solid var(--gold-light);border-radius:4px;padding:8px 10px;margin:8px 0;background:var(--bg);}
.rollback-diff-section{margin-bottom:10px;}
.rollback-diff-section h5{font-family:'DM Mono',monospace;font-size:0.66rem;color:var(--dark);margin:6px 0 4px;letter-spacing:0.04em;}
.rollback-diff-section ul{margin:0;padding-left:18px;font-size:0.7rem;color:var(--dark);}
.rollback-diff-section li{margin-bottom:3px;}
.rollback-form{margin-top:10px;}
.rollback-label{display:block;font-size:0.72rem;color:var(--dark);margin-bottom:6px;}
.rollback-label textarea{width:100%;background:var(--white);border:1px solid var(--gold-light);border-radius:3px;padding:6px 8px;font-size:0.72rem;color:var(--dark);font-family:'DM Sans',sans-serif;outline:none;resize:vertical;box-sizing:border-box;}
.rollback-label textarea:focus{border-color:var(--gold);}
.rollback-ack{display:flex;align-items:center;gap:6px;font-size:0.7rem;color:var(--dark);margin:8px 0;cursor:pointer;}
.rollback-ack input[type=checkbox]{accent-color:var(--gold);}
.rollback-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:10px;}
#whatsnew-text{width:100%;background:var(--white);border:1px solid var(--gold-light);border-radius:3px;padding:6px 8px;font-size:0.72rem;color:var(--dark);font-family:'DM Sans',sans-serif;outline:none;resize:vertical;box-sizing:border-box;margin-top:8px;}
#whatsnew-text:focus{border-color:var(--gold);}

/* 11.5c — RADAR CONTROL CENTER (Observability) */
.observability-modal{max-width:1080px;width:96%;}
.observability-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.observability-meta{font-size:0.68rem;color:var(--stone);font-family:'DM Mono',monospace;}
.obs-headline{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px;}
.obs-headline-item{display:flex;flex-direction:column;gap:2px;background:var(--bg);border:1px solid var(--gold-light);border-radius:4px;padding:8px 14px;min-width:120px;}
.obs-headline-warn{border-color:var(--red);background:var(--red-light);}
.obs-headline-label{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--stone);letter-spacing:0.04em;}
.obs-headline-value{font-family:'DM Mono',monospace;font-size:1rem;color:var(--dark);font-weight:500;}
.obs-table{width:100%;font-size:0.68rem;}
.obs-table th,.obs-table td{padding:4px 8px;text-align:left;border-bottom:1px solid rgba(184,168,130,0.18);}
.obs-table th{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--stone);letter-spacing:0.04em;font-weight:500;}
.obs-table td{font-family:'DM Mono',monospace;color:var(--dark);}
.obs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:10px 0;}
.obs-card{background:var(--bg);border:1px solid var(--gold-light);border-radius:4px;padding:10px 12px;}
.obs-card-title{font-family:'DM Mono',monospace;font-size:0.64rem;font-weight:500;color:var(--dark);letter-spacing:0.04em;margin-bottom:6px;border-bottom:1px solid rgba(184,168,130,0.2);padding-bottom:4px;}
.obs-kv{list-style:none;padding:0;margin:0;}
.obs-kv li{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:0.68rem;gap:8px;}
.obs-kv-key{color:var(--stone);font-family:'DM Mono',monospace;font-size:0.64rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.obs-kv-val{color:var(--dark);font-weight:500;font-family:'DM Mono',monospace;}
.obs-empty{font-size:0.66rem;color:var(--stone);font-style:italic;padding:4px 0;margin:0;}
.obs-note{font-size:0.62rem;color:var(--stone);font-style:italic;margin:8px 0 0;line-height:1.5;}
.obs-note code{font-family:'DM Mono',monospace;background:var(--bg);padding:1px 4px;border-radius:2px;}
.obs-flag{display:inline-block;font-size:0.58rem;padding:1px 6px;border-radius:8px;font-family:'DM Mono',monospace;letter-spacing:0.04em;text-transform:uppercase;}
.obs-flag-critical{background:var(--red-light);color:var(--red);}
.obs-flag-warning{background:rgba(184,168,130,0.22);color:var(--gold-text);}
.obs-flag-normal{background:rgba(110,103,91,0.15);color:var(--stone);}
.obs-flag-strong{background:var(--green-light);color:var(--green);}
.obs-dist{display:flex;height:8px;width:140px;border-radius:2px;overflow:hidden;background:rgba(110,103,91,0.1);}
.obs-dist-seg{display:block;height:100%;}
.obs-dist-zero{background:var(--stone-light);}
.obs-dist-low{background:var(--stone);}
.obs-dist-mediumLow{background:var(--gold-light);}
.obs-dist-medium{background:var(--gold);}
.obs-dist-high{background:rgba(90,158,111,0.5);}
.obs-dist-top{background:var(--green);}
.obs-dist-empty{font-size:0.6rem;color:var(--stone);font-style:italic;}
.obs-spark{display:inline-block;vertical-align:middle;}
.obs-spark-empty{font-size:0.6rem;color:var(--stone);font-style:italic;}
.obs-subtitle{font-family:'DM Mono',monospace;font-size:0.7rem;color:var(--dark);margin:14px 0 6px;letter-spacing:0.04em;font-weight:500;}
