/* Gemensamt presentationslager. Ändrar aldrig kundernas e-postmallar. */
:root{--ink:#202936;--muted:#596779;--paper:#f3f5f8;--card:#fff;--line:#dbe1e9;--green:#245fc5;--lime:#dbe8ff;--nav:#182332;--surface-soft:#eef2f7;--surface-subtle:#f7f9fc;--field-border:#abb8c9;--accent-ink:#fff;--shadow:0 8px 28px #14243b08}
html[data-theme=dark]{--ink:#e7edf6;--muted:#abb8ca;--paper:#101620;--card:#192330;--line:#354255;--green:#96bfff;--lime:#293f60;--nav:#111b29;--surface-soft:#222f40;--surface-subtle:#151e2b;--field-border:#56677e;--accent-ink:#10203c;--sticky-surface:#192330f5}
@media(prefers-color-scheme:dark){html[data-theme=system]{--ink:#e7edf6;--muted:#abb8ca;--paper:#101620;--card:#192330;--line:#354255;--green:#96bfff;--lime:#293f60;--nav:#111b29;--surface-soft:#222f40;--surface-subtle:#151e2b;--field-border:#56677e;--accent-ink:#10203c;--sticky-surface:#192330f5}}
html{scroll-padding-top:100px}body{font-size:16px;line-height:1.5;background:var(--paper);color:var(--ink)}
*,*::before,*::after{box-sizing:border-box}a,button,input,select,textarea,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.ui-skip{position:fixed;top:8px;left:8px;z-index:10000;background:var(--card);padding:12px 20px;border:2px solid var(--green);transform:translateY(-160%)}.ui-skip:focus{transform:none}
@media(max-width:900px){#dashboard-sidebar{z-index:1000}.menu-toggle{position:relative;z-index:2}#dashboard-menu{z-index:1}}
.wizard-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-block:12px}.wizard-choice{display:flex!important;align-items:flex-start;gap:12px;padding:20px;border:2px solid var(--line);background:var(--card);cursor:pointer}.wizard-choice input{width:auto!important;flex:0 0 auto;margin-top:5px}.wizard-choice span{min-width:0}.wizard-choice strong,.wizard-choice small,.wizard-choice b{display:block}.wizard-choice small{margin:8px 0;line-height:1.6;color:var(--muted)}.wizard-choice:has(input:checked){border-color:var(--green)}.wizard-choice:has(input:focus-visible){outline:3px solid var(--green);outline-offset:3px}.wizard-choice:has(input:disabled){opacity:.6;cursor:not-allowed}.wizard-days{display:flex;flex-wrap:wrap;gap:10px;margin-block:12px}.wizard-days label{display:inline-flex!important;align-items:center;gap:7px;padding:10px;border:1px solid var(--line);cursor:pointer}.wizard-days input{width:auto!important}.wizard-done{display:inline-flex;align-items:center;justify-content:center;background:#dff3e8;color:#176443;width:24px;height:24px;margin-left:8px;border-radius:50%;font-weight:bold}.wizard-next{padding-left:20px;line-height:1.7}.wizard-next li{margin-bottom:12px}@media(max-width:640px){.wizard-choices{grid-template-columns:1fr}}
.content{min-width:0;max-width:100%;padding:32px clamp(18px,3vw,44px)}.topbar{gap:20px;align-items:center;margin-bottom:28px}.topbar h1{font-size:clamp(26px,3vw,36px);line-height:1.2;letter-spacing:-.035em;margin:5px 0}.eyebrow{font-size:12px;letter-spacing:.08em;color:var(--muted)}
.sidebar{background:var(--nav)}.sidebar .brand-mark{background:#dbe8ff;color:#203d69}.sidebar nav a{font-size:14px;line-height:1.4;min-height:42px;border-radius:8px}.sidebar nav a.active{background:#dbe8ff;color:#15366c}.sidebar .nav-section{font-size:11px;letter-spacing:.1em;color:#a9b7cb}.nav-customer summary{font-size:15px;min-height:44px;align-items:center}.sidebar .brand small{color:#b6c3d4}
.panel,.customer-intro,.customer-summary,.customer-card,.article-card,.stat-card,.customer-module-card{border-color:var(--line);border-radius:14px;box-shadow:var(--shadow)}.panel{padding:24px;margin-bottom:24px}.panel h2,.panel-head h2{font-size:20px;line-height:1.35;letter-spacing:-.02em}.panel h3{font-size:17px}.muted,.field-help,small{line-height:1.55}.field-help{font-size:14px}
label{font-size:14px;line-height:1.5}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{font-size:16px;border-radius:8px;max-width:100%;background:var(--card);color:var(--ink);border-color:var(--field-border)}input:not([type=checkbox]):not([type=radio]):not([type=color]),select{min-height:44px}textarea{line-height:1.6}input[type=checkbox],input[type=radio]{accent-color:var(--green)}
.button,button[type=submit]{min-height:42px;border-radius:8px;font-size:14px;font-weight:650}.button.primary{background:var(--green);color:var(--accent-ink)}.button.ghost{border-color:var(--line)}.button:hover{filter:brightness(.96)}.form-actions{gap:10px;padding-top:16px}.alert{border-radius:10px;line-height:1.55}.badge{font-size:12px;line-height:1.5;padding:4px 9px;white-space:normal}
.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}table{font-size:14px}th{font-size:12px;text-transform:none;letter-spacing:.025em;background:var(--surface-soft)}td{line-height:1.5}th,td{padding:14px 12px}td a{overflow-wrap:anywhere}.panel pre,.panel code{overflow-wrap:anywhere}.panel pre{white-space:pre-wrap;max-width:100%}img,video,canvas,svg{max-width:100%}.panel,.panel-head,.form-grid,.customer-actions,.filters{min-width:0}.panel-head{gap:16px;flex-wrap:wrap}
.ui-page-guide{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;flex-shrink:0}.ui-help{display:inline-grid;place-items:center;flex:0 0 auto;width:28px;height:28px;min-height:28px!important;border:1px solid var(--field-border);border-radius:50%!important;background:var(--card);color:var(--green);font:bold 15px/1 system-ui;cursor:pointer;vertical-align:middle;margin-left:6px}.ui-help:hover,.ui-help[aria-expanded=true]{background:var(--green);color:var(--accent-ink)}
.ui-help-popover{position:fixed;z-index:10010;width:340px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--line);border-radius:12px;padding:18px;background:var(--card);color:var(--ink);box-shadow:0 12px 40px #0003;font-size:14px;line-height:1.6}.ui-help-popover p{margin:0}.ui-help-popover ol{padding-left:20px;margin:12px 0 0}.ui-help-popover li+li{margin-top:8px}.ui-help-popover[hidden]{display:none}
.ui-section-nav{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0 24px}.ui-section-nav a{font-size:13px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);text-decoration:none}.ui-section-nav a:hover{color:var(--green);border-color:var(--green)}.dashboard-footer{margin-top:40px;padding-top:24px;border-color:var(--line);font-size:14px;gap:24px}.dashboard-footer fieldset{min-width:0}.dashboard-footer .theme-picker{flex-wrap:wrap}
.theme-picker input:checked + span{color:var(--accent-ink)}.theme-picker input:focus-visible + span{outline:3px solid var(--green);outline-offset:2px}.menu-toggle{background:#263a54;border-color:#50627a;color:#fff}input[type=color]{min-height:44px;padding:6px;border-radius:8px}
.login-page,.login-body{background:var(--paper);min-height:100dvh;padding:24px;display:grid;place-items:center}.login-card{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;width:min(100%,480px);padding:32px}.login-card h1{font-size:30px;line-height:1.2}.login-card .brand-mark{background:var(--lime);color:var(--green)}
@media(max-width:900px){.content{padding:24px 16px}.topbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.topbar h1{overflow-wrap:anywhere}.panel{padding:18px}.sidebar nav a{min-height:44px}.ui-section-nav{gap:6px}.ui-page-guide{font-size:12px}.customer-metrics,.overview-stats{gap:12px}.dashboard-footer{align-items:flex-start}.table-wrap{overscroll-behavior-x:contain}}
@media(max-width:480px){.topbar h1{font-size:27px}.login-card{padding:24px}.panel-head .button{max-width:100%}.ui-help{width:32px;height:32px;min-height:32px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Live² warm editorial identity: ivory, espresso and muted petrol.
   Semantic success/warning/error colors and newsletter previews stay intact. */
:root{--ink:#302b26;--muted:#6b6259;--paper:#f5f0e6;--card:#fffaf1;--line:#c8bdad;--green:#285c60;--lime:#f2e9dc;--nav:#302721;--surface-soft:#ece4d7;--surface-subtle:#faf5ec;--field-border:#9b8c7a;--accent-ink:#fff;--shadow:0 6px 22px rgba(53,39,23,.10);--sticky-surface:#fffaf1f5;--chart-grid:#d8cebf}
html[data-theme=dark]{--ink:#f2e9dc;--muted:#c4b8a8;--paper:#221e1a;--card:#302721;--line:#65594b;--green:#91c5c4;--lime:#3e3930;--nav:#251f1b;--surface-soft:#3a332b;--surface-subtle:#302b26;--field-border:#958571;--accent-ink:#221e1a;--shadow:0 6px 22px rgba(53,39,23,.10);--sticky-surface:#302721f5;--chart-grid:#584e43}
@media(prefers-color-scheme:dark){html[data-theme=system]{--ink:#f2e9dc;--muted:#c4b8a8;--paper:#221e1a;--card:#302721;--line:#65594b;--green:#91c5c4;--lime:#3e3930;--nav:#251f1b;--surface-soft:#3a332b;--surface-subtle:#302b26;--field-border:#958571;--accent-ink:#221e1a;--shadow:0 6px 22px rgba(53,39,23,.10);--sticky-surface:#302721f5;--chart-grid:#584e43}}
html{font-family:Arial,Helvetica,sans-serif}.topbar h1{font-weight:500;letter-spacing:-.04em;font-size:clamp(28px,3vw,40px)}
.panel h2,.panel-head h2{font-weight:500;font-size:22px;letter-spacing:-.025em}.eyebrow{letter-spacing:.12em;font-weight:600}
.sidebar{border-right:1px solid #ffffff12}.sidebar .brand-mark{background:transparent;color:#fff;border:1px solid #777;border-radius:0;font-weight:600}.sidebar .brand small{color:#c4b8a8}
.sidebar nav a,.sidebar .logout{color:#d2d2cc;border-radius:0;font-weight:500}.sidebar nav a:hover{background:#473b31;color:#fff}.sidebar nav a.active{background:#e7eee8;color:#244e51;box-shadow:inset 3px 0 #74a4a3}
.sidebar .nav-section,.sidebar .nav-customer summary i{color:#b4b4ad}.nav-customer{border-radius:0;border-color:#ffffff20;background:transparent}.nav-customer summary{color:#eee;font-weight:600}.menu-toggle{background:#302721;border-color:#777;color:#fff}
.panel,.customer-intro,.customer-summary,.customer-card,.article-card,.stat-card,.customer-module-card,.customer-workspace-card,.editorial-card,.detail,.evaluation-detail,.revision-card,.login-card,.table-wrap,fieldset{border-radius:0;box-shadow:none;border-color:var(--line)}
.panel{padding:28px}.stat-card.accent{background:var(--card);color:var(--ink);border-top:3px solid var(--ink)}.stat-card.accent small,.stat-card.accent span{color:var(--muted)}
.article-card:hover{transform:none;box-shadow:none;border-color:var(--field-border)}.article-thumb{background:var(--surface-soft);color:var(--muted)}.article-card h3{font-weight:600;line-height:1.35}.detail figure img{border-radius:0}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{border-radius:2px}.button,button[type=submit]{border-radius:24px;min-height:44px;padding-inline:18px;font-weight:600}.button.primary{background:var(--green);color:var(--accent-ink);border-color:var(--green)}.button.ghost:hover{background:var(--surface-soft)}
.alert{border-radius:2px}.badge{border-radius:4px}.ui-help{border-radius:50%}.theme-picker label span{border-radius:24px}.form-actions{padding-top:22px;margin-top:28px}.table-wrap th{background:var(--surface-subtle);color:var(--muted);font-weight:600;letter-spacing:.08em}td{padding-block:17px}
.overview-intro,.customer-intro{background:var(--card);color:var(--ink)}.dashboard-footer{border-top:1px solid var(--line)}.login-card{padding:36px}.login-card .brand-mark{border-radius:0;background:var(--surface-soft);color:var(--ink)}
@media(max-width:900px){.panel{padding:20px}.content{padding:24px 16px}.sidebar{border-bottom:1px solid #555}.topbar h1{font-size:30px}.form-actions{flex-wrap:wrap}.form-actions .button{max-width:100%}}
@media(max-width:480px){.panel{padding:18px}.login-card{padding:24px}.topbar h1{font-size:28px}}
/* Soft warm content boundaries; do not recolor status badges or form controls. */
body :is(.panel,.customer-intro,.customer-summary,.customer-card,.article-card,
.stat-card,.customer-module-card,.customer-workspace-card,.editorial-card,.detail,
.evaluation-detail,.revision-card,.login-card,.offer-card,.banner-stat-card,
.health-card,.credential-card) {
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
body .table-wrap { border: 1px solid var(--line); }
html[data-theme=dark] body :is(.panel,.customer-intro,.customer-summary,.customer-card,
.article-card,.stat-card,.customer-module-card,.customer-workspace-card,.editorial-card,
.detail,.evaluation-detail,.revision-card,.login-card,.offer-card,.banner-stat-card,
.health-card,.credential-card) {
  box-shadow: 0 6px 22px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,244,224,.05);
}
@media(prefers-color-scheme:dark) {
  html[data-theme=system] body :is(.panel,.customer-intro,.customer-summary,.customer-card,
  .article-card,.stat-card,.customer-module-card,.customer-workspace-card,.editorial-card,
  .detail,.evaluation-detail,.revision-card,.login-card,.offer-card,.banner-stat-card,
  .health-card,.credential-card) {
    box-shadow: 0 6px 22px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,244,224,.05);
  }
}

/* System serif fonts keep the editorial feel without remote font downloads. */
.topbar h1,.login-card h1,.panel h2,.panel-head h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em}
.sidebar{background:var(--nav);opacity:1;backdrop-filter:none}
input:focus,select:focus,textarea:focus{outline:3px solid var(--green);outline-offset:2px}

/* Product workspaces: shared surfaces, never newsletter HTML/preview frames. */
.journalist-card,.case-row,.reply-message,.reply-review,.gap-card,
.analysis-core>div,.recipient-grid>div,.analysis-box,.customer-article-html,
.visual-editor,.editorial-image-provenance,.image-provenance-grid>div,
.editorial-checks,.media-preview,.media-result,.editorial-actions,
.source-help,.selector-examples span,.customer-filter-modes label,
.customer-filter-list,.source-tag-list,.municipal-press-services{
  border-radius:0;min-width:0;border-color:var(--line);
}
.journalist-card,.case-row,.visual-editor,.media-result,.selector-examples span{
  background:var(--card);color:var(--ink);
}
.journalist-analysis:not(.failed),.analysis-box,.analysis-core>div,
.recipient-grid>div,.gap-scores span,.question-assessment blockquote,
.source-help,.media-preview,.editor-toolbar{
  background:var(--surface-soft);color:var(--ink);border-color:var(--line);
}
.journalist-analysis{border-radius:0}
.case-row.unread{background:var(--surface-subtle)}
.case-section pre,.inbox-message pre{
  background:var(--surface-subtle);color:var(--ink);border-color:var(--line);
  border-radius:0;font:15px/1.65 Arial,Helvetica,sans-serif;
}
.journalist-card h2,.evaluation-head h2{
  font-family:Georgia,"Times New Roman",serif;font-weight:400;
  letter-spacing:-.025em;line-height:1.25;
}
.evaluation-head h2{font-size:clamp(25px,3vw,34px)}
.evaluation-detail{padding:clamp(18px,3vw,32px)}
.analysis-box{border:1px solid var(--line);padding:20px;margin-block:24px}
.customer-article-html{line-height:1.75}
.editor-toolbar button,.editor-toolbar select{background:var(--card);color:var(--ink)}
.editorial-actions{background:var(--sticky-surface);box-shadow:var(--shadow);flex-wrap:wrap}
.editorial-image-provenance,.image-provenance-grid>div{background:var(--surface-subtle)}
.visual-content:focus{box-shadow:inset 0 0 0 2px var(--green)}
.source-help code,.field-help code{background:var(--card);color:var(--ink);overflow-wrap:anywhere}
.source-filter{border-radius:24px;min-height:44px;font-weight:600}
.source-filter.active:not(.error),.source-filter.active:not(.error) b{
  color:var(--accent-ink);
}
.source-tag-badge{border-radius:4px}
.source-actions .source-icon-button{border-radius:50%}
.case-row h3,.journalist-card h2,.evaluation-head h2,.gap-head h4,
.recipient-grid p,.image-provenance-grid dd{overflow-wrap:anywhere}
.journalist-meta,.case-actions,.case-actions form,.editorial-nav{flex-wrap:wrap}
@media(max-width:650px){
  .case-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}
  .case-time{justify-items:start;text-align:left}
  .journalist-card>header{padding:18px;gap:14px;flex-wrap:wrap}
  .journalist-analysis{margin:14px;padding:16px}
  .analysis-core,.recipient-grid,.image-provenance-grid{grid-template-columns:minmax(0,1fr)}
  .reply-message header,.reply-review header{flex-wrap:wrap}
  .editorial-actions{position:static;padding:14px;gap:10px}
  .editorial-actions>div{flex-basis:100%}
  .visual-content{padding:16px;min-height:340px}
  .analysis-box{padding:16px}
}
