@page {
    size: A4 landscape;
    margin: 0;
}

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

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    color: #111827;
    background: #ffffff;
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 100vh;
}

.export-toolbar {
    padding: 8px 10px;
    border-bottom: 1px solid #e5e7eb;
    background: #ffffff;
}

button {
    background: #f99d1c;
    color: #ffffff;
    border: 0;
    padding: 8px 12px;
    border-radius: 3px;
    font-weight: 700;
    cursor: pointer;
}

.export-page {
    flex: 0 0 auto;
    align-self: center;
    width: 297mm;
    height: 210mm;
    min-height: 0;
    padding: 4mm;
    box-sizing: border-box;
    margin: 0 auto;
}

.export-main {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    overflow: hidden;
}

.map-panel {
    display: flex;
    width: 100%;
    flex: 1 1 auto;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    padding: 0;
}

.map-canvas {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 1px;
    background: #ffffff;
    border: 1px solid #d1d5db;
    border-radius: 2px;
    overflow: hidden;
}

.map-frame {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
    background: #ffffff;
}

.map-base {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.map-base svg {
    display: block;
    width: 100% !important;
    height: 100% !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.map-base--media {
    z-index: 1;
    pointer-events: none;
}

.map-base-media {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #ffffff;
}

.map-base-media--image {
    object-fit: fill;
}

.map-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.map-overlay svg {
    display: block;
    width: 100% !important;
    height: 100% !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.export-date-label {
    fill: #000000;
    font-size: 26px;
    font-weight: 400;
}

.export-action-row {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.export-action-name {
    fill: #0f172a;
    font-size: 9.4px;
    font-weight: 400;
    letter-spacing: 0.01em;
}

.export-action-total-pill {
    fill: rgba(255, 255, 255, 0.7);
    stroke: rgba(15, 23, 42, 0.2);
    stroke-width: 0.75;
}

.export-action-total {
    fill: #111827;
    font-size: 11px;
    font-weight: 800;
}

.object-occupancy-pill {
    fill: rgba(255, 255, 255, 0.9);
    stroke: #1f2937;
    stroke-width: 0.45;
}

.object-unit-label {
    fill: #111827;
    font-size: 10px;
    font-weight: 700;
}

.object-occupancy-label {
    fill: #111827;
    font-size: 6.4px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.muted {
    margin: 0;
    color: #6b7280;
    font-size: 11px;
}

@media print {
    html,
    body {
        width: 297mm;
        height: 210mm;
        overflow: hidden;
    }

    .no-print {
        display: none !important;
    }

    .export-page {
        align-self: stretch;
        width: 297mm;
        height: 210mm;
        padding: 4mm;
        box-sizing: border-box;
        margin: 0;
    }

    .export-main {
        width: 100%;
        padding: 0;
        height: 100%;
    }

    .map-panel {
        height: 100%;
    }

}
