:root{
  --navy:#073b6f;
  --blue:#1164a3;
  --ice:#eef6fb;
  --bg:#f7f9fc;
  --text:#14243a;
  --muted:#68778c;
  --line:#dbe4ed;
  --green:#118363;
  --amber:#8a6500;
  --red:#b33a32;
  --white:#fff;
  --shadow:0 10px 32px rgba(7,59,111,.08);
}

*{
  box-sizing:border-box;
}

body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

.topbar{
  position:sticky;
  top:0;
  z-index:30;
  height:68px;
  display:flex;
  align-items:center;
  gap:20px;
  padding:0 26px;
  background:#fff;
  border-bottom:1px solid var(--line);
}

.brandbutton{
  border:0;
  background:transparent;
  font-size:29px;
  font-weight:900;
  color:var(--navy);
  padding:0;
}

.topbar nav{
  display:flex;
  gap:4px;
}

.topbar nav button,
.topbar nav a,
.account button{
  border:0;
  background:transparent;
  padding:9px 11px;
  border-radius:9px;
  font-weight:700;
  color:var(--text);
  text-decoration:none;
}

.topbar nav button:hover,
.topbar nav a:hover{
  background:var(--ice);
  color:var(--navy);
}

.mobile-menu-open{
  display:none;
}

.account-link{
  margin-left:auto;
}

.topbar [aria-current="page"]{
  background:var(--ice);
  color:var(--navy);
}

.account{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:auto;
}

.account #hello{
  font-size:13px;
  color:var(--muted);
}

button.primary,
.primary{
  border:0;
  background:var(--navy)!important;
  color:#fff!important;
  padding:11px 15px;
  border-radius:10px;
  font-weight:800;
  text-decoration:none;
  display:inline-block;
}

button.secondary,
.secondary{
  display:inline-block;
  border:0;
  background:var(--ice)!important;
  color:var(--navy)!important;
  padding:11px 15px;
  border-radius:10px;
  font-weight:800;
  text-decoration:none;
}


/* =========================
   SIDEOPBYGNING
   ========================= */

.shell{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:calc(100vh - 68px);
}

/*
  Når brugeren IKKE er logget ind, har sidebar klassen "hidden".
  Derfor skal main bruge hele bredden.
*/
#sidebar.hidden + main{
  grid-column:1 / -1;
}

aside{
  background:#fff;
  border-right:1px solid var(--line);
  padding:22px 14px;
}

aside button{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  padding:12px;
  border-radius:9px;
  margin-bottom:5px;
  font-weight:700;
}

aside button:hover{
  background:var(--ice);
  color:var(--navy);
}

aside button.active{
  background:var(--navy);
  color:#fff;
}

.sidebar-group{
  margin-top:22px;
}

.sidebar-group:first-of-type{
  margin-top:18px;
}

.sidebar-label{
  display:block;
  padding:0 12px 7px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}


/* =========================
   HOVEDINDHOLD
   ========================= */

main{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:30px;
}

.view{
  display:none;
}

.view.active{
  display:block;
}


/* =========================
   FORSIDE / HERO
   ========================= */

.hero{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
  gap:38px;
  align-items:center;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 92% 8%,rgba(17,100,163,.13),transparent 34%),
    linear-gradient(135deg,#fff 0%,#f4faff 60%,#e9f5fd 100%);
  border:1px solid var(--line);
  border-radius:24px;
  padding:52px;
  box-shadow:var(--shadow);
}

.hero::after{
  content:"";
  position:absolute;
  right:-95px;
  bottom:-120px;
  width:290px;
  height:290px;
  border:42px solid rgba(17,100,163,.06);
  border-radius:50%;
  pointer-events:none;
}

.hero-copy,
.hero-proof{
  position:relative;
  z-index:1;
}

.hero h1{
  font-size:58px;
  line-height:1.02;
  letter-spacing:-.035em;
  margin:9px 0 18px;
  color:var(--navy);
  max-width:700px;
}

.hero .hero-lead{
  margin:0;
  font-size:19px;
  line-height:1.65;
  color:var(--muted);
  max-width:700px;
}

.hero-actions{
  margin-top:26px;
}

.hero-actions .primary,
.hero-actions .secondary{
  padding:14px 19px;
}

.hero-quicklinks{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  color:var(--muted);
  font-size:13px;
}

.hero-quicklinks button{
  padding:0;
  border:0;
  color:var(--navy);
  background:transparent;
  font-weight:800;
  text-decoration:underline;
  text-decoration-color:#aac8df;
  text-underline-offset:3px;
}

.hero-proof{
  padding:24px;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(219,228,237,.9);
  border-radius:20px;
  box-shadow:0 18px 45px rgba(7,59,111,.10);
  backdrop-filter:blur(8px);
}

.hero-proof-heading{
  margin-bottom:15px;
}

.hero-proof-heading strong,
.hero-proof-heading span{
  display:block;
}

.hero-proof-heading strong{
  color:var(--navy);
  font-size:18px;
}

.hero-proof-heading span{
  margin-top:4px;
  color:var(--muted);
  font-size:12px;
}

.hero-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

.hero-cards div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:15px 16px;
}

.hero-cards b{
  display:block;
  flex:0 0 auto;
  font-size:25px;
  color:var(--navy);
}

.hero-cards span{
  text-align:right;
  font-size:12px;
  color:var(--muted);
}


/* =========================
   FORSIDENS BRUGERREJSER
   ========================= */

.audience-section,
.journey-section{
  margin-top:30px;
  padding:42px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
}

.public-section-heading{
  max-width:760px;
  margin:0 auto 27px;
  text-align:center;
}

.public-section-heading h2,
.journey-intro h2{
  margin:8px 0 12px;
  color:var(--navy);
  font-size:34px;
  line-height:1.15;
  letter-spacing:-.02em;
}

.public-section-heading p,
.journey-intro p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.audience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.audience-card{
  position:relative;
  min-height:255px;
  padding:25px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#f9fbfd;
}

.audience-card-highlight{
  background:var(--ice);
  border-color:#c8ddeb;
}

.audience-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:12px;
  color:var(--navy);
  background:#fff;
  border:1px solid var(--line);
  font-size:12px;
  font-weight:900;
}

.audience-card h3{
  margin:18px 0 9px;
  color:var(--navy);
  font-size:21px;
}

.audience-card p{
  margin:0 0 22px;
  color:var(--muted);
  line-height:1.58;
}

.audience-card a,
.audience-card button{
  position:absolute;
  left:25px;
  bottom:23px;
  padding:0;
  border:0;
  color:var(--navy);
  background:transparent;
  font-weight:850;
  text-decoration:none;
}

.audience-card a::after,
.audience-card button::after{
  content:" →";
}

.journey-section{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(440px,1.15fr);
  gap:42px;
  align-items:center;
  background:linear-gradient(145deg,#073b6f,#0a4a83);
  color:#fff;
}

.journey-intro .eyebrow{
  color:#9bd8ff;
}

.journey-intro h2{
  color:#fff;
}

.journey-intro p{
  color:#d9e9f5;
}

.journey-intro .secondary{
  margin-top:22px;
  background:#fff!important;
}

.journey-steps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.journey-steps li{
  display:flex;
  gap:13px;
  min-height:145px;
  padding:19px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.08);
}

.journey-steps > li > span{
  display:flex;
  flex:0 0 34px;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  color:var(--navy);
  background:#fff;
  font-weight:900;
}

.journey-steps h3{
  margin:4px 0 7px;
  color:#fff;
  font-size:16px;
}

.journey-steps p{
  margin:0;
  color:#d9e9f5;
  font-size:13px;
  line-height:1.5;
}

.outcome-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  margin-top:30px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:18px;
}

.outcome-strip div{
  padding:24px;
  background:#fff;
}

.outcome-strip strong,
.outcome-strip span{
  display:block;
}

.outcome-strip strong{
  margin-bottom:7px;
  color:var(--navy);
}

.outcome-strip span{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}


/* =========================
   PRISER
   ========================= */

.pricing-section{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr);
  gap:28px;
  align-items:center;
  margin-top:30px;
  padding:34px;
  scroll-margin-top:95px;
  background:var(--navy);
  color:#fff;
  border-radius:22px;
  box-shadow:var(--shadow);
}

.pricing-section .eyebrow{
  color:#8ed2ff;
}

.pricing-section h2{
  margin:8px 0 12px;
  color:#fff;
}

.pricing-copy p{
  margin:0;
  color:#d7e8f5;
  line-height:1.65;
}

.pricing-card{
  padding:24px;
  color:var(--text);
  background:#fff;
  border-radius:18px;
}

.pricing-rate{
  text-align:center;
}

.pricing-rate > span,
.pricing-limits span{
  display:block;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}

.pricing-rate > strong{
  display:block;
  margin:3px 0;
  color:var(--navy);
  font-size:52px;
  line-height:1;
}

.pricing-rate small,
.pricing-limits small{
  color:var(--muted);
}

.pricing-limits{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:20px;
}

.pricing-limits > div{
  padding:16px;
  text-align:center;
  background:var(--ice);
  border-radius:13px;
}

.pricing-limits strong{
  display:block;
  margin:4px 0;
  color:var(--navy);
  font-size:24px;
}

.pricing-vat{
  margin:18px 0 0;
  padding-top:16px;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
  text-align:center;
  border-top:1px solid var(--line);
}


/* =========================
   DASHBOARD-GENVEJE
   ========================= */

.dashboard-shortcuts{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}

.dashboard-shortcut{
  min-height:118px;
  display:flex;
  flex-direction:column;
  gap:7px;
  align-items:flex-start;
  padding:17px;
  text-align:left;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  box-shadow:var(--shadow);
}

.dashboard-shortcut:hover{
  border-color:#9fc8e5;
  transform:translateY(-1px);
}

.dashboard-shortcut strong{
  color:var(--navy);
  line-height:1.3;
}

.dashboard-shortcut span{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.section-jump-nav{
  position:sticky;
  top:78px;
  z-index:18;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0 0 16px;
  padding:10px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
}

.section-jump-nav button{
  padding:9px 11px;
  border:0;
  border-radius:9px;
  color:var(--navy);
  background:var(--ice);
  font-size:13px;
  font-weight:800;
}

.section-jump-nav button:hover{
  color:#fff;
  background:var(--navy);
}

.section-jump-target,
#manageHeader,
#campaignSettings,
#liveEventAdmin,
#campaignDangerPanel{
  scroll-margin-top:150px;
}


/* =========================
   MOBILMENU
   ========================= */

body.mobile-menu-visible{
  overflow:hidden;
}

.mobile-menu{
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  justify-content:flex-end;
  background:rgba(6,20,35,.58);
}

.mobile-menu-panel{
  position:relative;
  width:min(390px,92vw);
  height:100%;
  overflow:auto;
  padding:26px 20px 40px;
  background:#fff;
  box-shadow:-16px 0 50px rgba(7,59,111,.2);
}

.mobile-menu-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--ice);
  color:var(--navy);
  font-size:25px;
}

.mobile-menu-title{
  display:block;
  padding:5px 48px 18px 2px;
  color:var(--navy);
  font-size:25px;
}

.mobile-menu-group{
  padding:16px 0;
  border-top:1px solid var(--line);
}

.mobile-menu-group > span{
  display:block;
  margin:0 8px 7px;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.mobile-menu-group button,
.mobile-menu-group a{
  width:100%;
  display:block;
  padding:12px 9px;
  text-align:left;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  font-weight:750;
  text-decoration:none;
}

.mobile-menu-group button:hover,
.mobile-menu-group a:hover{
  background:var(--ice);
  color:var(--navy);
}

.mobile-menu-group .primary{
  margin-top:5px;
  text-align:center;
}


/* =========================
   OFFENTLIGE INFORMATIONSSIDER
   ========================= */

.public-brand{
  color:var(--navy);
  font-size:29px;
  font-weight:900;
  text-decoration:none;
}

.public-page-main{
  max-width:1120px;
}

.public-page-hero{
  padding:54px;
  text-align:center;
  background:linear-gradient(135deg,#fff,#eaf6ff);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
}

.public-page-hero h1{
  max-width:850px;
  margin:10px auto 16px;
  color:var(--navy);
  font-size:clamp(40px,6vw,66px);
  line-height:1.02;
}

.public-page-hero p{
  max-width:760px;
  margin:0 auto;
  color:var(--muted);
  font-size:19px;
  line-height:1.65;
}

.public-page-hero .actions{
  justify-content:center;
  margin-top:24px;
}

.content-section{
  margin-top:34px;
}

.content-section > .section-intro{
  max-width:760px;
  color:var(--muted);
  line-height:1.65;
}

.flow-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:20px;
}

.flow-column{
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}

.flow-column h2{
  color:var(--navy);
}

.step-list{
  list-style:none;
  margin:20px 0 0;
  padding:0;
}

.step-list li{
  position:relative;
  min-height:56px;
  padding:0 0 20px 54px;
}

.step-list li::before{
  content:counter(list-item);
  position:absolute;
  top:0;
  left:0;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:#fff;
  background:var(--navy);
  font-weight:900;
}

.step-list strong{
  display:block;
  margin-bottom:4px;
  color:var(--navy);
}

.step-list span{
  color:var(--muted);
  line-height:1.5;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}

.feature-card{
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  box-shadow:var(--shadow);
}

.feature-card h3{
  color:var(--navy);
}

.feature-card ul{
  margin:0;
  padding-left:19px;
  color:var(--muted);
  line-height:1.65;
}

.feature-card li + li{
  margin-top:6px;
}

.information-banner{
  margin-top:26px;
  padding:24px;
  border:1px solid #c8dfd1;
  border-radius:18px;
  background:#f1faf5;
}

.information-banner.development{
  border-color:#ead7a7;
  background:#fffaf0;
}

.information-banner h2,
.information-banner h3{
  color:var(--navy);
}

.information-banner p,
.information-banner li{
  color:var(--muted);
  line-height:1.65;
}

.public-cta{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  margin-top:34px;
  padding:28px;
  color:#fff;
  background:var(--navy);
  border-radius:20px;
}

.public-cta h2{
  margin:0 0 6px;
  color:#fff;
}

.public-cta p{
  margin:0;
  color:#d7e8f5;
}

.public-cta .secondary{
  flex:0 0 auto;
}

.legal-layout{
  display:grid;
  grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);
  gap:22px;
  margin-top:28px;
}

.legal-nav,
.legal-article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow);
}

.legal-nav{
  align-self:start;
  position:sticky;
  top:92px;
  padding:20px;
}

.legal-nav strong{
  display:block;
  margin-bottom:10px;
  color:var(--navy);
}

.legal-nav a{
  display:block;
  padding:9px 0;
  color:var(--navy);
  font-weight:750;
  text-decoration:none;
}

.legal-nav a[aria-current="page"]{
  color:var(--blue);
}

.legal-article{
  padding:30px;
}

.legal-article section + section{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid var(--line);
}

.legal-article h2,
.legal-article h3{
  color:var(--navy);
}

.legal-article p,
.legal-article li{
  color:var(--muted);
  line-height:1.7;
}

.legal-article a,
.privacy-note a{
  color:var(--blue);
  font-weight:750;
}

.legal-notice{
  padding:17px 19px;
  border:1px solid #ead7a7;
  border-radius:14px;
  background:#fffaf0;
}

.legal-table-wrap{
  overflow-x:auto;
}

.legal-table{
  width:100%;
  border-collapse:collapse;
}

.legal-table th,
.legal-table td{
  padding:12px;
  text-align:left;
  vertical-align:top;
  border-bottom:1px solid var(--line);
  line-height:1.55;
}

.legal-table th{
  color:var(--navy);
  background:var(--ice);
}

.privacy-note{
  margin:4px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}


/* =========================
   SIDEFOD
   ========================= */

.site-footer{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:28px max(26px,calc((100vw - 1180px)/2));
  background:#fff;
  border-top:1px solid var(--line);
}

.site-footer > div{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.site-footer strong{
  color:var(--navy);
  font-size:20px;
}

.site-footer span{
  color:var(--muted);
  font-size:13px;
}

.site-footer nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
}

.site-footer a{
  color:var(--navy);
  font-size:13px;
  font-weight:750;
  text-decoration:none;
}


/* =========================
   OVERSKRIFTER
   ========================= */

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:900;
  color:var(--blue);
}

h2{
  font-size:31px;
  margin:7px 0 16px;
}

h3{
  margin-top:0;
}

.sectionhead{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:15px;
  margin:30px 0 15px;
}


/* =========================
   KORT
   ========================= */

.cards3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.cards2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.card,
.panel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:19px;
  box-shadow:var(--shadow);
}

.card{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.card p{
  color:var(--muted);
  margin:0;
}


/* =========================
   STATUS
   ========================= */

.pill{
  display:inline-flex;
  width:max-content;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:900;
}

.pill.active{
  background:#e4f6ef;
  color:#0b7155;
}

.pill.upcoming{
  background:#fff5cf;
  color:#795b00;
}

.pill.completed{
  background:#edf0f4;
  color:#5f6978;
}


/* =========================
   KAMPAGNENS AFSLUTNINGSCENTER
   ========================= */

.economy-closing-center{
  padding:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0,rgba(17,100,163,.12),transparent 36%),
    linear-gradient(145deg,#fff 0%,#f7fbfe 100%);
}

.economy-closing-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.economy-closing-head h3{
  margin:5px 0 4px;
  color:var(--navy);
  font-size:27px;
}

.economy-closing-head p{
  margin:0;
}

.closing-state-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  color:#526276;
  background:#edf1f5;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}

.closing-state-badge.waiting{
  color:#6b5605;
  background:#fff1bb;
}

.closing-state-badge.ready,
.closing-state-badge.active{
  color:var(--navy);
  background:#dfeffa;
}

.closing-state-badge.attention{
  color:#94382f;
  background:#ffe6e3;
}

.closing-state-badge.done{
  color:#0c6b51;
  background:#dff4ec;
}

.economy-closing-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:20px;
  padding:20px;
  border:1px solid #cddfea;
  border-left:5px solid var(--blue);
  border-radius:15px;
  background:#fff;
}

.economy-closing-hero.waiting{
  border-left-color:#c39100;
}

.economy-closing-hero.attention{
  border-left-color:var(--red);
  background:#fffafa;
}

.economy-closing-hero.done{
  border-left-color:var(--green);
  background:#f7fcfa;
}

.economy-closing-hero h4{
  margin:4px 0 6px;
  color:var(--navy);
  font-size:21px;
}

.economy-closing-hero p{
  max-width:760px;
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

.economy-closing-hero button{
  flex:0 0 auto;
}

.economy-closing-steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.economy-closing-step{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(255,255,255,.82);
}

.economy-closing-step.current{
  border-color:#8db9d7;
  box-shadow:0 0 0 2px rgba(17,100,163,.08);
}

.economy-closing-step.done{
  border-color:#bce1d4;
  background:#f5fbf8;
}

.economy-step-number{
  display:grid;
  place-items:center;
  flex:0 0 29px;
  width:29px;
  height:29px;
  border-radius:50%;
  color:#647386;
  background:#e9eef3;
  font-size:13px;
  font-weight:900;
}

.economy-closing-step.current .economy-step-number{
  color:#fff;
  background:var(--blue);
}

.economy-closing-step.done .economy-step-number{
  color:#fff;
  background:var(--green);
}

.economy-closing-step strong,
.economy-closing-step small{
  display:block;
}

.economy-closing-step strong{
  color:var(--navy);
  font-size:13px;
}

.economy-closing-step small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}

.economy-closing-metrics{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.economy-closing-metrics > div{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}

.economy-closing-metrics > div.attention{
  border-color:#efc3bd;
  background:#fff8f7;
}

.economy-closing-metrics span,
.economy-closing-metrics strong{
  display:block;
}

.economy-closing-metrics span{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}

.economy-closing-metrics strong{
  margin-top:3px;
  color:var(--navy);
  font-size:18px;
}

.economy-closing-action{
  margin-top:18px;
}

.economy-status{
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}

.economy-status.ready{
  border-color:#bce1d4;
  background:#f7fcfa;
}

.economy-status > strong{
  color:var(--navy);
  font-size:17px;
}

.economy-closing-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.economy-closing-links button{
  padding:8px 11px;
  font-size:12px;
}

.economy-jump-section{
  scroll-margin-top:86px;
  transition:border-color .25s ease,box-shadow .25s ease;
}

.economy-jump-highlight{
  border-color:#71a9cf;
  box-shadow:0 0 0 4px rgba(17,100,163,.1),var(--shadow);
}


/* =========================
   STATISTIK
   ========================= */

.stats{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.stats span{
  font-size:12px;
  color:var(--muted);
}

.stats b{
  display:block;
  font-size:18px;
  color:var(--text);
}

.statsgrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:26px;
}

.statbox{
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  padding:18px;
}

.statbox span{
  color:var(--muted);
  font-size:13px;
}

.statbox b{
  display:block;
  color:var(--navy);
  font-size:30px;
  margin-top:5px;
}


/* =========================
   FILTRE
   ========================= */

.filters{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.filters button{
  border:1px solid var(--line);
  background:#fff;
  padding:8px 12px;
  border-radius:999px;
  font-weight:700;
}

.filters button.active{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}


/* =========================
   FORMULARER
   ========================= */

.formgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.formgrid label,
.panel form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  font-weight:800;
}

.formgrid .wide{
  grid-column:1/-1;
}

input,
select,
textarea{
  width:100%;
  border:1px solid #ced9e4;
  background:#fff;
  border-radius:9px;
  padding:11px;
  color:var(--text);
}

textarea{
  min-height:110px;
  resize:vertical;
}

.divider{
  height:1px;
  background:var(--line);
}

.actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}


/* =========================
   BESKEDER
   ========================= */

.notice{
  padding:11px 13px;
  border-radius:9px;
  margin-top:12px;
  background:#fff5d8;
  color:#705300;
}

.notice.success{
  background:#e6f7f0;
  color:#146d55;
}

.notice.error{
  background:#fff0ef;
  color:#98362e;
}

.muted{
  color:var(--muted);
}

.summary{
  background:var(--ice);
  border:1px solid #cee1ef;
  border-radius:11px;
  padding:13px;
}


/* =========================
   ADMINISTRATION
   ========================= */

.twocol{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:16px 0;
}

.live-event-settings{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:start;
}

.live-event-settings .actions{
  justify-content:flex-end;
}

.moderation-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}

.moderation-summary div{
  background:var(--ice);
  border-radius:12px;
  padding:12px;
  text-align:center;
}

.moderation-summary b{
  display:block;
  color:var(--navy);
  font-size:22px;
}

.moderation-summary span{
  color:var(--muted);
  font-size:12px;
}

.pill.pending{
  background:#fff5cf;
  color:#795b00;
}

.pill.approved{
  background:#e4f6ef;
  color:#0b7155;
}

.pill.hidden-status{
  background:#edf0f4;
  color:#5f6978;
}

.live-moderation-name{
  font-weight:800;
  color:var(--text);
}

.live-moderation-reason{
  display:block;
  color:var(--red);
  font-size:12px;
  margin-top:4px;
}

.empty{
  border:1px dashed #c7d4df;
  background:#fff;
  border-radius:14px;
  padding:26px;
  text-align:center;
  color:var(--muted);
}


/* =========================
   TABELLER
   ========================= */

table{
  width:100%;
  border-collapse:collapse;
}

th,
td{
  padding:10px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}

th{
  font-size:11px;
  text-transform:uppercase;
  color:var(--muted);
}


/* =========================
   AUTHENTICATOR
   ========================= */

.modalbox.authenticator-setup-modalbox{
  width:min(780px,100%);
}

.authenticator-setup-grid{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:26px;
  align-items:start;
}

.authenticator-qr{
  width:min(100%,280px);
  aspect-ratio:1;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.authenticator-qr svg{
  display:block;
  width:100%;
  height:100%;
}

.authenticator-secret{
  display:block;
  max-width:100%;
  margin:8px 0 20px;
  padding:11px 12px;
  overflow-wrap:anywhere;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--navy);
  background:var(--ice);
  font-size:13px;
  font-weight:800;
  letter-spacing:1px;
}

.authenticator-recovery-codes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:16px 0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--ice);
}

.authenticator-recovery-codes code{
  padding:7px;
  text-align:center;
  border-radius:7px;
  color:var(--navy);
  background:#fff;
  font-size:15px;
  font-weight:850;
  letter-spacing:1px;
}


/* =========================
   POPUPS
   ========================= */

.modal{
  position:fixed;
  inset:0;
  z-index:70;
  background:rgba(6,20,35,.55);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.modal.show{
  display:flex;
}

.modalbox{
  position:relative;
  width:min(520px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:18px;
  padding:25px;
}

.modalbox.widebox{
  width:min(760px,100%);
}

.x{
  position:absolute;
  right:14px;
  top:14px;
  border:0;
  background:#eef2f6;
  border-radius:50%;
  width:34px;
  height:34px;
  font-size:20px;
}

.modal form{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.linkbutton{
  border:0;
  background:transparent;
  color:var(--blue);
  padding:4px 0;
  text-align:left;
}


/* =========================
   GENERELT
   ========================= */

.hidden{
  display:none!important;
}

.standalone{
  max-width:700px;
  margin:60px auto;
  padding:20px;
}

.brandlink{
  font-size:28px;
  font-weight:900;
  color:var(--navy);
  text-decoration:none;
}

.bigmoney{
  font-size:40px;
  font-weight:900;
  color:var(--navy);
  margin:14px 0;
}


/* =========================
   MOBIL / TABLET
   ========================= */

@media(max-width:950px){

  .topbar{
    padding:0 18px;
  }

  .mobile-menu-open{
    display:inline-flex;
    margin-left:auto;
    padding:9px 12px;
    border:0;
    border-radius:9px;
    color:var(--navy);
    background:var(--ice);
    font-weight:800;
  }

  .account{
    display:none;
  }

  .account-link{
    display:none!important;
  }

  .shell{
    grid-template-columns:1fr;
  }

  aside{
    display:none!important;
  }

  main{
    grid-column:1 / -1;
    padding:18px;
  }

  .hero{
    grid-template-columns:1fr;
    padding:34px;
  }

  .hero h1{
    max-width:760px;
  }

  .hero-proof{
    max-width:none;
  }

  .hero-cards{
    grid-template-columns:repeat(3,1fr);
  }

  .hero-cards div{
    display:block;
    text-align:center;
  }

  .hero-cards span{
    display:block;
    margin-top:4px;
    text-align:center;
  }

  .audience-grid,
  .outcome-strip{
    grid-template-columns:1fr;
  }

  .journey-section{
    grid-template-columns:1fr;
  }

  .pricing-section{
    grid-template-columns:1fr;
    padding:26px;
  }

  .cards3,
  .cards2,
  .statsgrid,
  .twocol,
  .formgrid,
  .flow-grid,
  .feature-grid{
    grid-template-columns:1fr;
  }

  .dashboard-shortcuts{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .section-jump-nav{
    position:static;
  }

  .economy-closing-steps,
  .economy-closing-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .formgrid .wide{
    grid-column:auto;
  }

  .hero h1{
    font-size:46px;
  }

  .topbar nav{
    display:none;
  }

  .pricing-limits{
    grid-template-columns:1fr 1fr;
  }

  .sectionhead{
    align-items:flex-start;
    flex-direction:column;
  }

  .live-event-settings{
    grid-template-columns:1fr;
  }

  .live-event-settings .actions{
    justify-content:flex-start;
  }

  .account #hello{
    display:none;
  }

  .public-page-hero{
    padding:36px 24px;
  }

  .public-page-hero p{
    font-size:17px;
  }

  .public-cta,
  .site-footer{
    align-items:flex-start;
    flex-direction:column;
  }

  .legal-layout{
    grid-template-columns:1fr;
  }

  .legal-nav{
    position:static;
  }

  .legal-article{
    padding:22px;
  }
}

/* =========================
   V7.0.39 – DRIFT OG SYSTEMKONTROL
   ========================= */

.system-control{
  padding:24px;
  border:1px solid #c9d9e8;
  border-radius:22px;
  background:linear-gradient(145deg,#f9fcff 0%,#edf6fc 100%);
}

.system-control-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:20px;
}

.system-control-head h3{
  margin:6px 0 8px;
  font-size:27px;
}

.system-control-head p{
  max-width:760px;
  margin:0;
  line-height:1.6;
}

.system-control-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  flex:0 0 auto;
}

.system-overall{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.system-status-green{
  color:#08765b;
  background:#dcf7ed;
}

.system-status-yellow{
  color:#815600;
  background:#fff1bf;
}

.system-status-red{
  color:#9a261d;
  background:#ffe3df;
}

.system-status-neutral{
  color:#52657a;
  background:#e7eef5;
}

.system-check-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.system-check-card{
  min-width:0;
  padding:18px;
  border:1px solid #d4e0ea;
  border-top-width:4px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(13,61,102,.055);
}

.system-check-green{border-top-color:#20a77f}
.system-check-yellow{border-top-color:#e5aa23}
.system-check-red{border-top-color:#d85a4f}

.system-check-title{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.system-check-title h4{
  margin:0 0 3px;
  font-size:17px;
}

.system-check-title span:not(.system-status-dot){
  color:#65758a;
  font-size:12px;
  font-weight:700;
}

.system-status-dot{
  display:inline-block;
  width:11px;
  height:11px;
  margin-top:5px;
  border-radius:50%;
  flex:0 0 auto;
  box-shadow:0 0 0 4px rgba(120,140,160,.12);
}

.system-status-dot.system-status-green{background:#20a77f;box-shadow:0 0 0 4px #dcf7ed}
.system-status-dot.system-status-yellow{background:#e5aa23;box-shadow:0 0 0 4px #fff1bf}
.system-status-dot.system-status-red{background:#d85a4f;box-shadow:0 0 0 4px #ffe3df}

.system-check-card > p{
  min-height:42px;
  margin:15px 0;
  color:#465c74;
  font-size:14px;
  line-height:1.5;
}

.system-check-card details{
  border-top:1px solid #e4ebf2;
  padding-top:11px;
}

.system-check-card summary{
  color:#0a477f;
  cursor:pointer;
  font-size:13px;
  font-weight:800;
}

.system-check-card ul{
  margin:10px 0 0;
  padding-left:18px;
  color:#5c6f84;
  font-size:12px;
  line-height:1.55;
  overflow-wrap:anywhere;
}

.system-job-list{
  display:grid;
  gap:9px;
  margin-top:12px;
}

.system-job-row{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding-top:9px;
  border-top:1px solid #e4ebf2;
}

.system-job-row:first-child{
  padding-top:0;
  border-top:0;
}

.system-job-row strong,
.system-job-row small{
  display:block;
}

.system-job-row strong{font-size:13px}
.system-job-row small{
  margin-top:3px;
  color:#65758a;
  font-size:11px;
  line-height:1.35;
}

.system-job-row .system-error-text{color:#a42d25}
.system-empty{color:#65758a;font-size:13px}

.system-control-tools{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:14px;
  margin-top:16px;
}

.system-tool-card{
  padding:19px;
  border:1px solid #d4e0ea;
  border-radius:16px;
  background:#fff;
}

.system-tool-card h4{margin:0 0 7px}
.system-tool-card > p{margin:0 0 15px;line-height:1.5}
.system-updated{margin:16px 2px 0;font-size:12px;text-align:right}

@media(max-width:980px){
  .system-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-control-tools{grid-template-columns:1fr}
}

@media(max-width:560px){

  .system-control{
    padding:17px;
    border-radius:17px;
  }

  .system-control-head{
    align-items:stretch;
    flex-direction:column;
  }

  .system-control-actions{
    align-items:stretch;
  }

  .system-overall{
    justify-content:center;
  }

  .system-check-grid{
    grid-template-columns:1fr;
  }

  .system-check-card > p{
    min-height:0;
  }

  .economy-closing-center{
    padding:17px;
  }

  .economy-closing-head,
  .economy-closing-hero{
    align-items:stretch;
    flex-direction:column;
  }

  .closing-state-badge{
    align-self:flex-start;
  }

  .economy-closing-hero button{
    width:100%;
  }

  .economy-closing-steps,
  .economy-closing-metrics{
    grid-template-columns:1fr;
  }

  .authenticator-setup-grid,
  .authenticator-recovery-codes{
    grid-template-columns:1fr;
  }

  .authenticator-qr{
    margin:0 auto;
  }
  .brandbutton,
  .public-brand{
    font-size:25px;
  }

  .dashboard-shortcuts,
  .pricing-limits{
    grid-template-columns:1fr;
  }

  .hero-cards{
    grid-template-columns:1fr;
  }

  .hero{
    padding:26px 22px;
  }

  .hero h1{
    font-size:40px;
  }

  .hero .hero-lead{
    font-size:17px;
  }

  .hero-actions{
    align-items:stretch;
  }

  .hero-actions .primary,
  .hero-actions .secondary{
    width:100%;
    text-align:center;
  }

  .hero-quicklinks{
    align-items:flex-start;
    flex-direction:column;
    gap:9px;
  }

  .hero-quicklinks > span{
    display:none;
  }

  .hero-proof{
    padding:17px;
  }

  .hero-cards div{
    display:flex;
    text-align:left;
  }

  .hero-cards span{
    margin-top:0;
    text-align:right;
  }

  .audience-section,
  .journey-section{
    padding:28px 22px;
  }

  .public-section-heading{
    text-align:left;
  }

  .public-section-heading h2,
  .journey-intro h2{
    font-size:29px;
  }

  .journey-steps{
    grid-template-columns:1fr;
  }

  .journey-steps li{
    min-height:0;
  }

  .public-page-hero h1{
    font-size:39px;
  }
}
