/* GENEL AYARLAR */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: #101010;
    color: white;
}

/* =========================
   ANA SAYFA
========================= */

.navbar {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 82px;
    padding: 0 72px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    z-index: 50;

    background: rgba(8, 8, 8, 0.72);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.logo {
    text-decoration: none;
    color: white;

    font-size: 24px;
    font-weight: 900;
    letter-spacing: 1px;
}

.logo span {
    color: #00ff88;
    margin-left: 4px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 34px;
}

.nav-links a {
    text-decoration: none;
    color: #e6e6e6;

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

    transition: 0.2s ease;
}

.nav-links a:hover {
    color: #00ff88;
}

.hero {
    position: relative;

    min-height: 100vh;
    width: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

    padding: 150px 24px 70px;

    overflow: hidden;
}

.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 100%;
    height: 100%;

    object-fit: cover;
    transform: translate(-50%, -50%);

    z-index: 1;
}

.hero-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            rgba(0, 0, 0, 0.62),
            rgba(0, 0, 0, 0.92)
        ),
        radial-gradient(
            circle at top left,
            rgba(0, 255, 136, 0.40),
            transparent 34%
        ),
        radial-gradient(
            circle at bottom right,
            rgba(0, 255, 136, 0.18),
            transparent 36%
        );

    z-index: 2;
}

.hero-content {
    position: relative;
    z-index: 3;

    max-width: 930px;
    text-align: center;
}

.tag,
.section-tag {
    display: inline-block;

    padding: 10px 18px;
    margin-bottom: 24px;

    border: 1px solid rgba(0, 255, 136, 0.44);
    border-radius: 999px;

    color: #7dffbc;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 2px;

    background: rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(8px);
}

.hero-content h1 {
    font-size: 82px;
    letter-spacing: 2px;
    margin-bottom: 18px;

    text-shadow: 0 14px 42px rgba(0, 0, 0, 0.72);
}

.slogan {
    font-size: 31px;
    font-weight: 900;

    color: #00ff88;
    margin-bottom: 20px;

    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.55);
}

.description {
    max-width: 760px;
    margin: 0 auto 36px;

    font-size: 18px;
    line-height: 1.75;
    color: #e2e2e2;

    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.6);
}

.buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.btn {
    display: inline-block;
    text-decoration: none;

    min-width: 210px;
    padding: 16px 34px;
    border-radius: 999px;

    font-size: 16px;
    font-weight: 900;
    text-align: center;

    transition: 0.2s ease;
}

.btn.primary {
    background: #00ff88;
    color: white;
    box-shadow: 0 14px 35px rgba(0, 255, 136, 0.28);
}

.btn.primary:hover {
    background: #00c96f;
    transform: translateY(-3px);
}

.btn.secondary {
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
}

.btn.secondary:hover {
    background: white;
    color: #101010;
    transform: translateY(-3px);
}

.scroll-indicator {
    position: absolute;
    bottom: 26px;
    left: 50%;

    transform: translateX(-50%);

    z-index: 3;

    width: 28px;
    height: 46px;

    border: 2px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
}

.scroll-indicator span {
    position: absolute;
    top: 9px;
    left: 50%;

    width: 6px;
    height: 6px;

    background: #00ff88;
    border-radius: 50%;

    transform: translateX(-50%);

    animation: scrollDot 1.5s infinite;
}

@keyframes scrollDot {
    0% {
        opacity: 1;
        top: 9px;
    }

    100% {
        opacity: 0;
        top: 25px;
    }
}

.about-section {
    background:
        linear-gradient(180deg, #101010 0%, #141414 100%);

    color: white;
    padding: 110px 24px;
}

.about-container {
    max-width: 1180px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1fr;
    gap: 46px;
    align-items: center;
}

.about-content {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.about-content h2,
.section-heading h2,
.contact-box h2 {
    font-size: 44px;
    line-height: 1.15;
    margin-bottom: 24px;
}

.about-content p {
    font-size: 17px;
    line-height: 1.8;
    color: #d7d7d7;
    margin-bottom: 18px;
}

.about-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;

    margin-top: 34px;
}

.stat-card {
    padding: 22px 18px;

    border-radius: 22px;
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.08);

    transition: 0.2s ease;
}

.stat-card:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 255, 136, 0.38);
}

.stat-card h3 {
    font-size: 28px;
    color: #00ff88;
    margin-bottom: 8px;
}

.stat-card span {
    display: block;
    font-size: 14px;
    color: #dddddd;
}

.features-section {
    background: #0f0f0f;
    padding: 110px 24px;
}

.section-heading {
    max-width: 780px;
    margin: 0 auto 54px;
    text-align: center;
}

.section-heading p {
    font-size: 17px;
    line-height: 1.7;
    color: #d4d4d4;
}

.features-grid {
    max-width: 1180px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.feature-card {
    min-height: 260px;

    padding: 30px;

    border-radius: 28px;
    background:
        linear-gradient(145deg, #181818, #111111);

    border: 1px solid rgba(255, 255, 255, 0.08);

    transition: 0.22s ease;
}

.feature-card:hover {
    transform: translateY(-7px);
    border-color: rgba(0, 255, 136, 0.42);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

.feature-number {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 24px;

    border-radius: 18px;
    background: rgba(0, 255, 136, 0.14);
    color: #00ff88;

    font-weight: 900;
}

.feature-card h3 {
    font-size: 22px;
    margin-bottom: 14px;
}

.feature-card p {
    color: #d0d0d0;
    font-size: 15.5px;
    line-height: 1.7;
}

.contact-section {
    padding: 110px 24px;
    background:
        radial-gradient(circle at center, rgba(0, 255, 136, 0.18), transparent 38%),
        #111111;
}

.contact-box {
    max-width: 920px;
    margin: 0 auto;

    padding: 60px 42px;

    text-align: center;

    border-radius: 34px;
    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, 0.07),
            rgba(255, 255, 255, 0.035)
        );

    border: 1px solid rgba(255, 255, 255, 0.10);
}

.contact-box p {
    color: #d6d6d6;
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 28px;
}

.footer {
    background: #090909;
    padding: 26px 20px;

    text-align: center;

    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.footer p {
    color: #9f9f9f;
    font-size: 14px;
}

/* =========================
   LOGIN SAYFASI
========================= */

.login-page {
    min-height: 100vh;

    display: grid;
    grid-template-columns: 1.05fr 0.95fr;

    background: #101010;
    color: white;
}

.login-left {
    position: relative;

    padding: 52px 70px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background:
        linear-gradient(rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.92)),
        radial-gradient(circle at top left, rgba(0, 255, 136, 0.44), transparent 36%),
        radial-gradient(circle at bottom right, rgba(0, 255, 136, 0.16), transparent 38%),
        #111111;
}

.login-logo {
    text-decoration: none;
    color: white;

    font-size: 26px;
    font-weight: 900;
    letter-spacing: 1px;
}

.login-logo span {
    color: #00ff88;
    margin-left: 4px;
}

.login-intro {
    max-width: 720px;
}

.login-intro h1 {
    font-size: 58px;
    line-height: 1.1;
    margin-bottom: 24px;

    text-shadow: 0 12px 38px rgba(0, 0, 0, 0.6);
}

.login-intro > p {
    max-width: 620px;

    font-size: 18px;
    line-height: 1.75;
    color: #dedede;

    margin-bottom: 34px;
}

.login-info-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.login-info-card {
    padding: 22px 18px;

    border-radius: 22px;
    background: rgba(255, 255, 255, 0.065);
    border: 1px solid rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(10px);
}

.login-info-card h3 {
    color: #00ff88;
    font-size: 26px;
    margin-bottom: 8px;
}

.login-info-card span {
    color: #eeeeee;
    font-size: 14px;
    font-weight: 700;
}

.login-right {
    padding: 40px 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f4f4f4;
}

.login-box {
    width: 100%;
    max-width: 460px;

    padding: 42px;

    border-radius: 32px;
    background: white;
    color: #101010;

    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.16);
}

.login-box h2 {
    font-size: 34px;
    margin-bottom: 10px;
}

.login-subtitle {
    color: #707070;
    line-height: 1.6;
    margin-bottom: 30px;
}

.input-group {
    margin-bottom: 20px;
}

.input-group label {
    display: block;

    font-size: 14px;
    font-weight: 900;

    margin-bottom: 8px;
}

.input-group input {
    width: 100%;

    padding: 15px 16px;

    border-radius: 15px;
    border: 1px solid #dddddd;
    outline: none;

    font-size: 15px;

    transition: 0.2s ease;
}

.input-group input:focus {
    border-color: #00ff88;
    box-shadow: 0 0 0 4px rgba(0, 255, 136, 0.13);
}

.role-area {
    margin: 24px 0;
}

.role-area > p {
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 12px;
}

.role-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.role-card {
    cursor: pointer;

    padding: 15px;

    display: flex;
    align-items: center;
    gap: 10px;

    border-radius: 16px;
    border: 1px solid #dddddd;

    transition: 0.2s ease;
}

.role-card:hover {
    border-color: #00ff88;
    background: rgba(0, 255, 136, 0.06);
}

.role-card input {
    accent-color: #00ff88;
}

.role-card span {
    font-weight: 800;
    font-size: 14px;
}

.login-btn {
    width: 100%;

    display: block;
    text-align: center;
    text-decoration: none;

    padding: 16px;

    border: none;
    border-radius: 16px;

    background: #00ff88;
    color: white;

    font-size: 16px;
    font-weight: 900;

    cursor: pointer;

    transition: 0.2s ease;
}

.login-btn:hover {
    background: #00c96f;
    transform: translateY(-2px);
}

.back-link {
    display: block;

    margin-top: 22px;

    text-align: center;
    text-decoration: none;

    color: #606060;
    font-size: 14px;
    font-weight: 800;

    transition: 0.2s ease;
}

.back-link:hover {
    color: #00ff88;
}

/* =========================
   PANEL GENEL
========================= */

.panel-body {
    min-height: 100vh;
    background: #f4f4f4;
    color: #111111;

    display: grid;
    grid-template-columns: 280px 1fr;
}

.sidebar {
    min-height: 100vh;
    padding: 32px 24px;

    background: #101010;
    color: white;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    position: sticky;
    top: 0;
}

.panel-logo {
    text-decoration: none;
    color: white;

    font-size: 24px;
    font-weight: 900;
    letter-spacing: 1px;
}

.panel-logo span {
    color: #00ff88;
    margin-left: 4px;
}

.sidebar-menu {
    display: flex;
    flex-direction: column;
    gap: 12px;

    margin-top: 50px;
}

.sidebar-menu a,
.logout-link {
    text-decoration: none;

    padding: 14px 16px;
    border-radius: 16px;

    color: #d9d9d9;
    font-size: 15px;
    font-weight: 800;

    transition: 0.2s ease;
}

.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: rgba(0, 255, 136, 0.16);
    color: #00ff88;
}

.logout-link {
    background: rgba(255, 255, 255, 0.06);
    text-align: center;
}

.logout-link:hover {
    background: #00ff88;
    color: white;
}

.dashboard {
    padding: 38px;
}

.dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin-bottom: 30px;
}

.dashboard-tag {
    color: #00ff88;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.dashboard-header h1 {
    font-size: 38px;
    margin-bottom: 10px;
}

.dashboard-header p {
    color: #686868;
    font-size: 16px;
    line-height: 1.6;
}

.dashboard-action {
    text-decoration: none;

    padding: 15px 22px;
    border-radius: 999px;

    background: #00ff88;
    color: white;

    font-weight: 900;
    white-space: nowrap;

    box-shadow: 0 14px 30px rgba(0, 255, 136, 0.24);
    transition: 0.2s ease;
}

.dashboard-action:hover {
    background: #00c96f;
    transform: translateY(-2px);
}

.secondary-action {
    background: #101010;
    box-shadow: none;
}

.secondary-action:hover {
    background: #252525;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;

    margin-bottom: 28px;
}

.summary-card {
    padding: 24px;

    border-radius: 26px;
    background: white;

    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.07);
}

.summary-card span {
    display: block;

    color: #707070;
    font-size: 14px;
    font-weight: 900;

    margin-bottom: 12px;
}

.summary-card h2 {
    font-size: 36px;
    color: #00ff88;
    margin-bottom: 8px;
}

.summary-card p {
    color: #777777;
    font-size: 14px;
    line-height: 1.5;
}

.dashboard-layout {
    display: grid;
    grid-template-columns: 1.6fr 0.8fr;
    gap: 24px;
}

.students-box,
.quick-box,
.student-form,
.form-info-card {
    border-radius: 28px;
    background: white;

    padding: 28px;

    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.07);
}

.box-header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;

    margin-bottom: 24px;
}

.box-header h2,
.quick-box h2 {
    font-size: 25px;
    margin-bottom: 8px;
}

.box-header p,
.quick-box p {
    color: #747474;
    font-size: 15px;
    line-height: 1.6;
}

.box-header input {
    width: 230px;

    padding: 13px 15px;
    border-radius: 14px;
    border: 1px solid #dddddd;

    outline: none;
}

.box-header input:focus {
    border-color: #00ff88;
    box-shadow: 0 0 0 4px rgba(0, 255, 136, 0.12);
}

.student-table {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.table-row {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr 0.5fr;
    gap: 12px;

    padding: 16px;

    border-radius: 16px;
    background: #f7f7f7;

    align-items: center;
}

.table-head {
    background: #101010;
    color: white;

    font-weight: 900;
}

.table-row span {
    font-size: 14px;
}

.table-row strong {
    color: #00ff88;
}

.table-row-with-actions {
    grid-template-columns: 1.1fr 1fr 1fr 0.5fr 0.9fr;
}

.student-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.edit-btn,
.delete-btn {
    border: none;
    cursor: pointer;

    padding: 9px 12px;
    border-radius: 999px;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 900;

    transition: 0.2s ease;
}

.edit-btn {
    background: rgba(0, 255, 136, 0.12);
    color: #00ff88;
}

.edit-btn:hover {
    background: #00ff88;
    color: white;
}

.delete-btn {
    background: rgba(220, 38, 38, 0.10);
    color: #dc2626;
}

.delete-btn:hover {
    background: #dc2626;
    color: white;
}

.empty-state {
    padding: 42px 24px;

    text-align: center;

    border-radius: 22px;
    background: #f7f7f7;
    border: 1px dashed #d0d0d0;
}

.empty-state h3 {
    font-size: 24px;
    margin-bottom: 10px;
    color: #111111;
}

.empty-state p {
    max-width: 540px;
    margin: 0 auto 22px;

    color: #747474;
    font-size: 15px;
    line-height: 1.7;
}

.empty-btn {
    display: inline-block;

    text-decoration: none;

    padding: 13px 22px;
    border-radius: 999px;

    background: #00ff88;
    color: white;

    font-size: 14px;
    font-weight: 900;

    transition: 0.2s ease;
}

.empty-btn:hover {
    background: #00c96f;
    transform: translateY(-2px);
}

.quick-actions {
    display: grid;
    gap: 12px;

    margin-top: 24px;
}

.quick-actions a,
.quick-actions button {
    text-decoration: none;

    width: 100%;
    padding: 15px;

    border: 0;
    border-radius: 16px;
    background: #f5f5f5;
    color: #111111;
    text-align: left;
    font: inherit;
    cursor: pointer;
    appearance: none;

    font-size: 14px;
    font-weight: 900;

    transition: 0.2s ease;
}

.quick-actions a:hover,
.quick-actions button:hover {
    background: rgba(0, 255, 136, 0.12);
    color: #00ff88;
}

.score-box {
    margin-top: 28px;

    padding: 22px;

    border-radius: 22px;

    background:
        linear-gradient(145deg, #171717, #101010);

    color: white;
}

.score-box span {
    display: block;

    color: #7dffbc;
    font-size: 13px;
    font-weight: 900;

    margin-bottom: 10px;
}

.score-box h3 {
    font-size: 30px;
    margin-bottom: 10px;
}

.score-box p {
    color: #dddddd;
    font-size: 14px;
}

/* =========================
   ÖĞRENCİ EKLE SAYFASI
========================= */

.form-page-layout {
    display: grid;
    grid-template-columns: 1.5fr 0.8fr;
    gap: 24px;
    align-items: start;
}

.form-section-title {
    margin-bottom: 26px;
}

.form-section-title h2 {
    font-size: 26px;
    margin-bottom: 8px;
}

.form-section-title p {
    color: #747474;
    line-height: 1.6;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.input-group select,
.input-group textarea {
    width: 100%;

    padding: 15px 16px;

    border-radius: 15px;
    border: 1px solid #dddddd;
    outline: none;

    font-size: 15px;
    font-family: Arial, Helvetica, sans-serif;

    transition: 0.2s ease;
}

.input-group select:focus,
.input-group textarea:focus {
    border-color: #00ff88;
    box-shadow: 0 0 0 4px rgba(0, 255, 136, 0.13);
}

.input-group textarea {
    min-height: 130px;
    resize: vertical;
}

.full-width {
    margin-top: 18px;
}

.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 14px;
    margin-top: 28px;
}

.cancel-btn,
.save-btn {
    text-decoration: none;

    padding: 15px 24px;
    border-radius: 999px;

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

    transition: 0.2s ease;
}

.cancel-btn {
    color: #111111;
    background: #eeeeee;
}

.cancel-btn:hover {
    background: #dddddd;
}

.save-btn {
    color: white;
    background: #00ff88;
    box-shadow: 0 14px 30px rgba(0, 255, 136, 0.24);

    border: none;
    cursor: pointer;
    font-family: Arial, Helvetica, sans-serif;
}

.save-btn:hover {
    background: #00c96f;
    transform: translateY(-2px);
}

.form-info-card span {
    display: inline-block;

    margin-bottom: 18px;
    padding: 9px 15px;

    border-radius: 999px;

    background: rgba(0, 255, 136, 0.12);
    color: #00ff88;

    font-size: 13px;
    font-weight: 900;
}

.form-info-card h3 {
    font-size: 25px;
    line-height: 1.25;
    margin-bottom: 16px;
}

.form-info-card > p {
    color: #747474;
    line-height: 1.7;
    margin-bottom: 24px;
}

.mini-check-list {
    display: grid;
    gap: 10px;
}

.mini-check-list p {
    padding: 12px 14px;

    border-radius: 14px;
    background: #f6f6f6;

    color: #111111;
    font-size: 14px;
    font-weight: 800;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {
    .panel-body {
        grid-template-columns: 1fr;
    }

    .sidebar {
        min-height: auto;
        position: relative;

        flex-direction: row;
        align-items: center;
        gap: 20px;

        overflow-x: auto;
    }

    .sidebar-menu {
        flex-direction: row;
        margin-top: 0;
    }

    .summary-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .dashboard-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1000px) {
    .navbar {
        padding: 0 34px;
    }

    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-content {
        max-width: 850px;
    }

    .login-page {
        grid-template-columns: 1fr;
    }

    .login-left {
        padding: 42px 24px;
        gap: 70px;
    }

    .login-intro h1 {
        font-size: 40px;
    }

    .login-info-cards {
        grid-template-columns: 1fr;
    }

    .login-right {
        padding: 32px 20px;
    }

    .login-box {
        padding: 32px 24px;
    }

    .form-page-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .navbar {
        height: auto;
        padding: 18px 22px;

        flex-direction: column;
        gap: 14px;
    }

    .logo {
        font-size: 22px;
    }

    .nav-links {
        gap: 16px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .nav-links a {
        font-size: 13px;
    }

    .hero {
        padding: 160px 20px 70px;
    }

    .hero-content h1 {
        font-size: 46px;
    }

    .slogan {
        font-size: 22px;
    }

    .description {
        font-size: 16px;
    }

    .buttons {
        flex-direction: column;
        align-items: center;
    }

    .btn {
        width: 100%;
        max-width: 280px;
        text-align: center;
    }

    .about-section,
    .features-section,
    .contact-section {
        padding: 80px 20px;
    }

    .about-content h2,
    .section-heading h2,
    .contact-box h2 {
        font-size: 32px;
    }

    .about-content p,
    .section-heading p {
        font-size: 16px;
    }

    .about-stats {
        grid-template-columns: 1fr;
    }

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

    .contact-box {
        padding: 42px 24px;
    }

    .dashboard {
        padding: 24px 18px;
    }

    .dashboard-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .dashboard-header h1 {
        font-size: 30px;
    }

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

    .box-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .box-header input {
        width: 100%;
    }

    .table-row,
    .table-row-with-actions {
        grid-template-columns: 1fr;
    }

    .table-head {
        display: none;
    }

    .student-actions {
        margin-top: 8px;
    }

    .sidebar {
        flex-direction: column;
        align-items: flex-start;
    }

    .sidebar-menu {
        width: 100%;
        flex-direction: column;
    }

    .logout-link {
        width: 100%;
    }

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

    .form-actions {
        flex-direction: column;
    }

    .cancel-btn,
    .save-btn {
        text-align: center;
    }
}

@media (max-width: 480px) {
    .role-options {
        grid-template-columns: 1fr;
    }

    .login-intro h1 {
        font-size: 34px;
    }
}

@media (max-width: 420px) {
    .logo {
        font-size: 19px;
    }

    .hero-content h1 {
        font-size: 38px;
    }

    .tag,
    .section-tag {
        font-size: 11px;
        letter-spacing: 1.5px;
    }
}
.edit-row input {
    width: 100%;

    padding: 10px 12px;

    border-radius: 12px;
    border: 1px solid #dddddd;
    outline: none;

    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
}

.edit-row input:focus {
    border-color: #00ff88;
    box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.12);
}
/* =========================
   ÖĞRENCİ PANELİ
========================= */

.student-dashboard-layout {
    display: grid;
    grid-template-columns: 1.4fr 0.8fr;
    gap: 24px;
    align-items: start;
}

.student-main-card,
.student-side-card {
    border-radius: 28px;
    background: white;

    padding: 28px;

    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.07);
}

.workout-list {
    display: grid;
    gap: 14px;
    margin-top: 24px;
}

.workout-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;

    padding: 18px;

    border-radius: 18px;
    background: #f7f7f7;
}

.workout-item h3 {
    font-size: 18px;
    margin-bottom: 6px;
}

.workout-item p {
    color: #747474;
    font-size: 14px;
    line-height: 1.5;
}

.workout-item span {
    min-width: 74px;

    text-align: center;

    padding: 10px 12px;
    border-radius: 999px;

    background: rgba(0, 255, 136, 0.12);
    color: #00ff88;

    font-size: 14px;
    font-weight: 900;
}

.complete-workout-btn {
    margin-top: 26px;
    width: 100%;

    padding: 16px;

    border: none;
    border-radius: 18px;

    background: #00ff88;
    color: white;

    font-size: 16px;
    font-weight: 900;
    font-family: Arial, Helvetica, sans-serif;

    cursor: pointer;
    transition: 0.2s ease;
}

.complete-workout-btn:hover {
    background: #00c96f;
    transform: translateY(-2px);
}

.coach-note {
    padding: 24px;

    border-radius: 24px;
    background:
        linear-gradient(145deg, #171717, #101010);

    color: white;

    margin-bottom: 24px;
}

.coach-note span {
    display: inline-block;

    margin-bottom: 14px;

    color: #7dffbc;
    font-size: 13px;
    font-weight: 900;
}

.coach-note h3 {
    font-size: 26px;
    margin-bottom: 12px;
}

.coach-note p {
    color: #dddddd;
    font-size: 15px;
    line-height: 1.7;
}

.weekly-goals h3 {
    font-size: 24px;
    margin-bottom: 16px;
}

.goal-item {
    padding: 15px;

    border-radius: 16px;
    background: #f7f7f7;

    margin-bottom: 12px;
}

.goal-item span {
    font-size: 14px;
    font-weight: 800;
    color: #222222;
}

@media (max-width: 1000px) {
    .student-dashboard-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .workout-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .workout-item span {
        text-align: left;
    }
}
.second-title {
    margin-top: 34px;
}

.exercise-form-grid {
    display: grid;
    grid-template-columns: 2fr 0.6fr 0.6fr;
    gap: 18px;
}
@media (max-width: 700px) {
    .exercise-form-grid {
        grid-template-columns: 1fr;
    }
}
/* PROGRAM LİSTESİ */
.programs-box-inside {
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid #eeeeee;
}

.program-header {
    margin-bottom: 18px;
}

.small-action-btn {
    text-decoration: none;

    padding: 12px 18px;
    border-radius: 999px;

    background: #101010;
    color: white;

    font-size: 14px;
    font-weight: 900;

    transition: 0.2s ease;
}

.small-action-btn:hover {
    background: #00ff88;
}

.programs-list {
    display: grid;
    gap: 12px;
}

.program-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;

    padding: 18px;

    border-radius: 18px;
    background: #f7f7f7;
}

.program-label {
    display: inline-block;

    margin-bottom: 8px;

    color: #00ff88;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 1px;
}

.program-card h3 {
    font-size: 19px;
    margin-bottom: 6px;
}

.program-card p {
    color: #747474;
    font-size: 14px;
    line-height: 1.5;
}

.delete-program-btn {
    border: none;
    cursor: pointer;

    padding: 10px 14px;
    border-radius: 999px;

    background: rgba(220, 38, 38, 0.10);
    color: #dc2626;

    font-size: 13px;
    font-weight: 900;
    font-family: Arial, Helvetica, sans-serif;

    transition: 0.2s ease;
}

.delete-program-btn:hover {
    background: #dc2626;
    color: white;
}

.compact-empty {
    padding: 32px 20px;
}

@media (max-width: 768px) {
    .program-card {
        flex-direction: column;
        align-items: flex-start;
    }
}
/* =========================
   FLASK VERİTABANI PANEL SATIRI
========================= */

/* Dış satır normal grid olunca form ilk kolona sıkışıyordu.
   Bu yüzden Flask öğrenci satırında dış kapsayıcıyı block yapıyoruz. */
.searchable-row {
    display: block;
    padding: 16px;
}

/* İçteki form kendi 5 kolonlu tablo düzenini kuruyor. */
.inline-edit-form {
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr 0.5fr 0.9fr;
    gap: 12px;
    align-items: center;
    width: 100%;
}

.inline-edit-form input {
    width: 100%;

    padding: 11px 12px;

    border-radius: 12px;
    border: 1px solid #dddddd;
    outline: none;

    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;

    background: white;
    color: #111111;

    transition: 0.2s ease;
}

.inline-edit-form input:focus {
    border-color: #00ff88;
    box-shadow: 0 0 0 3px rgba(0, 255, 136, 0.12);
}

.inline-edit-form strong {
    color: #00ff88;
    font-size: 15px;
    font-weight: 900;
}

.inline-edit-form .student-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.inline-edit-form .edit-btn,
.inline-edit-form .delete-btn {
    min-width: 76px;
    text-align: center;
}

.inline-edit-form .delete-btn {
    text-decoration: none;
    display: inline-block;
}

/* Sil butonu <a> olduğu için link stilini tamamen temizliyoruz. */
a.delete-btn,
a.delete-program-btn {
    text-decoration: none;
    display: inline-block;
    text-align: center;
}

/* Arama sırasında JS satırı tekrar grid yapmasın diye görünür satırı block bırakıyoruz. */
.searchable-row[style*="display: grid"] {
    display: block !important;
}

@media (max-width: 768px) {
    .searchable-row {
        padding: 14px;
    }

    .inline-edit-form {
        grid-template-columns: 1fr;
    }

    .inline-edit-form .student-actions {
        margin-top: 4px;
    }
}

/* =========================
   HAREKETLER CRUD TABLOSU
========================= */

.exercise-head,
.exercise-row {
    grid-template-columns: 1fr 0.8fr 0.7fr 1.7fr 0.6fr;
}

.exercise-row span {
    font-size: 14px;
    line-height: 1.5;
}

.exercise-row strong {
    color: #00ff88;
    font-size: 14px;
    font-weight: 900;
}

.exercise-row .delete-btn,
.exercise-row a.delete-btn {
    text-decoration: none;
    text-align: center;
    display: inline-block;
}

/* =========================
   CRUD FORM SAYFALARI EK DÜZEN
========================= */

.student-form input,
.student-form select,
.student-form textarea {
    color: #111111;
}

.student-form input::placeholder,
.student-form textarea::placeholder {
    color: #9a9a9a;
}

/* =========================
   PANEL TABLOLARI MOBİL DÜZEN
========================= */

@media (max-width: 768px) {
    .exercise-head {
        display: none;
    }

    .exercise-row {
        grid-template-columns: 1fr;
    }

    .exercise-row .delete-btn {
        width: fit-content;
    }
}
/* =========================
   PROGRAM KARTI HAREKET LİSTESİ
========================= */

.program-exercise-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.program-exercise-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;

    padding: 10px 12px;
    border-radius: 12px;

    background: white;
    border: 1px solid #eeeeee;
}

.program-exercise-item span {
    font-size: 13px;
    font-weight: 900;
    color: #111111;
}

.program-exercise-item strong {
    font-size: 13px;
    color: #00ff88;
    white-space: nowrap;
}

/* Program kartı içinde hareket listesi uzun olursa taşmayı engeller */
.program-card > div {
    width: 100%;
}

/* Program sil butonu kartın sağında düzgün dursun */
.program-card .delete-program-btn {
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .program-exercise-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .program-exercise-item strong {
        white-space: normal;
    }
}


/* =========================================================
   ARASPERFORMANCE MATRIX THEME
   Bu bölüm mevcut tasarımın üzerine güvenli şekilde yazılır.
========================================================= */

:root {
    --matrix-black: #010503;
    --matrix-deep: #041009;
    --matrix-panel: #07170e;
    --matrix-panel-soft: #0b2115;
    --matrix-green: #00ff88;
    --matrix-green-strong: #00e879;
    --matrix-green-soft: #7dffbc;
    --matrix-text: #effff5;
    --matrix-muted: #a8cbb7;
    --matrix-border: rgba(0, 255, 136, 0.22);
    --matrix-glow: 0 0 18px rgba(0, 255, 136, 0.22);
}

::selection {
    background: var(--matrix-green);
    color: #00170b;
}

body {
    background:
        linear-gradient(rgba(0, 255, 136, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 255, 136, 0.018) 1px, transparent 1px),
        var(--matrix-black);
    background-size: 34px 34px;
    color: var(--matrix-text);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 9998;
    pointer-events: none;
    opacity: 0.035;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 2px,
        #00ff88 3px
    );
}

/* ---------- MATRIX AÇILIŞ EKRANI ---------- */

body.matrix-intro-active {
    overflow: hidden;
}

.matrix-intro {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #000;
    opacity: 1;
    visibility: visible;
    transition:
        opacity 0.75s ease,
        visibility 0.75s ease,
        filter 0.75s ease,
        transform 0.75s ease;
}

.matrix-intro.is-leaving {
    opacity: 0;
    visibility: hidden;
    filter: blur(12px);
    transform: scale(1.035);
    pointer-events: none;
}

#matrix-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.72;
}

.matrix-intro::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at center, rgba(0, 255, 136, 0.14), transparent 34%),
        linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.82));
}

.matrix-intro::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 3px,
        rgba(0, 255, 136, 0.055) 4px
    );
    animation: matrixScan 7s linear infinite;
}

.matrix-intro-content {
    position: relative;
    z-index: 3;
    width: min(920px, calc(100% - 36px));
    padding: 48px 30px;
    text-align: center;
    border: 1px solid rgba(0, 255, 136, 0.24);
    border-radius: 28px;
    background: rgba(0, 8, 4, 0.68);
    backdrop-filter: blur(8px);
    box-shadow:
        0 0 0 1px rgba(0, 255, 136, 0.04) inset,
        0 0 80px rgba(0, 255, 136, 0.12);
}

.matrix-terminal-line {
    margin-bottom: 22px;
    color: var(--matrix-green-soft);
    font-family: "Courier New", monospace;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 2.5px;
}

.matrix-terminal-line::before {
    content: "> ";
    color: var(--matrix-green);
}

.matrix-brand {
    margin-bottom: 26px;
    color: white;
    font-family: "Courier New", monospace;
    font-size: clamp(22px, 4vw, 42px);
    font-weight: 900;
    letter-spacing: 3px;
    text-shadow: 0 0 18px rgba(0, 255, 136, 0.3);
}

.matrix-brand span {
    color: var(--matrix-green);
}

.matrix-intro-title {
    position: relative;
    margin-bottom: 18px;
    color: white;
    font-family: "Courier New", monospace;
    font-size: clamp(38px, 7vw, 86px);
    line-height: 0.98;
    letter-spacing: -3px;
    text-transform: uppercase;
    text-shadow:
        0 0 12px rgba(0, 255, 136, 0.45),
        0 0 42px rgba(0, 255, 136, 0.18);
    animation: matrixTitlePulse 2.6s ease-in-out infinite;
}

.matrix-intro-title::before,
.matrix-intro-title::after {
    content: attr(data-text);
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
}

.matrix-intro-title::before {
    color: #8affc5;
    transform: translateX(2px);
    animation: matrixGlitchA 4.8s infinite;
}

.matrix-intro-title::after {
    color: #00b95f;
    transform: translateX(-2px);
    animation: matrixGlitchB 4.8s infinite;
}

.matrix-intro-description {
    max-width: 620px;
    margin: 0 auto 32px;
    color: #b8d8c4;
    font-size: 16px;
    line-height: 1.75;
}

.matrix-enter-button {
    position: relative;
    min-width: 270px;
    padding: 17px 30px;
    overflow: hidden;
    border: 1px solid var(--matrix-green);
    border-radius: 10px;
    background: rgba(0, 255, 136, 0.08);
    color: var(--matrix-green);
    font-family: "Courier New", monospace;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 2px;
    cursor: pointer;
    box-shadow:
        0 0 22px rgba(0, 255, 136, 0.14),
        inset 0 0 18px rgba(0, 255, 136, 0.06);
    transition: 0.25s ease;
}

.matrix-enter-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    transform: skewX(-22deg);
    background: linear-gradient(
        90deg,
        transparent,
        rgba(210, 255, 230, 0.35),
        transparent
    );
    transition: left 0.55s ease;
}

.matrix-enter-button:hover {
    background: var(--matrix-green);
    color: #00170b;
    transform: translateY(-3px);
    box-shadow: 0 0 34px rgba(0, 255, 136, 0.42);
}

.matrix-enter-button:hover::before {
    left: 140%;
}

.matrix-enter-button:disabled {
    cursor: wait;
}

.matrix-boot-status {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    margin-top: 22px;
    color: #77a88c;
    font-family: "Courier New", monospace;
    font-size: 11px;
    letter-spacing: 1.5px;
}

.matrix-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--matrix-green);
    box-shadow: 0 0 12px var(--matrix-green);
    animation: matrixBlink 1.1s steps(2, end) infinite;
}

/* ---------- ANA SAYFA ---------- */

.navbar {
    background: rgba(1, 7, 4, 0.78);
    border-bottom-color: var(--matrix-border);
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.28);
}

.logo,
.login-logo,
.panel-logo {
    font-family: "Courier New", monospace;
    text-shadow: 0 0 16px rgba(0, 255, 136, 0.14);
}

.logo span,
.login-logo span,
.panel-logo span {
    color: var(--matrix-green);
}

.nav-links a:hover,
.back-link:hover {
    color: var(--matrix-green);
}

.hero-overlay {
    background:
        linear-gradient(rgba(0, 4, 2, 0.54), rgba(0, 5, 2, 0.94)),
        radial-gradient(circle at top left, rgba(0, 255, 136, 0.28), transparent 36%),
        radial-gradient(circle at bottom right, rgba(0, 255, 136, 0.12), transparent 38%);
}

.hero-content h1 {
    font-family: "Courier New", monospace;
    text-shadow:
        0 0 20px rgba(0, 255, 136, 0.2),
        0 14px 42px rgba(0, 0, 0, 0.72);
}

.slogan,
.dashboard-tag,
.summary-card h2,
.feature-number,
.stat-card h3,
.program-label,
.inline-edit-form strong,
.exercise-row strong,
.program-exercise-item strong {
    color: var(--matrix-green);
}

.tag,
.section-tag {
    border-color: rgba(0, 255, 136, 0.42);
    color: var(--matrix-green-soft);
    background: rgba(0, 255, 136, 0.055);
}

.btn.primary,
.login-btn,
.dashboard-action,
.empty-btn,
.save-btn,
.complete-workout-btn {
    background: var(--matrix-green);
    color: #00170b;
    box-shadow: 0 14px 35px rgba(0, 255, 136, 0.18);
}

.btn.primary:hover,
.login-btn:hover,
.dashboard-action:hover,
.empty-btn:hover,
.save-btn:hover,
.complete-workout-btn:hover {
    background: var(--matrix-green-strong);
    color: #00170b;
}

.btn.secondary {
    border-color: rgba(0, 255, 136, 0.55);
}

.btn.secondary:hover {
    background: var(--matrix-green);
    border-color: var(--matrix-green);
    color: #00170b;
}

.scroll-indicator {
    border-color: rgba(0, 255, 136, 0.62);
}

.scroll-indicator span {
    background: var(--matrix-green);
    box-shadow: 0 0 12px rgba(0, 255, 136, 0.55);
}

.about-section,
.features-section {
    background:
        radial-gradient(circle at top left, rgba(0, 255, 136, 0.055), transparent 30%),
        linear-gradient(180deg, #020805 0%, #05110a 100%);
}

.contact-section {
    background:
        radial-gradient(circle at center, rgba(0, 255, 136, 0.13), transparent 42%),
        #020805;
}

.footer {
    background: #010503;
    border-top-color: var(--matrix-border);
}

.stat-card,
.feature-card,
.contact-box {
    background: linear-gradient(145deg, #08170f, #030a06);
    border-color: var(--matrix-border);
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.28);
}

.stat-card:hover,
.feature-card:hover {
    border-color: rgba(0, 255, 136, 0.52);
    box-shadow: 0 20px 70px rgba(0, 255, 136, 0.08);
}

.feature-number {
    background: rgba(0, 255, 136, 0.1);
    border: 1px solid rgba(0, 255, 136, 0.16);
}

.about-content p,
.section-heading p,
.feature-card p,
.contact-box p,
.footer p,
.description {
    color: var(--matrix-muted);
}

/* ---------- LOGIN ---------- */

.login-page,
.login-left,
.login-right {
    background: var(--matrix-black);
}

.login-left {
    background:
        linear-gradient(rgba(0, 4, 2, 0.7), rgba(0, 4, 2, 0.94)),
        radial-gradient(circle at top left, rgba(0, 255, 136, 0.25), transparent 38%),
        radial-gradient(circle at bottom right, rgba(0, 255, 136, 0.1), transparent 40%),
        #020805;
    border-right: 1px solid var(--matrix-border);
}

.login-info-card,
.login-box {
    background: rgba(5, 18, 11, 0.92);
    color: var(--matrix-text);
    border: 1px solid var(--matrix-border);
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.42);
}

.login-subtitle,
.login-intro > p,
.login-info-card span {
    color: var(--matrix-muted);
}

.input-group input,
.input-group select,
.input-group textarea,
.inline-edit-form input,
.box-header input {
    background: #030b07;
    color: var(--matrix-text);
    border-color: rgba(0, 255, 136, 0.2);
}

.input-group input::placeholder,
.input-group textarea::placeholder,
.inline-edit-form input::placeholder,
.box-header input::placeholder {
    color: #678171;
}

.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus,
.inline-edit-form input:focus,
.box-header input:focus {
    border-color: var(--matrix-green);
    box-shadow: 0 0 0 4px rgba(0, 255, 136, 0.1);
}

.role-card {
    border-color: rgba(0, 255, 136, 0.18);
    background: rgba(0, 255, 136, 0.025);
}

.role-card:hover {
    border-color: var(--matrix-green);
    background: rgba(0, 255, 136, 0.08);
}

.role-card input {
    accent-color: var(--matrix-green);
}

.back-link {
    color: #82998b;
}

/* ---------- PANEL VE FORM SAYFALARI ---------- */

.panel-body {
    background:
        linear-gradient(rgba(0, 255, 136, 0.015) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 255, 136, 0.015) 1px, transparent 1px),
        #031008;
    background-size: 34px 34px;
    color: var(--matrix-text);
}

.sidebar {
    background:
        radial-gradient(circle at top left, rgba(0, 255, 136, 0.13), transparent 34%),
        #010704;
    border-right: 1px solid var(--matrix-border);
}

.sidebar-menu a,
.logout-link {
    color: #b8d8c4;
}

.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: rgba(0, 255, 136, 0.1);
    color: var(--matrix-green);
}

.logout-link {
    background: rgba(0, 255, 136, 0.045);
    border: 1px solid rgba(0, 255, 136, 0.12);
}

.logout-link:hover {
    background: var(--matrix-green);
    color: #00170b;
}

.secondary-action,
.small-action-btn {
    background: #092014;
    color: var(--matrix-green-soft);
    border: 1px solid rgba(0, 255, 136, 0.18);
}

.secondary-action:hover,
.small-action-btn:hover {
    background: var(--matrix-green);
    color: #00170b;
}

.dashboard-header p,
.box-header p,
.quick-box p,
.form-section-title p,
.form-info-card > p,
.workout-item p,
.program-card p,
.exercise-row span {
    color: var(--matrix-muted);
}

.summary-card,
.students-box,
.quick-box,
.student-form,
.form-info-card,
.student-main-card,
.student-side-card {
    background: rgba(5, 18, 11, 0.94);
    color: var(--matrix-text);
    border: 1px solid var(--matrix-border);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
}

.summary-card span,
.summary-card p {
    color: #91ad9c;
}

.table-row,
.workout-item,
.goal-item,
.program-card,
.quick-actions a,
.quick-actions button,
.empty-state,
.mini-check-list p {
    background: #07160e;
    color: var(--matrix-text);
    border: 1px solid rgba(0, 255, 136, 0.1);
}

.table-head {
    background: #001b0d;
    color: var(--matrix-green-soft);
    border-color: rgba(0, 255, 136, 0.22);
}

.quick-actions a:hover,
.quick-actions button:hover {
    background: rgba(0, 255, 136, 0.1);
    color: var(--matrix-green);
}

.score-box,
.coach-note {
    background:
        radial-gradient(circle at top left, rgba(0, 255, 136, 0.12), transparent 42%),
        linear-gradient(145deg, #071b10, #020906);
    border: 1px solid rgba(0, 255, 136, 0.17);
}

.score-box span,
.coach-note span {
    color: var(--matrix-green-soft);
}

.score-box p,
.coach-note p {
    color: var(--matrix-muted);
}

.programs-box-inside {
    border-top-color: rgba(0, 255, 136, 0.13);
}

.program-exercise-item {
    background: #030d08;
    border-color: rgba(0, 255, 136, 0.13);
}

.program-exercise-item span,
.goal-item span,
.empty-state h3,
.mini-check-list p {
    color: var(--matrix-text);
}

.empty-state {
    border-style: dashed;
    border-color: rgba(0, 255, 136, 0.28);
}

.cancel-btn {
    background: #0b2015;
    color: var(--matrix-green-soft);
    border: 1px solid rgba(0, 255, 136, 0.14);
}

.cancel-btn:hover {
    background: #10301e;
}

.edit-btn {
    background: rgba(0, 255, 136, 0.1);
    color: var(--matrix-green);
}

.edit-btn:hover {
    background: var(--matrix-green);
    color: #00170b;
}

.student-form input,
.student-form select,
.student-form textarea {
    color: var(--matrix-text);
}

.student-form input::placeholder,
.student-form textarea::placeholder {
    color: #678171;
}

/* ---------- ANİMASYONLAR ---------- */

@keyframes matrixBlink {
    50% {
        opacity: 0.22;
    }
}

@keyframes matrixScan {
    from {
        transform: translateY(-12px);
    }

    to {
        transform: translateY(12px);
    }
}

@keyframes matrixTitlePulse {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.86;
    }
}

@keyframes matrixGlitchA {
    0%, 88%, 100% {
        opacity: 0;
        clip-path: inset(0 0 0 0);
    }

    89% {
        opacity: 0.8;
        clip-path: inset(12% 0 62% 0);
    }

    90% {
        opacity: 0.25;
        clip-path: inset(68% 0 8% 0);
    }

    91% {
        opacity: 0;
    }
}

@keyframes matrixGlitchB {
    0%, 90%, 100% {
        opacity: 0;
        clip-path: inset(0 0 0 0);
    }

    91% {
        opacity: 0.75;
        clip-path: inset(44% 0 28% 0);
    }

    92% {
        opacity: 0.2;
        clip-path: inset(6% 0 76% 0);
    }

    93% {
        opacity: 0;
    }
}

@media (max-width: 768px) {
    .matrix-intro-content {
        padding: 38px 20px;
        border-radius: 20px;
    }

    .matrix-intro-title {
        letter-spacing: -2px;
    }

    .matrix-intro-description {
        font-size: 14px;
    }

    .matrix-enter-button {
        width: 100%;
        min-width: 0;
    }

    .login-left {
        border-right: 0;
        border-bottom: 1px solid var(--matrix-border);
    }
}

@media (prefers-reduced-motion: reduce) {
    .matrix-intro,
    .matrix-intro::after,
    .matrix-intro-title,
    .matrix-intro-title::before,
    .matrix-intro-title::after,
    .matrix-status-dot {
        animation: none !important;
        transition-duration: 0.01ms !important;
    }
}

/* =========================================================
   İŞ ORTAKLARI / SPONSOR LOGOLARI
========================================================= */

.partners-section {
    scroll-margin-top: 82px;
    padding: 100px 24px;

    background:
        radial-gradient(
            circle at center,
            rgba(0, 255, 136, 0.09),
            transparent 46%
        ),
        linear-gradient(180deg, #020805 0%, #010503 100%);

    border-top: 1px solid rgba(0, 255, 136, 0.12);
}

.partners-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.partners-heading h2 {
    margin-bottom: 18px;

    color: #ffffff;
    font-size: 40px;
    line-height: 1.2;
}

.partners-heading > p:last-child {
    color: #a8cbb7;
    font-size: 16px;
    line-height: 1.7;
}

.partners-logos {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.partner-logo-card {
    position: relative;

    min-height: 220px;
    padding: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    border: 1px solid rgba(0, 255, 136, 0.18);
    border-radius: 24px;

    background:
        radial-gradient(
            circle at top left,
            rgba(0, 255, 136, 0.08),
            transparent 48%
        ),
        linear-gradient(
            145deg,
            rgba(7, 26, 16, 0.96),
            rgba(1, 8, 4, 0.96)
        );

    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.30),
        inset 0 0 0 1px rgba(255, 255, 255, 0.015);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.partner-logo-card::before {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            115deg,
            transparent 20%,
            rgba(0, 255, 136, 0.07) 48%,
            transparent 74%
        );

    transform: translateX(-110%);
    transition: transform 0.55s ease;
}

.partner-logo-card:hover {
    transform: translateY(-7px);

    border-color: rgba(0, 255, 136, 0.55);

    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.42),
        0 0 30px rgba(0, 255, 136, 0.10);
}

.partner-logo-card:hover::before {
    transform: translateX(110%);
}

.partner-logo-card img {
    position: relative;
    z-index: 1;

    display: block;

    width: 100%;
    max-width: 300px;
    height: 150px;

    object-fit: contain;
    object-position: center;

    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}

.partner-logo-card:hover img {
    transform: scale(1.04);
}

/* Siyah arka planlı Hardline Nutrition görseli */
.partner-dark-card {
    background: #000000;
}

/* Beyaz arka planlı üçüncü logo */
.partner-light-card {
    background: #ffffff;
}

.partner-light-card::before {
    background:
        linear-gradient(
            115deg,
            transparent 20%,
            rgba(0, 255, 136, 0.12) 48%,
            transparent 74%
        );
}

@media (max-width: 900px) {
    .partner-logo-card {
        min-height: 200px;
    }
}

@media (max-width: 768px) {
    .partners-section {
        scroll-margin-top: 130px;
        padding: 80px 20px;
    }

    .partners-heading h2 {
        font-size: 32px;
    }
}

@media (max-width: 600px) {
    .partners-section {
        padding: 72px 20px;
    }

    .partners-heading {
        margin-bottom: 34px;
    }

    .partners-heading h2 {
        font-size: 30px;
    }

    .partners-heading > p:last-child {
        font-size: 15px;
    }

    .partner-logo-card {
        min-height: 180px;
        padding: 22px;
        border-radius: 20px;
    }

    .partner-logo-card img {
        height: 125px;
    }
}

/* =========================================================
   RING SPOR İLE 4 LOGOLU RESPONSIVE DÜZEN
========================================================= */

@media (max-width: 1100px) {
    .partners-logos {
        max-width: 760px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .partners-logos {
        max-width: 540px;
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   ERCÜMENT ARAS HAKKIMIZDA / SLIDER YERLEŞİMİ
========================================================= */

.about-container {
    max-width: 1320px;
    grid-template-columns: minmax(330px, 0.78fr) minmax(0, 1.22fr);
    gap: 64px;
    align-items: center;
}

.about-content {
    max-width: none;
    margin: 0;
    text-align: left;
}

.about-content .section-tag {
    margin-left: 0;
}

.about-stats {
    text-align: center;
}

@media (max-width: 1050px) {
    .about-container {
        grid-template-columns: 1fr;
        gap: 46px;
    }

    .about-content {
        max-width: 900px;
        margin: 0 auto;
        text-align: center;
    }
}

/* =========================================================
   ERCÜMENT ARAS FOTOĞRAF SLIDER'I
   Harici kütüphane yok, autoplay yok, ilk fotoğraf fallback.
========================================================= */

.about-slider {
    position: relative;
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    padding: 9px;
    overflow: hidden;

    border: 1px solid rgba(0, 255, 136, 0.38);
    border-radius: 30px;

    background:
        linear-gradient(
            145deg,
            rgba(0, 255, 136, 0.15),
            rgba(255, 255, 255, 0.025)
        );

    box-shadow:
        0 28px 80px rgba(0, 0, 0, 0.52),
        0 0 34px rgba(0, 255, 136, 0.09);

    touch-action: pan-y;
}

.about-slides {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: 21px;
    background: #020805;
}

.about-slide {
    position: absolute;
    inset: 0;

    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.025);

    transition:
        opacity 0.38s ease,
        visibility 0.38s ease,
        transform 0.55s ease;
}

.about-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

/* Fotoğraflara özel kadraj ayarları */
.about-slide:nth-child(1) {
    object-position: 58% center;
}

.about-slide:nth-child(2) {
    object-position: 52% center;
}

.about-slide:nth-child(3) {
    object-position: 50% 18%;
}

.about-slider::after {
    content: "";
    position: absolute;
    inset: 9px;
    z-index: 2;
    pointer-events: none;

    border-radius: 21px;
    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.02),
            rgba(0, 0, 0, 0.22)
        );
}

.about-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 4;

    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(0, 255, 136, 0.50);
    border-radius: 50%;

    background: rgba(0, 8, 4, 0.78);
    color: #effff5;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 32px;
    line-height: 1;

    cursor: pointer;
    transform: translateY(-50%);
    backdrop-filter: blur(8px);

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.about-slider-arrow:hover,
.about-slider-arrow:focus-visible {
    background: #00ff88;
    color: #00170b;
    border-color: #00ff88;
    outline: none;
}

.about-slider-arrow:active {
    transform: translateY(-50%) scale(0.94);
}

.about-slider-prev {
    left: 20px;
}

.about-slider-next {
    right: 20px;
}

.about-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 24px;
    z-index: 4;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    padding: 8px 11px;
    border: 1px solid rgba(0, 255, 136, 0.22);
    border-radius: 999px;

    background: rgba(0, 8, 4, 0.72);
    transform: translateX(-50%);
    backdrop-filter: blur(8px);
}

.about-slider-dot {
    width: 9px;
    height: 9px;
    padding: 0;

    border: none;
    border-radius: 50%;

    background: rgba(239, 255, 245, 0.42);
    cursor: pointer;

    transition:
        width 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

.about-slider-dot.is-active {
    width: 25px;
    border-radius: 999px;
    background: #00ff88;
    box-shadow: 0 0 14px rgba(0, 255, 136, 0.58);
}

.about-slider-dot:focus-visible {
    outline: 2px solid #00ff88;
    outline-offset: 3px;
}

/* JS yüklenmese bile ilk fotoğraf görünür kalır */
.about-slider:not(.is-ready) .about-slide:first-child {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

@media (max-width: 1050px) {
    .about-slider {
        max-width: 480px;
    }
}

@media (max-width: 600px) {
    .about-slider {
        max-width: 390px;
        padding: 7px;
        border-radius: 24px;
    }

    .about-slides,
    .about-slider::after {
        border-radius: 17px;
    }

    .about-slider::after {
        inset: 7px;
    }

    .about-slider-arrow {
        width: 40px;
        height: 40px;
        font-size: 28px;
    }

    .about-slider-prev {
        left: 16px;
    }

    .about-slider-next {
        right: 16px;
    }

    .about-slider-dots {
        bottom: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-slide,
    .about-slider-arrow,
    .about-slider-dot {
        transition: none;
    }
}

/* =========================================================
   RELEASE / ACCESSIBILITY HARDENING
   Matrix görünümünü değiştirmeden davranış ve erişilebilirlik düzeltmeleri.
========================================================= */

/* Klavye ile gezen kullanıcılar için görünür odak. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--matrix-green, #00ff88);
    outline-offset: 3px;
}

/* Slider'ın eski outline:none kuralını ezer. */
.about-slider-arrow:focus-visible {
    outline: 3px solid var(--matrix-green, #00ff88);
    outline-offset: 3px;
}

/* Tek görselli slider'da JS ile gizlenen kontroller görünür kalmasın. */
.about-slider [hidden] {
    display: none !important;
}

/* Logout link veya button olsa da aynı Matrix görünümünü kullanır. */
button.logout-link {
    display: block;
    width: 100%;
    margin: 0;
    border: 1px solid rgba(0, 255, 136, 0.12) !important;
    background: rgba(0, 255, 136, 0.045) !important;
    color: #b8d8c4;
    text-align: center !important;
    font: inherit;
    cursor: pointer;
    appearance: none;
}

button.logout-link:hover,
button.logout-link:focus-visible {
    background: var(--matrix-green, #00ff88) !important;
    color: #00170b;
}

/* Grid içindeki sidebar'ın desktop'ta gerçekten sticky kalmasını sağlar. */
@media (min-width: 1101px) {
    .sidebar {
        align-self: start;
        min-height: 0;
        height: 100vh;
        height: 100dvh;
        overflow-y: auto;
    }
}

/* Uzun e-posta ve metinlerin panel grid'ini genişletmesini önler. */
.dashboard,
.dashboard-layout,
.form-page-layout,
.students-box,
.student-form {
    min-width: 0;
}

.table-row > *,
.inline-edit-form > * {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Native form kontrollerini koyu Matrix temasıyla eşleştirir. */
.login-box,
.panel-body {
    color-scheme: dark;
}

.student-form input,
.student-form select,
.student-form textarea,
.edit-row input {
    background: #030b07;
    color: var(--matrix-text, #effff5);
    border-color: rgba(0, 255, 136, 0.20);
}

.input-group select option,
.student-form select option {
    background: #030b07;
    color: var(--matrix-text, #effff5);
}

/* Chromium otomatik doldurma renginin açık temaya dönmesini engeller. */
.input-group input:-webkit-autofill,
.student-form input:-webkit-autofill,
.inline-edit-form input:-webkit-autofill,
.box-header input:-webkit-autofill {
    -webkit-text-fill-color: var(--matrix-text, #effff5);
    -webkit-box-shadow: 0 0 0 1000px #030b07 inset;
    caret-color: var(--matrix-text, #effff5);
}

/* Koyu panel zeminindeki küçük metinlerin kontrastını güçlendirir. */
.empty-state p {
    color: var(--matrix-muted, #a8cbb7);
}

.delete-btn,
.delete-program-btn {
    color: #ff6b6b;
}

/* Fixed navbar anchor hedeflerini kapatmasın. */
#about,
#features,
#partners,
#contact {
    scroll-margin-top: 100px;
}

/* Disabled kontroller etkileşimli görünmesin. */
button:disabled,
[aria-disabled="true"] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none !important;
}

@media (max-width: 768px) {
    #about,
    #features,
    #partners,
    #contact {
        scroll-margin-top: 150px;
    }
}

/* Kullanıcının hareket azaltma tercihine tüm sayfalarda uy. */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0ms !important;
    }
}

