/* KCN1 CERT — integral portal (light-first) */
:root{
  --kcn-navy:#050A30;
  --kcn-red:#FF0000;
  --bg:#F6F7FB;
  --surface:#FFFFFF;
  --text:#0B1020;
  --muted:#4B5565;
  --border:#D0D6E2;
  --radius:12px;
  --shadow: 0 10px 22px rgba(0,0,0,.10);
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
:root[data-theme="dark"]{
  --bg:#0B1020;
  --surface:#111A33;
  --text:#E6E8EF;
  --muted:#9AA3B2;
  --border:#24304A;
  --shadow: 0 12px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:
    radial-gradient(1000px 600px at 20% -10%, rgba(255,0,0,.10), transparent 60%),
    radial-gradient(900px 700px at 90% 0%, rgba(5,10,48,.10), transparent 60%),
    var(--bg);
}
a{color:inherit}
a:hover{color:var(--kcn-red)}
code,.mono{font-family:var(--mono)}
.container{max-width:1200px;margin:0 auto;padding:0 16px;}
.main{padding:22px 0 42px;}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;z-index:9999;}
.topbar{position:sticky;top:0;z-index:50;backdrop-filter: blur(10px);background: rgba(246,247,251,.88);border-bottom: 1px solid rgba(208,214,226,.9);}
:root[data-theme="dark"] .topbar{background: rgba(11,16,32,.65);border-bottom: 1px solid rgba(36,48,74,.7);}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:260px;}
.brand__logo{width:54px;height:auto;display:block;}
.brand__title{font-weight:900;letter-spacing:.2px}
.brand__subtitle{font-size:12px;color:var(--muted);margin-top:2px}
.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;}
.nav__link{text-decoration:none;color:var(--muted);padding:8px 10px;border-radius:10px;border:1px solid transparent;transition:all .12s ease;}
.nav__link:hover{color:var(--text);border-color:rgba(255,0,0,.35);background:rgba(255,0,0,.06)}
.nav__link.is-active{color:var(--text);border-color:rgba(255,0,0,.55);background:rgba(255,0,0,.10)}
.topbar__actions{display:flex;align-items:center;gap:10px;}
.search{display:flex;align-items:center;gap:8px;padding:6px;border-radius: var(--radius);border:1px solid rgba(208,214,226,.95);background: #fff;}
:root[data-theme="dark"] .search{border-color: rgba(36,48,74,.8);background: rgba(17,26,51,.55);}
.search__input{width: 320px;max-width: 42vw;border:0;outline:none;background:transparent;color:var(--text);font-size:14px;}
.search__input::placeholder{color:rgba(75,85,101,.7)}
:root[data-theme="dark"] .search__input::placeholder{color:rgba(154,163,178,.75)}
.search__btn{border:1px solid rgba(255,0,0,.55);background: rgba(255,0,0,.10);color: var(--text);padding:8px 10px;border-radius: 10px;cursor:pointer;}
.search__btn:hover{background: rgba(255,0,0,.18);}
.btn{border:1px solid rgba(208,214,226,.95);background: #fff;color:var(--text);padding:10px 12px;border-radius: 12px;cursor:pointer;}
:root[data-theme="dark"] .btn{border-color: rgba(36,48,74,.9);background: rgba(17,26,51,.55);}
.btn:hover{ border-color: rgba(255,0,0,.45); }
.btn--ghost{ background: transparent; }
@media (max-width: 980px){.nav{display:none;}.search__input{width: 42vw;}}
.card{background: var(--surface);border:1px solid rgba(208,214,226,.95);border-radius: var(--radius);box-shadow: var(--shadow);padding: 16px;}
:root[data-theme="dark"] .card{background: linear-gradient(180deg, rgba(17,26,51,.92), rgba(15,23,48,.85));border: 1px solid rgba(36,48,74,.85);}
.grid{display:grid;grid-template-columns: repeat(12, 1fr);gap:14px;}
.col-12{grid-column: span 12;}
.col-8{grid-column: span 8;}
.col-6{grid-column: span 6;}
.col-4{grid-column: span 4;}
.col-3{grid-column: span 3;}
@media (max-width: 980px){.col-8,.col-6,.col-4,.col-3{grid-column: span 12;}}
.h1{font-size:24px;font-weight:900;margin:0 0 6px;}
.h2{font-size:16px;font-weight:900;margin:0 0 6px;}
.p{color:var(--muted);margin:0;line-height:1.65;}
.small{font-size:12px;color:var(--muted);}
hr.sep{border:0;border-top:1px solid rgba(208,214,226,.9);margin:16px 0;}
:root[data-theme="dark"] hr.sep{border-top:1px solid rgba(36,48,74,.7);}
.kpi{display:flex;flex-direction:column;gap:6px;padding: 12px;border-radius: var(--radius);border:1px solid rgba(208,214,226,.95);background: rgba(246,247,251,.7);}
:root[data-theme="dark"] .kpi{border:1px solid rgba(36,48,74,.7);background: rgba(17,26,51,.40);}
.kpi__label{color:var(--muted);font-size:12px;}
.kpi__value{font-size:22px;font-weight:900;}
.kpi__hint{color:var(--muted);font-size:12px;}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;font-size:12px;border-radius:999px;border:1px solid rgba(208,214,226,.95);color: var(--muted);background: #fff;}
:root[data-theme="dark"] .badge{border: 1px solid rgba(36,48,74,.9);background: rgba(17,26,51,.40);}
.badge--red{ border-color: rgba(255,0,0,.55); color: var(--text); background: rgba(255,0,0,.08); }
.badge--warn{ border-color: rgba(241,196,15,.55); color: var(--text); background: rgba(241,196,15,.10); }
.badge--ok{ border-color: rgba(46,213,115,.55); color: var(--text); background: rgba(46,213,115,.08); }
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.input{border:1px solid rgba(208,214,226,.95);background:#fff;color:var(--text);border-radius:12px;padding:10px 12px;outline:none;}
:root[data-theme="dark"] .input{border:1px solid rgba(36,48,74,.85);background: rgba(17,26,51,.45);}
.select{min-width:220px;}
.table-wrap{overflow:auto;border-radius:12px;border:1px solid rgba(208,214,226,.95);}
:root[data-theme="dark"] .table-wrap{border:1px solid rgba(36,48,74,.85);}
table{border-collapse:collapse;width:100%;min-width: 980px;background:#fff;}
:root[data-theme="dark"] table{background: rgba(17,26,51,.25);}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(208,214,226,.9);vertical-align:top;}
:root[data-theme="dark"] th,:root[data-theme="dark"] td{border-bottom:1px solid rgba(36,48,74,.7);}
th{position:sticky;top:0;z-index:1;background:#F4F6FA;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
:root[data-theme="dark"] th{background: rgba(17,26,51,.92);}
tr:hover td{background: rgba(255,0,0,.04);cursor:pointer;}
.pill{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid rgba(208,214,226,.95);font-size:12px;color:var(--muted);margin: 2px 6px 2px 0;background:#fff;}
:root[data-theme="dark"] .pill{border:1px solid rgba(36,48,74,.9);background: rgba(17,26,51,.20);}
.link{color:var(--text);text-decoration:none;border-bottom:1px dashed rgba(255,0,0,.40);}
.link:hover{color:var(--kcn-red);border-bottom-style:solid;}
.notice{border-left:4px solid rgba(255,0,0,.55);padding:10px 12px;background: rgba(255,0,0,.05);border-radius:12px;color:var(--muted);}
.modal{position:fixed;inset:0;display:none;place-items:center;z-index:999;background: rgba(0,0,0,.55);padding:18px;}
.modal__panel{width:min(980px, 100%);max-height:min(88vh, 900px);overflow:auto;background: var(--surface);border:1px solid rgba(208,214,226,.95);border-radius: 16px;box-shadow: var(--shadow);}
:root[data-theme="dark"] .modal__panel{border:1px solid rgba(36,48,74,.85);}
.modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px;border-bottom:1px solid rgba(208,214,226,.9);}
:root[data-theme="dark"] .modal__header{border-bottom:1px solid rgba(36,48,74,.6);}
.modal__body{padding:14px;}
.footer{border-top:1px solid rgba(208,214,226,.9);padding:20px 0;background:#fff;}
:root[data-theme="dark"] .footer{border-top: 1px solid rgba(36,48,74,.75);background: rgba(11,16,32,.50);}
.footer__inner{display:grid;grid-template-columns: 1.4fr 1fr .9fr;gap:14px;align-items:start;}
@media (max-width: 980px){.footer__inner{grid-template-columns:1fr;}}
.footer__brand{font-weight:900;}
.footer__meta{color:var(--muted);font-size:12px;margin-top:6px;line-height:1.55;}
.footer__cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.footer__coltitle{font-weight:900;margin-bottom:6px;}
.footer__link{display:block;text-decoration:none;color:var(--muted);padding:4px 0;}
.footer__link:hover{color:var(--text);}
.footer__right{display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.footer__badge{font-size:12px;color:var(--muted);border:1px solid rgba(208,214,226,.95);border-radius:999px;padding:6px 10px;background:#fff;}
:root[data-theme="dark"] .footer__badge{border:1px solid rgba(36,48,74,.85);background: rgba(17,26,51,.40);}
.toast{position:fixed;bottom:18px;right:18px;background: var(--surface);border:1px solid rgba(208,214,226,.95);border-radius: 14px;padding: 12px 14px;box-shadow: var(--shadow);max-width: 460px;z-index: 2000;}
:root[data-theme="dark"] .toast{border:1px solid rgba(36,48,74,.85);}
.toast__title{font-weight:900;}
.toast__msg{color:var(--muted);margin-top:6px;line-height:1.5;}
.two-col{display:grid;grid-template-columns: 1.05fr .95fr;gap:14px;}
@media (max-width: 980px){.two-col{grid-template-columns:1fr;}}
.ul{margin:8px 0 0;padding-left:18px;color:var(--muted);line-height:1.7;}
.hero{background: linear-gradient(135deg, rgba(5,10,48,.08), rgba(255,0,0,.04));border: 1px solid rgba(208,214,226,.95);border-radius: var(--radius);box-shadow: var(--shadow);padding: 18px;}
:root[data-theme="dark"] .hero{background: linear-gradient(135deg, rgba(5,10,48,.55), rgba(255,0,0,.08));border: 1px solid rgba(36,48,74,.85);}
.hero__title{font-size:28px;font-weight:900;margin:0 0 8px;}
.hero__sub{color:var(--muted);margin:0;line-height:1.6;}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
