:root{
  --bg:#070a08;--panel:#0b1110;--panel2:#121915;--green:#1f3821;--green2:#304f28;
  --gold:#d6a63a;--sand:#d8c79a;--text:#f3ead8;--muted:#a89c7a;--line:#3f3928;
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,#0d1810,#07100c);border-right:1px solid var(--line);padding:18px 16px;position:sticky;top:0;height:100vh}
.brand-patch{text-align:center;margin-bottom:16px}.brand-patch img{width:112px;height:112px}
.nav{display:block;color:var(--text);text-decoration:none;text-transform:uppercase;letter-spacing:.03em;padding:14px 16px;border-radius:4px;margin:4px 0}
.nav:hover,.nav.active{background:linear-gradient(90deg,var(--green2),transparent)}
.motto-box{position:absolute;bottom:24px;left:18px;right:18px;border:1px solid #6b642b;color:var(--sand);text-align:center;padding:20px 10px;font-weight:800;line-height:1.5}
.portal{padding:0 18px 22px}
.topbar{height:126px;display:grid;grid-template-columns:1.5fr 1fr 300px;align-items:center;border-bottom:1px solid var(--line);gap:18px}
.title-block{display:flex;align-items:center;gap:18px}.top-patch{width:88px;height:88px}
h1{margin:0;text-transform:uppercase;font-size:40px;letter-spacing:.06em}.title-block span{text-transform:uppercase;color:#99b753;font-size:21px;letter-spacing:.18em}
.quote{text-align:center;color:var(--sand);font-style:italic;text-transform:uppercase;font-size:18px;line-height:1.4}
.meta-strip{display:flex;justify-content:flex-end;gap:24px}.meta-strip div{border-left:1px solid var(--line);padding-left:18px}.meta-strip strong{display:block;color:var(--muted);text-transform:uppercase;font-size:12px}.meta-strip b{font-size:28px}
.dashboard-grid{display:grid;grid-template-columns:1.35fr 1.25fr 1fr;gap:14px;margin-top:14px}
.card{background:linear-gradient(180deg,#0d1412,#070b0a);border:1px solid #5c4a25;border-radius:7px;padding:20px;box-shadow:0 10px 25px rgba(0,0,0,.25)}
.card.large{min-height:360px}.card-title{font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}
.card-title a{font-size:13px;color:var(--sand);text-decoration:none;border:1px solid #756232;padding:8px 12px;border-radius:4px}
.muted{color:var(--muted);text-transform:uppercase;font-size:13px;margin-top:8px}
.segbar{display:grid;grid-template-columns:repeat(22,1fr);gap:3px;height:24px;margin:8px 0 16px}
.segbar span{background:#242a25;border:1px solid #32382f}.segbar span.on{background:linear-gradient(90deg,var(--gold),#9eb348)}
.list-bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:1fr 170px 48px;gap:12px;align-items:center}.bar-row label{text-transform:uppercase}.mini{height:15px;display:grid;grid-template-columns:repeat(12,1fr);gap:2px}.mini span{background:#242a25;border:1px solid #31382f}.mini span.on{background:linear-gradient(90deg,var(--gold),#9eb348)}
.timeline{display:grid;gap:8px}.time-row{display:grid;grid-template-columns:48px 1fr 120px;gap:10px;align-items:center}.time-row .month{color:var(--sand)}.time-row .year{color:#9eb348;font-weight:800}.time-row .task{border-left:1px solid #4a5529;padding-left:10px}
.compact-list{display:grid;gap:14px}.compact-list div{display:flex;justify-content:space-between;border-bottom:1px solid #29291d;padding-bottom:8px}.compact-list span:last-child{color:var(--sand)}
.patch-card{text-align:center}.patch-main{width:min(280px,90%);display:block;margin:10px auto 18px}
.button{display:inline-block;border:1px solid #756232;padding:10px 18px;color:var(--sand);text-transform:uppercase;text-decoration:none;border-radius:4px;font-weight:800}.button.dark{background:#0b1110}
.blazon{grid-column:span 2;background:#e6d8b5;color:#12140f}.blazon .card-title{color:#12140f}.blazon-grid{display:grid;grid-template-columns:1fr 260px 1fr;gap:20px;align-items:center}.blazon-grid img{width:260px}.blazon p{font-size:14px}
.bottom-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin-top:14px;background:#2d2b1c;border:1px solid var(--line)}.bottom-stats div{background:#111715;padding:15px}.bottom-stats span{display:block;color:var(--muted);text-transform:uppercase;font-size:12px}.bottom-stats strong{display:block;font-size:24px}.bottom-stats small{color:var(--sand)}
.simple-page{background:#111715}.simple-nav{padding:14px 22px;background:#07100c}.simple-nav a{color:var(--sand);text-decoration:none;font-weight:800}.manual-page{max-width:920px;margin:28px auto;background:#efe5ca;color:#151515;padding:34px;border-radius:10px}.manual-page h1{font-size:36px;color:#1f3821}.manual-page h2{border-bottom:2px solid #c5ad68;padding-bottom:6px}.manual-patch{width:260px;float:right;margin:0 0 20px 25px}
@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.motto-box{position:static;margin-top:15px}.topbar{height:auto;grid-template-columns:1fr;padding:18px 0}.dashboard-grid{grid-template-columns:1fr}.blazon{grid-column:auto}.bottom-stats{grid-template-columns:1fr 1fr}.blazon-grid{grid-template-columns:1fr}.blazon-grid img{margin:auto}.bar-row{grid-template-columns:1fr}.manual-patch{float:none;display:block;margin:0 auto 20px}}

.admin-link{opacity:.82}
.admin-page{max-width:1280px;margin:28px auto;padding:0 20px}
.admin-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(180deg,#0d1412,#070b0a);border:1px solid #5c4a25;border-radius:8px;padding:24px;margin-bottom:16px}
.admin-header h1{font-size:38px}.admin-header p{color:var(--sand);max-width:760px}.admin-header img{width:120px;height:120px}
.admin-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.admin-card{background:#101714;border:1px solid #5c4a25;border-radius:8px;padding:18px;margin-bottom:16px}.admin-card.wide{grid-row:span 3}
.admin-card h2{margin-top:0;color:var(--sand);text-transform:uppercase;letter-spacing:.04em}
.admin-table{display:grid;gap:6px}.admin-row{display:grid;grid-template-columns:80px 1.7fr 140px 110px 150px;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #2d2b1c}
.admin-row.head{color:var(--sand);font-weight:800;text-transform:uppercase;border-bottom:2px solid #5c4a25}.admin-row small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.admin-row b{display:block;color:var(--sand);font-size:12px;margin-top:3px}
.admin-list{display:grid;gap:10px}.admin-list div{border-bottom:1px solid #2d2b1c;padding-bottom:10px}.admin-list strong{color:var(--sand)}.admin-list span{float:right;color:var(--muted);font-size:12px;text-transform:uppercase}.admin-list p{margin:.4rem 0 0}
@media(max-width:1100px){.admin-grid{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr}.admin-header{flex-direction:column;text-align:center}}

.admin-page.locked{display:none}
.admin-lock{position:fixed;inset:0;background:radial-gradient(circle at 50% 30%,#17241b,#050705 70%);display:flex;align-items:center;justify-content:center;z-index:9999}
.lock-box{width:min(420px,92vw);background:#0d1412;border:1px solid #5c4a25;border-radius:10px;padding:28px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lock-box img{width:120px;height:120px}.lock-box h1{font-size:30px}.lock-box p{color:var(--sand)}
.lock-box input{width:100%;padding:14px;background:#070b0a;border:1px solid #5c4a25;color:var(--text);border-radius:5px;font-size:18px;text-align:center;margin:10px 0}
.lock-box button{width:100%;padding:14px;background:#304f28;border:1px solid #d6a63a;color:var(--text);border-radius:5px;text-transform:uppercase;font-weight:900;cursor:pointer}
.lock-error{min-height:22px;color:#d6a63a!important}
.offline-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.offline-box{background:#0d1412;border:1px solid #3f3928;border-radius:8px;padding:16px}
.offline-head{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #2d2b1c;margin-bottom:10px}
.offline-head h3{margin:.2rem 0 .7rem;color:var(--sand);text-transform:uppercase;font-size:18px}
.offline-head span{font-size:12px;text-transform:uppercase;color:var(--muted);border:1px solid #5c4a25;padding:5px 8px;border-radius:4px}
.offline-box code{color:#d6a63a}

.input-full{width:100%;padding:12px;background:#070b0a;border:1px solid #5c4a25;color:var(--text);border-radius:5px;margin-bottom:12px}
.input-button{margin:4px 6px 4px 0;cursor:pointer}
.participant-form label{display:block;color:var(--sand);font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.04em;margin:12px 0}
.participant-form input,.participant-form textarea{width:100%;padding:12px;margin-top:6px;background:#070b0a;border:1px solid #5c4a25;color:var(--text);border-radius:5px;font-size:15px;text-transform:none;font-weight:400;letter-spacing:0}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 16px}


/* v0.47 Official Patch */
.top-patch,.brand-patch img,.admin-header img,.manual-patch,.patch-main,.blazon-grid img,.lock-box img{
  object-fit:contain;
}

/* v0.47 Responsive Layout
   Fokus: iPad som primær arbejdsflade, almindelig PC som sekundær,
   samt acceptabel mobilvisning uden grafisk redesign.
*/
:root{
  --sidebar-width: clamp(220px, 18vw, 280px);
  --page-gap: clamp(10px, 1.2vw, 18px);
}
img,svg{max-width:100%;height:auto}
.portal{padding:0 var(--page-gap) 22px}
.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
.dashboard-grid{grid-template-columns:minmax(360px,1.35fr) minmax(340px,1.25fr) minmax(280px,1fr)}
.card{min-width:0}
h1{font-size:clamp(28px,3.2vw,44px)}
.title-block span{font-size:clamp(15px,1.6vw,21px)}
.quote{font-size:clamp(14px,1.4vw,18px)}
.card-title{font-size:clamp(17px,1.7vw,22px)}
.bottom-stats strong{font-size:clamp(18px,1.7vw,24px)}
.admin-page{width:min(1280px, calc(100vw - 32px))}
.manual-page{width:min(920px, calc(100vw - 32px))}
.admin-table{overflow-x:auto}
.admin-row{min-width:760px}
table{display:block;overflow-x:auto;white-space:nowrap}
@media (max-width: 1180px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px}
  .brand-patch{margin:0}.brand-patch img{width:86px;height:86px}
  .sidebar .nav{display:inline-block;padding:10px 12px;margin:3px;font-size:14px}
  .motto-box{position:static;grid-column:1 / -1;margin-top:8px;padding:12px}
  .topbar{height:auto;grid-template-columns:1fr 1fr;padding:14px 0}
  .meta-strip{justify-content:flex-start}
  .dashboard-grid{grid-template-columns:1fr 1fr}
  .card.large{min-height:auto}
  .blazon{grid-column:1 / -1}
  .bottom-stats{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 900px){
  .topbar{grid-template-columns:1fr}
  .title-block{justify-content:center;text-align:center}
  .quote{text-align:center}
  .meta-strip{justify-content:center}
  .dashboard-grid{grid-template-columns:1fr}
  .bar-row{grid-template-columns:1fr minmax(180px, 1fr) 52px}
  .bottom-stats{grid-template-columns:1fr 1fr}
  .admin-grid{grid-template-columns:1fr}
  .admin-header{flex-direction:column;text-align:center}
  .admin-row{grid-template-columns:90px 1.5fr 120px 110px 150px}
}
@media (max-width: 650px){
  .portal{padding:0 10px 18px}
  .sidebar{display:block;text-align:center}
  .sidebar .nav{display:block;text-align:left;font-size:15px}
  .brand-patch img{width:96px;height:96px}
  .title-block{flex-direction:column}
  .top-patch{width:86px;height:86px}
  .meta-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .bar-row{grid-template-columns:1fr}
  .time-row{grid-template-columns:52px 1fr}
  .time-row .mini{grid-column:1 / -1}
  .blazon-grid{grid-template-columns:1fr}
  .bottom-stats{grid-template-columns:1fr}
  .admin-row{min-width:0;grid-template-columns:1fr}
  .admin-row.head{display:none}
  .manual-page,.admin-page{width:calc(100vw - 18px);margin:10px auto;padding:16px}
  .manual-patch{float:none;margin:0 auto 20px;display:block}
  .form-grid{grid-template-columns:1fr}
  .offline-list{grid-template-columns:1fr}
}


/* v0.48 Design Studio */
.admin-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:12px}
.design-preview{text-align:center}
.design-preview img{width:min(320px,90%);border-radius:12px;border:1px solid #5c4a25;background:#070b0a;padding:8px}
.design-preview h3{color:var(--sand);text-transform:uppercase}
.proposal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.proposal-card{background:#0d1412;border:1px solid #3f3928;border-radius:8px;padding:16px}
.proposal-card img{width:100%;border-radius:8px;border:1px solid #5c4a25;background:#070b0a}
.proposal-card h3{color:var(--sand);text-transform:uppercase}


/* v0.50 Sidebar cleanup */
.sidebar{
  height:100vh;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
}
.sidebar .nav{flex:0 0 auto}
.sidebar-updates{
  margin-top:18px;
  padding:12px;
  border:1px solid #5c4a25;
  background:#0b1110;
  border-radius:6px;
  flex:0 0 auto;
}
.sidebar-updates h3{
  margin:.1rem 0 .7rem;
  color:var(--sand);
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.05em;
}
.sidebar-updates div div{
  border-bottom:1px solid #2d2b1c;
  padding:7px 0;
}
.sidebar-updates div div:last-child{border-bottom:0}
.sidebar-updates span{
  display:block;
  font-size:13px;
  line-height:1.25;
}
.sidebar-updates small{
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:3px;
}
.motto-box{
  position:static!important;
  margin-top:auto;
  flex:0 0 auto;
}
@media (max-width:1180px){
  .sidebar{height:auto;overflow:visible;display:grid}
  .sidebar-updates{grid-column:1 / -1;margin-top:8px}
  .motto-box{grid-column:1 / -1}
}


/* v0.50 Compact progress bars fix */
.bar-row{
  grid-template-columns:minmax(0,1fr) minmax(90px,130px) 42px;
  gap:8px;
}
.bar-row label{
  min-width:0;
  overflow-wrap:anywhere;
}
.bar-row strong{
  font-size:12px;
  text-align:right;
}
.mini{
  width:100%;
  max-width:130px;
  height:12px;
  grid-template-columns:repeat(10,1fr);
  gap:1px;
}
.mini span{
  min-width:0;
}
.segbar{
  grid-template-columns:repeat(18,1fr);
  height:20px;
  gap:2px;
}
.card{
  overflow:hidden;
}
.list-bars.compact .bar-row{
  grid-template-columns:minmax(0,1fr) minmax(80px,110px) 38px;
}
.list-bars.compact .mini{
  max-width:110px;
}
.time-row{
  grid-template-columns:46px minmax(0,1fr) minmax(80px,110px);
}
.time-row .mini{
  max-width:110px;
}
.admin-row{
  grid-template-columns:72px minmax(0,1.6fr) minmax(90px,.8fr) minmax(80px,.7fr) minmax(95px,120px);
}
.admin-row .mini{
  max-width:115px;
}
@media (max-width:900px){
  .bar-row{
    grid-template-columns:minmax(0,1fr) minmax(85px,120px) 40px;
  }
  .mini{max-width:120px}
  .time-row{
    grid-template-columns:46px minmax(0,1fr);
  }
  .time-row .mini{
    grid-column:1 / -1;
    max-width:100%;
  }
}
@media (max-width:650px){
  .bar-row{
    grid-template-columns:1fr;
  }
  .mini{
    max-width:100%;
  }
}


/* v0.50 layout adjustment */
.motto-box{
  order:2;
  margin:14px 0 18px 0 !important;
  position:static !important;
}
.sidebar-updates{
  order:99;
  margin-top:auto;
}


/* v0.51 Uniform progress bars */
.bar-row{
  display:grid;
  grid-template-columns: 1fr 90px 36px !important;
  align-items:center;
  gap:8px;
}
.bar-row label{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mini{
  width:90px !important;
  min-width:90px !important;
  max-width:90px !important;
  justify-self:end;
}
.bar-row strong{
  width:36px;
  text-align:right;
  font-size:12px;
}
@media (max-width:900px){
  .bar-row{
    grid-template-columns:1fr 90px 36px !important;
  }
}
@media (max-width:650px){
  .bar-row{
    grid-template-columns:1fr !important;
  }
  .mini{
    width:100% !important;
    max-width:100% !important;
  }
}


/* v0.51 Motto restore */
.brand-patch + .motto-box,
.motto-box{
  display:block !important;
  margin:14px 10px 18px;
  padding:12px;
  border:1px solid #5c4a25;
  border-radius:6px;
  background:#0d1412;
  color:var(--sand);
  text-align:center;
  font-weight:700;
  line-height:1.5;
  order:2;
}


/* v0.52 Language selector */
.language-switch{
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}
.language-switch a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:30px;
  border:1px solid #5c4a25;
  background:#0d1412;
  text-decoration:none;
  border-radius:5px;
  font-size:20px;
}
.language-switch a.active{
  border-color:#d6a63a;
  box-shadow:0 0 0 1px rgba(214,166,58,.25) inset;
}
.simple-nav .language-switch{
  float:right;
  margin-top:-4px;
}
@media(max-width:900px){
  .language-switch{justify-content:center}
  .simple-nav .language-switch{float:none;margin-top:10px}
}


/* v0.521 Flags: fixed in the upper-right corner of the dashboard header */
.topbar{
  position:relative;
}
.topbar .language-switch{
  position:absolute;
  top:12px;
  right:0;
  z-index:5;
}
.topbar .meta-strip{
  padding-right:96px;
}
@media (max-width:900px){
  .topbar{
    padding-top:58px;
  }
  .topbar .language-switch{
    top:12px;
    right:0;
    justify-content:flex-end;
  }
  .topbar .meta-strip{
    padding-right:0;
  }
}
@media (max-width:650px){
  .topbar{
    padding-top:58px;
  }
}


/* stable flag placement and real SVG flags */
.topbar {
  position: relative !important;
  isolation: isolate;
  padding-right: 118px !important;
}
.topbar > .language-switch {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  transform: none !important;
  z-index: 50 !important;
  display: flex !important;
  flex-direction: row !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: auto !important;
}
.language-switch a {
  width: 44px !important;
  height: 34px !important;
  padding: 4px !important;
  overflow: hidden;
  flex: 0 0 auto;
}
.language-switch a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2px;
}
.topbar .meta-strip {
  padding-right: 0 !important;
}

/* Tablet: keep selector in the actual top-right corner of the header */
@media (min-width: 651px) and (max-width: 1180px) {
  .topbar {
    min-height: 170px !important;
    padding-top: 54px !important;
    padding-right: 118px !important;
    overflow: visible !important;
  }
  .topbar > .language-switch {
    top: 12px !important;
    right: 12px !important;
  }
}

/* Phone: same corner placement, with reserved space */
@media (max-width: 650px) {
  .topbar {
    padding-top: 62px !important;
    padding-right: 0 !important;
  }
  .topbar > .language-switch {
    top: 10px !important;
    right: 10px !important;
  }
}


/* progress bars: full width and never wrap */
.segbar{
  width:100% !important;
  max-width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(22,minmax(0,1fr)) !important;
  grid-template-rows:1fr !important;
  grid-auto-flow:column !important;
  gap:3px !important;
  height:20px !important;
  overflow:hidden !important;
}
.segbar span{
  min-width:0 !important;
  width:auto !important;
}

.bar-row{
  min-width:0 !important;
  width:100% !important;
}
.mini{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  grid-template-rows:1fr !important;
  grid-auto-flow:column !important;
  gap:2px !important;
  overflow:hidden !important;
}
.mini span{
  min-width:0 !important;
  width:auto !important;
}

@media (max-width:650px){
  .card{
    width:100% !important;
    min-width:0 !important;
  }
  .list-bars{
    width:100% !important;
    min-width:0 !important;
  }
  .bar-row{
    grid-template-columns:1fr !important;
    width:100% !important;
    min-width:0 !important;
  }
  .bar-row label{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  .bar-row .mini{
    width:100% !important;
    max-width:100% !important;
    justify-self:stretch !important;
  }
  .bar-row strong{
    width:auto !important;
    justify-self:start !important;
    padding-left:12px;
  }
}


/* Map Interaction */
.route-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.75rem;
  margin:1rem 0;
}
.route-stats article{
  border:1px solid rgba(192,158,70,.45);
  border-radius:10px;
  padding:.9rem;
  background:rgba(10,20,15,.72);
}
.route-stats strong{
  display:block;
  color:#f4e7c3;
  font-size:1.35rem;
}
.route-stats span{
  display:block;
  color:#bdb79d;
  margin-top:.25rem;
  font-size:.86rem;
}
.map-tools{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
  justify-content:space-between;
  margin:.75rem 0;
}
.map-layer-controls{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem 1rem;
}
.map-layer-controls label{
  display:inline-flex;
  gap:.4rem;
  align-items:center;
  font-size:.9rem;
}
.map-layer-controls label.future{
  opacity:.55;
}
#show-whole-route{
  border:1px solid #b88e2f;
  background:transparent;
  color:#f2e4bd;
  border-radius:7px;
  padding:.6rem .9rem;
  cursor:pointer;
}
.oms-map-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#142219;
  border:2px solid #fff;
  box-shadow:0 3px 9px rgba(0,0,0,.45);
  font-size:18px;
}
.oms-map-icon.start{background:#2e7d32}
.oms-map-icon.meeting{background:#9a6b12}
.oms-map-icon.ferry{background:#286a96}
.oms-map-icon.route{background:#263a2a}
.oms-map-icon.northcap{background:#a72b22}
.oms-map-icon.finish{background:#3a3d84}
.stage-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:.75rem;
}
.stage-card{
  text-align:left;
  border:1px solid rgba(192,158,70,.45);
  border-radius:10px;
  padding:.9rem;
  background:rgba(10,20,15,.72);
  color:#f4f0e7;
  cursor:pointer;
  transition:.18s ease;
}
.stage-card:hover,
.stage-card.active{
  transform:translateY(-2px);
  border-color:#d3a83d;
  background:rgba(20,38,27,.92);
}
.stage-card strong,
.stage-card span,
.stage-card small{
  display:block;
}
.stage-card strong{
  margin:.25rem 0;
}
.stage-card small{
  color:#bab49e;
  line-height:1.35;
  margin-top:.4rem;
}
.stage-day{
  color:#a8c94c;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.stage-meta{
  color:#d7c99e;
  margin-top:.55rem;
  font-size:.86rem;
}
@media(max-width:900px){
  .route-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .route-stats{grid-template-columns:1fr}
  .stage-grid{grid-template-columns:1fr}
  .map-tools{align-items:flex-start}
}

.motto-box{padding:0;overflow:hidden;background:transparent}.mission-box-image{display:block;width:100%;height:auto;border-radius:8px;}


/* Mission Control Dashboard — scoped admin styles */
.mission-control-page .mc-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}
.mission-control-page .mc-summary-card{background:#101714;border:1px solid #5c4a25;border-radius:8px;padding:16px;min-width:0}
.mission-control-page .mc-summary-card span,.mission-control-page .mc-summary-card small{display:block;color:var(--muted)}
.mission-control-page .mc-summary-card strong{display:block;color:var(--sand);font-size:1.15rem;overflow-wrap:anywhere}
.mission-control-page .mc-two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mission-control-page .mc-health-list,.mission-control-page .mc-kv-list,.mission-control-page .mc-service-list,.mission-control-page .mc-roadmap-list{display:grid;gap:8px}
.mission-control-page .mc-health-row,.mission-control-page .mc-kv-row,.mission-control-page .mc-service{display:grid;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #2d2b1c}
.mission-control-page .mc-health-row{grid-template-columns:14px minmax(150px,1fr) minmax(120px,auto)}
.mission-control-page .mc-kv-row{grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr)}
.mission-control-page .mc-service{grid-template-columns:minmax(0,1fr) auto}
.mission-control-page .mc-service small{display:block;color:var(--muted);margin-top:3px}
.mission-control-page .mc-health-value{color:var(--muted);text-align:right;overflow-wrap:anywhere}
.mission-control-page .mc-health-dot{width:10px;height:10px;border-radius:50%;background:#777}
.mission-control-page .mc-health-ok{background:#71a85b}.mission-control-page .mc-health-warning{background:#d0a13a}.mission-control-page .mc-health-error{background:#b54b42}
.mission-control-page .mc-badge{display:inline-flex;width:max-content;border:1px solid #5c4a25;border-radius:999px;padding:4px 9px;color:var(--sand);background:#17211b;font-size:11px;font-weight:800;text-transform:uppercase;white-space:nowrap}
.mission-control-page .mc-badge-stable,.mission-control-page .mc-badge-installeret{border-color:#4e7045;color:#b9dfa7}
.mission-control-page .mc-badge-preview,.mission-control-page .mc-badge-current,.mission-control-page .mc-badge-next{border-color:#927126;color:#ead18b}
.mission-control-page .mc-roadmap-item{padding:10px 0;border-bottom:1px solid #2d2b1c}
.mission-control-page .mc-roadmap-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}
.mission-control-page .mc-progress{height:10px;border-radius:999px;overflow:hidden;background:#080d0b;border:1px solid #2d2b1c}
.mission-control-page .mc-progress span{display:block;height:100%;background:linear-gradient(90deg,#647838,#b28a32)}
.mission-control-page .mc-milestone{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px}
.mission-control-page .mc-milestone-version{border-right:1px solid #5c4a25;padding-right:20px}
.mission-control-page .mc-milestone-version strong{display:block;color:var(--sand);font-size:2rem}
.mission-control-page .mc-milestone-version span{color:var(--muted)}
.mission-control-page .mc-task-list{margin:.6rem 0 0;padding-left:1.2rem}.mission-control-page .mc-task-list li{margin:.35rem 0}
.mission-control-page .mc-alerts{display:grid;gap:10px}.mission-control-page .mc-alert{border-left:4px solid #777;background:#0c120f;padding:12px 14px;border-radius:5px}
.mission-control-page .mc-alert p{margin:.35rem 0 0;color:var(--muted)}.mission-control-page .mc-alert-info{border-left-color:#8a773d}.mission-control-page .mc-alert-warning{border-left-color:#d0a13a}.mission-control-page .mc-alert-error{border-left-color:#b54b42}.mission-control-page .mc-alert-ok{border-left-color:#71a85b}
.mission-control-page .mc-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.mission-control-page .mc-doc-link{text-align:center}
.mission-control-page .mc-error{border:1px solid #b54b42;background:#2a1210;color:#ffd4cf;padding:12px;border-radius:6px;margin-bottom:16px}
@media(max-width:1100px){.mission-control-page .mc-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-control-page .mc-two-column{grid-template-columns:1fr}}
@media(max-width:650px){.mission-control-page .mc-summary-grid{grid-template-columns:1fr}.mission-control-page .mc-health-row,.mission-control-page .mc-kv-row,.mission-control-page .mc-service{grid-template-columns:1fr}.mission-control-page .mc-health-value{text-align:left}.mission-control-page .mc-roadmap-head{flex-direction:column}.mission-control-page .mc-milestone{grid-template-columns:1fr}.mission-control-page .mc-milestone-version{border-right:0;border-bottom:1px solid #5c4a25;padding-right:0;padding-bottom:12px}}
