﻿/* Paginа: portal/aluno/profile.html — CSS extraido automaticamente */
:root {
            --bg-main:#F5F2E9;
            --bg-secondary:#181818;

            --bg-card: rgba(255,255,255,.045);
            --bg-card-strong: rgba(255,255,255,.065);

            --gold:#16804A;
            --gold-soft:rgba(22,128,74,.10);

            --green:#16804A;
            --green-soft:rgba(22,128,74,.10);

            --red:#C93632;
            --red-soft:rgba(201,54,50,.10);

            --text:#111111;
            --text-soft:#3b3b3b;
            --text-muted:#6f6a5f;

            --border:rgba(17,17,17,.10);

            --radius: 18px;
            --radius-small: 13px;

            --sidebar-width: 270px;

            --shadow:
                0 18px 50px rgba(0,0,0,.28);
        }


        * {
            box-sizing: border-box;
        }


        html {
            scroll-behavior: smooth;
        }


        body {
            margin: 0;

            background:
                radial-gradient(
                    circle at 15% 5%,
                    rgba(34,139,34,.055),
                    transparent 28%
                ),
                radial-gradient(
                    circle at 90% 20%,
                    rgba(255,215,0,.035),
                    transparent 26%
                ),
                var(--bg-main);

            color: var(--text);

            font-family: "Montserrat", sans-serif;

            min-height: 100vh;

            overflow-x: hidden;

            -webkit-tap-highlight-color: transparent;
        }


        body::before {
            content: "";

            position: fixed;
            inset: 0;

            pointer-events: none;

            background:
                linear-gradient(
                    rgba(11,11,15,.91),
                    rgba(11,11,15,.97)
                ),
                url("/imagens/logoaya2.png");

            background-repeat: no-repeat;
            background-position: center;
            background-size: min(500px, 80vw);

            opacity: .11;

            z-index: -2;
        }


        a {
            color: inherit;
            text-decoration: none;
        }


        button,
        input,
        textarea {
            font-family: inherit;
        }


        /* =========================================================
           SIDEBAR — PADRÃO CANÔNICO DO PORTAL
        ========================================================= */

        .sidebar {
            position: fixed;

            top: 0;
            left: 0;

            width: var(--sidebar-width);
            height: 100vh;

            background: var(--bg-secondary);

            border-right:
                1px solid var(--border);

            z-index: 1050;

            display: flex;
            flex-direction: column;

            overflow-y: auto;
            overflow-x: hidden;
        }


        .sidebar-brand {
            display: flex;
            align-items: center;

            gap: 11px;

            padding: 20px 18px 18px;

            border-bottom:
                1px solid var(--border);

            text-decoration: none;
        }


        .sidebar-brand img {
            width: 38px;
            height: 38px;

            object-fit: contain;
        }


        .sidebar-brand h5 {
            margin: 0;

            color: var(--gold);

            font-weight: 800;

            font-size: 15px;

            line-height: 1.1;
        }


        .sidebar-brand small {
            display: block;

            color: var(--text-muted);

            font-size: 9px;

            letter-spacing: .8px;

            margin-top: 2px;
        }


        .sidebar-menu {
            flex: 1;

            padding: 14px 12px;

            display: flex;
            flex-direction: column;

            gap: 2px;
        }


        .sidebar-section {
            padding: 14px 10px 5px;

            color: var(--text-muted);

            font-size: 9px;
            font-weight: 700;

            text-transform: uppercase;

            letter-spacing: 1.4px;
        }


        .sidebar-menu a {
            display: flex;
            align-items: center;

            gap: 11px;

            padding: 9px 10px;

            border-radius: 9px;

            color: var(--text-soft);

            font-size: 12px;
            font-weight: 600;

            text-decoration: none;

            transition: .15s ease;
        }


        .sidebar-menu a i {
            width: 20px;

            text-align: center;

            font-size: 16px;

            flex-shrink: 0;
        }


        .sidebar-menu a:hover {
            color: var(--text);

            background:
                rgba(255,255,255,.055);
        }


        .sidebar-menu a.active {
            color: var(--gold);

            background:
                rgba(255,215,0,.10);
        }


        .sidebar-divider {
            height: 1px;

            margin: 9px 10px;

            background:
                rgba(255,255,255,.045);
        }


        .sidebar-footer {
            padding: 14px 18px;

            border-top:
                1px solid var(--border);

            color: var(--text-muted);

            font-size: 9px;

            text-align: center;
        }


        .sidebar-overlay {
            display: none;

            position: fixed;
            inset: 0;

            background:
                rgba(0,0,0,.7);

            z-index: 1040;
        }


        /* =========================================================
           MAIN
        ========================================================= */

        .main-content {
            margin-left: var(--sidebar-width);

            min-height: 100vh;
        }


        .topbar {
            position: sticky;

            top: 0;

            z-index: 900;

            display: flex;
            align-items: center;
            justify-content: space-between;

            gap: 14px;

            padding: 12px 22px;

            background:
                rgba(17,17,22,.85);

            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);

            border-bottom:
                1px solid var(--border);
        }


        .page-title {
            display: flex;
            align-items: center;

            gap: 12px;

            min-width: 0;
        }


        .page-title h4 {
            margin: 0;

            font-size: 15px;
            font-weight: 800;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }


        .page-title small {
            display: block;

            color: var(--text-muted);

            font-size: 10px;

            margin-top: 1px;
        }


        #menuButton {
            display: none;

            width: 38px;
            height: 38px;

            border-radius: 10px;

            border:
                1px solid var(--border);

            background:
                var(--bg-card);

            color: var(--text-soft);

            align-items: center;
            justify-content: center;

            font-size: 18px;

            cursor: pointer;

            flex-shrink: 0;
        }


        .user-topbar {
            display: flex;
            align-items: center;

            gap: 10px;

            min-width: 0;
        }


        .user-avatar {
            width: 38px;
            height: 38px;

            border-radius: 50%;

            background:
                linear-gradient(
                    135deg,
                    var(--gold),
                    var(--green)
                );

            display: flex;
            align-items: center;
            justify-content: center;

            color: #111;

            font-weight: 800;
            font-size: 12px;

            overflow: hidden;

            flex-shrink: 0;
        }


        .user-avatar img {
            width: 100%;
            height: 100%;

            object-fit: cover;
        }


        .user-topbar-info {
            min-width: 0;
        }


        .user-topbar-info strong {
            display: block;

            font-size: 11px;
            font-weight: 700;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }


        .user-topbar-info span {
            display: block;

            color: var(--text-muted);

            font-size: 9px;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }


        .btn-site {
            border:
                1px solid rgba(255,215,0,.4);

            color: var(--gold);

            background: transparent;

            border-radius: 9px;

            font-size: 11px;
            font-weight: 600;

            padding: 6px 12px;

            text-decoration: none;

            transition: .15s ease;

            white-space: nowrap;
        }


        .btn-site:hover {
            background:
                rgba(255,215,0,.10);

            color: var(--gold);
        }


        /* =========================================================
           CONTENT
        ========================================================= */

        .page-content {
            width: 100%;
            max-width: 1180px;

            margin: auto;

            padding:
                28px 40px 55px;
        }


        .page-intro {
            margin-bottom: 24px;
        }


        .eyebrow {
            color: var(--text-muted);

            font-size: .58rem;

            text-transform: uppercase;

            letter-spacing: .15em;

            margin-bottom: 7px;
        }


        .page-intro h1 {
            margin: 0;

            font-size:
                clamp(1.55rem, 4vw, 2.25rem);

            font-weight: 700;

            letter-spacing: -.04em;
        }


        .page-intro h1 span {
            background:
                linear-gradient(
                    90deg,
                    var(--gold),
                    #eac600,
                    #5b9b3e
                );

            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }


        .page-intro p {
            max-width: 720px;

            margin:
                8px 0 0;

            color: var(--text-soft);

            font-size: .72rem;

            line-height: 1.7;
        }


        /* =========================================================
           PROFILE HERO
        ========================================================= */

        .profile-hero {
            position: relative;

            overflow: hidden;

            padding: 24px;

            border:
                1px solid var(--border);

            border-radius: var(--radius);

            background:
                linear-gradient(
                    145deg,
                    rgba(255,255,255,.055),
                    rgba(255,255,255,.025)
                );

            box-shadow: var(--shadow);

            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }


        .profile-hero::after {
            content: "";

            position: absolute;

            width: 240px;
            height: 240px;

            right: -120px;
            bottom: -140px;

            border-radius: 50%;

            background:
                rgba(34,139,34,.08);

            filter: blur(30px);

            pointer-events: none;
        }


        .profile-main {
            position: relative;

            z-index: 1;

            display: flex;
            align-items: center;

            gap: 20px;
        }


        .profile-photo-wrapper {
            position: relative;

            width: 104px;
            height: 104px;

            flex-shrink: 0;
        }


        .profile-photo {
            width: 104px;
            height: 104px;

            border-radius: 50%;

            border:
                2px solid rgba(255,215,0,.25);

            background:
                linear-gradient(
                    145deg,
                    #292930,
                    #131318
                );

            display: flex;
            align-items: center;
            justify-content: center;

            overflow: hidden;

            color: var(--gold);

            font-size: 1.5rem;
            font-weight: 700;

            box-shadow:
                0 10px 35px rgba(0,0,0,.35);
        }


        .profile-photo img {
            width: 100%;
            height: 100%;

            object-fit: cover;
        }


        .photo-edit {
            position: absolute;

            right: -2px;
            bottom: -2px;

            width: 32px;
            height: 32px;

            border-radius: 50%;

            border:
                2px solid var(--bg-main);

            background:
                var(--gold);

            color: #111;

            display: flex;
            align-items: center;
            justify-content: center;

            cursor: pointer;

            font-size: .8rem;
        }


        .profile-hero-info {
            min-width: 0;
        }


        .profile-name {
            margin: 0;

            font-size:
                clamp(1.2rem, 4vw, 1.7rem);

            font-weight: 700;

            letter-spacing: -.025em;
        }


        .profile-nickname {
            margin-top: 4px;

            color: var(--gold);

            font-size: .68rem;
        }


        .profile-status {
            display: inline-flex;
            align-items: center;

            gap: 6px;

            margin-top: 10px;

            padding: 5px 9px;

            border-radius: 999px;

            background:
                var(--green-soft);

            border:
                1px solid rgba(34,139,34,.22);

            color: #72c572;

            font-size: .54rem;
            font-weight: 600;
        }


        .profile-status.inactive {
            background:
                var(--red-soft);

            border-color:
                rgba(179,38,30,.25);

            color: #e26d67;
        }


        /* =========================================================
           GRID
        ========================================================= */

        .profile-grid {
            display: grid;

            grid-template-columns:
                minmax(0, 1.35fr)
                minmax(280px, .65fr);

            gap: 14px;

            margin-top: 14px;
        }


        .card {
            border:
                1px solid var(--border);

            border-radius: var(--radius);

            background:
                linear-gradient(
                    145deg,
                    rgba(255,255,255,.045),
                    rgba(255,255,255,.025)
                );

            box-shadow: var(--shadow);

            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);

            overflow: hidden;
        }


        .card-header-custom {
            display: flex;
            align-items: center;
            justify-content: space-between;

            gap: 12px;

            padding:
                18px 20px;

            border-bottom:
                1px solid rgba(255,255,255,.05);
        }


        .card-title {
            margin: 0;

            font-size: .67rem;

            text-transform: uppercase;

            letter-spacing: .12em;

            font-weight: 700;
        }


        .card-icon {
            color: var(--gold);

            font-size: .95rem;
        }


        .card-body-custom {
            padding: 20px;
        }


        /* =========================================================
           INFORMATION GRID
        ========================================================= */

        .info-grid {
            display: grid;

            grid-template-columns:
                repeat(2, minmax(0, 1fr));

            gap: 12px;
        }


        .info-item {
            padding: 13px;

            border-radius: var(--radius-small);

            border:
                1px solid rgba(255,255,255,.055);

            background:
                rgba(255,255,255,.025);
        }


        .info-label {
            color: var(--text-muted);

            font-size: .52rem;

            text-transform: uppercase;

            letter-spacing: .07em;

            margin-bottom: 5px;
        }


        .info-value {
            color: var(--text-soft);

            font-size: .68rem;

            line-height: 1.45;

            word-break: break-word;
        }


        .info-value.highlight {
            color: var(--gold);
        }


        /* =========================================================
           STUDENT CARD
        ========================================================= */

        .student-list {
            display: flex;
            flex-direction: column;
        }


        .student-row {
            display: flex;
            align-items: flex-start;

            gap: 12px;

            padding:
                13px 0;

            border-bottom:
                1px solid rgba(255,255,255,.045);
        }


        .student-row:first-child {
            padding-top: 0;
        }


        .student-row:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }


        .student-row-icon {
            width: 34px;
            height: 34px;

            border-radius: 10px;

            flex-shrink: 0;

            display: flex;
            align-items: center;
            justify-content: center;

            color: var(--gold);

            background:
                var(--gold-soft);
        }


        .student-row-label {
            color: var(--text-muted);

            font-size: .5rem;

            text-transform: uppercase;

            letter-spacing: .07em;
        }


        .student-row-value {
            margin-top: 3px;

            color: var(--text-soft);

            font-size: .65rem;

            line-height: 1.45;
        }


        /* =========================================================
           EDIT FORM
        ========================================================= */

        .form-grid {
            display: grid;

            grid-template-columns:
                repeat(2, minmax(0, 1fr));

            gap: 13px;
        }


        .form-group {
            min-width: 0;
        }


        .form-group.full {
            grid-column: 1 / -1;
        }


        .form-label-aya {
            display: block;

            margin-bottom: 6px;

            color: var(--text-muted);

            font-size: .53rem;

            text-transform: uppercase;

            letter-spacing: .07em;
        }


        .form-control-aya {
            width: 100%;

            min-height: 42px;

            padding:
                10px 12px;

            border-radius: 10px;

            border:
                1px solid rgba(255,255,255,.08);

            background:
                rgba(255,255,255,.035);

            color: var(--text);

            outline: none;

            font-size: .67rem;

            transition: .2s ease;
        }


        .form-control-aya:focus {
            border-color:
                rgba(255,215,0,.35);

            background:
                rgba(255,255,255,.05);

            box-shadow:
                0 0 0 3px rgba(255,215,0,.055);
        }


        .form-control-aya:disabled,
        .form-control-aya[readonly] {
            color: var(--text-muted);

            cursor: not-allowed;

            opacity: .85;
        }


        textarea.form-control-aya {
            min-height: 105px;

            resize: vertical;
        }


        .form-help {
            margin-top: 5px;

            color: var(--text-muted);

            font-size: .49rem;

            line-height: 1.5;
        }


        .form-actions {
            display: flex;
            align-items: center;
            justify-content: flex-end;

            gap: 8px;

            margin-top: 16px;
        }


        .btn-aya {
            min-height: 39px;

            padding:
                8px 14px;

            border-radius: 9px;

            border: 1px solid transparent;

            font-size: .61rem;

            font-weight: 600;

            cursor: pointer;

            transition: .2s ease;
        }


        .btn-aya-primary {
            background:
                var(--gold);

            color: #111;
        }


        .btn-aya-primary:hover {
            filter: brightness(1.05);
        }


        .btn-aya-secondary {
            background:
                rgba(255,255,255,.035);

            border-color:
                var(--border);

            color: var(--text-soft);
        }


        .btn-aya-secondary:hover {
            background:
                rgba(255,255,255,.065);

            color: var(--text);
        }


        .btn-aya:disabled {
            opacity: .5;

            cursor: not-allowed;
        }


        /* =========================================================
           SECURITY
        ========================================================= */

        .security-item {
            display: flex;
            align-items: center;

            gap: 12px;

            padding:
                13px 0;

            border-bottom:
                1px solid rgba(255,255,255,.045);
        }


        .security-item:first-child {
            padding-top: 0;
        }


        .security-item:last-child {
            border-bottom: 0;
            padding-bottom: 0;
        }


        .security-icon {
            width: 38px;
            height: 38px;

            border-radius: 11px;

            flex-shrink: 0;

            display: flex;
            align-items: center;
            justify-content: center;

            background:
                rgba(255,255,255,.045);

            color: var(--gold);
        }


        .security-info {
            min-width: 0;

            flex: 1;
        }


        .security-title {
            font-size: .62rem;

            font-weight: 600;
        }


        .security-description {
            margin-top: 3px;

            color: var(--text-muted);

            font-size: .51rem;

            line-height: 1.45;
        }


        .security-action {
            flex-shrink: 0;
        }


        .security-status {
            padding: 5px 8px;

            border-radius: 999px;

            background:
                rgba(255,255,255,.045);

            color: var(--text-muted);

            font-size: .48rem;

            white-space: nowrap;
        }


        /* =========================================================
           EMPTY / ERROR
        ========================================================= */

        .state-card {
            padding: 35px 24px;

            text-align: center;
        }


        .state-icon {
            width: 54px;
            height: 54px;

            margin: 0 auto 14px;

            border-radius: 16px;

            display: flex;
            align-items: center;
            justify-content: center;

            background:
                var(--gold-soft);

            color: var(--gold);

            font-size: 1.25rem;
        }


        .state-card h3 {
            margin: 0;

            font-size: .95rem;

            font-weight: 600;
        }


        .state-card p {
            max-width: 520px;

            margin:
                8px auto 0;

            color: var(--text-muted);

            font-size: .61rem;

            line-height: 1.65;
        }


        /* =========================================================
           TOAST
        ========================================================= */

        .aya-toast {
            position: fixed;

            right: 20px;
            bottom: 20px;

            z-index: 3000;

            max-width: 340px;

            padding:
                13px 16px;

            border:
                1px solid var(--border);

            border-radius: 12px;

            background:
                rgba(18,18,23,.96);

            box-shadow:
                0 15px 40px rgba(0,0,0,.4);

            color: var(--text-soft);

            font-size: .62rem;

            opacity: 0;

            transform:
                translateY(10px);

            pointer-events: none;

            transition: .25s ease;
        }


        .aya-toast.show {
            opacity: 1;

            transform:
                translateY(0);
        }


        .aya-toast.success {
            border-color:
                rgba(34,139,34,.3);
        }


        .aya-toast.error {
            border-color:
                rgba(179,38,30,.35);
        }


        /* =========================================================
           LOADING
        ========================================================= */

        .loading-skeleton {
            animation:
                pulseLoading 1.4s infinite ease-in-out;
        }


        @keyframes pulseLoading {

            0%,
            100% {
                opacity: .45;
            }

            50% {
                opacity: .9;
            }

        }


        /* =========================================================
           MOBILE
        ========================================================= */

        @media (max-width: 991px) {

            .sidebar {
                transform:
                    translateX(-100%);

                transition:
                    transform .25s ease;
            }


            .sidebar.show {
                transform:
                    translateX(0);
            }


            .main-content {
                margin-left: 0;
            }


            .sidebar-overlay.show {
                display: block;
            }


            #menuButton {
                display: flex;
            }


            .page-content {
                padding:
                    22px 20px 45px;
            }

        }


        @media (max-width: 767px) {

            .topbar {
                padding:
                    10px 14px;
            }


            .user-topbar-info,
            .btn-site {
                display: none;
            }


            .page-content {
                padding:
                    20px 14px 40px;
            }


            .profile-grid {
                grid-template-columns: 1fr;
            }


            .profile-main {
                align-items: flex-start;

                flex-direction: column;
            }


            .profile-photo-wrapper {
                width: 90px;
                height: 90px;
            }


            .profile-photo {
                width: 90px;
                height: 90px;
            }


            .info-grid,
            .form-grid {
                grid-template-columns: 1fr;
            }


            .form-group.full {
                grid-column: auto;
            }


            .form-actions {
                flex-direction: column-reverse;
            }


            .btn-aya {
                width: 100%;
            }


            .aya-toast {
                left: 14px;
                right: 14px;
                bottom: 14px;

                max-width: none;
            }

        }

    
        /* Destaque para o link do Painel Administrativo */
        #adminSection a[href="/admin/dashboard.html"] {
            background: rgba(255,215,0,.08);
            border: 1px solid rgba(255,215,0,.2);
            color: var(--gold);
            font-weight: 700;
        }

        #adminSection a[href="/admin/dashboard.html"]:hover {
            background: rgba(255,215,0,.14);
        }

        /* ===== IEPLUS_LIGHT_OVERRIDES : IÃŠ+ tema claro (estrutura/navegaÃ§Ã£o preta com texto claro) ===== */
        .topbar,.sidebar,.sidebar-header,.bottom-navigation,.bottom-nav,.side-nav,.nav-drawer,.app-nav{background:#111111 !important;}
        .topbar,.topbar *,.sidebar *,.bottom-navigation *,.bottom-navigation a,.bottom-navigation i,.bottom-navigation span{color:rgba(255,255,255,.85) !important;}
        .sidebar a.active,.sidebar .active,.bottom-navigation .active{color:#8FE6B4 !important;}
        .sidebar a.active,.bottom-navigation .active{background:rgba(22,128,74,.30) !important;}