        /* Added border-box to prevent padding from expanding heights */
        * {
            box-sizing: border-box;
        }

        :root {
            --primary-blue: #003082;
            --text-dark: #333333;
            --text-light: #666666;
            --border-color: #dcdcdc;
            --bg-white: #ffffff;
            --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
            --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        }

        html {
            -ms-overflow-style: none;
            scrollbar-width: none;

        }

        body {

            margin: 0;
            padding: 0;
            font-family: var(--font-family-sans-serif);
            background: linear-gradient(135deg, #a8cce4 0%, #d8b8db 100%);
            height: 100vh;
            /* Changed from min-height to strict height */
            /* Prevents scrollbars strictly on desktop */
            display: flex;
            flex-direction: column;
            color: var(--text-dark);
            max-height: 150vh;

            /* Background Configuration */
            background-image: url('icons/bg.jpg');
            /* Change to your filename */
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            /* This makes the background stay still while you scroll */

        }

        .sidebar-open{
            width: 73vw;
        }


        .top-bar {
            background-color: #004277;
            min-height: 34px;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding: 0 22px;
        }

        .top-bar a {
            color: white;
            text-decoration: none;
            margin-left: 15px;
            font-size: 13px;

        }

        header {
            background-color: white;
            /* padding: 8px 40px; Reduced padding */
            padding: 8px;
            margin: 0;
            text-align: left;
            justify-items: center;
        }

        .logo {
            width: 194px;
            /* Adjust as needed */
            height: auto;
            margin: 8px 175px;
            /* Reduced margin */
        }


        .container {
            max-width: 78%;
            margin: 15px auto;
            /* Significantly reduced margin */
            padding: 0 20px;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            /* Centers the cards vertically */
        }

        .container-full {
            max-width: 99%;
        }

        .card {
            background-color: var(--bg-white);
            padding: 16px;
            /* Reduced padding */
            margin-bottom: 15px;
            /* Reduced margin */
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
        }

        .welcome-title {
            font-size: 15px;
            font-weight: 700;
            color: var(--text-light);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-top: 0;
            margin-bottom: 1px;
            /* Reduced */
        }

        .welcome-text {
            font-size: 17px;
            /* Slightly smaller text */
            color: var(--text-dark);
            line-height: 1.4;
            margin: 0;
            font-weight: 500;
        }

        .score-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            padding: 5px 0;
            /* Reduced padding */
        }


        .candidate-info h2 {
            font-size: 19px;
            color: var(--primary-blue);
            margin: 0px;
            /* Reduced */
            font-weight: 700;
            line-height: 1;
        }

        .candidate-info h3 {
            font-size: 60px;
            /* Slightly smaller */
            color: var(--primary-blue);
            margin: -5px 0px;
            /* Reduced */
            font-weight: 700;
        }

        .candidate-info p {
            margin: 15px 0px 0px 0px;
            font-size: 16px;
            color: var(--text-light);
            font-weight: 500;
        }

        .action-buttons {
            display: flex;
            flex-direction: column;
            gap: 18px;
            /* Reduced gap */
            justify-content: space-evenly;
            /* height: 100%; */
        }

        .btn {
            padding: 10px 20px;
            /* Reduced padding */
            border-radius: 30px;
            font-size: 16px;
            font-weight: 600;
            text-transform: uppercase;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 5px;
        }

        .btn-primary {
            background-color: var(--primary-blue);
            color: white;
            border: 2px solid var(--primary-blue);
        }

        .btn-primary:hover {
            background-color: rgb(18, 18, 255);
            border: 2px solid rgb(18, 18, 255);
        }

        .btn-secondary {
            background-color: transparent;
            color: var(--primary-blue);
            border: 1px solid var(--primary-blue);
        }

        .btn-secondary:hover {
            color: white;
            background-color: var(--primary-blue);
        }

        .btn-secondary:hover img {
            filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%);
        }

        .details-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            /* Reduced gap */
        }

        .left-column {
            display: flex;
            flex-direction: column;
            /* Reduced gap */
            /* padding-right: 28px; */
            justify-content: space-evenly;
            color: var(--primary-blue);
            padding: 0px 10px;
        }

        .info-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-bottom: 1px solid var(--primary-blue);
            padding: 29px 2px;
            /* Reduced */
            font-size: 20px;

        }

        .info-row:last-child {
            border-bottom: none;
        }

        .info-label {
            color: var(--primary-blue);
            /* font-size: 13px; */
            font-weight: 500;
        }

        .info-value {
            color: var(--text-dark);
            text-align: right;
            font-weight: 600;
            /* font-size: 12px; */

        }

        .right-column {
            display: flex;
            flex-direction: column;
            justify-content: space-evenly;
        }

        .score-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 9px 0;
            /* Significantly reduced */
            border-bottom: 1px solid var(--primary-blue);
            font-size: 22px;
        }

        .score-row:last-child {
            border-bottom: none;
        }

        .score-row.total {
            font-weight: 700;
            color: var(--primary-blue);
            /* border-top: 2px solid var(--primary-blue); */
            /* border-bottom: 2px solid var(--primary-blue); */
            margin: 3px 0;
        }

        .score-label {
            display: flex;
            align-items: center;
            gap: 5px;
            color: var(--primary-blue);
            font-weight: 600;
        }

        .score-label img {
            width: 20px;
            height: 20px;
        }

        .score-value {
            font-weight: 700;
            font-size: 22px;
            color: var(--primary-blue);
        }

        .score-max {
            color: var(--primary-blue);
            font-weight: 400;
            font-size: 22px;
        }

        .disclaimer-text {
            font-size: 17px;
            color: var(--text-light);
            line-height: 1.4;
            /* Tighter line height */
            margin: 0;
            font-weight: 500;
        }

        .disclaimer-text a {
            color: #00a0d2;
            text-decoration: none;
        }

        .page-footer {
            background-color: rgba(255, 255, 255, 0.9);
            text-align: center;
            padding: 8px 15px;
            /* Reduced padding */
            font-size: 10px;
            color: var(--text-light);
            margin-top: auto;
            font-size: 15px;
            font-weight: 500;
            padding-bottom: 20px;
        }

        .page-footer a {
            color: #00a0d2;
            text-decoration: none;
        }

        /* Responsive Design - allows scrolling on small devices where it's necessary */
        @media (max-width: 768px) {
            body {
                overflow: auto;
                /* Re-enable scrolling on mobile */
                height: auto;
            }

            .score-header {
                flex-direction: column;
                gap: 15px;
            }

            .details-grid {
                grid-template-columns: 1fr;
                gap: 0;
            }

            .left-column {
                padding-right: 0;
                border-right: none;
                margin-bottom: 15px;
            }

            header h1 {
                width: 100%;

                .logo {
                    width: 140px;
                    /* Adjust as needed */
                    height: auto;
                    margin: 5px 10px;
                    /* Reduced margin */
                }

            }
        }



        .open-btn {
            margin: 40px;
            padding: 10px 20px;
            background: #1a5aa6;
            color: white;
            border: none;
            cursor: pointer;
        }

        /* Sidebar */

        .sidebar {
            position: fixed;
            top: 0;
            right: -425px;
            width: 425px;
            height: 100%;
            background: white;
            /* box-shadow: -3px 0 10px rgba(0, 0, 0, 0.2); */
            /* transition: 0.3s; */
            display: flex;
            flex-direction: column;
        }

        .sidebar.active {
            right: 0;
        }

        .sidebar-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 10px;
            font-weight: 500;
            color: #1a5aa6;
            font-size: 16px;
        }

        .close-btn {
            border: none;
            background: none;
            font-size: 30px;
            cursor: pointer;
            color: #1a5aa6;
            padding: 2px 16px;
        }
        
        .close-btn:hover {
            color: #3286ee;
        }


        .item {
            display: flex;
            gap: 8px;
            padding: 8px 12px;
            align-items: center;
            border-bottom: 1px solid #dcdcdc;
            line-height: 1.2;
        }

        .item:first-child {
            border: none;
        }

        .icon {
            font-size: 5px;
            color: #1a5aa6;
        }

        .icon_img {
            width: 50px;
            height: 50px;
        }

        .head_icon_img {
            width: 40px;
            height: 40px;
            margin: 0px 5px;
        }

        .label {
            font-size: 17px;
            font-weight: 600;
            color: #666;
        }

        
        .value {
            font-size: 18px;
            color: #1a5aa6;
            font-weight: 500;
        }

        .value-first {
            font-size: 20px;
            font-weight: 600;
            line-height: 1;
        }

        .about {
            margin-top: 40px;
            color: #1a5aa6;
            cursor: pointer;
        }

        .footer {
            margin-top: 0px;
            font-size: 18px;
            color: #555;
        }

        .about {
            display: flex;
            align-items: center;
            justify-content: center;
        }

        #about_btn {
            padding: 8px 16px;
            font-size: 17px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            background-color: transparent;
            color: #033283;
            transition: all 0.3s ease;
            border: none;
        }

        #about_btn:hover {
            box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1);
            border-radius: 20px;
            border: 2px solid var(--primary-blue);

        }

        .endblock {
            margin: 50px 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-direction: column;
        }

        #footer_img_1 {
            width: 100px;
            height: 100px;
        }

        #footer_img_2 {
            width: 60px;
            height: 60px;
        }

        .dull {
            color: var(--text-light);
        }