body{
    font-family:Inter,sans-serif;
    background:#f4f7fb;
    margin:0;
    padding:40px;
    color:#111827;
}

.hero{
    margin-bottom:20px;
}

.hero-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background: linear-gradient(90deg,#eef2ff 0%, #ffffff 100%);
    padding:24px;
    border-radius:18px;
}

.hero-left h1{
    margin:0 0 6px 0;
    font-size:2.2rem;
}

.subtitle{
    margin:0;
    color:#6b7280;
}

.hero-right{
    display:flex;
    gap:12px;
    align-items:center;
}

.btn{
    display:inline-block;
    padding:10px 14px;
    border-radius:12px;
    cursor:pointer;
    border:none;
    background:linear-gradient(180deg,#2563eb,#1e40af);
    color:#fff;
    text-decoration:none;
    font-weight:600;
}

.btn-upload{
    box-shadow:0 6px 18px rgba(37,99,235,0.18);
}

.download-link{
    color:#2563eb;
    text-decoration:underline;
    font-weight:600;
}

.search-input{
    padding:10px 12px;
    border-radius:10px;
    border:1px solid #e5e7eb;
    min-width:220px;
}

.search-input:focus{
    outline:none;
    box-shadow:0 6px 18px rgba(37,99,235,0.12);
    border-color:#2563eb;
}

.download-instructions{
    margin-top:18px;
    color:#374151;
    background:#ffffff;
    padding:12px 16px;
    border-radius:12px;
    box-shadow:0 6px 18px rgba(15,23,42,0.04);
}
.visually-hidden{
    position: absolute !important;
    height: 1px; width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}

h1{
    font-size:2.4rem;
    margin-bottom:20px;
}

.card{
    background:white;
    padding:20px;
    border-radius:16px;
    box-shadow:
      0 4px 20px rgba(
        0,0,0,.08
      );
}

.metric-card h3{
    color:#6b7280;
    font-size:.8rem;
    margin-bottom:10px;
}

.metric-card span{
    font-size:1.3rem;
    font-weight:700;
}

.summary-grid{
    display:grid;

    grid-template-columns:
      repeat(
        auto-fit,
        minmax(220px,1fr)
      );

    gap:16px;

    margin-bottom:30px;
}

input{
    padding:12px;
    border-radius:10px;
    border:1px solid #ddd;
}

button{

    background:#2563eb;

    color:white;

    border:none;

    padding:12px 20px;

    border-radius:10px;

    cursor:pointer;
}

button:hover{
    background:#1d4ed8;
}

canvas{

    margin-top:20px;

    background:white;

    padding:15px;

    border-radius:16px;

    box-shadow:
      0 4px 20px rgba(
        0,0,0,.08
      );
}

table{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;

    background:white;

    border-radius:16px;

    overflow:hidden;
}

th{

    background:#2563eb;

    color:white;

    padding:14px;
}

td{

    padding:12px;

    border-bottom:
      1px solid #eee;
}

tr:hover{
    background:#f8fafc;
}
