    body {
        font-family: Arial;
        /* background: #f5f5f5; */
    }



    h1 {
        color: #054164;
        padding: 15px;
        border-radius: 4px;
    }

    h2 {
        color: #054164;
        font-weight: 500 !important;
    }

    .table-style {
        width: 100%;
        border-collapse: collapse;
        background: white;
        font-size: 14px;
        border-collapse: separate;
        border-spacing: 0;
        border: none;
    }

    .grades {
        table-layout: fixed;
    }


    .table-style.grades th:nth-child(1),
    .table-style.grades td:nth-child(1) {
        width: 35%;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .table-style.grades th:nth-child(2),
    .table-style.grades td:nth-child(2) {
        width: 15%;
    }

    .table-style.grades th:nth-child(3),
    .table-style.grades td:nth-child(3),
    .table-style.grades th:nth-child(4),
    .table-style.grades td:nth-child(4) {
        width: 14%;
    }

    .table-style.grades th:nth-child(5),
    .table-style.grades td:nth-child(5) {
        width: 22%;
    }



    .table-style th,
    .table-style td {
        border-left: none;
        border-right: none;
        padding: 6px;
    }

    .table-style td {
        border-bottom: 1px solid #e2e4e9;
        padding: .9rem .9rem;

    }

    .table-style tr:last-child td {
        border-bottom: none;
    }

    .table-style th {
        background: #f6f7f9;
        color: #6b6c7e;

        font-weight: 700;
        font-size: 15px;

        padding: .9rem .9rem;
        border-bottom: 1px solid #e5e7eb;
        border-top: none;
    }

    /* colțuri doar sus */
    .table-style th:first-child {
        border-top-left-radius: .65rem;
    }

    .table-style th:last-child {
        border-top-right-radius: .65rem;
    }

    .sem-title {
        padding: 10px 0 10px 1%;
        font-weight: bold;
        text-align: center;
        background-color: #478ac9;
        color: white;
        text-align: left;
        border-radius: 4px 4px 0 0;
    }

    .main-container {
        /* min-height: 40vh; */
        margin: 0 15%;
        width: 70%;
        display: flex;
        flex-direction: column;
        justify-items: center;
        margin-bottom: 1%;
    }

    .finantare {
        font-weight: 600;
        text-transform: uppercase;
        font-size: 14px;
        /* margin-right: 3%; */
    }

    .finantare::before {
        content: '— ';
    }


    .sem-grid {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .p-style {
        align-self: center;
    }

    .align-center {
        align-self: center;
        text-align: center;
    }

    .year-btn {
        background-color: #f1f1f1;
        color: #555;
        border: none;
        margin: 0 6px;
        padding: 8px 16px;
        border-radius: 4px;
        cursor: pointer;
        font-weight: 600;
    }

    .year-buttons {
        display: flex;
        flex-direction: row;
        justify-content: center;
        width: 100%;
        margin: 1% 0;
    }


    .year-btn.active {
        background-color: #478ac9;
        color: #fff;
    }

    .year-btn:hover {
        background-color: #e6e6e6;
    }

    .year-btn.active:hover {
        background-color: #3a6fa1;
    }

    .submit-btn {
        padding: 10px 20px;
        background: #478ac9;
        color: white;
        border: none;
        border-radius: 4px;
    }

    .submit-btn:hover {
        background: #3a6fa1;
    }

    .error {
        color: red;
        font-weight: bold;
    }

    .empty {
        margin-top: 1%;
    }

    .mobile-sticky-submit {
        display: none;
    }


    .history-box,
    .components-box {
        position: relative;
        display: flex;
    }

    .history-box::before,
    .components-box::before {
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: auto;
        display: flex;
        align-items: center;
        justify-content: center;

        font-weight: 700;
        color: #003366;
        background: #f1f1f1;
        border-right: 1px solid #ddd;
        pointer-events: none;
        z-index: 1;
        border: solid red;
        width: 30%;
    }

    .components-table {
        width: 70%;
    }

    .history-box::before {
        content: "Istoric note";
    }

    .components-box::before {
        content: "Note componente";
    }

    .table-style.grades tbody tr.grade-row {
        cursor: pointer;
        transition: background-color .15s ease, box-shadow .15s ease;
    }

    /* hover */
    .table-style.grades tbody tr.grade-row:hover {
        background: rgba(0, 51, 102, 0.1);
    }


    .table-style.grades tbody tr.grade-row.open {
        background: #b3cadf;
        font-weight: 500;
    }

    .table-style.grades.sticky-first-col tbody tr.grade-row.open td:first-child {
        background: rgba(0, 51, 102, 0.06);
    }

    /* .grade-row::after {
        content: "▾";
        float: right;
        opacity: .4;
    }

    .grade-row.open::after {
        content: "▴";
    } */

    .details-card {
        display: flex;
        flex-direction: column;
        gap: 1rem;

        padding: 1rem;
        background: #b3cadf;

        border-radius: .75rem;
    }

    .detail-section {
        display: flex;
        flex-direction: column;
        background: #ffffff;

        border-radius: .75rem;
        overflow: hidden;
        background: #fff;

        border: 1px solid #e9edf2;
    }

    .detail-title {
        padding: .75rem 1rem;
        text-align: left;

        background: #fafbfc;

        font-size: 1.05rem;
        font-weight: 700;

        border-bottom: 1px solid #e6e6e6;

        border-top-left-radius: .75rem;
        border-top-right-radius: .75rem;
    }

    .detail-table-wrapper {
        padding: .75rem 1rem;
        background: #fff;
    }

    .detail-table-wrapper table {
        width: 100%;
        border-collapse: collapse;
        border: none;

    }

    .history-table tbody tr:nth-child(even) td,
    .components-table tbody tr:nth-child(even) td {
        background: #fcfdff;
    }

    .detail-table-wrapper thead th {
        background: transparent;
        color: #6b6c7e;
        font-weight: 700;
        border-top: none;
        padding: .6rem .8rem;
        border-bottom: 1px solid #e5e7eb;
    }

    .detail-table-wrapper thead th:first-child {
        border-top-left-radius: .65rem;
    }

    .detail-table-wrapper thead th:last-child {
        border-top-right-radius: .65rem;
    }

    .detail-table-wrapper td {
        padding: .6rem .8rem;
        border-bottom: 1px solid #f1f3f6;
    }

    .detail-table-wrapper th,
    .detail-table-wrapper td {
        border-left: none;
        border-right: none;
    }

    .detail-table-wrapper tbody tr:last-child td {
        border-bottom: none;
    }

    .detail-table-wrapper tbody tr:last-child td:first-child {
        border-bottom-left-radius: .65rem;
    }

    .detail-table-wrapper tbody tr:last-child td:last-child {
        border-bottom-right-radius: .65rem;
    }

    /* footer */
    #sec-9bb5 {
        width: 100%;
    }

    #sec-9bb5 .footer-bar {
        width: 85% !important;
        justify-self: center;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        box-sizing: border-box;
    }

    #sec-9bb5.u-footer .u-image-1 {
        margin: 0 !important;
    }

    #sec-9bb5.u-footer .u-menu-1 {
        margin: 0 !important;
    }

    #sec-9bb5 .footer-logo img {
        width: 120px;
        height: auto;
    }

    #sec-9bb5 .footer-links {
        display: flex;
        color: white;
        font-size: 12px;
        align-items: center;
    }

    #sec-9bb5 .footer-links a {
        color: white;
        text-decoration: none;
    }

    #sec-9bb5 .footer-links a:hover {
        color: #adcce9;
    }

    #sec-9bb5 nav {
        display: none;
    }

    @media (max-width: 600px) {

        #sec-9bb5 .footer-links {
            display: none;
        }

        #sec-9bb5 nav {
            display: flex;
            align-items: center;
        }

        #sec-9bb5 .footer-menu-toggle img {
            width: 24px;
            height: 24px;
        }

    }


    @media (max-width: 600px) {
        .main-container {
            padding: 0;
            margin: 0 0 1% 0;
            width: 100%;
        }


        h2 {
            margin-left: 2%;
        }

        .table-style.personal-data {
            border: 1px solid #ddd;
            border-radius: 10px;
            overflow: hidden;
            background: #fff;
        }

        .table-style.personal-data thead {
            display: none;
        }

        .table-style.personal-data tbody tr {
            display: block;
            padding: 10px;
        }

        .table-style.personal-data tbody td {
            display: grid;
            grid-template-columns: 140px 1fr;
            gap: 12px;
            padding: 8px 0;
            border: none;
            border-bottom: 1px solid #eee;
            align-items: start;
        }

        .table-style.personal-data tbody td:last-child {
            border-bottom: none;
        }

        .table-style.personal-data tbody td::before {
            content: attr(data-label);
            font-weight: 600;
            color: #6b6c7e;
        }

        .table-style.personal-data tbody td {
            word-break: break-word;
        }


        .table-scroll {
            overflow-x: auto;
            position: relative;
        }

        .sticky-first-col th:first-child,
        .sticky-first-col td:first-child {
            position: sticky;
            left: 0;
            z-index: 3;
            background: #fff;

            /* box-shadow: 2px 0 6px rgba(0, 0, 0, 0.08); */

        }

        .sticky-first-col thead th:first-child {
            z-index: 3;
            background: #f6f7f9;
        }

        /* tabel index */

        .table-style.select-matricol,
        .table-style.select-matricol thead,
        .table-style.select-matricol tbody,
        .table-style.select-matricol tr,
        .table-style.select-matricol td {
            display: block;
        }

        .table-style.select-matricol thead {
            display: none;
        }

        .table-style.select-matricol tr.select-card {
            background: #fff;
            border: 1px solid #ddd;
            border-radius: 12px;
            padding: 12px;
            margin-bottom: 16px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
            position: relative;
        }

        .table-style.select-matricol tr.select-card td {
            display: grid;
            grid-template-columns: 130px 1fr;
            gap: 10px;
            padding: 6px 0;
            border: none;
            align-items: center;
        }

        .table-style.select-matricol tr.select-card td::before {
            content: attr(data-label);
            font-weight: 600;
            color: #555;
        }

        .table-style.select-matricol tr.select-card td:last-child {
            margin-top: 10px;
            display: flex;
            justify-content: flex-end;
        }

        .table-style.select-matricol tr.select-card input[type="radio"] {
            transform: scale(1.3);
            cursor: pointer;
        }

        .table-style.select-matricol tr.select-card:has(input[type="radio"]:checked) {
            border-color: #003366;
            background-color: #f0f4f9;
            box-shadow: 0 0 0 2px rgba(0, 51, 102, 0.15);
        }


        .table-style.select-matricol tr:not(.select-card) {
            display: block;
            margin-top: 16px;
        }

        .desktop-submit-row {
            display: none !important;
        }

        body {
            padding-bottom: 80px;
        }

        .mobile-sticky-submit {
            display: block;
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;

            padding: 12px 16px;
            background: rgba(255, 255, 255, 0.95);
            border-top: 1px solid #ddd;
            box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.08);
            z-index: 9999;
        }

        .submit-btn--full {
            width: 100%;
            padding: 12px 16px;
            border-radius: 10px;
            font-weight: 700;
        }

        .details-row>td {
            padding: 0;
        }

    }