        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            min-height: 100vh;
            font-family: Arial, Helvetica, sans-serif;
            background: #111111;
            color: #ffffff;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 30px;
        }

        .page {
            width: 100%;
            max-width: 1100px;
        }

        /* HEADER */

        .header {
            display: flex;
            align-items: center;
            gap: 20px;
            margin-bottom: 40px;
        }

        .logo {
            width: 70px;
            height: 70px;
            object-fit: contain;
        }

        .headerText h1 {
            margin: 0;
            font-size: 38px;
            font-weight: 700;
        }

        .headerText p {
            margin: 6px 0 0;
            color: #999999;
            font-size: 16px;
        }

        /* GRID */

        .portalGrid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 18px;
        }

        /* CARDS */

        .portalCard {
            position: relative;
            min-height: 190px;
            padding: 28px;
            background: #1c1c1c;
            border: 1px solid #303030;
            border-radius: 14px;
            cursor: pointer;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            transition:
                transform 0.18s ease,
                background 0.18s ease,
                border-color 0.18s ease;
        }

        .portalCard:hover {
            transform: translateY(-4px);
            background: #232323;
            border-color: #555555;
        }

        .portalCard:active {
            transform: translateY(-1px);
        }

        .cardIcon {
            width: 48px;
            height: 48px;
            border-radius: 10px;
            background: #292929;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
        }

        .cardContent {
            margin-top: 25px;
        }

        .cardTitle {
            margin: 0;
            font-size: 23px;
            font-weight: 600;
        }

        .cardDescription {
            margin: 7px 0 0;
            color: #999999;
            font-size: 14px;
            line-height: 1.4;
        }

        .cardArrow {
            position: absolute;
            right: 25px;
            bottom: 25px;
            color: #777777;
            font-size: 22px;
            transition:
                transform 0.18s ease,
                color 0.18s ease;
        }

        .portalCard:hover .cardArrow {
            color: #ffffff;
            transform: translateX(4px);
        }

        /* FOOTER */

        .footer {
            margin-top: 30px;
            text-align: center;
            color: #666666;
            font-size: 12px;
        }

        /* MOBILE */

        @media (max-width: 700px) {
            body {
                padding: 20px;
                align-items: flex-start;
            }

            .page {
                margin-top: 25px;
            }

            .header {
                margin-bottom: 25px;
            }

            .logo {
                width: 55px;
                height: 55px;
            }

            .headerText h1 {
                font-size: 30px;
            }

            .headerText p {
                font-size: 14px;
            }

            .portalGrid {
                grid-template-columns: 1fr;
            }

            .portalCard {
                min-height: 155px;
            }

        }
