body {

    margin: 0;

    background: #edf2f7;

    font-family: Poppins, sans-serif;

}

.viewer {

    display: flex;

    flex-direction: column;

    height: 100vh;

}

.toolbar {

    height: 70px;

    background: #061923;

    color: white;

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 30px;

}

.canvas-wrapper {

    flex: 1;

    overflow: auto;

    display: flex;

    justify-content: center;

    align-items: flex-start;

    padding: 30px;

}

canvas {

    background: white;

    box-shadow: 0 10px 40px rgba(0, 0, 0, .18);

}

.bottom-bar {

    background: #fff;

    height: 70px;

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 25px;

    border-top: 1px solid #ddd;

    flex-wrap: wrap;

}

.nav-btn {

    border: none;

    background: #061923;

    color: #fff;

    padding: 10px 20px;

    border-radius: 8px;

    cursor: pointer;

    transition: .3s;

}

.nav-btn:hover {

    background: #f4b400;

}

.zoom-controls {

    display: flex;

    align-items: center;

    gap: 12px;

}

.zoom-btn {

    width: 40px;

    height: 40px;

    border-radius: 50%;

    border: none;

    background: #f4b400;

    color: #fff;

    font-size: 22px;

    cursor: pointer;

}

#pageInfo {

    font-weight: 600;

    min-width: 140px;

    text-align: center;

}

#zoomLevel {

    font-weight: 700;

}

#loader {

    position: fixed;

    inset: 0;

    background: rgba(255, 255, 255, .85);

    display: none;

    justify-content: center;

    align-items: center;

    flex-direction: column;

    z-index: 9999;

}

.loader-spinner {

    width: 60px;

    height: 60px;

    border-radius: 50%;

    border: 5px solid #ddd;

    border-top: 5px solid #f4b400;

    animation: spin 1s linear infinite;

}

@keyframes spin {

    to {

        transform: rotate(360deg);

    }

}

.toolbar {

    display: flex;

    justify-content: space-between;

    align-items: center;

    background: #071b2b;

    color: white;

    padding: 15px 30px;

}

.toolbar-left {

    display: flex;

    align-items: center;

    gap: 20px;

}

.toolbar-right {

    display: flex;

    gap: 15px;

}

.toolbar-btn {

    background: #f4b400;

    color: white;

    padding: 10px 18px;

    border-radius: 8px;

    text-decoration: none;

    border: none;

    cursor: pointer;

}

#pageInput {

    width: 65px;

    text-align: center;

}