*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

body{
    background:#f8fafc;
    color:#1e293b;
    font-family:'Inter',sans-serif;
    font-weight:400;
    font-size:0.95rem;
    line-height:1.6;
}

#site-header{
    background:#ffffff;
    border-bottom:1px solid #e2e8f0;
    padding:1rem 2rem;
}
.header-inner{
    max-width:1100px;
    margin:0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.logo{
    font-weight:700;
    font-size:1.2rem;
    color:#1e3a5f;
}
.pro-badge{
    background:#1e40af;
    color:#ffffff;
    font-size:0.6rem;
    padding:0.15rem 0.4rem;
    border-radius:3px;
    margin-left:0.3rem;
    vertical-align:super;
}
.header-nav{display:flex;gap:1.5rem}
.header-nav a{
    font-size:0.85rem;
    color:#64748b;
    text-decoration:none;
}
.header-nav a:hover{color:#1e40af}

#hero{
    background:#1e3a5f;
    color:#ffffff;
    padding:4rem 2rem;
    text-align:center;
}
.hero-inner{max-width:700px;margin:0 auto}
.hero-headline{
    font-weight:700;
    font-size:clamp(1.8rem,4vw,2.8rem);
    line-height:1.2;
    margin-bottom:1rem;
}
.hero-desc{
    font-size:1rem;
    opacity:0.85;
    margin-bottom:2rem;
}
.trust-indicators{
    display:flex;
    justify-content:center;
    gap:2rem;
    flex-wrap:wrap;
}
.trust-item{
    font-family:'IBM Plex Mono',monospace;
    font-size:0.8rem;
    color:#d97706;
}

#dashboard,#compliance,#analytics{
    max-width:1100px;
    margin:0 auto;
    padding:3rem 2rem;
}
.section-title{
    font-weight:700;
    font-size:1.5rem;
    color:#1e3a5f;
    margin-bottom:2rem;
    border-bottom:2px solid #1e40af;
    padding-bottom:0.5rem;
    display:inline-block;
}
.dashboard-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1rem;
}
.stat-card{
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-top:3px solid #1e40af;
    border-radius:4px;
    padding:1.5rem;
    text-align:center;
}
.stat-value{
    display:block;
    font-family:'IBM Plex Mono',monospace;
    font-weight:500;
    font-size:2rem;
    color:#1e40af;
    font-variant-numeric:tabular-nums;
}
.stat-label{
    display:block;
    font-size:0.8rem;
    color:#64748b;
    margin:0.5rem 0;
}
.stat-change{
    font-family:'IBM Plex Mono',monospace;
    font-size:0.75rem;
}
.stat-change.up{color:#059669}
.stat-change.down{color:#dc2626}

.compliance-table{
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:4px;
    overflow:hidden;
}
.table-header,.table-row{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    padding:0.75rem 1.5rem;
}
.table-header{
    background:#1e3a5f;
    color:#ffffff;
    font-weight:600;
    font-size:0.85rem;
}
.table-row{
    border-bottom:1px solid #e2e8f0;
    font-family:'IBM Plex Mono',monospace;
    font-size:0.85rem;
}
.status-ok{color:#059669;font-weight:500}
.status-warn{color:#d97706;font-weight:500}
.status-err{color:#dc2626;font-weight:500}

.analytics-summary{
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-left:4px solid #1e40af;
    padding:2rem;
    border-radius:4px;
}
.analytics-summary p{font-size:1rem;line-height:1.7}

#site-footer{
    text-align:center;
    padding:2rem;
    border-top:1px solid #e2e8f0;
    margin-top:2rem;
}
.footer-brand{font-weight:700;color:#1e3a5f}
.footer-tagline{font-size:0.8rem;color:#64748b;margin-top:0.25rem}

@media(max-width:768px){
    .dashboard-grid{grid-template-columns:repeat(2,1fr)}
    .table-header,.table-row{grid-template-columns:1fr 1fr;gap:0.5rem}
}
