/* ================================
   REPORT WRAPPER (screen)
   ================================ */
.report-wrapper {
    font-family: "Segoe UI", Arial, sans-serif;
    color: #333;
}

/* ================================
   A4 PAGE SIMULATION (screen)
   ================================ */
.report-page {
    width: 100%;
    max-width: 794px;
    min-height: 1123px;
    margin: 0 auto 28px auto;
    padding: 36px 48px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(0,0,0,0.14);
    border: 1px solid #e0e0e0;
    border-radius: 2px;
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* ================================
   REPORT HEADER
   ================================ */
.report-header {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 2px solid #1a73e8;
    padding-bottom: 12px;
    margin-bottom: 18px;
}

.report-header img {
    height: 48px;
    width: auto;
}

.report-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1a3a5c;
    margin: 0;
}

.report-header-small {
    border-bottom: 1px solid #ddd;
    padding-bottom: 8px;
    margin-bottom: 14px;
}

.report-header-small img {
    height: 32px;
    width: auto;
}

/* ================================
   TYPOGRAPHY
   ================================ */
.report-page h2 {
    font-size: 1rem;
    font-weight: 700;
    color: #1a3a5c;
    margin: 18px 0 6px;
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 3px;
}

.report-page h3 {
    font-size: 0.9rem;
    font-weight: 600;
    margin: 12px 0 4px;
}

.report-page p, .report-page li {
    font-size: 0.85rem;
    line-height: 1.55;
}

/* ================================
   REPORT FOOTER (per page)
   ================================ */
.report-footer {
    display: flex;
    justify-content: space-between;
    font-size: 0.72rem;
    color: #888;
    border-top: 1px solid #e0e0e0;
    padding-top: 8px;
    margin-top: auto;
}

.footer-gap { margin-top: 16px; }

/* ================================
   MAP IMAGE
   ================================ */
.map-container {
    position: relative;
    display: inline-block;
}

.map-image {
    max-width: 100%;
    max-height: 340px;
    border: 1px solid #ddd;
    border-radius: 4px;
    display: block;
}


/* ================================
   COVERAGE TABLE
   ================================ */
.report-page table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
    margin-top: 8px;
}

.report-page table td {
    padding: 4px 8px;
    border-bottom: 1px solid #f0f0f0;
}


/* ================================
   MOBILE
   ================================ */
@media (max-width: 820px) {
    .report-page {
        padding: 18px 16px;
        min-height: unset;
        box-shadow: none;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }
}
