/* Shared Black Core Team visual language, aligned with the KIS dashboard. */
:root {
  --bg-body: #0b0d10;
  --bg-elevated: #12161b;
  --bg-soft: #171c22;
  --accent: #8ea7ff;
  --accent-hover: #a5b8ff;
  --accent-soft: rgba(142, 167, 255, .14);
  --accent-gradient: linear-gradient(135deg, #667eea 0%, #8ea7ff 55%, #a855f7 100%);
  --text-main: #e8edf2;
  --text-muted: #8f9aa6;
  --nav-bg: rgba(11, 13, 16, .9);
  --card-bg: rgba(18, 22, 27, .94);
  --border-color: #272e36;
  --shadow-color: rgba(0, 0, 0, .42);
}

body { font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; background: var(--bg-body); color: var(--text-main); }
body::before { background: radial-gradient(ellipse 70% 45% at 50% -20%, rgba(142,167,255,.11), transparent), radial-gradient(ellipse 50% 35% at 100% 100%, rgba(168,85,247,.08), transparent); }
h1,h2,h3,h4,h5,h6,.hero-title,.service-card-title,.navbar-brand { font-family: Inter, system-ui, sans-serif; }
.navbar { background: var(--nav-bg); border-bottom: 1px solid var(--border-color); }
.navbar-brand { color: var(--text-main); background: none; -webkit-text-fill-color: initial; letter-spacing: .1em; }
.navbar-brand::before { content: ""; display: inline-block; width: 30px; height: 30px; margin-right: 10px; vertical-align: middle; border-radius: 8px; background: #151a22 url('/static/logo.png') center/cover no-repeat; }
.nav-link { color: #aab3bd; border-radius: 9px; }
.nav-link:hover,.nav-link.active { color: #fff; background: #181e25; }
.hero-inner,.card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 13px; box-shadow: 0 18px 60px var(--shadow-color); }
.hero-inner::before { background: var(--accent-gradient); }
.hero-title { background: linear-gradient(135deg, var(--text-main), var(--text-muted)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.btn-primary { background: var(--accent); color: #080a0e; box-shadow: none; }
.btn-primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
.btn-outline-primary,.btn-outline-secondary { color: var(--text-main); border-color: var(--border-color); }
.btn-outline-primary:hover,.btn-outline-secondary:hover { background: var(--accent-soft); border-color: var(--accent); color: #fff; }
.service-card-category,.service-price { color: var(--accent); }
.service-price { background: none; -webkit-text-fill-color: initial; }
.form-control,.form-select { background: #0e1216; border-color: var(--border-color); color: var(--text-main); }
.form-control:focus,.form-select:focus { background: #0e1216; color: #fff; border-color: #52698f; box-shadow: 0 0 0 .2rem rgba(82,105,143,.15); }
.table { --bs-table-bg: transparent; --bs-table-color: var(--text-main); --bs-table-border-color: var(--border-color); }
.table thead th { color: var(--text-muted); background: var(--bg-elevated)!important; }
.table tbody tr:hover { background: var(--bg-soft)!important; }
.floating-cart-btn { background: var(--card-bg); border-color: var(--border-color); }

[data-theme="light"] { --bg-body:#f3f5f7; --bg-elevated:#fff; --bg-soft:#f7f8fa; --text-main:#1c232b; --text-muted:#687482; --nav-bg:rgba(243,245,247,.92); --card-bg:#fff; --border-color:#d9dee5; --shadow-color:rgba(28,35,43,.12); }
[data-theme="light"] .nav-link:hover,[data-theme="light"] .nav-link.active { color: #1c232b; background: #eef2f7; }
[data-theme="light"] .form-control,[data-theme="light"] .form-select { background:#fff; color:#1c232b; }
.docs-card { position:relative; color:var(--text-main); transition:border-color .2s ease, background .2s ease; }
.docs-card:hover,.docs-card:focus-visible { border-color:var(--accent); background:var(--bg-soft); color:var(--text-main); }
.docs-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.docs-card-index{font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.docs-card .service-card-title{margin-bottom:.65rem}.docs-card .service-card-desc{min-height:4.2rem;line-height:1.65}.docs-arrow { display:flex;justify-content:space-between;align-items:center;margin-top:1.35rem;padding-top:1rem;border-top:1px solid var(--border-color);color:var(--accent);font-size:.85rem;font-weight:600; }
.document-card { max-width:950px; margin:0 auto 3rem; }
.document-card hr { border-color:var(--border-color); opacity:1; }
.document-section { padding:1.25rem 0; border-bottom:1px solid var(--border-color); }
.document-section:last-child { border-bottom:0; }
.document-section h2 { font-size:1.15rem; margin-bottom:.5rem; }
.document-section .document-subheading { font-size:1rem; line-height:1.5; margin:1.5rem 0 .5rem; color:var(--text-main); break-after:avoid; }
.document-section p,.document-list { line-height:1.75; }
.document-section strong { color:var(--text-main); font-weight:700; }
.document-list { padding-left:1.4rem; }
.document-list li + li { margin-top:.35rem; }
.document-layout { display:grid; grid-template-columns:240px minmax(0,950px); gap:1.25rem; align-items:start; justify-content:center; }
.document-sidebar { position:sticky; top:6rem; }
.document-nav-link { display:block; padding:.6rem .7rem; margin:.15rem 0; border-radius:8px; color:var(--text-muted); text-decoration:none; font-size:.86rem; }
.document-nav-link:hover,.document-nav-link.active { background:var(--accent-soft); color:var(--text-main); }
.document-card { margin:0; }
.document-card .hero-title{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.2}.document-card>.lead{max-width:48rem;line-height:1.75}.document-section h2{padding-top:.25rem}.document-section p{max-width:70ch}.document-sidebar{background:var(--card-bg)}
.document-pager { display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--border-color); }
@media (max-width: 800px) { .document-layout { display:block; } .document-sidebar { position:static; margin-bottom:1rem; } .document-nav-link { display:inline-block; margin-right:.25rem; } }

/* Public catalogue: a service desk, not a campaign landing page. */
body::before{display:none!important}
.hero-inner,.card{border-radius:7px;box-shadow:none;background:var(--card-bg);border-color:var(--border-color)}
.hero-inner::before{display:none}.hero-title{background:none;-webkit-text-fill-color:initial;color:var(--text-main);font-weight:650;letter-spacing:-.025em}
.hero-kicker{font-size:.68rem;letter-spacing:.14em;color:var(--accent)}
.btn-primary{background:var(--accent);color:#fff;border-radius:5px}.btn-primary:hover{background:var(--accent-hover);transform:none}
.btn-outline-primary{border-radius:5px}.service-card-title{font-size:1.05rem;font-weight:650}.service-card-desc{color:var(--text-muted)}
.service-card-img{border-radius:5px}.category-pill{border-radius:5px}.custom-select,.custom-select-trigger{border-radius:5px}
.empty-state{border:1px solid var(--border-color);border-radius:7px;box-shadow:none}.empty-state>div:first-child{display:none!important}

/* Theme and reading pass. Keep contrast explicit because templates also use Bootstrap utilities. */
[data-theme="light"] body{background:#f4f6f8;color:#20262d}
[data-theme="light"] .navbar{background:#fff;border-bottom-color:#d8dee5;backdrop-filter:none}
[data-theme="light"] .navbar-brand,[data-theme="light"] .nav-link{color:#26313b!important;-webkit-text-fill-color:initial}
[data-theme="light"] .nav-link:hover,[data-theme="light"] .nav-link.active{background:#edf2f7;color:#1f4f89!important}
[data-theme="light"] .theme-toggle{background:#edf2f7;border:1px solid #d3dce7;color:#25313d}
[data-theme="dark"] .theme-toggle{background:#202a38;border:1px solid #35455b;color:#f1c45b}
.theme-toggle{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;padding:0;font-size:1.55rem;line-height:1}
.theme-toggle:hover{background:var(--accent);color:#fff;transform:none}
[data-theme="light"] .card h1,[data-theme="light"] .card h2,[data-theme="light"] .card h3,[data-theme="light"] .card h4,[data-theme="light"] .card h5,[data-theme="light"] .card h6,[data-theme="light"] .card b,[data-theme="light"] .card strong{color:#20262d!important}
[data-theme="light"] .card,[data-theme="light"] .hero-inner{color:#20262d;background:#fff;border-color:#d8dee5}
[data-theme="light"] .text-muted,[data-theme="light"] .form-help{color:#526170!important}
[data-theme="light"] .form-control,[data-theme="light"] .form-select{color:#20262d;background:#fff;border-color:#c7d0da}
[data-theme="light"] .form-control::placeholder{color:#687786;opacity:1}
[data-theme="light"] .table{color:#20262d}
.card-body{padding:1.35rem 1.5rem}
.card + .card{margin-top:1rem}
.card p{margin-bottom:1rem;line-height:1.7}
.card h2,.card h3,.card h4{margin-bottom:.8rem;line-height:1.3}
.card ul{margin-bottom:0}
.card .vstack.gap-3>li{padding:.25rem 0}
.hero{margin-bottom:2rem}.filter-section{padding:1rem 0}.form-label{margin-bottom:.45rem;font-weight:600}
