/* Identvia premium layer on top of Tailwind utilities */
:root{--ink:#0A0F1E;--accent:#4F46E5}
html{scroll-behavior:smooth}
body{text-rendering:optimizeLegibility}
::selection{background:#4F46E5;color:#fff}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,23,42,.07)}
.logo-mark{display:inline-flex;border-radius:10px;overflow:hidden;flex:none;box-shadow:0 4px 14px rgba(79,70,229,.35)}
.logo-mark svg{width:100%;height:100%}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--ink);color:#fff;font-weight:600;font-size:14px;padding:.62rem 1.15rem;border-radius:10px;transition:.18s;box-shadow:0 6px 18px rgba(10,15,30,.18)}
.btn-primary:hover{background:#1B2440;transform:translateY(-1px)}
.btn-accent{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#4F46E5,#06B6D4);color:#fff;font-weight:600;font-size:15px;padding:.8rem 1.5rem;border-radius:12px;transition:.18s;box-shadow:0 10px 26px rgba(79,70,229,.35)}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(79,70,229,.42)}
.btn-ghost{display:inline-flex;align-items:center;font-weight:600;font-size:14px;padding:.62rem 1rem;border-radius:10px;color:var(--ink);border:1px solid rgba(15,23,42,.12);background:#fff;transition:.18s}
.btn-ghost:hover{border-color:rgba(15,23,42,.28)}
.btn-danger{display:inline-flex;font-weight:600;font-size:13px;padding:.5rem .9rem;border-radius:9px;color:#B91C1C;border:1px solid #FECACA;background:#FFF7F7}
.btn-danger:hover{background:#FEF2F2}
.card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;box-shadow:0 8px 30px rgba(10,15,30,.06)}
.card-pad{padding:1.6rem}
.input{width:100%;border:1px solid #D8DEE9;border-radius:11px;padding:.68rem .9rem;font-size:14.5px;background:#fff;transition:.15s}
.input:focus{outline:none;border-color:#4F46E5;box-shadow:0 0 0 4px rgba(79,70,229,.14)}
.label{display:block;font-size:13px;font-weight:600;margin-bottom:.4rem;color:#1E293B}
.hint{font-size:12.5px;color:#64748B;margin-top:.35rem;line-height:1.5}
.badge{display:inline-block;font-size:11.5px;font-weight:600;background:#EEF2FF;color:#4338CA;border:1px solid #E0E7FF;border-radius:999px;padding:.14rem .55rem;font-family:"JetBrains Mono",monospace}
.alert-ok{background:#ECFDF5;border:1px solid #A7F3D0;color:#065F46;border-radius:12px;padding:.8rem 1rem;font-size:14px;margin-bottom:1rem}
.alert-err{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;border-radius:12px;padding:.8rem 1rem;font-size:14px;margin-bottom:1rem}
.dash-nav{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:.55rem;box-shadow:0 8px 30px rgba(10,15,30,.05)}
.dash-link{display:block;padding:.58rem .8rem;border-radius:10px;font-size:14px;font-weight:500;color:#475569}
.dash-link:hover{background:#F1F5F9;color:var(--ink)}
.dash-link.active{background:var(--ink);color:#fff}
.foot-h{font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#0A0F1E;margin-bottom:.7rem}
footer a{display:block;color:#64748B;margin:.42rem 0}
footer a:hover{color:var(--ink)}
.hero-grid{background-image:linear-gradient(rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 55%,transparent 100%)}
.codeblock{background:#0A0F1E;color:#DDE3F0;border-radius:16px;padding:1.25rem 1.35rem;font-family:"JetBrains Mono",monospace;font-size:12.8px;line-height:1.75;overflow-x:auto;box-shadow:0 20px 50px rgba(10,15,30,.25)}
.codeblock .k{color:#7DD3FC}.codeblock .s{color:#A5F3C0}.codeblock .c{color:#64748B}
.table{width:100%;font-size:14px}
.table th{text-align:left;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#64748B;padding:.6rem .75rem;border-bottom:1px solid #E2E8F0}
.table td{padding:.75rem;border-bottom:1px solid #F1F5F9;vertical-align:top}
.stat-num{font-size:30px;font-weight:800;letter-spacing:-.02em}
.eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#4F46E5;background:#EEF2FF;border:1px solid #E0E7FF;border-radius:999px;padding:.32rem .8rem}
