/* BN HLL Panel – CRCON-tema (navy + blå accent). Indlæses sidst og overstyrer resten. */
body.bnp, .bnhll, .bnhll-modal, .bnhll-pub {
	--bg: #111827; --s1: #1a2132; --s2: #1f2738; --s3: #283146;
	--line: #263044; --line2: #323d55;
	--tx: #f1f5f9; --mu: #94a3b8; --mu2: #64748b;
	--ac: #1e88e5; --ac2: #42a5f5; --acg: #1e88e5;
	--al: #64b5f6; --ax: #ef5350; --ok: #4caf50; --warn: #ffb300; --bad: #e53935;
	--r: 8px; --r2: 6px;
	font-family: Roboto, "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif;
}
body.bnp { background: var(--bg); color: var(--tx); }
.bnhll { background: var(--bg) !important; }
.bnhll a { color: #64b5f6; }
.bnhll h1, .bnhll h2, .bnhll h3 { font-weight: 700; letter-spacing: 0; }

/* ---------- Knapper ---------- */
.bnhll .button, .bnhll button.button, .bnhll-modal .button { border-radius: 6px; background: transparent; border: 1px solid var(--line2); color: var(--tx); font-weight: 500; }
.bnhll .button:hover, .bnhll-modal .button:hover { background: var(--s3); }
.bnhll .button-primary, .bnhll button.button-primary, .bnhll #wp-submit { background: #1e88e5 !important; color: #fff !important; border: 1px solid #1e88e5 !important; box-shadow: none !important; filter: none !important; font-weight: 500; }
.bnhll .button-primary:hover { background: #1976d2 !important; border-color: #1976d2 !important; }
.bnhll .button.bnhll-warn, .bnhll-modal .button.bnhll-warn { color: #ffb300; border-color: #ffb300; background: transparent; }
.bnhll .button-link-delete { color: #e53935; border-color: #e53935; }
.bnhll-modal .button.bnhll-danger, .bnhll .button.bnhll-danger { background: #c62828; border-color: #c62828; }
.bnhll-logo { background: #1e88e5 !important; color: #fff !important; box-shadow: none !important; border-radius: 8px !important; }

/* ---------- Felter ---------- */
.bnhll input:not([type=checkbox]):not([type=radio]), .bnhll select, .bnhll textarea, .bnhll-modal textarea, .bnhll-modal input { background-color: var(--s2) !important; border: 1px solid var(--line2) !important; border-radius: 6px !important; color: var(--tx) !important; }
.bnhll input:focus, .bnhll select:focus, .bnhll textarea:focus { border-color: #1e88e5 !important; box-shadow: 0 0 0 2px rgba(30,136,229,.25) !important; }
.bnhll input[type=checkbox], .bnhll input[type=radio] { accent-color: #1e88e5; }

/* ---------- Kort ---------- */
.bnhll-card, .bnhll-team, .bnhll-toolbar, .bnhll-session > div, .bnhll-stats > div, .ov-tile, .bnhll-plan, .bnhll-explain, .rot-row, .bnhll-squad, .bnhll-tabs, .nav-tab-wrapper, .bnhll-ptabs, .bnhll-order-row { background: var(--s1) !important; border: 1px solid var(--line) !important; border-radius: 8px !important; box-shadow: none !important; }
.bnhll .widefat { border-radius: 8px; }
.bnhll .widefat thead th { background: var(--s2); color: var(--tx); text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 600; }
.bnhll-notice { border-radius: 6px; background: rgba(30,136,229,.12); border-color: rgba(30,136,229,.4); color: #bbdefb; }
.bnhll-notice.ok { background: rgba(76,175,80,.12); border-color: rgba(76,175,80,.4); color: #c8e6c9; }
.bnhll-notice.err { background: rgba(229,57,53,.12); border-color: rgba(229,57,53,.45); color: #ffcdd2; }
.bnhll-st.active, .bnhll-st.paid { background: rgba(76,175,80,.15); color: #81c784; }
.bnhll-st.pending { background: rgba(255,179,0,.14); color: #ffca28; }
.bnhll-hint { background: rgba(30,136,229,.08); border-color: rgba(30,136,229,.3); }
.bnhll-hint strong, .bnhll-explain summary { color: #64b5f6; }
.bnhll-fill i, .bnhll-pub-bar i { background: #1e88e5 !important; }
.bnhll-ref { background: rgba(30,136,229,.15); color: #90caf9; }
.bnhll-paybar { background: rgba(30,136,229,.08); border-color: rgba(30,136,229,.3); }
.bnhll-time:not(:empty)::before, .ov-ok::before, .ov-live::before { background: #4caf50; }

/* ---------- App-layout: sidemenu ---------- */
.bnp-app { grid-template-columns: 240px minmax(0, 1fr); transition: grid-template-columns .2s; }
.bnp-app.collapsed { grid-template-columns: 0 minmax(0, 1fr); }
.bnp-app.collapsed .bnp-side { visibility: hidden; padding: 0; border: 0; }
.bnp-side { background: var(--bg); border-right: 1px solid var(--line); padding: 0; gap: 0; font-family: Roboto, "Segoe UI", system-ui, sans-serif; overflow-x: hidden; }
.cr-srv { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 3px; padding: 14px 12px 12px; border-bottom: 1px solid var(--line); text-decoration: none; color: #fff; }
.cr-srv strong { font-size: 14px; font-weight: 600; }
.cr-srv span { font-size: 12px; color: #e2e8f0; }
.cr-search { display: flex; align-items: center; gap: 8px; margin: 10px 8px; padding: 0 10px; height: 40px; border: 1px solid var(--line2); border-radius: 6px; background: var(--s1); color: var(--mu); }
.cr-search .ic { width: 18px; height: 18px; fill: currentColor; flex: none; }
.cr-search input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; color: var(--tx); font: inherit; font-size: 14px; }
.cr-search kbd { font: 11px/1 Consolas, monospace; color: var(--mu); background: var(--s3); border-radius: 4px; padding: 3px 5px; border: 1px solid var(--line2); }
.cr-nav { padding: 4px 8px; display: flex; flex-direction: column; gap: 2px; }
.cr-link, .cr-gbtn { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 12px; border-radius: 6px; color: #e2e8f0; text-decoration: none; font: 500 14px/1.3 Roboto, "Segoe UI", system-ui, sans-serif; background: transparent; border: 0; cursor: pointer; text-align: left; }
.cr-link:hover, .cr-gbtn:hover { background: var(--s1); color: #fff; }
.cr-link.on { background: rgba(30,136,229,.16); color: #fff; }
.cr-link.on .ic { fill: #64b5f6; }
.cr-link .ic, .cr-gbtn .ic { width: 18px; height: 18px; fill: #cbd5e1; flex: none; }
.cr-gbtn span { flex: 1; }
.cr-gbtn .ic:last-child { width: 18px; transform: rotate(0); transition: transform .15s; opacity: .7; }
.cr-group.open > .cr-gbtn .ic:last-child { transform: rotate(180deg); }
.cr-sub { display: none; padding: 2px 0 6px 16px; }
.cr-group.open > .cr-sub { display: flex; flex-direction: column; gap: 2px; }
.cr-sub .cr-link { font-size: 14px; padding: 7px 12px; }
.cr-sub .cr-link .ic { width: 16px; height: 16px; }
.cr-badge { margin-left: auto; background: #e53935; color: #fff; font: 700 11px/18px Roboto, sans-serif; min-width: 18px; padding: 0 6px; border-radius: 9px; text-align: center; }
.cr-foot { margin-top: auto; padding: 12px 16px; border-top: 1px solid var(--line); font-size: 12px; color: #e2e8f0; }
.cr-stat { display: flex; justify-content: space-between; }
.cr-on::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #4caf50; margin-right: 6px; }
.cr-ver { color: var(--mu); margin-top: 6px; }
.cr-user { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--line); }
.cr-av { width: 36px; height: 36px; border-radius: 50%; background: var(--s3); display: grid; place-items: center; font-weight: 700; color: #cbd5e1; }
.cr-user strong { flex: 1; font-size: 14px; }
.cr-user a .ic { width: 22px; height: 22px; fill: #e2e8f0; }
.cr-user a:hover .ic { fill: #64b5f6; }

/* ---------- Topbar med brødkrummer ---------- */
.bnp-main { padding: 0 clamp(16px, 3vw, 48px) 10px !important; }
.cr-top { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 16px; height: 60px; margin: 0 -8px 16px; padding: 0 8px; background: var(--bg); }
.cr-burger { background: none; border: 0; cursor: pointer; padding: 6px; border-radius: 6px; display: grid; place-items: center; }
.cr-burger:hover { background: var(--s1); }
.cr-burger .ic { width: 22px; height: 22px; fill: #cbd5e1; }
.cr-crumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #cbd5e1; }
.cr-crumbs a { color: #cbd5e1 !important; text-decoration: none; }
.cr-crumbs a:hover { color: #fff !important; }
.cr-crumbs i { font-style: normal; color: var(--mu2); }
.cr-crumbs strong { color: #fff; font-weight: 700; }
.cr-topright { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.cr-topright .bnhll-server-pick { color: var(--mu); font-size: 13px; }
.cr-topright select { min-width: 200px; height: 36px; }
.bnp-main .bnhll-foot { margin-top: 30px; }

/* ---------- Serveroverblik i CRCON "Team"-stil ---------- */
.ov-head { margin-bottom: 12px; }
.ov-ok { color: var(--mu); letter-spacing: .08em; }
.ov-score { background: var(--bg) !important; border: 0 !important; padding: 0 0 14px !important; box-shadow: none !important; border-radius: 0 !important; }
.ov-sectors { gap: 0; margin-bottom: 12px; }
.ov-sectors span { position: relative; height: 26px; opacity: 1 !important; display: grid; place-items: center; clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 50%, calc(100% - 13px) 100%, 0 100%, 13px 50%); }
.ov-sectors span.al { background: #90caf9 !important; border-top: 3px solid #42a5f5; }
.ov-sectors span.ax { background: #ef9a9a !important; border-top: 3px solid #e53935; clip-path: polygon(13px 0, 100% 0, calc(100% - 13px) 50%, 100% 100%, 13px 100%, 0 50%); }
.ov-sectors span.nt { background: #e0e0e0 !important; }
.ov-sectors svg { width: 16px; height: 16px; color: #fff; }
.ov-ico { width: 72px; height: 72px; filter: none; }
.ov-tinfo strong { font-size: 16px; text-transform: uppercase; }
.ov-tinfo em { font-size: 22px; color: #fff !important; }
.ov-line { height: 3px; }
.ov-team.al .ov-line { background: #42a5f5; box-shadow: 0 3px 0 -1px #1e88e5; }
.ov-team.ax .ov-line { background: #e53935; box-shadow: 0 3px 0 -1px #c62828; }
.ov-num { font-size: 68px; font-weight: 400; gap: 18px; }
.ov-num b.al, .ov-num b.ax { text-shadow: none; font-weight: 400; }
.ov-num span { color: #fff; font-size: 58px; transform: translateY(-3px); }
.ov-mid strong { font-weight: 500; }
.ov-mid em { color: #cbd5e1; font-size: 12px; }
.ov-time { color: #fff; font-size: 13px; }
.ov-tile { padding: 18px 20px !important; min-height: 130px; }
.ov-lbl, .ov-eb { color: #cbd5e1; letter-spacing: .08em; }
.ov-hero { border-radius: 8px; border: 1px solid var(--line); min-height: 300px; }
.ov-live::before { background: #4caf50; }

/* ---------- Spillerliste ---------- */
.bnhll-team > h2 { background: #0d1320 !important; justify-content: center; text-transform: uppercase; font-size: 18px; border-bottom: 1px solid var(--line); }
.bnhll-team > h2::before { display: none; }
.bnhll-squad { margin: 8px; border-radius: 6px !important; }
.bnhll-squad h3 { background: var(--s2) !important; color: #fff; letter-spacing: .04em; }
.bnhll-ptable td { font-family: "Roboto Mono", Consolas, monospace; font-size: 12.5px; }
.bnhll-pname strong { font-family: Roboto, "Segoe UI", sans-serif; font-size: 14px; }
.bnhll-prow:hover td { background: rgba(30,136,229,.08); }
.bnhll-sc span { background: transparent; color: #e2e8f0 !important; font-weight: 500; }
.bnhll-session > div { background: var(--s1) !important; }
.bnhll-score .allies { color: #fff; } .bnhll-score .axis { color: #fff; }

/* ---------- Rotation (CRCON builder-stil) ---------- */
.rot-card { background: var(--s1) !important; }
.rot-head h2 { font-size: 20px !important; }
.rot-count { background: transparent; color: #fff; font-size: 20px; font-weight: 700; padding: 0; min-width: 0; }
.rot-count::before { content: "("; } .rot-count::after { content: ")"; }
.rot-state { background: transparent; color: #81c784; border-color: #4caf50; border-radius: 6px; }
.rot-state.dirty { color: #ffca28; border-color: #ffb300; background: transparent; }
.rot-list { gap: 8px; }
.rot-row { background: var(--bg) !important; padding: 8px 16px !important; gap: 18px; min-height: 56px; }
.rot-row.cur { background: rgba(30,136,229,.12) !important; border-color: #1e88e5 !important; }
.rot-grip { color: #94a3b8; font-size: 18px; cursor: default; }
.rot-n { display: none; }
.rot-img { width: 48px; height: 32px; border-radius: 4px; }
.rot-t { flex: 0 0 200px; }
.rot-t strong { font-size: 15px; font-weight: 700; letter-spacing: .02em; }
.rot-t em { color: #64b5f6 !important; }
.rot-mode, .rot-w { flex: 0 0 160px; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #cbd5e1; }
.rot-w { flex: 1; }
.rot-b { color: #94a3b8; }
.rot-b.x { color: #e53935; }
.rot-b[data-go] { color: #fff; background: #1e88e5; border-radius: 6px; }
.rot-b[data-go]:hover { background: #1976d2 !important; }
@media (max-width: 900px) { .rot-mode, .rot-w { display: none; } .rot-t { flex: 1; } }
.seq-i .rot-img { height: 80px; border-radius: 6px; }

/* ---------- Live-kort ---------- */
.bnhll-map { border-radius: 6px; border-color: var(--line2); }
.bnhll-dot.allies { background: #42a5f5; box-shadow: 0 0 6px rgba(66,165,245,.8); }
.bnhll-dot.axis { background: #ef5350; box-shadow: 0 0 6px rgba(239,83,80,.8); }

/* ---------- Faner ---------- */
.bnhll .nav-tab-wrapper, .bnhll-tabs { background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--line2) !important; border-radius: 0 !important; padding: 0; gap: 8px; }
.bnhll .nav-tab, .bnhll-tabs .button { border-radius: 0; background: transparent !important; color: #cbd5e1; padding: 10px 16px; border: 0 !important; border-bottom: 2px solid transparent !important; }
.bnhll .nav-tab-active, .bnhll-tabs .button.button-primary { color: #fff !important; border-bottom-color: #1e88e5 !important; background: transparent !important; }

/* ---------- Lejeportal (kunder) ---------- */
.bnhll-ptop { background: transparent; }
.bnhll-ptabs { padding: 0 !important; background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--line2) !important; border-radius: 0 !important; gap: 4px; }
.bnhll-ptabs a { border-radius: 0; color: #cbd5e1; border-bottom: 2px solid transparent; padding: 12px 16px; }
.bnhll-ptabs a:hover { background: transparent; color: #fff; }
.bnhll-ptabs a.on { background: transparent !important; color: #fff !important; border-bottom-color: #1e88e5; box-shadow: none; }
.bnhll-badge { background: #1e88e5; color: #fff; }
.bnhll-hero h2 span { background: none; -webkit-background-clip: initial; background-clip: initial; color: #42a5f5; }
.bnhll-plan:has(input:checked) { border-color: #1e88e5 !important; box-shadow: 0 0 0 1px #1e88e5 !important; }
.bnhll-plan h3 { color: #64b5f6; }
.bnhll-methods label:has(input:checked) { border-color: #1e88e5; background: rgba(30,136,229,.1); }
.bnhll-plan li::before { background: rgba(76,175,80,.15); color: #81c784; }
.bnhll-trial { background: rgba(76,175,80,.15); color: #81c784; }
.bnhll-wrap, .bnp-wrap { background: var(--bg) !important; }
.bnp-wrap { padding-top: 20px !important; }
.bnhll-howto { border-left-color: #1e88e5; }

.rot-count { display: inline !important; }
.bnp-side nav a.cr-link.on, .cr-link.on { box-shadow: inset 3px 0 0 #1e88e5 !important; }
.bnp-side nav a.cr-link { margin-bottom: 0; }
.bnhll select { background-image: linear-gradient(45deg, transparent 50%, #94a3b8 50%), linear-gradient(135deg, #94a3b8 50%, transparent 50%) !important; background-position: calc(100% - 16px) 50%, calc(100% - 11px) 50% !important; background-size: 5px 5px !important; background-repeat: no-repeat !important; }
